/* Manfare layout variants — activated by body classes from the backend
   Header/Footer settings (sf_theme_layout_classes). Native look = no class. */

@media (min-width: 901px) {
  /* Standard — logo left · search centre · icons right */
  body.mfh-logoleft .header-main { grid-template-columns: auto 1fr auto; }
  body.mfh-logoleft .header-main > .site-logo { grid-column: 1; grid-row: 1; justify-self: start; }
  body.mfh-logoleft .header-main > .header-left { grid-column: 2; grid-row: 1; display: flex; justify-content: center; }
  body.mfh-logoleft .header-main > .header-icons { grid-column: 3; grid-row: 1; }

  /* Split — logo left · search + icons right */
  body.mfh-split2 .header-main { grid-template-columns: auto 1fr auto; }
  body.mfh-split2 .header-main > .site-logo { grid-column: 1; grid-row: 1; justify-self: start; }
  body.mfh-split2 .header-main > .header-left { grid-column: 2; grid-row: 1; display: flex; justify-content: flex-end; margin-right: 14px; }
  body.mfh-split2 .header-main > .header-icons { grid-column: 3; grid-row: 1; }

  /* Minimal — logo left · compact search icon · icons right */
  body.mfh-minimal .header-main { grid-template-columns: auto 1fr auto; }
  body.mfh-minimal .header-main > .site-logo { grid-column: 1; grid-row: 1; justify-self: start; }
  body.mfh-minimal .header-main > .header-left { grid-column: 2; grid-row: 1; display: flex; justify-content: flex-end; }
  body.mfh-minimal .header-main > .header-icons { grid-column: 3; grid-row: 1; }
  body.mfh-minimal .header-search { width: auto; background: transparent; border: 0; box-shadow: none; }
  body.mfh-minimal .header-search input { width: 0; min-width: 0; padding: 0; border: 0; opacity: 0; }
  body.mfh-minimal .header-search button { font-size: 17px; }

  /* Legacy alias (pre-1.118.1 saved value) */
  body.mfh-split .header-main { grid-template-columns: auto 1fr auto; }
  body.mfh-split .header-main > .site-logo { grid-column: 1; grid-row: 1; justify-self: start; }
  body.mfh-split .header-main > .header-left { grid-column: 2; grid-row: 1; display: flex; justify-content: center; }
  body.mfh-split .header-main > .header-icons { grid-column: 3; grid-row: 1; }
}

/* Sticky behaviour */
body.mfh-nosticky .site-header { position: static; }
/* Sticky menu-bar-only: JS (v7.js) sets .site-header sticky with a negative top offset equal to the
   height above the nav, so the top row scrolls away and the nav pins to the top. */
@media (min-width: 901px) {
  body.mfh-stickynav .site-header { position: sticky; }
  body.mfh-stickynav .site-nav { z-index: 9001; }
}

/* Announcement / utility top bar off */

/* Footer column layouts (desktop; tablet/mobile keep responsive stacking) */
@media (min-width: 901px) {
  body.mff-3col .footer-grid { grid-template-columns: repeat(3, 1fr); }
  body.mff-2col .footer-grid { grid-template-columns: repeat(2, 1fr); }
  body.mff-1col .footer-grid { grid-template-columns: 1fr; max-width: 640px; }
}

/* Element visibility toggles */
body.mfh-nosearch .header-search { display: none !important; }
body.mfh-nophone .header-phone { display: none !important; }
body.mfh-nowish .header-icons .wishlist-icon-btn { display: none !important; }
body.mfh-nocart .header-icons .icon-btn[data-action="cart"] { display: none !important; }
body.mfh-noacct .header-icons #authTriggerBtn { display: none !important; }

/* Search is now a real form; phone can be a link */
form.header-search { margin: 0; }
a.header-phone { color: inherit; text-decoration: none; }
a.header-phone:hover span { color: var(--color-gold); }

