/* CDO Travel Guias — editorial content blocks / TOC / sidebar
 * STEP 7C.2 Design System convergence.
 */
.cdo-guia-shell{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:start}
.cdo-guia-content{min-width:0}
.cdo-guia-sidebar{min-width:0;width:100%;box-sizing:border-box}
.cdo-guia-sidebar__stack{position:sticky;top:calc(var(--cdo-header-height,90px) + 24px);display:flex;flex-direction:column;gap:20px;width:100%;box-sizing:border-box}
.cdo-guia-content h2[id]{scroll-margin-top:calc(var(--cdo-header-height,90px) + 26px)}

.cdo-guia-toc{width:100%;box-sizing:border-box;border:1px solid #eae6fa;border-radius:var(--cdo-ds-radius-inner,18px);background:var(--cdo-ds-color-surface,#fff);overflow:hidden;box-shadow:none}
.cdo-guia-toc--desktop{position:relative;top:auto;margin:0}
.cdo-guia-toc--mobile{display:none;margin:24px 0}
.cdo-guia-toc__toggle{appearance:none;width:100%;border:0;background:transparent;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--cdo-ds-color-heading,var(--cdo-navy,#1f3556));font:inherit;font-size:var(--cdo-ds-text-body,16px);font-weight:var(--cdo-ds-weight-strong,700);text-align:left;cursor:pointer;box-shadow:none}
.cdo-guia-toc__toggle i{font-size:14px}
.cdo-guia-toc__panel{padding:0 18px 18px}
.cdo-guia-toc__panel[hidden]{display:none}
.cdo-guia-toc ol{list-style:none;margin:0;padding:0}
.cdo-guia-toc li{margin:0}
.cdo-guia-toc li+li{margin-top:10px}
.cdo-guia-toc .level-3{padding-left:16px}
.cdo-guia-toc a{display:block;color:var(--cdo-ds-color-muted,var(--cdo-muted,#6b6b6b));text-decoration:none;font-size:var(--cdo-ds-text-description,15px);line-height:1.45;font-weight:400;transition:color .18s ease;transform:none}
.cdo-guia-toc a:hover,.cdo-guia-toc a.is-active{color:var(--cdo-ds-color-primary,var(--cdo-primary,#683bcd))}
.cdo-guia-toc a.is-active{font-weight:var(--cdo-ds-weight-strong,700);transform:none}
.cdo-guia-toc a:focus-visible,.cdo-guia-toc__toggle:focus-visible{outline:2px solid var(--cdo-ds-color-secondary,var(--cdo-secondary,#00d0d7));outline-offset:2px}

.cdo-guia-media{margin:32px 0}
.cdo-guia-media img{width:100%;height:auto;border-radius:var(--cdo-ds-radius-inner,18px);box-shadow:none}
.cdo-guia-media figcaption{font-size:var(--cdo-ds-text-caption,13px);line-height:1.45;margin-top:8px;color:var(--cdo-ds-color-muted,var(--cdo-muted,#6b6b6b))}
.cdo-guia-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:32px 0}
.cdo-guia-gallery figure{margin:0}
.cdo-guia-gallery img{width:100%;height:100%;object-fit:cover;border-radius:var(--cdo-ds-radius-inner,18px);box-shadow:none}
.cdo-guia-placeholder{margin:24px 0;padding:18px;border:1px dashed #eae6fa;border-radius:var(--cdo-ds-radius-inner,18px);background:var(--cdo-ds-color-surface-soft,#eef9fb);display:flex;flex-direction:column;gap:5px;font-size:var(--cdo-ds-text-description,15px);line-height:1.5;color:var(--cdo-ds-color-body,var(--cdo-muted,#6b6b6b))}
.cdo-guia-placeholder strong{color:var(--cdo-ds-color-primary,var(--cdo-primary,#683bcd));font-weight:var(--cdo-ds-weight-strong,700)}
.cdo-guia-placeholder small{font-size:var(--cdo-ds-text-caption,13px);color:var(--cdo-ds-color-muted,var(--cdo-muted,#6b6b6b))}

.cdo-guia-sidebar-widgets{display:flex;flex-direction:column;gap:18px;width:100%}
.cdo-guia-sidebar-widget{width:100%;margin:0;box-sizing:border-box}
.cdo-guia-sidebar-widget img{display:block;max-width:100%;height:auto}
.cdo-guia-sidebar-widget__title{margin:0 0 10px;font-size:var(--cdo-ds-text-body,16px);line-height:1.3;font-weight:var(--cdo-ds-weight-strong,700);color:var(--cdo-ds-color-heading,var(--cdo-navy,#1f3556))}
.cdo-guia-sidebar-widget .widget-title{margin-top:0}
.cdo-guia-sidebar-widget iframe{max-width:100%}

@media(max-width:1100px){
  .cdo-guia-shell{display:block}
  .cdo-guia-sidebar{display:none}
  .cdo-guia-toc--mobile{display:block}
}
@media(max-width:680px){
  .cdo-guia-gallery{grid-template-columns:1fr}
  .cdo-guia-toc__toggle{padding:14px 16px;font-size:var(--cdo-ds-text-description,15px)}
  .cdo-guia-toc__panel{padding:0 16px 16px}
}
