/*
Theme Name: Real Eleven
Theme URI: https://realeleven.com
Author: Real Eleven
Description: Tema a medida para Real Eleven, tienda de camisetas de fútbol en Nicaragua. Estética oscura y translúcida (negro + dorado).
Version: 2.0.0
Text Domain: real-eleven
Requires PHP: 7.4
Tested up to: 6.6
*/

:root{
  --re-bg:#070708;
  --re-bg-soft:#0d0d0f;
  --re-bg-elevated:#141416;
  --re-surface:rgba(255,255,255,.045);
  --re-surface-hover:rgba(255,255,255,.075);
  --re-border:rgba(255,255,255,.09);
  --re-border-strong:rgba(255,255,255,.2);
  --re-black:#070708;
  --re-gold:#d4af37;
  --re-gold-bright:#f3d371;
  --re-gold-dim:rgba(212,175,55,.35);
  --re-white:#f5f5f7;
  --re-gray:#9a9aa1;
  --re-gray-dim:#6f6f75;
  --re-radius:18px;
  --re-radius-sm:12px;
  --re-radius-pill:999px;
  --re-max:1280px;
  --re-blur:22px;
  --re-ease:cubic-bezier(.16,1,.3,1);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--re-bg);
  color:var(--re-white);
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  position:relative;
}
/* Halos de fondo estilo "keynote" — sutiles, fijos, no interactivos */
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(60vw 60vw at 85% -10%, rgba(212,175,55,.10), transparent 60%),
    radial-gradient(50vw 50vw at -10% 30%, rgba(212,175,55,.06), transparent 60%),
    radial-gradient(70vw 70vw at 50% 120%, rgba(255,255,255,.04), transparent 60%);
}
#page, .re-topbar, .re-header, .re-main, .re-footer{position:relative;z-index:1;}
.re-header{z-index:100;}

img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{font-family:inherit;letter-spacing:-.01em;}
.re-container{max-width:var(--re-max);margin:0 auto;padding:0 24px;}

/* ---------- Revelado al hacer scroll ---------- */
.re-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--re-ease), transform .7s var(--re-ease);}
.re-reveal.is-visible{opacity:1;transform:none;}

/* ---------- Header (glass, sticky) ---------- */
.re-header{
  background:rgba(7,7,8,.55);
  backdrop-filter:blur(var(--re-blur)) saturate(160%);
  -webkit-backdrop-filter:blur(var(--re-blur)) saturate(160%);
  color:var(--re-white);
  position:sticky;
  top:0;
  z-index:100;
  border-bottom:1px solid rgba(255,255,255,.07);
  transition:background .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.re-header.is-scrolled{
  background:rgba(7,7,8,.85);
  box-shadow:0 8px 30px rgba(0,0,0,.35);
  border-bottom-color:rgba(212,175,55,.25);
}
.re-header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px 24px;
  max-width:var(--re-max);
  margin:0 auto;
  gap:20px;
}
.re-logo{display:flex;align-items:center;gap:12px;font-weight:800;font-size:1.2rem;letter-spacing:.02em;color:var(--re-white);}
.re-logo__mark{width:46px;height:46px;border-radius:12px;object-fit:cover;border:1px solid var(--re-border);}
.re-logo__text span{color:var(--re-gold);}

.re-nav{display:flex;gap:8px;}
.re-nav a{
  position:relative;
  color:var(--re-gray);
  font-size:.82rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.06em;
  padding:9px 14px;
  border-radius:var(--re-radius-pill);
  transition:color .25s ease, background .25s ease;
}
.re-nav a:hover{color:var(--re-white);background:var(--re-surface);}

.re-header__actions{display:flex;align-items:center;gap:8px;}
.re-cart-link{
  position:relative;
  color:var(--re-white);
  font-size:1.15rem;
  width:40px;height:40px;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;
  background:var(--re-surface);
  border:1px solid var(--re-border);
  transition:background .25s ease, border-color .25s ease, transform .25s ease;
}
.re-cart-link:hover{background:var(--re-surface-hover);border-color:var(--re-border-strong);transform:translateY(-1px);}
.re-cart-count{
  position:absolute;top:-6px;right:-6px;
  background:var(--re-gold);color:var(--re-black);
  font-size:.65rem;font-weight:800;
  border-radius:50%;
  width:18px;height:18px;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 0 2px var(--re-bg);
}
.re-menu-toggle{display:none;background:var(--re-surface);border:1px solid var(--re-border);color:var(--re-white);font-size:1.3rem;width:40px;height:40px;border-radius:50%;cursor:pointer;}

