/*
Theme Name: Maison Coussin
Theme URI: https://example.com/maison-coussin
Author: Tu Tienda
Author URI: https://example.com
Description: Tema de lujo para tienda de cojinería y textil de decoración, inspirado en boutiques francesas de linos de alta gama. 100% compatible con WooCommerce: carrito, checkout, pasarelas de pago, paqueterías, filtros de producto por atributo (marca, talla, material), carga fácil de productos, logo y colores personalizables desde el Personalizador.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: maison-coussin
Tags: e-commerce, woo-commerce, custom-colors, custom-logo, custom-menu, one-column, two-columns, right-sidebar, translation-ready
*/

/* ==========================================================================
   0. VARIABLES DE MARCA (editables también desde Apariencia > Personalizar)
   ========================================================================== */
:root{
  --mc-bg:            #FAF7F2;   /* fondo crema */
  --mc-bg-alt:        #F1ECE3;   /* bloques alternos */
  --mc-text:          #262420;   /* texto principal casi negro cálido */
  --mc-text-soft:     #6B6560;   /* texto secundario */
  --mc-accent:        #B9986B;   /* dorado / taupe, acento de marca */
  --mc-accent-dark:   #8C6F49;
  --mc-line:          #E2DACB;   /* líneas y bordes sutiles */
  --mc-white:         #FFFFFF;
  --mc-black:         #1A1815;
  --mc-sale:          #A2402E;   /* rojo apagado para descuentos */
  --mc-success:       #4C6B4F;

  --mc-font-heading:  'Cormorant Garamond', Georgia, serif;
  --mc-font-body:     'Jost', 'Helvetica Neue', Arial, sans-serif;

  --mc-maxw: 1320px;
}

/* ==========================================================================
   1. RESET / BASE
   ========================================================================== */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{
  margin:0;
  background:var(--mc-bg);
  color:var(--mc-text);
  font-family:var(--mc-font-body);
  font-size:16px;
  line-height:1.65;
  font-weight:300;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; transition:color .2s ease, opacity .2s ease; }
a:hover{ color:var(--mc-accent-dark); }
ul{ margin:0; padding:0; list-style:none; }
button, input, select, textarea{ font-family:inherit; }

h1,h2,h3,h4,h5,h6{
  font-family:var(--mc-font-heading);
  font-weight:500;
  letter-spacing:.02em;
  margin:0 0 .6em;
  color:var(--mc-black);
}
h1{ font-size:clamp(2.2rem,4vw,3.4rem); font-weight:400; }
h2{ font-size:clamp(1.7rem,3vw,2.4rem); font-weight:400; }
h3{ font-size:1.4rem; }
p{ margin:0 0 1.2em; }

.mc-eyebrow{
  display:block;
  font-family:var(--mc-font-body);
  font-size:.72rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--mc-accent-dark);
  margin-bottom:.6em;
}

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

/* Botones */
.mc-btn{
  display:inline-block;
  padding:14px 34px;
  font-size:.75rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  text-align:center;
  background:var(--mc-black);
  color:#fff !important;
  border:1px solid var(--mc-black);
  cursor:pointer;
  transition:all .25s ease;
}
.mc-btn:hover{ background:transparent; color:var(--mc-black) !important; }
.mc-btn--outline{ background:transparent; color:var(--mc-black) !important; }
.mc-btn--outline:hover{ background:var(--mc-black); color:#fff !important; }
.mc-btn--accent{ background:var(--mc-accent); border-color:var(--mc-accent); }
.mc-btn--accent:hover{ background:transparent; color:var(--mc-accent) !important; }

/* ==========================================================================
   2. TOP BAR / HEADER
   ========================================================================== */
.mc-announce{
  background:var(--mc-black);
  color:#fff;
  text-align:center;
  font-size:.72rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  padding:9px 12px;
}
.mc-header{
  background:var(--mc-white);
  border-bottom:1px solid var(--mc-line);
  position:sticky; top:0; z-index:999;
}
.mc-header__inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 24px;
  max-width:var(--mc-maxw); margin:0 auto;
  gap:20px;
}
.mc-logo{ font-family:var(--mc-font-heading); font-size:1.9rem; letter-spacing:.05em; }
.mc-logo img{ max-height:52px; width:auto; }

