/* Contact + request service */
.ct-hero{padding:64px 0 48px}.ct-hero-sm{padding:48px 0 32px}
.ct-quick{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ct-quick a{display:flex;flex-direction:column;height:100%;padding:20px;border:1px solid #2c3136;border-top-color:#454b53;border-radius:16px;background:linear-gradient(160deg,#2a2e35 0%,#1b1e23 45%,#0d0f12 100%);text-decoration:none;transition:transform .2s,border-color .2s;box-sizing:border-box}
.ct-quick a:hover{transform:translateY(-3px);border-color:#0499f7}
.ct-quick .fs-ic{margin-bottom:12px}
.ct-quick b{color:#fff;font-size:18px}.ct-quick span:last-child{color:#b4bac1;font-size:14px;margin-top:2px}
.ct-quick li:first-child a{background:linear-gradient(150deg,#0566d1,#053e95);border-color:#0499f7}
.ct-quick li:first-child .fs-ic{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.35)}
.ct-quick li:first-child .fs-ic svg{stroke:#fff}.ct-quick li:first-child span:last-child{color:#dde9ff}
.ct-layout{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:24px;align-items:start}
.ct-layout-req{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.ct-form{padding:24px;border:1px solid #2c3136;border-top-color:#454b53;border-radius:18px;background:linear-gradient(160deg,#2a2e35 0%,#1b1e23 45%,#0d0f12 100%);box-shadow:0 14px 30px rgba(0,0,0,.45)}
.ct-form-head h2{margin:6px 0 8px;color:#fff;font-size:28px}.ct-form-head p{margin:0;color:#b4bac1;line-height:1.55}
.ct-form .sm-embed{margin-top:18px;border-radius:14px}
.ct-form .sm-fallback,.ct-form .sm-fallback a{color:#b4bac1}.ct-form .sm-fallback a{color:#5cc0ff}
.ct-side,.ct-steps{display:grid;gap:14px}
.ct-card{padding:20px;border:1px solid #2c3136;border-top-color:#454b53;border-radius:16px;background:linear-gradient(160deg,#2a2e35 0%,#1b1e23 45%,#0d0f12 100%)}
.ct-card p{margin:0 0 8px;color:#b4bac1;font-size:14.5px;line-height:1.55}.ct-card p:last-child{margin-bottom:0}
.ct-card b{color:#fff}.ct-card a{color:#5cc0ff}
.ct-call{border-color:rgba(92,192,255,.35);background:linear-gradient(150deg,rgba(5,102,209,.25),rgba(13,15,18,.8))}
.ct-num{display:block;margin:2px 0 8px;color:#fff!important;font:800 30px/1.1 Inter,Arial,sans-serif;text-decoration:none;letter-spacing:-.02em}
.ct-check{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ct-check li{position:relative;padding-left:26px;color:#dde1e5;font-size:14px}
.ct-check li:before{content:"";position:absolute;left:3px;top:4px;width:11px;height:6px;border-left:2.5px solid #5cc0ff;border-bottom:2.5px solid #5cc0ff;transform:rotate(-45deg)}
.ct-towns{list-style:none;margin:6px 0 10px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.ct-towns li{padding:6px 10px;border-radius:999px;border:1px solid #3d434a;background:#121417;color:#dde1e5;font-size:12.5px;font-weight:700}
.ct-small{font-size:13px!important;color:#7a828c}
.ct-truck{display:flex;align-items:center;gap:14px}.ct-truck .fs-ic{margin:0;flex:none}
.ct-truck b{display:block;font-size:18px;margin-bottom:2px}.ct-truck a{font-size:13.5px;font-weight:700;text-decoration:none}
.ct-ids{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:12px 0 0;font-size:13.5px}.ct-ids dt{color:#7a828c}.ct-ids dd{margin:0;color:#dde1e5}
.ct-lab{display:block;margin-bottom:8px;color:#dde1e5;font-size:14px;font-weight:700}
.ct-card textarea{width:100%;box-sizing:border-box;padding:12px;border-radius:12px;border:1px solid #3d434a;background:#0b0d10;color:#f5f6f7;font:14px/1.5 ui-monospace,Consolas,monospace;resize:vertical}
.ct-card textarea:focus{outline:2px solid #0499f7;border-color:#0499f7}
.ct-btn{border:0;cursor:pointer}
#copy-status{color:#5cc0ff;font-size:13.5px}
@media(max-width:1000px){.ct-layout,.ct-layout-req{grid-template-columns:1fr}.ct-quick{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.ct-quick{grid-template-columns:1fr 1fr;gap:8px}.ct-quick a{padding:14px}.ct-quick span:last-child{font-size:12.5px}.ct-form{padding:16px}.ct-num{font-size:26px}}
.eh-back{display:inline-block;margin-bottom:14px;color:#7a828c!important;font-size:14px;text-decoration:none}.eh-back:hover{color:#5cc0ff!important}
/* direct send to Shopmonkey */
.sm-direct{display:grid;gap:14px;margin-top:18px}
.sm-row label,.sm-direct label{display:grid;gap:6px;color:#dde1e5;font-size:13px;font-weight:700}
.sm-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.sm-direct input:not([type=radio]){height:48px;padding:0 14px;border:1px solid #2f353c;border-radius:12px;background:#0b0c0e;color:#fff;font:600 16px Inter,Arial,sans-serif}
.sm-direct input:focus{outline:none;border-color:#0499f7;box-shadow:0 0 0 3px rgba(4,153,247,.22)}
.sm-pref{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;border:0}
.sm-pref legend{width:100%;margin-bottom:6px;color:#dde1e5;font-size:13px;font-weight:700}
.sm-pref label{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid #2f353c;border-radius:10px;background:#0b0c0e;cursor:pointer;font-weight:700}
.sm-pref label:has(input:checked){border-color:#0499f7;background:rgba(4,153,247,.12)}
.sm-pref input{accent-color:#0499f7}
.sm-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.sm-note{margin:0;color:#9aa2ab;font-size:13px}
.sm-send{justify-content:center;min-height:54px;font-size:17px}
.sm-send:disabled{opacity:.6;cursor:wait}
.sm-status{margin:0;min-height:20px;color:#5cc0ff;font-weight:700;font-size:14px}
.sm-status.err{color:#ff8a80}.sm-status a{color:inherit}
.sm-alt{margin-top:18px;border:1px solid #23292f;border-radius:12px;padding:12px 16px;background:#0e1115}
.sm-alt summary{cursor:pointer;color:#5cc0ff;font-weight:800}
.sm-alt-body{margin-top:14px}
.sm-done{padding:30px 10px;text-align:center}
.sm-check{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 14px;border-radius:50%;background:#0566d1;box-shadow:0 0 0 8px rgba(5,102,209,.18),0 0 30px rgba(4,153,247,.5)}
.sm-check svg{width:32px;height:32px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.sm-done h2{margin:0 0 8px}.sm-done p{color:#c4cad0}.sm-done a:not(.fx-call){color:#5cc0ff}
@media (max-width:600px){.sm-two{grid-template-columns:1fr}}
.sm-when{padding:14px;border:1px solid #23292f;border-radius:14px;background:#0e1115}
.sm-when-h{margin:0 0 10px;color:#fff;font-weight:800;font-size:14px}.sm-when-h span{color:#7a828c;font-weight:600}
.sm-days,.sm-times{display:flex;flex-wrap:wrap;gap:8px}
.sm-times:not(:empty){margin-top:10px;padding-top:10px;border-top:1px solid #1f2429}
.sm-day,.sm-time{padding:9px 12px;border:1px solid #2f353c;border-radius:10px;background:#0b0c0e;color:#dde1e5;font:700 13px/1 Inter,Arial,sans-serif;cursor:pointer}
.sm-day:hover,.sm-time:hover{border-color:#0499f7}
.sm-day.on,.sm-time.on{background:#0566d1;border-color:#0566d1;color:#fff}
.sm-picked{margin:10px 0 0;color:#5cc0ff;font-weight:800;font-size:14px}.sm-picked:empty{display:none}
.sm-loading{margin:0;color:#7a828c;font-size:13px}
.sm-booked{padding:10px 14px;border:1px solid #1f3a55;border-radius:10px;background:rgba(4,153,247,.08)}
.sm-direct select,.sm-direct textarea{width:100%;padding:12px 14px;border:1px solid #2f353c;border-radius:12px;background:#0b0c0e;color:#fff;font:600 16px/1.4 Inter,Arial,sans-serif}
.sm-direct select{height:50px;appearance:none;background:#0b0c0e url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235cc0ff' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 14px center/18px no-repeat;padding-right:44px}
.sm-direct select optgroup{color:#5cc0ff;background:#121417}.sm-direct select option{color:#fff;background:#121417}
.sm-direct textarea{resize:vertical;min-height:100px}
.sm-direct select:focus,.sm-direct textarea:focus{outline:none;border-color:#0499f7;box-shadow:0 0 0 3px rgba(4,153,247,.22)}
.sm-direct label em{color:#7a828c;font-style:normal;font-weight:600}
.sm-addr{position:relative}
.sm-addr-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;margin:0;padding:6px;list-style:none;border:1px solid #2f5d86;border-radius:12px;background:#121417;box-shadow:0 18px 40px rgba(0,0,0,.6)}
.sm-addr-list li{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:8px;cursor:pointer}
.sm-addr-list li b{color:#fff;font-size:15px}.sm-addr-list li span{color:#9aa2ab;font-size:13px}
.sm-addr-list li:hover,.sm-addr-list li.on{background:#0b2f5e}
.sm-direct select,.sm-direct textarea,.sm-direct input{box-sizing:border-box;max-width:100%}
/* Step 2: selected service summary */
.sv-card{border-color:#1f3a55!important;background:radial-gradient(500px 220px at 0 0,rgba(4,153,247,.14),transparent 70%),linear-gradient(160deg,#16191d,#0d0f12)!important}
.sv-top{display:flex;gap:14px;align-items:flex-start}
.sv-ic{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:14px;background:linear-gradient(160deg,#0566d1,#053e95);box-shadow:0 0 0 5px rgba(5,102,209,.15),0 10px 24px rgba(4,153,247,.3)}
.sv-ic svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sv-top h3{margin:2px 0 8px;color:#fff;font-size:20px;line-height:1.2;letter-spacing:-.01em}
.sv-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.sv-chips span{padding:4px 10px;border-radius:99px;background:rgba(4,153,247,.12);border:1px solid #1f3a55;color:#a9d8ff;font:700 12px/1.3 Inter,Arial,sans-serif}
.sv-h{margin:18px 0 8px;color:#7a828c;font:800 11px/1 Inter,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.sv-list{margin:0;padding:0;list-style:none;display:grid;gap:2px}
.sv-list li{position:relative;padding:8px 0 8px 30px;border-bottom:1px solid #1f2429;color:#dde1e5;font-size:14.5px;line-height:1.4}
.sv-list li:last-child{border:0}
.sv-list li::before{content:"";position:absolute;left:0;top:9px;width:18px;height:18px;border-radius:50%;background:#0566d1 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/11px no-repeat;box-shadow:0 0 10px rgba(4,153,247,.45)}
.sv-foot{margin:14px 0 0;padding-top:12px;border-top:1px solid #23292f;color:#8a929b;font-size:13px}
.sv-empty{margin:6px 0 0;color:#9aa2ab;font-size:14.5px}
.sm-addr-list li.sm-addr-by{padding:6px 12px 2px;color:#7a828c;font-size:11px;cursor:default;text-align:right}.sm-addr-list li.sm-addr-by:hover{background:none}

.gp-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:6px 0 10px;padding:10px 12px;border:1px solid #2C3136;border-radius:10px;background:linear-gradient(180deg,#14233a,#10151c)}
.gp-price small{color:#B4BAC1;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.gp-price b{color:#fff;font-size:26px;line-height:1;font-weight:800}
.gp-price span{flex-basis:100%;color:#7A828C;font-size:12px}
.gp-slot{margin:6px 0 10px}.gp-slot .gp-price{margin:0}
.gp-price.gp-shop{background:linear-gradient(180deg,#0b2a52,#0f1724);border-color:#0566D1}
.gp-items{margin-top:6px;border:1px solid #2C3136;border-radius:10px;background:#121417}
.gp-items summary{cursor:pointer;padding:9px 12px;color:#5CC0FF;font-size:13px;font-weight:600}
.gp-items ul{list-style:none;margin:0;padding:0 12px 10px}
.gp-items li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-top:1px solid #1f2328;color:#DDE1E5;font-size:13px}
.gp-items li::before{display:none!important}
.gp-items li em{color:#7A828C;font-style:normal;margin-left:4px}
.gp-items li b{color:#fff;white-space:nowrap}
.st-wrap{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:24px;align-items:start}
@media(max-width:860px){.st-wrap{grid-template-columns:1fr}}
.st-form label{display:block;margin:12px 0;color:#DDE1E5;font-weight:600;font-size:14px}
.st-form input{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:12px 14px;border-radius:10px;border:1px solid #3D434A;background:#0D0F12;color:#F5F6F7;font-size:16px}
.st-form button{width:100%;margin-top:8px}
.st-msg{min-height:1.2em;margin:10px 0 0;color:#B4BAC1}.st-msg.err{color:#ff9b8a}
.st-help{color:#7A828C;font-size:13px}
.st-card h2{margin:4px 0 6px}.st-what{color:#B4BAC1;margin:0 0 14px}
.st-steps{list-style:none;margin:16px 0;padding:0;display:grid;gap:10px}
.st-steps li{display:flex;align-items:center;gap:10px;color:#7A828C}
.st-steps li span{width:14px;height:14px;border-radius:50%;border:2px solid #3D434A;flex:none}
.st-steps li.done{color:#DDE1E5}.st-steps li.done span{background:#0566D1;border-color:#0566D1}
.st-steps li.now{color:#fff;font-weight:700}.st-steps li.now span{border-color:#5CC0FF;box-shadow:0 0 0 4px rgba(92,192,255,.2);background:#0499F7}
.st-shop,.st-total{color:#DDE1E5}.st-total b{font-size:20px;color:#fff}
.st-note{color:#B4BAC1;font-size:14px}.st-upd{color:#7A828C;font-size:12px}
.st-act{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}

.sm-btns{display:flex;flex-wrap:wrap;gap:10px}.sm-btns .fx-go{flex:1 1 220px;justify-content:center}
.sm-send.sm-send-alt{background:#1B1E23;border:1px solid #3D434A;box-shadow:none;color:#DDE1E5}
.sm-pay-note{color:#7A828C;font-size:13px;margin:8px 0 0}

.gp-grades{border:0;margin:0 0 8px;padding:0;display:grid;gap:6px}
.gp-grades legend{color:#B4BAC1;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px;padding:0}
.gp-grade{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #2C3136;border-radius:10px;background:#121417;cursor:pointer}
.gp-grade.on{border-color:#0499F7;background:linear-gradient(180deg,#0b2a52,#0f1724)}
.gp-grade input{accent-color:#0499F7;margin:0}
.gp-grade span{flex:1;display:flex;flex-direction:column}
.gp-grade b{color:#F5F6F7;font-size:14px}
.gp-grade small{color:#7A828C;font-size:12px}
.gp-grade em{font-style:normal;color:#fff;font-weight:700;white-space:nowrap}

.gp-perk{margin:8px 0 0;padding:10px 12px;border:1px solid #2C3136;border-left:3px solid #0499F7;border-radius:10px;background:#121417;display:flex;flex-direction:column;gap:2px}
.gp-perk b{color:#F5F6F7;font-size:13.5px}
.gp-perk span{color:#B4BAC1;font-size:12.5px}

.sm-confirm{margin-top:14px;padding:16px;border:1px solid #0566D1;border-radius:14px;background:linear-gradient(180deg,#0b2a52,#0f1724)}
.sm-confirm h3{margin:0 0 10px;color:#F5F6F7;font-size:18px}
.sm-confirm ul{list-style:none;margin:0;padding:0}
.sm-confirm li{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-top:1px solid #1f2a3a;font-size:14px}
.sm-confirm li::before{display:none!important}
.sm-confirm li span{color:#B4BAC1}
.sm-confirm li b{color:#fff;text-align:right}
.sm-confirm .sm-cf-perk b{color:#5CC0FF}
.sm-cf-note{color:#B4BAC1;font-size:13px;margin:10px 0 12px}

.sa-counties{margin:10px 0 0;color:#B4BAC1;font-size:14px}.sa-counties b{color:#F5F6F7}

.gp-perk a{color:#5CC0FF}
\n.sm-dist{margin:6px 0 0;padding:8px 12px;border:1px solid #2C3136;border-left:3px solid #0499F7;border-radius:10px;background:#121417;display:flex;flex-direction:column;gap:2px;font-size:13px}.sm-dist b{color:#F5F6F7}.sm-dist span{color:#B4BAC1}\n.gp-slot .gp-grades{display:flex!important;flex-direction:column;gap:6px}
.gp-slot .gp-grade{display:flex!important;align-items:center;width:100%!important;box-sizing:border-box}
.gp-slot .gp-grade em{margin-left:auto}

.gp-tier{display:inline-block;align-self:flex-start;font-style:normal;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:999px;margin-bottom:3px;border:1px solid #3D434A;color:#B4BAC1;background:#1B1E23}
.gp-tier-better{color:#5CC0FF;border-color:#0566D1;background:#0b2a52}
.gp-tier-best{color:#fff;border-color:#0499F7;background:linear-gradient(90deg,#0566D1,#0499F7)}

.gp-tname{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:15px}
.gp-tname.gp-tier-better{color:#5CC0FF}
.gp-tname.gp-tier-best{color:#fff;text-shadow:0 0 12px rgba(4,153,247,.55)}
.gp-tier-ultimate{color:#1a1205;border-color:#F5B43C;background:linear-gradient(90deg,#F5B43C,#FFD27A)}
.gp-tname.gp-tier-ultimate{color:#FFD27A;text-shadow:0 0 12px rgba(245,180,60,.5)}
.gp-badge{font-style:normal;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:999px;color:#fff;background:linear-gradient(90deg,#0566D1,#0499F7)}
