.catalog-hero { background: radial-gradient(circle at 15% 15%, rgba(77,150,145,.16), transparent 38%), radial-gradient(circle at 85% 20%, rgba(180,154,194,.18), transparent 38%), linear-gradient(135deg,#f1e8de,#fbf8f3); }
.catalog-section { padding-top: 58px; }
.catalog-filters { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-bottom:38px; }
.catalog-filters a { display:inline-flex; align-items:center; gap:9px; padding:10px 17px; border:1px solid var(--line); border-radius:999px; background:var(--white); font-size:13px; font-weight:800; }
.catalog-filters a.active { color:var(--white); background:var(--turquoise-dark); border-color:var(--turquoise-dark); }
.catalog-filters small { min-width:22px; height:22px; padding:0 6px; display:grid; place-items:center; border-radius:999px; background:rgba(77,150,145,.12); font-size:10px; }
.catalog-filters a.active small { background:rgba(255,255,255,.18); }

.public-catalog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.catalog-product-card { overflow:hidden; border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--white); box-shadow:0 14px 40px rgba(45,39,31,.06); transition:transform .22s ease,box-shadow .22s ease; }
.catalog-product-card:hover { transform:translateY(-5px); box-shadow:0 22px 55px rgba(45,39,31,.12); }
.catalog-product-visual { position:relative; height:300px; overflow:hidden; display:grid; place-items:center; color:var(--white); }
.catalog-product-visual::before { content:""; position:absolute; width:210px; height:210px; border:1px solid rgba(255,255,255,.35); transform:rotate(11deg); }
.catalog-product-visual i { position:absolute; border-radius:50%; background:rgba(255,255,255,.12); }
.catalog-product-visual i:first-of-type { width:170px;height:170px;left:-55px;top:-45px; }
.catalog-product-visual i:last-of-type { width:110px;height:110px;right:-25px;bottom:-20px; }
.visual-turquoise { background:linear-gradient(145deg,#2d6764,#6aa7a2); }
.visual-gold { background:linear-gradient(145deg,#815f25,#d2b36f); }
.visual-lilac { background:linear-gradient(145deg,#675374,#b29bc0); }
.visual-ink { background:linear-gradient(145deg,#292521,#756c62); }
.catalog-monogram { position:relative; z-index:2; font:100px Georgia,serif; opacity:.94; text-shadow:0 12px 30px rgba(0,0,0,.18); }
.catalog-category { position:absolute; left:21px; bottom:20px; z-index:2; font-size:10px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.catalog-product-body { padding:25px; }
.catalog-product-body>span { color:var(--gold); font-size:10px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.catalog-product-body h2 { margin:6px 0 10px; font:26px Georgia,serif; line-height:1.15; }
.catalog-product-body p { min-height:78px; margin:0 0 20px; color:var(--muted); font-size:14px; }
.catalog-product-footer { display:flex; justify-content:space-between; align-items:center; gap:12px; padding-top:16px; border-top:1px solid var(--line); }
.catalog-product-footer strong { font-size:13px; }
.catalog-product-footer a { color:var(--turquoise-dark); font-size:13px; font-weight:900; }
.empty-state { max-width:700px; margin:auto; padding:55px; text-align:center; border-radius:var(--radius-lg); background:var(--white); border:1px solid var(--line); }
.empty-state strong { font:30px Georgia,serif; }
.empty-state p { color:var(--muted); }
.catalog-help { padding:68px 0; color:var(--white); background:linear-gradient(120deg,#6d5a79,#a68caf); }
.catalog-help-layout { display:flex; justify-content:space-between; align-items:center; gap:40px; }
.catalog-help h2 { margin:8px 0; font:43px Georgia,serif; }
.catalog-help p { margin:0; color:rgba(255,255,255,.75); }

.product-detail { padding:72px 0 90px; }
.product-detail-grid { display:grid; grid-template-columns:.95fr 1.05fr; gap:70px; align-items:center; }
.product-detail-visual { position:relative; min-height:590px; display:grid; place-items:center; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow); }
.product-detail-visual::before,.product-detail-visual::after { content:""; position:absolute; border-radius:50%; border:1px solid rgba(255,255,255,.25); }
.product-detail-visual::before { width:440px;height:440px; }
.product-detail-visual::after { width:330px;height:330px; }
.detail-frame { position:relative; z-index:2; width:310px; aspect-ratio:.85; padding:18px; display:grid; place-content:center; text-align:center; color:var(--ink); background:#eee4da; border:17px solid #27231f; box-shadow:0 25px 45px rgba(0,0,0,.25); transform:rotate(-2deg); }
.detail-frame span { font:112px Georgia,serif; }
.detail-frame small { max-width:180px; font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.detail-seal { position:absolute; right:25px; bottom:24px; z-index:3; width:100px;height:100px;display:grid;place-content:center;text-align:center;border-radius:50%;background:var(--gold);color:var(--white);transform:rotate(8deg); }
.detail-seal strong { font:22px Georgia,serif; }.detail-seal span { font-size:10px;text-transform:uppercase;letter-spacing:.12em; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:25px; color:var(--muted); font-size:12px; }
.product-detail-copy h1 { margin:10px 0 15px; font:clamp(42px,5vw,65px) Georgia,serif; line-height:1.03; }
.product-detail-lead { margin:0; color:var(--muted); font-size:18px; }
.detail-price { margin:25px 0; padding:18px 22px; display:grid; border-left:4px solid var(--gold); background:var(--sand); }
.detail-price small { color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.12em; }
.detail-price strong { font:24px Georgia,serif; }
.detail-description h2,.detail-options h2 { margin:0 0 7px;font:21px Georgia,serif; }
.detail-description p { margin:0;color:var(--muted); }
.detail-options { margin-top:22px; }
.detail-options>div { display:flex;flex-wrap:wrap;gap:9px; }
.detail-options span { display:grid;padding:9px 13px;border:1px solid var(--line);border-radius:10px;font-size:12px; }
.detail-features { display:grid;grid-template-columns:1fr 1fr;gap:8px 15px;margin:25px 0;color:var(--muted);font-size:13px;font-weight:700; }
.detail-actions { display:flex;flex-wrap:wrap;gap:10px; }
.customization-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:20px; }
.customization-grid article { padding:29px;border-radius:var(--radius-md);background:var(--white);border:1px solid var(--line); }
.customization-grid b { color:var(--gold);font-size:12px;letter-spacing:.14em; }
.customization-grid h3 { margin:8px 0;font:24px Georgia,serif; }
.customization-grid p { margin:0;color:var(--muted); }

.inspiration-gallery { display:grid;grid-template-columns:repeat(2,1fr);gap:22px; }
.idea-card { min-height:390px;padding:35px;display:flex;flex-direction:column;justify-content:flex-end;border-radius:var(--radius-lg);color:var(--white);box-shadow:0 18px 45px rgba(45,39,31,.12); }
.idea-card span { font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;opacity:.75; }
.idea-card h2 { max-width:520px;margin:8px 0 10px;font:35px Georgia,serif;line-height:1.08; }
.idea-card p { max-width:560px;margin:0 0 20px;color:rgba(255,255,255,.76); }
.idea-card a { font-weight:900; }
.idea-family { background:linear-gradient(145deg,#2d6864,#6ea49f); }
.idea-couple { background:linear-gradient(145deg,#745f80,#b199bd); }
.idea-celebration { background:linear-gradient(145deg,#825f27,#d0ad65); }
.idea-memory { background:linear-gradient(145deg,#3a3530,#887b6e); }
.idea-thanks { background:linear-gradient(145deg,#755467,#bf91a9); }
.idea-corporate { background:linear-gradient(145deg,#304f66,#7597ac); }
.inspiration-guide { padding:78px 0;color:var(--white);background:#294e4b; }
.inspiration-guide-grid { display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start; }
.inspiration-guide h2 { margin:9px 0;font:44px Georgia,serif;line-height:1.08; }
.inspiration-guide ol { margin:0;padding:0;list-style:none;counter-reset:guide;display:grid;gap:14px; }
.inspiration-guide li { position:relative;padding:18px 20px 18px 65px;border:1px solid rgba(255,255,255,.14);border-radius:15px;counter-increment:guide; }
.inspiration-guide li::before { content:counter(guide);position:absolute;left:20px;top:18px;width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.14);font-size:11px;font-weight:900; }
.inspiration-guide li { display:grid; }.inspiration-guide li span { color:rgba(255,255,255,.68);font-size:13px; }

.faq-layout { display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;align-items:start; }
.faq-intro { position:sticky;top:120px;padding:34px;border-radius:var(--radius-lg);background:var(--sand); }
.faq-intro h2 { margin:8px 0 12px;font:38px Georgia,serif;line-height:1.1; }
.faq-intro p { color:var(--muted); }
.faq-list { display:grid;gap:12px; }
.faq-list details { overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--white); }
.faq-list summary { position:relative;padding:20px 55px 20px 22px;cursor:pointer;list-style:none;font-weight:900; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);font-size:25px;color:var(--turquoise-dark); }
.faq-list details[open] summary::after { content:"−"; }
.faq-list details>div { padding:0 22px 19px;color:var(--muted); }
.faq-list details p { margin:0; }

@media(max-width:960px){
    .public-catalog-grid{grid-template-columns:1fr 1fr}
    .product-detail-grid{grid-template-columns:1fr}
    .product-detail-visual{min-height:500px}
    .inspiration-guide-grid,.faq-layout{grid-template-columns:1fr}
    .faq-intro{position:static}
}
@media(max-width:650px){
    .public-catalog-grid,.inspiration-gallery,.customization-grid{grid-template-columns:1fr}
    .catalog-product-visual{height:270px}
    .catalog-product-footer{align-items:flex-start;flex-direction:column}
    .catalog-help-layout{display:grid;text-align:center;justify-items:center}
    .catalog-help h2{font-size:35px}
    .product-detail{padding-top:30px}
    .product-detail-visual{min-height:400px}
    .detail-frame{width:230px;border-width:12px}
    .detail-frame span{font-size:85px}
    .detail-seal{width:78px;height:78px}
    .detail-features{grid-template-columns:1fr}
    .detail-actions .button{width:100%}
    .idea-card{min-height:330px;padding:27px}
    .idea-card h2{font-size:30px}
    .inspiration-guide h2{font-size:35px}
}
