/* ═══════════════════════════════════════════════════════════
   LensArt Theme v2.2 — main.css  (Light Gold/Cream Theme)
   Author: dev.com.vn
   ═══════════════════════════════════════════════════════════ */

:root {
  --gold:         #B8922A;
  --gold-dark:    #9A7820;
  --gold-light:   #D4AA50;
  --gold-pale:    #F5E6C0;
  --gold-10:      rgba(184,146,42,0.10);
  --gold-20:      rgba(184,146,42,0.20);
  --gold-30:      rgba(184,146,42,0.30);
  --bg:           #FDFAF4;
  --bg-2:         #F7F2E8;
  --bg-3:         #EFE8D6;
  --bg-card:      #FFFFFF;
  --text:         #2C2416;
  --text-2:       #5A4A2A;
  --text-muted:   #8C7A56;
  --text-light:   #B5A080;
  --border:       rgba(184,146,42,0.22);
  --border-light: rgba(184,146,42,0.10);
  --radius:       4px;
  --radius-lg:    8px;
  --shadow-sm:    0 2px 8px rgba(90,60,10,0.08);
  --shadow:       0 4px 20px rgba(90,60,10,0.12);
  --shadow-lg:    0 8px 40px rgba(90,60,10,0.16);
  --transition:   0.22s ease;
  --header-h:     68px;
  --mobile-nav-h: 60px;
  --font-heading: 'Manrope', Arial, sans-serif;
  --font-body: 'Inter', Arial, sans-serif;
  --font-main: 'Inter', Arial, sans-serif;
  --desc-size: 12.8px;
}


*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-weight:400;font-size:20px;line-height:1.7;overflow-x:hidden}
a{color:var(--gold-dark);text-decoration:none;transition:color var(--transition)}
a:hover{color:var(--gold)}
img{max-width:100%;height:auto;display:block}
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:var(--bg-2)}
::-webkit-scrollbar-thumb{background:var(--gold-light);border-radius:3px}

h1,h2,h3,h4{font-family:var(--font-body);color:var(--text);line-height:1.15;font-weight:600}
h1{font-size:clamp(36px,4vw,68px)}
h2{font-size:clamp(29px,3vw,49px)}
h3{font-size:clamp(22px,2vw,31px)}
em{font-style:italic;color:var(--gold-dark)}
p{color:var(--text-2)}

/* LAYOUT */
.section{padding:60px 24px;position:relative}
.section-label{font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:10px;display:block;font-weight:600}
.section-title{font-family:var(--font-body);font-size:clamp(31px,3.5vw,52px);font-weight:600;color:var(--text);line-height:1.1}
.section-accent{width:40px;height:3px;background:linear-gradient(90deg,var(--gold-dark),var(--gold-pale));margin:12px 0 0;border-radius:2px}
.section-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:36px;flex-wrap:wrap;gap:12px}
.section-more{font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dark);border-bottom:1px solid var(--gold-20);padding-bottom:2px;transition:color var(--transition),border-color var(--transition)}
.section-more:hover{color:var(--gold);border-color:var(--gold-30)}
.section-divider{border:none;border-top:1px solid var(--border-light);margin:0 24px}
.section-cta-center{text-align:center;margin-top:32px}

/* BUTTONS */
.btn-primary{display:inline-block;background:linear-gradient(135deg,var(--gold-dark),var(--gold-light));color:#fff;padding:12px 30px;border:none;border-radius:var(--radius);font-family:var(--font-body);font-size:16px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:opacity var(--transition),transform .15s;box-shadow:0 3px 12px rgba(184,146,42,.35)}
.btn-primary:hover{opacity:.9;transform:translateY(-1px);color:#fff}
.btn-ghost{display:inline-block;background:transparent;color:var(--gold-dark);padding:11px 28px;border:1.5px solid var(--gold-30);border-radius:var(--radius);font-family:var(--font-body);font-size:16px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:all var(--transition)}
.btn-ghost:hover{background:var(--gold-10);border-color:var(--gold);color:var(--gold-dark)}

/* HEADER */
.site-header{position:fixed;top:0;left:0;right:0;z-index:200;height:var(--header-h);background:rgba(253,250,244,.95);border-bottom:1px solid var(--border-light);backdrop-filter:blur(16px);transition:box-shadow var(--transition)}
.site-header.scrolled{box-shadow:var(--shadow-sm);border-bottom-color:var(--border)}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 24px;gap:20px}
.logo{font-family:var(--font-body);font-size:27px;font-weight:600;letter-spacing:.1em;color:var(--text);display:flex;align-items:center;gap:9px;white-space:nowrap}
.logo:hover{color:var(--gold-dark)}
.logo-dot{width:7px;height:7px;background:linear-gradient(135deg,var(--gold-dark),var(--gold-light));border-radius:50%;flex-shrink:0}
.desktop-nav .nav-list{list-style:none;display:flex;align-items:center;gap:28px}
.desktop-nav .nav-list a{color:var(--text-muted);font-size:14px;letter-spacing:.14em;text-transform:uppercase;transition:color var(--transition)}
.desktop-nav .nav-list a:hover,.desktop-nav .nav-list .current-menu-item>a{color:var(--gold-dark)}
.header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
.nav-cta{background:transparent;border:1.5px solid var(--gold-30);color:var(--gold-dark);padding:8px 18px;border-radius:var(--radius);font-size:14px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:all var(--transition);white-space:nowrap}
.nav-cta:hover{background:linear-gradient(135deg,var(--gold-dark),var(--gold-light));color:#fff;border-color:transparent}
.basket-toggle{background:var(--bg-2);border:1px solid var(--border);color:var(--gold-dark);padding:7px 13px;border-radius:var(--radius);cursor:pointer;font-size:17px;display:flex;align-items:center;gap:6px;transition:all var(--transition)}
.basket-toggle:hover{background:var(--gold-pale);border-color:var(--gold)}
.basket-count{background:linear-gradient(135deg,var(--gold-dark),var(--gold-light));color:#fff;font-size:13px;font-weight:600;padding:2px 6px;border-radius:100px;min-width:18px;text-align:center}
.header-search-toggle{background:none;border:none;color:var(--text-muted);font-size:21px;cursor:pointer;padding:4px;transition:color var(--transition)}
.header-search-toggle:hover{color:var(--gold-dark)}
.hamburger{display:none;flex-direction:column;gap:5px;padding:6px;background:none;border:none;cursor:pointer}
.hamburger span{width:22px;height:2px;background:var(--text);border-radius:2px;transition:all .3s}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

.header-search-bar{position:fixed;top:var(--header-h);left:0;right:0;z-index:190;background:var(--bg-card);border-bottom:1px solid var(--border);padding:14px 52px;transform:translateY(-110%);transition:transform .3s ease;box-shadow:var(--shadow-sm)}
.header-search-bar.open{transform:translateY(0)}
.header-search-inner{display:flex;align-items:center;gap:12px}
.header-search-input{flex:1;background:transparent;border:none;border-bottom:2px solid var(--border);color:var(--text);font-size:21px;padding:8px 0;outline:none;font-family:var(--font-body);transition:border-color var(--transition)}
.header-search-input:focus{border-bottom-color:var(--gold)}
.header-search-input::placeholder{color:var(--text-light)}
.header-search-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:23px}
.header-search-results{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.search-result-item{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:7px 14px;font-size:16px;color:var(--text-2);cursor:pointer;transition:all var(--transition)}
.search-result-item:hover{background:var(--gold-pale);border-color:var(--gold);color:var(--gold-dark)}

.mobile-drawer{position:fixed;top:var(--header-h);right:-310px;width:290px;height:calc(100vh - var(--header-h));background:var(--bg-card);border-left:1px solid var(--border);z-index:195;transition:right .3s ease;overflow-y:auto;padding:20px;box-shadow:var(--shadow-lg)}
.mobile-drawer.open{right:0}
.mobile-drawer .mobile-nav-list{list-style:none}
.mobile-drawer .mobile-nav-list li{border-bottom:1px solid var(--border-light)}
.mobile-drawer .mobile-nav-list a{display:block;padding:13px 0;color:var(--text-2);font-size:18px;transition:color var(--transition)}
.mobile-drawer .mobile-nav-list a:hover{color:var(--gold-dark)}
.mobile-overlay{display:none;position:fixed;inset:0;background:rgba(44,36,22,.45);z-index:194}
.mobile-overlay.show{display:block}
.mobile-nav-contact{margin-top:20px}
.mobile-phone{display:block;color:var(--gold-dark);font-size:20px;margin-bottom:8px}

/* ══ HERO — COMPACT BANNER ══════════════════════════════════ */
.hero{min-height:0;padding:calc(var(--header-h) + 56px) 24px 52px;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--bg-3) 0%,var(--bg-2) 50%,var(--gold-pale) 100%)}
.hero-bg{position:absolute;inset:0;z-index:0;background:linear-gradient(135deg,rgba(253,250,244,.82) 0%,rgba(247,242,232,.75) 50%,rgba(245,230,192,.65) 100%),url('https://images.unsplash.com/photo-1612550893388-8d25fc77a1e5?w=1600&q=80') center/cover no-repeat}
.hero-inner{position:relative;z-index:1;max-width:640px}
.hero-label{font-size:13px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:12px;font-weight:600}
.hero-title{font-family:var(--font-body);font-size:clamp(39px,4.5vw,75px);font-weight:600;line-height:1.08;color:var(--text);letter-spacing:-.02em}
.hero-title em{color:var(--gold-dark)}
.hero-sub{margin-top:14px;font-size:20px;color:var(--text-2);line-height:1.8;max-width:500px}
.hero-actions{margin-top:26px;display:flex;gap:12px;flex-wrap:wrap}
.hero-stats{display:none}
.hero-stats-row{display:flex;gap:28px;margin-top:28px;padding-top:18px;border-top:1px solid var(--border);flex-wrap:wrap}
.hero-stats-row .stat-item{display:flex;align-items:center;gap:10px}
.stat-num{font-family:var(--font-body);font-size:31px;font-weight:600;color:var(--gold-dark);line-height:1}
.stat-label{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted)}

/* SEARCH BAR */
.search-section{position:relative;z-index:10;padding:28px 24px 0}
.lensart-search-wrap{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 26px;display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;box-shadow:var(--shadow)}
.search-field{display:flex;flex-direction:column;gap:6px;flex:1;min-width:140px}
.search-field--wide{flex:2}
.search-field--btn{flex:0 0 auto}
.search-field label{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-dark);font-weight:600}
.search-input,.search-select{background:transparent;border:none;border-bottom:1.5px solid var(--border);color:var(--text);font-family:var(--font-body);font-size:18px;padding:7px 0;outline:none;transition:border-color var(--transition);width:100%}
.search-input::placeholder{color:var(--text-light)}
.search-input:focus,.search-select:focus{border-bottom-color:var(--gold)}
.search-select option{background:var(--bg-card);color:var(--text)}
.search-btn{background:linear-gradient(135deg,var(--gold-dark),var(--gold-light));color:#fff;border:none;padding:11px 24px;border-radius:var(--radius);font-family:var(--font-body);font-size:14px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:opacity var(--transition);box-shadow:0 2px 10px rgba(184,146,42,.3)}
.search-btn:hover{opacity:.88}

/* CATEGORY STRIP */
.hp-cats-section{padding:16px 24px 0}
.hp-cats-scroll{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.hp-cats-scroll::-webkit-scrollbar{display:none}
.hp-cat-pill{padding:7px 16px;border:1px solid var(--border);border-radius:100px;color:var(--text-muted);font-size:16px;letter-spacing:.06em;white-space:nowrap;transition:all var(--transition);flex-shrink:0;background:var(--bg-card)}
.hp-cat-pill:hover,.hp-cat-pill.active{background:linear-gradient(135deg,var(--gold-dark),var(--gold-light));color:#fff;border-color:transparent;box-shadow:0 2px 8px rgba(184,146,42,.25)}

/* FILTER PILLS */
.lensart-filter-pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px}
.pill{padding:7px 16px;border:1px solid var(--border);border-radius:100px;background:var(--bg-card);color:var(--text-muted);font-size:16px;letter-spacing:.06em;cursor:pointer;transition:all var(--transition);white-space:nowrap}
.pill:hover,.pill.active{background:linear-gradient(135deg,var(--gold-dark),var(--gold-light));color:#fff;border-color:transparent;box-shadow:0 2px 8px rgba(184,146,42,.25)}

/* CONCEPT GRID */
.lensart-concept-grid{display:grid;gap:18px;grid-template-columns:repeat(4,1fr)}
.lensart-cols-2{grid-template-columns:repeat(2,1fr)}
.lensart-cols-3{grid-template-columns:repeat(3,1fr)}
.lensart-cols-4{grid-template-columns:repeat(4,1fr)}

/* CONCEPT CARD */
.concept-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s;box-shadow:var(--shadow-sm)}
.concept-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--border)}
.concept-card--featured{grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr}
.card-img-link{display:block;position:relative;overflow:hidden}
.card-img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .5s ease}
.concept-card:hover .card-img{transform:scale(1.04)}
.card-img--avatar{width:100%;aspect-ratio:4/3;background:linear-gradient(135deg,var(--bg-2),var(--gold-pale));display:flex;align-items:center;justify-content:center}
.avatar-letters{font-family:var(--font-body);font-size:clamp(42px,8vw,88px);font-weight:600;color:var(--gold-dark);opacity:.5;letter-spacing:.05em}
.card-badge{position:absolute;top:10px;left:10px;z-index:2;background:linear-gradient(135deg,var(--gold-dark),var(--gold-light));color:#fff;font-size:12px;letter-spacing:.16em;text-transform:uppercase;padding:4px 10px;border-radius:var(--radius);box-shadow:0 2px 6px rgba(184,146,42,.4)}
.card-code{position:absolute;bottom:10px;right:10px;z-index:2;background:rgba(255,255,255,.85);color:var(--gold-dark);font-size:12px;letter-spacing:.1em;padding:3px 8px;border-radius:var(--radius);backdrop-filter:blur(4px)}
.card-body{padding:16px 18px 20px}
.card-category{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:6px;font-weight:600}
.card-title{font-family:var(--font-body);font-size:23px;font-weight:600;color:var(--text);line-height:1.25;margin-bottom:7px}
.card-title a{color:var(--text)}
.card-title a:hover{color:var(--gold-dark)}
.card-desc{font-size:16px;color:var(--text-muted);line-height:1.65;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-meta{display:flex;gap:10px;flex-wrap:wrap;border-top:1px solid var(--border-light);padding-top:10px;margin-bottom:10px}
.meta-item{display:flex;flex-direction:column;gap:2px}
.meta-icon{font-size:13px}
.meta-label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-light)}
.meta-value{font-size:16px;color:var(--text-2);font-weight:500}
.card-style-tags{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:10px}
.style-tag{font-size:12px;padding:3px 8px;border:1px solid var(--border);border-radius:100px;color:var(--text-muted);background:var(--bg-2)}
.card-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:7px}
.card-price{font-family:var(--font-body);font-size:26px;font-weight:600;color:var(--gold-dark)}
.card-price small{font-size:14px;color:var(--text-muted);font-family:var(--font-body);font-weight:400}
.price-contact{font-size:17px;color:var(--text-muted);font-family:var(--font-body)}
.card-actions{display:flex;gap:6px;flex-shrink:0}
.card-btn-view{background:linear-gradient(135deg,var(--gold-dark),var(--gold-light));color:#fff;border:none;padding:8px 14px;font-family:var(--font-body);font-size:13px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border-radius:var(--radius);transition:opacity var(--transition);box-shadow:0 2px 8px rgba(184,146,42,.3)}
.card-btn-view:hover{opacity:.88;color:#fff}
.card-btn-save,.card-btn-book{background:var(--bg-2);border:1px solid var(--border);color:var(--text-muted);padding:7px 10px;font-size:16px;cursor:pointer;border-radius:var(--radius);transition:all var(--transition)}
.card-btn-save:hover,.card-btn-book:hover{background:var(--gold-pale);border-color:var(--gold);color:var(--gold-dark)}
.card-btn-save.saved{background:var(--gold-pale);color:var(--gold-dark);border-color:var(--gold-30)}

/* STUDIO GRID */
.lensart-studio-grid{display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}
.studio-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);overflow:hidden;transition:transform .25s,box-shadow .25s;box-shadow:var(--shadow-sm)}
.studio-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.studio-img-link{display:block;position:relative;overflow:hidden}
.studio-img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .5s}
.studio-card:hover .studio-img{transform:scale(1.04)}
.studio-img--avatar{width:100%;aspect-ratio:16/10;background:linear-gradient(145deg,var(--bg-2),var(--gold-pale));display:flex;align-items:center;justify-content:center}
.studio-type-tag{position:absolute;bottom:10px;left:10px;z-index:1;background:linear-gradient(135deg,var(--gold-dark),var(--gold-light));color:#fff;font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:4px 10px;border-radius:var(--radius)}
.studio-body{padding:14px 16px 16px}
.studio-name{font-family:var(--font-body);font-size:22px;font-weight:600;color:var(--text);margin-bottom:4px}
.studio-name a{color:var(--text)}
.studio-name a:hover{color:var(--gold-dark)}
.studio-address{font-size:14px;color:var(--gold-dark);margin-bottom:5px;font-weight:500}
.studio-desc{font-size:16px;color:var(--text-muted);line-height:1.6;margin-bottom:9px}
.studio-rooms{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:9px}
.room-tag{font-size:13px;padding:3px 9px;border:1px solid var(--border);border-radius:100px;color:var(--text-muted);background:var(--bg-2)}
.studio-price{font-family:var(--font-body);font-size:22px;color:var(--gold-dark);font-weight:600;margin-bottom:8px}

/* OUTFIT */
.lensart-outfit-scroll{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin;scrollbar-color:var(--gold-light) var(--bg-2)}
.outfit-card{flex:0 0 165px;background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow .25s,border-color .25s;box-shadow:var(--shadow-sm)}
.outfit-card:hover{box-shadow:var(--shadow);border-color:var(--border)}
.outfit-img{width:100%;aspect-ratio:2/3;object-fit:cover}
.outfit-img--avatar{width:100%;aspect-ratio:2/3;background:linear-gradient(160deg,var(--bg-2),var(--gold-pale));display:flex;align-items:center;justify-content:center}
.outfit-body{padding:10px 12px}
.outfit-name{font-family:var(--font-body);font-size:18px;color:var(--text);font-weight:600}
.outfit-name a{color:var(--text)}
.outfit-style{font-size:13px;color:var(--gold-dark);letter-spacing:.07em;margin-top:3px}
.outfit-sizes,.outfit-color{font-size:13px;color:var(--text-muted);margin-top:2px}
.lensart-outfit-grid{display:grid;gap:16px;grid-template-columns:repeat(5,1fr)}

/* LOCATION */
.lensart-location-grid{display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}
.location-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);overflow:hidden;transition:transform .25s,box-shadow .25s;box-shadow:var(--shadow-sm)}
.location-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.location-img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .5s}
.location-card:hover .location-img{transform:scale(1.04)}
.location-img--avatar{width:100%;aspect-ratio:16/9;background:linear-gradient(135deg,var(--bg-2),var(--gold-pale));display:flex;align-items:center;justify-content:center}
.location-area-tag{position:absolute;top:10px;right:10px;z-index:1;background:linear-gradient(135deg,var(--gold-dark),var(--gold-light));color:#fff;font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:3px 9px;border-radius:var(--radius)}
.location-img-link{display:block;position:relative;overflow:hidden}
.location-body{padding:13px 15px 16px}
.location-name{font-family:var(--font-body);font-size:22px;color:var(--text);font-weight:600;margin-bottom:4px}
.location-name a{color:var(--text)}
.location-name a:hover{color:var(--gold-dark)}
.location-address{font-size:14px;color:var(--gold-dark);margin-bottom:5px}
.location-desc{font-size:16px;color:var(--text-muted);line-height:1.6;margin-bottom:7px}
.location-meta{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}
.loc-meta-item{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--text-muted)}

