.product-page{max-width:1200px;margin:0 auto;padding:2rem 1rem 3rem}.product-page__breadcrumbs{display:flex;gap:.5rem;align-items:center;margin-bottom:1.25rem;font-size:.95rem;color:var(--site-muted)}.product-page__breadcrumbs a{color:inherit;text-decoration:none}.product-page__breadcrumbs a:hover{text-decoration:underline}.product-state{padding:2rem;border-radius:12px;background:#fff;border:1px solid var(--site-border)}.product-state--error{color:#b42318;border-color:#f2b8b5;background:#fff6f6}.product-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem}.product-gallery__main{background:#fff;border:1px solid var(--site-border);border-radius:14px;padding:1rem;min-height:420px;display:grid;place-items:center}.product-gallery__main img{width:100%;max-height:520px;object-fit:contain}.product-gallery__thumbs{margin-top:.75rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:.5rem}.product-gallery__thumb{border:1px solid var(--site-border);background:#fff;border-radius:10px;padding:.35rem;cursor:pointer}.product-gallery__thumb.is-active{border-color:var(--site-primary)}.product-gallery__thumb img{width:100%;height:80px;object-fit:cover;display:block;border-radius:6px}.product-info__title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.product-info h1{flex:1;margin:0 0 1rem;font-size:clamp(1.5rem,3vw,2rem);line-height:1.2}.product-info__title-actions{display:flex;gap:.5rem}.product-info__fav,.product-info__compare{flex:0 0 auto;width:2.5rem;height:2.5rem;display:grid;place-items:center;border:1px solid var(--site-border);border-radius:999px;background:#fff;color:#94a3b8;line-height:1;cursor:pointer}.product-info__fav svg,.product-info__compare svg{display:block}.product-info__fav:hover{color:#ef4444}.product-info__compare:hover{color:var(--site-primary)}.product-info__fav.is-active{color:#ef4444;border-color:#fca5a5}.product-info__compare.is-active{color:var(--site-primary);border-color:var(--site-primary);background:var(--site-primary-soft)}.product-info__price-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem}.product-info__price{font-size:2rem;font-weight:700}.product-info__stock{border-radius:999px;padding:.35rem .7rem;font-size:.9rem;font-weight:600}.product-info__stock.in-stock{color:#05603a;background:#e8fff2}.product-info__stock.out-of-stock{color:#912018;background:#fff2f2}.product-info__specs{border:1px solid var(--site-border);border-radius:12px;padding:.9rem 1rem;background:#fff}.product-info__actions{display:grid;gap:.75rem;margin-bottom:1rem}.product-info__cart-row{display:flex;align-items:stretch;gap:0;overflow:hidden}.qty{display:inline-flex;align-items:center;justify-content:space-between;gap:.4rem;background:#fff;border:1px solid var(--site-border);border-radius:8px;padding:0 .35rem}.qty button{border:none;width:32px;height:32px;border-radius:6px;background:var(--site-surface-muted);color:var(--site-text-strong);border:1px solid var(--site-border);cursor:pointer;font-size:1.05rem;line-height:1}.qty button:hover:not(:disabled){background:#e8ecf0}.qty button:disabled{opacity:.5}.product-info__qty{width:0;min-width:0;height:42px;margin-top:0;flex-shrink:0;border:none;padding:0;opacity:0;transform:translate(-12px) scale(.97);pointer-events:none;overflow:hidden;transition:width .16s cubic-bezier(.22,1,.36,1),opacity .1s ease,transform .16s cubic-bezier(.22,1,.36,1)}.product-info__qty input{width:36px;min-width:36px;text-align:center;font-size:1rem;font-weight:600;border:none;background:transparent;outline:none;-moz-appearance:textfield}.product-info__qty input::-webkit-outer-spin-button,.product-info__qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.product-info__cart-row.is-active .product-info__qty{width:132px;border:1px solid var(--site-border);padding:0 .35rem;opacity:1;transform:translate(0) scale(1);pointer-events:auto}.product-info__add{margin-top:0;width:100%;flex:1 1 100%;height:42px;border:none;background:var(--site-text);color:#fff;border-radius:8px;padding:0 .8rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform .16s cubic-bezier(.22,1,.36,1),opacity .12s ease}.product-info__add:hover{background:var(--site-text-strong)}.product-info__cart-row.is-active .product-info__add{flex:1 1 auto;width:auto;transform:translate(0)}.product-info__cart-row.is-active{gap:.5rem}.product-info__button{text-decoration:none}.product-info__button:hover,.product-info__button--secondary{background:var(--site-text-strong)}.product-info__button--secondary:hover{background:var(--site-muted)}.product-info__specs p{margin:.35rem 0}.product-info__description{margin-top:1.2rem}.product-info__description h2{margin:0 0 .6rem}.product-info__description p{margin:0;line-height:1.55;white-space:pre-wrap}.similar-products{margin-top:3rem}.similar-products__title{margin:0 0 1.25rem;font-size:clamp(1.25rem,2.5vw,1.6rem)}.similar-products__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.similar-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--site-border);border-radius:12px;overflow:hidden;transition:box-shadow .16s ease,transform .16s ease}.similar-card:hover{box-shadow:0 6px 18px #00000014;transform:translateY(-2px)}.similar-card__link{text-decoration:none;color:inherit;display:flex;flex-direction:column;flex:1}.similar-card__image-wrap{background:#fff;display:grid;place-items:center;padding:.75rem;aspect-ratio:1 / 1}.similar-card__image-wrap img{width:100%;height:100%;object-fit:contain}.similar-card__content{padding:0 .85rem .5rem;flex:1}.similar-card__name{margin:0 0 .5rem;font-size:.95rem;line-height:1.3;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.similar-card__price{font-size:1.05rem;font-weight:700}.similar-card__actions{padding:.5rem .85rem .85rem}.similar-card__add{width:100%;height:40px;border:none;background:var(--site-text);color:#fff;border-radius:8px;font-weight:600;cursor:pointer}.similar-card__add:hover{background:var(--site-text-strong)}@media(max-width:900px){.product-layout{grid-template-columns:1fr}.product-gallery__main{min-height:320px}}
