/* Porttaita – ficha de producto (solo se carga en productos). */

/* Precio y badge */
.pt-tema div.product .summary .price{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}
.pt-badge-descuento{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;background:var(--pt-acento);color:var(--pt-acento-txt);font-size:14px;font-weight:800;line-height:1.35;vertical-align:middle}

/* Tabla de variantes apilada */
.pt-tema div.product form.cart .variations{width:100%;margin-bottom:4px;border:0}
.pt-tema div.product form.cart .variations tr,.pt-tema div.product form.cart .variations th,.pt-tema div.product form.cart .variations td{display:block;padding:0;border:0;background:none;text-align:left}
.pt-tema div.product form.cart .variations th{padding-top:10px}
.pt-tema div.product form.cart .variations td{padding-bottom:6px}
.pt-tema div.product form.cart .variations label{font-weight:700}
.pt-tema div.product form.cart .reset_variations{display:inline-block;margin-top:6px;font-size:14px}

/* Swatches */
.pt-variante select{display:none!important}
.pt-swatches{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.pt-swatch{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:48px;min-height:48px;padding:6px 14px;border:2px solid var(--pt-borde);border-radius:12px;background:#fff;color:var(--pt-texto);font-size:15px;font-weight:600;line-height:1.2;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.pt-swatch:hover{border-color:color-mix(in srgb,var(--pt-texto) 45%,#fff);background:#fff;color:var(--pt-texto)}
.pt-swatch.is-activo{border-color:var(--pt-texto);box-shadow:0 0 0 1px var(--pt-texto)}
.pt-swatch.is-no-disponible{opacity:.45}
.pt-swatch.is-no-disponible .pt-swatch__txt{text-decoration:line-through}
.pt-swatches--color .pt-swatch:not(.pt-swatch--texto){width:48px;padding:0;border-radius:50%}
.pt-swatch__color{display:block;width:34px;height:34px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.18)}
.pt-swatches--estilo .pt-swatch{flex-direction:column;width:88px;padding:6px}
.pt-swatches--estilo img{display:block;width:68px;height:68px;object-fit:cover;border-radius:8px}
.pt-swatches--estilo .pt-swatch__txt{font-size:13px;text-align:center;overflow-wrap:anywhere}
.pt-swatches.is-falta .pt-swatch{border-color:#b42318}
.pt-swatches__elegido{min-height:1em;margin:6px 0 0;font-size:14px}
.pt-swatches__elegido:empty{display:none}
.pt-aviso-variante{margin:8px 0}

/* Guía de tallas */
.pt-link-tallas{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin:2px 0 6px;padding:0;border:0;background:none;color:var(--pt-texto);font-size:16px;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.pt-link-tallas:hover{background:none;color:var(--pt-acento)}
.pt-tabla-tallas__wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.pt-tabla-tallas{width:100%;min-width:320px;margin:0;border-collapse:collapse;font-size:15px}
.pt-tabla-tallas th,.pt-tabla-tallas td{padding:10px 8px;border-bottom:1px solid var(--pt-borde);text-align:center}
.pt-tabla-tallas thead th{background:var(--pt-suave);font-size:13px;line-height:1.3}
.pt-tabla-tallas tbody th{font-weight:800}
.pt-tabla-tallas__nota{margin:8px 0 0;font-size:14px}

/* Entrega, stock y botones */
.pt-entrega{margin:12px 0;padding:12px 14px;border-radius:12px;background:var(--pt-suave);font-size:15px;font-weight:600;line-height:1.4}
.pt-stock-bajo{margin:0 0 12px;color:#9a3412;font-weight:700}
.pt-stock-bajo[hidden]{display:none}
.pt-botones-compra{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;width:100%;margin-top:4px}
.pt-botones-compra .quantity{float:none!important;margin:0!important}
.pt-botones-compra .quantity input.qty{width:68px;height:52px;min-height:52px;text-align:center}
.pt-tema div.product form.cart .pt-botones-compra .single_add_to_cart_button{float:none;width:100%;min-height:52px;margin:0!important;border-radius:999px;background:#fff;color:var(--pt-texto);box-shadow:inset 0 0 0 2px var(--pt-acento);font-size:17px;font-weight:700}
.pt-tema div.product form.cart .pt-botones-compra .single_add_to_cart_button:hover{background:var(--pt-suave);color:var(--pt-texto)}
.pt-comprar-ahora{grid-column:1/-1;min-height:56px;font-size:18px}
.pt-tema div.product form.cart .woocommerce-variation-add-to-cart{display:block}
.pt-producto-confianza{display:grid;gap:10px;margin-top:16px}
.pt-producto-ayuda{margin:0;font-size:15px}
.pt-producto-ayuda a{font-weight:700}

/* Barra fija móvil */
.pt-barra-fija{position:fixed;left:0;right:0;bottom:0;z-index:9980;display:flex;align-items:center;gap:12px;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));background:#fff;box-shadow:0 -4px 16px rgba(0,0,0,.12)}
.pt-barra-fija[hidden]{display:none}
.pt-barra-fija__info{display:grid;flex:1;min-width:0}
.pt-barra-fija__nombre{overflow:hidden;font-size:14px;white-space:nowrap;text-overflow:ellipsis}
.pt-barra-fija__precio{font-size:17px;font-weight:800}
.pt-barra-fija__precio del{font-size:14px;font-weight:400;opacity:.7}
.pt-barra-fija__precio .pt-badge-descuento{display:none}
.pt-barra-fija__btn{flex:none;padding-inline:22px}
@media (min-width:768px){.pt-barra-fija{display:none!important}}
body.pt-barra-fija-visible{padding-bottom:76px}

/* Acordeones */
.pt-acordeones{clear:both;max-width:820px;margin:32px 0 0;border-top:1px solid var(--pt-borde)}
.pt-acordeones .pt-acordeon__titulo{font-size:17px}
.pt-acordeones .pt-acordeon__cuerpo img{height:auto;border-radius:10px}

/* Modal */
.pt-modal{width:100%;max-width:100%;max-height:92vh;margin:auto 0 0;padding:0;border:0;border-radius:18px 18px 0 0;background:#fff;color:var(--pt-texto)}
.pt-modal::backdrop{background:rgba(20,18,15,.55)}
@media (min-width:768px){.pt-modal{width:min(600px,92vw);margin:auto;border-radius:18px}}
.pt-modal__cabecera{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--pt-borde);background:#fff}
.pt-modal__titulo{margin:0;font-size:20px;line-height:1.25}
.pt-modal__cerrar{flex:none;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:var(--pt-suave);color:var(--pt-texto);font-size:26px;line-height:1;cursor:pointer}
.pt-modal__cuerpo{display:grid;gap:18px;padding:18px}
.pt-como-medir__img{margin:0}
.pt-como-medir__img img{display:block;width:100%;height:auto;border-radius:12px}
.pt-como-medir__titulo{margin:0 0 8px;font-size:17px}
.pt-como-medir__pasos{margin:0;padding-left:20px;display:grid;gap:6px}

/* Reseñas */
.pt-resenas{clear:both;max-width:820px}
.pt-tema #reviews #comments ol.commentlist{display:grid;gap:12px;margin:0;padding:0}
.pt-tema #reviews #comments ol.commentlist li{margin:0}
.pt-tema #reviews #comments ol.commentlist li .comment_container{display:flex;gap:12px;padding:16px;border:1px solid var(--pt-borde);border-radius:var(--pt-radio);background:#fff}
.pt-tema #reviews #comments ol.commentlist li .comment-text{flex:1;min-width:0;margin:0;padding:0;border:0}
.pt-resena__avatar{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--pt-principal);color:var(--pt-principal-txt);font-weight:800;font-size:18px}
.pt-resena__ciudad{margin:-6px 0 8px;font-size:14px}
.pt-resena__foto{display:block;width:104px;height:104px;margin-top:10px;padding:0;border:0;border-radius:10px;overflow:hidden;background:var(--pt-suave);cursor:zoom-in}
.pt-resena__foto img{display:block;width:100%;height:100%;object-fit:cover}
.pt-tema #review_form input[type=text],.pt-tema #review_form input[type=email],.pt-tema #review_form textarea{width:100%;min-height:48px;font-size:16px}
