.cdo-price,.cdo-badge,.cdo-button,.cdo-product-card,.cdo-payment-box,.cdo-loading-card,.cdo-summary-stat{font-family:inherit;box-sizing:border-box;color:var(--cdo-navy)}
.cdo-price{display:inline-flex;flex-direction:column;gap:3px;line-height:1}.cdo-price small{font-size:13px;font-weight:700;color:var(--cdo-muted);text-transform:uppercase}.cdo-price strong{font-weight:700;letter-spacing:-.03em}.cdo-price em{font-style:normal;font-size:12px;color:var(--cdo-muted)}.cdo-price--sm strong{font-size:16px}.cdo-price--md strong{font-size:22px}.cdo-price--lg strong{font-size:30px}.cdo-price--xl strong{font-size:42px}.cdo-price--card{gap:4px}.cdo-price--card small{font-size:11px;font-weight:800;line-height:1.15;color:#aaaaaa;text-transform:uppercase}.cdo-price--card strong{font-size:22px!important;font-weight:800;line-height:1;letter-spacing:-.035em;color:#1f3556}.cdo-price--card em{margin-top:2px;font-size:12px;font-weight:700;line-height:1.3;color:var(--cdo-text-muted,#667085)}
.cdo-badge{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:700;text-transform:uppercase;border:1px solid var(--cdo-line)}.cdo-badge--primary{color:var(--cdo-primary);background:#fbf8ff;border-color:#eee7fe}.cdo-badge--success{color:#5a8d18;background:rgba(146,208,55,.12);border-color:rgba(146,208,55,.32)}.cdo-badge--warning{color:#9a6700;background:rgba(255,204,4,.16)}.cdo-badge--danger{color:var(--cdo-danger);background:rgba(214,0,81,.08)}.cdo-badge--neutral{color:var(--cdo-muted);background:#fff}
.cdo-button{letter-spacing:0;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:var(--cdo-radius-sm);padding:14px 18px;font-size:14px;font-weight:700;text-transform:uppercase;border:1px solid transparent}.cdo-button--primary{background:var(--cdo-primary);color:#fff}.cdo-button--secondary{background:var(--cdo-secondary);color:#fff}.cdo-button--ghost{background:#fff;color:var(--cdo-primary);border-color:var(--cdo-primary)}.cdo-button--whatsapp{background:var(--cdo-whatsapp,#25d366);border-color:var(--cdo-whatsapp,#25d366);color:#fff!important;box-shadow:none}.cdo-button--whatsapp:visited,.cdo-button--whatsapp:hover,.cdo-button--whatsapp:focus{background:var(--cdo-whatsapp,#25d366)!important;border-color:var(--cdo-whatsapp,#25d366)!important;color:#fff!important;text-decoration:none!important;box-shadow:none!important}.cdo-button--whatsapp:focus-visible{outline:2px solid color-mix(in srgb,var(--cdo-whatsapp,#25d366) 55%,#fff);outline-offset:2px}
.cdo-product-card{width:100%;min-width:0;border:1px solid var(--cdo-line);border-radius:22px;background:#fff;overflow:hidden;display:flex;flex-direction:column;align-items:stretch}.cdo-product-card.is-selected{border:2px solid var(--cdo-secondary);background:var(--cdo-soft)}.cdo-product-card__media{height:150px;background:linear-gradient(135deg,#dff8fa,#f6f0ff);background-size:cover;background-position:center}.cdo-product-card__body{padding:18px;display:flex;flex:1;flex-direction:column;align-items:flex-start;min-width:0;gap:var(--cdo-card-gap,8px)}.cdo-product-card h3{margin:0;font-size:21px;line-height:1.15;font-weight:800;color:var(--cdo-navy);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.cdo-product-card__info{margin:0;color:var(--cdo-muted);font-size:13px;line-height:1.35;font-weight:600;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.cdo-product-card p{margin:0;color:var(--cdo-muted);font-size:14px;line-height:1.45;flex:1;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.cdo-product-card__price{margin-top:auto;padding-top:16px;width:100%}
.cdo-loading-card{padding:18px;display:grid;gap:12px}.cdo-loading-card__top{display:flex;align-items:center;gap:12px}.cdo-loading-card__icon{width:38px;height:38px;border-radius:999px;background:rgba(0,208,215,.14);display:flex;align-items:center;justify-content:center}.cdo-loading-card__top div{display:grid;gap:2px}.cdo-loading-card__top span{font-size:13px;color:var(--cdo-muted)}.cdo-skeleton{border:1px solid var(--cdo-line);border-radius:16px;padding:12px;display:grid;gap:8px}.cdo-skeleton i{height:10px;border-radius:999px;background:#eef5fb;display:block;position:relative;overflow:hidden}.cdo-skeleton i:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,#fff,transparent);animation:cdoShimmer 1.15s infinite}.cdo-skeleton i:nth-child(1){width:45%}.cdo-skeleton i:nth-child(2){width:78%}.cdo-skeleton i:nth-child(3){width:34%}.cdo-skeleton--pix{background:rgba(146,208,55,.07)}.cdo-skeleton--card{background:rgba(104,59,205,.02)}@keyframes cdoShimmer{100%{transform:translateX(100%)}}
.cdo-summary-stat{padding:16px}.cdo-summary-stat small{display:block;font-size:13px;text-transform:uppercase;color:var(--cdo-muted);font-weight:700}.cdo-summary-stat strong{display:block;margin-top:6px;font-size:22px}
@media(max-width:480px){.cdo-price--xl strong{font-size:34px}}
/* Product Card v1.1 — settings emitted by the shared Renderer */
.cdo-product-card{border-radius:var(--cdo-card-radius,22px);--cdo-card-padding-bottom:0px}
.cdo-product-card__body{padding:var(--cdo-card-padding,18px);gap:var(--cdo-card-gap,8px)}
.cdo-product-card:has(.cdo-product-card__cta:not([hidden])) .cdo-product-card__body{padding-bottom:var(--cdo-card-padding-bottom,0px)}
.cdo-product-card h3{font-size:var(--cdo-card-title-size,21px);margin:0}
.cdo-product-card p{margin:0}
.cdo-product-card__price{padding-top:calc(var(--cdo-card-gap,8px) / 2);margin-top:auto}
.cdo-product-card .cdo-price--card strong{font-size:22px!important}
.cdo-product-card__cta{width:100%;padding-top:calc(var(--cdo-card-gap,8px) / 2)}
.cdo-product-card__cta .cdo-button{width:100%}
.cdo-product-card--horizontal .cdo-product-card__body{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}
.cdo-product-card--horizontal .cdo-product-card__badge,.cdo-product-card--horizontal h3,.cdo-product-card--horizontal .cdo-product-card__info,.cdo-product-card--horizontal p,.cdo-product-card--horizontal .cdo-product-card__cta{grid-column:1}
.cdo-product-card--horizontal .cdo-product-card__price{grid-column:2;grid-row:1 / span 5;margin:0;padding:0;text-align:right}
.cdo-product-card [hidden]{display:none!important}
@media(max-width:480px){.cdo-product-card--horizontal .cdo-product-card__body{display:flex}.cdo-product-card--horizontal .cdo-product-card__price{text-align:left}}

/* WooCommerce Bridge v1.0 */
.cdo-product-grid{display:grid;grid-template-columns:repeat(var(--cdo-grid-columns,4),minmax(0,1fr));gap:16px;align-items:stretch;width:100%}
.cdo-product-grid>.cdo-product-card{height:100%}
.cdo-product-card__media-link{display:block;width:100%;text-decoration:none}
.cdo-product-card h3 a{color:inherit;text-decoration:none;transition:color .16s ease}
.cdo-product-card h3 a:hover{color:var(--cdo-primary);text-decoration:none}.cdo-product-card h3 a:focus-visible{outline:2px solid var(--cdo-secondary);outline-offset:3px;border-radius:4px}
.cdo-product-card.is-unavailable{opacity:.72}
.cdo-product-card__availability{margin-top:8px;font-size:12px;font-weight:700;color:var(--cdo-danger)}
.cdo-price--status strong{font-size:18px!important;line-height:1.25;color:var(--cdo-muted);letter-spacing:0}
@media(max-width:1100px){.cdo-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.cdo-product-grid{grid-template-columns:1fr}}


/* LAB 3.8.33 — Payment Box único oficial */
.cdo-payment-box,.cdo-payment-box *,.cdo-currency-floater,.cdo-currency-floater *{box-sizing:border-box}
.cdo-payment-box{width:100%;max-width:100%;min-width:0;font-family:var(--cdo-pay-font-family,var(--cdo-font-family,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif))!important;color:var(--cdo-pay-navy)!important;line-height:1.32!important;letter-spacing:0!important;text-transform:none!important}
.cdo-payment-box :where(h3,p,small,strong,span,summary){font-family:inherit;letter-spacing:0;text-transform:none}.cdo-payment-box h3,.cdo-payment-box p,.cdo-payment-box small{margin:0!important;letter-spacing:0!important;text-transform:none!important}
.cdo-pay-grid{display:grid;gap:14px}
.cdo-pay-summary,.cdo-pay-method,.cdo-pay-credit{border:1px solid var(--cdo-pay-line);border-radius:var(--cdo-pay-radius,22px);background:var(--cdo-pay-surface,#fff);box-shadow:var(--cdo-pay-shadow,none);min-width:0}
.cdo-pay-summary{padding:18px;display:grid;gap:14px}
.cdo-pay-kicker{display:block!important;margin:0 0 4px!important;color:var(--cdo-pay-muted)!important;font-size:13px!important;line-height:1.1!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.06em!important}
.cdo-pay-product{margin:0!important;color:var(--cdo-pay-navy)!important;font-family:var(--cdo-pay-heading-font-family,var(--cdo-pay-font-family,var(--cdo-heading-font-family,var(--cdo-font-family,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif))))!important;font-size:25px!important;line-height:1.05!important;font-weight:800!important;letter-spacing:-.04em!important}
.cdo-pay-date{color:var(--cdo-pay-muted)!important;font-size:14px!important;font-weight:400!important;line-height:1.4!important}
.cdo-pay-date strong{color:var(--cdo-pay-navy)!important;font-weight:700!important}
.cdo-pay-lines{display:grid;gap:8px}
.cdo-pay-line-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;color:var(--cdo-pay-muted)!important;font-size:14px!important;font-weight:400!important;line-height:1.35!important}
.cdo-pay-line-item span{min-width:0}
.cdo-pay-line-item strong{color:var(--cdo-pay-navy)!important;font-size:14px!important;font-weight:700!important;line-height:1.2!important;text-align:right;white-space:nowrap}
.cdo-pay-total{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-top:1px;padding-top:15px;border-top:1px solid var(--cdo-pay-line)}
.cdo-pay-total span{color:var(--cdo-pay-muted)!important;font-size:13px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.07em!important}
.cdo-pay-total strong{font-size:24px!important;line-height:1!important;font-weight:800!important;letter-spacing:-.03em!important;white-space:nowrap;color:var(--cdo-pay-navy)!important}
.cdo-pay-methods{display:grid;gap:10px}
.cdo-pay-method{padding:16px}
.cdo-pay-method.pix{border-color:color-mix(in srgb,var(--cdo-pay-pix) 28%,var(--cdo-pay-line));background:var(--cdo-pay-pix-bg,var(--cdo-pay-saving-bg,#f3fae9))}
.cdo-pay-credit{border-color:color-mix(in srgb,var(--cdo-pay-primary) 34%,var(--cdo-pay-line));background:var(--cdo-pay-card-bg);overflow:hidden}
.cdo-pay-credit summary{list-style:none;cursor:pointer;padding:16px;outline:0}
.cdo-pay-credit summary::-webkit-details-marker{display:none}
.cdo-pay-credit summary:focus-visible{box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--cdo-pay-primary) 28%,transparent)}
.cdo-pay-method-top,.cdo-pay-credit-summary-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;min-width:0}
.cdo-pay-label{display:flex;align-items:center;gap:10px;min-width:0}
.cdo-pay-icon{width:var(--cdo-pay-icon-size,36px)!important;height:var(--cdo-pay-icon-size,36px)!important;min-width:var(--cdo-pay-icon-size,36px)!important;border-radius:999px;display:flex!important;align-items:center!important;justify-content:center!important;background:color-mix(in srgb,var(--cdo-pay-pix) 15%,#fff);color:var(--cdo-pay-pix)!important;font-size:calc(var(--cdo-pay-icon-size,36px) * .39)!important;line-height:1!important}
.cdo-pay-credit .cdo-pay-icon{background:color-mix(in srgb,var(--cdo-pay-primary) 13%,#fff);color:var(--cdo-pay-primary)!important}
.cdo-pay-credit .cdo-pay-icon i{color:var(--cdo-pay-primary)!important}
.cdo-pay-method.pix .cdo-pay-icon,.cdo-pay-method.pix .cdo-pay-icon i{color:var(--cdo-pay-pix)!important}
.cdo-pay-copy{display:grid;gap:2px;min-width:0}
.cdo-pay-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cdo-pay-copy h3{font-family:var(--cdo-pay-heading-font-family,var(--cdo-pay-font-family,var(--cdo-heading-font-family,var(--cdo-font-family,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif))))!important;font-size:18px!important;line-height:1.1!important;font-weight:800!important;color:var(--cdo-pay-navy)!important}
.cdo-pay-copy small{color:var(--cdo-pay-muted)!important;font-size:13px!important;font-weight:400!important;line-height:1.25!important}
.cdo-pay-badge{display:none}
.cdo-pay-price{font-size:24px!important;line-height:1!important;font-weight:800!important;letter-spacing:-.03em!important;white-space:nowrap;text-align:right;color:var(--cdo-pay-navy)!important}
.cdo-pay-card-right{display:flex;align-items:center;gap:10px;min-width:max-content}
.cdo-pay-card-right .cdo-pay-price{font-size:24px!important}
.cdo-pay-chevron{color:var(--cdo-pay-navy)!important;font-size:13px!important;line-height:1!important;transition:transform .2s ease}
.cdo-pay-credit[open] .cdo-pay-chevron{transform:rotate(180deg)}
.cdo-pay-installments{display:grid;grid-template-columns:repeat(var(--cdo-pay-installment-columns),minmax(0,1fr));gap:8px;padding:0 16px 16px}
.cdo-pay-installment{border:1px solid var(--cdo-pay-line);border-radius:14px;padding:9px 10px;display:flex;justify-content:space-between;gap:8px;color:var(--cdo-pay-muted)!important;font-size:12px!important;line-height:1.15!important;background:#fff}
.cdo-pay-installment strong{color:var(--cdo-pay-navy)!important;font-weight:700!important}
.cdo-pay-saving{display:flex;justify-content:center;align-items:center;gap:8px;border:1px solid color-mix(in srgb,var(--cdo-pay-saving) 32%,transparent);background:var(--cdo-pay-saving-bg);color:var(--cdo-pay-saving)!important;border-radius:18px;padding:13px;font-size:14px!important;line-height:1.25!important;font-weight:700!important;text-align:center}
.cdo-pay-note{font-size:12px!important;line-height:1.4!important;text-align:center;padding:0 6px;color:var(--cdo-pay-muted)!important}
@media(max-width:760px){.cdo-pay-product{font-size:23px}.cdo-pay-total strong,.cdo-pay-price,.cdo-pay-card-right .cdo-pay-price{font-size:22px}.cdo-pay-summary{padding:18px}.cdo-pay-line-item,.cdo-pay-total{align-items:flex-start;display:grid;grid-template-columns:1fr}.cdo-pay-method-top,.cdo-pay-credit-summary-inner{display:grid;grid-template-columns:1fr;gap:14px}.cdo-pay-price,.cdo-pay-card-right .cdo-pay-price{text-align:left}.cdo-pay-card-right{justify-content:space-between;min-width:0}.cdo-pay-installments{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.cdo-pay-installments{grid-template-columns:1fr}}
.cdo-currency-floater{display:inline-flex;align-items:center;padding:3px;background:var(--cdo-float-bg);border:1px solid var(--cdo-float-border);border-radius:var(--cdo-float-radius);box-shadow:var(--cdo-float-shadow);line-height:1;z-index:999999;flex-direction:row}.cdo-currency-floater a{min-width:var(--cdo-float-size);min-height:var(--cdo-float-size);padding:8px 11px;display:flex;align-items:center;justify-content:center;gap:5px;border-radius:var(--cdo-float-radius);color:var(--cdo-float-text)!important;font-size:12px;font-weight:700;text-decoration:none!important;white-space:nowrap}.cdo-currency-floater a:hover:not(.is-active){background:var(--cdo-float-hover-bg);color:var(--cdo-float-hover-text)!important}.cdo-currency-floater a.is-active{background:var(--cdo-float-active-bg);color:var(--cdo-float-active-text)!important}.cdo-currency-floater--right{position:fixed;right:var(--cdo-float-x);bottom:var(--cdo-float-y)}.cdo-currency-floater--left{position:fixed;left:var(--cdo-float-x);bottom:var(--cdo-float-y)}.cdo-currency-floater--inline{position:static!important;inset:auto!important;transform:none!important}.cdo-lab-viewport .cdo-currency-floater{position:relative!important;inset:auto!important}
@media(max-width:760px){.cdo-currency-floater--right{right:var(--cdo-float-x);bottom:var(--cdo-float-y)}.cdo-currency-floater--left{left:var(--cdo-float-x);bottom:var(--cdo-float-y)}}

/* Currency compatibility: manual embeds always stay in document flow. */
.cdo-currency-floater--inline{position:static!important;inset:auto!important;transform:none!important}

/* CDO LAB 3.12.10 — CDO Originals Badge v2 */
.cdo-originals-badge{display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:100%;padding:8px 12px;border:1px solid rgba(255,255,255,.38);border-radius:999px;background:#683bcd;color:#fff;box-shadow:none;pointer-events:none}
.cdo-originals-badge strong{font-size:13px;line-height:1;font-weight:var(--cdo-ds-weight-strong,700);letter-spacing:.075em;text-transform:uppercase;color:#fff;white-space:nowrap}
.cdo-originals-badge--overlay{position:absolute;top:14px;left:14px;z-index:4;max-width:calc(100% - 28px);box-shadow:none}
.cdo-product-card{position:relative}
.cdo-products-wrap .cdo-originals-badge--hero{position:relative;z-index:2;margin:0 0 16px;padding:8px 13px}
.cdo-products-wrap .cdo-originals-badge--inline{position:relative;margin:0 0 12px}

/* CDO LAB 3.12.15 — Cruise Sailing Card v1.1 aligned to Product Card */
.cdo-cruise-card{--cdo-card-padding:18px;--cdo-card-gap:9px;--cdo-card-radius:22px;--cdo-card-title-size:21px;--cdo-card-price-size:22px;height:100%;box-shadow:none;transform:none;transition:border-color .18s ease}
.cdo-cruise-card:hover{border-color:var(--cdo-product-card-active-border,var(--cdo-secondary));box-shadow:none;transform:none}
.cdo-cruise-card__media{position:relative;height:170px!important;background-size:cover!important;background-position:center!important;background-color:var(--cdo-soft,#f4fbfc)!important;background-image:linear-gradient(135deg,#dff8fa,#f6f0ff)}
.cdo-cruise-card__media-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e7fbfc 0%,#f5f0ff 100%);color:var(--cdo-secondary);font-size:42px}
.cdo-cruise-card__media-badge{position:absolute;top:12px;left:12px;z-index:2;max-width:calc(100% - 24px)}
.cdo-cruise-card__media-badge .cdo-badge{white-space:normal;line-height:1.15;text-transform:none;font-size:13px}
.cdo-cruise-card__body{min-height:0}
.cdo-cruise-card__ship{display:inline-flex;align-items:center;gap:7px;width:max-content;max-width:100%;font-size:13px;font-weight:var(--cdo-ds-weight-strong,700);color:var(--cdo-primary);text-transform:uppercase;letter-spacing:.045em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cdo-cruise-card__ship i{color:var(--cdo-secondary);flex:0 0 auto}
.cdo-cruise-card h3{margin:0!important;color:var(--cdo-navy)!important;font-size:var(--cdo-card-title-size,21px)!important;line-height:1.15!important;font-weight:800!important;letter-spacing:-.025em!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.cdo-cruise-card__meta{display:grid;gap:6px;color:var(--cdo-muted);font-size:12px;line-height:1.4;font-weight:600}
.cdo-cruise-card__meta span{display:flex;align-items:flex-start;gap:8px}
.cdo-cruise-card__meta i{width:14px;margin-top:2px;color:var(--cdo-secondary);text-align:center;flex:0 0 14px}
.cdo-cruise-card__ports{margin:0!important;color:var(--cdo-muted)!important;font-size:13px!important;line-height:1.45!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:38px;flex:0 0 auto!important}
.cdo-cruise-card__signal{margin-top:2px}
.cdo-cruise-card__signal .cdo-badge{white-space:normal;line-height:1.2;text-transform:none;font-size:13px}
.cdo-cruise-card__price{width:100%;margin-top:auto!important;padding-top:8px!important}
.cdo-cruise-card__price .cdo-price--card small{font-size:11px;color:#aaaaaa}
.cdo-cruise-card__price .cdo-price--card strong{font-size:22px!important}
.cdo-cruise-card__price-basis{display:block;margin-top:3px;font-size:12px;font-style:normal;font-weight:700;line-height:1.3;color:var(--cdo-text-muted,#667085)}
@media(max-width:560px){.cdo-cruise-card__media{height:150px!important}.cdo-cruise-card__ports{min-height:0}}

/* Cruise currency contract v1: LAB owns only geometry; Engine/Currency own the displayed money. */
.cdo-cruise-currency-price{display:inline-flex;flex-direction:column;gap:3px;line-height:1;color:var(--cdo-navy)}
.cdo-cruise-currency-price small{font-size:11px;font-weight:800;color:#aaaaaa;text-transform:uppercase}
.cdo-cruise-currency-price strong{font-size:22px;font-weight:800;letter-spacing:-.035em;color:#1f3556}

/* Shared Card Action v1 — single LAB-owned text CTA for commercial/editorial cards. */
.cdo-card-action,
.cdo-catalog-card .cdo-catalog-card__link,
.cdo-guia-card .cdo-guia-card__link{
  display:inline-flex;align-items:center;justify-content:flex-start;gap:9px;
  width:auto;margin-top:18px;padding:0;border:0;background:transparent;
  color:var(--cdo-primary,#683bcd);font:inherit;font-size:13px;line-height:1.2;
  font-weight:700;letter-spacing:.02em;text-transform:uppercase;text-decoration:none;
  cursor:pointer;box-shadow:none;appearance:none;-webkit-appearance:none;
}
.cdo-card-action:hover,
.cdo-catalog-card .cdo-catalog-card__link:hover,
.cdo-guia-card .cdo-guia-card__link:hover{
  color:var(--cdo-primary,#683bcd);text-decoration:none;opacity:.82;
}
.cdo-card-action__icon,
.cdo-card-action>i,
.cdo-catalog-card .cdo-catalog-card__link>i,
.cdo-guia-card .cdo-guia-card__link>span[aria-hidden="true"]{
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
  font-size:1em;line-height:1;transition:transform .18s ease;
}
.cdo-card-action:hover .cdo-card-action__icon,
.cdo-card-action:hover>i,
.cdo-catalog-card .cdo-catalog-card__link:hover>i,
.cdo-guia-card .cdo-guia-card__link:hover>span[aria-hidden="true"]{transform:translateX(3px)}
.cdo-cruise-card__cta{display:block!important;width:100%;padding-top:calc(var(--cdo-card-gap,8px)/2)}
.cdo-cruise-card__cta .cdo-card-action{width:auto}


/* Shared Modal v1 — LAB-owned shell for modal/dialog geometry across engines. */
.cdo-lab-modal[hidden]{display:none!important}
.cdo-lab-modal{
  position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;
  padding:20px;box-sizing:border-box;font-family:inherit;color:var(--cdo-navy,#1f3556)
}
.cdo-lab-modal,.cdo-lab-modal *{box-sizing:border-box}
.cdo-lab-modal__backdrop{
  position:absolute;inset:0;border:0;padding:0;background:rgba(7,23,44,.58);cursor:pointer
}
.cdo-lab-modal__dialog{
  position:relative;z-index:1;width:min(var(--cdo-modal-width,680px),100%);
  max-height:min(var(--cdo-modal-max-height,760px),78vh);overflow:auto;
  background:#fff;border-radius:22px;padding:24px;box-shadow:0 24px 80px rgba(7,23,44,.24);outline:none
}
.cdo-lab-modal__close{
  position:absolute;top:16px;right:16px;z-index:3;width:38px;height:38px;min-width:38px;
  display:inline-grid;place-items:center;border:0;border-radius:999px;background:#f3f5f8;
  color:var(--cdo-navy,#1f3556);font:inherit;font-size:18px;line-height:1;cursor:pointer;
  transition:background .16s ease,transform .16s ease
}
.cdo-lab-modal__close:hover{background:#e9edf3;transform:scale(1.03)}
.cdo-lab-modal__close:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(104,59,205,.18)}
.cdo-lab-modal__body{min-width:0}
@media(max-width:680px){
  .cdo-lab-modal{padding:10px}
  .cdo-lab-modal__dialog{max-height:92vh;border-radius:18px;padding:22px}
  .cdo-lab-modal__close{top:12px;right:12px}
}


/* CDO LAB 3.13.5 - Context Summary v1
 * Shared compact summary cards for date/search/service context.
 * Semantic order: start/primary action = teal, end/return = purple,
 * neutral/derived summary = quiet border. No shadows by default.
 */
.cdo-context-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-width:0}
.cdo-context-card{display:grid;gap:5px;min-width:0;padding:16px 18px;border:1px solid var(--cdo-ds-color-border,var(--cdo-line));border-radius:var(--cdo-ds-radius-inner,18px);background:var(--cdo-ds-color-surface,#fff);box-shadow:none}
.cdo-context-card--start{border-color:color-mix(in srgb,var(--cdo-ds-color-secondary,var(--cdo-secondary)) 46%,var(--cdo-ds-color-border,var(--cdo-line)))}
.cdo-context-card--end{border-color:color-mix(in srgb,var(--cdo-ds-color-primary,var(--cdo-primary)) 34%,var(--cdo-ds-color-border,var(--cdo-line)))}
.cdo-context-card--neutral{border-color:var(--cdo-ds-color-neutral-border,#d7e3ea);background:var(--cdo-ds-color-neutral-soft,#f7f9fb)}
.cdo-context-card__label{display:flex;align-items:center;gap:7px;min-width:0;font-size:13px;line-height:1.2;font-weight:var(--cdo-ds-weight-strong,700);letter-spacing:.055em;text-transform:uppercase;color:var(--cdo-ds-color-muted,var(--cdo-muted))}
.cdo-context-card__label i{width:14px;text-align:center;color:var(--cdo-ds-color-muted,var(--cdo-muted))}
.cdo-context-card--start .cdo-context-card__label i{color:var(--cdo-ds-color-secondary,var(--cdo-secondary))}
.cdo-context-card--end .cdo-context-card__label i{color:var(--cdo-ds-color-primary,var(--cdo-primary))}
.cdo-context-card__value{font-size:16px;line-height:1.18;font-weight:var(--cdo-ds-weight-strong,700);color:var(--cdo-ds-color-heading,var(--cdo-navy));overflow-wrap:anywhere}
.cdo-context-card__meta{font-size:12px;line-height:1.35;font-weight:600;color:var(--cdo-ds-color-muted,var(--cdo-muted))}
@media(max-width:760px){.cdo-context-summary{grid-template-columns:1fr}}

/* CDO LAB 3.13.9 — Payment Loading v2 */
.cdo-loading-card{padding:0;gap:10px;background:transparent;box-shadow:none}
.cdo-loading-card__top{gap:10px;padding:2px 2px 4px}
.cdo-loading-card__icon{width:34px;height:34px;min-width:34px;background:color-mix(in srgb,var(--cdo-secondary,#00d0d7) 10%,#fff);color:var(--cdo-secondary,#00d0d7)}
.cdo-loading-card__top strong{font-size:16px;line-height:1.2;font-weight:var(--cdo-ds-weight-strong,700);color:var(--cdo-navy)}
.cdo-loading-card__top span{font-size:13px;line-height:1.35;color:var(--cdo-muted)}
.cdo-loading-card>.cdo-skeleton{border:1px solid var(--cdo-line);border-radius:22px;padding:16px;gap:8px;background:#fff;box-shadow:none}
.cdo-loading-card>.cdo-skeleton--pix{background:color-mix(in srgb,var(--cdo-green,#92d037) 4%,#fff)}
.cdo-loading-card>.cdo-skeleton--card{background:color-mix(in srgb,var(--cdo-primary,#683bcd) 3%,#fff)}
.cdo-loading-card>.cdo-skeleton i{height:7px;background:var(--cdo-ds-color-loading-base,#edf2f5)}
.cdo-loading-card>.cdo-skeleton i:after{background:linear-gradient(90deg,transparent,var(--cdo-ds-color-loading-highlight,rgba(255,255,255,.72)),transparent);animation:cdoShimmerSoft var(--cdo-ds-loading-duration,1.6s) ease-in-out infinite}
@media(max-width:680px){.cdo-loading-card>.cdo-skeleton{border-radius:18px;padding:14px}}
@media(prefers-reduced-motion:reduce){.cdo-loading-card>.cdo-skeleton i:after{animation:none!important}}
@keyframes cdoShimmerSoft{100%{transform:translateX(100%)}}


/* CDO LAB 3.13.11 — Shared Process Loading v1
 * Borderless, Cruise-aligned waiting state. Purple stays purple, teal stays teal;
 * mixed color is reserved for the spinner motion and the soft surface transition. */
.cdo-process-loading{
    display:grid;
    grid-template-columns:52px minmax(0,1fr);
    gap:16px;
    align-items:center;
    width:100%;
    padding:24px 26px;
    border:0!important;
    border-radius:22px;
    background:linear-gradient(135deg,var(--cdo-ds-color-process-surface-primary,#f7f4ff),var(--cdo-ds-color-process-surface-secondary,#f1fbfc));
    box-shadow:none!important;
}
.cdo-process-loading__spinner{
    width:52px;
    height:52px;
    display:block;
    border:3px solid #fff;
    border-top-color:var(--cdo-ds-color-primary,var(--cdo-primary,#683bcd));
    border-right-color:var(--cdo-ds-color-secondary,var(--cdo-secondary,#00d0d7));
    border-radius:50%;
    background:transparent;
    box-shadow:none!important;
    animation:cdoPaymentLoadingSpin .8s linear infinite;
}
.cdo-process-loading__copy{display:grid;gap:4px;min-width:0}
.cdo-process-loading__copy strong{
    color:var(--cdo-ds-color-heading,var(--cdo-navy,#1f3556));
    font-size:20px;
    line-height:1.25;
    font-weight:var(--cdo-ds-weight-heading,800);
    letter-spacing:-.02em;
}
.cdo-process-loading__copy span{
    color:var(--cdo-ds-color-process-body,#50586b);
    font-size:14px;
    line-height:1.55;
    font-weight:400;
}
@keyframes cdoPaymentLoadingSpin{to{transform:rotate(360deg)}}
@media(max-width:680px){
    .cdo-process-loading{grid-template-columns:44px minmax(0,1fr);gap:12px;padding:20px;border-radius:22px}
    .cdo-process-loading__spinner{width:44px;height:44px}
    .cdo-process-loading__copy strong{font-size:20px}
}
@media(prefers-reduced-motion:reduce){.cdo-process-loading__spinner{animation:none!important}}


/* CDO LAB 3.13.12 — Payment Box Responsive v2
 * Responsive by component width, not viewport width.
 * Keeps payment methods readable inside cart/side columns without changing calculations or markup.
 */
.cdo-payment-box{
    container-type:inline-size;
    container-name:cdo-payment-box;
}
.cdo-payment-box .cdo-pay-summary,
.cdo-payment-box .cdo-pay-method,
.cdo-payment-box .cdo-pay-credit{
    box-shadow:none!important;
}
.cdo-payment-box .cdo-pay-product,
.cdo-payment-box .cdo-pay-copy h3,
.cdo-payment-box .cdo-pay-total strong,
.cdo-payment-box .cdo-pay-price,
.cdo-payment-box .cdo-pay-card-right .cdo-pay-price{
    font-weight:var(--cdo-ds-weight-heading,800)!important;
}
.cdo-payment-box .cdo-pay-method-top,
.cdo-payment-box .cdo-pay-credit-summary-inner{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:14px;
}
.cdo-payment-box .cdo-pay-label{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:12px;
}
.cdo-payment-box .cdo-pay-copy{
    gap:3px;
}
.cdo-payment-box .cdo-pay-copy h3{
    font-size:18px!important;
    line-height:1.08!important;
}
.cdo-payment-box .cdo-pay-copy small{
    font-size:13px!important;
    line-height:1.35!important;
}
.cdo-payment-box .cdo-pay-price,
.cdo-payment-box .cdo-pay-card-right .cdo-pay-price{
    font-size:24px!important;
    line-height:1!important;
    text-align:right!important;
    font-variant-numeric:tabular-nums;
}
.cdo-payment-box .cdo-pay-card-right{
    display:grid;
    grid-template-columns:auto auto;
    align-items:center;
    gap:10px;
    min-width:0;
}
.cdo-payment-box .cdo-pay-credit summary:focus-visible{
    box-shadow:none!important;
    outline:2px solid color-mix(in srgb,var(--cdo-pay-primary) 34%,transparent);
    outline-offset:-3px;
}
.cdo-payment-box .cdo-pay-credit[open] summary{
    border-bottom:1px solid color-mix(in srgb,var(--cdo-pay-primary) 14%,transparent);
}
.cdo-payment-box .cdo-pay-installments{
    grid-template-columns:repeat(var(--cdo-pay-installment-columns),minmax(0,1fr));
    gap:10px;
    padding:14px 16px 16px;
}
.cdo-payment-box .cdo-pay-installment{
    min-width:0;
    min-height:62px;
    padding:10px 12px;
    display:grid;
    grid-template-columns:1fr;
    align-content:center;
    justify-items:start;
    gap:4px;
    border:1px solid var(--cdo-ds-color-neutral-border,var(--cdo-pay-line));
    border-radius:14px;
    background:color-mix(in srgb,var(--cdo-pay-surface,#fff) 92%,var(--cdo-pay-card-bg));
    color:var(--cdo-pay-muted)!important;
    font-size:13px!important;
    line-height:1.15!important;
    overflow:hidden;
}
.cdo-payment-box .cdo-pay-installment strong{
    color:var(--cdo-pay-navy)!important;
    font-size:14px!important;
    line-height:1!important;
    font-weight:var(--cdo-ds-weight-strong,700)!important;
}
.cdo-payment-box .cdo-pay-installment>span{
    color:var(--cdo-pay-navy)!important;
    font-size:13px!important;
    line-height:1.15!important;
    font-weight:var(--cdo-ds-weight-strong,700)!important;
    white-space:nowrap;
    font-variant-numeric:tabular-nums;
}

@container cdo-payment-box (max-width:780px){
    .cdo-payment-box .cdo-pay-installments{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}
@container cdo-payment-box (max-width:560px){
    .cdo-payment-box .cdo-pay-method,
    .cdo-payment-box .cdo-pay-credit summary{
        padding:14px;
    }
    .cdo-payment-box .cdo-pay-method-top,
    .cdo-payment-box .cdo-pay-credit-summary-inner{
        grid-template-columns:minmax(0,1fr) auto;
        gap:10px;
    }
    .cdo-payment-box .cdo-pay-label{
        gap:10px;
    }
    .cdo-payment-box .cdo-pay-icon{
        --cdo-pay-icon-size:34px;
    }
    .cdo-payment-box .cdo-pay-copy h3{
        font-size:18px!important;
    }
    .cdo-payment-box .cdo-pay-price,
    .cdo-payment-box .cdo-pay-card-right .cdo-pay-price{
        font-size:22px!important;
    }
    .cdo-payment-box .cdo-pay-installments{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
        padding:12px 14px 14px;
    }
    .cdo-payment-box .cdo-pay-installment{
        min-height:58px;
        padding:9px 10px;
    }
}
@container cdo-payment-box (max-width:390px){
    .cdo-payment-box .cdo-pay-method-top,
    .cdo-payment-box .cdo-pay-credit-summary-inner{
        grid-template-columns:1fr;
    }
    .cdo-payment-box .cdo-pay-price,
    .cdo-payment-box .cdo-pay-card-right .cdo-pay-price{
        text-align:left!important;
    }
    .cdo-payment-box .cdo-pay-card-right{
        grid-template-columns:1fr auto;
    }
}


/* CDO LAB 3.13.13 — Payment Box Cart Compact v1
 * Cart is a narrow commercial summary context. Keep the same financial semantics,
 * but reduce visual density and preserve breathing room from WooCommerce CTA.
 */
.cdo-payment-box--cart{
    margin-top:18px!important;
}
.cdo-payment-box--cart .cdo-pay-grid{
    gap:10px;
}
.cdo-payment-box--cart .cdo-pay-methods{
    gap:9px;
}
.cdo-payment-box--cart .cdo-pay-method{
    padding:12px 14px;
    border-radius:18px;
}
.cdo-payment-box--cart .cdo-pay-credit{
    border-radius:18px;
}
.cdo-payment-box--cart .cdo-pay-credit summary{
    padding:12px 14px;
}
.cdo-payment-box--cart .cdo-pay-method-top,
.cdo-payment-box--cart .cdo-pay-credit-summary-inner{
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
}
.cdo-payment-box--cart .cdo-pay-label{
    grid-template-columns:auto minmax(0,1fr);
    gap:9px;
    align-items:center;
}
.cdo-payment-box--cart .cdo-pay-icon{
    --cdo-pay-icon-size:32px;
}
.cdo-payment-box--cart .cdo-pay-copy{
    gap:2px;
}
.cdo-payment-box--cart .cdo-pay-copy h3{
    font-size:16px!important;
    line-height:1.15!important;
    font-weight:var(--cdo-ds-weight-strong,700)!important;
    letter-spacing:-.015em!important;
}
.cdo-payment-box--cart .cdo-pay-copy small{
    font-size:13px!important;
    line-height:1.25!important;
    font-weight:400!important;
}
.cdo-payment-box--cart .cdo-pay-price,
.cdo-payment-box--cart .cdo-pay-card-right .cdo-pay-price{
    font-size:20px!important;
    line-height:1!important;
    font-weight:var(--cdo-ds-weight-heading,800)!important;
    letter-spacing:-.025em!important;
    text-align:right!important;
}
.cdo-payment-box--cart .cdo-pay-card-right{
    grid-template-columns:auto auto;
    gap:8px;
    align-items:center;
}
.cdo-payment-box--cart .cdo-pay-chevron{
    font-size:12px!important;
}
.cdo-payment-box--cart .cdo-pay-credit[open] summary{
    border-bottom:1px solid color-mix(in srgb,var(--cdo-pay-primary) 10%,transparent);
}
.cdo-payment-box--cart .cdo-pay-installments{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    padding:10px 12px 12px;
}
.cdo-payment-box--cart .cdo-pay-installment{
    min-height:48px;
    padding:8px 10px;
    gap:3px;
    border-radius:12px;
}
.cdo-payment-box--cart .cdo-pay-installment strong{
    font-size:14px!important;
    line-height:1!important;
    font-weight:var(--cdo-ds-weight-strong,700)!important;
}
.cdo-payment-box--cart .cdo-pay-installment>span{
    font-size:13px!important;
    line-height:1.1!important;
    font-weight:var(--cdo-ds-weight-strong,700)!important;
}
.cdo-payment-box--cart .cdo-pay-saving{
    padding:10px 12px;
    border-radius:16px;
    font-size:13px!important;
    line-height:1.25!important;
    font-weight:var(--cdo-ds-weight-strong,700)!important;
}
.cdo-payment-box--cart .cdo-pay-note{
    font-size:12px!important;
    line-height:1.4!important;
    padding:0 4px;
}
@container cdo-payment-box (max-width:390px){
    .cdo-payment-box--cart .cdo-pay-method-top,
    .cdo-payment-box--cart .cdo-pay-credit-summary-inner{
        grid-template-columns:minmax(0,1fr) auto;
        gap:8px;
    }
    .cdo-payment-box--cart .cdo-pay-price,
    .cdo-payment-box--cart .cdo-pay-card-right .cdo-pay-price{
        text-align:right!important;
    }
    .cdo-payment-box--cart .cdo-pay-card-right{
        grid-template-columns:auto auto;
    }
}
@container cdo-payment-box (max-width:330px){
    .cdo-payment-box--cart .cdo-pay-method,
    .cdo-payment-box--cart .cdo-pay-credit summary{
        padding:11px 12px;
    }
    .cdo-payment-box--cart .cdo-pay-icon{
        --cdo-pay-icon-size:30px;
    }
    .cdo-payment-box--cart .cdo-pay-copy h3{
        font-size:15px!important;
    }
    .cdo-payment-box--cart .cdo-pay-copy small{
        font-size:12px!important;
    }
    .cdo-payment-box--cart .cdo-pay-price,
    .cdo-payment-box--cart .cdo-pay-card-right .cdo-pay-price{
        font-size:18px!important;
    }
}


/* CDO LAB 3.13.14 — Payment Box Cart Compact v2
 * Dense installment rows, semantic card icon color and large-value resilience.
 * Financial calculations and markup remain untouched.
 */
.cdo-payment-box--cart .cdo-pay-credit .cdo-pay-icon,
.cdo-payment-box--cart .cdo-pay-credit .cdo-pay-icon i{
    color:var(--cdo-pay-primary)!important;
}
.cdo-payment-box--cart .cdo-pay-credit .cdo-pay-icon{
    background:color-mix(in srgb,var(--cdo-pay-primary) 14%,#fff)!important;
}
.cdo-payment-box--cart .cdo-pay-method.pix .cdo-pay-icon,
.cdo-payment-box--cart .cdo-pay-method.pix .cdo-pay-icon i{
    color:var(--cdo-pay-pix)!important;
}
.cdo-payment-box--cart .cdo-pay-method.pix .cdo-pay-icon{
    background:color-mix(in srgb,var(--cdo-pay-pix) 14%,#fff)!important;
}
.cdo-payment-box--cart .cdo-pay-price,
.cdo-payment-box--cart .cdo-pay-card-right .cdo-pay-price{
    white-space:nowrap!important;
    font-size:clamp(18px,4.2cqi,20px)!important;
    font-variant-numeric:tabular-nums;
}
.cdo-payment-box--cart .cdo-pay-installments{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
    padding:8px 10px 10px;
}
.cdo-payment-box--cart .cdo-pay-installment{
    min-width:0;
    min-height:40px;
    padding:7px 9px;
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    align-content:center;
    justify-items:stretch;
    column-gap:8px;
    row-gap:0;
    border-radius:10px;
    overflow:visible;
}
.cdo-payment-box--cart .cdo-pay-installment strong{
    font-size:13px!important;
    line-height:1!important;
    font-weight:var(--cdo-ds-weight-strong,700)!important;
    white-space:nowrap;
}
.cdo-payment-box--cart .cdo-pay-installment>span{
    min-width:0;
    font-size:clamp(12px,3.15cqi,13px)!important;
    line-height:1!important;
    font-weight:var(--cdo-ds-weight-strong,700)!important;
    text-align:right;
    white-space:nowrap;
    font-variant-numeric:tabular-nums;
}

@container cdo-payment-box (max-width:520px){
    .cdo-payment-box--cart .cdo-pay-installments{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@container cdo-payment-box (max-width:390px){
    .cdo-payment-box--cart .cdo-pay-price,
    .cdo-payment-box--cart .cdo-pay-card-right .cdo-pay-price{
        font-size:18px!important;
    }
    .cdo-payment-box--cart .cdo-pay-installment{
        padding:7px 8px;
        column-gap:6px;
    }
}
@container cdo-payment-box (max-width:310px){
    .cdo-payment-box--cart .cdo-pay-installments{
        grid-template-columns:1fr;
    }
    .cdo-payment-box--cart .cdo-pay-installment>span{
        font-size:13px!important;
    }
}


/* CDO LAB 3.13.15 — Payment Box consistency contract.
 * Loading and loaded cart box share spacing. Installment rows are identical
 * in product/cart contexts and metadata multiplier is intentionally non-bold. */
.cdo-cart-payment-box > .cdo-payments-loading-host{
    margin-top:18px!important;
}
.cdo-payment-box .cdo-pay-installments,
.cdo-payment-box--cart .cdo-pay-installments{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
    padding:8px 10px 10px!important;
}
.cdo-payment-box .cdo-pay-installment,
.cdo-payment-box--cart .cdo-pay-installment{
    min-width:0!important;
    min-height:40px!important;
    padding:7px 9px!important;
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    align-items:center!important;
    align-content:center!important;
    justify-items:stretch!important;
    column-gap:8px!important;
    row-gap:0!important;
    border-radius:10px!important;
    overflow:hidden!important;
}
.cdo-payment-box .cdo-pay-installment strong,
.cdo-payment-box--cart .cdo-pay-installment strong{
    font-size:13px!important;
    line-height:1!important;
    font-weight:500!important;
    white-space:nowrap!important;
}
.cdo-payment-box .cdo-pay-installment>span,
.cdo-payment-box--cart .cdo-pay-installment>span{
    min-width:0!important;
    font-size:clamp(12px,3.15cqi,13px)!important;
    line-height:1!important;
    font-weight:var(--cdo-ds-weight-strong,700)!important;
    text-align:right!important;
    white-space:nowrap!important;
    font-variant-numeric:tabular-nums!important;
}
@container cdo-payment-box (max-width:520px){
    .cdo-payment-box .cdo-pay-installments,
    .cdo-payment-box--cart .cdo-pay-installments{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@container cdo-payment-box (max-width:310px){
    .cdo-payment-box .cdo-pay-installments,
    .cdo-payment-box--cart .cdo-pay-installments{grid-template-columns:1fr!important}
}


/* CDO LAB 3.13.23 — Shared Search Refine v1.
 * The same user action must keep the same shell across Discovery, Cruise and future engines. */
.cdo-search-refine{
    position:relative;
    z-index:10;
    width:100%;
    max-width:100%;
    margin:0;
    overflow:visible;
    border:1px solid var(--cdo-ds-color-border,var(--cdo-line));
    border-radius:18px;
    background:var(--cdo-ds-color-surface,var(--cdo-surface));
    box-shadow:none;
}
.cdo-search-refine>summary{
    position:relative;
    padding:15px 54px 15px 18px;
    color:var(--cdo-ds-color-heading,var(--cdo-navy));
    font-size:14px;
    font-weight:600;
    line-height:1.3;
    list-style:none;
    cursor:pointer;
}
.cdo-search-refine>summary::-webkit-details-marker{display:none}
.cdo-search-refine>summary i{margin-right:8px;color:var(--cdo-ds-color-primary,var(--cdo-primary))}
.cdo-search-refine__body{padding:0 0 14px;overflow:visible}
.cdo-search-refine__close{
    position:absolute!important;
    z-index:3!important;
    top:8px!important;
    right:14px!important;
    display:block!important;
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid var(--cdo-ds-color-neutral-border,#d7e3ea)!important;
    border-radius:50%!important;
    background:var(--cdo-ds-color-surface,#fff)!important;
    color:var(--cdo-ds-color-heading,var(--cdo-navy))!important;
    box-shadow:none!important;
    font-size:0!important;
    line-height:1!important;
    cursor:pointer!important;
    transition:background .18s ease,border-color .18s ease,color .18s ease!important;
}
.cdo-search-refine__close i{display:none!important}
.cdo-search-refine__close::before,.cdo-search-refine__close::after{content:"";position:absolute;left:50%;top:50%;width:13px;height:1.5px;border-radius:999px;background:currentColor;transform-origin:center}
.cdo-search-refine__close::before{transform:translate(-50%,-50%) rotate(45deg)}
.cdo-search-refine__close::after{transform:translate(-50%,-50%) rotate(-45deg)}
.cdo-search-refine:not([open])>.cdo-search-refine__close{display:none!important}
.cdo-search-refine__close:hover{border-color:color-mix(in srgb,var(--cdo-ds-color-primary,var(--cdo-primary)) 35%,var(--cdo-ds-color-neutral-border,#d7e3ea))!important;background:color-mix(in srgb,var(--cdo-ds-color-primary,var(--cdo-primary)) 8%,var(--cdo-ds-color-surface,#fff))!important;color:var(--cdo-ds-color-primary,var(--cdo-primary))!important}
.cdo-search-refine__close:focus-visible{outline:2px solid var(--cdo-ds-color-primary,var(--cdo-primary))!important;outline-offset:2px!important}
@media(max-width:760px){
    .cdo-search-refine__body{padding:0 0 12px}
    .cdo-search-refine__close{right:10px!important}
}

/* CDO LAB 3.13.16 — Shared Search Summary v1.
 * Discovery-inspired search context cards, owned by LAB and reusable by engines. */
.cdo-search-summary{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    width:100%;
    margin:0;
}
.cdo-search-summary__card{
    display:grid;
    align-content:center;
    gap:4px;
    min-width:0;
    min-height:94px;
    padding:16px 18px;
    border:1px solid var(--cdo-ds-color-border,var(--cdo-line));
    border-radius:18px;
    background:var(--cdo-ds-color-surface,var(--cdo-surface));
    box-shadow:none!important;
}
.cdo-search-summary__card--teal{border-color:color-mix(in srgb,var(--cdo-ds-color-secondary,var(--cdo-secondary)) 52%,transparent)}
.cdo-search-summary__card--purple{border-color:color-mix(in srgb,var(--cdo-ds-color-primary,var(--cdo-primary)) 36%,transparent)}
.cdo-search-summary__card--green{border-color:color-mix(in srgb,var(--cdo-ds-color-success,var(--cdo-success)) 52%,transparent)}
.cdo-search-summary__card--neutral{border-color:var(--cdo-ds-color-neutral-border,#d7e3ea)}
.cdo-search-summary__label{
    display:flex;
    align-items:center;
    gap:7px;
    min-width:0;
    color:var(--cdo-ds-color-muted,var(--cdo-muted));
    font-size:var(--cdo-ds-text-caption,13px);
    line-height:1.2;
    font-weight:var(--cdo-ds-weight-strong,700);
    letter-spacing:.04em;
    text-transform:uppercase;
}
.cdo-search-summary__card--teal .cdo-search-summary__label i{color:var(--cdo-ds-color-secondary,var(--cdo-secondary))}
.cdo-search-summary__card--purple .cdo-search-summary__label i{color:var(--cdo-ds-color-primary,var(--cdo-primary))}
.cdo-search-summary__card--green .cdo-search-summary__label i{color:color-mix(in srgb,var(--cdo-ds-color-success,var(--cdo-success)) 72%,#2f5e00)}
.cdo-search-summary__card--neutral .cdo-search-summary__label i{color:var(--cdo-ds-color-muted,var(--cdo-muted))}
.cdo-search-summary__value{
    display:block;
    min-width:0;
    overflow-wrap:anywhere;
    color:var(--cdo-ds-color-heading,var(--cdo-navy));
    font-size:var(--cdo-ds-text-title,18px);
    line-height:1.15;
    font-weight:var(--cdo-ds-weight-heading,800);
    letter-spacing:-.015em;
}
.cdo-search-summary__meta{
    display:block;
    min-width:0;
    overflow-wrap:anywhere;
    color:var(--cdo-ds-color-muted,var(--cdo-muted));
    font-size:var(--cdo-ds-text-caption,13px);
    line-height:1.3;
    font-weight:500;
}
@media(max-width:760px){
    .cdo-search-summary{grid-template-columns:1fr;gap:10px}
    .cdo-search-summary__card{min-height:82px;padding:14px 16px}
}

/* CDO LAB 3.13.17 — Search Summary v2: semantic green destination tone. */


/* CDO LAB 3.13.18 — Search Summary v3 + Cruise title link.
 * Magenta is a non-error accent token; cruise itinerary title becomes a usable detail link. */
.cdo-search-summary__card--magenta{border-color:color-mix(in srgb,var(--cdo-ds-color-accent-magenta,#d6008f) 46%,transparent)}
.cdo-search-summary__card--magenta .cdo-search-summary__label i{color:var(--cdo-ds-color-accent-magenta,#d6008f)}
.cdo-cruise-card h3 .cdo-cruise-card__title-link{
    color:inherit!important;
    text-decoration:none!important;
    font:inherit!important;
    line-height:inherit!important;
    letter-spacing:inherit!important;
}
.cdo-cruise-card h3 .cdo-cruise-card__title-link:hover{color:var(--cdo-ds-color-primary,var(--cdo-primary))!important;text-decoration:none!important}
.cdo-cruise-card h3 .cdo-cruise-card__title-link:focus-visible{outline:2px solid var(--cdo-ds-color-secondary,var(--cdo-secondary));outline-offset:3px;border-radius:4px}

/* CDO LAB 3.13.19 - Shared Card Microinteractions v2. */
.cdo-cruise-card__title-link:hover{color:var(--cdo-primary)!important;text-decoration:none!important}
.cdo-cruise-card__title-link:focus-visible{outline:2px solid var(--cdo-secondary)!important;outline-offset:3px!important;border-radius:4px}


/* CDO LAB 3.13.39 — Theme Frame v1.
 * LAB no longer manufactures page width, max-width, margins or horizontal gutters.
 * cdo_lab_render('layout-shell') emits the real theme frame (row > large-12 columns). */
.cdo-search-page,.cdo-search-page *{box-sizing:border-box;min-width:0}
/* Horizontal page geometry belongs to the active WordPress theme.
 * The LAB shell is deliberately geometry-neutral; cdo_lab_render('layout-shell')
 * supplies the theme's own row + large-12 columns frame. */
.cdo-layout-shell,
.cdo-search-container{
    box-sizing:border-box;
    min-width:0;
}
.cdo-layout-surface{box-sizing:border-box;min-width:0}
.cdo-search-hero{
    width:100%;
    max-width:100%;
    padding:38px 0 30px;
    border:0!important;
    background:var(--cdo-search-hero-background,var(--cdo-ds-color-surface-soft,var(--cdo-soft,#eef9fb)));
}
/* CDO LAB 3.13.37 — Canonical Eyebrow v3.
 * One renderer + one stylesheet own markup, color, typography, spacing and states. */
.cdo-eyebrow{
    --cdo-eyebrow-color:var(--cdo-ds-color-primary,var(--cdo-primary,#683bcd));
    display:inline-flex!important;
    align-items:center!important;
    gap:7px!important;
    margin:0 0 10px!important;
    padding:0!important;
    color:var(--cdo-eyebrow-color)!important;
    font-family:inherit!important;
    font-size:var(--cdo-ds-text-caption,13px)!important;
    font-weight:var(--cdo-ds-weight-strong,700)!important;
    line-height:1.2!important;
    letter-spacing:0!important;
    text-transform:uppercase!important;
    text-decoration:none!important;
    transition:none!important;
}
.cdo-eyebrow--inverse{--cdo-eyebrow-color:var(--cdo-ds-color-eyebrow-inverse,#9ef0f3)}
.cdo-eyebrow__text{color:inherit!important;font:inherit!important;letter-spacing:inherit!important;text-transform:inherit!important;text-decoration:none!important}
a.cdo-eyebrow,
a.cdo-eyebrow:visited,
a.cdo-eyebrow:hover,
a.cdo-eyebrow:focus{
    color:var(--cdo-eyebrow-color)!important;
    text-decoration:none!important;
}
a.cdo-eyebrow:focus-visible{
    outline:2px solid var(--cdo-ds-color-secondary,var(--cdo-secondary,#00d0d7));
    outline-offset:3px;
    border-radius:4px;
}
.cdo-search-hero h1{
    max-width:var(--cdo-ds-hero-content-max,720px);
    margin:0 0 12px!important;
    color:var(--cdo-ds-color-heading,var(--cdo-navy,#1f3556))!important;
    font-family:var(--cdo-heading-font-family,inherit)!important;
    font-size:clamp(36px,4vw,54px)!important;
    font-weight:var(--cdo-ds-weight-heading,800)!important;
    line-height:1.04!important;
    letter-spacing:-.05em!important;
    overflow-wrap:break-word;
}
.cdo-search-hero__deck{
    max-width:var(--cdo-ds-hero-text-max,680px);
    margin:0!important;
    color:var(--cdo-ds-color-muted,var(--cdo-muted,#6b6b6b))!important;
    font-size:var(--cdo-ds-text-description,15px)!important;
    font-weight:400!important;
    line-height:1.55!important;
}
.cdo-search-body{padding-top:28px;padding-bottom:72px}
.cdo-search-context{display:grid;gap:14px;margin:0 0 30px}
.cdo-search-results-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin:34px 0 16px;
}
.cdo-search-results-head__count{
    display:block;
    margin-top:0;
    color:var(--cdo-ds-color-heading,var(--cdo-navy,#1f3556));
    font-size:25px;
    line-height:1.15;
    letter-spacing:-.025em;
    font-weight:var(--cdo-ds-weight-heading,800);
}
@media(max-width:760px){
    .cdo-search-hero{padding:30px 0 26px}
    .cdo-search-hero h1{font-size:clamp(34px,10vw,42px)!important}
    .cdo-search-body{padding-top:20px;padding-bottom:50px}
    .cdo-search-results-head{align-items:flex-start;flex-direction:column}
    .cdo-search-results-head__count{font-size:22px}
}

/* CDO LAB 3.13.29 — Shared Quantity Control v1.
 * Products and Discovery now use the same control classes. Consumers may change
 * dimensions through variables/modifiers, never border, weight or color grammar. */
.cdo-quantity-control{
    --cdo-qty-grid:76px 126px 76px;
    --cdo-qty-gap:14px;
    --cdo-qty-button-width:76px;
    --cdo-qty-button-height:76px;
    --cdo-qty-value-width:126px;
    --cdo-qty-value-height:82px;
    display:grid;
    grid-template-columns:var(--cdo-qty-grid);
    align-items:center;
    gap:var(--cdo-qty-gap);
    min-width:0;
    background:transparent;
    border:0;
    border-radius:0;
    padding:0;
}
.cdo-quantity-control__button{
    appearance:none!important;
    -webkit-appearance:none!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:var(--cdo-qty-button-width)!important;
    height:var(--cdo-qty-button-height)!important;
    min-width:0!important;
    max-width:none!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    border:2px solid var(--cdo-ds-color-secondary,var(--cdo-secondary,#00d0d7))!important;
    border-radius:12px!important;
    background:var(--cdo-ds-color-surface,#fff)!important;
    color:var(--cdo-ds-color-heading,var(--cdo-navy,#1f3556))!important;
    box-shadow:none!important;
    font-family:var(--cdo-font-family,inherit)!important;
    font-size:18px!important;
    font-weight:500!important;
    line-height:1!important;
    letter-spacing:normal!important;
    text-transform:none!important;
    text-indent:0!important;
    user-select:none;
    cursor:pointer;
    transition:background .15s ease,color .15s ease,border-color .15s ease,opacity .15s ease;
}
.cdo-quantity-control__button:hover{
    background:var(--cdo-soft-teal,var(--cdo-ds-color-surface-soft,#eef9fb))!important;
    color:var(--cdo-ds-color-heading,var(--cdo-navy,#1f3556))!important;
}
.cdo-quantity-control__button:focus-visible{
    outline:2px solid var(--cdo-ds-color-secondary,var(--cdo-secondary,#00d0d7))!important;
    outline-offset:2px!important;
}
.cdo-quantity-control__button:disabled,
.cdo-quantity-control__button[aria-disabled="true"]{
    opacity:.45!important;
    background:var(--cdo-ds-color-surface,#fff)!important;
    color:#8fa1b8!important;
    border-color:var(--cdo-ds-color-border,var(--cdo-line,#dff3f6))!important;
    cursor:not-allowed!important;
}
.cdo-quantity-control__value{
    display:flex;
    align-items:center;
    justify-content:center;
    width:var(--cdo-qty-value-width);
    min-width:0;
    height:var(--cdo-qty-value-height);
    border:1px solid var(--cdo-ds-color-border,var(--cdo-line,#dff3f6));
    border-radius:14px;
    background:var(--cdo-ds-color-surface,#fff);
    color:#333;
    font-family:var(--cdo-font-family,inherit);
    font-size:27px;
    font-weight:500;
    line-height:1;
}
.cdo-quantity-control--compact{
    --cdo-qty-grid:42px 54px 42px;
    --cdo-qty-gap:8px;
    --cdo-qty-button-width:42px;
    --cdo-qty-button-height:42px;
    --cdo-qty-value-width:54px;
    --cdo-qty-value-height:46px;
}
@media(max-width:720px){
    .cdo-quantity-control--compact{
        --cdo-qty-grid:40px 52px 40px;
        --cdo-qty-gap:7px;
        --cdo-qty-button-width:40px;
        --cdo-qty-button-height:40px;
        --cdo-qty-value-width:52px;
        --cdo-qty-value-height:44px;
    }
}
@media(max-width:640px){
    .cdo-quantity-control__button{font-size:15px!important}
    .cdo-quantity-control__value{font-size:22px}
}

/* Cruise cards keep the global CTA-bottom token at 0, but the CTA itself owns
 * its final breathing room so the action never touches the card border. */
.cdo-cruise-card .cdo-cruise-card__cta{padding-bottom:18px}

/* STEP 8C.1 — Currency Lateral is a first-class LAB model. Geometry is token-driven. */
.cdo-currency-floater--lateral{padding:0;flex-direction:column;overflow:hidden;background:var(--cdo-float-bg);border:var(--cdo-float-box-border-width) solid var(--cdo-float-box-border);box-shadow:var(--cdo-float-shadow)}
.cdo-currency-floater--lateral a{width:var(--cdo-float-width);min-width:var(--cdo-float-width);height:var(--cdo-float-height);min-height:var(--cdo-float-height);padding:0 6px;border-radius:0;border-bottom:var(--cdo-float-separator) solid var(--cdo-float-separator-color);font-size:var(--cdo-float-font-size);letter-spacing:-.03em}
.cdo-currency-floater--lateral a:last-child{border-bottom:0}
.cdo-currency-floater--lateral.cdo-currency-floater--right{right:var(--cdo-float-edge);left:auto;top:var(--cdo-float-vertical);bottom:auto;transform:translateY(-50%);border-radius:var(--cdo-float-radius) 0 0 var(--cdo-float-radius)}
.cdo-currency-floater--lateral.cdo-currency-floater--left{left:var(--cdo-float-edge);right:auto;top:var(--cdo-float-vertical);bottom:auto;transform:translateY(-50%);border-radius:0 var(--cdo-float-radius) var(--cdo-float-radius) 0}
.cdo-currency-floater--lateral.cdo-currency-floater--inline{position:static!important;inset:auto!important;transform:none!important;border-radius:var(--cdo-float-radius)}
@media(max-width:760px){.cdo-currency-floater--lateral.cdo-currency-floater--right,.cdo-currency-floater--lateral.cdo-currency-floater--left{top:var(--cdo-float-mobile-vertical);bottom:auto;transform:translateY(-50%)}.cdo-currency-floater--lateral a{width:var(--cdo-float-mobile-width);min-width:var(--cdo-float-mobile-width);height:var(--cdo-float-mobile-height);min-height:var(--cdo-float-mobile-height);font-size:var(--cdo-float-mobile-font-size)}}


/* CDO LAB 3.13.58 — Shared Guided Form v1.
 * Promoted from the validated Transfer pattern so route-based consumers do not
 * duplicate Product CSS. LAB owns controls, route pair, reservation mode and notes. */
.cdo-guided-step-heading,
.cdo-guided-step-heading * ,
.cdo-form-field,
.cdo-form-field *,
.cdo-route-select-pair,
.cdo-route-select-pair *,
.cdo-reservation-mode-row,
.cdo-reservation-mode-row *,
.cdo-inline-note,
.cdo-inline-note *{box-sizing:border-box}
.cdo-guided-step-heading{
    display:flex;
    align-items:flex-start;
    gap:12px;
    min-width:0;
    margin:0;
}
.cdo-guided-step-heading__index{
    width:34px;
    height:34px;
    min-width:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:var(--cdo-ds-radius-pill,999px);
    background:var(--cdo-ds-color-heading,var(--cdo-navy));
    color:var(--cdo-ds-color-surface,var(--cdo-surface));
    font-family:var(--cdo-ds-font-body,inherit);
    font-size:14px;
    line-height:1;
    font-weight:var(--cdo-ds-weight-strong,700);
    margin-top:2px;
}
.cdo-guided-step-heading__copy{min-width:0}
.cdo-guided-step-heading h2{
    margin:0 0 6px!important;
    color:var(--cdo-ds-color-heading,var(--cdo-navy))!important;
    font-family:var(--cdo-ds-font-heading,inherit)!important;
    font-size:30px!important;
    line-height:1.12!important;
    letter-spacing:-.03em!important;
    font-weight:var(--cdo-ds-weight-heading,800)!important;
}
.cdo-guided-step-heading__description{
    margin:0!important;
    padding:0!important;
    max-width:760px;
    color:var(--cdo-ds-color-muted,var(--cdo-muted))!important;
    font-family:var(--cdo-ds-font-body,inherit)!important;
    font-size:var(--cdo-ds-text-description,15px)!important;
    line-height:1.6!important;
    font-weight:400!important;
}
.cdo-form-field{display:grid;gap:8px;min-width:0}
.cdo-form-field__label{
    display:flex;
    align-items:baseline;
    gap:5px;
    margin:0;
    color:var(--cdo-ds-color-heading,var(--cdo-navy));
    font-family:var(--cdo-ds-font-body,inherit);
    font-size:var(--cdo-ds-text-body,16px);
    line-height:1.25;
    font-weight:var(--cdo-ds-weight-strong,700);
}
.cdo-form-field__meta{
    color:var(--cdo-ds-color-muted,var(--cdo-muted));
    font-size:var(--cdo-ds-text-small,14px);
    font-weight:400;
}
.cdo-form-select{position:relative;display:block;min-width:0}
.cdo-form-select>i{
    position:absolute;
    top:50%;
    right:14px;
    transform:translateY(-50%);
    color:var(--cdo-ds-color-heading,var(--cdo-navy));
    font-size:11px;
    line-height:1;
    pointer-events:none;
}
.cdo-form-control{
    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;
    outline:none;
    display:block;
    width:100%;
    max-width:none;
    min-width:0;
    height:44px;
    min-height:44px;
    margin:0;
    border:1px solid var(--cdo-ds-color-border,var(--cdo-line));
    border-radius:14px;
    background:var(--cdo-ds-color-surface,var(--cdo-surface));
    color:var(--cdo-ds-color-heading,var(--cdo-navy));
    padding:10px 14px;
    font-family:var(--cdo-ds-font-body,inherit);
    font-size:var(--cdo-ds-text-body,16px);
    font-weight:var(--cdo-ds-weight-body,400);
    line-height:1.35;
    letter-spacing:normal;
    text-transform:none;
    box-shadow:none;
    transition:background-color .15s ease,border-color .15s ease,outline-color .15s ease;
}
select.cdo-form-control{padding-right:40px;cursor:pointer}
.cdo-form-control:hover{
    background:color-mix(in srgb,var(--cdo-ds-color-secondary,var(--cdo-secondary)) 7%,var(--cdo-ds-color-surface,var(--cdo-surface)));
    border-color:var(--cdo-ds-color-secondary,var(--cdo-secondary));
}
.cdo-form-control:focus,
.cdo-form-control:focus-visible{
    background:var(--cdo-ds-color-surface,var(--cdo-surface));
    border-color:var(--cdo-ds-color-secondary,var(--cdo-secondary));
    outline:2px solid color-mix(in srgb,var(--cdo-ds-color-secondary,var(--cdo-secondary)) 14%,transparent);
    outline-offset:1px;
}
.cdo-form-control:disabled{opacity:.55;cursor:not-allowed;background:var(--cdo-ds-color-neutral-soft)}
.cdo-route-select-pair{
    display:grid;
    grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr);
    gap:12px;
    align-items:end;
    min-width:0;
}
.cdo-route-select-pair__point{display:grid;gap:8px;min-width:0}
.cdo-route-select-pair .cdo-form-control{height:56px;min-height:56px;padding-block:0}
.cdo-route-select-pair__label{
    display:flex;
    align-items:center;
    gap:8px;
    margin:0;
    color:var(--cdo-ds-color-muted,var(--cdo-muted));
    font-family:var(--cdo-ds-font-body,inherit);
    font-size:var(--cdo-ds-text-caption,13px);
    line-height:1.2;
    font-weight:var(--cdo-ds-weight-strong,700);
    text-transform:uppercase;
    letter-spacing:.04em;
}
.cdo-route-select-pair__label i{color:var(--cdo-ds-color-primary,var(--cdo-primary))}
.cdo-route-select-pair__arrow{
    appearance:none;
    -webkit-appearance:none;
    width:40px;
    height:40px;
    min-width:40px;
    min-height:40px;
    margin:0 3px 2px;
    padding:0;
    border:0;
    border-radius:var(--cdo-ds-radius-pill,999px);
    background:color-mix(in srgb,var(--cdo-ds-color-secondary,var(--cdo-secondary)) 12%,var(--cdo-ds-color-surface,var(--cdo-surface)));
    color:var(--cdo-ds-color-secondary,var(--cdo-secondary));
    display:inline-flex;
    align-items:center;
    justify-content:center;
    align-self:end;
    box-shadow:none;
    font:inherit;
}
.cdo-reservation-mode-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap;
    min-width:0;
    padding-top:2px;
}
.cdo-reservation-mode-copy{display:grid;gap:3px;min-width:0}
.cdo-reservation-mode-copy strong{
    color:var(--cdo-ds-color-heading,var(--cdo-navy));
    font-family:var(--cdo-ds-font-heading,inherit);
    font-size:var(--cdo-ds-text-title,18px);
    line-height:1.2;
    font-weight:var(--cdo-ds-weight-heading,800);
    letter-spacing:-.015em;
}
.cdo-reservation-mode-copy span{
    color:var(--cdo-ds-color-muted,var(--cdo-muted));
    font-family:var(--cdo-ds-font-body,inherit);
    font-size:var(--cdo-ds-text-description,15px);
    line-height:1.6;
    font-weight:400;
}
.cdo-reservation-mode{
    display:inline-grid;
    grid-template-columns:repeat(2,minmax(130px,1fr));
    gap:5px;
    padding:5px;
    border:1px solid var(--cdo-ds-color-border,var(--cdo-line));
    border-radius:14px;
    background:var(--cdo-ds-color-neutral-soft);
    min-width:0;
}
.cdo-reservation-mode__option{
    appearance:none;
    -webkit-appearance:none;
    border:1px solid transparent;
    background:transparent;
    color:var(--cdo-ds-color-heading,var(--cdo-navy));
    border-radius:10px;
    padding:11px 14px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    font-family:var(--cdo-ds-font-body,inherit);
    font-size:var(--cdo-ds-text-body,16px);
    font-weight:var(--cdo-ds-weight-strong,700);
    line-height:1.25;
    cursor:pointer;
    letter-spacing:0;
    text-transform:none;
    box-shadow:none;
    transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease;
}
.cdo-reservation-mode__option:hover{background:color-mix(in srgb,var(--cdo-ds-color-secondary,var(--cdo-secondary)) 8%,var(--cdo-ds-color-surface,var(--cdo-surface)))}
.cdo-reservation-mode__option:active{transform:scale(.98)}
.cdo-reservation-mode__option:focus-visible{outline:2px solid var(--cdo-ds-color-secondary,var(--cdo-secondary));outline-offset:2px}
.cdo-reservation-mode__option.is-active{
    background:var(--cdo-ds-color-surface,var(--cdo-surface));
    border-color:var(--cdo-ds-color-secondary,var(--cdo-secondary));
    color:var(--cdo-ds-color-heading,var(--cdo-navy));
}
.cdo-inline-note{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
    padding:12px 14px;
    border:1px solid var(--cdo-ds-color-border,var(--cdo-line));
    border-radius:14px;
    background:var(--cdo-ds-color-surface,var(--cdo-surface));
    color:var(--cdo-ds-color-muted,var(--cdo-muted));
    font-family:var(--cdo-ds-font-body,inherit);
    font-size:var(--cdo-ds-text-small,14px);
    line-height:1.5;
    font-weight:400;
}
.cdo-inline-note>i{display:inline-flex;align-items:center;justify-content:center;flex:0 0 18px;width:18px;height:18px;color:var(--cdo-ds-color-muted,var(--cdo-muted));font-size:15px;line-height:1}
.cdo-inline-note.is-success{background:color-mix(in srgb,var(--cdo-ds-color-secondary,var(--cdo-secondary)) 8%,var(--cdo-ds-color-surface,var(--cdo-surface)));color:var(--cdo-ds-color-heading,var(--cdo-navy));border-color:color-mix(in srgb,var(--cdo-ds-color-secondary,var(--cdo-secondary)) 28%,var(--cdo-ds-color-border,var(--cdo-line)))}
.cdo-inline-note.is-success>i{color:var(--cdo-ds-color-secondary,var(--cdo-secondary))}
.cdo-inline-note.is-warning{background:color-mix(in srgb,var(--cdo-ds-color-warning,var(--cdo-yellow)) 12%,var(--cdo-ds-color-surface,var(--cdo-surface)));color:var(--cdo-ds-color-heading,var(--cdo-navy));border-color:color-mix(in srgb,var(--cdo-ds-color-warning,var(--cdo-yellow)) 32%,var(--cdo-ds-color-border,var(--cdo-line)))}
.cdo-inline-note.is-warning>i{color:color-mix(in srgb,var(--cdo-ds-color-warning,var(--cdo-yellow)) 72%,var(--cdo-ds-color-heading,var(--cdo-navy)))}
.cdo-inline-note.is-danger{background:color-mix(in srgb,var(--cdo-ds-color-danger,var(--cdo-danger)) 7%,var(--cdo-ds-color-surface,var(--cdo-surface)));color:var(--cdo-ds-color-danger,var(--cdo-danger));border-color:color-mix(in srgb,var(--cdo-ds-color-danger,var(--cdo-danger)) 25%,var(--cdo-ds-color-border,var(--cdo-line)))}
.cdo-inline-note.is-danger>i{color:var(--cdo-ds-color-danger,var(--cdo-danger))}
@media(max-width:760px){
    .cdo-guided-step-heading{gap:10px}
    .cdo-guided-step-heading__index{width:30px;height:30px;min-width:30px;font-size:12px}
    .cdo-guided-step-heading h2{font-size:23px!important}
    .cdo-guided-step-heading__description{font-size:14px!important}
    .cdo-form-control{height:40px;min-height:40px;font-size:14px;padding:9px 12px}
    select.cdo-form-control{padding-right:36px}
    .cdo-route-select-pair{grid-template-columns:1fr;gap:10px}
    .cdo-route-select-pair__arrow{transform:rotate(90deg);margin:0 auto -2px}
    .cdo-reservation-mode-row{align-items:stretch;flex-direction:column}
    .cdo-reservation-mode{width:100%;grid-template-columns:1fr 1fr}
}


/* CDO LAB 3.13.59 — shared control consistency.
 * Component selectors intentionally outrank generic theme button:hover rules
 * without requiring consumer-level overrides. */
[data-cdo-component="reservation-mode-toggle"] button.cdo-reservation-mode__option,
[data-cdo-component="reservation-mode-toggle"] button.cdo-reservation-mode__option:visited{
    background:transparent;
    border-color:transparent;
    color:var(--cdo-ds-color-heading,var(--cdo-navy));
    font-weight:var(--cdo-ds-weight-strong,700);
    text-transform:none;
    letter-spacing:0;
    box-shadow:none;
}
[data-cdo-component="reservation-mode-toggle"] button.cdo-reservation-mode__option:hover{
    background:color-mix(in srgb,var(--cdo-ds-color-secondary,var(--cdo-secondary)) 8%,var(--cdo-ds-color-surface,var(--cdo-surface)));
    border-color:transparent;
    color:var(--cdo-ds-color-heading,var(--cdo-navy));
}
[data-cdo-component="reservation-mode-toggle"] button.cdo-reservation-mode__option.is-active,
[data-cdo-component="reservation-mode-toggle"] button.cdo-reservation-mode__option.is-active:hover,
[data-cdo-component="reservation-mode-toggle"] button.cdo-reservation-mode__option.is-active:focus{
    background:var(--cdo-ds-color-surface,var(--cdo-surface));
    border-color:var(--cdo-ds-color-secondary,var(--cdo-secondary));
    color:var(--cdo-ds-color-heading,var(--cdo-navy));
    box-shadow:none;
}

/* CDO LAB 3.13.62 — Products context parity for shared route/reservation controls.
 * Products has generic `select/button { font: inherit }` rules with greater specificity
 * than the original shared primitives. Keep the shared components visually aligned with
 * the approved Transfer controls without consumer-level overrides. */
[data-cdo-component="route-select-pair"] select.cdo-form-control.cdo-route-select-pair__select{
    font-family:var(--cdo-ds-font-body,inherit);
    font-size:var(--cdo-control-font-size,16px);
    font-weight:var(--cdo-control-font-weight,400);
    line-height:1.35;
    letter-spacing:normal;
    text-transform:none;
}
[data-cdo-component="reservation-mode-toggle"] button.cdo-reservation-mode__option,
[data-cdo-component="reservation-mode-toggle"] button.cdo-reservation-mode__option:visited{
    font-family:var(--cdo-ds-font-body,inherit);
    font-size:var(--cdo-ds-text-body,16px);
    font-weight:var(--cdo-ds-weight-strong,700);
    line-height:1.25;
    letter-spacing:0;
    text-transform:none;
}

/* CDO Scribble — shared decorative annotations.
 * Pure visual layer: semantic content remains normal HTML text. */
.cdo-scribble{
    --cdo-scribble-color:var(--cdo-ds-color-primary,var(--cdo-primary,#683bcd));
    --cdo-scribble-thickness:1;
    --cdo-scribble-width:100%;
    --cdo-scribble-height:100%;
    --cdo-scribble-x:0%;
    --cdo-scribble-y:0em;
    --cdo-scribble-scale:1;
    position:relative;
    display:inline-block;
    max-width:100%;
    isolation:isolate;
    overflow:visible;
    vertical-align:baseline;
}
.cdo-scribble::after{
    content:"";
    position:absolute;
    display:block;
    z-index:1;
    pointer-events:none;
    background:var(--cdo-scribble-color);
    -webkit-mask-image:var(--cdo-scribble-mask);
    mask-image:var(--cdo-scribble-mask);
    -webkit-mask-repeat:no-repeat;
    mask-repeat:no-repeat;
    -webkit-mask-position:center;
    mask-position:center;
    -webkit-mask-size:100% 100%;
    mask-size:100% 100%;
    transform:translate(var(--cdo-scribble-x),var(--cdo-scribble-y)) scale(var(--cdo-scribble-scale)) scaleY(var(--cdo-scribble-thickness));
    transform-origin:center;
}
.cdo-scribble--underline{
    --cdo-scribble-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20220%2038'%3E%3Cpath%20d%3D'M7%2029%20C39%2013%2078%208%20118%209%20C153%209%20185%2012%20213%2018'%20fill%3D'none'%20stroke%3D'white'%20stroke-width%3D'10'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%2F%3E%3C%2Fsvg%3E");
    --cdo-scribble-width:106%;
    --cdo-scribble-height:.36em;
}
.cdo-scribble--underline::after{left:-3%;bottom:-.18em;width:var(--cdo-scribble-width);height:var(--cdo-scribble-height)}
.cdo-scribble--wave{--cdo-scribble-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20200%2046'%3E%3Cpath%20d%3D'M5%2034%20C18%2023%2031%207%2039%208%20C45%209%2038%2029%2037%2034%20C45%2029%2055%2014%2061%2015%20C66%2016%2062%2028%2068%2032%20C78%2040%2096%2033%20112%2028%20C136%2020%20158%2018%20195%2023'%20fill%3D'none'%20stroke%3D'white'%20stroke-width%3D'9'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%2F%3E%3C%2Fsvg%3E")}
.cdo-scribble--wave::after{left:-3%;bottom:-.34em;width:106%;height:.60em}
.cdo-scribble--circle{
    --cdo-scribble-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20240%20120'%3E%3Cpath%20d%3D'M30%2026%20C75%205%20170%202%20210%2025%20C240%2042%20238%2069%20208%2091%20C170%20118%2070%20117%2028%2095%20C-2%2079%20-4%2046%2030%2026%20M86%2019%20C128%2012%20180%2014%20214%2030'%20fill%3D'none'%20stroke%3D'white'%20stroke-width%3D'8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%2F%3E%3C%2Fsvg%3E");
    --cdo-scribble-width:128%;
    --cdo-scribble-height:calc(100% + .72em);
}
.cdo-scribble--circle::after{left:-14%;top:-.36em;width:var(--cdo-scribble-width);height:var(--cdo-scribble-height)}
.cdo-scribble--hand-line{
    --cdo-scribble-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20220%2036'%3E%3Cpath%20d%3D'M7%2027%20C42%2014%2070%2012%20104%2013%20C138%2014%20168%2010%20212%2019%20C180%2017%20148%2018%20116%2020%20C82%2022%2048%2021%2016%2028'%20fill%3D'none'%20stroke%3D'white'%20stroke-width%3D'6'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%2F%3E%3C%2Fsvg%3E");
    --cdo-scribble-width:108%;
    --cdo-scribble-height:.34em;
}
.cdo-scribble--hand-line::after{left:-4%;bottom:-.20em;width:var(--cdo-scribble-width);height:var(--cdo-scribble-height)}
.cdo-scribble--swipe{--cdo-scribble-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20200%2046'%3E%3Cpath%20d%3D'M8%2015%20C58%207%20127%208%20190%2013%20C154%2019%2098%2022%2031%2029%20C19%2030%2015%2035%2028%2036%20C74%2038%20111%2037%20145%2038'%20fill%3D'none'%20stroke%3D'white'%20stroke-width%3D'8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%2F%3E%3C%2Fsvg%3E")}
.cdo-scribble--swipe::after{left:-2%;bottom:-.36em;width:104%;height:.56em}

.cdo-scribble--purple{--cdo-scribble-color:var(--cdo-ds-color-primary,var(--cdo-primary,#683bcd))}
.cdo-scribble--teal{--cdo-scribble-color:var(--cdo-ds-color-secondary,var(--cdo-secondary,#00d0d7))}
.cdo-scribble--yellow{--cdo-scribble-color:var(--cdo-ds-color-warning,var(--cdo-yellow,#ffcc04))}
.cdo-scribble--cherry{--cdo-scribble-color:var(--cdo-ds-color-danger,var(--cdo-danger,#d60051))}
.cdo-scribble--green{--cdo-scribble-color:var(--cdo-ds-color-success,var(--cdo-success,#92d037))}
.cdo-scribble--blue{--cdo-scribble-color:#4974ff}
.cdo-scribble--black{--cdo-scribble-color:#111111}

.cdo-scribble--thin{--cdo-scribble-thickness:.72}
.cdo-scribble--medium{--cdo-scribble-thickness:1}
.cdo-scribble--thick{--cdo-scribble-thickness:1.28}

.cdo-scribble--xs{--cdo-scribble-scale:.72}
.cdo-scribble--sm{--cdo-scribble-scale:.86}
.cdo-scribble--lg{--cdo-scribble-scale:1.16}
.cdo-scribble--xl{--cdo-scribble-scale:1.32}

.cdo-scribble-js .cdo-scribble--animate::after{
    clip-path:inset(0 100% 0 0);
    transition:clip-path .72s cubic-bezier(.2,.8,.2,1);
    will-change:clip-path;
}
.cdo-scribble-js .cdo-scribble--animate.is-cdo-scribble-visible::after{clip-path:inset(0 0 0 0)}
@media (prefers-reduced-motion: reduce){
    .cdo-scribble-js .cdo-scribble--animate::after,
    .cdo-scribble-js .cdo-scribble--animate.is-cdo-scribble-visible::after{
        clip-path:inset(0 0 0 0);
        transition:none;
        will-change:auto;
    }
}


/* Currency selector: simple inline mode */
.cdo-currency-floater--simple{position:static!important;inset:auto!important;transform:none!important;display:inline-flex;align-items:center;gap:7px;padding:0;background:none;border:0;border-radius:0;box-shadow:none;line-height:1;z-index:auto}
.cdo-currency-floater--simple a{display:inline;padding:0;min-width:0;min-height:0;background:none!important;border:0;border-radius:0;color:inherit!important;font:inherit;font-weight:500;line-height:1;text-decoration:none!important;white-space:nowrap}
.cdo-currency-floater--simple a:hover,.cdo-currency-floater--simple a.is-active{color:#683bcd!important}
.cdo-currency-floater--simple a.is-active{font-weight:800}
.cdo-currency-floater--simple .cdo-currency-floater__separator{opacity:.35;font:inherit;line-height:1}
