.catalog-tabs { display:flex; flex-wrap:wrap; gap:12px; margin:0 0 24px; }
.catalog-tabs [aria-current="page"] { background:#e3e9db; color:#263c32; }
.catalog-editor { margin-bottom:24px; }
.catalog-form { display:grid; gap:18px; min-width:0; }
.catalog-form label { display:grid; gap:7px; min-width:0; }
.catalog-form .check-label { display:flex; }
.catalog-form input, .catalog-form textarea, .catalog-form select { max-width:100%; min-width:0; width:100%; box-sizing:border-box; }
.catalog-form input:not([type="checkbox"]):not([type="hidden"]), .catalog-form textarea, .catalog-form select { min-height:44px; padding:10px 12px; border:1px solid #d8ddd2; border-radius:12px; background:#fff; color:#263c32; font:inherit; }
.catalog-form fieldset { min-width:0; border:1px solid #d8ddd2; border-radius:16px; padding:16px; display:grid; gap:16px; }
.catalog-form fieldset:disabled { opacity:.75; }
.catalog-form :focus-visible { outline:2px solid #667e62; outline-offset:3px; }
.catalog-form input[type="checkbox"] { width:auto; }
.catalog-form button { justify-self:start; }
.catalog-preview { max-width:100%; width:180px; height:120px; object-fit:contain; border-radius:16px; background:#f4f3e9; }
.catalog-delete { margin-top:16px; }
.catalog-editor h2, .catalog-delete button { overflow-wrap:anywhere; }
.presentation-list { display:grid; gap:48px; margin-top:40px; }
.presentation-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:clamp(24px,5vw,80px); }
.presentation-media { position:relative; margin:0; min-width:0; background:#f1f0e5; border-radius:28px; overflow:hidden; }
.presentation-media img { display:block; width:100%; height:auto; max-height:380px; aspect-ratio:4/3; object-fit:cover; }
/* Legacy CMS icons stay compact if an editor deliberately retains one. */
.presentation-media.presentation-icon { max-width:144px; }
.presentation-media.presentation-icon img { aspect-ratio:1; object-fit:contain; padding:20%; box-sizing:border-box; }
.presentation-media figcaption { position:absolute; left:12px; bottom:12px; max-width:calc(100% - 24px); padding:5px 9px; border-radius:8px; background:rgba(255,254,251,.9); color:var(--muted); font-size:11px; }
.presentation-copy { min-width:0; overflow-wrap:anywhere; }
.presentation-copy h3 { font:500 clamp(25px,2.5vw,36px)/1.25 var(--serif); margin:0 0 18px; letter-spacing:-.02em; }
.presentation-copy > p { margin:0 0 16px; color:var(--muted); line-height:1.8; white-space:pre-line; }
.presentation-points { display:grid; gap:12px; margin:22px 0 0; padding:0; list-style:none; }
.presentation-points li { position:relative; padding-left:26px; line-height:1.65; }
.presentation-points li::before { content:""; position:absolute; left:3px; top:.65em; width:6px; height:6px; border-radius:50%; background:var(--green); box-shadow:0 0 0 4px var(--green-soft); }
.presentation-row:nth-child(even) .presentation-media { grid-column:2; grid-row:1; }
.presentation-row:nth-child(even) .presentation-copy { grid-column:1; grid-row:1; }
.clinic-price-service { min-width:0; overflow-wrap:anywhere; }
@media(max-width:767px) {
  .presentation-row { grid-template-columns:minmax(0,1fr); gap:24px; }
  .presentation-media img { aspect-ratio:16/9; max-height:320px; }
  .presentation-copy h3 { margin-bottom:12px; }
  .presentation-points { margin-top:18px; }
  .presentation-row:nth-child(even) .presentation-media, .presentation-row:nth-child(even) .presentation-copy { grid-column:auto; grid-row:auto; }
  .presentation-list { gap:40px; }
}
