/* ============================================================
   Diva Elegante — PÁGINAS INTERNAS Y CONVERSIÓN
   La portada no es el producto: la ruta que cobra es
   tienda -> ficha -> carrito -> pago. Aquí manda la claridad.
   ============================================================ */

.de-tienda,.de-pagina{padding:clamp(24px,4vw,44px) 0 clamp(56px,8vw,104px);min-height:52vh}

/* ---------------- migas ---------------- */
.de-migas{font-size:12px;color:var(--tinta-media);margin-bottom:22px;
  display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.de-migas a{color:var(--tinta-media)}
.de-migas a:hover{color:var(--acento-texto)}
.de-miga-sep{opacity:.45}

.de-tienda__cabeza{max-width:720px;margin-bottom:clamp(22px,3vw,34px)}
.de-tienda__cabeza h1{font-size:clamp(34px,5.4vw,62px);margin:0 0 8px}
.de-404__acciones{display:flex;flex-wrap:wrap;gap:11px;margin-top:26px}

/* ---------------- barra de filtros y buscador del catálogo ---------------- */
.de-filtros-catalogo{background:var(--superficie-alta);border:1px solid var(--linea);
  border-radius:var(--radio);padding:clamp(16px,2.4vw,24px);margin-bottom:28px;
  display:flex;flex-direction:column;gap:16px}
.de-filtros-catalogo__top{display:flex;flex-wrap:wrap;align-items:center;
  justify-content:space-between;gap:14px}
.de-filtros-grupo{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
.de-filtros-grupo__rotulo{font-size:11.5px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--tinta-media);margin-right:2px}
.de-filtros-pills{display:flex;flex-wrap:wrap;gap:7px}
.de-filtro-pill--talla{min-width:48px;font-size:13px}
.de-filtro-pill--suave{background:var(--superficie);font-size:12.5px;padding:7px 13px}

.de-buscador-catalogo{display:flex;gap:6px;flex:1 1 260px;max-width:420px}
.de-buscador-catalogo__input{flex:1;min-width:0;min-height:44px;padding:9px 13px;
  border:1px solid var(--linea);border-radius:var(--radio);background:var(--superficie);
  color:var(--tinta);font-family:var(--body);font-size:14.5px}
.de-buscador-catalogo__btn{min-height:44px;padding:0 16px;border:1px solid var(--tinta);
  border-radius:var(--radio);background:var(--tinta);color:var(--inverso);
  font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;
  transition:background .25s var(--paso)}
.de-buscador-catalogo__btn:hover{background:var(--acento);border-color:var(--acento)}

.de-filtros-secundarios{display:flex;flex-wrap:wrap;align-items:center;
  justify-content:space-between;gap:12px 20px;padding-top:12px;border-top:1px solid var(--linea)}
.de-filtro-color-wrap{display:flex;align-items:center;gap:8px}
.de-select-color{min-height:44px;padding:8px 12px;border:1px solid var(--linea);
  border-radius:var(--radio);background:var(--superficie);color:var(--tinta);
  font-family:var(--body);font-size:13.5px}

.de-filtros-activos{display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  padding-top:12px;border-top:1px dashed var(--linea);font-size:13px}
.de-filtros-activos__texto{color:var(--tinta-media);font-weight:500}
.de-chip-activo{display:inline-flex;align-items:center;gap:6px;min-height:38px;
  padding:5px 12px;border-radius:99px;background:var(--superficie-suave);
  border:1px solid var(--acento);color:var(--tinta);font-size:12.5px;font-weight:600}
.de-chip-activo:hover{background:var(--acento);color:var(--inverso)}
.de-limpiar-todo{margin-left:auto;font-size:12.5px;font-weight:600;color:var(--acento-texto);
  text-decoration:underline;min-height:38px;display:inline-flex;align-items:center}

.de-vacio-filtro{padding:clamp(32px,5vw,56px);background:var(--superficie-alta);
  border:1px solid var(--linea);border-radius:var(--radio);text-align:center;margin:20px 0}
.de-vacio-filtro .de-bajada{margin-inline:auto}
.de-vacio-filtro__acciones{margin-top:24px;display:flex;justify-content:center;gap:12px;flex-wrap:wrap}

/* ---------------- catálogo ---------------- */
.woocommerce .woocommerce-result-count{font-size:13.5px;color:var(--tinta-media);margin:0 0 8px;float:none!important}
.woocommerce .woocommerce-ordering{margin:0 0 22px;float:none!important}
.woocommerce .woocommerce-ordering select{font-family:var(--body);font-size:13.5px;
  padding:10px 14px;min-height:44px;border:1px solid var(--linea);border-radius:var(--radio);
  background:var(--superficie-alta);color:var(--tinta);max-width:100%}
.woocommerce nav.woocommerce-pagination{margin-top:38px}
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;gap:7px;justify-content:center;
  flex-wrap:wrap;padding:0;margin:0}
