/* Mobile + iPhone/Safari polish, loaded last on every page so it wins over page styles. */

/* iOS Safari: stop text auto-zoom on rotate, remove 300ms tap delay, nicer tap flash */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
a,button,summary,label,select,input,textarea{touch-action:manipulation;-webkit-tap-highlight-color:rgba(255,209,102,.22)}

/* Safari needs the -webkit- prefix for blur effects on older iOS versions */
header.site,header.site.scrolled{-webkit-backdrop-filter:blur(12px)}
.btn-ghost,.arrow,.rush,.quote .form-card,.contact-side .cs{-webkit-backdrop-filter:blur(6px)}

/* Forms: 16px minimum so iPhone does not zoom in on focus; consistent select look on iOS */
input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:max(16px,1rem)}
select{-webkit-appearance:none;appearance:none;padding-right:2.4rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23ffd166' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}
input,textarea{-webkit-appearance:none;appearance:none;border-radius:12px}
input[type=checkbox]{-webkit-appearance:auto;appearance:auto}

/* Menu button: always a comfortable tap target */
.menu-btn{min-width:44px;min-height:44px;display:none;align-items:center;justify-content:center}
@media(max-width:1180px){.menu-btn{display:inline-flex}}

/* Header must fit every phone: logo shrinks, menu button never leaves the screen */
.nav{gap:.6rem}
.logo{min-width:0}
@media(max-width:520px){
  .logo{font-size:1.1rem;gap:.45rem}
  .bulbs{gap:2px}.bulbs i,.logo .bulbs i{width:7px;height:10px}
}
@media(max-width:400px){
  .logo{font-size:1rem}
}
@media(max-width:340px){
  .bulbs{display:none}
  .logo{font-size:.95rem}
}

/* Home hero controls: two rows on phones so nothing runs off the screen */
@media(max-width:700px){
  .controls .wrap{flex-wrap:wrap;gap:.5rem 1rem}
  .controls .tabs{flex:1 1 100%;max-width:none}
  .controls .arrows{margin-left:auto}
  .tab .label{font-size:.7rem;letter-spacing:.1em}
  /* keep the headline and buttons clear of the two-row controls */
  .slide .content{padding-bottom:118px}
  /* short phones get a slightly taller hero instead of squeezed text */
  .hero{height:max(100vh,780px);height:max(100svh,780px)}
}

@media(max-width:360px){.hero{height:max(100vh,860px);height:max(100svh,860px)}}

/* Bigger tap targets on touch screens, tablets and small screens */
@media(hover:none),(pointer:coarse),(max-width:1024px){
  footer ul{gap:0}
  footer a{display:inline-block;padding:.6rem 0}
  .crumbs a{display:inline-block;padding:.6rem .15rem;margin:-.6rem 0}
  .ps-dot{width:42px;height:40px}
  .links a{padding:.7rem 1.05rem}
  summary{min-height:48px;display:flex;align-items:center}
  .chips-in label{min-height:44px}
}
@media(max-width:1180px){
  nav ul a:not(.btn){display:block;padding:.45rem 0}
}

/* Floating "to top / to bottom" buttons (created by float-nav.js) */
.fnav{position:fixed;right:max(12px,env(safe-area-inset-right));bottom:max(16px,calc(env(safe-area-inset-bottom) + 10px));z-index:45;display:flex;flex-direction:column;gap:.55rem;pointer-events:none}
.fnav button{width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(255,209,102,.7);background:rgba(11,10,20,.86);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ffd166;display:grid;place-items:center;cursor:pointer;padding:0;opacity:0;transform:translateY(8px) scale(.9);transition:opacity .25s,transform .25s,background .2s;pointer-events:none;box-shadow:0 8px 24px -8px rgba(0,0,0,.7)}
.fnav button.show{opacity:1;transform:none;pointer-events:auto}
.fnav button:hover{background:#ffd166;color:#17101f}
.fnav svg{width:22px;height:22px}
@media(prefers-reduced-motion:reduce){.fnav button{transition:none}}
@media print{.fnav{display:none}}

/* Social links */
.soc{display:inline-flex;align-items:center;gap:.5rem}
.soc svg{width:20px;height:20px;flex:none;color:#4c8dff}
.soc:hover svg{color:#ffd166}
.follow-btn{display:inline-flex;align-items:center;gap:.55rem;margin-top:.8rem;padding:.7rem 1.2rem;border-radius:999px;background:#1877f2;color:#fff!important;font-weight:700;text-decoration:none!important}
.follow-btn svg{width:20px;height:20px;color:#fff}
.follow-btn:hover{background:#2a86ff}