@media (max-width:860px){
  .re-nav{
    display:none;
    position:absolute;top:100%;left:0;right:0;
    background:rgba(7,7,8,.92);
    backdrop-filter:blur(var(--re-blur));
    flex-direction:column;
    gap:2px;
    padding:12px;
    border-bottom:1px solid rgba(212,175,55,.25);
  }
  .re-nav a{padding:12px 14px;}
  .re-nav.is-open{display:flex;}
  .re-menu-toggle{display:block;}
}

/* ---------- Botones ---------- */
.re-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:var(--re-gold);
  color:#151107;
  font-weight:700;
  padding:15px 34px;
  border-radius:var(--re-radius-pill);
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:.85rem;
  border:1px solid var(--re-gold);
  transition:transform .3s var(--re-ease), box-shadow .3s var(--re-ease), background .3s ease;
  cursor:pointer;
}
.re-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 30px -8px rgba(212,175,55,.55);
  background:var(--re-gold-bright);
  border-color:var(--re-gold-bright);
}
.re-btn--outline{
  background:rgba(255,255,255,.04);
  color:var(--re-white);
  border-color:rgba(255,255,255,.25);
  backdrop-filter:blur(10px);
}
.re-btn--outline:hover{background:rgba(255,255,255,.1);color:var(--re-white);box-shadow:0 12px 30px -10px rgba(255,255,255,.2);border-color:rgba(255,255,255,.4);}

/* ---------- Hero ---------- */
.re-hero{
  position:relative;
  padding:150px 24px 120px;
  text-align:center;
  overflow:hidden;
}
.re-hero::before{
  content:"";
  position:absolute;
  top:-30%;left:50%;
  width:900px;height:900px;
  transform:translateX(-50%);
  background:radial-gradient(circle, rgba(212,175,55,.22) 0%, transparent 65%);
  filter:blur(10px);
  pointer-events:none;
}
.re-hero__inner{position:relative;z-index:1;}
.re-hero .re-eyebrow{
  display:inline-block;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--re-gold-bright);
  border:1px solid var(--re-gold-dim);
  background:rgba(212,175,55,.08);
  padding:8px 18px;
  border-radius:var(--re-radius-pill);
  margin-bottom:28px;
}
.re-hero h1{
  font-size:clamp(2.6rem, 6vw, 5rem);
  margin:0 0 20px;
  font-weight:900;
  letter-spacing:-.03em;
  line-height:1.02;
  text-transform:uppercase;
}
.re-hero h1 em{
  font-style:normal;
  background:linear-gradient(120deg,var(--re-gold-bright),var(--re-gold) 60%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.re-hero p{max-width:560px;margin:0 auto 40px;color:var(--re-gray);font-size:1.1rem;}
.re-hero__actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* ---------- Secciones ---------- */
.re-section{padding:100px 24px;position:relative;}
.re-section--tight{padding-top:60px;}
.re-section__head{text-align:center;margin-bottom:52px;}
.re-section__eyebrow{
  display:block;
  font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--re-gold);margin-bottom:12px;
}
.re-section__head h2{font-size:clamp(1.8rem,3.4vw,2.6rem);margin:0 0 10px;font-weight:800;letter-spacing:-.02em;}
.re-section__head p{color:var(--re-gray);margin:0;font-size:1.02rem;}

.re-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:20px;
  max-width:var(--re-max);
  margin:0 auto;
}

/* ---------- Tarjetas "glass" reutilizables ---------- */
.re-glass{
  background:var(--re-surface);
  border:1px solid var(--re-border);
  backdrop-filter:blur(var(--re-blur));
  -webkit-backdrop-filter:blur(var(--re-blur));
  border-radius:var(--re-radius);
}

