.product-page{background:#fff;color:#262320;margin:0 auto;max-width:1440px;padding-bottom:70px}
.product-breadcrumb{color:#77716a;display:flex;flex-wrap:wrap;font-size:11px;gap:9px;padding:22px 5%}
.product-breadcrumb a{color:#77716a;text-decoration:none}
.product-hero{align-items:start;display:grid;gap:5%;grid-template-columns:minmax(0,60%) minmax(330px,35%);padding:0 5%}
.product-gallery{min-width:0}
.product-main-image{background:#f3efe8;overflow:hidden;position:relative}
.product-main-image>img{aspect-ratio:4/3;display:block;height:auto;object-fit:cover;width:100%}
.product-gallery-arrow{background:#fff;border:1px solid #9b9388;border-radius:50%;font-size:30px;height:42px;line-height:1;position:absolute;top:48%;width:42px;z-index:1}
.product-gallery-arrow--prev{left:14px}.product-gallery-arrow--next{right:14px}
.product-space-button{background:#fff;border:0;bottom:14px;font-size:11px;left:14px;padding:10px 13px;position:absolute}
.product-thumbnails{display:flex;gap:8px;margin-top:10px;overflow:auto}
.product-thumbnail{background:#f3efe8;border:1px solid #ddd4c9;padding:4px}
.product-thumbnail.is-active{border:2px solid #876a4d;padding:3px}
.product-thumbnail img{display:block;height:86px;object-fit:cover;width:86px}
.product-buy{padding:3px 0 0}
.product-buy-label{align-items:start;display:flex;justify-content:space-between}
.product-buy-label p{color:#8b7865;font-size:10px;letter-spacing:.13em;margin:0 0 13px}
.product-buy-label button{background:none;border:0;color:#6f665c;font-size:30px;line-height:1;padding:0 2px}
.product-buy h1{font:400 clamp(32px,3vw,44px)/1.08 "Playfair Display",serif;margin:0 0 18px}
.product-buy-description{font-size:13px;line-height:1.55;margin:0;max-width:390px}
.product-rating{align-items:center;display:flex;gap:8px;margin:19px 0 25px}.product-rating span{color:#d79c20;font-size:18px;letter-spacing:1px}.product-rating strong{font-size:12px}.product-rating small{font-size:11px}
.product-choice-heading{font-size:11px;font-weight:600;letter-spacing:.1em;margin-top:4px}.product-choice-help{color:#706b64;font-size:11px;margin:8px 0 3px}
.product-price-box{align-items:center;background:#faf8f5;border:1px solid #dfd8cf;display:flex;justify-content:space-between;margin:14px 0 12px;padding:16px 18px}.product-price-box span{font-size:11px;text-transform:uppercase}.product-price-box strong{font-size:18px;font-weight:500}.product-price-box strong .woocommerce-Price-currencySymbol{font-size:.8em}
.product-price-box--pending strong{font-size:13px;color:#746d65}
.manual-area-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0 10px;padding:14px 0 0;border:0;border-top:1px solid #dfd8cf}.manual-area-fields legend{grid-column:1/-1;margin-bottom:4px;color:#746d65;font-size:10px;letter-spacing:.05em;text-transform:uppercase}.manual-area-fields label{font-size:10px}.manual-area-fields input{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid #bcb4aa;background:#fff;font:12px "DM Sans",sans-serif}.manual-area-fields small{grid-column:1/-1;color:#746d65;font-size:9px}
.area-priced-total{margin:12px 0;padding:14px 0;border-top:1px solid #dfd8cf;border-bottom:1px solid #dfd8cf;font-size:18px;font-weight:500;text-align:right}.area-priced-cart .single_add_to_cart_button:disabled{opacity:.45;cursor:not-allowed}
.product-purchase .variations_form{margin-top:7px}.product-purchase .variations{border-collapse:collapse;display:block;width:100%}.product-purchase .variations tbody,.product-purchase .variations tr{display:block;width:100%}.product-purchase .variations td{border:0;display:block;padding:5px 0}.product-purchase .variations td.label{padding-bottom:4px}.product-purchase .variations label{font-size:11px;letter-spacing:.05em;text-transform:uppercase}.product-purchase .variations select{background:#fff;border:1px solid #bcb4aa;color:#2d2a27;font:11px "DM Sans",sans-serif;min-height:42px;padding:0 12px;width:100%}
.variation-choice-list{display:flex;flex-wrap:wrap;gap:8px}.variation-choice{background:#fff;border:1px solid #bcb4aa;color:#2d2a27;font:11px "DM Sans",sans-serif;min-height:39px;padding:0 13px}.variation-choice:hover,.variation-choice.is-selected{background:#242320;border-color:#242320;color:#fff}
.product-purchase .single_variation_wrap{margin-top:10px}.product-purchase .single_variation .price{color:#262320;font-size:18px;margin:0 0 11px}.product-purchase .single_add_to_cart_button{background:#242320!important;border:0;color:#fff!important;font-size:11px;letter-spacing:.08em;min-height:48px;padding:0 18px;text-transform:uppercase;width:100%}.product-purchase .quantity{margin:0 0 12px!important}.product-purchase .quantity input{border:1px solid #aaa;min-height:40px;text-align:center;width:62px}
.product-delivery-note{color:#635e57;font-size:11px;margin:14px 0 11px}.product-information-button{border:1px solid #77736b;color:#242320;display:block;font-size:11px;padding:14px;text-align:center;text-decoration:none}.product-service-strip{display:block;margin-top:22px;width:100%}
.product-benefits{background:#f7f5f1;display:grid;grid-template-columns:repeat(7,1fr);margin:64px 5% 58px;padding:22px 12px}.product-benefits>div{align-items:center;border-right:1px solid #ddd6cd;display:flex;flex-direction:column;gap:5px;padding:4px 8px;text-align:center}.product-benefits>div:last-child{border-right:0}.product-benefits img{height:37px;width:37px}.product-benefits strong{font-size:10px}.product-benefits span{font-size:9px}.product-where{text-align:center}.product-where h2{font:400 22px "Playfair Display",serif}.product-where-list{display:flex;flex-wrap:wrap;gap:22px;justify-content:center;margin:28px 5% 58px}.product-where-list span{color:#45423e;font-size:27px;min-width:74px}.product-where-list b{display:block;font-size:10px;font-weight:400;margin-top:6px}
@media(max-width:900px){.product-hero{grid-template-columns:1fr}.product-buy{padding-top:28px}.product-benefits{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.product-hero{padding:0 20px}.product-breadcrumb{padding-left:20px;padding-right:20px}.product-buy h1{font-size:34px}.product-benefits{grid-template-columns:repeat(2,1fr);margin-left:0;margin-right:0}.product-thumbnail img{height:68px;width:68px}}

/* =========================================================================
   Apartado para profesionales de la decoración.

   Sustituye al antiguo aside "¿Pruébala en casa?" y mantiene los paneles de
   información como contenido textual, sin recursos visuales accesorios.
   ========================================================================= */
/* Los paneles son exclusivamente textuales y conservan una medida de lectura
   cómoda; Opiniones puede usar todo el ancho para su doble columna. */
.product-tab-content {
  grid-template-columns: 1fr;
}

.product-tab-body {
  max-width: 960px;
}

.product-pro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
  margin: 0 5% 58px;
  padding: clamp(34px, 3.6vw, 48px) clamp(28px, 3.6vw, 52px);
  background: #f7f2eb;
}

.product-pro-copy h2 {
  margin: 0 0 12px;
  font: 400 clamp(24px, 2.4vw, 31px)/1.16 "Playfair Display", serif;
}

.product-pro-copy > p:not(.product-eyebrow) {
  margin: 0;
  max-width: 420px;
  color: #5f584f;
  font-size: 13px;
  line-height: 1.62;
}

.product-pro-button {
  display: inline-block;
  margin-top: 22px;
  padding: 14px 26px;
  background: #242320;
  color: #fff;
  font-size: 11px;
  letter-spacing: .06em;
  text-decoration: none;
  transition: background .18s ease;
}

.product-pro-button:hover {
  background: #3c3833;
}

.product-pro-points {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px 26px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.product-pro-points li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.product-pro-points .anaduran-icon {
  width: 21px;
  height: 21px;
  margin-top: 2px;
  color: #91785e;
}

.product-pro-points strong {
  display: block;
  margin-bottom: 5px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .01em;
}

.product-pro-points span {
  display: block;
  color: #6b645b;
  font-size: 12px;
  line-height: 1.5;
}

@media (max-width: 900px) {
  .product-pro {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .product-pro {
    margin-left: 0;
    margin-right: 0;
    padding: 30px 22px;
  }

  .product-pro-points {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}

/* =========================================================================
   Pestañas de la ficha de producto.
   Antes eran <span> decorativos con is-active fijo; ahora son un tablist real
   con cinco paneles rellenos (ver inc/product-tabs.php).
   ========================================================================= */
.product-tab-labels {
  scrollbar-width: none;
}

.product-tab-labels::-webkit-scrollbar {
  display: none;
}

.product-tab-labels button {
  flex: 1;
  min-width: 150px;
  padding: 16px;
  border: 0;
  border-right: 1px solid #dfdad2;
  border-bottom: 2px solid transparent;
  background: #faf8f5;
  color: #6b645b;
  font: 400 10px/1.3 "DM Sans", sans-serif;
  letter-spacing: .06em;
  text-align: center;
  cursor: pointer;
  transition: background .16s ease, color .16s ease;
}

.product-tab-labels button:last-child {
  border-right: 0;
}

.product-tab-labels button:hover {
  color: #24211f;
}

.product-tab-labels button.is-active {
  background: #fff;
  border-bottom-color: #242320;
  color: #24211f;
}

.product-tab-labels button:focus-visible {
  outline: 2px solid var(--store-accent, #9a7b5a);
  outline-offset: -3px;
}

.product-tab-panel[hidden] {
  display: none;
}

.product-tab-body > *:first-child {
  margin-top: 0;
}

.product-tab-body > *:last-child {
  margin-bottom: 0;
}

.product-tab-body h3 {
  margin: 22px 0 8px;
  font: 400 15px "Playfair Display", serif;
}

.product-tab-body h3:first-child {
  margin-top: 0;
}

.product-tab-list {
  margin: 14px 0 0;
  padding-left: 18px;
  list-style: "✓  ";
}

.product-tab-list li {
  margin-bottom: 7px;
  font-size: 12px;
  line-height: 1.55;
}

.product-faq {
  margin: 0;
}

.product-faq dt {
  margin-bottom: 5px;
  font-size: 12px;
  font-weight: 500;
}

.product-faq dd {
  margin: 0 0 16px;
  color: #6b645b;
  font-size: 12px;
  line-height: 1.55;
}

.product-faq dd:last-child {
  margin-bottom: 0;
}

.product-tab-links {
  margin-top: 18px;
  font-size: 11px;
}

.product-tab-links a {
  color: #24211f;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Reseñas de WooCommerce dentro de su pestaña -----------------------------
   WooCommerce trae sus propios estilos para #respond (el botón gris #e9e6ed,
   por ejemplo). Sus selectores usan dos IDs, así que aquí se igualan; como
   product.css se carga después de woocommerce.css, el empate lo gana el tema. */
.product-tab-body #reviews {
  font-size: 12px;
}

.product-tab-body .woocommerce-Reviews-title,
.product-tab-body #reviews .comment-reply-title {
  display: block;
  margin: 0 0 10px;
  color: #24211f;
  font: 400 17px/1.25 "Playfair Display", serif;
}

.product-tab-body #review_form_wrapper {
  margin-top: 26px;
  padding-top: 22px;
  border-top: 1px solid #e6e0d8;
}

.product-tab-body .woocommerce-noreviews,
.product-tab-body #reviews .comment-notes {
  margin: 0 0 4px;
  color: #6b645b;
  font-size: 12px;
}

/* Cada campo en su línea: por defecto las etiquetas son inline y se quedaban
   pegadas al costado del textarea. */
.product-tab-body #respond .comment-form label {
  display: block;
  margin-bottom: 6px;
  color: #45423e;
  font-size: 12px;
}

.product-tab-body #respond .comment-form p {
  margin: 0 0 16px;
}

.product-tab-body #respond input[type=text],
.product-tab-body #respond input[type=email],
.product-tab-body #respond textarea {
  width: 100%;
  max-width: 460px;
  padding: 11px 13px;
  border: 1px solid #cec6bb;
  border-radius: 0;
  background: #fff;
  color: #24211f;
  font: 12px/1.5 "DM Sans", sans-serif;
}

.product-tab-body #respond textarea {
  min-height: 120px;
  resize: vertical;
}

.product-tab-body #respond input:focus,
.product-tab-body #respond textarea:focus {
  outline: 0;
  border-color: #8b7c68;
}

/* Estrellas de puntuación. */
.product-tab-body #respond .comment-form-rating {
  margin-bottom: 18px;
}

.product-tab-body #respond p.stars a {
  color: var(--store-accent, #9a7b5a);
}

.product-tab-body #respond p.stars a:hover,
.product-tab-body #respond p.stars.selected a {
  color: #8a6a45;
}

/* Casilla de recordar datos: en línea con su texto. */
.product-tab-body #respond .comment-form-cookies-consent {
  display: flex;
  align-items: flex-start;
  gap: 9px;
}

.product-tab-body #respond .comment-form-cookies-consent label {
  margin-bottom: 0;
  color: #6b645b;
}

.product-tab-body #respond .comment-form-cookies-consent input {
  margin-top: 2px;
}

.product-tab-body #respond input#submit {
  width: auto;
  padding: 14px 30px;
  border: 0;
  border-radius: 0;
  background: #242320;
  color: #fff;
  font: 400 11px "DM Sans", sans-serif;
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .18s ease;
}

.product-tab-body #respond input#submit:hover {
  background: #3c3833;
}

/* Listado de reseñas publicadas. */
.product-tab-body #reviews .commentlist {
  margin: 0;
  padding: 0;
  list-style: none;
}

.product-tab-body #reviews .commentlist li {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #e6e0d8;
}

.product-tab-body #reviews .comment_container {
  display: flex;
  gap: 14px;
}

.product-tab-body #reviews .avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
}

.product-tab-body #reviews .woocommerce-review__author {
  font-size: 12px;
  font-weight: 500;
  font-style: normal;
}

.product-tab-body #reviews .woocommerce-review__published-date {
  color: #8b847b;
  font-size: 11px;
}

.product-tab-body #reviews .description p {
  margin: 8px 0 0;
  font-size: 12px;
  line-height: 1.6;
}

@media (max-width: 700px) {
  .product-tab-labels button {
    min-width: 132px;
    font-size: 9px;
  }
}

/* Panel de opiniones a doble columna: reseñas publicadas a la izquierda y
   formulario a la derecha, en lugar de una sola tira vertical muy larga. */
.product-tab-content--wide .product-tab-body {
  max-width: none;
}

.product-tab-body #reviews .clear {
  display: none;
}

