/*
Theme Name: Concha Barrios
Theme URI: https://conchabarrios.com
Description: Tema hijo de Kadence para Concha Barrios · Online Gallery.
Author: Concha Barrios S.L.
Template: kadence
Version: 1.0.0
Text Domain: conchabarrios
*/

:root{
  --cb-ink:#141414; --cb-ink-2:#3C3A37; --cb-muted:#6E6B66;
  --cb-bg:#FFFFFF; --cb-paper:#F5F3EF; --cb-stone:#EDEAE5;
  --cb-line:#E6E3DE; --cb-line-2:#DAD6CF;
  --cb-serif:'Cormorant Garamond',Georgia,serif; --cb-sans:'Jost',system-ui,sans-serif;
  --cb-pad:clamp(20px,5vw,72px); --cb-max:1440px;
  --cb-sec:clamp(72px,9vw,136px);
  --cb-ease:cubic-bezier(.2,.6,.2,1);
}
body{font-family:var(--cb-sans);font-weight:300;color:var(--cb-ink);background:var(--cb-bg);-webkit-font-smoothing:antialiased}
::selection{background:var(--cb-ink);color:#fff}
a{color:var(--cb-ink);transition:color .3s ease}
a:hover{color:var(--cb-muted)}
h1,h2,h3,.entry-title,.product_title{font-family:var(--cb-serif);font-weight:300;letter-spacing:-.005em;color:var(--cb-ink);text-wrap:balance}
h3{font-weight:400}
p{text-wrap:pretty}
img{transition:transform 1.1s var(--cb-ease)}

/* Utilidades editoriales */
.cb-eyebrow{font-size:11px!important;letter-spacing:.24em;text-transform:uppercase;color:var(--cb-muted);margin:0 0 18px}
.cb-display{font-size:clamp(46px,6.2vw,92px)!important;line-height:1!important;margin:0}
.cb-h2{font-size:clamp(32px,3.6vw,52px)!important;line-height:1.12!important;margin:0}
.cb-statement{font-size:clamp(30px,3.6vw,52px)!important;line-height:1.22!important;margin:0}
.cb-lead{font-size:17px;line-height:1.75;color:var(--cb-ink-2);max-width:480px}
.cb-textlink a,.cb-btnlink a{font-size:12px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;text-decoration:none}
.cb-textlink a{display:inline-block;padding-bottom:7px;border-bottom:1px solid var(--cb-ink)}
.cb-btnlink a{display:inline-flex;align-items:center;justify-content:center;height:50px;padding:0 30px;border:1px solid var(--cb-ink);transition:background .3s ease,color .3s ease}
.cb-btnlink a:hover{background:var(--cb-ink);color:#fff}
.cb-rule{width:56px;height:1px;background:var(--cb-ink);margin:4px 0 22px!important}
.cb-since{font-family:var(--cb-serif);font-style:italic;font-size:20px;line-height:1.3;color:var(--cb-ink-2);margin:0}
.cb-sign{font-family:var(--cb-serif);font-style:italic;font-size:30px;margin:0}

/* Secciones */
.cb-section{max-width:var(--cb-max);margin-inline:auto!important;padding:var(--cb-sec) var(--cb-pad)!important;box-sizing:border-box}
.cb-section+.cb-section{border-top:1px solid var(--cb-line)}
.cb-section.is-paper{background:var(--cb-paper);max-width:none;border-top:0}
.cb-section.is-paper>*{max-width:calc(var(--cb-max) - 2*var(--cb-pad));margin-inline:auto}
.cb-section .wp-block-columns{gap:clamp(32px,6vw,96px);margin:0}
.cb-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(40px,5vw,64px)!important}
.cb-hero-img{margin-top:0!important;margin-bottom:0!important}
.cb-hero-img.alignfull,.entry-content .alignfull{margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;width:100vw!important;max-width:100vw!important}
body{overflow-x:hidden}
.entry-content .cb-hero-img img,.cb-hero-img img{width:100%!important;height:clamp(420px,70vh,760px)!important;max-height:none!important;object-fit:cover!important;object-position:center 40%;display:block}
.cb-hero-text{padding-top:clamp(48px,6vw,96px)!important}
.cb-hero-text .wp-block-columns{align-items:flex-end}
.cb-principles{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:36px 40px}
.cb-principles>*{border-top:1px solid var(--cb-ink);padding-top:18px;margin:0!important}
.cb-principles h3{font-family:var(--cb-sans);font-size:11px;font-weight:300;letter-spacing:.2em;color:var(--cb-muted);margin:0 0 10px}
.cb-principles p{font-size:15px;line-height:1.7;margin:0}
.cb-guarantees{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:40px 48px}
.cb-guarantees>*{border-top:1px solid #CFCBC4;padding-top:20px;margin:0!important}
.cb-guarantees h3{font-size:26px;margin:0 0 12px}
.cb-guarantees p{font-size:15px;line-height:1.7;color:var(--cb-ink-2);margin:0}
.cb-year{font-family:var(--cb-serif);font-weight:300;font-size:clamp(64px,8vw,120px)!important;line-height:.9!important;margin:0}
.cb-portrait img{aspect-ratio:4/5;object-fit:cover;width:100%}
.cb-wide img{aspect-ratio:4/3;object-fit:cover;width:100%}

/* Vídeo (carga diferida) */
.cb-video{position:relative;aspect-ratio:16/9;background:var(--cb-ink);overflow:hidden}
.cb-video__btn{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:var(--cb-ink);cursor:pointer}
.cb-video__btn img{width:100%;height:100%;object-fit:cover}
.cb-video__btn:hover img{transform:scale(1.02)}
.cb-video__play{position:absolute;left:24px;bottom:24px;display:flex;align-items:center;gap:16px;color:#fff;font-family:var(--cb-sans);font-size:12px;font-weight:400;letter-spacing:.2em;text-transform:uppercase}
.cb-video__icon{width:64px;height:64px;border:1px solid #fff;border-radius:50%;background:rgba(20,20,20,.35);position:relative}
.cb-video__icon::after{content:"";position:absolute;left:26px;top:22px;border-style:solid;border-width:10px 0 10px 16px;border-color:transparent transparent transparent #fff}
.cb-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Botones globales */
.button,.wp-element-button,button.single_add_to_cart_button{border-radius:0!important;font-family:var(--cb-sans);font-size:12px!important;font-weight:400!important;letter-spacing:.2em;text-transform:uppercase;box-shadow:none!important}

/* Formularios */
input[type=text],input[type=email],input[type=tel],input[type=search],textarea,select{border:0!important;border-bottom:1px solid var(--cb-ink)!important;border-radius:0!important;background:transparent!important;font-family:var(--cb-sans);font-weight:300;font-size:16px;padding:14px 0!important;box-shadow:none!important}
input:focus,textarea:focus{outline:none;border-bottom-color:var(--cb-muted)!important}

/* WooCommerce · rejilla de piezas */
.woocommerce ul.products{gap:56px 28px}
.woocommerce ul.products li.product{text-align:left;margin:0}
.woocommerce ul.products li.product a img{aspect-ratio:4/5;object-fit:cover;background:var(--cb-paper);margin:0 0 20px}
.woocommerce ul.products li.product:hover a img{transform:scale(1.03)}
.woocommerce ul.products li.product .woocommerce-loop-product__link,.woocommerce ul.products li.product .product-thumbnail{overflow:hidden;display:block}
.cb-loop-cat{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--cb-muted);margin-bottom:6px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--cb-serif);font-weight:400;font-size:25px!important;line-height:1.15;padding:0;margin:0 0 6px}
.cb-loop-meta{display:block;font-size:14px;color:var(--cb-muted)}
.woocommerce ul.products li.product .price{font-family:var(--cb-sans);font-size:13px!important;color:var(--cb-ink)!important;letter-spacing:.04em;margin-top:10px}
.woocommerce ul.products li.product .button,.woocommerce ul.products li.product .add_to_cart_button{display:none!important}
.cb-badge{position:absolute;top:14px;left:14px;z-index:2;background:#fff;padding:6px 10px;font-size:10px;letter-spacing:.2em;text-transform:uppercase}
.woocommerce span.onsale{display:none}

/* Categorías (shortcode [product_categories]) */
.woocommerce ul.products li.product-category a img{aspect-ratio:3/4}
.woocommerce ul.products li.product-category .woocommerce-loop-category__title{font-family:var(--cb-serif);font-weight:400;font-size:28px!important;line-height:1.1;padding:0}
.woocommerce ul.products li.product-category mark.count{display:block;background:none;font-family:var(--cb-sans);font-size:12px;letter-spacing:.06em;color:var(--cb-muted);margin-top:6px}

/* Página de categoría */
.cb-cat-hero{width:100%;height:clamp(280px,46vh,520px);object-fit:cover;display:block;margin-bottom:40px}
.cb-count{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--cb-muted)}
.term-description{max-width:720px;font-size:17px;line-height:1.75;color:var(--cb-ink-2)}
.woocommerce-result-count{font-size:12px;letter-spacing:.06em;color:var(--cb-muted)}
.woocommerce-ordering select{font-size:12px;letter-spacing:.14em;text-transform:uppercase}

/* Ficha de producto */
.single-product div.product .woocommerce-product-gallery{background:var(--cb-paper)}
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs{display:flex;gap:10px;margin-top:14px}
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li{width:72px!important}
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs img{opacity:.7}
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs img.flex-active{opacity:1;outline:1px solid var(--cb-ink);outline-offset:3px}
.single-product div.product .summary{position:sticky;top:32px;align-self:flex-start}
.cb-kicker{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--cb-muted);margin:0 0 14px}
.single-product .product_title{font-size:clamp(36px,3.6vw,54px)!important;line-height:1.05!important;margin:0 0 12px}
.cb-attr{font-family:var(--cb-serif);font-style:italic;font-size:22px;color:var(--cb-ink-2);margin:0 0 24px}
.single-product .woocommerce-product-details__short-description{font-size:16px;line-height:1.75;color:var(--cb-ink-2)}
.cb-avail{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid var(--cb-line);border-bottom:1px solid var(--cb-line);padding:18px 0;margin:28px 0}
.cb-avail__state{display:flex;align-items:center;gap:10px;font-size:13px;letter-spacing:.06em}
.cb-avail__state::before{content:"";width:7px;height:7px;border-radius:50%;border:1px solid var(--cb-ink);background:var(--cb-ink)}
.cb-avail__state.is-reserved::before{background:transparent}
.cb-avail .price{font-family:var(--cb-serif)!important;font-size:24px!important;color:var(--cb-ink)!important;margin:0!important}
.cb-actions{display:flex;flex-direction:column;gap:12px}
.cb-btn{display:flex;align-items:center;justify-content:center;height:54px;border:1px solid var(--cb-ink);font-size:12px;font-weight:400;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;transition:background .3s ease,color .3s ease}
.cb-btn--primary{background:var(--cb-ink);color:#fff!important}
.cb-btn--primary:hover{background:#3A3936}
.cb-btn--outline{background:#fff;color:var(--cb-ink)}
.cb-btn--outline:hover{background:var(--cb-paper);color:var(--cb-ink)}
.cb-note{font-size:13px;color:var(--cb-muted);text-align:center;margin:4px 0 0}
.cb-sold{font-family:var(--cb-serif);font-style:italic;font-size:20px}
.cb-acc{border-bottom:1px solid var(--cb-line)}
.cb-acc:first-of-type{margin-top:28px}
.cb-acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:18px 0}
.cb-acc summary::-webkit-details-marker{display:none}
.cb-acc summary h2{font-family:var(--cb-sans)!important;font-size:12px!important;font-weight:400!important;letter-spacing:.2em;text-transform:uppercase;margin:0}
.cb-acc summary::after{content:"+";font-size:16px}
.cb-acc[open] summary::after{content:"–"}
.cb-acc__body{padding:0 0 22px;font-size:15px;line-height:1.75;color:var(--cb-ink-2)}
.cb-specs{margin:0}
.cb-spec{display:grid;grid-template-columns:130px minmax(0,1fr);gap:16px;font-size:14px;line-height:1.6;padding:4px 0}
.cb-spec dt{color:var(--cb-muted);font-weight:300}
.cb-spec dd{margin:0;color:var(--cb-ink)}
.single-product .related>h2{font-size:clamp(30px,3.2vw,46px);margin-bottom:48px}
.single-product .product_meta,.single-product .woocommerce-tabs{display:none}

/* Editorial (blog) */
.cb-ed-head{grid-column:1/-1;text-align:center;padding:clamp(24px,4vw,64px) 0 clamp(32px,4vw,56px)}
.cb-ed-head h1{font-size:clamp(46px,6vw,88px);line-height:1;margin:0 0 20px}
.cb-ed-head .cb-lead{margin:0 auto}
.cb-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px clamp(18px,2.4vw,34px);margin-top:32px}
.cb-tabs a{font-size:12px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--cb-muted);text-decoration:none;padding:8px 0;border-bottom:1px solid transparent}
.cb-tabs a.is-active,.cb-tabs a:hover{color:var(--cb-ink);border-bottom-color:var(--cb-ink)}
.blog .entry-title,.archive .entry-title{font-size:28px;line-height:1.15}
.entry-meta,.entry-taxonomies{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--cb-muted)}
.cb-posts.wp-block-latest-posts{gap:48px 32px}
.cb-posts .wp-block-latest-posts__featured-image img{aspect-ratio:3/2;object-fit:cover;width:100%;margin-bottom:20px}
.cb-posts .wp-block-latest-posts__post-title{font-family:var(--cb-serif);font-size:27px;line-height:1.18;text-decoration:none;display:block;margin:8px 0 10px}
.cb-posts .wp-block-latest-posts__post-date{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--cb-muted)}
.cb-posts .wp-block-latest-posts__post-excerpt{font-size:15px;line-height:1.7;color:var(--cb-ink-2)}