/* ---------- Categorías (compra por equipo) ---------- */
.re-cat-card{
  position:relative;
  border-radius:var(--re-radius);
  overflow:hidden;
  aspect-ratio:3/4;
  background:var(--re-bg-elevated);
  display:flex;
  align-items:flex-end;
  border:1px solid var(--re-border);
  transition:border-color .35s ease, box-shadow .35s ease, transform .35s var(--re-ease);
}
.re-cat-card:hover{
  border-color:var(--re-gold-dim);
  box-shadow:0 20px 45px -20px rgba(0,0,0,.6), 0 0 0 1px rgba(212,175,55,.15);
  transform:translateY(-4px);
}
.re-cat-card__media{position:absolute;inset:0;overflow:hidden;}
.re-cat-card__media img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform .7s var(--re-ease), opacity .4s ease;
  opacity:.92;
}
.re-cat-card:hover .re-cat-card__media img{transform:scale(1.09);}
.re-cat-card::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(0deg, rgba(0,0,0,.88) 0%, rgba(0,0,0,.15) 55%, transparent 75%);
  pointer-events:none;
}
.re-cat-card__label{
  position:relative;z-index:2;
  width:100%;
  padding:20px;
  display:flex;align-items:center;justify-content:space-between;
  color:var(--re-white);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.03em;
  font-size:.95rem;
}
.re-cat-card__arrow{
  width:30px;height:30px;border-radius:50%;
  border:1px solid rgba(255,255,255,.3);
  display:flex;align-items:center;justify-content:center;
  font-size:.9rem;
  transition:background .3s ease, transform .3s var(--re-ease), border-color .3s ease;
}
.re-cat-card:hover .re-cat-card__arrow{background:var(--re-gold);color:#151107;transform:rotate(45deg);border-color:var(--re-gold);}

/* ---------- Tarjetas de producto (shop/archive) ---------- */
ul.products{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:22px;
  list-style:none;
  margin:0 auto !important;
  max-width:var(--re-max);
  padding:0 24px;
}
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product{
  width:auto !important;
  float:none !important;
  margin:0 !important;
}
ul.products li.product{
  background:var(--re-surface);
  border:1px solid var(--re-border);
  backdrop-filter:blur(var(--re-blur));
  -webkit-backdrop-filter:blur(var(--re-blur));
  border-radius:var(--re-radius);
  padding:16px;
  transition:box-shadow .4s var(--re-ease), transform .4s var(--re-ease), border-color .4s ease;
  position:relative;
}
ul.products li.product:hover{
  box-shadow:0 24px 50px -24px rgba(0,0,0,.7), 0 0 0 1px rgba(212,175,55,.12);
  transform:translateY(-6px);
  border-color:var(--re-border-strong);
}

.re-product-thumb{
  position:relative;
  display:block;
  aspect-ratio:1/1;
  overflow:hidden;
  border-radius:var(--re-radius-sm);
  background:radial-gradient(circle at 50% 30%, rgba(255,255,255,.06), rgba(255,255,255,0) 60%), #101012;
}
.re-product-thumb__img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:contain;
  padding:14px;
  transition:opacity .5s ease, transform .5s var(--re-ease);
}
.re-product-thumb__img--front{opacity:1;z-index:2;}
.re-product-thumb__img--back{opacity:0;z-index:1;transform:scale(1.04);}
ul.products li.product:hover .re-product-thumb__img--front{opacity:0;}
ul.products li.product:hover .re-product-thumb__img--back{opacity:1;transform:scale(1);}

