/*
Theme Name: Todo en Cortinas
Theme URI: https://todoencortinas.com.ar
Author: Todo en Cortinas
Author URI: https://todoencortinas.com.ar
Description: Theme propio de Todo en Cortinas. Construido a medida sobre el Manual de Identidad Visual (2025): dorado, tinta oscura y crema, tipografía Josefin Sans / Outfit / Cormorant Garamond. Compatible con Elementor y WooCommerce.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: todoencortinas
*/

/* =========================================================
   1. VARIABLES DE MARCA (Manual de Identidad Visual 2025)
   ========================================================= */
:root{
  /* Paleta */
  --tec-gold:        #B8872A; /* Dorado principal — CTAs, íconos, acentos */
  --tec-gold-light:  #D4A84B; /* Dorado claro — hovers, gradientes */
  --tec-gold-pale:   #F0E1BB; /* Dorado pálido — fondos suaves, chips */
  --tec-ink:         #1C1812; /* Tinta oscura — tipografía principal, ícono */
  --tec-cream:       #F4EDE0; /* Crema — fondos de página y tarjetas */
  --tec-earth:       #8A7E6E; /* Tierra medio — texto secundario, captions */
  --tec-white:       #FFFFFF;

  /* Alias funcionales */
  --tec-bg:          var(--tec-cream);
  --tec-bg-dark:     var(--tec-ink);
  --tec-text:        var(--tec-ink);
  --tec-text-muted:  var(--tec-earth);
  --tec-accent:      var(--tec-gold);
  --tec-accent-hover:var(--tec-gold-light);
  --tec-border:      rgba(28,24,18,.10);
  --tec-border-dark: rgba(244,237,224,.14);

  /* Tipografía */
  --tec-font-display: "Josefin Sans", sans-serif; /* Logo, títulos, labels, UI */
  --tec-font-body:     "Outfit", sans-serif;       /* Cuerpo, descripciones, precios */
  --tec-font-accent:   "Cormorant Garamond", serif;/* Citas, leads editoriales */

  /* Radios y sombras */
  --tec-radius: 14px;
  --tec-radius-sm: 8px;
  --tec-shadow: 0 8px 30px rgba(28,24,18,.08);
  --tec-shadow-hover: 0 14px 40px rgba(28,24,18,.14);

  --tec-container: 1240px;
}

/* =========================================================
   2. RESET BÁSICO
   ========================================================= */
*, *::before, *::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin:0;
  background: var(--tec-white);
  color: var(--tec-text);
  font-family: var(--tec-font-body);
  font-weight: 300;
  font-size: 15px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
img{ max-width:100%; height:auto; display:block; }
a{ color: inherit; text-decoration:none; }
ul{ list-style:none; margin:0; padding:0; }
button, input, select, textarea{ font-family: inherit; }

/* =========================================================
   3. TIPOGRAFÍA (jerarquía del manual de marca)
   ========================================================= */
h1,h2,h3,h4,h5,h6{
  font-family: var(--tec-font-display);
  color: var(--tec-text);
  margin: 0 0 .5em;
  line-height: 1.2;
}
.tec-h1, h1{ font-weight:600; font-size: clamp(30px, 4vw, 48px); }
.tec-h2{ font-family: var(--tec-font-accent); font-weight:300; font-style:italic; font-size: clamp(24px, 3vw, 36px); }
.tec-h3, h3{ font-weight:600; font-size: 18px; }
.tec-label{
  font-family: var(--tec-font-display);
  font-weight:300;
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--tec-gold);
}
.tec-caption{ font-family: var(--tec-font-body); font-weight:300; font-size:12px; color: var(--tec-text-muted); }
p{ margin: 0 0 1em; }

/* =========================================================
   4. LAYOUT / CONTENEDORES
   ========================================================= */
.tec-container{
  max-width: var(--tec-container);
  margin: 0 auto;
  padding: 0 24px;
}
.tec-section{ padding: 64px 0; }
.tec-section--tight{ padding: 32px 0; }
.tec-section--dark{ background: var(--tec-ink); color: var(--tec-cream); }
.tec-section--dark .tec-label{ color: var(--tec-gold-light); }

/* =========================================================
   5. BOTONES
   ========================================================= */
