/* CDO Travel Guias — Explorer / cards / discovery components
 * STEP 7C.2 Design System convergence.
 */

.cdo-guias-grid,
.cdo-guias-chips,
.cdo-guias-place-grid,
.cdo-guias-explorer-hero,
.cdo-guias-discovery,
.cdo-guias-topic-discovery,
.cdo-guias-duration,
.cdo-guias-explorer-results,
.cdo-guias-filter-page{
  font-family:var(--cdo-ds-font-body,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif);
  color:var(--cdo-ds-color-text);
  box-sizing:border-box;
}
.cdo-guias-grid * ,
.cdo-guias-chips * ,
.cdo-guias-place-grid * ,
.cdo-guias-explorer-hero * ,
.cdo-guias-discovery * ,
.cdo-guias-topic-discovery * ,
.cdo-guias-duration * ,
.cdo-guias-explorer-results * ,
.cdo-guias-filter-page *{box-sizing:border-box}

/* Editorial Guide cards */
.cdo-guias-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cdo-guia-card{background:var(--cdo-ds-color-surface);border:1px solid color-mix(in srgb,var(--cdo-ds-color-primary) 14%,var(--cdo-ds-color-surface));border-radius:22px;overflow:hidden;box-shadow:none;height:100%;transition:border-color .18s ease}
.cdo-guia-card:hover{border-color:color-mix(in srgb,var(--cdo-ds-color-primary) 14%,var(--cdo-ds-color-surface));box-shadow:none;transform:none}
.cdo-guia-card__media{display:block;aspect-ratio:16/10;background:var(--cdo-ds-color-surface-soft);overflow:hidden}
.cdo-guia-card__media img{width:100%;height:100%;object-fit:cover;display:block}
.cdo-guia-card__media:focus-visible,.cdo-guia-card__title a:focus-visible,.cdo-guia-card__link:focus-visible{outline:2px solid var(--cdo-ds-color-secondary);outline-offset:3px;border-radius:4px}
.cdo-guia-card__placeholder{display:block;width:100%;height:100%;background:var(--cdo-ds-color-process-surface-primary);background:linear-gradient(135deg,color-mix(in srgb,var(--cdo-ds-color-primary) 9%,var(--cdo-ds-color-surface)),color-mix(in srgb,var(--cdo-ds-color-secondary) 9%,var(--cdo-ds-color-surface)))}
.cdo-guia-card__body{padding:20px}
.cdo-guia-card__title{font-family:var(--cdo-ds-font-heading,var(--cdo-ds-font-body,inherit));font-size:21px;line-height:1.2;font-weight:var(--cdo-ds-weight-heading,800);letter-spacing:-.02em;margin:0 0 10px}
.cdo-guia-card__title a{color:var(--cdo-ds-color-heading);text-decoration:none}
.cdo-guia-card__title a:hover{color:var(--cdo-ds-color-primary);text-decoration:none}
.cdo-guia-card__excerpt{font-size:var(--cdo-ds-text-description,15px);font-weight:400;color:var(--cdo-ds-color-body);line-height:1.6;margin:0 0 16px}

/* Chips / profiles */
.cdo-guias-chips{display:flex;flex-wrap:wrap;gap:10px}
.cdo-guias-chip{display:inline-flex;gap:calc(var(--cdo-ds-space-lg,32px)/3);align-items:center;padding:10px 14px;border:1px solid color-mix(in srgb,var(--cdo-ds-color-primary) 14%,var(--cdo-ds-color-surface));border-radius:var(--cdo-ds-radius-pill,999px);text-decoration:none;color:var(--cdo-ds-color-heading);background:var(--cdo-ds-color-surface);font-size:var(--cdo-ds-text-small,14px);font-weight:var(--cdo-ds-weight-strong,700);box-shadow:none}
.cdo-guias-chip:hover{border-color:color-mix(in srgb,var(--cdo-ds-color-primary) 24%,color-mix(in srgb,var(--cdo-ds-color-primary) 14%,var(--cdo-ds-color-surface)));color:var(--cdo-ds-color-primary);text-decoration:none}
.cdo-guias-chip:focus-visible{outline:2px solid var(--cdo-ds-color-secondary);outline-offset:2px}
.cdo-guias-chip span{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:var(--cdo-ds-radius-pill,999px);background:color-mix(in srgb,var(--cdo-ds-color-primary) 8%,var(--cdo-ds-color-surface));color:var(--cdo-ds-color-primary);font-size:var(--cdo-ds-text-caption,13px);font-weight:var(--cdo-ds-weight-strong,700)}

