/* =========================================================
   MBR GLOBAL THEME LAYOUT SYSTEM V2
   One layout for every theme. Themes keep only colour/effects.
   Loaded after each theme stylesheet on purpose.
   ========================================================= */

html body.mbr-theme{
  --mbr-layout-accent:var(--mbr-accent,#d4af37);
  --mbr-layout-accent-soft:var(--mbr-accent-2,#fff0a0);
  --mbr-layout-bg:var(--mbr-bg,#04040c);
  --mbr-layout-radius:22px;
}

/* ---------- NAVBAR: identical geometry for every theme ---------- */
html body.mbr-theme .navbar{
  min-height:68px!important;
  padding:9px 18px!important;
  gap:18px!important;
  display:flex!important;
  align-items:center!important;
  background:color-mix(in srgb,var(--mbr-layout-bg) 94%,#08080f 6%)!important;
  border-bottom:1px solid color-mix(in srgb,var(--mbr-layout-accent) 28%,transparent)!important;
  box-shadow:0 12px 40px rgba(0,0,0,.32)!important;
  backdrop-filter:blur(20px) saturate(125%)!important;
}
html body.mbr-theme .navbar-brand{
  flex:0 1 auto!important;
  max-width:34vw!important;
  color:var(--mbr-layout-accent-soft)!important;
  font-size:clamp(.84rem,1.05vw,1rem)!important;
  line-height:1.15!important;
  letter-spacing:.055em!important;
  text-shadow:0 0 18px color-mix(in srgb,var(--mbr-layout-accent) 30%,transparent)!important;
}
html body.mbr-theme .navbar-nav{
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  gap:.38rem!important;
  padding:4px!important;
  border:1px solid color-mix(in srgb,var(--mbr-layout-accent) 18%,transparent)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.025)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
}
html body.mbr-theme .navbar-nav li{
  display:flex!important;
  align-items:center!important;
  margin:0!important;
  padding:0!important;
}
html body.mbr-theme .navbar-nav a,
html body.mbr-theme .navbar-nav button,
html body.mbr-theme .navbar-nav .btn-nav,
html body.mbr-theme .navbar-nav .nav-gallery-link,
html body.mbr-theme .navbar-nav .gallery-gold-btn,
html body.mbr-theme .navbar-nav .mbr-ai-nav-chat{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:94px!important;
  height:34px!important;
  min-height:34px!important;
  margin:0!important;
  padding:0 .82rem!important;
  overflow:hidden!important;
  border:1px solid color-mix(in srgb,var(--mbr-layout-accent-soft) 82%,transparent)!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,
    color-mix(in srgb,var(--mbr-layout-accent-soft) 94%,white 6%) 0%,
    color-mix(in srgb,var(--mbr-layout-accent-soft) 66%,var(--mbr-layout-accent) 34%) 34%,
    var(--mbr-layout-accent) 72%,
    color-mix(in srgb,var(--mbr-layout-accent) 72%,black 28%) 100%)!important;
  color:#171005!important;
  font-family:'Inter',sans-serif!important;
  font-size:.68rem!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.072em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
  text-shadow:none!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 6px 15px color-mix(in srgb,var(--mbr-layout-accent) 20%,transparent)!important;
  transform:none!important;
  filter:none!important;
  transition:transform .22s ease,filter .22s ease,box-shadow .22s ease!important;
  cursor:pointer!important;
  white-space:nowrap!important;
}
html body.mbr-theme .navbar-nav a::before,
html body.mbr-theme .navbar-nav a::after,
html body.mbr-theme .navbar-nav button::before,
html body.mbr-theme .navbar-nav button::after{
  content:none!important;
  display:none!important;
}
html body.mbr-theme .navbar-nav a:hover,
html body.mbr-theme .navbar-nav button:hover,
html body.mbr-theme .navbar-nav a:focus-visible,
html body.mbr-theme .navbar-nav button:focus-visible{
  color:#100b03!important;
  filter:brightness(1.08)!important;
  transform:translateY(-2px)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 10px 24px color-mix(in srgb,var(--mbr-layout-accent) 32%,transparent),0 0 20px color-mix(in srgb,var(--mbr-layout-accent-soft) 24%,transparent)!important;
  outline:none!important;
}

/* ---------- HERO / OFFER: one fixed discipline ---------- */
html body.mbr-theme .hero{
  min-height:auto!important;
  padding:82px 0 12px!important;
  justify-content:flex-start!important;
}
html body.mbr-theme .premium-offer-strip{
  width:min(1180px,92vw)!important;
  min-height:188px!important;
  margin:8px auto 14px!important;
  padding:18px 24px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.25fr) minmax(180px,.34fr) minmax(168px,.28fr)!important;
  align-items:center!important;
  gap:1rem!important;
  border-radius:24px!important;
  overflow:hidden!important;
}
html body.mbr-theme .premium-offer-kicker{
  margin-bottom:.35rem!important;
  font-size:.64rem!important;
  letter-spacing:.18em!important;
}
html body.mbr-theme .premium-offer-title{
  max-width:620px!important;
  margin:0 0 .42rem!important;
  font-size:clamp(1.85rem,3vw,2.9rem)!important;
  line-height:.94!important;
  letter-spacing:-.022em!important;
}
html body.mbr-theme .premium-offer-desc{
  max-width:630px!important;
  margin:0!important;
  font-size:.82rem!important;
  line-height:1.38!important;
}
html body.mbr-theme .premium-save-pill{
  padding:.48rem .68rem!important;
  margin-bottom:.42rem!important;
  font-size:.64rem!important;
}
html body.mbr-theme .premium-old-price{font-size:1.02rem!important}
html body.mbr-theme .premium-new-price{font-size:clamp(1.55rem,2.35vw,2.25rem)!important}
html body.mbr-theme .premium-offer-action{gap:.48rem!important}
html body.mbr-theme .premium-book-btn{
  min-width:158px!important;
  min-height:38px!important;
  padding:.68rem 1rem!important;
  font-size:.72rem!important;
}
html body.mbr-theme .premium-countdown{
  min-width:158px!important;
  padding:.55rem .68rem!important;
  border-radius:14px!important;
}
html body.mbr-theme .premium-countdown-title{font-size:.56rem!important;margin-bottom:.22rem!important}
html body.mbr-theme .premium-countdown-dashes{gap:.8rem!important;font-size:.76rem!important}
html body.mbr-theme .premium-countdown-labels{gap:.58rem!important;font-size:.48rem!important;margin-top:.16rem!important}

/* Admin-controlled video hero uses the same proportions everywhere. */
html body.mbr-theme .campaign-video-area{
  width:min(1180px,92vw)!important;
  margin:.8rem auto 0!important;
  grid-template-columns:.78fr 1.22fr!important;
  gap:1.15rem!important;
  align-items:stretch!important;
}
html body.mbr-theme .campaign-video-copy,
html body.mbr-theme .campaign-video-card{
  min-height:330px!important;
  border-radius:26px!important;
}
html body.mbr-theme .campaign-video-copy{padding:1.8rem!important}
html body.mbr-theme .campaign-video-copy h2{
  font-size:clamp(2rem,3.2vw,2.9rem)!important;
  line-height:.98!important;
  margin-bottom:.75rem!important;
}
html body.mbr-theme .campaign-video-copy p,
html body.mbr-theme .campaign-video-copy li{font-size:.92rem!important;line-height:1.55!important}
html body.mbr-theme .campaign-video-copy ul{margin:.9rem 0 1.25rem 1.25rem!important}
html body.mbr-theme .campaign-video-btn{align-self:flex-start!important;min-height:42px!important;padding:.75rem 1.2rem!important}
html body.mbr-theme .mbr-premium-proof{width:min(1180px,92vw)!important;margin:.65rem auto 0!important}

/* ---------- GLOBAL SECTION SPACING ---------- */
html body.mbr-theme .mbr-results-section{padding:3.6rem 1.5rem!important}
html body.mbr-theme .section{padding:3.8rem 2rem!important}
html body.mbr-theme .section-subtitle{margin-bottom:1rem!important}
html body.mbr-theme .section-title{margin-bottom:.55rem!important}
html body.mbr-theme .section-divider{margin:.8rem auto 1.8rem!important}
html body.mbr-theme .mbr-reviews-section{padding:3.8rem 1.5rem!important}
html body.mbr-theme .about-section{padding-top:3.5rem!important;padding-bottom:3.5rem!important}
html body.mbr-theme footer{padding:2.5rem 2rem 1.6rem!important}

/* ---------- CATEGORY CARDS: the screenshot layout everywhere ---------- */
html body.mbr-theme .categories-grid{
  width:min(1180px,94vw)!important;
  max-width:1180px!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:1rem!important;
  align-items:stretch!important;
}
html body.mbr-theme .category-card{
  height:292px!important;
  min-height:292px!important;
  padding:1.25rem 1rem 1rem!important;
  border-radius:22px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-end!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background-size:cover!important;
  background-position:center!important;
  animation:none!important;
  transform:none!important;
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease,filter .28s ease!important;
}
html body.mbr-theme .category-card.has-bg::before{
  content:''!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  background:linear-gradient(180deg,rgba(7,7,12,.08) 0%,rgba(7,7,12,.24) 35%,rgba(5,5,9,.92) 78%,rgba(5,5,9,.98) 100%)!important;
}
html body.mbr-theme .category-card::after{
  content:''!important;
  display:block!important;
  position:absolute!important;
  inset:-20% -55%!important;
  z-index:1!important;
  pointer-events:none!important;
  background:linear-gradient(110deg,transparent 40%,rgba(255,255,255,.16) 49%,transparent 58%)!important;
  transform:translateX(-55%)!important;
  opacity:0!important;
  transition:transform .7s ease,opacity .3s ease!important;
}
html body.mbr-theme .category-card:hover::after{transform:translateX(55%)!important;opacity:.65!important}
html body.mbr-theme .category-card>*{position:relative!important;z-index:2!important}
html body.mbr-theme .category-card:hover{
  transform:translateY(-7px)!important;
  border-color:color-mix(in srgb,var(--mbr-layout-accent) 70%,white 10%)!important;
  box-shadow:0 24px 58px rgba(0,0,0,.42),0 0 26px color-mix(in srgb,var(--mbr-layout-accent) 20%,transparent)!important;
  filter:brightness(1.035)!important;
}
html body.mbr-theme .category-icon{
  width:42px!important;
  height:42px!important;
  min-height:42px!important;
  margin:0 0 .62rem!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  font-size:0!important;
  color:transparent!important;
  border:1px solid color-mix(in srgb,var(--mbr-layout-accent) 58%,transparent)!important;
  background:color-mix(in srgb,var(--mbr-layout-accent) 16%,rgba(10,10,15,.72))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 20px color-mix(in srgb,var(--mbr-layout-accent) 14%,transparent)!important;
}
html body.mbr-theme .category-name{
  margin:0 0 .38rem!important;
  color:#fff8df!important;
  font-size:1.05rem!important;
  line-height:1.12!important;
  text-align:center!important;
  text-shadow:0 3px 14px rgba(0,0,0,.8)!important;
}
html body.mbr-theme .category-desc{
  width:100%!important;
  max-width:100%!important;
  min-height:2.55em!important;
  margin:0!important;
  color:rgba(255,255,255,.68)!important;
  font-size:.74rem!important;
  line-height:1.35!important;
  text-align:center!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:visible!important;
}
/* Real category action element used by index.php. */
html body.mbr-theme .category-desc::after{
  content:none!important;
  display:none!important;
}
html body.mbr-theme .category-card .mbr-category-action{
  width:100%!important;
  min-height:36px!important;
  margin-top:.8rem!important;
  padding:0 .85rem!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  border:1px solid color-mix(in srgb,var(--mbr-layout-accent) 58%,transparent)!important;
  border-radius:999px!important;
  color:var(--mbr-layout-accent-soft)!important;
  background:color-mix(in srgb,var(--mbr-layout-bg) 72%,transparent)!important;
  font-family:'Inter',sans-serif!important;
  font-size:.62rem!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 7px 18px rgba(0,0,0,.16)!important;
  transition:transform .24s ease,background .24s ease,border-color .24s ease,box-shadow .24s ease!important;
}
html body.mbr-theme .category-card .mbr-category-action::after{
  content:'→'!important;
  display:inline-block!important;
  margin-left:.55rem!important;
  color:inherit!important;
  font-size:1.05em!important;
  transition:transform .24s ease!important;
}
html body.mbr-theme .category-card:hover .mbr-category-action{
  transform:translateY(-1px)!important;
  border-color:color-mix(in srgb,var(--mbr-layout-accent-soft) 82%,transparent)!important;
  background:color-mix(in srgb,var(--mbr-layout-accent) 18%,var(--mbr-layout-bg) 82%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 9px 22px rgba(0,0,0,.22),0 0 18px color-mix(in srgb,var(--mbr-layout-accent) 16%,transparent)!important;
}
html body.mbr-theme .category-card:hover .mbr-category-action::after{
  transform:translateX(4px)!important;
}

/* ---------- BEFORE / AFTER ---------- */
html body.mbr-theme .mbr-results-wrap{
  width:min(1160px,94vw)!important;
  max-width:1160px!important;
  grid-template-columns:.78fr 1.22fr!important;
  gap:1.5rem!important;
}
html body.mbr-theme .mbr-results-copy{padding:1.8rem!important;border-radius:26px!important}
html body.mbr-theme .mbr-ba-slider{min-height:470px!important;border-radius:28px!important}

/* ---------- REVIEWS ---------- */
html body.mbr-theme .mbr-reviews-wrap{width:min(1160px,94vw)!important;max-width:1160px!important}
html body.mbr-theme .mbr-reviews-head{margin-bottom:1.35rem!important}
html body.mbr-theme .mbr-reviews-track{grid-auto-columns:calc((100% - 2rem)/3)!important;gap:1rem!important}
html body.mbr-theme .mbr-review-card{min-height:248px!important;padding:1.4rem!important;border-radius:24px!important}

/* ---------- RESPONSIVE: shared for every theme ---------- */
@media(max-width:1180px){
  html body.mbr-theme .navbar-brand{max-width:26vw!important;font-size:.82rem!important}
  html body.mbr-theme .navbar-nav a,
  html body.mbr-theme .navbar-nav button,
  html body.mbr-theme .navbar-nav .btn-nav,
  html body.mbr-theme .navbar-nav .gallery-gold-btn,
  html body.mbr-theme .navbar-nav .mbr-ai-nav-chat{min-width:82px!important;padding:0 .65rem!important;font-size:.62rem!important}
}
@media(max-width:980px){
  html body.mbr-theme .premium-offer-strip{grid-template-columns:1fr .42fr!important;min-height:auto!important}
  html body.mbr-theme .premium-offer-action{grid-column:1/-1!important;flex-direction:row!important;justify-content:center!important}
  html body.mbr-theme .categories-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:900px){
  html body.mbr-theme .campaign-video-area,
  html body.mbr-theme .mbr-results-wrap{grid-template-columns:1fr!important}
  html body.mbr-theme .campaign-video-copy,
  html body.mbr-theme .campaign-video-card{min-height:300px!important}
  html body.mbr-theme .mbr-ba-slider{min-height:430px!important}
  html body.mbr-theme .mbr-reviews-track{grid-auto-columns:calc((100% - 1rem)/2)!important}
}
@media(max-width:768px){
  html body.mbr-theme .navbar{min-height:62px!important;padding:8px 13px!important}
  html body.mbr-theme .navbar-brand{max-width:64vw!important}
  html body.mbr-theme .navbar-nav{display:none!important}
  html body.mbr-theme .hero{padding-top:70px!important}
  html body.mbr-theme .premium-offer-strip{width:calc(100% - 18px)!important;grid-template-columns:1fr!important;padding:19px 15px!important;text-align:center!important}
  html body.mbr-theme .premium-offer-title{font-size:clamp(1.8rem,9vw,2.55rem)!important;margin-left:auto!important;margin-right:auto!important}
  html body.mbr-theme .premium-offer-desc{margin:0 auto!important}
  html body.mbr-theme .premium-offer-action{flex-direction:column!important}
  html body.mbr-theme .premium-book-btn,
  html body.mbr-theme .premium-countdown{width:min(100%,260px)!important}
  html body.mbr-theme .categories-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.85rem!important}
  html body.mbr-theme .category-card{height:270px!important;min-height:270px!important}
  html body.mbr-theme .mbr-results-section,
  html body.mbr-theme .mbr-reviews-section,
  html body.mbr-theme .section{padding:2.8rem .85rem!important}
}
@media(max-width:560px){
  html body.mbr-theme .categories-grid{grid-template-columns:1fr!important;width:calc(100% - 18px)!important}
  html body.mbr-theme .category-card{height:285px!important;min-height:285px!important}
  html body.mbr-theme .mbr-reviews-track{grid-auto-columns:88%!important}
  html body.mbr-theme .mbr-ba-slider{min-height:390px!important}
}
@media(prefers-reduced-motion:reduce){
  html body.mbr-theme .category-card,
  html body.mbr-theme .category-card::after,
  html body.mbr-theme .category-card .mbr-category-action,
  html body.mbr-theme .category-card .mbr-category-action::after{transition:none!important}
}
