/* ============================================
   ESTILOS COMPARTILHADOS — Jonatas Adriel Fotografias
   Usado por index.html, galeria.html e pacotes.html
   ============================================ */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root{color-scheme:dark}

/* FAQ (usado em pacotes.html e index.html) */
.faq-item{border-bottom:1px solid var(--bd)}
.faq-q{width:100%;background:none;border:none;color:var(--tx);font-family:"Syne",sans-serif;font-size:.95rem;font-weight:600;text-align:left;padding:1.3rem 0;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.faq-q:hover{color:var(--or)}
.faq-q .plus{width:22px;height:22px;border-radius:50%;border:1px solid var(--bd2);flex-shrink:0;position:relative;transition:transform .35s,border-color .35s}
.faq-q .plus::before,.faq-q .plus::after{content:"";position:absolute;background:var(--tx);transition:transform .3s,background .3s}
.faq-q .plus::before{left:6px;right:6px;top:50%;height:1.4px;transform:translateY(-50%)}
.faq-q .plus::after{top:6px;bottom:6px;left:50%;width:1.4px;transform:translateX(-50%)}
.faq-item.on .faq-q .plus{border-color:var(--or);transform:rotate(180deg)}
.faq-item.on .faq-q .plus::after{transform:translateX(-50%) scaleY(0)}
.faq-item.on .faq-q{color:var(--or)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.22,.61,.36,1)}
.faq-a p{color:var(--mt);font-size:.86rem;line-height:1.75;padding-bottom:1.4rem;max-width:640px}
.faq-wrap{max-width:760px;margin:4.5rem auto 0;padding:0 5%}
.faq-h{text-align:center;margin-bottom:2rem}
.faq-h span{font-size:.62rem;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--or)}
.faq-h h3{font-family:"Bebas Neue",sans-serif;font-size:2.1rem;letter-spacing:.5px;color:var(--wh);margin-top:.4rem}

html{scroll-behavior:smooth}

body{background:var(--bk);color:var(--tx);font-family:"Syne",sans-serif;overflow-x:hidden}

body.nav-open{overflow:hidden}

nav{position:fixed;top:0;width:100%;z-index:900;padding:1.1rem 5%;display:flex;align-items:center;justify-content:space-between;transition:all .5s}

nav.sc{background:rgba(8,8,8,.95);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-bottom:1px solid var(--bd)}

.nav-logo-img{height:46px;width:auto;opacity:.92;transition:opacity .3s,height .3s;display:block}

.nav-logo-img:hover{opacity:1}

.nl{display:flex;gap:2.6rem;list-style:none;align-items:center}

.nl a{text-decoration:none;color:var(--mt);font-size:.75rem;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;position:relative;transition:color .3s}

.nl a::after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:1px;background:var(--or);transition:width .4s cubic-bezier(.25,.46,.45,.94)}

.nl a:hover{color:var(--wh)}

.nl a:hover::after{width:100%}

.nav-burger{display:none;width:38px;height:38px;background:none;border:none;cursor:pointer;position:relative;z-index:960;flex-direction:column;align-items:center;justify-content:center;gap:6px}

.nav-burger span{width:22px;height:2px;background:var(--tx);border-radius:2px;transition:transform .35s cubic-bezier(.19,1,.22,1),opacity .25s}

.nav-burger.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}

.nav-burger.open span:nth-child(2){opacity:0}

.nav-burger.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

.nav-cta{color:var(--or)!important;border:1px solid rgba(255,85,0,.38)!important;padding:.4rem 1.4rem!important;border-radius:100px;font-weight:700!important;transition:all .3s!important}

.nav-cta:hover{background:var(--or-pale)!important;border-color:var(--or)!important}

.nav-cta::after{display:none!important}

.slabel{font-size:.62rem;font-weight:700;letter-spacing:5px;text-transform:uppercase;color:var(--or);margin-bottom:.6rem;display:block}

.stitle{font-family:"Bebas Neue",sans-serif;font-size:clamp(2.6rem,5.5vw,5rem);line-height:.96;letter-spacing:1px;color:var(--wh)}

.stitle .hl{color:var(--or)}

@media(prefers-reduced-motion:reduce){.pxo-iris,.pxo-blade span,.pxo-lens::after{animation:none}.pxo{transition:none}}

footer{background:var(--bk);border-top:1px solid var(--bd);padding:2.6rem 5%;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}

.flogo-img{height:38px;width:auto;opacity:.75;transition:opacity .3s}

.flogo-img:hover{opacity:1}

footer p{color:var(--mt2);font-size:.75rem;font-weight:400}

.fsoc{display:flex;gap:.75rem}

