/* CDO Travel Guias — Product Placement System v1.4.2
   Approved from Product Placements Lab v2.
   Product data/media comes from CDO Products public summary. Layout remains Guias responsibility. */

.cdo-guia-product{
  --cdo-placement-ink:#17213a;
  --cdo-placement-muted:#62697a;
  --cdo-placement-purple:#683bcd;
  --cdo-placement-teal:#00d0d7;
  --cdo-placement-line:#e5e1f5;
  --cdo-placement-soft:#faf9fe;
  --cdo-placement-radius:22px;
  box-sizing:border-box;
  width:100%;
  min-width:0;
  margin:30px 0;
  color:var(--cdo-placement-ink);
  overflow-wrap:anywhere;
}
.cdo-guia-product *{box-sizing:border-box}
.cdo-guia-product__body{min-width:0}
.cdo-guia-product__eyebrow{display:block;margin:0 0 5px;color:var(--cdo-placement-purple);font-size:11px;font-weight:850;line-height:1.25;text-transform:uppercase;letter-spacing:.075em}
.cdo-guia-product__title{display:block;color:var(--cdo-placement-ink)!important;text-decoration:none!important;font-size:20px;line-height:1.22;font-weight:850;letter-spacing:-.015em}
.cdo-guia-product__title:hover,.cdo-guia-product__title:focus-visible{color:var(--cdo-placement-purple)!important;text-decoration:none!important}
.cdo-guia-product__desc{margin:9px 0 0;color:var(--cdo-placement-muted);font-size:15px;line-height:1.55}
.cdo-guia-product__price{color:var(--cdo-placement-ink);font-size:16px;line-height:1.25;font-weight:850;white-space:nowrap}
.cdo-guia-product__price-label{margin-right:4px;color:#6b7280;font-size:12px;font-weight: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:0;border-radius:999px;background:var(--cdo-placement-purple);color:#fff!important;text-decoration:none!important;font-size:14px;font-weight:850;line-height:1.2;white-space:normal;text-align:center}
.cdo-guia-product__cta:hover,.cdo-guia-product__cta:focus-visible{opacity:.94;color:#fff!important;text-decoration:none!important}

/* Media primitives. */
.cdo-guia-product__media{display:block;position:relative;min-width:0;overflow:hidden;background:#f7f5fc;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 rgba(104,59,205,.25);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-line);border-radius:14px;background:var(--cdo-placement-soft)}
.cdo-guia-product__inline-grow{flex:1;min-width:0}
.cdo-guia-product--inline .cdo-guia-product__title{font-size:16px}
.cdo-guia-product--inline .cdo-guia-product__price{margin-top:4px;color:#5f6675;font-size:13px}
.cdo-guia-product--inline .cdo-guia-product__price-label{font-size:13px}
.cdo-guia-product--inline .cdo-guia-product__cta{flex:0 0 auto;min-height:38px;padding:9px 14px;font-size: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:#fff;overflow:hidden}
.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}
.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.
   Whole card is clickable; no oversized CTA is added inside the card. */
.cdo-guia-product--card{height:100%;margin:0;border:1px solid var(--cdo-placement-line);border-radius:var(--cdo-placement-radius);background:#fff;color:var(--cdo-placement-ink)!important;text-decoration:none!important;overflow:hidden;display:flex;flex-direction:column;align-items:stretch;box-shadow:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.cdo-guia-product--card:hover,.cdo-guia-product--card:focus-visible{color:var(--cdo-placement-ink)!important;text-decoration:none!important;border-color:#d8d0f4;box-shadow:0 10px 28px rgba(35,31,68,.08)}
.cdo-guia-product--card:focus-visible{outline:3px solid rgba(104,59,205,.22);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__eyebrow{margin-bottom:8px}
.cdo-guia-product--card .cdo-guia-product__title{font-size:21px;line-height:1.16;pointer-events:none}
.cdo-guia-product--card .cdo-guia-product__info{margin-top:8px;color:#788092;font-size:12px;font-weight:700;line-height:1.45}
.cdo-guia-product--card .cdo-guia-product__desc{margin-top:10px;font-size: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}
.cdo-guia-product--card.cdo-guia-product--no-media .cdo-guia-product__body{padding-top:18px}

/* Card wide: still layout=card. Used automatically for product families that need room.
   Default contract is travel_connectivity; filter can opt other product types in/out. */
.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}
.cdo-guia-product--card-wide .cdo-guia-product__desc{font-size: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: product artwork becomes the background when available.
   Dark overlay protects text contrast; no fake form state. */
.cdo-guia-product--engine{position:relative;isolation:isolate;min-height:330px;padding:36px;border:0;border-radius:var(--cdo-placement-radius);background-color:#241446;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}
.cdo-guia-product--engine:after{content:"";position:absolute;z-index:-1;width:250px;height:250px;border-radius:50%;right:-72px;top:-92px;background:rgba(104,59,205,.34)}
.cdo-guia-product--engine .cdo-guia-product__eyebrow{color:#8ceff2;font-size:13px}
.cdo-guia-product--engine .cdo-guia-product__title{max-width:820px;color:#fff!important;font-size:clamp(30px,4vw,46px);line-height:1.04}
.cdo-guia-product--engine .cdo-guia-product__desc{max-width:820px;color:rgba(255,255,255,.80);font-size:17px;line-height:1.55}
.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:850}
.cdo-guia-product__engine-price span{color:rgba(255,255,255,.76);font-size:13px}
.cdo-guia-product__engine-price strong{font-size:31px}
.cdo-guia-product--engine .cdo-guia-product__cta{background:var(--cdo-placement-teal);color:#112f43!important;border-radius:14px;padding:16px 22px}
.cdo-guia-product--engine .cdo-guia-product__cta:hover,.cdo-guia-product--engine .cdo-guia-product__cta:focus-visible{color:#112f43!important}
.cdo-guia-product__engine-embed{width:100%;margin-top:18px}

/* Collections */
.cdo-guia-product-collection{display:grid;width:100%;margin:30px 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:12px}

@media(max-width:900px){
  .cdo-guia-product-collection--card{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:720px){
  .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%}
}
