/* Shared bundle presentation: one offer, placed after the room introduction. */
.duo-offer { box-sizing:border-box; color:#f4eee3; text-align:left; font-family:Manrope,Arial,sans-serif; }
.duo-offer[hidden],.duo-offer [hidden],.duo-dialog [hidden] { display:none!important; }
.duo-placement:has(> [hidden]) { display:none; }
.duo-placement { max-width:1280px; margin:64px auto 0; padding-inline:32px; }
.duo-offer-wide { display:grid; grid-template-columns:minmax(180px,.95fr) minmax(240px,1.35fr) minmax(190px,.8fr); align-items:center; gap:clamp(24px,3vw,48px); margin:0 0 64px; padding:clamp(24px,3vw,40px); border:1px solid #dec38f30; border-radius:16px; background:#1b191b; }
.duo-offer-wide:not(:has(.duo-art)) { grid-template-columns:minmax(0,1.5fr) minmax(190px,1fr); }
.duo-offer .duo-eyebrow { margin:0 0 14px; color:#d9bb80; font-size:10px; font-weight:700; line-height:1.5; letter-spacing:.16em; text-transform:uppercase; }
.duo-offer h2 { margin:0 0 16px; font:400 clamp(1.6rem,2.4vw,2.1rem)/1.25 "Noto Serif",Georgia,serif; letter-spacing:-.035em; color:#f4eee3; }
.duo-offer-copy > p:last-child { margin:0; max-width:44ch; font-size:13px; line-height:1.8; color:#bbb5ae; }
.duo-art { display:grid; grid-template-columns:1fr 1fr; gap:10px; min-width:0; }
.duo-art figure { position:relative; margin:0; aspect-ratio:3/4; overflow:hidden; border-radius:6px; background:#111; }
.duo-art img { width:100%; height:100%; object-fit:cover; }
.duo-art figcaption { position:absolute; inset:0; display:flex; align-items:flex-end; padding:14px 10px; background:linear-gradient(transparent 30%,#090709ed); color:#f4eee3; font:500 13px/1.4 "Noto Serif",Georgia,serif; }
.duo-offer-action { padding-left:clamp(20px,2.5vw,36px); border-left:1px solid #dec38f25; }
.duo-price { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 10px; margin:0 0 20px; }
.duo-price-caption { width:100%; color:#c4bbae; font-size:12px; }
.duo-price strong { color:#efcf91; font:400 2.5rem/1.2 "Noto Serif",Georgia,serif; letter-spacing:-.04em; }
.duo-price-comparison { width:100%; color:#bbb5ae; font-size:11px; line-height:1.6; }
.duo-price del { color:#aaa195; }
.duo-button { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:13px 20px; border:1px solid #ddbf8277; border-radius:7px; background:#dcc08a0d; color:#ecd19d; font:600 13px/1.5 Manrope,Arial,sans-serif; cursor:pointer; text-decoration:none; transition:background .2s; }
.duo-button:hover { background:#dcc08a20; }
.duo-offer [data-duo-buy] { width:100%; background:#e9c176; border-color:#e9c176; color:#261900; }
.duo-offer [data-duo-buy]:hover { background:#f4d49a; }
.duo-button:focus-visible,.duo-dialog input:focus-visible { outline:2px solid #f1cf89; outline-offset:4px; }
.duo-button:disabled { opacity:.55; cursor:wait; }
.duo-note { margin:12px 0 0; color:#aaa198; font-size:10px; line-height:1.7; }
.home-bundle { padding-top:24px; padding-bottom:32px; }
@media(max-width:1000px) {
 .duo-offer-wide { grid-template-columns:minmax(0,1fr) minmax(0,1.6fr); gap:24px; }
 .duo-offer-wide:not(:has(.duo-art)) { grid-template-columns:minmax(0,1fr); }
 .duo-offer-action { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:0 24px; padding:24px 0 0; border-left:0; border-top:1px solid #dec38f25; }
 .duo-price { grid-row:1/3; margin:0; }
 .duo-note { text-align:center; }
}
@media(max-width:600px) {
 .duo-placement { padding-inline:20px; margin-top:40px; }
 .duo-offer-wide { grid-template-columns:minmax(0,1fr); margin-bottom:48px; padding:24px; gap:24px; }
 .duo-art { gap:12px; }
 .duo-art figure { aspect-ratio:5/4; }
 .duo-art figcaption { padding:12px; font-size:12px; }
 .duo-offer h2 { font-size:26px; }
 .duo-offer-action { grid-template-columns:minmax(0,1fr); gap:0; }
 .duo-price { grid-row:auto; margin-bottom:20px; }
 .duo-note { margin-top:12px; }
 .home-bundle { padding-top:0; padding-bottom:8px; }
}
/* Account collection: breathing room below the room and profile cards. */
.account-collection { margin-top:clamp(28px,4vw,48px); padding:clamp(24px,4vw,48px); }
.account-collection h2 { max-width:26ch; font-size:clamp(1.6rem,2.2vw,2rem); }
.account-collection .duo-offer-action { min-width:0; }
.account-collection .duo-note { text-align:center; }
@media (max-width:1000px) {
 .account-collection .duo-offer-action:has(> .duo-price[hidden]) { grid-template-columns:minmax(0,1fr); }
}
.duo-dialog { width:min(540px,calc(100vw - 32px)); max-height:calc(100dvh - 40px); overflow:auto; margin:auto; padding:clamp(1.5rem,5vw,2.25rem); border:1px solid #ddbf824d; border-radius:18px; background:#19171d; color:#f4eee3; box-shadow:0 24px 100px #0009; }
.duo-dialog::backdrop { background:#08070bcd; backdrop-filter:blur(5px); }
.duo-dialog h2 { font:400 1.9rem/1.2 Georgia,serif; margin:0 0 1rem; }
.duo-dialog p { line-height:1.6; color:#c4bbae; }
.duo-consent { display:flex; align-items:flex-start; gap:.8rem; padding:1rem; margin:1.25rem 0; border:1px solid #ddbf8233; border-radius:8px; font-size:.85rem; line-height:1.6; }
.duo-consent input { flex-shrink:0; margin-top:.3rem; accent-color:#e9c176; }
.duo-dialog-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:.75rem; margin-top:1.5rem; }
.duo-dialog [data-duo-confirm] { background:#e9c176; color:#261900; }
.duo-dialog [role=alert] { color:#f1b5a8; }
@media(max-width:700px) { .duo-dialog .duo-button { width:100%; } .duo-dialog-actions { flex-direction:column-reverse; } }
