/* CDO Hotels 1.2.0-rc.5 — Production candidate
 * Hotels owns only vertical composition. Shared typography, buttons, modal,
 * breadcrumb, date picker, price and tokens are consumed from CDO LAB.
 */
.cdo-hotels-frame,.cdo-hotels-page,.cdo-hotels-page *{box-sizing:border-box}
.cdo-hotels-page{--hotels-gap:40px;width:100%;min-width:0;padding-top:12px;color:var(--cdo-navy,#1f3556)}
.cdo-hotels-page h1,.cdo-hotels-page h2,.cdo-hotels-page h3,.cdo-hotels-page p{margin-top:0}
.cdo-hotels-page h1{margin-bottom:var(--cdo-hero-title-margin-bottom,12px);font-size:var(--cdo-hero-title-size,54px);line-height:var(--cdo-hero-title-line-height,1.04);font-weight:var(--cdo-hero-title-weight,800);letter-spacing:var(--cdo-hero-title-letter-spacing,-.05em);color:var(--cdo-hero-title-color,var(--cdo-navy,#1f3556))}
.cdo-hotels-page h2{margin-bottom:10px;font-size:clamp(26px,3vw,34px);line-height:1.15;font-weight:800;color:var(--cdo-navy,#1f3556)}
.cdo-hotels-page h3{font-weight:800;color:var(--cdo-navy,#1f3556)}
.cdo-hotels-page p{line-height:1.6;color:var(--cdo-muted,#64748b)}
.cdo-hotels-page a{text-underline-offset:3px}

/* Bridge scopes consume the actual Product breadcrumb/content-modal styles. */
.cdo-hotels-product-pattern-scope{margin:0!important;padding:0!important;max-width:none!important;background:transparent!important;--cdo-navy-soft:#29456d;--cdo-heading-color:var(--cdo-ds-color-heading,#1f3556);--cdo-body-color:var(--cdo-ds-color-body,#6b6b6b);--cdo-line:var(--cdo-ds-color-border,#dff3f6);--cdo-soft-teal:var(--cdo-ds-color-surface-soft,#eef9fb);--cdo-font-family:var(--cdo-ds-font-body,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif)}
.cdo-hotels-breadcrumb-scope{overflow:visible!important;margin-bottom:18px!important}
.cdo-hotels-modal-scope{height:0!important;min-height:0!important;overflow:visible!important}
.cdo-hotels-modal-scope.cdo-content-modal-active{z-index:2147483000!important}
.cdo-hotels-gallery-shell{--cdo-content-modal-width:1080px}
.cdo-hotels-room-modal-shell{--cdo-content-modal-width:920px}
.cdo-hotels-guests-shell{--cdo-content-modal-width:520px}
.cdo-hotels-dates-shell{--cdo-content-modal-width:760px}

/* Identity */
.cdo-hotels-hotel-header{display:flex;justify-content:space-between;gap:24px;margin-bottom:20px}
.cdo-hotels-heading-row{display:flex;width:100%;justify-content:space-between;align-items:flex-end;gap:24px}
.cdo-hotels-subtitle{display:flex;align-items:center;gap:7px;margin:0!important;font-size:14px;color:var(--cdo-muted,#64748b)}
.cdo-hotels-subtitle>i{color:var(--cdo-primary,#683bcd)}
.cdo-hotels-subtitle a{color:inherit;text-decoration:none;border-bottom:1px solid transparent}
.cdo-hotels-subtitle a:hover{color:var(--cdo-secondary,#00d0d7);border-color:currentColor}

/* Gallery — vertical composition only; modal shell is canonical Products/LAB. */
.cdo-hotels-gallery{position:relative;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:8px;width:100%;aspect-ratio:2.18/1;overflow:hidden;border-radius:24px;background:#f4f7f9;margin:0 0 28px}
.cdo-hotels-gallery__item{appearance:none!important;position:relative;display:block!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;overflow:hidden;background:#f4f7f9!important;letter-spacing:normal!important;text-transform:none!important;line-height:1!important;box-shadow:none!important;cursor:pointer}
.cdo-hotels-gallery__item.is-main{grid-row:1 / span 2}
.cdo-hotels-gallery__item img{display:block;width:100%!important;height:100%!important;object-fit:cover!important;margin:0!important;transition:transform .25s ease}
.cdo-hotels-gallery__item:hover img{transform:scale(1.015)}
.cdo-hotels-gallery--count-1{display:block;aspect-ratio:1.8/1}
.cdo-hotels-gallery--count-2{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1fr}
.cdo-hotels-gallery--count-2 .cdo-hotels-gallery__item.is-main{grid-row:auto}
.cdo-hotels-gallery--count-3{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.cdo-hotels-gallery--count-4,.cdo-hotels-gallery--count-5{grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr))}
.cdo-hotels-gallery--count-4 .cdo-hotels-gallery__item:nth-child(4){grid-column:2 / span 2}
.cdo-hotels-gallery--feature{aspect-ratio:2.48/1;margin-bottom:24px}
.cdo-hotels-gallery--cover{display:block;aspect-ratio:1.55/1;margin:0;border-radius:20px}
.cdo-hotels-gallery--cover .cdo-hotels-gallery__item:not(.is-main){display:none!important}
.cdo-hotels-gallery--cover .cdo-hotels-gallery__item.is-main{height:100%!important;grid-row:auto}
.cdo-hotels-gallery__all{position:absolute!important;right:14px;bottom:14px;z-index:3;min-height:42px!important;height:42px!important;padding:0 15px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;font-size:13px!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important;white-space:nowrap}
.cdo-hotels-gallery__all small{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:999px;background:rgba(31,53,86,.08);font:inherit;font-size:11px}
.cdo-hotels-gallery-cover{width:100%;height:100%;min-height:180px;background:#f4f7f9;overflow:hidden}
.cdo-hotels-gallery-cover img{display:block;width:100%;height:100%;object-fit:cover}
.cdo-hotels-gallery-cover--empty{display:grid;place-items:center;font-size:30px;color:var(--cdo-muted,#64748b)}

.cdo-hotels-gallery-modal{display:grid;gap:14px}
.cdo-hotels-gallery-modal__stage{position:relative;height:min(46vh,440px);display:flex;align-items:center;justify-content:center;border-radius:18px;overflow:hidden;background:#fff}
.cdo-hotels-gallery-modal__stage>img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}
.cdo-hotels-gallery-modal__nav{appearance:none;position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px!important;height:44px!important;min-width:44px!important;padding:0!important;display:grid!important;place-items:center!important;border:1px solid var(--cdo-line,#e4eaf0)!important;border-radius:50%!important;background:#fff!important;color:var(--cdo-navy,#1f3556)!important;box-shadow:0 8px 24px rgba(7,23,44,.10);cursor:pointer}
.cdo-hotels-gallery-modal__nav:hover{background:#effafa!important;transform:translateY(-50%) scale(1.03)}
.cdo-hotels-gallery-modal__nav.is-prev{left:12px}.cdo-hotels-gallery-modal__nav.is-next{right:12px}
.cdo-hotels-gallery-modal__meta{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start;min-height:24px}
.cdo-hotels-gallery-modal__meta span{font-size:12px;font-weight:700;color:var(--cdo-muted,#64748b)}
.cdo-hotels-gallery-modal__meta p{margin:0!important;font-size:13px;color:var(--cdo-navy,#1f3556)}
.cdo-hotels-gallery-modal__thumbs{display:flex;gap:8px;overflow-x:auto;padding:2px 0 4px;scrollbar-width:thin}
.cdo-hotels-gallery-modal__thumb{appearance:none;flex:0 0 88px;width:88px!important;height:60px!important;padding:0!important;border:2px solid transparent!important;border-radius:10px!important;overflow:hidden;background:#f4f7f9!important;cursor:pointer}
.cdo-hotels-gallery-modal__thumb[aria-pressed="true"]{border-color:var(--cdo-secondary,#00d0d7)!important}
.cdo-hotels-gallery-modal__thumb img{display:block;width:100%;height:100%;object-fit:cover}

/* Section navigation */
.cdo-hotels-section-nav{position:sticky;top:0;z-index:20;margin:0 0 var(--hotels-gap);background:rgba(255,255,255,.96);border-bottom:1px solid var(--cdo-line,#e4eaf0);backdrop-filter:blur(8px)}
.cdo-hotels-section-nav__inner{overflow-x:auto;scrollbar-width:none}.cdo-hotels-section-nav__inner::-webkit-scrollbar{display:none}
.cdo-hotels-section-nav__links{display:flex;gap:24px;min-width:max-content;padding:14px 2px}
.cdo-hotels-section-nav a{position:relative;color:var(--cdo-muted,#64748b);font-size:13px;font-weight:700;text-decoration:none}
.cdo-hotels-section-nav a:hover,.cdo-hotels-section-nav a.is-active{color:var(--cdo-navy,#1f3556)}
.cdo-hotels-section-nav a.is-active:after{content:"";position:absolute;left:0;right:0;bottom:-15px;height:2px;background:var(--cdo-secondary,#00d0d7)}

/* Search */
.cdo-hotels-search-section{margin:0 0 var(--hotels-gap);scroll-margin-top:74px}
.cdo-hotels-search-section>.cdo-guided-step-heading{margin-bottom:24px}
.cdo-hotels-stay-form{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.75fr) 150px;gap:12px;align-items:end;padding:0;border:0;border-radius:0;background:transparent}
.cdo-hotels-stay-form.has-hotel-context{grid-template-columns:minmax(250px,.95fr) minmax(330px,1.3fr) minmax(240px,.9fr) 150px}
.cdo-hotels-stay-form__hotel,.cdo-hotels-stay-form__dates,.cdo-hotels-stay-form__people{min-width:0}
.cdo-hotels-stay-context{display:flex;align-items:center;gap:10px;height:56px;min-height:56px;padding:0 16px;border:1px solid var(--cdo-line,#e4eaf0);border-radius:16px;background:#f7f9fb;color:var(--cdo-navy,#1f3556);overflow:hidden}
.cdo-hotels-stay-context>i{flex:0 0 auto;font-size:18px;color:var(--cdo-primary,#683bcd)}
.cdo-hotels-stay-context span{display:grid;gap:2px;min-width:0}.cdo-hotels-stay-context strong,.cdo-hotels-stay-context small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cdo-hotels-stay-context strong{font-size:14px;font-weight:700}.cdo-hotels-stay-context small{font-size:12px;color:var(--cdo-muted,#64748b)}
.cdo-hotels-stay-form__label,.cdo-hotels-stay-form__dates .cdo-date-range-picker__label{display:block;margin:0 0 7px;font-size:13px;line-height:1.25;font-weight:700;color:var(--cdo-navy,#1f3556)}
.cdo-hotels-stay-form__dates .cdo-date-range-picker{gap:0}
.cdo-hotels-stay-form__dates button.cdo-date-range-picker__trigger{height:56px;min-height:56px;padding:0 16px;border:1px solid var(--cdo-line,#e4eaf0);border-radius:16px;background:#fff;color:var(--cdo-navy,#1f3556);box-shadow:none;font-size:14px;font-weight:700;gap:10px}
.cdo-hotels-stay-form__dates button.cdo-date-range-picker__trigger>i:first-child{font-size:18px;color:var(--cdo-primary,#683bcd)}
.cdo-hotels-stay-form__dates button.cdo-date-range-picker__trigger:hover{border-color:var(--cdo-secondary,#00d0d7)}
.cdo-hotels-stay-form__dates button.cdo-date-range-picker__trigger:focus-visible,.cdo-hotels-stay-form__dates button.cdo-date-range-picker__trigger[aria-expanded="true"]{outline:0;border-color:var(--cdo-secondary,#00d0d7);box-shadow:none}
.cdo-hotels-stay-form__date-trigger{appearance:none;width:100%!important;height:56px!important;min-height:56px!important;padding:0 16px!important;display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--cdo-line,#e4eaf0)!important;border-radius:16px!important;background:#fff!important;color:var(--cdo-navy,#1f3556)!important;box-shadow:none!important;text-align:left!important;font:inherit!important;font-size:14px!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important;cursor:pointer}
.cdo-hotels-stay-form__date-trigger:hover,.cdo-hotels-stay-form__date-trigger:focus-visible{outline:0;border-color:var(--cdo-secondary,#00d0d7)!important;box-shadow:none!important}.cdo-hotels-stay-form__date-trigger>i:first-child{font-size:18px;color:var(--cdo-primary,#683bcd)}.cdo-hotels-stay-form__date-trigger>i:last-child{font-size:11px;color:var(--cdo-muted,#64748b)}
.cdo-hotels-stay-form__people-trigger{appearance:none;width:100%!important;height:56px!important;min-height:56px!important;padding:0 16px!important;display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--cdo-line,#e4eaf0)!important;border-radius:16px!important;background:#fff!important;color:var(--cdo-navy,#1f3556)!important;box-shadow:none!important;text-align:left!important;font:inherit!important;font-size:14px!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important;cursor:pointer}
.cdo-hotels-stay-form__people-trigger:hover,.cdo-hotels-stay-form__people-trigger:focus-visible{outline:0;border-color:var(--cdo-secondary,#00d0d7)!important;box-shadow:none!important}
.cdo-hotels-stay-form__people-trigger>i:first-child{font-size:18px;color:var(--cdo-primary,#683bcd)}
.cdo-hotels-stay-form__people-trigger>i:last-child{font-size:11px;color:var(--cdo-muted,#64748b)}
.cdo-hotels-stay-form__submit{height:56px!important;min-height:56px!important;width:100%;margin:0!important;border-radius:16px!important}
.cdo-hotels-search-helper,.cdo-hotels-search-stale{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:12px;color:var(--cdo-muted,#64748b)}
.cdo-hotels-search-stale[hidden],.cdo-hotels-search-loading[hidden]{display:none!important}
.cdo-hotels-search-helper a{font-weight:700;color:var(--cdo-primary,#683bcd);text-decoration:none}
.cdo-hotels-search-stale{padding:11px 13px;border:1px solid #f0df9d;border-radius:14px;background:#fffaf0;color:#6d5613}
.cdo-hotels-search-loading{margin-top:12px}
.cdo-hotels-page.is-search-loading .cdo-hotels-room-area{opacity:.55;pointer-events:none}

/* Guests modal */
.cdo-hotels-guests{display:grid;gap:0}
.cdo-hotels-guest-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0;border-bottom:1px solid var(--cdo-line,#e4eaf0)}
.cdo-hotels-guest-row>div:first-child{display:grid;gap:3px}.cdo-hotels-guest-row strong{font-size:15px}.cdo-hotels-guest-row small{font-size:12px;color:var(--cdo-muted,#64748b)}
.cdo-hotels-child-ages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px 0 8px}
.cdo-hotels-child-age{display:grid;gap:6px}.cdo-hotels-child-age span{font-size:12px;font-weight:700;color:var(--cdo-navy,#1f3556)}
.cdo-hotels-child-age select{width:100%;height:46px;border:1px solid var(--cdo-line,#e4eaf0);border-radius:12px;background:#fff;padding:0 12px;color:var(--cdo-navy,#1f3556)}
.cdo-hotels-guests__note{margin:12px 0 18px!important;font-size:12px!important}
.cdo-hotels-guests__apply{width:100%}
.cdo-hotels-dates-shell{--cdo-content-modal-width:820px}
.cdo-hotels-date-modal{display:grid;gap:16px}.cdo-hotels-date-modal__intro{margin:0!important;font-size:13px!important;color:var(--cdo-muted,#64748b)!important}.cdo-hotels-date-modal__summary{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:12px 14px;border-radius:14px;background:#f7f9fb}.cdo-hotels-date-modal__summary span{font-size:12px;color:var(--cdo-muted,#64748b)}.cdo-hotels-date-modal__summary strong{font-size:13px!important;color:var(--cdo-navy,#1f3556)!important}
.cdo-hotels-date-modal__toolbar{display:grid;grid-template-columns:42px 1fr 42px;gap:10px;align-items:center}.cdo-hotels-date-modal__toolbar>span{text-align:center;font-size:13px;font-weight:700;color:var(--cdo-navy,#1f3556)}.cdo-hotels-date-modal__nav{appearance:none;width:42px!important;height:42px!important;min-width:42px!important;padding:0!important;border:1px solid var(--cdo-line,#e4eaf0)!important;border-radius:50%!important;background:#fff!important;color:var(--cdo-navy,#1f3556)!important;box-shadow:none!important}.cdo-hotels-date-modal__nav:disabled{opacity:.35;cursor:not-allowed}
.cdo-hotels-date-modal__months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.cdo-hotels-date-month{min-width:0}.cdo-hotels-date-month__title{display:block;margin:0 0 12px;text-align:center;font-size:14px!important;text-transform:capitalize;color:var(--cdo-navy,#1f3556)!important}.cdo-hotels-date-month__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.cdo-hotels-date-month__weekday{display:grid;place-items:center;height:28px;font-size:11px;font-weight:700;color:var(--cdo-muted,#64748b)}.cdo-hotels-date-month__blank{height:38px}.cdo-hotels-date-day{appearance:none!important;width:100%!important;height:38px!important;min-width:0!important;min-height:38px!important;padding:0!important;border:0!important;border-radius:10px!important;background:transparent!important;color:var(--cdo-primary,#683bcd)!important;font:inherit!important;font-size:12px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important;box-shadow:none!important;cursor:pointer}.cdo-hotels-date-day:hover:not(:disabled){background:#f3efff!important;color:var(--cdo-primary,#683bcd)!important}.cdo-hotels-date-day.is-range{border-radius:0!important;background:#f3efff!important}.cdo-hotels-date-day.is-start,.cdo-hotels-date-day.is-end{background:var(--cdo-primary,#683bcd)!important;color:#fff!important;border-radius:10px!important}.cdo-hotels-date-day:disabled{opacity:.3;cursor:not-allowed}
.cdo-hotels-date-modal__footer{display:grid;grid-template-columns:auto minmax(180px,240px);gap:12px;align-items:center;padding-top:4px}.cdo-hotels-date-modal__clear{appearance:none;border:0!important;background:transparent!important;color:var(--cdo-primary,#683bcd)!important;padding:10px 0!important;font:inherit!important;font-size:12px!important;font-weight:700!important;text-transform:none!important;letter-spacing:0!important;box-shadow:none!important;text-align:left}.cdo-hotels-date-modal__apply{width:100%;min-height:48px!important}.cdo-hotels-date-modal__apply:disabled{opacity:.45;cursor:not-allowed}

/* Overview / generic sections */
.cdo-hotels-overview,.cdo-hotels-section,.cdo-hotels-room-area{margin:0 0 var(--hotels-gap);scroll-margin-top:74px}
.cdo-hotels-overview{display:grid;gap:45px;padding:30px;border-radius:24px;background:linear-gradient(135deg,#fbfaff 0%,#f8f9ff 62%,#f5fbfc 100%)}
.cdo-hotels-overview__top{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.72fr);gap:36px;align-items:center}
.cdo-hotels-overview__copy{min-width:0;max-width:660px}
.cdo-hotels-overview__copy>h2{max-width:640px;margin-top:10px!important;font-size:clamp(30px,3.25vw,46px)!important;line-height:1.02!important;letter-spacing:-.025em}
.cdo-hotels-overview__description{max-width:610px;margin:0!important;font-size:15px!important;line-height:1.65!important}
.cdo-hotels-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 22px;margin:22px 0 0}
.cdo-hotels-benefit{display:flex;gap:12px;align-items:center;min-width:0;padding:0;background:transparent}
.cdo-hotels-benefit__icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:14px;background:#f0ebff;color:var(--cdo-primary,#683bcd)}
.cdo-hotels-benefit__icon i{margin:0!important;color:inherit!important;font-size:20px}
.cdo-hotels-benefit strong{display:block;font-size:13px;line-height:1.3;color:var(--cdo-navy,#1f3556)}
.cdo-hotels-overview-facts{min-width:0;padding:20px 22px;border:1px solid rgba(104,59,205,.10);border-radius:20px;background:rgba(255,255,255,.72)}
.cdo-hotels-overview-facts__times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}
.cdo-hotels-overview-fact{display:grid;gap:5px;min-width:0;padding:14px 15px;border:1px solid var(--cdo-line,#e4eaf0);border-radius:14px;background:#fff;text-decoration:none!important}
.cdo-hotels-overview-fact span{font-size:10px;font-weight:800;letter-spacing:.07em;color:var(--cdo-primary,#683bcd)}
.cdo-hotels-overview-fact strong{font-size:14px;line-height:1.25;color:var(--cdo-navy,#1f3556)}
.cdo-hotels-overview-facts__links{display:grid;border-top:1px solid var(--cdo-line,#e4eaf0)}
.cdo-hotels-overview-facts__links a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:43px;border-bottom:1px solid var(--cdo-line,#e4eaf0);color:var(--cdo-navy,#1f3556)!important;font-size:13px;font-weight:700;text-decoration:none!important}
.cdo-hotels-overview-facts__links a:last-child{border-bottom:0}.cdo-hotels-overview-facts__links i{font-size:10px;color:var(--cdo-primary,#683bcd)}
.cdo-hotels-nearby{display:grid;grid-template-columns:minmax(390px,.9fr) minmax(360px,1.1fr);min-width:0;min-height:340px;padding:20px;border:1px solid rgba(104,59,205,.08);border-radius:24px;background:#fff;box-shadow:0 18px 48px rgba(31,53,86,.08);overflow:hidden}
.cdo-hotels-nearby__content{display:flex;flex-direction:column;min-width:0;padding:6px 20px 6px 4px}
.cdo-hotels-nearby__heading{display:flex;align-items:center;gap:12px;margin-bottom:12px}.cdo-hotels-nearby__heading>span{display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;border-radius:14px;background:#f0ebff;color:var(--cdo-primary,#683bcd)}.cdo-hotels-nearby__heading>span i{font-size:20px}.cdo-hotels-nearby__heading h3{margin:0!important;font-size:28px!important;line-height:1.1!important}
.cdo-hotels-nearby__groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.cdo-hotels-nearby__group{display:grid;align-content:start;gap:4px;min-width:0}.cdo-hotels-nearby__group+.cdo-hotels-nearby__group{padding-top:0;border-top:0}.cdo-hotels-nearby__group h4{margin:0 0 4px!important;font-size:11px!important;line-height:1.2!important;font-weight:800!important;letter-spacing:.055em;text-transform:uppercase;color:var(--cdo-primary,#683bcd)!important}.cdo-hotels-nearby__list{display:grid;margin:0;padding:0;list-style:none}.cdo-hotels-nearby__list li{display:flex;align-items:center;gap:9px;min-height:45px;border-bottom:1px solid var(--cdo-line,#e4eaf0)}.cdo-hotels-nearby__list li:last-child{border-bottom:0}.cdo-hotels-nearby__row-icon{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:10px;background:#f5f1ff;color:var(--cdo-primary,#683bcd)}.cdo-hotels-nearby__row-copy{display:grid;grid-template-columns:minmax(42px,auto) minmax(0,1fr);gap:8px;align-items:baseline;min-width:0}.cdo-hotels-nearby__row-copy strong{font-size:12px;font-weight:800;color:var(--cdo-navy,#1f3556);white-space:nowrap}.cdo-hotels-nearby__row-copy>span{font-size:12px;color:var(--cdo-navy,#1f3556);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cdo-hotels-nearby__more{display:inline-flex;align-items:center;gap:8px;width:max-content;margin-top:auto;padding-top:17px;color:var(--cdo-primary,#683bcd)!important;font-size:13px;font-weight:800;text-decoration:none!important}.cdo-hotels-nearby__more i{font-size:11px}
.cdo-hotels-nearby__map{position:relative;min-width:0;min-height:300px;border-radius:18px;overflow:hidden;background:#f3f6f8}.cdo-hotels-nearby__map iframe{display:block;width:100%;height:100%;min-height:300px;border:0;filter:saturate(.72) contrast(.94) brightness(1.04)}.cdo-hotels-nearby__maps-link{position:absolute;top:12px;right:12px;z-index:3;display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border-radius:999px;background:#fff;color:var(--cdo-navy,#1f3556)!important;box-shadow:0 8px 22px rgba(31,53,86,.12);font-size:11px;font-weight:700;text-decoration:none!important}.cdo-hotels-nearby__maps-link i{color:#4974ff}.cdo-hotels-nearby__hotel-pin{position:absolute;left:50%;top:54%;z-index:2;display:grid;place-items:center;width:52px;height:52px;transform:translate(-50%,-50%);border:7px solid rgba(104,59,205,.16);border-radius:50%;background:var(--cdo-primary,#683bcd);color:#fff;box-shadow:0 0 0 12px rgba(104,59,205,.10)}
.cdo-hotels-room-area>.cdo-guided-step-heading{margin-bottom:18px}
.cdo-hotels-room-area .cdo-context-summary{margin:0 0 16px}

/* Rooms */
.cdo-hotels-room-list{display:grid;gap:18px}
.cdo-hotels-room-card{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(280px,1fr) minmax(300px,1.05fr);min-width:0;border:1px solid var(--cdo-line,#e4eaf0);border-radius:22px;background:#fff;overflow:hidden;box-shadow:none}
.cdo-hotels-room-card.is-on-request{border-color:#d9d1f4;background:#fdfcff}
.cdo-hotels-room-card__media{min-width:0;background:#f4f7f9}.cdo-hotels-room-card__media .cdo-hotels-gallery{height:100%;min-height:100%;border-radius:0;margin:0;aspect-ratio:auto}
.cdo-hotels-room-card__body{padding:22px}.cdo-hotels-room-card__body h3{margin:5px 0 8px;font-size:22px}.cdo-hotels-room-card__description{margin-bottom:14px!important;font-size:14px}
.cdo-hotels-room-card__meta{display:grid;grid-template-columns:1fr;align-items:start;gap:7px;padding:0;margin:0 0 14px;list-style:none;font-size:12px;color:var(--cdo-muted,#64748b)}
.cdo-hotels-room-card__meta li{display:flex;align-items:flex-start;gap:5px;min-width:0}.cdo-hotels-room-card__meta li span{min-width:0}.cdo-hotels-room-card__details{appearance:none;border:0;background:transparent;padding:0!important}
.cdo-hotels-room-card__offers{padding:18px;border-left:1px solid var(--cdo-line,#e4eaf0);background:#fbfcfd}
.cdo-hotels-more-rooms{margin:14px 0 0!important;font-size:13px}.cdo-hotels-more-rooms a{font-weight:700;color:var(--cdo-primary,#683bcd);text-decoration:none}

/* Room detail content inside the canonical modal shell */
.cdo-hotels-room-modal__hero{margin:0 0 20px;border-radius:16px;overflow:hidden;background:#f4f7f9}.cdo-hotels-room-modal__hero img{display:block;width:100%;max-height:360px;object-fit:cover}.cdo-hotels-room-modal__hero figcaption{padding:9px 12px;background:#f7f9fb;font-size:12px;color:var(--cdo-muted,#64748b)}
.cdo-hotels-room-modal__grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,.6fr);gap:24px}.cdo-hotels-room-modal__subtitle{font-weight:700;color:var(--cdo-primary,#683bcd)!important}
.cdo-hotels-room-modal__features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin:18px 0;padding:0;list-style:none}.cdo-hotels-room-modal__features li{display:flex;gap:8px;font-size:13px;color:var(--cdo-navy,#1f3556)}
.cdo-hotels-room-modal__facts{display:grid;gap:8px;align-content:start;padding:16px;border-radius:16px;background:#f7f9fb}.cdo-hotels-room-modal__facts>div{display:grid;gap:2px;padding-bottom:8px;border-bottom:1px solid var(--cdo-line,#e4eaf0)}.cdo-hotels-room-modal__facts>div:last-child{border-bottom:0;padding-bottom:0}.cdo-hotels-room-modal__facts span{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--cdo-muted,#64748b)}.cdo-hotels-room-modal__facts strong{font-size:13px}
.cdo-hotels-room-modal__photos{appearance:none;border:0;background:transparent;padding:0!important}

/* Offers */
.cdo-hotels-offer{display:grid;gap:14px;min-width:0}
.cdo-hotels-offer+.cdo-hotels-offer{margin-top:14px;padding-top:14px;border-top:1px solid var(--cdo-line,#e4eaf0)}
.cdo-hotels-offer__conditions{display:grid;gap:4px}.cdo-hotels-offer__conditions>span{display:flex;gap:7px;align-items:center;font-size:13px;font-weight:700}.cdo-hotels-offer__conditions i{color:var(--cdo-secondary,#00d0d7)}.cdo-hotels-offer__conditions small{font-size:12px;color:var(--cdo-muted,#64748b)}.cdo-hotels-offer__penalty{display:block!important;margin:1px 0 0 24px;font-size:11px!important;line-height:1.45!important;color:var(--cdo-muted,#64748b)!important}.cdo-hotels-rule-applied{margin-top:7px!important}
.cdo-hotels-offer__section{display:grid;gap:8px}.cdo-hotels-offer__section-title{display:flex;justify-content:space-between;gap:10px;align-items:center}.cdo-hotels-offer__section-title strong{font-size:13px}.cdo-hotels-offer__section-title span{font-size:11px;color:var(--cdo-muted,#64748b)}
.cdo-hotels-offer__section--extras{gap:7px}.cdo-hotels-meal-selector{display:grid;gap:6px}.cdo-hotels-meal-choice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid var(--cdo-line,#e4eaf0);border-radius:14px;background:#fff;cursor:pointer;transition:border-color .15s ease,background .15s ease}.cdo-hotels-meal-choice:hover{border-color:rgba(104,59,205,.24)}.cdo-hotels-meal-choice:has(input:checked){border-color:var(--cdo-secondary,#00d0d7);background:#f5fcfc}.cdo-hotels-meal-choice input{appearance:none;-webkit-appearance:none;display:grid;place-content:center;width:20px;height:20px;margin:0;border:2px solid var(--cdo-primary,#683bcd);border-radius:50%;background:transparent;box-shadow:none!important;outline:0}.cdo-hotels-meal-choice input::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--cdo-primary,#683bcd);transform:scale(0);transition:transform .12s ease}.cdo-hotels-meal-choice input:checked::before{transform:scale(1)}.cdo-hotels-meal-choice input:focus-visible{outline:2px solid rgba(104,59,205,.22);outline-offset:3px}.cdo-hotels-meal-choice__copy{display:grid;gap:2px}.cdo-hotels-meal-choice__copy strong{font-size:13px}.cdo-hotels-meal-choice__copy small{font-size:11px;color:var(--cdo-muted,#64748b)}.cdo-hotels-meal-choice__price{font-size:12px;font-weight:700;white-space:nowrap}.cdo-hotels-meal-choice__price--included{font-size:11px;font-weight:600;color:var(--cdo-muted,#64748b)}
.cdo-hotels-offer__loading,.cdo-hotels-offer__dates{display:block;padding:12px;border-radius:12px;background:#f7f9fb;font-size:12px;color:var(--cdo-muted,#64748b);text-decoration:none}
.cdo-hotels-offer__priced{display:grid;gap:12px}.cdo-hotels-offer__price{display:grid;gap:3px}.cdo-hotels-offer__price small{font-size:11px;color:var(--cdo-muted,#64748b)}.cdo-hotels-offer__price strong{font-size:24px;line-height:1.1;color:var(--cdo-navy,#1f3556)}
.cdo-hotels-offer__choose{width:100%}
.cdo-hotels-offer__composition{margin-top:10px;border-top:1px solid var(--cdo-line,#e4eaf0);padding-top:12px}.cdo-hotels-offer__composition summary{display:flex;align-items:center;gap:7px;cursor:pointer;font-size:12px;font-weight:700;color:var(--cdo-navy,#1f3556);list-style:none}.cdo-hotels-offer__composition summary::-webkit-details-marker{display:none}
.cdo-hotels-offer__breakdown{display:grid;gap:7px;padding-top:10px}.cdo-hotels-offer__breakdown>div{display:flex;justify-content:space-between;gap:14px;font-size:12px}.cdo-hotels-offer__breakdown-note{margin:6px 0 0!important;font-size:11px!important}
.cdo-hotels-offer__consult{display:grid;gap:8px}.cdo-hotels-offer__consult strong{font-size:14px}.cdo-hotels-offer__consult span{font-size:12px;color:var(--cdo-muted,#64748b)}
.cdo-hotels-error{margin:0!important;padding:12px;border-radius:12px;background:#fff1f3;color:#9f1239!important;font-size:12px!important}
.cdo-hotels-page.is-search-stale .cdo-hotels-room-card__offers{opacity:.58}.cdo-hotels-page.is-search-stale [data-cdo-hotels-cart-action],.cdo-hotels-page.is-search-stale [data-cdo-hotels-on-request-action]{pointer-events:none}

/* Room decision controls — protect against theme/global button/strong rules. */
.cdo-hotels-room-card__details{appearance:none!important;display:inline-flex!important;align-items:center!important;gap:7px!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;margin:0!important;padding:4px 0!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--cdo-primary,#683bcd)!important;box-shadow:none!important;font:inherit!important;font-size:13px!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important;text-align:left!important}.cdo-hotels-room-card__details .cdo-card-action__label{color:inherit!important}.cdo-hotels-room-card__details .cdo-card-action__icon{color:var(--cdo-primary,#683bcd)!important;font-size:11px!important}.cdo-hotels-room-card__details:hover{color:var(--cdo-primary,#683bcd)!important;background:transparent!important}
.cdo-hotels-offer__choose:not(.cdo-button--whatsapp){background:var(--cdo-primary,#683bcd)!important;border-color:var(--cdo-primary,#683bcd)!important;color:#fff!important}.cdo-hotels-offer__choose:not(.cdo-button--whatsapp):hover{background:var(--cdo-primary,#683bcd)!important;border-color:var(--cdo-primary,#683bcd)!important;color:#fff!important;opacity:.94}
.cdo-hotels-offer__section-title>strong{font-size:13px!important;line-height:1.3!important;font-weight:700!important}.cdo-hotels-offer__section-title>span{font-size:11px!important;line-height:1.3!important}.cdo-hotels-offer__conditions>span{font-size:13px!important;line-height:1.4!important;font-weight:700!important}.cdo-hotels-offer__composition summary{font-size:13px!important;line-height:1.4!important}.cdo-hotels-offer__breakdown-row{align-items:baseline!important}.cdo-hotels-offer__breakdown-row>span,.cdo-hotels-offer__breakdown-row>strong{font-size:13px!important;line-height:1.4!important}.cdo-hotels-offer__breakdown-row>strong{font-weight:700!important;white-space:nowrap}.cdo-hotels-offer__breakdown-row.is-total>span,.cdo-hotels-offer__breakdown-row.is-total>strong{font-size:14px!important;font-weight:800!important}.cdo-hotels-offer__breakdown-note{font-size:11px!important;line-height:1.55!important}

/* Amenities */
.cdo-hotels-amenities-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0;margin:18px 0 0;list-style:none}.cdo-hotels-amenities-grid li{display:flex;gap:9px;align-items:flex-start;padding:13px 14px;border-radius:14px;background:#f7f9fb}.cdo-hotels-amenities-grid i{margin-top:2px;color:var(--cdo-secondary,#00d0d7)}.cdo-hotels-amenities-grid strong{font-size:13px}

/* Location */
.cdo-hotels-location__grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:20px;align-items:stretch}.cdo-hotels-map{position:relative;min-height:340px;border-radius:20px;overflow:hidden;background:#f4f7f9}.cdo-hotels-map iframe{display:block;width:100%;height:100%;min-height:320px;border:0}.cdo-hotels-map__action{position:absolute;left:12px;right:12px;bottom:12px;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:12px 14px;border-radius:14px;background:#fff;color:var(--cdo-navy,#1f3556);text-decoration:none;box-shadow:0 10px 30px rgba(7,23,44,.12)}.cdo-hotels-map__action span{font-size:12px}.cdo-hotels-map__action strong{font-size:12px;color:var(--cdo-primary,#683bcd)}
.cdo-hotels-location__copy{padding:24px;border-radius:20px;background:#f7f9fb}.cdo-hotels-location__copy h3{font-size:22px}.cdo-hotels-location__note{margin-top:20px;padding-top:16px;border-top:1px solid var(--cdo-line,#e4eaf0);font-size:13px;line-height:1.5}

/* Policies */
.cdo-hotels-policies__layout{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:24px}.cdo-hotels-check-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.cdo-hotels-check-time{display:grid;gap:4px;padding:14px;border-radius:14px;background:#f7f9fb}.cdo-hotels-check-time i{color:var(--cdo-primary,#683bcd)}.cdo-hotels-check-time strong{font-size:12px}.cdo-hotels-check-time span{font-size:12px;color:var(--cdo-muted,#64748b)}
.cdo-hotels-faq{display:grid;border-top:1px solid var(--cdo-line,#e4eaf0)}.cdo-hotels-faq details{border-bottom:1px solid var(--cdo-line,#e4eaf0)}.cdo-hotels-faq summary{padding:16px 2px;cursor:pointer;font-size:14px;font-weight:700;color:var(--cdo-navy,#1f3556)}.cdo-hotels-faq details>div{padding:0 2px 16px;font-size:13px;line-height:1.55;color:var(--cdo-muted,#64748b)}

/* Archive marketplace — comparison-first catalog, CDO-native and provider-agnostic. */
.cdo-hotels-archive-hero{max-width:780px;margin-bottom:24px}
.cdo-hotels-archive-hero>p{max-width:720px;font-size:16px}
.cdo-hotels-archive-search{margin-bottom:32px}
.cdo-hotels-stay-form--archive{grid-template-columns:minmax(210px,1.15fr) minmax(270px,1.15fr) minmax(220px,.9fr) 158px;gap:12px;align-items:end}
.cdo-hotels-stay-form__destination{display:block;min-width:0}
.cdo-hotels-stay-form__destination-field{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;height:56px;padding:0 16px;border:1px solid var(--cdo-line,#e4eaf0);border-radius:16px;background:#fff}
.cdo-hotels-stay-form__destination-field>i{font-size:18px;color:var(--cdo-primary,#683bcd)}
.cdo-hotels-stay-form__destination-field>input{width:100%;min-width:0;height:48px;margin:0!important;padding:0!important;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;color:var(--cdo-navy,#1f3556)!important;font:inherit!important;font-size:14px!important;font-weight:700!important}
.cdo-hotels-stay-form__destination-field>input::placeholder{color:var(--cdo-muted,#64748b);opacity:1}
.cdo-hotels-archive-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:30px;align-items:start;padding-bottom:54px}
.cdo-hotels-archive-sidebar{position:sticky;top:18px;min-width:0}
.cdo-hotels-archive-sidebar__mobile-head{display:none}
.cdo-hotels-archive-map-card{overflow:hidden;margin-bottom:22px;border:1px solid var(--cdo-line,#e4eaf0);border-radius:18px;background:#fff}
.cdo-hotels-archive-map-card__visual{position:relative;display:grid;place-items:center;height:116px;overflow:hidden;background:linear-gradient(135deg,#edf6f0,#e8f1f8 55%,#f7efe5)}
.cdo-hotels-archive-map-card__visual:before,.cdo-hotels-archive-map-card__visual:after{content:"";position:absolute;width:180px;height:8px;border-radius:999px;background:rgba(255,255,255,.7)}
.cdo-hotels-archive-map-card__visual:before{left:-20px;top:46px;transform:rotate(-18deg)}
.cdo-hotels-archive-map-card__visual:after{right:-24px;top:62px;transform:rotate(28deg)}
.cdo-hotels-archive-map-card__visual i{position:relative;z-index:1;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--cdo-primary,#683bcd);color:#fff;box-shadow:0 8px 20px rgba(104,59,205,.18)}
.cdo-hotels-archive-map-card>a{display:block;padding:13px 14px;text-align:center;text-decoration:none;color:var(--cdo-primary,#683bcd);font-size:13px;font-weight:800}
.cdo-hotels-filter-form{display:block}
.cdo-hotels-filter-block{padding:20px 0;border-top:1px solid var(--cdo-line,#e4eaf0)}
.cdo-hotels-filter-block:first-of-type{border-top:0;padding-top:0}
.cdo-hotels-filter-block h3{margin:0 0 13px!important;font-size:16px!important;line-height:1.25!important;font-weight:800!important;color:var(--cdo-navy,#1f3556)}
.cdo-hotels-filter-search{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;padding:0 12px;border:1px solid var(--cdo-line,#e4eaf0);border-radius:13px;background:#fff}
.cdo-hotels-filter-search i{color:var(--cdo-navy,#1f3556)}
.cdo-hotels-filter-search input{width:100%;height:46px;margin:0!important;padding:0!important;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;color:var(--cdo-navy,#1f3556)!important;font:inherit!important;font-size:13px!important;font-weight:600!important}
.cdo-hotels-filter-price{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cdo-hotels-filter-price>span{display:grid;gap:3px;padding:10px 12px;border:1px solid var(--cdo-line,#e4eaf0);border-radius:12px;background:#fff;color:var(--cdo-muted,#64748b)}
.cdo-hotels-filter-price small{font-size:10px;font-weight:700}
.cdo-hotels-filter-price strong{font-size:14px;color:var(--cdo-navy,#1f3556)}
.cdo-hotels-filter-block--price>p{margin:8px 0 0!important;font-size:11px!important;line-height:1.45!important;color:var(--cdo-muted,#64748b)}
.cdo-hotels-filter-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;color:#454d67;font-size:13px;cursor:pointer}
.cdo-hotels-filter-row>span{display:flex;align-items:center;gap:9px;min-width:0}
.cdo-hotels-filter-row input{width:18px;height:18px;margin:0!important;accent-color:#8b92a6}
.cdo-hotels-filter-row small{font-size:11px;color:#8b92a6}
.cdo-hotels-filter-row.is-disabled{opacity:.42;cursor:not-allowed}
.cdo-hotels-filter-actions{display:grid;gap:8px;padding-top:16px;border-top:1px solid var(--cdo-line,#e4eaf0)}
.cdo-hotels-filter-actions .cdo-button{width:100%;min-height:44px!important}
.cdo-hotels-filter-actions>a{text-align:center;color:var(--cdo-muted,#64748b);font-size:12px;font-weight:700}
.cdo-hotels-archive-results{min-width:0;margin:0}
.cdo-hotels-archive-results__top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}
.cdo-hotels-archive-results__top .cdo-eyebrow{margin-bottom:5px}
.cdo-hotels-archive-count{font-size:14px;font-weight:700;color:#59617a}
.cdo-hotels-archive-sort{display:flex;align-items:center;gap:9px;margin:0}
.cdo-hotels-archive-sort label{font-size:12px;font-weight:700;color:#59617a}
.cdo-hotels-archive-sort select{height:44px;margin:0!important;padding:0 36px 0 13px!important;border:1px solid var(--cdo-line,#e4eaf0)!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important;color:var(--cdo-navy,#1f3556)!important;font:inherit!important;font-size:12px!important;font-weight:800!important}
.cdo-hotels-archive-mobile-actions{display:none}
.cdo-hotels-catalog-note{display:flex;gap:12px;margin-bottom:18px;padding:15px 17px;border:1px solid #eae6fa;border-radius:18px;background:#fbfaff;color:#4b5370}
.cdo-hotels-catalog-note__icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:#f2effd;color:var(--cdo-primary,#683bcd)}
.cdo-hotels-catalog-note strong{display:block;margin-bottom:2px;color:var(--cdo-navy,#1f3556);font-size:13px}
.cdo-hotels-catalog-note span{font-size:12px;line-height:1.45}
.cdo-hotels-archive .cdo-hotels-list{display:grid;grid-template-columns:1fr;gap:16px}
.cdo-hotels-archive-card{display:grid;grid-template-columns:minmax(260px,330px) minmax(0,1fr) minmax(180px,205px);min-height:280px;overflow:hidden;border:1px solid var(--cdo-line,#e4eaf0);border-radius:22px;background:#fff;box-shadow:0 8px 24px rgba(16,29,68,.045)}
.cdo-hotels-archive-card__media{position:relative;display:block;min-height:280px;overflow:hidden;background:#f2f5f7;text-decoration:none}
.cdo-hotels-archive-card__media .cdo-hotels-gallery-cover{width:100%;height:100%}
.cdo-hotels-archive-card__media .cdo-hotels-gallery-cover img{display:block;width:100%;height:100%;object-fit:cover}
.cdo-hotels-gallery-cover--empty{display:grid;place-items:center;color:#aab2c2;background:#eef2f5;font-size:36px}
.cdo-hotels-archive-card__photos{position:absolute;right:12px;bottom:12px;display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border-radius:999px;background:rgba(15,31,75,.78);color:#fff;font-size:11px;font-weight:800}
.cdo-hotels-archive-card__body{display:flex;min-width:0;flex-direction:column;padding:21px 23px}
.cdo-hotels-archive-card__badges{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:9px}
.cdo-hotels-archive-badge{display:inline-flex;align-items:center;padding:6px 8px;border-radius:999px;background:#f5f2ff;color:var(--cdo-primary,#683bcd);font-size:10px;font-weight:900;letter-spacing:.02em}
.cdo-hotels-archive-badge.is-neutral{background:#f4f5f7;color:#626b80}
.cdo-hotels-archive-card__body h2{margin:0 0 5px!important;font-size:25px!important;line-height:1.08!important;letter-spacing:-.025em!important}
.cdo-hotels-archive-card__body h2 a{text-decoration:none;color:var(--cdo-navy,#1f3556)}
.cdo-hotels-archive-card__location{display:flex;align-items:center;gap:6px;margin:0 0 13px!important;font-size:12px!important;font-weight:700;color:#737b90!important}
.cdo-hotels-archive-card__location i{color:var(--cdo-primary,#683bcd)}
.cdo-hotels-archive-card__features{display:flex;flex-wrap:wrap;gap:8px 13px;margin-bottom:13px}
.cdo-hotels-archive-card__features>span{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:#404861}
.cdo-hotels-archive-card__features i{color:#6e7890}
.cdo-hotels-archive-card__summary{margin:0 0 12px!important;font-size:13px!important;line-height:1.52!important;color:#5c647b!important}
.cdo-hotels-archive-card__highlights{display:flex;flex-wrap:wrap;gap:8px 13px;margin-top:auto;padding-top:8px}
.cdo-hotels-archive-card__highlights>span{font-size:11px;font-weight:800;color:#33405f}
.cdo-hotels-archive-price{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;padding:21px 21px 20px 0;text-align:right}
.cdo-hotels-archive-price__from{font-size:10px;font-weight:700;color:#7a8196}
.cdo-hotels-archive-price__amount{margin:3px 0 4px;font-size:27px;line-height:1;font-weight:900;letter-spacing:-.035em;color:var(--cdo-navy,#1f3556)}
.cdo-hotels-archive-price__consult{max-width:175px;margin:5px 0 6px;font-size:18px;line-height:1.1;font-weight:800;color:var(--cdo-navy,#1f3556)}
.cdo-hotels-archive-price__per,.cdo-hotels-archive-price__total{max-width:185px;font-size:11px;line-height:1.4;color:#777f94}
.cdo-hotels-archive-price__total{margin:10px 0 13px;color:#4f5872}
.cdo-hotels-archive-price .cdo-button{min-width:132px}
.cdo-hotels-archive-trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}
.cdo-hotels-archive-trust>div{padding:15px;border:1px solid var(--cdo-line,#e4eaf0);border-radius:16px;background:#fff}
.cdo-hotels-archive-trust strong{display:block;margin-bottom:3px;font-size:12px;color:var(--cdo-navy,#1f3556)}
.cdo-hotels-archive-trust span{font-size:11px;line-height:1.4;color:#71798f}

@media(max-width:1120px) and (min-width:761px){
  .cdo-hotels-stay-form.has-hotel-context{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cdo-hotels-stay-form.has-hotel-context .cdo-hotels-stay-form__submit{grid-column:2}
}
@media(max-width:980px){
  .cdo-hotels-page{--hotels-gap:34px}
  .cdo-hotels-overview{padding:26px}.cdo-hotels-overview__top{grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:24px}.cdo-hotels-overview__copy{max-width:none}.cdo-hotels-nearby{grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr)}
  .cdo-hotels-room-card{grid-template-columns:minmax(210px,.85fr) minmax(0,1.15fr)}
  .cdo-hotels-room-card__offers{grid-column:1/-1;border-left:0;border-top:1px solid var(--cdo-line,#e4eaf0)}
  .cdo-hotels-amenities-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .cdo-hotels-date-modal__months{grid-template-columns:1fr}.cdo-hotels-date-month:nth-child(2){display:none}.cdo-hotels-date-modal__footer{grid-template-columns:1fr}.cdo-hotels-date-modal__clear{text-align:center!important}
  .cdo-hotels-search-section>.cdo-guided-step-heading{margin-bottom:20px}
  .cdo-hotels-room-area>.cdo-guided-step-heading{margin-bottom:16px}
  .cdo-hotels-page{--hotels-gap:28px}
  .cdo-hotels-page h1{font-size:var(--cdo-hero-mobile-title-size,40px)}.cdo-hotels-page h2{font-size:27px}
  .cdo-hotels-hotel-header{margin-bottom:16px}
  .cdo-hotels-gallery{display:block;aspect-ratio:1.62/1;border-radius:18px;margin-bottom:20px}
  .cdo-hotels-single>.cdo-hotels-gallery--feature{height:auto;aspect-ratio:1.72/1}
  .cdo-hotels-gallery__item{display:none!important}.cdo-hotels-gallery__item.is-main{display:block!important;height:100%!important}
  .cdo-hotels-gallery__all{right:10px;bottom:10px}
  .cdo-hotels-gallery__all span{display:none}.cdo-hotels-gallery__all{width:42px!important;padding:0!important}.cdo-hotels-gallery__all small{display:none}
  .cdo-hotels-section-nav{margin-left:-12px;margin-right:-12px;padding:0 12px}
  .cdo-hotels-stay-form,.cdo-hotels-stay-form.has-hotel-context{grid-template-columns:1fr;padding:0}
  .cdo-hotels-stay-form__hotel,.cdo-hotels-stay-form__dates,.cdo-hotels-stay-form__people,.cdo-hotels-stay-form__submit{grid-column:1}
  .cdo-hotels-overview{margin-left:-8px;margin-right:-8px;padding:22px 16px;border-radius:20px;gap:20px}.cdo-hotels-overview__top{grid-template-columns:1fr;gap:20px}.cdo-hotels-overview__copy>h2{margin-top:8px!important;font-size:30px!important;line-height:1.06!important}.cdo-hotels-overview__description{font-size:14px!important;line-height:1.58!important}.cdo-hotels-benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px;margin-top:20px}.cdo-hotels-benefit{gap:9px}.cdo-hotels-benefit__icon{flex-basis:42px;width:42px;height:42px;border-radius:12px}.cdo-hotels-benefit__icon i{font-size:18px}.cdo-hotels-benefit strong{font-size:12px}.cdo-hotels-overview-facts{padding:16px;border-radius:18px}.cdo-hotels-overview-facts__times{gap:10px}.cdo-hotels-overview-fact{padding:12px}.cdo-hotels-nearby{grid-template-columns:1fr;padding:14px;border-radius:20px;min-height:0}.cdo-hotels-nearby__content{padding:0 0 14px}.cdo-hotels-nearby__heading{gap:10px;margin-bottom:6px}.cdo-hotels-nearby__heading>span{width:42px;height:42px;flex-basis:42px;border-radius:12px}.cdo-hotels-nearby__heading h3{font-size:24px!important}.cdo-hotels-nearby__groups{grid-template-columns:1fr;gap:14px}.cdo-hotels-nearby__group+.cdo-hotels-nearby__group{padding-top:12px;border-top:1px solid var(--cdo-line,#e4eaf0)}.cdo-hotels-nearby__list li{min-height:48px}.cdo-hotels-nearby__row-icon{width:34px;height:34px;flex-basis:34px}.cdo-hotels-nearby__more{padding-top:14px}.cdo-hotels-nearby__map,.cdo-hotels-nearby__map iframe{min-height:230px}
  .cdo-hotels-room-card{grid-template-columns:1fr;border-radius:18px}.cdo-hotels-room-card__media{min-height:220px}.cdo-hotels-room-card__body{padding:18px}.cdo-hotels-room-card__offers{padding:16px}
  .cdo-hotels-room-card__meta{grid-template-columns:1fr;gap:7px}
  .cdo-hotels-room-modal__grid,.cdo-hotels-location__grid,.cdo-hotels-policies__layout{grid-template-columns:1fr}
  .cdo-hotels-room-modal__features,.cdo-hotels-child-ages{grid-template-columns:1fr}
  .cdo-hotels-amenities-grid{grid-template-columns:1fr}
  .cdo-hotels-map{min-height:300px}.cdo-hotels-map iframe{min-height:300px}
  .cdo-hotels-gallery-modal__stage{height:min(42vh,360px);border-radius:12px}.cdo-hotels-gallery-modal__nav{width:40px!important;height:40px!important;min-width:40px!important}.cdo-hotels-gallery-modal__nav.is-prev{left:6px}.cdo-hotels-gallery-modal__nav.is-next{right:6px}
  .cdo-hotels-gallery-modal__meta{grid-template-columns:1fr;gap:4px}
  .cdo-hotels-check-times{grid-template-columns:1fr}
}
@media(max-width:480px){
  .cdo-hotels-nearby__map,.cdo-hotels-nearby__map iframe{min-height:210px}.cdo-hotels-nearby__maps-link{top:9px;right:9px;padding:8px 10px}.cdo-hotels-nearby__hotel-pin{width:46px;height:46px;border-width:6px;box-shadow:0 0 0 9px rgba(104,59,205,.10)}
  .cdo-hotels-gallery-modal__thumb{flex-basis:72px;width:72px!important;height:50px!important}
  .cdo-hotels-map__action{grid-template-columns:auto minmax(0,1fr) auto}.cdo-hotels-map__action strong{display:none}
}

@media(max-width:360px){
  .cdo-hotels-benefits{grid-template-columns:1fr}
  .cdo-hotels-overview__copy>h2{font-size:28px!important}
}


/* Hotel upper-page consolidation */
.cdo-hotels-section-nav{display:none!important}
.cdo-hotels-originals-badge{display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:100%;margin:0 0 14px;padding:8px 12px;border:0;border-radius:999px;background:var(--cdo-primary,#683bcd);color:#fff;box-shadow:none}
.cdo-hotels-originals-badge strong{font-size:11px;line-height:1;font-weight:800;letter-spacing:0;text-transform:uppercase;color:#fff;white-space:nowrap}
.cdo-hotels-overview-facts{background:#fff;border:1px solid #eae6fa;padding:20px 22px;border-radius:20px}
.cdo-hotels-overview-facts__times{margin:0 0 18px}
.cdo-hotels-overview-faq{display:grid;gap:7px;margin-top:2px;padding-top:16px;border-top:1px solid #eae6fa}
.cdo-hotels-overview-faq__eyebrow{font-size:10px;font-weight:800;letter-spacing:.065em;color:var(--cdo-primary,#683bcd)}
.cdo-hotels-overview-faq .cdo-hotels-faq{border-top:0}
.cdo-hotels-overview-faq .cdo-hotels-faq details{border-bottom:1px solid var(--cdo-line,#e4eaf0)}
.cdo-hotels-overview-faq .cdo-hotels-faq summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;list-style:none}
.cdo-hotels-overview-faq .cdo-hotels-faq summary::-webkit-details-marker{display:none}
.cdo-hotels-overview-faq .cdo-hotels-faq summary i{font-size:10px;color:var(--cdo-primary,#683bcd);transition:transform .16s ease}
.cdo-hotels-overview-faq .cdo-hotels-faq details[open] summary i{transform:rotate(180deg)}
.cdo-hotels-overview-faq .cdo-hotels-faq details>div{padding:0 0 14px}
.cdo-hotels-nearby__heading{margin-bottom:24px}
.cdo-hotels-nearby__more{display:none!important}
@media(max-width:760px){
  .cdo-hotels-overview-facts{padding:16px;border-radius:18px}
  .cdo-hotels-overview-facts__times{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}
  .cdo-hotels-nearby__heading{margin-bottom:18px}
}
@media(max-width:380px){
  .cdo-hotels-overview-facts__times{grid-template-columns:1fr}
}


/* Archive marketplace responsive overrides */
@media(max-width:1080px){
  .cdo-hotels-stay-form--archive{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cdo-hotels-stay-form--archive .cdo-hotels-stay-form__submit{grid-column:2}
  .cdo-hotels-archive-card{grid-template-columns:minmax(230px,270px) minmax(0,1fr)}
  .cdo-hotels-archive-price{grid-column:2;align-items:flex-start;padding:0 23px 20px;text-align:left}
  .cdo-hotels-archive-price__per,.cdo-hotels-archive-price__total{max-width:none}
}
@media(max-width:840px){
  .cdo-hotels-archive-grid{grid-template-columns:1fr;gap:16px}
  .cdo-hotels-archive-sidebar{display:none}
  .cdo-hotels-archive-sidebar.is-mobile-open{position:fixed;z-index:2147482500;inset:0;display:block;overflow:auto;padding:20px;background:#fff}
  .cdo-hotels-archive-sidebar__mobile-head{position:sticky;top:-20px;z-index:2;display:flex;align-items:center;justify-content:space-between;margin:-20px -20px 16px;padding:16px 20px;border-bottom:1px solid var(--cdo-line,#e4eaf0);background:#fff}
  .cdo-hotels-archive-sidebar__mobile-head strong{font-size:18px;color:var(--cdo-navy,#1f3556)}
  .cdo-hotels-archive-sidebar__mobile-head button{display:grid;place-items:center;width:40px;height:40px;margin:0;padding:0;border:1px solid var(--cdo-line,#e4eaf0);border-radius:50%;background:#fff;color:var(--cdo-navy,#1f3556)}
  .cdo-hotels-archive-mobile-actions{display:flex;gap:10px;margin:0 0 16px}
  .cdo-hotels-archive-mobile-actions button,.cdo-hotels-archive-mobile-actions a{display:flex;flex:1;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 14px;border:1px solid var(--cdo-line,#e4eaf0);border-radius:12px;background:#fff;color:var(--cdo-navy,#1f3556);font-size:12px;font-weight:800;text-decoration:none}
  .cdo-hotels-archive-trust{grid-template-columns:1fr}
}
@media(max-width:760px){
  .cdo-hotels-archive-hero{margin-bottom:20px}
  .cdo-hotels-archive-hero>p{font-size:14px}
  .cdo-hotels-stay-form--archive{grid-template-columns:1fr!important}
  .cdo-hotels-stay-form--archive .cdo-hotels-stay-form__destination,.cdo-hotels-stay-form--archive .cdo-hotels-stay-form__dates,.cdo-hotels-stay-form--archive .cdo-hotels-stay-form__people,.cdo-hotels-stay-form--archive .cdo-hotels-stay-form__submit{grid-column:1!important}
  .cdo-hotels-archive-results__top{align-items:center}
  .cdo-hotels-archive-sort label{display:none}
  .cdo-hotels-archive-sort select{max-width:170px}
  .cdo-hotels-archive-card{grid-template-columns:1fr;border-radius:18px}
  .cdo-hotels-archive-card__media{min-height:220px;aspect-ratio:1.62/1}
  .cdo-hotels-archive-card__body{padding:18px 19px}
  .cdo-hotels-archive-card__body h2{font-size:22px!important}
  .cdo-hotels-archive-price{grid-column:1;align-items:flex-start;padding:0 19px 19px;text-align:left}
  .cdo-hotels-catalog-note{padding:14px}
}
@media(max-width:480px){
  .cdo-hotels-archive-results__top{display:grid;grid-template-columns:1fr;gap:12px;align-items:start}
  .cdo-hotels-archive-sort{width:100%}.cdo-hotels-archive-sort select{width:100%;max-width:none}
}

html.cdo-hotels-filter-open,body.cdo-hotels-filter-open{overflow:hidden!important}


.cdo-hotels-overview-faq .cdo-hotels-faq details:last-child{border-bottom:0}
.cdo-hotels-meal-choice:has([data-cdo-hotels-breakfast-delta]){grid-template-columns:20px minmax(0,1fr);align-items:start}
.cdo-hotels-meal-choice:has([data-cdo-hotels-breakfast-delta]) .cdo-hotels-meal-choice__price{grid-column:2;grid-row:2;white-space:normal;line-height:1.45;font-size:12px}
.cdo-hotels-meal-choice:has([data-cdo-hotels-breakfast-delta]) .cdo-hotels-meal-choice__copy{min-width:0}