@font-face{
  font-family:"Intercamp Outbrave";
  src:url("../fonts/Outbrave.otf") format("opentype");
  font-display:swap;
}

@font-face{
  font-family:"Intercamp Sidestream";
  src:url("../fonts/The Sidestream.otf") format("opentype");
  font-display:swap;
}

:root{
  --green:#06100A;
  --green2:#0A2118;
  --green3:#113626;
  --orange:#FF6A21;
  --off:#EFE2C6;
  --muted:rgba(239,226,198,.70);
  --line:rgba(239,226,198,.13);
  --orangeLine:rgba(255,106,33,.32);
  --shadow:0 28px 90px rgba(0,0,0,.42);
}

*{box-sizing:border-box}

html.acampante-html{
  margin:0;
  background:#020805;
}

.acampante-body{
  margin:0;
  min-height:100vh;
  color:var(--off);
  font-family:"Intercamp Outbrave",Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:#020805;
  overflow-x:hidden;
}

.acampante-body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.22;
  background:
    repeating-linear-gradient(135deg,rgba(255,106,33,.14) 0 1px,transparent 1px 118px),
    radial-gradient(circle at 50% 20%,rgba(255,106,33,.12),transparent 26%);
}

.acampante-home,
.acampante-login-form-page,
.app-shell{
  position:relative;
  z-index:1;
}

.acampante-home{
  min-height:100vh;
}

.home-hero{
  position:relative;
  min-height:100vh;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  padding:calc(24px + env(safe-area-inset-top)) 18px calc(30px + env(safe-area-inset-bottom));
}

.home-bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(6,16,10,.05),rgba(6,16,10,.70) 54%,rgba(4,10,6,.96) 100%),
    url("../img/landing-premium/hero-bolsa-intercamp.png?v=2400") 68% center / cover no-repeat;
  filter:brightness(.88) saturate(.98);
  transform:scale(1.04);
}

.home-shade{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 16% 16%,rgba(255,106,33,.18),transparent 26%),
    linear-gradient(90deg,rgba(3,8,5,.30),rgba(3,8,5,.08) 50%,rgba(3,8,5,.42));
}

.home-content{
  position:relative;
  z-index:2;
  width:100%;
  min-height:calc(100vh - 70px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.home-logo{
  width:min(220px,62vw);
  display:block;
  filter:drop-shadow(0 18px 32px rgba(0,0,0,.45));
}

.home-title{
  margin-top:auto;
  padding-top:34vh;
  text-shadow:0 20px 42px rgba(0,0,0,.70);
}

.home-title span{
  color:var(--orange);
  font-size:12px;
  font-weight:950;
  letter-spacing:.10em;
  text-transform:uppercase;
}

.home-title h1{
  margin:10px 0 10px;
  font-size:clamp(38px,12.8vw,70px);
  line-height:.86;
  letter-spacing:-.025em;
  text-transform:uppercase;
}

.home-title p{
  margin:0;
  max-width:360px;
  color:rgba(239,226,198,.86);
  font-size:16px;
  line-height:1.35;
}

.home-actions{
  display:grid;
  gap:12px;
  margin-top:26px;
}

.acamp-btn{
  min-height:58px;
  border:0;
  border-radius:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.03em;
  text-decoration:none;
  cursor:pointer;
  font-family:"Intercamp Outbrave",Inter,system-ui,sans-serif;
}

.acamp-btn.primary{
  background:linear-gradient(180deg,#FF7A2E,#E95A16);
  color:#fff;
  box-shadow:0 18px 45px rgba(255,106,33,.28);
}

.acamp-btn.primary span{
  width:22px;
  height:22px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.90);
  color:#E95A16;
}

.acamp-btn.secondary{
  background:rgba(5,16,10,.54);
  border:1px solid rgba(239,226,198,.32);
  color:var(--off);
  backdrop-filter:blur(12px);
}

.home-more{
  align-self:center;
  margin-top:28px;
  color:var(--off);
  text-decoration:none;
  font-weight:900;
  border-bottom:1px solid rgba(239,226,198,.55);
  padding-bottom:4px;
}

.home-more span{
  color:var(--orange);
}

.acampante-login-form-page{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:calc(18px + env(safe-area-inset-top)) 14px calc(18px + env(safe-area-inset-bottom));
  background:
    linear-gradient(180deg,rgba(6,16,10,.34),rgba(3,8,5,.95)),
    url("../img/landing-premium/hero-bolsa-intercamp.png?v=2400") 70% center / cover no-repeat;
}

.auth-card{
  position:relative;
  overflow:hidden;
  width:min(460px,100%);
  border-radius:32px;
  border:1px solid var(--orangeLine);
  background:
    radial-gradient(circle at 88% 12%,rgba(255,106,33,.18),transparent 26%),
    linear-gradient(180deg,rgba(10,33,24,.94),rgba(4,16,9,.96));
  padding:28px;
  box-shadow:var(--shadow);
}

.auth-card::before,
.welcome-panel::before,
.event-mini-card::before,
.pay-panel::before,
.qr-panel::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:repeating-linear-gradient(135deg,rgba(255,106,33,.07) 0 1px,transparent 1px 95px);
}

.auth-card > *{
  position:relative;
  z-index:2;
}

.auth-brand{
  display:inline-flex;
  margin-bottom:22px;
}

.auth-brand img{
  width:190px;
  max-width:72vw;
  display:block;
}

.auth-pill,
.event-mini-card span,
.qr-panel span,
.pay-panel span{
  display:inline-flex;
  border-radius:999px;
  padding:8px 12px;
  background:rgba(255,106,33,.12);
  border:1px solid rgba(255,106,33,.24);
  color:var(--orange);
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.auth-card h1{
  margin:16px 0 10px;
  font-size:clamp(36px,5vw,58px);
  line-height:.88;
  letter-spacing:-.035em;
  text-transform:uppercase;
}

.auth-copy{
  margin:0 0 22px;
  color:var(--muted);
  line-height:1.45;
  max-width:360px;
}

.acamp-alert{
  border-radius:16px;
  padding:13px 14px;
  margin-bottom:16px;
  background:rgba(255,106,33,.14);
  border:1px solid rgba(255,106,33,.28);
  color:var(--off);
}

.acamp-form{
  display:grid;
  gap:14px;
}

.acamp-form label{
  display:grid;
  gap:7px;
}

.acamp-form label span{
  color:var(--off);
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.acamp-form input{
  width:100%;
  min-height:56px;
  border-radius:16px;
  border:1px solid rgba(239,226,198,.16);
  background:rgba(255,255,255,.055);
  color:var(--off);
  padding:0 16px;
  outline:none;
  font:inherit;
}

.acamp-form input::placeholder{
  color:rgba(239,226,198,.40);
}

.acamp-form input:focus{
  border-color:rgba(255,106,33,.72);
  box-shadow:0 0 0 4px rgba(255,106,33,.12);
}

.auth-actions{
  display:grid;
  gap:12px;
  margin-top:14px;
}

.auth-link{
  color:rgba(239,226,198,.72);
  text-align:center;
  text-decoration:none;
  font-size:14px;
}

/* Painel */
.app-shell{
  width:min(520px,100%);
  min-height:100vh;
  margin:0 auto;
  padding:calc(14px + env(safe-area-inset-top)) 14px calc(96px + env(safe-area-inset-bottom));
  background:
    radial-gradient(circle at 50% 0%,rgba(255,106,33,.12),transparent 28%),
    linear-gradient(180deg,#06100A,#031008 62%,#020805);
}

.app-top{
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.app-top img{
  width:162px;
}

.logout-link{
  color:var(--off);
  text-decoration:none;
  border:1px solid rgba(239,226,198,.18);
  border-radius:999px;
  padding:10px 14px;
  background:rgba(255,255,255,.035);
  font-weight:800;
}

.welcome-panel,
.event-mini-card,
.status-grid article,
.pay-panel,
.qr-panel{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,106,33,.25);
  background:linear-gradient(180deg,rgba(10,33,24,.94),rgba(4,16,9,.96));
  box-shadow:0 22px 70px rgba(0,0,0,.28);
}

.welcome-panel{
  border-radius:28px;
  padding:22px;
  min-height:150px;
  display:grid;
  grid-template-columns:1fr 92px;
  gap:12px;
  align-items:center;
}

.welcome-panel span{
  color:var(--orange);
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.08em;
  font-weight:950;
}

.welcome-panel h1{
  margin:7px 0 7px;
  font-size:34px;
  line-height:.92;
  text-transform:uppercase;
}

.welcome-panel p{
  margin:0;
  color:var(--muted);
}

.welcome-panel img{
  width:90px;
  filter:drop-shadow(0 18px 28px rgba(0,0,0,.35));
}

.event-mini-card,
.pay-panel,
.qr-panel{
  border-radius:24px;
  padding:18px;
  margin-top:14px;
}

.event-mini-card h2{
  margin:12px 0 14px;
  font-size:28px;
  line-height:.95;
  text-transform:uppercase;
}

.event-mini-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.event-mini-grid strong,
.event-mini-grid small{
  border-radius:16px;
  padding:13px;
  background:rgba(239,226,198,.08);
  border:1px solid rgba(239,226,198,.10);
}

.event-mini-card a{
  margin-top:14px;
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  background:var(--off);
  color:#06100A;
  text-decoration:none;
  font-weight:950;
  text-transform:uppercase;
}

.status-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:14px;
}

.status-grid article{
  border-radius:20px;
  padding:16px;
  min-height:112px;
}

.status-grid span{
  display:block;
  color:var(--orange);
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:10px;
}

.status-grid strong{
  display:block;
  font-size:18px;
  line-height:1.15;
}

.status-grid strong.ok{
  color:#A6F2BE;
}

.status-grid strong.pending{
  color:#FFD6A8;
}

.pay-panel h2{
  margin:12px 0 8px;
  font-size:30px;
  line-height:.95;
  text-transform:uppercase;
}

.pay-panel p,
.qr-panel p{
  color:var(--muted);
  line-height:1.42;
}

.qr-box{
  margin-top:14px;
  border-radius:22px;
  background:var(--off);
  padding:16px;
  display:grid;
  place-items:center;
}

.qr-box img{
  width:min(260px,100%);
  height:auto;
}

.app-bottom-nav{
  position:fixed;
  left:50%;
  bottom:calc(14px + env(safe-area-inset-bottom));
  transform:translateX(-50%);
  width:min(492px,calc(100% - 28px));
  height:68px;
  border-radius:24px;
  border:1px solid rgba(239,226,198,.13);
  background:rgba(4,16,9,.88);
  backdrop-filter:blur(16px);
  display:grid;
  grid-template-columns:repeat(3,1fr);
  place-items:center;
  box-shadow:0 18px 60px rgba(0,0,0,.42);
}

.app-bottom-nav a{
  color:rgba(239,226,198,.62);
  text-decoration:none;
  font-size:12px;
  font-weight:900;
}

.app-bottom-nav a.active{
  color:var(--orange);
}

@media (min-width:820px){
  .home-hero{
    align-items:center;
    justify-content:center;
    padding:40px;
  }

  .home-content{
    width:min(520px,100%);
    min-height:auto;
    border-radius:34px;
    border:1px solid var(--orangeLine);
    background:rgba(4,16,9,.74);
    backdrop-filter:blur(16px);
    padding:34px;
    box-shadow:var(--shadow);
  }

  .home-title{
    padding-top:180px;
  }
}

@media (max-width:390px){
  .home-title h1{
    font-size:42px;
  }

  .auth-card{
    padding:22px;
  }

  .auth-card h1{
    font-size:36px;
  }

  .app-shell{
    padding-left:10px;
    padding-right:10px;
  }

  .welcome-panel{
    grid-template-columns:1fr 74px;
  }

  .welcome-panel img{
    width:72px;
  }

  .welcome-panel h1{
    font-size:29px;
  }

  .status-grid{
    gap:10px;
  }

  .status-grid article{
    padding:14px;
  }
}


/* v2.4.3 — Home do acampante igual referência, sem mockup de celular */
.acampante-home-exact{
  min-height:100svh;
}

.exact-login-hero{
  position:relative;
  min-height:100svh;
  width:100%;
  overflow:hidden;
  padding:calc(18px + env(safe-area-inset-top)) 18px calc(20px + env(safe-area-inset-bottom));
  display:block;
  background:#06100A;
}

.exact-bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(6,16,10,.02) 0%,rgba(6,16,10,.26) 35%,rgba(6,16,10,.76) 67%,rgba(3,10,6,.98) 100%),
    url("../img/landing-premium/hero-bolsa-intercamp.png?v=2400") 66% center / cover no-repeat;
  filter:brightness(.78) saturate(.94) contrast(1.04);
  transform:scale(1.18);
  transform-origin:center;
}

.exact-vignette{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 52% 40%,rgba(255,106,33,.10),transparent 32%),
    linear-gradient(90deg,rgba(2,8,5,.52),rgba(2,8,5,.18) 44%,rgba(2,8,5,.52)),
    linear-gradient(180deg,rgba(2,8,5,.16),rgba(2,8,5,.94) 88%);
  pointer-events:none;
}

.exact-home-content{
  position:relative;
  z-index:2;
  min-height:calc(100svh - 38px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  width:min(100%,430px);
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  text-align:center;
}

.exact-top-spacer{
  flex:1 1 auto;
  min-height:34svh;
}

.exact-brand-block{
  display:grid;
  place-items:center;
  margin-bottom:clamp(16px,3.7svh,34px);
  transform:translateY(-4px);
}

.exact-main-logo{
  width:min(248px,64vw);
  max-height:25svh;
  object-fit:contain;
  filter:
    drop-shadow(0 24px 40px rgba(0,0,0,.66))
    drop-shadow(0 0 18px rgba(255,106,33,.12));
}

.exact-logo-caption{
  display:block;
  margin-top:0;
  color:rgba(239,226,198,.76);
  font-size:10px;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-weight:950;
  transform:translateY(-2px);
}

.exact-title-block{
  display:grid;
  justify-items:center;
  text-shadow:0 18px 38px rgba(0,0,0,.72);
  margin-bottom:clamp(18px,3.4svh,30px);
}

.exact-title-block h1{
  margin:0;
  color:var(--off);
  font-family:"Intercamp Outbrave",Impact,"Arial Black",system-ui,sans-serif;
  font-size:clamp(31px,8.8vw,48px);
  line-height:.96;
  letter-spacing:.02em;
  text-transform:uppercase;
}

.exact-title-block strong{
  display:block;
  margin-top:clamp(8px,1.5svh,13px);
  color:var(--orange);
  font-size:clamp(14px,3.8vw,18px);
  line-height:1;
  letter-spacing:.22em;
  text-transform:uppercase;
}

.exact-title-block i{
  display:block;
  width:74px;
  height:5px;
  border-radius:999px;
  margin-top:clamp(15px,2.4svh,22px);
  background:linear-gradient(90deg,#ff7b31,#ff5d18);
  box-shadow:0 0 22px rgba(255,106,33,.44);
}

.exact-actions{
  width:100%;
  display:grid;
  gap:14px;
  margin-top:0;
}

.exact-actions .acamp-btn{
  width:100%;
  min-height:62px;
  border-radius:16px;
  font-size:clamp(18px,4.7vw,22px);
  text-transform:none;
  letter-spacing:.01em;
  font-weight:750;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.exact-actions .primary{
  background:linear-gradient(180deg,#ff742b 0%,#f45e17 100%);
  color:#fff;
  box-shadow:0 24px 54px rgba(255,106,33,.35);
}

.exact-actions .secondary{
  color:var(--off);
  background:rgba(4,16,9,.48);
  border:2px solid rgba(239,226,198,.38);
  backdrop-filter:blur(10px);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.22);
}

.exact-more{
  margin-top:clamp(28px,5.3svh,48px);
  margin-bottom:clamp(2px,1.4svh,14px);
  color:var(--off);
  text-decoration:none;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:clamp(15px,3.8vw,18px);
  font-weight:750;
  text-shadow:0 14px 28px rgba(0,0,0,.70);
}

.exact-more span{
  color:var(--orange);
  font-size:1.25em;
  margin-left:5px;
}

@media (max-width:390px){
  .exact-login-hero{
    padding-left:16px;
    padding-right:16px;
  }

  .exact-bg{
    transform:scale(1.24);
    background-position:65% center;
  }

  .exact-top-spacer{
    min-height:32svh;
  }

  .exact-main-logo{
    width:min(228px,65vw);
  }

  .exact-actions .acamp-btn{
    min-height:58px;
  }
}

@media (min-width:700px){
  .exact-login-hero{
    display:grid;
    place-items:center;
    padding:36px;
    min-height:100vh;
  }

  .exact-bg{
    background-position:center;
    transform:scale(1.02);
    filter:brightness(.55) saturate(.92) contrast(1.06);
  }

  .exact-home-content{
    min-height:760px;
    width:min(430px,100%);
    border-radius:48px;
    border:8px solid rgba(239,226,198,.24);
    box-shadow:0 38px 110px rgba(0,0,0,.58);
    padding:34px 24px 28px;
    overflow:hidden;
    background:
      linear-gradient(180deg,rgba(6,16,10,.08),rgba(6,16,10,.78) 60%,rgba(3,10,6,.96)),
      url("../img/landing-premium/hero-bolsa-intercamp.png?v=2400") 66% center / cover no-repeat;
  }

  .exact-home-content::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(6,16,10,.05),rgba(6,16,10,.52) 56%,rgba(3,10,6,.95));
    pointer-events:none;
  }

  .exact-home-content > *{
    position:relative;
    z-index:2;
  }

  .exact-top-spacer{
    min-height:300px;
  }

  .exact-main-logo{
    width:250px;
  }
}


/* v2.4.4 — Home acampante: background igual referência, sem scroll e texto menor */
.acampante-home-body{
  overflow:hidden!important;
}

.exact-login-hero{
  height:100dvh!important;
  min-height:100dvh!important;
  max-height:100dvh!important;
  overflow:hidden!important;
  padding:calc(10px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom))!important;
}

.exact-bg{
  background:
    linear-gradient(180deg,rgba(6,16,10,.02) 0%,rgba(6,16,10,.16) 30%,rgba(6,16,10,.72) 68%,rgba(3,10,6,.98) 100%),
    url("../img/landing-premium/acampante-login-bg-ref.png?v=244") center top / cover no-repeat!important;
  filter:brightness(.98) saturate(.98) contrast(1.02)!important;
  transform:none!important;
  transform-origin:center!important;
}

.exact-vignette{
  background:
    radial-gradient(circle at 50% 39%,rgba(255,106,33,.08),transparent 30%),
    linear-gradient(90deg,rgba(2,8,5,.46),rgba(2,8,5,.08) 48%,rgba(2,8,5,.46)),
    linear-gradient(180deg,rgba(2,8,5,.10),rgba(2,8,5,.92) 86%)!important;
}

