/*
Theme Name: GLINEA
Theme URI: https://glinea.qa
Description: GLINEA - quiet luxury womenswear. A Blocksy child theme (olive/cream, Louis-Vuitton-minimal). Bilingual AR/EN ready.
Author: GLINEA
Template: blocksy
Version: 1.6.0
Text Domain: glinea
*/

/* ===================================================================
   GLINEA palette -> Blocksy uses --paletteColor1..8
=================================================================== */
:root {
  --paletteColor1: #59553e !important;
  --paletteColor2: #716e59 !important;
  --paletteColor3: #2c2a23 !important;
  --paletteColor4: #565341 !important;
  --paletteColor5: #dbd6c7 !important;
  --paletteColor6: #f3ecdd !important;
  --paletteColor7: #fef8eb !important;
  --paletteColor8: #ffffff !important;
  /* Blocksy 2.x reads these — overriding kills the default blue on links, tabs, accents */
  --theme-palette-color-1: #59553e !important;
  --theme-palette-color-2: #2c2a23 !important;
  --theme-palette-color-3: #4a4838 !important;
  --theme-palette-color-4: #2c2a23 !important;
  --theme-palette-color-5: #dbd6c7 !important;
  --theme-palette-color-6: #f3ecdd !important;
  --theme-palette-color-7: #fef8eb !important;
  --theme-palette-color-8: #ffffff !important;
  --theme-link-initial-color: #59553e !important;
  --theme-link-hover-color: #2c2a23 !important;
}

body {
  background-color: #fef8eb;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
  color: #2c2a23;
  letter-spacing: 0.01em;
}
h1, h2, h3, h4, h5, .entry-title, .page-title {
  font-family: "Cormorant Garamond", "Times New Roman", serif !important;
  font-weight: 500;
  color: #59553e;
}
:lang(ar) body { font-family: "Tajawal", sans-serif; }
:lang(ar) h1, :lang(ar) h2, :lang(ar) h3, :lang(ar) h4 { font-family: "Amiri", serif !important; }

/* ===================================================================
   LV typography touches (Jost = Futura-like geometric caps)
=================================================================== */
.ct-header .menu-item a,
.menu > .menu-item > a {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.8rem;
  font-weight: 400;
}
:lang(ar) .menu-item a { text-transform: none; letter-spacing: 0; font-family: "Tajawal", sans-serif; }

