.catalog-hero{background:linear-gradient(135deg,#fff4f7,#ffe8ee);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.catalog-hero-inner{max-width:1180px;margin:auto;padding:48px 22px;text-align:center}.catalog-hero h1,.product-info h1{font-family:'Playfair Display',serif}.catalog-hero h1{font-size:44px;margin:5px 0 8px}.catalog-hero p{color:var(--muted);margin:0 auto;max-width:650px}
.catalog-wrap{max-width:1180px;margin:auto;padding:38px 22px 60px}.catalog-toolbar{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.catalog-toolbar input,.catalog-toolbar select{margin:0;padding:13px;border-radius:8px}.catalog-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:22px 0 14px;color:var(--muted);font-size:14px}.catalog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.catalog-card{background:#fff;border:1px solid #f3e1e6;border-radius:14px;overflow:hidden;box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease}.catalog-card:hover{transform:translateY(-4px);box-shadow:0 20px 36px rgba(82,37,48,.15)}.catalog-card-image{aspect-ratio:1/1;background:linear-gradient(135deg,#fff4f7,#fde4eb);display:flex;align-items:center;justify-content:center}.catalog-card-image img{width:100%;height:100%;object-fit:contain;padding:12px}.catalog-card-body{padding:17px}.catalog-card .eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.06em}.catalog-card h3{font-size:16px;line-height:1.3;margin:8px 0;min-height:42px}.catalog-card .category{font-size:12px;color:var(--muted)}.catalog-card .view-link{display:inline-block;margin-top:14px;border:1px solid var(--pink);color:var(--deep);padding:8px 14px;border-radius:7px;font-weight:700;font-size:12px}.pagination{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:30px}.page-btn{border:1px solid var(--line);background:#fff;border-radius:7px;padding:9px 13px;cursor:pointer;font-weight:700}.page-btn.active{background:var(--deep);color:#fff;border-color:var(--deep)}.empty,.notice{grid-column:1/-1;text-align:center;padding:50px;background:var(--soft);border-radius:14px;color:var(--muted)}
.breadcrumb{max-width:1180px;margin:auto;padding:18px 22px 0;font-size:13px;color:var(--muted)}.breadcrumb a{color:var(--deep)}.product-page{max-width:1180px;margin:auto;padding:28px 22px 65px}.product-layout{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:start}.product-gallery,.product-info{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:22px}.main-img{width:100%;aspect-ratio:1/1;object-fit:contain;background:linear-gradient(135deg,#fff8fa,#fff0f4);border-radius:12px}.thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:12px}.thumbs button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:4px;cursor:pointer}.thumbs img{width:100%;aspect-ratio:1/1;object-fit:contain}.product-info h1{font-size:38px;line-height:1.15;margin:8px 0}.product-description{color:#4d4547}.detail-title{margin:25px 0 10px;font-size:15px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--line);background:var(--soft);padding:7px 11px;border-radius:999px;font-size:12px}.colour-chip{display:inline-flex;align-items:center;gap:7px}.swatch{width:13px;height:13px;border-radius:50%;border:1px solid rgba(0,0,0,.15)}.quote-panel{margin-top:28px;padding:20px;background:linear-gradient(135deg,#fff4f7,#ffe8ee);border-radius:12px}.quote-panel p{font-size:13px;color:var(--muted)}
@media(max-width:950px){.catalog-grid{grid-template-columns:repeat(2,1fr)}.product-layout{grid-template-columns:1fr}.catalog-toolbar{grid-template-columns:1fr}}
@media(max-width:600px){.catalog-hero h1{font-size:34px}.catalog-grid{grid-template-columns:1fr}.product-info h1{font-size:31px}.catalog-meta{align-items:flex-start;flex-direction:column}.thumbs{grid-template-columns:repeat(3,1fr)}}

.colour-chip{font:inherit;cursor:pointer;background:#fff;border:1px solid #ead7df;transition:.18s ease}
.colour-chip:hover,.colour-chip.selected{border-color:#c95983;box-shadow:0 0 0 2px rgba(201,89,131,.13);transform:translateY(-1px)}
.colour-chip.selected{background:#fff6f9}
.colour-list{max-height:260px;overflow:auto;padding:3px}

.thumbs button{position:relative;overflow:hidden}.thumbs button.reference-thumb{border-style:dashed}.reference-badge{position:absolute;left:4px;right:4px;bottom:4px;padding:3px 4px;border-radius:5px;background:rgba(53,38,44,.82);color:#fff;font-size:9px;font-weight:700;line-height:1.1;text-align:center}.reference-note{margin:10px 2px 0;color:var(--muted);font-size:12px;line-height:1.45}.reference-note[hidden]{display:none}
