:root { --ink:#27251f; --paper:#efe7d8; --white:#fffdf8; --rust:#a95036; --olive:#70713f; --line:#d2c8b9; --muted:#756f65; }
* { box-sizing: border-box; }
.hidden { display:none !important; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"DM Sans",Arial,sans-serif; }
.catalog-announcement { padding:9px 20px; color:#d9c7a9; background:#0c0d0b; text-align:center; font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.catalog-header { min-height:82px; padding:13px 5vw; display:flex; align-items:center; gap:30px; color:#ead8b8; background:#171814; border-bottom:1px solid #4d4a2d; }
.catalog-brand { display:flex; align-items:center; gap:12px; color:inherit; text-decoration:none; font-weight:800; letter-spacing:.08em; }
.catalog-brand img { width:55px; height:55px; object-fit:contain; }
.catalog-brand small { display:block; color:#85864c; font-size:9px; letter-spacing:.25em; }
.catalog-header nav { margin-left:auto; display:flex; align-items:center; gap:22px; }
.catalog-header nav a { color:#c8b99f; text-decoration:none; font-size:12px; }
.bag-link { padding:11px 14px; border:1px solid #777441; text-transform:uppercase; letter-spacing:.08em; }
.collection-hero { min-height:540px; padding:90px 7vw; display:flex; align-items:center; position:relative; overflow:hidden; color:#f2e2c7; background:#151612; }
.collection-hero:after { content:""; position:absolute; inset:0 0 0 44%; background:linear-gradient(90deg,#151612 0%,rgba(21,22,18,.15) 40%),var(--hero) center/cover no-repeat; }
.collection-copy { width:min(600px,55%); position:relative; z-index:1; }
.eyebrow { color:#a6a668; font-size:10px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.collection-copy h1,.product-copy h1 { margin:12px 0 16px; font:800 clamp(46px,7vw,86px)/.95 Manrope,sans-serif; text-transform:uppercase; }
.collection-copy p { max-width:560px; color:#c9c0af; font:18px/1.65 Georgia,serif; }
.collection-products { padding:85px 7vw; }
.section-heading h2 { margin:8px 0 12px; font:800 clamp(32px,5vw,58px)/1 Manrope; }
.section-heading p { max-width:600px; color:var(--muted); }
.design-grid { margin-top:40px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px; }
.design-card { display:grid; grid-template-columns:1.2fr .8fr; min-height:390px; overflow:hidden; color:var(--ink); background:var(--white); text-decoration:none; border:1px solid #cabb9f; }
.design-card img { width:100%; height:100%; object-fit:cover; }
.design-card.sticker-card img { padding:26px; object-fit:contain; background:#171814; }
.design-card-copy { padding:32px; display:flex; flex-direction:column; justify-content:center; }
.design-card h3 { margin:8px 0 12px; font:800 28px/1.05 Manrope; }
.design-card p { color:var(--muted); line-height:1.55; }
.design-card p { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:6; }
.design-card strong { margin-top:15px; color:var(--rust); }
.product-main { padding:55px 6vw 95px; }
.breadcrumbs { margin-bottom:28px; color:var(--muted); font-size:11px; }
.breadcrumbs a { color:inherit; }
.product-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr); gap:6vw; align-items:start; }
.product-gallery { position:sticky; top:25px; }
.main-mockup { aspect-ratio:1.15; display:grid; place-items:center; overflow:hidden; background:#1a1b17; border:1px solid #5e5b3b; }
.main-mockup img { width:100%; height:100%; object-fit:contain; }
.thumb-row { margin-top:10px; display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.thumb-row button { padding:0; aspect-ratio:1.2; overflow:hidden; border:1px solid var(--line); background:#ddd; cursor:pointer; }
.thumb-row button.active { border:2px solid var(--rust); }
.thumb-row img { width:100%; height:100%; object-fit:cover; }
.product-copy h1 { font-size:clamp(38px,5vw,66px); color:#22231d; }
.product-description { color:var(--muted); font:16px/1.7 Georgia,serif; }
.price-line { margin:22px 0; color:var(--rust); font:800 25px Manrope; }
.product-form { padding:25px; background:var(--white); border:1px solid var(--line); }
.product-form label { display:block; margin-bottom:16px; color:var(--muted); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.product-form select,.product-form input { width:100%; margin-top:7px; padding:13px; border:1px solid var(--line); background:white; color:var(--ink); }
.form-pair { display:grid; grid-template-columns:1fr 120px; gap:12px; }
.primary-button { width:100%; min-height:52px; border:0; color:white; background:var(--rust); font-weight:800; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.color-guide { margin-top:25px; padding-top:20px; border-top:1px solid var(--line); }
.color-guide img { width:100%; margin-top:12px; border:1px solid var(--line); }
.product-note { color:var(--muted); font-size:11px; line-height:1.5; }
.catalog-toast { position:fixed; left:50%; bottom:25px; z-index:20; padding:14px 20px; opacity:0; color:white; background:#1b1c18; transform:translate(-50%,20px); transition:.2s; pointer-events:none; }
.catalog-toast.show { opacity:1; transform:translate(-50%,0); }
.catalog-footer { padding:45px 6vw; color:#a9a69b; background:#0c0d0b; text-align:center; font-size:11px; }
.catalog-footer nav { display:flex; flex-wrap:wrap; justify-content:center; gap:20px; margin-bottom:18px; }
.catalog-footer a { color:#d5c4a4; text-decoration:none; }
.catalog-footer a:hover { color:white; }
@media(max-width:850px) {
  .catalog-header nav a:not(.bag-link) { display:none; }
  .collection-hero { min-height:650px; align-items:flex-end; padding:320px 25px 55px; }
  .collection-hero:after { inset:0; background:linear-gradient(0deg,#151612 5%,rgba(21,22,18,.15) 70%),var(--hero) center top/cover no-repeat; }
  .collection-copy { width:100%; }
  .design-grid,.product-layout { grid-template-columns:1fr; }
  .design-card { grid-template-columns:1fr; }
  .design-card img { height:300px; }
  .product-gallery { position:static; }
}
@media(max-width:520px) {
  .catalog-brand span { display:none; }
  .collection-products,.product-main { padding-left:20px; padding-right:20px; }
  .thumb-row { grid-template-columns:repeat(3,1fr); }
  .form-pair { grid-template-columns:1fr; }
}
