.pt-stay { margin: 3rem 0; padding: 1.5rem 0; border-block: 1px solid #c9d8d3; color: #133c37; }
.pt-stay :is(h2,h3,h4) { color: #133c37; text-wrap: balance; }
.pt-stay h3 { margin-block: 1.5rem .75rem; }
.pt-stay :is(p,li) { max-width: 72ch; }
.pt-stay-note { color: #486660; font-size: .95rem; }
.pt-stay-common, .pt-stay-offers, .pt-stay-results { display: grid; gap: 1.5rem; }
.pt-stay-common { grid-template-columns: repeat(2,minmax(0,1fr)); max-width: 40rem; }
.pt-stay-offers, .pt-stay-results { grid-template-columns: repeat(3,minmax(0,1fr)); margin-block: 1.5rem; }
.pt-stay fieldset { margin: 0; padding: 0; min-width: 0; border: 0; }
.pt-stay legend { padding: 0; margin-bottom: .8rem; font-size: 1.2rem; font-weight: 700; }
.pt-stay label { display: flex; flex-direction: column; gap: .45rem; margin-bottom: 1rem; font-size: 1rem; font-weight: 600; }
.pt-stay input:not([type=checkbox]), .pt-stay select { box-sizing: border-box; width: 100%; min-width: 0; min-height: 48px; padding: .65rem .7rem; border: 1px solid #7f9991; border-radius: 8px; background: #fff; color: #133c37; font: inherit; font-variant-numeric: tabular-nums; caret-color: #0d5c52; }
.pt-stay .pt-stay-check { flex-direction: row; align-items: flex-start; font-weight: 400; }
.pt-stay input[type=checkbox] { width: 1.2rem; height: 1.2rem; flex-shrink: 0; margin: .2rem .25rem 0 0; accent-color: #0d5c52; }
.pt-stay-actions { display: flex; flex-wrap: wrap; gap: .8rem; }
.pt-stay button { min-height: 48px; padding: .7rem 1.1rem; border: 1px solid #0d5c52; border-radius: 8px; background: #0d5c52; color: #fff; font: inherit; font-weight: 650; cursor: pointer; }
.pt-stay button[type=reset] { background: #fff; color: #0d5c52; }
.pt-stay button:hover { background: #093e38; color: #fff; }
.pt-stay button:disabled { cursor: default; background: #e2efea; color: #486660; border-color: #c9d8d3; }
.pt-stay :is(input,select,button):focus-visible { outline: 3px solid #b74332; outline-offset: 4px; }
.pt-stay-result-row { min-width: 0; border-top: 1px solid #c9d8d3; padding-top: .6rem; }
.pt-stay-result-row p { font-variant-numeric: tabular-nums; }
.pt-stay [role=alert] { color: #943322; }
.pt-stay [hidden] { display: none; }
.pt-stay ::selection { background: #e2efea; color: #133c37; }
@media (max-width: 900px) { .pt-stay-offers, .pt-stay-results { grid-template-columns: minmax(0,1fr); } .pt-stay fieldset + fieldset { padding-top: 1rem; border-top: 1px solid #c9d8d3; } }
@media (max-width: 480px) { .pt-stay-common { grid-template-columns: minmax(0,1fr); } .pt-stay-actions button { width: 100%; } }
