.catalog-body { background: #f5f1ef; }
.catalog-page { --ink:#342d3b; --muted:#726978; --rose:#ad4c72; --mint:#dff7f2; width:min(1180px,calc(100% - 32px)); min-height:auto; margin:28px auto 72px; color:var(--ink); font-family:manrope,roboto,sans-serif; }
.catalog-page * { box-sizing:border-box; }
.catalog-page h1,.catalog-page h2,.catalog-page h3,.catalog-page p { margin-left:0; margin-right:0; }
.catalog-breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; margin:0 4px 20px; color:var(--muted); font-size:14px; }
.catalog-breadcrumbs a:any-link { color:var(--rose); }
.catalog-hero { display:grid; grid-template-columns:1.08fr .92fr; min-height:590px; overflow:hidden; border-radius:36px; background:linear-gradient(135deg,#fff9f6,#f9eaf2 55%,#e4f7f4); box-shadow:0 22px 60px rgba(74,49,69,.12); }
.catalog-hero__copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(38px,6vw,76px); }
.catalog-eyebrow { display:block; width:fit-content; margin-bottom:16px; color:var(--rose); font-size:13px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.catalog-hero h1 { margin:0 0 22px; font-family:roboto_slab,serif; font-size:clamp(42px,5vw,68px); line-height:1.02; letter-spacing:-.04em; }
.catalog-hero p { max-width:640px; color:var(--muted); font-size:19px; line-height:1.55; }
.catalog-hero__image { min-height:590px; margin:0; overflow:hidden; }
.catalog-hero__image img { width:100%; height:100%; object-fit:cover; }
.catalog-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.catalog-button { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:0 24px; border-radius:999px; font-weight:750; }
.catalog-button--primary:any-link { background:var(--rose); color:#fff; box-shadow:0 9px 24px rgba(145,56,92,.2); }
.catalog-button--secondary:any-link { border:1px solid rgba(52,45,59,.14); background:rgba(255,255,255,.8); color:var(--ink); }
.catalog-section { padding-top:88px; }
.catalog-section__heading { max-width:740px; margin-bottom:34px; }
.catalog-section__heading h2,.catalog-related h2,.catalog-cta h2 { margin:0 0 14px; font-family:roboto_slab,serif; font-size:clamp(32px,4vw,48px); line-height:1.08; letter-spacing:-.025em; }
.catalog-section__heading p,.catalog-cta p { color:var(--muted); font-size:18px; line-height:1.55; }
.catalog-category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.catalog-category-grid--large { grid-template-columns:repeat(2,minmax(0,1fr)); }
.catalog-category-card { overflow:hidden; border-radius:24px; background:#fff; box-shadow:0 13px 38px rgba(65,45,63,.08); }
.catalog-category-card a:any-link { display:block; color:var(--ink); }
.catalog-category-card img { width:100%; height:250px; object-fit:cover; transition:transform .35s ease; }
.catalog-category-card:hover img { transform:scale(1.035); }
.catalog-category-card div { padding:22px; }
.catalog-category-card h3 { margin:0 0 8px; font-family:roboto_slab,serif; font-size:22px; }
.catalog-category-card span { color:var(--rose); font-weight:700; }
.catalog-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:280px; gap:14px; }
.catalog-gallery figure { margin:0; overflow:hidden; border-radius:22px; background:#e8e1df; }
.catalog-gallery__wide { grid-column:span 2; grid-row:span 2; }
.catalog-gallery img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.catalog-gallery figure:hover img { transform:scale(1.025); }
.catalog-products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.catalog-product { overflow:hidden; border-radius:18px; background:#fff; box-shadow:0 10px 28px rgba(65,45,63,.07); }
.catalog-product img { width:100%; height:260px; object-fit:cover; }
.catalog-product div { padding:16px; }
.catalog-product h3 { margin:0 0 8px; font-size:17px; }
.catalog-product strong { color:var(--rose); }
.catalog-related { margin-top:82px; }
.catalog-related > div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.catalog-related a:any-link { display:flex; justify-content:space-between; gap:12px; padding:18px; border:1px solid #e3dadd; border-radius:14px; background:#fff; color:var(--ink); font-weight:700; }
.catalog-related a span { color:var(--rose); }
.catalog-cta { display:grid; grid-template-columns:1.25fr .75fr; gap:40px; align-items:center; margin-top:88px; padding:clamp(34px,6vw,66px); border-radius:32px; background:linear-gradient(135deg,var(--mint),#f1e4fa); }
.catalog-cta .catalog-actions { justify-content:flex-end; }
.site-map { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.site-map section { display:flex; flex-direction:column; gap:7px; padding:26px; border-radius:20px; background:#fff; box-shadow:0 10px 30px rgba(65,45,63,.07); }
.site-map h2 { margin:0 0 10px; font-family:roboto_slab,serif; font-size:23px; }
.site-map a:any-link { padding:7px 0; color:var(--muted); }
@media(max-width:850px){.catalog-hero{grid-template-columns:1fr}.catalog-hero__image{min-height:520px}.catalog-category-grid,.catalog-category-grid--large{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-products{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-related>div{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-cta{grid-template-columns:1fr}.catalog-cta .catalog-actions{justify-content:flex-start}.site-map{grid-template-columns:1fr}}
@media(max-width:560px){.catalog-page{width:calc(100% - 20px);margin-top:16px}.catalog-hero{border-radius:24px}.catalog-hero__copy{padding:42px 28px}.catalog-hero h1{font-size:39px}.catalog-hero__image{min-height:420px}.catalog-section{padding-top:64px}.catalog-category-grid,.catalog-category-grid--large,.catalog-products,.catalog-related>div{grid-template-columns:1fr}.catalog-category-card img{height:230px}.catalog-gallery{grid-template-columns:1fr;grid-auto-rows:360px}.catalog-gallery__wide{grid-column:auto;grid-row:auto}.catalog-product img{height:320px}.catalog-cta{margin-top:64px;padding:32px 24px;border-radius:24px}.catalog-button{width:100%}}
