:root{
  --gl-cream:#f7f1e7; --gl-ivory:#fbf8f2; --gl-blush:#e9c7c0; --gl-sage:#b9c0a8;
  --gl-gold:#b98b5e; --gl-ink:#3d352c; --gl-soft:#8a7f70;
  --gl-serif:'Marcellus',serif; --gl-sans:'Jost',sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--gl-ivory); color:var(--gl-ink);
  font-family:var(--gl-sans); font-weight:400; line-height:1.65; letter-spacing:.01em;
}
img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}
h1,h2,h3{font-family:var(--gl-serif); font-weight:400; line-height:1.15; margin:0 0 .5em}
.gk{font-family:var(--gl-sans)}
.gl-kicker{font-family:var(--gl-sans); text-transform:uppercase; letter-spacing:.22em; font-size:.72rem; color:var(--gl-gold); margin:0 0 .6em}
.gl-wrap{max-width:1160px; margin:0 auto; padding:0 22px}
.gl-btn{display:inline-block; padding:.85em 1.6em; border:1px solid var(--gl-ink); border-radius:999px; font-family:var(--gl-sans); font-size:.9rem; letter-spacing:.06em; transition:.2s}
.gl-btn-fill{background:var(--gl-ink); color:var(--gl-ivory); border-color:var(--gl-ink)}
.gl-btn-fill:hover{background:var(--gl-gold); border-color:var(--gl-gold)}

/* header */
.gl-head{display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 22px; position:relative; z-index:5}
.gl-brand{display:flex; align-items:center; gap:10px}
.gl-brand-mark{width:40px; height:40px; object-fit:contain}
.gl-brand-name{font-family:var(--gl-serif); font-size:1.35rem; letter-spacing:.04em}
.gl-nav{display:flex; gap:22px; font-size:.92rem; letter-spacing:.03em}
.gl-nav a{color:var(--gl-soft)} .gl-nav a:hover{color:var(--gl-ink)}
.gl-cart{font-size:.92rem; border:1px solid var(--gl-ink); padding:.5em 1em; border-radius:999px}
.gl-cart-n{display:inline-block; margin-left:.4em; color:var(--gl-gold)}
.gl-announce{background:var(--gl-blush); color:var(--gl-ink); text-align:center; padding:.45em 16px; font-size:.78rem; letter-spacing:.08em}
.gl-announce p{margin:0}

/* hero */
.gl-hero{position:relative; height:360px; overflow:hidden; background:var(--gl-cream)}
.gl-hero img{width:100%; height:100%; object-fit:cover}
.gl-hero-copy{position:absolute; left:0; top:0; bottom:0; display:flex; flex-direction:column; justify-content:flex-end; align-items:flex-start; padding:0 22px 28px; max-width:640px; background:linear-gradient(90deg,rgba(251,248,242,.9),rgba(251,248,242,0) 70%)}
.gl-hero-copy h1{font-size:2.6rem; margin-bottom:.2em}
.gl-hero-copy p{max-width:420px}
.gl-hero-copy .gl-btn{margin-top:1em}