/* WHY GRID */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.why-item{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:26px 20px;box-shadow:var(--shadow-sm);transition:transform .25s,box-shadow .25s}
.why-item:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.why-icon{font-size:36px;margin-bottom:12px}
.why-title{font-family:var(--font-body);font-size:23px;color:var(--text);margin-bottom:8px;font-weight:600}
.why-desc{font-size:17px;color:var(--text-muted);line-height:1.7}

/* BOOKING SPLIT */
.booking-split{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:start}
.booking-contacts{display:flex;flex-direction:column;gap:10px;margin-top:4px}
.booking-contact-item{display:flex;align-items:center;gap:12px;color:var(--text-2);font-size:18px;padding:11px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);transition:all var(--transition)}
.booking-contact-item:hover{border-color:var(--gold);background:var(--gold-pale);color:var(--gold-dark)}
.booking-contact-item span{font-size:22px;flex-shrink:0}
.section--booking{background:var(--bg-2)}

/* BASKET */
.basket{position:fixed;top:calc(var(--header-h) + 8px);right:20px;z-index:180;width:310px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);transition:all .3s cubic-bezier(.34,1.56,.64,1)}
.basket.hidden{transform:translateY(-8px) scale(.97);opacity:0;pointer-events:none}
.basket-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border-light)}
.basket-title{font-size:17px;font-weight:600;color:var(--text)}
.basket-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:21px}
.basket-items{max-height:260px;overflow-y:auto;padding:10px 16px}
.basket-empty{font-size:16px;color:var(--text-muted);text-align:center;padding:18px 0;line-height:1.7}
.basket-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-light)}
.basket-item-name{font-size:17px;color:var(--text)}
.basket-item-cat{font-size:14px;color:var(--text-muted);margin-top:2px}
.basket-item-remove{background:none;border:none;color:var(--text-light);cursor:pointer;font-size:20px}
.basket-total{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-top:1px solid var(--border-light);font-size:17px;color:var(--text)}
.basket-total-price{font-family:var(--font-body);font-size:26px;color:var(--gold-dark);font-weight:600}
.basket-actions{padding:10px 16px 14px;display:flex;flex-direction:column;gap:7px}

/* MODAL */
.modal-overlay{position:fixed;inset:0;z-index:300;background:rgba(44,36,22,.45);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s;padding:20px}
.modal-overlay.open{opacity:1;pointer-events:all}
.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:840px;max-height:90vh;overflow-y:auto;transform:translateY(16px);transition:transform .3s ease;box-shadow:var(--shadow-lg)}
.modal-overlay.open .modal{transform:translateY(0)}
.modal--booking{max-width:500px}
.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 22px 16px;border-bottom:1px solid var(--border-light);position:sticky;top:0;background:var(--bg-card);z-index:1}
.modal-label{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:5px;font-weight:600}
.modal-title{font-family:var(--font-body);font-size:29px;color:var(--text);font-weight:600}
.modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:23px}
.modal-close:hover{color:var(--gold-dark)}
.modal-body{padding:18px 22px}

/* FLUENT FORM */
.lensart-booking-area{width:100%}
.lensart-booking-area .booking-area-title{font-family:var(--font-body);font-size:29px;color:var(--text);margin-bottom:18px}
.fluent-form-placeholder{background:var(--bg-2);border:1.5px dashed var(--border);border-radius:var(--radius-lg);padding:28px 22px;text-align:center}
.ffp-icon{font-size:42px;margin-bottom:10px}
.ffp-title{font-family:var(--font-body);font-size:25px;color:var(--text);margin-bottom:7px}
.ffp-desc{font-size:17px;color:var(--text-muted);line-height:1.7}
.ffp-desc strong{color:var(--gold-dark)}

/* Fluent Form override — light theme compatible */
.lensart-booking-area .ff-el-input--content input,
.lensart-booking-area .ff-el-input--content textarea,
.lensart-booking-area .ff-el-input--content select,
.lensart-booking-area .ff-el-form-control{background:#fff!important;border:1px solid var(--border)!important;border-radius:var(--radius)!important;color:var(--text)!important;font-family:var(--font-body)!important;font-size:18px!important;padding:10px 14px!important;box-shadow:none!important;transition:border-color var(--transition)!important}
.lensart-booking-area .ff-el-form-control:focus,
.lensart-booking-area .ff-el-input--content input:focus,
.lensart-booking-area .ff-el-input--content textarea:focus{border-color:var(--gold)!important;box-shadow:0 0 0 3px rgba(184,146,42,.1)!important;outline:none!important}
.lensart-booking-area .ff-el-form-control::placeholder{color:var(--text-light)!important}
.lensart-booking-area .ff-btn-submit,
.lensart-booking-area button[type="submit"]{background:linear-gradient(135deg,var(--gold-dark),var(--gold-light))!important;border:none!important;color:#fff!important;font-family:var(--font-body)!important;letter-spacing:.1em!important;text-transform:uppercase!important;border-radius:var(--radius)!important;padding:12px 30px!important;font-size:16px!important;cursor:pointer!important;box-shadow:0 3px 10px rgba(184,146,42,.3)!important;transition:opacity .2s!important}
.lensart-booking-area .ff-btn-submit:hover,
.lensart-booking-area button[type="submit"]:hover{opacity:.88!important}
.lensart-booking-area .ff-el-group label,
.lensart-booking-area .ff-el-form-group label{color:var(--gold-dark)!important;font-size:14px!important;font-weight:600!important;letter-spacing:.14em!important;text-transform:uppercase!important}
.lensart-booking-area .ff-message-success{color:#2e7d32!important}
.lensart-booking-area .ff-message-error{color:#c62828!important}

/* ARCHIVE */
.archive-wrap{padding-top:var(--header-h)}
.archive-hero{padding:48px 24px 32px;background:linear-gradient(135deg,var(--bg-2),var(--bg-3));border-bottom:1px solid var(--border-light)}
.archive-title{font-size:clamp(34px,4vw,62px);color:var(--text);margin:10px 0 12px}
.archive-search-bar{padding:0 24px;margin-bottom:-14px;position:relative;z-index:10}

/* ══ INTER FONT LOCK — nguồn font duy nhất toàn site ═════════ */
:root {
  --font-heading: 'Manrope', Arial, sans-serif;
  --font-body: 'Inter', Arial, sans-serif;
  --font-main: 'Inter', Arial, sans-serif;
  --desc-size: 12.8px;
}

html,
body,
body * {
  font-family: 'Inter', Arial, sans-serif !important;
}

body {
  font-size: var(--desc-size) !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
}

/* Toàn bộ chữ thường/mô tả giữ cùng size 16px, weight 400 */
body :where(p, a, li, span, label, input, textarea, select, button, small, em, strong, td, th, dd, dt),
.hero-sub,
.card-desc,
.studio-desc,
.location-desc,
.outfit-desc,
.why-desc,
.single-description,
.single-description p,
.single-content,
.single-content p,
.entry-content,
.entry-content p,
.info-block p,
.faq-answer,
.footer-desc,
.page-body,
.modal-body,
.archive-info-note,
.lensart-empty-message,
.detail-value,
.detail-label,
.sticky-meta-row,
.price-unit,
.meta-value,
.meta-label,
.card-category,
.section-label,
.hero-label,
.single-cat,
.hero-badge,
.archive-info-line,
.filter-tag-item,
.room-tag,
.style-tag,
.search-input,
.search-select,
.cf-input,
.ff-el-form-control,
.co-item-name,
.co-item-price,
.co-total,
.basket-title,
.basket-item,
.basket-note {
  font-size: var(--desc-size) !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
}

/* Heading/title chỉ bold 600, không dùng 700/900 nữa */
h1, h2, h3, h4, h5, h6,
.hero-title,
.section-title,
.archive-title,
.card-title,
.studio-name,
.location-name,
.outfit-name,
.single-title,
.single-section-title,
.modal-title,
.why-title,
.logo,
.logo-text,
.footer-col h4,
.sidebar-title,
.sticky-sidebar-heading,
.sticky-sections-title,
.booking-area-title,
.lensart-booking-area .booking-area-title,
.ffp-title,
.price-amount,
.card-price,
.studio-price,
.basket-total-price,
.stat-num,
.hvb-num,
.avatar-letters,
.faq-question {
  font-family: 'Inter', Arial, sans-serif !important;
  font-weight: 600 !important;
}

/* Các nút/label không nhảy size font */
.btn-primary,
.btn-ghost,
.card-btn-view,
.search-btn,
.nav-cta,
.pill,
.hp-cat-pill,
.nav-list a,
.desktop-nav .nav-list a,
.mobile-drawer .mobile-nav-list a {
  font-size: var(--desc-size) !important;
  font-weight: 400 !important;
}

.archive-layout{display:grid;grid-template-columns:250px 1fr;gap:26px;padding:32px 24px 64px;align-items:start}
.archive-sidebar{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;position:sticky;top:calc(var(--header-h)+14px);box-shadow:var(--shadow-sm)}
.sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.sidebar-title{font-size:18px;font-weight:600;color:var(--text)}
.sidebar-close{display:none;background:none;border:none;color:var(--text-muted);cursor:pointer}
.filter-group{margin-bottom:18px}
.filter-group-title{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:9px;font-weight:600}
.filter-list{list-style:none;display:flex;flex-direction:column;gap:7px}
.filter-item{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:17px;color:var(--text-2)}
.filter-item input{accent-color:var(--gold-dark);cursor:pointer}
.filter-item em{font-size:13px;color:var(--text-light);font-style:normal}
.filter-tags{display:flex;flex-wrap:wrap;gap:6px}
.filter-tag-item{cursor:pointer}
.filter-tag-item input{display:none}
.filter-tag-item span{display:inline-block;padding:4px 10px;border:1px solid var(--border);border-radius:100px;font-size:14px;color:var(--text-muted);background:var(--bg-2);transition:all var(--transition)}
.filter-tag-item input:checked+span{background:linear-gradient(135deg,var(--gold-dark),var(--gold-light));color:#fff;border-color:transparent}
.mobile-filter-toggle{display:none;align-items:center;gap:8px;padding:9px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--gold-dark);font-size:16px;cursor:pointer;margin-bottom:16px;box-shadow:var(--shadow-sm)}
.filter-active-count{background:linear-gradient(135deg,var(--gold-dark),var(--gold-light));color:#fff;font-size:13px;padding:2px 7px;border-radius:100px;font-weight:600}
.mobile-filter-overlay{display:none;position:fixed;inset:0;background:rgba(44,36,22,.4);z-index:150}
.mobile-filter-overlay.show{display:block}
.archive-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:10px}
.archive-count{font-size:17px;color:var(--text-muted)}
.archive-count strong{color:var(--text)}
.archive-sort{display:flex;align-items:center;gap:10px;font-size:17px;color:var(--text-muted)}
.archive-sort select{background:var(--bg-card);border:1px solid var(--border);color:var(--text);padding:6px 10px;border-radius:var(--radius);font-size:16px}
.archive-main .lensart-concept-grid{grid-template-columns:repeat(3,1fr)}
.archive-pagination{padding:0 0 48px}

.lensart-no-results{grid-column:1/-1;text-align:center;padding:56px 0}
.no-results-icon{font-size:52px;display:block;margin-bottom:12px}
.lensart-no-results p{color:var(--text-muted);font-size:18px}

.lensart-pagination{display:flex;justify-content:center;gap:7px;padding:32px 0 0;flex-wrap:wrap}
.lensart-pagination .page-numbers{padding:8px 14px;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);font-size:17px;transition:all var(--transition);background:var(--bg-card)}
.lensart-pagination .page-numbers:hover,.lensart-pagination .current{background:linear-gradient(135deg,var(--gold-dark),var(--gold-light));color:#fff;border-color:transparent;box-shadow:0 2px 8px rgba(184,146,42,.3)}

/* SINGLE */
.single-concept-wrap{padding-top:var(--header-h)}
.single-hero{padding:48px 24px 40px;background:linear-gradient(135deg,var(--bg-2),var(--bg-3));border-bottom:1px solid var(--border-light);position:relative;min-height:0}
.single-hero-avatar{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-2),var(--gold-pale))}
.single-hero-avatar span{font-family:var(--font-body);font-size:130px;color:var(--gold-dark);opacity:.15;font-weight:600}
.single-hero-inner{position:relative;z-index:1}
.hero-badge{display:inline-block;background:linear-gradient(135deg,var(--gold-dark),var(--gold-light));color:#fff;font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:4px 12px;border-radius:var(--radius);margin-bottom:10px}
.single-cat{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:10px;font-weight:600}
.single-code{opacity:.7}
.single-title{font-family:var(--font-body);font-size:clamp(31px,4vw,60px);font-weight:600;color:var(--text);line-height:1.1;margin-bottom:12px}
.single-meta-row{display:flex;gap:18px;flex-wrap:wrap}
.single-meta-item{font-size:16px;color:var(--text-muted)}
.single-layout{display:grid;grid-template-columns:1fr 280px;gap:32px;padding:32px 24px 56px;align-items:start}
.single-sidebar{position:sticky;top:calc(var(--header-h)+14px)}
.single-section{margin-bottom:36px;padding-bottom:36px;border-bottom:1px solid var(--border-light)}
.single-section:last-child{border-bottom:none}
.single-section-title{font-family:var(--font-body);font-size:26px;color:var(--text);margin-bottom:18px;display:flex;align-items:center;gap:10px}
.section-icon{font-size:21px}
.single-description{color:var(--text-2);line-height:1.8}
.single-description p{margin-bottom:12px}

.details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.detail-item{background:var(--bg-2);border:1px solid var(--border-light);border-radius:var(--radius);padding:13px;display:flex;flex-direction:column;gap:5px}
.detail-icon{font-size:22px}
.detail-label{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dark);font-weight:600}
.detail-value{font-size:17px;color:var(--text-2);font-weight:500}
.detail-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.detail-label-inline{font-size:14px;color:var(--text-muted)}
.tag-chip{padding:4px 10px;border:1px solid var(--border);border-radius:100px;font-size:14px;color:var(--text-muted);background:var(--bg-2)}
.tag-chip--link:hover{background:var(--gold-pale);border-color:var(--gold);color:var(--gold-dark)}
.includes-list{list-style:none;display:flex;flex-direction:column;gap:9px}
.includes-list li{display:flex;align-items:center;gap:10px;font-size:18px;color:var(--text-2)}
.includes-list li::before{content:'✦';color:var(--gold-dark);font-size:13px;flex-shrink:0}
.info-block{background:var(--bg-2);border-left:3px solid var(--gold-dark);padding:12px 16px;border-radius:0 var(--radius) var(--radius) 0}
.info-block strong{font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dark)}
.info-block p{margin-top:5px;font-size:17px;color:var(--text-2)}
.video-wrap{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:var(--radius-lg)}
.video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:none}
.concept-gallery{border-radius:var(--radius-lg);overflow:hidden}
.concept-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}
.swiper-button-next,.swiper-button-prev{color:var(--gold-dark)!important}
.swiper-pagination-bullet-active{background:var(--gold-dark)!important}