.woocommerce nav.woocommerce-pagination ul li{border:0;margin:0;overflow:visible}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--linea);border-radius:var(--radio);background:var(--superficie-alta);
  color:var(--tinta);font-size:14px;padding:0 12px}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover{
  background:var(--acento);color:var(--inverso);border-color:var(--acento)}

/* ---------------- ficha de producto ---------------- */
.de-tienda--ficha div.product{display:grid;gap:clamp(24px,3.4vw,48px)}
.de-tienda--ficha .woocommerce-product-gallery{margin:0;width:auto!important;float:none!important;position:relative}
.de-tienda--ficha .woocommerce-product-gallery__wrapper{margin:0;display:grid;gap:12px}
.de-tienda--ficha .woocommerce-product-gallery__image{position:relative;overflow:hidden;
  border-radius:var(--radio);background:var(--superficie-suave)}
.de-tienda--ficha .woocommerce-product-gallery__image img{width:100%;aspect-ratio:3/4;
  object-fit:cover;border-radius:var(--radio);background:var(--superficie-suave)}

/* Conmutador Frente / Espalda en móvil y vista par en escritorio */
.de-galeria-vistas{display:flex;gap:8px;margin-bottom:10px;grid-column:1}
.de-galeria-vista{flex:1;min-height:44px;padding:8px 12px;border:1px solid var(--linea);
  border-radius:var(--radio);background:var(--superficie-alta);color:var(--tinta);
  font-size:12.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;
  transition:background .25s var(--paso),color .25s var(--paso),border-color .25s var(--paso)}
.de-galeria-vista.is-active,.de-galeria-vista[aria-pressed="true"]{
  background:var(--tinta);color:var(--inverso);border-color:var(--tinta)}