.exact-home-content{
  min-height:calc(100dvh - 34px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
  height:calc(100dvh - 34px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
  justify-content:flex-end!important;
  max-width:430px!important;
}

.exact-top-spacer{
  flex:1 1 auto!important;
  min-height:20dvh!important;
}

.exact-brand-block{
  margin-bottom:clamp(26px,5.4dvh,54px)!important;
  transform:none!important;
}

.exact-main-logo{
  width:min(332px,46vw)!important;
  max-height:22dvh!important;
}

.exact-logo-caption{
  margin-top:-1px!important;
  font-size:clamp(8px,1.65vw,10px)!important;
  letter-spacing:.16em!important;
  white-space:nowrap!important;
}

.exact-title-block{
  margin-bottom:clamp(14px,2.5dvh,22px)!important;
}

.exact-title-block h1{
  font-size:clamp(25px,6.5vw,36px)!important;
  line-height:1!important;
  letter-spacing:.02em!important;
  white-space:nowrap!important;
}

.exact-title-block strong{
  margin-top:clamp(7px,1.2dvh,10px)!important;
  font-size:clamp(12px,3vw,15px)!important;
  letter-spacing:.22em!important;
}

.exact-title-block i{
  width:58px!important;
  height:4px!important;
  margin-top:clamp(11px,1.8dvh,16px)!important;
}

.exact-actions{
  width:min(100%, 560px)!important;
  gap:11px!important;
}

.exact-actions .acamp-btn{
  min-height:clamp(46px,6.8dvh,56px)!important;
  border-radius:14px!important;
  font-size:clamp(16px,4.1vw,20px)!important;
}

.exact-more{
  margin-top:clamp(14px,2.6dvh,24px)!important;
  margin-bottom:0!important;
  font-size:clamp(13px,3.4vw,16px)!important;
}

/* Celulares menores: tudo fica ainda mais compacto para não cortar no navegador */
@media (max-width:430px){
  .exact-login-hero{
    padding-left:14px!important;
    padding-right:14px!important;
    padding-bottom:calc(16px + env(safe-area-inset-bottom))!important;
  }

  .exact-bg{
    background-position:center top!important;
    background-size:cover!important;
  }

  .exact-home-content{
    height:calc(100dvh - 26px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
    min-height:calc(100dvh - 26px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
  }

  .exact-top-spacer{
    min-height:18dvh!important;
  }

  .exact-brand-block{
    margin-bottom:clamp(18px,4.2dvh,36px)!important;
  }

  .exact-main-logo{
    width:min(280px,57vw)!important;
    max-height:19dvh!important;
  }

  .exact-title-block h1{
    font-size:clamp(23px,6.2vw,30px)!important;
  }

  .exact-actions .acamp-btn{
    min-height:50px!important;
    font-size:17px!important;
  }

  .exact-more{
    margin-top:14px!important;
  }
}

/* Desktop apenas para prévia, mantendo o mesmo layout sem mockup interno */
@media (min-width:700px){
  .exact-login-hero{
    height:100vh!important;
    min-height:760px!important;
    max-height:none!important;
    display:grid!important;
    place-items:center!important;
    padding:36px!important;
  }

  .exact-bg{
    background:
      linear-gradient(180deg,rgba(6,16,10,.18),rgba(3,10,6,.90)),
      url("../img/landing-premium/acampante-login-bg-ref.png?v=244") center center / cover no-repeat!important;
    filter:brightness(.62) saturate(.96) contrast(1.03)!important;
  }

  .exact-home-content{
    min-height:760px!important;
    height:760px!important;
    width:min(430px,100%)!important;
    border-radius:48px!important;
    border:8px solid rgba(239,226,198,.24)!important;
    box-shadow:0 38px 110px rgba(0,0,0,.58)!important;
    padding:34px 24px 28px!important;
    overflow:hidden!important;
    background:
      linear-gradient(180deg,rgba(6,16,10,.02),rgba(6,16,10,.60) 60%,rgba(3,10,6,.96)),
      url("../img/landing-premium/acampante-login-bg-ref.png?v=244") center top / cover no-repeat!important;
  }

  .exact-home-content::before{
    display:none!important;
  }

  .exact-top-spacer{
    min-height:245px!important;
  }

  .exact-main-logo{
    width:255px!important;
  }

  .exact-title-block h1{
    font-size:32px!important;
  }

  .exact-actions{
    width:100%!important;
  }
}


/* v2.4.5 — Home acampante: menos filtro preto e mochila/marca centralizadas */
.exact-bg{
  background:
    linear-gradient(180deg,rgba(6,16,10,.00) 0%,rgba(6,16,10,.08) 34%,rgba(6,16,10,.42) 70%,rgba(3,10,6,.82) 100%),
    url("../img/landing-premium/acampante-login-bg-centered.png?v=245") center center / cover no-repeat!important;
  filter:brightness(1.05) saturate(1) contrast(1.02)!important;
  transform:none!important;
  transform-origin:center center!important;
}

.exact-vignette{
  background:
    radial-gradient(circle at 50% 42%,rgba(255,106,33,.05),transparent 32%),
    linear-gradient(90deg,rgba(2,8,5,.22),rgba(2,8,5,.02) 48%,rgba(2,8,5,.22)),
    linear-gradient(180deg,rgba(2,8,5,.00),rgba(2,8,5,.44) 88%)!important;
}

.exact-home-content{
  align-items:center!important;
}

.exact-brand-block{
  width:100%!important;
  justify-items:center!important;
  margin-bottom:clamp(18px,4.2dvh,40px)!important;
}

.exact-main-logo{
  width:min(285px,42vw)!important;
  max-height:17.5dvh!important;
  object-fit:contain!important;
  object-position:center!important;
}

.exact-logo-caption{
  font-size:clamp(8px,1.4vw,9.5px)!important;
  letter-spacing:.18em!important;
}

.exact-title-block h1{
  font-size:clamp(22px,5.3vw,30px)!important;
  line-height:1!important;
  white-space:nowrap!important;
  text-align:center!important;
}

.exact-title-block strong{
  font-size:clamp(11px,2.7vw,14px)!important;
}

.exact-actions{
  width:min(100%, 680px)!important;
  max-width:100%!important;
}

.exact-actions .acamp-btn{
  min-height:clamp(44px,6.4dvh,52px)!important;
  font-size:clamp(15px,3.8vw,19px)!important;
}

@media (max-width:430px){
  .exact-bg{
    background-position:center center!important;
    background-size:cover!important;
    filter:brightness(1.07) saturate(1) contrast(1.02)!important;
  }

  .exact-main-logo{
    width:min(260px,50vw)!important;
    max-height:16.5dvh!important;
  }

  .exact-title-block h1{
    font-size:clamp(21px,5.6vw,28px)!important;
  }

  .exact-actions .acamp-btn{
    min-height:48px!important;
  }
}

@media (min-width:700px){
  .exact-bg{
    background:
      linear-gradient(180deg,rgba(6,16,10,.04),rgba(3,10,6,.54)),
      url("../img/landing-premium/acampante-login-bg-centered.png?v=245") center center / cover no-repeat!important;
    filter:brightness(.90) saturate(.98) contrast(1.03)!important;
  }

  .exact-home-content{
    background:
      linear-gradient(180deg,rgba(6,16,10,.00),rgba(6,16,10,.45) 66%,rgba(3,10,6,.86)),
      url("../img/landing-premium/acampante-login-bg-centered.png?v=245") center center / cover no-repeat!important;
  }

  .exact-main-logo{
    width:230px!important;
  }

  .exact-title-block h1{
    font-size:28px!important;
  }
}


/* v2.4.6 — aplica imagem enviada como background mobile final */
@media (max-width:699px){
  .exact-bg{
    background:
      linear-gradient(180deg,rgba(6,16,10,.00) 0%,rgba(6,16,10,.04) 42%,rgba(6,16,10,.28) 72%,rgba(3,10,6,.70) 100%),
      url("../img/landing-premium/acampante-login-bg-mobile-final.png?v=246") center center / cover no-repeat!important;
    filter:none!important;
    transform:none!important;
    transform-origin:center center!important;
  }

  .exact-vignette{
    background:
      linear-gradient(90deg,rgba(2,8,5,.14),rgba(2,8,5,.00) 48%,rgba(2,8,5,.14)),
      linear-gradient(180deg,rgba(2,8,5,.00),rgba(2,8,5,.34) 88%)!important;
  }

  .exact-login-hero{
    background:#06100A!important;
  }
}


/* v2.4.7 — Ajuste fino: background mais à esquerda + marca maior e mais alta */
@media (max-width:699px){
  .exact-bg{
    background:
      linear-gradient(180deg,rgba(6,16,10,.00) 0%,rgba(6,16,10,.03) 42%,rgba(6,16,10,.22) 72%,rgba(3,10,6,.60) 100%),
      url("../img/landing-premium/acampante-login-bg-mobile-left.png?v=247") center center / cover no-repeat!important;
    filter:none!important;
    transform:none!important;
  }

  .exact-vignette{
    background:
      linear-gradient(90deg,rgba(2,8,5,.10),rgba(2,8,5,.00) 48%,rgba(2,8,5,.10)),
      linear-gradient(180deg,rgba(2,8,5,.00),rgba(2,8,5,.26) 88%)!important;
  }

  .exact-brand-block{
    transform:translateY(-46px)!important;
    margin-bottom:clamp(0px,1.4dvh,12px)!important;
  }

  .exact-main-logo{
    width:min(335px,64vw)!important;
    max-height:21dvh!important;
    filter:
      drop-shadow(0 24px 38px rgba(0,0,0,.62))
      drop-shadow(0 0 16px rgba(255,106,33,.14))!important;
  }

  .exact-logo-caption{
    transform:translateY(-4px)!important;
  }
}

@media (max-width:430px){
  .exact-brand-block{
    transform:translateY(-40px)!important;
  }

  .exact-main-logo{
    width:min(310px,68vw)!important;
    max-height:20dvh!important;
  }

  .exact-logo-caption{
    font-size:clamp(7px,1.55vw,9px)!important;
  }
}

/* Mantém a prévia desktop coerente, mas o ajuste principal é mobile */
@media (min-width:700px){
  .exact-home-content{
    background:
      linear-gradient(180deg,rgba(6,16,10,.00),rgba(6,16,10,.40) 66%,rgba(3,10,6,.80)),
      url("../img/landing-premium/acampante-login-bg-mobile-left.png?v=247") center center / cover no-repeat!important;
  }

  .exact-main-logo{
    width:270px!important;
  }
}


/* v2.4.8 — Ajuste fino: marca mais alta + leve zoom no background */
@media (max-width:699px){
  .exact-bg{
    background:
      linear-gradient(180deg,rgba(6,16,10,.00) 0%,rgba(6,16,10,.025) 42%,rgba(6,16,10,.20) 72%,rgba(3,10,6,.58) 100%),
      url("../img/landing-premium/acampante-login-bg-mobile-left.png?v=248") center center / auto 107% no-repeat!important;
    filter:none!important;
    transform:none!important;
  }

  .exact-brand-block{
    transform:translateY(-76px)!important;
    margin-bottom:clamp(-18px,-1.4dvh,-6px)!important;
  }

  .exact-main-logo{
    width:min(338px,66vw)!important;
    max-height:22dvh!important;
  }

  .exact-logo-caption{
    transform:translateY(-6px)!important;
  }
}

@media (max-width:430px){
  .exact-bg{
    background:
      linear-gradient(180deg,rgba(6,16,10,.00) 0%,rgba(6,16,10,.025) 42%,rgba(6,16,10,.20) 72%,rgba(3,10,6,.58) 100%),
      url("../img/landing-premium/acampante-login-bg-mobile-left.png?v=248") center center / auto 108% no-repeat!important;
  }

  .exact-brand-block{
    transform:translateY(-68px)!important;
    margin-bottom:clamp(-16px,-1.2dvh,-4px)!important;
  }

  .exact-main-logo{
    width:min(318px,70vw)!important;
    max-height:21dvh!important;
  }
}


/* v2.4.9 — FORÇADO: zoom real no arquivo + marca mais alta */
html.acampante-html body.acampante-home-body main.acampante-home section.exact-login-hero .exact-bg{
  background-image:
    linear-gradient(180deg,rgba(6,16,10,.00) 0%,rgba(6,16,10,.015) 42%,rgba(6,16,10,.16) 72%,rgba(3,10,6,.50) 100%),
    url("../img/landing-premium/acampante-login-bg-mobile-forced.png?v=249")!important;
  background-position:center center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  filter:none!important;
  transform:none!important;
}

html.acampante-html body.acampante-home-body main.acampante-home section.exact-login-hero .exact-vignette{
  background:
    linear-gradient(90deg,rgba(2,8,5,.06),rgba(2,8,5,.00) 48%,rgba(2,8,5,.06)),
    linear-gradient(180deg,rgba(2,8,5,.00),rgba(2,8,5,.18) 88%)!important;
}

html.acampante-html body.acampante-home-body .exact-brand-block{
  transform:translateY(-112px)!important;
  margin-bottom:-44px!important;
}

html.acampante-html body.acampante-home-body .exact-main-logo{
  width:min(360px,72vw)!important;
  max-height:24dvh!important;
}

html.acampante-html body.acampante-home-body .exact-logo-caption{
  transform:translateY(-7px)!important;
}

/* Ajuste para telas menores: mantém o mesmo efeito, mas sem esmagar o conteúdo */
@media (max-width:430px){
  html.acampante-html body.acampante-home-body .exact-brand-block{
    transform:translateY(-96px)!important;
    margin-bottom:-38px!important;
  }

  html.acampante-html body.acampante-home-body .exact-main-logo{
    width:min(340px,74vw)!important;
    max-height:23dvh!important;
  }
}

/* No desktop/prévia, também usa a imagem nova, mas mantendo o card central */
@media (min-width:700px){
  html.acampante-html body.acampante-home-body main.acampante-home section.exact-login-hero .exact-bg{
    background-image:
      linear-gradient(180deg,rgba(6,16,10,.04),rgba(3,10,6,.44)),
      url("../img/landing-premium/acampante-login-bg-mobile-forced.png?v=249")!important;
    background-position:center center!important;
    background-size:cover!important;
  }

  html.acampante-html body.acampante-home-body .exact-home-content{
    background:
      linear-gradient(180deg,rgba(6,16,10,.00),rgba(6,16,10,.34) 66%,rgba(3,10,6,.72)),
      url("../img/landing-premium/acampante-login-bg-mobile-forced.png?v=249") center center / cover no-repeat!important;
  }

  html.acampante-html body.acampante-home-body .exact-brand-block{
    transform:translateY(-96px)!important;
    margin-bottom:-34px!important;
  }

  html.acampante-html body.acampante-home-body .exact-main-logo{
    width:300px!important;
  }
}


/* v2.4.10 — Marca Intercamp posicionada na área marcada em verde */
html.acampante-html body.acampante-home-body .exact-brand-block{
  transform:translateY(-245px)!important;
  margin-bottom:-160px!important;
}

html.acampante-html body.acampante-home-body .exact-main-logo{
  width:min(365px,76vw)!important;
  max-height:25dvh!important;
}

html.acampante-html body.acampante-home-body .exact-logo-caption{
  transform:translateY(-8px)!important;
}

@media (max-width:430px){
  html.acampante-html body.acampante-home-body .exact-brand-block{
    transform:translateY(-220px)!important;
    margin-bottom:-142px!important;
  }

  html.acampante-html body.acampante-home-body .exact-main-logo{
    width:min(350px,78vw)!important;
    max-height:24dvh!important;
  }
}

@media (max-width:390px){
  html.acampante-html body.acampante-home-body .exact-brand-block{
    transform:translateY(-205px)!important;
    margin-bottom:-132px!important;
  }

  html.acampante-html body.acampante-home-body .exact-main-logo{
    width:min(332px,78vw)!important;
  }
}

/* Desktop/prévia */
@media (min-width:700px){
  html.acampante-html body.acampante-home-body .exact-brand-block{
    transform:translateY(-190px)!important;
    margin-bottom:-118px!important;
  }
}




/* v2.4.11 — Conta real do acampante */
.account-create-page{
  min-height:100svh;
  align-items:start!important;
  padding-top:calc(18px + env(safe-area-inset-top))!important;
  padding-bottom:calc(28px + env(safe-area-inset-bottom))!important;
  overflow:auto!important;
}

.create-account-card{
  width:min(720px,100%)!important;
}

.create-account-card h1{
  font-size:clamp(32px,8vw,56px)!important;
}

.create-account-form{
  grid-template-columns:1fr 1fr;
  gap:14px!important;
}

.create-account-form .full,
.choice-group.full{
  grid-column:1 / -1;
}

.acamp-form select{
  width:100%;
  min-height:56px;
  border-radius:16px;
  border:1px solid rgba(239,226,198,.16);
  background:rgba(255,255,255,.055);
  color:var(--off);
  padding:0 16px;
  outline:none;
  font:inherit;
}

.acamp-form select option{
  background:#06100A;
  color:var(--off);
}

.choice-group{
  display:grid;
  gap:9px;
}

.choice-group > span{
  color:var(--off);
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.account-choice-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}

.account-choice-grid.two{
  grid-template-columns:1fr 1fr;
}

.account-choice-grid label{
  min-height:56px;
  border-radius:16px;
  border:1px solid rgba(239,226,198,.15);
  background:rgba(255,255,255,.045);
  display:grid;
  gap:4px;
  align-content:center;
  padding:13px 14px;
  cursor:pointer;
}

.account-choice-grid label:has(input:checked){
  border-color:rgba(255,106,33,.78);
  background:rgba(255,106,33,.13);
  box-shadow:0 0 0 3px rgba(255,106,33,.08);
}

.account-choice-grid input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.account-choice-grid b{
  color:var(--off);
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:.03em;
}

.account-choice-grid small{
  color:rgba(239,226,198,.60);
  font-size:12px;
  line-height:1.25;
}

.filiais-account{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

button.acamp-btn[disabled]{
  opacity:.55;
  cursor:not-allowed;
}

.account-created-card p{
  color:var(--muted);
  line-height:1.45;
  margin:0 0 14px;
}

@media (max-width:700px){
  .create-account-form{
    grid-template-columns:1fr;
  }

  .filiais-account,
  .account-choice-grid.two{
    grid-template-columns:1fr;
  }

  .create-account-card{
    border-radius:28px!important;
    padding:22px!important;
  }
}




/* v2.4.12 — Painel do acampante estilo app premium */
.acampante-app-body{
  background:
    radial-gradient(circle at 50% -10%,rgba(255,106,33,.16),transparent 28%),
    linear-gradient(180deg,#06100A 0%,#082016 45%,#031008 100%)!important;
  min-height:100svh!important;
}

.acampante-app-body::before{
  opacity:.16!important;
}

.camper-app-shell{
  position:relative;
  z-index:1;
  width:min(480px,100%);
  min-height:100svh;
  margin:0 auto;
  padding:calc(16px + env(safe-area-inset-top)) 16px calc(100px + env(safe-area-inset-bottom));
  color:var(--off);
}

.camper-app-top,
.camper-screen-head{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.camper-hello{
  display:flex;
  align-items:center;
  gap:10px;
}

.camper-hello img{
  width:38px;
  height:38px;
  object-fit:contain;
  filter:drop-shadow(0 10px 18px rgba(255,106,33,.20));
}

.camper-hello strong,
.camper-screen-head strong{
  display:block;
  font-size:17px;
  line-height:1.05;
  color:var(--off);
}

.camper-hello span{
  display:block;
  margin-top:3px;
  font-size:11px;
  color:rgba(239,226,198,.62);
  font-family:Inter,system-ui,sans-serif;
}

.camper-bell{
  width:42px;
  height:42px;
  border-radius:16px;
  border:1px solid rgba(239,226,198,.16);
  background:rgba(255,255,255,.04);
  display:grid;
  place-items:center;
  text-decoration:none;
  position:relative;
}

.camper-bell span{
  width:16px;
  height:18px;
  border:2px solid var(--off);
  border-top-left-radius:9px;
  border-top-right-radius:9px;
  border-bottom:0;
  position:relative;
  opacity:.82;
}

.camper-bell span::after{
  content:"";
  position:absolute;
  left:4px;
  bottom:-5px;
  width:6px;
  height:6px;
  border-radius:999px;
  background:var(--orange);
}

.camper-screen-head{
  margin-bottom:10px;
}

.camper-screen-head a{
  width:40px;
  height:40px;
  border-radius:15px;
  display:grid;
  place-items:center;
  text-decoration:none;
  color:var(--off);
  border:1px solid rgba(239,226,198,.14);
  background:rgba(255,255,255,.035);
}

.camper-event-card,
.camper-action-card,
.camper-detail-card,
.camper-payment-card,
.camper-qr-card,
.camper-participant-card{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  border:1px solid rgba(239,226,198,.14);
  background:
    radial-gradient(circle at 90% 20%,rgba(255,106,33,.12),transparent 28%),
    linear-gradient(180deg,rgba(13,42,29,.96),rgba(4,18,10,.96));
  box-shadow:0 22px 70px rgba(0,0,0,.30);
}

.camper-event-card::before,
.camper-action-card::before,
.camper-detail-card::before,
.camper-payment-card::before,
.camper-qr-card::before,
.camper-participant-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    repeating-linear-gradient(135deg,rgba(255,106,33,.055) 0 1px,transparent 1px 96px),
    radial-gradient(circle at 80% 54%,rgba(239,226,198,.05),transparent 35%);
}

.camper-event-card > *,
.camper-action-card > *,
.camper-detail-card > *,
.camper-payment-card > *,
.camper-qr-card > *,
.camper-participant-card > *{
  position:relative;
  z-index:2;
}

.camper-event-card{
  min-height:176px;
  padding:18px;
  margin-top:8px;
}

.camper-event-card span,
.camper-action-card span,
.camper-detail-card span,
.camper-payment-card span,
.camper-qr-card span,
.camper-participant-card span{
  display:block;
  color:rgba(239,226,198,.68);
  font-size:12px;
  font-family:Inter,system-ui,sans-serif;
}

.camper-event-card h1{
  width:65%;
  margin:8px 0 10px;
  font-size:31px;
  line-height:.95;
  text-transform:uppercase;
  letter-spacing:-.02em;
}

.camper-event-card img{
  position:absolute;
  right:22px;
  top:56px;
  width:74px;
  opacity:.62;
}

.camper-event-date{
  margin-top:8px;
  padding:12px;
  border-radius:18px;
  background:rgba(239,226,198,.08);
  border:1px solid rgba(239,226,198,.08);
}

.camper-event-date small{
  display:block;
  color:var(--orange);
  font-size:24px;
  line-height:1;
  font-weight:950;
  text-transform:uppercase;
}

.camper-event-date em{
  display:block;
  margin-top:5px;
  color:rgba(239,226,198,.76);
  font-style:normal;
  font-size:12px;
  font-family:Inter,system-ui,sans-serif;
}

.camper-event-card a,
.camper-detail-card a{
  margin-top:12px;
  min-height:46px;
  border-radius:14px;
  background:var(--off);
  color:#06100A;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-weight:950;
}

.camper-quick{
  margin-top:18px;
}

.camper-quick h2{
  margin:0 0 12px;
  font-size:15px;
  color:rgba(239,226,198,.78);
}

.camper-quick-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}

.camper-quick-grid a{
  min-height:92px;
  border-radius:16px;
  background:#F1E5CC;
  border:1px solid rgba(239,226,198,.18);
  color:#06100A;
  text-decoration:none;
  display:grid;
  place-items:center;
  align-content:center;
  gap:8px;
  font-size:11px;
  font-weight:850;
  font-family:Inter,system-ui,sans-serif;
  box-shadow:0 10px 25px rgba(0,0,0,.18);
}

.camper-quick-grid i,
.camper-tabbar i{
  display:block;
  width:26px;
  height:26px;
  position:relative;
}

.camper-quick-grid i::before,
.camper-quick-grid i::after,
.camper-tabbar i::before,
.camper-tabbar i::after{
  content:"";
  position:absolute;
  inset:4px;
  border:2px solid currentColor;
  border-radius:5px;
}

.ico-bed::before{border-radius:2px!important; border-top:0!important;}
.ico-bed::after{inset:auto 2px 5px 2px; height:8px; border-radius:0; border-top:2px solid currentColor;}
.ico-card::before{border-radius:4px!important;}
.ico-card::after{inset:9px 5px auto 5px; height:0; border:0; border-top:2px solid currentColor;}
.ico-qr::before{border-radius:3px!important;}
.ico-qr::after{inset:8px; border-radius:2px;}
.ico-calendar::before{border-radius:4px!important;}
.ico-calendar::after{inset:7px 6px auto 6px; height:0; border:0; border-top:2px solid currentColor;}
.ico-info::before{border-radius:999px!important;}
.ico-info::after{inset:8px 11px 6px 11px; border:0; border-left:2px solid currentColor;}

.camper-status-strip{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:14px;
}

.camper-status-strip article,
.camper-action-card{
  border-radius:18px;
  border:1px solid rgba(239,226,198,.12);
  background:rgba(255,255,255,.035);
  padding:14px;
}

.camper-status-strip span{
  color:var(--orange);
  text-transform:uppercase;
  font-size:11px;
  letter-spacing:.06em;
}

.camper-status-strip strong{
  display:block;
  margin-top:7px;
  color:var(--off);
  font-size:16px;
}

.ok{color:#74C86E!important;}
.pending{color:#F4C99E!important;}

.camper-action-card,
.camper-detail-card,
.camper-payment-card,
.camper-qr-card,
.camper-participant-card{
  margin-top:16px;
  padding:18px;
}

.camper-action-card h2,
.camper-detail-card h1,
.camper-payment-card h1{
  margin:10px 0 8px;
  font-size:28px;
  line-height:.95;
  text-transform:uppercase;
}

.camper-action-card p,
.camper-detail-card p,
.camper-payment-card p,
.camper-qr-card p{
  color:rgba(239,226,198,.72);
  font-family:Inter,system-ui,sans-serif;
  line-height:1.45;
}

.camper-detail-list{
  display:grid;
  gap:10px;
  margin-top:12px;
}

.camper-detail-list p,
.payment-row,
.participant-grid p{
  margin:0;
  border-radius:14px;
  background:rgba(239,226,198,.08);
  border:1px solid rgba(239,226,198,.08);
  padding:12px;
  display:grid;
  gap:4px;
}

.camper-detail-list b,
.payment-row b,
.participant-grid b{
  color:rgba(239,226,198,.58);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.camper-detail-list strong,
.payment-row strong,
.participant-grid span{
  color:var(--off);
  font-size:14px;
}

.camper-steps{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:4px;
  border-radius:999px;
  padding:5px;
  background:#F1E5CC;
  color:#06100A;
  margin:8px 0 16px;
}

.camper-steps span{
  min-height:32px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  font-size:12px;
  font-weight:950;
}

.camper-steps .active,
.camper-steps .done{
  background:var(--orange);
  color:#fff;
}

.camper-steps b{
  font-size:10px;
}

.camper-payment-card h1{
  font-size:34px;
}

.camper-qr-box{
  margin-top:12px;
  background:#F1E5CC;
  border-radius:18px;
  padding:14px;
  display:grid;
  place-items:center;
}

.camper-qr-box img{
  width:min(220px,100%);
  height:auto;
}

.camper-qr-placeholder{
  height:190px;
  border-radius:18px;
  background:#F1E5CC;
  color:#06100A;
  display:grid;
  place-items:center;
  font-weight:950;
  font-size:42px;
  opacity:.82;
  margin-top:12px;
}

.camper-qr-card strong{
  margin-top:10px;
  min-height:36px;
  border-radius:999px;
  background:rgba(116,200,110,.14);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
}

.participant-line{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:12px;
}

.avatar-dot{
  width:46px;
  height:46px;
  border-radius:14px;
  background:linear-gradient(180deg,#FF7A2E,#E95A16);
  display:grid;
  place-items:center;
  color:#fff;
  font-weight:950;
  text-transform:uppercase;
}

.participant-line strong{
  display:block;
}

.participant-line small{
  color:rgba(239,226,198,.58);
}

.participant-grid{
  display:grid;
  gap:8px;
  margin-top:14px;
}

.camper-tabbar{
  position:fixed;
  left:50%;
  bottom:calc(10px + env(safe-area-inset-bottom));
  transform:translateX(-50%);
  width:min(448px,calc(100% - 24px));
  height:74px;
  border-radius:26px;
  border:1px solid rgba(239,226,198,.12);
  background:rgba(4,18,10,.90);
  backdrop-filter:blur(18px);
  box-shadow:0 18px 60px rgba(0,0,0,.42);
  display:grid;
  grid-template-columns:1fr 1fr 76px 1fr 1fr;
  align-items:center;
  z-index:50;
}

.camper-tabbar a{
  display:grid;
  place-items:center;
  gap:4px;
  color:rgba(239,226,198,.64);
  text-decoration:none;
  font-size:10px;
  font-weight:850;
}

.camper-tabbar a.active{
  color:var(--orange);
}

.camper-tabbar i{
  width:22px;
  height:22px;
}

.camper-tabbar .tab-star{
  width:64px;
  height:64px;
  border-radius:50%;
  background:linear-gradient(180deg,#FF7A2E,#E95A16);
  place-self:center;
  display:grid;
  place-items:center;
  transform:translateY(-10px);
  box-shadow:0 16px 32px rgba(255,106,33,.34);
}

.camper-tabbar .tab-star img{
  width:40px;
  height:40px;
  object-fit:contain;
}

.tab-home::before{border-radius:4px 4px 2px 2px!important; transform:rotate(45deg); inset:6px;}
.tab-cal::before{border-radius:4px!important;}
.tab-cal::after{inset:7px 5px auto 5px; height:0; border:0; border-top:2px solid currentColor;}
.tab-check::before{border-radius:999px!important;}
.tab-check::after{inset:5px 7px 8px 7px; border:0; border-left:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(-45deg);}
.tab-user::before{border-radius:999px!important; inset:4px 7px 11px;}
.tab-user::after{border-radius:999px 999px 5px 5px!important; inset:12px 4px 4px;}

@media (max-width:380px){
  .camper-app-shell{
    padding-left:12px;
    padding-right:12px;
  }

  .camper-event-card h1{
    font-size:27px;
  }

  .camper-quick-grid{
    gap:8px;
  }

  .camper-quick-grid a{
    min-height:84px;
  }
}



/* v2.4.13 — Refinamento ultra premium do painel do acampante */
.camper-quick-grid i::before,.camper-quick-grid i::after,.camper-tabbar i::before,.camper-tabbar i::after,.drawer-panel i::before,.drawer-panel i::after,.camper-bell span::before{display:none!important;content:none!important}
.camper-quick-grid i,.camper-tabbar i,.drawer-panel i,.event-values i,.screen-menu i,.drawer-logout i{display:block;width:30px;height:30px;background:currentColor;border:0!important;border-radius:0!important;position:relative!important;inset:auto!important;transform:none!important}
.ico-doc{-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M6%202h9l5%205v15H6V2zm8%202v5h5L14%204zM8%2012v2h8v-2H8zm0%204v2h6v-2H8z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M6%202h9l5%205v15H6V2zm8%202v5h5L14%204zM8%2012v2h8v-2H8zm0%204v2h6v-2H8z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;}
.ico-card{-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M3%206a3%203%200%200%201%203-3h12a3%203%200%200%201%203%203v12a3%203%200%200%201-3%203H6a3%203%200%200%201-3-3V6zm2%203h14V6a1%201%200%200%200-1-1H6a1%201%200%200%200-1%201v3zm0%203v6a1%201%200%200%200%201%201h12a1%201%200%200%200%201-1v-6H5zm3%203h4v2H8v-2z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M3%206a3%203%200%200%201%203-3h12a3%203%200%200%201%203%203v12a3%203%200%200%201-3%203H6a3%203%200%200%201-3-3V6zm2%203h14V6a1%201%200%200%200-1-1H6a1%201%200%200%200-1%201v3zm0%203v6a1%201%200%200%200%201%201h12a1%201%200%200%200%201-1v-6H5zm3%203h4v2H8v-2z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;}
.ico-bed{-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M4%204h3v8h14a2%202%200%200%201%202%202v6h-3v-3H7v3H4V4zm5%206a3%203%200%201%201%206%200v2H9v-2zm8%200h3v2h-3v-2z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M4%204h3v8h14a2%202%200%200%201%202%202v6h-3v-3H7v3H4V4zm5%206a3%203%200%201%201%206%200v2H9v-2zm8%200h3v2h-3v-2z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;}
.ico-qr{-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M3%203h8v8H3V3zm2%202v4h4V5H5zm8-2h8v8h-8V3zm2%202v4h4V5h-4zM3%2013h8v8H3v-8zm2%202v4h4v-4H5zm9-2h3v3h-3v-3zm4%200h3v5h-3v-5zm-4%205h3v3h-3v-3zm5%201h2v2h-2v-2z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M3%203h8v8H3V3zm2%202v4h4V5H5zm8-2h8v8h-8V3zm2%202v4h4V5h-4zM3%2013h8v8H3v-8zm2%202v4h4v-4H5zm9-2h3v3h-3v-3zm4%200h3v5h-3v-5zm-4%205h3v3h-3v-3zm5%201h2v2h-2v-2z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;}
.ico-calendar{-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M7%202h3v3h4V2h3v3h2a3%203%200%200%201%203%203v11a3%203%200%200%201-3%203H5a3%203%200%200%201-3-3V8a3%203%200%200%201%203-3h2V2zm12%209H5v8h14v-8z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M7%202h3v3h4V2h3v3h2a3%203%200%200%201%203%203v11a3%203%200%200%201-3%203H5a3%203%200%200%201-3-3V8a3%203%200%200%201%203-3h2V2zm12%209H5v8h14v-8z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;}
.ico-info{-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M12%202a10%2010%200%201%201%200%2020%2010%2010%200%200%201%200-20zm-1.5%208h3v8h-3v-8zm0-4h3v3h-3V6z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M12%202a10%2010%200%201%201%200%2020%2010%2010%200%200%201%200-20zm-1.5%208h3v8h-3v-8zm0-4h3v3h-3V6z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;}
.ico-logout{-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M4%203h9v3H7v12h6v3H4V3zm12%205%206%204-6%204v-3H10v-2h6V8z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M4%203h9v3H7v12h6v3H4V3zm12%205%206%204-6%204v-3H10v-2h6V8z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;}
.ico-mountain{-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M2%2020%2010%204l4%208%202-4%206%2012H2zm8-10-3%207h6l-3-7z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M2%2020%2010%204l4%208%202-4%206%2012H2zm8-10-3%207h6l-3-7z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;}
.ico-shield{-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M12%202%2021%206v6c0%205-3.5%208-9%2010-5.5-2-9-5-9-10V6l9-4zm-1%2013%206-6-2-2-4%204-2-2-2%202%204%204z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M12%202%2021%206v6c0%205-3.5%208-9%2010-5.5-2-9-5-9-10V6l9-4zm-1%2013%206-6-2-2-4%204-2-2-2%202%204%204z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;}
.ico-flame{-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M13%202c1%205-3%206-1%2010%201-1%202-3%202-5%204%203%206%206%206%2010%200%204-4%206-8%206s-8-2-8-7c0-5%205-8%209-14z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M13%202c1%205-3%206-1%2010%201-1%202-3%202-5%204%203%206%206%206%2010%200%204-4%206-8%206s-8-2-8-7c0-5%205-8%209-14z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;}
.tab-home{-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M12%202%202%2011h3v10h6v-6h2v6h6V11h3L12%202z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M12%202%202%2011h3v10h6v-6h2v6h6V11h3L12%202z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;}
.tab-cal{-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M7%202h3v3h4V2h3v3h2a3%203%200%200%201%203%203v11a3%203%200%200%201-3%203H5a3%203%200%200%201-3-3V8a3%203%200%200%201%203-3h2V2zm12%209H5v8h14v-8z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M7%202h3v3h4V2h3v3h2a3%203%200%200%201%203%203v11a3%203%200%200%201-3%203H5a3%203%200%200%201-3-3V8a3%203%200%200%201%203-3h2V2zm12%209H5v8h14v-8z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;}
.tab-check{-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zm-1.2%2014.2-4-4%202.1-2.1%201.9%201.9%204.4-4.4%202.1%202.1-6.5%206.5z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zm-1.2%2014.2-4-4%202.1-2.1%201.9%201.9%204.4-4.4%202.1%202.1-6.5%206.5z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;}
.tab-user{-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M12%2012a5%205%200%201%200%200-10%205%205%200%200%200%200%2010zm0%202c-5%200-9%203-9%207v1h18v-1c0-4-4-7-9-7z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M12%2012a5%205%200%201%200%200-10%205%205%200%200%200%200%2010zm0%202c-5%200-9%203-9%207v1h18v-1c0-4-4-7-9-7z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;}
.tab-menu{-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M4%206h16v3H4V6zm0%205h16v3H4v-3zm0%205h16v3H4v-3z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M4%206h16v3H4V6zm0%205h16v3H4v-3zm0%205h16v3H4v-3z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;}
.camper-bell span{-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M12%2022a3%203%200%200%200%203-3H9a3%203%200%200%200%203%203zm8-5-2-3V9A6%206%200%201%200%206%209v5l-2%203v1h16v-1z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat!important; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M12%2022a3%203%200%200%200%203-3H9a3%203%200%200%200%203%203zm8-5-2-3V9A6%206%200%201%200%206%209v5l-2%203v1h16v-1z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat!important;}

.camper-bell{href:auto;width:54px!important;height:54px!important;border-radius:21px!important;border:1px solid rgba(239,226,198,.18)!important;background:radial-gradient(circle at 72% 78%,rgba(255,106,33,.25),transparent 20%),rgba(239,226,198,.045)!important;display:grid!important;place-items:center!important;color:var(--off)!important;text-decoration:none!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2),0 12px 28px rgba(0,0,0,.24)}
.camper-bell span{width:28px!important;height:28px!important;background:var(--off)!important;border:0!important;opacity:.9!important}.camper-bell span::after{display:block!important;content:""!important;position:absolute!important;right:7px!important;bottom:8px!important;width:7px!important;height:7px!important;border-radius:999px!important;background:var(--orange)!important;border:0!important}
.camper-quick-grid a{min-height:104px!important;border-radius:20px!important;background:linear-gradient(180deg,#F3E7CF,#E8DABF)!important;color:#07130C!important;position:relative;overflow:hidden}.camper-quick-grid a::before{content:"";position:absolute;inset:10px;border-radius:15px;border:1px solid rgba(7,19,12,.06)}.camper-quick-grid i{color:#07130C!important;width:34px!important;height:34px!important}.camper-quick-grid span{font-size:12px!important;font-weight:950!important;position:relative;z-index:2}
.camper-status-strip.premium-status article{min-height:124px;border-radius:24px!important;border:1px solid rgba(255,106,33,.20)!important;background:radial-gradient(circle at 85% 22%,rgba(255,106,33,.13),transparent 26%),rgba(7,28,17,.70)!important}.camper-status-strip.premium-status i{width:34px;height:34px;color:var(--orange);margin-bottom:12px}
.install-copy-card{border-radius:28px!important;border-color:rgba(255,106,33,.24)!important;background:radial-gradient(circle at 16% 18%,rgba(255,106,33,.18),transparent 22%),linear-gradient(180deg,rgba(9,40,25,.94),rgba(4,18,10,.96))!important}.install-copy-card p{max-width:96%}
.camper-tabbar{height:78px!important;border-radius:29px!important;background:linear-gradient(180deg,rgba(8,31,19,.94),rgba(3,13,7,.95))!important;border:1px solid rgba(239,226,198,.14)!important}.camper-tabbar a{color:rgba(239,226,198,.70)!important}.camper-tabbar a.active{color:var(--orange)!important}.camper-tabbar a i{width:24px!important;height:24px!important;margin-bottom:2px}.camper-tabbar .tab-star img{width:48px!important;height:48px!important;filter:drop-shadow(0 10px 16px rgba(0,0,0,.35))}.camper-tabbar .tab-star::after{content:"";position:absolute;width:22px;height:22px;background:#fff;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M4%206h16v3H4V6zm0%205h16v3H4v-3zm0%205h16v3H4v-3z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M4%206h16v3H4V6zm0%205h16v3H4v-3zm0%205h16v3H4v-3z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;filter:drop-shadow(0 3px 4px rgba(0,0,0,.45))}
.camper-drawer{position:fixed;inset:0;z-index:100;opacity:0;pointer-events:none;visibility:hidden;transition:.25s ease}.camper-drawer:target{opacity:1;pointer-events:auto;visibility:visible}.drawer-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.52);backdrop-filter:blur(6px)}.drawer-panel{position:absolute;right:0;top:0;bottom:0;width:min(340px,88vw);padding:calc(22px + env(safe-area-inset-top)) 18px calc(24px + env(safe-area-inset-bottom));border-left:1px solid rgba(255,106,33,.28);background:radial-gradient(circle at 20% 10%,rgba(255,106,33,.15),transparent 26%),linear-gradient(180deg,#0B281A,#04120A);box-shadow:-28px 0 80px rgba(0,0,0,.40);transform:translateX(105%);transition:.28s ease}.camper-drawer:target .drawer-panel{transform:translateX(0)}.drawer-panel header{display:flex;align-items:center;justify-content:space-between}.drawer-panel header img{width:168px}.drawer-panel header a{width:42px;height:42px;border-radius:16px;color:var(--off);border:1px solid rgba(239,226,198,.16);display:grid;place-items:center;text-decoration:none;font-size:30px;line-height:1}.drawer-panel>strong{display:block;margin-top:28px;font-size:34px;line-height:.92;text-transform:uppercase}.drawer-panel>p{color:rgba(239,226,198,.70);line-height:1.4;margin-bottom:20px}.drawer-panel nav{display:grid;gap:10px}.drawer-panel nav a,.drawer-logout{min-height:58px;border-radius:18px;border:1px solid rgba(239,226,198,.13);background:rgba(255,255,255,.04);color:var(--off);display:flex;align-items:center;gap:13px;padding:0 14px;text-decoration:none;font-weight:950}.drawer-panel nav a:hover,.drawer-panel nav a.active{background:rgba(255,106,33,.14);border-color:rgba(255,106,33,.32);color:var(--orange)}.drawer-panel nav i,.drawer-logout i{width:28px!important;height:28px!important}.drawer-logout{margin-top:18px;color:#FFD8C8}
.screen-menu{color:var(--off)!important}.screen-menu i{width:22px!important;height:22px!important;background:currentColor!important}
.event-showcase{min-height:70svh;display:flex;flex-direction:column}.event-showcase h1{font-size:42px!important}.event-date-show{margin:18px 0 8px;padding:16px;border-radius:22px;color:var(--orange);background:rgba(239,226,198,.09);border:1px solid rgba(239,226,198,.10);font-size:32px;font-weight:950;text-transform:uppercase}.event-values{display:grid;gap:10px;margin:16px 0}.event-values article{display:grid;grid-template-columns:42px 1fr;gap:4px 12px;align-items:center;border-radius:18px;padding:14px;background:rgba(239,226,198,.07);border:1px solid rgba(239,226,198,.09)}.event-values i{grid-row:1/span 2;color:var(--orange)}.event-values b{color:var(--off);text-transform:uppercase}.event-values small{color:rgba(239,226,198,.64)}
.camper-payment-card,.camper-qr-card,.camper-participant-card{border-radius:28px!important;box-shadow:0 22px 70px rgba(0,0,0,.30)!important}.camper-payment-card{background:#F1E5CC!important;color:#06100A!important;border-color:rgba(239,226,198,.25)!important}.camper-payment-card span,.camper-qr-card span,.camper-participant-card span{color:rgba(7,19,12,.68)!important;font-weight:850}.camper-payment-card h1{font-size:38px!important}.payment-row,.participant-grid p{border-radius:16px!important;background:rgba(7,19,12,.055)!important;border:1px solid rgba(7,19,12,.09)!important}.camper-qr-card{background:#F1E5CC!important;color:#06100A!important}.camper-qr-box{background:#fff8ea!important;border:1px solid rgba(7,19,12,.10)!important;box-shadow:inset 0 0 0 8px rgba(7,19,12,.03)!important}.camper-qr-placeholder{background:rgba(7,19,12,.07)!important;color:rgba(7,19,12,.45)!important;border-radius:22px!important}.camper-qr-card p{color:rgba(7,19,12,.62)!important}.camper-participant-card{background:#F1E5CC!important;color:#06100A!important}.participant-line strong,.participant-grid span,.payment-row strong{color:#06100A!important}.participant-line small,.participant-grid b,.payment-row b{color:rgba(7,19,12,.58)!important}
.profile-premium-shell .camper-detail-card{border-radius:30px!important;background:radial-gradient(circle at 82% 15%,rgba(255,106,33,.18),transparent 26%),linear-gradient(180deg,rgba(12,48,31,.96),rgba(4,18,10,.98))!important}.profile-premium-card{border-radius:30px!important}.camper-detail-list p{border-radius:18px!important}.profile-logout{margin-top:16px;min-height:58px;border-radius:20px;color:var(--off);background:rgba(255,255,255,.04);border:1px solid rgba(239,226,198,.13);display:flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;font-weight:950}
@media(max-width:380px){.camper-quick-grid a{min-height:94px!important}.event-showcase h1{font-size:34px!important}.event-date-show{font-size:26px}}


/* v2.4.14 — Ajustes do próximo evento + notificação */
.camper-bell{
  position:relative!important;
}

.camper-bell::after{
  content:""!important;
  position:absolute!important;
  top:9px!important;
  right:9px!important;
  width:8px!important;
  height:8px!important;
  border-radius:999px!important;
  background:var(--orange)!important;
  border:2px solid rgba(4,18,10,.96)!important;
  box-shadow:0 0 0 3px rgba(255,106,33,.13)!important;
}

.camper-bell span::after{
  display:none!important;
  content:none!important;
}

.camper-event-card{
  min-height:236px!important;
  padding:20px!important;
}

.camper-event-card h1{
  width:72%!important;
  font-size:clamp(28px,8vw,38px)!important;
  line-height:.94!important;
  margin-bottom:12px!important;
}

.camper-event-date{
  margin-top:10px!important;
  padding:12px 13px!important;
}

.camper-event-date small{
  font-size:clamp(22px,7vw,30px)!important;
}

.camper-event-countdown{
  margin-top:10px;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:6px;
  padding:7px;
  border-radius:18px;
  background:rgba(3,13,7,.40);
  border:1px solid rgba(239,226,198,.09);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
}

.camper-event-countdown div{
  min-height:44px;
  border-radius:13px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:1px;
  background:rgba(239,226,198,.06);
  border:1px solid rgba(239,226,198,.055);
}

.camper-event-countdown strong{
  color:var(--orange);
  font-size:clamp(16px,4.8vw,22px);
  line-height:1;
  font-weight:950;
  letter-spacing:.015em;
}

.camper-event-countdown span{
  color:rgba(239,226,198,.62)!important;
  font-family:Inter,system-ui,sans-serif!important;
  font-size:8px!important;
  line-height:1!important;
  text-transform:uppercase;
  letter-spacing:.06em;
}

@media(max-width:380px){
  .camper-event-card{
    min-height:228px!important;
    padding:18px!important;
  }

  .camper-event-countdown{
    gap:4px;
    padding:6px;
  }

  .camper-event-countdown div{
    min-height:40px;
  }

  .camper-event-countdown strong{
    font-size:15px;
  }
}



/* v2.4.15 — Navbar igual admin + ícones premium + acesso rápido menor */

/* ponto da notificação no canto superior direito */
.camper-bell span::after{
  left:auto!important;
  right:-8px!important;
  top:-8px!important;
  bottom:auto!important;
  width:7px!important;
  height:7px!important;
  box-shadow:0 0 0 3px rgba(255,106,33,.12)!important;
}

/* Acesso rápido menor e mais clean, mantendo 3x2 */
.camper-quick{
  margin-top:14px!important;
}

.camper-quick h2{
  margin-bottom:10px!important;
}

.camper-quick-grid{
  gap:9px!important;
}

.camper-quick-grid a{
  min-height:78px!important;
  border-radius:17px!important;
  gap:5px!important;
  padding:10px 6px!important;
}

.camper-quick-grid a::before{
  inset:8px!important;
  border-radius:13px!important;
}

.camper-quick-grid i{
  width:25px!important;
  height:25px!important;
  margin-bottom:0!important;
}

.camper-quick-grid span{
  font-size:10.5px!important;
  letter-spacing:-.01em!important;
}

/* Ícones redesenhados */
.ico-doc{-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M6%202h9l5%205v15H6V2zm8%202v5h5l-5-5zM8%2012h8v2H8v-2zm0%204h6v2H8v-2z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat!important; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M6%202h9l5%205v15H6V2zm8%202v5h5l-5-5zM8%2012h8v2H8v-2zm0%204h6v2H8v-2z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat!important;}
.ico-card{-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M4%205a3%203%200%200%201%203-3h11v4H7a1%201%200%200%200-1%201v1h14a2%202%200%200%201%202%202v8a3%203%200%200%201-3%203H5a3%203%200%200%201-3-3V7a2%202%200%200%201%202-2zm13%208a2%202%200%201%200%200%204h5v-4h-5z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat!important; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M4%205a3%203%200%200%201%203-3h11v4H7a1%201%200%200%200-1%201v1h14a2%202%200%200%201%202%202v8a3%203%200%200%201-3%203H5a3%203%200%200%201-3-3V7a2%202%200%200%201%202-2zm13%208a2%202%200%201%200%200%204h5v-4h-5z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat!important;}
.ico-bed{-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M3%205h3v7h15a2%202%200%200%201%202%202v6h-3v-3H6v3H3V5zm6%205a3%203%200%200%201%203-3h3a4%204%200%200%201%204%204v1H9v-2z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat!important; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M3%205h3v7h15a2%202%200%200%201%202%202v6h-3v-3H6v3H3V5zm6%205a3%203%200%200%201%203-3h3a4%204%200%200%201%204%204v1H9v-2z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat!important;}
.ico-qr{-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M3%203h8v8H3V3zm2%202v4h4V5H5zm8-2h8v8h-8V3zm2%202v4h4V5h-4zM3%2013h8v8H3v-8zm2%202v4h4v-4H5zm9-2h3v3h-3v-3zm4%200h3v5h-3v-5zm-4%205h3v3h-3v-3zm5%201h2v2h-2v-2z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat!important; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M3%203h8v8H3V3zm2%202v4h4V5H5zm8-2h8v8h-8V3zm2%202v4h4V5h-4zM3%2013h8v8H3v-8zm2%202v4h4v-4H5zm9-2h3v3h-3v-3zm4%200h3v5h-3v-5zm-4%205h3v3h-3v-3zm5%201h2v2h-2v-2z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat!important;}
.ico-calendar{-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M7%202h3v3h4V2h3v3h2a3%203%200%200%201%203%203v11a3%203%200%200%201-3%203H5a3%203%200%200%201-3-3V8a3%203%200%200%201%203-3h2V2zm12%209H5v8h14v-8zM7%2013h3v3H7v-3zm5%200h5v2h-5v-2zm0%204h5v2h-5v-2z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat!important; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M7%202h3v3h4V2h3v3h2a3%203%200%200%201%203%203v11a3%203%200%200%201-3%203H5a3%203%200%200%201-3-3V8a3%203%200%200%201%203-3h2V2zm12%209H5v8h14v-8zM7%2013h3v3H7v-3zm5%200h5v2h-5v-2zm0%204h5v2h-5v-2z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat!important;}
.ico-info{-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M12%202.5a9.5%209.5%200%201%201%200%2019%209.5%209.5%200%200%201%200-19zm-1.45%208h2.9v7.2h-2.9v-7.2zm0-4.15h2.9v2.75h-2.9V6.35z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat!important; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M12%202.5a9.5%209.5%200%201%201%200%2019%209.5%209.5%200%200%201%200-19zm-1.45%208h2.9v7.2h-2.9v-7.2zm0-4.15h2.9v2.75h-2.9V6.35z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat!important;}

/* Navbar inferior no padrão visual da navbar do admin */
.camper-tabbar{
  height:74px!important;
  width:min(448px,calc(100% - 24px))!important;
  bottom:calc(10px + env(safe-area-inset-bottom))!important;
  border-radius:24px!important;
  grid-template-columns:1fr 1fr 82px 1fr 1fr!important;
  background:
    linear-gradient(180deg,rgba(8,31,19,.94),rgba(3,13,7,.96))!important;
  border:1px solid rgba(239,226,198,.14)!important;
  box-shadow:
    0 20px 65px rgba(0,0,0,.48),
    inset 0 1px 0 rgba(239,226,198,.07)!important;
  overflow:visible!important;
}

.camper-tabbar a{
  min-width:0!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  color:rgba(239,226,198,.74)!important;
  font-size:10.5px!important;
  font-weight:900!important;
  line-height:1!important;
  text-decoration:none!important;
}

.camper-tabbar a.active{
  color:var(--orange)!important;
}

.camper-tabbar a i{
  width:23px!important;
  height:23px!important;
  margin:0!important;
}

.camper-tabbar .tab-star{
  position:relative!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  transform:none!important;
  background:transparent!important;
  box-shadow:none!important;
}

.camper-tabbar .tab-star-orb{
  width:66px!important;
  height:66px!important;
  border-radius:50%!important;
  margin-top:-29px!important;
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(180deg,#FF7A2E,#E95A16)!important;
  box-shadow:
    0 18px 36px rgba(255,106,33,.36),
    0 0 0 6px rgba(255,106,33,.08)!important;
}

.camper-tabbar .tab-star-orb img{
  width:48px!important;
  height:48px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 8px 12px rgba(0,0,0,.28))!important;
}

.camper-tabbar .tab-star > img,
.camper-tabbar .tab-star-menu{
  display:none!important;
}

.camper-tabbar .tab-label{
  margin-top:4px!important;
  color:var(--off)!important;
  font-size:10.5px!important;
  font-weight:950!important;
}

.tab-star-menu{
  display:none!important;
}

/* Ajustes finos em telas menores */
@media (max-width:380px){
  .camper-quick-grid a{
    min-height:72px!important;
  }

  .camper-quick-grid i{
    width:23px!important;
    height:23px!important;
  }

  .camper-quick-grid span{
    font-size:10px!important;
  }

  .camper-tabbar{
    grid-template-columns:1fr 1fr 76px 1fr 1fr!important;
  }

  .camper-tabbar .tab-star-orb{
    width:60px!important;
    height:60px!important;
  }

  .camper-tabbar .tab-star-orb img{
    width:43px!important;
    height:43px!important;
  }
}


/* v2.4.16 — Correção definitiva da navbar inferior e sidebar esquerda */

/* Força o botão central sem qualquer hamburger/svg antigo por cima */
.camper-tabbar .tab-star > svg,
.camper-tabbar .tab-star > i,
.camper-tabbar .tab-star .tab-star-menu,
.camper-tabbar .tab-star::before,
.camper-tabbar .tab-star::after,
.camper-tabbar .tab-star-orb::before,
.camper-tabbar .tab-star-orb::after{
  display:none!important;
  content:none!important;
  opacity:0!important;
  visibility:hidden!important;
}

.camper-tabbar .tab-star{
  position:relative!important;
  height:100%!important;
  width:auto!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  overflow:visible!important;
  place-self:auto!important;
}

.camper-tabbar .tab-star-orb{
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  min-height:54px!important;
  border-radius:50%!important;
  margin-top:-18px!important;
  margin-bottom:1px!important;
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(180deg,#FF7A2E 0%,#F25F19 100%)!important;
  box-shadow:
    0 14px 30px rgba(255,106,33,.36),
    0 0 0 5px rgba(255,106,33,.07)!important;
}

.camper-tabbar .tab-star-orb img{
  display:block!important;
  width:39px!important;
  height:39px!important;
  object-fit:contain!important;
  opacity:1!important;
  visibility:visible!important;
  filter:drop-shadow(0 7px 10px rgba(0,0,0,.30))!important;
}

.camper-tabbar .tab-label{
  display:block!important;
  color:var(--off)!important;
  font-size:9px!important;
  font-weight:950!important;
  line-height:1!important;
  margin:0!important;
  opacity:1!important;
  visibility:visible!important;
}

/* Navbar inferior menor, mais baixa e ocupando menos tela */
.camper-tabbar{
  height:62px!important;
  min-height:62px!important;
  width:min(426px,calc(100% - 18px))!important;
  bottom:calc(2px + env(safe-area-inset-bottom))!important;
  border-radius:22px!important;
  grid-template-columns:1fr 1fr 66px 1fr 1fr!important;
  padding:0 5px!important;
  background:
    linear-gradient(180deg,rgba(8,31,19,.95),rgba(3,13,7,.97))!important;
  border:1px solid rgba(239,226,198,.14)!important;
  box-shadow:
    0 16px 50px rgba(0,0,0,.48),
    inset 0 1px 0 rgba(239,226,198,.07)!important;
  overflow:visible!important;
  z-index:90!important;
}

.camper-tabbar a:not(.tab-star){
  height:100%!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
  font-size:9px!important;
  font-weight:900!important;
  line-height:1!important;
}

.camper-tabbar a:not(.tab-star) i{
  width:20px!important;
  height:20px!important;
  margin:0!important;
}

/* Dá espaço correto no conteúdo com a navbar mais baixa */
.camper-app-shell{
  padding-bottom:calc(76px + env(safe-area-inset-bottom))!important;
}

/* Sidebar/menu agora vem da esquerda */
.camper-drawer .drawer-panel{
  left:0!important;
  right:auto!important;
  border-left:0!important;
  border-right:1px solid rgba(255,106,33,.28)!important;
  transform:translateX(-105%)!important;
  box-shadow:28px 0 80px rgba(0,0,0,.42)!important;
}

.camper-drawer:target .drawer-panel{
  transform:translateX(0)!important;
}

/* Backdrop segue normal */
.camper-drawer .drawer-backdrop{
  left:0!important;
  right:0!important;
}

/* Ajuste extra para telas menores */
@media (max-width:380px){
  .camper-tabbar{
    height:58px!important;
    min-height:58px!important;
    grid-template-columns:1fr 1fr 60px 1fr 1fr!important;
    width:calc(100% - 14px)!important;
    bottom:calc(1px + env(safe-area-inset-bottom))!important;
  }

  .camper-tabbar .tab-star-orb{
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    min-height:50px!important;
    margin-top:-16px!important;
  }

  .camper-tabbar .tab-star-orb img{
    width:36px!important;
    height:36px!important;
  }

  .camper-tabbar a:not(.tab-star){
    font-size:8.4px!important;
  }

  .camper-tabbar a:not(.tab-star) i{
    width:18px!important;
    height:18px!important;
  }
}


/* v2.4.17 — Notificações, sidebar premium e ícones de acesso rápido */

/* Botão de notificação abre modal, não sidebar */
.camper-notification-modal{
  position:fixed;
  inset:0;
  z-index:140;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:.24s ease;
}

.camper-notification-modal:target{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.notification-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.46);
  backdrop-filter:blur(8px);
}

.notification-box{
  position:absolute;
  left:50%;
  top:calc(78px + env(safe-area-inset-top));
  transform:translateX(-50%) translateY(-10px) scale(.96);
  width:min(390px,calc(100% - 28px));
  border-radius:28px;
  border:1px solid rgba(255,106,33,.25);
  background:
    radial-gradient(circle at 18% 8%,rgba(255,106,33,.18),transparent 30%),
    linear-gradient(180deg,rgba(12,48,31,.98),rgba(4,18,10,.98));
  box-shadow:0 26px 90px rgba(0,0,0,.48);
  padding:18px;
  color:var(--off);
  transition:.26s ease;
  overflow:hidden;
}

.camper-notification-modal:target .notification-box{
  transform:translateX(-50%) translateY(0) scale(1);
}

.notification-box::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    repeating-linear-gradient(135deg,rgba(255,106,33,.055) 0 1px,transparent 1px 92px),
    radial-gradient(circle at 75% 85%,rgba(239,226,198,.07),transparent 32%);
  pointer-events:none;
}

.notification-box > *{
  position:relative;
  z-index:2;
}

.notification-box header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.notification-box header span{
  color:var(--orange);
  font-size:11px;
  font-weight:950;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.notification-box header strong{
  display:block;
  margin-top:4px;
  font-size:30px;
  line-height:.95;
  text-transform:uppercase;
}

.notification-box header a{
  width:40px;
  height:40px;
  border-radius:15px;
  border:1px solid rgba(239,226,198,.16);
  color:var(--off);
  display:grid;
  place-items:center;
  text-decoration:none;
  font-size:30px;
  line-height:1;
  background:rgba(255,255,255,.04);
}

.notification-empty{
  margin-top:18px;
  padding:20px;
  border-radius:22px;
  border:1px solid rgba(239,226,198,.12);
  background:rgba(255,255,255,.045);
  text-align:center;
}

.notification-empty img{
  width:78px;
  height:78px;
  object-fit:contain;
  filter:drop-shadow(0 16px 26px rgba(255,106,33,.26));
}

.notification-empty h2{
  margin:10px 0 6px;
  font-size:31px;
  line-height:.92;
  text-transform:uppercase;
}

.notification-empty p{
  margin:0;
  color:rgba(239,226,198,.68);
  line-height:1.4;
  font-size:14px;
  font-family:Inter,system-ui,sans-serif;
}

/* Sidebar premium menor, funcional e rolável pela esquerda */
.camper-drawer .drawer-panel{
  left:10px!important;
  right:auto!important;
  top:calc(12px + env(safe-area-inset-top))!important;
  bottom:calc(12px + env(safe-area-inset-bottom))!important;
  width:min(292px,78vw)!important;
  max-height:calc(100svh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  border-radius:28px!important;
  border:1px solid rgba(255,106,33,.26)!important;
  background:
    radial-gradient(circle at 18% 8%,rgba(255,106,33,.17),transparent 28%),
    linear-gradient(180deg,#0A2819 0%,#04130A 100%)!important;
  padding:18px 14px 16px!important;
  border-left:1px solid rgba(255,106,33,.26)!important;
  border-right:1px solid rgba(255,106,33,.26)!important;
  transform:translateX(calc(-100% - 24px))!important;
  box-shadow:28px 0 80px rgba(0,0,0,.42)!important;
}

.camper-drawer:target .drawer-panel{
  transform:translateX(0)!important;
}

.drawer-panel::-webkit-scrollbar{
  width:4px;
}

.drawer-panel::-webkit-scrollbar-thumb{
  background:rgba(255,106,33,.45);
  border-radius:999px;
}

.drawer-panel header img{
  width:132px!important;
}

.drawer-panel header a{
  width:36px!important;
  height:36px!important;
  border-radius:14px!important;
  font-size:25px!important;
}

.drawer-panel > strong{
  margin-top:18px!important;
  font-size:24px!important;
  line-height:.96!important;
}

.drawer-panel > p{
  margin:8px 0 14px!important;
  font-size:13px!important;
  line-height:1.35!important;
}

.drawer-panel nav{
  gap:8px!important;
}

.drawer-panel nav a,
.drawer-logout{
  min-height:48px!important;
  border-radius:16px!important;
  gap:10px!important;
  padding:0 12px!important;
  font-size:13px!important;
}

.drawer-panel nav svg,
.drawer-logout svg{
  width:22px!important;
  height:22px!important;
}

.drawer-logout{
  margin-top:12px!important;
  margin-bottom:4px!important;
}

/* Ícones do acesso rápido seguindo o estilo das referências enviadas */
.camper-quick-grid .ico-bed,
.camper-quick-grid .ico-info,
.camper-quick-grid .ico-calendar{
  background:none!important;
  color:#07130C!important;
  -webkit-mask:none!important;
  mask:none!important;
}

.camper-quick-grid .ico-bed::before,
.camper-quick-grid .ico-bed::after,
.camper-quick-grid .ico-info::before,
.camper-quick-grid .ico-info::after,
.camper-quick-grid .ico-calendar::before,
.camper-quick-grid .ico-calendar::after{
  display:none!important;
  content:none!important;
}

.camper-quick-grid .ico-bed{
  background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%22%3E%20%3Cg%20fill%3D%22none%22%20stroke%3D%22%2307130C%22%20stroke-width%3D%225.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%20%3Cpath%20d%3D%22M12%2018v30%22%2F%3E%20%3Cpath%20d%3D%22M12%2034h40%22%2F%3E%20%3Cpath%20d%3D%22M52%2028v20%22%2F%3E%20%3Cpath%20d%3D%22M18%2030h13c5%200%209%204%209%209v9%22%2F%3E%20%3Cpath%20d%3D%22M12%2048h40%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fsvg%3E") center/contain no-repeat!important;
}

.camper-quick-grid .ico-info{
  background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%22%3E%20%3Cg%20fill%3D%22none%22%20stroke%3D%22%2307130C%22%20stroke-width%3D%225%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%20%3Ccircle%20cx%3D%2232%22%20cy%3D%2232%22%20r%3D%2222%22%2F%3E%20%3Cpath%20d%3D%22M32%2029v17%22%2F%3E%20%3Cpath%20d%3D%22M32%2019.5h.01%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fsvg%3E") center/contain no-repeat!important;
}

.camper-quick-grid .ico-calendar{
  background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%22%3E%20%3Cg%20fill%3D%22none%22%20stroke%3D%22%2307130C%22%20stroke-width%3D%224.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%20%3Crect%20x%3D%2213%22%20y%3D%2216%22%20width%3D%2238%22%20height%3D%2236%22%20rx%3D%226%22%2F%3E%20%3Cpath%20d%3D%22M22%2010v11%22%2F%3E%20%3Cpath%20d%3D%22M42%2010v11%22%2F%3E%20%3Cpath%20d%3D%22M13%2027h38%22%2F%3E%20%3Cpath%20d%3D%22M23%2037h6%22%2F%3E%20%3Cpath%20d%3D%22M36%2037h6%22%2F%3E%20%3Cpath%20d%3D%22M23%2045h6%22%2F%3E%20%3Cpath%20d%3D%22M36%2045h6%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fsvg%3E") center/contain no-repeat!important;
}

/* Evita círculo preenchido/bugado no ícone de informações */
.camper-quick-grid a:nth-child(6) i{
  border:0!important;
  box-shadow:none!important;
}

/* Pequeno polimento da área de acesso rápido */
.camper-quick-grid a{
  min-height:76px!important;
}

.camper-quick-grid i{
  width:26px!important;
  height:26px!important;
}




/* v2.4.18 — PWA premium do acampante */
.pwa-install-btn{
  width:100%;
  border:0;
  cursor:pointer;
  margin-top:14px;
}

.pwa-install-btn[disabled]{
  opacity:.72;
  cursor:default;
}

.pwa-install-btn.is-ready{
  box-shadow:
    0 16px 38px rgba(255,106,33,.34),
    0 0 0 5px rgba(255,106,33,.08);
}

.pwa-install-status{
  display:block;
  margin-top:10px;
  color:rgba(239,226,198,.62);
  font-size:12px;
  line-height:1.35;
  text-align:center;
  font-family:Inter,system-ui,sans-serif;
}

.pwa-secondary-link{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  margin-top:8px;
  border-radius:16px;
  color:rgba(239,226,198,.82);
  text-decoration:none;
  border:1px solid rgba(239,226,198,.13);
  background:rgba(255,255,255,.035);
  font-size:13px;
  font-weight:900;
}

.pwa-ios-tip{
  position:fixed;
  inset:0;
  z-index:180;
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  transition:.24s ease;
}

.pwa-ios-tip.is-open{
  pointer-events:auto;
  opacity:1;
  visibility:visible;
}

.pwa-ios-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.50);
  backdrop-filter:blur(8px);
}

.pwa-ios-box{
  position:absolute;
  left:50%;
  bottom:calc(22px + env(safe-area-inset-bottom));
  width:min(410px,calc(100% - 28px));
  transform:translateX(-50%) translateY(18px) scale(.96);
  border-radius:30px;
  border:1px solid rgba(255,106,33,.25);
  background:
    radial-gradient(circle at 15% 5%,rgba(255,106,33,.18),transparent 30%),
    linear-gradient(180deg,rgba(12,48,31,.98),rgba(4,18,10,.98));
  color:var(--off);
  padding:18px;
  box-shadow:0 28px 95px rgba(0,0,0,.52);
  transition:.26s ease;
  overflow:hidden;
}

.pwa-ios-tip.is-open .pwa-ios-box{
  transform:translateX(-50%) translateY(0) scale(1);
}

.pwa-ios-box::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    repeating-linear-gradient(135deg,rgba(255,106,33,.055) 0 1px,transparent 1px 92px),
    radial-gradient(circle at 78% 88%,rgba(239,226,198,.07),transparent 32%);
  pointer-events:none;
}

.pwa-ios-box > *{
  position:relative;
  z-index:2;
}

.pwa-ios-box header{
  display:flex;
  align-items:center;
  gap:12px;
}

.pwa-ios-box header img{
  width:48px;
  height:48px;
  border-radius:15px;
}

.pwa-ios-box header span{
  display:block;
  color:var(--orange);
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.pwa-ios-box header strong{
  display:block;
  margin-top:3px;
  font-size:23px;
  line-height:1;
  text-transform:uppercase;
}

.pwa-ios-box header button{
  margin-left:auto;
  width:38px;
  height:38px;
  border:1px solid rgba(239,226,198,.16);
  border-radius:14px;
  background:rgba(255,255,255,.04);
  color:var(--off);
  font-size:26px;
  line-height:1;
}

.pwa-ios-box ol{
  margin:16px 0 0;
  padding-left:20px;
  color:rgba(239,226,198,.78);
  font-family:Inter,system-ui,sans-serif;
  line-height:1.55;
  font-size:14px;
}

.pwa-ios-box li + li{
  margin-top:8px;
}

.pwa-offline-shell{
  display:grid;
  place-items:center;
  padding-top:calc(20px + env(safe-area-inset-top))!important;
}

.pwa-offline-card{
  width:min(420px,100%);
  border-radius:32px;
  border:1px solid rgba(255,106,33,.25);
  background:
    radial-gradient(circle at 16% 8%,rgba(255,106,33,.18),transparent 32%),
    linear-gradient(180deg,rgba(12,48,31,.98),rgba(4,18,10,.98));
  color:var(--off);
  padding:28px;
  text-align:center;
  box-shadow:0 28px 95px rgba(0,0,0,.48);
}

.pwa-offline-card img{
  width:92px;
  height:92px;
  object-fit:contain;
  filter:drop-shadow(0 18px 32px rgba(255,106,33,.28));
}

.pwa-offline-card span{
  display:block;
  margin-top:14px;
  color:var(--orange);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:950;
}

.pwa-offline-card h1{
  margin:10px 0;
  font-size:40px;
  line-height:.95;
  text-transform:uppercase;
}

.pwa-offline-card p{
  color:rgba(239,226,198,.70);
  line-height:1.45;
  font-family:Inter,system-ui,sans-serif;
}


/* v2.4.19 — Correção do card PWA: sem duplicidade, sem sobreposição */
.install-copy-card{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  overflow:hidden!important;
  padding:20px!important;
}

.install-copy-card h2{
  margin:8px 0 12px!important;
  font-size:clamp(28px,7.2vw,40px)!important;
  line-height:.92!important;
  max-width:100%!important;
  overflow-wrap:normal!important;
}

.install-copy-card p{
  margin:0 0 18px!important;
  max-width:100%!important;
  line-height:1.42!important;
}

.install-copy-card .pwa-install-btn{
  position:relative!important;
  width:100%!important;
  max-width:100%!important;
  min-height:58px!important;
  margin:0!important;
  border-radius:17px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  white-space:nowrap!important;
  transform:none!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  top:auto!important;
  z-index:2!important;
  box-sizing:border-box!important;
}

.install-copy-card .pwa-install-btn span{
  flex:0 0 auto!important;
}

.install-copy-card .pwa-install-status{
  display:block!important;
  width:100%!important;
  margin:10px 0 0!important;
  text-align:center!important;
  line-height:1.25!important;
  color:rgba(239,226,198,.62)!important;
}

.install-copy-card .pwa-secondary-link{
  width:100%!important;
  min-height:46px!important;
  margin:12px 0 0!important;
  border-radius:16px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  white-space:nowrap!important;
  transform:none!important;
  position:relative!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  top:auto!important;
  z-index:2!important;
  box-sizing:border-box!important;
}

/* Garante que nenhum CTA antigo continue aparecendo dentro do card */
.install-copy-card > a.acamp-btn.primary,
.install-copy-card > a:not(.pwa-secondary-link){
  display:none!important;
}

/* Remove botão antigo mesmo se algum navegador carregar HTML antigo em cache */
.camper-action-card > a.acamp-btn.primary[href="../inscricao.php"]:last-child{
  display:none!important;
}

@media (max-width:390px){
  .install-copy-card{
    padding:18px!important;
  }

  .install-copy-card h2{
    font-size:clamp(25px,6.9vw,34px)!important;
  }

  .install-copy-card .pwa-install-btn{
    min-height:54px!important;
    font-size:13px!important;
  }

  .install-copy-card .pwa-secondary-link{
    font-size:12.5px!important;
  }
}


/* v2.4.20 — Conta do acampante: campos condicionais e camisa vinculada aos opcionais */
.account-conditional-field[hidden]{
  display:none!important;
}
.account-conditional-field.is-visible{
  animation:accountConditionalIn .18s ease-out both;
}
.account-field-hint{
  display:block;
  margin-top:8px;
  color:rgba(239,226,198,.58);
  font-size:12px;
  line-height:1.35;
}
@keyframes accountConditionalIn{
  from{opacity:0;transform:translateY(-4px)}
  to{opacity:1;transform:translateY(0)}
}

/* v2.4.21 — Boas-vindas premium e Camisa da Tribo apenas na inscrição */
.account-info-note{
  border:1px solid rgba(255,106,33,.18);
  border-radius:22px;
  padding:14px 16px;
  background:
    radial-gradient(circle at 10% 0%,rgba(255,106,33,.13),transparent 34%),
    rgba(255,255,255,.045);
  color:var(--off,#efe2c6);
}
.account-info-note strong{
  display:block;
  color:var(--orange,#ff6a21);
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.account-info-note p{
  margin:7px 0 0;
  color:rgba(239,226,198,.72);
  font:500 13px/1.45 Inter,system-ui,sans-serif;
}
.acampante-welcome-body{
  min-height:100dvh;
  background:
    linear-gradient(180deg,rgba(4,18,10,.30),rgba(4,18,10,.95)),
    radial-gradient(circle at 18% 12%,rgba(255,106,33,.26),transparent 28%),
    radial-gradient(circle at 84% 88%,rgba(239,226,198,.10),transparent 34%),
    #06100A;
  color:var(--off,#efe2c6);
  overflow-x:hidden;
}
.acampante-welcome-body::before{
  content:"";
  position:fixed;
  inset:0;
  background:
    linear-gradient(180deg,rgba(6,16,10,.08),rgba(6,16,10,.92)),
    url('../img/landing-premium/acampante-login-bg-mobile-forced.png?v=2418') center bottom/cover no-repeat;
  opacity:.38;
  pointer-events:none;
}
.acampante-welcome-shell{
  position:relative;
  z-index:1;
  min-height:100dvh;
  display:grid;
  place-items:center;
  padding:calc(22px + env(safe-area-inset-top)) 16px calc(26px + env(safe-area-inset-bottom));
}
.acampante-welcome-card{
  position:relative;
  width:min(460px,100%);
  border:1px solid rgba(255,106,33,.24);
  border-radius:34px;
  padding:22px;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 4%,rgba(255,106,33,.22),transparent 35%),
    linear-gradient(180deg,rgba(12,48,31,.94),rgba(4,18,10,.96));
  box-shadow:0 32px 100px rgba(0,0,0,.52);
}
.acampante-welcome-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    repeating-linear-gradient(135deg,rgba(255,106,33,.045) 0 1px,transparent 1px 86px),
    radial-gradient(circle at 82% 16%,rgba(239,226,198,.08),transparent 28%);
  pointer-events:none;
}
.acampante-welcome-card > *{
  position:relative;
  z-index:2;
}
.welcome-glow{
  position:absolute!important;
  width:180px;
  height:180px;
  right:-70px;
  top:-70px;
  border-radius:999px;
  background:rgba(255,106,33,.22);
  filter:blur(26px);
  z-index:0!important;
}
.welcome-brand{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.welcome-brand img{
  width:132px;
  max-width:48%;
  height:auto;
  object-fit:contain;
}
.welcome-brand span,
.welcome-ios-guide span,
.welcome-install-panel span{
  color:var(--orange,#ff6a21);
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.11em;
}
.welcome-hero-icon{
  width:78px;
  height:78px;
  margin:22px auto 10px;
  display:grid;
  place-items:center;
  border-radius:28px;
  background:linear-gradient(135deg,#ff6a21,#ff9b3d);
  box-shadow:0 22px 46px rgba(255,106,33,.28);
}
.welcome-hero-icon img{
  width:64px;
  height:64px;
  object-fit:contain;
  filter:drop-shadow(0 12px 18px rgba(0,0,0,.20));
}
.acampante-welcome-card h1{
  margin:12px 0 0;
  color:var(--off,#efe2c6);
  text-align:center;
  font-size:clamp(34px,9vw,48px);
  line-height:.94;
  letter-spacing:-.055em;
  text-transform:uppercase;
}
.welcome-copy{
  max-width:36ch;
  margin:14px auto 0;
  text-align:center;
  color:rgba(239,226,198,.76);
  font:500 14px/1.55 Inter,system-ui,sans-serif;
}
.welcome-copy strong{color:#fff;font-weight:900}
.welcome-install-panel{
  margin-top:20px;
  display:grid;
  gap:14px;
  padding:16px;
  border-radius:26px;
  border:1px solid rgba(239,226,198,.14);
  background:rgba(255,255,255,.055);
}
.welcome-install-panel strong{
  display:block;
  margin-top:5px;
  color:#fff;
  font-size:20px;
  line-height:1;
  text-transform:uppercase;
}
.welcome-install-panel small{
  display:block;
  margin-top:8px;
  color:rgba(239,226,198,.62);
  font-size:12px;
  line-height:1.35;
  font-family:Inter,system-ui,sans-serif;
}
.welcome-ios-guide{
  margin-top:14px;
  padding:16px 16px 16px 18px;
  border-radius:24px;
  border:1px solid rgba(255,106,33,.18);
  background:rgba(0,0,0,.16);
}
.welcome-ios-guide ol{
  margin:10px 0 0;
  padding-left:18px;
  color:rgba(239,226,198,.78);
  font:500 13px/1.55 Inter,system-ui,sans-serif;
}
.welcome-ios-guide li + li{margin-top:6px}
.welcome-actions{
  display:grid;
  gap:10px;
  margin-top:16px;
  text-align:center;
}
.welcome-actions .auth-link{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
}
@media (min-width:720px){
  .acampante-welcome-shell{padding:34px}
  .acampante-welcome-card{padding:28px}
}
@media (max-width:390px){
  .acampante-welcome-card{padding:18px;border-radius:30px}
  .welcome-install-panel,.welcome-ios-guide{border-radius:22px;padding:14px}
}


/* v2.4.23 — Checkout/inscrição dentro do painel do acampante */
.camper-checkout-body{
  background:
    radial-gradient(circle at 50% -10%,rgba(255,106,33,.17),transparent 30%),
    radial-gradient(circle at 110% 12%,rgba(239,226,198,.10),transparent 22%),
    linear-gradient(180deg,#06100A 0%,#031007 60%,#020805 100%)!important;
}
.camper-checkout-shell{
  width:min(560px,100%)!important;
  padding-bottom:calc(112px + env(safe-area-inset-bottom))!important;
}
.camper-checkout-intro{
  position:relative;
  overflow:hidden;
  margin:8px 0 14px;
  padding:18px;
  border-radius:28px;
  border:1px solid rgba(239,226,198,.14);
  background:
    radial-gradient(circle at 88% 18%,rgba(255,106,33,.20),transparent 30%),
    linear-gradient(180deg,rgba(13,42,29,.96),rgba(4,18,10,.96));
  box-shadow:0 22px 70px rgba(0,0,0,.30);
}
.camper-checkout-intro::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(135deg,rgba(255,106,33,.055) 0 1px,transparent 1px 96px)}
.camper-checkout-intro > *{position:relative;z-index:1}
.camper-checkout-intro span{display:inline-flex;border-radius:999px;padding:7px 10px;background:rgba(255,106,33,.14);border:1px solid rgba(255,106,33,.28);color:var(--orange);font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}
.camper-checkout-intro h1{margin:12px 0 8px;color:var(--off);font-size:clamp(34px,9vw,48px);line-height:.90;letter-spacing:-.045em;text-transform:uppercase}
.camper-checkout-intro p{margin:0;color:rgba(239,226,198,.74);font:600 13px/1.45 Inter,system-ui,sans-serif}
.acampante-checkout-panel{padding:0 0 12px!important}
.acampante-checkout-container{width:100%!important;margin:0!important}
.acampante-checkout-panel .steps{margin:14px 0 16px!important;gap:7px!important}
.acampante-checkout-panel .step-dot{border-color:rgba(239,226,198,.12)!important;background:rgba(239,226,198,.06)!important;color:rgba(239,226,198,.68)!important;font-size:12px!important;padding:9px 10px!important}
.acampante-checkout-panel .step-dot.active{background:linear-gradient(180deg,#FF7A2E,#E95A16)!important;color:#fff!important;border-color:rgba(255,106,33,.35)!important}
.acampante-checkout-panel .checkout-grid{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}
.acampante-checkout-panel .grid{gap:12px!important}
.acampante-checkout-panel .option-card,.acampante-checkout-panel .card,.acampante-checkout-panel .cart{border-radius:24px!important;border:1px solid rgba(239,226,198,.13)!important;background:radial-gradient(circle at 90% 16%,rgba(255,106,33,.10),transparent 28%),linear-gradient(180deg,rgba(12,42,29,.88),rgba(4,18,10,.94))!important;box-shadow:0 18px 56px rgba(0,0,0,.28)!important}
.acampante-checkout-panel .option-card.selected,.acampante-checkout-panel .option-card:hover{border-color:rgba(255,106,33,.48)!important;background:radial-gradient(circle at 88% 16%,rgba(255,106,33,.20),transparent 30%),linear-gradient(180deg,rgba(15,52,34,.94),rgba(5,22,12,.96))!important;transform:translateY(-1px)}
.acampante-checkout-panel .section-title{margin:16px 0 10px!important}
.acampante-checkout-panel .section-title h2{color:var(--off)!important;font-size:20px!important;line-height:1!important;letter-spacing:-.02em!important;text-transform:uppercase}
.acampante-checkout-panel .input,.acampante-checkout-panel select,.acampante-checkout-panel textarea{border-color:rgba(239,226,198,.14)!important;background:rgba(239,226,198,.07)!important;color:var(--off)!important;border-radius:17px!important;font-family:Inter,system-ui,sans-serif!important}
.acampante-checkout-panel select option{background:#06100A!important;color:#EFE2C6!important}
.acampante-checkout-panel .field label{color:rgba(239,226,198,.68)!important;font-family:Inter,system-ui,sans-serif!important}
.acampante-checkout-panel .btn{min-height:52px!important;border-radius:18px!important;background:linear-gradient(180deg,#FF7A2E,#E95A16)!important;color:#fff!important;font-weight:950!important;box-shadow:0 18px 45px rgba(255,106,33,.24)!important}
.acampante-checkout-panel .btn.secondary{background:rgba(239,226,198,.07)!important;color:var(--off)!important;border:1px solid rgba(239,226,198,.14)!important;box-shadow:none!important}
.acampante-checkout-panel .badge,.acampante-checkout-panel .pill{border-color:rgba(255,106,33,.22)!important;background:rgba(255,106,33,.12)!important;color:#FFD8C8!important}
.acampante-checkout-panel .badge.warn{border-color:rgba(239,226,198,.22)!important;background:rgba(239,226,198,.10)!important;color:#fff2c9!important}
.acampante-checkout-panel .cart{position:relative!important;top:auto!important;bottom:auto!important;z-index:2!important;margin-top:2px!important;backdrop-filter:blur(16px)}
.acampante-checkout-panel .cart-total{color:var(--off)!important}
.acampante-checkout-panel .cart-line{color:rgba(239,226,198,.74)!important;border-bottom-color:rgba(239,226,198,.08)!important}
.acampante-checkout-panel .beliche-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.acampante-checkout-panel .bed{border-color:rgba(239,226,198,.14)!important;background:rgba(239,226,198,.06)!important;color:var(--off)!important;border-radius:17px!important}
.acampante-checkout-panel .bed.selected{background:rgba(255,106,33,.16)!important;border-color:rgba(255,106,33,.62)!important;color:#FFD8C8!important}
.acampante-checkout-panel .alert{border-color:rgba(255,106,33,.23)!important;background:rgba(255,106,33,.10)!important;color:#FFE2D3!important;font-family:Inter,system-ui,sans-serif!important}
.acampante-checkout-panel .alert.error{border-color:rgba(255,112,112,.34)!important;background:rgba(255,112,112,.11)!important;color:#FFD7D7!important}
.camper-checkout-body .drawer-panel{left:0!important;right:auto!important;border-left:0!important;border-right:1px solid rgba(255,106,33,.28)!important;transform:translateX(-105%)!important}
.camper-checkout-body .camper-drawer:target .drawer-panel{transform:translateX(0)!important}
@media(min-width:760px){.camper-checkout-shell{width:min(680px,100%)!important}.acampante-checkout-panel .checkout-grid{grid-template-columns:1fr!important}.acampante-checkout-panel .form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:380px){.camper-checkout-intro{padding:16px;border-radius:24px}.camper-checkout-intro h1{font-size:32px}.acampante-checkout-panel .steps{margin-top:12px!important}.acampante-checkout-panel .step-dot{font-size:11px!important;padding:8px 9px!important}}

/* v2.4.27 — Perfil real premium do acampante */
.profile-edit-shell{
  padding-bottom:calc(110px + env(safe-area-inset-bottom))!important;
}

.profile-success-alert{
  border-color:rgba(116,200,110,.25)!important;
  background:rgba(116,200,110,.12)!important;
  color:#d9ffd6!important;
}

.profile-hero-card,
.profile-edit-card,
.profile-form-section{
  position:relative;
  overflow:hidden;
  border-radius:30px;
  border:1px solid rgba(239,226,198,.14);
  background:
    radial-gradient(circle at 86% 10%,rgba(255,106,33,.18),transparent 30%),
    linear-gradient(180deg,rgba(13,42,29,.97),rgba(4,18,10,.97));
  box-shadow:0 24px 75px rgba(0,0,0,.34);
}

.profile-hero-card::before,
.profile-edit-card::before,
.profile-form-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    repeating-linear-gradient(135deg,rgba(255,106,33,.055) 0 1px,transparent 1px 96px),
    radial-gradient(circle at 12% 20%,rgba(239,226,198,.06),transparent 34%);
}

.profile-hero-card > *,
.profile-edit-card > *,
.profile-form-section > *{
  position:relative;
  z-index:2;
}

.profile-hero-card{
  padding:22px;
  text-align:center;
}

.profile-avatar-wrap{
  width:118px;
  height:118px;
  margin:0 auto 14px;
  border-radius:35px;
  padding:4px;
  background:linear-gradient(145deg,rgba(255,106,33,.95),rgba(239,226,198,.50));
  box-shadow:0 22px 55px rgba(255,106,33,.18),0 20px 55px rgba(0,0,0,.30);
}

.profile-avatar{
  width:100%;
  height:100%;
  border-radius:31px;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,#efe2c6,#cdbc9a);
  color:#06100A;
}

.profile-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.profile-avatar strong{
  font-size:56px;
  line-height:1;
  font-weight:950;
  text-transform:uppercase;
}

.profile-hero-card span,
.profile-section-head span{
  display:block;
  color:var(--orange);
  font-family:Inter,system-ui,sans-serif;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.11em;
}

.profile-hero-card h1,
.profile-section-head h2{
  margin:9px 0 8px;
  color:var(--off);
  text-transform:uppercase;
  line-height:.94;
}

.profile-hero-card h1{
  font-size:clamp(34px,9vw,52px);
}

.profile-hero-card p,
.profile-field-note,
.profile-photo-picker small{
  color:rgba(239,226,198,.72);
  font-family:Inter,system-ui,sans-serif;
  line-height:1.45;
}

.profile-edit-card{
  margin-top:16px;
  padding:14px;
  display:grid;
  gap:14px;
}

.profile-form-section{
  padding:16px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  box-shadow:none;
}

.profile-section-head{
  grid-column:1/-1;
}

.profile-section-head h2{
  font-size:28px;
}

.profile-edit-card label span,
.profile-edit-card .choice-group > span{
  color:rgba(239,226,198,.70)!important;
}

.profile-edit-card input,
.profile-edit-card select{
  min-height:54px;
  border-radius:18px!important;
  border:1px solid rgba(239,226,198,.14)!important;
  background:rgba(239,226,198,.08)!important;
  color:var(--off)!important;
}

.profile-edit-card input::placeholder{
  color:rgba(239,226,198,.38)!important;
}

.profile-photo-picker{
  min-height:92px;
  border-radius:22px;
  border:1px dashed rgba(255,106,33,.46);
  background:rgba(255,106,33,.09);
  padding:16px!important;
  display:grid!important;
  gap:5px!important;
  cursor:pointer;
}

.profile-photo-picker input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}

.profile-photo-picker b{
  color:var(--off);
  font-size:18px;
  text-transform:uppercase;
}

.profile-remove-photo{
  grid-column:1/-1;
  min-height:48px;
  border-radius:18px;
  border:1px solid rgba(239,226,198,.12);
  background:rgba(255,255,255,.035);
  padding:12px 14px!important;
  display:flex!important;
  align-items:center;
  gap:10px;
  color:rgba(239,226,198,.78)!important;
  font-family:Inter,system-ui,sans-serif;
  font-weight:800;
}

.profile-remove-photo input{
  width:18px;
  height:18px;
  min-height:auto;
  accent-color:var(--orange);
}

.profile-filiais-grid label small{
  display:block;
  margin-top:4px;
  color:rgba(239,226,198,.56);
}

.profile-conditional[hidden]{
  display:none!important;
}

.profile-conditional.is-visible{
  animation:profileFieldIn .2s ease both;
}

@keyframes profileFieldIn{
  from{opacity:0;transform:translateY(-4px)}
  to{opacity:1;transform:translateY(0)}
}

.profile-save-btn{
  margin-top:4px!important;
  min-height:62px!important;
  border-radius:22px!important;
}

.account-sex-locked .choice-card.is-disabled{
  opacity:.42;
}

.account-sex-locked .choice-card.is-selected{
  border-color:rgba(255,106,33,.48)!important;
  background:rgba(255,106,33,.11)!important;
}

@media (max-width:720px){
  .profile-form-section{
    grid-template-columns:1fr;
    padding:15px;
  }

  .profile-edit-card{
    padding:10px;
  }

  .profile-hero-card{
    padding:20px 16px;
  }

  .profile-avatar-wrap{
    width:106px;
    height:106px;
    border-radius:32px;
  }

  .profile-avatar{
    border-radius:28px;
  }
}

/* v2.4.28 — Foto de perfil com lápis e ações em modal */
.profile-avatar-wrap{
  position:relative;
}

.profile-avatar.profile-avatar-trigger{
  border:0;
  padding:0;
  cursor:pointer;
  font:inherit;
  -webkit-tap-highlight-color:transparent;
}

.profile-avatar-preview{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
}

.profile-avatar-edit{
  position:absolute;
  top:-8px;
  right:-8px;
  width:42px;
  height:42px;
  border-radius:16px;
  border:1px solid rgba(239,226,198,.34);
  background:linear-gradient(180deg,#ff7a2e,#e95a16);
  color:#06100A;
  display:grid;
  place-items:center;
  font-size:19px;
  font-weight:950;
  line-height:1;
  box-shadow:0 16px 36px rgba(255,106,33,.30),0 10px 30px rgba(0,0,0,.32);
  cursor:pointer;
  z-index:4;
  -webkit-tap-highlight-color:transparent;
}

.profile-avatar-edit:active,
.profile-avatar.profile-avatar-trigger:active{
  transform:scale(.98);
}

.profile-photo-file-input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
}

body.profile-photo-open{
  overflow:hidden;
}

.profile-photo-sheet[hidden]{
  display:none!important;
}

.profile-photo-sheet{
  position:fixed;
  inset:0;
  z-index:10020;
  display:grid;
  align-items:end;
  padding:18px;
  padding-bottom:calc(18px + env(safe-area-inset-bottom));
}

.profile-photo-sheet-backdrop{
  position:absolute;
  inset:0;
  border:0;
  background:rgba(0,0,0,.58);
  backdrop-filter:blur(8px);
}

.profile-photo-sheet-panel{
  position:relative;
  z-index:2;
  width:min(100%,520px);
  margin:0 auto;
  border-radius:30px;
  border:1px solid rgba(239,226,198,.16);
  background:
    radial-gradient(circle at 86% 8%,rgba(255,106,33,.20),transparent 28%),
    linear-gradient(180deg,rgba(12,42,29,.98),rgba(4,18,10,.99));
  box-shadow:0 32px 90px rgba(0,0,0,.55);
  padding:22px;
  overflow:hidden;
  animation:profilePhotoSheetIn .18s ease both;
}

.profile-photo-sheet-panel::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    repeating-linear-gradient(135deg,rgba(255,106,33,.055) 0 1px,transparent 1px 90px),
    radial-gradient(circle at 12% 18%,rgba(239,226,198,.08),transparent 36%);
}

.profile-photo-sheet-panel > *{
  position:relative;
  z-index:2;
}

.profile-photo-sheet-handle{
  width:54px;
  height:5px;
  border-radius:999px;
  margin:0 auto 15px;
  background:rgba(239,226,198,.28);
}

.profile-photo-sheet-close{
  position:absolute;
  top:14px;
  right:14px;
  width:38px;
  height:38px;
  border-radius:14px;
  border:1px solid rgba(239,226,198,.14);
  background:rgba(239,226,198,.08);
  color:var(--off);
  font-size:24px;
  line-height:1;
  cursor:pointer;
}

.profile-photo-sheet-panel > span{
  display:block;
  color:var(--orange);
  font-family:Inter,system-ui,sans-serif;
  font-size:11px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.profile-photo-sheet-panel h2{
  margin:8px 42px 8px 0;
  color:var(--off);
  font-size:31px;
  line-height:.95;
  text-transform:uppercase;
}

.profile-photo-sheet-panel p{
  margin:0 0 16px;
  color:rgba(239,226,198,.70);
  font-family:Inter,system-ui,sans-serif;
  line-height:1.45;
}

.profile-photo-actions{
  display:grid;
  gap:10px;
}

.profile-photo-action{
  min-height:60px;
  width:100%;
  border-radius:20px;
  border:1px solid rgba(239,226,198,.14);
  background:rgba(239,226,198,.08);
  color:var(--off);
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  font-family:Inter,system-ui,sans-serif;
  font-weight:950;
  text-align:left;
  cursor:pointer;
}

.profile-photo-action b{
  width:38px;
  height:38px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:rgba(255,106,33,.15);
  border:1px solid rgba(255,106,33,.24);
  font-size:18px;
}

.profile-photo-action span{
  flex:1;
}

.profile-photo-action.danger{
  border-color:rgba(255,104,104,.24);
  background:rgba(255,104,104,.10);
  color:#ffd9d9;
}

.profile-photo-action.danger b{
  background:rgba(255,104,104,.16);
  border-color:rgba(255,104,104,.28);
}

.profile-photo-action:active{
  transform:translateY(1px);
}

@keyframes profilePhotoSheetIn{
  from{opacity:0;transform:translateY(16px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

@media(min-width:760px){
  .profile-photo-sheet{
    align-items:center;
  }
}

/* v2.4.29 — Perfil: vínculo e saúde retráteis + correção do date mobile */
.profile-edit-card,
.profile-form-section,
.profile-edit-card label,
.profile-edit-card .choice-group,
.profile-edit-card input,
.profile-edit-card select{
  min-width:0!important;
  box-sizing:border-box!important;
}

.profile-edit-card input,
.profile-edit-card select{
  width:100%!important;
  max-width:100%!important;
}

.profile-edit-card input[type="date"]{
  appearance:none;
  -webkit-appearance:none;
  display:block!important;
  inline-size:100%!important;
  max-inline-size:100%!important;
  min-inline-size:0!important;
  overflow:hidden!important;
  padding-right:12px!important;
}

.profile-accordion.profile-form-section{
  display:block;
  padding:0!important;
}

.profile-accordion-toggle{
  width:100%;
  min-height:112px;
  border:0;
  background:transparent;
  color:var(--off);
  padding:18px 58px 18px 18px;
  display:grid;
  gap:5px;
  text-align:left;
  cursor:pointer;
  position:relative;
  font-family:Inter,system-ui,sans-serif;
  -webkit-tap-highlight-color:transparent;
}

.profile-accordion-toggle .profile-accordion-kicker{
  color:var(--orange)!important;
  font-size:11px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.12em!important;
}

.profile-accordion-toggle strong{
  color:var(--off);
  font-size:clamp(24px,7vw,32px);
  line-height:.94;
  text-transform:uppercase;
  letter-spacing:.01em;
}

.profile-accordion-toggle em{
  color:rgba(239,226,198,.88);
  font-style:normal;
  font-weight:950;
  font-size:16px;
  line-height:1.18;
}

.profile-accordion-toggle small{
  color:rgba(239,226,198,.56);
  font-size:12px;
  line-height:1.32;
}

.profile-accordion-toggle i{
  position:absolute;
  right:18px;
  top:50%;
  transform:translateY(-50%);
  width:38px;
  height:38px;
  border-radius:15px;
  display:grid;
  place-items:center;
  border:1px solid rgba(239,226,198,.16);
  background:rgba(239,226,198,.08);
  color:var(--orange);
  font-style:normal;
  font-size:24px;
  line-height:1;
  transition:transform .18s ease, background .18s ease;
}

.profile-accordion.is-open .profile-accordion-toggle i{
  transform:translateY(-50%) rotate(180deg);
  background:rgba(255,106,33,.14);
}

.profile-accordion-content{
  padding:0 16px 18px;
  animation:profileAccordionIn .2s ease both;
}

.profile-accordion-content[hidden]{
  display:none!important;
}

.profile-filiais-list{
  max-height:330px;
  overflow:auto;
  padding:2px 2px 4px;
  scrollbar-width:thin;
}

.profile-health-accordion .profile-accordion-content{
  display:grid;
  gap:12px;
}

@keyframes profileAccordionIn{
  from{opacity:0;transform:translateY(-6px)}
  to{opacity:1;transform:translateY(0)}
}

@media(max-width:430px){
  .profile-edit-card{
    gap:12px!important;
  }
  .profile-accordion-toggle{
    min-height:104px;
    padding:16px 54px 16px 16px;
  }
  .profile-accordion-toggle strong{
    font-size:24px;
  }
  .profile-accordion-toggle em{
    font-size:15px;
  }
  .profile-accordion-content{
    padding:0 14px 16px;
  }
  .profile-edit-card input[type="date"]{
    font-size:16px!important;
  }
}


/* v2.4.22 — No PWA instalado, não mostrar box de instalação/conta criada */
@media all and (display-mode: standalone) {
  [data-pwa-hide-when-installed],
  .install-copy-card[data-pwa-hide-when-installed] {
    display: none !important;
  }
}

html.pwa-standalone [data-pwa-hide-when-installed],
body.pwa-standalone [data-pwa-hide-when-installed],
html.pwa-standalone .install-copy-card[data-pwa-hide-when-installed],
body.pwa-standalone .install-copy-card[data-pwa-hide-when-installed] {
  display: none !important;
}




/* v2.4.23 — Calendário real da área Eventos do acampante */
.events-calendar-shell{
  padding-bottom:calc(88px + env(safe-area-inset-bottom))!important;
}

.events-hero-premium,
.events-calendar-card,
.events-day-detail,
.events-list-card{
  position:relative;
  overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(255,106,33,.24);
  background:
    radial-gradient(circle at 84% 14%,rgba(255,106,33,.16),transparent 28%),
    linear-gradient(180deg,rgba(12,48,31,.96),rgba(4,18,10,.98));
  box-shadow:0 22px 70px rgba(0,0,0,.30);
}

.events-hero-premium{
  padding:20px;
  margin-top:8px;
}

.events-hero-premium::before,
.events-calendar-card::before,
.events-day-detail::before,
.events-list-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    repeating-linear-gradient(135deg,rgba(255,106,33,.055) 0 1px,transparent 1px 98px),
    radial-gradient(circle at 78% 88%,rgba(239,226,198,.06),transparent 30%);
}

.events-hero-premium > *,
.events-calendar-card > *,
.events-day-detail > *,
.events-list-card > *{
  position:relative;
  z-index:2;
}

.events-hero-premium span,
.events-day-detail > span,
.events-list-card header span{
  color:var(--orange);
  font-size:11px;
  font-weight:950;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.events-hero-premium h1{
  margin:8px 0;
  font-size:38px;
  line-height:.9;
  text-transform:uppercase;
}

.events-hero-premium p{
  margin:0;
  color:rgba(239,226,198,.72);
  line-height:1.35;
  font-family:Inter,system-ui,sans-serif;
}

.events-legend{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin:12px 0;
}

.events-legend span{
  min-height:36px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  font-weight:950;
  border:1px solid rgba(239,226,198,.13);
  background:rgba(255,255,255,.04);
}

.type-acampamento{color:#FF7A2E!important;}
.type-culto{color:#74C86E!important;}
.type-etapa{color:#F3C765!important;}
.type-aviso{color:#83C8FF!important;}

.events-calendar-card{
  padding:16px;
}

.events-calendar-card header{
  display:grid;
  grid-template-columns:42px 1fr 42px;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
}

.events-calendar-card header a{
  width:42px;
  height:42px;
  border-radius:16px;
  display:grid;
  place-items:center;
  color:var(--off);
  text-decoration:none;
  background:rgba(239,226,198,.07);
  border:1px solid rgba(239,226,198,.12);
  font-size:28px;
}

.events-calendar-card header div{
  text-align:center;
}

.events-calendar-card header strong{
  display:block;
  font-size:22px;
  line-height:1;
  text-transform:uppercase;
}

.events-calendar-card header small{
  display:block;
  margin-top:5px;
  color:rgba(239,226,198,.58);
  font-size:11px;
  font-family:Inter,system-ui,sans-serif;
}

.events-weekdays,
.events-calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:6px;
}

.events-weekdays{
  margin-bottom:7px;
}

.events-weekdays span{
  text-align:center;
  font-size:10px;
  color:rgba(239,226,198,.46);
  font-weight:950;
  text-transform:uppercase;
}

.calendar-empty{
  min-height:44px;
}

.calendar-day{
  position:relative;
  min-height:47px;
  border:1px solid rgba(239,226,198,.10);
  border-radius:15px;
  background:rgba(255,255,255,.035);
  color:rgba(239,226,198,.74);
  display:grid;
  place-items:center;
  padding:6px 3px;
  cursor:pointer;
  font-family:Inter,system-ui,sans-serif;
}

.calendar-day b{
  font-size:13px;
}

.calendar-day.today{
  border-color:rgba(239,226,198,.30);
}

.calendar-day.has-events{
  background:rgba(239,226,198,.08);
  color:var(--off);
}

.calendar-day.selected{
  border-color:rgba(255,106,33,.82);
  box-shadow:0 0 0 3px rgba(255,106,33,.12);
}

.calendar-day i{
  position:absolute;
  left:50%;
  bottom:6px;
  transform:translateX(-50%);
  display:flex;
  gap:3px;
}

.calendar-day em{
  width:5px;
  height:5px;
  border-radius:999px;
  display:block;
}

.dot-acampamento{background:#FF7A2E;}
.dot-culto{background:#74C86E;}
.dot-etapa{background:#F3C765;}
.dot-aviso{background:#83C8FF;}

.calendar-day.has-acampamento{
  background:linear-gradient(180deg,rgba(255,106,33,.21),rgba(255,106,33,.08));
}

.events-day-detail,
.events-list-card{
  padding:17px;
  margin-top:14px;
}

.events-day-detail h2,
.events-list-card header strong{
  margin:8px 0 6px;
  font-size:25px;
  line-height:.95;
  text-transform:uppercase;
  display:block;
}

.events-day-detail p{
  margin:0;
  color:rgba(239,226,198,.68);
  line-height:1.4;
  font-family:Inter,system-ui,sans-serif;
}

.event-detail-item{
  margin-top:10px;
  border-radius:20px;
  padding:14px;
  border:1px solid rgba(239,226,198,.12);
  background:rgba(255,255,255,.045);
}

.event-detail-item span{
  display:inline-flex;
  padding:6px 9px;
  border-radius:999px;
  font-size:10px!important;
  letter-spacing:.08em!important;
  background:rgba(255,255,255,.06);
}

.event-detail-item h3{
  margin:10px 0 6px;
  font-size:21px;
  line-height:1;
  text-transform:uppercase;
}

.event-detail-item small{
  display:block;
  margin-top:8px;
  color:rgba(239,226,198,.62);
  line-height:1.35;
  font-family:Inter,system-ui,sans-serif;
}

.events-list-card header{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:10px;
}

.events-list{
  display:grid;
  gap:10px;
  margin-top:14px;
}

.event-row{
  display:grid;
  grid-template-columns:74px 1fr;
  gap:12px;
  align-items:center;
  min-height:84px;
  border-radius:20px;
  padding:12px;
  border:1px solid rgba(239,226,198,.10);
  background:rgba(255,255,255,.04);
}

.event-row time{
  min-height:58px;
  border-radius:17px;
  display:grid;
  place-items:center;
  text-align:center;
  padding:8px;
  background:rgba(239,226,198,.08);
  color:var(--off);
  font-size:18px;
  line-height:.95;
  font-weight:950;
  text-transform:uppercase;
}

.event-row span{
  color:var(--orange);
  font-size:10px;
  font-weight:950;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.event-row strong{
  display:block;
  margin-top:4px;
  font-size:15px;
  line-height:1.12;
  color:var(--off);
}

.event-row small{
  display:block;
  margin-top:4px;
  color:rgba(239,226,198,.58);
  font-size:12px;
  line-height:1.2;
  font-family:Inter,system-ui,sans-serif;
}

.event-row.type-culto time{background:rgba(116,200,110,.15);}
.event-row.type-etapa time{background:rgba(243,199,101,.15);}
.event-row.type-aviso time{background:rgba(131,200,255,.15);}

.events-empty-state{
  margin-top:14px;
  border-radius:20px;
  padding:18px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(239,226,198,.10);
}

.events-empty-state h2{
  margin:0 0 6px;
  font-size:22px;
  line-height:1;
  text-transform:uppercase;
}

.events-empty-state p{
  margin:0;
  color:rgba(239,226,198,.62);
  font-family:Inter,system-ui,sans-serif;
}

@media (max-width:390px){
  .events-hero-premium h1{
    font-size:32px;
  }

  .events-calendar-card{
    padding:13px;
  }

  .events-weekdays,
  .events-calendar-grid{
    gap:4px;
  }

  .calendar-day{
    min-height:42px;
    border-radius:13px;
  }

  .event-row{
    grid-template-columns:66px 1fr;
  }
}


/* v2.4.24 — Ajuste final safe-area/mobile: navbar mais baixa e sem faixa preta */
html.acampante-html,
body.acampante-body{
  min-height:100svh!important;
  background:
    radial-gradient(circle at 50% 12%,rgba(255,106,33,.10),transparent 30%),
    linear-gradient(180deg,#06100A 0%,#020805 78%,#06100A 100%)!important;
}

body.acampante-body::before{
  bottom:calc(-1 * env(safe-area-inset-bottom))!important;
}

/* Preenche a área inferior do PWA/iPhone para não parecer que está faltando algo */
body.acampante-app-body::after{
  content:""!important;
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:calc(34px + env(safe-area-inset-bottom))!important;
  pointer-events:none!important;
  z-index:1!important;
  background:
    linear-gradient(180deg,rgba(2,8,5,0),rgba(6,16,10,.96) 42%,#06100A 100%)!important;
}

/* Navbar mais baixa: antes ela somava o safe-area inteiro e subia demais */
.camper-tabbar{
  bottom:0!important;
  bottom:max(0px,calc(env(safe-area-inset-bottom) - 28px))!important;
  z-index:120!important;
}

/* Menos respiro artificial no fim da tela, mantendo espaço para não cobrir conteúdo */
.camper-app-shell{
  padding-bottom:calc(70px + max(0px,calc(env(safe-area-inset-bottom) - 28px)))!important;
}

.events-calendar-shell,
.profile-edit-shell,
.checkin-premium-shell,
.payment-premium-shell{
  padding-bottom:calc(72px + max(0px,calc(env(safe-area-inset-bottom) - 28px)))!important;
}

/* Garante que as regras antigas de telas pequenas não subam a navbar novamente */
@media (max-width:380px){
  .camper-tabbar{
    bottom:0!important;
    bottom:max(0px,calc(env(safe-area-inset-bottom) - 28px))!important;
  }

  .camper-app-shell{
    padding-bottom:calc(66px + max(0px,calc(env(safe-area-inset-bottom) - 28px)))!important;
  }
}

/* Em modo app instalado, usa a área inferior como parte do fundo do sistema */
@media all and (display-mode: standalone){
  html.acampante-html,
  body.acampante-body{
    background:
      radial-gradient(circle at 50% 12%,rgba(255,106,33,.10),transparent 30%),
      linear-gradient(180deg,#06100A 0%,#020805 76%,#06100A 100%)!important;
  }

  .camper-tabbar{
    bottom:0!important;
    bottom:max(0px,calc(env(safe-area-inset-bottom) - 30px))!important;
  }
}


/* v2.4.26 — Box premium das Tribos forçada no painel do acampante */
.camper-tribes-card{
  position:relative!important;
  overflow:hidden!important;
  display:block!important;
  margin:16px 0 0!important;
  padding:18px!important;
  border-radius:28px!important;
  border:1px solid rgba(255,106,33,.28)!important;
  background:
    radial-gradient(circle at 88% 18%,rgba(255,106,33,.23),transparent 31%),
    radial-gradient(circle at 10% 90%,rgba(239,226,198,.09),transparent 34%),
    linear-gradient(180deg,rgba(12,48,31,.97),rgba(4,18,10,.98))!important;
  box-shadow:0 22px 70px rgba(0,0,0,.32)!important;
  color:var(--off,#EFE2C6)!important;
  z-index:2!important;
}

.camper-tribes-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    repeating-linear-gradient(135deg,rgba(255,106,33,.055) 0 1px,transparent 1px 98px),
    linear-gradient(90deg,rgba(255,106,33,.08),transparent 44%);
}

.camper-tribes-card > *{
  position:relative;
  z-index:2;
}

.tribes-copy span{
  display:block;
  color:var(--orange,#FF6A21);
  font-size:11px;
  font-weight:950;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.tribes-copy h2{
  margin:8px 0 8px;
  font-size:clamp(29px,8vw,38px);
  line-height:.88;
  letter-spacing:-.02em;
  text-transform:uppercase;
  color:var(--off,#EFE2C6);
}

.tribes-copy p{
  margin:0;
  max-width:390px;
  color:rgba(239,226,198,.72);
  line-height:1.38;
  font-family:Inter,system-ui,sans-serif;
  font-size:14px;
}

.tribes-locked-btn{
  width:100%;
  min-height:52px;
  margin-top:13px;
  border:1px solid rgba(239,226,198,.16);
  border-radius:17px;
  background:rgba(239,226,198,.10);
  color:rgba(239,226,198,.72);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  font-family:"Intercamp Outbrave",Inter,system-ui,sans-serif;
  font-size:15px;
  font-weight:950;
  text-transform:uppercase;
  cursor:not-allowed;
  opacity:.95;
}

@media (max-width:390px){
  .camper-tribes-card{
    padding:16px!important;
    border-radius:25px!important;
  }

  }


/* v2.4.27 — Marca Intercamp por trás das boxes do painel do acampante */
.camper-event-card,
.camper-quick-grid a,
.camper-tribes-card,
.camper-action-card,
.camper-status-strip.premium-status article{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
}

.camper-event-card > *,
.camper-quick-grid a > *,
.camper-tribes-card > *,
.camper-action-card > *,
.camper-status-strip.premium-status article > *{
  position:relative;
  z-index:3;
}

/* Card principal: marca grande no canto, igual ideia do admin */
.camper-event-card::after{
  content:""!important;
  position:absolute!important;
  right:-34px!important;
  bottom:-30px!important;
  width:210px!important;
  height:210px!important;
  background:url("../img/landing-premium/cta-star-3d.png?v=2427") center/contain no-repeat!important;
  opacity:.24!important;
  filter:saturate(.95) drop-shadow(0 22px 34px rgba(255,106,33,.20))!important;
  transform:rotate(-8deg)!important;
  z-index:1!important;
  pointer-events:none!important;
}

/* Esconde a imagem solta antiga do card principal para não duplicar a marca */
.camper-event-card > img[aria-hidden="true"]{
  opacity:0!important;
  visibility:hidden!important;
}

/* Acesso rápido: marca bem sutil ao fundo das boxes */
.camper-quick-grid a::after{
  content:""!important;
  position:absolute!important;
  right:-22px!important;
  bottom:-22px!important;
  width:82px!important;
  height:82px!important;
  background:url("../img/landing-premium/cta-star-3d.png?v=2427") center/contain no-repeat!important;
  opacity:.075!important;
  filter:saturate(.8)!important;
  transform:rotate(-10deg)!important;
  z-index:1!important;
  pointer-events:none!important;
}

/* Tribos: marca mais visível e premium */
.camper-tribes-card::after{
  content:""!important;
  position:absolute!important;
  right:-30px!important;
  top:18px!important;
  width:172px!important;
  height:172px!important;
  background:url("../img/landing-premium/cta-star-3d.png?v=2427") center/contain no-repeat!important;
  opacity:.18!important;
  filter:drop-shadow(0 18px 32px rgba(255,106,33,.18))!important;
  transform:rotate(-12deg)!important;
  z-index:1!important;
  pointer-events:none!important;
}

/* Box de conta criada / instalação */
.install-copy-card::after,
.camper-action-card:not(.install-copy-card)::after{
  content:""!important;
  position:absolute!important;
  right:-28px!important;
  bottom:-32px!important;
  width:155px!important;
  height:155px!important;
  background:url("../img/landing-premium/cta-star-3d.png?v=2427") center/contain no-repeat!important;
  opacity:.13!important;
  transform:rotate(-8deg)!important;
  z-index:1!important;
  pointer-events:none!important;
}

/* Cards de status */
.camper-status-strip.premium-status article::after{
  content:""!important;
  position:absolute!important;
  right:-24px!important;
  bottom:-28px!important;
  width:112px!important;
  height:112px!important;
  background:url("../img/landing-premium/cta-star-3d.png?v=2427") center/contain no-repeat!important;
  opacity:.10!important;
  transform:rotate(-10deg)!important;
  z-index:1!important;
  pointer-events:none!important;
}

/* Sombra premium extra para dar o mesmo efeito de profundidade do admin */
.camper-event-card,
.camper-tribes-card,
.camper-action-card,
.camper-status-strip.premium-status article{
  box-shadow:
    0 22px 70px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(239,226,198,.06)!important;
}

@media (max-width:390px){
  .camper-event-card::after{
    width:176px!important;
    height:176px!important;
    right:-42px!important;
    bottom:-22px!important;
    opacity:.23!important;
  }

  .camper-tribes-card::after{
    width:142px!important;
    height:142px!important;
    right:-42px!important;
    top:28px!important;
    opacity:.16!important;
  }

  .camper-quick-grid a::after{
    width:70px!important;
    height:70px!important;
    right:-22px!important;
    bottom:-22px!important;
  }
}


/* v2.4.28 — Navbar inferior ajustada: nem alta demais, nem colada no fim */
.camper-tabbar{
  bottom:18px!important;
  bottom:calc(10px + max(8px, calc(env(safe-area-inset-bottom) - 24px)))!important;
  transform:translateZ(0)!important;
  z-index:140!important;
}

/* O fundo inferior continua preenchido, mas sem cobrir a navbar */
body.acampante-app-body::after{
  height:calc(42px + env(safe-area-inset-bottom))!important;
  z-index:0!important;
  background:
    linear-gradient(180deg,rgba(2,8,5,0),rgba(6,16,10,.82) 34%,#06100A 100%)!important;
}

/* Espaço correto para o conteúdo não ficar atrás da navbar */
.camper-app-shell{
  padding-bottom:calc(96px + max(0px, calc(env(safe-area-inset-bottom) - 24px)))!important;
}

.events-calendar-shell,
.profile-edit-shell,
.checkin-premium-shell,
.payment-premium-shell{
  padding-bottom:calc(98px + max(0px, calc(env(safe-area-inset-bottom) - 24px)))!important;
}

/* Em PWA instalado, mantém a barra clicável acima da área inferior do iPhone */
@media all and (display-mode: standalone){
  .camper-tabbar{
    bottom:18px!important;
    bottom:calc(10px + max(8px, calc(env(safe-area-inset-bottom) - 24px)))!important;
  }
}

/* Ajuste para aparelhos menores */
@media (max-width:380px){
  .camper-tabbar{
    bottom:15px!important;
    bottom:calc(8px + max(7px, calc(env(safe-area-inset-bottom) - 24px)))!important;
  }

  .camper-app-shell{
    padding-bottom:calc(90px + max(0px, calc(env(safe-area-inset-bottom) - 24px)))!important;
  }
}


/* v2.4.29 — Correção definitiva: navbar centralizada e clicável */
.camper-tabbar{
  left:50%!important;
  right:auto!important;
  width:calc(100% - 24px)!important;
  max-width:426px!important;
  min-width:0!important;
  transform:translateX(-50%) translateZ(0)!important;
  bottom:14px!important;
  bottom:calc(8px + max(6px, calc(env(safe-area-inset-bottom) - 26px)))!important;
  z-index:999!important;
  box-sizing:border-box!important;
}

/* Corrige o bug gerado pelo translateZ sozinho que jogava a navbar para a direita */
@media all and (display-mode: standalone){
  .camper-tabbar{
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%) translateZ(0)!important;
    bottom:14px!important;
    bottom:calc(8px + max(6px, calc(env(safe-area-inset-bottom) - 26px)))!important;
  }
}

/* Mantém o conteúdo acima da navbar sem criar buraco exagerado */
.camper-app-shell{
  padding-bottom:calc(92px + max(0px, calc(env(safe-area-inset-bottom) - 26px)))!important;
}

.events-calendar-shell,
.profile-edit-shell,
.checkin-premium-shell,
.payment-premium-shell{
  padding-bottom:calc(94px + max(0px, calc(env(safe-area-inset-bottom) - 26px)))!important;
}

/* Fundo inferior sem cobrir nem empurrar a navbar */
body.acampante-app-body::after{
  z-index:0!important;
  height:calc(34px + env(safe-area-inset-bottom))!important;
  background:
    linear-gradient(180deg,rgba(2,8,5,0),rgba(6,16,10,.78) 42%,#06100A 100%)!important;
}

@media (max-width:390px){
  .camper-tabbar{
    width:calc(100% - 18px)!important;
    max-width:none!important;
    bottom:12px!important;
    bottom:calc(7px + max(5px, calc(env(safe-area-inset-bottom) - 26px)))!important;
    transform:translateX(-50%) translateZ(0)!important;
  }
}

@media (max-width:360px){
  .camper-tabbar{
    width:calc(100% - 14px)!important;
  }
}


/* v2.4.30 — Tribos sem 01/02/03 + foto do participante no check-in */
.camper-tribes-card .tribes-preview,
.camper-tribes-card .tribe-token{
  display:none!important;
}

.camper-tribes-card{
  min-height:auto!important;
}

.camper-tribes-card .tribes-locked-btn{
  margin-top:16px!important;
}

/* Foto real do acampante no card Participante do Check-in */
.participant-photo-dot{
  position:relative!important;
  overflow:hidden!important;
  flex:0 0 auto!important;
  background:
    linear-gradient(145deg,rgba(255,106,33,.95),rgba(239,226,198,.56))!important;
  padding:3px!important;
  box-shadow:
    0 14px 34px rgba(255,106,33,.20),
    0 10px 30px rgba(0,0,0,.20)!important;
}

.participant-photo-dot img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  border-radius:inherit!important;
  background:#06100A!important;
}

.camper-participant-card .participant-line{
  align-items:center!important;
}

.camper-participant-card .avatar-dot.participant-photo-dot{
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  border-radius:19px!important;
  font-size:24px!important;
}

@media (max-width:390px){
  .camper-participant-card .avatar-dot.participant-photo-dot{
    width:54px!important;
    height:54px!important;
    min-width:54px!important;
    border-radius:18px!important;
  }
}


/* v2.4.48 — QR Code dinâmico com logo central e enquadramento da foto no check-in */
.camper-qr-box-logo{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  width:min(280px,100%)!important;
  margin:14px auto 0!important;
  padding:18px!important;
  border-radius:28px!important;
  background:#fff!important;
  box-shadow:
    inset 0 0 0 8px rgba(7,19,12,.035),
    0 18px 42px rgba(7,19,12,.10)!important;
}

.camper-qr-box-logo .camper-qr-image{
  width:100%!important;
  max-width:244px!important;
  aspect-ratio:1/1!important;
  height:auto!important;
  display:block!important;
  object-fit:contain!important;
}

.qr-center-logo{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:58px!important;
  height:58px!important;
  transform:translate(-50%,-50%)!important;
  border-radius:18px!important;
  background:#FF6A21!important;
  display:grid!important;
  place-items:center!important;
  padding:8px!important;
  box-shadow:
    0 10px 26px rgba(255,106,33,.30),
    0 0 0 6px #fff!important;
  z-index:3!important;
  pointer-events:none!important;
}

.qr-center-logo img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  display:block!important;
}

.camper-participant-card .avatar-dot.participant-photo-dot{
  width:64px!important;
  height:64px!important;
  min-width:64px!important;
  border-radius:20px!important;
  padding:3px!important;
  display:block!important;
  overflow:hidden!important;
}

.camper-participant-card .avatar-dot.participant-photo-dot img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  border-radius:17px!important;
  transform:scale(1.10)!important;
  transform-origin:center center!important;
}

@media (max-width:390px){
  .camper-qr-box-logo{
    width:min(252px,100%)!important;
    padding:16px!important;
    border-radius:25px!important;
  }

  .qr-center-logo{
    width:52px!important;
    height:52px!important;
    border-radius:16px!important;
    padding:7px!important;
  }

  .camper-participant-card .avatar-dot.participant-photo-dot{
    width:60px!important;
    height:60px!important;
    min-width:60px!important;
  }
}


/* v2.4.52 — Ajuste final da tela inicial: sem faixa branca e sem cobrir botões */
html.acampante-html{
  background:#020805!important;
  background-color:#020805!important;
  min-height:100%!important;
}

body.acampante-home-body{
  margin:0!important;
  padding:0!important;
  width:100%!important;
  min-height:100vh!important;
  min-height:100svh!important;
  min-height:100dvh!important;
  background:#020805!important;
  background-color:#020805!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
  position:relative!important;
}

body.acampante-home-body::after{
  display:none!important;
  content:none!important;
}

.acampante-home-body .acampante-home,
.acampante-home-body .acampante-home-exact,
.acampante-home-body .exact-login-hero{
  width:100%!important;
  min-height:100svh!important;
  height:100svh!important;
  min-height:100dvh!important;
  height:100dvh!important;
  background:#020805!important;
  overflow:hidden!important;
  position:relative!important;
}

.acampante-home-body .exact-login-hero{
  padding:
    calc(10px + env(safe-area-inset-top))
    16px
    calc(14px + env(safe-area-inset-bottom))!important;
}

/* Fundo escuro só atrás dos botões, sem passar por cima deles */
.acampante-home-body .exact-login-hero::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:-1px!important;
  height:120px!important;
  z-index:1!important;
  pointer-events:none!important;
  background:
    linear-gradient(180deg,rgba(2,8,5,0),rgba(2,8,5,.82) 38%,#020805 100%)!important;
}

.acampante-home-body .exact-bg{
  z-index:0!important;
  bottom:-70px!important;
  height:calc(100% + 70px)!important;
  min-height:calc(100% + 70px)!important;
}

.acampante-home-body .exact-vignette{
  z-index:1!important;
  bottom:-70px!important;
  height:calc(100% + 70px)!important;
  min-height:calc(100% + 70px)!important;
}

.acampante-home-body .exact-home-content{
  position:relative!important;
  z-index:4!important;
  min-height:calc(100svh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
  height:calc(100svh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  align-items:center!important;
}

.acampante-home-body .exact-top-spacer{
  flex:1 1 auto!important;
  min-height:8svh!important;
}

.acampante-home-body .exact-brand-block{
  margin-bottom:clamp(16px,3.4svh,32px)!important;
}

.acampante-home-body .exact-main-logo{
  width:min(305px,66vw)!important;
  max-height:28svh!important;
  object-fit:contain!important;
}

.acampante-home-body .exact-title-block{
  margin-bottom:clamp(12px,2.2svh,18px)!important;
}

.acampante-home-body .exact-title-block h1{
  font-size:clamp(24px,6.3vw,34px)!important;
  line-height:1!important;
}

.acampante-home-body .exact-title-block strong{
  margin-top:clamp(6px,1svh,9px)!important;
  font-size:clamp(12px,3vw,15px)!important;
}

.acampante-home-body .exact-title-block i{
  margin-top:clamp(10px,1.6svh,14px)!important;
}

.acampante-home-body .exact-actions{
  position:relative!important;
  z-index:5!important;
  gap:10px!important;
  width:100%!important;
}

.acampante-home-body .exact-actions .acamp-btn{
  min-height:clamp(48px,6.9svh,58px)!important;
  opacity:1!important;
  filter:none!important;
  color:inherit;
}

.acampante-home-body .exact-actions .primary{
  color:#fff!important;
}

.acampante-home-body .exact-actions .secondary{
  color:var(--off)!important;
  background:rgba(4,16,9,.54)!important;
}

.acampante-home-body .exact-more{
  position:relative!important;
  z-index:5!important;
  margin-top:clamp(12px,2.2svh,20px)!important;
  margin-bottom:0!important;
  color:var(--off)!important;
}

@supports (-webkit-touch-callout:none){
  .acampante-home-body .exact-login-hero{
    min-height:100svh!important;
    height:100svh!important;
  }

  .acampante-home-body .exact-home-content{
    min-height:calc(100svh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
    height:calc(100svh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
  }
}

@media (max-width:430px){
  .acampante-home-body .exact-login-hero{
    padding-left:14px!important;
    padding-right:14px!important;
    padding-bottom:calc(12px + env(safe-area-inset-bottom))!important;
  }

  .acampante-home-body .exact-home-content{
    min-height:calc(100svh - 18px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
    height:calc(100svh - 18px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
  }

  .acampante-home-body .exact-main-logo{
    width:min(300px,67vw)!important;
    max-height:27svh!important;
  }

  .acampante-home-body .exact-brand-block{
    margin-bottom:clamp(14px,3svh,26px)!important;
  }

  .acampante-home-body .exact-actions .acamp-btn{
    min-height:50px!important;
    font-size:17px!important;
  }
}


/* v2.4.53 — Background do painel do acampante em verde mais claro */
html.acampante-html{
  background:#07160D!important;
  background-color:#07160D!important;
}

body.acampante-body{
  background:
    radial-gradient(circle at 50% 0%,rgba(255,106,33,.10),transparent 28%),
    radial-gradient(circle at 10% 18%,rgba(41,115,75,.20),transparent 34%),
    linear-gradient(180deg,#0B1D12 0%,#07170E 48%,#06130B 100%)!important;
  background-color:#07160D!important;
}

body.acampante-body::before{
  opacity:.30!important;
  background:
    repeating-linear-gradient(135deg,rgba(255,106,33,.105) 0 1px,transparent 1px 118px),
    radial-gradient(circle at 50% 18%,rgba(255,106,33,.10),transparent 30%),
    radial-gradient(circle at 18% 8%,rgba(67,145,95,.14),transparent 36%)!important;
}

body.acampante-app-body::after{
  background:
    linear-gradient(180deg,rgba(7,22,13,0),rgba(9,28,17,.78) 40%,#07160D 100%)!important;
}

.camper-app-shell,
.app-shell{
  background:
    radial-gradient(circle at 50% 0%,rgba(255,106,33,.11),transparent 28%),
    radial-gradient(circle at 15% 22%,rgba(67,145,95,.18),transparent 34%),
    linear-gradient(180deg,#0B1F14 0%,#08180F 58%,#06130B 100%)!important;
  background-color:#07160D!important;
}

.camper-drawer .drawer-panel{
  background:
    radial-gradient(circle at 18% 0%,rgba(255,106,33,.14),transparent 30%),
    linear-gradient(180deg,rgba(12,38,23,.98),rgba(7,22,13,.99))!important;
}

/* Mantém a navbar premium, mas um pouco menos preta */
.camper-tabbar{
  background:rgba(7,25,15,.92)!important;
  border-color:rgba(239,226,198,.15)!important;
  box-shadow:0 18px 60px rgba(0,0,0,.38)!important;
}

@media all and (display-mode: standalone){
  html.acampante-html,
  body.acampante-body{
    background:
      radial-gradient(circle at 50% 0%,rgba(255,106,33,.10),transparent 28%),
      radial-gradient(circle at 10% 18%,rgba(41,115,75,.20),transparent 34%),
      linear-gradient(180deg,#0B1D12 0%,#07170E 50%,#06130B 100%)!important;
    background-color:#07160D!important;
  }
}

/* Tela inicial mantém a arte, mas sem deixar o rodapé preto demais */
body.acampante-home-body{
  background:#07160D!important;
}

.acampante-home-body .exact-login-hero,
.acampante-home-body .acampante-home,
.acampante-home-body .acampante-home-exact{
  background:#07160D!important;
}

.acampante-home-body .exact-vignette{
  background:
    radial-gradient(circle at 50% 39%,rgba(255,106,33,.07),transparent 30%),
    linear-gradient(90deg,rgba(6,18,11,.38),rgba(6,18,11,.04) 48%,rgba(6,18,11,.38)),
    linear-gradient(180deg,rgba(6,18,11,.04),rgba(6,18,11,.72) 88%)!important;
}

.acampante-home-body .exact-login-hero::after{
  background:
    linear-gradient(180deg,rgba(7,22,13,0),rgba(7,22,13,.78) 38%,#07160D 100%)!important;
}


/* v2.4.56 — Notificações reais disparadas pelo admin */
.camper-bell{
  position:relative!important;
}

.camper-bell em{
  position:absolute!important;
  right:-4px!important;
  top:-5px!important;
  min-width:22px!important;
  height:22px!important;
  padding:0 6px!important;
  border-radius:999px!important;
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(180deg,#FF7A2D,#FF5F1B)!important;
  color:#fff!important;
  font-family:Inter,system-ui,sans-serif!important;
  font-size:11px!important;
  font-style:normal!important;
  font-weight:900!important;
  box-shadow:0 8px 20px rgba(255,106,33,.34)!important;
}

.notification-list{
  display:grid;
  gap:12px;
  max-height:min(62vh,540px);
  overflow:auto;
  padding-right:2px;
}

.notification-item{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:12px;
  padding:14px;
  border-radius:22px;
  border:1px solid rgba(239,226,198,.13);
  background:rgba(239,226,198,.075);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.14);
}

.notification-item.featured{
  border-color:rgba(255,106,33,.34);
  background:
    radial-gradient(circle at 0 0,rgba(255,106,33,.16),transparent 34%),
    rgba(239,226,198,.08);
}

.notification-item-icon{
  width:44px;
  height:44px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,#FF7A2D,#FF5F1B);
  box-shadow:0 12px 30px rgba(255,106,33,.26);
  overflow:hidden;
}

.notification-item-icon img{
  width:32px;
  height:32px;
  object-fit:contain;
}

.notification-item span{
  display:block;
  color:var(--orange);
  font-size:10px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:4px;
}

.notification-item h2{
  margin:0;
  color:var(--off);
  font-size:18px;
  line-height:1.05;
}

.notification-item p{
  margin:8px 0 0;
  color:rgba(239,226,198,.72);
  font-family:Inter,system-ui,sans-serif;
  font-size:13px;
  line-height:1.45;
}

.notification-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:10px;
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  background:rgba(255,106,33,.15);
  border:1px solid rgba(255,106,33,.28);
  color:var(--off);
  text-decoration:none;
  font-family:Inter,system-ui,sans-serif;
  font-size:12px;
  font-weight:900;
}


/* v2.4.59 — Ajuste live das notificações */
[data-notification-count][hidden]{
  display:none!important;
}
#notificationDynamicArea{
  position:relative;
  z-index:2;
}


/* v2.4.60 — Foto de perfil salva automaticamente e aparece no check-in */
.profile-avatar.is-uploading,
.profile-edit-card.is-photo-uploading .profile-avatar{
  opacity:.72;
  pointer-events:none;
}

.profile-avatar.is-uploading::after{
  content:"Salvando..."!important;
  position:absolute!important;
  inset:auto 50% -10px auto!important;
  transform:translateX(50%)!important;
  min-width:92px!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  background:rgba(255,106,33,.96)!important;
  color:#fff!important;
  font-family:Inter,system-ui,sans-serif!important;
  font-size:11px!important;
  font-weight:900!important;
  box-shadow:0 12px 26px rgba(255,106,33,.26)!important;
  z-index:5!important;
}

.profile-photo-status{
  display:block!important;
  min-height:18px!important;
  margin:8px 0 12px!important;
  color:rgba(239,226,198,.72)!important;
  font-family:Inter,system-ui,sans-serif!important;
  font-size:12px!important;
  font-weight:800!important;
}

.profile-photo-status[data-kind="success"]{
  color:#abefc6!important;
}

.profile-photo-status[data-kind="error"]{
  color:#fecdd6!important;
}

.profile-photo-status[data-kind="loading"]{
  color:#ffe4a7!important;
}

.camper-participant-card .participant-photo-dot{
  background:
    linear-gradient(145deg,rgba(255,106,33,.96),rgba(239,226,198,.58))!important;
  padding:3px!important;
}

.camper-participant-card .participant-photo-dot img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
  border-radius:inherit!important;
}


/* v2.4.62 — Modal automático de notificação ao abrir o PWA */
.notification-auto-modal{
  position:fixed!important;
  inset:0!important;
  z-index:250!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:.24s ease!important;
}

.notification-auto-modal.is-open{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

.notification-auto-backdrop{
  position:absolute!important;
  inset:0!important;
  border:0!important;
  background:rgba(0,0,0,.58)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
}

.notification-auto-panel{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-46%) scale(.96)!important;
  width:min(420px,calc(100% - 28px))!important;
  max-height:min(82vh,680px)!important;
  overflow:auto!important;
  border-radius:30px!important;
  border:1px solid rgba(255,106,33,.34)!important;
  background:
    radial-gradient(circle at 14% 0%,rgba(255,106,33,.22),transparent 34%),
    radial-gradient(circle at 90% 100%,rgba(239,226,198,.08),transparent 36%),
    linear-gradient(180deg,rgba(12,45,27,.98),rgba(5,18,10,.99))!important;
  box-shadow:0 34px 110px rgba(0,0,0,.58)!important;
  padding:18px!important;
  color:var(--off)!important;
  transition:.26s ease!important;
}

.notification-auto-modal.is-open .notification-auto-panel{
  transform:translate(-50%,-50%) scale(1)!important;
}

.notification-auto-top{
  display:grid!important;
  grid-template-columns:52px 1fr 38px!important;
  gap:12px!important;
  align-items:center!important;
  margin-bottom:16px!important;
}

.notification-auto-mark{
  width:52px!important;
  height:52px!important;
  border-radius:18px!important;
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(180deg,#FF7A2D,#FF5F1B)!important;
  box-shadow:0 14px 34px rgba(255,106,33,.32)!important;
}

.notification-auto-mark img{
  width:38px!important;
  height:38px!important;
  object-fit:contain!important;
}

.notification-auto-top span,
.notification-auto-item span{
  display:block!important;
  color:var(--orange)!important;
  font-family:Inter,system-ui,sans-serif!important;
  font-size:10px!important;
  font-weight:950!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}

.notification-auto-top strong{
  display:block!important;
  margin-top:4px!important;
  font-size:27px!important;
  line-height:.95!important;
  letter-spacing:-.04em!important;
  text-transform:uppercase!important;
}

.notification-auto-top button{
  width:38px!important;
  height:38px!important;
  border:1px solid rgba(239,226,198,.16)!important;
  border-radius:14px!important;
  background:rgba(239,226,198,.08)!important;
  color:var(--off)!important;
  font-size:24px!important;
  line-height:1!important;
}

.notification-auto-intro{
  margin:0 0 12px!important;
  color:rgba(239,226,198,.72)!important;
  font-family:Inter,system-ui,sans-serif!important;
  font-size:13px!important;
  line-height:1.45!important;
}

.notification-auto-body{
  display:grid!important;
  gap:10px!important;
}

.notification-auto-item{
  border-radius:22px!important;
  border:1px solid rgba(239,226,198,.12)!important;
  background:rgba(239,226,198,.07)!important;
  padding:14px!important;
}

.notification-auto-item.featured{
  border-color:rgba(255,106,33,.36)!important;
  background:
    radial-gradient(circle at 0 0,rgba(255,106,33,.18),transparent 38%),
    rgba(239,226,198,.075)!important;
}

.notification-auto-item h2{
  margin:5px 0 0!important;
  font-size:20px!important;
  line-height:1.03!important;
  letter-spacing:-.03em!important;
  color:var(--off)!important;
}

.notification-auto-item p{
  margin:8px 0 0!important;
  color:rgba(239,226,198,.74)!important;
  font-family:Inter,system-ui,sans-serif!important;
  font-size:13px!important;
  line-height:1.45!important;
}

.notification-auto-item a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-top:10px!important;
  min-height:38px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  background:rgba(255,106,33,.16)!important;
  border:1px solid rgba(255,106,33,.30)!important;
  color:var(--off)!important;
  text-decoration:none!important;
  font-family:Inter,system-ui,sans-serif!important;
  font-size:12px!important;
  font-weight:900!important;
}

.notification-auto-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  margin-top:14px!important;
}

.notification-auto-primary,
.notification-auto-secondary{
  min-height:48px!important;
  border-radius:16px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  text-decoration:none!important;
  font-family:Inter,system-ui,sans-serif!important;
  font-weight:950!important;
  font-size:14px!important;
}

.notification-auto-primary{
  background:linear-gradient(180deg,#FF7A2D,#FF5F1B)!important;
  color:#fff!important;
  box-shadow:0 14px 34px rgba(255,106,33,.24)!important;
}

.notification-auto-secondary{
  background:rgba(239,226,198,.08)!important;
  color:var(--off)!important;
  border:1px solid rgba(239,226,198,.14)!important;
}

body.notification-auto-open{
  overflow:hidden!important;
}

@media(max-width:380px){
  .notification-auto-panel{
    border-radius:26px!important;
    padding:15px!important;
  }

  .notification-auto-top{
    grid-template-columns:46px 1fr 36px!important;
  }

  .notification-auto-mark{
    width:46px!important;
    height:46px!important;
    border-radius:16px!important;
  }

  .notification-auto-top strong{
    font-size:23px!important;
  }

  .notification-auto-actions{
    grid-template-columns:1fr!important;
  }
}


/* v2.4.63 — overlay premium ao salvar foto de perfil */
.profile-avatar.is-uploading::after{
  display:none!important;
  content:none!important;
}

.profile-photo-upload-overlay{
  position:fixed!important;
  inset:0!important;
  z-index:420!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:opacity .22s ease, visibility .22s ease!important;
}

.profile-photo-upload-overlay.is-open{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

.profile-photo-upload-overlay__backdrop{
  position:absolute!important;
  inset:0!important;
  background:rgba(7, 21, 13, .72)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
}

.profile-photo-upload-overlay__card{
  position:relative!important;
  width:min(320px, calc(100% - 34px))!important;
  border-radius:32px!important;
  padding:26px 20px 22px!important;
  background:
    radial-gradient(circle at 12% 0%, rgba(255,122,45,.20), transparent 32%),
    radial-gradient(circle at 85% 100%, rgba(239,226,198,.12), transparent 36%),
    linear-gradient(180deg, rgba(12,45,27,.98), rgba(5,18,10,.99))!important;
  border:1px solid rgba(255,122,45,.22)!important;
  box-shadow:0 26px 70px rgba(0,0,0,.42)!important;
  text-align:center!important;
}

.profile-photo-upload-overlay__logo-wrap{
  position:relative!important;
  width:104px!important;
  height:104px!important;
  margin:0 auto 18px!important;
  display:grid!important;
  place-items:center!important;
}

.profile-photo-upload-overlay__ring{
  position:absolute!important;
  inset:0!important;
  border-radius:50%!important;
  border:3px solid rgba(239,226,198,.12)!important;
  border-top-color:#ff7a2d!important;
  border-right-color:rgba(255,122,45,.58)!important;
  animation:intercampPhotoSpin 1.05s linear infinite!important;
  box-shadow:0 0 0 10px rgba(255,122,45,.06)!important;
}

.profile-photo-upload-overlay__logo{
  width:70px!important;
  max-width:70px!important;
  height:auto!important;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.24))!important;
  animation:intercampPhotoPulse 1.2s ease-in-out infinite!important;
}

.profile-photo-upload-overlay__title{
  display:block!important;
  color:var(--off)!important;
  font-size:24px!important;
  line-height:.98!important;
  letter-spacing:-.04em!important;
  text-transform:uppercase!important;
}

.profile-photo-upload-overlay__text{
  margin:10px auto 0!important;
  max-width:250px!important;
  color:rgba(239,226,198,.78)!important;
  font-family:Inter,system-ui,sans-serif!important;
  font-size:13px!important;
  line-height:1.45!important;
}

.profile-photo-upload-overlay__dots{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  margin-top:16px!important;
}

.profile-photo-upload-overlay__dots span{
  width:8px!important;
  height:8px!important;
  border-radius:999px!important;
  background:rgba(255,122,45,.92)!important;
  animation:intercampPhotoDot 1.1s ease-in-out infinite!important;
}
.profile-photo-upload-overlay__dots span:nth-child(2){ animation-delay:.12s!important; }
.profile-photo-upload-overlay__dots span:nth-child(3){ animation-delay:.24s!important; }

.profile-photo-upload-overlay.is-success .profile-photo-upload-overlay__ring{
  border-top-color:#abefc6!important;
  border-right-color:#abefc6!important;
}

.profile-photo-upload-overlay.is-success .profile-photo-upload-overlay__dots span{
  background:#abefc6!important;
}

body.profile-photo-overlay-open{
  overflow:hidden!important;
}

@keyframes intercampPhotoSpin{
  from{ transform:rotate(0deg); }
  to{ transform:rotate(360deg); }
}

@keyframes intercampPhotoPulse{
  0%,100%{ transform:scale(1); }
  50%{ transform:scale(1.04); }
}

@keyframes intercampPhotoDot{
  0%,100%{ transform:translateY(0); opacity:.55; }
  50%{ transform:translateY(-5px); opacity:1; }
}


/* v2.4.64 — Correções foto/check-in/notificações */
.camper-participant-card{
  order:-3;
}

.camper-qr-card{
  order:-2;
}

.camper-payment-card{
  order:-1;
}

.profile-avatar-preview img,
.participant-photo-dot img{
  transform:none!important;
  image-orientation:from-image!important;
}

.profile-photo-file-input{
  transform:none!important;
}


/* v2.4.65 — Badge premium da notificação no sino */
.camper-bell::after,
.camper-bell span::after{
  display:none!important;
  content:none!important;
}

.camper-bell{
  overflow:visible!important;
  isolation:isolate!important;
}

.camper-bell.has-notifications{
  border-color:rgba(255,106,33,.42)!important;
  background:
    radial-gradient(circle at 76% 20%,rgba(255,106,33,.30),transparent 25%),
    rgba(239,226,198,.055)!important;
  box-shadow:
    inset 0 0 0 1px rgba(0,0,0,.22),
    0 12px 28px rgba(0,0,0,.24),
    0 0 0 4px rgba(255,106,33,.075)!important;
}

.camper-bell em[data-notification-count]{
  position:absolute!important;
  right:-6px!important;
  top:-7px!important;
  min-width:24px!important;
  height:24px!important;
  padding:0 7px!important;
  border-radius:999px!important;
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(180deg,#FF8A3D,#FF5F1B)!important;
  color:#fff!important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:11px!important;
  line-height:1!important;
  font-style:normal!important;
  font-weight:950!important;
  letter-spacing:-.02em!important;
  border:3px solid #07160D!important;
  box-shadow:
    0 10px 24px rgba(255,106,33,.36),
    0 0 0 4px rgba(255,106,33,.13)!important;
  z-index:8!important;
  transform:translateZ(0)!important;
}

.camper-bell em[data-notification-count]:not([hidden]){
  animation:intercampBellBadgePulse 1.45s ease-in-out infinite!important;
}

.camper-bell em[data-notification-count][hidden]{
  display:none!important;
}

@keyframes intercampBellBadgePulse{
  0%,100%{
    transform:scale(1);
    box-shadow:
      0 10px 24px rgba(255,106,33,.36),
      0 0 0 4px rgba(255,106,33,.13);
  }
  50%{
    transform:scale(1.08);
    box-shadow:
      0 12px 30px rgba(255,106,33,.44),
      0 0 0 7px rgba(255,106,33,.08);
  }
}

@media(max-width:380px){
  .camper-bell em[data-notification-count]{
    right:-4px!important;
    top:-6px!important;
    min-width:22px!important;
    height:22px!important;
    padding:0 6px!important;
    font-size:10px!important;
    border-width:3px!important;
  }
}


/* v2.5.01 — Checkout premium: seleção, opcionais removíveis e beliche retrátil */
.acampante-checkout-panel .lote-card,
.acampante-checkout-panel .optional-card,
.acampante-checkout-panel .bed{
  position:relative;
  overflow:hidden;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease,opacity .22s ease;
}
.acampante-checkout-panel .lote-card.selected,
.acampante-checkout-panel .optional-card.optional-added{
  border-color:rgba(255,106,33,.72)!important;
  box-shadow:0 18px 58px rgba(255,106,33,.18), inset 0 0 0 1px rgba(255,106,33,.20)!important;
}
.acampante-checkout-panel .lote-card.selected::after,
.acampante-checkout-panel .optional-card.optional-added::after{
  content:"✓";
  position:absolute;
  top:14px;
  right:14px;
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:linear-gradient(180deg,#FF7A2E,#E95A16);
  color:#fff;
  font-weight:950;
  box-shadow:0 12px 26px rgba(255,106,33,.28);
  z-index:2;
}
.acampante-checkout-panel .is-selecting{
  animation:intercampSelectPulse .62s cubic-bezier(.2,.9,.2,1) both;
}
@keyframes intercampSelectPulse{
  0%{transform:scale(.985);box-shadow:0 0 0 0 rgba(255,106,33,.0)}
  45%{transform:scale(1.018);box-shadow:0 0 0 7px rgba(255,106,33,.14)}
  100%{transform:scale(1);box-shadow:0 18px 58px rgba(255,106,33,.18)}
}
.acampante-checkout-panel .optional-actions{
  display:flex;
  gap:10px;
  margin-top:12px;
  align-items:center;
  flex-wrap:wrap;
}
.acampante-checkout-panel .optional-actions .input{
  max-width:88px;
  flex:0 0 88px;
}
.acampante-checkout-panel .optional-actions .btn{
  min-height:48px!important;
  flex:1 1 150px;
}
.acampante-checkout-panel .optional-remove-btn{
  border-color:rgba(255,112,112,.30)!important;
  background:rgba(255,112,112,.10)!important;
  color:#FFD7D7!important;
}
.acampante-checkout-panel .optional-selected-summary{
  margin:12px 0;
  padding:12px 14px;
  border-radius:18px;
  border:1px solid rgba(255,106,33,.28);
  background:rgba(255,106,33,.10);
  color:#FFE2D3;
  display:grid;
  gap:5px;
}
.acampante-checkout-panel .optional-selected-summary strong{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#FF9A5D;
}
.acampante-checkout-panel .optional-selected-summary span{
  font-weight:850;
  line-height:1.35;
}
.acampante-checkout-panel .checkout-beliche-section.is-collapsed .checkout-beliche-title{
  margin-bottom:8px!important;
}
.acampante-checkout-panel .beliche-selected-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:16px!important;
  border-color:rgba(255,106,33,.34)!important;
  background:radial-gradient(circle at 90% 12%,rgba(255,106,33,.16),transparent 34%),linear-gradient(180deg,rgba(12,42,29,.92),rgba(4,18,10,.96))!important;
}
.acampante-checkout-panel .beliche-selected-summary h3{
  margin:8px 0 4px!important;
  color:#fff!important;
  font-size:19px!important;
  line-height:1.18!important;
}
.acampante-checkout-panel .beliche-selected-summary p{
  margin:0!important;
  font-size:12px!important;
}
.acampante-checkout-panel .beliche-selected-summary .btn{
  flex:0 0 auto;
  min-height:46px!important;
  padding:0 16px!important;
}
@media(max-width:520px){
  .acampante-checkout-panel .optional-actions{display:grid;grid-template-columns:88px 1fr;}
  .acampante-checkout-panel .optional-remove-btn{grid-column:1 / -1;}
  .acampante-checkout-panel .beliche-selected-summary{align-items:stretch;flex-direction:column;}
  .acampante-checkout-panel .beliche-selected-summary .btn{width:100%;}
}
@media(prefers-reduced-motion:reduce){
  .acampante-checkout-panel .is-selecting{animation:none!important;}
}

/* v2.5.02 — Checkout: opcional adicionado compacto e cupom discriminado */
.acampante-checkout-panel .optional-card.optional-added .option-top{
  padding-right:52px!important;
}
.acampante-checkout-panel .optional-card.optional-added .option-top .price{
  margin-right:40px!important;
  white-space:nowrap;
}
.acampante-checkout-panel .optional-card.optional-added::after{
  right:14px!important;
  top:18px!important;
}
.acampante-checkout-panel .optional-add-form{
  display:grid;
  gap:12px;
  margin-top:12px;
}
.acampante-checkout-panel .optional-add-form.is-extra-open{
  animation:intercampSlideSoft .24s ease both;
}
@keyframes intercampSlideSoft{
  from{opacity:0;transform:translateY(-6px)}
  to{opacity:1;transform:translateY(0)}
}
.acampante-checkout-panel .optional-actions-compact{
  margin-top:12px;
}
.acampante-checkout-panel .optional-actions-compact .btn{
  flex:1 1 0;
}
.acampante-checkout-panel .coupon-discount{
  color:#8fe8a4!important;
  background:rgba(116,200,110,.08)!important;
  border:1px solid rgba(116,200,110,.18)!important;
  border-radius:14px!important;
  padding:10px 12px!important;
  margin:8px 0!important;
}
.acampante-checkout-panel .coupon-discount span{
  color:#dfffe4!important;
}
.acampante-checkout-panel .coupon-discount b{
  color:#fff!important;
  font-weight:950!important;
}
.acampante-checkout-panel .coupon-discount strong{
  color:#8fe8a4!important;
}
@media(max-width:520px){
  .acampante-checkout-panel .optional-card.optional-added .option-top{
    padding-right:46px!important;
  }
  .acampante-checkout-panel .optional-card.optional-added .option-top .price{
    margin-right:34px!important;
  }
}

/* v2.5.84 — Lojinha da Camisa da Tribo */
.ico-store{
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 3h16l2 5v3a3 3 0 0 1-2 2.83V21H4v-7.17A3 3 0 0 1 2 11V8l2-5zm1.35 2L4 8h16l-1.35-3H5.35zM4 10v1a1 1 0 0 0 2 0v-1H4zm4 0v1a1 1 0 0 0 2 0v-1H8zm4 0v1a1 1 0 0 0 2 0v-1h-2zm4 0v1a1 1 0 0 0 2 0v-1h-2zm4 0v1a1 1 0 0 0 2 0v-1h-2zM7 14v5h4v-5H7zm6 0v5h5v-5h-5z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 3h16l2 5v3a3 3 0 0 1-2 2.83V21H4v-7.17A3 3 0 0 1 2 11V8l2-5zm1.35 2L4 8h16l-1.35-3H5.35zM4 10v1a1 1 0 0 0 2 0v-1H4zm4 0v1a1 1 0 0 0 2 0v-1H8zm4 0v1a1 1 0 0 0 2 0v-1h-2zm4 0v1a1 1 0 0 0 2 0v-1h-2zm4 0v1a1 1 0 0 0 2 0v-1h-2zM7 14v5h4v-5H7zm6 0v5h5v-5h-5z'/%3E%3C/svg%3E") center/contain no-repeat;
}

.camper-quick-grid .quick-shop{
  grid-column:span 3;
  min-height:78px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  padding:14px 20px!important;
  gap:14px!important;
  background:
    radial-gradient(circle at 88% 15%,rgba(255,106,33,.25),transparent 31%),
    linear-gradient(135deg,#F5E8CE,#E7D4AF)!important;
  border-color:rgba(255,106,33,.35)!important;
}
.camper-quick-grid .quick-shop i{width:34px!important;height:34px!important;flex:0 0 auto;color:#07130C!important}
.camper-quick-grid .quick-shop span{font-size:15px!important;text-align:left;line-height:1.05;display:block}
.camper-quick-grid .quick-shop small{display:block;margin-top:5px;font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:rgba(7,19,12,.58)}

.camper-shop-shell{padding-bottom:calc(120px + env(safe-area-inset-bottom))}
.camper-shop-alert{margin:12px 0;padding:14px 16px;border-radius:18px;font:800 13px/1.35 Inter,system-ui,sans-serif}
.camper-shop-alert.success{background:rgba(39,177,108,.13);border:1px solid rgba(62,223,139,.35);color:#B9F6D5}
.camper-shop-alert.error{background:rgba(204,63,53,.12);border:1px solid rgba(255,106,90,.35);color:#FFD1CC}
.camper-shop-hero{position:relative;overflow:hidden;margin-top:14px;padding:24px;border-radius:30px;border:1px solid rgba(255,106,33,.24);background:radial-gradient(circle at 88% 15%,rgba(255,106,33,.23),transparent 32%),linear-gradient(145deg,#0C3020,#06170D);box-shadow:0 24px 70px rgba(0,0,0,.30)}
.camper-shop-hero>div{position:relative;z-index:2;max-width:78%}
.camper-shop-hero span,.camper-shop-product-copy small,.camper-shop-state>span,.camper-shop-history header span,.camper-shop-return>span{display:block;color:#FF6A21;font:950 11px/1 Inter,system-ui,sans-serif;letter-spacing:.11em;text-transform:uppercase}
.camper-shop-hero h1{margin:8px 0 10px;color:#F1E5CC;font-size:42px;line-height:.88;text-transform:uppercase;letter-spacing:-.03em}
.camper-shop-hero p{margin:0;color:rgba(241,229,204,.72);font:600 13px/1.45 Inter,system-ui,sans-serif}
.camper-shop-hero>img{position:absolute;right:-10px;bottom:-18px;width:135px;opacity:.58;transform:rotate(-11deg)}

.camper-shop-product,.camper-shop-state,.camper-shop-history,.camper-shop-return{margin-top:16px;border-radius:28px;border:1px solid rgba(239,226,198,.13);box-shadow:0 20px 60px rgba(0,0,0,.24)}
.camper-shop-product{padding:18px;background:#F1E5CC;color:#07130C;display:grid;grid-template-columns:112px 1fr;gap:16px}
.camper-shop-product-visual{min-height:150px;border-radius:22px;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:14px;background:radial-gradient(circle at 50% 10%,rgba(255,106,33,.35),transparent 38%),linear-gradient(145deg,#0D3B28,#07170E)}
.camper-shop-product-visual img{position:absolute;width:92px;right:-14px;top:-8px;opacity:.55;transform:rotate(12deg)}
.camper-shop-product-visual span{position:relative;z-index:2;color:#F1E5CC;font-size:20px;line-height:.88;text-transform:uppercase;font-weight:950}
.camper-shop-product-copy{align-self:center}
.camper-shop-product-copy h2{margin:7px 0 8px;font-size:29px;line-height:.95;text-transform:uppercase}
.camper-shop-product-copy p{margin:0 0 12px;color:rgba(7,19,12,.63);font:600 12px/1.42 Inter,system-ui,sans-serif}
.camper-shop-product-copy>strong{font:950 25px/1 Inter,system-ui,sans-serif;color:#FF5E15}
.shop-inline-alert,.camper-shop-form,.camper-shop-soldout{grid-column:1/-1}
.camper-shop-form{margin-top:4px}
.camper-shop-form fieldset{border:0;padding:0;margin:0}
.camper-shop-form legend{margin-bottom:10px;font:950 13px/1 Inter,system-ui,sans-serif;text-transform:uppercase;color:#344137}
.camper-shop-sizes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.camper-shop-sizes label{position:relative;cursor:pointer}
.camper-shop-sizes input{position:absolute;opacity:0;pointer-events:none}
.camper-shop-sizes label>span{min-height:52px;border-radius:15px;border:1px solid rgba(7,19,12,.13);background:rgba(7,19,12,.045);display:grid;place-items:center;font:950 16px/1 Inter,system-ui,sans-serif;transition:.18s ease}
.camper-shop-sizes label>small{display:block;margin-top:4px;text-align:center;font:700 9px/1.2 Inter,system-ui,sans-serif;color:rgba(7,19,12,.52)}
.camper-shop-sizes input:checked+span{background:#0B2C1D;color:#F1E5CC;border-color:#FF6A21;box-shadow:0 8px 22px rgba(7,19,12,.20)}
.camper-shop-sizes label.disabled{opacity:.38;cursor:not-allowed}
.camper-shop-summary{margin:16px 0 10px;padding:14px 16px;border-radius:17px;background:rgba(7,19,12,.06);display:flex;align-items:center;justify-content:space-between}
.camper-shop-summary span{font:800 12px/1 Inter,system-ui,sans-serif;text-transform:uppercase;color:rgba(7,19,12,.58)}
.camper-shop-summary strong{font:950 21px/1 Inter,system-ui,sans-serif}
.camper-shop-buy{width:100%;border:0;cursor:pointer}
.camper-shop-buy:disabled{opacity:.56;cursor:not-allowed}
.camper-shop-safe{display:block;margin-top:10px;text-align:center;color:rgba(7,19,12,.52);font:700 10px/1.35 Inter,system-ui,sans-serif}
.camper-shop-soldout{padding:16px;border-radius:16px;background:rgba(186,46,38,.09);border:1px solid rgba(186,46,38,.20);font:900 13px/1.3 Inter,system-ui,sans-serif;color:#8A211B;text-align:center}

.camper-shop-state{padding:24px;background:linear-gradient(180deg,rgba(12,48,31,.96),rgba(4,18,10,.98));color:#F1E5CC;text-align:center}
.camper-shop-state i{display:block;width:52px;height:52px;margin:0 auto 14px;color:#FF6A21}
.camper-shop-state h2{margin:8px 0 8px;font-size:30px;line-height:.94;text-transform:uppercase}
.camper-shop-state p{margin:0 auto 16px;max-width:360px;color:rgba(241,229,204,.68);font:600 13px/1.45 Inter,system-ui,sans-serif}
.camper-shop-state.purchased{background:radial-gradient(circle at 80% 10%,rgba(255,106,33,.18),transparent 35%),linear-gradient(180deg,#0E3C28,#06170D)}

.camper-shop-return{padding:18px;background:rgba(255,255,255,.045);color:#F1E5CC}
.camper-shop-return h1{margin:7px 0;font-size:28px;line-height:1;text-transform:uppercase}
.camper-shop-return p{margin:0;color:rgba(241,229,204,.68);font:600 12px/1.4 Inter,system-ui,sans-serif}
.camper-shop-return.ok{border-color:rgba(62,223,139,.35);background:rgba(39,177,108,.10)}
.camper-shop-return.danger{border-color:rgba(255,106,90,.35)}

.camper-shop-history{padding:18px;background:linear-gradient(180deg,rgba(12,48,31,.96),rgba(4,18,10,.98));color:#F1E5CC}
.camper-shop-history header h2{margin:7px 0 14px;font-size:29px;line-height:.94;text-transform:uppercase}
.camper-shop-order-list{display:grid;gap:10px}
.camper-shop-order-list article{padding:14px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(239,226,198,.10);display:grid;grid-template-columns:1fr auto;gap:8px 10px;align-items:center}
.camper-shop-order-list article strong{display:block;font-size:14px}
.camper-shop-order-list article span,.camper-shop-order-list article small{display:block;margin-top:4px;color:rgba(241,229,204,.60);font:650 10px/1.2 Inter,system-ui,sans-serif}
.camper-shop-order-list article em{padding:7px 9px;border-radius:999px;font:900 9px/1 Inter,system-ui,sans-serif;text-transform:uppercase;font-style:normal;background:rgba(255,182,72,.13);color:#FFD393}
.camper-shop-order-list article em.ok{background:rgba(39,177,108,.14);color:#A8F2CB}
.camper-shop-order-list article em.danger{background:rgba(204,63,53,.14);color:#FFC1BA}
.camper-shop-order-list article>a{grid-column:1/-1;min-height:38px;border-radius:13px;background:#F1E5CC;color:#07130C;display:flex;align-items:center;justify-content:center;text-decoration:none;font:900 11px/1 Inter,system-ui,sans-serif}

@media(max-width:380px){
  .camper-shop-product{grid-template-columns:94px 1fr;padding:14px;gap:12px}
  .camper-shop-product-visual{min-height:135px}
  .camper-shop-product-copy h2{font-size:24px}
  .camper-shop-sizes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .camper-shop-hero h1{font-size:36px}
}
.camper-shop-active-order{grid-column:1/-1;margin-top:6px;padding:16px;border-radius:18px;background:rgba(7,19,12,.07);border:1px solid rgba(7,19,12,.12)}
.camper-shop-active-order>span{display:block;color:#FF5E15;font:950 10px/1 Inter,system-ui,sans-serif;letter-spacing:.10em;text-transform:uppercase}
.camper-shop-active-order>strong{display:block;margin-top:6px;font:950 21px/1 Inter,system-ui,sans-serif}
.camper-shop-active-order>p{margin:8px 0 12px;color:rgba(7,19,12,.62);font:650 11px/1.4 Inter,system-ui,sans-serif}