.mc-nav{ display:flex; gap:30px; }
.mc-nav a{
  font-size:.78rem; letter-spacing:.12em; text-transform:uppercase;
  padding:6px 0; border-bottom:1px solid transparent;
}
.mc-nav a:hover, .mc-nav .current-menu-item > a{ border-color:var(--mc-accent); color:var(--mc-black); }
.mc-nav ul.sub-menu{
  position:absolute; background:#fff; padding:14px 0; margin-top:14px;
  box-shadow:0 12px 28px rgba(0,0,0,.08); min-width:220px; display:none;
}
.mc-nav li:hover > ul.sub-menu{ display:block; }
.mc-nav ul.sub-menu a{ display:block; padding:8px 22px; border:0; text-transform:none; letter-spacing:0; font-size:.9rem;}

.mc-header__icons{ display:flex; align-items:center; gap:18px; }
.mc-header__icons a{ position:relative; font-size:1.1rem; }
.mc-cart-count{
  position:absolute; top:-8px; right:-10px;
  background:var(--mc-accent); color:#fff;
  font-size:.62rem; width:16px; height:16px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
}
.mc-burger{ display:none; background:none; border:0; font-size:1.4rem; cursor:pointer; }

/* ==========================================================================
   3. HERO / BLOQUES DE INICIO
   ========================================================================== */
.mc-hero{
  position:relative; min-height:64vh;
  display:flex; align-items:center; justify-content:center; text-align:center;
  background-size:cover; background-position:center;
  color:#fff;
}
.mc-hero::before{ content:""; position:absolute; inset:0; background:rgba(20,18,15,.32); }
.mc-hero__content{ position:relative; z-index:2; max-width:640px; padding:0 20px; }
.mc-hero__content h1{ color:#fff; }
.mc-hero__content p{ font-size:1.05rem; opacity:.92; }

.mc-features-bar{
  display:grid; grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--mc-line); border-bottom:1px solid var(--mc-line);
  background:var(--mc-bg-alt);
}
.mc-features-bar__item{
  padding:26px 18px; text-align:center; border-right:1px solid var(--mc-line);
}
.mc-features-bar__item:last-child{ border-right:0; }
.mc-features-bar__item h4{ font-size:.9rem; text-transform:uppercase; letter-spacing:.08em; margin-bottom:.3em;}
.mc-features-bar__item p{ font-size:.85rem; color:var(--mc-text-soft); margin:0; }

.mc-section{ padding:70px 0; }
.mc-section__head{ text-align:center; max-width:640px; margin:0 auto 40px; }

.mc-cat-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.mc-cat-card{ position:relative; overflow:hidden; aspect-ratio:3/4; display:block; }
.mc-cat-card img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.mc-cat-card:hover img{ transform:scale(1.06); }
.mc-cat-card span{
  position:absolute; left:0; right:0; bottom:0; padding:20px;
  background:linear-gradient(to top, rgba(0,0,0,.55), transparent);
  color:#fff; font-family:var(--mc-font-heading); font-size:1.2rem; letter-spacing:.03em;
}

/* ==========================================================================
   4. WOOCOMMERCE — TIENDA / GRID DE PRODUCTOS
   ========================================================================== */
.mc-shop-layout{ display:grid; grid-template-columns:260px 1fr; gap:46px; align-items:start; }
.mc-shop-sidebar .widget{ margin-bottom:38px; }
.mc-shop-sidebar .widget-title{
  font-family:var(--mc-font-body); font-size:.78rem; letter-spacing:.14em;
  text-transform:uppercase; margin-bottom:14px; padding-bottom:10px; border-bottom:1px solid var(--mc-line);
}
.mc-shop-sidebar ul li{ margin-bottom:9px; font-size:.92rem; }
.mc-shop-sidebar ul li a{ display:flex; justify-content:space-between; color:var(--mc-text-soft); }
.mc-shop-sidebar ul li a:hover{ color:var(--mc-black); }

