/*
Theme Name: Polarwood Cabinets
Theme URI: https://polarwood.com
Author: Polarwood
Author URI: https://polarwood.com
Description: Custom WordPress theme for Polarwood Cabinets — premium custom cabinetry for the GTA. Includes editable hero, brand colors, map embeds, and shortcode-driven contact forms (works with WPForms, Contact Form 7, Fluent Forms).
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: polarwood
Tags: business, custom-colors, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, blog
*/

/* Reset & base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}
body{margin:0;font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:hsl(220,13%,18%);background:#fff;line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4,h5,h6{margin:0;line-height:1.15}
p{margin:0}
ul{margin:0;padding:0;list-style:none}

:root{
  --pw-bg:#fff;
  --pw-fg:hsl(220,13%,18%);
  --pw-muted:hsl(210,20%,97%);
  --pw-muted-fg:hsl(220,9%,46%);
  --pw-border:hsl(220,13%,91%);
  --pw-primary:#a01230;
  --pw-primary-hover:#7a0d24;
  --pw-primary-fg:#fff;
  --pw-secondary:hsl(220,13%,18%);
  --pw-secondary-fg:#fff;
  --pw-card:#fff;
  --pw-radius:1rem;
}

.font-display{font-family:'Playfair Display',Georgia,serif}
.font-script{font-family:'Allura',cursive}

/* Layout */
.container{max-width:1536px;margin:0 auto;padding:0 1.5rem}
@media(min-width:768px){.container{padding:0 2.5rem}}
.container-sm{max-width:768px;margin:0 auto;padding:0 1.5rem}
.container-md{max-width:1024px;margin:0 auto;padding:0 1.5rem}
@media(min-width:768px){.container-sm,.container-md{padding:0 2.5rem}}
.text-center{text-align:center}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--pw-border)}
.site-header-inner{max-width:1536px;margin:0 auto;padding:1.25rem 1.5rem;display:flex;align-items:center;position:relative}
@media(min-width:768px){.site-header-inner{padding:1.5rem 2.5rem}}
.site-logo{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center}
@media(min-width:768px){.site-logo{position:static;left:auto;transform:none}}
.site-logo img{height:44px;width:auto}
.site-logo img.site-logo-icon{height:44px;width:44px;object-fit:contain}
.menu-toggle{margin-left:auto;background:none;border:0;padding:.5rem;cursor:pointer;border-radius:9999px}
@media(min-width:768px){.menu-toggle{display:none}}
.spacer-mobile{display:block;width:44px;height:44px}
@media(min-width:768px){.spacer-mobile{display:none}}
.main-nav{display:none;margin-left:auto;align-items:center;gap:1.75rem;font-size:.875rem;font-weight:500}
@media(min-width:768px){.main-nav{display:flex}}
.main-nav a{color:hsla(220,13%,18%,.8);position:relative;transition:color .2s}
.main-nav a:hover,.main-nav a.current{color:var(--pw-fg)}
.main-nav a::after{content:'';position:absolute;left:0;bottom:-4px;height:2px;width:0;background:var(--pw-fg);transition:width .3s}
.main-nav a:hover::after,.main-nav a.current::after{width:100%}
.mobile-nav{display:none;border-top:1px solid var(--pw-border);background:#fff}
.mobile-nav.open{display:block}
@media(min-width:768px){.mobile-nav{display:none!important}}
.mobile-nav ul{padding:1.5rem;display:flex;flex-direction:column;gap:.5rem;font-size:1.125rem;font-weight:500}
.mobile-nav a{display:block;padding:.5rem .75rem;border-radius:.75rem;color:hsla(220,13%,18%,.8)}
.mobile-nav a.current{background:var(--pw-muted);color:var(--pw-fg)}

/* Footer */
.site-footer{background:var(--pw-secondary);color:hsla(0,0%,100%,.7);padding:3.5rem 0;text-align:center}
.site-footer .brand{display:inline-flex;align-items:center;gap:.75rem;color:#fff;margin-bottom:1.25rem}
.site-footer .brand img{height:32px;width:auto;background:#fff;padding:4px;border-radius:.5rem}
.site-footer .brand img.footer-logo-icon{height:36px;width:36px;object-fit:contain;padding:5px}
.site-footer .brand span{font-family:'Playfair Display',serif;font-size:1.5rem}
.site-footer p{font-size:.875rem}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2rem;border-radius:9999px;font-size:1.125rem;font-weight:500;transition:all .2s;border:0;cursor:pointer;text-align:center;line-height:1.2}
.btn-primary{background:var(--pw-primary);color:var(--pw-primary-fg)}
.btn-primary:hover{background:var(--pw-primary-hover)}
.btn-secondary{background:var(--pw-secondary);color:var(--pw-secondary-fg)}
.btn-secondary:hover{background:#000}
.btn-outline{border:1px solid var(--pw-border);color:var(--pw-fg);background:transparent}
.btn-outline:hover{background:var(--pw-muted)}
.btn .arrow{display:inline-block;width:1.25rem;height:1.25rem}

/* Hero (home) */
.hero-home{display:flex;align-items:center;min-height:calc(100vh - 100px);padding:4rem 0;text-align:center}
.hero-home .welcome{font-family:'Playfair Display',serif;font-size:2.25rem;font-weight:300;letter-spacing:-.02em}
@media(min-width:768px){.hero-home .welcome{font-size:3rem}}
@media(min-width:1024px){.hero-home .welcome{font-size:3.75rem}}
.hero-home .scripted-logo{margin:1.5rem auto 1rem;max-width:640px}
.hero-home h2{font-family:'Playfair Display',serif;font-size:1.875rem;font-weight:500;line-height:1.15;max-width:48rem;margin:0 auto}
@media(min-width:768px){.hero-home h2{font-size:2.25rem}}
@media(min-width:1024px){.hero-home h2{font-size:3rem}}
.hero-cta{margin-top:2.5rem;display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}
.hero-checks{margin-top:3.5rem;display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem 2.5rem;font-size:.875rem;font-weight:500;color:var(--pw-muted-fg)}
.hero-checks span{display:inline-flex;align-items:center;gap:.5rem}
.hero-checks .check{color:#059669;width:1rem;height:1rem;display:inline-block}

/* Page hero */
.page-hero{border-bottom:1px solid var(--pw-border);padding:5rem 0;text-align:center}
@media(min-width:768px){.page-hero{padding:7rem 0}}
.page-hero h1{font-family:'Playfair Display',serif;font-size:3rem;font-weight:700;letter-spacing:-.02em}
@media(min-width:768px){.page-hero h1{font-size:3.75rem}}
@media(min-width:1024px){.page-hero h1{font-size:4.5rem}}
.page-hero p{margin:1.5rem auto 0;max-width:42rem;font-size:1.125rem;color:var(--pw-muted-fg)}
@media(min-width:768px){.page-hero p{font-size:1.25rem}}

/* Sections */
.section{padding:5rem 0}
.section-lg{padding:6rem 0}
.section-bordered{border-top:1px solid var(--pw-border)}
.section-muted{background:hsla(210,20%,97%,.4)}
.section-muted-strong{background:hsla(210,20%,97%,.6)}

.section h2{font-family:'Playfair Display',serif;font-size:2.25rem;font-weight:700}
@media(min-width:768px){.section h2{font-size:3rem}}
.section h3{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:700}
.section .lead{margin-top:2rem;display:flex;flex-direction:column;gap:1.25rem;font-size:1.125rem;line-height:1.7;color:var(--pw-muted-fg)}
@media(min-width:768px){.section .lead{font-size:1.25rem}}
.section .lead .strong{color:var(--pw-fg);font-weight:500}

/* Map */
.map-wrap{overflow:hidden;border-radius:1.5rem;border:1px solid var(--pw-border);margin-top:1.25rem}
.map-wrap iframe{display:block;width:100%;border:0}

/* Grids */
.grid{display:grid;gap:2rem}
.grid-2{grid-template-columns:1fr}
.grid-3{grid-template-columns:1fr}
.grid-4{grid-template-columns:1fr}
@media(min-width:640px){.grid-3{grid-template-columns:repeat(2,1fr)}.grid-4{grid-template-columns:repeat(2,1fr)}}
@media(min-width:768px){.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}.grid-4{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}}

/* Cards */
.card{background:var(--pw-card);border:1px solid var(--pw-border);border-radius:1.5rem;overflow:hidden;transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column}
.card:hover{transform:translateY(-4px);box-shadow:0 10px 25px -10px rgba(0,0,0,.1)}
.card .img-wrap{aspect-ratio:4/3;overflow:hidden;background:var(--pw-muted)}
.card .img-wrap.square{aspect-ratio:1/1}
.card .img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card:hover .img-wrap img{transform:scale(1.05)}
.card .body{padding:1.75rem;display:flex;flex-direction:column;flex:1}
.card .body .title{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:700}
.card .body p{margin-top:.75rem;color:var(--pw-muted-fg);flex:1}
.card .body .meta{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--pw-muted-fg)}
.card .body .read-more{margin-top:1.25rem;align-self:flex-end;font-size:.875rem;font-weight:600;color:var(--pw-primary);display:inline-flex;align-items:center;gap:.5rem}
.card.center .body{text-align:center;padding:1.25rem}
.card.center .body .title{font-size:1rem;font-weight:500;font-family:inherit}

/* Builders reasons */
.reasons{display:grid;gap:1rem;margin-top:2.5rem}
@media(min-width:640px){.reasons{grid-template-columns:repeat(2,1fr)}}
.reasons li{display:flex;gap:.75rem;padding:1.25rem;border:1px solid var(--pw-border);border-radius:1rem;background:var(--pw-card);align-items:flex-start}
.reasons li::before{content:'';width:.5rem;height:.5rem;border-radius:9999px;background:var(--pw-primary);margin-top:.5rem;flex-shrink:0;display:inline-block}
.benefit{padding:1.75rem;border:1px solid var(--pw-border);border-radius:1.5rem;background:var(--pw-card)}
.benefit h4{font-family:'Playfair Display',serif;font-size:1.25rem;font-weight:700;margin-top:1.25rem}
.benefit p{margin-top:.5rem;font-size:.875rem;color:var(--pw-muted-fg)}
.benefit .icon{width:2rem;height:2rem;color:var(--pw-primary)}

/* CTA blocks */
.cta-dark{background:var(--pw-secondary);color:var(--pw-secondary-fg);padding:2.5rem;border-radius:1.5rem;text-align:center;margin-top:3.5rem}
@media(min-width:768px){.cta-dark{padding:4rem}}
.cta-dark h3{font-family:'Playfair Display',serif;font-size:1.875rem;font-weight:700}
@media(min-width:768px){.cta-dark h3{font-size:2.25rem}}
.cta-dark p{margin:1rem auto 0;max-width:36rem;color:hsla(0,0%,100%,.7)}
.cta-dark .btn{margin-top:2rem}

/* Contact page */
.contact-grid{display:grid;gap:3rem}
@media(min-width:1024px){.contact-grid{grid-template-columns:5fr 7fr}}
.contact-info-block{display:flex;gap:1.25rem;align-items:flex-start;margin-bottom:1.5rem}
.contact-info-block .icon{width:1.75rem;height:1.75rem;color:var(--pw-primary);flex-shrink:0;margin-top:.25rem}
.contact-info-block .label{font-size:1.125rem;font-weight:500}
.contact-info-block .sub{font-size:.875rem;color:var(--pw-muted-fg)}
.form-card{background:hsla(210,20%,97%,.6);border-radius:1.5rem;padding:2rem}
@media(min-width:768px){.form-card{padding:2.5rem}}
.form-card .form-section + .form-section{border-top:1px solid var(--pw-border);margin-top:2.5rem;padding-top:2.5rem}
.form-card h3{font-family:'Playfair Display',serif;font-size:1.875rem;font-weight:700}
.form-card .sub{margin-top:.5rem;color:var(--pw-muted-fg)}
.form-placeholder{margin-top:1.75rem;padding:2rem;border:2px dashed var(--pw-border);border-radius:1rem;text-align:center;color:var(--pw-muted-fg);font-size:.95rem}
.form-placeholder code{background:var(--pw-muted);padding:.15rem .5rem;border-radius:.35rem;font-size:.85em}

/* Door handles split */
.split{display:grid;gap:3rem;align-items:center}
@media(min-width:1024px){.split{grid-template-columns:repeat(2,1fr)}}
.split .eyebrow{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.2em;color:var(--pw-primary)}
.split h2{margin-top:1rem}
.split .copy{margin-top:1.25rem;font-size:1.125rem;line-height:1.7;color:var(--pw-muted-fg)}
.split .img-frame{overflow:hidden;border-radius:1.5rem;border:1px solid var(--pw-border);background:hsla(210,20%,97%,.4)}
.split .img-frame img{width:100%;height:100%;object-fit:contain}

/* Dasvand */
.dasvand{padding:6rem 0;text-align:center}
@media(min-width:768px){.dasvand{padding:8rem 0}}
.dasvand h1{font-family:'Playfair Display',serif;font-size:3.75rem;font-weight:700;letter-spacing:-.02em}
@media(min-width:768px){.dasvand h1{font-size:4.5rem}}
.dasvand .tagline{margin-top:1.5rem;font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:300;color:var(--pw-muted-fg)}
@media(min-width:768px){.dasvand .tagline{font-size:1.875rem}}
.dasvand .body-copy{margin-top:3rem;display:flex;flex-direction:column;gap:1.5rem;font-size:1.125rem;line-height:1.7;color:var(--pw-muted-fg)}
@media(min-width:768px){.dasvand .body-copy{font-size:1.25rem}}
.dasvand .strong{color:var(--pw-fg);font-weight:500}

/* Single post / page */
.entry{max-width:768px;margin:0 auto;padding:4rem 1.5rem}
@media(min-width:768px){.entry{padding:5rem 2.5rem}}
.entry h1{font-family:'Playfair Display',serif;font-size:2.5rem;font-weight:700;margin-bottom:1.5rem}
.entry .meta{color:var(--pw-muted-fg);margin-bottom:2rem;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600}
.entry-content p{margin:0 0 1.25rem;font-size:1.125rem;line-height:1.75;color:var(--pw-fg)}
.entry-content h2{font-family:'Playfair Display',serif;margin:2.5rem 0 1rem;font-size:2rem}
.entry-content h3{font-family:'Playfair Display',serif;margin:2rem 0 .75rem;font-size:1.5rem}
.entry-content a{color:var(--pw-primary);text-decoration:underline}
.entry-content img{margin:2rem 0;border-radius:1rem}
.entry-content blockquote{border-left:4px solid var(--pw-primary);padding-left:1.25rem;margin:2rem 0;font-style:italic;color:var(--pw-muted-fg)}

/* 404 */
.not-found{padding:8rem 1.5rem;text-align:center}
.not-found h1{font-family:'Playfair Display',serif;font-size:6rem;font-weight:700;color:var(--pw-primary)}
.not-found p{margin-top:1rem;color:var(--pw-muted-fg);font-size:1.25rem}

/* Utility */
.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.mt-10{margin-top:2.5rem}.mt-14{margin-top:3.5rem}
.mb-5{margin-bottom:1.25rem}
