/*
Theme Name: Odd Job Mike
Theme URI: https://oddjobmike.uk/
Author: Odd Job Mike
Description: Custom WordPress theme converted from the Odd Job Mike HTML site, with gallery and live Google rating.
Version: 1.6.0
*/
:root{--ink:#151515;--muted:#676767;--paper:#f6f4ef;--card:#fff;--accent:#e6ff3f;--line:#dedbd2;--dark:#191919;--blue:#176db5}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6}a{color:inherit;text-decoration:none}.wrap{width:min(1120px,calc(100% - 40px));margin:auto}header{padding:14px 0;border-bottom:1px solid var(--line);background:#fff;position:relative;z-index:5}nav{display:flex;align-items:center;justify-content:space-between;gap:20px}.brand-logo img{display:block;width:auto;height:96px;max-width:390px}.navlinks{display:flex;align-items:center;gap:24px;font-size:.94rem;font-weight:700}.navlinks a:hover{opacity:.55}.hero{min-height:72vh;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:70px;padding:70px 0}.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700;margin-bottom:18px}h1,h2{font-family:Arial,sans-serif;letter-spacing:-.05em;line-height:.98}h1{font-size:clamp(3.8rem,8vw,7.3rem);max-width:800px}.hero p{color:var(--muted);font-size:1.15rem;max-width:590px;margin:28px 0 34px}.button{display:inline-flex;align-items:center;gap:10px;background:var(--dark);color:#fff;padding:14px 20px;border-radius:999px;font-weight:700}.button:hover{transform:translateY(-2px)}.button.alt{background:transparent;color:var(--ink);border:1px solid var(--ink);margin-left:8px}.portrait{background:var(--dark);min-height:450px;border-radius:24px;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:28px}.portrait:before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:var(--accent);top:-70px;right:-70px}.portrait .card{position:relative;background:#fff;padding:22px;border-radius:16px;width:100%}.portrait .card strong{font-size:1.8rem;display:block}section{padding:90px 0;border-top:1px solid var(--line)}.sectionhead{display:flex;justify-content:space-between;gap:40px;margin-bottom:50px}h2{font-size:clamp(2.8rem,5vw,5rem)}.sectionhead p{max-width:420px;color:var(--muted)}.about{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about p{font-size:1.18rem;color:#3f3f3f}.facts{border-top:1px solid var(--ink)}.fact{display:flex;justify-content:space-between;padding:17px 0;border-bottom:1px solid var(--line)}.fact span:first-child{color:var(--muted)}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:30px;min-height:230px}.number{font-size:.9rem;color:var(--muted)}.service h3{font-size:1.5rem;margin:55px 0 8px}.service p{color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.service-item{border:1px solid var(--line);padding:20px}.service-item h3{margin:0 0 8px}.areas-list{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 30px;padding:0;list-style:none}.areas-list li{border:1px solid var(--line);padding:8px 12px;background:var(--paper);font-size:.92rem;font-weight:600}.statement{background:var(--dark);color:#fff;border-radius:28px;padding:65px}.statement p{color:#bdbdbd;max-width:620px;margin:25px 0 30px}.reviews-showcase{padding:72px 0}.reviews-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:28px}.google-rating{font-weight:700;font-size:1.1rem}.stars{letter-spacing:.08em}.google-rating small{display:block;font-weight:500;color:var(--muted);margin-top:4px}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.review-card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:26px}.review-card blockquote{margin:0 0 18px;font-size:1.03rem}.review-card cite{font-style:normal;font-weight:700}.review-button{display:inline-block;background:var(--accent);padding:13px 18px;font-weight:700;border:1px solid var(--ink);margin-top:24px}.gallery-preview,.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.gallery-item{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.gallery-item img{display:block;width:100%;height:170px;object-fit:cover}.gallery-caption{padding:9px 11px;font-weight:700;font-size:.9rem}.gallery-actions{text-align:center;margin-top:28px}.gallery-empty{padding:25px;border:1px dashed var(--line);text-align:center}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:99999;display:none;align-items:center;justify-content:center;padding:30px}.lightbox.open{display:flex}.lightbox img{max-width:94vw;max-height:90vh}.lightbox-close{position:absolute;right:22px;top:14px;color:#fff;background:none;border:0;font-size:40px;cursor:pointer}footer{padding:35px 0;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:.9rem}@media(max-width:800px){.brand-logo img{height:70px;max-width:260px}.navlinks{display:flex;flex-wrap:wrap;gap:10px 14px;font-size:.82rem;justify-content:flex-end}.hero,.about{grid-template-columns:1fr}.hero{padding:55px 0;gap:40px}.portrait{min-height:340px}.services{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr 1fr}.sectionhead{flex-direction:column}.statement{padding:35px 25px}.gallery-preview,.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}footer{flex-direction:column}}@media(max-width:520px){.service-grid{grid-template-columns:1fr}.gallery-preview,.gallery-grid{grid-template-columns:1fr 1fr}.gallery-item img{height:130px}}

@media(max-width:620px){header{padding:10px 0}nav{align-items:flex-start;flex-direction:column}.brand-logo img{height:auto;width:min(280px,82vw);max-width:100%}.navlinks{width:100%;justify-content:flex-start;gap:9px 16px}.review-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.gallery-grid{grid-template-columns:1fr}.gallery-item img{height:210px}}
.gallery-page-title{font-size:clamp(3rem,7vw,6rem);margin-bottom:20px}.gallery-page-intro{max-width:720px;color:var(--muted);margin-bottom:38px}.gallery-back{text-align:center;margin-top:34px}.ojm-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:99999;display:none;align-items:center;justify-content:center;padding:5vw}.ojm-lightbox.open{display:flex}.ojm-lightbox img{max-width:90vw;max-height:85vh;object-fit:contain}.ojm-lightbox button{position:absolute;border:0;background:rgba(255,255,255,.92);width:48px;height:48px;border-radius:50%;font-size:34px;line-height:1;cursor:pointer}.ojm-lb-close{top:22px;right:22px}.ojm-lb-prev{left:22px;top:50%}.ojm-lb-next{right:22px;top:50%}

/* v1.5 typography refinement: reduce only the major bold headings by about 25%. */
h1{font-size:clamp(2.85rem,6vw,5.475rem)}
h2{font-size:clamp(2.1rem,3.75vw,3.75rem)}
.gallery-page-title{font-size:clamp(2.25rem,5.25vw,4.5rem);margin-bottom:16px}
@media(max-width:800px){h1{font-size:clamp(2.7rem,11vw,4.2rem)}h2{font-size:clamp(2.1rem,8vw,3.2rem)}.gallery-page-title{font-size:clamp(2.25rem,9vw,3.5rem)}}

/* v1.6 final heading/hero refinement */
h1,
h2,
.gallery-page-title{font-size:2.8rem}

/* Reduce the hero graphic by roughly 10% on desktop. */
.portrait{width:90%;min-height:405px;justify-self:end;padding:25px}
.portrait:before{width:270px;height:270px;top:-63px;right:-63px}

@media(max-width:800px){
  h1,h2,.gallery-page-title{font-size:2.8rem}
  .portrait{width:100%;min-height:320px;justify-self:stretch}
}