ul.products li.product .woocommerce-loop-product__title{
  font-size:1rem;font-weight:700;margin:16px 0 4px;color:var(--re-white);letter-spacing:-.01em;
}
ul.products li.product .price{color:var(--re-gray);font-weight:600;font-size:.95rem;}
ul.products li.product .price ins{color:var(--re-gold-bright);text-decoration:none;font-weight:700;}
ul.products li.product .button{
  display:inline-flex;align-items:center;gap:6px;
  background:transparent;
  color:var(--re-white);
  border:1px solid var(--re-border-strong);
  border-radius:var(--re-radius-pill);
  padding:10px 18px;
  font-size:.78rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-top:14px;
  transition:background .3s ease, color .3s ease, border-color .3s ease;
}
ul.products li.product .button:hover{background:var(--re-gold);color:#151107;border-color:var(--re-gold);}

/* ---------- WooCommerce: overrides generales para tema oscuro ---------- */
.woocommerce, .woocommerce-page{color:var(--re-white);}
.woocommerce-breadcrumb{color:var(--re-gray-dim);font-size:.85rem;padding:24px 0 0;max-width:var(--re-max);margin:0 auto;}
.woocommerce-breadcrumb a{color:var(--re-gray);}
.woocommerce-breadcrumb a:hover{color:var(--re-gold);}

.woocommerce div.product p.price, .woocommerce div.product span.price{color:var(--re-white);font-size:1.6rem;font-weight:800;}
.woocommerce div.product span.price ins{color:var(--re-gold-bright);text-decoration:none;}
.woocommerce ul.products li.product .star-rating, .woocommerce div.product .star-rating{color:var(--re-gold);}

.woocommerce div.product form.cart .button{
  background:var(--re-gold);
  color:#151107;
  border:none;
  border-radius:var(--re-radius-pill);
  padding:16px 34px;
  text-transform:uppercase;
  font-weight:700;
  letter-spacing:.04em;
  transition:transform .3s var(--re-ease), box-shadow .3s var(--re-ease), background .3s ease;
}
.woocommerce div.product form.cart .button:hover{
  background:var(--re-gold-bright);
  transform:translateY(-2px);
  box-shadow:0 14px 30px -10px rgba(212,175,55,.55);
}
.woocommerce span.onsale{
  background:var(--re-gold);color:#151107;font-weight:800;
  border-radius:var(--re-radius-pill);
  min-height:auto;min-width:auto;padding:6px 14px;
  top:12px;left:12px;line-height:1.4;
}
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button{
  background:transparent;color:var(--re-white);border:1px solid var(--re-border-strong);border-radius:var(--re-radius-pill);
  transition:background .3s ease, color .3s ease;
}
.woocommerce #respond input#submit:hover, .woocommerce a.button:hover, .woocommerce button.button:hover{
  background:var(--re-gold);color:#151107;border-color:var(--re-gold);
}

/* Selectores de variación, cantidades, formularios */
.woocommerce div.product form.cart .variations select,
.woocommerce table.variations select,
.woocommerce div.product form.cart .quantity input.qty,
.woocommerce #reviews textarea,
.woocommerce input[type="text"], .woocommerce input[type="email"], .woocommerce input[type="tel"],
.woocommerce input[type="number"], .woocommerce input[type="password"], .woocommerce input[type="url"],
.woocommerce textarea, .woocommerce select{
  background:var(--re-surface);
  border:1px solid var(--re-border-strong);
  color:var(--re-white);
  border-radius:var(--re-radius-sm);
  padding:11px 14px;
}
.woocommerce div.product form.cart .variations select:focus,
.woocommerce input:focus, .woocommerce select:focus, .woocommerce textarea:focus{
  outline:none;border-color:var(--re-gold);box-shadow:0 0 0 3px rgba(212,175,55,.18);
}
.woocommerce div.product form.cart table.variations{color:var(--re-white);}
.woocommerce div.product form.cart table.variations label{color:var(--re-gray);font-weight:600;}
.woocommerce div.product .woocommerce-variation-price .price{color:var(--re-gold-bright);}

