/* TOPBAR (white, sticky, modern) */
.topbar{
  position:sticky;
  top:0;
  z-index:20;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  background: rgba(255,255,255,.86);
  border-bottom:1px solid var(--border);
  backdrop-filter: blur(12px);
}

.brand{
  display:flex;
  align-items:center;
  gap:10px;
  min-width: 220px;
}
.brand__logo{height:26px}
.brand__name{
  font-family:Montserrat, Inter, sans-serif;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:12px;
  color: rgba(11,11,20,.70);
}

.topbar__nav{display:flex;align-items:center;gap:10px}
.topbar__link{
  padding:10px 12px;
  border-radius:999px;
  color: rgba(11,11,20,.75);
  font-weight:600;
  transition: background .12s ease, color .12s ease;
}
.topbar__link:hover{
  background: rgba(229,9,20,.08);
  color: var(--text);
}

/* Language switcher */
.lang{position:relative}
.lang__btn{
  display:flex;align-items:center;gap:8px;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid var(--border);
  background:#fff;
  color:var(--text);
  cursor:pointer;
  font-weight:700;
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.lang__btn:hover{transform:translateY(-1px); box-shadow: var(--shadow); border-color: rgba(229,9,20,.25)}
.lang__menu{
  position:absolute; right:0; top:46px; width:190px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:16px;
  box-shadow: var(--shadow);
  padding:6px;
  display:none;
}
.lang__menu.is-open{display:block}
.lang__item{
  width:100%;
  text-align:left;
  padding:11px 10px;
  border-radius:12px;
  border:0;
  background:transparent;
  color:var(--text);
  cursor:pointer;
  font-weight:600;
}
.lang__item:hover{background: rgba(229,9,20,.08)}

/* HERO (punchy gradient, still readable) */
.hero{
  border-radius: var(--radius2);
  padding:26px;
  margin-top:18px;
  border:1px solid rgba(229,9,20,.16);
  background:
    radial-gradient(circle at 10% 0%, rgba(255,255,255,.85), rgba(255,255,255,.55) 55%, rgba(255,255,255,.65)),
    linear-gradient(135deg, rgba(229,9,20,.20), rgba(255,45,45,.14), rgba(255,90,60,.12));
  box-shadow: var(--shadow);
  position: relative;
  overflow:hidden;
}
.hero::after{
  content:"";
  position:absolute; inset:-120px -120px auto auto;
  width:320px; height:320px;
  background: radial-gradient(circle, rgba(229,9,20,.22), transparent 60%);
  transform: rotate(12deg);
  pointer-events:none;
}

.hero__title{
  font-family:Montserrat, Inter, sans-serif;
  font-size:34px;
  line-height:1.15;
  margin:0 0 10px;
  letter-spacing:-.02em;
}
.hero__subtitle{
  margin:0 0 16px;
  color: rgba(11,11,20,.72);
  max-width:780px;
  font-size:14.5px;
}

/* Search */
.search{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.search__input{
  flex:1 1 420px;
  min-width:260px;
  padding:13px 14px;
  border-radius:999px;
  border:1px solid rgba(11,11,20,.14);
  background:#fff;
  color:var(--text);
  outline:none;
  box-shadow: 0 1px 0 rgba(16,24,40,.04);
}
.search__input:focus{
  border-color: rgba(229,9,20,.40);
  box-shadow: 0 0 0 5px rgba(229,9,20,.12);
}
.search__btn{
  padding:13px 16px;
  border-radius:999px;
  border:0;
  color:#fff;
  font-weight:800;
  cursor:pointer;
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-2) 50%, var(--primary-3) 100%);
  box-shadow: 0 18px 40px rgba(229,9,20,.22);
  transition: transform .12s ease, box-shadow .12s ease;
}
.search__btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 22px 50px rgba(229,9,20,.26);
}

