/*
Theme Name: One-Shot Editorial Staging
Version: 0.1.14
Description: Editable conversion of approved editorial source cd687b5. Staging candidate; payment integration remains external.
Author: One-Shot Parking Solutions
Requires at least: 6.6
Requires PHP: 8.2
Text Domain: oneshot-editorial
*/
:focus-visible{outline:3px solid #a50c1b;outline-offset:4px} .staging-banner{padding:8px 20px;background:#fff5d6;color:#272117;text-align:center;font:14px system-ui} .wp-edit-note{padding:32px;max-width:900px;margin:auto} .notice-fields button:disabled{opacity:.6;cursor:not-allowed} 

.appeal-key span,.appeal-intro .back-link,.notice-intro .back-link{color:#4a4a4a!important}

/* Mobile homepage step positioning must not move notice guidance into the page header. */
.notice-guidance .step-number{position:static}

/* Combined location and destination suggestions. */
.explore-suggestion-group{min-width:0;border-bottom:1px solid #dce0e4}.explore-suggestion-group:last-child{border-bottom:0}.explore-suggestion-heading{padding:12px 14px 6px;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#56616c}.explore-suggestion-empty{padding:8px 14px 12px;margin:0;color:#616b75;font-size:.9rem}#explore-suggestions{max-height:360px;overflow-y:auto}#explore-suggestions [role="option"]{width:100%;white-space:normal;overflow-wrap:anywhere}#explore-suggestions [aria-selected="true"]{background:#fce9e9;outline:2px solid #d7202c;outline-offset:-2px}

/* Make the explicit destination lookup action visibly actionable. */
#explore-suggestions .explore-destination-search{border:1px solid #af1524;background:#fff3f4;color:#871120;min-height:64px;margin:8px;width:calc(100% - 16px);cursor:pointer;text-align:left}#explore-suggestions .explore-destination-search:hover,#explore-suggestions .explore-destination-search[aria-selected="true"]{background:#fbe0e3}#explore-find{white-space:normal;text-align:left;max-width:100%}

/* Keep reservation discovery compact and consistent with the editorial form. */
.parking-explore{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"input actions" "help help" "suggestions suggestions" "status status" "results results" "attribution attribution";gap:8px 12px}
.parking-explore>label{grid-area:input;min-width:0;margin:0}.parking-explore>label input{box-sizing:border-box;width:100%;min-height:48px;margin-top:6px}
.parking-explore>.explore-search-actions{grid-area:actions;display:flex;align-items:flex-end;gap:8px;margin:0}.explore-search-actions button{min-height:48px;padding:10px 18px}
#explore-help{grid-area:help;margin:0;font-size:12px}#explore-suggestions{grid-area:suggestions}#explore-status{grid-area:status;margin:0}#explore-results{grid-area:results}#explore-attribution{grid-area:attribution;margin:0;font-size:10px}
.explore-results-heading{margin:8px 0}.explore-results-heading h3{font-size:18px;letter-spacing:-.02em;margin:0}#explore-results-help{margin:0 0 10px}
#explore-list{display:grid;gap:10px;margin:0;padding:0}#explore-list>.explore-lot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:16px;border:1px solid #d9dbdd;border-radius:0;background:#fff}
#explore-list>.explore-lot.is-chosen{border-left:3px solid #af1524;background:#fafafa}.explore-lot-details{min-width:0}.explore-lot-details h4{font-size:17px;line-height:1.3;margin:3px 0 6px}.explore-lot-details p{margin:3px 0;line-height:1.45}.explore-lot-details .explore-lot-number{font-size:11px;letter-spacing:.05em}.explore-lot-address,.explore-lot-distance{font-size:12px;color:#62656b}
.explore-lot-actions{display:flex;gap:8px}.explore-lot-actions button{min-height:44px;padding:10px 14px;border-radius:0}.explore-lot-actions .explore-choose{background:#af1524;color:white;border:1px solid #af1524}.explore-lot-actions .explore-change{background:white;color:#252b31;border:1px solid #c9ccd1}
.has-parking-choice #explore-help,.has-parking-choice #explore-results-help{display:none}.has-parking-choice #explore-status{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
.has-parking-choice .parking-explore{grid-template-areas:"input actions" "results results" "attribution attribution"}.has-parking-choice #explore-status{grid-area:auto}
.reservation-search .reservation-dates{margin-top:20px}.reservation-search .reservation-date-card{padding:16px;min-width:0}.reservation-search .reservation-clock .clock-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.reservation-search .clock-fields>span[aria-hidden]{display:none}.reservation-search .clock-fields select{box-sizing:border-box;width:100%;min-width:0;height:48px;padding:8px 12px;border:1px solid #c9ccd1;background:#fff;font-size:16px;line-height:1.2}
@media(max-width:600px){.parking-explore{grid-template-columns:1fr;grid-template-areas:"input" "actions" "help" "suggestions" "status" "results" "attribution"}.parking-explore>.explore-search-actions{align-items:stretch}.explore-search-actions button:first-child{flex:1}.explore-search-actions button{min-height:44px}#explore-list>.explore-lot{grid-template-columns:1fr;padding:14px}.explore-lot-actions button{width:100%}.explore-lot-actions{display:block}.reservation-search .reservation-dates{gap:12px}.reservation-search .reservation-date-card{padding:14px}.reservation-search .clock-fields select{padding:8px}.has-parking-choice .explore-lot-actions button{width:auto}}
@media(max-width:600px){.has-parking-choice .parking-explore{grid-template-areas:"input" "actions" "results" "attribution"}}

#parking-discovery{min-width:0;margin-top:20px}#parking-discovery .explore-lot-actions a{display:inline-block;font-weight:700;padding:10px 0}#parking-discovery .explore-lot-actions{align-items:center;gap:12px}#parking-discovery .explore-product-note{margin:8px 0 0;color:#626870;font-size:14px}#parking-discovery .explore-status:empty,#parking-discovery .explore-attribution:empty{display:none}
#parking-discovery label{display:grid;gap:7px;color:#273442;font-size:13px;font-weight:700;min-width:0}#parking-discovery input{display:block;width:100%;min-width:0;box-sizing:border-box;height:50px;padding:12px;border:1px solid #ccd4de;border-radius:6px;background:#fff;color:#273442;font:700 16px Arial,Helvetica,sans-serif}#parking-discovery input:focus{outline:2px solid #a71927;outline-offset:2px}#parking-discovery p{color:#62656b}#parking-discovery #explore-suggestions button{color:#273442}#parking-discovery #explore-status{font-size:13px;line-height:1.6}#parking-discovery .explore-lot-number{color:#62656b}
#parking-discovery .explore-suggestion-empty{font-size:13px!important;line-height:1.5;margin:0;padding:10px 14px}


/* Shared control shape; large editorial panels retain their square edges. */
:root{--os-control-radius:8px}
.primary,.text-button,header .menu,.finder button:not([role="tab"]),.finder select,.native-form :is(input:not([type="checkbox"]):not([type="hidden"]):not([type="file"]),select,textarea){border-radius:var(--os-control-radius)!important}
.finder,.finder-main{border-radius:0}
/* Auto-placed rows collapse when suggestions/status/results are empty or hidden. */
.parking-explore,.has-parking-choice .parking-explore{grid-template-areas:none;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;align-items:end}
.parking-explore>.explore-query{grid-area:auto;grid-column:1;order:1;min-width:0}
.parking-explore>.explore-search-actions{grid-area:auto;grid-column:2;order:2;align-items:stretch}
#parking-discovery .explore-query>label{display:block;margin:0 0 8px;line-height:1.4}
.explore-input-wrap{position:relative;min-width:0}
#parking-discovery #reservation-location{height:52px;min-height:52px;margin:0;padding:12px 52px 12px 12px;border-radius:var(--os-control-radius);font-weight:500}
#reservation-location::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
#parking-discovery #explore-clear{position:absolute;right:4px;top:4px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:0;border:0;background:transparent;color:#59616b;cursor:pointer}
#parking-discovery #explore-clear:hover{background:#f1f3f5;color:#273442}
#parking-discovery #explore-clear[hidden]{display:none!important}
#explore-find{height:52px;min-height:52px;padding:12px 24px;text-align:center;font-size:16px;font-weight:700}
#explore-help,#explore-suggestions,#explore-status,#explore-results,#explore-attribution{grid-area:auto;grid-column:1/-1}
#explore-help{order:3}#explore-suggestions{order:4}#explore-status{order:5}#explore-results{order:6}#explore-attribution{order:7}
#explore-status:empty,#explore-attribution:empty{display:none}
.finder [role="tabpanel"]>p{margin-top:14px}
.parking-routes .route-arrow{width:24px;height:24px;flex:none;color:var(--red)}
@media(max-width:600px){
 .parking-explore,.has-parking-choice .parking-explore{grid-template-columns:minmax(0,1fr);grid-template-areas:none}
 .parking-explore>.explore-search-actions{grid-column:1}
 #explore-find{width:100%;min-height:52px}
 .finder [role="tabpanel"]>p{margin-top:12px}
}


/* General parking support follows the existing enquiry dialog. */
#contact-dialog{max-width:640px;max-height:90vh;overflow:auto}
#contact-dialog h2{padding-right:36px;margin-bottom:12px}
#contact-dialog .contact-close{top:14px;right:14px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);font-size:24px;line-height:1;font-weight:400}
#contact-dialog .contact-close:hover{background:var(--pale);color:var(--ink)}
#contact-intro{margin:0 0 24px}
#contact-form{display:grid;gap:18px}
#contact-form label{display:grid;gap:8px;min-width:0;margin:0}
#contact-form .field-label{display:block;min-width:0;color:var(--ink);font-size:14px;line-height:1.5;font-weight:600}
#contact-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
#contact-form :is(input:not([type="hidden"]),select,textarea){box-sizing:border-box;width:100%;min-width:0;padding:11px 12px;border:1px solid #bfc8d4;background:#fff;color:var(--ink);font:400 16px/1.5 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
#contact-form :is(input:not([type="hidden"]),select){min-height:48px}
#contact-form textarea{min-height:120px;resize:vertical}
#contact-form :is(input,select,textarea):focus{outline:2px solid var(--red);outline-offset:2px}
#contact-form [aria-invalid="true"]{border-color:#a81323}
#contact-form .field-error{color:#a81323;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
#contact-form .form-privacy,#contact-form .form-status,#contact-form .contact-notice-note{margin:0;font-size:12px;line-height:1.6}
#contact-status:empty{display:none}
#contact-form .contact-notice-note a{text-decoration:underline}
#contact-form>button[type="submit"]{justify-self:start;min-height:48px;font-weight:600}
@media(max-width:600px){#contact-form .form-grid{grid-template-columns:minmax(0,1fr)}#contact-form>button[type="submit"]{width:100%;justify-self:stretch}}
