.tap-stopover{margin:16px 0;padding:14px;border:1px solid #d9cfb7;border-radius:10px;min-width:0;background:#fffaf0}
.tap-stopover legend{font-size:15px;font-weight:650;padding:0 5px}
.tap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}
.tap-grid>label{display:flex;flex-direction:column;gap:4px;margin:0;font-size:13px;line-height:1.35;min-width:0;font-weight:600}
.tap-grid>label:last-child{grid-column:1/-1}
.tap-grid input,.tap-grid select{width:100%;min-width:0;box-sizing:border-box;height:32px;min-height:32px;max-height:32px;margin:0;padding:4px 7px;font:400 13px/1.3 system-ui;border:1px solid #aaa;border-radius:6px;background:#fff;color:#222}
.tap-stopover .field-note{font:400 12px/1.5 system-ui;margin:10px 0}
.tap-stopover .consent{display:flex;align-items:flex-start;gap:8px;font:400 13px/1.45 system-ui;margin:12px 0 0}
.tap-stopover .consent input{flex:0 0 17px;width:17px;height:17px;min-height:17px;margin:1px 0 0}
.tap-stopover[hidden]{display:none!important}
@media(max-width:460px){.tap-grid{grid-template-columns:minmax(0,1fr)}.tap-grid>label:last-child{grid-column:auto}}

/* 20% below the shared 32px / 13px controls, including the important layer. */
@layer eis-controls {
 .tap-stopover,.hotel-stay {--eis-control-height:25.6px;--eis-control-font:10.4px}
 :is(.tap-stopover,.hotel-stay) input:not([type=checkbox]),:is(.tap-stopover,.hotel-stay) select {padding:3px 6px!important;margin-top:2px!important}
 :is(.tap-stopover,.hotel-stay) label {font-size:10.4px!important;line-height:1.35!important}
 :is(.tap-stopover,.hotel-stay) input[type=checkbox] {width:13px!important;height:13px!important;min-height:13px!important;flex-basis:13px!important}
}
.tap-stopover,.hotel-stay {margin:12px 0;padding:11px;border:1px solid #d9cfb7;border-radius:8px;min-width:0;background:#fffaf0}
.tap-stopover legend,.hotel-stay legend {font-size:12px;font-weight:650;padding:0 4px}
.tap-grid {gap:8px 10px}
.tap-grid>label {gap:2px;font-weight:500}
.tap-stopover .field-note,.hotel-stay .field-note {font:400 10px/1.5 system-ui;margin:8px 0}
.tap-stopover .consent,.hotel-stay .consent {display:flex;align-items:flex-start;gap:6px;margin:9px 0 0}
.hotel-stay .stay-benefit {font:400 11px/1.5 system-ui;margin:5px 0 11px;color:#263f48}
.hotel-stay .stay-grid>label:last-child {grid-column:auto}
.hotel-stay input {width:100%;border:1px solid #aaa;background:white;color:#222}
.hotel-stay[hidden] {display:none!important}

/* Stay details are optional; keep the partnership message visible and compact. */
.hotel-stay .stay-benefit{margin:4px 0 7px}
.hotel-stay .stay-details{margin:0;padding:0;border:0;background:transparent}
.hotel-stay .stay-details>summary{font:500 11px/1.4 system-ui;padding:3px 0;cursor:pointer;color:#263f48}
.hotel-stay .stay-details[open]>.stay-grid{margin-top:8px}
.hotel-stay .stay-grid{margin-bottom:5px}