.faq-list{display:flex;flex-direction:column;gap:8px}
.faq-item{background:var(--bg-2);border:1px solid var(--border-light);border-radius:var(--radius);overflow:hidden}
.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;padding:13px 16px;background:none;border:none;color:var(--text);font-size:18px;font-family:var(--font-body);cursor:pointer;text-align:left;transition:color var(--transition)}
.faq-question:hover{color:var(--gold-dark)}
.faq-question[aria-expanded="true"] .faq-icon{transform:rotate(45deg)}
.faq-icon{color:var(--gold-dark);font-size:23px;flex-shrink:0;transition:transform .25s}
.faq-answer{padding:0 16px;max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s;font-size:17px;color:var(--text-muted);line-height:1.7}
.faq-answer.open{max-height:300px;padding:0 16px 14px}

.sticky-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow)}
.sticky-price{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--border-light)}
.price-amount{font-family:var(--font-body);font-size:42px;font-weight:600;color:var(--gold-dark);line-height:1}
.price-unit{font-size:16px;color:var(--text-muted);margin-top:3px}
.sticky-meta{margin-bottom:14px;display:flex;flex-direction:column;gap:8px}
.sticky-meta-row{display:flex;justify-content:space-between;font-size:16px}
.sticky-meta-row span{color:var(--text-muted)}
.sticky-meta-row strong{color:var(--text)}
.sticky-actions{display:flex;flex-direction:column;gap:7px;margin-bottom:12px}
.sticky-contact{display:flex;flex-direction:column;gap:7px;margin-bottom:12px}
.contact-btn{display:block;text-align:center;padding:9px 14px;border:1px solid var(--border);border-radius:var(--radius);font-size:16px;color:var(--text-2);background:var(--bg-2);transition:all var(--transition)}
.contact-btn:hover{border-color:var(--gold);color:var(--gold-dark);background:var(--gold-pale)}
.sticky-sections{border-top:1px solid var(--border-light);padding-top:12px;display:flex;flex-direction:column;gap:7px}
.sticky-sections-title{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-light);margin-bottom:3px}
.sticky-sections a{font-size:16px;color:var(--text-muted);transition:color var(--transition)}
.sticky-sections a:hover{color:var(--gold-dark)}
.related-section{padding:48px 24px 64px;background:var(--bg-2)}

/* BREADCRUMB */
.lensart-breadcrumb{font-size:14px;display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.lensart-breadcrumb a{color:var(--text-muted)}
.lensart-breadcrumb a:hover{color:var(--gold-dark)}
.lensart-breadcrumb span{color:var(--text-2)}
.bc-sep{color:var(--gold-light);font-size:12px;opacity:.7}

/* SPINNER */
.spinner{width:32px;height:32px;border:2px solid var(--border);border-top-color:var(--gold-dark);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 10px}
.modal-loading{text-align:center;padding:36px;color:var(--text-muted);font-size:17px}
@keyframes spin{to{transform:rotate(360deg)}}

/* FAB */
.fab-group{position:fixed;bottom:80px;right:18px;z-index:160;display:flex;flex-direction:column;gap:9px}
.fab{width:42px;height:42px;border-radius:50%;border:1px solid var(--border);background:var(--bg-card);color:var(--text-2);font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition);box-shadow:var(--shadow-sm);text-decoration:none}
.fab:hover{background:linear-gradient(135deg,var(--gold-dark),var(--gold-light));border-color:transparent;color:#fff;box-shadow:var(--shadow);transform:scale(1.08)}

/* MOBILE BOTTOM NAV */
.mobile-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:170;background:rgba(253,250,244,.97);border-top:1px solid var(--border);backdrop-filter:blur(12px)}
.mobile-bottom-list{list-style:none;display:flex}
.mobile-bottom-list li{flex:1}
.mobile-bottom-list a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 4px 7px;color:var(--text-muted);font-size:12px;letter-spacing:.07em;text-transform:uppercase;text-decoration:none;transition:color var(--transition)}
.mobile-bottom-list a:hover,.mobile-bottom-list .active a{color:var(--gold-dark)}
.mb-icon{font-size:25px}

/* NOTIFICATION */
.lensart-notif{position:fixed;bottom:82px;right:18px;z-index:350;background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--gold-dark);border-radius:var(--radius);padding:12px 16px;font-size:17px;color:var(--text);transform:translateX(120%);transition:transform .35s cubic-bezier(.34,1.56,.64,1);max-width:280px;line-height:1.5;box-shadow:var(--shadow)}
.lensart-notif.show{transform:translateX(0)}

/* FOOTER */
.site-footer{padding:52px 24px 26px;border-top:1px solid var(--border-light);background:var(--bg-2)}
.footer-inner{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;margin-bottom:36px}
.footer-logo{margin-bottom:12px}
.footer-brand p{font-size:17px;color:var(--text-muted);line-height:1.7;max-width:220px;margin-bottom:12px}
.footer-socials{display:flex;gap:9px}
.footer-socials a{width:32px;height:32px;border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:16px;background:var(--bg-card);transition:all var(--transition)}
.footer-socials a:hover{border-color:var(--gold);color:var(--gold-dark);background:var(--gold-pale)}
.footer-col h4{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:14px;font-weight:600}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.footer-col ul li a{color:var(--text-muted);font-size:17px;transition:color var(--transition)}
.footer-col ul li a:hover{color:var(--text)}
.footer-bottom{padding-top:16px;border-top:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.footer-bottom p{font-size:14px;color:var(--text-light)}
.footer-bottom a{color:var(--gold-dark)}

/* DEFAULT PAGE */
.default-page-wrap{padding-top:var(--header-h)}
.page-title{font-family:var(--font-body);color:var(--text);margin-bottom:26px}
.page-body{color:var(--text-2);line-height:1.8}
.archive-studio-wrap,.archive-outfit-wrap,.archive-location-wrap{padding-top:var(--header-h)}

/* ══ CONTAINER — max 1200px ═════════════════════════════════ */
.site-header .header-inner,
.hero-inner,
.search-section > *,
.hp-cats-section > *,
.section > *:not(.section-divider),
.archive-hero > *,
.archive-layout,
.single-layout,
.single-hero > .single-hero-inner,
.related-section > *,
.footer-inner,
.footer-bottom {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

/* Header inner đặc biệt — full width bên trong padding */
.header-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 24px;
  padding-right: 24px;
}

/* Wrapper chính cho section content */
.section-inner,
.lensart-wrap {
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
}



/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}

/* ═══ RESPONSIVE ══════════════════════════════════════════════ */
@media(max-width:1100px){
  .lensart-cols-4,.lensart-studio-grid,.lensart-outfit-grid{grid-template-columns:repeat(3,1fr)}
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .footer-inner{grid-template-columns:1fr 1fr}
}
@media(max-width:1024px){
  .archive-layout{grid-template-columns:1fr;padding:22px 22px 52px}
  .archive-sidebar{position:fixed;top:0;left:-300px;width:280px;height:100vh;overflow-y:auto;z-index:155;transition:left .3s ease;border-radius:0}
  .archive-sidebar.open{left:0}
  .sidebar-close{display:block}
  .mobile-filter-toggle{display:flex}
  .single-layout{grid-template-columns:1fr}
  .single-sidebar{position:static}
  .booking-split{grid-template-columns:1fr;gap:24px}
}
@media(max-width:768px){
  :root{--header-h:60px}
  .section,.archive-hero,.single-hero,.related-section,.single-layout{padding-left:20px;padding-right:20px}
  .section-divider{margin:0 20px}
  .header-inner{padding:0 20px}
  .desktop-nav,.nav-cta{display:none}
  .hamburger{display:flex}
  .hero{padding:calc(var(--header-h)+36px) 20px 40px}
  .search-section{padding:20px 20px 0}
  .lensart-search-wrap{padding:15px 15px;gap:10px}
  .hp-cats-section{padding:14px 20px 0}
  .lensart-cols-4,.lensart-cols-3{grid-template-columns:repeat(2,1fr)}
  .lensart-studio-grid,.lensart-location-grid,.lensart-outfit-grid{grid-template-columns:repeat(2,1fr)}
  .archive-main .lensart-concept-grid{grid-template-columns:repeat(2,1fr)}
  .concept-card--featured{grid-template-columns:1fr}
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .details-grid{grid-template-columns:repeat(2,1fr)}
  .archive-hero,.archive-search-bar{padding-left:20px;padding-right:20px}
  .site-footer{padding:40px 20px 18px}
  .footer-inner{grid-template-columns:1fr 1fr;gap:22px}
  .modal{margin:10px}
  .modal-body,.modal-header{padding:16px 16px}
}
@media(max-width:480px){
  .lensart-cols-4,.lensart-cols-3,.lensart-cols-2{grid-template-columns:repeat(2,1fr)}
  .lensart-studio-grid,.lensart-location-grid,.lensart-outfit-grid{grid-template-columns:repeat(2,1fr)}
  .why-grid{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr}
  .mobile-bottom-nav{display:block}
  .fab-group{bottom:70px;right:12px}
  .lensart-notif{bottom:70px;right:10px;max-width:calc(100vw - 20px)}
  body{padding-bottom:var(--mobile-nav-h)}
  .basket{width:calc(100vw - 14px);right:7px}
  .hero-title{font-size:clamp(34px,8vw,55px)}
  .search-field--btn{width:100%}
  .search-btn{width:100%}
}

/* ══ LAYOUT CONTAINER 1200px ══════════════════════════════════ */
.site-header { left: 0; right: 0; }

/* Tất cả section dùng padding ngang nhỏ, content tự center qua max-width */
.section,
.archive-hero,
.single-hero,
.related-section,
.site-footer { 
  padding-left: 24px; 
  padding-right: 24px; 
}

/* Content wrapper bên trong section */
.section-content,
.lensart-search-wrap,
.lensart-concept-grid,
.lensart-studio-grid,
.lensart-location-grid,
.lensart-outfit-scroll,
.lensart-filter-pills,
.hp-cats-scroll,
.why-grid,
.booking-split,
.section-header,
.footer-inner,
.footer-bottom,
.archive-toolbar,
.archive-layout,
.single-layout,
.single-hero-inner,
.header-inner {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

/* Header inner padding riêng */
.header-inner {
  padding-left: 24px !important;
  padding-right: 24px !important;
  width: 100%;
  box-sizing: border-box;
}

/* Search section wrap */
.search-section {
  padding-left: 24px;
  padding-right: 24px;
}
.search-section .lensart-search-wrap {
  /* đã có max-width từ trên */
}

/* HP cats */
.hp-cats-section {
  padding-left: 24px;
  padding-right: 24px;
}
.hp-cats-scroll {
  /* max-width từ trên */
}

/* ══ MOBILE FRIENDLY IMPROVEMENTS ══════════════════════════════
   - Cards readable
   - Touch targets lớn hơn
   - Spacing thoải mái hơn
   ══════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {
  /* Sections */
  .section { padding: 44px 16px; }
  .archive-hero { padding: 36px 16px 24px; }
  .search-section, .hp-cats-section { padding-left: 16px; padding-right: 16px; }
  .section-divider { margin: 0 16px; }
  .site-footer { padding: 40px 16px 16px; }

  /* Header */
  .header-inner { padding-left: 16px !important; padding-right: 16px !important; }

  /* Hero */
  .hero { padding: calc(var(--header-h) + 32px) 16px 40px; }
  .hero-title { font-size: clamp(26px,7.5vw,42px); }
  .hero-sub { font-size: 15px; }
  .hero-stats-row { gap: 16px; padding-top: 14px; }
  .stat-num { font-size: 20px; }

  /* Search bar — stack vertical on mobile */
  .lensart-search-wrap { flex-direction: column; padding: 16px; gap: 12px; }
  .search-field, .search-field--wide { min-width: 0; width: 100%; }
  .search-field--btn { width: 100%; }
  .search-btn { width: 100%; padding: 13px; font-size: 13px; }

  /* Grids — 2 cols on tablet, stack on small */
  .lensart-concept-grid,
  .lensart-cols-4,
  .lensart-cols-3 { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .lensart-studio-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .lensart-location-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .lensart-outfit-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .why-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }

  /* Cards — bigger touch area */
  .card-btn-view, .card-btn-save, .card-btn-book { padding: 10px 12px; font-size: 11px; }
  .card-body { padding: 14px 14px 16px; }
  .card-title { font-size: 16px; }
  .card-price { font-size: 18px; }

  /* Pills scroll horizontal */
  .lensart-filter-pills { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; scrollbar-width: none; }
  .lensart-filter-pills::-webkit-scrollbar { display: none; }
  .pill { flex-shrink: 0; }

  /* Booking split */
  .booking-split { grid-template-columns: 1fr; gap: 24px; }

  /* Footer */
  .footer-inner { grid-template-columns: 1fr 1fr; gap: 20px; }
  
  /* Archive layout */
  .archive-layout { padding: 20px 16px 52px; }
  .archive-main .lensart-concept-grid { grid-template-columns: repeat(2, 1fr); }

  /* Single */
  .single-layout { padding: 20px 16px 48px; }
  .single-title { font-size: clamp(22px, 6vw, 36px); }
  .details-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }

  /* Hide desktop nav */
  .desktop-nav, .nav-cta { display: none; }
  .hamburger { display: flex; }

  /* Concept featured card */
  .concept-card--featured { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  /* Full single column on very small screens */
  .lensart-concept-grid,
  .lensart-cols-4,
  .lensart-cols-3,
  .lensart-cols-2 { grid-template-columns: repeat(2, 1fr); gap: 10px; }

  /* Outfit: 2 cols */
  .lensart-outfit-scroll .outfit-card { flex: 0 0 140px; }

  /* Cards smaller */
  .card-body { padding: 12px 12px 14px; }
  .card-title { font-size: 15px; }

  /* Why: 1 col */
  .why-grid { grid-template-columns: 1fr; }

  /* Footer: 1 col */
  .footer-inner { grid-template-columns: 1fr; }

  /* Mobile bottom nav */
  .mobile-bottom-nav { display: block; }
  body { padding-bottom: var(--mobile-nav-h); }
  .fab-group { bottom: 72px; right: 12px; }
  .lensart-notif { bottom: 72px; }

  /* Basket full width */
  .basket { width: calc(100vw - 12px); right: 6px; }

  /* Archive */
  .archive-main .lensart-concept-grid { grid-template-columns: 1fr 1fr; }

  /* Details grid */  
  .details-grid { grid-template-columns: 1fr 1fr; }
}

