/*
Theme Name: SolutionsVIP
Theme URI: https://solutionsvip.com
Author: SolutionsVIP
Description: Custom block theme for SolutionsVIP (Control4 dealer, Montréal). Built from Figma file B8FGkxGhtlFkuEuTn5qZut.
Version: 1.0.9
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: solutionsvip
*/
:root{--navy:var(--wp--preset--color--navy);--brass:var(--wp--preset--color--brass);--cream:var(--wp--preset--color--cream);--pad-x:max(80px,calc((100% - 1280px)/2));}
body{margin:0;background:var(--cream);color:var(--navy);-webkit-font-smoothing:antialiased}
*,*::before,*::after{box-sizing:border-box}
.wp-site-blocks{padding:0}
.wp-site-blocks>*,.svip-main>*,.entry-content>*{margin-block-start:0!important;margin-block-end:0}
.svip-main .wp-block-post-content>*{margin:0}
a{color:inherit}
p{margin:0}
h1,h2,h3{margin:0}
img{max-width:100%;display:block}
/* type helpers */
.svip-label{font-size:11px;font-weight:500;line-height:1.5;letter-spacing:.2em}
.svip-small,.svip-small p{font-size:17px;line-height:1.5}
.svip-body{font-size:18px;line-height:1.5}
.svip-tagline{font-size:18px;font-weight:500;line-height:1.5;color:var(--brass)!important}
.svip-btn-text{font-size:14px;font-weight:500;line-height:1.5}
.svip-rule{width:48px;height:2px;background:var(--brass);border:0;margin:0}
.svip-rule.is-full{width:100%}
/* sections */
.svip-section{padding:96px var(--pad-x);display:flex;flex-direction:column;gap:48px}
.svip-section.is-navy{background:var(--navy);color:var(--cream)}
.svip-section.is-cream{background:var(--cream);color:var(--navy)}
.svip-hero{padding:112px var(--pad-x);flex-direction:row;align-items:center;gap:64px}
.svip-hero .svip-hero-copy{flex:0 0 560px;display:flex;flex-direction:column;gap:24px}
.svip-hero .svip-hero-media{flex:1 1 auto;margin:0}
.svip-hero .svip-hero-media img{width:100%;height:480px;object-fit:cover;border-radius:4px}
.svip-lux-hero .svip-hero-copy{flex-basis:520px}
.svip-pagehero{gap:20px}
.svip-pagehero>*{max-width:800px}
.svip-pagehero.is-about>*{max-width:880px}
.svip-heading{display:flex;flex-direction:column;gap:12px;max-width:720px}
.svip-band{padding:64px var(--pad-x);flex-direction:row;gap:48px}
.svip-band .svip-band-label{flex:0 0 260px;display:flex;flex-direction:column;gap:12px}
.svip-band .svip-cred{flex:1;display:flex;flex-direction:column;gap:8px}
.svip-pv72{padding-top:72px;padding-bottom:72px}
.svip-pv80{padding-top:80px;padding-bottom:80px}
.svip-pv48{padding-top:48px;padding-bottom:48px}
/* grids */
.svip-grid{display:grid;gap:24px}
.svip-cols-5{grid-template-columns:repeat(5,1fr);gap:16px}
.svip-cols-4{grid-template-columns:repeat(4,1fr);gap:32px}
.svip-cols-3{grid-template-columns:repeat(3,1fr);gap:24px}
.svip-card{border:1px solid var(--navy);border-radius:4px;padding:28px 24px;display:flex;flex-direction:column;gap:12px}
.svip-stack{display:flex;flex-direction:column;gap:16px}
.svip-stack.g8{gap:8px}.svip-stack.g12{gap:12px}.svip-stack.g20{gap:20px}.svip-stack.g24{gap:24px}
.svip-ph{background:var(--navy);color:var(--cream);border-radius:4px;height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center}
.svip-ph.h300{height:300px}
.svip-note{border:1px solid var(--navy);border-radius:4px;padding:12px 16px;align-self:flex-start}
/* service rows */
.svip-row{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.svip-row figure{margin:0}
.svip-row img,.svip-row .svip-navyblock{width:100%;height:420px;object-fit:cover;border-radius:4px}
.svip-navyblock{background:var(--navy)}
figcaption.wp-element-caption,.svip-credit{font-size:11px;font-weight:500;line-height:1.5;letter-spacing:.2em;margin:8px 0 0;color:var(--navy);text-align:left}
.svip-list p{font-size:17px}
.svip-textlink{font-size:14px;font-weight:500;text-decoration:none;border-bottom:1px solid var(--navy);padding-bottom:4px;align-self:flex-start}
.svip-brands{display:flex;flex-wrap:wrap;gap:24px 48px}
.svip-brands p{font-size:20px;font-weight:500;line-height:1.5}
.svip-divider{height:1px;background:var(--navy);border:0;margin:0;width:100%}
/* lux */
.svip-benefit figure{margin:0}.svip-benefit img{width:100%;height:300px;object-fit:cover;border-radius:4px}
.svip-tile figure{margin:0}.svip-tile img{width:100%;height:300px;object-fit:contain;border:1px solid var(--navy);border-radius:4px;background:var(--cream)}
.svip-cta-row{flex-direction:row;justify-content:space-between;align-items:center}
.svip-cta-row>.svip-heading{max-width:720px}
/* story */
.svip-split{flex-direction:row;gap:80px;align-items:center}
.svip-split>*{flex:1}
.svip-split figure{margin:0}.svip-split img{width:100%;height:420px;object-fit:cover;border-radius:4px}
/* buttons */
.wp-block-button__link,.svip-btn{display:inline-block;background:var(--navy);color:var(--cream);border:1px solid var(--cream);border-radius:4px;padding:14px 24px;font-size:14px;font-weight:500;line-height:1.5;text-decoration:none}
.is-cream .wp-block-button__link{border-color:var(--navy)}
.wp-block-buttons{margin:0}
.wp-block-button__link:hover,.svip-btn:hover{background:var(--cream);color:var(--navy);border-color:var(--navy)}
a:focus-visible,.wp-block-button__link:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.is-navy a:focus-visible{outline-color:var(--cream)}
/* header */
.svip-header{display:flex;justify-content:space-between;align-items:center;padding:24px var(--pad-x);background:var(--cream);color:var(--navy)}
.svip-logo{display:block;width:200px;height:52px}.svip-logo svg{width:198px;height:48px;margin-top:2px}
.svip-nav{display:flex;gap:36px}
.svip-nav a,.svip-lang a,.svip-lang span{font-size:14px;font-weight:500;line-height:1.5;text-decoration:none;color:var(--navy)}
.svip-nav a[aria-current],.svip-lang .is-current{text-decoration:underline;text-underline-offset:3px}
.svip-lang .is-other{font-weight:400}
.svip-actions{display:flex;align-items:center;gap:28px}
.svip-header .svip-btn{border-color:var(--navy);padding:14px 24px}
.svip-burger,.svip-burger-cb{display:none}
/* cta band */
.svip-ctaband{flex-direction:row;justify-content:space-between;align-items:center;padding:80px var(--pad-x)}
.svip-ctaband .svip-heading{gap:12px}
/* footer */
.svip-footer{padding:64px var(--pad-x) 40px;display:flex;flex-direction:column;gap:48px;background:var(--cream);color:var(--navy)}
.svip-ftop{display:flex;justify-content:space-between;align-items:flex-start}
.svip-fcols{display:flex;gap:80px}
.svip-fcol{display:flex;flex-direction:column;gap:12px}
.svip-fcol a,.svip-fcol span,.svip-copy{font-size:17px;line-height:1.5;text-decoration:none;color:var(--navy)}
/* form */
.svip-contact{flex-direction:row;gap:80px;align-items:flex-start}
.svip-details{flex:0 0 420px;display:flex;flex-direction:column;gap:24px}
.svip-form{flex:1;border:1px solid var(--navy);border-radius:4px;padding:40px;display:flex;flex-direction:column;gap:24px}
.svip-form h3{font-size:20px}
.wpcf7 form{display:flex;flex-direction:column;gap:24px}
.wpcf7 form p{margin:0}
.svip-f2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.wpcf7 label.svip-fl{display:flex;flex-direction:column;gap:8px;font-size:11px;font-weight:500;letter-spacing:.2em}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 textarea{width:100%;height:56px;border:1px solid var(--navy);border-radius:4px;background:transparent;font:400 17px/1.5 Inter,sans-serif;color:var(--navy);padding:12px 16px}
.wpcf7 textarea{height:160px}
.wpcf7 input[type=submit]{background:var(--navy);color:var(--cream);border:1px solid var(--navy);border-radius:4px;padding:14px 24px;font:500 14px/1.5 Inter,sans-serif;cursor:pointer;align-self:flex-start}
.wpcf7-acceptance .wpcf7-list-item{margin:0}.wpcf7-acceptance label{font-size:14px;line-height:1.5;display:flex;gap:10px;align-items:flex-start}
.wpcf7 br{display:none}
/* mobile */
@media (max-width:781px){
:root{--pad-x:24px}
h1,.svip-main h1{font-size:30px!important}
.svip-body,.svip-body p{font-size:17px}
.svip-section{padding:56px 24px;gap:24px}
.svip-hero,.svip-band,.svip-split,.svip-contact,.svip-ctaband,.svip-cta-row{flex-direction:column;align-items:stretch;gap:20px}
.svip-hero .svip-hero-copy,.svip-band .svip-band-label,.svip-details{flex:none}
.svip-hero .svip-hero-media img{height:240px}
.svip-pagehero{gap:16px}
.svip-pv72{padding-top:32px;padding-bottom:32px}.svip-pv80{padding-top:40px;padding-bottom:40px}.svip-pv48{padding-top:32px;padding-bottom:32px}
.svip-cols-5,.svip-cols-4,.svip-cols-3{grid-template-columns:1fr;gap:20px}
.svip-cols-5{gap:16px}
.svip-card{padding:20px;gap:8px}
.svip-ph,.svip-ph.h300{height:220px}
.svip-row{grid-template-columns:1fr;gap:12px}
.svip-row.is-reverse>figure,.svip-row.is-reverse>.svip-media{order:-1}
.svip-row img,.svip-row .svip-navyblock{height:230px}
.svip-benefit img{height:220px}
.svip-tiles{grid-template-columns:1fr 1fr!important;gap:16px}
.svip-tile img{height:160px}
.svip-split img{height:240px}
.svip-brands{gap:12px 20px}.svip-brands p{font-size:14px}
.svip-header{padding:16px 24px;position:relative}
.svip-logo{width:150px;height:39px}.svip-logo svg{width:149px;height:36px;margin-top:1px}
.svip-nav,.svip-header .svip-btn{display:none}
.svip-actions{gap:20px}
.svip-burger{display:flex;flex-direction:column;gap:6px;padding:3px 0;cursor:pointer}
.svip-burger i{display:block;width:24px;height:2px;background:var(--navy)}
.svip-burger-cb:checked~.svip-nav{display:flex;flex-direction:column;gap:20px;position:absolute;top:71px;left:0;right:0;background:var(--cream);padding:24px;z-index:10;border-bottom:1px solid var(--navy)}
.svip-burger-cb:checked~.svip-nav a{font-size:30px}
.svip-ctaband{padding:56px 24px;gap:16px}
.svip-ctaband h2{font-size:20px!important;line-height:1.5!important}
.svip-footer{padding:48px 24px;gap:24px}
.svip-ftop{flex-direction:column;gap:24px}
.svip-fcols{flex-direction:column-reverse;gap:24px}
.svip-fcol.is-lang{display:none}
.svip-form{padding:24px 0 0;border:0}
.svip-f2{grid-template-columns:1fr;gap:16px}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel]{height:48px}
.wpcf7 textarea{height:140px}
}
/* v1.0.2 fixes: explicit heading scale (preset slugs h1/h2/h3 kebab to h-1…), kill flow-layout margins */
.svip-main h1,.svip-main .wp-block-heading:is(h1){font-size:56px;font-weight:500;line-height:1.15;letter-spacing:-0.001em}
.svip-main h2,.svip-ctaband h2{font-size:30px;font-weight:500;line-height:1.15}
.svip-main h3{font-size:20px;font-weight:500;line-height:1.5}
.svip-main .is-layout-flow>*,.svip-main .wp-block-post-content>*,.svip-main .is-layout-constrained>*{margin-block-start:0!important;margin-block-end:0!important}
.svip-main .wp-block-image{margin:0}
.svip-ph.is-dashed{background:rgba(27,42,74,.08);color:var(--navy);border:1px dashed var(--navy)}
@media (max-width:781px){.svip-main h1,.svip-main .wp-block-heading:is(h1){font-size:30px}}
@media (max-width:781px){.svip-row h2,.svip-cta-row h2{font-size:20px;line-height:1.5}}