/* Tabs de producto (descripción, reseñas) */
.woocommerce-tabs ul.tabs{border-bottom:1px solid var(--re-border);padding:0;margin:40px 0 0;list-style:none;display:flex;gap:6px;}
.woocommerce-tabs ul.tabs li{margin:0;}
.woocommerce-tabs ul.tabs li a{
  display:block;padding:12px 18px;color:var(--re-gray);font-weight:600;text-transform:uppercase;font-size:.8rem;letter-spacing:.04em;
  border-radius:var(--re-radius-sm) var(--re-radius-sm) 0 0;
}
.woocommerce-tabs ul.tabs li.active a{color:var(--re-white);background:var(--re-surface);}
.woocommerce-Tabs-panel{padding:26px 0;color:var(--re-gray);}
.woocommerce-Tabs-panel h2{color:var(--re-white);}

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews{
  background:var(--re-surface);
  border:1px solid var(--re-border);
  border-left:3px solid var(--re-gold);
  color:var(--re-white);
  border-radius:var(--re-radius-sm);
  padding:16px 20px;
  backdrop-filter:blur(var(--re-blur));
  list-style:none;
}
.woocommerce-error{border-left-color:#e0654f;}
.woocommerce-message .button, .woocommerce-info .button{float:none;margin-left:12px;}

/* Tablas (carrito, checkout order review, mi cuenta) */
.woocommerce table.shop_table{
  border-collapse:separate;border-spacing:0;
  background:var(--re-surface);
  border:1px solid var(--re-border);
  border-radius:var(--re-radius);
  overflow:hidden;
  color:var(--re-white);
}
.woocommerce table.shop_table th{
  background:rgba(255,255,255,.03);
  color:var(--re-gray);
  text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;
  padding:16px;border-bottom:1px solid var(--re-border);
}
.woocommerce table.shop_table td{padding:16px;border-bottom:1px solid var(--re-border);}
.woocommerce table.shop_table tr:last-child td{border-bottom:none;}
.woocommerce-cart-form .product-thumbnail img{border-radius:var(--re-radius-sm);background:#101012;}
.woocommerce td.product-name a{color:var(--re-white);font-weight:600;}
.woocommerce .quantity .qty{width:64px;text-align:center;}
.woocommerce-cart-form dl.variation, .woocommerce td.product-name dl.variation{color:var(--re-gray);font-size:.85rem;}
.woocommerce-cart-form dl.variation dt, .woocommerce td.product-name dl.variation dt{color:var(--re-gray-dim);}

.cart-collaterals .cart_totals{
  background:var(--re-surface);
  border:1px solid var(--re-border);
  border-radius:var(--re-radius);
  padding:8px 24px;
  backdrop-filter:blur(var(--re-blur));
}
.cart_totals h2{font-size:1.1rem;}
.cart_totals table.shop_table{background:transparent;border:none;}
.cart_totals table.shop_table td, .cart_totals table.shop_table th{border-bottom:1px solid var(--re-border);}
.wc-proceed-to-checkout .checkout-button{
  width:100%;text-align:center;
  background:var(--re-gold);color:#151107;
  border-radius:var(--re-radius-pill);
  padding:16px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;
}
.wc-proceed-to-checkout .checkout-button:hover{background:var(--re-gold-bright);}

/* Checkout */
.woocommerce-checkout #payment{background:transparent;}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:none;}
.woocommerce-checkout #payment div.payment_box, .woocommerce-checkout #payment ul.payment_methods{
  background:var(--re-surface);
  border:1px solid var(--re-border);
  border-radius:var(--re-radius);
}
.woocommerce-checkout #payment div.payment_box{color:var(--re-gray);}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:var(--re-surface);}
#order_review, #order_review_heading{
  background:var(--re-surface);
  border:1px solid var(--re-border);
  border-radius:var(--re-radius);
  padding:24px;
  backdrop-filter:blur(var(--re-blur));
}
.woocommerce-checkout .woocommerce-billing-fields h3, .woocommerce-checkout .woocommerce-shipping-fields h3, .woocommerce-additional-fields h3{
  color:var(--re-white);font-size:1.1rem;
}
.woocommerce-checkout label{color:var(--re-gray);}
#place_order{
  width:100%;
  background:var(--re-gold);color:#151107;
  border-radius:var(--re-radius-pill);
  padding:17px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;
  border:none;
}
#place_order:hover{background:var(--re-gold-bright);}

/* ---------- WooCommerce Blocks (Carrito/Checkout modernos) ---------- */
.wc-block-cart, .wc-block-checkout{color:var(--re-white);}
.wc-block-components-panel, .wc-block-components-order-summary,
.wc-block-checkout__main .wc-block-components-checkout-step,
.wc-block-components-totals-wrapper,
.wc-block-cart-items, .wc-block-components-shipping-calculator{
  --wc-blocks-color-primary:var(--re-gold);
}
.wc-block-checkout__sidebar .wc-block-components-panel,
.wc-block-cart__sidebar .wc-block-components-panel,
.wc-block-components-totals-wrapper{
  background:var(--re-surface) !important;
  border:1px solid var(--re-border) !important;
  border-radius:var(--re-radius) !important;
  backdrop-filter:blur(var(--re-blur));
  padding:6px 20px !important;
}
.wc-block-components-text-input input, .wc-block-components-textarea textarea,
.wc-block-components-combobox input, select.wc-block-components-country-input,
.wc-block-components-address-form input, .wc-block-checkout__form input[type="text"],
.wc-block-checkout__form input[type="email"], .wc-block-checkout__form input[type="tel"]{
  background:rgba(255,255,255,.04) !important;
  border-color:var(--re-border-strong) !important;
  color:var(--re-white) !important;
  border-radius:var(--re-radius-sm) !important;
}
.wc-block-components-text-input label, .wc-block-components-radio-control__label{color:var(--re-gray) !important;}
.wc-block-components-radio-control__option{
  background:var(--re-surface);
  border:1px solid var(--re-border) !important;
  border-radius:var(--re-radius-sm) !important;
  margin-bottom:8px;
}
.wc-block-components-radio-control__option--checked-option{border-color:var(--re-gold) !important;background:rgba(212,175,55,.06);}
.wc-block-components-radio-control__input{accent-color:var(--re-gold);}