@media (max-width:899px){
  .de-tienda--ficha .woocommerce-product-gallery__wrapper.de-tiene-2-fotos .woocommerce-product-gallery__image.is-hidden-mobile{
    display:none}
}
@media (min-width:900px){
  .de-galeria-vistas{display:none}
  .de-tienda--ficha .woocommerce-product-gallery__wrapper:has(.woocommerce-product-gallery__image:nth-child(2)){
    grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .de-tienda--ficha .woocommerce-product-gallery__wrapper:has(.woocommerce-product-gallery__image:nth-child(2)) .woocommerce-product-gallery__image::after{
    content:"Vista frontal";position:absolute;left:10px;bottom:10px;
    background:rgba(255,249,244,.9);color:var(--tinta);font-size:10.5px;font-weight:600;
    letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:99px}
  .de-tienda--ficha .woocommerce-product-gallery__wrapper:has(.woocommerce-product-gallery__image:nth-child(2)) .woocommerce-product-gallery__image:nth-child(2)::after{
    content:"Vista de espalda"}
}

.de-tienda--ficha .summary{margin:0!important;width:auto!important;float:none!important}
.de-tienda--ficha .product_title{font-family:var(--display);font-weight:400;line-height:1.02;
  letter-spacing:-.015em;font-size:clamp(30px,4vw,46px);margin:0 0 14px;color:var(--tinta)}

/* el TIPO DE PRENDA arriba y sin ambigüedad */
.de-ficha-meta{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.de-ficha-meta__tipo,.de-ficha-meta__talla,.de-ficha-meta__unica{
  font-size:11.5px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;padding:7px 13px;border-radius:99px;line-height:1.35}
.de-ficha-meta__tipo{background:var(--tinta);color:var(--inverso)}
.de-ficha-meta__talla{background:var(--acento);color:var(--inverso)}
.de-ficha-meta__unica{background:var(--superficie-suave);color:var(--tinta);border:1px solid var(--linea)}

.de-tienda--ficha .summary .price{font-size:30px!important;font-weight:600;
  color:var(--acento-texto)!important;margin:0 0 8px!important;font-family:var(--body)}
.de-tienda--ficha .woocommerce-product-details__short-description{color:var(--tinta-media);
  font-size:15.5px;margin:0 0 16px}

/* Cuadro de claves de decisión sobre el doblez */
.de-ficha-claves{background:var(--superficie-alta);border:1px solid var(--linea);
  border-radius:var(--radio);padding:14px 16px;margin:0 0 18px;display:grid;gap:8px;font-size:14px}
.de-ficha-claves__fila{display:flex;flex-wrap:wrap;gap:4px 8px;line-height:1.45}
.de-ficha-claves__fila strong{color:var(--tinta);font-weight:600}
.de-ficha-claves__fila span{color:var(--tinta-media)}
.de-ficha-claves__link{color:var(--acento-texto);font-weight:600;text-decoration:underline}

.de-ficha-aviso-espalda{background:var(--superficie-suave);border-left:3px solid var(--acento);
  padding:11px 14px;font-size:13.5px;color:var(--tinta);margin:0 0 18px;line-height:1.45}

.de-tienda--ficha .stock{font-size:13px;font-weight:600;letter-spacing:.05em;margin:0 0 14px;
  display:inline-flex;align-items:center;gap:7px}
.de-tienda--ficha .stock.in-stock{color:#3F6B4A!important}
.de-tienda--ficha .stock.in-stock::before{content:"";width:7px;height:7px;border-radius:50%;
  background:#4F8760}
.de-tienda--ficha .stock.out-of-stock{color:#8B3A3A!important}

/* Acciones de compra en la ficha */
.de-tienda--ficha form.cart{margin:0 0 14px!important;display:flex;flex-wrap:wrap;gap:10px;
  align-items:stretch}
.de-tienda--ficha form.cart .quantity input{min-height:50px;width:74px;text-align:center;
  border:1px solid var(--linea);border-radius:var(--radio);font-family:var(--body);font-size:15px}
.de-tienda--ficha form.cart .button{background:var(--superficie-alta)!important;color:var(--tinta)!important;
  border:1px solid var(--tinta)!important;border-radius:var(--radio);min-height:50px;padding:12px 22px;
  font-size:12.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;
  flex:1 1 200px;transition:background .28s var(--paso),color .28s var(--paso)}
.de-tienda--ficha form.cart .button:hover{background:var(--tinta)!important;color:var(--inverso)!important}

.de-btn--comprar-ahora{background:var(--acento)!important;color:var(--inverso)!important;
  border:1px solid var(--acento)!important;min-height:52px;padding:14px 24px;
  font-size:13px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
  flex:1 1 100%;order:-1;text-align:center}
.de-btn--comprar-ahora:hover{background:var(--acento-hover)!important;border-color:var(--acento-hover)!important}

/* Cuando la prenda única ya está en la bolsa */
.de-ya-en-bolsa{background:var(--superficie-alta);border:1.5px solid var(--acento);
  border-radius:var(--radio);padding:18px;margin:0 0 18px}
.de-ya-en-bolsa__titulo{font-weight:600;color:var(--tinta);margin:0 0 6px;font-size:15.5px}
.de-ya-en-bolsa__sub{color:var(--tinta-media);font-size:13.5px;margin:0 0 14px;line-height:1.45}
.de-ya-en-bolsa__acciones{display:flex;flex-wrap:wrap;gap:10px}
.de-ya-en-bolsa + form.cart .single_add_to_cart_button{display:none!important}

.de-ficha-envio{font-size:13px;color:var(--tinta-media);margin:6px 0 16px;line-height:1.55;
  border-left:2px solid var(--ornamento);padding-left:12px;max-width:52ch;flex-basis:100%}
.de-ficha-envio strong{color:var(--tinta)}
.de-tienda--ficha .product_meta{font-size:12.5px;color:var(--tinta-media);
  border-top:1px solid var(--linea);padding-top:16px;margin-top:4px}
.de-tienda--ficha .product_meta a{color:var(--acento-texto)}

.de-tienda--ficha .woocommerce-tabs{margin-top:clamp(34px,4vw,58px);grid-column:1/-1}
.de-tienda--ficha .woocommerce-tabs ul.tabs{padding:0;margin:0 0 20px;display:flex;gap:0;
  overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch;
  border-bottom:1px solid var(--linea)}
.de-tienda--ficha .woocommerce-tabs ul.tabs::-webkit-scrollbar{display:none}
.de-tienda--ficha .woocommerce-tabs ul.tabs::before{display:none}
.de-tienda--ficha .woocommerce-tabs ul.tabs li,
.de-tienda--ficha .woocommerce-tabs ul.tabs li.active{
  background:transparent!important;border:0!important;box-shadow:none!important;
  border-radius:0!important;margin:0;padding:0;flex:none}
.de-tienda--ficha .woocommerce-tabs ul.tabs li::before,
.de-tienda--ficha .woocommerce-tabs ul.tabs li::after{display:none}
.de-tienda--ficha .woocommerce-tabs ul.tabs li a{padding:12px 0!important;font-weight:600;
  font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-media);
  border-bottom:2px solid transparent;margin-right:24px;display:inline-block;white-space:nowrap}
.de-tienda--ficha .woocommerce-tabs ul.tabs li.active a{color:var(--tinta);
  border-bottom-color:var(--acento)}
.de-tienda--ficha .woocommerce-Tabs-panel{color:var(--tinta-media);max-width:70ch}
.de-tienda--ficha .woocommerce-Tabs-panel h2{display:none}
.de-tienda--ficha .shop_attributes th{color:var(--tinta);font-weight:600}

.de-tienda--ficha .related{grid-column:1/-1;margin-top:clamp(38px,5vw,72px)}
.de-tienda--ficha .related > h2{font-family:var(--display);font-weight:400;
  font-size:clamp(26px,3vw,38px);color:var(--tinta);margin:0 0 20px}

@media (min-width:900px){
  .de-tienda--ficha div.product{grid-template-columns:1.12fr .88fr;align-items:start}
}

/* ---------------- barra de pasos y avisos en Carrito y Pago ---------------- */
.de-pasos-checkout{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;
  margin-bottom:18px;padding:12px 16px;background:var(--superficie-alta);
  border:1px solid var(--linea);border-radius:var(--radio);font-size:13px}
.de-pasos-checkout__item{display:inline-flex;align-items:center;gap:8px;color:var(--tinta-media);
  font-weight:500;min-height:36px}
.de-pasos-checkout__num{width:24px;height:24px;border-radius:50%;border:1px solid var(--linea);
  display:inline-flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:600}
.de-pasos-checkout__item.is-active{color:var(--tinta);font-weight:600}
.de-pasos-checkout__item.is-active .de-pasos-checkout__num{background:var(--acento);
  color:var(--inverso);border-color:var(--acento)}
.de-pasos-checkout__item.is-done{color:var(--acento-texto)}
.de-pasos-checkout__item.is-done .de-pasos-checkout__num{background:var(--superficie-suave);
  border-color:var(--acento);color:var(--tinta)}
.de-pasos-checkout__sep{color:var(--tinta-media);opacity:.5}

.de-aviso-contraentrega{background:var(--superficie-suave);border-left:3px solid var(--acento);
  padding:13px 16px;margin-bottom:24px;font-size:14px;color:var(--tinta-media);line-height:1.5}
.de-aviso-contraentrega strong{color:var(--tinta)}

.de-cart-item-meta{display:block;font-size:12px;font-weight:500;color:var(--tinta-media);margin-top:3px}

/* ---------------- carrito y pago clásico + bloques ---------------- */
.woocommerce table.shop_table{border:1px solid var(--linea);border-radius:var(--radio);
  border-collapse:separate;border-spacing:0;width:100%;background:var(--superficie-alta)}
.woocommerce table.shop_table th{background:var(--superficie);font-size:12px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-media);padding:14px;
  text-align:left}
.woocommerce table.shop_table td{padding:14px;border-top:1px solid var(--linea);vertical-align:middle}
.woocommerce table.shop_table img{width:64px!important;height:auto;border-radius:var(--radio)}
.de-tienda .cart_totals h2,
.de-tienda .woocommerce-billing-fields h3,
.de-tienda .woocommerce-shipping-fields h3,
.de-tienda .woocommerce-order-details h2,
.de-tienda .woocommerce-additional-fields h3,
#order_review_heading{
  font-family:var(--display);font-weight:400;font-size:28px;color:var(--tinta);margin:0 0 16px}
.de-tienda .button,.de-tienda button.button,.de-tienda input.button,
.de-tienda a.button,.de-tienda a.button.alt,.de-tienda button.button.alt{
  background:var(--acento)!important;color:var(--inverso)!important;border:0;border-radius:var(--radio);
  min-height:50px;padding:14px 26px;font-size:13px;font-weight:600;letter-spacing:.09em;
  text-transform:uppercase;cursor:pointer;line-height:1.2;display:inline-flex;
  align-items:center;justify-content:center;text-align:center}
.de-tienda .button:hover,.de-tienda button.button:hover,.de-tienda a.button:hover,
.de-tienda a.button.alt:hover,.de-tienda button.button.alt:hover{
  background:var(--acento-hover)!important;color:var(--inverso)!important}

.woocommerce form .form-row{margin:0 0 16px!important;padding:0!important}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select{
  min-height:50px;border:1px solid var(--linea);border-radius:var(--radio);
  padding:12px 14px;font-family:var(--body);font-size:15.5px;background:var(--superficie-alta);
  color:var(--tinta);width:100%}
.woocommerce form .form-row label{font-size:13px;font-weight:600;letter-spacing:.03em;
  color:var(--tinta);margin-bottom:6px;display:block}
.woocommerce form .form-row .required{color:var(--acento-texto);text-decoration:none}

/* Layout de checkout en escritorio: formulario a la izquierda, resumen a la derecha */
@media (min-width:900px){
  .woocommerce-checkout form.checkout{display:grid;grid-template-columns:1.15fr .85fr;
    gap:clamp(28px,4vw,48px);align-items:start}
  .woocommerce-checkout form.checkout .col2-set{width:100%!important;float:none!important;grid-column:1}
  .woocommerce-checkout form.checkout .col2-set .col-1,
  .woocommerce-checkout form.checkout .col2-set .col-2{width:100%!important;float:none!important}
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review{width:100%!important;float:none!important;grid-column:2}
  .woocommerce-checkout #order_review_heading{margin-top:0}
}

.woocommerce-info,.woocommerce-message,.woocommerce-error{
  border-top-color:var(--acento);background:var(--superficie-alta);border-radius:var(--radio)}
.woocommerce-info::before,.woocommerce-message::before{color:var(--acento)}
#payment{background:var(--superficie-alta)!important;border:1px solid var(--linea);
  border-radius:var(--radio);margin-top:18px}
#payment ul.payment_methods{background:transparent!important;border-bottom:1px solid var(--linea)!important;
  padding:16px!important}
