.gbl-header { margin:0; background:var(--wp--preset--color--paper); border-bottom:1px solid var(--wp--preset--color--line); color:var(--wp--preset--color--ink); position:relative; z-index:200; }
.gbl-header [hidden] { display:none !important; }
.gbl-header .gbl-header-inner { width:calc(100% - 64px); max-width:1280px; min-height:110px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:20px; position:relative; }
.gbl-header a { color:inherit; text-decoration:none; }
.gbl-header button { color:inherit; font:inherit; cursor:pointer; }
.gbl-brand { display:flex; align-items:center; gap:12px; flex-shrink:0; }
.gbl-brand img { width:72px; height:72px; object-fit:contain; }
.gbl-brand-text { display:flex; flex-direction:column; gap:7px; }
.gbl-brand-name { font-family:var(--wp--preset--font-family--heading); font-size:1.4rem; line-height:1.15; }
.gbl-brand-tagline { font-size:.55rem; text-transform:uppercase; letter-spacing:.15em; color:var(--wp--preset--color--muted); }
.gbl-menu-list,.gbl-treatment-panel ul { list-style:none; margin:0; padding:0; }
.gbl-menu-list { display:flex; align-items:center; gap:22px; }
.gbl-menu-list > li > a,.gbl-treatment-toggle { font-size:.8rem; display:block; padding:16px 0; white-space:nowrap; }
.gbl-treatment-toggle { background:none; border:0; }
.gbl-treatment-toggle span { margin-left:4px; }
.gbl-menu-list > li > a:hover,.gbl-treatment-toggle:hover { text-decoration:underline; text-decoration-color:var(--wp--preset--color--sky); text-underline-offset:9px; }
.gbl-actions { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.gbl-book { display:inline-flex; align-items:center; justify-content:center; gap:18px; padding:14px 24px; background:var(--wp--preset--color--mint); border-radius:999px; font-size:.8rem; white-space:nowrap; }
.gbl-icon { position:relative; display:inline-flex; align-items:center; justify-content:center; width:42px; height:44px; flex-shrink:0; padding:9px; border:0; background:transparent; border-radius:50%; font-size:1.15rem; }
.gbl-icon svg { width:22px; height:22px; stroke:currentColor; stroke-width:1.5; fill:none; }
.gbl-icon:hover { background:var(--wp--preset--color--cream); }
.gbl-cart-count { position:absolute; right:0; top:0; min-width:17px; height:17px; padding-inline:3px; border-radius:999px; background:var(--wp--preset--color--mint); font-size:.6rem; line-height:17px; text-align:center; }
.gbl-treatment-item { position:relative; }
.gbl-treatment-panel { position:absolute; top:100%; left:-110px; width:560px; padding:22px; display:grid; grid-template-columns:1fr 1.25fr; gap:24px; background:var(--wp--preset--color--paper); border:1px solid var(--wp--preset--color--line); box-shadow:0 16px 40px rgb(24 33 57 / .1); border-radius:16px; }
.gbl-menu-photo { width:100%; height:100%; max-height:290px; object-fit:cover; border-radius:10px; }
.gbl-treatment-panel li a { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:12px; border-radius:8px; font-size:.85rem; }
.gbl-treatment-panel li a:hover { background:var(--wp--preset--color--cream); }
.gbl-menu-top,.gbl-mobile-book,.gbl-menu-toggle,.gbl-back { display:none; }
.gbl-header :is(a,button,input):focus-visible { outline:2px solid var(--wp--preset--color--ink); outline-offset:4px; }
.gbl-search { position:absolute; top:100%; right:0; width:min(520px,100%); padding:24px; background:var(--wp--preset--color--paper); border:1px solid var(--wp--preset--color--line); box-shadow:0 16px 40px rgb(24 33 57 / .1); border-radius:14px; }
.gbl-search-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:16px; font-weight:500; }
.gbl-search .woocommerce-product-search { display:flex; gap:10px; }
.gbl-search .search-field { width:100%; min-width:0; border:1px solid var(--wp--preset--color--line); border-radius:10px; padding:12px; font:inherit; }
.gbl-search button[type=submit] { border:0; border-radius:999px; padding:12px 18px; background:var(--wp--preset--color--mint); font-size:.85rem; }
.gbl-search .screen-reader-text { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
body.gbl-menu-open { overflow:hidden; }
@media(max-width:1200px) {
 .gbl-header .gbl-header-inner { min-height:96px; }
 .gbl-menu-toggle { display:inline-flex; }
 .gbl-desktop-book { display:none; }
 .gbl-menu:not(.is-open) { display:none; }
 .gbl-menu.is-open { position:fixed; inset:0; padding:24px max(24px,calc((100vw - 720px)/2)); background:var(--wp--preset--color--paper); z-index:400; overflow-y:auto; overscroll-behavior:contain; }
 .gbl-menu-top { display:flex; align-items:center; justify-content:space-between; font-family:var(--wp--preset--font-family--heading); font-size:1.7rem; margin-bottom:28px; }
 .gbl-menu-list { display:block; }
 .gbl-menu-list > li > a,.gbl-treatment-toggle { width:100%; text-align:left; padding:20px 0; border-bottom:1px solid var(--wp--preset--color--line); font-family:var(--wp--preset--font-family--heading); font-size:1.5rem; white-space:normal; }
 .gbl-treatment-toggle { display:flex; justify-content:space-between; }
 .gbl-mobile-book { display:inline-flex; margin-top:32px; }
 .gbl-treatment-panel { position:static; width:100%; padding:0; display:block; border:0; border-radius:0; box-shadow:none; }
 .gbl-menu-photo { display:none; }
 .gbl-treatment-panel li a { padding:20px 0; font-size:1.15rem; border-bottom:1px solid var(--wp--preset--color--line); border-radius:0; }
 .gbl-back { display:block; background:none; border:0; padding:12px 0; margin-bottom:16px; font-size:.9rem; }
 .gbl-menu.has-submenu .gbl-menu-list > li:not(.gbl-treatment-item),.gbl-menu.has-submenu .gbl-treatment-toggle { display:none; }
}
@media(max-width:600px) {
 .gbl-header .gbl-header-inner { width:calc(100% - 28px); gap:8px; min-height:88px; }
 .gbl-brand { gap:7px; min-width:0; flex-shrink:1; }
 .gbl-brand img { width:46px; height:46px; }
 .gbl-brand-name { font-size:1.05rem; }
 .gbl-brand-text { gap:5px; }
 .gbl-brand-tagline { font-size:.43rem; letter-spacing:.08em; line-height:1.5; }
 .gbl-actions { gap:0; }
 .gbl-icon { width:40px; }
 .gbl-search { padding:18px; }
 .gbl-search .woocommerce-product-search { flex-wrap:wrap; }
 .gbl-search .search-field { flex:1 1 160px; }
}
@media(max-width:360px) {
 .gbl-brand img { width:34px; height:34px; }
 .gbl-brand-name { font-size:.88rem; }
 .gbl-brand-tagline { max-width:110px; font-size:.4rem; }
 .gbl-header .gbl-header-inner { width:calc(100% - 24px); gap:4px; }
 .gbl-icon { width:38px; }
}
/* WooCommerce's mobile search rule must not shrink catalog cards inside the grid. */
.search .glam-shop ul.products[class] li.product { width:100% !important; margin:0 !important; float:none !important; }
/* Desktop disclosure button: match neighboring nav links despite WP's global button typography. */
@media (min-width:1201px) {
  .gbl-menu-list > li > .gbl-treatment-toggle {
    appearance:none;
    -webkit-appearance:none;
    display:inline-flex;
    align-items:center;
    gap:4px;
    margin:0;
    padding:16px 0;
    border:0;
    border-radius:0;
    background:transparent;
    color:inherit;
    font-family:var(--wp--preset--font-family--body);
    font-size:.8rem;
    font-weight:400;
    line-height:1.7;
    text-align:left;
    vertical-align:middle;
    white-space:nowrap;
  }
  .gbl-treatment-toggle > span { margin:0; line-height:inherit; }
  .gbl-menu-list > li > .gbl-treatment-toggle:hover,
  .gbl-menu-list > li > .gbl-treatment-toggle:focus-visible,
  .gbl-menu-list > li > .gbl-treatment-toggle[aria-expanded="true"] {
    text-decoration:underline;
    text-decoration-color:var(--wp--preset--color--sky);
    text-underline-offset:9px;
  }
}
