/*
Theme Name: Signage Perth SEO
Theme URI: https://signageperth.com/
Author: Signage Perth
Description: Custom WordPress theme for Signage Perth, focused on commercial signage installation and practical on-page SEO.
Version: 11.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: signage-perth
*/
:root{--sp-orange:#f36c21;--sp-black:#0b0e11;--sp-charcoal:#15191e;--sp-ink:#1d2329;--sp-muted:#66707a;--sp-border:#e4e7ea;--sp-soft:#f7f8f9;--sp-white:#fff;--sp-max:1360px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--sp-ink);background:#fff;line-height:1.55}img{max-width:100%;height:auto}.site-shell{max-width:var(--sp-max);margin:0 auto;padding:0 32px}
.site-header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #eee}.header-row{display:grid;grid-template-columns:250px 1fr auto;align-items:center;min-height:74px;gap:30px}.site-logo img{width:205px;display:block}.main-nav ul{display:flex;justify-content:center;gap:34px;align-items:center;list-style:none;margin:0;padding:0}.main-nav a{text-decoration:none;color:#111;font-weight:800;font-size:12px;letter-spacing:.01em}.main-nav a:hover{color:var(--sp-orange)}.header-actions{display:flex;align-items:center;gap:18px;white-space:nowrap}.phone-link{text-decoration:none;color:#111;font-weight:800;font-size:15px}.phone-icon{font-size:18px}.btn{display:inline-block;padding:13px 21px;border-radius:2px;font-weight:800;font-size:13px;text-decoration:none;border:0;cursor:pointer}.btn-primary{background:var(--sp-orange);color:#fff}.btn-primary:hover{filter:brightness(.93)}.btn-outline{border:1px solid rgba(255,255,255,.8);color:#fff;background:transparent}.header-quote{padding:13px 20px}
.hero-v4{display:grid;grid-template-columns:56% 44%;min-height:475px;background:var(--sp-black);color:#fff}.hero-v4-copy{background:linear-gradient(118deg,#05080b 0%,#0b0e11 68%,#13171b 100%);display:flex;justify-content:flex-end;position:relative;z-index:2}.hero-v4-inner{width:min(100%,760px);padding:48px 52px 38px 32px}.hero-v4-image{overflow:hidden;min-height:475px;background:#181b1f;position:relative}.hero-v4-image img{width:100%;height:100%;min-height:475px;display:block;object-fit:cover;object-position:center 34%}.hero-v4-image:before{content:"";position:absolute;z-index:1;inset:0 auto 0 0;width:26%;background:linear-gradient(90deg,#13171b 0%,rgba(19,23,27,.72) 28%,rgba(19,23,27,0) 100%);pointer-events:none}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.07em;font-weight:900;color:var(--sp-orange)}h1{font-size:52px;line-height:1.05;margin:10px 0 18px;letter-spacing:-.035em}h2{font-size:31px;line-height:1.15;margin:0 0 12px;letter-spacing:-.025em}h3{font-size:17px;line-height:1.25;margin:0 0 8px}.hero-v4 p{font-size:16px;line-height:1.55;max-width:590px;color:#eef1f3;margin:0}.cta-row{display:flex;gap:13px;flex-wrap:wrap;margin:24px 0 26px}.trust-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-top:28px}.trust-item{font-size:11px;line-height:1.45;font-weight:800;color:#f2f4f5;text-align:center;display:flex;flex-direction:column;align-items:center}.sp-icon{width:38px;height:38px;fill:none;stroke:var(--sp-orange);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:block;margin:0 auto 11px}.trust-item .sp-icon{width:32px;height:32px}
.section{padding:46px 0}.section-dark{background:var(--sp-black);color:#fff}.section-intro{text-align:center;max-width:720px;margin:0 auto 26px}.section-intro h2{font-size:30px;margin-top:4px}.section-intro p{font-size:14px;color:var(--sp-muted);margin:0}.service-grid-six{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.service-card{border:1px solid var(--sp-border);background:#fff;padding:20px 18px 18px;border-radius:4px;min-height:236px;text-align:left;display:flex;flex-direction:column;align-items:flex-start}.service-card .sp-icon{width:38px;height:38px;margin:0 0 11px}.service-card h3{font-size:16px}.service-card p{color:var(--sp-muted);font-size:13px;line-height:1.55;margin:5px 0 14px}.service-card a{color:var(--sp-orange);font-size:12px;font-weight:900;text-decoration:none;margin-top:auto}
.why-home{padding:48px 0;background:linear-gradient(115deg,#070a0d 0%,#0d1115 62%,#171c21 100%)}.why-grid{display:grid;grid-template-columns:.95fr 1.55fr;gap:58px;align-items:start}.why-lead h2{font-size:31px}.why-lead p,.section-dark p{color:#d6dce1;font-size:14px}.why-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 40px}.why-point{display:grid;grid-template-columns:42px 1fr;gap:14px}.why-point .sp-icon{width:36px;height:36px;margin:0}.why-point h3{font-size:17px;color:#fff}.why-point p{margin:0;font-size:13px;line-height:1.55}.home-cta{border-top:1px solid #2c3136;padding:28px 0;background:linear-gradient(100deg,#080b0e 0%,#11161b 55%,#080b0e 100%)}.home-cta-row{display:flex;align-items:center;justify-content:space-between;gap:30px}.home-cta h2{font-size:26px;margin-bottom:5px}.home-cta p{margin:0}.home-cta .cta-row{margin:0;flex-wrap:nowrap}
.content-wrap{max-width:930px;margin:0 auto;padding:68px 24px}.content-wrap h1{color:#111;font-size:46px}.content-wrap h2{margin-top:38px}.lead{font-size:20px;color:#4f5963}.sp-callout{background:#fff4ee;border-left:4px solid var(--sp-orange);padding:22px;margin:26px 0}.sp-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.sp-card{border:1px solid var(--sp-border);padding:23px;border-radius:7px;background:#fff}.sp-card p{color:var(--sp-muted)}.sp-list{padding-left:20px}.sp-list li{margin:8px 0}.page-hero{background:var(--sp-black);color:#fff;padding:64px 0}.page-hero h1{font-size:46px;margin-bottom:12px}.page-hero p{max-width:760px;font-size:18px;color:#d8dde2}.contact-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:40px}.contact-panel{background:var(--sp-soft);padding:28px;border-radius:8px}.sp-form label{display:block;font-weight:800;margin:0 0 6px}.sp-form input,.sp-form textarea{width:100%;padding:12px 13px;border:1px solid #cfd5da;border-radius:4px;font:inherit;margin-bottom:16px}.sp-form textarea{min-height:160px;resize:vertical}.sp-notice{padding:14px 16px;margin:0 0 18px;border-radius:4px;background:#eef7ef}.sp-error{background:#fff1f1}
.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.project-card{background:#111;color:#fff;border-radius:7px;overflow:hidden}.project-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.project-placeholder{aspect-ratio:4/3;background:linear-gradient(135deg,#222,#111);display:flex;align-items:center;justify-content:center;color:#aaa;font-weight:800}.project-card .project-body{padding:17px}.project-card a{color:#fff;text-decoration:none}.project-meta{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#c8ced4;margin-bottom:7px}
.site-footer{background:#080b0e;color:#fff;padding:40px 0 18px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}.footer-logo img{width:185px}.site-footer p{font-size:13px;color:#c5ccd2}.site-footer a{color:#ddd;text-decoration:none;font-size:13px}.site-footer a:hover{color:var(--sp-orange)}.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{margin:5px 0}.footer-bottom{border-top:1px solid #2b3035;margin-top:28px;padding-top:13px;font-size:12px;color:#adb5bd;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.wp-block-button__link{background:var(--sp-orange)!important;color:#fff!important;border-radius:3px!important;font-weight:800}.wp-block-heading{scroll-margin-top:100px}
@media(max-width:1150px){.header-row{grid-template-columns:210px 1fr auto;gap:18px}.site-logo img{width:185px}.main-nav ul{gap:20px}.main-nav a{font-size:11px}.phone-link{font-size:13px}.hero-v4{grid-template-columns:54% 46%}.hero-v4-inner{padding-left:28px;padding-right:32px}h1{font-size:46px}.service-grid-six{grid-template-columns:repeat(3,minmax(0,1fr))}.service-card{min-height:220px}}
@media(max-width:860px){.main-nav{display:none}.header-row{grid-template-columns:1fr auto}.hero-v4{grid-template-columns:1fr}.hero-v4-copy{justify-content:center}.hero-v4-inner{width:100%;max-width:720px;padding:48px 28px 38px}.hero-v4-image{height:380px;min-height:0}.hero-v4-image img{min-height:0;object-position:center 26%}.why-grid{grid-template-columns:1fr}.why-points{margin-top:5px}.footer-grid,.contact-grid{grid-template-columns:1fr 1fr}.home-cta-row{align-items:flex-start;flex-direction:column}.home-cta .cta-row{flex-wrap:wrap}}
@media(max-width:620px){.site-shell{padding:0 18px}.site-logo img{width:165px}.header-actions .phone-link{display:none}.header-quote{padding:11px 13px;font-size:11px}.header-row{min-height:66px}.hero-v4-inner{padding:42px 20px 32px}h1{font-size:38px}.hero-v4-image{height:320px}.trust-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 10px}.service-grid-six,.why-points,.footer-grid,.contact-grid,.sp-grid-3,.project-grid{grid-template-columns:1fr}.section{padding:40px 0}.service-card{min-height:0}.page-hero h1,.content-wrap h1{font-size:38px}.home-cta h2{font-size:23px}}

/* V8: preserve existing Gallery page content on Projects */
.gallery-content{max-width:1360px;padding-top:56px;padding-bottom:70px}
.gallery-content .wp-block-gallery{margin-top:0}


/* V10 service landing pages */
.service-page-hero{background:linear-gradient(115deg,#0b0e11 0%,#0b0e11 54%,#15191e 100%);color:#fff;padding:72px 0 64px}
.service-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:54px;align-items:center}
.service-page-hero h1{font-size:clamp(42px,5vw,72px);line-height:1.02;margin:0 0 24px;letter-spacing:-.03em}
.service-page-hero .lead{font-size:20px;line-height:1.65;color:#e3e6e9;max-width:760px;margin:0 0 28px}
.service-hero-image{height:430px;border-radius:10px;overflow:hidden;background:#171b20}
.service-hero-image img{width:100%;height:100%;object-fit:cover;display:block}
.service-body{padding:64px 0 72px}
.service-body h2{font-size:34px;line-height:1.15;margin:48px 0 16px;color:#11161c}
.service-body h2:first-child{margin-top:0}
.service-body h3{font-size:23px;margin:24px 0 10px}
.service-body p,.service-body li{font-size:18px;line-height:1.7}
.service-intro-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:50px;align-items:start}
.service-photo{border-radius:9px;overflow:hidden;margin:24px 0 10px;background:#f2f2f2}
.service-photo img{width:100%;height:auto;display:block}
.service-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:30px 0 46px}
.service-gallery figure{margin:0;border-radius:8px;overflow:hidden;background:#f3f4f5}
.service-gallery img{width:100%;height:270px;object-fit:cover;display:block}
.service-note{background:#f7f8f9;border-left:4px solid var(--sp-orange);padding:22px 24px;margin:30px 0}
.service-cta{margin-top:54px;background:linear-gradient(115deg,#0b0e11,#171b20);color:#fff;padding:34px;border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.service-cta h2{color:#fff;margin:0 0 8px;font-size:30px}
.service-cta p{margin:0;color:#d8dadd}
.related-services{margin-top:52px;border-top:1px solid #e5e7e9;padding-top:34px}
.related-services a{font-weight:700;color:var(--sp-orange);text-decoration:none;margin-right:22px;display:inline-block;margin-bottom:12px}
@media(max-width:900px){
  .service-hero-grid,.service-intro-grid{grid-template-columns:1fr}
  .service-hero-image{height:320px}
  .service-gallery{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .service-page-hero{padding:48px 0}
  .service-gallery{grid-template-columns:1fr}
  .service-gallery img{height:auto}
  .service-cta{display:block}
  .service-cta .btn{margin-top:18px}
}

/* V14: direct links beneath each Services-page description */
.sp-card .service-page-link{
  display:inline-block;
  margin-top:12px;
  color:#f58220;
  font-weight:700;
  text-decoration:none;
  letter-spacing:.02em;
}
.sp-card .service-page-link:hover{
  color:#d96b0b;
  text-decoration:underline;
}

/* V15 services page: direct orange links beneath each description */
.services-page-grid .sp-card{display:flex;flex-direction:column}
.services-page-grid .sp-card p{flex:1}
.services-page-grid .service-page-link{
  display:inline-block;
  margin-top:12px;
  color:#f58220;
  font-weight:700;
  text-decoration:none;
  letter-spacing:.01em;
}
.services-page-grid .service-page-link:hover{
  color:#d96b0b;
  text-decoration:underline;
}

/* V16: orange links inserted under the existing Services-page descriptions */
.service-inline-link{margin-top:14px!important;margin-bottom:34px!important}
.service-inline-link a{
  color:#f58220!important;
  font-weight:700!important;
  text-decoration:none!important;
  letter-spacing:.01em;
}
.service-inline-link a:hover{text-decoration:underline!important;color:#d96b0b!important}

/* V24: original long-form Services page */
.services-long-form{padding-top:54px;padding-bottom:64px}
.services-long-form .service-text-block{max-width:980px;margin:0 0 46px}
.services-long-form .service-text-block h2{margin:0 0 18px;font-size:clamp(28px,3vw,42px);line-height:1.1}
.services-long-form .service-text-block p{margin:0 0 18px;line-height:1.65}
.services-long-form .service-inline-link{margin-top:18px!important;margin-bottom:0!important}
.services-long-form .service-inline-link a{color:#f58220!important;font-weight:700;text-decoration:none}
.services-long-form .service-inline-link a:hover{text-decoration:underline}
