/*
Theme Name: Spartan Wrecker
Theme URI: https://www.spartanparkme.com/Clients/Spartan%20Wrecker/
Author: Spartan Wrecker
Description: Responsive private-property towing and virtual parking permit theme for Spartan Wrecker.
Version: 1.2.2
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: spartan-wrecker
*/

:root{--sw-red:#c5101a;--sw-red-dark:#8e0b12;--sw-black:#050505;--sw-paper:#f5f1e9;--sw-muted:#aaa6a0;--sw-line:#292929}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--sw-black);color:#fff;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.sw-shell{max-width:1500px;margin:auto}.sw-header{height:88px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #242424;position:relative;z-index:5;background:#050505}.sw-brand{display:flex;align-items:center;gap:12px;letter-spacing:.14em}.sw-brand-mark{width:40px;height:40px;border:2px solid var(--sw-red);display:grid;place-items:center;color:var(--sw-red);font-family:Georgia,serif;font-size:23px;font-weight:700;transform:rotate(45deg)}.sw-brand-mark b{transform:rotate(-45deg)}.sw-brand-copy strong,.sw-brand-copy small{display:block;line-height:1}.sw-brand-copy strong{font-family:Georgia,serif;font-size:16px}.sw-brand-copy small{color:var(--sw-red);margin-top:5px;font-size:10px;font-weight:800}.custom-logo-link img{display:block;max-height:58px;width:auto}.sw-nav{display:flex;gap:30px;color:#c8c5c0;font-size:13px;font-weight:700}.sw-nav a:hover{color:#fff}.sw-header-cta{border:1px solid var(--sw-red);padding:12px 18px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.sw-header-cta span{color:var(--sw-red);margin-left:9px}.sw-hero{min-height:690px;padding:74px 5vw 66px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:7vw;position:relative;overflow:hidden}.sw-hero:before{content:"";position:absolute;width:520px;height:520px;right:2vw;top:60px;border:1px solid #1e1e1e;border-radius:50%;box-shadow:0 0 0 70px rgba(197,16,26,.025),0 0 0 140px rgba(197,16,26,.018)}.sw-hero-copy,.sw-emblem-wrap{position:relative;z-index:1}.sw-eyebrow{color:#bcb8b1;font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;display:flex;align-items:center;gap:10px}.sw-eyebrow:before{content:"";width:36px;height:2px;background:var(--sw-red)}.sw-hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(54px,6.1vw,92px);line-height:.93;letter-spacing:-.04em;margin:26px 0 28px;font-weight:500}.sw-hero h1 em{display:block;color:var(--sw-red);font-style:italic}.sw-lede{color:#b3afaa;line-height:1.8;font-size:16px;max-width:625px}.sw-actions{display:flex;flex-wrap:wrap;gap:12px;margin:34px 0 38px}.sw-btn{min-height:52px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;gap:22px;font-size:12px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;border:0;cursor:pointer}.sw-btn-red{background:var(--sw-red);box-shadow:inset 0 -3px 0 var(--sw-red-dark)}.sw-btn-red:hover{background:#de1722}.sw-btn-outline{border:1px solid #3a3a3a}.sw-btn-light{background:#fff;color:#111}.sw-points{display:flex;gap:26px;flex-wrap:wrap;color:#8f8b86;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.sw-points span:before{content:"✓";color:var(--sw-red);margin-right:7px}.sw-emblem-wrap{display:flex;align-items:center;justify-content:center;min-height:450px}.sw-emblem{width:min(430px,86vw);aspect-ratio:1;border:2px solid var(--sw-red);border-radius:50%;position:relative;display:grid;place-items:center;box-shadow:0 0 0 18px #050505,0 0 0 20px rgba(197,16,26,.35),0 26px 80px rgba(0,0,0,.55);background:radial-gradient(circle,#170204 0,#070707 66%)}.sw-emblem:before,.sw-emblem:after{content:"";position:absolute;inset:34px;border:2px dashed var(--sw-red);border-radius:50%;opacity:.8}.sw-emblem:after{inset:60px;border-style:solid;opacity:.24}.sw-emblem-core{text-align:center;position:relative;z-index:1}.sw-emblem-core b{display:block;font-family:Georgia,serif;font-size:76px;color:var(--sw-red);line-height:1}.sw-emblem-core strong,.sw-emblem-core small{display:block;font-family:Georgia,serif;letter-spacing:.16em}.sw-emblem-core strong{font-size:25px}.sw-emblem-core small{font-size:14px;color:#eee;margin-top:7px}.sw-status{position:absolute;right:-5px;bottom:18px;background:var(--sw-paper);color:#111;min-width:240px;padding:16px 19px;display:flex;align-items:center;gap:13px;box-shadow:0 14px 32px rgba(0,0,0,.35)}.sw-status-dot{width:10px;height:10px;border-radius:50%;background:var(--sw-red);box-shadow:0 0 0 5px rgba(197,16,26,.12)}.sw-status small,.sw-status strong{display:block}.sw-status small{color:#777;letter-spacing:.15em;font-size:8px;font-weight:900;margin-bottom:4px}.sw-status strong{font-family:Georgia,serif;font-size:15px}.sw-trust{background:var(--sw-paper);color:#121212;min-height:135px;padding:0 5vw;display:grid;grid-template-columns:repeat(4,1fr)}.sw-trust div{display:flex;align-items:center;justify-content:center;gap:15px;border-right:1px solid #ded9d0}.sw-trust div:last-child{border:0}.sw-trust b{color:var(--sw-red);font-family:Georgia,serif;font-size:29px;font-style:italic}.sw-trust span{font-size:11px;line-height:1.35;text-transform:uppercase;font-weight:900;letter-spacing:.08em}.sw-light{background:var(--sw-paper);color:#101010}.sw-section{padding:105px 5vw}.sw-two{display:grid;grid-template-columns:.72fr 1.28fr;gap:8vw}.sw-section h2{font-family:Georgia,serif;font-size:clamp(42px,4.5vw,70px);line-height:1;letter-spacing:-.035em;margin:20px 0 24px;font-weight:500}.sw-section h2 em{color:var(--sw-red);font-weight:500}.sw-copy{color:#66615a;line-height:1.75;font-size:15px;max-width:560px}.sw-permit-panel{border:1px solid #d3cec5;background:#fbf9f4;box-shadow:10px 10px 0 #e4dfd6}.sw-panel-top{padding:24px 28px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d3cec5}.sw-panel-top small,.sw-panel-top strong{display:block}.sw-panel-top small{color:var(--sw-red);font-size:9px;letter-spacing:.16em;font-weight:900;margin-bottom:5px}.sw-panel-top strong{font-family:Georgia,serif;font-size:18px}.sw-chip{background:#111;color:#fff;padding:8px 11px;font-size:8px;letter-spacing:.15em;font-weight:900}.sw-steps{display:grid;grid-template-columns:repeat(3,1fr)}.sw-steps article{padding:28px;border-right:1px solid #ddd8cf}.sw-steps article:last-child{border:0}.sw-steps b{color:var(--sw-red);font-family:Georgia,serif;font-size:24px;font-style:italic}.sw-steps h3{font-family:Georgia,serif;font-size:18px;margin:34px 0 10px}.sw-steps p{color:#6b665f;font-size:12px;line-height:1.7}.sw-note{border-top:1px solid #d3cec5;padding:17px 25px;background:#f0ebe2;color:#5c5750;font-size:11px;line-height:1.6}.sw-panel-action{display:flex;align-items:center;gap:18px;padding:20px 25px;border-top:1px solid #d3cec5}.sw-panel-action small{color:#77716a;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.sw-services{border-top:1px solid #292929}.sw-service{display:grid;grid-template-columns:58px 1fr;gap:12px;padding:25px 10px;border-bottom:1px solid #292929;align-items:center}.sw-service>span{color:var(--sw-red);font-family:Georgia,serif;font-size:18px;font-style:italic}.sw-service h3{margin:0 0 6px;font-family:Georgia,serif;font-size:21px;font-weight:500}.sw-service p{margin:0;color:#85817d;font-size:12px}.sw-property{background:#121212;display:grid;grid-template-columns:.8fr 1.2fr}.sw-property-card{min-height:430px;background:linear-gradient(145deg,#bf0e18,#76080d);padding:55px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.sw-property-card:after{content:"S";position:absolute;right:-15px;bottom:-90px;font-family:Georgia,serif;font-size:330px;color:rgba(0,0,0,.13)}.sw-property-number{font-family:Georgia,serif;font-size:110px;line-height:.8;position:relative;z-index:1}.sw-property-number span{font-size:42px;font-style:italic}.sw-property-card p{max-width:270px;text-transform:uppercase;font-size:12px;line-height:1.6;letter-spacing:.12em;font-weight:900;position:relative;z-index:1}.sw-property-copy{padding:60px 7vw;align-self:center}.sw-property-copy h2{font-family:Georgia,serif;font-size:clamp(38px,4vw,59px);line-height:1.05;font-weight:500}.sw-features{display:grid;grid-template-columns:1fr 1fr;gap:13px 28px;margin-top:28px}.sw-features span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#d8d4ce}.sw-features span:before{content:"✓";color:var(--sw-red);margin-right:8px}.sw-faq{border-top:1px solid #ccc6bc}.sw-faq details{border-bottom:1px solid #ccc6bc;padding:21px 3px}.sw-faq summary{cursor:pointer;display:flex;justify-content:space-between;gap:20px;font-family:Georgia,serif;font-size:18px}.sw-faq summary span{color:var(--sw-red)}.sw-faq p{color:#66615a;font-size:13px;line-height:1.7}.sw-final{text-align:center;padding:105px 24px;background:var(--sw-red)}.sw-final .sw-eyebrow{justify-content:center;color:#f0b7b9}.sw-final .sw-eyebrow:before{background:#fff}.sw-final h2{font-family:Georgia,serif;font-size:clamp(48px,6vw,84px);margin:20px 0 15px;font-weight:500}.sw-final p{color:#f6d7d8;margin-bottom:30px}.sw-footer{min-height:135px;padding:35px 5vw;display:flex;align-items:center;justify-content:space-between;gap:25px;color:#7e7a75;background:#050505}.sw-footer p,.sw-footer-links{font-size:10px;letter-spacing:.08em;text-transform:uppercase}.sw-footer-links{display:flex;gap:22px}.sw-footer a:hover{color:#fff}

.sw-privacy{background:var(--sw-paper);color:#161616;min-height:100vh}.sw-privacy-hero{background:#050505;color:#fff;padding:100px max(5vw,calc((100vw - 1200px)/2)) 80px}.sw-privacy-hero h1{font-family:Georgia,serif;font-size:clamp(54px,6vw,88px);margin:22px 0 16px;font-weight:500}.sw-privacy-hero h1 em{color:var(--sw-red)}.sw-updated{color:#8f8b86;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.sw-privacy-content{max-width:1040px;margin:auto;padding:80px 34px 100px}.sw-privacy-intro{font-family:Georgia,serif;font-size:24px;line-height:1.5;color:#3c3833;padding-bottom:45px;margin:0 0 20px;border-bottom:1px solid #d2ccc2}.sw-policy-row{display:grid;grid-template-columns:72px 1fr;gap:18px;padding:34px 0;border-bottom:1px solid #d2ccc2}.sw-policy-row>span{color:var(--sw-red);font-family:Georgia,serif;font-size:22px;font-style:italic}.sw-policy-row h2{font-family:Georgia,serif;font-size:25px;font-weight:500;margin:0 0 12px}.sw-policy-row p{color:#625d56;font-size:14px;line-height:1.8;margin:0}.sw-policy-row p+p{margin-top:15px}.sw-policy-row a{color:var(--sw-red);text-decoration:underline;overflow-wrap:anywhere}.sw-sms-protection{padding:16px 18px!important;background:#fff4f3;border-left:3px solid var(--sw-red);color:#2d2926!important}.sw-sms-terms{margin:18px -22px;padding:34px 22px;border:1px solid #cfc8bd;background:#ece6dc}.sw-sms-label{color:var(--sw-red)!important;font-size:10px!important;font-weight:900;letter-spacing:.15em;margin-bottom:7px!important}

@media(max-width:850px){.sw-header{height:76px;padding:0 22px}.sw-nav{display:none}.sw-header-cta{padding:10px 12px}.sw-hero{grid-template-columns:1fr;padding:58px 24px;gap:26px}.sw-hero:before{display:none}.sw-emblem-wrap{min-height:400px}.sw-emblem{width:min(350px,80vw)}.sw-trust{grid-template-columns:1fr 1fr;padding:0 18px}.sw-trust div{min-height:100px;border-bottom:1px solid #ded9d0}.sw-two{grid-template-columns:1fr;gap:48px}.sw-section{padding:75px 24px}.sw-steps{grid-template-columns:1fr}.sw-steps article{border-right:0;border-bottom:1px solid #ddd8cf}.sw-steps h3{margin-top:12px}.sw-property{grid-template-columns:1fr}.sw-property-card{min-height:310px}.sw-property-copy{padding:55px 25px}.sw-panel-action{align-items:flex-start;flex-direction:column}.sw-footer{flex-direction:column;align-items:flex-start}.sw-privacy-hero{padding:70px 24px 60px}.sw-privacy-content{padding:55px 24px 70px}.sw-policy-row{grid-template-columns:48px 1fr}}@media(max-width:500px){.sw-header-cta{font-size:10px}.sw-hero{padding-top:46px}.sw-points{gap:13px}.sw-status{min-width:215px;right:0}.sw-panel-top{align-items:flex-start;gap:14px;flex-direction:column}.sw-features{grid-template-columns:1fr}.sw-footer-links{flex-direction:column;gap:10px}}

.sw-contact-section{padding:95px 5vw;background:#101010;border-top:1px solid #242424}.sw-contact-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw;align-items:start}.sw-contact-intro h2{font-family:Georgia,serif;font-size:clamp(42px,4.5vw,68px);font-weight:500;line-height:1;margin:20px 0}.sw-contact-intro>p:last-child{color:#99948e;line-height:1.7;max-width:430px}.sw-contact-details{display:grid;grid-template-columns:1.15fr .8fr 1.2fr;border-top:1px solid #353535;border-bottom:1px solid #353535}.sw-contact-item{padding:28px 22px;border-right:1px solid #353535;min-height:135px}.sw-contact-item:last-child{border-right:0}.sw-contact-item small{display:block;color:var(--sw-red);font-size:9px;font-weight:900;letter-spacing:.16em;margin-bottom:16px}.sw-contact-item address,.sw-contact-item a{font-family:Georgia,serif;font-size:17px;line-height:1.55;font-style:normal}.sw-contact-item a:hover{color:#e21a24}.sw-footer-contact p{margin:5px 0;text-align:center}
@media(max-width:850px){.sw-contact-section{padding:70px 24px}.sw-contact-grid{grid-template-columns:1fr;gap:40px}.sw-contact-details{grid-template-columns:1fr}.sw-contact-item{border-right:0;border-bottom:1px solid #353535;min-height:auto}.sw-contact-item:last-child{border-bottom:0}.sw-footer-contact p{text-align:left}}

.sw-sms-optin-section{padding:95px 5vw;background:var(--sw-paper);color:#171717}.sw-sms-optin-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:8vw}.sw-sms-optin-section .sw-eyebrow{color:#6e6a64}.sw-sms-optin-copy h2{font-family:Georgia,serif;font-size:clamp(40px,4vw,62px);font-weight:500;line-height:1.04;margin:20px 0}.sw-sms-optin-copy>p:not(.sw-eyebrow){color:#67615a;line-height:1.7;max-width:500px}.sw-sms-optional{font-size:12px;border-left:3px solid var(--sw-red);padding-left:14px}.sw-sms-form{background:#fff;border:1px solid #d2ccc2;padding:30px;box-shadow:10px 10px 0 #e4dfd6}.sw-form-row{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.sw-form-row label{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.sw-form-row label span{font-weight:400;color:#777;text-transform:none;letter-spacing:0}.sw-form-row input{width:100%;height:48px;border:1px solid #bdb6ab;background:#fff;padding:0 12px;font:inherit;color:#111}.sw-form-row input:focus{outline:2px solid var(--sw-red);outline-offset:2px}.sw-sms-consent{display:grid;grid-template-columns:22px 1fr;gap:11px;align-items:start;margin:25px 0 12px;padding:18px;background:#f5f1e9;border:1px solid #d2ccc2}.sw-sms-consent input{width:19px;height:19px;margin:1px 0 0;accent-color:var(--sw-red)}.sw-sms-consent label{font-size:12px;line-height:1.65;color:#3c3833}.sw-sms-legal{font-size:11px;line-height:1.6;color:#69635b;margin:0 0 22px}.sw-sms-legal a{color:var(--sw-red);text-decoration:underline}.sw-form-notice{padding:13px 15px;margin-bottom:18px;font-size:12px;line-height:1.5}.sw-form-success{background:#e8f6eb;color:#174b24;border-left:3px solid #2f8d47}.sw-form-error{background:#fff0ef;color:#7a1616;border-left:3px solid var(--sw-red)}
@media(max-width:850px){.sw-sms-optin-section{padding:70px 24px}.sw-sms-optin-grid{grid-template-columns:1fr;gap:40px}.sw-sms-form{padding:22px}}

/* Spartan logo and vehicle-search enhancements */
.sw-btn-vehicle{background:#fff;color:#111;box-shadow:inset 0 -3px 0 #c8c8c8}
.sw-btn-vehicle:hover{background:#f0f0f0}
.sw-btn-vehicle span{color:var(--sw-red)}
.sw-logo-panel{width:min(560px,92vw);aspect-ratio:1.55;background:#000;display:flex;align-items:center;justify-content:center;padding:18px;border:1px solid #242424;box-shadow:0 26px 80px rgba(0,0,0,.6);position:relative;overflow:hidden}
.sw-logo-panel:before{content:"";position:absolute;inset:12px;border:1px solid rgba(197,16,26,.28);pointer-events:none}
.sw-logo-panel img{display:block;width:100%;height:100%;object-fit:contain;position:relative;z-index:1}
@media(max-width:850px){.sw-logo-panel{width:min(520px,92vw)}.sw-emblem-wrap{min-height:360px}}
@media(max-width:500px){.sw-logo-panel{padding:10px}.sw-logo-panel:before{inset:7px}}

/* Circular logo crop: preserve the full emblem without stretching */
.sw-logo-panel{width:min(500px,88vw);aspect-ratio:1;border-radius:50%;padding:0;background:#000;border:2px solid rgba(197,16,26,.42);box-shadow:0 0 0 14px #050505,0 0 0 16px rgba(197,16,26,.2),0 26px 80px rgba(0,0,0,.65);overflow:hidden}
.sw-logo-panel:before{display:none}
.sw-logo-panel img{width:100%;height:100%;object-fit:contain;border-radius:50%}
@media(max-width:850px){.sw-logo-panel{width:min(430px,84vw)}}
@media(max-width:500px){.sw-logo-panel{padding:0;width:min(350px,84vw)}}

/* Keep all customer action links above decorative hero layers */
.sw-actions,.sw-panel-action,.sw-final,.sw-header{position:relative;z-index:10}
.sw-btn,.sw-header-cta,.sw-nav a{pointer-events:auto}

/* Keep the permits status card fully visible above the circular logo */
.sw-logo-panel{z-index:1}
.sw-status{z-index:20;right:-18px;bottom:18px}
@media(max-width:850px){.sw-status{right:0;bottom:10px}}
@media(max-width:500px){.sw-status{right:0;bottom:0}}