/* ---- Element visibility (per device) ---- */
@media (min-width: 901px) {
  body.mfh-nosearch .header-search { display: none; }
  body.mfh-nophone .header-phone { display: none; }
  body.mfh-nowishlist .header-icons .wishlist-icon-btn { display: none; }
  body.mfh-nocart .header-icons .icon-btn[data-action="cart"] { display: none; }
  body.mfh-noaccount .header-icons #authTriggerBtn { display: none; }
  body.mfh-notopbar .topbar { display: none; }
}
@media (max-width: 900px) {
  body.mfhm-nosearch .header-search { display: none; }
  body.mfhm-nophone .header-phone { display: none; }
  body.mfhm-nowishlist .header-icons .wishlist-icon-btn { display: none; }
  body.mfhm-nocart .header-icons .icon-btn[data-action="cart"] { display: none; }
  body.mfhm-noaccount .header-icons #authTriggerBtn { display: none; }
  body.mfhm-notopbar .topbar { display: none; }
  body.mfhm-nosticky .site-header { position: static; }
}

/* ---- Search box styles ---- */
body.mfh-search-pill .header-search { border-radius: 999px; }
body.mfh-search-boxed .header-search { border: 2px solid var(--color-primary); border-radius: 8px; background: var(--color-white); }
body.mfh-search-underline .header-search { background: transparent; border: 0; border-bottom: 2px solid var(--color-primary); border-radius: 0; box-shadow: none; }

/* Empty top-bar (all items hidden) collapses cleanly */
.topbar-inner:empty, .topbar-left:empty, .topbar-right:empty { display: none; }

