/*
Theme Name: XELT & STEL – Astra Child (Luxury Edition)
Theme URI: https://example.com/
Author: XELT & STEL
Template: astra
Description: Edición Luxury del tema hijo Astra. Estética boutique premium, minimalista, con tipografías refinadas y microinteracciones.
Version: 1.1
Text Domain: xelt-stel-astra-lux
*/

/* ======================
   Variables de diseño
   ====================== */
:root{
  --color-fondo-plata:#f6f7f7; /* fondo marfil plateado, más elegante */
  --color-plata:#C0C0C0;
  --color-plata-osc:#9EA1A1;
  --color-verde:#005F3B;
  --color-lila:#D8BFD8;
  --color-carbón:#111318;
  --color-grafito:#1f2429;
  --color-texto:#1b1d1f;
  --color-texto-suave:#4b4f55;

  --radio-xl:24px;
  --radio-lg:16px;
  --radio-md:12px;
  --sombra-sm:0 4px 18px rgba(0,0,0,.06);
  --sombra-md:0 10px 30px rgba(0,0,0,.08);
  --sombra-lg:0 20px 50px rgba(0,0,0,.12);

  --ancho-max:1280px;
  --esp-1:6px;
  --esp-2:10px;
  --esp-3:16px;
  --esp-4:24px;
  --esp-5:32px;
  --esp-6:48px;
  --esp-7:64px;
}

/* Fondo general en acabado "satinado" */
html,body{
  background: radial-gradient(1200px 800px at 20% 10%, #ffffff, var(--color-fondo-plata)) no-repeat fixed;
  color: var(--color-texto);
  font-family:'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* Tipografías: Playfair para títulos (lujo clásico) */
h1,h2,h3,h4,h5,h6,.ast-site-title,.entry-title,.page-title{
  font-family:'Playfair Display', Georgia, 'Times New Roman', serif;
  font-weight:600;
  letter-spacing:.01em;
  color:var(--color-grafito);
}

/* Escala tipográfica más majestuosa */
h1{ font-size: clamp(36px, 4.5vw, 64px); line-height:1.08; }
h2{ font-size: clamp(28px, 3.2vw, 42px); line-height:1.12; }
h3{ font-size: clamp(22px, 2.6vw, 32px); line-height:1.18; }

/* Cabecera tipo boutique: transparente + sombra al desplazarse */
.site-header{
  background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.66)) !important;
  backdrop-filter: blur(8px) saturate(1.2);
  box-shadow: var(--sombra-sm);
  border-bottom: 1px solid rgba(192,192,192,.45);
  border-radius: 0 0 18px 18px;
}
.header-scrolled .site-header{
  box-shadow: var(--sombra-md);
}

/* Navegación minimal con subrayado fino al hover */
.main-header-menu a{
  position:relative;
  padding:.75rem 1rem !important;
  color:var(--color-grafito);
}
.main-header-menu a:after{
  content:"";
  position:absolute; left:12px; right:12px; bottom:8px;
  height:1px; background:linear-gradient(90deg, transparent, var(--color-plata), transparent);
  transform: scaleX(0);
  transform-origin:center;
  transition:transform .25s ease;
}
.main-header-menu a:hover:after{ transform: scaleX(1); }

/* Hero y secciones con contenedores amplios */
.ast-container{ max-width: var(--ancho-max); }
.section, .entry-content > * { margin-block: var(--esp-6); }

/* Botones: cápsula cromada + microinteracciones */
.button, .button.alt,
.woocommerce a.button, .woocommerce button.button,
.woocommerce input.button, .woocommerce #respond input#submit,
.ast-button, .ast-custom-button{
  appearance:none;
  background: linear-gradient(135deg, #0d6b47, var(--color-verde));
  color:#fff;
  border:1px solid rgba(192,192,192,.7);
  border-radius: 999px;
  padding: .9rem 1.3rem;
  letter-spacing:.03em;
  box-shadow: 0 6px 24px rgba(0,95,59,.18);
  transition: transform .18s ease, box-shadow .25s ease, filter .2s ease;
}
.button:hover, .button.alt:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce input.button:hover, .woocommerce #respond input#submit:hover,
.ast-button:hover, .ast-custom-button:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 34px rgba(0,95,59,.24);
  filter: brightness(1.05);
}

/* Links sobrios */
a{ color: var(--color-verde); }
a:hover{ opacity:.9; text-decoration:none; }