.woocommerce a.button, .woocommerce button.button, .woocommerce .button,
.woocommerce #respond input#submit, .single_add_to_cart_button,
.wp-block-button__link, .ct-button, button.button, input.button {
  background-color: #59553e !important;
  color: #fef8eb !important;
  border-color: #59553e !important;
  border-radius: 0 !important;
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-weight: 400;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .single_add_to_cart_button:hover { background-color: #716e59 !important; }

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: "Jost", sans-serif !important;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.82rem;
  color: #59553e;
  font-weight: 400;
}
.woocommerce .price, .woocommerce-Price-amount { color: #716e59 !important; font-family: "Jost", sans-serif; font-weight: 300; }

/* ===================================================================
   Custom Louis-Vuitton-style header (Blocksy header hidden)
=================================================================== */
header[class*="ct-header"], #masthead, .ct-header, .site-title-container { display: none !important; }
body:not(.home) { padding-top: 86px; }
body.gl-noscroll { overflow: hidden; }

.glh { position: fixed; top: 0; left: 0; right: 0; z-index: 200; background: #fef8eb; color: #59553e; border-bottom: 1px solid rgba(89, 85, 62, 0.1); transition: background .45s ease, color .45s ease, border-color .45s ease; }
.glh__inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.2rem 2.5rem; }
.glh__group { flex: 1 1 0; display: flex; align-items: center; gap: 2rem; }
.glh__group--right { justify-content: flex-end; }
.glh__logo { flex: 0 0 auto; line-height: 0; }
.glh__logo img { height: 44px; width: auto; display: block; }
.glh__btn { display: inline-flex; align-items: center; gap: .55rem; background: none; border: 0; padding: 0; cursor: pointer; color: inherit; font-family: "Jost", sans-serif; font-size: .76rem; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; }
.glh__btn:hover, .glh__icon:hover { opacity: .6; }
.glh__icon { display: inline-flex; position: relative; color: inherit; }
.glh__count { position: absolute; top: -7px; right: -9px; font-family: "Jost", sans-serif; font-size: .58rem; line-height: 1; }
:lang(ar) .glh__btn { text-transform: none; letter-spacing: 0; font-family: "Tajawal", sans-serif; }

/* transparent over the hero on home, solid after scroll */
.glh[data-transparent="1"]:not(.is-solid) { background: transparent; color: #fef8eb; border-color: transparent; }
.glh[data-transparent="1"]:not(.is-solid) .glh__logo img { filter: brightness(0) invert(1); }
/* PDP variant: transparent over a light gallery — keep olive text, no logo invert, soft top scrim */
.glh.glh--light[data-transparent="1"]:not(.is-solid) { background: transparent; color: #59553e; border-color: transparent; }
.glh.glh--light[data-transparent="1"]:not(.is-solid) .glh__logo img { filter: none; }

/* slide-in menu panel */
.glmenu { position: fixed; inset: 0; z-index: 300; visibility: hidden; }
.glmenu.is-open { visibility: visible; }
.glmenu__backdrop { position: absolute; inset: 0; background: rgba(40, 42, 35, 0.42); opacity: 0; transition: opacity .45s ease; }
.glmenu.is-open .glmenu__backdrop { opacity: 1; }
.glmenu__panel { position: absolute; top: 0; left: 0; bottom: 0; width: min(430px, 86vw); background: #fef8eb; padding: 2rem 2.75rem 2.75rem; display: flex; flex-direction: column; overflow-y: auto; transform: translateX(-100%); transition: transform .6s cubic-bezier(.16, 1, .3, 1); }
.glmenu.is-open .glmenu__panel { transform: translateX(0); }
.glmenu__close { display: inline-flex; align-items: center; gap: .5rem; background: none; border: 0; padding: 0; cursor: pointer; color: #59553e; font-family: "Jost", sans-serif; font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; margin-bottom: 3.5rem; }
.glmenu__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1.5rem; }
.glmenu__list a { font-family: "Cormorant Garamond", serif; font-size: 1.9rem; line-height: 1; color: #59553e; text-decoration: none; transition: opacity .3s; }
.glmenu__list a:hover { opacity: .55; }
.glmenu__foot { margin-top: auto; padding-top: 2.5rem; display: flex; flex-direction: column; gap: .7rem; font-family: "Jost", sans-serif; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: #716e59; }
.glmenu__foot a { color: #716e59; text-decoration: none; }
.glmenu__foot a:hover { color: #59553e; }
:lang(ar) .glmenu__list a { font-family: "Amiri", serif; }
:lang(ar) .glmenu__foot { text-transform: none; letter-spacing: 0; font-family: "Tajawal", sans-serif; }

@media (prefers-reduced-motion: reduce) {
  .glmenu__panel, .glmenu__backdrop, .glh { transition: none; }
}
@media (max-width: 800px) {
  .glh__inner { padding: 1rem 1.25rem; }
  .glh__btn span { display: none; }
  .glh__group { gap: 1.25rem; }
}

/* ===================================================================
   Shared bits
=================================================================== */
.gl-eyebrow { font-family: "Jost", sans-serif; font-size: 0.7rem; font-weight: 400; letter-spacing: 0.32em; text-transform: uppercase; color: #716e59; margin: 0; }
.gl-eyebrow--light { color: rgba(254, 248, 235, 0.9); }
:lang(ar) .gl-eyebrow { text-transform: none; letter-spacing: 0.04em; font-family: "Tajawal", sans-serif; }

.gl-h2 { font-family: "Cormorant Garamond", serif !important; font-weight: 500; color: #59553e; font-size: clamp(2rem, 3.4vw, 3rem); line-height: 1.1; margin: 0; }
.gl-center { text-align: center; }
.gl-lead { color: #6b6857; font-size: 1.05rem; line-height: 1.85; }

.gl-link { display: inline-block; font-family: "Jost", sans-serif; font-size: 0.72rem; font-weight: 400; letter-spacing: 0.22em; text-transform: uppercase; color: #59553e; padding-bottom: 5px; border-bottom: 1px solid currentColor; transition: opacity .3s; }
.gl-link:hover { opacity: .55; color: #59553e; }
.gl-link--light { color: #fef8eb; }
.gl-link--light:hover { color: #fef8eb; }
:lang(ar) .gl-link { text-transform: none; letter-spacing: 0.04em; font-family: "Tajawal", sans-serif; }

/* ===================================================================
   Hero - full screen, caption bottom-center (LV)
=================================================================== */
.gl-hero { position: relative; min-height: 100vh; min-height: 100svh; overflow: hidden; }
.gl-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.gl-hero::before {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(to bottom, rgba(40, 42, 35, 0.38) 0%, transparent 24%, transparent 52%, rgba(40, 42, 35, 0.5) 100%);
}
.gl-hero__caption { position: absolute; left: 50%; bottom: 8vh; transform: translateX(-50%); z-index: 2; text-align: center; width: 92%; }
.gl-hero__title { font-family: "Cormorant Garamond", serif; color: #fef8eb; font-weight: 500; font-size: clamp(2.8rem, 5.5vw, 5rem); line-height: 1.05; margin: 1rem 0 1.7rem; }

/* ===================================================================
   Intro
=================================================================== */
.gl-intro { max-width: 46rem; margin: 0 auto; text-align: center; padding: 8rem 1.5rem 5rem; }
.gl-intro .gl-h2 { margin-bottom: 1.6rem; }

/* ===================================================================
   Sections + product grid
=================================================================== */
.gl-section { max-width: 1500px; margin: 0 auto; padding: 3rem 2.5rem 7rem; }
.gl-section--cats { padding-top: 5rem; }
.gl-section__head { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 2.8rem; }
.gl-grid { display: grid; gap: 1.6rem 1.4rem; }
.gl-grid--4 { grid-template-columns: repeat(4, 1fr); }
.gl-grid--3 { grid-template-columns: repeat(3, 1fr); gap: 1.4rem; }

.gl-card { display: block; color: inherit; text-decoration: none; }
.gl-card__media { overflow: hidden; aspect-ratio: 3/4; background: #f3ecdd; }
.gl-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.3s cubic-bezier(.19, 1, .22, 1); display: block; }
.gl-card:hover .gl-card__media img { transform: scale(1.05); }
.gl-card__title { font-family: "Jost", sans-serif; text-transform: uppercase; letter-spacing: 0.1em; font-size: 0.8rem; color: #59553e; margin: 1.1rem 0 0.35rem; font-weight: 400; }
.gl-card__price { color: #716e59; font-family: "Jost", sans-serif; font-weight: 300; font-size: 0.88rem; }

/* ===================================================================
   Editorial split
=================================================================== */
.gl-editorial { display: grid; grid-template-columns: 1fr 1fr; }
.gl-editorial__img { width: 100%; height: 100%; min-height: 88vh; object-fit: cover; display: block; }
.gl-editorial__text { background: #dbd6c7; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 4rem clamp(2rem, 6vw, 7rem); }
.gl-editorial__text .gl-eyebrow { margin-bottom: 1.3rem; }
.gl-editorial__text .gl-h2 { margin-bottom: 1.5rem; max-width: 24rem; }
.gl-editorial__text .gl-lead { max-width: 27rem; margin-bottom: 2.4rem; }

/* ===================================================================
   Category tiles - label BELOW image (LV)
=================================================================== */
.gl-section--cats .gl-h2 { margin-bottom: 3rem; }
.gl-cat { display: block; text-align: center; color: inherit; text-decoration: none; }
.gl-cat__media { aspect-ratio: 3/4; overflow: hidden; background: #f3ecdd; }
.gl-cat__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.3s cubic-bezier(.19, 1, .22, 1); }
.gl-cat:hover .gl-cat__media img { transform: scale(1.04); }
.gl-cat__label { display: block; font-family: "Jost", sans-serif; text-transform: uppercase; letter-spacing: 0.16em; font-size: 0.8rem; color: #59553e; margin-top: 1.2rem; }
:lang(ar) .gl-cat__label { text-transform: none; letter-spacing: 0; font-family: "Tajawal", sans-serif; }

/* ===================================================================
   Newsletter
=================================================================== */
.gl-newsletter { background: #59553e; color: #fef8eb; text-align: center; padding: 7rem 1.5rem; }
.gl-newsletter__title { color: #fef8eb; margin-bottom: 1rem; }
.gl-newsletter__sub { color: rgba(254, 248, 235, 0.7); max-width: 28rem; margin: 0 auto 2.4rem; }
.gl-newsletter__form { display: flex; max-width: 28rem; margin: 0 auto; border-bottom: 1px solid rgba(254, 248, 235, 0.4); padding-bottom: 0.6rem; }
.gl-newsletter__form input { flex: 1; background: transparent; border: 0; color: #fef8eb; outline: none; font-size: 0.9rem; }
.gl-newsletter__form input::placeholder { color: rgba(254, 248, 235, 0.5); }
.gl-newsletter__form button { background: transparent !important; border: 0 !important; color: #fef8eb !important; font-family: "Jost", sans-serif; font-size: 0.72rem; letter-spacing: 0.2em; text-transform: uppercase; cursor: pointer; padding-left: 1rem; }

/* ===================================================================
   Responsive
=================================================================== */
@media (max-width: 1000px) {
  .gl-grid--4 { grid-template-columns: repeat(2, 1fr); }
  .gl-grid--3 { grid-template-columns: 1fr; }
  .gl-editorial { grid-template-columns: 1fr; }
  .gl-editorial__img { min-height: 60vh; }
  .gl-section { padding: 2rem 1.25rem 5rem; }
  .gl-intro { padding: 5rem 1.25rem 3.5rem; }
}

/* ===================================================================
   Footer (LV structure, light) - Blocksy footer hidden
=================================================================== */
footer[class*="ct-footer"], .ct-footer, #colophon { display: none !important; }

.glf { background: #fef8eb; border-top: 1px solid rgba(89, 85, 62, 0.12); }
.glf__inner { max-width: 1500px; margin: 0 auto; padding: 5rem 2.5rem 2.5rem; }
.glf__cols { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2.5rem; }
.glf__h { font-family: "Jost", sans-serif; font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; color: #59553e; margin: 0 0 1.4rem; font-weight: 500; }
.glf__links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .8rem; }
.glf__links a { color: #6b6857; text-decoration: none; font-size: .92rem; transition: color .3s; }
.glf__links a:hover { color: #59553e; }
.glf__text { color: #6b6857; font-size: .92rem; line-height: 1.7; margin: 0 0 1rem; max-width: 22rem; }
.glf__news { display: flex; border-bottom: 1px solid rgba(89, 85, 62, 0.3); padding-bottom: .5rem; max-width: 20rem; margin-bottom: 1.1rem; }
.glf__news input { flex: 1; background: none; border: 0; outline: none; color: #2c2a23; font-size: .9rem; }
.glf__news button { background: none; border: 0; cursor: pointer; font-family: "Jost", sans-serif; font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; color: #59553e; }
.glf__follow a { font-family: "Jost", sans-serif; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: #6b6857; text-decoration: none; }
.glf__follow a:hover { color: #59553e; }
.glf__bar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 4rem; padding-top: 1.6rem; border-top: 1px solid rgba(89, 85, 62, 0.12); font-family: "Jost", sans-serif; font-size: .75rem; letter-spacing: .08em; color: #6b6857; }
.glf__bar a { color: #6b6857; text-decoration: none; }
.glf__bar a:hover { color: #59553e; }
.glf__sep { margin: 0 .55rem; opacity: .5; }
.glf__brand { text-align: center; padding: 2.5rem 0 1rem; }
.glf__brand img { height: 26px; width: auto; opacity: .92; }
:lang(ar) .glf__h, :lang(ar) .glf__bar, :lang(ar) .glf__news button, :lang(ar) .glf__follow a { font-family: "Tajawal", sans-serif; text-transform: none; letter-spacing: 0; }
@media (max-width: 900px) { .glf__cols { grid-template-columns: 1fr 1fr; gap: 2.5rem 1.5rem; } }
@media (max-width: 560px) { .glf__cols { grid-template-columns: 1fr; } .glf__bar { flex-direction: column; align-items: flex-start; gap: .6rem; } }

/* ===================================================================
   Shopping-bag drawer (Louis-Vuitton-style slide-in from the right)
   =================================================================== */
.glcart { position: fixed; inset: 0; z-index: 320; visibility: hidden; }
.glcart.is-open { visibility: visible; }
.glcart__backdrop { position: absolute; inset: 0; background: rgba(40, 42, 35, 0.42); opacity: 0; transition: opacity .45s ease; }
.glcart.is-open .glcart__backdrop { opacity: 1; }
.glcart__panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(600px, 94vw); background: #ffffff; display: flex; flex-direction: column; overflow-y: auto; transform: translateX(100%); transition: transform .6s cubic-bezier(.16, 1, .3, 1); }
.glcart.is-open .glcart__panel { transform: translateX(0); }
.glcart.is-busy .glcart__panel { opacity: .55; pointer-events: none; transition: opacity .2s ease; }
.glcart__fragment { display: flex; flex-direction: column; flex: 1; }

.glcart__head { display: flex; align-items: center; justify-content: space-between; padding: 2rem 2.5rem 1.5rem; }
.glcart__title { font-family: "Jost", sans-serif; font-size: .95rem; letter-spacing: .12em; text-transform: uppercase; color: #2c2a23; margin: 0; font-weight: 400; }
.glcart__n { color: #8a8674; font-size: .82rem; margin-left: .15rem; }
.glcart__close { background: none; border: 0; padding: .4rem; margin: -.4rem; cursor: pointer; color: #59553e; line-height: 0; }
.glcart__close:hover { opacity: .55; }

.glcart__empty { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1.1rem; padding: 3rem 2.5rem 6rem; text-align: center; }
.glcart__empty-t { font-family: "Cormorant Garamond", serif; font-size: 1.5rem; color: #59553e; margin: 0; }

.glcart__body { flex: 1; padding: 0 2.5rem; }
.glcart__item { display: grid; grid-template-columns: 96px 1fr auto; gap: 1.4rem; padding: 1.6rem 0; border-top: 1px solid rgba(89, 85, 62, 0.12); }
.glcart__item:first-child { border-top: 0; }
.glcart__media { display: block; line-height: 0; background: #f3ecdd; align-self: start; }
.glcart__media img { width: 100%; height: auto; display: block; }
.glcart__info { display: flex; flex-direction: column; gap: .35rem; padding-top: .2rem; min-width: 0; }
.glcart__sku { font-family: "Jost", sans-serif; font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; color: #a8a491; }
.glcart__name { font-family: "Cormorant Garamond", serif; font-size: 1.18rem; line-height: 1.25; color: #2c2a23; text-decoration: none; }
.glcart__name:hover { color: #59553e; }
.glcart__meta { font-size: .8rem; color: #716e59; line-height: 1.55; margin-top: .1rem; }
.glcart__meta dl, .glcart__meta dt, .glcart__meta dd, .glcart__meta dd p { margin: 0; }
.glcart__meta dt { display: inline; font-weight: 500; }
.glcart__meta dd { display: inline; }
.glcart__meta dd p { display: inline; }

.glcart__side { display: flex; flex-direction: column; align-items: flex-end; gap: .45rem; text-align: right; white-space: nowrap; }
.glcart__price { font-family: "Jost", sans-serif; font-size: .9rem; letter-spacing: .03em; color: #2c2a23; }
.glcart__vat { font-family: "Jost", sans-serif; font-size: .6rem; letter-spacing: .04em; color: #a8a491; }
.glcart__qty { display: inline-flex; align-items: center; gap: .15rem; border: 1px solid rgba(89, 85, 62, 0.25); border-radius: 999px; padding: .15rem .2rem; margin-top: .25rem; }
.glcart__ctl { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; background: none; border: 0; border-radius: 999px; cursor: pointer; color: #59553e; font-family: "Jost", sans-serif; font-size: 1rem; line-height: 1; text-decoration: none; transition: background .25s ease; }
.glcart__ctl:hover { background: #f3ecdd; }
.glcart__ctl--rm svg { display: block; }
.glcart__num { min-width: 22px; text-align: center; font-family: "Jost", sans-serif; font-size: .85rem; color: #2c2a23; }

.glcart__foot { padding: 1.5rem 2.5rem 2.5rem; border-top: 1px solid rgba(89, 85, 62, 0.12); margin-top: auto; }
.glcart__total { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 1.3rem; }
.glcart__total-l { font-family: "Jost", sans-serif; font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; color: #2c2a23; padding-top: .25rem; }
.glcart__total-r { font-family: "Jost", sans-serif; font-size: 1.05rem; color: #2c2a23; text-align: right; display: flex; flex-direction: column; align-items: flex-end; }
.glcart__total-r .glcart__vat { font-size: .6rem; }
.glcart__view { display: block; width: 100%; padding: 1.1rem; background: #59553e; color: #fef8eb; text-align: center; border-radius: 999px; font-family: "Jost", sans-serif; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; transition: background .3s ease; }
.glcart__view:hover { background: #2c2a23; }

:lang(ar) .glcart__panel { right: auto; left: 0; transform: translateX(-100%); }
:lang(ar) .glcart.is-open .glcart__panel { transform: translateX(0); }
:lang(ar) .glcart__title, :lang(ar) .glcart__sku, :lang(ar) .glcart__price, :lang(ar) .glcart__vat, :lang(ar) .glcart__num, :lang(ar) .glcart__total-l, :lang(ar) .glcart__total-r, :lang(ar) .glcart__view { font-family: "Tajawal", sans-serif; text-transform: none; letter-spacing: 0; }
:lang(ar) .glcart__name, :lang(ar) .glcart__empty-t { font-family: "Amiri", serif; }
:lang(ar) .glcart__side { align-items: flex-start; text-align: right; }

@media (prefers-reduced-motion: reduce) { .glcart__panel, .glcart__backdrop { transition: none; } }
@media (max-width: 600px) {
  .glcart__head { padding: 1.5rem 1.4rem 1.2rem; }
  .glcart__body { padding: 0 1.4rem; }
  .glcart__foot { padding: 1.3rem 1.4rem 2rem; }
  .glcart__item { grid-template-columns: 76px 1fr auto; gap: 1rem; }
}

/* ===================================================================
   Search modal (Louis-Vuitton-style slide-down from the top)
   =================================================================== */
.glsearch { position: fixed; inset: 0; z-index: 330; visibility: hidden; }
.glsearch.is-open { visibility: visible; }
.glsearch__backdrop { position: absolute; inset: 0; background: rgba(40, 42, 35, 0.42); opacity: 0; transition: opacity .45s ease; }
.glsearch.is-open .glsearch__backdrop { opacity: 1; }
.glsearch__panel { position: absolute; top: 0; left: 0; right: 0; max-height: 92vh; overflow-y: auto; background: #fff; transform: translateY(-100%); transition: transform .6s cubic-bezier(.16, 1, .3, 1); padding: 2rem 2.5rem 3.5rem; }
.glsearch.is-open .glsearch__panel { transform: translateY(0); }
.glsearch__bar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 2.5rem; }
.glsearch__logo { line-height: 0; }
.glsearch__logo img { height: 30px; width: auto; display: block; }
.glsearch__close { display: inline-flex; align-items: center; gap: .4rem; background: none; border: 0; padding: 0; cursor: pointer; color: #59553e; }
.glsearch__close:hover { opacity: .6; }
.glsearch__form { position: relative; max-width: 760px; margin: 0 auto 1.8rem; display: flex; align-items: center; gap: .4rem; border: 1px solid rgba(89, 85, 62, 0.3); border-radius: 999px; padding: .25rem .35rem .25rem 1.3rem; }
.glsearch__ico { display: inline-flex; color: #8a8674; }
.glsearch__form input[type="search"] { flex: 1; border: 0; outline: none; background: none; font-family: "Cormorant Garamond", serif; font-size: 1.45rem; color: #2c2a23; padding: .7rem .8rem; }
.glsearch__form input[type="search"]::placeholder { color: #b1ad9c; }
.glsearch__submit { background: #59553e; color: #fef8eb; border: 0; border-radius: 999px; padding: .8rem 1.7rem; cursor: pointer; font-family: "Jost", sans-serif; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; transition: background .3s ease; }
.glsearch__submit:hover { background: #2c2a23; }
.glsearch__trending { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: .5rem 1.2rem; margin-bottom: 3rem; }
.glsearch__tlabel { font-family: "Jost", sans-serif; font-size: .64rem; letter-spacing: .18em; text-transform: uppercase; color: #b1ad9c; }
.glsearch__trending a { font-family: "Jost", sans-serif; font-size: .82rem; letter-spacing: .04em; color: #6b6857; text-decoration: none; transition: color .25s; }
.glsearch__trending a:hover { color: #59553e; }
.glsearch__h { font-family: "Cormorant Garamond", serif; font-size: 1.5rem; color: #59553e; text-align: center; margin: 0 0 1.8rem; font-weight: 500; }
.glsearch__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.6rem; max-width: 1100px; margin: 0 auto; }
:lang(ar) .glsearch__form input[type="search"], :lang(ar) .glsearch__h { font-family: "Amiri", serif; }
:lang(ar) .glsearch__submit, :lang(ar) .glsearch__trending, :lang(ar) .glsearch__tlabel, :lang(ar) .glsearch__trending a { font-family: "Tajawal", sans-serif; text-transform: none; letter-spacing: 0; }
@media (max-width: 700px) {
  .glsearch__panel { padding: 1.4rem 1.3rem 2.5rem; }
  .glsearch__grid { grid-template-columns: 1fr 1fr; gap: 1rem; }
  .glsearch__form input[type="search"] { font-size: 1.15rem; }
}

/* ===================================================================
   Account / Identification panel (slide-in from the right)
   =================================================================== */
.glacct { position: fixed; inset: 0; z-index: 330; visibility: hidden; }
.glacct.is-open { visibility: visible; }
.glacct__backdrop { position: absolute; inset: 0; background: rgba(40, 42, 35, 0.42); opacity: 0; transition: opacity .45s ease; }
.glacct.is-open .glacct__backdrop { opacity: 1; }
.glacct__panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(540px, 94vw); background: #fff; overflow-y: auto; transform: translateX(100%); transition: transform .6s cubic-bezier(.16, 1, .3, 1); padding: 2rem 2.75rem 3rem; }
.glacct.is-open .glacct__panel { transform: translateX(0); }
.glacct__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 2.6rem; }
.glacct__title { font-family: "Jost", sans-serif; font-size: .95rem; letter-spacing: .12em; text-transform: uppercase; color: #2c2a23; margin: 0; font-weight: 400; }
.glacct__close { background: none; border: 0; padding: .4rem; margin: -.4rem; cursor: pointer; color: #59553e; line-height: 0; }
.glacct__close:hover { opacity: .6; }

.glacct__login p { margin: 0 0 1.2rem; }
.glacct__login label { display: block; font-family: "Jost", sans-serif; font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; color: #716e59; margin-bottom: .45rem; }
.glacct__login .woocommerce-form-login { border: 0; padding: 0; margin: 0; }
.glacct__login .form-row-first, .glacct__login .form-row-last { width: 100%; float: none; margin: 0 0 1.2rem; }
.glacct__login input[type="text"], .glacct__login input[type="email"], .glacct__login input[type="password"] { width: 100%; box-sizing: border-box; border: 1px solid rgba(89, 85, 62, 0.3); border-radius: 0; background: #fff; padding: .9rem 1rem; font-family: "Inter", sans-serif; font-size: .95rem; color: #2c2a23; }
.glacct__login input:focus { outline: none; border-color: #59553e; }
.glacct__login .woocommerce-form-login__rememberme { display: flex; align-items: center; gap: .5rem; font-family: "Inter", sans-serif; font-size: .82rem; letter-spacing: 0; text-transform: none; color: #6b6857; }
.glacct__login .woocommerce-form-login__rememberme input { width: auto; }
.glacct__login button[type="submit"], .glacct__login .woocommerce-button { width: 100%; background: #59553e; color: #fef8eb; border: 0; border-radius: 999px; padding: 1rem; cursor: pointer; font-family: "Jost", sans-serif; font-size: .76rem; letter-spacing: .14em; text-transform: uppercase; margin-top: .5rem; transition: background .3s ease; }
.glacct__login button[type="submit"]:hover { background: #2c2a23; }
.glacct__login .woocommerce-LostPassword { margin: 1rem 0 0; }
.glacct__login a { font-family: "Inter", sans-serif; font-size: .82rem; color: #6b6857 !important; text-decoration: underline; text-transform: none; letter-spacing: 0; }
.glacct__login a:hover { color: #59553e !important; }

.glacct__create { margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid rgba(89, 85, 62, 0.14); }
.glacct__create-t { font-family: "Jost", sans-serif; font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; color: #2c2a23; margin: 0 0 1.1rem; }
.glacct__create-btn { display: block; text-align: center; border: 1px solid #59553e; color: #59553e; border-radius: 999px; padding: 1rem; font-family: "Jost", sans-serif; font-size: .76rem; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; transition: background .3s ease, color .3s ease; }
.glacct__create-btn:hover { background: #59553e; color: #fef8eb; }

.glacct__hello { font-family: "Cormorant Garamond", serif; font-size: 1.45rem; color: #2c2a23; margin: 0 0 1.6rem; }
.glacct__links { list-style: none; margin: 0 0 1.6rem; padding: 0; }
.glacct__links li { border-top: 1px solid rgba(89, 85, 62, 0.12); }
.glacct__links li:last-child { border-bottom: 1px solid rgba(89, 85, 62, 0.12); }
.glacct__links a { display: block; padding: 1rem 0; font-family: "Jost", sans-serif; font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; color: #2c2a23; text-decoration: none; transition: color .25s; }
.glacct__links a:hover { color: #59553e; }
.glacct__signout { display: inline-block; font-family: "Jost", sans-serif; font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; color: #6b6857; text-decoration: underline; }
.glacct__signout:hover { color: #59553e; }

:lang(ar) .glacct__panel { right: auto; left: 0; transform: translateX(-100%); }
:lang(ar) .glacct.is-open .glacct__panel { transform: translateX(0); }
:lang(ar) .glacct__title, :lang(ar) .glacct__links a, :lang(ar) .glacct__signout, :lang(ar) .glacct__create-t, :lang(ar) .glacct__create-btn, :lang(ar) .glacct__login label, :lang(ar) .glacct__login button[type="submit"] { font-family: "Tajawal", sans-serif; text-transform: none; letter-spacing: 0; }
:lang(ar) .glacct__hello { font-family: "Amiri", serif; }

@media (prefers-reduced-motion: reduce) { .glsearch__panel, .glsearch__backdrop, .glacct__panel, .glacct__backdrop { transition: none; } }
@media (max-width: 600px) { .glacct__panel { padding: 1.5rem 1.5rem 2.5rem; } }

/* ===================================================================
   My Account page + global WooCommerce buttons (brand, no blue)
   =================================================================== */
.woocommerce-account .woocommerce { max-width: 1100px; margin: 0 auto; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border: 1px solid rgba(89, 85, 62, 0.16); }
.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; border-bottom: 1px solid rgba(89, 85, 62, 0.1); }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: .95rem 1.3rem; font-family: "Jost", sans-serif; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: #6b6857; text-decoration: none; background: none; transition: color .25s, background .25s; }
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { color: #59553e; background: #fbf6ec; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: #fef8eb !important; background-color: #59553e !important; }
.woocommerce-account .woocommerce-MyAccount-content { color: #4a4838; }
.woocommerce-account .woocommerce-MyAccount-content a:not(.button) { color: #59553e; }
.woocommerce-account .woocommerce-MyAccount-content a:not(.button):hover { color: #2c2a23; }
.woocommerce-account h1, .woocommerce-account h2, .woocommerce-account h3 { font-family: "Cormorant Garamond", serif; color: #2c2a23; }

.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce .button, .woocommerce #respond input#submit.alt, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt {
  background-color: #59553e !important; color: #fef8eb !important; border: 0; border-radius: 999px;
  font-family: "Jost", sans-serif; font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; padding: .95rem 1.9rem;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce .button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background-color: #2c2a23 !important; }
:lang(ar) .woocommerce-account .woocommerce-MyAccount-navigation li a, :lang(ar) .woocommerce .button { font-family: "Tajawal", sans-serif; text-transform: none; letter-spacing: 0; }

/* ===================================================================
   Shop / category grid — full-bleed Louis-Vuitton catalog
   =================================================================== */
body { overflow-x: clip; }                              /* sticky-safe; absorbs the 100vw break-out */
.woocommerce-page .woo-listing-top { display: none; }   /* hide result count + sort for a clean grid */
.gl-shop-lead { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); margin-top: .5rem; margin-bottom: 2px; line-height: 0; }
.gl-shop-lead img { width: 100%; height: 72vh; object-fit: cover; object-position: center 28%; display: block; }
.woocommerce ul.products, .woocommerce-page ul.products {
  display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 2px;
  width: 100vw; max-width: 100vw; margin: 1.5rem 0 0; margin-left: calc(50% - 50vw); padding: 0; list-style: none;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
  width: auto !important; margin: 0 !important; float: none !important; text-align: left; padding: 0;
}
.woocommerce ul.products li.product a img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; margin: 0; display: block; background: #f3ecdd; border-radius: 0; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: "Cormorant Garamond", serif; font-weight: 500; font-size: 1.2rem; line-height: 1.28; text-transform: none; letter-spacing: .005em; color: #2c2a23; padding: 1.6rem 1.1rem 0; }
.woocommerce ul.products li.product .price { font-family: "Jost", sans-serif; font-size: .8rem; letter-spacing: .03em; color: #8a8674; padding: .55rem 1.1rem 2.2rem; }
.woocommerce ul.products li.product .price del { opacity: .5; margin-right: .4rem; font-weight: 400; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce ul.products li.product .entry-meta,
.woocommerce ul.products li.product .ct-woo-card-actions { display: none !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title::before { content: "New"; display: block; font-family: "Jost", sans-serif; font-size: .64rem; letter-spacing: .1em; text-transform: none; color: #a8a491; margin-bottom: .55rem; font-weight: 400; }
[data-prefix="woo_categories"] .hero-section, .post-type-archive-product .hero-section, .tax-product_cat .hero-section { background: transparent !important; min-height: 0 !important; padding-top: 2.5rem !important; padding-bottom: .25rem !important; }
.archive.woocommerce .hero-section .entry-header, .archive.woocommerce .hero-section .ct-container-narrow { padding-top: 0 !important; padding-bottom: 0 !important; min-height: 0 !important; }
.archive.woocommerce .page-title { margin: 0 !important; }
.archive.woocommerce .ct-container[data-vertical-spacing] { padding-top: .5rem !important; }
:lang(ar) .woocommerce ul.products li.product .woocommerce-loop-product__title::before { font-family: "Tajawal", sans-serif; content: "جديد"; }
:lang(ar) .woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: "Amiri", serif; }
:lang(ar) .woocommerce ul.products li.product .price { font-family: "Tajawal", sans-serif; }
@media (max-width: 900px) { .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr); } }

/* ===================================================================
   Single product — full-bleed editorial (Louis Vuitton)
   gallery 50% (stacked, under transparent header) · info 50%, centered + sticky
   =================================================================== */
body.single-product { padding-top: 0; }
.single-product .hero-section, .single-product .entry-header, .single-product .woocommerce-breadcrumb, .single-product .ct-breadcrumbs { display: none !important; }
.single-product .woocommerce-notices-wrapper { margin: 0 !important; }
.single-product .ct-container-full { padding: 0 !important; max-width: 100% !important; }
.single-product .ct-container-full > article { margin: 0 !important; max-width: 100% !important; padding: 0 !important; }
.single-product .product-entry-wrapper.is-width-constrained {
  max-width: 100% !important; width: 100%; margin: 0 !important; padding: 0 !important;
  display: grid; grid-template-columns: 1fr 1fr; gap: 0; align-items: start;
}

/* left — stacked, edge-to-edge gallery */
.single-product .woocommerce-product-gallery.glgal { display: flex; flex-direction: column; gap: 0; width: 100%; max-width: none; float: none; margin: 0; opacity: 1 !important; }
.glgal__item { margin: 0; background: #f3ecdd; overflow: hidden; }
.glgal__img { display: block; width: 100%; height: auto; }

/* right — info centered in the middle ~half (≈25% of viewport), vertically centered, sticky */
.single-product .summary.entry-summary {
  position: sticky; top: 0; align-self: start; margin: 0;
  width: 100% !important; max-width: none !important;
  min-height: 100vh; box-sizing: border-box; padding: 92px 1.5rem 40px;
  display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: left;
}
.single-product .summary.entry-summary > * { width: 100%; max-width: 360px; margin-left: auto; margin-right: auto; }

.single-product .gl-pdp-eyebrow { font-family: "Jost", sans-serif; font-size: .64rem; letter-spacing: .18em; text-transform: uppercase; color: #a8a491; margin: 0 auto .7rem; display: flex; flex-direction: column; gap: .2rem; }
.single-product .gl-pdp-eyebrow .gl-pdp-new { color: #59553e; }
.single-product .summary .product_title.entry-title { font-family: "Cormorant Garamond", serif; font-size: 2rem; line-height: 1.12; font-weight: 500; color: #2c2a23; margin: 0 auto .5rem; }
.single-product .summary .price { font-family: "Jost", sans-serif; font-size: 1.02rem; color: #2c2a23; margin: 0 auto 1.8rem; }
.single-product .summary .price .amount { font-weight: 400; }
.single-product .summary .woocommerce-product-details__short-description { color: #4a4838; font-size: .92rem; line-height: 1.75; margin: 0 auto 1.4rem; }

.single-product .summary table.variations { width: 100%; max-width: 380px; margin: 0 auto 1rem; border: 0; background: none; }
.single-product .summary table.variations tbody, .single-product .summary table.variations tr { display: block; }
.single-product .summary table.variations th.label { display: block; text-align: left; padding: 0 0 .5rem; border: 0; background: none; }
.single-product .summary table.variations th.label label { font-family: "Jost", sans-serif; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; color: #716e59; font-weight: 400; }
.single-product .summary table.variations td.value { display: block; padding: 0; border: 0; background: none; }
.single-product .summary table.variations select { width: 100%; border: 1px solid rgba(89, 85, 62, 0.3); border-radius: 0; background: #fff; padding: .95rem 1rem; font-family: "Jost", sans-serif; font-size: .85rem; letter-spacing: .03em; color: #2c2a23; }
.single-product .summary .reset_variations { display: inline-block; margin: .5rem 0; font-family: "Jost", sans-serif; font-size: .72rem; letter-spacing: .04em; color: #6b6857; }
/* size pills (replace the <select> dropdown) */
.single-product .summary table.variations select[data-gl-pilled] { display: none; }
.single-product .summary .gl-pills { display: flex; flex-wrap: wrap; gap: .5rem; }
.single-product .summary .gl-pill { min-width: 3.1rem; padding: .8rem .55rem; border: 1px solid rgba(89, 85, 62, 0.28); background: #fff; color: #2c2a23; font-family: "Jost", sans-serif; font-size: .82rem; letter-spacing: .04em; cursor: pointer; transition: border-color .2s ease, background .2s ease, color .2s ease; }
.single-product .summary .gl-pill:hover { border-color: #59553e; }
.single-product .summary .gl-pill.is-active { background: #59553e; color: #fef8eb; border-color: #59553e; }
:lang(ar) .single-product .summary .gl-pill { font-family: "Tajawal", sans-serif; }

.single-product .summary form.cart { margin: .3rem auto 0; max-width: 380px; }
.single-product .summary form.cart .quantity { display: none; }
.single-product .summary .single_add_to_cart_button { width: 100%; padding: 1.15rem; font-size: .8rem; }
.single-product .summary .woocommerce-variation-add-to-cart { display: block; }
.single-product .summary .product_meta { display: none; }

.single-product .gl-pdp-advisor { display: block; margin: 1rem auto 0; font-family: "Jost", sans-serif; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: #6b6857; text-decoration: underline; text-align: center; }
.single-product .gl-pdp-advisor:hover { color: #59553e; }
.single-product .gl-pdp-desc { color: #4a4838; font-size: .92rem; line-height: 1.75; margin: 2rem auto 0; }
.single-product .gl-pdp-desc p { margin: 0 0 .8rem; }
.single-product .gl-pdp-acc { margin: 1.6rem auto 0; border-top: 1px solid rgba(89, 85, 62, 0.16); }
.single-product .gl-pdp-acc details { border-bottom: 1px solid rgba(89, 85, 62, 0.14); }
.single-product .gl-pdp-acc summary { list-style: none; cursor: pointer; padding: 1.05rem 0; font-family: "Jost", sans-serif; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: #2c2a23; display: flex; justify-content: space-between; align-items: center; }
.single-product .gl-pdp-acc summary::-webkit-details-marker { display: none; }
.single-product .gl-pdp-acc summary::after { content: '+'; font-size: 1.05rem; color: #59553e; font-weight: 300; }
.single-product .gl-pdp-acc details[open] summary::after { content: '\2212'; }
.single-product .gl-pdp-acc__body { padding: 0 0 1.2rem; font-size: .86rem; line-height: 1.7; color: #6b6857; }

/* related ("You May Also Like") = full-bleed grid below */
.single-product .related.products > h2, .single-product .up-sells > h2 { font-family: "Cormorant Garamond", serif; font-weight: 500; font-size: 1.9rem; color: #2c2a23; text-align: center; margin: 4rem 0 1.6rem; }

:lang(ar) .single-product .summary .product_title.entry-title, :lang(ar) .single-product .related.products > h2 { font-family: "Amiri", serif; }
:lang(ar) .single-product .summary .price, :lang(ar) .single-product .summary table.variations select, :lang(ar) .single-product .gl-pdp-eyebrow, :lang(ar) .single-product .gl-pdp-acc summary, :lang(ar) .single-product .gl-pdp-advisor { font-family: "Tajawal", sans-serif; text-transform: none; letter-spacing: 0; }

@media (max-width: 900px) {
  .single-product .product-entry-wrapper.is-width-constrained { grid-template-columns: 1fr; gap: 0; }
  .single-product .summary.entry-summary { position: static; min-height: 0; padding: 2.5rem 1.4rem 1rem; }
  .single-product .summary .product_title.entry-title { font-size: 1.8rem; }
}
