/* CDO Travel Guias — Product Placement System
 * STEP 7C.2.1 editorial polish over the approved Design System convergence.
 * Product data/media remains owned by CDO Products; Guias owns editorial placement.
 */
.cdo-guia-product{
  --cdo-placement-ink:var(--cdo-ds-color-heading,var(--cdo-navy,#1f3556));
  --cdo-placement-muted:var(--cdo-ds-color-body,var(--cdo-muted,#6b6b6b));
  --cdo-placement-purple:var(--cdo-ds-color-primary,var(--cdo-primary,#683bcd));
  --cdo-placement-teal:var(--cdo-ds-color-secondary,var(--cdo-secondary,#00d0d7));
  --cdo-placement-line:#eae6fa;
  --cdo-placement-soft:var(--cdo-ds-color-surface-soft,#eef9fb);
  --cdo-placement-surface:var(--cdo-ds-color-surface,#fff);
  --cdo-placement-radius:22px;
  --cdo-placement-accent:var(--cdo-placement-purple);
  --cdo-placement-accent-soft:color-mix(in srgb,var(--cdo-placement-accent) 7%,#fff);
  --cdo-placement-accent-border:color-mix(in srgb,var(--cdo-placement-accent) 30%,#eae6fa);
  --cdo-placement-accent-contrast:#fff;
  box-sizing:border-box;
  width:100%;
  min-width:0;
  margin:32px 0;
  color:var(--cdo-placement-ink);
  font-family:var(--cdo-ds-font-body,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif);
  overflow-wrap:anywhere;
}
.cdo-guia-product *{box-sizing:border-box}
.cdo-guia-product[data-cdo-tone="purple"]{--cdo-placement-accent:var(--cdo-placement-purple);--cdo-placement-accent-contrast:#fff}
.cdo-guia-product[data-cdo-tone="teal"]{--cdo-placement-accent:var(--cdo-placement-teal);--cdo-placement-accent-contrast:var(--cdo-placement-ink)}
.cdo-guia-product[data-cdo-tone="green"]{--cdo-placement-accent:var(--cdo-ds-color-success,#79b800);--cdo-placement-accent-contrast:var(--cdo-placement-ink)}
.cdo-guia-product[data-cdo-tone="magenta"]{--cdo-placement-accent:var(--cdo-ds-color-accent-magenta,#d6008f);--cdo-placement-accent-contrast:#fff}
.cdo-guia-product[data-cdo-tone="neutral"]{--cdo-placement-accent:var(--cdo-ds-color-muted,var(--cdo-muted,#6b6b6b));--cdo-placement-accent-soft:var(--cdo-ds-color-neutral-soft,#f7f9fb);--cdo-placement-accent-border:var(--cdo-ds-color-neutral-border,#d7e3ea);--cdo-placement-accent-contrast:#fff}
.cdo-guia-product__body{min-width:0}
.cdo-guia-product__title{display:block;color:var(--cdo-placement-ink)!important;text-decoration:none!important;font-family:var(--cdo-ds-font-heading,var(--cdo-ds-font-body,inherit));font-size:20px;line-height:1.22;font-weight:var(--cdo-ds-weight-heading,800);letter-spacing:-.015em}
.cdo-guia-product__title:hover{color:var(--cdo-placement-accent)!important;text-decoration:none!important}
.cdo-guia-product__title:focus-visible{outline:2px solid var(--cdo-placement-accent);outline-offset:3px;border-radius:4px}
.cdo-guia-product__desc{margin:9px 0 0;color:var(--cdo-placement-muted);font-size:var(--cdo-ds-text-description,15px);line-height:1.6;font-weight:400}
.cdo-guia-product__price{color:var(--cdo-placement-ink);font-size:var(--cdo-ds-text-body,16px);line-height:1.25;font-weight:var(--cdo-ds-weight-strong,700);white-space:nowrap}
.cdo-guia-product__price-label{margin-right:4px;color:var(--cdo-ds-color-muted,var(--cdo-muted,#6b6b6b));font-size:var(--cdo-ds-text-caption,13px);font-weight:var(--cdo-ds-weight-strong,700)}
.cdo-guia-product__actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.cdo-guia-product__cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 18px;border:1px solid transparent;border-radius:var(--cdo-ds-radius-control,10px);background:var(--cdo-placement-accent);color:var(--cdo-placement-accent-contrast)!important;text-decoration:none!important;font-size:var(--cdo-ds-text-small,14px);font-weight:var(--cdo-ds-weight-strong,700);line-height:1.2;letter-spacing:0;text-transform:uppercase;white-space:normal;text-align:center;box-shadow:none}
.cdo-guia-product__cta:hover{color:var(--cdo-placement-accent-contrast)!important;text-decoration:none!important;box-shadow:none;transform:none}
.cdo-guia-product__cta:focus-visible{outline:2px solid var(--cdo-placement-accent);outline-offset:2px;color:var(--cdo-placement-accent-contrast)!important;text-decoration:none!important}

/* Media primitives. */
.cdo-guia-product__media{display:block;position:relative;min-width:0;overflow:hidden;background:var(--cdo-placement-soft);color:inherit;text-decoration:none!important}
.cdo-guia-product__image{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center center;border-radius:0!important}
.cdo-guia-product__media:focus-visible{outline:3px solid color-mix(in srgb,var(--cdo-placement-accent) 45%,transparent);outline-offset:-3px}

/* 01 — Inline */
.cdo-guia-product--inline{display:flex;align-items:center;gap:16px;padding:15px 17px;border:1px solid var(--cdo-placement-accent-border);border-radius:var(--cdo-ds-radius-inner,18px);background:var(--cdo-placement-accent-soft);box-shadow:none}
.cdo-guia-product__inline-grow{flex:1;min-width:0}
.cdo-guia-product--inline .cdo-guia-product__title{font-size:var(--cdo-ds-text-body,16px);font-weight:var(--cdo-ds-weight-strong,700)}
.cdo-guia-product--inline .cdo-guia-product__price{margin-top:4px;color:var(--cdo-placement-muted);font-size:var(--cdo-ds-text-caption,13px)}
.cdo-guia-product--inline .cdo-guia-product__price-label{font-size:var(--cdo-ds-text-caption,13px)}
.cdo-guia-product--inline .cdo-guia-product__cta{flex:0 0 auto;min-height:38px;padding:9px 14px;font-size:var(--cdo-ds-text-caption,13px)}

/* 02 — Contextual */
.cdo-guia-product--contextual{display:grid;grid-template-columns:170px minmax(0,1fr);min-height:220px;border:1px solid var(--cdo-placement-line);border-radius:var(--cdo-placement-radius);background:var(--cdo-placement-surface);overflow:hidden;box-shadow:none}
.cdo-guia-product--contextual .cdo-guia-product__media{height:100%;min-height:220px;border-radius:0}
.cdo-guia-product--contextual .cdo-guia-product__body{display:flex;flex-direction:column;justify-content:center;padding:24px 28px}
.cdo-guia-product--contextual .cdo-guia-product__desc{margin-top:7px}
.cdo-guia-product--contextual .cdo-guia-product__actions{margin-top:16px}
.cdo-guia-product--contextual .cdo-guia-product__price{display:flex;align-items:baseline;gap:4px}
.cdo-guia-product--contextual .cdo-guia-product__price strong{font-size:24px;font-weight:var(--cdo-ds-weight-heading,800)}
.cdo-guia-product--contextual.cdo-guia-product--no-media{grid-template-columns:minmax(0,1fr)}

/* 03 — Product Card standard: same density as CDO Products/LAB. */
.cdo-guia-product--card{height:100%;margin:0;border:1px solid #eae6fa;border-radius:var(--cdo-placement-radius);background:var(--cdo-placement-surface);color:var(--cdo-placement-ink)!important;text-decoration:none!important;overflow:hidden;display:flex;flex-direction:column;align-items:stretch;box-shadow:none;transition:none;transform:none}
.cdo-guia-product--card:hover,.cdo-guia-product--card:focus-visible{color:var(--cdo-placement-ink)!important;text-decoration:none!important;border-color:#eae6fa;box-shadow:none;transform:none}
.cdo-guia-product--card:focus-visible{outline:3px solid color-mix(in srgb,var(--cdo-placement-accent) 22%,transparent);outline-offset:2px}
.cdo-guia-product--card .cdo-guia-product__media{height:150px;flex:0 0 150px;border-radius:0;pointer-events:none}
.cdo-guia-product--card .cdo-guia-product__body{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:18px}
.cdo-guia-product--card 
.cdo-guia-product--card .cdo-guia-product__title{font-size:21px;line-height:1.16;font-weight:var(--cdo-ds-weight-heading,800);pointer-events:none}
.cdo-guia-product--card .cdo-guia-product__info{margin-top:8px;color:var(--cdo-ds-color-muted,var(--cdo-muted,#6b6b6b));font-size:var(--cdo-ds-text-caption,13px);font-weight:var(--cdo-ds-weight-strong,700);line-height:1.45}
.cdo-guia-product--card .cdo-guia-product__desc{margin-top:10px;font-size:var(--cdo-ds-text-small,14px);line-height:1.48}
.cdo-guia-product--card .cdo-guia-product__price--block{display:flex;align-items:baseline;gap:4px;margin-top:auto;padding-top:18px}
.cdo-guia-product--card .cdo-guia-product__price--block strong{font-size:20px;font-weight:var(--cdo-ds-weight-heading,800)}
.cdo-guia-product--card.cdo-guia-product--no-media .cdo-guia-product__body{padding-top:18px}

/* Card wide: still layout=card. */
.cdo-guia-product--card-wide{grid-column:1/-1;display:grid;grid-template-columns:minmax(260px,40%) minmax(0,1fr);min-height:250px;height:auto}
.cdo-guia-product--card-wide .cdo-guia-product__media{height:100%;min-height:250px;flex:auto}
.cdo-guia-product--card-wide .cdo-guia-product__body{justify-content:center;padding:28px 30px}
.cdo-guia-product--card-wide .cdo-guia-product__title{font-size:26px;font-weight:var(--cdo-ds-weight-heading,800)}
.cdo-guia-product--card-wide .cdo-guia-product__desc{font-size:var(--cdo-ds-text-description,15px)}
.cdo-guia-product--card-wide .cdo-guia-product__price--block{margin-top:18px;padding-top:0}
.cdo-guia-product--card-wide.cdo-guia-product--no-media{grid-template-columns:minmax(0,1fr)}

/* 04 — Engine gateway. */
.cdo-guia-product--engine{position:relative;isolation:isolate;min-height:330px;padding:36px;border:0;border-radius:var(--cdo-placement-radius);background-color:var(--cdo-placement-ink);background-image:linear-gradient(90deg,rgba(12,8,20,.88) 0%,rgba(20,13,40,.82) 48%,rgba(9,12,24,.68) 100%),var(--cdo-engine-bg,none);background-size:cover;background-position:center;color:#fff;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;box-shadow:none}
.cdo-guia-product--engine:after{content:"";position:absolute;z-index:-1;width:250px;height:250px;border-radius:50%;right:-72px;top:-92px;background:color-mix(in srgb,var(--cdo-placement-purple) 34%,transparent)}
.cdo-guia-product--engine 
.cdo-guia-product--engine .cdo-guia-product__title{max-width:820px;color:#fff!important;font-size:clamp(30px,4vw,46px);line-height:1.04;font-weight:var(--cdo-ds-weight-heading,800)}
.cdo-guia-product--engine .cdo-guia-product__desc{max-width:820px;color:rgba(255,255,255,.82);font-size:var(--cdo-ds-text-description,15px);line-height:1.6}
.cdo-guia-product__engine-gateway{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:auto;padding-top:24px}
.cdo-guia-product__engine-price{display:flex;align-items:baseline;gap:8px;color:#fff;font-weight:var(--cdo-ds-weight-heading,800)}
.cdo-guia-product__engine-price span{color:rgba(255,255,255,.76);font-size:var(--cdo-ds-text-caption,13px)}
.cdo-guia-product__engine-price strong{font-size:31px;font-weight:var(--cdo-ds-weight-heading,800)}
.cdo-guia-product--engine .cdo-guia-product__cta{background:var(--cdo-placement-teal);color:var(--cdo-placement-ink)!important;border-color:var(--cdo-placement-teal);padding:14px 20px}
.cdo-guia-product--engine .cdo-guia-product__cta:hover,.cdo-guia-product--engine .cdo-guia-product__cta:focus-visible{color:var(--cdo-placement-ink)!important}
.cdo-guia-product__engine-embed{width:100%;margin-top:18px}

/* Collections */
.cdo-guia-product-collection{display:grid;width:100%;margin:32px 0;align-items:stretch}
.cdo-guia-product-collection>.cdo-guia-product{min-width:0;align-self:stretch}
.cdo-guia-product-collection--inline,.cdo-guia-product-collection--contextual,.cdo-guia-product-collection--engine{grid-template-columns:1fr;gap:18px}
.cdo-guia-product-collection--card{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}

@media(max-width:900px){
  .cdo-guia-product-collection--card{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .cdo-guia-product{margin:28px 0}
  .cdo-guia-product--inline{align-items:flex-start;flex-wrap:wrap}
  .cdo-guia-product--inline .cdo-guia-product__cta{width:100%}
  .cdo-guia-product--contextual{grid-template-columns:1fr;min-height:0}
  .cdo-guia-product--contextual .cdo-guia-product__media{height:auto;min-height:0;aspect-ratio:16/9}
  .cdo-guia-product--contextual .cdo-guia-product__body{padding:20px}
  .cdo-guia-product-collection--card{grid-template-columns:1fr}
  .cdo-guia-product--card .cdo-guia-product__media{height:150px;flex-basis:150px}
  .cdo-guia-product--card-wide{grid-column:auto;grid-template-columns:1fr;min-height:0}
  .cdo-guia-product--card-wide .cdo-guia-product__media{height:auto;min-height:190px;aspect-ratio:16/9}
  .cdo-guia-product--card-wide .cdo-guia-product__body{padding:20px}
  .cdo-guia-product--card-wide .cdo-guia-product__title{font-size:22px}
  .cdo-guia-product--engine{min-height:360px;padding:24px;background-position:45% center}
  .cdo-guia-product__engine-gateway{align-items:stretch;flex-direction:column;width:100%}
  .cdo-guia-product--engine .cdo-guia-product__cta{width:100%}
}
