.pieces-page{min-height:100vh;background:#08070d;color:var(--white);font-family:var(--font-body)}
.pieces-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:24px 0 90px}
.pieces-hero{padding:clamp(22px,4vw,48px);border:1px solid rgba(255,255,255,.1);border-radius:30px;background:radial-gradient(circle at 90% 0,rgba(248,231,2,.14),transparent 36%),rgba(255,255,255,.045);box-shadow:var(--fts-shadow-soft);margin-bottom:22px}
.pieces-back,.pieces-kicker{color:var(--brand);text-decoration:none}.pieces-back{display:inline-block;margin-bottom:22px;font-weight:700}.pieces-kicker{text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:800;min-height:1em}
.pieces-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.55fr);gap:28px;align-items:center}
.pieces-hero h1{font-family:var(--font-display);font-size:clamp(3rem,7vw,5.6rem);line-height:.88;margin:.35rem 0 .8rem;letter-spacing:.015em}.pieces-hero p{max-width:720px;margin:0;color:rgba(255,255,255,.75);font-size:clamp(1rem,2vw,1.18rem);line-height:1.65}
.pieces-banner{aspect-ratio:16/9;border-radius:24px;overflow:hidden;background:rgba(255,255,255,.07)}.pieces-banner img{width:100%;height:100%;display:block;object-fit:cover}
.pieces-state{padding:28px;border:1px solid rgba(255,255,255,.1);border-radius:24px;background:rgba(255,255,255,.045);color:rgba(255,255,255,.7);text-align:center}
.pieces-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.piece-card{min-width:0;border:1px solid rgba(255,255,255,.11);border-radius:25px;background:rgba(255,255,255,.055);overflow:hidden;box-shadow:0 14px 38px rgba(0,0,0,.2);transition:transform .2s ease,border-color .2s ease;cursor:pointer}.piece-card:hover{transform:translateY(-4px);border-color:rgba(248,231,2,.36)}
.piece-card-button{display:block;width:100%;padding:0;border:0;background:none;color:inherit;text-align:left;font:inherit;cursor:pointer}
.piece-card-image{aspect-ratio:1/1;display:grid;place-items:center;background:linear-gradient(145deg,rgba(248,231,2,.11),rgba(255,255,255,.05));overflow:hidden;font-size:3.5rem}.piece-card-image img{width:100%;height:100%;display:block;object-fit:cover}
.piece-card-body{display:grid;gap:8px;padding:16px}.piece-card-body h2{margin:0;font-size:1.1rem;line-height:1.25;overflow-wrap:anywhere}.piece-card-author{color:rgba(255,255,255,.62);font-size:.84rem}.piece-card-price{color:var(--brand);font-weight:800;font-size:.95rem}
.pieces-overlay[hidden]{display:none}.pieces-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.76);backdrop-filter:blur(10px)}
.pieces-dialog{position:relative;width:min(940px,100%);max-height:min(92vh,940px);overflow:auto;border:1px solid rgba(255,255,255,.13);border-radius:28px;background:#131217;color:#fff;box-shadow:0 32px 100px rgba(0,0,0,.6)}
.pieces-modal-close{position:sticky;float:right;right:14px;top:14px;z-index:4;width:44px;height:44px;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:#222127;color:#fff;font-size:1.6rem;cursor:pointer}.pieces-modal-close:hover{background:var(--brand);color:#080808}
.piece-detail{padding:clamp(18px,4vw,38px)}.piece-detail-hero{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1fr);gap:30px;align-items:start}.piece-detail-image{aspect-ratio:1/1;border-radius:24px;overflow:hidden;background:rgba(255,255,255,.06);display:grid;place-items:center;font-size:4rem}.piece-detail-image img{width:100%;height:100%;object-fit:cover}.piece-detail-title{padding-right:44px}.piece-detail-title h2{font-family:var(--font-display);font-size:clamp(2.5rem,6vw,4.2rem);line-height:.9;margin:.4rem 0}.piece-detail-title p{color:rgba(255,255,255,.72);line-height:1.6}.piece-detail-meta{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.piece-detail-meta span{padding:7px 10px;border-radius:999px;background:rgba(248,231,2,.1);border:1px solid rgba(248,231,2,.18);font-size:.78rem;color:#f8ef84}
.piece-detail-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}.piece-detail-section{min-width:0;padding:17px;border:1px solid rgba(255,255,255,.09);border-radius:19px;background:rgba(255,255,255,.035)}.piece-detail-section.wide{grid-column:1/-1}.piece-detail-section h3{margin:0 0 8px;font-size:.78rem;text-transform:uppercase;letter-spacing:.11em;color:var(--brand)}.piece-detail-section p{margin:0;color:rgba(255,255,255,.76);line-height:1.65;white-space:pre-line;overflow-wrap:anywhere}
.piece-offers{display:grid;gap:11px;margin-top:24px}.piece-offers h3{font-family:var(--font-display);font-size:2rem;margin:0}.piece-offer{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:15px;border:1px solid rgba(248,231,2,.2);border-radius:18px;background:rgba(248,231,2,.065)}.piece-offer strong,.piece-offer small{display:block}.piece-offer small{margin-top:4px;color:rgba(255,255,255,.63);line-height:1.35}.piece-offer-price{font-size:1.1rem;color:var(--brand);font-weight:900}.piece-offer button,.piece-external-link{border:0;border-radius:999px;padding:11px 15px;background:var(--brand);color:#090909;font:inherit;font-weight:900;text-decoration:none;cursor:pointer}.piece-external-wrap{margin-top:18px}.piece-external-link{display:inline-flex}
.pieces-cart-bubble{position:fixed;right:18px;bottom:18px;z-index:9990;border:0;border-radius:999px;padding:13px 17px;background:var(--brand);color:#090909;font-weight:900;box-shadow:0 18px 55px rgba(0,0,0,.45);cursor:pointer}.pieces-cart-bubble strong{display:inline-grid;place-items:center;min-width:24px;height:24px;margin-left:5px;border-radius:50%;background:#090909;color:var(--brand)}
.pieces-cart-dialog{width:min(700px,100%);padding:clamp(18px,4vw,30px)}.pieces-cart-dialog h2{font-family:var(--font-display);font-size:2.7rem;margin:.25rem 0 1rem}.pieces-cart-lines{display:grid;gap:10px}.pieces-cart-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:13px;border:1px solid rgba(255,255,255,.09);border-radius:17px;background:rgba(255,255,255,.04)}.pieces-cart-line strong,.pieces-cart-line small{display:block}.pieces-cart-line small{color:rgba(255,255,255,.62);margin-top:4px}.pieces-cart-line button{border:1px solid rgba(255,255,255,.12);border-radius:999px;background:transparent;color:#fff;padding:7px 10px;cursor:pointer}.pieces-cart-total{display:flex;justify-content:space-between;align-items:center;margin:16px 0;padding:15px;border-radius:17px;background:rgba(248,231,2,.08);border:1px solid rgba(248,231,2,.18)}.pieces-cart-total strong{font-size:1.35rem;color:var(--brand)}
.pieces-checkout-form{display:grid;gap:12px}.pieces-checkout-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pieces-checkout-form label{display:grid;gap:6px;color:rgba(255,255,255,.72);font-size:.82rem;font-weight:700}.pieces-checkout-form input{width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(255,255,255,.055);color:#fff;padding:12px;font:inherit}.pieces-checkout-form button[type=submit]{min-height:50px;border:0;border-radius:16px;background:var(--brand);color:#090909;font-weight:900;cursor:pointer}.pieces-checkout-message{min-height:22px;text-align:center;color:#ffaaa4}.pieces-cart-empty{padding:20px 0;color:rgba(255,255,255,.65)}
body.pieces-modal-open{overflow:hidden}
@media(max-width:980px){.pieces-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pieces-hero-grid{grid-template-columns:1fr}.pieces-banner{max-width:560px}}
@media(max-width:720px){.pieces-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.piece-detail-hero{grid-template-columns:1fr}.piece-detail-image{width:min(100%,420px)}.piece-detail-sections{grid-template-columns:1fr}.piece-detail-section.wide{grid-column:auto}.piece-offer{grid-template-columns:1fr auto}.piece-offer button{grid-column:1/-1;width:100%}.pieces-overlay{padding:0;align-items:flex-end}.pieces-dialog{max-height:96vh;border-radius:25px 25px 0 0}.pieces-cart-line{grid-template-columns:1fr auto}.pieces-cart-line button{grid-column:1/-1}.pieces-checkout-grid{grid-template-columns:1fr}}
@media(max-width:460px){.pieces-shell{width:min(100% - 20px,1180px);padding-top:10px}.pieces-hero{padding:20px;border-radius:23px}.pieces-grid{gap:10px}.piece-card{border-radius:19px}.piece-card-body{padding:12px}.piece-card-body h2{font-size:.98rem}.pieces-cart-bubble{left:10px;right:10px;bottom:10px}.piece-detail{padding:15px}.piece-detail-title h2{font-size:2.55rem}}
@media(orientation:landscape) and (max-height:560px){.pieces-dialog{max-height:100vh;border-radius:18px}.pieces-overlay{padding:6px}.piece-detail-hero{grid-template-columns:220px 1fr}}