.wc-block-components-button, .wp-element-button,
.wc-block-cart__submit-container a.wc-block-cart__submit-button{
  background:var(--re-gold) !important;
  color:#151107 !important;
  border-radius:var(--re-radius-pill) !important;
  border:none !important;
  font-weight:700 !important;
  text-transform:uppercase;
  letter-spacing:.04em;
  transition:transform .3s var(--re-ease), box-shadow .3s var(--re-ease), background .3s ease !important;
}
.wc-block-components-button:hover, .wp-element-button:hover{
  background:var(--re-gold-bright) !important;
  transform:translateY(-2px);
  box-shadow:0 14px 30px -10px rgba(212,175,55,.55);
}
.wc-block-components-button.wc-block-components-totals-coupon__button,
.wc-block-components-button.contained.wc-block-components-checkout-return-to-cart-button,
button.wc-block-components-totals-coupon__button{
  background:transparent !important;
  color:var(--re-white) !important;
  border:1px solid var(--re-border-strong) !important;
}

.wc-block-components-totals-item__value, .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{color:var(--re-white);font-weight:700;}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{color:var(--re-gold-bright);font-size:1.1rem;}
.wc-block-components-product-name{color:var(--re-white) !important;font-weight:600;}
.wc-block-components-product-metadata{color:var(--re-gray);}
.wc-block-components-panel__button{color:var(--re-white) !important;}
.wc-block-components-quantity-selector, .wc-block-components-quantity-selector input{
  background:rgba(255,255,255,.04);border-color:var(--re-border-strong);color:var(--re-white);border-radius:var(--re-radius-sm);
}

/* ---------- Instagram / social section ---------- */
.re-social{text-align:center;}
.re-social a.re-btn{margin-top:14px;}

/* ---------- Footer ---------- */
.re-footer{background:var(--re-bg-soft);color:var(--re-gray);padding:70px 24px 26px;border-top:1px solid var(--re-border);}
.re-footer__grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:36px;max-width:var(--re-max);margin:0 auto 40px;
}
.re-footer h4{color:var(--re-gold);text-transform:uppercase;font-size:.78rem;letter-spacing:.08em;margin:0 0 16px;}
.re-footer ul{list-style:none;padding:0;margin:0;}
.re-footer li{margin-bottom:10px;font-size:.9rem;}
.re-footer li a:hover{color:var(--re-white);}
.re-footer__bottom{
  border-top:1px solid var(--re-border);
  text-align:center;
  padding-top:22px;
  font-size:.78rem;
  color:var(--re-gray-dim);
}

/* ---------- Personalización (usada por el plugin real-eleven-customizer) ---------- */
.re-customizer{
  border:1px solid var(--re-border);
  border-radius:var(--re-radius);
  padding:26px;
  margin:28px 0;
  background:var(--re-surface);
  backdrop-filter:blur(var(--re-blur));
}
.re-customizer h3{margin:0 0 18px;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--re-gold);}
.re-customizer__row{margin-bottom:16px;}
.re-customizer__row label{display:block;font-weight:600;margin-bottom:7px;font-size:.85rem;color:var(--re-gray);}
.re-customizer__row input[type="text"], .re-customizer__row input[type="number"], .re-customizer__row select{
  width:100%;padding:12px 14px;border:1px solid var(--re-border-strong);border-radius:var(--re-radius-sm);
  font-size:.95rem;background:rgba(255,255,255,.03);color:var(--re-white);
}
.re-customizer__row input:focus{outline:none;border-color:var(--re-gold);box-shadow:0 0 0 3px rgba(212,175,55,.18);}
.re-customizer__patches label{
  display:inline-flex;align-items:center;gap:6px;margin-right:18px;font-weight:400;font-size:.88rem;color:var(--re-gray);
}
.re-customizer__total{color:var(--re-gray);font-size:.9rem;}
.re-customizer__total strong{color:var(--re-gold-bright);font-size:1.1rem;}