/* Pie */
.cb-footer{background:var(--cb-paper);font-size:14px}
.cb-footer .cb-cols{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:40px 32px}
.cb-footer h3{font-family:var(--cb-sans);font-size:11px;font-weight:300;letter-spacing:.2em;text-transform:uppercase;color:var(--cb-muted);margin:0 0 14px}
.cb-footer p{margin:0 0 10px}
.cb-footer a{text-decoration:none}
.cb-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px;border-top:1px solid var(--cb-line-2);padding-top:24px;margin-top:48px;font-size:12px;color:var(--cb-muted)}
.cb-legal a{color:var(--cb-muted)}

/* Movimiento reducido */
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

.cb-hero.wp-block-cover{min-height:clamp(420px,70vh,760px)!important;padding:0 clamp(20px,5vw,72px) 22px!important;margin-top:0!important;margin-bottom:0!important}
.cb-hero .wp-block-cover__image-background{object-position:center 40%}
.cb-hero .wp-block-cover__inner-container{width:auto!important;max-width:none!important;margin:0!important}
.cb-hero-caption{font-family:Jost,sans-serif;font-weight:400;font-size:11px!important;letter-spacing:.18em;text-transform:uppercase;color:#FFFFFF!important;margin:0!important}
.cb-hero-caption em{font-style:normal}
