/* ============================================================
   Les Pierres de Claude – Header, méga menus et menu mobile
   Maquettes Claude Design « Header & Mega menu » (desktop) et « Header mobile ».
   Balisage : [lpc_header] (lpc-core/includes/header.php). Desktop ≥ 1025 px, mobile/tablette ≤ 1024 px.
   ============================================================ */
:root {
  --lpc-primary: var(--e-global-color-primary, #505841);
  --lpc-cream: var(--e-global-color-secondary, #FDF6EA);
  --lpc-text: var(--e-global-color-text, #3B3A36);
  --lpc-green: var(--e-global-color-01cc989, #7A8663);
  --lpc-green-dark: #6A7555;
  --lpc-accent: var(--e-global-color-accent, #5C4A3B);
  --lpc-beige: var(--e-global-color-0fb01d3, #D9C8A9);
  --lpc-line: #E3DCCD;
  --lpc-line-2: #D9D3C5;
  --lpc-muted: #6B6B65;
  --lpc-soft: #F7F2E8;
  --lpc-soft-2: #F3EBDA;
  --lpc-font-title: var(--e-global-typography-primary-font-family, 'Sora'), sans-serif;
  --lpc-header-z: 999;
}

/* ---------- Conteneur Elementor (template Header #21) : collant sous le bandeau (desktop), fixé (mobile) ---------- */
body:not(.elementor-editor-active) > header.elementor-location-header { position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) - var(--lpc-banner-h, 36px)); z-index: var(--lpc-header-z); }
.elementor-location-header .elementor-widget-shortcode, .elementor-location-header .elementor-widget-shortcode > .elementor-widget-container { width: 100%; }
.lpc-header { position: relative; background: #fff; border-bottom: 1px solid var(--lpc-line); color: var(--lpc-text); font-family: var(--e-global-typography-text-font-family, 'Lato'), sans-serif; font-size: 14px; line-height: 1.4; }
.lpc-header a { color: inherit; text-decoration: none; }
.lpc-header a:hover { color: var(--lpc-green); }
/* Boutons : neutralise les styles globaux du kit Elementor (fond, bordure, ombre au survol) */
.lpc-header button, .lpc-drawer button { font: inherit; color: inherit; background: none; border: 0; border-radius: 0; box-shadow: none; padding: 0; text-transform: none; letter-spacing: normal; line-height: inherit; }
/* Survol / focus : seulement l’apparence, jamais les dimensions (sinon les onglets rétrécissent et le menu se décale) */
.lpc-header button:hover, .lpc-drawer button:hover, .lpc-header button:focus, .lpc-drawer button:focus { background: none; color: inherit; box-shadow: none; text-decoration: none; }
.lpc-header button:focus-visible, .lpc-drawer button:focus-visible { outline: 2px solid var(--lpc-green); outline-offset: 2px; }
.lpc-header img { max-width: 100%; }
.lpc-header__inner { max-width: 1400px; margin: 0 auto; padding: 0 32px; }

/* ---------- Bandeau ---------- */
.lpc-header__banner { background: var(--lpc-primary); color: var(--lpc-cream); font-size: 13px; text-align: center; padding: 9px 20px; display: flex; justify-content: center; flex-wrap: wrap; column-gap: 0; overflow: hidden; max-height: 60px; transition: max-height .25s, padding .25s; }
.lpc-header__banner-item + .lpc-header__banner-item::before { content: '·'; margin: 0 8px; opacity: .8; }

/* ---------- Ligne 1 : logo · recherche · actions ---------- */
.lpc-header__bar > .lpc-header__inner { display: flex; align-items: center; gap: 16px 32px; padding-top: 14px; padding-bottom: 14px; }
.lpc-header__burger { display: none; }
.lpc-header__logo { flex-shrink: 0; display: block; }
.lpc-header .lpc-header__logo img { height: 48px !important; width: auto !important; display: block; }
.lpc-header__search { flex: 1 1 240px; min-width: 0; max-width: 560px; }
.lpc-header__actions { margin-left: auto; display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.lpc-header__btn { height: 46px; padding: 0 16px; display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--lpc-line-2); border-radius: 6px; font-size: 14px; font-weight: 700; white-space: nowrap; position: relative; transition: border-color .15s, background .15s, color .15s; }
.lpc-header__btn:hover { border-color: var(--lpc-green); color: var(--lpc-green); }
.lpc-header__btn .lpc-icon { width: 18px; height: 18px; }
/* Panier : texte blanc quel que soit l’état (la règle « a » du kit Elementor est plus spécifique que la classe seule) */
.lpc-header .lpc-header__btn--cart, .lpc-header .lpc-header__btn--cart:hover, .lpc-header .lpc-header__btn--cart:focus { background: var(--lpc-green); border-color: var(--lpc-green); color: #fff !important; gap: 10px; }
.lpc-header .lpc-header__btn--cart span { color: #fff !important; }
.lpc-header .lpc-header__btn--cart:hover { background: var(--lpc-green-dark); border-color: var(--lpc-green-dark); }
.lpc-header__btn--cart .lpc-icon { display: none; }
.lpc-header__cart-count { background: rgba(255, 255, 255, .2); border-radius: 999px; padding: 1px 8px; font-size: 12px; line-height: 16px; }

/* Recherche : widget JetSearch (template Elementor dédié) ou formulaire WooCommerce */
.lpc-header__search .elementor-widget-container, .lpc-header__search .elementor-widget, .lpc-header__search .e-con { margin: 0; padding: 0; width: 100%; --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0; --margin-top: 0; --margin-bottom: 0; --margin-left: 0; --margin-right: 0; min-height: 0; }
.lpc-header__search .e-con { --content-width: 100%; --width: 100%; }
.lpc-header__search .jet-ajax-search__form { margin: 0; }
.lpc-header__search .jet-ajax-search__fields-holder { border: 1px solid var(--lpc-line-2) !important; border-radius: 6px !important; background: #fff; box-shadow: none !important; transition: border-color .15s; }
.lpc-header__search .jet-ajax-search__fields-holder:focus-within { border-color: var(--lpc-green) !important; }
.lpc-header__search .jet-ajax-search, .lpc-header__search .jet-ajax-search__form, .lpc-header__search .jet-ajax-search__fields-holder { min-width: 0; width: 100%; }
.lpc-header__search .jet-ajax-search__field-wrapper { height: 44px; min-width: 0; padding: 0 14px !important; display: flex; align-items: center; gap: 10px; border: 0 !important; background: transparent !important; }
.lpc-header__search .jet-ajax-search__field-icon { position: static !important; top: auto !important; transform: none !important; color: var(--lpc-muted); display: inline-flex; align-items: center; flex-shrink: 0; margin: 0 !important; line-height: 0; }
.lpc-header__search .jet-ajax-search__field-icon svg { width: 16px; height: 16px; fill: currentColor; }
.lpc-header__search .jet-ajax-search__field { height: 100%; flex: 1 1 0; width: 100%; min-width: 0; border: 0 !important; background: transparent !important; box-shadow: none !important; padding: 0 !important; font: inherit; font-size: 14px; color: var(--lpc-text); outline: none; }
.lpc-header__search .jet-ajax-search__field::placeholder { color: var(--lpc-muted); opacity: 1; }
.lpc-header__search .jet-ajax-search__field { text-overflow: ellipsis; }
.lpc-header__search .jet-ajax-search__submit { height: 100%; }
.lpc-header__search .jet-ajax-search__results-area { z-index: 20; }
.lpc-header__search form.woocommerce-product-search { display: flex; border: 1px solid var(--lpc-line-2); border-radius: 6px; overflow: hidden; height: 46px; }
.lpc-header__search form.woocommerce-product-search input[type="search"] { flex: 1; border: 0; padding: 0 14px; font: inherit; font-size: 14px; }
.lpc-header__search form.woocommerce-product-search button { border: 0; background: var(--lpc-green); color: #fff; padding: 0 14px; font-weight: 700; }

/* ---------- Ligne 2 : navigation ---------- */
.lpc-header__nav { border-top: 1px solid var(--lpc-line); }
.lpc-nav { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 4px; min-height: 52px; flex-wrap: wrap; }
.lpc-nav__item { margin: 0; padding: 0; display: flex; }
.lpc-header .lpc-nav__tab { height: 52px; padding: 0 18px; border: 0; background: none; font-family: var(--lpc-font-title); font-size: 14px; font-weight: 600; color: var(--lpc-text); cursor: pointer; display: flex; align-items: center; gap: 8px; white-space: nowrap; border-bottom: 2px solid transparent; margin-bottom: -1px; transition: color .15s, border-color .15s; }
.lpc-nav__tab .lpc-icon { width: 14px; height: 14px; opacity: .7; transition: transform .2s; }
.lpc-header .lpc-nav__tab:hover, .lpc-header .lpc-nav__tab[aria-expanded="true"] { color: var(--lpc-green) !important; border-bottom: 2px solid var(--lpc-green); }
.lpc-nav__tab[aria-expanded="true"] .lpc-icon { transform: rotate(180deg); }
.lpc-nav__sep { width: 1px; height: 20px; background: var(--lpc-line); margin: 0 12px; }
.lpc-nav__link { height: 52px; padding: 0 14px; display: inline-flex; align-items: center; font-size: 14px; font-weight: 700; white-space: nowrap; }

/* ---------- Méga menus (desktop) ---------- */
.lpc-mega { position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-bottom: 1px solid var(--lpc-line); box-shadow: 0 24px 48px -24px rgba(59, 58, 54, .25); z-index: 5; }
.lpc-mega[hidden] { display: none; }
.lpc-mega__inner { max-width: 1400px; margin: 0 auto; padding: 28px 32px 32px; display: flex; flex-direction: column; gap: 18px; }
.lpc-mega__inner--split { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 1fr); gap: 40px; }
.lpc-mega__main { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.lpc-mega__head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.lpc-mega__side { display: flex; flex-direction: column; gap: 14px; border-left: 1px solid var(--lpc-line); padding-left: 32px; min-width: 0; }
.lpc-mega__list { display: flex; flex-direction: column; gap: 8px; font-size: 14px; }
.lpc-mega__list a { display: flex; justify-content: space-between; gap: 12px; }
.lpc-mega__cta { margin-top: auto; background: var(--lpc-cream); border-radius: 8px; padding: 16px; display: flex; flex-direction: column; gap: 8px; }
.lpc-mega__cta-title { font-family: var(--lpc-font-title); font-weight: 600; font-size: 14px; color: var(--lpc-primary); }
.lpc-mega__cta-text { font-size: 13px; color: var(--lpc-muted); line-height: 1.5; }
.lpc-eyebrow { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--lpc-accent); font-weight: 700; }
.lpc-more { font-size: 13px; color: var(--lpc-green) !important; font-weight: 700; white-space: nowrap; }
.lpc-more:hover { color: var(--lpc-green-dark) !important; text-decoration: underline; }
.lpc-muted { color: var(--lpc-muted); font-weight: 400; }
.lpc-noimg { display: block; width: 100%; height: 100%; background: var(--lpc-soft); }

/* Nos pierres */
.lpc-families { display: grid; grid-template-columns: repeat(var(--lpc-cols, 4), minmax(0, 1fr)); gap: 16px; }
.lpc-family { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.lpc-family__img { aspect-ratio: 4 / 3; border-radius: 8px; overflow: hidden; background: var(--lpc-soft); display: block; margin-bottom: 8px; }
.lpc-family__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.lpc-family:hover .lpc-family__img img { transform: scale(1.04); }
.lpc-family__name { font-family: var(--lpc-font-title); font-weight: 600; font-size: 15px; color: var(--lpc-primary); }
.lpc-family__desc { font-size: 13px; color: var(--lpc-muted); line-height: 1.5; }
.lpc-family__from { font-size: 13px; font-weight: 700; margin-top: 2px; }

/* Par univers */
.lpc-universes { display: grid; grid-template-columns: repeat(var(--lpc-cols, 8), minmax(0, 1fr)); gap: 12px; }
.lpc-universe { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.lpc-universe__img { aspect-ratio: 1; border-radius: 8px; overflow: hidden; background: var(--lpc-soft); display: block; margin-bottom: 6px; }
.lpc-universe__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.lpc-universe:hover .lpc-universe__img img { transform: scale(1.05); }
.lpc-universe__name { font-family: var(--lpc-font-title); font-weight: 600; font-size: 14px; color: var(--lpc-primary); }
.lpc-universe__hint { font-size: 12px; color: var(--lpc-muted); line-height: 1.4; }

/* Par format */
.lpc-formats { display: grid; grid-template-columns: repeat(var(--lpc-cols, 5), minmax(0, 1fr)); gap: 14px; }
.lpc-format { display: flex; flex-direction: column; gap: 4px; padding: 14px; border: 1px solid var(--lpc-line); border-radius: 8px; background: #fff; min-width: 0; transition: border-color .15s; }
.lpc-format:hover { border-color: var(--lpc-green); }
.lpc-format__img { aspect-ratio: 1; background: var(--lpc-soft); border-radius: 6px; display: flex; align-items: center; justify-content: center; overflow: hidden; margin-bottom: 6px; }
.lpc-format__img img { width: 78%; height: 78%; object-fit: cover; border-radius: 4px; }
.lpc-format__name { font-family: var(--lpc-font-title); font-weight: 600; font-size: 14px; color: var(--lpc-primary); }
.lpc-format__unit { font-size: 12px; color: var(--lpc-muted); }

/* Puces / épaisseurs (partagées) */
.lpc-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.lpc-chip { flex-shrink: 0; height: 34px; padding: 0 14px; border: 1px solid var(--lpc-line-2); border-radius: 999px; display: inline-flex; align-items: center; font-size: 13px; font-weight: 700; white-space: nowrap; background: #fff; color: var(--lpc-text); }
.lpc-chip:hover { border-color: var(--lpc-green); color: var(--lpc-green); }
.lpc-thick-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.lpc-thick { height: 48px; border: 1px solid var(--lpc-line-2); border-radius: 6px; display: flex; align-items: center; justify-content: center; font-family: var(--lpc-font-title); font-weight: 600; font-size: 14px; color: var(--lpc-primary); }

/* Mobile uniquement par défaut masqué */
.lpc-header__chips { display: none; }
.lpc-drawer { display: none; }

/* ============================================================
   Mobile / tablette (≤ 1024 px)
   ============================================================ */
@media (max-width: 1024px) {
  /* Un contenu plus large que l’écran (ex. info-bulle du hotspot de l’accueil) élargirait le viewport et donc le header fixé. */
  html { overflow-x: hidden; }
  body:not(.elementor-editor-active) > header.elementor-location-header { position: fixed; top: var(--wp-admin--admin-bar--height, 0px); left: 0; right: 0; }
  body:not(.elementor-editor-active) { padding-top: var(--lpc-header-h, 198px); }
  .lpc-header__inner { padding: 0 16px; }
  .lpc-header__banner { font-size: 12px; padding: 8px 16px; }
  .lpc-header__banner-item--desktop { display: none; }
  .lpc-header__nav, .lpc-mega { display: none !important; }

  .lpc-header__bar > .lpc-header__inner { display: grid; grid-template-columns: 44px 1fr auto; grid-template-areas: "burger logo actions" "search search search"; align-items: center; gap: 10px 12px; padding-top: 10px; padding-bottom: 12px; }
  .lpc-header .lpc-header__burger { grid-area: burger; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 0; background: none; color: var(--lpc-primary); cursor: pointer; padding: 0; margin-left: -10px; }
  .lpc-header__burger .lpc-icon { width: 24px; height: 24px; stroke-width: 2; }
  .lpc-header__logo { grid-area: logo; justify-self: center; }
  .lpc-header .lpc-header__logo img { height: 34px !important; }
  .lpc-header__search { grid-area: search; max-width: none; }
  .lpc-header__actions { grid-area: actions; gap: 2px; margin-right: -10px; }
  .lpc-header .lpc-header__btn, .lpc-header .lpc-header__btn--cart, .lpc-header .lpc-header__btn--cart:hover { width: 44px; height: 44px; padding: 0; justify-content: center; border: 0; background: none !important; color: var(--lpc-primary) !important; }
  .lpc-header__btn .lpc-icon { width: 22px; height: 22px; display: block; }
  .lpc-header__btn span:not(.lpc-header__cart-count), .lpc-header__btn--samples { display: none; }
  .lpc-header__cart-count { position: absolute; top: 4px; right: 2px; min-width: 18px; height: 18px; border-radius: 999px; background: var(--lpc-green); color: #fff; font-size: 11px; font-weight: 700; display: flex; align-items: center; justify-content: center; padding: 0 5px; line-height: 1; }
  .lpc-header__cart-count.is-empty { display: none; }

  .lpc-header__chips { display: flex; gap: 8px; padding: 0 16px 12px; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .lpc-header__chips::-webkit-scrollbar { display: none; }
  /* Compact au défilement (header fixé : pas de saut de mise en page). En desktop le bandeau défile naturellement (sticky sous le bandeau). */
  .lpc-header.is-scrolled .lpc-header__banner { max-height: 0; padding-top: 0; padding-bottom: 0; }
  .lpc-header.is-scrolled .lpc-header__chips, .lpc-header.is-scrolled .lpc-header__search { display: none; }
  .lpc-header.is-scrolled .lpc-header__bar > .lpc-header__inner { grid-template-areas: "burger logo actions"; padding-bottom: 10px; }

  /* Tiroir plein écran */
  .lpc-drawer { display: block; position: fixed; inset: 0; z-index: calc(var(--lpc-header-z) + 1); }
  .lpc-drawer[hidden] { display: none; }
  .lpc-drawer__backdrop { position: absolute; inset: 0; background: rgba(40, 45, 32, .35); }
  .lpc-drawer__panel { position: absolute; inset: 0; background: #fff; display: flex; flex-direction: column; overflow: hidden; color: var(--lpc-text); font-family: var(--e-global-typography-text-font-family, 'Lato'), sans-serif; transform: translateX(-100%); transition: transform .25s ease; }
  .lpc-drawer.is-open .lpc-drawer__panel--root { transform: none; }
  .lpc-drawer__panel--sub { transform: translateX(100%); }
  .lpc-drawer__panel--sub[hidden] { display: none; }
  .lpc-drawer__panel--sub.is-active { transform: none; }
  .lpc-drawer a { color: inherit; text-decoration: none; }
  .lpc-drawer__head { display: flex; align-items: center; gap: 8px; padding: 10px 12px 10px 16px; border-bottom: 1px solid var(--lpc-line); flex-shrink: 0; }
  .lpc-drawer__panel--sub .lpc-drawer__head { padding-left: 12px; }
  .lpc-drawer .lpc-drawer__logo { height: 34px !important; width: auto !important; max-width: 60%; display: block; margin-right: auto; object-fit: contain; }
  .lpc-drawer__title { font-family: var(--lpc-font-title); font-weight: 600; font-size: 17px; color: var(--lpc-primary); flex: 1; }
  .lpc-drawer .lpc-drawer__icon { width: 44px; height: 44px; border: 0; background: none; display: flex; align-items: center; justify-content: center; cursor: pointer; color: var(--lpc-primary); padding: 0; flex-shrink: 0; }
  .lpc-drawer__icon .lpc-icon { stroke-width: 2; }
  .lpc-drawer__body { flex: 1; overflow-y: auto; -webkit-overflow-scrolling: touch; display: flex; flex-direction: column; }
  .lpc-drawer__body--sub { gap: 20px; padding: 16px; }
  .lpc-drawer__l1 { list-style: none; margin: 0; padding: 8px 0; }
  .lpc-drawer__l1 li { margin: 0; }
  .lpc-drawer .lpc-drawer__l1-btn { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 20px; height: 60px; border: 0; border-bottom: 1px solid var(--lpc-soft-2); background: none; text-align: left; cursor: pointer; }
  .lpc-drawer__l1-btn .lpc-icon { color: var(--lpc-green); stroke-width: 2; flex-shrink: 0; width: 20px; height: 20px; }
  .lpc-drawer__l1-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
  .lpc-drawer__l1-label { font-family: var(--lpc-font-title); font-weight: 600; font-size: 17px; color: var(--lpc-primary); }
  .lpc-drawer__l1-hint { font-size: 12px; color: var(--lpc-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .lpc-drawer__links { padding: 8px 20px; display: flex; flex-direction: column; }
  .lpc-drawer__links a { height: 48px; display: flex; align-items: center; font-size: 15px; font-weight: 700; }
  .lpc-drawer__foot { margin-top: auto; padding: 16px 20px 24px; display: flex; flex-direction: column; gap: 12px; border-top: 1px solid var(--lpc-line); background: var(--lpc-cream); flex-shrink: 0; }
  .lpc-drawer__cta { height: 50px; display: flex; align-items: center; justify-content: center; gap: 10px; background: var(--lpc-green); color: #fff !important; border-radius: 6px; font-family: var(--lpc-font-title); font-size: 15px; font-weight: 600; }
  .lpc-drawer__cta .lpc-icon { width: 18px; height: 18px; }
  .lpc-drawer__foot-row { display: flex; justify-content: space-between; align-items: center; font-size: 13px; }
  .lpc-drawer__account { display: flex; align-items: center; gap: 8px; font-weight: 700; }
  .lpc-drawer__account .lpc-icon { width: 18px; height: 18px; }
  .lpc-drawer__help { color: var(--lpc-muted) !important; }

  /* Sous-menus */
  .lpc-drawer__group { display: flex; flex-direction: column; gap: 10px; }
  .lpc-drawer__stack { display: flex; flex-direction: column; gap: 10px; }
  .lpc-drawer__stack--tight { gap: 8px; }
  .lpc-drawer__row { display: grid; grid-template-columns: 88px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 10px; border: 1px solid var(--lpc-line); border-radius: 8px; }
  .lpc-drawer__row--small { grid-template-columns: 56px minmax(0, 1fr) auto; gap: 12px; padding: 8px; }
  .lpc-drawer__row .lpc-icon { color: var(--lpc-green); stroke-width: 2; width: 18px; height: 18px; }
  .lpc-drawer__row-img { width: 56px; height: 56px; border-radius: 6px; overflow: hidden; background: var(--lpc-soft); display: block; }
  .lpc-drawer__row-img--wide { width: 88px; height: 66px; }
  .lpc-drawer__row-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .lpc-drawer__row-text { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
  .lpc-drawer__row-name { font-family: var(--lpc-font-title); font-weight: 600; font-size: 15px; color: var(--lpc-primary); }
  .lpc-drawer__row--small .lpc-drawer__row-name { font-size: 14px; }
  .lpc-drawer__row-desc { font-size: 12px; color: var(--lpc-muted); line-height: 1.4; }
  .lpc-drawer__row-from { font-size: 12px; font-weight: 700; }
  .lpc-drawer__note { padding: 16px; background: var(--lpc-cream); border-top: 1px solid var(--lpc-line); display: flex; flex-direction: column; gap: 6px; flex-shrink: 0; }
  .lpc-drawer .lpc-chip { height: 36px; }
  .lpc-tiles--mobile { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; align-content: start; }
  .lpc-tile { position: relative; display: block; aspect-ratio: 4 / 3; border-radius: 8px; overflow: hidden; background: var(--lpc-line); }
  .lpc-tile img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .lpc-tile__label { position: absolute; inset: auto 0 0 0; padding: 12px; background: linear-gradient(to top, rgba(59, 58, 54, .75), transparent); font-family: var(--lpc-font-title); font-weight: 600; font-size: 15px; color: #fff; }
  body.lpc-drawer-open { overflow: hidden; }
}

@media (max-width: 1024px) and (min-width: 768px) {
  .lpc-tiles--mobile { grid-template-columns: repeat(3, 1fr); }
  .lpc-drawer__panel { max-width: 480px; box-shadow: 0 0 48px rgba(59, 58, 54, .25); }
}

@media (min-width: 1025px) and (max-width: 1240px) {
  .lpc-header__search { flex-basis: 200px; }
  .lpc-header__btn--samples span, .lpc-header__btn--account span { display: none; }
  .lpc-header__btn--samples, .lpc-header__btn--account { width: 46px; padding: 0; justify-content: center; }
  .lpc-universes { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .lpc-formats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
  .lpc-drawer__panel, .lpc-header__banner, .lpc-family__img img, .lpc-universe__img img { transition: none; }
}
