.cu-trip-builder{--cu-stay:#526952;--cu-stay-soft:#edf2ea;--cu-activity:#b56f3b;--cu-activity-soft:#f6eee8;--cu-search:#5f86a5;max-width:1480px;margin:0 auto;padding:24px 28px 56px;color:var(--cu-ink,#28372e)}
.cu-trip-builder__hero{margin-bottom:12px}

/* 5.0.73 — one desktop Build shell in both modes. Mode changes presentation, never containment ownership. */
.cu-trip-builder__workspace{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:18px;align-items:stretch;transition:grid-template-columns var(--cu-search-mode-duration,560ms) var(--cu-search-mode-ease,cubic-bezier(.16,1,.3,1));margin-top:8px;scroll-margin-top:104px;--cu-builder-pane-height:552px;--cu-compact-stay-card-height:140px}
.cu-trip-builder__workspace[data-mode="activities"]{grid-template-columns:minmax(300px,1fr) minmax(0,2fr)}
.cu-trip-builder__pane{box-sizing:border-box;height:var(--cu-builder-pane-height);min-height:var(--cu-builder-pane-height);background:#fff;border:1px solid #dddcd6;border-radius:22px;padding:20px;min-width:0;box-shadow:0 8px 28px rgba(48,54,48,.035);display:flex;flex-direction:column;overflow:hidden}
/* 5.0.198 — one stable pane-heading geometry in both modes. The title/subtitle never
   rewrap while the shell changes width; only the result body changes presentation. */
.cu-trip-builder__pane-heading{display:grid;grid-template-columns:56px minmax(0,1fr);gap:14px;align-items:start;min-height:76px;margin-bottom:14px;flex:0 0 auto;position:relative}.cu-trip-builder__pane-heading h2{font-family:var(--cu-font-display,serif);font-weight:500;font-size:32px;line-height:1;margin:0 0 5px;white-space:nowrap}.cu-trip-builder__pane-heading p{margin:0;color:#69756d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cu-trip-builder__pane-heading-copy{min-width:0;padding-right:0}.cu-trip-builder__domain-icon{appearance:none;-webkit-appearance:none;width:56px;height:56px;border:0;padding:0;border-radius:50%;display:grid;place-items:center;color:#fff;flex:0 0 56px;font:inherit;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.cu-trip-builder__domain-icon:hover{filter:brightness(.97);transform:translateY(-1px)}.cu-trip-builder__domain-icon:focus-visible{outline:2px solid currentColor;outline-offset:3px;box-shadow:0 0 0 4px rgba(255,255,255,.92)}.cu-trip-builder__domain-icon--stay{background:var(--cu-stay)}.cu-trip-builder__domain-icon--activity{background:var(--cu-activity)}
.cu-trip-builder__pane-heading--stay{grid-template-columns:56px minmax(0,1fr)}.cu-trip-builder__pane-heading--activity{grid-template-columns:56px minmax(0,1fr)}
.cu-trip-builder__activity-filter-cta{position:absolute;right:0;top:11px;align-self:center;margin:0;max-width:230px;border:1px solid var(--cu-activity);border-radius:999px;padding:9px 15px;background:var(--cu-activity);color:#fff;font:600 11px/1.25 var(--cu-font-ui,inherit);text-align:center;cursor:pointer;box-shadow:none;transition:opacity .14s ease,background-color .18s ease,border-color .18s ease}.cu-trip-builder__activity-filter-cta:hover,.cu-trip-builder__activity-filter-cta:focus-visible{background:#9f6033;border-color:#9f6033;color:#fff;outline:none}.cu-trip-builder__workspace[data-mode="stays"] .cu-trip-builder__activity-filter-cta{display:none}.cu-trip-builder__workspace[data-mode="activities"] .cu-trip-builder__activity-filter-cta{display:inline-flex;align-items:center;justify-content:center;max-width:230px}
/* One Search transition contract. Result typography fades at a fixed width, then
   reappears already laid out at the destination width while only the outer pane tracks
   move. No transform is applied to text/cards, so paragraphs and availability bullets
   cannot visibly swim during the 2/3 ↔ 1/3 transition. */
.cu-trip-builder__stay-results,.cu-trip-builder__activity-results{transition:opacity var(--cu-search-mode-content-duration,290ms) var(--cu-search-mode-ease,cubic-bezier(.16,1,.3,1))}
.cu-trip-builder__workspace.is-mode-preparing .cu-trip-builder__stay-results,.cu-trip-builder__workspace.is-mode-preparing .cu-trip-builder__activity-results{opacity:0;pointer-events:none}
.cu-trip-builder__workspace.is-mode-transitioning .cu-trip-builder__stay-results,.cu-trip-builder__workspace.is-mode-transitioning .cu-trip-builder__activity-results{opacity:1;pointer-events:none}
.cu-trip-builder__workspace.is-mode-preparing .cu-trip-builder__date-status,.cu-trip-builder__workspace.is-mode-preparing .cu-trip-builder__activity-filter-cta,.cu-trip-builder__workspace.is-mode-transitioning .cu-trip-builder__date-status,.cu-trip-builder__workspace.is-mode-transitioning .cu-trip-builder__activity-filter-cta{pointer-events:none}
/* Stay cards keep one concise hierarchy. Current Trip vs new search lives in the heading pills. */
.cu-trip-builder__stay-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;flex:1 1 auto;min-height:0;align-content:start}.cu-trip-builder__workspace[data-mode="activities"] .cu-trip-builder__stay-results{grid-template-columns:1fr;grid-template-rows:repeat(3,var(--cu-compact-stay-card-height));gap:10px;align-content:start}
.cu-trip-stay-card{border:1px solid #dfe1db;border-radius:18px;overflow:hidden;background:#fff;display:flex;flex-direction:column;min-height:0}.cu-trip-stay-card__media{position:relative;aspect-ratio:4/3;background:#e9ece5;overflow:hidden}.cu-trip-stay-card__media img{width:100%;height:100%;object-fit:cover}.cu-trip-stay-card__badge{position:absolute;left:12px;top:12px;background:#fff;border-radius:999px;padding:7px 12px;font-size:13px;box-shadow:0 3px 12px rgba(0,0,0,.08)}.cu-trip-stay-card.is-checking .cu-trip-stay-card__badge{color:#687269}.cu-trip-stay-card__body{padding:15px;display:flex;flex-direction:column;gap:9px;flex:1;min-height:0}.cu-trip-stay-card h3{font-family:var(--cu-font-display,serif);font-size:26px;font-weight:500;margin:0}.cu-trip-stay-card__meta{display:flex;flex-wrap:wrap;gap:11px;font-size:13px;color:#5c6d61}.cu-trip-stay-card__summary{font-size:12px;color:#66716b;line-height:1.4;margin:0}.cu-trip-stay-card__summary--reason{margin-top:0}.cu-trip-stay-card__reasons{display:grid;gap:4px;margin:0;padding:0;list-style:none;color:#914d43;font-size:12px;line-height:1.35}.cu-trip-stay-card__reasons li{position:relative;padding-left:11px}.cu-trip-stay-card__reasons li:before{content:"•";position:absolute;left:0;top:0}.cu-trip-stay-card__actions{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:2px}.cu-trip-stay-card__actions a{font-size:13px;color:#31483a;text-decoration:underline;text-underline-offset:3px}.cu-trip-stay-card__add{margin-left:auto;background:var(--cu-stay);color:#fff!important;border:1px solid var(--cu-stay);border-radius:999px;padding:10px 15px;text-decoration:none!important;cursor:pointer;white-space:nowrap}.cu-trip-stay-card.is-selected{outline:2px solid var(--cu-stay);outline-offset:2px;background:linear-gradient(180deg,#fff 0%,#f7faf5 100%);box-shadow:0 8px 22px rgba(82,105,82,.10)}.cu-trip-stay-card.is-selected .cu-trip-stay-card__add{background:var(--cu-stay-soft);color:var(--cu-stay)!important;border-color:var(--cu-stay);font-weight:600}.cu-trip-stay-card[data-cu-trip-stay-card-link]{cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.cu-trip-stay-card[data-cu-trip-stay-card-link]:hover{border-color:#b8c4b8;box-shadow:0 8px 20px rgba(47,63,50,.07)}.cu-trip-stay-card[data-cu-trip-stay-card-link]:focus-visible{outline:2px solid var(--cu-stay);outline-offset:3px}.cu-trip-stay-card.is-selected .cu-trip-stay-card__badge{background:#fff;color:#34433a}
.cu-trip-builder__workspace[data-mode="activities"] .cu-trip-stay-card{display:grid;grid-template-columns:96px minmax(0,1fr);height:var(--cu-compact-stay-card-height);min-height:var(--cu-compact-stay-card-height)}.cu-trip-builder__workspace[data-mode="activities"] .cu-trip-stay-card__media{aspect-ratio:auto;height:100%;min-height:0}.cu-trip-builder__workspace[data-mode="activities"] .cu-trip-stay-card__badge{padding:5px 9px;font-size:11px;left:8px;top:8px}.cu-trip-builder__workspace[data-mode="activities"] .cu-trip-stay-card__body{padding:8px;gap:4px}.cu-trip-builder__workspace[data-mode="activities"] .cu-trip-stay-card h3{font-size:22px;line-height:1.05}.cu-trip-builder__workspace[data-mode="activities"] .cu-trip-stay-card__meta{gap:9px}.cu-trip-builder__workspace[data-mode="activities"] .cu-trip-stay-card__availability,.cu-trip-builder__workspace[data-mode="activities"] .cu-trip-stay-card__reasons{font-size:11px;line-height:1.3}.cu-trip-builder__workspace[data-mode="activities"] .cu-trip-stay-card__summary{display:none}.cu-trip-builder__workspace[data-mode="activities"] .cu-trip-stay-card__actions{flex-wrap:nowrap;min-height:30px}.cu-trip-builder__workspace[data-mode="activities"] .cu-trip-stay-card__add{margin-left:0;padding:7px 10px;max-width:100%;font-size:12px}

.cu-trip-builder__companion-prompt{border:1px solid #dfe4db;background:linear-gradient(135deg,#f5f7f1,#eef3ea);border-radius:17px;padding:22px;text-align:left}.cu-trip-builder__companion-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--cu-stay);color:#fff;margin-bottom:14px}.cu-trip-builder__companion-prompt h3{font-family:var(--cu-font-display,serif);font-size:26px;font-weight:500;line-height:1.05;margin:0 0 8px}.cu-trip-builder__companion-prompt p{margin:0 0 16px;color:#68736b;line-height:1.45}.cu-trip-builder__companion-prompt button{border:0;border-radius:999px;background:var(--cu-stay);color:#fff;padding:10px 15px;cursor:pointer}

/* Activity results are the sole desktop internal-scroll owner in either mode. Stay and all other Build sections remain non-scroll. */
.cu-trip-builder__activity-results{display:grid;grid-template-columns:1fr;gap:12px;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:auto;overscroll-behavior-x:none;scrollbar-width:none;padding-right:2px;align-content:start}.cu-trip-builder__activity-results::-webkit-scrollbar{display:none}.cu-trip-builder__workspace[data-mode="stays"] .cu-trip-builder__activity-results{grid-auto-rows:172px}.cu-trip-builder__workspace[data-mode="activities"] .cu-trip-builder__activity-results{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:max-content;gap:14px}

/* Shared Activity card shell. Only the action moves onto the image in the approved full card. */
.cu-trip-activity-card{position:relative;border:1px solid #e0dfda;border-radius:15px;background:#fff;min-width:0;overflow:hidden}.cu-trip-activity-card__media{position:relative;background:#e8e7e1;overflow:hidden}.cu-trip-activity-card__media img{width:100%;height:100%;object-fit:cover;display:block}.cu-trip-activity-card__media>.cu-trip-activity-card__trip-action{position:absolute;top:10px;right:10px;z-index:12;display:flex;margin:0;padding:0;width:auto;max-width:none}.cu-trip-activity-card__content{display:flex;flex-direction:column;min-width:0;height:100%}.cu-trip-activity-card__copy{min-width:0}.cu-trip-activity-card h3{font-family:var(--cu-font-display,serif);font-weight:500;margin:0}.cu-trip-activity-card__meta{display:flex;gap:10px;align-items:center;min-height:18px;margin:4px 0 7px;color:#6c746e;font-size:12px}.cu-trip-activity-card__meta.is-empty{visibility:hidden}.cu-trip-activity-card p{margin:0;color:#6a746f;font-size:13px}.cu-trip-activity-card__tier{display:inline-block;margin-top:6px;padding:3px 8px;border-radius:999px;background:#e7f0e5;color:#425b45;font-size:11px}
/* Activity Trip actions and media-control geometry are owned by the shared Trip component in trip.css. */


/* Collapsed Activity pane: compact result rows use only the polished height their information needs; further results scroll inside this region only. */
.cu-trip-activity-card--compact{display:grid;grid-template-columns:108px minmax(0,1fr);gap:0;height:100%;min-height:0;padding:0}.cu-trip-activity-card--compact .cu-trip-activity-card__media{height:100%;min-height:0;border-radius:14px 0 0 14px}.cu-trip-activity-card--compact .cu-trip-activity-card__content{padding:13px 14px;justify-content:center}.cu-trip-activity-card--compact h3{font-size:22px;line-height:1.08}.cu-trip-activity-card--compact .cu-trip-activity-card__meta{margin:5px 0}.cu-trip-activity-card--compact .cu-trip-activity-card__tier{margin-top:7px;align-self:flex-start}.cu-trip-activity-card--compact p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:4px 0 0;font-size:12px;line-height:1.35}.cu-trip-activity-card--compact .cu-trip-service-card__options,.cu-trip-activity-card--compact .cu-trip-service-card__payment{display:none!important}
.cu-trip-activity-card--compact .cu-trip-activity-card__trip-action{top:8px;right:8px}
.cu-trip-activity-card--compact .cu-trip-media-action-control{box-sizing:border-box;width:80px;min-width:80px;max-width:80px;height:36px;min-height:36px;max-height:36px;padding:0 7px;gap:4px;font-size:10.5px;line-height:1}
.cu-trip-activity-card--compact .cu-trip-media-action-control .cu-activity-trip-action__icon{width:1rem;height:1rem;flex-basis:1rem;font-size:.85rem}

/* 5.0.75 — expanded Activity cards use one normalized discovery geometry: title, meta, description, status. */
.cu-trip-activity-card--full{display:flex;flex-direction:column;gap:0;padding:0;overflow:visible;border-radius:18px;min-width:0;height:350px;min-height:350px}.cu-trip-activity-card--full .cu-trip-activity-card__media{width:100%;aspect-ratio:auto;min-height:0;height:150px;flex:0 0 150px;border-radius:18px 18px 0 0}.cu-trip-activity-card--full .cu-trip-activity-card__content{padding:12px 14px;display:flex;flex-direction:column;flex:1;min-height:0}.cu-trip-activity-card--full h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:52px;max-height:52px;font-size:25px;line-height:1.04;margin:0}.cu-trip-activity-card--full .cu-trip-activity-card__meta{margin:3px 0 6px;min-height:18px;max-height:18px}.cu-trip-activity-card--full p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:56px;max-height:56px;font-size:13.5px;line-height:1.38}.cu-trip-activity-card--full .cu-trip-activity-card__copy{display:flex;flex-direction:column;height:auto}.cu-trip-activity-card--full .cu-trip-activity-card__tier{align-self:flex-start;margin-top:8px}.cu-trip-activity-card--full.cu-trip-activity-card--service .cu-trip-activity-card__media,.cu-trip-activity-card--full.cu-trip-activity-card--guide .cu-trip-activity-card__media{display:grid;place-items:center;font-size:38px;background:linear-gradient(145deg,#f5eee7,#ebe9df);color:var(--cu-activity)}
/* 5.0.198 — expanded Search Activity actions use the same compact card-action density
   as Restaurant/Place cards instead of the global 46px Trip-planning control. */
.cu-trip-builder__workspace[data-mode="activities"] .cu-trip-activity-card--full .cu-trip-media-action-control{height:34px;min-height:34px;max-height:34px;padding:0 .72rem;gap:.42rem;font-size:.68rem;line-height:1;box-shadow:0 7px 18px rgba(40,50,39,.16)}
.cu-trip-builder__workspace[data-mode="activities"] .cu-trip-activity-card--full .cu-trip-media-action-control .cu-activity-trip-action__icon{width:1rem;height:1rem;flex-basis:1rem;font-size:.86rem}

.cu-trip-builder__view-all{width:100%;border:1px solid #d9c8bb;background:#fff;color:var(--cu-activity);border-radius:999px;padding:11px 15px;margin-top:4px;cursor:pointer;font-weight:600}.cu-trip-builder__view-all i{margin-left:6px}

.cu-trip-builder__section-heading{margin:48px 0 18px}.cu-trip-builder__section-heading h2{font-family:var(--cu-font-display,serif);font-weight:500;font-size:36px;margin:4px 0}.cu-trip-builder__section-heading>p:last-child{margin:0;color:#657169}
.cu-trip-builder__travel-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.cu-trip-travel-card{background:#fff;border:1px solid #dddcd6;border-radius:20px;padding:20px;transition:border-color .25s ease,box-shadow .25s ease}.cu-trip-travel-card.is-attention{border-color:#b56f3b;box-shadow:0 0 0 3px rgba(181,111,59,.12)}.cu-trip-travel-card__heading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eceae4;padding-bottom:12px;margin-bottom:15px}.cu-trip-travel-card__heading p{margin:0}.cu-trip-travel-card__group{border:0;padding:0;margin:18px 0}.cu-trip-travel-card__group legend{font-weight:600;margin-bottom:10px}.cu-trip-travel-card__fields{display:grid;gap:10px}.cu-trip-travel-card__fields--2{grid-template-columns:1fr 1fr}.cu-trip-travel-card label{font-size:12px;color:#687269;display:flex;flex-direction:column;gap:5px}.cu-trip-travel-card input,.cu-trip-travel-card select{border:1px solid #d7d8d1;border-radius:10px;padding:10px 11px;background:#fff;color:#2e3a32}.cu-trip-travel-card__modes{display:grid;gap:8px;margin-bottom:12px}.cu-trip-travel-card__modes button{border:1px solid #d8d9d3;background:#fff;border-radius:999px;padding:9px;cursor:pointer}.cu-trip-travel-card__modes button.is-active{border-color:var(--cu-copper);background:rgba(169,102,54,.08);color:var(--cu-copper);font-weight:600}.cu-trip-travel-card__transport-fields{display:grid;gap:10px}.cu-trip-travel-card__taxi,.cu-trip-travel-card__bus{margin-top:12px;background:#f7f4ef;border-radius:12px;padding:14px;font-size:13px}.cu-trip-travel-card__bus p{margin:0 0 6px}.cu-trip-travel-card__bus a{color:#9f5f31}.cu-trip-taxi-option{display:block}.cu-trip-taxi-option label{font-weight:600;color:#4c5c52}.cu-trip-taxi-option select{margin-top:5px;width:100%}.cu-trip-taxi-note,.cu-trip-taxi-payment,.cu-trip-taxi-loading{margin:9px 0 0;color:#69736d;line-height:1.4}.cu-trip-taxi-payment{font-weight:600;color:#7b5a43}.cu-trip-taxi-request{margin-top:10px;display:flex!important;flex-direction:row!important;align-items:center;gap:8px!important;color:#4d5d53!important}.cu-trip-taxi-request input{width:auto}

.cu-trip-builder__service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.cu-trip-builder__service-grid>.cu-trip-builder__loading,.cu-trip-builder__service-grid>.cu-trip-builder__empty{grid-column:1/-1}.cu-trip-service-card{background:#fff;border:1px solid #deded8;border-radius:17px;padding:18px;display:flex;flex-direction:column;gap:9px}.cu-trip-service-card h3{font-family:var(--cu-font-display,serif);font-size:24px;font-weight:500;margin:0}.cu-trip-service-card p{font-size:14px;color:#667169;line-height:1.45;margin:0}.cu-trip-service-card__note{font-size:12px;color:#8a664e;font-weight:600}.cu-trip-service-card button{align-self:flex-start;margin-top:auto;border:1px solid var(--cu-activity);background:#fff;color:var(--cu-activity);border-radius:999px;padding:9px 14px;cursor:pointer}.cu-trip-service-card.is-added button{background:var(--cu-activity);color:#fff}

.cu-trip-builder__ribbon{margin-top:40px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:26px;border-radius:16px;padding:15px 18px;background:linear-gradient(90deg,#edf2e8,#f5f0e5);border:1px solid #e1e2d8}.cu-trip-builder__ribbon strong{font-family:var(--cu-font-display,serif);font-size:20px;font-weight:500}.cu-trip-builder__ribbon span{font-size:13px;color:#667168;border-left:1px solid #bbc4b7;padding-left:22px}.cu-trip-builder__continue{background:var(--cu-activity);color:#fff!important;text-decoration:none;border-radius:999px;padding:12px 19px;white-space:nowrap}.cu-trip-builder__continue.is-disabled{opacity:.55;pointer-events:auto}
.cu-trip-builder__empty{padding:28px;border:1px dashed #d3d7ce;border-radius:14px;color:#687269;text-align:center}.cu-trip-builder__loading{padding:24px;color:#687269}

@media(max-width:1180px){.cu-trip-builder__workspace[data-mode="activities"] .cu-trip-builder__activity-results{grid-template-columns:repeat(2,minmax(0,1fr))}.cu-trip-builder__workspace[data-mode="activities"] .cu-trip-builder__pane-heading--stay h2{font-size:28px;white-space:nowrap}}
@media(max-width:920px){.cu-trip-builder__workspace{grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr)}.cu-trip-builder__workspace[data-mode="activities"]{grid-template-columns:minmax(280px,1fr) minmax(0,1.65fr)}.cu-trip-builder__workspace[data-mode="activities"] .cu-trip-stay-card{grid-template-columns:82px minmax(0,1fr)}.cu-trip-activity-card--compact{grid-template-columns:82px minmax(0,1fr)}.cu-trip-builder__service-grid{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.cu-trip-builder{padding:28px 16px 40px}.cu-trip-builder__workspace,.cu-trip-builder__workspace[data-mode="activities"]{grid-template-columns:1fr}.cu-trip-builder__workspace[data-mode="activities"] .cu-trip-builder__pane--activity{order:1}.cu-trip-builder__workspace[data-mode="activities"] .cu-trip-builder__pane--stay{order:2}.cu-trip-builder__workspace[data-mode="stays"] .cu-trip-builder__pane--stay{order:1}.cu-trip-builder__workspace[data-mode="stays"] .cu-trip-builder__pane--activity{order:2}.cu-trip-builder__stay-results,.cu-trip-builder__workspace[data-mode="activities"] .cu-trip-builder__stay-results{grid-template-columns:1fr}.cu-trip-stay-card--compact{grid-template-columns:120px 1fr}.cu-trip-builder__workspace[data-mode="activities"] .cu-trip-builder__activity-results{grid-template-columns:1fr}.cu-trip-builder__travel-grid,.cu-trip-builder__service-grid{grid-template-columns:1fr}.cu-trip-builder__ribbon{grid-template-columns:1fr}.cu-trip-builder__ribbon span{border-left:0;padding-left:0}.cu-trip-builder__continue{justify-self:start}}
@media(max-width:560px){.cu-trip-builder__pane{padding:15px;border-radius:16px}.cu-trip-builder__pane-heading h2{font-size:27px}.cu-trip-builder__stay-results{grid-template-columns:1fr}.cu-trip-stay-card--compact{grid-template-columns:96px 1fr}.cu-trip-stay-card--compact .cu-trip-stay-card__media{min-height:120px}.cu-trip-travel-card__fields--2,.cu-trip-travel-card__transport-fields{grid-template-columns:1fr}.cu-trip-activity-card,.cu-trip-activity-card--full{grid-template-columns:92px minmax(0,1fr)}.cu-trip-activity-card--full .cu-trip-activity-card__media{min-height:110px;border-radius:10px 0 0 10px}.cu-trip-activity-card--full .cu-trip-activity-card__content{padding:10px}.cu-trip-service-card{padding:16px}}

/* 5.0.31 — Search/Trip Builder stabilization. */
.cu-trip-stay-card.is-unavailable .cu-trip-stay-card__badge{
  background:#f4e7e4;
  color:#8b4f46;
  border:1px solid #dfbbb4;
  box-shadow:none;
  font-weight:600;
}
.cu-trip-activity-card__content{height:100%}
.cu-trip-activity-card__media--icon{
  display:grid;
  place-items:center;
  color:var(--cu-activity);
  background:linear-gradient(145deg,#f5eee7,#ebe9df);
  font-size:1.7rem;
}
.cu-trip-special-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  min-height:38px;
  border:1px solid var(--cu-activity);
  border-radius:999px;
  padding:.55rem .85rem;
  background:var(--cu-activity);
  color:#fff!important;
  text-decoration:none!important;
  cursor:pointer;
  font-size:.79rem;
}
.cu-trip-special-action.is-added{background:var(--cu-stay);border-color:var(--cu-stay)}
.cu-trip-special-action--link{background:#fff;color:var(--cu-activity)!important}
.cu-trip-travel-card__modes{grid-template-columns:repeat(3,minmax(0,1fr))}
.cu-trip-travel-card__transport-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.cu-trip-travel-card input[readonly]{background:#f4f3ee;color:#536057}
.cu-trip-travel-card__taxi{
  border:1px solid rgba(181,111,59,.26);
  background:#fbf6f1;
  box-shadow:0 8px 22px rgba(91,68,50,.06);
}
.cu-trip-taxi-card__head{display:flex;gap:10px;align-items:center;margin-bottom:10px}
.cu-trip-taxi-card__icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--cu-activity);color:#fff;flex:0 0 38px}
.cu-trip-taxi-card__head strong,.cu-trip-taxi-card__head small{display:block}
.cu-trip-taxi-card__head small{margin-top:2px;color:#6c746e}
.cu-trip-builder__service-grid,.cu-trip-builder__services{display:none!important}
@media(max-width:560px){.cu-trip-travel-card__modes{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* 5.0.33 — canonical external Services in Search + Trip Planning. */
.cu-trip-service-card__options,
.cu-trip-service-card__payment{
  display:block;
  margin-top:6px;
  font-size:11px;
  line-height:1.35;
  color:#786b61;
}
.cu-trip-service-card__payment{color:#8a6045;font-weight:600}

/* 5.0.36 — unified Trip Builder cards + draft itinerary. */
.cu-trip-stay-card__dates{margin:0;color:var(--cu-stay);font-size:13px;font-weight:600;display:flex;align-items:center;gap:7px}
.cu-trip-activity-card__meta{display:flex;gap:10px;align-items:center;min-height:18px;margin:4px 0 7px;color:#6c746e;font-size:12px}.cu-trip-activity-card__meta.is-empty{visibility:hidden}
.cu-trip-activity-card[data-cu-trip-entity-card-link]{cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.cu-trip-activity-card[data-cu-trip-entity-card-link]:hover{border-color:#cfb9a7;box-shadow:0 8px 20px rgba(87,62,43,.08)}
.cu-trip-activity-card[data-cu-trip-entity-card-link]:focus-visible{outline:2px solid var(--cu-activity);outline-offset:3px}

/* Dominant 2/3 cards and companion 1/3 cards use the canonical geometries declared above. */
.cu-trip-builder__workspace[data-mode="stays"] .cu-trip-stay-card{min-height:420px}
.cu-trip-activity-card--full.cu-trip-activity-card--service .cu-trip-activity-card__media,
.cu-trip-activity-card--full.cu-trip-activity-card--guide .cu-trip-activity-card__media{display:grid;place-items:center;font-size:42px;background:linear-gradient(145deg,#f5eee7,#ebe9df);color:var(--cu-activity)}

/* Draft itinerary: a lightweight chronology, not the full Trip financial itinerary. */
.cu-trip-builder__draft{margin-top:8px}
.cu-trip-draft-itinerary{background:#fff;border:1px solid #dddcd6;border-radius:22px;padding:20px;box-shadow:0 8px 28px rgba(48,54,48,.035)}
.cu-trip-draft-stay{display:flex;align-items:center;gap:12px;padding:13px 15px;border-radius:15px;background:var(--cu-stay-soft);border:1px solid #d9e2d5;margin-bottom:16px}
.cu-trip-draft-stay>span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--cu-stay);color:#fff;flex:0 0 42px}
.cu-trip-draft-stay strong{display:block;font-family:var(--cu-font-display,serif);font-size:22px;font-weight:500;line-height:1.05}
.cu-trip-draft-stay small{display:block;margin-top:4px;color:#5b695e;font-size:12px}
.cu-trip-draft-days{display:grid;gap:12px}
.cu-trip-draft-day{border:1px solid #e2e1dc;border-radius:16px;overflow:visible;background:#fff}
.cu-trip-draft-day__head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;background:#f7f6f2;border-radius:16px 16px 0 0;border-bottom:1px solid #e8e6df}
.cu-trip-draft-day__head strong{font-family:var(--cu-font-display,serif);font-size:20px;font-weight:500}
.cu-trip-draft-day__head span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#7a817b}
.cu-trip-draft-day__events{display:grid;gap:0;padding:4px 14px}
.cu-trip-draft-event{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #efeee9;min-width:0}
.cu-trip-draft-event:last-child{border-bottom:0}
.cu-trip-draft-event__icon{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#f1eee8;color:var(--cu-activity);font-size:13px}
.cu-trip-draft-event__copy{min-width:0}
.cu-trip-draft-event__copy strong{display:block;font-size:14px;color:#34433a}
.cu-trip-draft-event__copy small{display:block;margin-top:2px;font-size:11px;color:#727a74}
.cu-trip-draft-event .cu-trip-activity-card__trip-action{margin:0;padding:0;min-width:120px}
.cu-trip-draft-event .cu-activity-trip-action__button{width:100%;white-space:nowrap}
.cu-trip-draft-day__empty{margin:0;padding:13px 0;color:#8a8f8b;font-size:13px;font-style:italic}
.cu-trip-draft-saved{margin-top:16px;padding-top:16px;border-top:1px solid #e5e3dd}
.cu-trip-draft-saved h3{margin:0;font-family:var(--cu-font-display,serif);font-size:23px;font-weight:500}
.cu-trip-draft-saved>p{margin:4px 0 10px;color:#707972;font-size:12px}
.cu-trip-draft-saved>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.cu-trip-draft-saved .cu-trip-draft-event{border:1px solid #e7e4de;border-radius:13px;padding:10px 12px}

@media(max-width:820px){
  .cu-trip-builder__workspace[data-mode="activities"] .cu-trip-builder__activity-results{grid-template-columns:1fr}
  .cu-trip-builder__workspace[data-mode="stays"] .cu-trip-stay-card,.cu-trip-builder__workspace[data-mode="activities"] .cu-trip-activity-card--full{min-height:0}
  .cu-trip-draft-saved>div{grid-template-columns:1fr}
}
@media(max-width:560px){
  .cu-trip-draft-itinerary{padding:14px;border-radius:16px}
  .cu-trip-draft-event{grid-template-columns:32px minmax(0,1fr)}
  .cu-trip-draft-event .cu-trip-activity-card__trip-action{grid-column:1/-1;min-width:0}
  .cu-trip-activity-card--compact .cu-trip-activity-card__trip-action{top:6px;right:6px}
  .cu-trip-activity-card--compact .cu-trip-media-action-control{width:80px;min-width:80px;max-width:80px}
}


/* 5.0.38 — Taxi has two planning modes without duplicating the canonical Service. */
.cu-trip-taxi-search-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}
.cu-trip-taxi-search-actions>.cu-trip-activity-card__trip-action{flex:1 1 auto;min-width:0;margin:0;padding:0}
.cu-trip-taxi-search-actions>.cu-trip-special-action{flex:0 0 auto;min-height:38px}
.cu-trip-taxi-search-actions .cu-activity-trip-action__button{white-space:nowrap}
@media(max-width:640px){
  .cu-trip-taxi-search-actions{display:grid;grid-template-columns:1fr}
  .cu-trip-taxi-search-actions>.cu-trip-special-action{width:100%}
}

/* 5.0.50 — Search vs current Trip clarity + date-bound travel planning. */
.cu-trip-stay-card__current,
.cu-trip-stay-card__availability{margin:0;font-size:12px;line-height:1.4}
.cu-trip-stay-card__current{display:flex;flex-wrap:wrap;align-items:center;gap:7px;color:#526952;font-weight:600}
.cu-trip-stay-card__current>span{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;background:var(--cu-stay);color:#fff;font-size:10px;text-transform:uppercase;letter-spacing:.04em}
.cu-trip-stay-card__availability{display:flex;align-items:flex-start;gap:6px;font-weight:600}
.cu-trip-stay-card__availability.is-available{color:#526952}
.cu-trip-stay-card__availability.is-unavailable{color:#914d43}
.cu-trip-stay-card__availability i{margin-top:2px}
.cu-trip-stay-card.is-selected .cu-trip-stay-card__badge{background:#fff;color:#34433a}
.cu-trip-stay-card.is-selected.is-unavailable .cu-trip-stay-card__badge{background:#f4e7e4;color:#8b4f46}
.cu-trip-builder__travel-reset-note{
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin:-6px 0 16px;
  padding:11px 13px;
  border:1px solid #e5d5c7;
  border-radius:13px;
  background:#fbf6f1;
  color:#765c49;
  font-size:12px;
  line-height:1.45;
}
.cu-trip-builder__travel-reset-note i{color:var(--cu-activity);margin-top:2px;flex:0 0 auto}
.cu-trip-draft-needs{border-top-color:#e5d5c7}
.cu-trip-draft-needs>p{color:#7b6251}
.cu-trip-draft-needs .cu-trip-draft-event{background:#fffaf6;border-color:#ead9cc}


/* 5.0.51 — travel chronology is a domain invariant, not a display guess. */
.cu-trip-travel-card__validation{margin:10px 0 0;padding:9px 11px;border:1px solid rgba(166,72,54,.25);border-radius:10px;background:rgba(166,72,54,.06);color:#8d4538;font-size:12px;line-height:1.45}
.cu-trip-travel-card.has-validation-error input[data-cu-travel-field="transport.time"]{border-color:rgba(166,72,54,.55);box-shadow:0 0 0 2px rgba(166,72,54,.08)}

/* 5.0.53: exact dates are required before Stay availability is asserted. */
.cu-trip-stay-card.is-awaiting-dates .cu-trip-stay-card__availability.is-pending{color:#6f776f;font-weight:500}
.cu-trip-stay-card.is-awaiting-dates .cu-trip-stay-card__availability.is-pending i{color:#7f8c80}
.cu-trip-stay-card.is-awaiting-dates .cu-trip-stay-card__add{background:#fff;color:var(--cu-stay)!important;border-color:var(--cu-stay)}

/* 5.0.61 — current Trip + prospective search context share the Stay heading. */
.cu-trip-builder__date-status{position:absolute;top:0;right:0;min-width:0;margin-top:0;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:flex-end;justify-content:flex-start;gap:7px;max-width:300px;z-index:2}.cu-trip-builder__date-status[hidden]{display:none!important}.cu-trip-builder__stay-status-pill{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:7px 11px;border:1px solid transparent;border-radius:999px;font-size:11px;line-height:1.15;white-space:nowrap}.cu-trip-builder__stay-status-pill>span{font-size:9px;text-transform:uppercase;letter-spacing:.055em;opacity:.78}.cu-trip-builder__stay-status-pill>strong{font-size:11px;font-weight:650}.cu-trip-builder__stay-status-pill.is-current{background:var(--cu-stay);border-color:var(--cu-stay);color:#fff}.cu-trip-builder__stay-status-pill.is-new-search{background:var(--cu-search);border-color:var(--cu-search);color:#fff}.cu-trip-builder__stay-status-pill.is-search{background:var(--cu-stay-soft);border-color:rgba(82,105,82,.24);color:var(--cu-stay)}.cu-trip-builder__stay-status-pill.is-pending{background:#fff;border-color:#d8dbd5;border-style:dashed;color:#788078}.cu-trip-builder__workspace[data-mode="activities"] .cu-trip-builder__date-status{display:none}.cu-trip-builder__travel[hidden],.cu-trip-builder__draft[hidden]{display:none!important}

@media(max-width:1120px) and (min-width:821px){.cu-trip-builder__workspace{grid-template-columns:1fr}.cu-trip-builder__workspace[data-mode="activities"]{grid-template-columns:1fr}.cu-trip-builder__workspace[data-mode="stays"] .cu-trip-builder__pane--stay{order:1}.cu-trip-builder__workspace[data-mode="stays"] .cu-trip-builder__pane--activity{order:2}.cu-trip-builder__workspace[data-mode="activities"] .cu-trip-builder__pane--activity{order:1}.cu-trip-builder__workspace[data-mode="activities"] .cu-trip-builder__pane--stay{order:2}}
@media(max-width:820px){.cu-trip-builder__workspace[data-mode="stays"] .cu-trip-builder__pane-heading{min-height:76px}.cu-trip-builder__workspace,.cu-trip-builder__workspace[data-mode="activities"]{grid-template-columns:1fr}.cu-trip-builder__workspace[data-mode="stays"] .cu-trip-builder__pane,.cu-trip-builder__pane{height:auto;min-height:0;overflow:visible}.cu-trip-builder__activity-results,.cu-trip-builder__workspace[data-mode="stays"] .cu-trip-builder__activity-results,.cu-trip-builder__workspace[data-mode="activities"] .cu-trip-builder__activity-results{grid-template-columns:1fr;grid-auto-rows:max-content;overflow:visible}.cu-trip-builder__pane-heading--activity{grid-template-columns:48px minmax(0,1fr)}.cu-trip-builder__activity-filter-cta{position:static;grid-column:2;justify-self:start;align-self:start;margin-top:0;max-width:none}.cu-trip-activity-card--compact{height:auto;min-height:150px;grid-template-columns:96px minmax(0,1fr)}.cu-trip-activity-card--compact .cu-trip-activity-card__media{min-height:150px}}
@media(max-width:640px){.cu-trip-builder__pane-heading--stay{grid-template-columns:48px minmax(0,1fr)}.cu-trip-builder__pane-heading--stay .cu-trip-builder__domain-icon,.cu-trip-builder__pane-heading--activity .cu-trip-builder__domain-icon{width:48px;height:48px;flex-basis:48px}.cu-trip-builder__workspace[data-mode="stays"] .cu-trip-builder__pane-heading--stay .cu-trip-builder__pane-heading-copy{padding-right:0}.cu-trip-builder__date-status{position:static;grid-column:1/-1;margin-top:8px;justify-self:end;align-items:flex-end;justify-content:flex-start;max-width:100%}.cu-trip-builder__stay-status-pill{white-space:normal}}


/* 5.0.225 — Search phone hero polish only. Desktop/tablet keep the accepted utility heading.
   Mobile shortens the presentation title and reuses the existing Laguna mountain artwork. */
.cu-trip-builder__title-mobile{display:none}
@media(max-width:600px){
  .cu-trip-builder .cu-trip-builder__hero{
    grid-template-columns:minmax(0,1fr) minmax(118px,36%);
    gap:8px;
    align-items:end;
  }
  .cu-trip-builder .cu-trip-builder__hero .cu-trip-utility-header__copy{min-width:0}
  .cu-trip-builder .cu-trip-builder__hero .cu-trip-utility-header__copy h1{
    max-width:100%;
    font-size:clamp(1.95rem,8vw,2.25rem);
    white-space:nowrap;
  }
  .cu-trip-builder__title-desktop{display:none}
  .cu-trip-builder__title-mobile{display:inline}
  .cu-trip-builder .cu-trip-builder__hero .cu-trip-utility-header__art{
    display:flex;
    width:100%;
    height:auto;
    min-height:42px;
    align-items:flex-end;
    justify-content:flex-end;
    overflow:visible;
    padding:0 0 1px;
  }
  .cu-trip-builder .cu-trip-builder__hero .cu-trip-utility-header__art img{
    width:100%;
    max-width:158px;
    max-height:54px;
    object-fit:contain;
    object-position:right bottom;
    opacity:.72;
  }
}


/* 5.0.227 — mobile mode switches return the Search workspace to its intentional
   reading position. The scroll margin keeps the compact hero below the sticky
   shell while JS follows it during an explicit Stay/Activities pane switch. */
@media(max-width:820px){
  .cu-trip-builder__hero{scroll-margin-top:calc(var(--cu-header-bottom-live,var(--cu-header-bottom,76px)) + 12px)}
}

/* 5.0.225 — stacked Search panes get their own mobile geometry transition.
   `order` itself cannot animate, so JS performs a vertical FLIP while each pane
   height eases from its old mobile state to its destination state. Result content
   keeps the shared fade contract and remains clipped only during the move. */
@media(max-width:820px){
  .cu-trip-builder__workspace.is-mobile-mode-motion{overflow-anchor:none}
  .cu-trip-builder__workspace.is-mobile-mode-motion .cu-trip-builder__pane{
    overflow:hidden;
    will-change:transform,height;
  }
}

/* Expanded Activities on phones intentionally renders the same compact card variant
   as the collapsed Activity pane. The existing compact card owner supplies all card
   geometry; only the expanded result-stack gap is normalized to the same rhythm. */
@media(max-width:640px){
  .cu-trip-builder__workspace[data-mode="activities"] .cu-trip-builder__activity-results{gap:12px}
}

/* 5.0.74 — discovery density: operational service details do not belong in Build cards. */
.cu-trip-builder__activity-results .cu-trip-activity-card--full .cu-trip-service-card__options,.cu-trip-builder__activity-results .cu-trip-activity-card--full .cu-trip-service-card__payment{display:none!important}
@media(max-width:820px){.cu-trip-activity-card--full{height:auto;min-height:0}}

/* 5.0.80 — first Trip Planning section: Casa Única services.
   Build is a management surface, not a financial surface: the shared editor is
   price-free here and splits committed vs available services into two columns. */
.cu-trip-builder__stay-services{margin-top:8px}
.cu-trip-builder__stay-services-host{min-width:0}
.cu-trip-builder__stay-services-host .cu-stay-services-manager--build{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
.cu-trip-builder__stay-services-host .cu-stay-services-manager--build.has-no-available-services{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.cu-trip-builder__stay-services-host .cu-stay-services-manager--build.has-no-available-services .cu-stay-services-manager__column--added{grid-column:1}
.cu-trip-builder__stay-services-host .cu-stay-services-manager__column{background:#fff;border-color:#dddcd6;box-shadow:0 8px 28px rgba(48,54,48,.025)}
.cu-trip-builder__stay-services-host .cu-stay-services-manager__column>header{padding:16px 18px 13px;background:#f7f7f3}
.cu-trip-builder__stay-services-host .cu-stay-services-manager__column>header strong{font-size:15px}
.cu-trip-builder__stay-services-host .cu-stay-services-manager__status{padding:0 2px}
.cu-stay-services-editor--build .cu-breakfast-addon__head small,.cu-stay-services-editor--build .cu-option-row small{display:none!important}
@media(max-width:820px){.cu-trip-builder__stay-services-host .cu-stay-services-manager--build{grid-template-columns:1fr}}

/* 5.0.83 — Build mirrors the Trip service-management semantics while keeping
   its two-column planning layout. Selected and available services have distinct
   shared domain palettes; editing a selected service stays inside Added Services. */
.cu-trip-builder__stay-services-host .cu-stay-services-manager__column--added>header strong{
  color:var(--cu-green-dark);
}
.cu-trip-builder__stay-services-host .cu-stay-services-manager__column--available{
  border-color:var(--cu-available-services-border);
  background:var(--cu-available-services-soft);
}
.cu-trip-builder__stay-services-host .cu-stay-services-manager__column--available>header{
  background:var(--cu-available-services-header);
}
.cu-trip-builder__stay-services-host .cu-stay-services-manager__column--available>header strong{
  color:var(--cu-available-services-deep);
}
.cu-trip-builder__stay-services-host .cu-stay-service-added-card__editor .cu-stay-service-inline-editor{
  margin-top:2px;
  padding-top:10px;
  border-top:1px solid rgba(94,108,91,.10);
}

/* 5.0.84 — Build: one neutral batch action for all Available Services. */
.cu-trip-builder__stay-services-host .cu-stay-services-manager__column--available>header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.cu-trip-builder__stay-services-host .cu-stay-services-manager__column--available .cu-stay-services-manager__batch-add{
  border-color:var(--cu-available-services-border);
  color:var(--cu-available-services-deep);
}
.cu-trip-builder__stay-services-host .cu-stay-services-manager__column--available .cu-stay-services-manager__batch-add.is-ready:not(:disabled){
  border-color:var(--cu-available-services);
  background:var(--cu-available-services);
  color:#fff;
}


/* 5.0.85 — Trip Planning semantic domain colors. Domain ownership, not item
   names, determines the visual language: Casa Única = green; external = copper. */
.cu-trip-draft-event.cu-trip-domain--casa-unica .cu-trip-draft-event__icon{background:var(--cu-green-soft,#edf3ed);color:var(--cu-green,#5e6c5b)}
.cu-trip-draft-event.cu-trip-domain--casa-unica .cu-trip-draft-event__copy strong{color:var(--cu-green-dark,#465344)}
.cu-trip-draft-event.cu-trip-domain--external .cu-trip-draft-event__icon{background:rgba(169,102,54,.10);color:var(--cu-copper,#a96636)}
.cu-trip-draft-event.cu-trip-domain--external .cu-trip-draft-event__copy strong{color:var(--cu-copper,#a96636)}
@media(max-width:820px){.cu-trip-builder__stay-services-host .cu-stay-services-manager--build.has-no-available-services{grid-template-columns:1fr}}


/* 5.0.86 — semantic planning palette: Casa Única = green, neutral choices = grey,
   external/activity planning = copper. Available Services inherits the shared
   neutral tokens so Search/Build and Trip always match. */
.cu-trip-builder__stay-services-host .cu-stay-services-manager__column--added{
  border-color:rgba(94,108,91,.28);
  background:rgba(245,249,244,.90);
}
.cu-trip-builder__stay-services-host .cu-stay-services-manager__column--added>header{
  background:rgba(94,108,91,.11);
}


/* 5.0.87 — Search/Build uses the same moderate planning-header rhythm as Trip.
   Added Services and Other Available Services stay equal-height even when the
   latter carries the batch action. */
@media(min-width:821px){
  .cu-trip-builder__stay-services-host .cu-stay-services-manager__column>header{
    box-sizing:border-box;
    min-height:var(--cu-planning-section-header-height,52px);
    align-items:center;
    padding:10px 18px;
  }
  .cu-trip-builder__stay-services-host .cu-stay-services-manager__batch-add{
    min-height:30px;
    padding:5px 15px;
  }
}



/* 5.0.228 — Search phone Activities filter CTA right clamp.
   Preserve the accepted mobile pane/motion architecture and place the filter
   CTA beneath the Activity title/subtitle, clamped to the copy column's right
   edge as in the approved mockup. Phone-only; wider breakpoints are untouched. */
@media(max-width:600px){
  .cu-trip-builder__workspace[data-mode="activities"] .cu-trip-builder__pane-heading--activity .cu-trip-builder__activity-filter-cta{
    position:static;
    grid-column:2;
    grid-row:2;
    justify-self:end;
    align-self:start;
    width:max-content;
    max-width:100%;
    margin:8px 0 0 0;
  }
}

/* --------------------------------------------------------------------------
   Canonical desktop Search composition. Stay and Activities share one matched pane
   geometry; the pane owns its insets and the expanded Stay media yields vertical room
   to real availability/reason/action content without changing the matched outer frame.
   -------------------------------------------------------------------------- */
@media (min-width:1181px){
  .cu-trip-builder{padding:12px 28px 48px}
  .cu-trip-builder__hero{margin-bottom:6px}
  .cu-trip-builder__workspace{
    margin-top:4px;
    --cu-builder-pane-height:482px;
    gap:18px;
  }
  .cu-trip-builder__pane{padding:16px}
  .cu-trip-builder__pane-heading{
    grid-template-columns:52px minmax(0,1fr);
    gap:13px;
    min-height:66px;
    margin-bottom:10px;
  }
  .cu-trip-builder__domain-icon{width:52px;height:52px;flex-basis:52px}
  .cu-trip-builder__pane-heading h2{font-size:30px;margin-bottom:4px}
  .cu-trip-builder__pane-heading p{font-size:14px}
  .cu-trip-builder__activity-filter-cta{top:8px;min-height:34px;padding:0 14px}

  .cu-trip-builder__workspace[data-mode="activities"] .cu-trip-builder__stay-results{
    /* The pane owns the inset. Filling this result box makes the bottom inset
       exactly equal to the 16px left/right pane padding instead of depending
       on leftover grid space or a Colibrí-specific margin. */
    grid-template-rows:repeat(3,minmax(0,1fr));
    gap:9px;
    padding-bottom:0;
    align-content:stretch;
  }
  .cu-trip-builder__workspace[data-mode="activities"] .cu-trip-stay-card{
    grid-template-columns:104px minmax(0,1fr);
    height:100%;
    min-height:0;
  }
  .cu-trip-builder__workspace[data-mode="activities"] .cu-trip-stay-card__body{padding:7px 10px;gap:3px}
  .cu-trip-builder__workspace[data-mode="activities"] .cu-trip-stay-card h3{font-size:21px;line-height:1.02}
  .cu-trip-builder__workspace[data-mode="activities"] .cu-trip-stay-card__meta{gap:8px;font-size:12px;line-height:1.1}
  .cu-trip-builder__workspace[data-mode="activities"] .cu-trip-stay-card__availability,
  .cu-trip-builder__workspace[data-mode="activities"] .cu-trip-stay-card__reasons{font-size:10.5px;line-height:1.22}
  .cu-trip-builder__workspace[data-mode="activities"] .cu-trip-stay-card__actions{min-height:30px;padding-top:0}

  /* Expanded Stay cards reserve body capacity first; media is the flexible layer. */
  .cu-trip-builder__workspace[data-mode="stays"] .cu-trip-builder__stay-results{grid-auto-rows:minmax(0,1fr);padding-bottom:0;align-content:stretch}
  .cu-trip-builder__workspace[data-mode="stays"] .cu-trip-stay-card{height:100%;min-height:0}
  .cu-trip-builder__workspace[data-mode="stays"] .cu-trip-stay-card__media{
    height:clamp(132px,calc(var(--cu-builder-pane-height) - 344px),150px);
    flex:0 0 clamp(132px,calc(var(--cu-builder-pane-height) - 344px),150px);
    aspect-ratio:auto;
  }
  .cu-trip-builder__workspace[data-mode="stays"] .cu-trip-stay-card__body{padding:10px 12px 12px;gap:5px;min-height:0}
  .cu-trip-builder__workspace[data-mode="stays"] .cu-trip-stay-card h3{font-size:23px;line-height:1.04}
  .cu-trip-builder__workspace[data-mode="stays"] .cu-trip-stay-card__meta{font-size:12px;line-height:1.15}
  .cu-trip-builder__workspace[data-mode="stays"] .cu-trip-stay-card__availability{font-size:11.5px;line-height:1.28}
  .cu-trip-builder__workspace[data-mode="stays"] .cu-trip-stay-card__reasons{font-size:11.5px;line-height:1.26;gap:3px}
  .cu-trip-builder__workspace[data-mode="stays"] .cu-trip-stay-card__actions{min-height:32px;padding-top:0}

  .cu-trip-stay-card__add{
    box-sizing:border-box;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:0 13px;
    border-radius:999px;
    background:var(--cu-stay);
    border-color:var(--cu-stay);
    color:#fff!important;
    font:600 11.5px/1 var(--cu-font-ui,inherit);
    box-shadow:0 6px 15px rgba(56,79,58,.10);
    transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
  }
  .cu-trip-stay-card__add:hover,.cu-trip-stay-card__add:focus-visible{
    background:#455d49;border-color:#455d49;color:#fff!important;box-shadow:0 8px 18px rgba(56,79,58,.14);transform:translateY(-1px);outline:none;
  }
  .cu-trip-stay-card.is-awaiting-dates .cu-trip-stay-card__add{background:var(--cu-stay);color:#fff!important;border-color:var(--cu-stay)}
  .cu-trip-builder__workspace[data-mode="activities"] .cu-trip-stay-card__add{min-height:30px;padding:0 10px;font-size:10.5px}

  .cu-trip-builder__workspace[data-mode="activities"] .cu-trip-activity-card--full .cu-trip-media-action-control{
    min-width:0;height:34px;min-height:34px;max-height:34px;padding:0 .74rem;gap:.42rem;font-size:.69rem;
  }
}

/* Canonical draft lunar icon: a full green Moon in the same green circle as the Casa Única stay icon. */
.cu-trip-draft-event__icon .cu-trip-draft-full-moon{width:17px;height:17px;display:block;flex:none}


/* 5.0.331 — upper-left Activity/Service actions; Stay body action untouched. */
.cu-trip-activity-card__media>.cu-trip-activity-card__trip-action{left:10px;right:auto}
.cu-trip-activity-card--compact .cu-trip-activity-card__trip-action{left:8px;right:auto}
/* Sole size-matching exception: collapsed Activity Add matches collapsed Stay Add. */
.cu-trip-activity-card--compact .cu-trip-activity-card__media .cu-trip-media-action-control:has(.cu-activity-trip-action__icon[data-icon-state="add"]){
  box-sizing:border-box;display:inline-flex;width:auto;min-width:0;max-width:none;
  height:30px;min-height:30px;max-height:30px;padding:0 10px;letter-spacing:normal;
  font-size:10.5px;font-weight:600;line-height:1;white-space:nowrap
}
@media(max-width:820px){
  .cu-trip-activity-card--compact .cu-trip-activity-card__trip-action{left:6px;right:auto}
  .cu-trip-activity-card--compact .cu-trip-activity-card__media .cu-trip-media-action-control:has(.cu-activity-trip-action__icon[data-icon-state="add"]){font-size:12px;font-weight:400}
}

/* English Add matches compact Stays exactly. Longer ES/FR translations may
   wrap only when necessary within the existing 30px-high image overlay. */
.cu-trip-activity-card--compact .cu-trip-media-action-control:has(.cu-activity-trip-action__icon[data-icon-state="add"]) [data-cu-trip-action-label]{white-space:nowrap}
html[lang^="es"] .cu-trip-activity-card--compact .cu-trip-media-action-control:has(.cu-activity-trip-action__icon[data-icon-state="add"]) [data-cu-trip-action-label],
html[lang^="fr"] .cu-trip-activity-card--compact .cu-trip-media-action-control:has(.cu-activity-trip-action__icon[data-icon-state="add"]) [data-cu-trip-action-label]{
  white-space:normal;line-height:1.05;text-align:center
}

/* Language-specific compact width cap: the longer ES/FR labels remain readable
   without covering card text. English retains exact collapsed-Stay geometry. */
html[lang^="es"] .cu-trip-activity-card--compact .cu-trip-activity-card__media .cu-trip-media-action-control:has(.cu-activity-trip-action__icon[data-icon-state="add"]),
html[lang^="fr"] .cu-trip-activity-card--compact .cu-trip-activity-card__media .cu-trip-media-action-control:has(.cu-activity-trip-action__icon[data-icon-state="add"]){max-width:92px}
@media(max-width:820px){
 html[lang^="es"] .cu-trip-activity-card--compact .cu-trip-activity-card__media .cu-trip-media-action-control:has(.cu-activity-trip-action__icon[data-icon-state="add"]),
 html[lang^="fr"] .cu-trip-activity-card--compact .cu-trip-activity-card__media .cu-trip-media-action-control:has(.cu-activity-trip-action__icon[data-icon-state="add"]){max-width:80px}
}