.sb{width:38px;height:38px;border:1px solid var(--bd);border-radius:10px;display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--mt);font-size:.95rem;transition:all .3s}

.sb:hover{border-color:var(--or);color:var(--or);background:var(--or-pale);transform:translateY(-2px)}

.sb svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s cubic-bezier(.25,.46,.45,.94)}

.sb:hover svg{transform:scale(1.1)}

@media(max-width:420px){
      .nav-logo-img{height:30px}
    }

.pxo{position:fixed;inset:0;z-index:5000;background:var(--bk);display:flex;align-items:center;justify-content:center;transition:opacity .3s ease;opacity:1}

.pxo.hide{opacity:0;pointer-events:none}

.pxo-iris{position:relative;width:82px;height:82px;animation:pxoSpin 3.2s linear infinite}

.pxo-blade{position:absolute;top:50%;left:50%;width:0;height:0}

.pxo-blade span{position:absolute;left:-1px;top:-39px;width:2px;height:32px;border-radius:2px;background:linear-gradient(to top,transparent,var(--or));transform-origin:50% 100%;animation:pxoBlade 2.2s ease-in-out infinite}

.pxo-blade:nth-child(2) span{animation-delay:.14s}

.pxo-blade:nth-child(3) span{animation-delay:.28s}

.pxo-blade:nth-child(4) span{animation-delay:.42s}

.pxo-blade:nth-child(5) span{animation-delay:.56s}

.pxo-blade:nth-child(6) span{animation-delay:.7s}

.pxo-blade:nth-child(7) span{animation-delay:.84s}

.pxo-blade:nth-child(8) span{animation-delay:.98s}

.pxo-lens{position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;border:1.5px solid var(--or)}

.pxo-lens::after{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--or);animation:pxoLens 2.2s ease-in-out infinite}

@keyframes pxoSpin{to{transform:rotate(360deg)}}

@keyframes pxoBlade{0%,100%{opacity:.22;transform:scaleY(.55)}50%{opacity:1;transform:scaleY(1)}}

@keyframes pxoLens{0%,100%{opacity:.3;transform:scale(.7)}50%{opacity:.85;transform:scale(1)}}

.pxo-flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none}

.pxo.snap .pxo-flash{animation:pxoFlash .45s ease}

.pxo.snap .pxo-iris{animation:pxoSnap .48s cubic-bezier(.6,0,.35,1)}

@keyframes pxoFlash{0%{opacity:0}18%{opacity:.92}100%{opacity:0}}

@keyframes pxoSnap{to{transform:rotate(300deg) scale(.82)}}

@media(prefers-reduced-motion:reduce){.pxo-iris,.pxo-blade span,.pxo-lens::after{animation:none}.pxo{transition:none}}

@keyframes waIn{from{opacity:0;transform:translateY(16px) scale(.88)}to{opacity:1;transform:translateY(0) scale(1)}}

.wa-float{
      position:fixed;right:1.7rem;bottom:1.7rem;z-index:850;
      height:58px;display:flex;align-items:center;border-radius:100px;
      background:rgba(24,21,18,.6);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
      border:1px solid rgba(255,255,255,.13);
      box-shadow:0 10px 34px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.06);
      text-decoration:none;overflow:hidden;cursor:pointer;
      transition:border-color .5s,box-shadow .5s,transform .5s cubic-bezier(.19,1,.22,1);
      animation:waIn .7s .4s cubic-bezier(.19,1,.22,1) backwards;
    }

.wa-float:hover{border-color:rgba(255,85,0,.4);box-shadow:0 14px 40px rgba(0,0,0,.48),0 0 26px rgba(255,85,0,.2),inset 0 1px 0 rgba(255,255,255,.08);transform:translateY(-2px)}

.wa-float .ico{width:58px;height:58px;flex-shrink:0;display:flex;align-items:center;justify-content:center;position:relative}

.wa-float .ico::before{content:"";position:absolute;inset:9px;border-radius:50%;background:radial-gradient(circle at 32% 28%,rgba(255,140,70,.32),transparent 72%)}

.wa-float svg{width:23px;height:23px;stroke:var(--or);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;position:relative;transition:transform .5s cubic-bezier(.19,1,.22,1)}

.wa-float:hover svg{transform:scale(1.08)}

.wa-float .lbl{max-width:0;opacity:0;white-space:nowrap;font-family:"Syne",sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.3px;color:var(--wh);overflow:hidden;transition:max-width .55s cubic-bezier(.19,1,.22,1),opacity .3s,padding-right .55s}

@media(hover:hover) and (pointer:fine){
      .wa-float:hover .lbl{max-width:150px;opacity:1;padding-right:1.5rem}
    }
