/*
Theme Name: Lock Service London
Description: A bespoke mobile-first locksmith theme for Lock Service by UK, with service pages and optional WhatsApp appointments.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 7.4
Author: Lock Service by UK
License: GPL-2.0-or-later
Text Domain: lock-service-london
*/
:root{--ink:#122a37;--muted:#52646e;--paper:#f7f6f1;--yellow:#f2ca55;--border:#d9dfdc;--green:#176345;--radius:8px;--width:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:#fff;font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #997000;outline-offset:5px}.container{width:min(var(--width),calc(100% - 96px));margin-inline:auto}.icon{width:23px;height:23px;flex-shrink:0}.screen-reader-text,.skip-link{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;left:20px;top:20px;width:auto;height:auto;clip:auto;z-index:99999;background:#fff;padding:12px 20px;color:var(--ink)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.045em;line-height:1.07}h3{letter-spacing:-.025em;line-height:1.3}h2{font-size:clamp(36px,4vw,53px);margin-bottom:24px}p{margin-bottom:20px}.utility{background:var(--ink);color:#fff;font-size:11px;letter-spacing:.045em}.utility-inner{display:flex;justify-content:space-between;align-items:center;min-height:36px}.utility-inner>span{display:flex;align-items:center;gap:10px}.availability-dot{display:inline-block;height:6px;width:6px;background:var(--yellow);border-radius:50%}.site-header{background:rgba(255,255,255,.98);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50}.admin-bar .site-header{top:32px}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:96px}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;line-height:1.2;font-size:22px;font-weight:700;letter-spacing:-.7px;white-space:nowrap}.brand-mark{width:42px;height:48px;display:grid;place-items:center;border:1.5px solid var(--ink);border-radius:22px 22px 6px 6px}.brand-mark .icon{width:26px;height:26px}.brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:7px;font-weight:500}.brand small span{margin-inline:6px}.brand-image{max-width:190px;max-height:65px;object-fit:contain}.nav-list{display:flex;align-items:center;gap:25px;margin:0;padding:0;list-style:none;font-size:13px;font-weight:500}.nav-list a{text-decoration:none}.nav-list a:hover,.nav-list .current-menu-item>a{text-decoration:underline;text-decoration-color:#b68b15;text-decoration-thickness:2px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:53px;padding:14px 22px;border-radius:4px;text-decoration:none;font-size:14px;font-weight:600;border:1px solid transparent;transition:background .2s,color .2s}.button-yellow{background:var(--yellow);color:var(--ink)}.button-yellow:hover{background:#e4ba3e}.button-outline{border-color:#9ca9ac;background:transparent}.button-outline:hover{background:#fff}.button-green{background:var(--green);color:white}.header-call{font-size:13px;min-height:45px;padding:11px 16px;white-space:nowrap}.header-call .icon{width:17px;height:17px}.menu-toggle{display:none}.hero{background:var(--paper);padding:64px 0 70px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:74px;align-items:center}.hero-copy{padding:16px 0}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:650;margin-bottom:24px;display:flex;align-items:center;gap:9px;text-transform:uppercase;line-height:1.6}.eyebrow>span{width:20px;height:1px;background:#ae831c}.hero h1{font-size:clamp(54px,5.35vw,78px);margin-bottom:28px}.hero-intro{max-width:470px;font-size:17px;color:var(--muted);line-height:1.8;margin-bottom:28px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-actions .button{padding-inline:18px}.hero-note{font-size:12px;color:var(--muted);max-width:370px;margin:18px 0 32px}.hero-facts{display:flex;gap:27px;font-size:12px;font-weight:500;padding-top:24px;border-top:1px solid #d8ded7;max-width:430px}.hero-facts span{display:flex;gap:9px;align-items:center}.hero-facts .icon{width:18px;height:18px}.hero-visual{position:relative;aspect-ratio:.95;border-radius:90px 8px 8px 8px;isolation:isolate}.hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:50% 57%;border-radius:inherit;display:block}.hero-visual:after{content:"";position:absolute;inset:65% 0 0;background:linear-gradient(transparent,rgba(10,24,30,.6));z-index:0;border-radius:0 0 8px 8px}.image-caption{position:absolute;bottom:46px;left:-30px;display:flex;align-items:center;gap:16px;background:white;border:1px solid #e5e7e1;box-shadow:0 12px 35px #122a3715;padding:20px 25px;border-radius:6px;z-index:1}.caption-icon{background:var(--yellow);height:43px;width:43px;display:grid;place-items:center;border-radius:50%}.image-caption strong{display:block;font-size:16px;letter-spacing:-.3px}.image-caption div>span{font-size:11px;color:var(--muted)}.image-label{position:absolute;bottom:15px;right:20px;color:#fff;font-size:8px;letter-spacing:2px;z-index:1}.service-ribbon{background:#e9ede7;border-block:1px solid #d9e0d8;padding:20px 0;font-size:13px;font-weight:500}.service-ribbon .container{display:flex;justify-content:space-between;align-items:center;gap:18px}.service-ribbon span[aria-hidden]{color:#697c65;font-size:20px;line-height:1}.section{padding:96px 0}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:42px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:340px;margin:0 0 3px;color:var(--muted);font-size:15px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{padding:27px 24px;border:1px solid var(--border);border-radius:6px;display:flex;flex-direction:column;transition:background .2s,border-color .2s}.service-card:hover{background:var(--paper);border-color:#a9b7ad}.service-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:34px}.service-top>.icon{width:32px;height:32px}.service-top>span{font-size:10px;color:#52646e}.service-card h3{font-size:19px;margin-bottom:14px}.service-card p{font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:28px}.service-card>a{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;text-decoration:none;margin-top:auto}.service-card>a .icon{width:18px}.service-help{font-size:13px;text-align:center;color:var(--muted);margin:28px 0 0}.service-help a{font-weight:600;color:var(--ink)}.approach{background:var(--paper)}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:120px;align-items:center}.lead{font-size:16px;color:var(--muted);line-height:1.85;max-width:520px}.text-link{display:inline-flex;align-items:center;gap:18px;font-size:13px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--ink);padding:3px 0 6px;margin-top:10px}.text-link .icon{width:18px}.step{display:flex;gap:24px;padding:25px 0;border-bottom:1px solid #d8ded7}.step:first-child{padding-top:0}.step:last-child{border:0;padding-bottom:0}.step>span{font:16px Georgia,serif;color:#786525;border:1px solid #c9c7b6;height:40px;width:40px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.step h3{font-size:19px;margin-bottom:8px}.step p{font-size:14px;color:var(--muted);margin:0;line-height:1.8}.coverage-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.coverage-art{background:#eef1ec;border-radius:8px;padding:36px 25px 20px;overflow:hidden}.coverage-art>p{font-family:Georgia,serif;text-align:center;font-size:22px;margin:24px 0 6px}.map-rings{border:1px solid #c4d0c4;border-radius:50%;width:300px;max-width:100%;aspect-ratio:1;position:relative;margin:auto;background:repeating-radial-gradient(circle,transparent 0,transparent 47px,#d2dbcf 48px,transparent 49px)}.map-rings:before,.map-rings:after{content:"";position:absolute;top:50%;left:-80px;right:-80px;height:1px;background:#d2dbcf;transform:rotate(-20deg)}.map-rings:after{transform:rotate(55deg)}.map-core{position:absolute;inset:34%;border-radius:50%;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;background:var(--ink);color:white;z-index:1;box-shadow:0 0 0 9px #eef1ec}.map-core>b{font-size:9px;letter-spacing:1.4px}.map-point{font-size:9px;letter-spacing:1.5px;position:absolute;padding:4px;background:#eef1ec;z-index:1}.north{left:42%;top:7%}.south{left:42%;bottom:7%}.east{right:0;top:48%}.west{left:0;top:48%}.area-tags{display:flex;gap:9px;flex-wrap:wrap;margin:24px 0}.area-tags span{padding:6px 12px;border:1px solid var(--border);border-radius:3px;font-size:11px}.booking-section{background:var(--ink);color:white}.booking-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:100px;align-items:center}.booking-copy .eyebrow{color:#e2c76d}.booking-copy h2{font-size:clamp(40px,4vw,58px)}.booking-copy>p:not(.eyebrow){color:#c4d0d4;font-size:16px;line-height:1.9}.check-list{list-style:none;padding:0;margin:30px 0 45px;font-size:14px}.check-list li{display:flex;align-items:center;gap:12px;margin:14px 0}.check-list .icon{color:#e2c76d;width:18px}.urgent-box{display:flex;gap:18px;padding-top:28px;border-top:1px solid #41545d;align-items:center}.urgent-box>svg{color:var(--yellow);width:27px;height:27px}.urgent-box strong{display:block;font-size:13px;font-weight:500;margin-bottom:3px}.urgent-box a{font-size:19px;text-decoration:none;color:var(--yellow)}.booking-card{background:#fff;color:var(--ink);border-radius:8px;padding:35px}.booking-card>.eyebrow{margin-bottom:10px;color:var(--muted)}.booking-card>h3{font:32px/1.2 Georgia,serif;letter-spacing:-1px;margin-bottom:26px}.faq-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:100px}.faq-grid>div>p:not(.eyebrow){color:var(--muted);font-size:14px}.faq-list details{border-bottom:1px solid var(--border)}.faq-list details:first-child{border-top:1px solid var(--border)}.faq-list summary{display:flex;justify-content:space-between;gap:20px;padding:23px 0;cursor:pointer;list-style:none;font-size:15px;font-weight:600;line-height:1.5}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{font-size:22px;font-weight:400;line-height:1}.faq-list details[open] summary>span{transform:rotate(45deg)}.faq-list details>p{font-size:14px;color:var(--muted);padding-right:25px;line-height:1.8}.closing{background:var(--yellow);padding:48px 0}.closing-inner{display:flex;justify-content:space-between;align-items:center;gap:25px}.closing h2{font-size:40px;margin:0}.closing .eyebrow{margin-bottom:12px}.closing .button{background:var(--ink);color:white;min-width:185px}.closing .button:hover{background:#26495c}.site-footer{background:#0b202c;color:#e4ebed;padding:62px 0 0}.footer-grid{display:grid;grid-template-columns:1.25fr 1fr .7fr;gap:70px;padding-bottom:52px}.footer-brand .brand-mark{border-color:#d1dadd}.footer-grid p{font-size:13px;color:#b4c3c9;margin:22px 0 0}.footer-grid h2{font:600 13px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;letter-spacing:0;margin-bottom:18px}.footer-grid>div>a:not(.brand){display:block;font-size:12px;text-decoration:none;color:#c6d2d7;margin:11px 0}.footer-grid>div>a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid #344750;padding-block:23px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#b4c3c9}.mobile-contact{display:none}.page-hero{background:var(--paper);padding:60px 0}.page-hero h1{font-size:clamp(40px,5vw,65px);margin-bottom:16px}.breadcrumb{font-size:12px;color:var(--muted);margin-bottom:25px}.page-hero p:last-child{margin:0}.page-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:80px;align-items:start}.prose{font-size:17px;max-width:800px;overflow-wrap:anywhere}.prose h2{font-size:35px;margin-top:45px}.prose h2:first-child{margin-top:0}.prose h3{font-size:23px;margin-top:30px}.prose p,.prose li{color:var(--muted)}.prose a{color:var(--ink)}.prose li{margin-bottom:10px}.prose .lsap{font-size:15px}.prose .lsap-note{font-size:12px}.prose .lsap-review h3{font-size:24px}.prose .wp-block-button__link{background:var(--ink);color:white;border-radius:4px}.page-aside{background:var(--paper);padding:28px;border-radius:6px;position:sticky;top:125px}.page-aside h2{font-size:30px}.page-aside p{font-size:13px;color:var(--muted)}.page-aside .button{display:flex;margin-top:12px;font-size:12px}.page-aside .aside-phone{display:block;font-weight:600;text-decoration:none;margin:18px 0}.page-aside .aside-phone small{display:block;font-size:11px;color:var(--muted);font-weight:400}.post-list{display:grid;gap:25px}.post-list article{border-bottom:1px solid var(--border);padding-bottom:25px}.post-list h2{font-size:32px}.post-list h2 a{text-decoration:none}.post-list .date{font-size:12px;color:var(--muted)}.notice-panel{padding:20px;border-left:3px solid var(--yellow);background:var(--paper)}.wp-block-image img{border-radius:5px}.page-content .lsap{max-width:680px}.page-content .lsap-form{margin-top:25px}.pagination{margin:30px 0}.pagination .page-numbers{padding:8px}.error-404{text-align:center;max-width:750px;margin:50px auto}.error-404 h1{font-size:65px}.error-404 .button{margin:10px}.search-form{display:flex;gap:8px;flex-wrap:wrap}.search-field{padding:10px;max-width:100%}.search-submit{background:var(--ink);color:white;border:0;padding:10px 15px}.comments-area{margin-top:50px}.comment-form textarea{width:100%}
@media(min-width:1500px){.hero-visual{max-height:600px}.hero{padding-block:80px}}
@media(max-width:1150px){.container{width:calc(100% - 64px)}.header-inner{gap:18px}.nav-list{gap:16px;font-size:12px}.brand{font-size:19px}.header-call{padding-inline:12px;font-size:12px}.hero-grid{gap:42px}.hero h1{font-size:62px}.hero-actions .button{font-size:12px;padding-inline:13px}.approach-grid,.coverage-grid,.booking-grid,.faq-grid{gap:60px}.service-card{padding:22px 18px}.service-card h3{font-size:17px}.page-layout{gap:45px}}
@media(max-width:980px){.header-call{display:none}.hero h1{font-size:54px}.hero-visual{aspect-ratio:.74}.hero-intro{font-size:16px}.hero-actions{flex-direction:column;align-items:flex-start}.hero-actions .button{font-size:13px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card h3{font-size:21px}.service-card p{font-size:14px}.booking-grid{gap:35px;grid-template-columns:.9fr 1.1fr}.booking-card{padding:25px}.coverage-grid{gap:40px}.map-rings{width:230px}.footer-grid{gap:35px}.page-layout{grid-template-columns:minmax(0,1fr) 250px;gap:35px}.page-aside{padding:20px}}
@media(max-width:760px){html{scroll-padding-top:95px}.container{width:calc(100% - 40px)}.utility-inner{justify-content:center;min-height:32px}.utility-inner>span:last-child{display:none}.header-inner{min-height:76px}.brand{font-size:20px}.brand-mark{height:41px;width:36px}.brand small{font-size:8px}.menu-toggle{display:flex;align-items:center;gap:12px;background:none;border:1px solid var(--border);border-radius:4px;padding:10px 12px;font-size:13px;min-height:44px;cursor:pointer;color:var(--ink)}.primary-navigation{display:none;position:absolute;top:100%;left:0;right:0;background:white;border-bottom:1px solid var(--border);padding:15px 20px}.primary-navigation.is-open{display:block}.nav-list{display:block}.nav-list li a{display:block;padding:12px 6px;font-size:15px}.hero{padding:40px 0 35px}.hero-grid{grid-template-columns:1fr;gap:30px}.hero-copy{padding:0}.eyebrow{font-size:9px;letter-spacing:1.6px;margin-bottom:18px}.hero h1{font-size:clamp(46px,11vw,66px);margin-bottom:22px}.hero-intro{font-size:15px;line-height:1.8;max-width:100%;margin-bottom:22px}.hero-actions{flex-direction:row;align-items:stretch;gap:9px}.hero-actions .button{font-size:12px;padding:12px;min-height:50px}.hero-actions .icon{width:18px}.hero-note{margin:16px 0 21px;font-size:11px}.hero-facts{padding-top:19px;max-width:none;gap:25px;font-size:11px}.hero-visual{aspect-ratio:1.3;border-top-left-radius:60px;margin-left:10px}.hero-visual>img{object-position:50% 65%}.image-caption{left:-10px;bottom:34px;padding:13px 16px;gap:12px}.image-caption strong{font-size:14px}.image-caption div>span{font-size:10px}.caption-icon{height:35px;width:35px}.image-label{font-size:7px;right:12px;bottom:12px}.service-ribbon{padding:15px 0;font-size:10px}.service-ribbon .container{flex-wrap:wrap;justify-content:center;gap:8px 16px}.service-ribbon span[aria-hidden]{display:none}.section{padding:60px 0}.section-heading{display:block;margin-bottom:28px}.section-heading>p{max-width:none;margin-top:20px;font-size:14px}.section-heading h2{font-size:40px}.service-grid{gap:12px}.service-card{padding:22px 16px}.service-card h3{font-size:18px}.service-card p{font-size:12px}.service-top{margin-bottom:25px}.service-top>.icon{width:27px;height:27px}.service-card>a{font-size:11px}.service-help{font-size:12px;line-height:1.8}.approach-grid,.coverage-grid,.booking-grid,.faq-grid{grid-template-columns:1fr;gap:35px}.lead{font-size:15px}.step h3{font-size:18px}.step p{font-size:13px}.coverage-art{order:2}.map-rings{width:260px}.coverage-art>p{font-size:21px}.booking-copy h2{font-size:45px}.booking-copy>p:not(.eyebrow){font-size:15px}.check-list{font-size:13px;margin:25px 0}.urgent-box{padding-top:22px}.urgent-box a{font-size:18px}.booking-card{padding:24px 20px}.booking-card>h3{font-size:29px}.faq-list summary{font-size:14px}.closing{padding:36px 0}.closing-inner{display:block}.closing h2{font-size:35px}.closing .button{margin-top:24px}.site-footer{padding:45px 0 65px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 20px;padding-bottom:35px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid p{font-size:12px;margin-top:18px}.footer-grid>div>a:not(.brand){font-size:11px;overflow-wrap:anywhere}.footer-bottom{flex-wrap:wrap;font-size:9px;gap:9px 20px}.mobile-contact{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:70;box-shadow:0 -4px 20px #0002;padding-bottom:env(safe-area-inset-bottom);background:var(--green)}.mobile-contact a{display:flex;justify-content:center;align-items:center;gap:9px;background:var(--yellow);color:var(--ink);padding:16px 10px;font-size:14px;font-weight:650;text-decoration:none}.mobile-contact a:last-child{background:var(--green);color:white}.mobile-contact .icon{width:19px;height:19px}.page-hero{padding:38px 0}.page-layout{grid-template-columns:1fr;gap:35px}.page-aside{position:static}.prose{font-size:16px}.prose h2{font-size:31px}.admin-bar .site-header{top:46px}}
@media(max-width:400px){.hero-actions{flex-direction:column}.hero-actions .button{font-size:14px}.service-grid{grid-template-columns:1fr}.service-card p{font-size:14px}.service-card h3{font-size:21px}.service-card>a{font-size:13px}.hero h1{font-size:46px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-grid>div>a:not(.brand){font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