/* ══ FINAL: HARD CAP 1200px — ghi đè tất cả ══════════════════ */
:root { --container: 1200px; }

/* Tất cả section tự center, không vượt 1200px */
.hero,
.search-section,
.hp-cats-section,
.section,
.archive-hero,
.archive-wrap .section,
.single-hero,
.related-section,
.site-footer,
.footer-bottom-wrap { 
  box-sizing: border-box; 
}

/* Inner content của mỗi section bị cap 1200px */
.hero-inner,
.section > .section-header,
.section > .lensart-filter-pills,
.section > .lensart-concept-grid,
.section > .lensart-studio-grid,
.section > .lensart-location-grid,
.section > .lensart-outfit-scroll,
.section > .why-grid,
.section > .booking-split,
.section > .section-cta-center,
.section > div,
.search-section > *,
.hp-cats-section > *,
.archive-hero > *,
.archive-layout,
.single-layout,
.related-section > *,
.footer-inner,
.footer-bottom {
  max-width: var(--container);
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

/* Header luôn full width nhưng inner 1200px */
.site-header { width: 100%; }
.header-inner { 
  max-width: var(--container) !important;
  margin: 0 auto !important;
  width: 100% !important;
  padding: 0 24px !important;
}

/* Đảm bảo section-divider cũng trong 1200px */
.section-divider { 
  max-width: calc(var(--container) - 48px);
  margin-left: auto;
  margin-right: auto;
}

/* ══ MOBILE HEADER ═══════════════════════════════════════════ */
@media (max-width: 768px) {
  .header-inner { padding: 0 16px !important; }
  .nav-cta { display: none; }
  .header-search-toggle { display: block; }
  
  /* Bottom nav mobile — icon to hơn, dễ tap */
  .mobile-bottom-nav { display: block; }
  .mobile-bottom-list a { padding: 10px 4px 8px; min-height: 56px; justify-content: center; }
  .mb-icon { font-size: 22px; }
  .mb-label { font-size: 10px; }

  /* FAB nằm trên bottom nav */
  .fab-group { bottom: calc(var(--mobile-nav-h) + 12px); }
  .lensart-notif { bottom: calc(var(--mobile-nav-h) + 14px); }
  
  /* Body padding cho bottom nav */
  body { padding-bottom: var(--mobile-nav-h); }
  
  /* Basket full width trên mobile */
  .basket { 
    width: calc(100vw - 12px); 
    right: 6px; 
    top: calc(var(--header-h) + 6px);
  }

  /* Cards mobile: giảm padding, font vừa đọc */
  .concept-card .card-body { padding: 12px 13px 15px; }
  .concept-card .card-title { font-size: 15px; line-height: 1.3; }
  .concept-card .card-price { font-size: 17px; }
  .concept-card .card-desc { -webkit-line-clamp: 2; font-size: 12px; }
  .concept-card .card-meta { gap: 8px; }
  .concept-card .meta-value { font-size: 11px; }

  /* Outfit cards on mobile — scroll ngang */
  .lensart-outfit-scroll .outfit-card { flex: 0 0 130px; }
  .outfit-body { padding: 8px 10px; }
  .outfit-name { font-size: 13px; }

  /* Studio/location cards */
  .studio-body { padding: 12px 13px 14px; }
  .studio-name { font-size: 15px; }
  .location-body { padding: 12px 13px 14px; }
  .location-name { font-size: 15px; }

  /* Section headers tighter */
  .section-header { margin-bottom: 24px; }
  .section-title  { font-size: clamp(22px, 5.5vw, 32px); }

  /* Filter pills wrap nicely */
  .lensart-filter-pills { gap: 7px; }
  .pill { padding: 7px 14px; font-size: 12px; }

  /* Archive search bar */
  .archive-search-bar { padding: 0 16px; }

  /* Single page */
  .single-hero { padding: 36px 16px 32px; }
  .single-title { font-size: clamp(22px, 6vw, 34px); }
  .details-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .sticky-card { padding: 16px; }
  .price-amount { font-size: 28px; }
}

@media (max-width: 380px) {
  /* Very small phones */
  .hero-title { font-size: 26px; }
  .card-title { font-size: 14px; }
  .pill { padding: 6px 11px; font-size: 11px; }
  .btn-primary, .btn-ghost { padding: 11px 22px; font-size: 11px; }
}

/* ══ FONT SIZE 90% của hiện tại ═══════════════════════════════ */
:root { font-size: 90%; }
body { font-size: 15px; } /* 17 * 0.9 ≈ 15 */
h1   { font-size: clamp(26px, 3.6vw, 47px); }
h2   { font-size: clamp(20px, 2.7vw, 34px); }
h3   { font-size: clamp(15px, 1.8vw, 22px); }
.section-title  { font-size: clamp(20px, 2.7vw, 34px); }
.hero-title     { font-size: clamp(26px, 4vw, 52px); }
.card-title     { font-size: 16px; }
.card-price     { font-size: 18px; }
.price-amount   { font-size: 28px; }
.section-label  { font-size: 9px; }
.stat-num       { font-size: 22px; }

/* ══ HERO CENTERED ═════════════════════════════════════════════ */
.hero { text-align: center; }
.hero-inner,
.hero-inner--center {
  max-width: 720px !important;
  margin: 0 auto !important;
  text-align: center;
}
.hero-sub { margin-left: auto; margin-right: auto; }
.hero-actions {
  justify-content: center;
}
.hero-stats-row {
  justify-content: center;
}
.hero-stats-row .stat-item {
  flex-direction: column;
  text-align: center;
  gap: 4px;
}

/* ══ FORMINATOR OVERRIDE — dark gold theme ═════════════════════
   Class wrapper: .lensart-booking-area
   ══════════════════════════════════════════════════════════════ */
.lensart-booking-area { width: 100%; }

/* Input fields */
.lensart-booking-area .forminator-field input[type="text"],
.lensart-booking-area .forminator-field input[type="email"],
.lensart-booking-area .forminator-field input[type="tel"],
.lensart-booking-area .forminator-field input[type="number"],
.lensart-booking-area .forminator-field input[type="url"],
.lensart-booking-area .forminator-field textarea,
.lensart-booking-area .forminator-field select,
.lensart-booking-area .forminator-field .forminator-input,
.lensart-booking-area .forminator-field-text input,
.lensart-booking-area .forminator-field-email input,
.lensart-booking-area .forminator-field-phone input,
.lensart-booking-area .forminator-textarea textarea,
.lensart-booking-area .forminator-select select,
.lensart-booking-area input.forminator-input,
.lensart-booking-area textarea.forminator-textarea {
  background: #fff !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  color: var(--text) !important;
  font-family:var(--font-body)!important;
  font-size: 14px !important;
  padding: 11px 14px !important;
  box-shadow: none !important;
  transition: border-color var(--transition), box-shadow var(--transition) !important;
  width: 100% !important;
}
.lensart-booking-area .forminator-field input:focus,
.lensart-booking-area .forminator-field textarea:focus,
.lensart-booking-area .forminator-field select:focus,
.lensart-booking-area input.forminator-input:focus,
.lensart-booking-area textarea.forminator-textarea:focus {
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 3px rgba(184,146,42,.12) !important;
  outline: none !important;
}
.lensart-booking-area .forminator-field input::placeholder,
.lensart-booking-area .forminator-field textarea::placeholder {
  color: var(--text-light) !important;
}

/* Labels */
.lensart-booking-area .forminator-label,
.lensart-booking-area .forminator-field label,
.lensart-booking-area label.forminator-label {
  color: var(--gold-dark) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  font-family:var(--font-body)!important;
  margin-bottom: 6px !important;
  display: block !important;
}

/* Submit button */
.lensart-booking-area .forminator-btn,
.lensart-booking-area .forminator-btn-submit,
.lensart-booking-area button[type="submit"],
.lensart-booking-area input[type="submit"],
.lensart-booking-area .forminator-field--submit button {
  background: linear-gradient(135deg, var(--gold-dark), var(--gold-light)) !important;
  border: none !important;
  color: #fff !important;
  font-family:var(--font-body)!important;
  font-weight: 600 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  border-radius: var(--radius) !important;
  padding: 13px 32px !important;
  font-size: 13px !important;
  cursor: pointer !important;
  box-shadow: 0 3px 12px rgba(184,146,42,.35) !important;
  transition: opacity .2s, transform .15s !important;
  width: auto !important;
}
.lensart-booking-area .forminator-btn:hover,
.lensart-booking-area .forminator-btn-submit:hover,
.lensart-booking-area button[type="submit"]:hover {
  opacity: .88 !important;
  transform: translateY(-1px) !important;
}

/* Field groups spacing */
.lensart-booking-area .forminator-field,
.lensart-booking-area .forminator-row {
  margin-bottom: 16px !important;
}

/* Error messages */
.lensart-booking-area .forminator-error-message,
.lensart-booking-area .forminator-field--error .forminator-input {
  border-color: #c62828 !important;
}
.lensart-booking-area .forminator-error-message {
  color: #c62828 !important;
  font-size: 12px !important;
  margin-top: 4px !important;
}

/* Success message */
.lensart-booking-area .forminator-response-output,
.lensart-booking-area .forminator-success .forminator-response-output {
  background: rgba(46,125,50,.08) !important;
  border: 1px solid rgba(46,125,50,.3) !important;
  border-radius: var(--radius) !important;
  color: #2e7d32 !important;
  padding: 14px 18px !important;
  font-size: 14px !important;
}

/* Radio / Checkbox */
.lensart-booking-area .forminator-field input[type="radio"],
.lensart-booking-area .forminator-field input[type="checkbox"] {
  accent-color: var(--gold-dark) !important;
  width: auto !important;
  padding: 0 !important;
}

/* Form container */
.lensart-booking-area .forminator-custom-form {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
}

/* Cũng override Fluent Form nếu dùng */
.lensart-booking-area .ff-el-input--content input,
.lensart-booking-area .ff-el-input--content textarea,
.lensart-booking-area .ff-el-form-control {
  background: #fff !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
  font-family:var(--font-body)!important;
}

/* ══ MOBILE BOOKING BUTTON — thân thiện ═══════════════════════ */
@media (max-width: 768px) {
  .hero { padding-bottom: 44px; }
  .hero-actions { gap: 10px; }
  .hero-actions .btn-primary,
  .hero-actions .btn-ghost { 
    padding: 13px 24px; 
    font-size: 12px;
    min-width: 140px;
  }
  .booking-split { grid-template-columns: 1fr; gap: 24px; }
  .lensart-booking-area .forminator-btn,
  .lensart-booking-area button[type="submit"] {
    width: 100% !important;
    padding: 14px !important;
  }
}

/* ══ HERO — title 1 dòng, sub 2 dòng ══════════════════════════ */
.hero-title { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hero-sub {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 540px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 600px) {
  .hero-title { white-space: normal; }
}

/* ══ BASKET — clear button ══════════════════════════════════════ */
.basket-clear {
  width: 100%; background: none; border: none;
  color: var(--text-muted); font-size: 12px;
  cursor: pointer; text-align: center; padding: 4px;
  transition: color var(--transition);
}
.basket-clear:hover { color: #c62828; }
.basket-item-info { flex: 1; min-width: 0; }
.basket-item-meta { font-size: 11px; color: var(--text-muted); margin-top: 2px; }

/* ══ CHECKOUT MODAL ════════════════════════════════════════════ */
.modal--checkout { max-width: 560px; }
.modal--booking-popup { max-width: 560px; }

.checkout-summary {
  background: var(--bg-2);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 14px 16px;
  margin-bottom: 20px;
}
.co-summary-title {
  font-size: 11px; font-weight:600;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--gold-dark); margin-bottom: 10px;
}
.co-items { display: flex; flex-direction: column; gap: 6px; }
.co-item {
  display: flex; justify-content: space-between; align-items: center;
  font-size: 13px;
}
.co-item-name  { color: var(--text); font-weight: 500; }
.co-item-price { color: var(--gold-dark); font-family:var(--font-body); font-size: 14px; font-weight:600; }
.co-total {
  display: flex; justify-content: space-between; align-items: center;
  margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--border);
  font-size: 13px; color: var(--text);
}
.co-total strong { color: var(--gold-dark); font-family:var(--font-body); font-size: 18px; }

/* Checkout form */
.checkout-form { margin-bottom: 18px; }
.cf-row  { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.cf-group { display: flex; flex-direction: column; gap: 5px; }
.cf-label {
  font-size: 10px; font-weight:600; letter-spacing: .16em;
  text-transform: uppercase; color: var(--gold-dark);
}
.cf-req { color: #c62828; }
.cf-input {
  background: #fff; border: 1px solid var(--border);
  border-radius: var(--radius); color: var(--text);
  font-family:var(--font-body); font-size: 14px;
  padding: 10px 13px; outline: none; width: 100%;
  transition: border-color var(--transition), box-shadow var(--transition);
}
.cf-input:focus {
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(184,146,42,.1);
}
.cf-input::placeholder { color: var(--text-light); }
.cf-textarea { resize: vertical; min-height: 72px; }
.cf-error {
  background: rgba(198,40,40,.08); border: 1px solid rgba(198,40,40,.3);
  border-radius: var(--radius); color: #c62828;
  padding: 9px 13px; font-size: 13px; margin-bottom: 12px;
}
.cf-error.hidden { display: none; }

.checkout-actions { }
.checkout-note {
  text-align: center; font-size: 11px; color: var(--text-muted);
  margin-top: 10px; line-height: 1.6;
}

/* Concept modal grid */
.concept-modal-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 24px;
}
@media (max-width: 600px) {
  .concept-modal-grid { grid-template-columns: 1fr; }
  .cf-row { grid-template-columns: 1fr; }
}

/* ══ BOOKING POPUP ════════════════════════════════════════════ */
.modal--booking-popup .lensart-booking-area { padding: 0; }


/* ══ HERO TITLE — smaller, center, 600 weight ══════════════════ */
.hero-title {
  font-size: clamp(22px, 3vw, 38px) !important;
  font-weight: 600 !important;
  text-align: center;
  white-space: normal !important;
  letter-spacing: -.01em;
}

/* ══ LOGO IMAGE ════════════════════════════════════════════════ */
.logo { display: flex; align-items: center; gap: 8px; }
.site-logo-img {
  height: auto;
  max-height: 48px;
  width: auto;
  display: block;
  object-fit: contain;
}
.logo-text {
  font-family:var(--font-body);
  font-size: 21px; font-weight: 600; letter-spacing: .1em; color: var(--text);
}

/* ══ HERO SPLIT ════════════════════════════════════════════════ */
.hero-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 0;
  padding-top: var(--header-h);
  max-width: 100%;
  overflow: hidden;
}

/* LEFT — text */
.hero-split-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 60px 52px 60px 52px;
  background: var(--bg);
  max-width: 640px;
  margin-left: auto;
  box-sizing: border-box;
  width: 100%;
}
.hero-split-text .hero-label {
  font-size: 10px; letter-spacing: .3em; text-transform: uppercase;
  color: var(--gold-dark); margin-bottom: 14px; font-weight: 600;
}
.hero-split-text .hero-title {
  font-size: clamp(22px, 2.8vw, 38px) !important;
  font-weight: 600 !important;
  color: var(--text);
  line-height: 1.2;
  margin-bottom: 14px;
  white-space: normal !important;
}
.hero-split-text .hero-sub {
  font-size: 15px; color: var(--text-2); line-height: 1.75;
  margin-bottom: 28px; max-width: 440px;
  display: block; overflow: visible; -webkit-line-clamp: unset;
}
.hero-split-text .hero-actions {
  display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 32px;
}
.hero-split-text .hero-stats-row {
  display: flex; gap: 24px; flex-wrap: wrap;
  padding-top: 20px; border-top: 1px solid var(--border);
}
.hero-split-text .hero-stats-row .stat-item {
  display: flex; flex-direction: column; gap: 3px;
}
.hero-split-text .stat-num {
  font-family:var(--font-body);
  font-size: 26px; font-weight:600; color: var(--gold-dark); line-height: 1;
}
.hero-split-text .stat-label {
  font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--text-muted);
}

