.cnwshotel-extras-page{--cnwshotel-addons-card-bg:#ffffff;--cnwshotel-addons-card-border:#d8dee7;--cnwshotel-addons-title-color:#08142f;--cnwshotel-addons-price-color:#08142f;--cnwshotel-addons-meta-color:#64748b;--cnwshotel-addons-button-bg:#071633;--cnwshotel-addons-button-text:#ffffff;--cnwshotel-addons-qty-btn-bg:#0a1a44;--cnwshotel-addons-qty-btn-text:#ffffff;--cnwshotel-addons-lookup-bg:#f8fafc;--cnwshotel-addons-card-radius:22px;--cnwshotel-addons-button-radius:12px;--cnwshotel-addons-cta1-bg:#111827;--cnwshotel-addons-cta1-text:#ffffff;--cnwshotel-addons-cta1-border:#111827;--cnwshotel-addons-cta1-radius:18px;--cnwshotel-addons-cta1-padding-y:14px;--cnwshotel-addons-cta1-padding-x:22px;--cnwshotel-addons-cta1-min-width:0px;--cnwshotel-addons-cta2-bg:#ffffff;--cnwshotel-addons-cta2-text:#111827;--cnwshotel-addons-cta2-border:#d8dee7;--cnwshotel-addons-cta2-radius:18px;--cnwshotel-addons-cta2-padding-y:10px;--cnwshotel-addons-cta2-padding-x:16px;--cnwshotel-addons-cta2-min-width:0px;margin:28px 0}
.cnwshotel-extras-empty{padding:18px 20px;border:1px solid #d9e0e7;border-radius:18px;background:#ffffff;color:#334155}
.cnwshotel-extras-lookup{margin:0 0 22px;border:1px solid #d8dee7;border-radius:20px;background:linear-gradient(180deg,#ffffff 0%,var(--cnwshotel-addons-lookup-bg) 100%);box-shadow:0 10px 28px rgba(15,23,42,0.05);overflow:hidden}
.cnwshotel-extras-lookup__summary{display:block;list-style:none;cursor:pointer;padding:16px 20px;font-size:15px;font-weight:700;color:#08142f}
.cnwshotel-extras-lookup__summary::-webkit-details-marker{display:none}
.cnwshotel-extras-lookup__head,.cnwshotel-extras-lookup__form{padding:0 20px 18px}
.cnwshotel-extras-lookup__head h3{margin:0 0 8px;font-size:22px;line-height:1.2;color:#08142f}
.cnwshotel-extras-lookup__head p{margin:0;color:#526277}
.cnwshotel-extras-lookup__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cnwshotel-extras-lookup__field label{display:block;margin-bottom:8px;font-size:13px;font-weight:700;color:#08142f}
.cnwshotel-extras-lookup__field input{width:100%;height:50px;padding:0 14px;border:1px solid #cfd7e2;border-radius:12px;box-sizing:border-box;background:#ffffff;color:#08142f}
.cnwshotel-extras-lookup__field input:focus{outline:none;border-color:#c9a227;box-shadow:0 0 0 3px rgba(201,162,39,0.14)}
.cnwshotel-extras-lookup__field--email{grid-column:1 / -1}
.cnwshotel-extras-lookup__actions{margin-top:16px}
.cnwshotel-extras-lookup__message{display:flex;flex-direction:column;gap:4px;margin:14px 0 0;padding:12px 14px;border-radius:14px;font-size:14px;font-weight:600}
.cnwshotel-extras-lookup__message strong{font-size:14px;line-height:1.2}
.cnwshotel-extras-lookup__message span{font-size:13px;line-height:1.5;font-weight:500}
.cnwshotel-extras-lookup__message.is-success{background:#ecfdf5;color:#166534;border:1px solid #bbf7d0}
.cnwshotel-extras-lookup__message.is-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}
.cnwshotel-extras-categories{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}
.cnwshotel-extras-category-btn{min-height:40px;padding:0 16px;border:1px solid #cfd7e2;border-radius:999px;background:#ffffff;color:#334155;font-size:14px;font-weight:700;cursor:pointer;transition:all 0.18s ease}
.cnwshotel-extras-category-btn:hover,.cnwshotel-extras-category-btn.is-active{border-color:#c9a227;color:#08142f;box-shadow:0 0 0 1px rgba(201,162,39,0.16) inset}
.cnwshotel-extras-cta-shell{margin:0 0 18px}
.cnwshotel-extras-cta-launch{display:inline-flex;align-items:center;justify-content:center;width:auto;max-width:100%;min-width:0;min-height:0;height:auto;padding:0 20px;border:0;border-radius:16px;background:var(--cnwshotel-addons-button-bg);color:var(--cnwshotel-addons-button-text);cursor:pointer;box-shadow:0 14px 28px rgba(15,23,42,0.14);box-sizing:border-box;appearance:none;-webkit-appearance:none;text-decoration:none}
.cnwshotel-extras-cta-launch__copy{display:flex;flex-direction:column;gap:2px;text-align:center;color:inherit}
.cnwshotel-extras-cta-launch__copy strong{font-size:15px;line-height:1.2;color:inherit}
.cnwshotel-extras-cta-launch__copy small{font-size:12px;opacity:0.8;color:inherit}
.cnwshotel-extras-modal{width:min(1080px,calc(100vw - 32px));max-width:1080px;border:0;border-radius:24px;padding:0;background:#ffffff;box-shadow:0 28px 80px rgba(15,23,42,0.28)}
.cnwshotel-extras-modal::backdrop{background:rgba(15,23,42,0.45)}
.cnwshotel-extras-modal__card{position:relative;padding:22px}
.cnwshotel-extras-modal__close,.cnwshotel-extras-modal__close:hover,.cnwshotel-extras-modal__close:focus,.cnwshotel-extras-modal__close:active{position:absolute;top:16px;right:16px;padding:0;border:0;border-radius:0;background:transparent;color:#1663b7;font-size:32px;line-height:1;cursor:pointer;box-shadow:none;transform:none;outline:none}
.cnwshotel-extras-modal__head{margin:0 0 18px;padding-right:56px}
.cnwshotel-extras-modal__head h3{margin:0 0 8px;font-size:20px;color:#08142f}
.cnwshotel-extras-modal__head p{margin:0;color:#526277}
.cnwshotel-extras-grid{display:grid;gap:18px}
.cnwshotel-extras-layout-cards .cnwshotel-extras-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.cnwshotel-extras-layout-list .cnwshotel-extras-grid,.cnwshotel-extras-layout-compact .cnwshotel-extras-grid,.cnwshotel-extras-layout-cta .cnwshotel-extras-grid{grid-template-columns:1fr}
.cnwshotel-extras-card{display:flex;gap:20px;min-width:0;padding:18px;border:1px solid var(--cnwshotel-addons-card-border);border-radius:var(--cnwshotel-addons-card-radius);background:linear-gradient(180deg,var(--cnwshotel-addons-card-bg) 0%,#fbfcfe 100%);box-shadow:0 12px 28px rgba(15,23,42,0.05)}
.cnwshotel-extras-card__media{flex:0 0 auto;width:150px}
.cnwshotel-extras-card__media img{display:block;width:150px;height:150px;border:1px solid #d8dee7;border-radius:18px;background:#f6f8fb;object-fit:cover}
.cnwshotel-extras-card__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:16px}
.cnwshotel-extras-card__summary{display:flex;flex-direction:column;gap:8px;min-width:0}
.cnwshotel-extras-card__summary-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.cnwshotel-extras-card__title{margin:0;font-size:18px;line-height:1.18;color:var(--cnwshotel-addons-title-color);word-break:break-word}
.cnwshotel-extras-card__price{flex:0 0 auto;white-space:nowrap;font-size:18px;font-weight:800;color:var(--cnwshotel-addons-price-color)}
.cnwshotel-extras-card__summary-meta{display:block}
.cnwshotel-extras-card__meta{font-size:14px;font-weight:600;color:var(--cnwshotel-addons-meta-color)}
.cnwshotel-extras-card__pill{color:inherit}
.cnwshotel-extras-card__notice{padding:12px 14px;border-radius:14px;background:#fff7ed;color:#9a3412;font-size:14px;font-weight:600}
.cnwshotel-extras-card__form{width:100%}
.cnwshotel-extras-card__layout{display:grid;gap:18px;min-width:0}
.cnwshotel-extras-card__content{min-width:0;display:grid;justify-content:start;align-content:start;gap:8px}
.cnwshotel-extras-card__desc{width:360px;max-width:100%;margin:0;color:#526277;line-height:1.65}
.cnwshotel-extras-card__fields{display:flex;flex-wrap:wrap;gap:12px}
.cnwshotel-extras-card__field{min-width:0}
.cnwshotel-extras-card__field--full{width:100%}
.cnwshotel-extras-card__field label{display:block;margin-bottom:8px;font-size:13px;font-weight:700;color:#08142f}
.cnwshotel-extras-card__field input,.cnwshotel-extras-card__field textarea{width:100%;border:1px solid #cfd7e2;border-radius:12px;background:#ffffff;box-sizing:border-box;font-size:15px;color:#08142f}
.cnwshotel-extras-card__field input{height:50px;padding:0 14px}
.cnwshotel-extras-card__field textarea{min-height:110px;padding:12px 14px;resize:vertical}
.cnwshotel-extras-card__field input:focus,.cnwshotel-extras-card__field textarea:focus{outline:none;border-color:#c9a227;box-shadow:0 0 0 3px rgba(201,162,39,0.14)}
.cnwshotel-extras-card__aside{min-width:0;display:flex;flex-direction:column;gap:14px}
.cnwshotel-extras-card__qty-group{display:flex;flex-wrap:wrap;gap:12px 14px}
.cnwshotel-extras-card__qty{display:flex;flex-direction:column;gap:8px}
.cnwshotel-extras-card__qty label{margin:0;font-size:13px;font-weight:700;color:#08142f}
.cnwshotel-extras-qty-control{display:inline-flex;align-items:center;gap:6px;padding:4px 6px;border:1px solid #d6c38a;border-radius:14px;background:#ffffff;box-sizing:border-box}
.cnwshotel-extras-qty-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;min-width:30px;height:30px;min-height:30px;padding:0;border:0;border-radius:8px;background:var(--cnwshotel-addons-qty-btn-bg);color:var(--cnwshotel-addons-qty-btn-text);font-size:18px;font-weight:700;line-height:1;cursor:pointer}
.cnwshotel-extras-qty-control input[type="number"]{width:42px;min-width:42px;height:30px;margin:0;padding:0;border:0;background:transparent;box-shadow:none;outline:none;text-align:center;font-size:15px;font-weight:700;color:#08142f;-moz-appearance:textfield}
.cnwshotel-extras-qty-control input[type="number"]::-webkit-outer-spin-button,.cnwshotel-extras-qty-control input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cnwshotel-extras-card__totals{display:flex;flex-direction:column;gap:10px}
.cnwshotel-extras-card__pricing-note{display:flex;flex-direction:column;gap:4px}
.cnwshotel-extras-card__pricing-detail{display:none}
.cnwshotel-extras-card__pricing-total{font-size:18px;font-weight:800;color:var(--cnwshotel-addons-price-color)}
.cnwshotel-extras-btn{display:inline-flex;align-items:center;justify-content:center;min-width:120px;height:42px;padding:0 18px;border:0;border-radius:var(--cnwshotel-addons-button-radius);background:var(--cnwshotel-addons-button-bg);color:var(--cnwshotel-addons-button-text);font-size:14px;font-weight:800;cursor:pointer}
.cnwshotel-extras-btn:disabled{opacity:0.55;cursor:not-allowed}
.cnwshotel-extras-btn--secondary{background:#c9a45b;color:#08142f}
.cnwshotel-extras-layout-cards .cnwshotel-extras-card{flex-direction:column;height:100%}
.cnwshotel-extras-layout-cards .cnwshotel-extras-card__media,.cnwshotel-extras-layout-cards .cnwshotel-extras-card__media img{width:100%}
.cnwshotel-extras-layout-cards .cnwshotel-extras-card__media img{height:auto;aspect-ratio:1 / 1}
.cnwshotel-extras-layout-cards .cnwshotel-extras-card__layout{grid-template-columns:1fr}
.cnwshotel-extras-layout-cards .cnwshotel-extras-card__summary{min-height:72px}
.cnwshotel-extras-layout-cards .cnwshotel-extras-card__content{min-height:112px}
.cnwshotel-extras-layout-cards .cnwshotel-extras-card__aside{min-height:112px;align-items:flex-start;justify-content:flex-end}
.cnwshotel-extras-layout-cards .cnwshotel-extras-card__field--full{max-width:100%}
.cnwshotel-extras-layout-cards .cnwshotel-extras-card__totals,.cnwshotel-extras-layout-cards .cnwshotel-extras-card__actions{align-items:flex-start}
.cnwshotel-extras-layout-list .cnwshotel-extras-card,.cnwshotel-extras-layout-cta .cnwshotel-extras-card{align-items:flex-start}
.cnwshotel-extras-layout-list .cnwshotel-extras-card__body,.cnwshotel-extras-layout-cta .cnwshotel-extras-card__body{display:grid;grid-template-columns:minmax(0,1.35fr) 210px;gap:8px 18px;align-items:start}
.cnwshotel-extras-layout-list .cnwshotel-extras-card__form,.cnwshotel-extras-layout-cta .cnwshotel-extras-card__form,.cnwshotel-extras-layout-list .cnwshotel-extras-card__layout,.cnwshotel-extras-layout-cta .cnwshotel-extras-card__layout{display:contents}
.cnwshotel-extras-layout-list .cnwshotel-extras-card__summary,.cnwshotel-extras-layout-cta .cnwshotel-extras-card__summary{grid-column:1}
.cnwshotel-extras-layout-list .cnwshotel-extras-card__content,.cnwshotel-extras-layout-cta .cnwshotel-extras-card__content{grid-column:1;grid-template-columns:minmax(0,360px)}
.cnwshotel-extras-layout-list .cnwshotel-extras-card__field--full,.cnwshotel-extras-layout-cta .cnwshotel-extras-card__field--full{max-width:320px}
.cnwshotel-extras-layout-list .cnwshotel-extras-card__aside,.cnwshotel-extras-layout-cta .cnwshotel-extras-card__aside{grid-column:2;grid-row:1 / span 2;align-items:flex-end;justify-content:flex-start}
.cnwshotel-extras-layout-list .cnwshotel-extras-card__qty-group,.cnwshotel-extras-layout-cta .cnwshotel-extras-card__qty-group{width:100%;justify-content:flex-end}
.cnwshotel-extras-layout-list .cnwshotel-extras-card__totals,.cnwshotel-extras-layout-cta .cnwshotel-extras-card__totals{width:100%;align-items:flex-end}
.cnwshotel-extras-layout-list .cnwshotel-extras-card__actions,.cnwshotel-extras-layout-cta .cnwshotel-extras-card__actions{width:100%;display:flex;justify-content:flex-end}
.cnwshotel-extras-layout-compact .cnwshotel-extras-card{align-items:flex-start;gap:14px;padding:14px}
.cnwshotel-extras-layout-compact .cnwshotel-extras-card__media{width:96px}
.cnwshotel-extras-layout-compact .cnwshotel-extras-card__media img{width:96px;height:96px;border-radius:14px}
.cnwshotel-extras-layout-compact .cnwshotel-extras-card__title,.cnwshotel-extras-layout-compact .cnwshotel-extras-card__price{font-size:16px}
.cnwshotel-extras-layout-compact .cnwshotel-extras-card__body{display:grid;grid-template-columns:minmax(0,1.2fr) 180px;gap:8px 16px;align-items:start}
.cnwshotel-extras-layout-compact .cnwshotel-extras-card__form,.cnwshotel-extras-layout-compact .cnwshotel-extras-card__layout{display:contents}
.cnwshotel-extras-layout-compact .cnwshotel-extras-card__summary{grid-column:1}
.cnwshotel-extras-layout-compact .cnwshotel-extras-card__content{grid-column:1;grid-template-columns:minmax(0,360px)}
.cnwshotel-extras-layout-compact .cnwshotel-extras-card__desc{display:block;font-size:14px;line-height:1.55}
.cnwshotel-extras-layout-compact .cnwshotel-extras-card__field--full{max-width:240px}
.cnwshotel-extras-layout-compact .cnwshotel-extras-card__aside{grid-column:2;grid-row:1 / span 2;align-items:flex-end;justify-content:flex-start}
.cnwshotel-extras-layout-compact .cnwshotel-extras-card__qty-group,.cnwshotel-extras-layout-compact .cnwshotel-extras-card__totals{width:100%;justify-content:flex-end;align-items:flex-end}
.cnwshotel-extras-layout-compact .cnwshotel-extras-card__actions{width:100%;display:flex;justify-content:flex-end}
@media (max-width:1100px){.cnwshotel-extras-layout-cards .cnwshotel-extras-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.cnwshotel-extras-layout-list .cnwshotel-extras-card__body,.cnwshotel-extras-layout-cta .cnwshotel-extras-card__body,.cnwshotel-extras-layout-compact .cnwshotel-extras-card__body{grid-template-columns:1fr}
.cnwshotel-extras-layout-list .cnwshotel-extras-card__summary,.cnwshotel-extras-layout-list .cnwshotel-extras-card__content,.cnwshotel-extras-layout-list .cnwshotel-extras-card__aside,.cnwshotel-extras-layout-cta .cnwshotel-extras-card__summary,.cnwshotel-extras-layout-cta .cnwshotel-extras-card__content,.cnwshotel-extras-layout-cta .cnwshotel-extras-card__aside,.cnwshotel-extras-layout-compact .cnwshotel-extras-card__summary,.cnwshotel-extras-layout-compact .cnwshotel-extras-card__content,.cnwshotel-extras-layout-compact .cnwshotel-extras-card__aside{grid-column:1;grid-row:auto}
.cnwshotel-extras-layout-list .cnwshotel-extras-card__content,.cnwshotel-extras-layout-cta .cnwshotel-extras-card__content,.cnwshotel-extras-layout-compact .cnwshotel-extras-card__content{grid-template-columns:minmax(0,1fr)}
.cnwshotel-extras-layout-list .cnwshotel-extras-card__desc,.cnwshotel-extras-layout-cta .cnwshotel-extras-card__desc,.cnwshotel-extras-layout-compact .cnwshotel-extras-card__desc{width:100%}
.cnwshotel-extras-layout-list .cnwshotel-extras-card__aside,.cnwshotel-extras-layout-cta .cnwshotel-extras-card__aside,.cnwshotel-extras-layout-compact .cnwshotel-extras-card__aside,.cnwshotel-extras-layout-list .cnwshotel-extras-card__qty-group,.cnwshotel-extras-layout-cta .cnwshotel-extras-card__qty-group,.cnwshotel-extras-layout-compact .cnwshotel-extras-card__qty-group,.cnwshotel-extras-layout-list .cnwshotel-extras-card__totals,.cnwshotel-extras-layout-cta .cnwshotel-extras-card__totals,.cnwshotel-extras-layout-compact .cnwshotel-extras-card__totals,.cnwshotel-extras-layout-list .cnwshotel-extras-card__actions,.cnwshotel-extras-layout-cta .cnwshotel-extras-card__actions,.cnwshotel-extras-layout-compact .cnwshotel-extras-card__actions{justify-content:flex-start;align-items:flex-start}
}
@media (max-width:767px){.cnwshotel-extras-page{margin:22px 0}
.cnwshotel-extras-lookup__grid,.cnwshotel-extras-layout-cards .cnwshotel-extras-grid{grid-template-columns:1fr}
.cnwshotel-extras-card,.cnwshotel-extras-layout-list .cnwshotel-extras-card,.cnwshotel-extras-layout-cta .cnwshotel-extras-card,.cnwshotel-extras-layout-compact .cnwshotel-extras-card{flex-direction:column}
.cnwshotel-extras-card__media,.cnwshotel-extras-layout-compact .cnwshotel-extras-card__media{width:100%}
.cnwshotel-extras-card__media img,.cnwshotel-extras-layout-compact .cnwshotel-extras-card__media img{width:100%;height:auto;aspect-ratio:1 / 1}
.cnwshotel-extras-card__summary-top{flex-direction:column;align-items:flex-start}
.cnwshotel-extras-card__field--full,.cnwshotel-extras-layout-list .cnwshotel-extras-card__field--full,.cnwshotel-extras-layout-cta .cnwshotel-extras-card__field--full,.cnwshotel-extras-layout-compact .cnwshotel-extras-card__field--full{max-width:100%}
.cnwshotel-extras-card__qty-group{width:100%}
.cnwshotel-extras-btn{width:100%}
.cnwshotel-extras-modal{width:calc(100vw - 20px)}
.cnwshotel-extras-modal__card{padding:18px}
}
.cnwshotel-extras-page .cnwshotel-extras-card__actions .cnwshotel-extras-btn,.cnwshotel-extras-page .cnwshotel-extras-lookup__actions .cnwshotel-extras-btn{background:var(--cnwshotel-addons-card-button-bg);color:var(--cnwshotel-addons-card-button-text);border:1px solid var(--cnwshotel-addons-card-button-border);border-radius:var(--cnwshotel-addons-card-button-radius)}
.cnwshotel-extras-page .cnwshotel-extras-card__actions .cnwshotel-extras-btn:hover,.cnwshotel-extras-page .cnwshotel-extras-lookup__actions .cnwshotel-extras-btn:hover{color:var(--cnwshotel-addons-card-button-text)}
.cnwshotel-extras-page button.cnwshotel-extras-cta-launch,.cnwshotel-extras-page button.cnwshotel-extras-cta-launch:hover,.cnwshotel-extras-page button.cnwshotel-extras-cta-launch:focus{display:inline-flex !important;width:auto !important;max-width:100% !important;min-width:min(var(--cnwshotel-addons-cta1-min-width), 100%) !important;min-height:0 !important;height:auto !important;background:var(--cnwshotel-addons-cta1-bg) !important;color:var(--cnwshotel-addons-cta1-text) !important;border:1px solid var(--cnwshotel-addons-cta1-border) !important;border-radius:var(--cnwshotel-addons-cta1-radius) !important;padding:var(--cnwshotel-addons-cta1-padding-y) var(--cnwshotel-addons-cta1-padding-x) !important;line-height:1.2 !important;box-sizing:border-box !important;white-space:normal !important;overflow-wrap:anywhere !important;box-shadow:0 14px 28px rgba(15,23,42,0.14) !important;text-decoration:none !important;transform:none !important}
.cnwshotel-extras-page button.cnwshotel-extras-cta-launch--variant-2,.cnwshotel-extras-page.cnwshotel-extras-cta-variant-2 button.cnwshotel-extras-cta-launch,.cnwshotel-extras-page button.cnwshotel-extras-cta-launch--variant-2:hover,.cnwshotel-extras-page.cnwshotel-extras-cta-variant-2 button.cnwshotel-extras-cta-launch:hover,.cnwshotel-extras-page button.cnwshotel-extras-cta-launch--variant-2:focus,.cnwshotel-extras-page.cnwshotel-extras-cta-variant-2 button.cnwshotel-extras-cta-launch:focus{min-width:min(var(--cnwshotel-addons-cta2-min-width), 100%) !important;background:var(--cnwshotel-addons-cta2-bg) !important;color:var(--cnwshotel-addons-cta2-text) !important;border:1px solid var(--cnwshotel-addons-cta2-border) !important;border-radius:var(--cnwshotel-addons-cta2-radius) !important;padding:var(--cnwshotel-addons-cta2-padding-y) var(--cnwshotel-addons-cta2-padding-x) !important}
.cnwshotel-extras-page button.cnwshotel-extras-cta-launch .cnwshotel-extras-cta-launch__copy,.cnwshotel-extras-page button.cnwshotel-extras-cta-launch .cnwshotel-extras-cta-launch__copy strong,.cnwshotel-extras-page button.cnwshotel-extras-cta-launch .cnwshotel-extras-cta-launch__copy small{color:inherit !important}
.ast-mobile-popup-drawer .cnwshotel-extras-layout-cta{margin:18px 20px 24px !important}.ast-mobile-popup-drawer .cnwshotel-extras-layout-cta .cnwshotel-extras-cta-shell{margin:0 !important}
.cnwshotel-extras-modal .cnwshotel-extras-popup-submit,.cnwshotel-extras-modal .cnwshotel-extras-btn--popup-submit{background:var(--cnwshotel-addons-popup-button-bg);color:var(--cnwshotel-addons-popup-button-text);border:1px solid var(--cnwshotel-addons-popup-button-border);border-radius:var(--cnwshotel-addons-popup-button-radius)}
.cnwshotel-extras-booked-room__guest{margin-top:5px;color:#334155;font-size:13px;font-weight:700}
.cnwshotel-extras-special-needs{max-width:100%}
.cnwshotel-extras-special-needs__label{display:block;margin-bottom:8px}
.cnwshotel-extras-special-needs__select{width:100%;min-height:44px;padding:0 12px;border:1px solid #cfd7e2;border-radius:12px;background:#ffffff;color:#08142f;box-sizing:border-box}
.cnwshotel-extras-special-needs__choices{display:grid;grid-template-columns:1fr;gap:8px;width:100%;max-width:320px}
.cnwshotel-extras-special-needs__choice,.cnwshotel-extras-card__field .cnwshotel-extras-special-needs__choice{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;margin:0;padding:9px 11px;border:1px solid #d8dee7;border-radius:12px;background:#ffffff;color:#08142f;font-size:14px;font-weight:700;line-height:1.35;box-sizing:border-box;cursor:pointer}
.cnwshotel-extras-special-needs__choice input[type="checkbox"],.cnwshotel-extras-card__field .cnwshotel-extras-special-needs__choice input[type="checkbox"]{flex:0 0 18px;width:18px;min-width:18px;max-width:18px;height:18px;min-height:18px;max-height:18px;margin:0;padding:0;border-radius:4px;box-sizing:border-box;accent-color:#0f766e;cursor:pointer}
.cnwshotel-extras-special-needs__choice span{display:block;min-width:0;color:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}
.cnwshotel-extras-page.cnwshotel-extras-layout-list .cnwshotel-extras-card__qty{justify-content:flex-start !important;gap:8px !important;margin-right:0 !important}
.cnwshotel-extras-booked-rooms{margin:0 0 22px;padding:18px;border:1px solid #d8dee7;border-radius:18px;background:#ffffff;box-shadow:0 10px 24px rgba(15,23,42,0.06)}
.cnwshotel-extras-booked-rooms__head{margin-bottom:16px}
.cnwshotel-extras-booked-rooms__head h3{margin:0 0 6px;font-size:20px;line-height:1.25;color:#0f172a}
.cnwshotel-extras-booked-rooms__head p{margin:0;color:#64748b;font-size:14px}
.cnwshotel-extras-booked-rooms__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.cnwshotel-extras-booked-room{padding:14px;border:1px solid #e5e7eb;border-radius:14px;background:#f8fafc}
.cnwshotel-extras-booked-room__eyebrow{margin-bottom:4px;color:#64748b;font-size:12px;font-weight:800;letter-spacing:0.06em;text-transform:uppercase}
.cnwshotel-extras-booked-room__title{color:#0f172a;font-size:15px;font-weight:800}
.cnwshotel-extras-booked-room__dates{margin-top:5px;color:#64748b;font-size:13px}
.cnwshotel-extras-booked-room__addons-title{margin-top:12px;color:#334155;font-size:13px;font-weight:800}
.cnwshotel-extras-booked-room__empty{margin-top:6px;color:#64748b;font-size:13px}
.cnwshotel-extras-booked-room__addons{margin:8px 0 0 18px;padding:0}
.cnwshotel-extras-booked-room__addons li{margin-bottom:8px;color:#334155}
.cnwshotel-extras-booked-room__addons span{display:block;margin-top:4px;color:#64748b;font-size:12px}
.cnwshotel-extras-booked-rooms__actions{display:flex;justify-content:flex-end;margin-top:16px}
.cnwshotel-extras-card__selected-room{min-height:44px;display:flex;align-items:center;padding:10px 12px;border:1px solid #d0d7de;border-radius:12px;background:#f8fafc;color:#0f172a;font-weight:700;box-sizing:border-box}
@media (max-width:767px){.cnwshotel-extras-booked-rooms{padding:14px}
.cnwshotel-extras-booked-rooms__actions{justify-content:stretch}
.cnwshotel-extras-booked-rooms__actions .cnwshotel-extras-btn{width:100%}
}
body:has(.cnwshotel-extras-modal[open]){overflow:hidden}
.cnwshotel-extras-modal[open]{box-sizing:border-box;width:min(1080px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;overflow-x:hidden}
.cnwshotel-extras-modal[open] .cnwshotel-extras-modal__card{box-sizing:border-box;width:100%;max-width:100%;overflow-x:hidden}
.cnwshotel-extras-modal[open] .cnwshotel-extras-grid,.cnwshotel-extras-modal[open] .cnwshotel-extras-card,.cnwshotel-extras-modal[open] .cnwshotel-extras-card__body,.cnwshotel-extras-modal[open] .cnwshotel-extras-card__content{min-width:0}
@media (max-width:767px){.cnwshotel-extras-modal[open]{width:calc(100vw - 18px);max-width:calc(100vw - 18px);max-height:calc(100dvh - 18px)}
.cnwshotel-extras-modal[open] .cnwshotel-extras-modal__card{padding:18px 14px}
}
.cnwshotel-extras-page{--cnwshotel-addons-card-radius:20px;--cnwshotel-addons-button-radius:13px;color:#111827}
.cnwshotel-extras-page,.cnwshotel-extras-page *{text-rendering:optimizeLegibility}
.cnwshotel-extras-card{padding:18px;border-color:#dbe3ee;border-radius:22px;background:linear-gradient(180deg,#ffffff 0%,#fbfcfe 100%);box-shadow:0 12px 28px rgba(15,23,42,0.045)}
.cnwshotel-extras-card:hover{border-color:#c8d3e0;box-shadow:0 16px 36px rgba(15,23,42,0.07)}
.cnwshotel-extras-card__media img{border-color:#e2e8f0;border-radius:18px}
.cnwshotel-extras-card__summary{gap:7px}
.cnwshotel-extras-card__title{color:#111827;font-size:17px;line-height:1.25;font-weight:500;letter-spacing:-0.015em}
.cnwshotel-extras-card__price{color:#111827;font-size:17px;line-height:1.25;font-weight:600;letter-spacing:-0.01em}
.cnwshotel-extras-card__meta,.cnwshotel-extras-card__desc,.cnwshotel-extras-card__pricing-detail,.cnwshotel-extras-card__pricing-note,.cnwshotel-extras-booked-room__dates,.cnwshotel-extras-booked-room__empty,.cnwshotel-extras-booked-room__addons span{color:#64748b;font-weight:400}
.cnwshotel-extras-card__meta{font-size:13px}
.cnwshotel-extras-card__desc{font-size:13px;line-height:1.6}
.cnwshotel-extras-card__field label,.cnwshotel-extras-card__qty label,.cnwshotel-extras-special-needs__label,.cnwshotel-extras-lookup__field label{margin-bottom:7px;color:#111827;font-size:12px;line-height:1.3;font-weight:500}
.cnwshotel-extras-card__field input,.cnwshotel-extras-card__field textarea,.cnwshotel-extras-special-needs__select,.cnwshotel-extras-lookup__field input{border-color:#cfd8e3;border-radius:13px;color:#111827;font-size:14px;font-weight:400;box-shadow:none}
.cnwshotel-extras-card__field input,.cnwshotel-extras-special-needs__select,.cnwshotel-extras-lookup__field input{height:44px;min-height:44px;padding:0 13px}
.cnwshotel-extras-card__field textarea{min-height:92px}
.cnwshotel-extras-card__field input:focus,.cnwshotel-extras-card__field textarea:focus,.cnwshotel-extras-special-needs__select:focus,.cnwshotel-extras-lookup__field input:focus{border-color:#94a3b8;outline:none;box-shadow:0 0 0 3px rgba(148,163,184,0.16)}
.cnwshotel-extras-special-needs__choices{gap:7px}
.cnwshotel-extras-special-needs__choice,.cnwshotel-extras-card__field .cnwshotel-extras-special-needs__choice{min-height:40px;padding:8px 10px;border-color:#dbe3ee;border-radius:13px;background:#ffffff;color:#111827;font-size:13px;font-weight:400}
.cnwshotel-extras-special-needs__choice:hover,.cnwshotel-extras-card__field .cnwshotel-extras-special-needs__choice:hover{border-color:#c8d3e0;background:#f8fafc}
.cnwshotel-extras-special-needs__choice span{font-weight:400}
.cnwshotel-extras-special-needs__choice input[type="checkbox"],.cnwshotel-extras-card__field .cnwshotel-extras-special-needs__choice input[type="checkbox"]{width:16px;min-width:16px;max-width:16px;height:16px;min-height:16px;max-height:16px;accent-color:#111827}
.cnwshotel-extras-card__pricing-total,.cnwshotel-extras-card__pricing-total span{color:#111827;font-size:17px;line-height:1.25;font-weight:600}
.cnwshotel-extras-card__pricing-detail{font-size:12px}
.cnwshotel-extras-btn,.cnwshotel-extras-page .cnwshotel-extras-card__actions .cnwshotel-extras-btn,.cnwshotel-extras-page .cnwshotel-extras-lookup__actions .cnwshotel-extras-btn{min-width:112px;height:42px;min-height:42px;padding:0 18px;border-radius:13px;font-size:14px;font-weight:500;box-shadow:none}
.cnwshotel-extras-btn:hover,.cnwshotel-extras-page .cnwshotel-extras-card__actions .cnwshotel-extras-btn:hover,.cnwshotel-extras-page .cnwshotel-extras-lookup__actions .cnwshotel-extras-btn:hover{transform:none;filter:brightness(.98)}
.cnwshotel-extras-category-btn{min-height:36px;padding:0 14px;border-color:#d7dee8;border-radius:999px;background:#ffffff;color:#475569;font-size:13px;font-weight:500;box-shadow:none}
.cnwshotel-extras-category-btn:hover,.cnwshotel-extras-category-btn.is-active{border-color:#b9c4d2;background:#f8fafc;color:#111827;box-shadow:none}
.cnwshotel-extras-layout-cards .cnwshotel-extras-card__summary{min-height:64px}
.cnwshotel-extras-layout-cards .cnwshotel-extras-card__content{min-height:96px}
.cnwshotel-extras-layout-cards .cnwshotel-extras-card__aside{min-height:96px}
.cnwshotel-extras-qty-control{border-color:#dbe3ee;border-radius:13px}
.cnwshotel-extras-qty-btn{border-radius:9px;font-size:16px;font-weight:500}
.cnwshotel-extras-qty-control input[type="number"]{font-size:14px;font-weight:500}
.cnwshotel-extras-booked-rooms{border-color:#dbe3ee;border-radius:20px;box-shadow:0 12px 28px rgba(15,23,42,0.045)}
.cnwshotel-extras-booked-rooms__head h3{font-size:20px;font-weight:500;letter-spacing:-0.015em}
.cnwshotel-extras-booked-room{border-color:#e2e8f0;border-radius:16px;background:#fbfcfe}
.cnwshotel-extras-booked-room__eyebrow,.cnwshotel-extras-booked-room__addons-title,.cnwshotel-extras-booked-room__title,.cnwshotel-extras-booked-room__guest,.cnwshotel-extras-card__selected-room{font-weight:500}
.cnwshotel-extras-card__selected-room{border-color:#dbe3ee;border-radius:13px;background:#fbfcfe}
.cnwshotel-extras-modal{border-radius:24px;box-shadow:0 28px 70px rgba(15,23,42,0.22)}
.cnwshotel-extras-modal::backdrop{background:rgba(15,23,42,0.46);backdrop-filter:blur(3px)}
.cnwshotel-extras-modal__card{padding:30px}
.cnwshotel-extras-modal__close,.cnwshotel-extras-modal__close:hover,.cnwshotel-extras-modal__close:focus,.cnwshotel-extras-modal__close:active{top:18px;right:18px;width:34px;min-width:34px;height:34px;min-height:34px;border:1px solid #dbe3ee;border-radius:999px;background:#ffffff;color:#64748b;font-size:20px;font-weight:300}
.cnwshotel-extras-modal__close:hover,.cnwshotel-extras-modal__close:focus{border-color:#b9c4d2;background:#f8fafc;color:#111827}
.cnwshotel-extras-modal__head h3{color:#111827;font-size:24px;line-height:1.2;font-weight:500;letter-spacing:-0.025em}
.cnwshotel-extras-modal__head p{color:#64748b;font-size:14px;font-weight:400}
@media (max-width:767px){.cnwshotel-extras-modal[open] .cnwshotel-extras-modal__card,.cnwshotel-extras-modal__card{padding:22px}
.cnwshotel-extras-card__title,.cnwshotel-extras-card__price,.cnwshotel-extras-card__pricing-total{font-size:16px}
}

/* 1.10.84: Keep 300x300 add-on images sharp by never stretching card images beyond a safe storefront size. */
.cnwshotel-extras-page{--cnwshotel-addons-image-display-size:260px}
.cnwshotel-extras-layout-cards .cnwshotel-extras-card__media{width:min(100%,var(--cnwshotel-addons-image-display-size));max-width:var(--cnwshotel-addons-image-display-size);margin-left:auto;margin-right:auto;align-self:center}
.cnwshotel-extras-layout-cards .cnwshotel-extras-card__media img,.cnwshotel-extras-layout-cards .cnwshotel-extras-card__image{width:100%;max-width:var(--cnwshotel-addons-image-display-size);height:auto;aspect-ratio:1 / 1;object-fit:cover;object-position:center;display:block}
.cnwshotel-extras-card__media img,.cnwshotel-extras-card__image{image-rendering:auto}
@media (max-width:767px){.cnwshotel-extras-card__media,.cnwshotel-extras-layout-compact .cnwshotel-extras-card__media{width:min(100%,var(--cnwshotel-addons-image-display-size));max-width:var(--cnwshotel-addons-image-display-size);margin-left:auto;margin-right:auto}.cnwshotel-extras-card__media img,.cnwshotel-extras-layout-compact .cnwshotel-extras-card__media img{width:100%;max-width:var(--cnwshotel-addons-image-display-size);height:auto;aspect-ratio:1 / 1;object-fit:cover}}