ul.products{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:36px 26px !important;
}
ul.products li.product{
  list-style:none; text-align:left; background:none; border:0; margin:0 !important; padding:0 !important;
}
ul.products li.product a img{ width:100%; aspect-ratio:1/1; object-fit:cover; margin-bottom:16px; }
ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--mc-font-heading); font-size:1.15rem; font-weight:500; margin:0 0 4px;
}
ul.products li.product .price{
  font-family:var(--mc-font-body); font-size:.92rem; color:var(--mc-text-soft);
}
ul.products li.product .price ins{ color:var(--mc-sale); text-decoration:none; margin-left:8px; }
ul.products li.product .price del{ opacity:.55; }
ul.products li.product .onsale{
  position:absolute; top:12px; left:12px; background:var(--mc-black); color:#fff;
  font-size:.65rem; letter-spacing:.12em; text-transform:uppercase; padding:6px 10px; border-radius:0;
  min-width:0; min-height:0; line-height:1;
}
ul.products li.product{ position:relative; }
ul.products li.product .button{
  margin-top:12px; display:inline-block; font-size:.7rem; letter-spacing:.16em; text-transform:uppercase;
  padding:11px 20px; border:1px solid var(--mc-black); background:transparent; color:var(--mc-black);
}
ul.products li.product .button:hover{ background:var(--mc-black); color:#fff; }

.mc-swatches{ display:flex; gap:6px; margin:10px 0 4px; }
.mc-swatches a{ width:16px; height:16px; border-radius:50%; border:1px solid var(--mc-line); display:block; }

.woocommerce-result-count, .woocommerce-ordering{ font-size:.85rem; color:var(--mc-text-soft); }
.woocommerce-ordering select{ border:1px solid var(--mc-line); background:#fff; padding:8px 12px; }

.woocommerce nav.woocommerce-pagination ul{ display:flex; gap:8px; justify-content:center; margin-top:50px; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span{
  border:1px solid var(--mc-line) !important; padding:8px 14px; display:block;
}
.woocommerce nav.woocommerce-pagination ul li .current{ background:var(--mc-black); color:#fff; border-color:var(--mc-black) !important; }

/* ==========================================================================
   5. WOOCOMMERCE — PRODUCTO INDIVIDUAL
   ========================================================================== */
.woocommerce div.product div.images img{ margin-bottom:12px; }
.woocommerce div.product .product_title{ font-size:2rem; }
.woocommerce div.product p.price, .woocommerce div.product span.price{
  font-family:var(--mc-font-body); font-size:1.25rem; color:var(--mc-text); margin-bottom:20px; display:block;
}
.woocommerce div.product form.cart{ border-top:1px solid var(--mc-line); padding-top:24px; margin-top:24px; }
.woocommerce div.product form.cart .variations td{ padding:8px 0; }
.woocommerce div.product form.cart .button{
  background:var(--mc-black); color:#fff; border:1px solid var(--mc-black);
  padding:16px 40px; letter-spacing:.2em; text-transform:uppercase; font-size:.75rem;
}
.woocommerce div.product form.cart .button:hover{ background:transparent; color:var(--mc-black); }
.woocommerce-product-details__short-description{ color:var(--mc-text-soft); }
.woocommerce-tabs ul.tabs{ border-bottom:1px solid var(--mc-line); display:flex; gap:30px; }
.woocommerce-tabs ul.tabs li{ list-style:none; }
.woocommerce-tabs ul.tabs li a{ font-size:.78rem; text-transform:uppercase; letter-spacing:.12em; padding-bottom:14px; display:block; }
.woocommerce-tabs ul.tabs li.active a{ border-bottom:2px solid var(--mc-accent); }

/* ==========================================================================
   6. CARRITO / MINI-CART / CHECKOUT
   ========================================================================== */
.mc-mini-cart{
  position:fixed; top:0; right:-420px; width:400px; max-width:92vw; height:100vh;
  background:#fff; box-shadow:-10px 0 40px rgba(0,0,0,.15); z-index:1200;
  transition:right .35s ease; padding:30px; overflow-y:auto;
}
.mc-mini-cart.is-open{ right:0; }
.mc-mini-cart__overlay{
  position:fixed; inset:0; background:rgba(0,0,0,.4); z-index:1100; display:none;
}
.mc-mini-cart__overlay.is-open{ display:block; }
.mc-mini-cart__close{ background:none; border:0; font-size:1.4rem; cursor:pointer; float:right; }

.woocommerce table.shop_table{ border:0; border-collapse:collapse; width:100%; }
.woocommerce table.shop_table th{
  text-transform:uppercase; font-size:.72rem; letter-spacing:.12em; text-align:left;
  border-bottom:1px solid var(--mc-line); padding:12px 10px;
}
.woocommerce table.shop_table td{ border-bottom:1px solid var(--mc-line); padding:16px 10px; }
.woocommerce #payment div.payment_box{ background:var(--mc-bg-alt); }
.woocommerce a.checkout-button, .woocommerce #place_order{
  background:var(--mc-black); color:#fff; letter-spacing:.2em; text-transform:uppercase;
  font-size:.75rem; padding:16px 30px; border:1px solid var(--mc-black);
}
.woocommerce a.checkout-button:hover, .woocommerce #place_order:hover{ background:transparent; color:var(--mc-black); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select{
  border:1px solid var(--mc-line); padding:12px; background:#fff;
}
.woocommerce-checkout #payment ul.payment_methods{ list-style:none; padding:0; }

/* ==========================================================================
   7. FOOTER
   ========================================================================== */
.mc-footer{ background:var(--mc-black); color:#cfc9bf; padding-top:60px; }
.mc-footer a{ color:#cfc9bf; }
.mc-footer a:hover{ color:#fff; }
.mc-footer__grid{ display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:40px; padding-bottom:50px; border-bottom:1px solid rgba(255,255,255,.12); }
.mc-footer h4{ color:#fff; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; margin-bottom:18px; }
.mc-footer ul li{ margin-bottom:10px; font-size:.9rem; }
.mc-footer__bottom{ display:flex; justify-content:space-between; align-items:center; padding:22px 0; font-size:.78rem; color:#8f897f; flex-wrap:wrap; gap:10px;}
.mc-footer__social{ display:flex; gap:14px; }
.mc-newsletter{ display:flex; gap:0; margin-top:14px; max-width:340px; }
.mc-newsletter input[type=email]{ flex:1; padding:12px 14px; border:1px solid rgba(255,255,255,.25); background:transparent; color:#fff; }
.mc-newsletter button{ background:var(--mc-accent); border:0; color:#fff; padding:0 18px; cursor:pointer; }

/* ==========================================================================
   8. RESPONSIVE
   ========================================================================== */
@media (max-width: 992px){
  .mc-cat-grid{ grid-template-columns:repeat(2,1fr); }
  .mc-features-bar{ grid-template-columns:repeat(2,1fr); }
  ul.products{ grid-template-columns:repeat(2,1fr) !important; }
  .mc-shop-layout{ grid-template-columns:1fr; }
  .mc-footer__grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width: 680px){
  .mc-nav{ display:none; }
  .mc-burger{ display:block; }
  ul.products{ grid-template-columns:repeat(2,1fr) !important; gap:20px 14px !important; }
  .mc-cat-grid{ grid-template-columns:1fr 1fr; }
  .mc-footer__grid{ grid-template-columns:1fr; }
}
