/*
Theme Name: Nu Díaz · Galería de Esencias
Description: Tema WooCommerce a medida a partir del prototipo «Galería de Esencias · V09». Portada con hero, intro, rejilla de obras y formulario de encargo.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.0
Author: Xavi González
Text Domain: nudiaz
WC requires at least: 8.0
License: GPLv2 or later
*/

:root{
	--paper:#eee9df;
	--ink:#122322;
	--petrol:#0b3536;
	--copper:#a65c3f;
	--soft:#77756e;
	--white:#faf9f5;
	--line:#c8c0b4;
	--rule:rgba(18,35,34,.22);
	--sans:"Helvetica Neue",Helvetica,Arial,sans-serif;
	--serif:Georgia,"Times New Roman",serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%;height:auto}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}

/* Cabecera */
.site-header{padding:18px 4vw;display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--paper);border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:50}
.site-header .brand{text-transform:uppercase;font-size:13px;letter-spacing:.22em;font-weight:700;text-decoration:none;color:var(--ink)}
.site-header nav ul{list-style:none;margin:0;padding:0;display:flex;gap:25px}
.site-header nav{display:flex;align-items:center;gap:25px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--petrol)}
.site-header nav a{text-decoration:none}
.site-header nav a:hover{text-decoration:underline;text-underline-offset:4px}
.cart-link .count{display:inline-block;min-width:16px;margin-left:4px;color:var(--copper)}
.admin-bar .site-header{top:32px}

main.site-main{max-width:1480px;margin:auto}
section{padding:70px 5vw}
.eyebrow{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--copper)}