/* RIGHT — slideshow */
.hero-split-visual {
  position: relative;
  overflow: hidden;
  background: var(--bg-3);
  min-height: 480px;
}
.hero-slideshow {
  height: 100%;
  width: 100%;
}
.hero-slideshow .swiper-wrapper { height: 100%; }
.hero-slideshow .swiper-slide { height: 100%; }
.hero-slide-img {
  height: 100%;
  min-height: 480px;
  background-size: cover;
  background-position: center;
  transition: transform 6s ease;
}
.swiper-slide-active .hero-slide-img {
  transform: scale(1.05);
}

/* Pagination dots */
.hero-swiper-pagination {
  bottom: 16px !important;
}
.hero-swiper-pagination .swiper-pagination-bullet {
  width: 6px; height: 6px;
  background: rgba(255,255,255,.5) !important;
  opacity: 1;
  transition: all .3s;
}
.hero-swiper-pagination .swiper-pagination-bullet-active {
  background: #fff !important;
  width: 20px !important;
  border-radius: 3px !important;
}

/* Decorative frame (border accent) */
.hero-visual-frame {
  position: absolute;
  top: 20px; right: 20px; bottom: 20px; left: 20px;
  border: 1.5px solid rgba(255,255,255,.15);
  border-radius: 4px;
  pointer-events: none;
  z-index: 2;
}

/* Badge float */
.hero-visual-badge {
  position: absolute;
  bottom: 28px; left: 28px; z-index: 3;
  background: rgba(253,250,244,.94);
  backdrop-filter: blur(8px);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 10px 16px;
  display: flex; flex-direction: column; gap: 2px;
  box-shadow: var(--shadow);
}
.hvb-num {
  font-family:var(--font-body);
  font-size: 22px; font-weight:600; color: var(--gold-dark); line-height: 1;
}
.hvb-label {
  font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--text-muted);
}

/* ══ FOOTER IMPROVEMENTS ═══════════════════════════════════════ */
.footer-desc { font-size: 13px; color: var(--text-muted); line-height: 1.7; max-width: 220px; margin: 10px 0 14px; }
.footer-contact-list { display: flex; flex-direction: column; gap: 8px; margin-bottom: 14px; }
.footer-contact-item {
  display: flex; align-items: center; gap: 8px;
  font-size: 13px; color: var(--text-muted); transition: color var(--transition);
}
.footer-contact-item:hover { color: var(--gold-dark); }
.footer-contact-item span { font-size: 14px; }
.footer-social-btn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 32px; height: 32px;
  border: 1px solid var(--border); border-radius: 50%;
  color: var(--text-muted); font-size: 12px; font-weight:600;
  background: var(--bg-card); transition: all var(--transition);
  margin-right: 6px;
}
.footer-social-btn:hover {
  border-color: var(--gold); color: var(--gold-dark); background: var(--gold-pale);
}

/* ══ HERO SPLIT RESPONSIVE ════════════════════════════════════ */
@media (max-width: 900px) {
  .hero-split {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
  }
  .hero-split-text {
    padding: 44px 20px 36px;
    max-width: 100%;
    margin: 0;
    text-align: center;
  }
  .hero-split-text .hero-actions { justify-content: center; }
  .hero-split-text .hero-stats-row { justify-content: center; }
  .hero-split-text .hero-sub { margin-left: auto; margin-right: auto; }
  .hero-split-visual {
    min-height: 280px;
    order: -1; /* ảnh lên trên trên mobile */
  }
  .hero-slide-img { min-height: 280px; }
  .hero-visual-badge { bottom: 14px; left: 14px; }
}
@media (max-width: 480px) {
  .hero-split-visual { min-height: 220px; }
  .hero-slide-img { min-height: 220px; }
  .hero-split-text { padding: 32px 16px 28px; }
}

/* Ẩn hero cũ nếu còn CSS conflict */
.hero { display: none !important; }
.hero-split ~ .search-section { margin-top: 0; }

/* Logo image sizing */
.site-logo-img {
  max-height: 52px !important;
  width: auto !important;
  height: auto !important;
  display: block;
  object-fit: contain;
}
/* WP custom-logo img */
.custom-logo-link img,
.custom-logo {
  max-height: 52px !important;
  width: auto !important;
  height: auto !important;
}

.archive-layout {
  grid-template-columns: 280px minmax(0, 1fr) !important;
  align-items: start;
}
.archive-main { min-width: 0; }
.archive-main .lensart-concept-grid,
.archive-main .lensart-studio-grid,
.archive-main .lensart-location-grid,
.archive-main .lensart-outfit-grid,
.related-section .lensart-related-grid,
.related-section .lensart-concept-grid,
.related-section .lensart-studio-grid,
.related-section .lensart-location-grid,
.related-section .lensart-outfit-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}
.lensart-outfit-grid .outfit-card,
.related-section .outfit-card {
  width: auto !important;
  flex: none !important;
}
.lensart-outfit-grid .outfit-img,
.related-section .outfit-img { width: 100%; }

.archive-info-box {
  border-top: 1px solid var(--border-light);
  margin-top: 20px;
  padding-top: 18px;
}
.archive-info-sidebar .archive-info-box {
  border-top: none;
  margin-top: 0;
  padding-top: 0;
}
.archive-info-line {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid var(--border-light);
  font-size: 16px;
}
.archive-info-line span { color: var(--text-muted); }
.archive-info-line strong { color: var(--text); text-align: right; }
.archive-info-note {
  margin: 12px 0 14px;
  color: var(--text-2);
}
.archive-info-tags { gap: 7px; }
.archive-info-tags .filter-tag-item {
  display: inline-flex;
  text-decoration: none;
}
.archive-info-contact { margin-top: 14px; }
.sticky-sidebar-heading {
  color: var(--gold-dark);
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: 13px;
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border-light);
}
.lensart-empty-message {
  grid-column: 1 / -1;
  color: var(--text-muted);
  padding: 40px 0;
}
.lensart-related-section .section-title em { color: var(--gold-dark); }

@media (max-width: 900px) {
  .archive-layout,
  .single-layout {
    grid-template-columns: 1fr !important;
  }
  .archive-sidebar,
  .single-sidebar {
    position: static !important;
  }
  .archive-main .lensart-concept-grid,
  .archive-main .lensart-studio-grid,
  .archive-main .lensart-location-grid,
  .archive-main .lensart-outfit-grid,
  .related-section .lensart-related-grid,
  .related-section .lensart-concept-grid,
  .related-section .lensart-studio-grid,
  .related-section .lensart-location-grid,
  .related-section .lensart-outfit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 520px) {
  .archive-main .lensart-concept-grid,
  .archive-main .lensart-studio-grid,
  .archive-main .lensart-location-grid,
  .archive-main .lensart-outfit-grid,
  .related-section .lensart-related-grid,
  .related-section .lensart-concept-grid,
  .related-section .lensart-studio-grid,
  .related-section .lensart-location-grid,
  .related-section .lensart-outfit-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ══ FINAL TYPOGRAPHY LOCK: Inter body 12.8px + Manrope headings ═══ */
:root {
  --font-heading: 'Manrope', Arial, sans-serif !important;
  --font-body: 'Inter', Arial, sans-serif !important;
  --font-main: 'Inter', Arial, sans-serif !important;
  --desc-size: 12.8px !important;
}

html,
body {
  font-family: 'Inter', Arial, sans-serif !important;
  font-size: 12.8px !important;
}

body,
body * {
  font-family: 'Inter', Arial, sans-serif !important;
}

body,
p,
li,
dd,
dt,
span,
a,
div,
button,
input,
select,
textarea,
label,
small,
.card-desc,
.card-meta,
.card-category,
.card-code,
.card-badge,
.hero-sub,
.section-desc,
.archive-desc,
.single-excerpt,
.single-desc,
.single-content,
.single-content p,
.single-content li,
.why-text,
.footer-desc,
.sidebar-widget,
.sidebar-widget p,
.sidebar-widget li,
.sticky-sidebar,
.sticky-sidebar p,
.sticky-sidebar li,
.meta-label,
.meta-value,
.studio-meta,
.location-meta,
.outfit-meta,
.basket-item-meta,
.co-item,
.co-total,
.modal-code,
.modal-desc,
.lensart-booking-area,
.lensart-booking-area *:not(.booking-area-title):not(.ffp-title) {
  font-size: 12.8px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
}

h1, h2, h3, h4, h5, h6,
.hero-title,
.section-title,
.archive-title,
.page-title,
.single-title,
.single-section-title,
.card-title,
.studio-name,
.location-name,
.outfit-name,
.modal-title,
.why-title,
.sidebar-title,
.sticky-sidebar-heading,
.sticky-sections-title,
.booking-area-title,
.lensart-booking-area .booking-area-title,
.ffp-title,
.footer-col h4,
.faq-question,
.logo,
.logo-text {
  font-family: 'Manrope', Arial, sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: .01em;
}

h1, .hero-title, .archive-title, .page-title, .single-title {
  font-size: clamp(30px, 3.4vw, 46px) !important;
  line-height: 1.12 !important;
}

h2, .section-title, .single-section-title, .booking-area-title, .lensart-booking-area .booking-area-title, .ffp-title {
  font-size: clamp(23px, 2.6vw, 34px) !important;
  line-height: 1.16 !important;
}

h3, .modal-title, .why-title, .sidebar-title, .sticky-sidebar-heading, .sticky-sections-title {
  font-size: clamp(19px, 2vw, 26px) !important;
  line-height: 1.22 !important;
}

h4, .footer-col h4, .faq-question {
  font-size: clamp(16px, 1.6vw, 20px) !important;
  line-height: 1.25 !important;
}

h5 {
  font-size: 15px !important;
  line-height: 1.28 !important;
}

h6 {
  font-size: 13.5px !important;
  line-height: 1.3 !important;
}

.card-title,
.studio-name,
.location-name,
.outfit-name {
  font-size: clamp(16px, 1.55vw, 19px) !important;
  line-height: 1.25 !important;
}

.logo,
.logo-text {
  font-size: clamp(18px, 1.8vw, 24px) !important;
  line-height: 1.1 !important;
}

.price-amount {
  font-family: 'Inter', Arial, sans-serif !important;
  font-size: clamp(24px, 2.2vw, 32px) !important;
  font-weight: 600 !important;
  line-height: 1.05 !important;
}

.card-price,
.studio-price,
.basket-total-price,
.stat-num,
.hvb-num {
  font-family: 'Inter', Arial, sans-serif !important;
  font-size: clamp(18px, 1.8vw, 24px) !important;
  font-weight: 600 !important;
  line-height: 1.1 !important;
}

.avatar-letters,
.single-hero-avatar span {
  font-family: 'Manrope', Arial, sans-serif !important;
  font-size: clamp(44px, 6vw, 72px) !important;
  font-weight: 600 !important;
}

h1 *, h2 *, h3 *, h4 *, h5 *, h6 *,
.hero-title *,
.section-title *,
.archive-title *,
.page-title *,
.single-title *,
.single-section-title *,
.card-title *,
.studio-name *,
.location-name *,
.outfit-name *,
.modal-title *,
.why-title *,
.sidebar-title *,
.sticky-sidebar-heading *,
.sticky-sections-title *,
.booking-area-title *,
.ffp-title *,
.footer-col h4 *,
.faq-question *,
.logo *,
.logo-text * {
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
}

@media (max-width: 768px) {
  h1, .hero-title, .archive-title, .page-title, .single-title {
    font-size: clamp(26px, 7vw, 36px) !important;
  }
  h2, .section-title, .single-section-title, .booking-area-title, .lensart-booking-area .booking-area-title, .ffp-title {
    font-size: clamp(21px, 5.5vw, 28px) !important;
  }
  h3, .modal-title, .why-title, .sidebar-title, .sticky-sidebar-heading, .sticky-sections-title {
    font-size: clamp(18px, 4.6vw, 23px) !important;
  }
}


/* ==== USER HOME / SIDEBAR / FOOTER FIX v2.3.7 ==== */
/* Homepage hero: left search/tag, right one editable image */
.hero,
.hero-split,
.search-section,
.hp-cats-section {
  display: none !important;
}
.home-hero-v3 {
  display: block !important;
  padding: calc(var(--header-h) + 28px) 24px 36px !important;
  background: var(--bg) !important;
}
.home-hero-inner {
  max-width: 1250px !important;
  width: 100% !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .82fr) !important;
  gap: 34px !important;
  align-items: stretch !important;
}
.home-hero-copy {
  text-align: left !important;
  padding: 34px 0 26px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}
.home-hero-copy .hero-label,
.home-hero-copy .hero-title,
.home-hero-copy .hero-sub,
.home-hero-copy .hero-actions,
.home-hero-copy .hero-stats-row {
  text-align: left !important;
  justify-content: flex-start !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.home-hero-copy .hero-title {
  font-family: 'Manrope', Arial, sans-serif !important;
  font-size: clamp(26px, 3.2vw, 44px) !important;
  line-height: 1.12 !important;
  font-weight: 600 !important;
  max-width: 620px !important;
}
.home-hero-copy .hero-sub {
  font-family: 'Inter', Arial, sans-serif !important;
  font-size: 12.8px !important;
  max-width: 560px !important;
  line-height: 1.65 !important;
}
.home-hero-copy .hero-actions {
  margin-top: 18px !important;
  margin-bottom: 18px !important;
}
.home-hero-copy .hero-stats-row {
  gap: 22px !important;
  padding-top: 14px !important;
  margin-top: 10px !important;
  margin-bottom: 18px !important;
}
.home-hero-copy .stat-num { font-size: 18px !important; }
.home-hero-copy .stat-label { font-size: 9px !important; }
.home-hero-search {
  width: 100% !important;
  max-width: 720px !important;
  margin-top: 6px !important;
}
.home-hero-search .lensart-search-wrap {
  display: grid !important;
  grid-template-columns: minmax(180px, 1.3fr) repeat(2, minmax(130px, .8fr)) auto !important;
  gap: 8px !important;
  align-items: end !important;
  padding: 12px !important;
  border: 1px solid var(--border-light) !important;
  background: var(--bg-card) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-sm) !important;
}
.home-hero-search .search-field label { font-size: 9px !important; }
.home-hero-search .search-input,
.home-hero-search .search-select {
  font-size: 11px !important;
  min-height: 36px !important;
  padding: 8px 10px !important;
}
.home-hero-search .search-field:nth-of-type(4),
.home-hero-search .search-field:nth-of-type(5) {
  display: none !important;
}
.home-hero-search .search-btn {
  font-size: 10px !important;
  min-height: 36px !important;
  padding: 8px 13px !important;
  white-space: nowrap !important;
}
.home-hero-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  margin-top: 12px !important;
  max-width: 720px !important;
}
.home-hero-tags .hp-cat-pill {
  font-size: 10px !important;
  padding: 6px 10px !important;
}
.home-hero-image-wrap {
  position: relative !important;
  min-height: 430px !important;
  border-radius: var(--radius-lg) !important;
  overflow: hidden !important;
  border: 1px solid var(--border-light) !important;
  background: var(--bg-2) !important;
  box-shadow: var(--shadow) !important;
}
.home-hero-image {
  width: 100% !important;
  height: 100% !important;
  min-height: 430px !important;
  object-fit: cover !important;
  display: block !important;
}
.hero-image-edit-link {
  position: absolute !important;
  right: 12px !important;
  bottom: 12px !important;
  z-index: 2 !important;
  background: rgba(253,250,244,.92) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  color: var(--gold-dark) !important;
  padding: 7px 10px !important;
  font-size: 10px !important;
  font-weight: 600 !important;
}

