/* ── Soul in Prints · Drawer + Gallery shared styles ── */
:root{--warm-white:#faf8f4;--cream:#f5f0e8;--charcoal:#1a1814;--warm-gray:#8a8278;--gold:#b8995a;--gold-light:#d4b97a;--border:rgba(26,24,20,.11);--sh:60px;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--warm-white);color:var(--charcoal);font-family:"Jost",sans-serif;font-weight:300;overflow-x:hidden;cursor:none;}
.cursor{width:10px;height:10px;border-radius:50%;background:var(--gold);position:fixed;top:0;left:0;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .25s,height .25s;}
.cursor-ring{width:36px;height:36px;border-radius:50%;border:1px solid var(--gold);position:fixed;top:0;left:0;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);opacity:.5;transition:width .25s,height .25s;}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:200;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:13px var(--sh);background:rgba(250,248,244,.97);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);}
.nav-hamburger{display:flex;flex-direction:column;gap:5px;cursor:none;width:26px;}
.nav-hamburger span{width:100%;height:1px;display:block;background:var(--charcoal);}
.nav-logo{font-family:"Cormorant Garamond",serif;font-size:1rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--charcoal);text-decoration:none;text-align:center;}
.nav-right{display:flex;justify-content:flex-end;align-items:center;gap:12px;}
.lang-switch{display:flex;gap:6px;}
.lang-switch a{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;padding:5px 10px;border:1px solid var(--border);color:var(--warm-gray);text-decoration:none;transition:all .2s;}
.lang-switch a.active,.lang-switch a:hover{background:var(--charcoal);color:#fff;border-color:var(--charcoal);}
.nav-cta{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;padding:7px 18px;background:var(--gold);color:#fff;text-decoration:none;transition:background .2s;}
.nav-cta:hover{background:var(--charcoal);}
.nav-overlay{position:fixed;inset:0;background:var(--charcoal);z-index:300;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;opacity:0;pointer-events:none;transition:opacity .35s;}
.nav-overlay.open{opacity:1;pointer-events:all;}
.nav-overlay a{font-family:"Cormorant Garamond",serif;font-size:2.4rem;font-weight:300;color:#fff;text-decoration:none;letter-spacing:.06em;padding:9px 0;transition:color .25s;}
.nav-overlay a:hover{color:var(--gold-light);}
.nav-overlay .nav-sub{font-size:.65rem;letter-spacing:.25em;text-transform:uppercase;margin-top:28px;padding-top:28px;border-top:1px solid rgba(255,255,255,.1);display:flex;gap:24px;}
.nav-overlay .nav-sub a{font-family:"Jost",sans-serif;font-size:.65rem;letter-spacing:.18em;color:rgba(255,255,255,.4);padding:0;}
.nav-close{position:absolute;top:22px;right:var(--sh);font-size:1.5rem;color:rgba(255,255,255,.4);cursor:none;background:none;border:none;line-height:1;padding:8px;transition:color .2s;}.nav-close:hover{color:rgba(255,255,255,.8);}

/* PAGE HERO */
.page-hero{padding:108px var(--sh) 56px;background:var(--charcoal);position:relative;overflow:hidden;}
.page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 78% 50%,rgba(184,153,90,.1) 0%,transparent 60%);}
.page-hero-label{font-size:.63rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;position:relative;}
.page-hero h1{font-family:"Cormorant Garamond",serif;font-size:clamp(2.4rem,5vw,4.4rem);font-weight:300;color:#fff;line-height:1.05;position:relative;}
.page-hero h1 em{font-style:italic;color:var(--gold-light);}
.page-hero p{font-size:.9rem;color:rgba(255,255,255,.5);line-height:1.85;max-width:480px;margin-top:18px;position:relative;}

/* COL NAV */
.col-nav-bar{background:var(--charcoal);border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:48px;z-index:150;}
.col-nav-inner{display:flex;align-items:stretch;overflow-x:auto;scrollbar-width:none;white-space:nowrap;}
.col-nav-inner::-webkit-scrollbar{display:none;}
.col-nav-link{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:16px 20px;text-decoration:none;color:rgba(255,255,255,.5);border-right:1px solid rgba(255,255,255,.07);transition:color .2s,background .2s;flex-shrink:0;}
.col-nav-link:hover{color:#fff;background:rgba(255,255,255,.06);}
.col-nav-num{font-size:.52rem;letter-spacing:.22em;color:var(--gold);line-height:1;}
.col-nav-name{font-family:"Cormorant Garamond",serif;font-size:.92rem;font-weight:300;letter-spacing:.04em;line-height:1;}
.col-nav-count{font-size:.52rem;letter-spacing:.12em;color:rgba(255,255,255,.27);text-transform:uppercase;line-height:1;}

/* GALLERY SECTION */
.col-section{padding:72px var(--sh);}
.col-section:nth-child(even){background:var(--cream);}
.col-section:nth-child(odd){background:var(--warm-white);}
.col-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:44px;padding-bottom:22px;border-bottom:1px solid var(--border);}
.col-num{font-family:"Cormorant Garamond",serif;font-size:4.5rem;font-weight:300;line-height:1;color:rgba(184,153,90,.13);}
.col-name{font-family:"Cormorant Garamond",serif;font-size:clamp(1.9rem,4vw,3.2rem);font-weight:300;color:var(--charcoal);margin-top:-14px;}
.col-count{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--warm-gray);}
.masonry{column-count:3;column-gap:10px;}

/* GALLERY ITEM */
.gitem-wrap{break-inside:avoid;margin-bottom:10px;position:relative;overflow:hidden;cursor:none;display:block;text-decoration:none;color:inherit;}
.gitem-wrap img{width:100%;height:auto;display:block;transition:transform .55s cubic-bezier(.25,.46,.45,.94);filter:contrast(.97) saturate(.9);}
.gitem-wrap:hover img{transform:scale(1.04);filter:contrast(1) saturate(1);}
.gitem-hover{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:18px 14px 14px;background:linear-gradient(to top,rgba(8,6,4,.7) 0%,transparent 55%);opacity:0;transition:opacity .28s;}
.gitem-wrap:hover .gitem-hover{opacity:1;}
.gitem-hover-title{font-family:"Cormorant Garamond",serif;font-size:.98rem;color:#fff;letter-spacing:.04em;margin-bottom:3px;}
.gitem-hover-col{font-size:.56rem;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,255,255,.62);}

/* Buy badge — hidden site-wide: tiles route to product page where CTA lives */
.gitem-badge{display:none;}

/* DRAWER */
.drawer-overlay{position:fixed;inset:0;background:rgba(6,4,2,.56);z-index:400;opacity:0;pointer-events:none;transition:opacity .3s;}
.drawer-overlay.open{opacity:1;pointer-events:all;}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(500px,100vw);background:var(--warm-white);z-index:401;transform:translateX(102%);transition:transform .38s cubic-bezier(.25,.46,.45,.94);display:flex;flex-direction:column;overflow:hidden;box-shadow:-4px 0 40px rgba(0,0,0,.14);}
.drawer.open{transform:translateX(0);}
.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 26px;border-bottom:1px solid var(--border);flex-shrink:0;}
.drawer-header-label{font-size:.58rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);}
.drawer-close{background:none;border:none;font-size:1.3rem;color:var(--warm-gray);cursor:none;line-height:1;padding:6px 8px;transition:color .18s;border-radius:2px;}
.drawer-close:hover{color:var(--charcoal);}
.drawer-body{flex:1;overflow-y:auto;padding:24px 26px;}
.drawer-img-wrap{width:100%;aspect-ratio:3/4;overflow:hidden;margin-bottom:22px;background:#e8e0d5;}
.drawer-img-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:filter .45s ease;}
.drawer-title{font-family:"Cormorant Garamond",serif;font-size:1.85rem;font-weight:300;color:var(--charcoal);letter-spacing:.02em;line-height:1.1;margin-bottom:5px;}
.drawer-col{font-size:.58rem;letter-spacing:.21em;text-transform:uppercase;color:var(--warm-gray);margin-bottom:18px;}
.drawer-price{font-family:"Cormorant Garamond",serif;font-size:1.45rem;font-weight:300;color:var(--charcoal);margin-bottom:22px;}
.drawer-price-from{font-size:.63rem;letter-spacing:.11em;text-transform:uppercase;color:var(--warm-gray);margin-right:5px;}
.option-group{margin-bottom:20px;}
.option-label{font-size:.6rem;letter-spacing:.19em;text-transform:uppercase;color:var(--warm-gray);margin-bottom:9px;display:block;}
.option-pills{display:flex;flex-wrap:wrap;gap:7px;}
.option-pill{font-family:"Jost",sans-serif;font-size:.7rem;letter-spacing:.05em;padding:8px 13px;border:1px solid var(--border);background:none;color:var(--charcoal);cursor:none;transition:all .18s;min-height:36px;}
.option-pill:hover{border-color:var(--gold);color:var(--gold);}
.option-pill.selected{background:var(--charcoal);color:#fff;border-color:var(--charcoal);}
.drawer-note{font-size:.68rem;letter-spacing:.05em;color:var(--warm-gray);margin-bottom:22px;padding:11px 14px;border-left:2px solid var(--gold);background:rgba(184,153,90,.055);line-height:1.65;}
.drawer-loading{padding:36px;text-align:center;font-size:.72rem;letter-spacing:.13em;color:var(--warm-gray);}
.drawer-footer{padding:18px 26px;border-top:1px solid var(--border);flex-shrink:0;display:flex;flex-direction:column;gap:9px;}
.btn-cart{width:100%;padding:14px;background:var(--charcoal);color:#fff;font-family:"Jost",sans-serif;font-size:.7rem;letter-spacing:.19em;text-transform:uppercase;border:none;cursor:none;transition:background .22s;display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;}
.btn-cart:hover:not(:disabled){background:var(--gold);}
.btn-cart:disabled{opacity:.38;cursor:default;}
.btn-cart.loading::after{content:"";width:13px;height:13px;border:1px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .65s linear infinite;margin-left:6px;}
@keyframes spin{to{transform:rotate(360deg);}}
.btn-cart.success{background:#3d7a52;}
.btn-cart.sold-out{background:#6b6460;opacity:.7;}
.btn-checkout{width:100%;padding:12px;background:none;color:var(--charcoal);font-family:"Jost",sans-serif;font-size:.66rem;letter-spacing:.15em;text-transform:uppercase;border:1px solid var(--border);cursor:none;transition:all .2s;text-decoration:none;text-align:center;display:none;}
.btn-checkout:hover{border-color:var(--charcoal);}
.btn-checkout.visible{display:block;}

/* CART PANEL ITEMS */
.cart-item{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--border);}
.cart-item:last-child{border-bottom:none;}
.cart-item-info{flex:1;}
.cart-item-title{font-family:"Cormorant Garamond",serif;font-size:1.1rem;font-weight:300;color:var(--charcoal);margin-bottom:4px;}
.cart-item-opts{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--warm-gray);margin-bottom:6px;}
.cart-item-price{font-size:.78rem;color:var(--charcoal);}
.cart-item-remove{background:none;border:none;color:var(--warm-gray);cursor:none;font-size:.8rem;padding:4px 8px;line-height:1;transition:color .18s;flex-shrink:0;margin-left:12px;}
.cart-item-remove:hover{color:var(--charcoal);}
.cart-empty{text-align:center;padding:48px 0;color:var(--warm-gray);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;}
.cart-total{display:flex;justify-content:space-between;align-items:center;padding:14px 0 16px;font-family:"Cormorant Garamond",serif;font-size:1.2rem;font-weight:300;border-top:1px solid var(--border);}

/* CART BUBBLE */
.cart-bubble{position:fixed;bottom:26px;right:26px;z-index:350;background:var(--charcoal);color:#fff;border:1px solid var(--gold);font-family:"Jost",sans-serif;font-size:.63rem;letter-spacing:.11em;text-transform:uppercase;padding:11px 18px;cursor:none;display:flex;align-items:center;gap:9px;box-shadow:0 6px 28px rgba(0,0,0,.17);transform:translateY(80px);opacity:0;transition:transform .32s,opacity .32s;}
.cart-bubble.visible{transform:translateY(0);opacity:1;}
.cart-bubble-count{background:var(--gold);color:#fff;font-size:.56rem;width:19px;height:19px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;}

/* TOAST */
.toast{position:fixed;bottom:86px;left:50%;transform:translateX(-50%) translateY(16px);background:var(--charcoal);color:#fff;font-size:.7rem;letter-spacing:.1em;padding:11px 22px;opacity:0;transition:all .28s;z-index:600;pointer-events:none;white-space:nowrap;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* FOOTER */
footer{background:#1a1814;padding:46px 60px 34px;}
.foot-inner{max-width:1200px;margin:0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:40px;}
.foot-logo-wrap{flex-shrink:0;opacity:.9;transition:opacity .25s;}
.foot-logo-wrap:hover{opacity:1;}
.foot-right{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;height:88px;}
.foot-tagline{font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.32);margin-bottom:auto;}
.foot-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px 22px;margin-bottom:11px;}
.foot-links a{font-size:.76rem;color:rgba(255,255,255,.52);text-decoration:none;letter-spacing:.04em;transition:color .18s;}
.foot-links a:hover{color:#b8995a;}
.foot-copy{font-size:.66rem;color:rgba(255,255,255,.22);letter-spacing:.04em;}

/* PRODUCT TRUST BLOCK — under CTA on /obras/ & /works/ fichas */
.product-trust{margin-top:18px;display:flex;flex-direction:column;gap:8px;font-size:.74rem;letter-spacing:.02em;line-height:1.55;color:var(--warm-gray);}
.product-trust .trust-item{display:flex;align-items:flex-start;gap:10px;}
.product-trust .trust-item::before{content:"◇";color:var(--gold);flex-shrink:0;font-size:.85em;line-height:1.55;}
.product-trust a{color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(184,153,90,.3);}
.product-trust a:hover{border-bottom-color:var(--gold);}

/* RESPONSIVE */
@media(max-width:960px){:root{--sh:28px;}.masonry{column-count:2!important;}}
@media(max-width:500px){.masonry{column-count:1!important;}.col-section{padding:52px 18px;}.drawer{width:100vw;}.cart-bubble{bottom:14px;right:14px;}footer{padding:36px 20px 26px;}.foot-inner{flex-direction:column;align-items:flex-start;gap:20px;}.foot-right{align-items:flex-start;height:auto;gap:14px;}.foot-links{justify-content:flex-start;}}