/* ---- Search icon-only (opens the search overlay) ---- */
.header-search-icon { display: none; background: transparent; border: 0; cursor: pointer; font-size: 18px; color: var(--color-dark, #2c1810); padding: 8px; align-items: center; justify-content: center; }
body.mfh-search-icon .header-search { display: none !important; }
body.mfh-search-icon .header-search-icon { display: inline-flex; }

/* ---- Header phone: WhatsApp icon-only mode ---- */
.header-phone.header-phone-wa { font-size: 20px; color: #25D366; }
.header-phone.header-phone-wa span { display: none; }

/* ---- Footer (mobile) ---- */
@media (max-width: 900px) {
  body.mffm-2col .footer-grid { grid-template-columns: 1fr 1fr; }
  body.mffm-1col .footer-grid { grid-template-columns: 1fr; }
  body.mffm-nobrand .footer-brand { display: none; }
  body.mffm-nopayment .payment-icons { display: none; }
}

/* ---- Phase E.2 custom homepage sections ---- */
.hp-custom{ padding:44px 0; }
.hp-custom .container{ max-width:var(--container-max,1280px); margin:0 auto; padding:0 20px; }
.hp-c-sub{ text-align:center; color:var(--color-text-muted,#777); margin:8px 0 0; font-size:15px; }
.hp-c-banner img{ border-radius:12px; }
.hp-c-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:20px; margin-top:22px; }
.hp-c-card{ display:block; text-decoration:none; color:inherit; border:1px solid var(--color-border,#eee); border-radius:12px; overflow:hidden; background:var(--color-white,#fff); transition:box-shadow .15s,transform .15s; }
.hp-c-card:hover{ box-shadow:0 8px 24px rgba(0,0,0,.08); transform:translateY(-2px); }
.hp-c-img{ aspect-ratio:3/4; overflow:hidden; background:#f5f5f5; }
.hp-c-img img{ width:100%; height:100%; object-fit:cover; display:block; }
.hp-c-info{ padding:12px 14px; }
.hp-c-name{ font-weight:600; font-size:14px; margin-bottom:4px; line-height:1.35; }
.hp-c-price{ color:var(--color-primary,#0fb39a); font-weight:700; }
@media (max-width:600px){ .hp-c-grid{ grid-template-columns:repeat(2,1fr); gap:12px; } }

/* ===== Phase E.2 content blocks ===== */
.hp-sec{ padding:44px 0; }
.hp-sec .container{ max-width:var(--container-max,1280px); margin:0 auto; padding:0 20px; }
.hp-sec-full > .hp-hero-section, .hp-sec-full > .hp-c-banner{ max-width:none; }
.hp-hide-d{ } @media(min-width:1025px){ .hp-hide-d{ display:none!important; } }
@media(min-width:601px) and (max-width:1024px){ .hp-hide-t{ display:none!important; } }
@media(max-width:600px){ .hp-hide-m{ display:none!important; } }
.hp-c-btn{ display:inline-block; background:linear-gradient(135deg,var(--color-primary,#0fb39a),var(--color-secondary,var(--color-primary,#0b8a76))); color:#fff; padding:11px 26px; border-radius:8px; font-weight:700; text-decoration:none; border:0; cursor:pointer; }
.hp-c-btn-2{ background:transparent; border:2px solid currentColor; }
.hp-c-sub{ text-align:center; color:var(--color-text-muted,#777); margin:8px 0 0; }
.hp-c-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:20px; margin-top:22px; }
.hp-c-carousel{ display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; margin-top:22px; padding-bottom:8px; }
.hp-c-carousel > .hp-c-card{ flex:0 0 240px; scroll-snap-align:start; }
.hp-c-card{ display:block; text-decoration:none; color:inherit; border:1px solid var(--color-border,#eee); border-radius:12px; overflow:hidden; background:var(--color-white,#fff); transition:box-shadow .15s,transform .15s; }
.hp-c-card:hover{ box-shadow:0 8px 24px rgba(0,0,0,.08); transform:translateY(-2px); }
.hp-c-img{ aspect-ratio:3/4; overflow:hidden; background:#f5f5f5; }
.hp-c-img img{ width:100%; height:100%; object-fit:cover; display:block; }
.hp-c-info{ padding:12px 14px; } .hp-c-name{ font-weight:600; font-size:14px; margin-bottom:4px; line-height:1.35; }
.hp-c-price{ color:var(--color-primary,#0fb39a); font-weight:700; } .hp-c-old{ color:#9aa4b2; text-decoration:line-through; font-weight:400; font-size:12px; }
.hp-cat-grid{ display:grid; gap:18px; margin-top:22px; }
.hp-cat-card{ display:block; text-decoration:none; color:inherit; border-radius:12px; overflow:hidden; position:relative; background:#f5f5f5; }
.hp-cat-card img{ width:100%; aspect-ratio:1; object-fit:cover; display:block; } .hp-cat-noimg{ aspect-ratio:1; display:flex; align-items:center; justify-content:center; font-size:34px; color:#c9c2b8; }
.hp-cat-card span{ position:absolute; left:0; right:0; bottom:0; background:linear-gradient(transparent,rgba(0,0,0,.7)); color:#fff; padding:20px 12px 12px; font-weight:700; text-align:center; }
.hp-it-grid{ display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:center; } @media(max-width:768px){ .hp-it-grid{ grid-template-columns:1fr; gap:20px; } }
.hp-it-img img{ width:100%; border-radius:12px; display:block; } .hp-it-body{ color:var(--color-text-muted,#555); line-height:1.7; margin:10px 0 18px; }
.hp-feat-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:24px; }
.hp-feat{ display:flex; gap:14px; align-items:center; } .hp-feat i{ font-size:26px; color:var(--color-primary,#0fb39a); } .hp-feat-t{ font-weight:700; } .hp-feat-x{ color:var(--color-text-muted,#777); font-size:13px; }
.hp-test-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:20px; margin-top:22px; }
.hp-test{ border:1px solid var(--color-border,#eee); border-radius:12px; padding:20px; background:#fff; } .hp-test-stars{ color:#f0ad4e; margin-bottom:8px; } .hp-test-name{ font-weight:700; margin-top:10px; }
.hp-video{ position:relative; aspect-ratio:16/9; margin-top:22px; border-radius:12px; overflow:hidden; } .hp-video iframe{ width:100%; height:100%; border:0; }
.hp-nl{ text-align:center; } .hp-nl-form{ display:flex; gap:10px; max-width:480px; margin:18px auto 0; } .hp-nl-form input{ flex:1; padding:12px 14px; border:1px solid var(--color-border,#ddd); border-radius:8px; }
/* (removed legacy .hp-hero custom-controller CSS — replaced by the .hp-hero-swiper Swiper hero below) */

/* ============ Phase E.2 universal block styles ============ */
/* Section headings (homepage sections AND content blocks) must render exactly
   as typed — never force ALL-CAPS. This overrides the theme's default
   .section-title{ text-transform:uppercase } so headings like "Best Sellers"
   or "Luxury Panjabi Collection" show with their entered casing. Buttons,
   badges and eyebrow labels keep their own intentional uppercase. */
.section-title,
[data-hpblock="1"] h1, [data-hpblock="1"] h2, [data-hpblock="1"] h3,
[data-hpblock="1"] h4, [data-hpblock="1"] h5, [data-hpblock="1"] h6,
.hp-heading, .hp-heading-sub{ text-transform:none; }
.hp-heading{ margin:0 0 6px; line-height:1.2; }
.hp-heading-sub{ margin:0; color:#6b7280; font-size:15px; }

/* SweetAlert must always sit ABOVE storefront drawers/overlays — the quick-view
   sidebar (z-index 8100), the cart drawer, etc. — so messages like "Please select
   a colour/size", "Added to cart" and "Maximum stock reached" appear in front of
   the right sidebar instead of behind it. Default swal2 z-index is only 1060. */
.swal2-container{ z-index:200000 !important; }
.hp-c-btn{ display:inline-block; text-decoration:none; font-weight:600; border-radius:9px; transition:.15s; cursor:pointer; border:1px solid transparent; }
.hp-btn-sm{ padding:7px 14px; font-size:13px; } .hp-btn-md{ padding:10px 20px; font-size:14px; } .hp-btn-lg{ padding:14px 28px; font-size:16px; }
.hp-btn-solid{ background:linear-gradient(135deg,var(--primary,#0fb39a),var(--secondary,var(--primary-dark,#0b8a76))); color:#fff; }
.hp-btn-outline{ background:transparent; border-color:var(--primary,#0fb39a); color:var(--primary,#0fb39a); }
.hp-btn-light{ background:#f1f5f9; color:#111827; }
.hp-btn-link{ background:transparent; color:var(--primary,#0fb39a); padding-left:0; padding-right:0; }
.hp-c-btn:hover{ filter:brightness(.96); transform:translateY(-1px); }
.hp-container{ }
.hp-cols{ display:flex; flex-wrap:wrap; }
.hp-col{ min-width:0; }
.hp-grid{ display:grid; }
.hp-grid-cell{ min-width:0; }
.hp-tabs{ }
.hp-tabnav{ display:flex; flex-wrap:wrap; gap:4px; border-bottom:2px solid #eef1f5; margin-bottom:16px; }
.hp-tab{ border:0; background:none; padding:10px 18px; font-weight:600; font-size:14px; color:#6b7280; cursor:pointer; border-bottom:2px solid transparent; margin-bottom:-2px; font-family:inherit; }
.hp-tab.active{ color:var(--primary,#0fb39a); border-bottom-color:var(--primary,#0fb39a); }
.hp-tabpanel{ display:none; } .hp-tabpanel.active{ display:block; }
.hp-acc-item{ border:1px solid #e5e7eb; border-radius:10px; margin-bottom:10px; overflow:hidden; }
.hp-acc-h{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px 16px; background:#fff; border:0; font-weight:600; font-size:15px; cursor:pointer; text-align:left; font-family:inherit; }
.hp-acc-h i{ transition:.2s; color:#9aa4b2; }
.hp-acc-item.open .hp-acc-h i{ transform:rotate(180deg); }
.hp-acc-b{ display:none; padding:2px 16px 16px; color:#4b5563; }
.hp-acc-item.open .hp-acc-b{ display:block; }
.hp-gallery{ display:grid; gap:12px; }
.hp-gal-item{ margin:0; border-radius:10px; overflow:hidden; }
.hp-gal-item img{ width:100%; height:100%; object-fit:cover; display:block; aspect-ratio:1/1; }
.hp-gal-item figcaption{ font-size:12px; color:#6b7280; padding:6px 2px; }
.hp-carousel{ display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - (var(--cols) - 1) * 14px) / var(--cols)); gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:8px; }
.hp-carousel-slot{ scroll-snap-align:start; text-decoration:none; color:inherit; }
.hp-carousel-card{ border:1px solid #eef1f5; border-radius:12px; overflow:hidden; background:#fff; }
.hp-carousel-card img{ width:100%; aspect-ratio:1/1; object-fit:cover; display:block; }
.hp-carousel-t{ padding:10px 12px; font-weight:600; font-size:14px; }
.hp-cards{ display:grid; gap:20px; }
.hp-card{ border:1px solid #eef1f5; border-radius:14px; overflow:hidden; background:#fff; display:flex; flex-direction:column; transition:.15s; }
.hp-card:hover{ box-shadow:0 10px 30px rgba(0,0,0,.08); transform:translateY(-2px); }
.hp-card-link{ text-decoration:none; color:inherit; display:flex; flex-direction:column; }
.hp-card-img img{ width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.hp-card-ic{ font-size:34px; color:var(--primary,#0fb39a); padding:22px 22px 0; }
.hp-card-body{ padding:16px 18px 20px; }
.hp-card-t{ font-weight:700; font-size:16px; margin-bottom:6px; }
.hp-card-x{ color:#6b7280; font-size:14px; line-height:1.5; margin-bottom:12px; }
.hp-pricing{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:20px; }
.hp-plan{ border:1px solid #e5e7eb; border-radius:16px; padding:26px 22px; background:#fff; text-align:center; }
.hp-plan.featured{ border-color:var(--primary,#0fb39a); box-shadow:0 12px 34px rgba(15,179,154,.16); transform:translateY(-4px); }
.hp-plan-name{ font-weight:700; font-size:18px; }
.hp-plan-price{ font-size:32px; font-weight:800; margin:10px 0 16px; color:var(--primary-dark,#0b8a76); }
.hp-plan-feat{ list-style:none; margin:0 0 18px; padding:0; text-align:left; }
.hp-plan-feat li{ padding:7px 0 7px 24px; position:relative; color:#4b5563; font-size:14px; border-bottom:1px dashed #eef1f5; }
.hp-plan-feat li::before{ content:"\2713"; position:absolute; left:0; color:var(--primary,#0fb39a); font-weight:700; }
.hp-map{ border-radius:12px; overflow:hidden; line-height:0; }
.hp-map-addr{ font-size:13px; color:#6b7280; padding:8px 2px; }
.hp-embed{ }
.hp-richtext{ line-height:1.6; }
@media (max-width:768px){
  .hp-cols{ flex-direction:column; } .hp-col{ max-width:100% !important; flex-basis:100% !important; }
  .hp-grid{ grid-template-columns:1fr 1fr !important; } .hp-gallery{ grid-template-columns:repeat(2,1fr) !important; }
  .hp-cards{ grid-template-columns:1fr 1fr !important; }
}
/* entrance animations (Advanced tab) */
.hp-anim-fade{ animation:hpFade .6s ease both; }
.hp-anim-slide-up{ animation:hpSlideUp .6s ease both; }
.hp-anim-slide-left{ animation:hpSlideLeft .6s ease both; }
.hp-anim-zoom{ animation:hpZoom .5s ease both; }
@keyframes hpFade{ from{opacity:0} to{opacity:1} }
@keyframes hpSlideUp{ from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:none} }
@keyframes hpSlideLeft{ from{opacity:0;transform:translateX(40px)} to{opacity:1;transform:none} }
@keyframes hpZoom{ from{opacity:0;transform:scale(.94)} to{opacity:1;transform:none} }

/* Hero slider — slider label eyebrow */
.hp-hero-label{ display:inline-block; font-size:12px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; padding:5px 12px; border-radius:999px; background:rgba(255,255,255,.18); backdrop-filter:blur(4px); margin-bottom:12px; }

/* rich (Jodit) content inside hero/cards — reset default paragraph spacing */
.hp-hero-cap .hp-hero-sub p, .hp-hero-cap .hp-hero-desc p{ margin:0 0 4px; }
.hp-hero-cap .hp-hero-sub p:last-child, .hp-hero-cap .hp-hero-desc p:last-child{ margin-bottom:0; }
.hp-card-x p{ margin:0 0 6px; } .hp-card-x p:last-child{ margin-bottom:0; }

/* ============================================================
   Content Library — Hero Slider (Swiper), styled like the
   theme Main Slider but scoped to .hp-hero-swiper so it never
   collides with the homepage .hero-swiper init.
   ============================================================ */
.hp-sec.hp-sec-hero_slider, .hp-sec.hp-sec-hero_banner{ padding:0; }  /* heroes are full-bleed by default; the block's Outer gap adds padding */
.hp-hero-section{ position:relative; overflow:hidden; }
.hp-hero-swiper{ width:100%; height:var(--hph,560px); }
.hp-hero-swiper > .swiper-wrapper{ height:100%; }
.hp-hero-slide.swiper-slide{ height:100%; }
.hp-hero-banner{ position:relative; overflow:hidden; width:100%; }
.hp-hero-slide{ position:relative; overflow:hidden; }
.hp-hero-img{ width:100%; height:100%; object-fit:cover; display:block; }
/* YouTube background video */
.hp-hero-video{ position:absolute; inset:0; z-index:1; overflow:hidden; pointer-events:none; background:#000; }
.hp-hero-poster{ position:absolute; inset:0; z-index:2; width:100%; height:100%; object-fit:cover; transition:opacity .8s ease; }
.hp-hero-slide.video-ready .hp-hero-poster{ opacity:0; }
.hp-hero-video iframe{ position:absolute; top:50%; left:50%; width:100vw; height:56.25vw; min-height:100%; min-width:177.78vh; transform:translate(-50%,-50%); border:0; }
.hp-hero-overlay{ position:absolute; inset:0; z-index:3; display:flex; align-items:center; padding:0 8%; }
.hp-hero-pos-middle{ justify-content:center; text-align:center; }
.hp-hero-pos-right{ justify-content:flex-end; text-align:right; }
.hp-hero-pos-middle .hp-hero-btns{ justify-content:center; }
.hp-hero-pos-right  .hp-hero-btns{ justify-content:flex-end; }
.hp-hero-content{ max-width:520px; }
.hp-hero-badge{ display:inline-block; background:var(--color-gold,#c9a227); color:#1a1a1a; font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:5px 14px; border-radius:999px; margin-bottom:16px; }
.hp-hero-content h1{ font-size:clamp(2.2rem,5vw,3.8rem); font-weight:700; color:#fff; line-height:1.15; margin:0 0 16px; text-shadow:0 2px 20px rgba(0,0,0,.3); }
.hp-hero-sub{ font-size:.98rem; color:rgba(255,255,255,.85); margin-bottom:26px; line-height:1.7; }
.hp-hero-sub p{ margin:0 0 6px; } .hp-hero-sub p:last-child{ margin-bottom:0; }
.hp-hero-btns{ display:flex; gap:14px; flex-wrap:wrap; }
.hp-hero-btn{ background:var(--color-gold,#c9a227); color:#1a1a1a; padding:13px 32px; border-radius:999px; font-size:.82rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; transition:transform .2s, box-shadow .2s; box-shadow:0 4px 18px rgba(201,162,39,.28); display:inline-block; }
.hp-hero-btn:hover{ transform:translateY(-2px); box-shadow:0 6px 28px rgba(201,162,39,.4); }
.hp-hero-btn-outline{ background:transparent !important; color:#fff !important; border:2px solid rgba(255,255,255,.6); box-shadow:none; }
.hp-hero-btn-outline:hover{ background:rgba(255,255,255,.12) !important; border-color:#fff; }
/* Swiper nav + pagination */
.hp-hero-section .swiper-button-next,
.hp-hero-section .swiper-button-prev{ color:#fff; background:rgba(44,24,16,.55); width:46px; height:46px; border-radius:50%; backdrop-filter:blur(4px); transition:background .2s, color .2s; }
.hp-hero-section .swiper-button-next::after,
.hp-hero-section .swiper-button-prev::after{ font-size:1rem; font-weight:700; }
.hp-hero-section .swiper-button-next:hover,
.hp-hero-section .swiper-button-prev:hover{ background:var(--color-gold,#c9a227); color:#1a1a1a; }
.hp-hero-section .swiper-pagination-bullet{ background:rgba(255,255,255,.5); width:8px; height:8px; opacity:1; transition:width .2s, background .2s; }
.hp-hero-section .swiper-pagination-bullet-active{ background:var(--color-gold,#c9a227); width:24px; border-radius:4px; }
/* Text animations — replay each time a slide becomes active.
   Content stays visible by default (so the hero never goes blank if Swiper
   is slow/absent); the entrance animation just replays on the active slide. */
.hp-hero-swiper .swiper-slide-active .hp-hero-content.hp-anim-fade-up{ animation:hpHeroFadeUp .85s ease forwards; }
.hp-hero-swiper .swiper-slide-active .hp-hero-content.hp-anim-fade{ animation:hpHeroFade .9s ease forwards; }
.hp-hero-swiper .swiper-slide-active .hp-hero-content.hp-anim-slide-left{ animation:hpHeroSlideL .8s ease forwards; }
.hp-hero-swiper .swiper-slide-active .hp-hero-content.hp-anim-slide-right{ animation:hpHeroSlideR .8s ease forwards; }
.hp-hero-swiper .swiper-slide-active .hp-hero-content.hp-anim-zoom{ animation:hpHeroZoom .9s ease forwards; }
.hp-hero-swiper .swiper-slide-active .hp-hero-content.hp-anim-none{ opacity:1; animation:none; }
@keyframes hpHeroFadeUp{ from{opacity:0;transform:translateY(34px);} to{opacity:1;transform:translateY(0);} }
@keyframes hpHeroFade{ from{opacity:0;} to{opacity:1;} }
@keyframes hpHeroSlideL{ from{opacity:0;transform:translateX(-48px);} to{opacity:1;transform:translateX(0);} }
@keyframes hpHeroSlideR{ from{opacity:0;transform:translateX(48px);} to{opacity:1;transform:translateX(0);} }
@keyframes hpHeroZoom{ from{opacity:0;transform:scale(.9);} to{opacity:1;transform:scale(1);} }
/* Responsive height — definite per-breakpoint heights (matching the theme Main Slider) so
   object-fit:cover always fills and there's no gap. !important beats the inline desktop height. */
@media (max-width:991px){
  .hp-hero-swiper, .hp-hero-banner{ height:420px !important; }
  .hp-hero-content{ max-width:100% !important; }
  .hp-hero-overlay{ padding:0 7% !important; }
}
@media (max-width:576px){
  .hp-hero-swiper, .hp-hero-banner{ height:320px !important; }
  .hp-hero-overlay{ padding:0 6% !important; align-items:center; }
  .hp-hero-content h1{ margin-bottom:12px; }
  .hp-hero-sub{ margin-bottom:16px; }
  .hp-hero-badge{ padding:4px 11px; margin-bottom:11px; }
  .hp-hero-btns{ gap:10px; }
  .hp-hero-btn{ padding:11px 22px; font-size:.74rem; }
}

/* Homepage builder — responsive multi-column grid (sections choose a width/span) */
.hp-page-grid{ display:grid; grid-template-columns:repeat(12,1fr); column-gap:24px; row-gap:0; align-items:start; width:100%; }
.hp-page-grid > .hp-sec{ grid-column:span 12; min-width:0; }
@media (max-width:900px){ .hp-page-grid{ column-gap:16px; } .hp-page-grid > .hp-sec[class*="hp-col-"]{ grid-column:span 6 !important; } .hp-page-grid > .hp-sec.hp-col-12, .hp-page-grid > .hp-sec.hp-col-8{ grid-column:1 / -1 !important; } }
@media (max-width:600px){ .hp-page-grid{ grid-template-columns:1fr; column-gap:0; } .hp-page-grid > .hp-sec{ grid-column:1 / -1 !important; } }