.search-results{margin-top:14px;display:grid;gap:10px}
.result{
  padding:13px 14px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:16px;
  box-shadow: 0 10px 24px rgba(16,24,40,.06);
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.result:hover{transform:translateY(-1px); box-shadow: var(--shadow-2); border-color: rgba(229,9,20,.25)}
.result__title{font-weight:800;margin:0 0 4px}
.result__meta{font-size:12.5px;color: rgba(11,11,20,.64)}

/* Sections */
.section{
  margin-top:18px;
  padding:18px;
  background:#fff;
  border:1px solid var(--border);
  border-radius: var(--radius2);
  box-shadow: 0 10px 24px rgba(16,24,40,.06);
}
.section--soft{
  background: linear-gradient(180deg, #ffffff 0%, #fbfbfe 100%);
}
.section__head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.section__title{
  margin:0;
  font-family:Montserrat, Inter, sans-serif;
  font-size:15px;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.section__hint{margin:0;color: rgba(11,11,20,.62);font-size:13px}

/* Category grid */
.grid{
  display:grid;
  gap:12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top:14px;
}
.category{
  background:#fff;
  border:1px solid var(--border);
  border-radius:18px;
  padding:14px;
  box-shadow: 0 10px 22px rgba(16,24,40,.06);
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.category:hover{
  transform: translateY(-2px);
  box-shadow: var(--shadow-2);
  border-color: rgba(229,9,20,.26);
}
.category__title{margin:0 0 6px;font-weight:900}
.category__desc{margin:0;color: rgba(11,11,20,.65);font-size:13px}

/* Quick cards */
.cards{
  display:grid;
  gap:12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top:14px;
}
.card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:18px;
  padding:14px;
  box-shadow: 0 10px 22px rgba(16,24,40,.06);
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.card:hover{transform:translateY(-2px); box-shadow: var(--shadow-2); border-color: rgba(229,9,20,.26)}
.card__title{margin:0 0 6px;font-weight:900}
.card__desc{margin:0;color: rgba(11,11,20,.65);font-size:13px}

/* Footer */
.footer{
  max-width:var(--max);
  /* Reserve space above the footer so the footer-mark image never overlaps content */
  margin: clamp(180px, 30vw, 350px) auto 0 !important;
  padding:14px 16px 18px;
  display:flex;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  color: rgba(11,11,20,.60);
  font-size:13px;
  position: relative;
}
.footer strong{color:var(--primary)}

/* Footer mark image (centered) — bottom of the image is flush with the footer border-top */
.footer::before{
  content: "";
  position: absolute;
  left: 50%;
  bottom: 100%;
  transform: translateX(-50%);
  width: clamp(180px, 30vw, 350px);
  height: clamp(180px, 30vw, 350px);
  background: url("/assets/images/footer-mark.png") no-repeat center / contain;
  pointer-events: none;
}

/* Mobile: reduce reserved space above the footer mark */
@media (max-width: 768px){
  .footer{ margin-top: 150px !important; }
  .footer::before{ width: 150px; height: 150px; }
}

/* Responsive */
@media (max-width: 980px){
  .grid{grid-template-columns: repeat(2, minmax(0, 1fr));}
  .cards{grid-template-columns: 1fr;}
  .hero__title{font-size:28px}
}
@media (max-width: 600px){
  .grid{grid-template-columns: 1fr;}
  .brand__name{display:none}
}

/* articles */
.article { margin-top: 0.5rem; }
.article__h2 { margin-top: 1.2rem; font-family: "Montserrat", sans-serif; font-size: 1.05rem; }
.article__p { margin-top: 0.4rem; color: #444; line-height: 1.7; }
.article__list { margin-top: 0.5rem; padding-left: 1.1rem; }
.article__list li { margin: 0.25rem 0; color: #444; }
.article__note {
  margin-top: 1.2rem;
  background: rgba(229,9,20,0.06);
  border: 1px solid rgba(229,9,20,0.18);
  padding: 0.9rem 1rem;
  border-radius: 14px;
  color: #333;
}
.link { color: #E50914; font-weight: 600; text-decoration: none; }
.link:hover { text-decoration: underline; }

/* =========================================================
   ARTICLE LAYOUT (Parental Control + future articles)
   ========================================================= */

/* Hero variant for article pages */
.hero--article { padding: 22px; }
.hero--article .hero__title { margin-bottom: 8px; }
.hero--article .hero__subtitle { margin-bottom: 0; }

/* Back link spacing inside hero (global, robust) */
.hero .hero__back,
.hero--article .hero__back{
  display: block;
  margin-top: 10px;
  margin-bottom: 12px;
}

/* If the back link itself carries the hero__back class (anchor) */
.hero a.hero__back,
.hero--article a.hero__back{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  margin-bottom: 12px;
}

.hero .hero__back .link,
.hero--article .hero__back .link{
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* Pillbar (mini nav) */
.pillbar{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
.pillbar__item{
  display:inline-flex;
  align-items:center;
  padding:9px 12px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--border);
  color: rgba(11,11,20,.78);
  font-weight:700;
  font-size:13px;
  transition: transform .12s ease, border-color .12s ease, box-shadow .12s ease;
}
.pillbar__item:hover{
  transform: translateY(-1px);
  border-color: rgba(229,9,20,.26);
  box-shadow: var(--shadow);
}

/* Article wrapper */
.section--article{
  padding: 18px;
}

.article__grid{
  display:grid;
  grid-template-columns: minmax(0, 1.9fr) minmax(0, 1fr);
  gap: 16px;
  margin-top: 8px;
}

.article__main h2{
  margin-top: 18px;
  font-family: "Montserrat", sans-serif;
  font-size: 1.05rem;
  letter-spacing: -.01em;
}
.article__main h3{
  margin-top: 12px;
  font-family: "Montserrat", sans-serif;
  font-size: .95rem;
}
.article__main p{
  margin-top: 8px;
  color: rgba(11,11,20,.72);
  line-height: 1.75;
}

/* Bullets (custom bullet with tight spacing) */
.bullets{
  list-style:none;
  margin-top:10px;
  padding:0;
}
.bullets li{
  position:relative;
  padding-left: 16px; /* spacing bullet->text */
  margin: 6px 0;
  color: rgba(11,11,20,.74);
  line-height: 1.65;
}
.bullets li::before{
  content:"•";
  position:absolute;
  left:0;
  top:0;
  color: var(--primary);
  line-height: 1.2;
}

/* Steps (numbered) */
.steps{
  margin-top:10px;
  padding-left: 0;
  list-style: none;
  counter-reset: step;
}
.steps li{
  counter-increment: step;
  position: relative;
  padding-left: 44px;
  margin: 10px 0;
  color: rgba(11,11,20,.74);
  line-height: 1.65;
}
.steps li::before{
  content: counter(step);
  position:absolute;
  left:0;
  top:2px;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(229,9,20,.10);
  border: 1px solid rgba(229,9,20,.22);
  color: var(--primary);
  font-weight: 900;
  font-size: 13px;
}

/* Notes (info/warn/success) */
.note{
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid var(--border);
  box-shadow: 0 10px 24px rgba(16,24,40,.06);
  color: rgba(11,11,20,.74);
}
.note strong{ color: rgba(11,11,20,.86); }
.note--info{
  background: rgba(229,9,20,.06);
  border-color: rgba(229,9,20,.18);
}
.note--warn{
  background: rgba(255, 180, 0, .08);
  border-color: rgba(255, 180, 0, .22);
}
.note--success{
  background: rgba(0, 170, 90, .08);
  border-color: rgba(0, 170, 90, .22);
}

/* Side cards */
.article__side{
  position: sticky;
  top: 84px;
  align-self: start;
  display:grid;
  gap: 12px;
}
.sidecard{
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 14px;
  box-shadow: 0 10px 22px rgba(16,24,40,.06);
}
.sidecard h3{
  margin: 0 0 8px;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.sidecard a{ color: var(--primary); font-weight: 700; text-decoration:none; }
.sidecard a:hover{ text-decoration: underline; }

/* FAQ */
.faq{
  margin-top: 10px;
  display:grid;
  gap: 10px;
}
.faq details{
  background:#fff;
  border:1px solid var(--border);
  border-radius: 16px;
  padding: 10px 12px;
  box-shadow: 0 10px 22px rgba(16,24,40,.06);
}
.faq summary{
  cursor:pointer;
  font-weight: 900;
  color: rgba(11,11,20,.84);
}
.faq details p{
  margin-top: 8px;
  color: rgba(11,11,20,.72);
}

/* =========================================================
   FOOTER: left / center / right (centered links)
   ========================================================= */
.footer.footer--centerlinks{
  display:grid;
  grid-template-columns: 1fr auto 1fr;
  align-items:center;
}
.footer.footer--centerlinks .footer__left{justify-self:start;}
.footer.footer--centerlinks .footer__center{justify-self:center;}
.footer.footer--centerlinks .footer__right{justify-self:end;}

.footer__center{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
}
.footer__link{
  color: rgba(11,11,20,.68);
  font-weight:700;
  text-decoration:none;
  padding: 8px 10px;
  border-radius: 999px;
}
.footer__link:hover{
  background: rgba(229,9,20,.08);
  color: rgba(11,11,20,.82);
}

/* Responsive: stack article layout */
@media (max-width: 980px){
  .article__grid{ grid-template-columns: 1fr; }
  .article__side{ position: static; }
}

/* Footer polish (avoid confusion between center/right) */
.footer__center { gap: 1.25rem; }
.footer__right { color: rgba(11,11,20,.62); }

/* Make center links neutral (not same color as brand text) */
.footer__link{
  color: rgba(11,11,20,.70);
  font-weight: 700;
  padding: 8px 10px;
  border-radius: 999px;
}
.footer__link:hover{
  background: rgba(229,9,20,.08);
  color: rgba(11,11,20,.88);
  text-decoration: none;
}

/* Breadcrumb + Back link */
.breadcrumb{
  display:flex;
  gap:8px;
  align-items:center;
  font-size:13px;
  opacity:.9;
  margin:14px 0 6px;
}
.breadcrumb__sep{ opacity:.6; }
.breadcrumb__link{ text-decoration:none; }
.breadcrumb__current{ opacity:.85; }

.backlink{
  display:inline-block;
  margin:0 0 18px;
  text-decoration:none;
  font-size:13px;
  opacity:.9;
}

/* Search filters */
.search-filters{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:12px 0 8px;
}
.search-filter{
  border:1px solid rgba(255,255,255,.12);
  background:transparent;
  padding:8px 10px;
  border-radius:999px;
  font-size:12px;
  cursor:pointer;
}
.search-filter.is-active{
  border-color: rgba(255,255,255,.35);
}




/* Search suggestions (Step 8.8) */
.obh-search-suggest-wrap{position:relative; width:100%;}
.obh-suggest-card{
  position:relative;
  left:auto; right:auto;
  top:auto;
  margin-top:10px;
  z-index:50;
  background:#fff;
  border:1px solid var(--border);
  border-radius:16px;
  box-shadow: 0 18px 50px rgba(16,24,40,.12);
  padding:12px;
}
.obh-suggest-title{font-weight:800; font-size:12.5px; opacity:.72; margin:0 0 10px}
.obh-chip-row{display:flex; flex-wrap:wrap; gap:8px}
.obh-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid var(--border);
  background:#fff;
  border-radius:999px;
  padding:8px 10px;
  cursor:pointer;
  font-weight:800;
  font-size:13px;
}
.obh-chip span{
  font-size:11.5px;
  opacity:.65;
  font-weight:800;
  padding:2px 6px;
  border-radius:999px;
  border:1px solid var(--border);
}
.obh-suggest-list{display:grid; gap:8px; max-height:260px; overflow:auto;}
.obh-suggest-item{
  text-align:left;
  width:100%;
  border:1px solid var(--border);
  background:#fff;
  border-radius:14px;
  padding:10px 12px;
  cursor:pointer;
}
.obh-suggest-item:hover{border-color: rgba(229,9,20,.25); box-shadow: 0 8px 18px rgba(16,24,40,.08)}
.obh-suggest-main{font-weight:900; margin:0 0 3px}
.obh-suggest-meta{font-size:12.5px; opacity:.65}