/* Places */
.cdo-guias-place-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cdo-guias-place{position:relative;display:block;aspect-ratio:4/3;border-radius:var(--cdo-ds-radius-inner,18px);overflow:hidden;background:var(--cdo-ds-color-surface-soft);text-decoration:none;box-shadow:none;transform:none}
.cdo-guias-place:hover{transform:none;box-shadow:none}
.cdo-guias-place:focus-visible{outline:2px solid var(--cdo-ds-color-secondary);outline-offset:3px}
.cdo-guias-place img{width:100%;height:100%;object-fit:cover;display:block}
.cdo-guias-place span{position:absolute;left:16px;right:16px;bottom:14px;background:color-mix(in srgb,var(--cdo-ds-color-surface) 94%,transparent);color:var(--cdo-ds-color-heading);border-radius:var(--cdo-ds-radius-control,10px);padding:10px 12px;font-size:var(--cdo-ds-text-small,14px);line-height:1.35;font-weight:var(--cdo-ds-weight-strong,700)}
.cdo-guias-empty{padding:18px;border:1px dashed color-mix(in srgb,var(--cdo-ds-color-primary) 14%,var(--cdo-ds-color-surface));border-radius:var(--cdo-ds-radius-inner,18px);font-size:var(--cdo-ds-text-description,15px);line-height:1.55;color:var(--cdo-ds-color-body);background:var(--cdo-ds-color-surface-soft)}

/* Explorer / Discovery */
.cdo-guias-explorer-hero{padding:36px 0 30px}
.cdo-guias-explorer-hero h1{font-family:var(--cdo-ds-font-heading,var(--cdo-ds-font-body,inherit));margin:0;max-width:900px;font-size:clamp(36px,4.8vw,54px);line-height:1.04;letter-spacing:-.04em;font-weight:var(--cdo-ds-weight-heading,800);color:var(--cdo-ds-color-heading)}
.cdo-guias-explorer-hero p{max-width:780px;margin:16px 0 0;font-size:var(--cdo-ds-text-description,15px);line-height:1.6;color:var(--cdo-ds-color-body)}
.cdo-guias-explorer-hero__actions{display:flex;flex-wrap:wrap;gap:calc(var(--cdo-ds-space-lg,32px)/3);margin-top:22px}
.cdo-guias-explorer-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:1px solid color-mix(in srgb,var(--cdo-ds-color-primary) 14%,var(--cdo-ds-color-surface));border-radius:var(--cdo-ds-radius-control,10px);text-decoration:none!important;font-size:var(--cdo-ds-text-small,14px);font-weight:var(--cdo-ds-weight-strong,700);text-transform:uppercase;letter-spacing:0;color:var(--cdo-ds-color-heading);background:var(--cdo-ds-color-surface);box-shadow:none}
.cdo-guias-explorer-btn:hover{border-color:var(--cdo-ds-color-primary);color:var(--cdo-ds-color-primary);text-decoration:none!important;box-shadow:none;transform:none}
.cdo-guias-explorer-btn:focus-visible{outline:2px solid var(--cdo-ds-color-secondary);outline-offset:2px}
.cdo-guias-explorer-btn--primary,.cdo-guias-explorer-btn--primary:hover{border-color:var(--cdo-ds-color-primary);background:var(--cdo-ds-color-primary);color:var(--cdo-ds-color-surface)!important}