/* albums */
.gl-albums{display:grid; grid-template-columns:repeat(4,1fr); gap:2px; padding:2px 0}
.gl-album{position:relative; height:240px; overflow:hidden}
.gl-album img{width:100%; height:100%; object-fit:cover; transition:.4s}
.gl-album:hover img{transform:scale(1.04)}
.gl-album div{position:absolute; left:0; right:0; bottom:0; padding:14px; background:linear-gradient(0deg,rgba(0,0,0,.55),rgba(0,0,0,0))}
.gl-album .gl-kicker{color:#f3d9c0}
.gl-album h2{color:#fff; font-size:1.15rem}

/* sections/grid */
.gl-section{padding:66px 0 20px}
.gl-sec-title{font-size:2rem}
.gl-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:34px}
.gl-card{display:block}
.gl-card-media{display:block; aspect-ratio:1/1; overflow:hidden; border-radius:10px; background:var(--gl-cream)}
.gl-card-media img{width:100%!important; height:100%!important; object-fit:cover!important}
.gl-card h3{font-size:1.05rem; margin:14px 0 2px}
.gl-meta{color:var(--gl-soft); font-size:.9rem}

/* strip */
.gl-strip{position:relative; height:180px; overflow:hidden; margin-top:50px}
.gl-strip img{width:100%; height:100%; object-fit:cover}
.gl-strip-copy{position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; padding:0 22px; color:#fff; text-shadow:0 1px 8px rgba(0,0,0,.4)}
.gl-strip-copy .gl-kicker{color:#f3d9c0}
.gl-strip-copy h2{font-size:1.7rem}

/* page / entry */
.gl-page{padding:60px 0}
.gl-article{max-width:780px; margin:0 auto}
.gl-page-title{font-size:2.4rem}
.gl-entry{font-size:1.02rem; color:var(--gl-ink)}
.gl-entry h2{font-size:1.7rem; margin-top:1.6em; color:var(--gl-gold)}
.gl-entry h3{font-size:1.2rem}
.gl-entry p{margin:0 0 1em}
.gl-entry ul{margin:0 0 1.2em; padding-left:1.2em}
.gl-entry a{color:var(--gl-gold); text-decoration:underline}
.gl-entry blockquote{border-left:3px solid var(--gl-blush); margin:1.4em 0; padding-left:1em; font-style:italic}

/* PDP */
.gl-pdp{display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:start; padding:60px 22px}
.gl-pdp-media img{border-radius:10px}
.gl-pdp-body{position:sticky; top:20px}
.gl-pdp-title{font-size:2.1rem}
.gl-pdp-price{font-size:1.3rem; color:var(--gl-gold); margin:.5em 0 1em}
.gl-buy{display:flex; flex-direction:column; gap:14px; margin-top:10px}
.gl-qty{display:inline-flex; border:1px solid var(--gl-ink); border-radius:999px; overflow:hidden; width:max-content}
.gl-qty-btn{background:none; border:0; width:44px; height:44px; font-size:1.3rem; cursor:pointer}
.gl-qty-input{width:64px; border:0; text-align:center; font-size:1rem; background:none; -moz-appearance:textfield}
.gl-qty-input::-webkit-outer-spin-button,.gl-qty-input::-webkit-inner-spin-button{-webkit-appearance:none; margin:0}
.gl-btn-add{width:100%; border-radius:999px; padding:1em}
.gl-trust{display:grid; grid-template-columns:1fr 1fr; gap:12px 20px; margin-top:26px; border-top:1px solid var(--gl-cream); padding-top:22px}
.gl-trust p{margin:0; font-size:.86rem}
.gl-trust b{display:block; text-transform:uppercase; letter-spacing:.12em; font-size:.68rem; color:var(--gl-gold)}
.gl-trust span{color:var(--gl-soft)}

/* PDP extras */
.gl-ledge{max-width:1160px; margin:30px auto; padding:0 22px}
.gl-ledge dl{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin:0}
.gl-ledge-i{border-top:1px solid var(--gl-cream); padding-top:12px}
.gl-ledge dt{font-family:var(--gl-serif); color:var(--gl-gold); margin-bottom:4px}
.gl-ledge dd{margin:0; color:var(--gl-soft); font-size:.9rem}
.gl-note,.gl-specs{max-width:1160px; margin:30px auto; padding:0 22px}
.gl-note h3{color:var(--gl-gold)}
.gl-note ul{padding-left:1.1em}
.gl-specs table{width:100%; border-collapse:collapse}
.gl-specs td{padding:9px 4px; border-bottom:1px solid var(--gl-cream); font-size:.92rem}
.gl-specs td:first-child{color:var(--gl-gold); font-family:var(--gl-serif); width:120px}

/* footer */
.gl-foot{background:var(--gl-cream); margin-top:60px}
.gl-foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:30px; max-width:1160px; margin:0 auto; padding:50px 22px 30px}
.gl-foot-brand{font-family:var(--gl-serif); font-size:1.4rem; margin:0 0 .2em}
.gl-foot-tag{color:var(--gl-soft); font-size:.9rem}
.gl-foot-h{font-family:var(--gl-serif); color:var(--gl-gold); margin:0 0 .6em}
.gl-foot a{display:block; color:var(--gl-soft); font-size:.9rem; padding:.2em 0}
.gl-foot a:hover{color:var(--gl-ink)}
.gl-foot-base{display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; border-top:1px solid #e6dcc9; max-width:1160px; margin:0 auto; padding:16px 22px; font-size:.8rem; color:var(--gl-soft)}

/* reveal */
.reveal{opacity:0; transform:translateY(14px); transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1; transform:none}

@media (max-width:900px){
  .gl-head{flex-wrap:wrap}
  .gl-nav{order:3; width:100%; justify-content:flex-start; gap:14px; flex-wrap:wrap}
  .gl-albums{grid-template-columns:repeat(2,1fr)}
  .gl-album{height:160px}
  .gl-grid{grid-template-columns:repeat(2,1fr); gap:16px}
  .gl-pdp{grid-template-columns:1fr; gap:20px}
  .gl-pdp-body{position:static}
  .gl-ledge dl{grid-template-columns:1fr 1fr}
  .gl-foot-grid{grid-template-columns:1fr 1fr}
  .gl-hero{height:240px}
  .gl-hero-copy h1{font-size:1.9rem}
}
@media (max-width:520px){
  .gl-grid{grid-template-columns:1fr}
  .gl-trust{grid-template-columns:1fr}
  .gl-foot-grid{grid-template-columns:1fr}
  .gl-ledge dl{grid-template-columns:1fr}
}

/* --- Shopify-style PDP (Garlandia) --- */
.gl-crumb{font-size:.8rem; color:var(--gl-soft); padding:16px 22px 0; letter-spacing:.02em}
.gl-crumb a{color:var(--gl-gold)}
.gl-pdp{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:40px; align-items:start}
.gl-pdp-media{position:sticky; top:20px}
.gl-pdp-media img{border-radius:14px}
.gl-rating{display:flex; align-items:center; gap:10px; margin:6px 0 4px; flex-wrap:wrap}
.gl-stars{color:#d8c7a8}
.gl-stars .on{color:var(--gl-gold)}
.gl-rating-txt{color:var(--gl-soft); font-size:.86rem}
.gl-reviewlink{font-size:.86rem; color:var(--gl-gold); text-decoration:underline}
.gl-pdp-title{font-size:2rem}
.gl-pdp-price{display:flex; align-items:center; gap:12px; margin:.4em 0 1em}
.gl-price-now{font-size:1.5rem; color:var(--gl-ink)}
.gl-price-now ins{text-decoration:none; color:var(--gl-gold)}
.gl-price-now del{color:var(--gl-soft); font-size:1rem; margin-right:8px}
.gl-sale-tag{background:var(--gl-blush); color:var(--gl-ink); font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; padding:.35em .7em; border-radius:999px}
.gl-pdp-desc{color:var(--gl-soft); margin-bottom:14px}
.gl-shipnote{font-size:.86rem; color:var(--gl-ink); background:var(--gl-cream); border-radius:8px; padding:.6em 1em; margin:12px 0}
.gl-trust{display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin:10px 0 16px; border-top:1px solid var(--gl-cream); padding-top:16px}
.gl-trust-i{border:1px solid var(--gl-cream); border-radius:10px; padding:10px 8px; text-align:center; background:#fff}
.gl-trust-i b{display:block; font-size:1.1rem; color:var(--gl-gold); margin-bottom:4px}
.gl-trust-i span{font-size:.72rem; color:var(--gl-soft); line-height:1.2}
.gl-acc{margin-top:6px}
.gl-acc details{border-top:1px solid var(--gl-cream); padding:12px 0}
.gl-acc details:last-child{border-bottom:1px solid var(--gl-cream)}
.gl-acc summary{cursor:pointer; font-family:var(--gl-serif); font-size:1.05rem; list-style:none; display:flex; justify-content:space-between; align-items:center}
.gl-acc summary::after{content:'+'; font-family:var(--gl-sans); font-size:1.1rem; color:var(--gl-gold)}
.gl-acc details[open] summary::after{content:'−'}
.gl-acc-body{padding:12px 0 4px; color:var(--gl-soft); font-size:.95rem}
.gl-acc-body ul{margin:0; padding-left:1.1em}
.gl-acc-body a{color:var(--gl-gold); text-decoration:underline}
.gl-specs{width:100%; border-collapse:collapse}
.gl-specs td{padding:8px 4px; border-bottom:1px solid var(--gl-cream); font-size:.9rem}
.gl-specs td:first-child{color:var(--gl-gold); font-family:var(--gl-serif); width:110px}
.gl-pay{display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:18px; font-size:.78rem; color:var(--gl-soft); flex-wrap:wrap}
.gl-payicons{letter-spacing:.04em; color:var(--gl-ink); opacity:.75}
.gl-reviews{margin:0 auto; padding-bottom:50px}
.gl-reviews h2{font-size:1.8rem}
@media (max-width:900px){
  .gl-pdp{grid-template-columns:1fr; gap:20px}
  .gl-pdp-media{position:static}
  .gl-trust{grid-template-columns:repeat(2,1fr)}
}

/* --- WooCommerce variation form (colour select) --- */
.gl-buy{flex-direction:column; gap:12px}
.gl-buy .cart{display:flex; flex-wrap:wrap; gap:12px; align-items:center}
.gl-buy table.variations{margin:0 0 8px}
.gl-buy .variations label{font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em}
.gl-buy select{min-width:180px; padding:.55em .8em; border:1px solid #d8c9b2; border-radius:8px; background:#fff; font-family:inherit; font-size:.92rem}
.gl-buy .woocommerce-variation-price .price{font-size:1.4rem; color:#b98b5e; margin:4px 0}
.gl-buy .woocommerce-variation-add-to-cart{display:flex; align-items:center; gap:12px; flex-wrap:wrap}
.gl-buy .quantity{display:inline-flex; border:1px solid #3d352c; border-radius:999px; overflow:hidden}
.gl-buy .quantity .qty{width:64px; border:0; text-align:center; font-size:1rem; padding:.5em 0; background:none; font-family:inherit}
.gl-buy .single_add_to_cart_button{flex:1; border-radius:999px; padding:1em; background:#3d352c; color:#fff; border:1px solid #3d352c; font-family:inherit; font-size:.95rem; cursor:pointer; text-transform:uppercase; letter-spacing:.05em}
.gl-buy .single_add_to_cart_button:hover{background:#b98b5e; border-color:#b98b5e}
.gl-buy .reset_variations{display:none!important}
.gl-buy table.variations th.label{display:none}
.gl-buy table.variations, .gl-buy table.variations td, .gl-buy table.variations tbody, .gl-buy table.variations tr{display:block; width:100%; border:0; padding:0}

.pdp-gallery{display:flex; flex-direction:column; gap:12px}
.pdp-gallery-stage{background:#fff; border-radius:14px; overflow:hidden; border:1px solid var(--gl-cream)}
.pdp-gallery-stage img{width:100%; height:auto; display:block}
.pdp-gallery-thumbs{display:flex; gap:10px; flex-wrap:wrap}
.pdp-gallery-thumb{width:78px; height:78px; padding:0; border:1px solid var(--gl-cream); border-radius:10px; overflow:hidden; background:#fff; cursor:pointer}
.pdp-gallery-thumb img{width:100%; height:100%; object-fit:cover; display:block}
.pdp-gallery-thumb.is-active{border-color:var(--gl-ink); box-shadow:0 0 0 2px var(--gl-ink)}

.variations select, .pdp-native-select{position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0 0 0 0)!important; white-space:nowrap!important; border:0!important; padding:0!important}
.pdp-swatches{margin:0 0 12px}
.pdp-swatches-caption{font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; margin-bottom:8px}
.pdp-swatches-row{display:flex; flex-wrap:wrap; gap:8px}
.pdp-swatch{display:inline-flex; align-items:center; gap:8px; border:1px solid #d8c9b2; background:#fff; border-radius:999px; padding:.4em .9em .4em .45em; cursor:pointer; font-family:inherit; font-size:.88rem; color:var(--gl-ink)}
.pdp-swatch.is-active{border-color:var(--gl-ink); box-shadow:0 0 0 2px var(--gl-ink)}
.pdp-swatch-dot{width:18px; height:18px; border-radius:50%; border:1px solid rgba(0,0,0,.15); display:block; flex:none}
