/*
Theme Name: OTOFIX KEYS
Author: OTOFIX KEYS
Description: Premium WooCommerce automotive keys and locksmith theme.
Version: 2.8.8
Text Domain: otofix
*/
:root{--bg:#050809;--panel:#091012;--panel2:#0d1518;--line:#263034;--line2:#354146;--text:#f5f6f6;--muted:#9da7ac;--orange:#ff7100;--orange2:#ff8a20;--radius:22px;--shadow:0 24px 70px rgba(0,0,0,.34)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.container{width:min(1380px,92%);margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(5,8,9,.90);border-bottom:1px solid rgba(72,83,88,.55);backdrop-filter:blur(18px)}.nav{min-height:78px;display:flex;align-items:center;gap:34px}.brand{display:flex;align-items:center;font-weight:900;font-size:24px;letter-spacing:-1px;white-space:nowrap}.brand-mark{width:52px;height:27px;border:4px solid var(--orange);border-radius:55% 45% 45% 55%;margin-right:13px;position:relative;transform:skew(-10deg)}.brand-mark:after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:var(--orange);right:3px;bottom:-7px}.brand .oto{color:var(--orange)}.brand small{font-size:13px;letter-spacing:4px;margin-left:10px}.site-nav{display:flex;gap:29px;margin-left:auto;align-items:center}.site-nav a{font-weight:700;color:#d8dddf;position:relative}.site-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--orange);transition:.25s}.site-nav a:hover{color:#fff}.site-nav a:hover:after{right:0}.cart{letter-spacing:1.6px;font-size:14px}.help-btn,.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:15px 26px;font-weight:900;transition:transform .2s,box-shadow .2s,border-color .2s}.help-btn,.btn-primary{background:var(--orange);color:#070707}.help-btn:hover,.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(255,113,0,.20)}.btn-outline{border:1px solid #687176}.btn-outline:hover{border-color:#fff;transform:translateY(-2px)}.mobile-menu{display:none;margin-left:auto;background:none;color:#fff;border:0;font-size:26px}
.hero{min-height:620px;padding:95px 0 65px;background:radial-gradient(circle at 76% 50%,rgba(255,113,0,.23),transparent 26%),linear-gradient(135deg,#040708 34%,#081114 100%);border-bottom:1px solid var(--line);overflow:hidden;position:relative}.hero:before{content:"";position:absolute;width:560px;height:560px;border:1px solid rgba(255,113,0,.20);border-radius:50%;right:-100px;top:55px;box-shadow:0 0 120px rgba(255,113,0,.08)}.hero:after{content:"";position:absolute;width:760px;height:210px;border:1px solid rgba(170,184,190,.18);border-radius:50%;right:-120px;bottom:-100px;transform:rotate(-6deg)}.hero .container{position:relative;z-index:2}.eyebrow,.section-no{font-size:13px;letter-spacing:3px;font-weight:900;text-transform:uppercase;color:var(--orange)}.hero h1{font-size:clamp(62px,7.5vw,118px);line-height:.84;letter-spacing:-6px;margin:26px 0}.hero h1 span{display:block;color:transparent;-webkit-text-stroke:1.4px var(--orange)}.hero p{font-size:20px;max-width:760px;color:#c2c8cb}.hero-actions{display:flex;gap:14px;margin-top:30px}
.finder-section{padding:68px 0 72px;border-bottom:1px solid var(--line)}.section-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:end;margin-bottom:34px}.section-intro h2,.shop-intro h2,.service-copy h2,.final-cta h2{font-size:clamp(46px,5.5vw,78px);line-height:.92;letter-spacing:-4px;margin:16px 0 0}.section-intro h2 span{color:#8e979b}.section-intro p{font-size:19px;color:var(--muted);max-width:520px;margin:0}
.otofix-finder-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:14px;padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,#0a1113,#070b0d);box-shadow:var(--shadow)}.otofix-finder-field label{display:block;font-size:12px;letter-spacing:2px;font-weight:900;color:#aeb6ba;margin:0 0 10px 4px}.otofix-finder-field select{width:100%;height:68px;border:1px solid #293438;border-radius:16px;background:#060a0c;color:#fff;padding:0 18px;font-size:17px;outline:none;transition:border-color .2s,box-shadow .2s}.otofix-finder-field select:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,113,0,.10)}.otofix-finder-field select:disabled{color:#687176}.otofix-finder-button{align-self:end;height:68px;border:0;border-radius:16px;background:var(--orange);font-weight:900;font-size:15px;padding:0 32px;cursor:pointer;transition:.2s}.otofix-finder-button:hover{background:var(--orange2);transform:translateY(-2px)}
.shop-section{padding:72px 0 62px}.shop-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:32px}.shop-intro h2{max-width:650px}.text-link{color:var(--orange);font-weight:900;font-size:17px}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.cat-card{min-height:210px;border:1px solid var(--line);border-radius:20px;padding:25px;background:linear-gradient(145deg,#0d1417,#070b0d);display:flex;flex-direction:column;justify-content:flex-end;transition:.25s;position:relative;overflow:hidden}.cat-card:after{content:"→";position:absolute;right:24px;top:22px;color:#5c676b;font-size:20px;transition:.25s}.cat-card:hover{transform:translateY(-5px);border-color:#7b3c0a;box-shadow:0 20px 55px rgba(0,0,0,.28)}.cat-card:hover:after{color:var(--orange);transform:translateX(3px)}.cat-icon{font-size:30px;color:var(--orange);margin-bottom:auto}.cat-card h3{font-size:25px;margin:8px 0 5px}.cat-card p{color:var(--muted);margin:0;max-width:330px}
.featured{padding:34px 0 72px}.featured h2{font-size:clamp(38px,4vw,56px);letter-spacing:-2px;margin:0 0 26px}.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.woocommerce ul.products:before,.woocommerce ul.products:after{display:none}.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;background:linear-gradient(145deg,#0b1214,#070b0d);border:1px solid var(--line);border-radius:20px;padding:16px;transition:.25s;overflow:hidden}.woocommerce ul.products li.product:hover{transform:translateY(-4px);border-color:#4a5559;box-shadow:var(--shadow)}.woocommerce ul.products li.product img{border-radius:14px;background:#fff;margin-bottom:16px!important;aspect-ratio:1/1;object-fit:cover}.woocommerce ul.products li.product .woocommerce-loop-product__title{color:#fff;font-size:18px;line-height:1.25;padding:0!important}.woocommerce ul.products li.product .price{color:var(--orange)!important;font-weight:900;font-size:17px!important}.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:var(--orange)!important;color:#070707!important;border-radius:999px!important;font-weight:900!important;padding:13px 20px!important}
.service-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:78px 0;background:radial-gradient(circle at 14% 48%,rgba(255,113,0,.13),transparent 24%)}.service-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:65px;align-items:center}.service-copy p{font-size:19px;color:var(--muted);max-width:610px}.service-list{display:grid;grid-template-columns:1fr 1fr;gap:13px}.service-item{border:1px solid var(--line);border-radius:18px;padding:23px;background:linear-gradient(145deg,#0b1214,#080c0e);min-height:142px;transition:.2s}.service-item:hover{border-color:#465156;transform:translateY(-3px)}.service-item b{display:block;font-size:19px;margin-bottom:7px}.service-item span{color:var(--muted)}
.trust{padding:52px 0}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.trust-card{padding:23px 24px;border-top:2px solid var(--orange);background:var(--panel)}.trust-card strong{display:block;font-size:18px;margin-bottom:7px}.trust-card span{color:var(--muted);font-size:15px}
.final-cta{padding:72px 0 78px;text-align:center;background:linear-gradient(180deg,#050809,#10100d)}.final-cta h2{margin-top:14px}.final-cta p{color:var(--muted);font-size:19px;margin:18px 0 26px}.site-footer{border-top:1px solid var(--line);padding:44px 0 30px;color:var(--muted);background:#040708}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px}.site-footer h4{color:#fff;margin-top:4px}.site-footer a{display:block;margin:9px 0;transition:.2s}.site-footer a:not(.brand):hover{color:var(--orange);transform:translateX(2px)}.site-footer p{max-width:500px}.copyright{border-top:1px solid var(--line);margin-top:30px;padding-top:22px;font-size:13px}
.woo-main{padding:52px 0;min-height:65vh}.woocommerce .woocommerce-result-count{color:var(--muted)}.woocommerce .woocommerce-ordering select{background:var(--panel);color:#fff;border:1px solid var(--line);border-radius:14px;padding:13px}.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--orange)}
@media(max-width:1100px){.nav{gap:22px}.site-nav{gap:20px}.site-nav a{font-size:14px}.help-btn{padding:14px 20px}.brand small{letter-spacing:3px}}
@media(max-width:900px){.site-nav{display:none}.site-nav.open{display:flex;position:absolute;top:78px;left:0;right:0;background:#070b0d;flex-direction:column;align-items:flex-start;padding:25px;border-bottom:1px solid var(--line)}.mobile-menu{display:block}.cart{margin-left:0}.hero{min-height:auto;padding:78px 0 58px}.hero h1{letter-spacing:-4px}.hero:before{right:-300px}.section-intro,.service-grid{grid-template-columns:1fr;gap:20px}.otofix-finder-form{grid-template-columns:1fr}.category-grid{grid-template-columns:1fr 1fr}.woocommerce ul.products{grid-template-columns:1fr 1fr!important}.trust-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr}.shop-head{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.container{width:91%}.nav{min-height:70px;gap:14px}.brand{font-size:20px}.brand-mark{width:43px;height:23px;border-width:3px;margin-right:10px}.brand small{font-size:11px;letter-spacing:2px;margin-left:7px}.help-btn{display:none}.cart{font-size:12px}.mobile-menu{font-size:23px}.site-nav.open{top:70px}.hero{padding:66px 0 52px}.hero h1{font-size:58px;letter-spacing:-3px;margin:22px 0}.hero p{font-size:17px}.hero-actions{flex-direction:column;align-items:stretch}.section-intro h2,.shop-intro h2,.service-copy h2,.final-cta h2{letter-spacing:-2px}.finder-section{padding:50px 0 55px}.otofix-finder-form{padding:16px}.otofix-finder-field select,.otofix-finder-button{height:60px}.shop-section{padding:56px 0 45px}.category-grid,.service-list,.trust-grid,.woocommerce ul.products{grid-template-columns:1fr!important}.cat-card{min-height:180px}.featured{padding:25px 0 58px}.service-section{padding:60px 0}.final-cta{padding:60px 0 65px}}
@media(prefers-reduced-motion:no-preference){.hero .container,.finder-section .container,.shop-section .container,.service-section .container,.trust .container,.final-cta .container{animation:otofixFade .55s ease both}@keyframes otofixFade{from{opacity:.35;transform:translateY(8px)}to{opacity:1;transform:none}}}


/* v1.7 production refinement */
:root{--content:1460px}.container{width:min(var(--content),92%)}
.nav{min-height:72px}.brand{font-size:23px}.site-nav{gap:26px}.help-btn{padding:13px 24px}
.hero{min-height:590px;padding:82px 0 58px;background:radial-gradient(circle at 78% 48%,rgba(255,113,0,.19),transparent 27%),linear-gradient(135deg,#040708 32%,#081114 100%)}
.hero .container{display:grid;grid-template-columns:minmax(0,.98fr) minmax(420px,.72fr);align-items:center;gap:48px}.hero-copy{position:relative;z-index:3}.hero h1{font-size:clamp(64px,6.7vw,106px);margin:24px 0 22px}.hero p{font-size:19px;max-width:760px}.hero-visual{min-height:430px;position:relative;display:grid;place-items:center}.hero-visual:before{content:"";position:absolute;width:min(34vw,470px);aspect-ratio:1;border:1px solid rgba(255,113,0,.30);border-radius:50%;background:radial-gradient(circle at 46% 46%,rgba(255,113,0,.18),rgba(255,113,0,.04) 45%,transparent 67%);box-shadow:0 0 100px rgba(255,113,0,.10)}
.hero-key{position:relative;width:min(31vw,420px);aspect-ratio:1.15;filter:drop-shadow(0 34px 44px rgba(0,0,0,.48));transform:rotate(-9deg)}.hero-key-body{position:absolute;inset:13% 16% 17% 10%;border-radius:45% 55% 48% 52%/55% 48% 52% 45%;background:linear-gradient(145deg,#2a3032 0%,#0a0d0e 42%,#171c1e 75%,#050708 100%);border:1px solid #495156;box-shadow:inset 12px 14px 25px rgba(255,255,255,.06),inset -14px -18px 30px #000,0 0 0 7px rgba(0,0,0,.18)}.hero-key-body:before{content:"";position:absolute;inset:8%;border-radius:inherit;border:1px solid rgba(255,113,0,.36)}.hero-key-screen{position:absolute;left:29%;top:25%;width:40%;height:22%;border-radius:12px;background:linear-gradient(160deg,#151b1d,#050708);border:1px solid #313b3f;box-shadow:inset 0 0 22px rgba(255,113,0,.08)}.hero-key-button{position:absolute;width:16%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 38% 32%,#394144,#111516 56%,#050708);border:1px solid #4b5559;box-shadow:0 5px 12px #000}.hero-key-button.one{left:27%;top:57%}.hero-key-button.two{left:47%;top:57%}.hero-key-button.three{left:37%;top:75%;width:13%}.hero-key-ring{position:absolute;right:2%;bottom:9%;width:26%;aspect-ratio:1;border:15px solid #171c1e;border-radius:50%;box-shadow:inset 0 0 0 1px #51595c,0 10px 20px #000}.hero-key-glint{position:absolute;right:19%;top:19%;width:27%;height:2px;background:linear-gradient(90deg,transparent,var(--orange),transparent);box-shadow:0 0 18px var(--orange);transform:rotate(-24deg)}
.finder-section{padding:58px 0 62px}.shop-section{padding:62px 0 52px}.featured{padding:28px 0 62px}.service-section{padding:68px 0}.trust{padding:44px 0}.final-cta{padding:62px 0 68px}.site-footer{padding:40px 0 28px}
.category-grid{gap:18px}.cat-card{min-height:200px;padding:27px}.cat-card:hover{border-color:rgba(255,113,0,.65);box-shadow:0 22px 60px rgba(0,0,0,.34),0 0 0 1px rgba(255,113,0,.08)}
.featured .products{align-items:stretch}.woocommerce ul.products li.product{display:flex;flex-direction:column}.woocommerce ul.products li.product .button{align-self:flex-start;margin-top:auto!important}.woocommerce ul.products li.product img{transition:transform .35s ease}.woocommerce ul.products li.product:hover img{transform:scale(1.025)}
.service-section{position:relative;overflow:hidden}.service-section:after{content:"";position:absolute;right:-130px;top:-210px;width:520px;height:520px;border:1px solid rgba(255,113,0,.14);border-radius:50%;pointer-events:none}.service-item{position:relative;overflow:hidden}.service-item:after{content:"→";position:absolute;right:20px;top:18px;color:#536064;transition:.2s}.service-item:hover:after{color:var(--orange);transform:translateX(3px)}
.trust-card{transition:.22s}.trust-card:hover{transform:translateY(-3px);background:#0c1416}
@media(max-width:1100px){.hero .container{grid-template-columns:1fr .62fr}.hero-visual{min-height:360px}.hero-key{width:min(36vw,350px)}}
@media(max-width:900px){.hero .container{grid-template-columns:1fr}.hero-visual{display:none}.hero{padding:72px 0 56px}.finder-section,.shop-section,.service-section{padding-top:54px;padding-bottom:56px}}
@media(max-width:620px){.hero{padding:58px 0 48px}.hero h1{font-size:56px}.finder-section,.shop-section,.service-section{padding-top:46px;padding-bottom:48px}.final-cta{padding:52px 0 56px}}


/* v1.8 service-first conversion architecture */
.hero-service-note{display:flex;align-items:center;gap:10px;margin-top:20px;color:#c9ced0;font-size:14px;font-weight:700}
.hero-service-note:before{content:"";width:28px;height:2px;background:var(--orange);display:block}
.hero-actions .btn-service{background:var(--orange);color:#070707}
.service-section.service-first{border-top:0;padding:70px 0 66px;background:
radial-gradient(circle at 14% 42%,rgba(255,113,0,.15),transparent 25%),
linear-gradient(180deg,#06090a,#050809)}
.service-first .service-grid{align-items:start}
.service-kicker{display:inline-flex;align-items:center;gap:9px;color:var(--orange);font-size:12px;letter-spacing:2px;font-weight:900;text-transform:uppercase;margin-bottom:14px}
.service-kicker:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 14px rgba(255,113,0,.55)}
.service-first .service-copy h2{font-size:clamp(50px,5.7vw,82px);max-width:650px}
.service-first .service-copy p{max-width:650px}
.service-urgency{margin:25px 0 28px;padding:16px 18px;border-left:2px solid var(--orange);background:rgba(255,113,0,.055);color:#c9ced0;max-width:610px}
.service-list .service-item{min-height:158px;padding:26px}
.service-list .service-item b{font-size:21px}
.service-list .service-item span{display:block;max-width:300px}
.service-list .service-item:first-child{border-color:rgba(255,113,0,.48);box-shadow:inset 0 0 0 1px rgba(255,113,0,.03)}
.service-list .service-item:first-child:before{content:"URGENT HELP";display:block;color:var(--orange);font-size:10px;letter-spacing:1.8px;font-weight:900;margin-bottom:13px}
.trust.service-trust{padding:38px 0 44px;border-bottom:1px solid var(--line);background:#05090a}
.service-trust .trust-card{min-height:112px}
.finder-section{padding-top:66px}
.shop-section{padding-top:68px}
.final-cta .cta-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.final-cta .btn-outline{background:transparent}
@media(max-width:900px){
 .service-section.service-first{padding:54px 0 56px}
 .service-first .service-copy h2{font-size:clamp(48px,10vw,72px)}
 .service-urgency{margin-top:20px}
}
@media(max-width:620px){
 .hero-service-note{font-size:13px}
 .service-section.service-first{padding:46px 0 48px}
 .service-list .service-item{min-height:145px}
 .trust.service-trust{padding:32px 0 36px}
}


/* v1.9 — contact conversion */
.enquiry-section{border-top:1px solid var(--line);padding:clamp(72px,8vw,120px) 0;background:radial-gradient(circle at 10% 20%,rgba(255,113,0,.08),transparent 30%),var(--bg)}
.otofix-enquiry-wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(36px,6vw,90px);align-items:start}
.otofix-enquiry-copy h2{font-size:clamp(42px,5vw,76px);line-height:.96;margin:18px 0 24px;letter-spacing:-.045em}
.otofix-enquiry-copy p{color:var(--muted);font-size:clamp(18px,1.5vw,23px);line-height:1.55;max-width:620px}
.otofix-direct-contact{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.otofix-enquiry-panel{background:linear-gradient(180deg,rgba(12,19,21,.96),rgba(7,12,14,.96));border:1px solid var(--line);border-radius:28px;padding:clamp(24px,3vw,42px);box-shadow:0 28px 80px rgba(0,0,0,.25)}
.otofix-enquiry-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.otofix-enquiry-form label{display:flex;flex-direction:column;gap:9px;color:#dce1e3;font-weight:700;font-size:14px;letter-spacing:.04em}
.otofix-enquiry-form label span small{font-weight:500;color:var(--muted)}
.otofix-enquiry-form input,.otofix-enquiry-form textarea{width:100%;box-sizing:border-box;background:#05090a;color:var(--text);border:1px solid #2b373b;border-radius:15px;padding:16px 17px;font:inherit;outline:none;transition:border-color .2s,box-shadow .2s}
.otofix-enquiry-form textarea{resize:vertical;min-height:145px}
.otofix-enquiry-form input:focus,.otofix-enquiry-form textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,113,0,.1)}
.otofix-enquiry-form .message-field{grid-column:1/-1}
.otofix-enquiry-form .year-field{max-width:220px}
.form-privacy{color:var(--muted);font-size:13px;line-height:1.5;margin:20px 0}
.enquiry-submit{border:0;cursor:pointer}
.form-notice{padding:14px 16px;border-radius:12px;margin-bottom:20px;font-weight:700}
.form-notice.success{border:1px solid rgba(255,113,0,.55);background:rgba(255,113,0,.09)}
.form-notice.error{border:1px solid #7b3b2f;background:rgba(123,59,47,.15)}
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.mobile-contact-bar{display:none}
@media(max-width:900px){
  .otofix-enquiry-wrap{grid-template-columns:1fr}
  .mobile-contact-bar{position:fixed;display:grid;grid-template-columns:1fr 1fr 1fr;left:12px;right:12px;bottom:12px;z-index:9999;background:#080d0f;border:1px solid #344044;border-radius:16px;overflow:hidden;box-shadow:0 12px 45px rgba(0,0,0,.55)}
  .mobile-contact-bar a{padding:14px 8px;text-align:center;color:#fff;text-decoration:none;font-weight:800;font-size:14px;border-right:1px solid #344044}
  .mobile-contact-bar a:last-child{border-right:0;background:var(--orange);color:#080808}
  body{padding-bottom:72px}
}
@media(max-width:560px){
  .otofix-enquiry-form .form-grid{grid-template-columns:1fr}
  .otofix-enquiry-form .message-field{grid-column:auto}
  .otofix-enquiry-form .year-field{max-width:none}
  .otofix-direct-contact .button{width:100%;text-align:center}
}


/* v2.0 — mobile locksmith conversion + Greater Manchester coverage */
.otofix-enquiry-form select{
  width:100%;box-sizing:border-box;background:#05090a;color:var(--text);
  border:1px solid #2b373b;border-radius:15px;padding:16px 17px;font:inherit;
  outline:none;min-height:54px
}
.otofix-enquiry-form select:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,113,0,.1)}
.otofix-enquiry-form .service-field{grid-column:1/-1}
.urgent-contact-note{margin-top:22px!important;font-size:15px!important;max-width:620px;color:#d7dcde!important}
.otofix-enquiry-form .enquiry-submit,
.otofix-enquiry-panel button.enquiry-submit{
  appearance:none;-webkit-appearance:none;background:var(--orange)!important;color:#080808!important;
  border:1px solid var(--orange)!important;border-radius:999px!important;padding:16px 25px!important;
  min-height:54px;font-weight:800!important;font-size:16px!important;line-height:1!important;
  display:inline-flex!important;align-items:center;justify-content:center;cursor:pointer
}
.otofix-enquiry-form .enquiry-submit:hover{transform:translateY(-1px);filter:brightness(1.04)}
.service-area-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(70px,8vw,115px) 0;background:linear-gradient(90deg,rgba(255,113,0,.055),transparent 45%)}
.service-area-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(35px,7vw,110px);align-items:start}
.service-area-section h2{font-size:clamp(48px,6vw,88px);line-height:.95;letter-spacing:-.05em;margin:18px 0 0}
.service-area-copy p{font-size:clamp(18px,1.5vw,23px);line-height:1.55;color:var(--muted);margin:0 0 18px}
.area-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.area-chips span{border:1px solid #344044;border-radius:999px;padding:10px 15px;color:#e8ebec;font-weight:700;font-size:14px}
.footer-contact-v20{margin-top:28px;padding-top:24px;border-top:1px solid var(--line);display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.footer-contact-v20 h3{margin:0 10px 0 0;color:#fff}
.footer-contact-v20 p{margin:0;color:var(--muted)}
.footer-contact-v20 a{color:var(--orange);font-weight:800;text-decoration:none}
@media(max-width:900px){
  .service-area-grid{grid-template-columns:1fr}
}

/* v2.1 — dedicated locksmith service pages */
.airport-specialist-section{padding:clamp(55px,6vw,90px) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.airport-specialist-card{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;border:1px solid rgba(255,113,0,.45);border-radius:28px;padding:clamp(28px,4vw,54px);background:radial-gradient(circle at 15% 40%,rgba(255,113,0,.12),transparent 35%),#080d0f}
.airport-specialist-card h2{font-size:clamp(38px,4vw,66px);line-height:1;margin:14px 0 18px;letter-spacing:-.04em}
.airport-specialist-card p{max-width:900px;color:var(--muted);font-size:19px;line-height:1.55}
.service-page-hero{padding:clamp(90px,10vw,150px) 0;border-bottom:1px solid var(--line);background:radial-gradient(circle at 12% 40%,rgba(255,113,0,.11),transparent 32%)}
.service-page-hero-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:clamp(45px,8vw,120px);align-items:center}
.service-page h1{font-size:clamp(58px,7vw,112px);line-height:.9;letter-spacing:-.055em;margin:18px 0 28px;max-width:1100px}
.service-lead{font-size:clamp(20px,1.8vw,28px);line-height:1.5;color:var(--muted);max-width:900px}
.service-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}
.service-summary-card,.service-enquiry-card{border:1px solid var(--line);border-radius:26px;padding:clamp(26px,3vw,42px);background:#080d0f}
.service-summary-card h2{font-size:38px;margin:12px 0}
.service-summary-card p{color:var(--muted);line-height:1.6}
.service-summary-card a{color:var(--orange);font-weight:800;text-decoration:none}
.service-page-body{padding:clamp(70px,8vw,120px) 0}
.service-content-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,7vw,100px);align-items:start}
.service-content-grid>div>h2{font-size:clamp(42px,5vw,72px);line-height:.98;letter-spacing:-.045em;margin:15px 0 24px}
.service-content-grid>div>p{color:var(--muted);font-size:20px;line-height:1.65}
.security-note,.airport-callout,.before-booking{margin-top:28px;padding:24px;border-left:2px solid var(--orange);background:rgba(255,113,0,.06)}
.security-note p,.airport-callout p,.before-booking p{color:var(--muted);line-height:1.6;margin-bottom:0}
.airport-callout h3,.before-booking h3{font-size:27px;margin:10px 0}
.service-enquiry-card .otofix-enquiry-wrap{display:block}
.service-enquiry-card .otofix-enquiry-copy{display:none}
.service-enquiry-card>h2{font-size:38px;margin:12px 0 28px}
.service-enquiry-card .otofix-enquiry-panel{padding:0;border:0;background:none;box-shadow:none}
@media(max-width:900px){
 .airport-specialist-card,.service-page-hero-grid,.service-content-grid{grid-template-columns:1fr}
 .airport-specialist-card .button{justify-self:start}
}

/* v2.1.1 hotfix */
.service-list a.service-item{color:inherit;text-decoration:none;display:block;width:100%}


/* v2.2 dedicated service-page journey */
.service-detail-points{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:34px 0}.service-detail-point{border:1px solid var(--line);border-radius:18px;padding:22px;background:linear-gradient(145deg,#0b1214,#070b0d)}.service-detail-point strong{display:block;font-size:18px;margin-bottom:8px}.service-detail-point span{color:var(--muted);font-size:15px;line-height:1.55}.related-services{padding:70px 0 90px;border-top:1px solid var(--line)}.related-services-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:28px}.related-services h2{font-size:clamp(38px,4vw,58px);letter-spacing:-.04em;line-height:1;margin:12px 0 0}.related-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.related-service-card{border:1px solid var(--line);border-radius:18px;padding:23px;min-height:150px;background:linear-gradient(145deg,#0b1214,#070b0d);position:relative;transition:.2s}.related-service-card:after{content:'→';position:absolute;right:20px;top:18px;color:#667176}.related-service-card:hover{border-color:#7b3c0a;transform:translateY(-3px)}.related-service-card h3{font-size:20px;margin:32px 0 8px}.related-service-card p{color:var(--muted);margin:0;font-size:15px}.airport-prep-list{display:grid;gap:10px;margin:24px 0 0;padding:0;list-style:none}.airport-prep-list li{padding:14px 16px;border:1px solid var(--line);border-radius:14px;color:#cbd0d2;background:#081012}.airport-prep-list li:before{content:'✓';color:var(--orange);font-weight:900;margin-right:10px}.service-page .otofix-enquiry-wrap{display:block}.service-page .otofix-enquiry-copy{display:none}.service-page .otofix-enquiry-panel{width:100%}
@media(max-width:900px){.service-detail-points{grid-template-columns:1fr}.related-service-grid{grid-template-columns:1fr 1fr}.related-services-head{display:block}}
@media(max-width:560px){.related-service-grid{grid-template-columns:1fr}}


/* v2.3.0 — before-attendance checks + restrained direct-contact styling */
.service-direct-links{display:flex;gap:26px;flex-wrap:wrap;margin-top:32px}
.service-direct-links a{color:var(--orange);font-weight:800;text-decoration:none;font-size:16px}
.service-direct-links a:hover{text-decoration:underline;text-underline-offset:5px}
.before-attend-section{padding:clamp(58px,6vw,90px) 0;border-bottom:1px solid var(--line);background:rgba(255,255,255,.012)}
.before-attend-card{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(35px,7vw,100px);border:1px solid var(--line);border-radius:28px;padding:clamp(28px,4vw,52px);background:#080d0f}
.before-attend-card h2{font-size:clamp(38px,4.5vw,66px);line-height:1;letter-spacing:-.04em;margin:14px 0 0}
.before-attend-copy p{color:var(--muted);font-size:17px;line-height:1.65;margin:0 0 16px}
.before-attend-copy strong{color:#fff}
@media(max-width:900px){.before-attend-card{grid-template-columns:1fr}}


/* v2.4 — airport-specific workflow */
.airport-enquiry-form .form-grid{align-items:start}
.airport-enquiry-form input[type="date"],
.airport-enquiry-form input[type="time"]{min-height:54px}

/* v2.4.1 form submission feedback */
.airport-enquiry-form .enquiry-submit[disabled]{opacity:.7;cursor:wait}
.form-notice.success{border:1px solid rgba(70,190,120,.45);padding:16px 18px;border-radius:14px;margin-bottom:20px}
.form-notice.error{border:1px solid rgba(255,113,0,.45);padding:16px 18px;border-radius:14px;margin-bottom:20px}

/* v2.4.2 — consistent submission feedback for every OTOFIX enquiry form */
.otofix-enquiry-form .enquiry-submit[disabled]{opacity:.7;cursor:wait}

/* v2.4.3 — airport CTA + cursor correction */
.airport-promo a,
.airport-assistance a,
.airport-key-assistance a,
a[href*="airport"][class*="link"],
a[href*="airport"][class*="cta"]{
  color:#ff7100 !important;
}
.airport-promo a:hover,
.airport-assistance a:hover,
.airport-key-assistance a:hover,
a[href*="airport"][class*="link"]:hover,
a[href*="airport"][class*="cta"]:hover{
  color:#ff8a2b !important;
}

/* Never show a prohibited/unavailable cursor on usable site controls. */
a[href],
button:not(:disabled),
input:not(:disabled),
select:not(:disabled),
textarea:not(:disabled),
label,
summary{
  cursor:pointer;
}
input[type="text"]:not(:disabled),
input[type="email"]:not(:disabled),
input[type="tel"]:not(:disabled),
input[type="number"]:not(:disabled),
input[type="date"]:not(:disabled),
input[type="time"]:not(:disabled),
textarea:not(:disabled){
  cursor:text;
}
select:not(:disabled){cursor:pointer;}


.airport-plan-link{color:#ff7100 !important;cursor:pointer !important}.airport-plan-link:hover{color:#ff8a2b !important}

/* v2.4.4 submission feedback */
.otofix-submit-status{margin-top:14px;min-height:1.5em;font-size:.95rem}
.otofix-submit-status.is-error{color:#ff8a2b}
.otofix-submit-status.is-success{color:inherit}

.otofix-ajax-status{margin-top:16px;padding:14px 16px;border-radius:12px;display:none}.otofix-ajax-status.is-success,.otofix-ajax-status.is-error{display:block}.otofix-ajax-status.is-success{border:1px solid rgba(70,190,120,.45)}.otofix-ajax-status.is-error{border:1px solid rgba(255,113,0,.55)}

/* v2.5.1 cursor correction */
button:disabled,input:disabled,select:disabled,textarea:disabled,[aria-disabled="true"]{cursor:default!important}
.otofix-enquiry-form input:not(:disabled),.otofix-enquiry-form textarea:not(:disabled){cursor:text!important}
.otofix-enquiry-form select:not(:disabled),.otofix-enquiry-form button:not(:disabled),a[href]{cursor:pointer!important}
.otofix-enquiry-form [aria-busy="true"]{cursor:progress!important}


/* v2.5.3 — premium outlined service links + final cursor correction */
.service-direct-links{
  gap:14px;
}
.service-direct-links a,
.airport-specialist-card > a.button{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:14px 24px !important;
  border:2px solid #667176 !important;
  border-radius:999px !important;
  background:transparent !important;
  color:#f5f5f2 !important;
  text-decoration:none !important;
  font-weight:800 !important;
  line-height:1.1;
  cursor:pointer !important;
  transition:border-color .2s ease,color .2s ease,background .2s ease,transform .2s ease;
}
.service-direct-links a:hover,
.airport-specialist-card > a.button:hover{
  border-color:#ff7100 !important;
  color:#ff7100 !important;
  background:rgba(255,113,0,.055) !important;
  transform:translateY(-1px);
  text-decoration:none !important;
}

/* WhatsApp and telephone anchors must always remain ordinary clickable links. */
.service-direct-links a[href^="tel:"],
.service-direct-links a[href*="wa.me"],
.service-direct-links a[href*="whatsapp.com"]{
  pointer-events:auto !important;
  cursor:pointer !important;
}

/* Do not globally recolour tel/WhatsApp links: filled orange CTA buttons keep dark text. */
.button-primary[href^="tel:"],
.button-primary[href*="wa.me"],
.button-primary[href*="whatsapp.com"]{
  color:#080808 !important;
  cursor:pointer !important;
}

@media(max-width:560px){
  .service-direct-links a{width:100%}
  .airport-specialist-card > a.button{width:100%;margin-top:18px}
}

/* v2.5.4 — consistent outlined oval secondary CTAs */
.airport-specialist-card > a.button,
.otofix-direct-contact .button,
.service-whatsapp-cta {
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:14px 24px !important;
  border:2px solid #667176 !important;
  border-radius:999px !important;
  background:transparent !important;
  color:#f5f5f2 !important;
  text-decoration:none !important;
  font-weight:800 !important;
  line-height:1.1 !important;
  cursor:pointer !important;
  pointer-events:auto !important;
  transition:border-color .2s ease,color .2s ease,background .2s ease,transform .2s ease;
}
.airport-specialist-card > a.button:hover,
.otofix-direct-contact .button:hover,
.service-whatsapp-cta:hover {
  border-color:#ff7100 !important;
  color:#ff7100 !important;
  background:rgba(255,113,0,.055) !important;
  transform:translateY(-1px);
}
/* Keep the enquiry Call button outlined too, rather than inheriting filled-primary styling. */
.otofix-direct-contact .button-primary {
  background:transparent !important;
  color:#f5f5f2 !important;
}
/* Explicit cursor protection for every WhatsApp anchor. */
a[href*="wa.me"],
a[href*="whatsapp.com"],
.service-whatsapp-cta {
  cursor:pointer !important;
  pointer-events:auto !important;
}
@media(max-width:560px){
  .otofix-direct-contact .button{width:100%}
}

/* v2.5.5 — match homepage locksmith Call + WhatsApp as outlined oval CTAs */
.service-copy > a.btn[href^="tel:"],
.service-copy > a.service-whatsapp-cta,
.otofix-direct-contact > a.button {
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:14px 24px !important;
  border:2px solid #667176 !important;
  border-radius:999px !important;
  background:transparent !important;
  color:#f5f5f2 !important;
  text-decoration:none !important;
  font-weight:800 !important;
  line-height:1.1 !important;
  cursor:pointer !important;
  pointer-events:auto !important;
  transition:border-color .2s ease,color .2s ease,background .2s ease,transform .2s ease;
}
.service-copy > a.btn[href^="tel:"]:hover,
.service-copy > a.service-whatsapp-cta:hover,
.otofix-direct-contact > a.button:hover {
  border-color:#ff7100 !important;
  color:#ff7100 !important;
  background:rgba(255,113,0,.055) !important;
  transform:translateY(-1px);
}


/* v2.5.6 — final contact-link interaction protection */
a[href^="tel:"],
a[href^="https://wa.me/"],
a[href*="api.whatsapp.com"],
a[href*="whatsapp.com/send"] {
  pointer-events: auto !important;
  cursor: pointer !important;
  position: relative;
  z-index: 20;
}


/* v2.6.0 launch-brand integration */
.brand-logo{display:block;width:clamp(210px,18vw,285px);height:auto}.site-footer .brand-logo{width:270px;max-width:100%}.brand{line-height:0}.nav>.brand{flex:0 0 auto}.trust-grid{grid-template-columns:repeat(5,1fr)}.trust-card.sermi-approved{border-top-color:#8fbe2a;background:linear-gradient(145deg,#10180d,#091012)}.trust-card.sermi-approved strong{letter-spacing:.04em}.trust-card.sermi-approved span{display:block}.sermi-kicker{display:inline-block;margin-bottom:8px;color:#a9d64c;font-size:11px;font-weight:900;letter-spacing:2px;text-transform:uppercase}.before-booking{border-color:rgba(255,113,0,.35)}
@media(max-width:1100px){.trust-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.brand-logo{width:230px}.trust-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.brand-logo{width:188px}.trust-grid{grid-template-columns:1fr}.site-footer .brand-logo{width:230px}}

/* v2.7.0 legal footer */
.legal-links{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.10)}
.legal-links a{font-size:13px;color:#f4f4f4;text-decoration:none}
.legal-links a:hover{color:#ff6a00}
.company-disclosure{margin-top:14px;max-width:1000px;font-size:12px;line-height:1.65;color:#9d9d9d}
.company-disclosure a{color:#cfcfcf}
.page .entry-content h2{margin-top:30px}
.page .entry-content ul{padding-left:22px}

/* v2.8.0 cookie consent */
.otofix-cookie-banner{position:fixed;z-index:99990;left:18px;right:18px;bottom:18px;max-width:1180px;margin:auto;padding:20px 22px;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:#111518;box-shadow:0 18px 60px rgba(0,0,0,.55);display:flex;align-items:center;justify-content:space-between;gap:24px;color:#f4f4f4}.otofix-cookie-banner[hidden],.otofix-cookie-modal[hidden]{display:none!important}.otofix-cookie-copy{max-width:690px}.otofix-cookie-copy strong{display:block;font-size:18px;margin-bottom:6px}.otofix-cookie-copy p{margin:0 0 7px;color:#c7c7c7;line-height:1.55}.otofix-cookie-copy a,.cookie-settings-link{color:#ff6a00;text-decoration:none}.otofix-cookie-actions,.otofix-cookie-panel-actions{display:flex;flex-wrap:wrap;gap:10px}.otofix-cookie-btn{appearance:none;border:1px solid #70777b;border-radius:999px;background:transparent;color:#f4f4f4;padding:11px 16px;font-weight:800;cursor:pointer}.otofix-cookie-btn:hover{border-color:#ff6a00;color:#ff6a00}.otofix-cookie-btn.is-primary{border-color:#ff6a00;background:#ff6a00;color:#090909}.otofix-cookie-modal{position:fixed;z-index:99999;inset:0;background:rgba(0,0,0,.72);display:grid;place-items:center;padding:20px}.otofix-cookie-panel{position:relative;width:min(620px,100%);max-height:90vh;overflow:auto;border:1px solid rgba(255,255,255,.14);border-radius:20px;background:#101416;padding:28px;color:#f4f4f4;box-shadow:0 24px 80px rgba(0,0,0,.65)}.otofix-cookie-panel h2{margin:5px 0 8px}.otofix-cookie-panel>p{color:#bfc3c5}.otofix-cookie-close{position:absolute;right:16px;top:12px;border:0;background:transparent;color:#fff;font-size:30px;cursor:pointer}.otofix-cookie-choice{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0;border-top:1px solid rgba(255,255,255,.1)}.otofix-cookie-choice strong,.otofix-cookie-choice span{display:block}.otofix-cookie-choice span{margin-top:4px;color:#aeb4b6;font-size:13px;line-height:1.45}.otofix-cookie-choice input{width:22px;height:22px;accent-color:#ff6a00;flex:0 0 auto}.otofix-always-on{color:#a9d64c!important;font-weight:800;white-space:nowrap}.otofix-cookie-panel-actions{justify-content:flex-end;margin-top:10px}.otofix-cookie-open{overflow:hidden}.cookie-settings-link{font-size:13px;cursor:pointer}
@media(max-width:760px){.otofix-cookie-banner{left:10px;right:10px;bottom:10px;align-items:stretch;flex-direction:column;padding:18px}.otofix-cookie-actions{display:grid;grid-template-columns:1fr}.otofix-cookie-btn{width:100%}.otofix-cookie-panel{padding:24px 18px}.otofix-cookie-panel-actions{display:grid;grid-template-columns:1fr}.otofix-cookie-choice{align-items:flex-start}}


/* v2.8.5 — WooCommerce Cart Block delivery-options note */
.otofix-cart-delivery-note {
    margin: 8px 0 14px;
    font-size: 13px;
    line-height: 1.45;
    opacity: 0.72;
}


/* v2.8.6 — WooCommerce Checkout Block field readability only */
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-address-form input,
body.woocommerce-checkout .wc-block-components-address-form select {
    color: #111518 !important;
    background-color: #ffffff !important;
    border-color: #a8afb3 !important;
}
body.woocommerce-checkout .wc-block-components-text-input input::placeholder,
body.woocommerce-checkout .wc-block-components-address-form input::placeholder {
    color: #626a6e !important;
    opacity: 1 !important;
}
body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-components-address-form label {
    color: #626a6e !important;
    opacity: 1 !important;
}
body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-address-form input:focus,
body.woocommerce-checkout .wc-block-components-address-form select:focus {
    border-color: #ff7100 !important;
    box-shadow: 0 0 0 2px rgba(255,113,0,.18) !important;
    outline: none !important;
}

/* v2.8.8 — Approved OTOFIX KEYS photographic homepage hero */
.hero{
  background:
    linear-gradient(90deg,rgba(4,7,8,.98) 0%,rgba(4,7,8,.93) 34%,rgba(4,7,8,.56) 52%,rgba(4,7,8,.08) 72%,rgba(4,7,8,.02) 100%),
    url('assets/images/otofix-home-hero.png') right center/cover no-repeat;
}
.hero:before,.hero:after{display:none}
.hero-visual{visibility:hidden;pointer-events:none}
@media(max-width:900px){
  .hero{
    background:
      linear-gradient(90deg,rgba(4,7,8,.98) 0%,rgba(4,7,8,.94) 58%,rgba(4,7,8,.62) 100%),
      url('assets/images/otofix-home-hero.png') 70% center/cover no-repeat;
  }
}
@media(max-width:620px){
  .hero{
    background:
      linear-gradient(90deg,rgba(4,7,8,.98) 0%,rgba(4,7,8,.95) 68%,rgba(4,7,8,.78) 100%),
      url('assets/images/otofix-home-hero.png') 68% center/cover no-repeat;
  }
}
