/*! Essential Studios · site styles · Created by Fahim Sahib */
html { scroll-behavior: smooth; }
section[id] { scroll-margin-top: 16px; }
:focus-visible { outline: 3px solid #3B3BF5; outline-offset: 3px; border-radius: 6px; }
details summary { list-style-position: outside; }

/* Honeypot field for spam bots */
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Floating WhatsApp button */
.wa-float {
  position: fixed; right: 20px; bottom: 20px; z-index: 50;
  width: 58px; height: 58px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: #128C4A; color: #FFFFFF; box-shadow: 0 8px 24px rgba(17, 18, 20, 0.25);
}
.wa-float:hover { color: #FFFFFF; transform: translateY(-2px); }

/* Phone layout */
@media (max-width: 640px) {
  #contact form { grid-template-columns: minmax(0, 1fr) !important; padding: 20px !important; }
  #contact > div, #custom > div, section > div[style*="border-radius: 28px"] { padding: 28px 20px !important; }
  header nav[aria-label="Main"] { gap: 14px !important; font-size: 14px !important; }
}

/* Sticky header with the country switcher on desktop */
@media (min-width: 900px) {
  body > div > header {
    position: sticky; top: 0; z-index: 40;
    background: rgba(247, 247, 245, 0.94);
    backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 0 0 100vmax rgba(247, 247, 245, 0.94);
    clip-path: inset(0 -100vmax);
  }
}
section[id] { scroll-margin-top: 96px; }

/* PayPal payment panel */
.pay-dialog { border: 0; border-radius: 22px; padding: 28px; max-width: 440px; width: calc(100% - 40px); font-family: Inter, system-ui, sans-serif; color: #111214; box-shadow: 0 24px 64px rgba(17, 18, 20, 0.3); }
.pay-dialog::backdrop { background: rgba(17, 18, 20, 0.55); }
.pay-dialog h2 { font-family: 'Space Grotesk', sans-serif; font-size: 24px; margin: 0 0 6px; }
.pay-dialog .pd-item { margin: 0 0 18px; color: #55585F; font-size: 14px; }
.pay-dialog .pd-label { margin: 0; font-size: 13px; font-weight: 600; color: #55585F; text-transform: uppercase; letter-spacing: 0.06em; }
.pay-dialog .pd-amount { margin: 4px 0 0; font-family: 'Space Grotesk', sans-serif; font-size: 40px; font-weight: 700; letter-spacing: -0.02em; }
.pay-dialog .pd-note { margin: 2px 0 0; font-size: 13px; color: #55585F; }
.pay-dialog ol { margin: 18px 0 22px; padding-left: 20px; font-size: 14px; line-height: 1.7; }
.pay-dialog .pd-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.pay-dialog .pd-actions a, .pay-dialog .pd-actions button { min-height: 46px; padding: 0 18px; border-radius: 12px; font: inherit; font-weight: 600; font-size: 15px; cursor: pointer; display: inline-flex; align-items: center; text-decoration: none; }
.pay-dialog .pd-go { background: #111214; color: #FFFFFF; flex-grow: 1; justify-content: center; }
.pay-dialog .pd-go:hover { color: #FFFFFF; background: #3B3BF5; }
.pay-dialog .pd-copy, .pay-dialog .pd-close { background: #F2F2EE; border: 0; color: #111214; }

/* Keep the footer clear of the floating WhatsApp button */
footer { padding-bottom: 72px; }

/* Compact sticky header on phones and small tablets: logo + country switcher */
@media (max-width: 899px) {
  body > div > header {
    position: sticky; top: 0; z-index: 40;
    flex-wrap: nowrap !important; gap: 10px !important;
    padding: 10px 16px !important;
    background: rgba(247, 247, 245, 0.96);
    backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 1px 0 #E3E3DE;
  }
  body > div > header > a:first-child { flex: none; }
  body > div > header img { height: 34px !important; }
  body > div > header nav[aria-label="Main"],
  body > div > header a[href="#contact"] { display: none !important; }
  body > div > header > div { flex-wrap: nowrap !important; min-width: 0; }
  body > div > header nav[aria-label="Country"] { flex: none; }
  body > div > header nav[aria-label="Country"] a { min-height: 34px !important; padding: 0 10px !important; font-size: 13px !important; white-space: nowrap; }
  section[id] { scroll-margin-top: 72px; }
}
@media (max-width: 359px) {
  body > div > header img { height: 28px !important; }
  body > div > header nav[aria-label="Country"] a { padding: 0 7px !important; font-size: 12px !important; }
}

/* Narrow phones: nothing wider than the screen */
#contact input, #contact select, #contact textarea { width: 100%; min-width: 0; box-sizing: border-box; }
#contact a[href^="mailto:"], #contact a[href^="https://wa.me"] { overflow-wrap: anywhere; }
@media (max-width: 480px) {
  div[style*="grid-template-columns: repeat(auto-fit"] { grid-template-columns: minmax(0, 1fr) !important; }
}