/* Homepage: show all posts in a clean grid */
.home-full-grid,
.section > .home-full-grid,
.section > .lensart-outfit-grid.home-full-grid {
  width: 100% !important;
  max-width: 1250px !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  overflow: visible !important;
  padding-bottom: 0 !important;
}
.home-full-grid .outfit-card,
.section > .lensart-outfit-grid.home-full-grid .outfit-card {
  width: auto !important;
  min-width: 0 !important;
  flex: none !important;
}
.home-full-grid .outfit-img { width: 100% !important; }

/* Hide card secondary “Xem …” buttons */
.card-btn-view,
.concept-modal-info a.btn-ghost[href] {
  display: none !important;
}
.card-actions { justify-content: flex-end !important; }

/* Single detail/sidebar compact text requested */
.single-concept-wrap .single-section-title,
.single-location-wrap .single-section-title,
.single-outfit-wrap .single-section-title,
.single-studio-wrap .single-section-title,
.sticky-sidebar-heading,
.sidebar-title,
.filter-group-title,
.booking-area-title,
.lensart-booking-area .booking-area-title,
.ffp-title {
  font-family: 'Inter', Arial, sans-serif !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.single-concept-wrap .single-section-title,
.single-location-wrap .single-section-title,
.single-outfit-wrap .single-section-title,
.single-studio-wrap .single-section-title {
  font-size: 16px !important;
  line-height: 1.25 !important;
  margin-bottom: 12px !important;
}
.sticky-sidebar-heading,
.sidebar-title {
  font-size: 13px !important;
  line-height: 1.25 !important;
}
.booking-area-title,
.lensart-booking-area .booking-area-title,
.ffp-title {
  font-size: 14px !important;
  line-height: 1.3 !important;
}
.price-amount,
.single-concept-wrap .price-amount {
  font-family: 'Inter', Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.05 !important;
}
.price-unit,
.single-concept-wrap .price-unit { font-size: 9.6px !important; }

/* Archive sidebar = checkbox filter list */
.archive-sidebar .sidebar-title {
  font-size: 13px !important;
  line-height: 1.25 !important;
  margin: 0 !important;
}
.archive-sidebar .filter-group-title {
  font-size: 10px !important;
  color: var(--gold-dark) !important;
  margin-bottom: 8px !important;
}
.archive-sidebar .filter-item,
.archive-sidebar .filter-item span,
.archive-sidebar .filter-item em {
  font-size: 10px !important;
  line-height: 1.35 !important;
}
.filter-list--checkboxes {
  list-style: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
  padding: 0 !important;
  margin: 0 !important;
}
.filter-item--checkbox {
  display: grid !important;
  grid-template-columns: 14px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 7px 8px !important;
  border: 1px solid var(--border-light) !important;
  background: var(--bg-card) !important;
  border-radius: var(--radius) !important;
  color: var(--text-muted) !important;
  text-decoration: none !important;
}
.filter-item--checkbox input {
  width: 13px !important;
  height: 13px !important;
  accent-color: var(--gold-dark) !important;
}
.filter-item--checkbox em {
  color: var(--text-light) !important;
  font-style: normal !important;
}
.filter-item--service.is-active {
  color: var(--gold-dark) !important;
  border-color: var(--gold) !important;
  background: var(--gold-10) !important;
}
.fake-checkbox {
  width: 13px !important;
  height: 13px !important;
  border: 1px solid var(--gold-dark) !important;
  border-radius: 2px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 9px !important;
}
.archive-filter-actions {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
  margin-top: 12px !important;
}
.archive-filter-actions .btn-primary,
.archive-filter-actions .btn-ghost {
  width: 100% !important;
  text-align: center !important;
  font-size: 10px !important;
  padding: 9px 12px !important;
}

/* Footer: 5 columns + editable contact info */
.site-footer.site-footer--v2 {
  padding: 46px 24px 22px !important;
  background: linear-gradient(180deg, var(--bg-2), var(--bg-card)) !important;
  border-top: 1px solid var(--border-light) !important;
}
.footer-inner.footer-inner--5cols {
  max-width: 1250px !important;
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(220px, 1.35fr) repeat(4, minmax(135px, 1fr)) !important;
  gap: 24px !important;
  align-items: start !important;
  margin-bottom: 26px !important;
}
.footer-brand .footer-desc,
.footer-brand .footer-note {
  max-width: 280px !important;
  font-size: 12px !important;
  line-height: 1.65 !important;
  color: var(--text-muted) !important;
  margin: 0 0 9px !important;
}
.footer-brand .footer-note { color: var(--text-light) !important; }
.footer-col h4 {
  font-family: 'Inter', Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: var(--gold-dark) !important;
  margin: 0 0 12px !important;
}
.footer-col ul {
  list-style: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.footer-col ul li,
.footer-col ul li a,
.footer-link-button {
  font-family: 'Inter', Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  color: var(--text-muted) !important;
  text-decoration: none !important;
}
.footer-col ul li a:hover,
.footer-link-button:hover { color: var(--gold-dark) !important; }
.footer-link-button {
  appearance: none !important;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  cursor: pointer !important;
  text-align: left !important;
}
.footer-contact-list-v2 li {
  border-bottom: 1px solid var(--border-light) !important;
  padding-bottom: 7px !important;
}
.footer-contact-list-v2 li span {
  display: block !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  color: var(--gold-dark) !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  margin-bottom: 2px !important;
}
.footer-socials.footer-socials--v2 {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 12px !important;
}
.footer-socials.footer-socials--v2 a {
  width: auto !important;
  height: auto !important;
  min-height: 28px !important;
  border-radius: 999px !important;
  padding: 6px 10px !important;
  font-size: 10px !important;
  font-weight: 600 !important;
}
.footer-bottom.footer-bottom--v2 {
  max-width: 1250px !important;
  width: 100% !important;
  padding-top: 14px !important;
}
.footer-bottom.footer-bottom--v2 p,
.footer-bottom.footer-bottom--v2 a {
  font-size: 11px !important;
  line-height: 1.4 !important;
}

@media (max-width: 1080px) {
  .home-hero-inner { grid-template-columns: 1fr !important; }
  .home-hero-image-wrap,
  .home-hero-image { min-height: 280px !important; }
  .home-full-grid,
  .section > .home-full-grid,
  .section > .lensart-outfit-grid.home-full-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .footer-inner.footer-inner--5cols {
    grid-template-columns: 1.3fr 1fr 1fr !important;
  }
}
@media (max-width: 760px) {
  .home-hero-search .lensart-search-wrap { grid-template-columns: 1fr 1fr !important; }
  .home-full-grid,
  .section > .home-full-grid,
  .section > .lensart-outfit-grid.home-full-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .footer-inner.footer-inner--5cols {
    grid-template-columns: 1fr 1fr !important;
    gap: 20px !important;
  }
  .footer-col--brand { grid-column: 1 / -1 !important; }
}
@media (max-width: 560px) {
  .home-hero-v3 { padding-left: 16px !important; padding-right: 16px !important; }
  .home-hero-search .lensart-search-wrap { grid-template-columns: 1fr !important; }
  .home-hero-copy .hero-actions { width: 100% !important; }
  .home-hero-copy .hero-actions .btn-primary,
  .home-hero-copy .hero-actions .btn-ghost { width: 100% !important; text-align: center !important; }
  .home-full-grid,
  .section > .home-full-grid,
  .section > .lensart-outfit-grid.home-full-grid,
  .footer-inner.footer-inner--5cols {
    grid-template-columns: 1fr !important;
  }
}


/* ==== USER FIX v2.3.8: Libre title, bigger filters, homepage 2 rows, compact prices ==== */
:root {
  --font-heading: 'Manrope', Arial, sans-serif !important;
  --font-body: 'Inter', Arial, sans-serif !important;
  --font-main: 'Inter', Arial, sans-serif !important;
}

h1, h2, h3, h4, h5, h6,
.hero-title, .section-title, .archive-title, .page-title, .single-title,
.single-section-title, .modal-title, .why-title, .footer-col h4,
.sidebar-title, .sticky-sidebar-heading, .sticky-sections-title,
.booking-area-title, .lensart-booking-area .booking-area-title, .ffp-title,
.card-title, .studio-name, .location-name, .outfit-name,
.logo, .logo-text {
  font-family: 'Manrope', Arial, sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

h1, .hero-title, .archive-title, .page-title, .single-title {
  font-size: clamp(28px, 3vw, 42px) !important;
  line-height: 1.15 !important;
}
h2, .section-title, .single-section-title, .booking-area-title,
.lensart-booking-area .booking-area-title, .ffp-title {
  font-size: clamp(22px, 2.25vw, 30px) !important;
  line-height: 1.18 !important;
}
h3, .modal-title, .why-title {
  font-size: clamp(17px, 1.55vw, 22px) !important;
  line-height: 1.24 !important;
}
h4, .footer-col h4 { font-size: 16px !important; line-height: 1.28 !important; }
h5 { font-size: 14px !important; line-height: 1.3 !important; }
h6 { font-size: 12.5px !important; line-height: 1.32 !important; }

/* Card titles nhỏ lại */
.card-title, .studio-name, .location-name, .outfit-name,
.card-title a, .studio-name a, .location-name a, .outfit-name a {
  font-family: 'Manrope', Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.28 !important;
  font-weight: 600 !important;
}
.card-category, .card-desc, .studio-desc, .location-desc, .outfit-style,
.studio-address, .location-address, .meta-label, .meta-value, .style-tag,
.room-tag, .loc-meta-item, .outfit-sizes, .outfit-color {
  font-family: 'Inter', Arial, sans-serif !important;
}

/* Homepage chỉ 2 dòng: query đã giới hạn 8 bài; grid giữ 4 cột desktop */
.home-full-grid,
.section > .home-full-grid,
.section > .lensart-outfit-grid.home-full-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

/* Hero/search/tag font lớn hơn */
.home-hero-copy .hero-title {
  font-family: 'Manrope', Arial, sans-serif !important;
  font-weight: 600 !important;
  font-size: clamp(28px, 3.1vw, 42px) !important;
}
.home-hero-copy .hero-sub {
  font-size: 14px !important;
  line-height: 1.65 !important;
}
.home-hero-search .search-field label,
.archive-search-bar .search-field label {
  font-size: 12px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
}
.home-hero-search .search-input,
.home-hero-search .search-select,
.archive-search-bar .search-input,
.archive-search-bar .search-select {
  font-size: 14px !important;
  line-height: 1.35 !important;
  min-height: 40px !important;
  padding: 9px 10px !important;
}
.home-hero-search .search-input::placeholder,
.archive-search-bar .search-input::placeholder { font-size: 14px !important; }
.home-hero-search .search-btn,
.archive-search-bar .search-btn {
  font-size: 13px !important;
  min-height: 40px !important;
  padding: 9px 14px !important;
}
.home-hero-tags .hp-cat-pill,
.hp-cat-pill,
.lensart-filter-pills .pill {
  font-size: 13px !important;
  line-height: 1.25 !important;
  padding: 8px 12px !important;
}
.home-hero-copy .stat-num { font-size: 20px !important; }
.home-hero-copy .stat-label { font-size: 11px !important; }

/* Sidebar/filter font tăng lại cho dễ đọc */
.archive-sidebar .sidebar-title,
.sidebar-title {
  font-family: 'Manrope', Arial, sans-serif !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
}
.archive-sidebar .filter-group-title,
.filter-group-title {
  font-size: 13px !important;
  line-height: 1.25 !important;
  letter-spacing: .08em !important;
  font-weight: 600 !important;
}
.archive-sidebar .filter-item,
.archive-sidebar .filter-item span,
.archive-sidebar .filter-item em,
.filter-item--checkbox,
.filter-item--checkbox span,
.filter-item--checkbox em {
  font-size: 14px !important;
  line-height: 1.35 !important;
}
.filter-item--checkbox {
  grid-template-columns: 16px minmax(0, 1fr) auto !important;
  padding: 9px 10px !important;
  gap: 9px !important;
}
.filter-item--checkbox input,
.fake-checkbox {
  width: 15px !important;
  height: 15px !important;
  font-size: 10px !important;
}
.archive-filter-actions .btn-primary,
.archive-filter-actions .btn-ghost,
.mobile-filter-toggle {
  font-size: 13px !important;
  line-height: 1.25 !important;
  padding: 10px 12px !important;
}

/* Single sidebar headings vẫn gọn nhưng không bé quá */
.sticky-sidebar-heading {
  font-family: 'Manrope', Arial, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.sticky-meta-row, .sticky-meta-row span, .sticky-meta-row strong,
.sticky-contact, .contact-btn, .sticky-sections, .sticky-sections a {
  font-size: 13px !important;
  line-height: 1.45 !important;
}

/* Giá nhỏ hơn 70% so với bản trước */
.card-price,
.studio-price,
.price-amount,
.single-concept-wrap .price-amount,
.single-studio-wrap .price-amount,
.single-location-wrap .price-amount,
.basket-total-price {
  font-family: 'Inter', Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.15 !important;
  font-weight: 600 !important;
}
.card-price small,
.studio-price small,
.price-unit,
.single-concept-wrap .price-unit,
.single-studio-wrap .price-unit {
  font-size: 9px !important;
  line-height: 1.15 !important;
  font-weight: 400 !important;
}
.studio-price { margin-bottom: 6px !important; }

/* Nút lưu concept đổi thành trái tim + text */
.card-btn-save {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  padding: 7px 10px !important;
  white-space: nowrap !important;
}
.card-btn-book { font-size: 13px !important; padding: 7px 9px !important; }
.sticky-actions .js-save-concept {
  font-family: 'Inter', Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

/* Default hero image is a single studio image; user can replace in settings */
.home-hero-image-wrap { min-height: 420px !important; }
.home-hero-image { min-height: 420px !important; }

@media (max-width: 900px) {
  .home-full-grid,
  .section > .home-full-grid,
  .section > .lensart-outfit-grid.home-full-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .home-hero-search .lensart-search-wrap {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 520px) {
  h1, .hero-title, .archive-title, .page-title, .single-title { font-size: clamp(24px, 7vw, 32px) !important; }
  h2, .section-title, .single-section-title { font-size: clamp(20px, 5.8vw, 26px) !important; }
  .card-title, .studio-name, .location-name, .outfit-name,
  .card-title a, .studio-name a, .location-name a, .outfit-name a { font-size: 13.5px !important; }
  .home-full-grid,
  .section > .home-full-grid,
  .section > .lensart-outfit-grid.home-full-grid { grid-template-columns: 1fr !important; }
}

/* ==== USER FIX v2.3.9 — banner/settings/menu/sidebar/detail ==== */
/* Menu cấp 2/3: tách dropdown, không xô vào cấp 1 */
.desktop-nav .nav-list,
.desktop-nav .nav-list ul { list-style: none !important; }
.desktop-nav .nav-list > li { position: relative !important; }
.desktop-nav .nav-list > li > a { display: inline-flex !important; align-items: center !important; min-height: var(--header-h) !important; }
.desktop-nav .nav-list .sub-menu {
  position: absolute !important;
  top: calc(100% - 6px) !important;
  left: 0 !important;
  min-width: 220px !important;
  display: block !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(8px) !important;
  background: var(--bg-card) !important;
  border: 1px solid var(--border-light) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-lg) !important;
  padding: 8px !important;
  z-index: 999 !important;
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease !important;
}
.desktop-nav .nav-list li:hover > .sub-menu,
.desktop-nav .nav-list li:focus-within > .sub-menu {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
}
.desktop-nav .nav-list .sub-menu li { position: relative !important; width: 100% !important; }
.desktop-nav .nav-list .sub-menu a {
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  padding: 9px 12px !important;
  border-radius: var(--radius) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  letter-spacing: .06em !important;
  text-transform: none !important;
  white-space: nowrap !important;
  color: var(--text-2) !important;
}
.desktop-nav .nav-list .sub-menu a:hover { background: var(--gold-10) !important; color: var(--gold-dark) !important; }
.desktop-nav .nav-list .sub-menu .sub-menu {
  top: -8px !important;
  left: calc(100% + 8px) !important;
}
.mobile-drawer .mobile-nav-list .sub-menu { list-style:none !important; margin:0 0 0 16px !important; padding:0 0 0 12px !important; border-left:1px solid var(--border-light) !important; }
.mobile-drawer .mobile-nav-list .sub-menu li { border-bottom:0 !important; }
.mobile-drawer .mobile-nav-list .sub-menu a { font-size:14px !important; padding:8px 0 !important; color:var(--text-muted) !important; }

/* Banner: title thẳng, stats nằm dưới banner, tag nhỏ lại */
.home-hero-v3 { padding-bottom: 22px !important; }
.home-hero-copy .hero-title,
.home-hero-copy .hero-title em {
  font-family: 'Manrope', Arial, sans-serif !important;
  font-style: normal !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}
.home-hero-copy .hero-title em { color: var(--text) !important; }
.home-hero-copy > .hero-stats-row { display: none !important; }
.hero-stats-below {
  max-width: 1250px !important;
  margin: 14px auto 0 !important;
  padding: 12px 16px !important;
  border: 1px solid var(--border-light) !important;
  border-radius: var(--radius-lg) !important;
  background: var(--bg-card) !important;
  display: flex !important;
  justify-content: flex-start !important;
  gap: 18px !important;
  box-shadow: var(--shadow-sm) !important;
}
.hero-stats-below .stat-item { gap: 7px !important; }
.hero-stats-below .stat-num { font-family:'Manrope',Arial,sans-serif !important; font-weight:600 !important; font-size:17px !important; }
.hero-stats-below .stat-label { font-size:9px !important; letter-spacing:.10em !important; }
.home-hero-tags .hp-cat-pill,
.hp-cat-pill,
.lensart-filter-pills .pill {
  font-size: 10px !important;
  line-height: 1.2 !important;
  padding: 5px 8px !important;
  letter-spacing: .02em !important;
}
.home-hero-search .search-field label,
.archive-search-bar .search-field label { font-size: 10px !important; }
.home-hero-search .search-input,
.home-hero-search .search-select,
.archive-search-bar .search-input,
.archive-search-bar .search-select { font-size: 12px !important; }
.home-hero-search .search-btn,
.archive-search-bar .search-btn { font-size: 11px !important; }

/* Sidebar/archive filter: vừa đủ đọc, không bé quá */
.archive-sidebar .sidebar-title, .sidebar-title { font-size: 18px !important; }
.archive-sidebar .filter-group-title, .filter-group-title { font-size: 13px !important; }
.archive-sidebar .filter-item, .archive-sidebar .filter-item span, .archive-sidebar .filter-item em,
.filter-item--checkbox, .filter-item--checkbox span, .filter-item--checkbox em { font-size: 14px !important; }

/* Single detail: chỉ icon + giá trị, bỏ diễn giải label */
.detail-item { align-items: center !important; text-align: center !important; gap: 7px !important; }
.detail-label { display: none !important; }
.detail-icon { font-size: 18px !important; line-height: 1 !important; margin-bottom: 0 !important; }
.detail-value { font-size: 12px !important; line-height: 1.35 !important; font-weight: 500 !important; }
.sticky-meta-row { grid-template-columns: 24px minmax(0,1fr) !important; gap: 8px !important; align-items: center !important; }
.sticky-meta-row span { font-size: 16px !important; line-height: 1 !important; text-align: center !important; white-space: nowrap !important; }
.sticky-meta-row strong { font-size: 12px !important; line-height: 1.35 !important; font-weight: 500 !important; }
.tag-chip, .style-tag, .room-tag, .card-category, .card-badge {
  font-size: 10px !important;
  line-height: 1.2 !important;
  padding: 4px 7px !important;
}

/* Giá vẫn nhỏ */
.card-price, .studio-price, .price-amount,
.single-concept-wrap .price-amount, .single-studio-wrap .price-amount,
.single-location-wrap .price-amount, .basket-total-price {
  font-size: 12px !important;
  line-height: 1.12 !important;
}
.card-price small, .studio-price small, .price-unit,
.single-concept-wrap .price-unit, .single-studio-wrap .price-unit { font-size: 8.5px !important; }

@media (max-width: 900px) {
  .hero-stats-below { flex-wrap: wrap !important; margin-left: 16px !important; margin-right: 16px !important; }
  .desktop-nav .nav-list .sub-menu { position: static !important; opacity:1 !important; visibility:visible !important; transform:none !important; box-shadow:none !important; border:0 !important; padding-left:12px !important; }
}


/* ==== USER FIX v2.3.10 — mobile grids, typography, sidebar/footer/card tags/header search ==== */
:root {
  --font-heading: 'Manrope', Arial, sans-serif !important;
  --font-body: 'Inter', Arial, sans-serif !important;
  --font-main: 'Inter', Arial, sans-serif !important;
  --desc-size: 12.8px;
}
html, body, p, li, span, a, button, input, textarea, select,
.card-desc, .studio-desc, .location-desc, .outfit-desc,
.hero-sub, .section-label, .footer-desc, .footer-note,
.archive-count, .detail-value, .sticky-meta-row strong,
.filter-item, .filter-item span, .filter-item em {
  font-family: 'Inter', Arial, sans-serif !important;
  font-weight: 400;
}
h1, h2, h3, h4, h5, h6,
.hero-title, .section-title, .archive-title, .page-title, .single-title,
.single-section-title, .modal-title, .why-title, .footer-col h4,
.card-title, .studio-name, .location-name, .outfit-name,
.card-title a, .studio-name a, .location-name a, .outfit-name a,
.logo, .stat-num, .sticky-sidebar-heading,
.archive-sidebar .sidebar-title, .filter-group-title {
  font-family: 'Manrope', Arial, sans-serif !important;
  font-weight: 600 !important;
  font-style: normal !important;
  letter-spacing: 0 !important;
}
h1 { font-size: clamp(26px, 3.1vw, 44px) !important; }
h2 { font-size: clamp(22px, 2.5vw, 34px) !important; }
h3 { font-size: clamp(18px, 1.8vw, 24px) !important; }
h4, h5, h6 { font-size: 16px !important; }
.hero-title { font-size: clamp(30px, 3.7vw, 52px) !important; line-height: 1.12 !important; }
.section-title { font-size: clamp(22px, 2.5vw, 34px) !important; line-height: 1.16 !important; }
.archive-title, .single-title { font-size: clamp(26px, 3vw, 42px) !important; }
.single-section-title { font-size: 20px !important; }
.card-title, .studio-name, .location-name, .outfit-name,
.card-title a, .studio-name a, .location-name a, .outfit-name a {
  font-size: 14px !important;
  line-height: 1.28 !important;
}
.concept-card .card-title { font-size: 14px !important; }
.studio-name, .location-name { font-size: 14.5px !important; }
.outfit-name { font-size: 13.5px !important; }
.card-desc, .studio-desc, .location-desc, .outfit-desc,
.card-meta, .studio-meta, .location-meta, .outfit-meta,
.card-excerpt, .concept-card p, .studio-card p, .location-card p, .outfit-card p {
  font-size: 12.2px !important;
  line-height: 1.45 !important;
}
/* card tag labels nhỏ */
.tag-chip, .style-tag, .room-tag, .card-category, .card-badge,
.card-style-tags span, .card-location, .card-meta-tag,
.concept-card .card-category, .concept-card .card-badge,
.studio-card .card-category, .location-card .card-category,
.outfit-card .card-category, .outfit-card .card-badge,
.lensart-filter-pills .pill, .home-hero-tags .hp-cat-pill, .hp-cat-pill {
  font-size: 9px !important;
  line-height: 1.15 !important;
  padding: 4px 6px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.card-style-tags { gap: 5px !important; }
.card-price, .studio-price, .price-amount { font-size: 11px !important; line-height: 1.12 !important; }
.card-price small, .studio-price small, .price-unit { font-size: 8px !important; }
/* Sidebar filter desktop to hơn dễ đọc */
.archive-sidebar .sidebar-title { font-size: 19px !important; }
.archive-sidebar .filter-group-title { font-size: 14px !important; }
.archive-sidebar .filter-item, .archive-sidebar .filter-item span, .archive-sidebar .filter-item em,
.filter-item--checkbox, .filter-item--checkbox span, .filter-item--checkbox em {
  font-size: 14.5px !important;
  line-height: 1.35 !important;
}
.filter-item--checkbox { padding: 10px 11px !important; }
/* Homepage 2 dòng desktop: 4 cột x 2 dòng */
.home-full-grid,
.section > .home-full-grid,
.section > .lensart-outfit-grid.home-full-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
/* Bài liên quan: 4 item / dòng desktop */
.related-section .lensart-related-grid,
.lensart-related-section .lensart-related-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
}
/* Header search button rõ ràng hơn */
.header-search-toggle {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 34px !important;
  padding: 7px 10px !important;
  border: 1px solid var(--border-light) !important;
  border-radius: var(--radius) !important;
  background: var(--bg-card) !important;
  color: var(--text-2) !important;
  font-size: 12px !important;
  line-height: 1 !important;
}
.header-search-toggle:hover { color: var(--gold-dark) !important; border-color: var(--border) !important; }
.header-search-label { font-size: 12px !important; font-weight: 500 !important; white-space: nowrap !important; }
.mobile-drawer .mobile-nav-list,
.mobile-drawer .mobile-nav-list ul { list-style: none !important; }
.mobile-drawer .mobile-nav-list a {
  font-family: 'Inter', Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  padding: 10px 0 !important;
}
.mobile-drawer .mobile-nav-list .sub-menu { margin-left: 14px !important; padding-left: 12px !important; border-left: 1px solid var(--border-light) !important; }
.mobile-drawer .mobile-nav-list .sub-menu a { font-size: 13px !important; color: var(--text-muted) !important; }
/* Footer mobile: chữ nhỏ, viết thường, không vỡ */
.site-footer.site-footer--v2 .footer-col h4,
.footer-col h4 { font-size: 12px !important; letter-spacing: .04em !important; text-transform: none !important; }
.site-footer.site-footer--v2 .footer-col ul li a,
.site-footer.site-footer--v2 .footer-link-button,
.footer-col ul li a { font-size: 12px !important; line-height: 1.35 !important; text-transform: none !important; letter-spacing: 0 !important; }
.site-footer.site-footer--v2 .footer-desc,
.site-footer.site-footer--v2 .footer-note,
.footer-bottom.footer-bottom--v2 p,
.footer-bottom.footer-bottom--v2 a { font-size: 11.5px !important; line-height: 1.45 !important; }

@media (max-width: 900px) {
  /* Mobile homepage + archive/category: 2 cột */
  .home-full-grid,
  .section > .home-full-grid,
  .section > .lensart-outfit-grid.home-full-grid,
  .lensart-concept-grid,
  .lensart-studio-grid,
  .lensart-location-grid,
  .lensart-outfit-grid,
  .related-section .lensart-related-grid,
  .lensart-related-section .lensart-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
  /* Danh mục mobile: bỏ sidebar/bộ lọc để không lỗi */
  .archive-layout { grid-template-columns: 1fr !important; padding: 18px 12px 46px !important; }
  .archive-sidebar,
  .archive-filter-sidebar,
  .mobile-filter-toggle,
  .mobile-filter-overlay,
  .archive-search-bar.desktop-search,
  .archive-main > .lensart-filter-pills { display: none !important; }
  .archive-toolbar { gap: 8px !important; margin-bottom: 14px !important; }
  .archive-count, .archive-sort label, .archive-sort select { font-size: 12px !important; }
  .section { padding-left: 12px !important; padding-right: 12px !important; }
  .section-header { margin-bottom: 18px !important; align-items: flex-start !important; }
  .section-more { font-size: 10.5px !important; }
  .card-title, .studio-name, .location-name, .outfit-name,
  .card-title a, .studio-name a, .location-name a, .outfit-name a { font-size: 12.5px !important; }
  .card-desc, .studio-desc, .location-desc, .outfit-desc,
  .card-meta, .studio-meta, .location-meta, .outfit-meta { font-size: 11px !important; }
  .header-search-label { display: none !important; }
  .header-search-toggle { min-width: 34px !important; justify-content: center !important; padding: 7px !important; }
  .mobile-drawer { width: min(320px, 86vw) !important; right: calc(-1 * min(320px, 86vw)) !important; }
  .mobile-drawer.open { right: 0 !important; }
  .footer-inner.footer-inner--5cols { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 16px !important; }
  .footer-col--brand { grid-column: 1 / -1 !important; }
}
@media (max-width: 520px) {
  h1, .hero-title, .archive-title, .page-title, .single-title { font-size: clamp(24px, 6.5vw, 30px) !important; }
  h2, .section-title, .single-section-title { font-size: clamp(19px, 5.3vw, 24px) !important; }
  /* giữ 2 cột trên mobile nhỏ, không rơi về 1 cột */
  .home-full-grid,
  .section > .home-full-grid,
  .section > .lensart-outfit-grid.home-full-grid,
  .lensart-concept-grid,
  .lensart-studio-grid,
  .lensart-location-grid,
  .lensart-outfit-grid,
  .related-section .lensart-related-grid,
  .lensart-related-section .lensart-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  .concept-card, .studio-card, .location-card, .outfit-card { min-width: 0 !important; }
  .card-content, .studio-content, .location-content, .outfit-content { padding: 9px !important; }
  .card-title, .studio-name, .location-name, .outfit-name,
  .card-title a, .studio-name a, .location-name a, .outfit-name a { font-size: 11.5px !important; line-height: 1.25 !important; }
  .tag-chip, .style-tag, .room-tag, .card-category, .card-badge,
  .card-style-tags span, .card-location, .card-meta-tag { font-size: 8px !important; padding: 3px 5px !important; }
  .card-price, .studio-price, .price-amount { font-size: 10px !important; }
  .site-footer.site-footer--v2 { padding: 28px 12px 16px !important; }
  .footer-inner.footer-inner--5cols { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px 12px !important; }
  .footer-col--brand { grid-column: 1 / -1 !important; }
  .site-footer.site-footer--v2 .footer-col h4 { font-size: 11px !important; margin-bottom: 8px !important; text-transform: lowercase !important; }
  .site-footer.site-footer--v2 .footer-col ul { gap: 5px !important; }
  .site-footer.site-footer--v2 .footer-col ul li a,
  .site-footer.site-footer--v2 .footer-link-button { font-size: 10.5px !important; line-height: 1.25 !important; word-break: break-word !important; text-transform: lowercase !important; }
  .footer-contact-list-v2 li { gap: 5px !important; }
  .footer-bottom.footer-bottom--v2 { align-items: flex-start !important; }
}

/* ==== USER FIX v2.3.11 — info icons, hero stats, sidebar scale, related grid ==== */
/* Card/single meta: chỉ icon Font Awesome + giá trị, bỏ hẳn label chữ */
.meta-label,
.detail-label {
  display: none !important;
}
.card-meta,
.concept-card .card-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}
.meta-item,
.meta-item--icon-only,
.detail-item--icon-only {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  text-align: center !important;
}
.meta-item--icon-only {
  padding: 4px 7px !important;
  border-radius: 999px !important;
  background: var(--bg-2) !important;
  border: 1px solid var(--border-light) !important;
}
.meta-icon,
.detail-icon,
.sticky-meta-row span {
  color: var(--gold-dark) !important;
  font-size: 12px !important;
  line-height: 1 !important;
  margin: 0 !important;
}
.detail-icon { font-size: 16px !important; }
.meta-value,
.detail-value,
.sticky-meta-row strong {
  font-family: 'Inter', Arial, sans-serif !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
  font-weight: 500 !important;
  color: var(--text-2) !important;
}
.details-grid .detail-item {
  min-height: 68px !important;
  padding: 10px 8px !important;
  border-radius: var(--radius) !important;
}
.sticky-meta-row {
  display: grid !important;
  grid-template-columns: 22px minmax(0,1fr) !important;
  gap: 7px !important;
  align-items: center !important;
  padding: 7px 0 !important;
}
.sticky-meta-row span i,
.detail-icon i,
.meta-icon i { display: inline-block !important; }

/* Nút đặt lịch trong single/modal: chỉ còn text Đặt lịch */
.sticky-actions .btn-primary,
.concept-modal-info .btn-primary,
.js-open-booking-modal.btn-primary,
.js-open-booking-popup.btn-primary {
  font-family: 'Inter', Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

/* Banner stats: 3 khối to, căn giữa, nằm ngay dưới banner */
.hero-stats-below {
  max-width: 1250px !important;
  margin: 20px auto 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 220px)) !important;
  justify-content: center !important;
  gap: 16px !important;
}
.hero-stats-below .stat-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 86px !important;
  padding: 16px 18px !important;
  border-radius: var(--radius-lg) !important;
  background: var(--bg-card) !important;
  border: 1px solid var(--border-light) !important;
  box-shadow: var(--shadow-sm) !important;
  text-align: center !important;
}
.hero-stats-below .stat-num {
  font-family: 'Manrope', Arial, sans-serif !important;
  font-size: clamp(24px, 2.4vw, 34px) !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  color: var(--text) !important;
}
.hero-stats-below .stat-label {
  margin-top: 6px !important;
  font-family: 'Inter', Arial, sans-serif !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  font-weight: 500 !important;
  color: var(--text-muted) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

/* Tag danh mục trên banner: tăng lại, nhưng tag trong card vẫn nhỏ */
.home-hero-tags .hp-cat-pill {
  font-size: 12px !important;
  line-height: 1.2 !important;
  padding: 6px 9px !important;
}
.home-hero-tags { gap: 6px !important; }
.card-style-tags .style-tag,
.concept-card .style-tag,
.room-tag,
.location-area-tag,
.studio-type-tag {
  font-size: 8.5px !important;
  line-height: 1.15 !important;
  padding: 3px 5px !important;
}

/* Sidebar/archive: nhỏ hơn và gọn hơn */
.archive-layout {
  grid-template-columns: 238px minmax(0, 1fr) !important;
  gap: 20px !important;
}
.archive-sidebar {
  max-width: 238px !important;
  padding: 14px !important;
}
.archive-sidebar .sidebar-title,
.sidebar-title {
  font-size: 15px !important;
  line-height: 1.2 !important;
}
.archive-sidebar .filter-group-title,
.filter-group-title {
  font-size: 11px !important;
  line-height: 1.2 !important;
  margin-bottom: 7px !important;
}
.archive-sidebar .filter-item,
.archive-sidebar .filter-item span,
.archive-sidebar .filter-item em,
.filter-item--checkbox,
.filter-item--checkbox span,
.filter-item--checkbox em {
  font-size: 11.5px !important;
  line-height: 1.3 !important;
}
.filter-item--checkbox {
  grid-template-columns: 13px minmax(0, 1fr) auto !important;
  gap: 7px !important;
  padding: 7px 8px !important;
}
.filter-item--checkbox input,
.fake-checkbox {
  width: 13px !important;
  height: 13px !important;
  font-size: 8px !important;
}
.filter-list--checkboxes { gap: 6px !important; }
.archive-filter-actions .btn-primary,
.archive-filter-actions .btn-ghost { font-size: 11px !important; padding: 8px 10px !important; }

/* Bài liên quan luôn 4 item / dòng desktop */
.related-section .lensart-related-grid,
.related-section .lensart-concept-grid,
.related-section .lensart-studio-grid,
.related-section .lensart-location-grid,
.related-section .lensart-outfit-grid,
.lensart-related-section .lensart-related-grid,
.lensart-related-section .lensart-concept-grid,
.lensart-related-section .lensart-studio-grid,
.lensart-related-section .lensart-location-grid,
.lensart-related-section .lensart-outfit-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

@media (max-width: 900px) {
  .archive-layout { grid-template-columns: 1fr !important; gap: 0 !important; }
  .archive-sidebar { display: none !important; }
  .hero-stats-below {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    margin-left: 16px !important;
    margin-right: 16px !important;
    gap: 10px !important;
  }
  .hero-stats-below .stat-item { min-height: 70px !important; padding: 12px 8px !important; }
  .hero-stats-below .stat-num { font-size: 20px !important; }
  .hero-stats-below .stat-label { font-size: 10px !important; }
  .related-section .lensart-related-grid,
  .related-section .lensart-concept-grid,
  .related-section .lensart-studio-grid,
  .related-section .lensart-location-grid,
  .related-section .lensart-outfit-grid,
  .lensart-related-section .lensart-related-grid,
  .lensart-related-section .lensart-concept-grid,
  .lensart-related-section .lensart-studio-grid,
  .lensart-related-section .lensart-location-grid,
  .lensart-related-section .lensart-outfit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 520px) {
  .hero-stats-below { gap: 8px !important; margin-top: 14px !important; }
  .hero-stats-below .stat-item { min-height: 64px !important; padding: 10px 6px !important; }
  .hero-stats-below .stat-num { font-size: 18px !important; }
  .hero-stats-below .stat-label { font-size: 9px !important; }
  .home-hero-tags .hp-cat-pill { font-size: 10.5px !important; padding: 5px 7px !important; }
}
.card-btn-book {
  font-family: 'Inter', Arial, sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  min-width: auto !important;
  width: auto !important;
  padding: 7px 9px !important;
  white-space: nowrap !important;
}


/* ==== USER FIX v2.3.12 — SVG icons no Font Awesome dependency ==== */
.lensart-svg-icon {
  width: 1em !important;
  height: 1em !important;
  display: inline-block !important;
  vertical-align: -0.14em !important;
  flex: 0 0 auto !important;
  color: currentColor !important;
}
.meta-icon,
.detail-icon,
.sticky-meta-row span,
.single-meta-item,
.card-icon-line,
.loc-meta-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.meta-icon .lensart-svg-icon,
.detail-icon .lensart-svg-icon,
.sticky-meta-row .lensart-svg-icon {
  width: 16px !important;
  height: 16px !important;
}
.single-meta-item .lensart-svg-icon,
.card-icon-line .lensart-svg-icon,
.loc-meta-item .lensart-svg-icon {
  width: 14px !important;
  height: 14px !important;
}
.card-meta .meta-item--icon-only,
.details-grid .detail-item--icon-only {
  min-width: 0 !important;
}
.detail-item--icon-only .detail-icon,
.meta-item--icon-only .meta-icon {
  color: var(--gold-dark) !important;
}


.empty-state-icon {
  font-size: 42px;
  margin-bottom: 12px;
  color: var(--gold-dark);
}
.empty-state-icon .lensart-svg-icon { width: 42px !important; height: 42px !important; }
.why-icon .lensart-svg-icon { width: 30px !important; height: 30px !important; }
.contact-btn .lensart-svg-icon,
.booking-contact-item .lensart-svg-icon,
.mobile-phone .lensart-svg-icon,
.fab .lensart-svg-icon,
.btn-primary .lensart-svg-icon,
.basket-clear .lensart-svg-icon {
  width: 1em !important;
  height: 1em !important;
  margin-right: 6px;
}
.fab .lensart-svg-icon { margin-right: 0; width: 18px !important; height: 18px !important; }
.section-icon .lensart-svg-icon { width: 1em !important; height: 1em !important; }


/* ==== USER FIX v2.3.13 — homepage 4 items, square thumbs, settings categories, readable text ==== */
/* Thumbnail toàn site về hình vuông */
.card-img,
.card-img--avatar,
.studio-img,
.studio-img--avatar,
.outfit-img,
.outfit-img--avatar,
.location-img,
.location-img--avatar,
.concept-card .card-img,
.studio-card .studio-img,
.outfit-card .outfit-img,
.location-card .location-img,
.related-section img,
.lensart-related-section img {
  aspect-ratio: 1 / 1 !important;
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
}
.card-img-link,
.studio-img-link,
.outfit-img-link,
.location-img-link {
  aspect-ratio: 1 / 1 !important;
  display: block !important;
  overflow: hidden !important;
}
.card-img-link > img,
.studio-img-link > img,
.outfit-img-link > img,
.location-img-link > img {
  height: 100% !important;
}

/* Trang chủ: mỗi section 4 item, desktop 1 dòng; mobile giữ 2 cột */
.home-full-grid,
.section > .home-full-grid,
.section > .lensart-outfit-grid.home-full-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

/* Footer: tăng font lại, vẫn không uppercase quá gắt */
.site-footer.site-footer--v2 .footer-col h4,
.footer-col h4 {
  font-size: 14px !important;
  line-height: 1.25 !important;
  letter-spacing: .04em !important;
  text-transform: none !important;
}
.site-footer.site-footer--v2 .footer-col ul li a,
.site-footer.site-footer--v2 .footer-link-button,
.footer-col ul li a,
.footer-contact-list-v2 li,
.footer-contact-list-v2 li a {
  font-size: 15px !important;
  line-height: 1.45 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.site-footer.site-footer--v2 .footer-desc,
.site-footer.site-footer--v2 .footer-note,
.footer-brand .footer-desc,
.footer-brand .footer-note {
  font-size: 14.5px !important;
  line-height: 1.65 !important;
  max-width: 300px !important;
}
.footer-bottom.footer-bottom--v2 p,
.footer-bottom.footer-bottom--v2 a {
  font-size: 13px !important;
  line-height: 1.45 !important;
}

/* Font mô tả trong bài/single tăng nhẹ cho dễ đọc */
.single-description,
.single-description p,
.single-main p,
.info-block,
.info-block p,
.single-content,
.single-content p,
.entry-content,
.entry-content p {
  font-size: 14px !important;
  line-height: 1.72 !important;
}
.details-grid .detail-value,
.sticky-meta-row strong,
.detail-row,
.detail-row span {
  font-size: 13px !important;
  line-height: 1.45 !important;
}
.sticky-sidebar-heading { font-size: 14px !important; }
.sticky-actions .btn-primary,
.js-open-booking-modal.btn-primary { font-size: 12.5px !important; }

@media (max-width: 900px) {
  .home-full-grid,
  .section > .home-full-grid,
  .section > .lensart-outfit-grid.home-full-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
  .site-footer.site-footer--v2 .footer-col h4 { font-size: 12.5px !important; }
  .site-footer.site-footer--v2 .footer-col ul li a,
  .site-footer.site-footer--v2 .footer-link-button,
  .footer-contact-list-v2 li,
  .footer-contact-list-v2 li a { font-size: 13px !important; line-height: 1.35 !important; }
  .site-footer.site-footer--v2 .footer-desc,
  .site-footer.site-footer--v2 .footer-note { font-size: 13px !important; }
  .single-description,
  .single-description p,
  .single-main p,
  .info-block p { font-size: 13.5px !important; }
}
@media (max-width: 520px) {
  .home-full-grid,
  .section > .home-full-grid,
  .section > .lensart-outfit-grid.home-full-grid,
  .lensart-concept-grid,
  .lensart-studio-grid,
  .lensart-location-grid,
  .lensart-outfit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  .site-footer.site-footer--v2 .footer-col h4 { font-size: 12px !important; margin-bottom: 8px !important; text-transform: none !important; }
  .site-footer.site-footer--v2 .footer-col ul li a,
  .site-footer.site-footer--v2 .footer-link-button,
  .footer-contact-list-v2 li,
  .footer-contact-list-v2 li a { font-size: 12.5px !important; line-height: 1.3 !important; text-transform: none !important; }
  .footer-bottom.footer-bottom--v2 p,
  .footer-bottom.footer-bottom--v2 a { font-size: 12px !important; }
}

/* ==== USER FIX v2.3.14 — remove booking blocks, compact icon details ==== */
/* Ẩn triệt để block liên hệ/form nếu còn bị render từ cache/template phụ */
.section--booking,
#booking-section,
#section-contact {
  display: none !important;
}

/* Thông tin chi tiết: 1 hàng desktop, icon trên — text dưới, không label */
.single-main .details-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(92px, 1fr)) !important;
  gap: 10px !important;
  align-items: stretch !important;
}
.single-main .details-grid .detail-item,
.single-main .details-grid .detail-item--icon-only {
  min-height: 86px !important;
  padding: 12px 8px !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 7px !important;
}
.single-main .details-grid .detail-label { display: none !important; }
.single-main .details-grid .detail-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--gold-dark) !important;
  line-height: 1 !important;
  margin: 0 !important;
}
.single-main .details-grid .detail-icon .lensart-svg-icon {
  width: 22px !important;
  height: 22px !important;
  display: block !important;
}
.single-main .details-grid .detail-value {
  font-size: 13px !important;
  line-height: 1.25 !important;
  font-weight: 500 !important;
  color: var(--text-2) !important;
  margin: 0 !important;
}

