/* Complete, centered product photographs at every viewport size. */
.product-image-button{background:#f6f1eb}
.product-image-button img,.category-photo img,.cart-item img,.admin-product-info img{object-fit:contain;object-position:center}
.product-image-button:hover img{transform:none}
.detail-photo{display:flex;align-items:center;justify-content:center;min-width:0;padding:20px;background:#f6f1eb}
.detail-photo img{display:block;width:100%;height:auto;max-height:76dvh;object-fit:contain;object-position:center}
.product-detail-grid{align-items:stretch}
.hero h1{font-size:clamp(2.8rem,4.8vw,4.6rem);line-height:1.06}
.hero h1 em{display:block;margin-top:10px;font-size:clamp(1.9rem,3.2vw,3rem);line-height:1.2;letter-spacing:-1px}
.hero h1 .heading-heart{position:static;display:inline-block;width:30px;height:30px;vertical-align:middle;margin:0 0 0 8px}
.origin-card{display:flex;align-items:center;gap:20px;max-width:650px;margin:6px auto 36px;padding:23px 29px;border-radius:25px;border:1px solid #fff;background:linear-gradient(115deg,#fffafc,#f9e9efaa 55%,#e6f1ed99);box-shadow:inset 1px 2px 4px #fff,0 6px 0 #e3d6db88,0 15px 30px #7149600b}
.origin-icon{flex:none;display:grid;place-items:center;width:58px;height:58px;color:#b74972;background:linear-gradient(145deg,#fff,#f2c0d1);border:1px solid #fff;border-radius:19px;box-shadow:inset 1px 2px 4px #fff,0 5px 0 #dbaebf77}
.origin-icon svg{width:29px;height:29px}
.origin-card h2{font-size:1.3rem;letter-spacing:-.3px;margin-bottom:6px}
.origin-card p{font-size:.9rem;color:var(--muted);line-height:1.6}
.category-grid{grid-template-columns:repeat(9,minmax(0,1fr));gap:14px}
.category-photo{background:#f0e8e5}
.category:first-child .category-photo{display:block;background:#f0e8e5}
.category:first-child .category-photo img{display:block}
.category:hover img{transform:none}
.all-products{border-radius:24px;padding:11px 20px;background:#f6e5eb;color:#8e3f5d;font-size:.85rem;font-weight:700;white-space:nowrap}
.all-products[aria-pressed=true]{background:var(--ink);color:#fff}
.tiktok-button{display:inline-flex;align-items:center;gap:13px;padding:14px 22px;border:1px solid #ffffff8a;border-radius:20px;background:linear-gradient(125deg,#394b62,#15212f 60%,#304254);box-shadow:inset 1px 2px 3px #ffffff45,0 6px 0 #101f30,0 10px 24px #0002;transition:transform .2s,box-shadow .2s;text-align:left}
.tiktok-button:hover{transform:translateY(-3px);box-shadow:inset 1px 2px 3px #ffffff45,0 9px 0 #101f30,0 15px 26px #0003}
.tiktok-button:active{transform:translateY(3px)}
.tiktok-button svg{width:30px;height:34px;fill:white;filter:drop-shadow(-2px -1px 0 #25f4ee) drop-shadow(2px 1px 0 #fe2c55)}
.tiktok-button strong{display:block;font-family:'Nunito',sans-serif;font-size:1.08rem}
.tiktok-button small{display:block;font-size:.72rem;color:#e9eef3;margin-top:3px}
.footer-links{align-items:center;flex-wrap:wrap}
.happy-card img{height:auto;aspect-ratio:auto;object-fit:contain;object-position:center}
.collection-picker{border:1px solid var(--line);border-radius:14px;padding:15px;margin:0}
.collection-picker legend{font-size:.85rem;font-weight:600;padding:0 7px}
.collection-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.admin-body .collection-options label{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:400}
.admin-body .collection-options input{width:17px;height:17px;margin:0;accent-color:#b74972}
.collection-picker .field-hint{margin-top:12px}
.pay-glass{min-width:0}
.pay-glass strong{letter-spacing:0;font-size:1.12rem;overflow-wrap:break-word}
/* Keep the small story portrait focused on the doorway and clothing. */
.story-photo{width:100%;max-width:400px;margin:0 auto;border-width:8px;background:#fff;transform:rotate(-1deg)}
.story-door-frame{position:relative;aspect-ratio:6/5;overflow:hidden;border-radius:21px}
.story-door-frame>img{position:absolute;right:0;top:-85%;width:285%;max-width:none;height:auto;aspect-ratio:3/2;animation:none;transform:none}
.story-photo>span{position:static;display:block;margin-top:8px;padding:10px 12px;text-align:center;border-radius:18px}
@media(max-width:1100px) and (min-width:761px){.category-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:10px;overflow:visible}.category{min-width:0}.category-photo{height:84px}.category>span:last-child{font-size:.73rem}}
@media(max-width:760px){
 .story-photo{max-width:340px}
 .hero h1{font-size:clamp(2.6rem,10vw,3.7rem);letter-spacing:-1px}
 .hero h1 br:nth-of-type(2){display:block}
 .hero h1 em{font-size:clamp(1.8rem,7vw,2.5rem);margin:8px 0 0}
 .origin-card{margin:4px 20px 30px;padding:20px;gap:16px}
 .origin-icon{width:48px;height:48px;border-radius:16px}
 .origin-card h2{font-size:1.13rem}
 .origin-card p{font-size:.83rem}
 .category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px 14px;overflow:visible;margin:0 0 24px;padding:4px}
 .category{min-width:0}.category-photo{height:82px;border-radius:21px}
 .category>span:last-child{font-size:.8rem;margin-top:9px}
 .all-products{order:0}
 .detail-photo{padding:18px 16px;background:#f6f1eb}
 .detail-photo img{width:100%;height:auto;max-height:58dvh;object-fit:contain;object-position:center}
 .detail-info{padding:24px}
 .pay-glass strong{font-size:1rem}
 .pay-bcp strong{font-size:.86rem;overflow-wrap:normal}
 .pay-yape strong,.pay-plin strong{white-space:nowrap;font-size:clamp(.9rem,3.6vw,1.1rem)}
 .tiktok-button{padding:13px 20px}
 .collection-options{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:360px){.visible-payments{grid-template-columns:1fr}.pay-bcp strong{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.tiktok-button{transition:none}}
