.preview-link{border-radius:var(--radius);height:100%;display:block}.preview-container{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;height:100%;transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s;flex-direction:column;display:flex;overflow:hidden}.preview-link:hover .preview-container{box-shadow:var(--shadow-md);border-color:#0000;transform:translateY(-3px)}.preview-top{aspect-ratio:1;border-bottom:1px solid var(--border);background-color:#fff;position:relative;overflow:hidden}.preview-img{object-fit:contain;width:calc(100% - 28px);height:calc(100% - 28px);transition:transform .5s var(--ease);position:absolute;inset:14px}.preview-link:hover .preview-img{transform:scale(1.04)}.sale-badge{top:10px;z-index:1;border-radius:var(--radius-pill);background:var(--danger);color:#fff;padding:2px 10px;font-size:.78rem;font-weight:700;position:absolute;inset-inline-start:10px}.preview-bot{text-align:center;flex-direction:column;flex:1;align-items:center;gap:6px;padding:14px 14px 16px;display:flex}.preview-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.7em;font-size:.98rem;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.preview-price{font-size:1.05rem;font-weight:700}.preview-price.sale{color:var(--danger)}.preview-old-price{color:var(--muted);margin-inline-start:4px;font-size:.85rem;font-weight:500;text-decoration:line-through}.preview-price.contact{color:var(--muted);font-size:.9rem;font-weight:500}.card-cta{border-radius:var(--radius-pill);background:var(--surface);width:100%;transition:background-color .2s var(--ease), color .2s var(--ease);margin-top:auto;padding:8px 12px;font-size:.9rem;font-weight:600}.preview-link:hover .card-cta{background:var(--ink);color:#fff}.product-page{width:100%}.breadcrumbs{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 8px;margin-bottom:20px;font-size:.9rem;display:flex}.breadcrumbs a{transition:color .15s}.breadcrumbs a:hover{color:var(--ink);text-decoration:underline}.breadcrumbs .sep{border-bottom:1.5px solid #b5b8bd;border-left:1.5px solid #b5b8bd;width:5px;height:5px;margin-inline:2px;transform:rotate(45deg)}.breadcrumbs .current{color:var(--ink);font-weight:600}.product-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:clamp(20px,3vw,40px);display:grid}.product-grid .img-container{aspect-ratio:1;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;position:relative;overflow:hidden}.img-container img{object-fit:contain;width:calc(100% - 2*clamp(16px,3vw,36px));height:calc(100% - 2*clamp(16px,3vw,36px));position:absolute;inset:clamp(16px,3vw,36px)}.product-information{flex-direction:column;gap:14px;display:flex}.product-information h1.product-title{font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem)}.price-row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:6px 14px;padding-bottom:16px;display:flex}.price{color:var(--ink);font-size:1.75rem;font-weight:800}.price-row.sale .price{color:var(--danger)}.price-row.contact .price{color:var(--ink-2);font-size:1.15rem;font-weight:600}.old-price{color:var(--muted);font-size:1.05rem;text-decoration:line-through}.percent-off{border-radius:var(--radius-pill);background:var(--danger);color:#fff;padding:2px 10px;font-size:.85rem;font-weight:700}.product-description{color:var(--ink-2);white-space:pre-line;font-size:1.02rem}.stock{border-radius:var(--radius-pill);align-self:flex-start;align-items:center;gap:8px;padding:4px 12px;font-size:.9rem;font-weight:600;display:inline-flex}.stock:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px}.stock.in{color:var(--success);background:#e7f6ec}.stock.out{color:var(--danger);background:#fdecea}.buy-box{background:var(--surface);border-radius:var(--radius);margin-top:6px;padding:20px}.buy-box h2{margin-bottom:14px;font-size:1.15rem}.product-details{border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;grid-column:1/-1;margin-top:clamp(12px,2vw,24px);padding:clamp(20px,3vw,36px)}.product-details h2{margin-bottom:14px;font-size:1.35rem}.product-details .quill{max-width:80ch}@media only screen and (max-width:860px){.product-grid{grid-template-columns:minmax(0,1fr)}.product-grid .img-container{width:min(100%,55vh);margin-inline:auto}}@media only screen and (max-width:767px){.preview-img{width:calc(100% - 20px);height:calc(100% - 20px);inset:10px}.preview-bot{padding:10px 10px 12px}.preview-title{font-size:.9rem}.card-cta{padding:6px 8px;font-size:.82rem}.breadcrumbs{font-size:.82rem}}