/* Etiqueta 'On Sale' tipo sello */
.woocommerce span.onsale{
  background: linear-gradient(135deg, var(--color-lila), #eee6f3);
  color:#3f3a44;
  border:1px solid rgba(192,192,192,.6);
  border-radius: 999px;
  padding:.4rem .65rem;
  letter-spacing:.04em;
  top:12px; left:12px;
  box-shadow: var(--sombra-sm);
}

/* Tarjetas de producto con acabado vidrio + borde plata */
.woocommerce ul.products li.product, .woocommerce div.product{
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(192,192,192,.55);
  border-radius: var(--radio-xl);
  box-shadow: var(--sombra-sm);
  padding: var(--esp-4);
  overflow: hidden;
}
.woocommerce ul.products li.product:hover{
  box-shadow: var(--sombra-md);
  transform: translateY(-2px);
  transition: all .25s ease;
}

/* Imagen de producto con elevación */
.woocommerce ul.products li.product a img, .woocommerce div.product div.images img{
  border-radius: var(--radio-lg);
  box-shadow: 0 12px 40px rgba(0,0,0,.08);
}

/* Nombre, precio y rating con jerarquía elegante */
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:'Playfair Display', Georgia, serif;
  font-size: 1.15rem;
  color: var(--color-grafito);
}
.woocommerce ul.products li.product .price{
  color: var(--color-carbón);
  font-weight:600;
  letter-spacing:.02em;
}
.woocommerce .star-rating{ filter: grayscale(.2) contrast(.95); }

/* Pág. producto: info en panel satinado */
.woocommerce div.product .summary{
  background: linear-gradient(180deg, rgba(255,255,255,.9), rgba(255,255,255,.7));
  border: 1px solid rgba(192,192,192,.5);
  border-radius: var(--radio-xl);
  padding: var(--esp-5);
  box-shadow: var(--sombra-sm);
}
.woocommerce div.product .product_title{ font-size: clamp(28px,3.2vw,42px); }
.woocommerce div.product .price{ font-size: 1.4rem; }

/* Tabs con subrayado metálico */
.woocommerce-tabs .tabs li{
  border:none !important;
}
.woocommerce-tabs .tabs li a{
  position:relative;
  padding:.8rem 1rem;
  color:var(--color-texto-suave);
}
.woocommerce-tabs .tabs li.active a,
.woocommerce-tabs .tabs li a:hover{
  color:var(--color-grafito);
}
.woocommerce-tabs .tabs li a:after{
  content:"";
  position:absolute; left:0; right:0; bottom:-2px; height:2px;
  background: linear-gradient(90deg, transparent, var(--color-plata), transparent);
  transform: scaleX(0);
  transition: transform .25s ease;
}
.woocommerce-tabs .tabs li.active a:after,
.woocommerce-tabs .tabs li a:hover:after{ transform: scaleX(1); }

/* Formularios y campos */
input[type="text"], input[type="email"], input[type="tel"],
input[type="password"], textarea, select{
  border-radius: var(--radio-md);
  border:1px solid rgba(192,192,192,.8);
  background:#fff;
  padding:.8rem 1rem;
  transition:border-color .2s ease, box-shadow .2s ease;
}
input:focus, textarea:focus, select:focus{
  outline:none;
  border-color: var(--color-verde);
  box-shadow: 0 0 0 3px rgba(0,95,59,.12);
}

/* Checkout estilo pasarela de lujo */
.woocommerce-checkout .col2-set, .woocommerce-cart .cart-collaterals, .woocommerce table.shop_table{
  background: rgba(255,255,255,.9);
  border:1px solid rgba(192,192,192,.55);
  border-radius: var(--radio-lg);
  box-shadow: var(--sombra-sm);
  overflow:hidden;
}
.woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register{
  border-radius: var(--radio-lg);
  border:1px dashed rgba(192,192,192,.6);
  background: rgba(255,255,255,.6);
}

/* Breadcrumbs sutiles */
.woocommerce-breadcrumb{
  color: var(--color-texto-suave);
  letter-spacing:.02em;
}
.woocommerce-breadcrumb a{ color: var(--color-texto-suave); }
.woocommerce-breadcrumb a:hover{ color: var(--color-grafito); }

/* Notices elegantes */
.woocommerce-error, .woocommerce-info, .woocommerce-message{
  border-radius: var(--radio-md);
  border: 1px solid rgba(192,192,192,.55);
  background: rgba(255,255,255,.85);
}

/* Footer con degradado acero pulido */
.site-footer{
  background: linear-gradient(135deg, #d8dada, #b9bcbc);
  color:#2b2f34;
  border-top:1px solid rgba(192,192,192,.6);
}

/* Elementor: botones y headings globales */
.elementor-button{
  border-radius:999px !important;
  border:1px solid rgba(192,192,192,.7) !important;
  box-shadow:0 10px 28px rgba(0,95,59,.18) !important;
}
.elementor-heading-title{
  letter-spacing:.01em;
}

/* Responsive refinado */
@media (max-width: 992px){
  .site-header{ border-radius:0; }
  .section, .entry-content > * { margin-block: var(--esp-5); }
}