#payment div.payment_box{background:var(--superficie-suave)!important;color:var(--tinta)!important;
  font-size:14px;border-radius:var(--radio)}
#payment div.payment_box::before{border-bottom-color:var(--superficie-suave)!important}
#payment div.form-row{padding:16px!important}
#place_order{width:100%!important;min-height:54px!important;font-size:13.5px!important}

/* Ojo mostrar/ocultar contraseña en login (/mi-cuenta/) — norma obligatoria */
.woocommerce-form-login .password-input{position:relative;display:flex;align-items:center}
.woocommerce-form-login .password-input input{padding-right:52px!important}
.woocommerce-form-login .show-password-input,
.de-ojo-clave{
  position:absolute!important;right:4px!important;top:50%!important;transform:translateY(-50%)!important;
  width:44px!important;height:44px!important;display:inline-flex!important;align-items:center;
  justify-content:center;background:transparent!important;border:0!important;cursor:pointer;
  color:var(--tinta-media)!important;padding:0!important}
.woocommerce-form-login .show-password-input:hover,
.de-ojo-clave:hover{color:var(--tinta)!important}
.woocommerce-form-login .show-password-input::after{top:auto!important;right:auto!important;position:static!important}

/* ---------------- búsqueda, 404 y páginas ---------------- */
.de-resultados{list-style:none;padding:0;margin:0;display:grid;gap:0}
.de-resultados a{border-bottom:1px solid var(--linea);display:block;padding:15px 0;font-size:17px}
.de-resultados a:hover{color:var(--acento-texto)}
.de-prosa--pagina{max-width:68ch}
.de-prosa--pagina h2,.de-prosa--pagina h3{font-family:var(--display);font-weight:400;
  color:var(--tinta)}

/* Compatibilidad con bloques si existen en alguna página */
.de-tienda .alignwide,
.de-tienda .alignfull,
.de-pagina .alignwide,
.de-pagina .alignfull{
  margin-inline-start:0!important;margin-inline-end:0!important;
  margin-left:0!important;margin-right:0!important;
  inline-size:auto!important;max-inline-size:100%!important;
  width:auto!important;max-width:100%!important}
