/* ============================================================
   Jornada de Descobertas — estilos (usa tokens da Direção D)
   ============================================================ */
.j-hero{ background:var(--d-ink); color:#fff; position:relative; overflow:hidden; padding:140px 0 56px; }
.j-hero .blob{ position:absolute; border-radius:50%; filter:blur(8px); opacity:.8; }
.j-hero .blob.x1{ width:340px; height:340px; background:radial-gradient(circle,var(--azul) 0%,rgba(0,144,180,.5) 35%,transparent 70%); top:-120px; right:-60px; }
.j-hero .blob.x2{ width:300px; height:300px; background:radial-gradient(circle,var(--coral) 0%,rgba(247,82,32,.5) 35%,transparent 70%); bottom:-120px; left:-90px; }
.j-hero .wrap{ position:relative; z-index:2; }
.j-hero h1{ font-size:clamp(38px,5.6vw,72px); line-height:.96; max-width:16ch; }
.j-hero h1 em{ font-style:normal; color:var(--turq); }
.j-hero .sub{ font-size:18.5px; line-height:1.55; color:rgba(255,255,255,.82); max-width:52ch; margin-top:18px; font-weight:500; }

/* busca */
.j-search{ margin-top:30px; max-width:640px; position:relative; }
.j-search input{ width:100%; font-family:"Nunito",sans-serif; font-size:17px; padding:17px 22px 17px 52px; border-radius:999px; border:2px solid rgba(255,255,255,.25); background:rgba(255,255,255,.08); color:#fff; transition:border-color .15s, background .15s; }
.j-search input::placeholder{ color:rgba(255,255,255,.55); }
.j-search input:focus{ outline:none; border-color:var(--turq); background:rgba(255,255,255,.12); }
.j-search .ic{ position:absolute; left:20px; top:50%; transform:translateY(-50%); opacity:.7; font-size:18px; }

/* filtros */
.j-filters{ background:var(--d-ink); border-top:1px solid rgba(255,255,255,.1); padding:18px 0 26px; position:relative; z-index:3; }
.j-filters .wrap{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.j-fgroup{ position:relative; }
.j-fgroup>button{ font-family:"Bricolage Grotesque",sans-serif; font-weight:600; font-size:14px; color:#fff; background:rgba(255,255,255,.08); border:1.5px solid rgba(255,255,255,.22); border-radius:999px; padding:10px 18px; cursor:pointer; display:inline-flex; align-items:center; gap:8px; }
.j-fgroup>button:hover{ background:rgba(255,255,255,.14); }
.j-fgroup>button .n{ background:var(--coral); color:#fff; border-radius:999px; font-size:11.5px; padding:1px 8px; }
.j-fpanel{ position:absolute; top:calc(100% + 8px); left:0; z-index:30; background:#1d1f2b; border:1px solid rgba(255,255,255,.14); border-radius:16px; padding:14px; display:none; flex-wrap:wrap; gap:8px; width:max-content; max-width:330px; box-shadow:0 18px 44px rgba(0,0,0,.5); }
.j-fgroup.open .j-fpanel{ display:flex; }
.j-chip{ font-family:"Nunito",sans-serif; font-weight:700; font-size:13.5px; color:rgba(255,255,255,.85); background:rgba(255,255,255,.08); border:1.5px solid rgba(255,255,255,.18); border-radius:999px; padding:8px 14px; cursor:pointer; }
.j-chip.on{ background:var(--coral); border-color:var(--coral); color:#fff; }
.j-clear{ font-family:"Bricolage Grotesque",sans-serif; font-weight:600; font-size:13.5px; color:rgba(255,255,255,.6); background:none; border:0; cursor:pointer; padding:10px 6px; text-decoration:underline; text-underline-offset:3px; }
.j-clear:hover{ color:var(--coral); }

/* prateleiras */
.j-main{ background:var(--d-cream); padding:46px 0 90px; min-height:50vh; }
.j-shelf{ margin-bottom:44px; }
.j-shelf-h{ display:flex; align-items:baseline; justify-content:space-between; gap:20px; max-width:1280px; margin:0 auto 16px; padding:0 40px; }
.j-shelf-h h2{ font-family:"Bricolage Grotesque",sans-serif; font-weight:800; font-size:clamp(21px,2.4vw,28px); letter-spacing:-.01em; margin:0; }
.j-shelf-h small{ font-weight:700; font-size:13.5px; color:var(--ink-soft); }
.j-row{ display:flex; gap:18px; overflow-x:auto; scroll-snap-type:x proximity; padding:6px 40px 18px; max-width:1280px; margin:0 auto; scrollbar-width:thin; }
.j-row::-webkit-scrollbar{ height:8px; } .j-row::-webkit-scrollbar-thumb{ background:#d8cfbc; border-radius:99px; }
.j-grid{ max-width:1280px; margin:0 auto; padding:0 40px; display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:20px; }
.j-count{ max-width:1280px; margin:0 auto 18px; padding:0 40px; font-weight:700; color:var(--ink-soft); }

/* card */
.j-card{ flex:0 0 300px; scroll-snap-align:start; background:#fff; border:1px solid #ECE6D9; border-radius:20px; overflow:hidden; display:flex; flex-direction:column; transition:transform .18s, box-shadow .18s; box-shadow:0 10px 30px rgba(40,40,60,.06); }
.j-card:hover{ transform:translateY(-5px); box-shadow:0 22px 50px rgba(40,40,60,.14); }
.j-grid .j-card{ flex:initial; }
.j-card-ph{ display:block; aspect-ratio:16/10; background-size:cover; background-position:center; position:relative; }
.j-selos{ position:absolute; top:10px; left:10px; display:flex; flex-wrap:wrap; gap:6px; }
.j-selo{ font-family:"Bricolage Grotesque",sans-serif; font-weight:700; font-size:11px; letter-spacing:.05em; text-transform:uppercase; color:#fff; padding:5px 10px; border-radius:999px; background:rgba(0,0,0,.55); }
.j-selo.novo{ background:var(--turq); color:var(--d-ink); }
.j-selo.destaque{ background:var(--coral); }
.j-selo.procurado{ background:var(--azul); }
.j-selo.exclusivo{ background:#1d1f2b; border:1px solid rgba(255,255,255,.35); }
.j-card-b{ padding:18px 18px 20px; display:flex; flex-direction:column; gap:8px; flex:1; }
.j-card-b h3{ font-family:"Bricolage Grotesque",sans-serif; font-weight:700; font-size:19px; line-height:1.15; margin:0; }
.j-card-b h3 a{ color:var(--d-ink); text-decoration:none; } .j-card-b h3 a:hover{ color:var(--coral-d); }
.j-tags{ font-family:"Bricolage Grotesque",sans-serif; font-weight:600; font-size:12px; letter-spacing:.04em; text-transform:uppercase; color:var(--azul-d); }
.j-card-b p{ font-size:14px; line-height:1.5; color:var(--ink-soft); margin:0; flex:1; }
.j-card-acts{ display:flex; gap:8px; margin-top:10px; }
.j-btn-ver,.j-btn-add{ font-family:"Bricolage Grotesque",sans-serif; font-weight:700; font-size:13.5px; border-radius:10px; padding:10px 13px; cursor:pointer; text-decoration:none; text-align:center; border:0; transition:transform .12s, background .15s; }
.j-btn-ver{ background:var(--d-ink); color:#fff; flex:1; } .j-btn-ver:hover{ background:var(--coral); }
.j-btn-add{ background:rgba(0,144,180,.12); color:var(--azul-d); flex:1; } .j-btn-add:hover{ background:rgba(0,144,180,.22); }
.j-btn-add.on{ background:var(--turq); color:var(--d-ink); }
.j-empty-msg{ max-width:1280px; margin:0 auto; padding:40px; text-align:center; color:var(--ink-soft); font-size:17px; }

/* fab + drawer */
.j-fab{ position:fixed; bottom:24px; right:24px; z-index:90; display:none; align-items:center; gap:9px; font-family:"Bricolage Grotesque",sans-serif; font-weight:700; font-size:16px; background:var(--coral); color:#fff; border:0; border-radius:999px; padding:15px 24px; cursor:pointer; box-shadow:0 16px 40px rgba(247,82,32,.5); transition:transform .15s; }
.j-fab:hover{ transform:translateY(-3px); }
.j-fab-n{ background:#fff; color:var(--coral-d); border-radius:999px; font-size:13.5px; padding:2px 9px; }
.j-drawer-ov{ position:fixed; inset:0; z-index:95; background:rgba(10,11,18,.6); opacity:0; pointer-events:none; transition:opacity .25s; }
.j-drawer-ov.open{ opacity:1; pointer-events:auto; }
.j-drawer{ position:fixed; top:0; right:0; bottom:0; z-index:96; width:min(460px,100vw); background:#fff; transform:translateX(105%); transition:transform .3s cubic-bezier(.2,.8,.2,1); display:flex; flex-direction:column; box-shadow:-20px 0 60px rgba(0,0,0,.3); }
.j-drawer.open{ transform:none; }
.j-draw-head{ display:flex; align-items:center; justify-content:space-between; padding:22px 24px 16px; border-bottom:1px solid #EEE8DC; }
.j-draw-head h3{ font-family:"Bricolage Grotesque",sans-serif; font-weight:800; font-size:21px; margin:0; }
.j-x{ background:#F2EDE2; border:0; width:34px; height:34px; border-radius:50%; cursor:pointer; font-size:14px; }
.j-x:hover{ background:var(--coral); color:#fff; }
.j-draw-list{ padding:14px 24px; display:flex; flex-direction:column; gap:10px; }
.j-draw-item{ display:flex; align-items:center; gap:12px; background:var(--d-cream); border-radius:14px; padding:10px 12px; }
.j-draw-item .ph{ width:58px; height:44px; border-radius:9px; background-size:cover; background-position:center; flex:0 0 auto; }
.j-draw-item b{ font-family:"Bricolage Grotesque",sans-serif; font-size:14.5px; display:block; line-height:1.2; }
.j-draw-item small{ font-size:12px; color:var(--ink-soft); font-weight:700; }
.j-draw-item>div{ flex:1; }
.j-draw-item button{ background:none; border:0; cursor:pointer; font-size:13px; color:var(--ink-soft); }
.j-draw-item button:hover{ color:var(--coral-d); }
.j-empty{ color:var(--ink-soft); font-size:15px; padding:10px 0; }
.j-draw-form{ padding:6px 24px 30px; overflow-y:auto; }
.j-draw-form h4{ font-family:"Bricolage Grotesque",sans-serif; font-weight:800; font-size:17px; margin:14px 0 12px; border-top:1px solid #EEE8DC; padding-top:18px; }
.j-f{ margin-bottom:12px; }
.j-f2{ display:grid; grid-template-columns:1fr 1fr; gap:10px 12px; }
.j-f label{ font-family:"Bricolage Grotesque",sans-serif; font-weight:600; font-size:12.5px; display:block; margin-bottom:5px; }
.j-f input,.j-f textarea,.j-f select{ width:100%; font-family:"Nunito",sans-serif; font-size:14.5px; padding:10px 12px; border:1.5px solid #E4DCCB; border-radius:10px; background:var(--d-cream); }
.j-f input:focus,.j-f textarea:focus{ outline:none; border-color:var(--azul); }
.j-radio{ display:flex; align-items:center; gap:8px; font-size:14px; font-weight:700; margin:7px 0; cursor:pointer; }
.j-radio input{ width:auto; accent-color:var(--coral); }
.j-btn-go{ width:100%; font-family:"Bricolage Grotesque",sans-serif; font-weight:700; font-size:16px; background:var(--wa); color:#fff; border:0; border-radius:12px; padding:15px; cursor:pointer; margin-top:6px; }
.j-btn-go:hover{ filter:brightness(1.06); }
.j-note{ font-size:12.5px; color:var(--ink-soft); text-align:center; margin:10px 0 0; }
.j-btn-ghost{ font-family:"Bricolage Grotesque",sans-serif; font-weight:700; font-size:13.5px; background:none; border:1.5px dashed #C9BFA8; color:var(--ink-soft); border-radius:10px; padding:9px 14px; cursor:pointer; width:100%; }
.j-btn-ghost:hover{ border-color:var(--coral); color:var(--coral-d); }
.j-grupos{ background:#FBF7EC; border:1px solid #EEE5CF; border-radius:14px; padding:12px; margin-bottom:12px; }
.j-grupo{ background:#fff; border:1px solid #EEE8DC; border-radius:12px; padding:10px 12px; margin-bottom:10px; }
.j-grupo-h{ display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.j-grupo-h b{ font-family:"Bricolage Grotesque",sans-serif; font-size:14px; }
.j-grupo-h input{ flex:1; font-family:"Nunito",sans-serif; font-size:13px; padding:7px 9px; border:1.5px solid #E4DCCB; border-radius:8px; }
.j-gchips{ display:flex; flex-wrap:wrap; gap:6px; }
.j-gchip{ font-size:12px; font-weight:700; background:#F2EDE2; border:1.5px solid #E4DCCB; color:var(--ink-soft); border-radius:999px; padding:6px 11px; cursor:pointer; }
.j-gchip.on{ background:var(--azul); border-color:var(--azul); color:#fff; }

/* banner de confirmação pós-envio */
.j-confirm{ background:#FFF4E9; border:1.5px solid #F4C89E; border-radius:14px; padding:16px; margin:0 24px 14px; }
.j-confirm h5{ font-family:"Bricolage Grotesque",sans-serif; font-weight:800; font-size:15px; margin:0 0 4px; color:var(--ink); }
.j-confirm p{ font-size:13px; color:var(--ink-soft); margin:0 0 12px; line-height:1.5; }
.j-confirm .row{ display:flex; gap:9px; }
.j-confirm button{ flex:1; font-family:"Bricolage Grotesque",sans-serif; font-weight:700; font-size:13.5px; border-radius:10px; padding:11px; cursor:pointer; border:0; }
.j-confirm .yes{ background:var(--wa); color:#fff; }
.j-confirm .no{ background:#fff; border:1.5px solid #E4DCCB; color:var(--ink); }

/* página do roteiro */
.r-hero{ position:relative; min-height:480px; display:flex; align-items:flex-end; color:#fff; background:var(--d-ink); }
.r-hero .bg{ position:absolute; inset:0; background-size:cover; background-position:center; }
.r-hero .ov{ position:absolute; inset:0; background:linear-gradient(to top, rgba(18,19,26,.95) 0%, rgba(18,19,26,.55) 45%, rgba(18,19,26,.3) 100%); }
.r-hero .wrap{ position:relative; z-index:2; padding-top:150px; padding-bottom:46px; }
.r-hero h1{ font-size:clamp(34px,5vw,62px); line-height:.98; max-width:18ch; }
.r-hero .sub{ font-size:18px; color:rgba(255,255,255,.85); margin-top:12px; max-width:50ch; font-weight:600; }
.r-meta{ display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.r-meta .m{ font-family:"Bricolage Grotesque",sans-serif; font-weight:600; font-size:13px; background:rgba(255,255,255,.14); border-radius:999px; padding:7px 14px; }
.r-body{ background:var(--d-cream); padding:60px 0 90px; }
.r-cols{ display:grid; grid-template-columns:1.6fr .9fr; gap:46px; align-items:start; max-width:1280px; margin:0 auto; padding:0 40px; }
.r-main h2{ font-family:"Bricolage Grotesque",sans-serif; font-weight:800; font-size:24px; margin:34px 0 12px; }
.r-main h2:first-child{ margin-top:0; }
.r-main p{ font-size:16.5px; line-height:1.7; color:var(--ink-soft); margin:0 0 14px; }
.r-main ul{ margin:0; padding:0; list-style:none; display:grid; gap:9px; }
.r-main ul li{ display:flex; gap:11px; font-size:15.5px; line-height:1.5; color:var(--ink-soft); }
.r-main ul li::before{ content:"✓"; color:var(--turq-d); font-weight:800; flex:0 0 auto; }
.r-gal{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:14px; }
.r-gal .g{ aspect-ratio:4/3; border-radius:14px; background-size:cover; background-position:center; }
.r-side{ position:sticky; top:100px; background:#fff; border:1px solid #ECE6D9; border-radius:20px; padding:26px; box-shadow:0 14px 40px rgba(40,40,60,.08); }
.r-side h3{ font-family:"Bricolage Grotesque",sans-serif; font-weight:800; font-size:17px; margin:0 0 14px; }
.r-side .it{ display:flex; justify-content:space-between; gap:14px; font-size:14.5px; padding:9px 0; border-top:1px solid #F0EADD; }
.r-side .it b{ font-family:"Bricolage Grotesque",sans-serif; font-weight:600; color:var(--ink-soft); font-size:13px; }
.r-side .it span{ font-weight:800; text-align:right; }
.r-side .j-btn-add{ width:100%; font-size:15px; padding:14px; margin-top:16px; }
.r-side .wa{ display:flex; justify-content:center; margin-top:10px; font-family:"Bricolage Grotesque",sans-serif; font-weight:700; font-size:14px; color:var(--wa-d); text-decoration:none; }
.r-rel{ max-width:1280px; margin:50px auto 0; padding:0 40px; }
.r-rel h2{ font-family:"Bricolage Grotesque",sans-serif; font-weight:800; font-size:24px; margin:0 0 16px; }
.r-rel .j-row{ padding-left:0; padding-right:0; }

@media (max-width:900px){
  .r-cols{ grid-template-columns:1fr; }
  .r-side{ position:static; }
  .j-shelf-h,.j-row,.j-grid,.j-count,.r-rel{ padding-left:22px; padding-right:22px; }
  .j-card{ flex-basis:260px; }
  .j-f2{ grid-template-columns:1fr; }
  .r-gal{ grid-template-columns:repeat(2,1fr); }
}