.tec-btn, .button, .wp-block-button__link, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-family: var(--tec-font-display);
  font-weight:600;
  font-size:13px;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding: 14px 28px;
  border-radius: 999px;
  border: 1px solid var(--tec-gold);
  background: var(--tec-gold);
  color: var(--tec-white) !important;
  cursor:pointer;
  transition: all .25s ease;
  white-space: nowrap;
}
.tec-btn:hover, .button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover{
  background: var(--tec-gold-light);
  border-color: var(--tec-gold-light);
  transform: translateY(-1px);
  box-shadow: var(--tec-shadow-hover);
}
.tec-btn--outline, .woocommerce a.added_to_cart{
  background: transparent;
  color: var(--tec-gold) !important;
}
.tec-btn--outline:hover{ background: var(--tec-gold); color: var(--tec-white) !important; }
.tec-btn--dark{ background: var(--tec-ink); border-color: var(--tec-ink); }
.tec-btn--dark:hover{ background:#2b241b; border-color:#2b241b; }
.woocommerce button.button:disabled, .woocommerce button.button.disabled{
  opacity:.5; cursor:not-allowed; transform:none; box-shadow:none;
}

/* =========================================================
   6. HEADER
   ========================================================= */
.tec-header{
  background: var(--tec-cream);
  border-bottom: 1px solid var(--tec-border);
  position: sticky; top:0; z-index:999;
}
.tec-header__inner{
  max-width: var(--tec-container);
  margin:0 auto;
  padding: 16px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.tec-logo{ display:flex; align-items:center; gap:10px; font-family: var(--tec-font-display); font-weight:600; font-size:20px; color: var(--tec-ink); }
.tec-logo img{ max-height:48px; width:auto; }
.site-nav{ display:flex; align-items:center; gap:28px; }
.site-nav ul{ display:flex; align-items:center; gap:28px; }
.site-nav a{
  font-family: var(--tec-font-display);
  font-weight:400;
  font-size:13px;
  letter-spacing:.05em;
  text-transform:uppercase;
  color: var(--tec-ink);
  padding: 8px 0;
  position:relative;
}
.site-nav a:hover{ color: var(--tec-gold); }
.site-nav .current-menu-item > a{ color: var(--tec-gold); }
.tec-header__cta{ flex-shrink:0; }
.site-nav-toggle{ display:none; background:none; border:none; cursor:pointer; padding:8px; }
.site-nav-toggle span{ display:block; width:24px; height:2px; background: var(--tec-ink); margin:5px 0; transition:.2s; }

@media (max-width: 900px){
  .site-nav{
    display:none;
    position:absolute; top:100%; left:0; right:0;
    background: var(--tec-cream);
    flex-direction:column; align-items:flex-start;
    padding: 16px 24px 24px;
    border-bottom: 1px solid var(--tec-border);
  }
  .site-nav.is-open{ display:flex; }
  .site-nav ul{ flex-direction:column; align-items:flex-start; gap:14px; width:100%; }
  .site-nav-toggle{ display:block; }
}

/* =========================================================
   7. FOOTER
   ========================================================= */
.tec-footer{ background: var(--tec-ink); color: var(--tec-cream); padding: 56px 0 24px; }
.tec-footer a{ color: var(--tec-cream); }
.tec-footer a:hover{ color: var(--tec-gold-light); }
.tec-footer__grid{ display:grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 32px; margin-bottom: 40px; }
.tec-footer__brand{ font-family: var(--tec-font-display); font-weight:600; font-size:20px; margin-bottom:12px; color: var(--tec-cream); }
.tec-footer__desc{ color: var(--tec-earth); font-size:14px; max-width: 320px; }
.tec-footer h4{ font-family: var(--tec-font-display); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color: var(--tec-gold-light); margin-bottom:16px; }
.tec-footer li{ margin-bottom:10px; font-size:14px; }
.tec-footer__bottom{ border-top: 1px solid var(--tec-border-dark); padding-top: 20px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; font-size:12px; color: var(--tec-earth); }
@media (max-width: 780px){ .tec-footer__grid{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px){ .tec-footer__grid{ grid-template-columns: 1fr; } }

/* =========================================================
   8. PAGE HEADER (banner de categoría / tienda / producto)
   ========================================================= */
.tec-page-header{
  background: var(--tec-cream);
  padding: 48px 0;
  text-align:center;
  border-bottom: 1px solid var(--tec-border);
}
.tec-page-header .tec-label{ display:block; margin-bottom:10px; }
.tec-page-header h1{ margin-bottom: 0; }
.tec-page-header__desc{ max-width: 620px; margin: 14px auto 0; color: var(--tec-text-muted); }
.tec-breadcrumb, .woocommerce-breadcrumb{
  font-family: var(--tec-font-body);
  font-size:12px;
  color: var(--tec-text-muted) !important;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.woocommerce-breadcrumb a{ color: var(--tec-text-muted); }
.woocommerce-breadcrumb a:hover{ color: var(--tec-gold); }

/* =========================================================
   9. WOOCOMMERCE — GRILLA DE PRODUCTOS
   ========================================================= */
.tec-shop-toolbar{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  margin: 32px 0 24px; flex-wrap:wrap;
}
.woocommerce-result-count{ color: var(--tec-text-muted); font-size:13px; margin:0; }
.woocommerce-ordering select{
  border:1px solid var(--tec-border);
  border-radius: 999px;
  padding: 10px 18px;
  font-family: var(--tec-font-body);
  font-size:13px;
  background: var(--tec-white);
}

ul.products{
  display:grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 28px !important;
  margin: 0 0 40px !important;
  padding: 0 !important;
}
ul.products.columns-3{ grid-template-columns: repeat(3, 1fr) !important; }
@media (max-width: 980px){ ul.products{ grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 560px){ ul.products{ grid-template-columns: 1fr !important; } }

ul.products li.product{
  list-style:none;
  margin:0 !important;
  background: var(--tec-white);
  border: 1px solid var(--tec-border);
  border-radius: var(--tec-radius);
  overflow:hidden;
  transition: box-shadow .25s ease, transform .25s ease;
  position:relative;
}
ul.products li.product:hover{ box-shadow: var(--tec-shadow-hover); transform: translateY(-3px); }

.tec-product-card__media{ position:relative; background: var(--tec-cream); aspect-ratio: 1/1; overflow:hidden; }
.tec-product-card__media img{ width:100%; height:100%; object-fit:cover; transition: transform .4s ease; }
ul.products li.product:hover .tec-product-card__media img{ transform: scale(1.05); }

.tec-product-card__body{ padding: 18px 20px 22px; }
.tec-product-card__cat{ font-family: var(--tec-font-display); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color: var(--tec-gold); margin-bottom:6px; display:block; }
.tec-product-card__title, ul.products li.product h2, ul.products li.product h3{
  font-family: var(--tec-font-display);
  font-weight:600;
  font-size:16px;
  color: var(--tec-ink);
  margin: 0 0 8px;
  line-height:1.3;
}
ul.products li.product a{ text-decoration:none; }
ul.products li.product a img{ margin:0; }

.star-rating{ color: var(--tec-gold-pale); font-size:13px; margin-bottom:8px; }
.star-rating::before{ color: var(--tec-border); }
.star-rating span::before{ color: var(--tec-gold); }

.price{ font-family: var(--tec-font-body); font-size:16px; color: var(--tec-ink); font-weight:500; }
.price del{ color: var(--tec-text-muted); font-weight:300; opacity:.8; margin-right:8px; text-decoration: line-through; }
.price ins{ text-decoration:none; color: var(--tec-gold); font-weight:600; }

.onsale{
  position:absolute; top:14px; left:14px; z-index:2;
  background: var(--tec-gold);
  color: var(--tec-white) !important;
  font-family: var(--tec-font-display);
  font-size:10px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding: 6px 12px;
  border-radius: 999px;
  min-height:0; min-width:0; line-height:1;
  display:inline-flex; align-items:center;
}

ul.products li.product .button{
  margin-top: 14px;
  width:100%;
  padding: 12px 18px;
  font-size:11px;
}

.woocommerce-pagination{ margin: 24px 0 0; }
.woocommerce-pagination ul.page-numbers{ display:flex; gap:8px; justify-content:center; }
.woocommerce-pagination .page-numbers{
  display:flex; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:50%;
  border:1px solid var(--tec-border);
  font-family: var(--tec-font-display); font-size:13px;
}
.woocommerce-pagination .page-numbers.current, .woocommerce-pagination .page-numbers:hover{
  background: var(--tec-gold); border-color: var(--tec-gold); color: var(--tec-white);
}

/* =========================================================
   10. WOOCOMMERCE — PRODUCTO INDIVIDUAL
   ========================================================= */
.tec-product{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items:flex-start;
  padding: 48px 0;
}
@media (max-width: 860px){ .tec-product{ grid-template-columns: 1fr; gap: 28px; padding: 28px 0; } }

.woocommerce div.product div.images{ margin:0; }
.woocommerce div.product div.images img{ border-radius: var(--tec-radius); background: var(--tec-cream); }
.woocommerce div.product div.images .flex-control-thumbs{ display:flex; gap:10px; margin-top:12px; padding:0; }
.woocommerce div.product div.images .flex-control-thumbs li{ list-style:none; width:76px; }
.woocommerce div.product div.images .flex-control-thumbs img{ border-radius: var(--tec-radius-sm); opacity:.6; cursor:pointer; border: 1px solid var(--tec-border); }
.woocommerce div.product div.images .flex-control-thumbs img.flex-active{ opacity:1; border-color: var(--tec-gold); }

.woocommerce div.product .product_title{ font-size: clamp(26px, 3vw, 34px); margin-bottom:10px; }
.woocommerce div.product p.price, .woocommerce div.product span.price{ font-size:24px; margin: 12px 0 20px; display:block; }
.woocommerce div.product .woocommerce-product-details__short-description{ color: var(--tec-text-muted); font-size:15px; margin-bottom: 20px; }
.woocommerce div.product .woocommerce-product-details__short-description p:last-child{ margin-bottom:0; }

.woocommerce div.product form.cart{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-bottom: 28px; }
.woocommerce div.product form.cart .quantity{ margin:0; }
.woocommerce div.product form.cart .qty{
  width: 74px; height: 52px; text-align:center;
  border:1px solid var(--tec-border); border-radius: 999px;
  font-family: var(--tec-font-body); font-size:15px;
}
.woocommerce div.product form.cart .button{ padding: 16px 34px; }

.woocommerce-product-attributes, table.shop_attributes{
  width:100%; border-collapse: collapse; font-size:14px; margin: 0;
}
.woocommerce-product-attributes tr, table.shop_attributes tr{ border-bottom: 1px solid var(--tec-border); }
.woocommerce-product-attributes th, table.shop_attributes th{
  text-align:left; padding: 12px 16px 12px 0; width: 220px;
  font-family: var(--tec-font-display); font-weight:600; color: var(--tec-ink);
}
.woocommerce-product-attributes td, table.shop_attributes td{ padding: 12px 0; color: var(--tec-text-muted); }

.woocommerce-tabs{ margin-top: 12px; }
.woocommerce-tabs ul.tabs{ display:flex; gap: 8px; border-bottom: 1px solid var(--tec-border); margin: 0 0 28px; padding:0; }
.woocommerce-tabs ul.tabs li{ list-style:none; }
.woocommerce-tabs ul.tabs li a{
  display:inline-block; padding: 12px 20px;
  font-family: var(--tec-font-display); font-weight:600; font-size:13px; letter-spacing:.04em; text-transform:uppercase;
  color: var(--tec-text-muted);
  border-bottom: 2px solid transparent; margin-bottom:-1px;
}
.woocommerce-tabs ul.tabs li.active a{ color: var(--tec-ink); border-bottom-color: var(--tec-gold); }
.woocommerce-tabs .panel{ max-width: 760px; color: var(--tec-text-muted); }
.woocommerce-tabs .panel h2{ font-family: var(--tec-font-display); font-weight:600; font-size:20px; color: var(--tec-ink); }

.woocommerce-Reviews .comment-form input, .woocommerce-Reviews .comment-form textarea{
  border:1px solid var(--tec-border); border-radius: var(--tec-radius-sm); padding: 12px 14px; width:100%; font-family: var(--tec-font-body);
}
.woocommerce-Reviews #respond .form-submit input{ padding: 14px 28px; }

.related.products{ margin-top: 64px; padding-top: 48px; border-top: 1px solid var(--tec-border); }
.related.products > h2{ font-family: var(--tec-font-accent); font-style:italic; font-weight:300; font-size: 30px; margin-bottom: 24px; }

/* Ocultar widgets de Jetpack (compartir / me gusta) fuera de marca en fichas de producto */
.single-product .sharedaddy, .single-product .jetpack-sharing-buttons, .single-product #jp-post-flair,
.single-product .likes-widget-frame, .single-product .sd-social{ display:none !important; }

/* =========================================================
   11. WOOCOMMERCE — CARRITO
   ========================================================= */
.woocommerce-cart table.shop_table, .woocommerce-checkout table.shop_table{
  width:100%; border-collapse: collapse; margin: 0 0 24px; border: 1px solid var(--tec-border); border-radius: var(--tec-radius); overflow:hidden;
}
.woocommerce-cart table.shop_table thead th{
  background: var(--tec-cream); text-align:left; padding: 16px;
  font-family: var(--tec-font-display); font-size:12px; letter-spacing:.06em; text-transform:uppercase; color: var(--tec-ink);
}
.woocommerce-cart table.shop_table td{ padding: 16px; border-top: 1px solid var(--tec-border); vertical-align:middle; }
.woocommerce-cart table.shop_table td.product-name a{ font-family: var(--tec-font-display); font-weight:600; color: var(--tec-ink); }
.woocommerce-cart table.shop_table img{ border-radius: var(--tec-radius-sm); width:72px; }
.woocommerce-cart .quantity .qty{ width:64px; height:44px; text-align:center; border:1px solid var(--tec-border); border-radius:999px; }
.woocommerce-cart .cart_totals{ background: var(--tec-cream); padding: 28px; border-radius: var(--tec-radius); max-width: 420px; margin-left:auto; }
.woocommerce-cart .cart_totals h2{ font-family: var(--tec-font-display); font-weight:600; font-size:18px; }
.woocommerce-cart .cart_totals table{ width:100%; }
.woocommerce-cart .cart_totals table th, .woocommerce-cart .cart_totals table td{ padding: 10px 0; border-top:1px solid var(--tec-border); }
.woocommerce-cart .wc-proceed-to-checkout .button{ width:100%; }
.coupon{ display:flex; gap:10px; flex-wrap:wrap; }
.coupon .input-text{ border:1px solid var(--tec-border); border-radius:999px; padding: 12px 18px; font-family: var(--tec-font-body); }

/* =========================================================
   12. WOOCOMMERCE — CHECKOUT / MI CUENTA
   ========================================================= */
.woocommerce-checkout .col2-set, .woocommerce-checkout #customer_details{ width:100%; }
.woocommerce-checkout h3{ font-family: var(--tec-font-display); font-weight:600; font-size: 18px; margin: 28px 0 16px; }
.woocommerce-checkout .form-row label{ font-size:13px; color: var(--tec-text-muted); margin-bottom:6px; display:block; }
.woocommerce-checkout .form-row input.input-text, .woocommerce-checkout .form-row select, .woocommerce-checkout textarea{
  width:100%; border:1px solid var(--tec-border); border-radius: var(--tec-radius-sm); padding: 12px 14px; font-family: var(--tec-font-body); background: var(--tec-white);
}
#order_review, #order_review_heading{ background: var(--tec-cream); padding: 28px; border-radius: var(--tec-radius); }
#order_review table.shop_table{ background: transparent; border:none; }
.woocommerce-checkout-payment{ background: var(--tec-white) !important; border: 1px solid var(--tec-border); border-radius: var(--tec-radius); padding: 8px !important; }
.woocommerce-checkout-payment ul.payment_methods{ padding:8px; }

.woocommerce-account .woocommerce-MyAccount-navigation ul{ display:flex; flex-direction:column; gap:4px; background: var(--tec-cream); padding: 12px; border-radius: var(--tec-radius); }
.woocommerce-account .woocommerce-MyAccount-navigation a{ display:block; padding: 10px 14px; border-radius: var(--tec-radius-sm); font-family: var(--tec-font-display); font-size:13px; text-transform:uppercase; letter-spacing:.03em; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{ background: var(--tec-gold); color: var(--tec-white); }
.woocommerce-account .woocommerce-MyAccount-content{ padding-top: 24px; }
.woocommerce-MyAccount-content table.shop_table{ width:100%; border-collapse:collapse; }
.woocommerce-MyAccount-content table.shop_table th, .woocommerce-MyAccount-content table.shop_table td{ padding:12px; border-bottom:1px solid var(--tec-border); }

/* =========================================================
   13. NOTICES / MENSAJES
   ========================================================= */
.woocommerce-message, .woocommerce-error, .woocommerce-info{
  border-top-color: var(--tec-gold) !important;
  font-family: var(--tec-font-body); border-radius: var(--tec-radius-sm);
}
.woocommerce-message .button, .woocommerce-error .button{ background: var(--tec-gold); }

/* =========================================================
   14. UTILIDADES
   ========================================================= */
.screen-reader-text{ position:absolute !important; clip:rect(1px,1px,1px,1px); overflow:hidden; height:1px; width:1px; }
