/* =========================================================
   HAVEN FURNITURE — Design System
   Inspirado en Herman Miller / Steelcase / Apple: minimalismo,
   materiales, confianza. Nada de plantilla genérica.
   ========================================================= */

:root{
	--primary: #2770FA;
	--dark: #111827;
	--text: #374151;
	--gray: #F5F7FA;
	--white: #FFFFFF;
	--border: #E5E7EB;

	--font-display: 'Fraunces', serif;
	--font-body: 'Inter', system-ui, -apple-system, sans-serif;

	--container: 1280px;
	--container-narrow: 760px;
	--radius: 10px;
	--shadow: 0 10px 30px rgba(17,24,39,0.06);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
	margin:0;
	font-family:var(--font-body);
	color:var(--text);
	background:var(--white);
	line-height:1.6;
	-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--dark);margin:0 0 16px;line-height:1.15;font-weight:600;}
p{margin:0 0 16px;}

.container{max-width:var(--container);margin:0 auto;padding:0 24px;}
.container--narrow{max-width:var(--container-narrow);}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border-radius:999px;font-weight:600;font-size:15px;cursor:pointer;border:1px solid transparent;transition:all .2s ease;}
.btn--primary{background:var(--dark);color:#fff;}
.btn--primary:hover{background:var(--primary);}
.btn--lg{padding:18px 36px;font-size:16px;}

.section-heading{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:32px;}
.section-heading h2{margin:0;}
.section-heading__link{font-weight:600;color:var(--primary);}

/* =========================================================
   BARRA DE ANUNCIO — editable desde Personalizar > Haven — Header
   ========================================================= */
.haven-announcement{background:var(--dark);color:#fff;}
.haven-announcement__inner{display:flex;justify-content:center;padding:9px 24px;}
.haven-announcement__inner a,
.haven-announcement__inner span{
	font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:#fff;
}
.haven-announcement__inner a{text-decoration:underline;text-decoration-color:rgba(255,255,255,.4);text-underline-offset:3px;}
.haven-announcement__inner a:hover{text-decoration-color:#fff;}

/* =========================================================
   HEADER
   ========================================================= */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;height:76px;}
.site-title{font-family:var(--font-display);font-size:22px;font-weight:600;color:var(--dark);letter-spacing:-.02em;}
.primary-nav__list{display:flex;gap:32px;}
.primary-nav__list a{font-weight:500;font-size:15px;color:var(--dark);}
.primary-nav__list a:hover{color:var(--primary);}
.site-header__actions{display:flex;align-items:center;gap:18px;}
.header-icon{position:relative;color:var(--dark);display:inline-flex;}
.cart-count{position:absolute;top:-8px;right:-10px;background:var(--primary);color:#fff;font-size:11px;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.mobile-nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;}
.mobile-nav-toggle span{width:24px;height:2px;background:var(--dark);}
.mobile-nav{display:none;}

@media(max-width:900px){
	.primary-nav{display:none;}
	.mobile-nav-toggle{display:flex;}
	.mobile-nav{position:fixed;top:76px;left:0;right:0;background:#fff;border-bottom:1px solid var(--border);padding:16px 24px;transform:translateY(-110%);transition:transform .25s ease;z-index:99;}
	.mobile-nav.is-open{transform:translateY(0);}
	.mobile-nav__list{display:flex;flex-direction:column;gap:14px;}
}

.haven-breadcrumb{background:var(--gray);font-size:13px;padding:12px 0;color:#6B7280;}
.haven-breadcrumb a{color:#6B7280;}
.haven-breadcrumb span{color:var(--dark);}

/* =========================================================
   HERO
   ========================================================= */
.hero{padding:80px 0;background:linear-gradient(180deg,#fff 0%,var(--gray) 100%);}
.hero__inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.hero__title{font-size:48px;letter-spacing:-.02em;}
.hero__subtitle{font-size:18px;color:var(--text);max-width:440px;margin-bottom:32px;}

/* Caja del hero: mientras no haya foto de producto real, en vez de un
   degradado vacío se dibuja una silla ergonómica abstracta en puro CSS
   (sin imágenes, sin JS, sin markup extra) — placeholder de marca en
   vez de placeholder genérico. En cuanto subes una imagen real desde
   Personalizar o el editor de bloques, esto desaparece automáticamente. */
.hero__placeholder,.hero__image{
	position:relative;width:100%;aspect-ratio:4/5;border-radius:var(--radius);
	background:linear-gradient(135deg,#eef1f6,#dfe6f0);overflow:hidden;
}
.hero__image img[src=""]{display:none;}
.hero__placeholder::before,
.hero__image:has(img[src=""])::before{
	content:"";position:absolute;left:50%;top:11%;width:29%;height:34%;
	transform:translateX(-50%);
	border-radius:30px 30px 10px 10px;
	background:
		linear-gradient(to bottom,transparent 0%,transparent 26%,var(--primary) 26%,var(--primary) 29%,transparent 29%,transparent 100%),
		linear-gradient(155deg,var(--dark) 0%,#1f2a3d 100%);
	box-shadow:0 0 0 3px rgba(255,255,255,.18) inset;
}
.hero__placeholder::after,
.hero__image:has(img[src=""])::after{
	content:"";position:absolute;left:50%;top:44%;width:62%;height:44%;
	transform:translateX(-50%);
	border-radius:16px 16px 0 0;
	background:
		linear-gradient(155deg,var(--dark) 0%,#1f2a3d 100%) center top/100% 32% no-repeat,
		linear-gradient(var(--dark),var(--dark)) center 34%/5px 38% no-repeat,
		repeating-conic-gradient(var(--dark) 0deg 4deg,transparent 4deg 72deg) center bottom/68% 26% no-repeat;
}

@media(max-width:900px){
	.hero__inner{grid-template-columns:1fr;text-align:center;}
	.hero__subtitle{margin-left:auto;margin-right:auto;}
	.hero__title{font-size:34px;}
}

/* WHY HAVEN */
.why-haven{padding:80px 0;}
.why-haven__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;}
.why-haven__item h3{font-size:20px;}
.why-haven__icon{display:inline-block;width:48px;height:48px;margin-bottom:16px;border-radius:50%;background:var(--gray);}
@media(max-width:900px){.why-haven__grid{grid-template-columns:1fr;}}

/* FEATURED / BEST SELLERS */
.featured-collection,.best-sellers{padding:60px 0;}

/* WooCommerce product loop grid */
ul.products{display:grid !important;grid-template-columns:repeat(4,1fr);gap:28px;margin:0 !important;padding:0 !important;}
ul.products li.product{list-style:none;}
@media(max-width:1024px){ul.products{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){ul.products{grid-template-columns:1fr 1fr;gap:16px;}}

.haven-product-card{position:relative;}
.haven-product-card__image{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--gray);aspect-ratio:4/5;margin-bottom:14px;}
.haven-product-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.haven-product-card:hover .haven-product-card__image img{transform:scale(1.04);}
.haven-product-card__title{font-size:16px;font-family:var(--font-body);font-weight:600;color:var(--dark);margin-bottom:6px;}
.haven-product-card__price{font-weight:600;color:var(--primary);}
.haven-product-card__price .amount{color:var(--primary);}
.haven-product-card__action{margin-top:10px;}
.haven-product-card__action a.button{display:block;text-align:center;padding:10px;border-radius:999px;background:var(--gray);font-weight:600;font-size:14px;color:var(--dark);}
.haven-product-card__action a.button:hover{background:var(--dark);color:#fff;}
.haven-badge{position:absolute;top:12px;left:12px;background:var(--dark);color:#fff;font-size:11px;padding:4px 10px;border-radius:999px;z-index:2;}

/* BRAND STATEMENT */
.brand-statement{padding:120px 0;background:var(--dark);color:#fff;text-align:center;}
.brand-statement h2{color:#fff;font-size:38px;}
.brand-statement p{max-width:560px;margin:0 auto;color:#D1D5DB;}

/* TRUST BADGES */
.trust-section{padding:48px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.haven-trust-badges{display:flex;justify-content:center;gap:48px;flex-wrap:wrap;}
.haven-trust-badges li{display:flex;align-items:center;gap:10px;font-weight:600;font-size:14px;color:var(--dark);}
.haven-icon{width:20px;height:20px;border-radius:50%;background:var(--primary);display:inline-block;}

/* COMPANIES */
.haven-companies{padding:48px 0;text-align:center;}
.haven-companies__label{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#9CA3AF;margin-bottom:20px;}
.haven-companies__logos{display:flex;justify-content:center;gap:40px;flex-wrap:wrap;font-weight:700;color:#D1D5DB;letter-spacing:.04em;}

/* BLOG */
.home-blog{padding:80px 0;}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.blog-card__image{display:block;border-radius:var(--radius);overflow:hidden;aspect-ratio:16/10;background:var(--gray);margin-bottom:14px;}
.blog-card__image img{width:100%;height:100%;object-fit:cover;}
.blog-card__title{font-size:18px;}
@media(max-width:900px){.blog-grid{grid-template-columns:1fr;}}

/* =========================================================
   PRODUCTO ÚNICO
   ========================================================= */
.haven-product__top{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;padding:48px 0;}
.haven-product__gallery .woocommerce-product-gallery{border-radius:var(--radius);overflow:hidden;}
.haven-product__title{font-size:36px;}
.haven-product__price{font-size:26px;font-weight:600;color:var(--primary);margin-bottom:20px;}
.haven-product__price del{color:#9CA3AF;font-size:18px;margin-right:8px;}
.haven-product__benefits{margin-bottom:24px;}
.haven-product__benefits li{padding-left:26px;position:relative;margin-bottom:10px;font-size:15px;}
.haven-product__benefits li::before{content:"✓";position:absolute;left:0;color:var(--primary);font-weight:700;}
.haven-product__cta{margin-bottom:28px;}
.haven-product__cta .quantity{display:inline-block;margin-right:12px;}
.haven-product__cta input.qty{width:64px;padding:12px;border:1px solid var(--border);border-radius:8px;}
.haven-product__cta button.single_add_to_cart_button{background:var(--dark);color:#fff;border:0;padding:16px 36px;border-radius:999px;font-weight:600;font-size:15px;cursor:pointer;}
.haven-product__cta button.single_add_to_cart_button:hover{background:var(--primary);}

.haven-product__accordion{margin-top:28px;border-top:1px solid var(--border);}
.haven-accordion__item{border-bottom:1px solid var(--border);padding:16px 0;}
.haven-accordion__item summary{cursor:pointer;font-weight:600;color:var(--dark);font-size:15px;}
.haven-accordion__item ul li{margin-bottom:6px;font-size:14px;}

.haven-product__faq-section{padding:60px 0;background:var(--gray);}
.haven-faq__item{border-bottom:1px solid var(--border);padding:16px 0;}
.haven-faq__item summary{cursor:pointer;font-weight:600;}

.haven-product__related{padding:60px 0;}
.haven-product__related h2{font-size:26px;margin-bottom:24px;}

@media(max-width:900px){.haven-product__top{grid-template-columns:1fr;}}

/* =========================================================
   FOOTER
   ========================================================= */
.site-footer{background:var(--dark);color:#D1D5DB;padding:64px 0 24px;margin-top:60px;}
.site-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.1);}
.site-footer .site-title{color:#fff;}
.footer-widget__title{color:#fff;font-family:var(--font-body);font-size:15px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:16px;}
.site-footer ul li{margin-bottom:10px;font-size:14px;}
.site-footer a:hover{color:#fff;}
.haven-newsletter{display:flex;gap:8px;margin-top:12px;}
.haven-newsletter input{flex:1;padding:10px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;}
.haven-newsletter button{padding:10px 18px;border-radius:8px;background:var(--primary);color:#fff;border:0;font-weight:600;cursor:pointer;}
.site-footer__bottom{display:flex;justify-content:space-between;padding-top:20px;font-size:13px;color:#9CA3AF;}

@media(max-width:900px){
	.site-footer__grid{grid-template-columns:1fr 1fr;}
	.site-footer__bottom{flex-direction:column;gap:10px;text-align:center;}
}

/* =========================================================
   BLOG / PAGES GENERAL
   ========================================================= */
.page-content,.single-post{padding:60px 0;}
.page-title,.single-post__header h1{font-size:34px;}
.single-post__meta{color:#9CA3AF;font-size:13px;margin-bottom:24px;}
.single-post__thumb{border-radius:var(--radius);overflow:hidden;margin-bottom:32px;}

/* =========================================================
   CARRITO (woocommerce/cart/cart.php)
   ========================================================= */
.btn--outline{background:transparent;color:var(--dark);border:1px solid var(--border);}
.btn--outline:hover{border-color:var(--dark);}

.haven-cart{padding:50px 0 80px;}
.haven-cart__layout{display:grid;grid-template-columns:1fr 360px;gap:48px;align-items:start;margin-top:24px;}

.haven-cart__empty{text-align:center;padding:60px 0;}

.haven-cart-row{display:grid;grid-template-columns:100px 1fr auto;gap:20px;align-items:center;padding:24px 0;border-bottom:1px solid var(--border);}
.haven-cart-row__image img{border-radius:var(--radius);width:100px;height:100px;object-fit:cover;}
.haven-cart-row__title{font-weight:600;color:var(--dark);display:block;margin-bottom:8px;}
.haven-cart-row__qty .qty{width:64px;padding:8px;border:1px solid var(--border);border-radius:8px;}
.haven-cart-row__remove{font-size:13px;color:#9CA3AF;text-decoration:underline;margin-left:16px;}
.haven-cart-row__remove:hover{color:#DC2626;}
.haven-cart-row__subtotal{font-weight:600;color:var(--dark);white-space:nowrap;}

.haven-cart__actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:24px;}
.haven-cart__coupon{display:flex;gap:8px;flex:1;}
.haven-cart__coupon input{flex:1;padding:12px 14px;border:1px solid var(--border);border-radius:8px;}

.haven-cart__summary-box{background:var(--gray);border-radius:var(--radius);padding:28px;position:sticky;top:96px;}
.haven-cart__summary-box h2{font-size:20px;margin-bottom:20px;}
.haven-totals-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border);font-size:14px;}
.haven-totals-row--total{font-size:18px;font-weight:700;color:var(--dark);border-bottom:0;padding-top:16px;}
.haven-cart__summary-box .checkout-button{display:flex;width:100%;margin-top:18px;}
.haven-cart__trust{margin-top:18px;font-size:13px;color:#6B7280;text-align:center;}
.shipping-calculator-form,.woocommerce-shipping-calculator{margin-top:14px;font-size:13px;}

@media(max-width:900px){
	.haven-cart__layout{grid-template-columns:1fr;}
	.haven-cart-row{grid-template-columns:70px 1fr;}
	.haven-cart-row__subtotal{grid-column:2;justify-self:start;}
	.haven-cart__summary-box{position:static;}
}

/* =========================================================
   CHECKOUT (estilizamos el formulario nativo de WooCommerce
   — no se reemplaza el template, así que las clases son las
   que genera WooCommerce por defecto)
   ========================================================= */
.woocommerce-checkout{padding:40px 0 80px;}
.haven-checkout-title{margin-bottom:8px;}
.haven-checkout-trust{display:flex;gap:24px;flex-wrap:wrap;font-size:13px;color:#6B7280;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--border);}

.woocommerce-checkout .col2-set,.woocommerce-checkout-review-order{display:block;}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-checkout select{
	border:1px solid var(--border);border-radius:8px;padding:12px 14px;font-family:var(--font-body);
}
.woocommerce form .form-row label{font-weight:500;font-size:14px;color:var(--dark);}

#order_review,.woocommerce-checkout-review-order{
	background:var(--gray);border-radius:var(--radius);padding:28px;margin-top:32px;
}
.woocommerce-checkout-review-order-table th,.woocommerce-checkout-review-order-table td{padding:10px 0;border-bottom:1px solid var(--border);}
.woocommerce-checkout-review-order-table .order-total td,.woocommerce-checkout-review-order-table .order-total th{font-size:18px;font-weight:700;color:var(--dark);}
.haven-warranty-note td{border-bottom:0;padding-top:14px;}

#payment{background:transparent;border-radius:var(--radius);margin-top:20px;}
#payment ul.payment_methods{border:0;padding:0;}
#payment .payment_box{background:#fff;border:1px solid var(--border);border-radius:8px;margin-top:10px !important;}
#place_order{width:100%;padding:18px;border-radius:999px;background:var(--dark);color:#fff;font-weight:600;font-size:16px;border:0;cursor:pointer;}
#place_order:hover{background:var(--primary);}

@media(max-width:900px){
	.woocommerce-checkout .col2-set{display:block;}
}

/* =========================================================
   PÁGINA CANVAS (page-canvas.php) — sin header/footer del tema
   ========================================================= */
.canvas-page{min-height:100vh;}

/* =========================================================
   SILOS (front-page.php) — arquitectura semántica Productividad / Lounge & Dining
   ========================================================= */
.haven-silos{padding:20px 0 60px;}
.haven-silos__grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.haven-silo{display:block;border-radius:var(--radius);padding:40px;border:1px solid var(--border);transition:box-shadow .2s ease;}
.haven-silo--active{background:var(--white);box-shadow:var(--shadow);}
.haven-silo--active:hover{box-shadow:0 16px 40px rgba(17,24,39,0.1);}
.haven-silo--soon{background:var(--gray);opacity:.75;cursor:default;}
.haven-silo__tag{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--primary);margin-bottom:12px;}
.haven-silo--soon .haven-silo__tag{color:#9CA3AF;}
.haven-silo h2{font-size:24px;margin-bottom:8px;}
.haven-silo p{margin:0;font-size:14px;color:#6B7280;}

@media(max-width:760px){.haven-silos__grid{grid-template-columns:1fr;}}

/* =========================================================
   SEO LOCAL (Lima)
   ========================================================= */
.haven-local-seo{padding:60px 0;background:var(--gray);text-align:center;}
.haven-local-seo h2{font-size:26px;}
.haven-local-seo p{color:#6B7280;}

/* =========================================================
   FOOTER — bloque de SEO local (reemplaza logos falsos)
   ========================================================= */
.haven-local-trust{background:var(--dark);padding:16px 0;text-align:center;}
.haven-local-trust p{margin:0;color:#9CA3AF;font-size:13px;}