@media (min-width: 901px) {
  .single-main .details-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 900px) {
  .single-main .details-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 520px) {
  .single-main .details-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* ==== USER FIX v2.3.16 — chuẩn container 1250px, căn lề đều toàn site ==== */
:root{
  --container: 1250px !important;
  --container-pad: 24px;
  --container-width: min(calc(100% - (var(--container-pad) * 2)), var(--container));
}

/* Container nằm giữa màn hình; chữ/nội dung bên trong vẫn căn trái theo layout */
.site-header .header-inner,
.header-search-inner,
.home-hero-v3,
.hero-stats-below,
.section,
.archive-hero,
.archive-search-bar,
.archive-layout,
.single-layout,
.related-section,
.footer-inner,
.footer-bottom,
.footer-bottom-wrap,
.page .entry-content,
.error404 .section {
  width: var(--container-width) !important;
  max-width: var(--container) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* Bỏ padding ngang rải rác để mép trái/phải thẳng hàng 1250px */
.site-header .header-inner,
.home-hero-v3,
.section,
.archive-hero,
.archive-search-bar,
.archive-layout,
.single-layout,
.related-section,
.footer-inner,
.footer-bottom,
.footer-bottom-wrap {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Hero/banner trang chủ cũng nằm trong khung 1250px, không full width */
.home-hero-v3 {
  display: block !important;
  padding-top: calc(var(--header-h) + 28px) !important;
  padding-bottom: 32px !important;
  background: transparent !important;
}
.home-hero-inner {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.home-hero-copy,
.home-hero-copy .hero-label,
.home-hero-copy .hero-title,
.home-hero-copy .hero-sub,
.home-hero-copy .hero-actions,
.section-header,
.archive-hero,
.archive-toolbar,
.single-main,
.footer-col,
.footer-brand {
  text-align: left !important;
}
.home-hero-copy { align-items: flex-start !important; }

/* Stats dưới banner cùng mép với banner */
.hero-stats-below {
  margin-top: 16px !important;
  margin-bottom: 0 !important;
}

/* Section trang chủ: toàn bộ header/filter/grid cùng mép container */
.section {
  padding-top: 54px !important;
  padding-bottom: 54px !important;
}
.section > .section-header,
.section > .lensart-filter-pills,
.section > .lensart-concept-grid,
.section > .lensart-studio-grid,
.section > .lensart-location-grid,
.section > .lensart-outfit-grid,
.section > .why-grid,
.section > .section-cta-center,
.section > .booking-split {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.section-divider {
  width: var(--container-width) !important;
  max-width: var(--container) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Archive/danh mục: hero, search, grid, phân trang thẳng cùng lề */
.archive-wrap { padding-top: var(--header-h) !important; }
.archive-hero {
  padding-top: 44px !important;
  padding-bottom: 22px !important;
}
.archive-search-bar {
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 18px !important;
}
.archive-layout {
  padding-top: 20px !important;
  padding-bottom: 64px !important;
  gap: 24px !important;
}
.archive-main,
.archive-toolbar,
.archive-pagination,
.lensart-concept-grid,
.lensart-studio-grid,
.lensart-location-grid,
.lensart-outfit-grid { min-width: 0 !important; }

/* Single: phần nội dung bên dưới thẳng 1250px */
.single-layout {
  padding-top: 32px !important;
  padding-bottom: 56px !important;
  gap: 28px !important;
}
.related-section {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Footer: nền có thể full, nhưng nội dung/đáy footer đúng 1250px */
.site-footer {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.site-footer .footer-inner,
.site-footer .footer-bottom {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

@media (max-width: 900px){
  :root{ --container-pad: 16px; }
  .site-header .header-inner,
  .home-hero-v3,
  .section,
  .archive-hero,
  .archive-search-bar,
  .archive-layout,
  .single-layout,
  .related-section,
  .footer-inner,
  .footer-bottom,
  .footer-bottom-wrap {
    width: var(--container-width) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .home-hero-inner { grid-template-columns: 1fr !important; gap: 18px !important; }
  .archive-layout { grid-template-columns: 1fr !important; gap: 0 !important; }
  .single-layout { grid-template-columns: 1fr !important; }
}

@media (max-width: 520px){
  :root{ --container-pad: 12px; }
  .section { padding-top: 34px !important; padding-bottom: 34px !important; }
  .archive-hero { padding-top: 28px !important; padding-bottom: 14px !important; }
  .home-hero-v3 { padding-top: calc(var(--header-h) + 18px) !important; padding-bottom: 24px !important; }
}