@media (min-width: 900px) {
  .product-tab-body #reviews {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 20px 56px;
    align-items: start;
  }

  .product-tab-body #review_form_wrapper {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
  }

  /* Nombre y correo comparten fila: son campos cortos. */
  .product-tab-body #respond .comment-form-author,
  .product-tab-body #respond .comment-form-email {
    display: inline-block;
    width: calc(50% - 7px);
    vertical-align: top;
  }

  .product-tab-body #respond .comment-form-author {
    margin-right: 10px;
  }

  .product-tab-body #respond .comment-form-author input,
  .product-tab-body #respond .comment-form-email input {
    max-width: none;
  }
}

/* Estado vacío: hoy no hay ninguna reseña en el catálogo, así que esta es la
   vista que se ve siempre. Se le da forma de bloque para que la columna no
   parezca un hueco sin terminar. */
.product-tab-body .woocommerce-noreviews {
  margin: 0;
  padding: 26px 24px;
  border: 1px dashed #ded8d0;
  background: #faf8f5;
  color: #6b645b;
  text-align: center;
}

.product-tab-body .woocommerce-noreviews::after {
  content: "Tu opinión ayuda a otras personas a elegir.";
  display: block;
  margin-top: 6px;
  color: #8b847b;
  font-size: 11px;
}

