/* Keep the existing warm Lux Villas palette and make native controls usable. */
.ds-search { grid-template-columns:minmax(170px,1.3fr) repeat(2,minmax(145px,1fr)) minmax(110px,.8fr) auto; align-items:center; }
.ds-search label { min-width:0; }
.ds-search input,.ds-search select { width:100%; min-width:0; min-height:44px; color:#292c29; border-radius:8px; }
.ds-search select { cursor:pointer; padding-right:24px; }
.ds-search .ds-primary { min-height:48px; justify-content:center; white-space:nowrap; }
.ds-search :is(input,select,button):focus-visible,.payment-live-status a:focus-visible { outline:2px solid #294738; outline-offset:4px; }
.payment-live-status { margin:20px 0; padding:20px; background:#f5f6f2; border:1px solid #dce2d7; border-radius:16px; color:#294738; }
.payment-live-status strong { font-size:15px; line-height:1.6; }
.payment-live-status p { font-size:13px; line-height:1.65; margin:10px 0; }
.payment-live-status [data-poll-message] { color:#555d53; font-size:12px; }
.payment-live-status .ds-secondary { min-height:44px; margin-top:8px; }
.payment-wait-spinner { display:inline-block; width:20px; height:20px; margin-right:9px; vertical-align:middle; border:2px solid #cdd7c8; border-top-color:#294738; border-radius:50%; animation:payment-wait 1.2s linear infinite; }
.payment-page :is(button,.ds-secondary) { white-space:normal; overflow-wrap:anywhere; min-height:44px; max-width:100%; text-align:center; }
@keyframes payment-wait { to { transform:rotate(360deg); } }
@media(max-width:1000px) { .ds-search { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; } .ds-search label { border:0; padding:10px 12px!important; } .ds-search .ds-destination { grid-column:1/-1; } .ds-search .ds-primary { grid-column:1/-1; width:100%; } }
@media(max-width:380px) { .ds-search { grid-template-columns:minmax(0,1fr); } }
@media(prefers-reduced-motion:reduce) { .payment-wait-spinner { animation:none; } }
@media print { .payment-live-status .ds-secondary,.payment-wait-spinner,[data-poll-message] { display:none; } }