/* Hero */
.hero{padding:5.5vw 6vw 5vw}
.hero-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:5vw;align-items:center;min-height:72vh}
.hero-copy{min-width:0}
.hero .eyebrow{margin-bottom:22px}
.hero h1{margin:0 0 30px;font-size:clamp(46px,7.4vw,108px);line-height:.95;font-weight:500;letter-spacing:-.06em;color:var(--ink)}
.hero .subtitle{margin:0;font-family:var(--serif);font-size:clamp(19px,2.1vw,28px);line-height:1.35;color:#3d3a33}
.hero figure{margin:0}
.hero figure img{width:100%;height:auto;max-height:650px;object-fit:contain;display:block}
.hero figcaption{font-size:10px;color:#777;text-align:right;margin-top:9px}

/* Intro */
.intro{display:grid;grid-template-columns:1fr 2fr;gap:60px;max-width:1100px;margin:auto;border-bottom:1px solid rgba(18,35,34,.25)}
.intro p{font-family:var(--serif);font-size:clamp(18px,1.75vw,23px);line-height:1.62;margin:0 0 16px}
.intro details{font-size:14px}
.intro details p{font-family:var(--sans);font-size:14px;line-height:1.6;max-width:720px}
.intro summary{cursor:pointer;text-decoration:underline;text-underline-offset:5px}
.meta{font-size:12px;color:var(--soft);margin-top:22px}

/* Catálogo */
.catalog-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px;border-bottom:1px solid rgba(18,35,34,.4);padding-bottom:18px}
.catalog-head h2,.catalog-head h1{font-size:clamp(30px,4vw,52px);font-weight:500;letter-spacing:-.04em;margin:10px 0 0}
.catalog-head p{font-size:12px;color:var(--soft);margin:0}

.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:44px 22px;align-items:start;list-style:none;margin:0;padding:0}
.piece{min-width:0;position:relative}
.piece>a.piece-link{text-decoration:none;display:block}
.art-frame{aspect-ratio:3/4;background:rgba(255,255,255,.55);border:1px solid rgba(18,35,34,.20);padding:8px;box-shadow:0 1px 1px rgba(18,35,34,.06),inset 0 0 0 1px rgba(255,255,255,.42);overflow:hidden;display:flex;align-items:center;justify-content:center}
.art-frame img{width:100%;height:100%;object-fit:contain;background:#fff;display:block;transition:opacity .2s}
.piece:hover .art-frame img{opacity:.92}
.piece .info{padding-top:10px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:start}
.piece h3{grid-column:1;grid-row:1;margin:0;color:var(--petrol);font-size:10px;font-weight:500;letter-spacing:.115em;text-transform:uppercase;line-height:1.45}
.piece .price{grid-column:2;grid-row:1;margin:0;color:var(--copper);font-size:10px;font-weight:500;letter-spacing:.12em;white-space:nowrap;line-height:1.45}
.piece .price del{opacity:.6;margin-right:4px}
.piece .price ins{text-decoration:none}
.piece .detail{grid-column:1/-1;margin:0;color:var(--soft);font-size:10px;line-height:1.55;letter-spacing:.015em}
.piece .status{grid-column:1/-1;margin-top:3px;font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--petrol);text-decoration:underline;text-underline-offset:4px}
.piece.is-sold .status{color:var(--soft);text-decoration:none}
.piece.is-sold .art-frame img{opacity:.55}
.sold-badge{position:absolute;top:14px;left:14px;background:var(--petrol);color:#fff;font-size:9px;letter-spacing:.14em;text-transform:uppercase;padding:4px 8px;z-index:2}

/* Encargo */
.commission{max-width:1000px;margin:auto}
.commission h2{font-family:var(--serif);font-weight:400;font-size:clamp(40px,5vw,70px);letter-spacing:-.04em;margin:12px 0}
.commission p{max-width:600px}
.commission form{display:grid;gap:14px;margin-top:32px;max-width:680px}
.commission label{font-size:12px;letter-spacing:.03em}
.commission input,.commission textarea,.commission select{display:block;width:100%;padding:14px;border:1px solid var(--line);background:transparent;font:inherit;margin-top:5px;color:var(--ink)}
.commission .hp{position:absolute;left:-9999px}
.btn,.commission button{background:var(--petrol);color:#fff;border:0;padding:16px 22px;cursor:pointer;justify-self:start;font:inherit;text-decoration:none;display:inline-block}
.notice{padding:14px 18px;border:1px solid var(--petrol);margin-top:24px;max-width:680px}
.notice.error{border-color:var(--copper);color:var(--copper)}

/* Pie */
.site-footer{border-top:1px solid rgba(18,35,34,.25);padding:25px 5vw;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12px;color:var(--soft)}
.site-footer ul{list-style:none;margin:0;padding:0;display:flex;gap:18px}

/* Páginas genéricas (carrito, checkout, legales…) */
.page-wrap{max-width:1100px;margin:auto;padding:60px 5vw}
.page-wrap>h1{font-size:clamp(30px,4vw,52px);font-weight:500;letter-spacing:-.04em;margin:0 0 30px;border-bottom:1px solid rgba(18,35,34,.4);padding-bottom:18px}
.page-wrap .entry-content{font-size:15px;line-height:1.6}

/* Ficha de producto */
.single-piece{display:grid;grid-template-columns:1.1fr .9fr;gap:5vw;align-items:start;padding:60px 5vw}
.single-piece .art-frame{aspect-ratio:auto;padding:14px}
.single-piece .art-frame img{height:auto;max-height:82vh}
.single-piece .gallery-thumbs{display:flex;gap:10px;margin-top:10px}
.single-piece .gallery-thumbs img{width:70px;height:90px;object-fit:cover;border:1px solid var(--rule)}
.single-piece .summary{position:sticky;top:90px}
.single-piece h1{font-size:clamp(30px,3.6vw,52px);font-weight:500;letter-spacing:-.04em;line-height:1;margin:14px 0 20px}
.single-piece .price{font-size:20px;color:var(--copper);margin:0 0 20px}
.single-piece .specs{border-top:1px solid var(--rule);margin:0 0 24px;padding:0}
.single-piece .specs div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid var(--rule);font-size:13px}
.single-piece .specs dt{color:var(--soft)}
.single-piece .specs dd{margin:0;text-align:right}
.single-piece .description{font-family:var(--serif);font-size:18px;line-height:1.6;margin-bottom:24px}
.single-piece form.cart{display:flex;gap:12px;align-items:center;margin:0 0 18px}
.single-piece form.cart .quantity{display:none}
.single-piece .stock{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--soft)}
.single-piece .back{font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.related-pieces{padding-top:0}

/* WooCommerce: botones y avisos */
.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.single_add_to_cart_button,.wc-block-components-button:not(.is-link){background:var(--petrol)!important;color:#fff!important;border-radius:0!important;border:0!important;padding:16px 22px!important;font:inherit!important;font-size:13px!important;letter-spacing:.06em!important;text-transform:uppercase}
.woocommerce-message,.woocommerce-info,.woocommerce-error{list-style:none;padding:14px 18px;border:1px solid var(--petrol);margin:20px 5vw;background:var(--white)}
.woocommerce-error{border-color:var(--copper)}
.woocommerce-message .button{float:right;padding:6px 12px!important}
.woocommerce-pagination ul{list-style:none;display:flex;gap:10px;padding:0;margin:40px 0 0}
.woocommerce-result-count,.woocommerce-ordering{display:none}
input,select,textarea{border-radius:0}

@media(max-width:1050px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.single-piece{grid-template-columns:1fr}.single-piece .summary{position:static}}
@media(max-width:800px){.intro{grid-template-columns:1fr;gap:20px}section{padding:50px 5vw}.site-header nav,.site-header nav ul{gap:12px}}
@media(max-width:750px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 14px}.hero-layout{grid-template-columns:1fr;min-height:0}}
@media(max-width:480px){.grid{gap:24px 10px}.piece h3,.piece .price,.piece .detail{font-size:9px}.art-frame{padding:5px}.hero{padding:50px 5vw}.catalog-head{display:block}.site-header{flex-wrap:wrap}}
@media(max-width:782px){.admin-bar .site-header{top:46px}}

/* Colores de WooCommerce alineados con la paleta */
.woocommerce div.product p.price,.woocommerce div.product span.price,.single-piece .price{color:var(--copper)!important}
.woocommerce div.product .stock,.single-piece .stock{color:var(--petrol)!important;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.woocommerce div.product form.cart{margin:0 0 18px}
.woocommerce div.product form.cart div.quantity{display:none}
.woocommerce div.product form.cart .button{margin-left:0!important}