.cdo-guias-discovery,.cdo-guias-topic-discovery,.cdo-guias-duration{margin:32px 0}
.cdo-guias-discovery h2,.cdo-guias-topic-discovery h2,.cdo-guias-duration h2,.cdo-guias-explorer-results>h2{font-family:var(--cdo-ds-font-heading,var(--cdo-ds-font-body,inherit));margin:0 0 16px;font-size:30px;line-height:1.2;font-weight:var(--cdo-ds-weight-heading,800);letter-spacing:-.025em;color:var(--cdo-ds-color-heading)}
.cdo-guias-discovery__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cdo-guias-discovery__item{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:15px 17px;border:1px solid color-mix(in srgb,var(--cdo-ds-color-primary) 14%,var(--cdo-ds-color-surface));border-radius:var(--cdo-ds-radius-inner,18px);background:var(--cdo-ds-color-surface);color:var(--cdo-ds-color-heading);text-decoration:none!important;font-size:var(--cdo-ds-text-body,16px);font-weight:var(--cdo-ds-weight-strong,700);box-shadow:none;transform:none}
.cdo-guias-discovery__item i{font-size:12px;color:var(--cdo-ds-color-primary)}
.cdo-guias-discovery__item:hover{border-color:color-mix(in srgb,var(--cdo-ds-color-primary) 24%,color-mix(in srgb,var(--cdo-ds-color-primary) 14%,var(--cdo-ds-color-surface)));background:var(--cdo-ds-color-surface);box-shadow:none;transform:none}
.cdo-guias-discovery__item:focus-visible{outline:2px solid var(--cdo-ds-color-secondary);outline-offset:2px}
.cdo-guias-duration__grid{display:flex;flex-wrap:wrap;gap:10px}
.cdo-guias-duration__grid a{display:flex;flex-direction:column;align-items:center;justify-content:center;width:82px;height:82px;border:1px solid color-mix(in srgb,var(--cdo-ds-color-primary) 14%,var(--cdo-ds-color-surface));border-radius:var(--cdo-ds-radius-inner,18px);background:var(--cdo-ds-color-surface);text-decoration:none!important;color:var(--cdo-ds-color-heading);box-shadow:none;transform:none}
.cdo-guias-duration__grid a:hover{border-color:color-mix(in srgb,var(--cdo-ds-color-primary) 24%,color-mix(in srgb,var(--cdo-ds-color-primary) 14%,var(--cdo-ds-color-surface)));background:var(--cdo-ds-color-surface);box-shadow:none;transform:none}
.cdo-guias-duration__grid a:focus-visible{outline:2px solid var(--cdo-ds-color-secondary);outline-offset:2px}
.cdo-guias-duration__grid strong{font-size:24px;line-height:1;font-weight:var(--cdo-ds-weight-heading,800)}
.cdo-guias-duration__grid span{margin-top:4px;font-size:var(--cdo-ds-text-caption,13px);line-height:1.25;color:var(--cdo-ds-color-muted)}
.cdo-guias-explorer-results{margin:34px 0}

/* Explorer pretty routes: /guias/categoria/..., /guias/destino/..., /guias/tema/... */
.cdo-guias-filter-page{padding-top:0;padding-bottom:64px}

/*
 * Unified editorial header rhythm.
 * The semantic breadcrumb remains in the DOM, while the compact context trail
 * assumes the visual role previously occupied by a separate eyebrow.
 */
