/* TUTTI · contenido de las páginas de WooCommerce (ficha, carrito, checkout, arrepentimiento).
   El header y el footer salen de site/chrome.css + site/footer-compact.css, iguales a la home. */
:root{--tutti-red:#D42A3D;--tutti-pink:#F6A8CE;--tutti-yellow:#F4DD62;--tutti-cream:#FAF1E4;--tutti-ink:#1A1210;--tutti-line:#1a121022;--tutti-soft:#1a1210b3;--tutti-tile:22px 6px 22px 6px}
*{box-sizing:border-box}
body{margin:0;background:var(--tutti-cream);color:var(--tutti-ink);font-family:'DM Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--tutti-red)}
img{max-width:100%;height:auto}
:focus-visible{outline:3px solid var(--tutti-yellow);outline-offset:3px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link.screen-reader-text:focus{clip:auto;width:auto;height:auto;left:12px;top:12px;z-index:100;padding:10px 14px;background:var(--tutti-ink);color:var(--tutti-cream);border-radius:8px}
.tutti-checkout-main{max-width:1440px;min-height:60vh;margin:0 auto;padding:40px clamp(18px,3vw,32px) 80px}
.single-product .tutti-checkout-main{padding-top:18px}

/* Formularios y botones de WooCommerce */
h1{font-size:clamp(30px,5vw,52px);letter-spacing:-.04em;line-height:1.02}
button,input,select,textarea{font:inherit}
input:not([type=radio]):not([type=checkbox]):not([type=submit]),select,textarea{padding:13px;border:1px solid #1a121050;border-radius:8px;background:#fff;max-width:100%;color:var(--tutti-ink)}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.wc-block-components-button{border-radius:999px 999px 999px 8px!important;background:var(--tutti-red)!important;color:#fff!important;padding:15px 24px!important;font-weight:700!important;border:0!important}
.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--tutti-ink)!important}
.woocommerce-error,.woocommerce-info,.woocommerce-message{border-top-color:var(--tutti-red)!important;background:#fff!important;border-radius:0 0 12px 12px}
.woocommerce-checkout #payment{background:#f6a8ce28}
.woocommerce table.shop_table{border:1px solid var(--tutti-line);border-radius:12px;background:#fff}
.woocommerce form .form-row label{line-height:1.6;margin:6px 0}
.woocommerce form .form-row{padding:6px 0}
.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2{width:100%;float:none}
.woocommerce-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 48px}
#customer_details{grid-row:span 3}#order_review_heading{margin-top:0}#order_review{min-width:0}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{font-size:14px;line-height:1.5}
.woocommerce-cart .product-thumbnail img{width:90px;height:90px;object-fit:cover;border-radius:12px 3px 12px 3px}

/* ---------- Ficha: primera pantalla ---------- */
.tp-grid{display:grid;grid-template-columns:auto minmax(340px,520px);justify-content:center;gap:clamp(24px,3.5vw,56px);align-items:start}
.tp-main{position:relative;margin:0;height:clamp(380px,calc(100svh - var(--tc-header,73px) - 46px),880px);aspect-ratio:var(--tp-ratio,.8);width:auto;max-width:calc(100vw - 520px - clamp(24px,3.5vw,56px) - 2 * clamp(18px,3vw,32px));background:#fff;border-radius:var(--tutti-tile);overflow:hidden}
.tp-main img{width:100%;height:100%;object-fit:cover;display:block}
.tp-note{position:absolute;left:14px;bottom:14px;max-width:calc(100% - 28px);padding:6px 11px;border-radius:999px;background:#FAF1E4e6;color:var(--tutti-ink);font-size:12px;font-weight:600}
.tp-info{display:flex;flex-direction:column;gap:12px;padding-top:4px}
.tp-crumbs{display:flex;gap:8px;align-items:center;font-size:13px}
.tp-crumbs a{color:var(--tutti-ink);font-weight:700;text-decoration:none}.tp-crumbs a:hover{color:var(--tutti-red)}
.tp-title{margin:0;font-size:clamp(32px,3.4vw,52px);letter-spacing:-.045em;line-height:.98}
.tp-price{color:var(--tutti-red);font-size:28px;font-weight:700;letter-spacing:-.02em}
.tp-price del{color:var(--tutti-soft);font-size:18px;margin-right:6px}.tp-price ins{text-decoration:none}
.tp-desc{margin:0;font-size:15px;line-height:1.5;max-width:52ch;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tp-options{display:grid;gap:12px;margin-top:2px}
.tp-opt-label{margin:0 0 7px;font-size:13px;font-weight:700}
.tp-opt-label b{font-weight:500;color:var(--tutti-soft);margin-left:4px}
.tp-chips{display:flex;flex-wrap:wrap;gap:8px}
/* Cada color es un azulejo con su pastina */
.tp-chip{width:36px;height:36px;padding:0;border:3px solid #FAF1E4;border-radius:10px 3px 10px 3px;background:var(--sw);box-shadow:0 0 0 1px #1a121033;cursor:pointer;transition:transform .15s ease}
.tp-chip:hover{transform:translateY(-2px)}
.tp-chip[aria-pressed=true]{box-shadow:0 0 0 2px var(--tutti-ink)}
.tp-chip:disabled{opacity:.25;cursor:not-allowed;transform:none}
.tp-buy table.variations{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.tp-buy .reset_variations,.tp-buy .woocommerce-variation-price{display:none!important}
.tp-buy .single_variation{font-size:13px;color:var(--tutti-soft);margin:0 0 8px}
.tp-buy .single_variation p{margin:0}
.tp-buy .woocommerce-variation-add-to-cart,.tp-buy form.cart:not(.variations_form){display:flex;gap:10px;align-items:stretch}
.tp-buy .quantity input.qty{width:72px;height:100%;text-align:center}
.tp-buy .single_add_to_cart_button{flex:1;min-height:52px}
.tp-buy .single_add_to_cart_button.disabled{opacity:.45}
.tp-small{margin:0;font-size:13px;line-height:1.5;color:var(--tutti-soft)}
.tp-small a{color:var(--tutti-ink);font-weight:700}
.tp-wa{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:999px 999px 999px 8px;background:var(--tutti-ink);color:var(--tutti-cream);font-weight:700;text-decoration:none;align-self:flex-start}
.tp-wa:hover{background:var(--tutti-red);color:#fff}

/* ---------- Ficha: debajo de la primera pantalla ---------- */
.tp-more,.tp-details,.tp-related{margin-top:clamp(40px,6vw,72px)}
.tp-more h2,.tp-details h2,.tp-related h2{font-size:clamp(24px,2.6vw,34px);letter-spacing:-.03em;margin:0 0 18px}
.tp-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.tp-gallery button{padding:0;border:0;background:#fff;border-radius:18px 5px 18px 5px;overflow:hidden;aspect-ratio:1;cursor:zoom-in}
.tp-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
.tp-gallery button:hover img{transform:scale(1.03)}
.tp-specs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;border-top:1px solid var(--tutti-line)}
.tp-specs div{padding:14px 16px 14px 0;border-bottom:1px solid var(--tutti-line)}
.tp-specs dt{font-weight:700;font-size:13px;margin-bottom:4px}.tp-specs dd{margin:0;font-size:15px}
.tp-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tp-card{display:grid;gap:6px;color:var(--tutti-ink);text-decoration:none;padding:10px 10px 16px;background:#fff;border-radius:var(--tutti-tile)}
.tp-card img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px 4px 14px 4px}
.tp-card span{font-weight:700;font-size:17px;margin-top:6px}.tp-card small{color:var(--tutti-soft)}
.tp-card:hover span{color:var(--tutti-red)}

/* ---------- Botón de arrepentimiento ---------- */
.tr{max-width:680px}
.tr h1{margin:0 0 14px}
.tr-lead{font-size:18px;line-height:1.55;margin:0 0 26px}
.tr-form{display:grid;gap:16px;padding:clamp(20px,3vw,32px);background:#fff;border-radius:var(--tutti-tile)}
.tr-form label{display:grid;gap:6px;font-weight:700;font-size:14px}
.tr-form label span{font-weight:400;color:var(--tutti-soft)}
.tr-form input,.tr-form textarea{width:100%}
.tr-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tr-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.tr-submit{min-height:54px;border:0;border-radius:999px 999px 999px 8px;background:var(--tutti-red);color:#fff;font-weight:700;font-size:16px;cursor:pointer}
.tr-submit:hover{background:var(--tutti-ink)}
.tr-error{padding:12px 16px;background:#fff;border-left:4px solid var(--tutti-red);border-radius:0 10px 10px 0}
.tr-code{font-size:20px}.tr-code strong{font-family:ui-monospace,monospace;background:var(--tutti-yellow);padding:2px 8px;border-radius:6px}
.tp-cat{margin:0 0 10px;color:var(--tutti-red);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}

@media(max-width:900px){
  .tp-grid{grid-template-columns:1fr}
  .tp-main{height:min(62svh,560px);width:100%;max-width:none;aspect-ratio:auto}
  .tp-specs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tp-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tp-related-grid .tp-card:nth-child(3){display:none}
  .tp-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
}
@media(max-width:760px){
  .woocommerce-checkout form.checkout{display:block}
  .tutti-checkout-main{padding:24px 16px 56px}
  .single-product .tutti-checkout-main{padding-top:12px}
  #order_review_heading{margin-top:30px}
  .tr-row{grid-template-columns:1fr}
  .tp-chip{width:40px;height:40px}
}
@media(prefers-reduced-motion:reduce){.tp-chip,.tp-gallery img{transition:none}}
