/*
Theme Name: Raymond Crane Hire
Theme URI: https://raymondcranehire.co.uk/
Author: OpenAI
Description: Editable crane hire business theme inspired by the existing Raymond Crane Hire website. Includes Customizer homepage controls, crane fleet posts, testimonials, Gutenberg support and responsive layouts.
Version: 1.0.7
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: raymond-crane-hire
*/

:root{--rch-green:#087447;--rch-green-dark:#064d34;--rch-yellow:#f1c40f;--rch-charcoal:#17211d;--rch-light:#f4f6f5;--rch-white:#fff;--rch-text:#27312d;--rch-muted:#66716c;--rch-border:#dce3df;--rch-shadow:0 15px 40px rgba(3,41,25,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--rch-text);font-family:Arial,Helvetica,sans-serif;line-height:1.65;background:#fff}img{max-width:100%;height:auto}a{color:var(--rch-green);text-decoration:none}a:hover{color:var(--rch-green-dark)}h1,h2,h3,h4{font-family:Arial,Helvetica,sans-serif;line-height:1.12;margin:0 0 .7em;font-weight:800;text-transform:uppercase;letter-spacing:-.02em}.container{width:min(1180px,calc(100% - 40px));margin:auto}.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);height:1px;width:1px;overflow:hidden}.button,.wp-block-button__link,input[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--rch-yellow);color:#17211d!important;border:0;border-radius:2px;padding:15px 24px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:.2s}.button:hover,.wp-block-button__link:hover,input[type=submit]:hover{transform:translateY(-2px);filter:brightness(.96)}.button--green{background:var(--rch-green);color:white!important}.button--outline{background:transparent;color:white!important;border:2px solid rgba(255,255,255,.7)}
.topbar{background:var(--rch-charcoal);color:#fff;font-size:14px}.topbar__inner{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar a{color:#fff}.topbar__contact,.topbar__social{display:flex;align-items:center;gap:22px}.site-header{background:#fff;position:relative;z-index:30;box-shadow:0 2px 20px rgba(0,0,0,.07)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;min-height:92px;gap:30px}.custom-logo{max-height:68px;width:auto}.site-title{font-weight:900;font-size:26px;color:var(--rch-green);text-transform:uppercase}.main-navigation{display:flex;align-items:center;gap:24px}.main-navigation ul{list-style:none;display:flex;align-items:center;gap:28px;padding:0;margin:0}.main-navigation a{color:var(--rch-charcoal);font-weight:800;text-transform:uppercase;font-size:14px}.main-navigation .current-menu-item>a,.main-navigation a:hover,.main-navigation a:focus{color:var(--rch-green)}.menu-toggle{display:none;background:var(--rch-green);color:white;border:0;padding:10px 13px;font-size:20px}.header-quote{white-space:nowrap}
.hero{position:relative;min-height:650px;display:flex;align-items:center;background:#20332b center/cover no-repeat;color:#fff;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,28,19,.88) 0%,rgba(5,28,19,.55) 52%,rgba(5,28,19,.2) 100%)}.hero__content{position:relative;z-index:2;max-width:780px;padding:90px 0}.hero__eyebrow{font-weight:800;color:var(--rch-yellow);text-transform:uppercase;letter-spacing:.15em}.hero h1{font-size:clamp(43px,7vw,86px);margin:.18em 0;max-width:900px}.hero p{font-size:21px;max-width:650px;margin-bottom:30px}.hero__buttons{display:flex;gap:14px;flex-wrap:wrap}.hero__phone{position:absolute;right:0;bottom:0;background:var(--rch-yellow);color:#16211d;padding:20px 32px;font-weight:900;text-transform:uppercase;z-index:3}
.section{padding:90px 0}.section--light{background:var(--rch-light)}.section--green{background:var(--rch-green);color:#fff}.section-kicker{display:block;color:var(--rch-green);font-weight:900;text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px}.section--green .section-kicker{color:var(--rch-yellow)}.section-title{font-size:clamp(32px,4vw,53px);max-width:820px}.lead{font-size:19px;color:var(--rch-muted)}.section--green .lead{color:rgba(255,255,255,.82)}.intro-grid,.why-grid,.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}.image-card{position:relative}.image-card img{width:100%;display:block;min-height:420px;object-fit:cover}.image-card:after{content:"";position:absolute;left:-18px;bottom:-18px;width:55%;height:55%;border-left:10px solid var(--rch-yellow);border-bottom:10px solid var(--rch-yellow);z-index:-1}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:35px}.stat{background:#fff;padding:22px;box-shadow:var(--rch-shadow);border-top:4px solid var(--rch-yellow)}.stat strong{display:block;color:var(--rch-green);font-size:29px;line-height:1}.stat span{font-size:13px;text-transform:uppercase;font-weight:800}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:42px}.service-card{background:#fff;padding:34px;border-bottom:5px solid var(--rch-green);box-shadow:0 9px 28px rgba(9,56,37,.08);transition:.25s}.service-card:hover{transform:translateY(-6px);box-shadow:var(--rch-shadow)}.service-card__number{font-size:13px;color:var(--rch-green);font-weight:900;letter-spacing:.12em}.service-card h3{font-size:24px;margin-top:18px}.service-card p{color:var(--rch-muted)}
.cta-band{background:var(--rch-yellow);padding:38px 0}.cta-band__inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-band h2{margin:0;font-size:clamp(25px,3vw,39px);color:#17211d}.cta-band .button{background:var(--rch-charcoal);color:#fff!important}
.check-list{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:0;list-style:none}.check-list li{font-weight:800}.check-list li:before{content:"✓";display:inline-grid;place-items:center;width:28px;height:28px;margin-right:10px;background:var(--rch-yellow);color:#17211d;border-radius:50%}.testimonial-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:25px;margin-top:35px}.testimonial{background:#fff;padding:35px;border-left:6px solid var(--rch-yellow);box-shadow:var(--rch-shadow)}.testimonial blockquote{font-size:18px;margin:0 0 20px}.testimonial cite{font-style:normal;font-weight:900;color:var(--rch-green)}
.fleet-grid,.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.fleet-card,.post-card{background:#fff;box-shadow:var(--rch-shadow);overflow:hidden}.fleet-card img,.post-card img{width:100%;height:260px;object-fit:cover}.fleet-card__content,.post-card__content{padding:26px}.fleet-meta{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.fleet-meta span{background:var(--rch-light);padding:5px 9px;font-size:12px;font-weight:800}.accreditations{display:flex;align-items:center;justify-content:center;gap:42px;flex-wrap:wrap}.accreditations img{max-width:140px;max-height:75px;object-fit:contain;filter:grayscale(1);opacity:.78}
.page-hero{padding:100px 0;background:linear-gradient(90deg,rgba(5,46,30,.95),rgba(8,116,71,.82));color:#fff}.page-hero h1{font-size:clamp(38px,5vw,65px);margin:0}.content-area{padding:70px 0}.entry-content>*{max-width:900px}.entry-content>.alignwide{max-width:1180px}.entry-content>.alignfull{max-width:none}.entry-content input,.entry-content textarea,.entry-content select,.contact-form input,.contact-form textarea{width:100%;padding:14px;border:1px solid var(--rch-border);font:inherit}.contact-details{background:var(--rch-charcoal);color:white;padding:40px}.contact-details a{color:white}.pagination{margin-top:40px}
.site-footer{background:#111a16;color:rgba(255,255,255,.8);padding-top:70px}.footer-grid{display:grid;grid-template-columns:1.3fr .8fr .9fr;gap:55px;padding-bottom:55px}.site-footer h3{color:white;font-size:18px}.site-footer a{color:rgba(255,255,255,.8)}.site-footer ul{list-style:none;padding:0}.site-footer li{margin:8px 0}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:20px 0;display:flex;justify-content:space-between;gap:20px;font-size:13px}.footer-brand{font-size:24px;color:white;font-weight:900;text-transform:uppercase}
@media(max-width:900px){.menu-toggle{display:block}.main-navigation ul{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;padding:20px;box-shadow:0 16px 30px rgba(0,0,0,.12);flex-direction:column;align-items:flex-start}.main-navigation.toggled ul{display:flex}.header-quote{display:none}.intro-grid,.why-grid,.contact-grid{grid-template-columns:1fr}.services-grid,.fleet-grid,.posts-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.hero{min-height:560px}.hero__phone{position:relative;display:block;margin-top:25px;width:max-content}}
@media(max-width:620px){.container{width:min(100% - 26px,1180px)}.topbar__inner,.topbar__contact{align-items:flex-start;flex-direction:column;gap:5px;padding:9px 0}.topbar__social{display:none}.site-header__inner{min-height:76px}.custom-logo{max-height:55px}.hero{min-height:520px}.hero__content{padding:65px 0}.hero h1{font-size:44px}.hero p{font-size:17px}.section{padding:65px 0}.services-grid,.fleet-grid,.posts-grid,.testimonial-grid,.stats,.footer-grid{grid-template-columns:1fr}.cta-band__inner,.footer-bottom{align-items:flex-start;flex-direction:column}.check-list{grid-template-columns:1fr}.image-card img{min-height:300px}}


/* v1.0.3: isolated, always-visible site navigation */
#rch-topbar.rch-topbar{display:block!important;visibility:visible!important;opacity:1!important;background:#17211d!important;color:#fff!important;position:relative!important;z-index:9998!important}
.rch-topbar__inner{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.rch-topbar__contact{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
#rch-topbar a{color:#fff!important;font-size:14px}
.rch-topbar__strapline{font-size:14px}
#rch-site-header.rch-site-header{display:block!important;visibility:visible!important;opacity:1!important;background:#fff!important;position:relative!important;z-index:9999!important;box-shadow:0 2px 20px rgba(0,0,0,.1)!important}
.rch-site-header__inner{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:92px!important;gap:28px!important}
.rch-site-branding{display:flex;align-items:center;flex:0 0 auto}
.rch-site-title{display:block!important;color:#087447!important;font-size:25px!important;font-weight:900!important;text-transform:uppercase!important;line-height:1.1!important}
#rch-main-navigation.rch-main-navigation{display:block!important;visibility:visible!important;opacity:1!important;margin-left:auto}
#rch-main-navigation ul,#rch-main-navigation .rch-primary-menu,#rch-main-navigation .primary-menu{display:flex!important;visibility:visible!important;opacity:1!important;align-items:center!important;gap:26px!important;list-style:none!important;padding:0!important;margin:0!important}
#rch-main-navigation li{display:block!important;margin:0!important;padding:0!important;position:relative!important}
#rch-main-navigation a{display:block!important;color:#17211d!important;font-size:14px!important;font-weight:800!important;text-transform:uppercase!important;white-space:nowrap!important;padding:12px 0!important}
#rch-main-navigation a:hover,#rch-main-navigation .current-menu-item>a{color:#087447!important}
.rch-menu-toggle{display:none!important;background:#087447!important;color:#fff!important;border:0!important;padding:12px 16px!important;font-weight:800!important;text-transform:uppercase!important;cursor:pointer!important}
.rch-header-quote{white-space:nowrap!important}
@media(max-width:900px){
 .rch-topbar__strapline{display:none}
 .rch-site-header__inner{min-height:76px!important;position:relative!important}
 .rch-menu-toggle{display:block!important;margin-left:auto!important}
 #rch-main-navigation.rch-main-navigation{display:none!important;position:absolute!important;left:0!important;right:0!important;top:100%!important;background:#fff!important;box-shadow:0 18px 30px rgba(0,0,0,.15)!important;padding:16px 20px!important;margin:0!important}
 #rch-site-header.rch-site-header.rch-menu-open #rch-main-navigation{display:block!important}
 #rch-main-navigation ul,#rch-main-navigation .rch-primary-menu,#rch-main-navigation .primary-menu{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important}
 #rch-main-navigation a{padding:12px 0!important;border-bottom:1px solid #dce3df!important}
 .rch-header-quote{display:none!important}
}
@media(max-width:600px){.rch-topbar__inner{padding:8px 0}.rch-topbar__contact{gap:4px;flex-direction:column;align-items:flex-start}.rch-site-title{font-size:20px!important}}

/* v1.0.4: individual crane specification layout */
.crane-page-hero .section-kicker{color:var(--rch-yellow);margin-bottom:12px}
.crane-single{padding:80px 0 95px}
.crane-single__grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr);gap:58px;align-items:start}
.crane-single__media{background:var(--rch-light);box-shadow:var(--rch-shadow);overflow:hidden}
.crane-single__media img{display:block;width:100%;height:auto;max-height:680px;object-fit:cover}
.crane-single__details{position:sticky;top:30px;padding:38px;background:#fff;border-top:7px solid var(--rch-yellow);box-shadow:var(--rch-shadow)}
.crane-single__details h2{font-size:clamp(30px,4vw,48px);margin-bottom:14px}
.crane-spec-list{margin:28px 0 30px;border-top:1px solid var(--rch-border)}
.crane-spec-list__item{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(130px,1.2fr);gap:20px;padding:15px 0;border-bottom:1px solid var(--rch-border)}
.crane-spec-list dt{font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--rch-muted)}
.crane-spec-list dd{margin:0;text-align:right;font-weight:900;color:var(--rch-green-dark)}
.crane-single__actions{display:flex;gap:12px;flex-wrap:wrap}
.crane-single__content{max-width:900px;margin-top:65px;padding-top:45px;border-top:1px solid var(--rch-border)}
@media(max-width:900px){.crane-single__grid{grid-template-columns:1fr;gap:35px}.crane-single__details{position:static}.crane-single__media img{max-height:none}}
@media(max-width:620px){.crane-single{padding:55px 0 70px}.crane-single__details{padding:25px 21px}.crane-spec-list__item{grid-template-columns:1fr;gap:3px}.crane-spec-list dd{text-align:left}.crane-single__actions .button{width:100%}}


/* v1.0.6: dedicated contact-page and form styling */
.page-hero--contact{padding:72px 0;background:linear-gradient(105deg,#075d3d 0%,#0b8a59 65%,#11a36b 100%)}
.contact-page{padding:75px 0 90px;background:linear-gradient(180deg,#f4f6f5 0,#fff 280px)}
.contact-page__article{max-width:1040px;margin:0 auto}
.contact-page__heading{max-width:720px;margin:0 0 34px}
.contact-page__heading h2{font-size:clamp(32px,4vw,48px);margin-bottom:12px;color:var(--rch-charcoal)}
.contact-page__heading p{font-size:18px;color:var(--rch-muted);margin:0}
.contact-page__content{max-width:none!important;background:#fff;padding:clamp(28px,5vw,55px);border-top:7px solid var(--rch-green);box-shadow:0 18px 55px rgba(3,41,25,.11)}
.contact-page__content>*{max-width:none!important}
.contact-page__content h2,.contact-page__content h3{color:var(--rch-charcoal);margin-top:0}
.contact-page__content h3:not(:first-child){margin-top:24px}
.contact-page__content p{margin-top:0}
.contact-page__content a{font-weight:700}

/* Contact Form 7 */
.contact-page .wpcf7{margin-top:34px}
.contact-page .wpcf7 form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}
.contact-page .wpcf7 form>p{margin:0;min-width:0}
.contact-page .wpcf7 form>p:nth-last-of-type(-n+3),
.contact-page .wpcf7 form>p:has(textarea),
.contact-page .wpcf7 form>p:has(input[type="submit"]){grid-column:1/-1}
.contact-page .wpcf7 label{display:block;color:var(--rch-charcoal);font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.035em}
.contact-page .wpcf7-form-control-wrap{display:block;margin-top:8px}
.contact-page .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.contact-page .wpcf7 textarea,
.contact-page .wpcf7 select{display:block;width:100%;min-height:52px;padding:13px 15px;background:#fff;border:1px solid #cfd8d3;border-radius:2px;color:var(--rch-text);font:inherit;outline:none;transition:border-color .2s,box-shadow .2s}
.contact-page .wpcf7 textarea{height:170px!important;min-height:170px;max-height:350px;resize:vertical}
.contact-page .wpcf7 input:focus,
.contact-page .wpcf7 textarea:focus,
.contact-page .wpcf7 select:focus{border-color:var(--rch-green);box-shadow:0 0 0 3px rgba(8,116,71,.12)}
.contact-page .wpcf7 input[type="submit"]{width:auto;min-width:220px;min-height:54px;padding:16px 30px;margin-top:4px;background:var(--rch-yellow);color:#17211d!important;font-weight:900;border-radius:2px}
.contact-page .wpcf7-spinner{vertical-align:middle}
.contact-page .wpcf7-not-valid-tip{margin-top:6px;font-size:13px;font-weight:700;text-transform:none;color:#b42318}
.contact-page .wpcf7-response-output{grid-column:1/-1;margin:6px 0 0!important;padding:12px 16px!important;border-width:1px!important}
.contact-page .wpcf7 .grecaptcha-badge{max-width:100%}

/* Other popular WordPress form plugins */
.contact-page .wpforms-container,.contact-page .gform_wrapper{margin-top:34px}
.contact-page .wpforms-field input,.contact-page .wpforms-field textarea,.contact-page .gform_wrapper input,.contact-page .gform_wrapper textarea,.contact-page .gform_wrapper select{border:1px solid #cfd8d3!important;border-radius:2px!important;padding:13px 15px!important;font:inherit!important}
.contact-page .wpforms-field textarea,.contact-page .gform_wrapper textarea{height:170px!important;min-height:170px!important}

@media(max-width:700px){
 .page-hero--contact{padding:52px 0}
 .contact-page{padding:50px 0 65px}
 .contact-page__content{padding:26px 20px}
 .contact-page .wpcf7 form{grid-template-columns:1fr;gap:17px}
 .contact-page .wpcf7 form>p{grid-column:1!important}
 .contact-page .wpcf7 input[type="submit"]{width:100%}
}

/* v1.0.7: typography matched to the Raymond logo */
:root{--rch-font:'Montserrat','Arial Black',Arial,Helvetica,sans-serif}
body,button,input,select,textarea{font-family:var(--rch-font)}
body{font-weight:500;letter-spacing:-.01em}
h1,h2,h3,h4,h5,h6,
.site-title,.rch-site-title,
.main-navigation a,#rch-main-navigation a,
.button,.wp-block-button__link,input[type=submit],
.section-kicker,.hero__eyebrow,
.stat strong,.stat span,.fleet-meta span,
.footer-title,.footer-heading,
.crane-spec-list dt,.crane-spec-list dd{
 font-family:var(--rch-font);
 font-weight:900;
}
h1,h2,h3,h4,h5,h6{letter-spacing:-.035em}
.main-navigation a,#rch-main-navigation a,.button,.wp-block-button__link,input[type=submit],.section-kicker,.hero__eyebrow{letter-spacing:.025em}
p,li,dd,address,.entry-content{font-weight:500}
strong,b{font-weight:800}
