/* WSH Alohana Escapia — Demo Page Styles */

.alohana-demo-wrap { max-width:1200px; margin:0 auto; padding:20px; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; }
.alohana-demo-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:30px; padding-bottom:15px; border-bottom:2px solid #0073aa; }
.alohana-demo-header h2 { margin:0; font-size:24px; }
.alohana-mode-badge { background:#f0f0f0; padding:6px 14px; border-radius:4px; font-size:13px; }

.alohana-section { margin-bottom:40px; padding:20px; border:1px solid #ddd; border-radius:6px; background:#fff; }
.alohana-section-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; padding-bottom:10px; border-bottom:1px solid #eee; }
.alohana-section-header h3 { margin:0; font-size:18px; }
.alohana-section-header h3 small { font-weight:normal; color:#888; font-size:13px; }

.alohana-status { margin-bottom:12px; }
.alohana-loading { color:#666; font-style:italic; }
.alohana-error { background:#f8d7da; border:1px solid #f5c6cb; color:#721c24; padding:10px 14px; border-radius:4px; }
.alohana-success { background:#d4edda; border:1px solid #c3e6cb; color:#155724; padding:10px 14px; border-radius:4px; }
.alohana-warning { background:#fff3cd; border:1px solid #ffeeba; color:#856404; padding:10px 14px; border-radius:4px; }

.alohana-btn { display:inline-block; padding:8px 18px; background:#0073aa; color:#fff; border:none; border-radius:4px; cursor:pointer; font-size:14px; text-decoration:none; }
.alohana-btn:hover { background:#005a87; color:#fff; }
.alohana-btn-sm { padding:5px 12px; font-size:12px; }
.alohana-btn-primary { background:#28a745; padding:10px 24px; font-size:15px; margin-top:12px; }
.alohana-btn-primary:hover { background:#218838; }

.alohana-property-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:20px; }
.alohana-property-card { border:1px solid #ddd; border-radius:6px; overflow:hidden; background:#fafafa; transition:box-shadow .2s; }
.alohana-property-card:hover { box-shadow:0 2px 12px rgba(0,0,0,.12); }
.alohana-card-img img { width:100%; height:180px; object-fit:cover; display:block; }
.alohana-card-body { padding:14px; }
.alohana-card-body h4 { margin:0 0 6px; font-size:16px; }
.alohana-headline { color:#555; font-size:13px; margin:0 0 8px; }
.alohana-card-meta { list-style:none; padding:0; margin:0 0 10px; display:flex; flex-wrap:wrap; gap:8px; font-size:13px; }
.alohana-card-meta li { background:#eef; padding:2px 8px; border-radius:3px; }
.alohana-card-desc { color:#666; font-size:12px; margin:0 0 8px; line-height:1.4; }
.alohana-avail-info { background:#e8f5e9; border:1px solid #c8e6c9; border-radius:4px; padding:6px 10px; font-size:11px; margin:6px 0 8px; line-height:1.5; }

#alohana-property-detail-view { margin-top:20px; }
.alohana-detail-panel { background:#fff; border:2px solid #0073aa; border-radius:8px; padding:24px; margin-bottom:20px; }
.alohana-detail-panel h3 { margin:0 0 8px; font-size:22px; }
.alohana-detail-panel p { line-height:1.6; }

/* Two-Tier Search */
.alohana-search-easy { margin-bottom:0; }
.alohana-search-bar { display:flex; flex-wrap:wrap; gap:12px; align-items:flex-end; padding:16px; background:#f8f9fa; border:1px solid #dee2e6; border-radius:8px; }
.alohana-search-field { display:flex; flex-direction:column; font-size:13px; font-weight:600; gap:3px; flex:1; min-width:120px; }
.alohana-search-field--narrow { flex:0 0 90px; min-width:80px; }
.alohana-search-field input { padding:8px 10px; border:1px solid #ccc; border-radius:4px; font-size:14px; width:100%; box-sizing:border-box; }
.alohana-search-submit { padding:8px 24px; font-size:15px; align-self:flex-end; white-space:nowrap; }
.alohana-advanced-toggle { background:none; border:none; color:#0e9b8a; cursor:pointer; font-size:13px; font-weight:600; padding:8px 0 0; text-decoration:none; }
.alohana-advanced-toggle:hover { text-decoration:underline; }
.alohana-advanced-toggle.is-open { color:#087a6c; }

.alohana-advanced-panel { max-height:0; overflow:hidden; transition:max-height .35s ease, padding .35s ease; padding:0 16px; background:#f0f4f3; border:1px solid #dee2e6; border-top:none; border-radius:0 0 8px 8px; }
.alohana-advanced-panel.is-open { max-height:600px; padding:16px; }

.alohana-adv-row { display:flex; flex-wrap:wrap; gap:16px; align-items:flex-end; margin-bottom:14px; }
.alohana-adv-field { display:flex; flex-direction:column; font-size:13px; font-weight:600; gap:4px; min-width:140px; }
.alohana-adv-field--wide { flex:1 1 100%; }
.alohana-adv-field select { padding:6px 10px; border:1px solid #ccc; border-radius:4px; font-size:14px; }
.alohana-adv-checkbox-single { flex-direction:row; align-items:center; gap:6px; padding-bottom:6px; }
.alohana-adv-checkbox-single input[type="checkbox"] { width:16px; height:16px; accent-color:#0e9b8a; }

.alohana-price-label { font-weight:500; font-size:14px; color:#333; margin-bottom:4px; }

/* Dual range slider */
.alohana-range-wrap { position:relative; height:32px; }
.alohana-range-wrap input[type="range"] { position:absolute; top:0; left:0; width:100%; height:32px; margin:0; -webkit-appearance:none; appearance:none; background:transparent; pointer-events:none; z-index:2; }
.alohana-range-wrap input[type="range"]::-webkit-slider-thumb { -webkit-appearance:none; width:20px; height:20px; border-radius:50%; background:#0e9b8a; border:2px solid #fff; box-shadow:0 1px 4px rgba(0,0,0,.25); cursor:pointer; pointer-events:auto; position:relative; z-index:3; }
.alohana-range-wrap input[type="range"]::-moz-range-thumb { width:18px; height:18px; border-radius:50%; background:#0e9b8a; border:2px solid #fff; box-shadow:0 1px 4px rgba(0,0,0,.25); cursor:pointer; pointer-events:auto; }
.alohana-range-wrap input[type="range"]::-webkit-slider-runnable-track { height:6px; background:transparent; }
.alohana-range-wrap input[type="range"]::-moz-range-track { height:6px; background:transparent; }
.alohana-range-track { position:absolute; top:13px; left:0; right:0; height:6px; border-radius:3px; background:#ddd; z-index:1; }
.alohana-range-track::after { content:''; position:absolute; top:0; height:100%; border-radius:3px; background:#0e9b8a; left:var(--range-left,0%); right:var(--range-right,0%); }

/* Amenity checkbox grid */
.alohana-amenity-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px 16px; margin-top:4px; }
.alohana-amenity-grid label { display:flex; align-items:center; gap:6px; font-size:13px; font-weight:400; cursor:pointer; }
.alohana-amenity-grid input[type="checkbox"] { width:16px; height:16px; accent-color:#0e9b8a; flex-shrink:0; }

.alohana-adv-controls { text-align:right; padding-top:4px; }
.alohana-link-btn { background:none; border:none; color:#d32f2f; cursor:pointer; font-size:13px; padding:0; text-decoration:underline; }
.alohana-link-btn:hover { color:#b71c1c; }

/* Search result count */
.alohana-result-count { font-size:15px; font-weight:600; margin-bottom:12px; }

/* No results */
.alohana-no-results { text-align:center; padding:40px 20px; color:#666; }
.alohana-no-results p { font-size:16px; margin:0 0 10px; }

@media (max-width:600px) {
    .alohana-search-bar { flex-direction:column; }
    .alohana-search-field--narrow { flex:1; }
    .alohana-amenity-grid { grid-template-columns:repeat(2,1fr); }
    .alohana-adv-row { flex-direction:column; }
}

/* Availability Calendar (Section 1 inline calendars) */
.alohana-cal-months { display:flex; flex-wrap:wrap; gap:16px; }
.alohana-cal-month { width:220px; }
.alohana-cal-title { font-weight:700; font-size:13px; text-align:center; margin-bottom:4px; }
.alohana-cal-grid { display:grid; grid-template-columns:repeat(7, 1fr); gap:1px; }
.alohana-cal-hdr { text-align:center; font-size:10px; font-weight:600; color:#888; padding:2px 0; }
.alohana-cal-cell { text-align:center; font-size:11px; padding:4px 2px; border-radius:3px; cursor:default; }
.alohana-cal-avail { background:#c8e6c9; color:#1b5e20; cursor:pointer; font-weight:600; }
.alohana-cal-avail:hover { background:#a5d6a7; }
.alohana-cal-blocked { background:#ffcdd2; color:#b71c1c; }
.alohana-cal-nodata { background:#f5f5f5; color:#ccc; }
.alohana-cal-empty { background:transparent; }

/* Inline Calendar on Property Cards */
.alohana-inline-calendar { margin-top:12px; border-top:1px solid #e0e0e0; padding-top:12px; }
.alohana-inline-cal-wrap { background:#fff; border:1px solid #ddd; border-radius:6px; padding:14px; }
.alohana-ical-nav { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.alohana-ical-nav button { background:none; border:1px solid #ccc; border-radius:4px; width:32px; height:32px; font-size:18px; cursor:pointer; line-height:1; }
.alohana-ical-nav button:hover { background:#f0f0f0; }
.alohana-ical-title { font-weight:600; font-size:14px; }
.alohana-ical-months { display:flex; gap:12px; }
.alohana-ical-month { flex:1; min-width:0; }
.alohana-ical-month-title { font-weight:600; font-size:12px; text-align:center; margin-bottom:4px; color:#555; }
.alohana-ical-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:1px; }
.alohana-ical-hdr { text-align:center; font-size:10px; font-weight:600; color:#888; padding:2px 0; }
.alohana-ical-cell { text-align:center; font-size:11px; padding:5px 2px; border-radius:3px; cursor:default; transition:background .15s; }
.alohana-ical-day-avail { background:#c8e6c9; color:#1b5e20; cursor:pointer; font-weight:600; }
.alohana-ical-day-avail:hover { background:#a5d6a7; }
.alohana-ical-day-blocked { background:#eee; color:#999; }
.alohana-ical-day-nodata { background:#f9f9f9; color:#ddd; }
.alohana-ical-day-today { box-shadow:inset 0 0 0 2px #1976d2; }
.alohana-ical-day-start, .alohana-ical-day-end { background:#00796b !important; color:#fff !important; font-weight:700; }
.alohana-ical-day-range { background:#b2dfdb !important; color:#004d40 !important; }
.alohana-ical-empty { background:transparent; }
.alohana-ical-status { margin-top:8px; }
.alohana-ical-quote { margin-top:10px; }
.alohana-ical-quote-panel { background:#f8fffe; border:1px solid #b2dfdb; border-radius:6px; padding:12px; }
.alohana-ical-quote-panel h5 { font-size:15px; }
@media (max-width:600px) { .alohana-ical-months { flex-direction:column; } }

.alohana-form-inline, .alohana-form-stack { margin-bottom:16px; }
.alohana-form-row { display:flex; flex-wrap:wrap; gap:12px; align-items:flex-end; margin-bottom:10px; }
.alohana-form-row label { display:flex; flex-direction:column; font-size:13px; font-weight:600; gap:3px; }
.alohana-form-row input, .alohana-form-row select { padding:6px 10px; border:1px solid #ccc; border-radius:4px; font-size:14px; min-width:120px; }
.alohana-form-stack fieldset { border:1px solid #ddd; border-radius:4px; padding:14px; margin-bottom:14px; }
.alohana-form-stack legend { font-weight:600; font-size:14px; padding:0 6px; }

.alohana-test-mode-notice { background:#fff3cd; border:2px solid #ffc107; color:#856404; padding:12px 16px; border-radius:4px; margin-bottom:16px; font-size:14px; }

/* Section 6 — ResID lookup helper + itinerary card */
.wsh-res-helper { margin:6px 0 0; font-size:12px; color:#666; font-style:italic; }

.wsh-itinerary {
    background:#fff; border:1px solid #d5dae0; border-radius:10px;
    box-shadow:0 2px 10px rgba(0,0,0,.05);
    overflow:hidden; margin-top:14px;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}

.wsh-itinerary__header {
    background:linear-gradient(135deg,#0F6E56 0%,#0b5944 100%);
    color:#fff; padding:20px 22px;
}
.wsh-itinerary__header-main { display:flex; flex-direction:column; gap:4px; }
.wsh-itinerary__property { margin:0; font-size:20px; font-weight:600; color:#fff; }
.wsh-itinerary__headline { margin:0; font-size:13px; opacity:.85; font-style:italic; }
.wsh-itinerary__badges { display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }
.wsh-itinerary__badge {
    display:inline-block; padding:4px 10px; border-radius:4px;
    font-size:11px; font-weight:600; letter-spacing:.3px;
}
.wsh-itinerary__badge--unit { background:rgba(255,255,255,.2); color:#fff; }
.wsh-itinerary__badge--unit code { font-family:"Courier New",monospace; color:#fff; background:transparent; font-size:11px; }
.wsh-itinerary__badge--resid { background:#fff; color:#0F6E56; font-family:"Courier New",monospace; }
.wsh-itinerary__booked { margin:10px 0 0; font-size:12px; opacity:.85; }
.wsh-itinerary__demo-note { margin:6px 0 0; font-size:11px; opacity:.75; }

.wsh-itinerary__section { padding:18px 22px; border-top:1px solid #eef0f2; }
.wsh-itinerary__section h5 { margin:0 0 12px; font-size:13px; font-weight:600; color:#333; text-transform:uppercase; letter-spacing:.5px; }

.wsh-itinerary__stay-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px 20px; }
.wsh-itinerary__stay-grid > div { display:flex; flex-direction:column; gap:2px; }
.wsh-itinerary__label { font-size:11px; color:#888; font-weight:600; text-transform:uppercase; letter-spacing:.3px; }
.wsh-itinerary__stay-grid strong { font-size:14px; color:#333; font-weight:600; }
.wsh-itinerary__sub { font-size:12px; color:#666; }

.wsh-itinerary__guest p { margin:0 0 4px; font-size:13px; color:#444; }
.wsh-itinerary__guest p:first-of-type { font-size:14px; }
.wsh-itinerary__requests { margin-top:10px; padding:10px 12px; background:#f8faf9; border-left:3px solid #0F6E56; border-radius:0 4px 4px 0; }
.wsh-itinerary__requests p { margin:4px 0 0; font-size:13px; color:#444; font-style:italic; }

.wsh-itinerary__pricing { width:100%; border-collapse:collapse; font-size:13px; }
.wsh-itinerary__pricing td { padding:7px 0; border-bottom:1px solid #f0f2f4; color:#444; }
.wsh-itinerary__pricing td.wsh-itinerary__money { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.wsh-itinerary__pricing tr:last-child td { border-bottom:0; }
.wsh-itinerary__pricing tr.wsh-itinerary__insurance td { color:#0F6E56; }
.wsh-itinerary__pricing tr.wsh-itinerary__insurance em { font-size:11px; color:#888; }
.wsh-itinerary__pricing tr.wsh-itinerary__total-row td {
    padding-top:12px; border-top:2px solid #333; border-bottom:0;
    font-size:16px; font-weight:700; color:#111;
}

.wsh-itinerary__deposits { display:flex; flex-direction:column; gap:8px; }
.wsh-itinerary__deposit {
    display:grid;
    grid-template-columns:2fr 1.5fr 1fr auto;
    gap:10px; align-items:center;
    padding:10px 12px;
    background:#fafbfc; border:1px solid #eef0f2; border-radius:6px;
    font-size:13px;
}
.wsh-itinerary__deposit-desc { color:#333; font-weight:500; }
.wsh-itinerary__deposit-due  { color:#666; font-size:12px; }
.wsh-itinerary__deposit-amt  { color:#333; font-weight:600; text-align:right; font-variant-numeric:tabular-nums; }
.wsh-itinerary__status {
    display:inline-block; padding:3px 10px; border-radius:3px;
    font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.3px;
}
.wsh-itinerary__status--paid     { background:#d4edda; color:#155724; }
.wsh-itinerary__status--pending  { background:#fff3cd; color:#856404; }
.wsh-itinerary__status--upcoming { background:#e9ecef; color:#6c757d; }

.wsh-itinerary__cancel p { margin:0; font-size:12px; color:#666; line-height:1.6; }

@media (max-width:640px) {
    .wsh-itinerary__stay-grid { grid-template-columns:1fr; }
    .wsh-itinerary__deposit {
        grid-template-columns:1fr auto;
        grid-template-rows:auto auto auto;
        gap:4px 10px;
    }
    .wsh-itinerary__deposit-desc   { grid-column:1 / 3; }
    .wsh-itinerary__deposit-due    { grid-column:1 / 2; grid-row:2; }
    .wsh-itinerary__deposit-amt    { grid-column:2 / 3; grid-row:2; }
    .wsh-itinerary__deposit-status { grid-column:1 / 3; grid-row:3; }
}

/* Test ResID badges — clickable, populate + auto-submit lookup. */
.alohana-test-resids-list { list-style:none; margin:10px 0 0; padding:0; display:flex; flex-direction:column; gap:6px; }
.alohana-test-resids-list li { display:flex; align-items:center; gap:10px; font-size:13px; color:#856404; }
.alohana-test-resid-badge {
    font-family:"Courier New",monospace; font-size:12px; font-weight:600;
    background:#fff; color:#856404;
    border:1px solid #ffc107; border-radius:3px;
    padding:4px 10px; cursor:pointer;
    transition:background .15s, color .15s, border-color .15s;
}
.alohana-test-resid-badge:hover, .alohana-test-resid-badge:focus {
    background:#00796b; color:#fff; border-color:#00796b;
}

.alohana-table { width:100%; border-collapse:collapse; margin:10px 0; font-size:14px; }
.alohana-table th, .alohana-table td { border:1px solid #ddd; padding:8px 12px; text-align:left; }
.alohana-table th { background:#f5f5f5; font-weight:600; }
.alohana-table tr:nth-child(even) { background:#fafafa; }

.alohana-quote-detail h4, .alohana-confirmation-detail h4 { margin:0 0 10px; font-size:18px; }
.alohana-quote-detail h5, .alohana-confirmation-detail h5 { margin:14px 0 6px; font-size:14px; }
.alohana-quote-detail pre, .alohana-confirmation-detail pre { background:#f5f5f5; padding:10px; border-radius:4px; font-size:12px; overflow:auto; max-height:200px; }

.alohana-raw-panel { margin-top:16px; }
.alohana-raw-panel summary { cursor:pointer; font-weight:600; font-size:13px; color:#555; }
.alohana-raw-panel textarea { width:100%; font-family:"Courier New",monospace; font-size:11px; margin-top:6px; background:#f9f9f9; border:1px solid #ddd; border-radius:4px; padding:8px; }

/* Booking Form — Two Column Layout */
.wsh-booking-layout { display:grid; grid-template-columns:1fr 380px; gap:24px; align-items:start; }
.wsh-booking-left { min-width:0; }
.wsh-booking-right { position:sticky; top:24px; }

.wsh-field-half { flex:1; min-width:140px; }
.wsh-city-state-zip { display:grid !important; grid-template-columns:2fr 1fr 1fr; gap:12px; }
.wsh-city-state-zip label { display:flex; flex-direction:column; font-size:13px; font-weight:600; gap:3px; }

/* Payment fieldset */
.wsh-payment-fieldset { border:2px solid #00796b; background:#f8fffe; }
.wsh-payment-fieldset legend { color:#00796b; }
.wsh-hat-badge { display:inline-block; background:#00796b; color:#fff; font-size:10px; font-weight:600; padding:2px 8px; border-radius:10px; vertical-align:middle; margin-left:6px; letter-spacing:.5px; }

/* Auth notice */
.wsh-auth-notice { background:#f5f5f5; border:1px solid #e0e0e0; border-radius:4px; padding:10px 14px; margin-bottom:14px; font-size:12px; color:#555; line-height:1.5; }
.wsh-auth-notice p { margin:0; }

/* Booking Summary — Right Column */
.wsh-booking-summary { border:1px solid #ddd; border-radius:8px; overflow:hidden; background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.06); }
.wsh-summary-empty { padding:24px; text-align:center; color:#888; }
.wsh-summary-property { display:flex; gap:12px; padding:14px; border-bottom:1px solid #eee; background:#fafafa; }
.wsh-summary-property img { width:90px; height:70px; object-fit:cover; border-radius:4px; flex-shrink:0; }
.wsh-summary-property-info { flex:1; min-width:0; }
.wsh-summary-property-info h4 { margin:0 0 2px; font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.wsh-summary-property-info p { margin:0; font-size:11px; color:#666; }
.wsh-summary-chips { display:flex; gap:6px; margin-top:4px; }
.wsh-chip { display:inline-block; background:#e3f2fd; color:#1565c0; font-size:10px; font-weight:600; padding:2px 8px; border-radius:3px; }

.wsh-summary-section { padding:14px; border-bottom:1px solid #eee; }
.wsh-summary-section h5 { margin:0 0 8px; font-size:13px; color:#333; }

.wsh-summary-table { width:100%; font-size:12px; }
.wsh-summary-table td { padding:3px 0; }
.wsh-summary-table td:last-child { text-align:right; font-weight:500; }
.wsh-summary-table .wsh-row-total { border-top:2px solid #333; font-size:14px; font-weight:700; }
.wsh-summary-table .wsh-row-total td { padding-top:6px; }

/* Deposit schedule */
.wsh-deposit-item { display:flex; justify-content:space-between; align-items:center; padding:6px 0; font-size:12px; }
.wsh-deposit-item + .wsh-deposit-item { border-top:1px solid #f0f0f0; }
.wsh-deposit-badge { font-size:10px; font-weight:600; padding:2px 8px; border-radius:3px; }
.wsh-deposit-badge--due { background:#d4edda; color:#155724; }
.wsh-deposit-badge--auto { background:#cce5ff; color:#004085; }
.wsh-deposit-explainer { font-size:11px; color:#888; margin-top:6px; line-height:1.4; }

/* Cancel policy */
.wsh-summary-cancel { font-size:11px; color:#666; line-height:1.5; }

/* Confirmation */
#wsh-booking-confirmation { background:#d4edda; border:2px solid #28a745; border-radius:8px; padding:24px; }
#wsh-booking-confirmation h3 { color:#155724; margin:0 0 12px; }

/* Inquiry form — extends Section 5 booking layout */
.wsh-chip--flex { background:#f0f0f0; color:#666; }
.wsh-inquiry-response-note { margin:12px 0 0; font-size:12px; color:#666; text-align:center; line-height:1.5; }

/* Flash border when form is prefilled from a card. */
#alohana-inquiry-form { border:2px solid transparent; border-radius:8px; transition:border-color .25s, box-shadow .25s, background .25s; }
#alohana-inquiry-form.wsh-inquiry-form--flash { border-color:#00796b; box-shadow:0 0 0 4px rgba(0,121,107,0.15); }

/* Inquiry confirmation panel — same green-success pattern as booking. */
#alohana-inquiry-confirmation { background:#d4edda; border:2px solid #28a745; border-radius:8px; padding:24px; }
#alohana-inquiry-confirmation h3 { color:#155724; margin:0 0 8px; }
#alohana-inquiry-confirmation p  { margin:0; color:#155724; }

@media (max-width:800px) {
    .wsh-booking-layout { grid-template-columns:1fr; }
    .wsh-booking-right { position:static; }
}
@media (max-width:600px) {
    .alohana-form-row { flex-direction:column; }
    .alohana-property-grid { grid-template-columns:1fr; }
    .alohana-demo-header { flex-direction:column; gap:8px; }
    .wsh-city-state-zip { grid-template-columns:1fr; }
}