/* Ficha de producto móvil -------------------------------------------------
   Flujo: galería compacta -> nombre y precio -> opciones -> cantidad/compra.
   Todos los controles principales mantienen una zona táctil de al menos 44px. */
@media (max-width: 820px) {
  .single-product .product-page {
    max-width: 100%;
    overflow: hidden;
    padding-bottom: 48px;
  }

  .single-product .product-breadcrumb {
    flex-wrap: nowrap;
    gap: 6px;
    overflow: hidden;
    padding: 12px 16px;
    font-size: 9px;
    white-space: nowrap;
  }

  .single-product .product-breadcrumb span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .single-product .product-hero {
    display: block;
    padding: 0;
  }

  .single-product .product-gallery {
    width: 100%;
  }

  .single-product .product-main-image {
    width: 100%;
    height: min(75vw, 360px);
    min-height: 240px;
    aspect-ratio: auto;
  }

  .single-product .product-main-image > img {
    width: 100%;
    height: 100% !important;
    aspect-ratio: auto;
    object-fit: cover;
    object-position: center;
  }

  .single-product .product-gallery-arrow {
    width: 40px;
    height: 40px;
    top: 50%;
    font-size: 26px;
    transform: translateY(-50%);
  }

  .single-product .product-gallery-arrow--prev {
    left: 10px;
  }

  .single-product .product-gallery-arrow--next {
    right: 10px;
  }

  .single-product .product-space-button {
    bottom: 10px;
    left: 10px;
    min-height: 40px;
    padding: 0 12px;
    font-size: 10px;
  }

  .single-product .product-thumbnails {
    gap: 7px;
    margin: 8px 0 0;
    padding: 0 16px 4px;
    scroll-padding-inline: 16px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .single-product .product-thumbnails::-webkit-scrollbar {
    display: none;
  }

  .single-product .product-thumbnail {
    flex: 0 0 auto;
    padding: 3px;
  }

  .single-product .product-thumbnail.is-active {
    padding: 2px;
  }

  .single-product .product-thumbnail img {
    width: 60px;
    height: 60px;
  }

  .single-product .product-buy {
    padding: 25px 18px 0;
  }

  .single-product .product-buy-label {
    align-items: center;
  }

  .single-product .product-buy-label p {
    margin-bottom: 9px;
    font-size: 9px;
  }

  .single-product .product-buy-label button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: -12px -8px 0 0;
  }

  .single-product .product-buy h1 {
    margin-bottom: 12px;
    font-size: clamp(30px, 9vw, 38px);
  }

  .single-product .product-buy-description {
    font-size: 12px;
    line-height: 1.55;
  }

  .single-product .product-rating {
    margin: 14px 0 20px;
  }

  .single-product .product-choice-heading {
    margin-top: 24px;
  }

  .single-product .product-price-box {
    margin: 12px 0 16px;
    padding: 14px 15px;
  }

  .single-product .product-price-box strong,
  .single-product .product-price-box strong .amount {
    display: inline-block !important;
    flex: 0 0 auto;
    color: #24211f !important;
    white-space: nowrap;
  }

  .single-product .product-purchase,
  .single-product .product-purchase form.cart,
  .single-product .product-purchase .variation-chips,
  .single-product .product-purchase .variation-chip-group {
    min-width: 0;
    max-width: 100%;
  }

  .single-product .product-purchase .variations select {
    min-height: 48px;
    font-size: 16px;
  }

  .single-product .product-purchase .woocommerce-variation-add-to-cart {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 10px;
    align-items: stretch;
  }

  .single-product .product-purchase .quantity {
    float: none;
    width: 72px;
    margin: 0 !important;
  }

  .single-product .product-purchase .quantity input {
    width: 100%;
    height: 52px;
    min-height: 52px;
    padding: 0 6px;
    font-size: 16px;
  }

  .single-product .product-purchase .single_add_to_cart_button {
    float: none;
    min-width: 0;
    min-height: 52px;
    margin: 0;
    padding: 0 12px;
    font-size: 10px;
  }

  .single-product .product-purchase .woocommerce-variation-add-to-cart > input[type="hidden"] {
    display: none;
  }

  .single-product .product-delivery-note {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    margin-top: 14px;
    line-height: 1.45;
  }

  .single-product .product-information-button {
    min-height: 48px;
    padding: 15px 12px;
  }

  .single-product .product-service-strip {
    margin-top: 16px;
  }

  .single-product .product-benefits {
    display: flex;
    gap: 0;
    overflow-x: auto;
    margin: 38px 0 44px;
    padding: 18px 10px;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .single-product .product-benefits::-webkit-scrollbar {
    display: none;
  }

  .single-product .product-benefits > div {
    flex: 0 0 124px;
    min-height: 92px;
    justify-content: center;
    scroll-snap-align: start;
  }

  .single-product .product-benefits img {
    width: 34px;
    height: 34px;
  }

  .single-product .product-where h2 {
    margin-bottom: 22px;
    font-size: 20px;
  }

  .single-product .product-where-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px 8px;
    margin: 0 18px 46px;
  }

  .single-product .product-where-list span {
    min-width: 0;
  }

  .single-product .product-environments {
    padding: 0 18px 46px;
  }

  .single-product .product-environments .catalog-section-heading {
    gap: 12px;
  }

  .single-product .product-environments .catalog-section-heading h2 {
    font-size: 20px;
  }

  .single-product .product-environments .catalog-room-grid {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .single-product .product-environments .catalog-room-grid::-webkit-scrollbar {
    display: none;
  }

  .single-product .product-environments .catalog-room {
    display: flex;
    flex: 0 0 min(78vw, 300px);
    min-height: 190px;
    scroll-snap-align: start;
  }

  .single-product .product-story {
    margin-bottom: 42px;
  }

  .single-product .product-story-image {
    min-height: 210px;
  }

  .single-product .product-story > div:last-child {
    padding: 30px 20px;
  }

  .single-product .product-pro {
    margin-bottom: 42px;
  }

  .single-product .product-tabs {
    margin: 0 16px 46px;
  }

  .single-product .product-tab-content {
    padding: 18px;
  }

  .single-product .related-grid {
    gap: 24px 10px;
    padding: 0 16px;
  }

}
