.vitamin-shell { max-width: 1600px; }
.vitamin-hero { display: grid; grid-template-columns: 1fr minmax(280px, .4fr); gap: 50px; align-items: center; padding: 36px 40px; margin-bottom: 24px; background: #fdf3e6; border: 1px solid #eadbcb; border-radius: 22px; }
.vitamin-hero h1 { font-size: clamp(2rem, 3.3vw, 3.3rem); line-height: 1.15; font-weight: 500; }
.vitamin-intro { margin-top: 18px; color: var(--muted); line-height: 1.8; font-size: .95rem; }
.menu-counts { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.menu-counts span { padding: 7px 12px; border-radius: 30px; background: #fffaf3; border: 1px solid #eadbcb; font-size: .75rem; }
.clinic-reference { border-left: 1px solid #decbbb; padding: 20px 0 20px 32px; }
.clinic-reference h2 { margin-top: 12px; font-size: 1.2rem; font-weight: 500; letter-spacing: -.04em; }
.clinic-reference p { font-size: .85rem; line-height: 1.8; color: var(--muted); margin: 14px 0; }
.clinic-reference a { font-size: .9rem; color: var(--primary); text-underline-offset: 4px; }
.clinic-reference-note { display: block; margin-top: 22px; color: var(--muted); font-size: .7rem; }
.menu-toolbar { display: flex; flex-wrap: wrap; gap: 22px; align-items: end; padding: 20px; background: #fff; border: 1px solid var(--line); border-radius: 16px; }
.menu-search { flex: 1 1 280px; }
.menu-search label, .menu-sort label, .menu-filters legend { display: block; font-size: .72rem; color: var(--muted); margin-bottom: 9px; font-weight: 500; }
.menu-toolbar input[type="search"], .menu-toolbar select { width: 100%; min-height: 44px; border: 1px solid #d8d0c8; background: #fdfbf8; border-radius: 10px; padding: 0 12px; color: var(--text); font: inherit; font-size: .82rem; }
.menu-filters { display: flex; flex-wrap: wrap; gap: 5px; border: 0; padding: 0; margin: 0; }
.menu-filters label { position: relative; cursor: pointer; }
.menu-filters input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.menu-filters span { display: inline-flex; align-items: center; min-height: 44px; border: 1px solid var(--line); border-radius: 30px; padding: 0 13px; font-size: .75rem; }
.menu-filters input:checked + span { background: #1c1b1b; border-color: #1c1b1b; color: #fff; }
.menu-filters input:focus-visible + span { outline: 3px solid var(--primary); outline-offset: 3px; }
.menu-results-bar { display: flex; justify-content: space-between; margin: 24px 2px 16px; gap: 16px; color: var(--muted); font-size: .77rem; }
.vitamin-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: start; }
.vitamin-card { border: 1px solid var(--line); background: #fff; border-radius: 18px; padding: 24px; border-top: 3px solid #de8b5a; }
.vitamin-card.category-shot { border-top-color: #b8798c; }
.vitamin-card.category-addon { border-top-color: #798e73; }
.vitamin-card-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 18px; }
.treatment-category { font-size: .66rem; text-transform: uppercase; letter-spacing: .1em; color: #8c4b27; background: #fff1e6; padding: 7px 10px; border-radius: 6px; }
.category-shot .treatment-category { color: #814655; background: #faf0f3; }
.category-addon .treatment-category { color: #4b6445; background: #f0f5ed; }
.treatment-price { font-size: 1.8rem; font-weight: 500; letter-spacing: -.06em; }
.vitamin-card h2 { font-size: 1.25rem; line-height: 1.4; letter-spacing: -.04em; font-weight: 500; scroll-margin-top: 24px; }
.treatment-summary { margin-top: 8px; color: var(--muted); font-size: .85rem; line-height: 1.7; }
.treatment-ingredients { margin-top: 24px; min-height: 110px; }
.treatment-ingredients h3 { font-size: .65rem; font-weight: 500; color: var(--muted); letter-spacing: .08em; text-transform: uppercase; margin-bottom: 10px; }
.treatment-ingredients ul { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; padding: 0; margin: 0; }
.treatment-ingredients li { border-radius: 7px; background: #f8f5f1; border: 1px solid #eee7df; padding: 6px 8px; font-size: .73rem; line-height: 1.5; }
.not-listed { color: var(--muted); font-size: .8rem; line-height: 1.6; }
.treatment-note { font-size: .78rem; line-height: 1.7; padding: 12px; border-radius: 8px; background: #fff4e9; color: #795033; margin-bottom: 16px; }
.treatment-description { border-top: 1px solid var(--line); padding-top: 14px; }
.treatment-description summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; cursor: pointer; list-style: none; font-size: .77rem; font-weight: 500; color: #514b45; }
.treatment-description summary::-webkit-details-marker { display: none; }
.treatment-description summary span { font-size: 1.2rem; font-weight: 400; }
.treatment-description[open] summary span { transform: rotate(45deg); }
.treatment-description ul { margin: 14px 0 0; padding-left: 18px; color: var(--muted); font-size: .8rem; line-height: 1.8; }
.treatment-description li { margin-bottom: 8px; }
.treatment-description p { margin-top: 12px; font-size: .78rem; line-height: 1.7; color: var(--muted); }
.menu-source-note { padding: 24px; margin-top: 28px; border-radius: 14px; border: 1px solid var(--line); color: var(--muted); background: #f4efe8; font-size: .78rem; line-height: 1.8; }
.menu-source-note strong { color: #514b45; font-weight: 500; }
.menu-source-note p { max-width: 130ch; margin: 8px 0 14px; }
.menu-source-note summary { cursor: pointer; color: var(--primary); }
.brochure-links { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 12px; }
.brochure-links a, .workspace-footer a { color: var(--primary); text-underline-offset: 3px; }
.workspace-footer a { margin-left: auto; }
.menu-empty { text-align: center; padding: 50px 20px; background: #fff; border: 1px dashed var(--line); border-radius: 18px; }
.menu-empty h2 { font-size: 1.2rem; font-weight: 500; }
.menu-empty p { margin: 12px 0 20px; color: var(--muted); }
@media (max-width: 1100px) { .vitamin-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .vitamin-hero { gap: 25px; padding: 28px; } .menu-toolbar { gap: 16px; } }
@media (max-width: 760px) { .vitamin-hero { grid-template-columns: 1fr; } .clinic-reference { border-left: 0; border-top: 1px solid #decbbb; padding: 20px 0 0; } .vitamin-grid { grid-template-columns: 1fr; } }
@media print { .menu-toolbar, .brand-bar-actions, .workspace-footer, .menu-source-note { display: none; } .vitamin-hero { padding: 16px; } .vitamin-grid { grid-template-columns: repeat(2, 1fr); } .vitamin-card { break-inside: avoid; box-shadow: none; } }

.menu-results-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; }
#menu-expand { border: 0; padding: 0; background: transparent; color: var(--primary); text-decoration: underline; text-underline-offset: 4px; font: inherit; cursor: pointer; }
.menu-results-bar { align-items: center; }
