/*
Theme Name: NeuroDiversa
Description: Theme a medida para la tienda WooCommerce de NeuroDiversa (herramientas sensoriales), basado en el diseño aprobado por el cliente.
Author: Nommade Digital
Version: 1.0
Text Domain: neurodiversa
Requires PHP: 7.4
Requires at least: 6.4
*/


  :root{
    --bruma:#F3F8F8;
    --bruma-alta:#FAFDFD;
    --musgo:#DCEEEF;
    --tinta:#170B3B;
    --tinta-suave:#4B4460;
    --calma:#2E8B94;
    --calma-oscuro:#1F6169;
    --calma-claro:#4CA9B1;
    --lavanda:#23047A;
    --lavanda-suave:#E7E2F7;
    --coral:#E8927C;
    --linea:#D6E2E3;
    --radio-lg:28px;
    --radio-md:18px;
    --radio-sm:10px;
    --sombra: 0 20px 50px -25px rgba(22,34,31,0.35);
    --sombra-sm: 0 10px 25px -15px rgba(22,34,31,0.3);
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--bruma);
    color:var(--tinta);
    font-family:'Manrope', sans-serif;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  ul{margin:0;padding:0;list-style:none;}
  h1,h2,h3,h4{font-family:'Sora', sans-serif;margin:0;color:var(--tinta);}
  p{margin:0;}
  .eyebrow{
    font-family:'IBM Plex Mono', monospace;
    font-size:12.5px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--calma);
    display:inline-flex;
    align-items:center;
    gap:10px;
  }
  .eyebrow::before{
    content:"";
    width:18px;height:1px;
    background:var(--calma);
    display:inline-block;
  }
  .wrap{max-width:1200px;margin:0 auto;padding:0 32px;}
  section{position:relative;}
  :focus-visible{outline:2.5px solid var(--lavanda);outline-offset:3px;border-radius:6px;}

  @media (prefers-reduced-motion: reduce){
    *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important;}
  }

  /* ---------- reveal ---------- */
  .reveal{opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease;}
  .reveal.is-visible{opacity:1; transform:translateY(0);}

  /* ---------- header ---------- */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(238,242,239,0.86);
    backdrop-filter:blur(14px);
    border-bottom:1px solid var(--linea);
  }
  .nav{
    display:flex; align-items:center; justify-content:space-between;
    padding:16px 32px;
    max-width:1200px; margin:0 auto;
  }
  .logo{display:flex; align-items:center; gap:12px; font-family:'Sora'; font-weight:700; font-size:19px;}
  .logo img{height:40px; width:auto; object-fit:contain;}
  .nav-links{display:flex; gap:34px;}
  .nav-links a{
    font-size:14.5px; font-weight:600; color:var(--tinta-suave);
    position:relative; padding:6px 0;
  }
  .nav-links a::after{
    content:""; position:absolute; left:0; bottom:0; height:2px; width:0;
    background:var(--calma); transition:width .3s ease;
  }
  .nav-links a:hover::after{width:100%;}
  .nav-links a:hover{color:var(--tinta);}
  .nav-cta{
    display:flex; align-items:center; gap:14px;
  }
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:9px;
    padding:13px 26px; border-radius:100px;
    font-family:'Manrope'; font-weight:700; font-size:14.5px;
    cursor:pointer; border:none; transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
    white-space:nowrap;
  }
  .btn-primary{background:var(--calma); color:#fff; box-shadow:var(--sombra-sm);}
  .btn-primary:hover{background:var(--calma-oscuro); transform:translateY(-2px);}
  .btn-ghost{background:transparent; color:var(--tinta); border:1.5px solid var(--linea);}
  .btn-ghost:hover{border-color:var(--calma); color:var(--calma); transform:translateY(-2px);}
  .btn-whats{background:var(--lavanda); color:#fff;}
  .btn-whats:hover{background:#6659ad; transform:translateY(-2px);}
  .btn-sm{padding:10px 18px; font-size:13.5px;}

  .cart-link{
    position:relative; display:flex; align-items:center; justify-content:center;
    width:42px; height:42px; border-radius:100px; border:1.5px solid var(--linea);
    color:var(--tinta); flex-shrink:0; transition:border-color .25s ease, background .25s ease;
  }
  .cart-link:hover{ border-color:var(--calma); background:var(--musgo); }
  .cart-count{
    position:absolute; top:-6px; right:-6px; min-width:19px; height:19px; padding:0 4px;
    background:var(--lavanda); color:#fff; border-radius:100px;
    font-family:'IBM Plex Mono'; font-size:10.5px; font-weight:500;
    display:flex; align-items:center; justify-content:center; line-height:1;
  }
  .cart-count:empty, .cart-count[data-count="0"]{ opacity:.35; }
  .menu-toggle{display:none; background:none; border:none; cursor:pointer; padding:6px;}
  .menu-toggle span{display:block; width:24px; height:2px; background:var(--tinta); margin:5px 0; border-radius:2px;}

  /* ---------- hero ---------- */
  .hero{
    padding:76px 0 40px;
    overflow:hidden;
  }
  .hero-grid{
    display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center;
  }
  .hero-copy h1.headline{
    font-size:clamp(38px,4.8vw,60px);
    line-height:1.05;
    font-weight:700;
    letter-spacing:-.02em;
    margin:20px 0 22px;
  }
  .hero-copy h1.headline em{
    font-style:normal; color:var(--calma);
    position:relative;
  }
  .hero-copy p.lead{
    font-size:18px; line-height:1.65; color:var(--tinta-suave); max-width:460px; margin-bottom:34px;
  }
  .hero-actions{display:flex; gap:16px; flex-wrap:wrap; margin-bottom:38px;}
  .hero-trust{display:flex; gap:28px; flex-wrap:wrap;}
  .hero-trust-item{display:flex; align-items:center; gap:10px; font-size:13.5px; font-weight:600; color:var(--tinta-suave);}
  .hero-trust-item svg{flex-shrink:0;}

  .hero-visual{position:relative; display:flex; align-items:center; justify-content:center;}
  .pulso{
    position:absolute; inset:0; display:flex; align-items:center; justify-content:center; z-index:0;
  }
  .pulso svg{width:120%; height:120%; max-width:640px;}
  .pulso-ring{
    fill:none; stroke:var(--calma); opacity:.16;
    transform-origin:center;
    animation:respirar 4.2s ease-in-out infinite;
  }
  .pulso-ring.r2{stroke:var(--lavanda); opacity:.14; animation-delay:.5s;}
  .pulso-ring.r3{stroke:var(--calma-claro); opacity:.12; animation-delay:1s;}
  @keyframes respirar{
    0%,100%{transform:scale(.86); opacity:.10;}
    50%{transform:scale(1.04); opacity:.22;}
  }
  .hero-photo-card{
    position:relative; z-index:1;
    border-radius:var(--radio-lg);
    overflow:hidden;
    box-shadow:var(--sombra);
    aspect-ratio:4/4.7;
    max-width:420px;
    border:6px solid var(--bruma-alta);
  }
  .hero-photo-card img{width:100%; height:100%; object-fit:cover;}
  .hero-float-card{
    position:absolute; z-index:2; bottom:-18px; left:-30px;
    background:#fff; border-radius:var(--radio-md);
    padding:16px 20px; box-shadow:var(--sombra-sm);
    display:flex; align-items:center; gap:12px;
    max-width:230px;
  }
  .hero-float-card .dot{
    width:38px; height:38px; border-radius:50%; background:var(--lavanda-suave);
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
  }
  .hero-float-card p{font-size:13px; font-weight:600; line-height:1.4;}

  /* ---------- momentos ---------- */
  .momentos{padding:100px 0 30px;}
  .section-head{
    display:flex; align-items:flex-end; justify-content:space-between; gap:24px;
    margin-bottom:52px; flex-wrap:wrap;
  }
  .section-head h2{font-size:clamp(28px,3.2vw,40px); font-weight:700; letter-spacing:-.01em; max-width:560px; margin-top:14px;}
  .section-head p{color:var(--tinta-suave); font-size:16px; max-width:380px; line-height:1.6;}

  .momentos-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
  .momento-card{
    background:var(--bruma-alta);
    border:1px solid var(--linea);
    border-radius:var(--radio-lg);
    padding:36px 30px 32px;
    position:relative;
    transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
  }
  .momento-card:hover{transform:translateY(-8px); box-shadow:var(--sombra); border-color:transparent;}
  .momento-textura{
    position:absolute; top:0; right:0; width:100px; height:100px;
    background:radial-gradient(circle at top right, var(--musgo) 0%, transparent 70%);
    border-radius:0 var(--radio-lg) 0 100%;
  }
  .momento-icon{
    width:52px; height:52px; border-radius:16px; display:flex; align-items:center; justify-content:center;
    margin-bottom:22px; position:relative; z-index:1;
  }
  .momento-card:nth-child(1) .momento-icon{background:var(--lavanda-suave); color:var(--lavanda);}
  .momento-card:nth-child(2) .momento-icon{background:#E4F1EE; color:var(--calma);}
  .momento-card:nth-child(3) .momento-icon{background:#FBEAE4; color:var(--coral);}
  .momento-card h3{font-size:20px; margin-bottom:12px; position:relative; z-index:1;}
  .momento-card p{color:var(--tinta-suave); font-size:14.5px; line-height:1.65; position:relative; z-index:1;}

  /* ---------- divisor de respiración ---------- */
  .breath-divider{padding:70px 0; display:flex; justify-content:center;}
  .breath-divider svg{width:100%; max-width:720px; height:34px; opacity:.55;}
  .breath-path{
    stroke:var(--calma); stroke-width:1.6; fill:none;
    stroke-dasharray:6 10; stroke-linecap:round;
  }

  /* ---------- catalogo ---------- */
  .catalogo{padding:20px 0 100px;}
  .catalogo-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:52px;
  }
  .producto-card{
    background:#fff; border-radius:var(--radio-lg); overflow:hidden;
    border:1px solid var(--linea);
    display:flex; flex-direction:column;
    transition:transform .35s ease, box-shadow .35s ease;
  }
  .producto-card:hover{transform:translateY(-6px); box-shadow:var(--sombra);}
  .producto-img{position:relative; aspect-ratio:4/3.9; overflow:hidden; background:var(--musgo);}
  .producto-img img{width:100%; height:100%; object-fit:cover; transition:transform .6s ease;}
  .producto-card:hover .producto-img img{transform:scale(1.06);}
  .tag-nuevo{
    position:absolute; top:14px; left:14px; background:var(--tinta); color:#fff;
    font-family:'IBM Plex Mono'; font-size:11px; letter-spacing:.08em; text-transform:uppercase;
    padding:6px 12px; border-radius:100px;
  }
  .tag-oferta{
    position:absolute; top:14px; left:14px; background:var(--coral); color:#fff;
    font-family:'IBM Plex Mono'; font-size:11px; letter-spacing:.08em; text-transform:uppercase;
    padding:6px 12px; border-radius:100px;
  }
  .producto-info{padding:24px 24px 26px; display:flex; flex-direction:column; flex:1;}
  .producto-info h3{font-size:18px; margin-bottom:8px;}
  .producto-beneficio{font-size:13.5px; color:var(--tinta-suave); line-height:1.55; margin-bottom:18px; flex:1;}
  .producto-precio{display:flex; align-items:baseline; gap:10px; margin-bottom:18px; font-family:'IBM Plex Mono';}
  .precio-actual{font-size:19px; font-weight:600; color:var(--tinta);}
  .precio-anterior{font-size:14px; color:var(--tinta-suave); text-decoration:line-through; opacity:.6;}
  .producto-actions{display:flex; gap:10px;}
  .producto-actions .btn{flex:1; padding:11px 14px; font-size:13.5px;}
  .icon-btn{
    width:42px; height:42px; border-radius:100px; border:1.5px solid var(--linea);
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
    transition:border-color .25s ease, background .25s ease;
  }
  .icon-btn:hover{border-color:var(--lavanda); background:var(--lavanda-suave);}

  /* ---------- compromisos ---------- */
  .compromisos{padding:90px 0; background:var(--calma); color:#fff; border-radius:44px; margin:0 24px;}
  .compromisos .wrap{max-width:1152px;}
  .compromisos .eyebrow{color:#CFE7E0;}
  .compromisos .eyebrow::before{background:#CFE7E0;}
  .compromisos h2{color:#fff; font-size:clamp(26px,3vw,36px); margin:14px 0 50px; max-width:520px;}
  .compromisos-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:34px;}
  .compromiso-item{border-top:1.5px solid rgba(255,255,255,.28); padding-top:22px;}
  .compromiso-num{font-family:'IBM Plex Mono'; font-size:13px; color:#CFE7E0; letter-spacing:.1em; margin-bottom:14px; display:block;}
  .compromiso-item h3{color:#fff; font-size:19px; margin-bottom:10px;}
  .compromiso-item p{color:#D9EEE9; font-size:14.5px; line-height:1.6;}

  /* ---------- cta final ---------- */
  .cta-final{padding:120px 0; text-align:center;}
  .cta-final .eyebrow{justify-content:center;}
  .cta-final h2{font-size:clamp(32px,4.4vw,52px); max-width:680px; margin:20px auto 20px; line-height:1.12;}
  .cta-final p{max-width:520px; margin:0 auto 38px; color:var(--tinta-suave); font-size:16.5px; line-height:1.6;}
  .cta-final .hero-actions{justify-content:center;}

  /* ---------- footer ---------- */
  footer{background:var(--tinta); color:#DCE6DE; padding:70px 0 30px; border-radius:44px 44px 0 0; margin:0 24px;}
  .footer-grid{
    display:grid; grid-template-columns:1.4fr .8fr .8fr 1fr; gap:40px; padding-bottom:50px; border-bottom:1px solid rgba(255,255,255,.12);
  }
  .footer-brand .logo{color:#fff;}
  .footer-brand p{color:#9FB0AB; font-size:13.5px; line-height:1.7; margin-top:16px; max-width:280px;}
  .footer-col h4{font-family:'IBM Plex Mono'; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:#7FA69B; margin-bottom:18px; font-weight:500;}
  .footer-col ul li{margin-bottom:12px;}
  .footer-col a{font-size:14px; color:#DCE6DE; transition:color .2s ease;}
  .footer-col a:hover{color:var(--calma-claro);}
  .footer-col p{font-size:14px; color:#DCE6DE; line-height:1.7;}
  .footer-social{display:flex; gap:12px; margin-top:18px;}
  .footer-social a{
    width:38px; height:38px; border-radius:100px; border:1.5px solid rgba(255,255,255,.18);
    display:flex; align-items:center; justify-content:center; transition:background .2s ease, border-color .2s ease;
  }
  .footer-social a:hover{background:var(--calma); border-color:var(--calma);}
  .footer-bottom{
    display:flex; justify-content:space-between; align-items:center; padding-top:26px; flex-wrap:wrap; gap:12px;
  }
  .footer-bottom p{font-size:12.5px; color:#7FA69B;}

  /* ---------- whatsapp flotante ---------- */
  .whats-float{
    position:fixed; bottom:26px; right:26px; z-index:60;
    width:60px; height:60px; border-radius:50%;
    background:var(--lavanda); color:#fff;
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 14px 34px -10px rgba(124,111,196,.6);
    transition:transform .25s ease;
  }
  .whats-float:hover{transform:scale(1.08);}
  .whats-float::before{
    content:""; position:absolute; inset:-6px; border-radius:50%;
    border:1.5px solid var(--lavanda); opacity:.5;
    animation:ondas 2.6s ease-out infinite;
  }
  @keyframes ondas{
    0%{transform:scale(1); opacity:.5;}
    100%{transform:scale(1.5); opacity:0;}
  }

  /* ---------- responsive ---------- */
  @media (max-width:980px){
    .hero-grid{grid-template-columns:1fr; gap:60px;}
    .hero-visual{order:-1;}
    .hero-photo-card{margin:0 auto; max-width:340px;}
    .momentos-grid, .catalogo-grid, .compromisos-grid{grid-template-columns:repeat(2,1fr);}
    .footer-grid{grid-template-columns:1fr 1fr; row-gap:36px;}
  }
  @media (max-width:720px){
    .nav-links{display:none;}
    .menu-toggle{display:block;}
    .wrap{padding:0 20px;}
    .momentos-grid, .catalogo-grid, .compromisos-grid, .footer-grid{grid-template-columns:1fr;}
    .compromisos, footer{margin:0 12px; border-radius:28px;}
    .compromisos{padding:60px 0;}
    .hero{padding:44px 0 20px;}
    .cta-final{padding:80px 0;}
  }

/* =========================================================
   Estilos WooCommerce (tienda, producto, carrito, checkout)
   ========================================================= */

.woocommerce{ padding:60px 0 100px; }
.woocommerce .wrap{ max-width:1200px; margin:0 auto; padding:0 32px; }

ul.products{
  display:grid !important;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
  list-style:none; margin:0; padding:0;
}
ul.products li.product{
  background:#fff; border-radius:var(--radio-lg); overflow:hidden;
  border:1px solid var(--linea);
  transition:transform .35s ease, box-shadow .35s ease;
  position:relative;
}
ul.products li.product:hover{ transform:translateY(-6px); box-shadow:var(--sombra); }
ul.products li.product a{ display:block; padding:0 0 20px; }
ul.products li.product img{ width:100%; aspect-ratio:4/3.9; object-fit:cover; }
ul.products li.product .woocommerce-loop-product__title{
  font-family:'Sora',sans-serif; font-size:17px; margin:18px 24px 6px; color:var(--tinta);
}
ul.products li.product .price{
  font-family:'IBM Plex Mono',monospace; font-size:17px; margin:0 24px; color:var(--tinta);
}
ul.products li.product .price del{ opacity:.55; font-size:13px; margin-right:8px; }
ul.products li.product .price ins{ text-decoration:none; }
ul.products li.product .button{
  display:block; margin:16px 24px 0; text-align:center;
  background:var(--calma); color:#fff; border-radius:100px; padding:11px 14px;
  font-family:'Manrope',sans-serif; font-weight:700; font-size:13.5px; text-decoration:none;
  transition:background .25s ease;
}
ul.products li.product .button:hover{ background:var(--calma-oscuro); }
ul.products li.product .onsale{
  position:absolute; top:14px; left:14px; background:var(--coral); color:#fff;
  font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase;
  padding:6px 12px; border-radius:100px; z-index:2;
}

/* Página de producto individual */
.woocommerce div.product{ display:grid; grid-template-columns:1fr 1fr; gap:56px; }
.woocommerce div.product .woocommerce-product-gallery{ border-radius:var(--radio-lg); overflow:hidden; }
.woocommerce div.product .summary{ padding-top:8px; }
.woocommerce div.product .product_title{ font-family:'Sora',sans-serif; font-size:32px; margin-bottom:14px; }
.woocommerce div.product p.price{ font-family:'IBM Plex Mono',monospace; font-size:24px; margin-bottom:24px; }
.woocommerce div.product .single_add_to_cart_button{
  background:var(--calma); color:#fff; border:none; border-radius:100px;
  padding:15px 34px; font-family:'Manrope',sans-serif; font-weight:700; font-size:14.5px; cursor:pointer;
}
.woocommerce div.product .single_add_to_cart_button:hover{ background:var(--calma-oscuro); }
.woocommerce div.product .quantity input{
  border:1.5px solid var(--linea); border-radius:100px; padding:12px 16px; width:80px; font-family:'IBM Plex Mono';
}

/* Carrito / checkout: tipografía consistente */
.woocommerce table.shop_table{ border-color:var(--linea); font-family:'Manrope',sans-serif; }
.woocommerce #payment #place_order,
.woocommerce a.button, .woocommerce button.button{
  background:var(--calma); color:#fff; border-radius:100px; border:none;
  font-family:'Manrope',sans-serif; font-weight:700; padding:13px 26px;
}
.woocommerce a.button:hover, .woocommerce button.button:hover{ background:var(--calma-oscuro); color:#fff; }

@media (max-width:780px){
  ul.products{ grid-template-columns:repeat(2,1fr) !important; }
  .woocommerce div.product{ grid-template-columns:1fr; }
}

/* =========================================================
   MI CUENTA (login, registro, dashboard, pedidos, direcciones)
   ========================================================= */

body.woocommerce-account .section{ max-width:1100px !important; }

/* Layout general: navegación lateral + contenido */
.woocommerce-account .woocommerce {
  display:grid;
  grid-template-columns:240px 1fr;
  gap:48px;
  align-items:start;
}
.woocommerce-account .woocommerce-MyAccount-navigation{ grid-row:1; }
.woocommerce-account .woocommerce-MyAccount-content{ grid-row:1; min-width:0; }

/* Navegación lateral tipo tarjeta */
.woocommerce-MyAccount-navigation ul{
  list-style:none; margin:0; padding:10px;
  background:var(--bruma-alta); border:1px solid var(--linea); border-radius:var(--radio-lg);
  display:flex; flex-direction:column; gap:2px;
}
.woocommerce-MyAccount-navigation li{ margin:0; }
.woocommerce-MyAccount-navigation li a{
  display:block; padding:12px 16px; border-radius:var(--radio-sm);
  font-family:'Manrope',sans-serif; font-weight:600; font-size:14px; color:var(--tinta-suave);
  text-decoration:none; transition:background .2s ease, color .2s ease;
}
.woocommerce-MyAccount-navigation li a:hover{ background:var(--musgo); color:var(--tinta); }
.woocommerce-MyAccount-navigation li.is-active a{ background:var(--calma); color:#fff; }
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a{ color:var(--coral); }

/* Título de bienvenida / mensajes */
.woocommerce-account .woocommerce-MyAccount-content > p:first-child{
  font-family:'Sora',sans-serif; font-size:15px; color:var(--tinta-suave); margin-bottom:24px;
}
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews{
  background:var(--musgo); border:1px solid var(--linea); border-left:4px solid var(--calma);
  border-radius:var(--radio-sm); padding:16px 20px; font-family:'Manrope',sans-serif; font-size:14px;
  color:var(--tinta); list-style:none; margin-bottom:24px;
}
.woocommerce-error{ border-left-color:var(--coral); }
.woocommerce-message .button, .woocommerce-info .button{
  background:var(--calma); color:#fff; border-radius:100px; padding:9px 18px; font-size:13px;
  font-weight:700; text-decoration:none; margin-left:12px;
}

/* Formularios: login, registro, editar cuenta, direcciones */
.woocommerce-account form .form-row{ margin-bottom:20px; }
.woocommerce-account form label{
  display:block; margin-bottom:8px; font-family:'IBM Plex Mono',monospace; font-size:12px;
  letter-spacing:.04em; text-transform:uppercase; color:var(--tinta-suave);
}
.woocommerce-account form .required{ color:var(--coral); text-decoration:none; }
.woocommerce-account form input.input-text,
.woocommerce-account form select,
.woocommerce-account form textarea{
  width:100%; border:1.5px solid var(--linea); border-radius:var(--radio-sm);
  padding:13px 16px; font-family:'Manrope',sans-serif; font-size:14.5px; color:var(--tinta);
  background:#fff; transition:border-color .2s ease;
}
.woocommerce-account form input.input-text:focus,
.woocommerce-account form select:focus,
.woocommerce-account form textarea:focus{ outline:none; border-color:var(--calma); }

.woocommerce-account form .button,
.woocommerce-account form button[type="submit"]{
  background:var(--calma); color:#fff; border:none; border-radius:100px;
  padding:14px 30px; font-family:'Manrope',sans-serif; font-weight:700; font-size:14px;
  cursor:pointer; transition:background .25s ease;
}
.woocommerce-account form .button:hover,
.woocommerce-account form button[type="submit"]:hover{ background:var(--calma-oscuro); }

.woocommerce-account .woocommerce-form-login__rememberme{
  display:flex; align-items:center; gap:8px; font-family:'Manrope'; font-size:13.5px; color:var(--tinta-suave);
}
.woocommerce-account .lost_password a,
.woocommerce-account .woocommerce-LostPassword a{ color:var(--lavanda); font-size:13.5px; }

/* Login + Registro lado a lado */
.woocommerce-account .u-columns.col2-set{
  display:grid; grid-template-columns:1fr 1fr; gap:48px;
}
.woocommerce-account .u-columns.col2-set .col-1,
.woocommerce-account .u-columns.col2-set .col-2{
  background:var(--bruma-alta); border:1px solid var(--linea); border-radius:var(--radio-lg); padding:32px;
}
.woocommerce-account .u-columns.col2-set h2{
  font-family:'Sora',sans-serif; font-size:19px; margin-bottom:20px;
}

/* Dashboard: tarjeta de bienvenida */
.woocommerce-MyAccount-content mark{ background:none; color:var(--calma); font-weight:700; }

/* Tabla de pedidos */
.woocommerce-orders-table{
  width:100%; border-collapse:collapse; font-family:'Manrope',sans-serif; font-size:14px;
}
.woocommerce-orders-table thead th{
  text-align:left; padding:14px 16px; font-family:'IBM Plex Mono',monospace; font-size:11.5px;
  letter-spacing:.06em; text-transform:uppercase; color:var(--tinta-suave); border-bottom:1.5px solid var(--linea);
}
.woocommerce-orders-table tbody td{
  padding:16px; border-bottom:1px solid var(--linea);
}
.woocommerce-orders-table .woocommerce-orders-table__cell-order-status mark{
  font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.04em; text-transform:uppercase;
  padding:5px 12px; border-radius:100px; background:var(--musgo); color:var(--calma-oscuro); font-style:normal;
}
.woocommerce-orders-table .button{
  background:transparent; color:var(--calma); border:1.5px solid var(--calma); border-radius:100px;
  padding:8px 16px; font-size:12.5px; font-weight:700;
}
.woocommerce-orders-table .button:hover{ background:var(--calma); color:#fff; }

/* Detalle de pedido individual */
.woocommerce-order-details, .woocommerce-customer-details{
  background:var(--bruma-alta); border:1px solid var(--linea); border-radius:var(--radio-lg);
  padding:28px; margin-bottom:28px;
}
.woocommerce-order-details table, .woocommerce-table--order-details{
  width:100%; border-collapse:collapse; font-family:'Manrope'; font-size:14px;
}
.woocommerce-table--order-details th, .woocommerce-table--order-details td{
  padding:12px 8px; border-bottom:1px solid var(--linea); text-align:left;
}

/* Direcciones */
.woocommerce-Addresses{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.woocommerce-Address{
  background:var(--bruma-alta); border:1px solid var(--linea); border-radius:var(--radio-lg); padding:26px;
}
.woocommerce-Address-title{ display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.woocommerce-Address-title h3{ font-family:'Sora',sans-serif; font-size:16px; }
.woocommerce-Address-title .edit{
  font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:.04em; text-transform:uppercase;
  color:var(--calma); text-decoration:none;
}
.woocommerce-Address address{ font-style:normal; font-size:14px; line-height:1.7; color:var(--tinta-suave); }

@media (max-width:780px){
  .woocommerce-account .woocommerce{ grid-template-columns:1fr; }
  .woocommerce-account .u-columns.col2-set{ grid-template-columns:1fr; }
  .woocommerce-Addresses{ grid-template-columns:1fr; }
  .woocommerce-orders-table{ display:block; overflow-x:auto; white-space:nowrap; }
}