.re-preview{
  position:relative;
  width:100%;
  max-width:320px;
  margin:0 auto 20px;
  background:radial-gradient(circle at 50% 30%, rgba(255,255,255,.08), transparent 60%), #101012;
  border-radius:var(--re-radius);
  overflow:hidden;
  border:1px solid var(--re-border);
}
.re-preview img{width:100%;display:block;padding:16px;}
.re-preview__name{
  position:absolute;
  top:29%;
  left:50%;
  transform:translateX(-50%);
  font-family:"Inter",Arial,sans-serif;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#111;
  -webkit-text-stroke:.5px rgba(255,255,255,.4);
  font-size:20px;
  white-space:nowrap;
}
.re-preview__number{
  position:absolute;
  top:34%;
  left:50%;
  transform:translateX(-50%);
  font-family:"Inter",Arial,sans-serif;
  font-weight:900;
  color:#111;
  -webkit-text-stroke:1px rgba(255,255,255,.5);
  font-size:60px;
  line-height:1;
}
.re-preview__patch{
  position:absolute;
  top:14%;
  left:14%;
  background:var(--re-gold);
  color:#151107;
  font-size:9px;
  font-weight:800;
  padding:4px 8px;
  border-radius:var(--re-radius-pill);
  text-transform:uppercase;
}


/* ---------- Barra superior ---------- */
.re-topbar{
  background:var(--re-gold);color:#151107;text-align:center;
  font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  padding:9px 16px;
}

/* ---------- Botón claro (sobre fotos) ---------- */
.re-btn--light{background:var(--re-white);color:#0b0b0c;border-color:var(--re-white);padding:13px 26px;}
.re-btn--light:hover{background:var(--re-gold);border-color:var(--re-gold);color:#151107;}

/* ---------- Portada: tres bloques (estilo editorial) ---------- */
.re-split{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:4px;
  height:clamp(560px, calc(100vh - 118px), 900px);
  background:var(--re-bg);
}
.re-tile{
  position:relative;
  display:block;
  overflow:hidden;
  background:var(--re-bg-elevated);
  color:#fff;
}
.re-tile__img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;object-position:center 20%;
  transition:transform 1.1s var(--re-ease);
}
.re-tile:hover .re-tile__img{transform:scale(1.05);}
.re-tile__shade{
  position:absolute;inset:0;
  background:linear-gradient(0deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.35) 38%, rgba(0,0,0,0) 62%);
  pointer-events:none;
}
.re-tile__body{
  position:absolute;left:0;right:0;bottom:0;
  padding:0 clamp(20px,3vw,40px) clamp(24px,3.4vw,44px);
  display:flex;flex-direction:column;align-items:flex-start;gap:10px;
}
.re-tile__eyebrow{
  font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--re-gold-bright);
}
.re-tile__title{
  font-size:clamp(1.8rem,3.1vw,3rem);
  font-weight:900;letter-spacing:-.03em;line-height:1;text-transform:uppercase;
}
.re-tile__text{font-size:.95rem;color:rgba(255,255,255,.82);max-width:30ch;line-height:1.4;}
.re-tile .re-btn{margin-top:8px;}

@media (max-width:860px){
  .re-split{
    display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;
    padding:0 16px;height:min(76vh,640px);
    scrollbar-width:none;
  }
  .re-split::-webkit-scrollbar{display:none;}
  .re-tile{flex:0 0 82%;scroll-snap-align:center;border-radius:var(--re-radius);}
}

/* ---------- Sección "Hazla tuya" ---------- */
.re-feature{padding-left:0;padding-right:0;}
.re-feature__inner{
  max-width:var(--re-max);margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,72px);align-items:center;
}
.re-feature__media{border-radius:var(--re-radius);overflow:hidden;aspect-ratio:4/5;border:1px solid var(--re-border);}
.re-feature__media img{width:100%;height:100%;object-fit:cover;object-position:center 25%;}
.re-feature__copy h2{font-size:clamp(2.4rem,5vw,4.2rem);font-weight:900;letter-spacing:-.03em;line-height:1;margin:6px 0 18px;text-transform:uppercase;}
.re-feature__copy p{color:var(--re-gray);font-size:1.08rem;max-width:46ch;margin:0 0 28px;}
@media (max-width:860px){.re-feature__inner{grid-template-columns:1fr;}}