.cdo-guias-context-header{padding:var(--cdo-ds-space-lg,32px) 0;margin:0}
.cdo-guias-breadcrumb--semantic{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.cdo-guias-context-trail{min-width:0;margin:0 0 calc(var(--cdo-ds-space-lg,32px)/2);font-family:var(--cdo-ds-font-body,inherit);font-size:var(--cdo-ds-text-caption,13px);font-weight:var(--cdo-ds-weight-strong,700);line-height:1.3;text-transform:uppercase;letter-spacing:0}
.cdo-guias-context-trail__track{display:flex;align-items:center;gap:calc(var(--cdo-ds-space-lg,32px)/3);min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.cdo-guias-context-trail__track::-webkit-scrollbar{display:none}
.cdo-guias-context-trail__item{flex:0 0 auto;white-space:nowrap;color:var(--cdo-ds-color-primary)!important;text-decoration:none!important}
.cdo-guias-context-trail a.cdo-guias-context-trail__item:hover{color:var(--cdo-ds-color-heading)!important;text-decoration:none!important}
.cdo-guias-context-trail a.cdo-guias-context-trail__item:focus-visible{outline:2px solid var(--cdo-ds-color-secondary);outline-offset:3px;border-radius:2px}
.cdo-guias-context-trail__separator{flex:0 0 auto;color:var(--cdo-ds-color-muted);font-size:.8em;line-height:1}
.cdo-guias-filter-header h1{font-family:var(--cdo-ds-font-heading,var(--cdo-ds-font-body,inherit));margin:0;color:var(--cdo-ds-color-heading);font-size:clamp(34px,4.8vw,54px);line-height:1.06;letter-spacing:-.04em;font-weight:var(--cdo-ds-weight-heading,800)}
.cdo-guias-filter-header p{max-width:720px;margin:13px 0 0;color:var(--cdo-ds-color-body);font-size:var(--cdo-ds-text-description,15px);line-height:1.6}
.cdo-guias-filter-page .cdo-guias-explorer-results{margin:0}
.cdo-guias-filter-page .cdo-guias-explorer-results>h2{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media(max-width:900px){
  .cdo-guias-grid,.cdo-guias-place-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cdo-guias-discovery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .cdo-guias-grid,.cdo-guias-place-grid{grid-template-columns:1fr;gap:16px}
  .cdo-guias-explorer-hero{padding:28px 0 22px}
  .cdo-guias-explorer-hero h1{font-size:clamp(34px,9vw,40px)}
  .cdo-guias-explorer-hero p{font-size:var(--cdo-ds-text-small,14px)}
  .cdo-guias-discovery__grid{grid-template-columns:1fr}
  .cdo-guias-discovery h2,.cdo-guias-topic-discovery h2,.cdo-guias-duration h2,.cdo-guias-explorer-results>h2{font-size:23px}
  .cdo-guias-duration__grid a{width:72px;height:72px}
  .cdo-guias-filter-page{padding-top:0;padding-bottom:48px}
  .cdo-guias-context-header{padding:var(--cdo-ds-space-lg,32px) 0}
  .cdo-guias-context-trail__track{gap:calc(var(--cdo-ds-space-lg,32px)/4)}
  .cdo-guias-filter-header h1{font-size:clamp(32px,9vw,40px)}
  .cdo-guias-filter-header p{font-size:var(--cdo-ds-text-small,14px)}
}


/* Hub/Satellite family navigation — runtime safety net. */
.cdo-guias-family{margin:var(--cdo-ds-space-xl,48px) 0 0}
.cdo-guias-family__header{margin:0 0 calc(var(--cdo-ds-space-lg,32px)/2)}
.cdo-guias-family__header h2{font-family:var(--cdo-ds-font-heading,var(--cdo-ds-font-body,inherit));margin:0;color:var(--cdo-ds-color-heading);font-size:clamp(26px,3vw,34px);line-height:1.15;letter-spacing:-.025em;font-weight:var(--cdo-ds-weight-heading,800)}
.cdo-guias-family__header p{margin:8px 0 0;color:var(--cdo-ds-color-body);font-size:var(--cdo-ds-text-description,15px);line-height:1.6}
.cdo-guias-family-parent{margin:var(--cdo-ds-space-xl,48px) 0 0;padding:18px 20px;border:1px solid color-mix(in srgb,var(--cdo-ds-color-primary) 14%,var(--cdo-ds-color-surface));border-radius:var(--cdo-ds-radius-inner,18px);background:var(--cdo-ds-color-surface);box-shadow:none}
.cdo-guias-family-parent__label{display:block;margin:0 0 8px;color:var(--cdo-ds-color-primary);font-size:var(--cdo-ds-text-caption,13px);line-height:1.3;font-weight:var(--cdo-ds-weight-strong,700);text-transform:uppercase}
.cdo-guias-family-parent__link{display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--cdo-ds-color-heading)!important;text-decoration:none!important}
.cdo-guias-family-parent__link strong{font-family:var(--cdo-ds-font-heading,var(--cdo-ds-font-body,inherit));font-size:18px;line-height:1.3;font-weight:var(--cdo-ds-weight-heading,800)}
.cdo-guias-family-parent__link span{flex:0 0 auto;color:var(--cdo-ds-color-primary);font-size:var(--cdo-ds-text-small,14px);font-weight:var(--cdo-ds-weight-strong,700);white-space:nowrap}
.cdo-guias-family-parent__link i{margin-left:6px;font-size:.8em}
.cdo-guias-family-parent__link:hover strong{color:var(--cdo-ds-color-primary)}
.cdo-guias-family-parent__link:focus-visible{outline:2px solid var(--cdo-ds-color-secondary);outline-offset:4px;border-radius:4px}
@media(max-width:600px){.cdo-guias-family-parent__link{align-items:flex-start;flex-direction:column;gap:8px}.cdo-guias-family-parent__link span{white-space:normal}}

/* Optional guide-card video media. Playback/lazy/mobile behavior is owned by CDO LAB. */
.cdo-guia-card__media{position:relative}
.cdo-guia-card__media video[data-cdo-hero-video]{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
