/* Estilos de tienda acotados: la web existente conserva sus componentes. */
.shop-page{background:var(--paper);color:var(--ink)}.shop-page .nav-shell{background:var(--ink);color:var(--paper)}.shop-page main{min-height:75vh}.shop-page h1{max-width:none;font-size:clamp(2.6rem,5.6vw,5.8rem);line-height:.95;letter-spacing:-.065em;overflow-wrap:anywhere}.shop-page h2,.shop-page h3{font-family:"Space Grotesk",sans-serif;letter-spacing:-.04em;line-height:1.08}.shop-page h2{font-size:clamp(1.5rem,3vw,2.6rem)}.shop-page p{line-height:1.6}.shop-page .small{font-size:.84rem;line-height:1.5}.shop-page button,.shop-page input,.shop-page select,.shop-page textarea{font:inherit}.shop-page button{cursor:pointer}.shop-page button:disabled{cursor:not-allowed;opacity:.5;transform:none;box-shadow:none}.shop-page [hidden]{display:none!important}.shop-page :focus-visible{outline:3px solid var(--purple);outline-offset:4px}.shop-page .button{border:2px solid var(--ink);font-family:"Space Grotesk",sans-serif}.shop-page .button+.button{margin-top:.8rem}.shop-page label{display:block;font-weight:700;margin:1.15rem 0 .5rem}.shop-page input:not([type=radio]):not([type=checkbox]),.shop-page select,.shop-page textarea{display:block;width:100%;min-width:0;min-height:48px;margin-top:.5rem;padding:.8rem;border:1.5px solid var(--ink);border-radius:.6rem;background:#fff;color:var(--ink)}.shop-page textarea{resize:vertical}.shop-page input[type=file]{font-size:.85rem}.shop-page input[type=checkbox],.shop-page input[type=radio]{width:20px;height:20px;flex-shrink:0;accent-color:var(--ink)}.shop-page .radio-row{display:flex;gap:.7rem;align-items:center;font-weight:500}.shop-page fieldset{margin:1.5rem 0 0;border:1px solid var(--ink);border-radius:1rem;padding:1rem;min-width:0}.shop-page legend{font-weight:700}.shop-page .notice{padding:1rem;background:#f1e7ff;border-left:4px solid var(--purple);border-radius:0 .6rem .6rem 0;font-size:.9rem}.shop-page .pill{display:inline-block;border:1px solid var(--ink);border-radius:99px;padding:.4rem .7rem;background:var(--paper);font:700 .68rem/1.3 "Space Grotesk",sans-serif;text-transform:uppercase;letter-spacing:.04em}.shop-page .breadcrumbs{font-size:.85rem;margin-bottom:2rem}.shop-page .breadcrumbs a{text-decoration:underline;text-underline-offset:4px}.shop-page .price{font:700 2rem/1 "Space Grotesk",sans-serif;margin-bottom:.4rem}.shop-page .shop-wrap{max-width:1400px;margin:auto;padding:8rem clamp(1rem,5vw,5rem) 5rem}.shop-hero{padding:9rem clamp(1rem,6vw,6rem) 4rem;background:var(--pink);background-image:linear-gradient(#11070f0a 1px,transparent 1px),linear-gradient(90deg,#11070f0a 1px,transparent 1px);background-size:60px 60px;display:grid;grid-template-columns:1.4fr .6fr;align-items:center;gap:2rem}.shop-hero .kicker{margin-bottom:1.5rem}.shop-hero .kicker:before{color:var(--acid)}.shop-hero h1{font-size:clamp(3.6rem,8vw,8rem)}.shop-hero p{max-width:37rem}.shop-hero .hero-stamp{width:clamp(160px,22vw,280px);height:clamp(160px,22vw,280px);border:3px solid var(--ink);border-radius:50%;background:var(--acid);box-shadow:9px 9px 0 var(--ink);display:grid;place-content:center;text-align:center;transform:rotate(9deg);justify-self:center;font:700 clamp(1.2rem,2.5vw,2.5rem)/1 "Space Grotesk",sans-serif}.hero-stamp b{font-size:3.7rem}.shop-page .catalog{max-width:1400px;margin:auto;padding:3.5rem clamp(1rem,5vw,5rem)}.mode-switch{display:flex;gap:1rem;flex-wrap:wrap}.mode-switch button{flex:1;min-height:76px;padding:1.2rem;border:2px solid var(--ink);border-radius:1rem;background:white;font-weight:700;font-size:1.1rem;box-shadow:4px 4px 0 var(--ink)}.mode-switch button[aria-pressed=true]{background:var(--acid)}.shop-page #mode-description{max-width:52rem;margin:1.8rem 0 3rem}.catalog-heading{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin-top:1.5rem}.product-card{border:2px solid var(--ink);border-radius:1.1rem;overflow:hidden;background:white;box-shadow:4px 4px 0 var(--ink);transition:transform .2s}.product-card:hover{transform:translateY(-5px)}.product-art{position:relative;background:var(--cyan);aspect-ratio:1.25}.product-art img{width:100%;height:100%;object-fit:contain;padding:2rem}.product-art .pill{position:absolute;top:.8rem;left:.8rem}.product-art>small{position:absolute;bottom:.65rem;left:1rem;font-size:.68rem}.product-card:nth-child(3n+2) .product-art{background:var(--pink)}.product-card:nth-child(3n) .product-art{background:var(--acid)}.product-info{padding:1.2rem}.product-info h3{font-size:1.45rem;margin:0;min-height:3.2em}.product-info>p{font-weight:700;font-size:1.2rem}.product-info small{font-size:.74rem;font-weight:400}.card-link{display:flex;justify-content:space-between;border-top:1px solid var(--ink);padding-top:1rem;font-weight:700}.secondary-catalog{margin-top:4rem}.secondary-catalog summary{cursor:pointer;font:700 2rem "Space Grotesk",sans-serif;border-block:2px solid var(--ink);padding:1.2rem 0}.kit-includes{padding:3rem clamp(1rem,5vw,5rem);background:var(--acid)}.kit-includes ul{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;max-width:1200px;margin:2rem auto;list-style:'✦  '}.kit-includes h2{max-width:1200px;margin:auto}.product-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem)}.detail-art{position:relative;background:var(--cyan);border:2px solid var(--ink);border-radius:48% 48% 1rem 1rem;box-shadow:8px 8px 0 var(--ink);aspect-ratio:1;display:grid;place-items:center}.detail-art img{width:80%;height:80%;object-fit:contain}.detail-art .pill{position:absolute;bottom:1rem;max-width:90%;text-align:center}.included-card{padding:2rem 0}.included-card li{margin-bottom:.55rem;font-size:.95rem}.product-options h1{font-size:clamp(2.4rem,4vw,4.3rem);margin:1rem 0}.product-options .kicker{color:#583173}.mode-links{display:flex;border-bottom:1px solid var(--ink);gap:1.5rem;margin:1.8rem 0}.mode-links a{padding:.8rem 0}.mode-links [aria-current]{font-weight:700;border-bottom:4px solid var(--ink)}.design-preview{display:block;width:100%;max-height:250px;object-fit:contain;background:white;border:1px solid var(--ink);border-radius:1rem;padding:1rem;margin-top:1rem}.selection-summary{background:var(--acid);border:1px solid var(--ink);border-radius:1rem;padding:1.2rem;margin:1.5rem 0}.selection-summary p{margin:.6rem 0 0}.checkout-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:2rem;align-items:start;margin-top:2rem}.order-summary{position:sticky;top:100px;background:var(--acid);border:2px solid var(--ink);border-radius:1rem;padding:1.5rem;box-shadow:5px 5px 0 var(--ink)}.order-summary h2{margin-top:0}.order-summary .button{width:100%;text-align:center}.totals>div{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid #11070f33}.totals dd{margin:0;font-weight:700;white-space:nowrap}.totals .grand{font-size:1.35rem;font-weight:700;border-bottom:2px solid var(--ink)}.cart-line{display:grid;grid-template-columns:110px minmax(0,1fr);gap:1.2rem;padding:1.5rem 0;border-bottom:1px solid var(--ink)}.cart-line>img{width:110px;background:var(--pink);border:1px solid var(--ink);border-radius:.7rem}.cart-line h2{font-size:1.4rem;margin:.8rem 0}.cart-line label{max-width:170px}.cart-line p{overflow-wrap:anywhere}.cart-upload{width:100px;height:100px;object-fit:contain;border:1px solid var(--ink)}.text-button{border:0;background:none;padding:.7rem 0;text-align:left;text-decoration:underline;font-size:.85rem!important}.form-panel{border:1px solid var(--ink);border-radius:1rem;background:white;padding:1.5rem;margin:1.5rem 0}.form-panel:first-child{margin-top:0}.form-panel h2{font-size:1.5rem;margin-top:0}.field-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}.policy{border-block:1px solid var(--ink);padding:1rem 0;margin:1.5rem 0;font-size:.9rem;line-height:1.5}.policy summary{cursor:pointer;font-weight:700}.checkout-items{border-block:1px solid var(--ink);margin:1.5rem 0;max-height:380px;overflow:auto;overflow-wrap:anywhere}.empty{padding:3rem 0;text-align:center}.empty h1{font-size:clamp(2.5rem,5vw,5rem)}.big-star{font-size:6rem;color:var(--purple)}#shop-message:not(:empty){position:fixed;bottom:1rem;left:1rem;right:1rem;z-index:60;padding:1rem;max-width:600px;margin:auto;background:var(--ink);color:white;border:2px solid var(--pink);border-radius:1rem;box-shadow:4px 4px 0 var(--pink)}#checkout-validation:not(:empty){padding:1rem;border:2px solid var(--ink);background:var(--cyan);border-radius:1rem}.shop-page footer{border-top:1px solid var(--ink)}.shop-page .shop-subnav{display:flex;gap:1.5rem;flex-wrap:wrap;padding:1rem 0;font-size:.85rem}.shop-page .phase-note{background:var(--ink);color:var(--paper);margin:0;padding:.8rem 1rem;text-align:center;font-size:.85rem}
@media(max-width:1000px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-page .nav-shell nav{gap:1rem}.checkout-layout{grid-template-columns:minmax(0,1fr)}.order-summary{position:static}.product-layout{gap:2rem}}
@media(max-width:700px){.shop-hero{grid-template-columns:1fr;padding-top:7rem}.shop-hero .hero-stamp{display:none}.product-layout{grid-template-columns:minmax(0,1fr)}.detail-art{max-width:420px;width:100%;margin:auto}.included-card{display:none}.shop-page .shop-wrap{padding-top:6.5rem}.kit-includes ul{grid-template-columns:1fr 1fr}.field-pair{grid-template-columns:minmax(0,1fr)}.mode-switch{flex-direction:column}.cart-line{grid-template-columns:72px minmax(0,1fr)}.cart-line>img{width:72px}.product-info{padding:.9rem}.product-info h3{font-size:1.1rem}.product-art img{padding:1rem}.product-art .pill{font-size:.52rem;left:.4rem;top:.4rem}.product-grid{gap:1rem}.catalog-heading{display:block}.product-info>p{font-size:1rem}.product-info small{display:block}.shop-page .button{width:100%}.shop-page .nav-shell{grid-template-columns:1fr auto}.product-art>small{font-size:.55rem;left:.5rem}.product-info .card-link{font-size:.8rem}}
@media(max-width:370px){.product-grid{grid-template-columns:minmax(0,1fr)}.kit-includes ul{grid-template-columns:1fr}.totals .grand{font-size:1.15rem}}