/* ---------- Tira de Instagram ---------- */
.re-ig__grid{
  display:grid;grid-template-columns:repeat(6,1fr);gap:8px;
  max-width:var(--re-max);margin:0 auto;padding:0 24px;
}
.re-ig__item{position:relative;aspect-ratio:1/1;overflow:hidden;border-radius:var(--re-radius-sm);background:var(--re-bg-elevated);}
.re-ig__item img{width:100%;height:100%;object-fit:cover;object-position:center 22%;transition:transform .7s var(--re-ease);}
.re-ig__item:hover img{transform:scale(1.08);}
.re-ig__hover{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.45);color:#fff;font-size:1.6rem;opacity:0;transition:opacity .3s ease;
}
.re-ig__item:hover .re-ig__hover{opacity:1;}
.re-ig__cta{text-align:center;margin-top:32px;}
@media (max-width:860px){.re-ig__grid{grid-template-columns:repeat(3,1fr);}}

/* ---------- Footer (contacto, ubicaciones, redes) ---------- */
.re-footer__top{max-width:var(--re-max);margin:0 auto 40px;display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:48px;}
.re-footer__brand p{margin:14px 0 20px;max-width:30ch;}
.re-footer__logo{width:64px;height:64px;border-radius:16px;border:1px solid var(--re-border);}
.re-footer__top .re-footer__grid{margin:0;max-width:none;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));}
.re-footer__muted{color:var(--re-gray-dim);}
.re-loc{display:flex;flex-direction:column;gap:4px;margin-bottom:18px;font-size:.9rem;}
.re-loc strong{color:var(--re-white);font-weight:600;}
.re-loc__links{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;}
.re-loc__links a{
  font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  padding:6px 12px;border-radius:var(--re-radius-pill);
  border:1px solid var(--re-border-strong);color:var(--re-white);
  transition:background .25s ease,color .25s ease,border-color .25s ease;
}
.re-loc__links a:hover{background:var(--re-gold);border-color:var(--re-gold);color:#151107;}
@media (max-width:860px){.re-footer__top{grid-template-columns:1fr;gap:32px;}}

/* Cabecera compacta en pantallas medianas */
.re-logo__text, .re-nav a{white-space:nowrap;}
@media (max-width:1180px){
  .re-nav{gap:0;}
  .re-nav a{padding:9px 9px;font-size:.76rem;letter-spacing:.04em;}
}
@media (max-width:520px){.re-logo__text{font-size:1rem;}}

/* Pestañas de producto en tema oscuro */
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-bottom:1px solid var(--re-border);}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent;border:none;border-radius:var(--re-radius-sm) var(--re-radius-sm) 0 0;}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:var(--re-gray);}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--re-surface);}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--re-white);}

/* Avisos de WooCommerce: quitamos el ícono automático (salía como un cuadro azul sobre la primera letra) */
.woocommerce-info::before, .woocommerce-message::before, .woocommerce-error::before, .woocommerce-noreviews::before, .woocommerce-notice::before{display:none !important;content:none !important;}
.woocommerce-info, .woocommerce-message, .woocommerce-error, .woocommerce-noreviews{padding:16px 20px !important;}

.re-footer__legal{max-width:var(--re-max);margin:0 auto 18px;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:.82rem;}
.re-footer__legal a{color:var(--re-gray);}
.re-footer__legal a:hover{color:var(--re-white);}

/* Carrito: foto del producto grande */
.woocommerce table.cart td.product-thumbnail{width:140px;}
.woocommerce table.cart td.product-thumbnail img,
.woocommerce-cart-form table.cart img{width:120px !important;height:120px;max-width:none;object-fit:cover;border-radius:var(--re-radius-sm);}
@media (max-width:768px){
  .woocommerce table.shop_table_responsive tr td.product-thumbnail,
  .woocommerce-page table.shop_table_responsive tr td.product-thumbnail{display:block !important;width:auto;text-align:center;}
  .woocommerce table.shop_table_responsive tr td.product-thumbnail::before,
  .woocommerce-page table.shop_table_responsive tr td.product-thumbnail::before,
  .woocommerce-page table.shop_table_responsive tr td.product-remove::before{display:none !important;content:none !important;}
  .woocommerce table.cart td.product-thumbnail img,
  .woocommerce-cart-form table.cart img{width:min(240px,72vw) !important;height:auto;aspect-ratio:1;margin:0 auto;}
}
