/*
Theme Name: Venny Hardwood Theme
Theme URI: https://vennyshardwoodfloors.com/
Author: Venny's Hardwood Floors
Description: Lightweight custom theme for Venny's Hardwood Floors. Compatible with WPBakery and the site's custom Venny/Super plugins.
Version: 1.0.4
Text Domain: venny-hardwood
*/

:root{
  --venny-primary:#b6702a;
  --venny-primary-dark:#96591f;
  --venny-text:#2f2f2f;
  --venny-muted:#777;
  --venny-bg:#fff;
  --venny-footer:#2f2f2f;
  --venny-max:1170px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--venny-text);background:var(--venny-bg);font-family:"Open Sans",Arial,sans-serif;font-size:14px;line-height:1.65}
a{color:var(--venny-primary);text-decoration:none}
a:hover{color:var(--venny-primary-dark)}
img{max-width:100%;height:auto}
h1,h2,h3,h4,h5,h6,.entry-title,.sbc-section-title__title{font-family:"Montserrat","Open Sans",Arial,sans-serif;font-weight:700;letter-spacing:-.02em}

.venny-container{width:min(var(--venny-max),calc(100% - 40px));margin:0 auto}
.site-main{min-height:50vh}
.site-main .entry-content{width:100%;overflow:hidden}
.entry-content:after{content:"";display:block;clear:both}

/* Header */
.site-header{position:absolute;top:0;left:0;right:0;z-index:9999;background:linear-gradient(to bottom,rgba(0,0,0,.50),rgba(0,0,0,0));color:#fff}
.admin-bar .site-header{top:32px}
.site-header__inner{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:10px 0}
.site-branding{display:flex;align-items:center;min-width:100px}
.site-branding img{max-height:70px;width:auto;display:block}
.venny-default-logo img{width:62px;height:62px;object-fit:cover;border-radius:50%;box-shadow:0 0 0 2px rgba(255,255,255,.12)}
.site-title{margin:0;font-size:22px;font-weight:700}
.site-title a{color:#fff}
.primary-nav{margin-left:auto}
.primary-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:24px}
.primary-nav li{margin:0;padding:0}
.primary-nav a{display:block;color:#fff;font-family:"Montserrat","Open Sans",sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.15px;padding:10px 0;position:relative}
.primary-nav a:after{content:"";position:absolute;left:0;right:0;bottom:3px;height:2px;background:var(--venny-primary);transform:scaleX(0);transform-origin:center;transition:transform .22s ease}
.primary-nav a:hover:after,.primary-nav .current-menu-item>a:after,.primary-nav .current_page_item>a:after{transform:scaleX(1)}
.menu-toggle{display:none;border:1px solid rgba(255,255,255,.55);background:rgba(0,0,0,.2);color:#fff;border-radius:3px;padding:8px 11px;font-size:22px;line-height:1;cursor:pointer}

body:not(.home) .site-header{background:#242424;position:absolute}
body:not(.home) .site-main{padding-top:92px}

/* Page title bar */
.entry-header.venny-page-hero{width:100%;margin:0;background-color:#3a2a20;background-position:center;background-size:cover;background-repeat:no-repeat;min-height:155px;display:flex;align-items:center}
.venny-page-hero .venny-container{width:min(var(--venny-max),calc(100% - 40px))}
.entry-title{margin:0;color:#fff;font-size:34px;line-height:1.2;text-shadow:0 1px 2px rgba(0,0,0,.25)}

/* Restore classic constrained layout for ordinary WPBakery rows. */
.entry-content > .vc_row:not([data-vc-full-width]){
  width:min(var(--venny-max),calc(100% - 40px));
  margin-left:auto!important;
  margin-right:auto!important;
}
.entry-content > .vc_row[data-vc-full-width]{width:100%}
.vc_row[data-vc-full-width]{overflow:visible}

/* Buttons */
a.button,button.button,input[type="submit"],input[type="button"],input[type="reset"],.wpcf7 input[type="submit"],.wpcf7-submit,.vc_btn3,.vc_general.vc_btn3,.button.small,.button.radius,button[type="submit"]{
  display:inline-flex!important;align-items:center;justify-content:center;min-height:42px;padding:11px 24px!important;border:0!important;border-radius:2px!important;background-color:var(--venny-primary)!important;background-image:none!important;color:#fff!important;font-family:"Montserrat","Open Sans",sans-serif!important;font-size:12px!important;font-weight:700!important;line-height:1.2!important;text-transform:uppercase;letter-spacing:.25px;text-shadow:none!important;box-shadow:none!important;cursor:pointer;transition:background-color .22s ease,transform .22s ease
}
a.button:hover,button.button:hover,input[type="submit"]:hover,input[type="button"]:hover,input[type="reset"]:hover,.wpcf7 input[type="submit"]:hover,.wpcf7-submit:hover,.vc_btn3:hover,.vc_general.vc_btn3:hover,.button.small:hover,.button.radius:hover,button[type="submit"]:hover{
  background-color:var(--venny-primary-dark)!important;color:#fff!important;transform:translateY(-1px)
}
a.button:focus,button.button:focus,input[type="submit"]:focus,.wpcf7 input[type="submit"]:focus,.vc_btn3:focus{
  outline:2px solid rgba(182,112,42,.35);outline-offset:2px
}

/* Forms / Contact Form 7 */
.wpcf7{width:min(900px,100%);margin:0 auto}
.wpcf7 form{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px 20px}
.wpcf7 form > p{grid-column:1/-1;margin:0}
.wpcf7 .large-4.columns{grid-column:span 4;width:auto!important;float:none!important;padding:0!important}
.wpcf7 .large-12.columns{grid-column:1/-1;width:auto!important;float:none!important;padding:0!important}
.wpcf7 input[type="text"],.wpcf7 input[type="email"],.wpcf7 input[type="tel"],.wpcf7 input[type="url"],.wpcf7 input[type="number"],.wpcf7 input[type="date"],.wpcf7 select,.wpcf7 textarea{
  width:100%;min-height:46px;padding:11px 13px;border:1px solid #d9d9d9;border-radius:2px;background:#fff;color:#333;font:inherit;outline:none;transition:border-color .2s ease,box-shadow .2s ease
}
.wpcf7 textarea{min-height:150px;resize:vertical}
.wpcf7 input:focus,.wpcf7 select:focus,.wpcf7 textarea:focus{border-color:var(--venny-primary);box-shadow:0 0 0 2px rgba(182,112,42,.12)}
.wpcf7 .text-center{text-align:center}
.wpcf7 .text-center .wpcf7-submit{min-width:165px}

/* Super Business service hover */
.sbc-service__media{overflow:hidden}
.sbc-service__image{display:block;width:100%;transition:transform .35s ease,filter .35s ease;transform:scale(1)}
.sbc-service:hover .sbc-service__image{transform:scale(1.06);filter:brightness(.90)}
.sbc-service__title{transition:color .30s ease}
.sbc-service:hover .sbc-service__title{color:var(--venny-primary)!important}

/* Keep single images from expanding beyond their requested size. */
.wpb_single_image .vc_single_image-wrapper{max-width:100%}
.wpb_single_image img{height:auto}

/* Footer */
.site-footer{position:relative;background-color:var(--venny-footer);background-image:linear-gradient(rgba(35,35,35,.88),rgba(35,35,35,.88)),url('https://vennyshardwoodfloors.com/wp-content/uploads/2026/08/laminate-c.jpg');background-repeat:no-repeat;background-position:center center;background-size:cover;color:rgba(255,255,255,.88);margin-top:0}
.footer-widgets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px;padding:55px 0 38px}
.footer-widget,.footer-widget p,.footer-widget li,.footer-widget span{color:rgba(255,255,255,.88)}
.footer-widget h2,.footer-widget h3,.footer-widget h4{color:#fff}
.footer-widget a{color:rgba(255,255,255,.92)}
.footer-widget a:hover{color:#d19a52}
.site-footer__bottom{border-top:1px solid rgba(255,255,255,.14);padding:18px 0 24px;text-align:center}
.footer-nav ul{list-style:none;margin:0 0 16px;padding:0;display:flex;justify-content:center;flex-wrap:wrap}
.footer-nav li{padding:0 24px;line-height:12px;border-right:1px solid rgba(255,255,255,.35)}
.footer-nav li:last-child{border-right:0}
.footer-nav a{color:#f5f5f5;font-size:14px;font-weight:500;letter-spacing:.2px}
.footer-nav a:hover{color:#d19a52}
.site-info{color:rgba(255,255,255,.72);font-size:13px}

/* Sidebar */
.content-with-sidebar{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:40px;width:min(var(--venny-max),calc(100% - 40px));margin:40px auto}
.widget{margin-bottom:28px}
.widget-title{font-size:22px;margin:0 0 14px}

@media (max-width:782px){.admin-bar .site-header{top:46px}}
@media (max-width:900px){
  .site-header__inner{min-height:76px}
  .site-branding img{max-height:56px}
  .venny-default-logo img{width:52px;height:52px}
  .menu-toggle{display:block}
  .primary-nav{display:none;position:absolute;top:100%;left:0;right:0;background:rgba(24,24,24,.98);padding:14px 20px 20px}
  .primary-nav.is-open{display:block}
  .primary-nav ul{display:block}
  .primary-nav li{border-bottom:1px solid rgba(255,255,255,.1)}
  .primary-nav li:last-child{border-bottom:0}
  .primary-nav a{padding:12px 0}
  body:not(.home) .site-main{padding-top:76px}
  .footer-widgets{grid-template-columns:1fr}
  .content-with-sidebar{grid-template-columns:1fr}
}
@media (max-width:767px){
  .venny-container{width:min(100% - 28px,var(--venny-max))}
  .entry-content > .vc_row:not([data-vc-full-width]){width:min(100% - 28px,var(--venny-max))}
  .entry-header.venny-page-hero{min-height:120px}
  .entry-title{font-size:28px}
  .wpcf7 .large-4.columns{grid-column:1/-1}
  .footer-nav li{display:block;width:100%;border-right:0;padding:8px 0;line-height:1.5}
  .site-footer{background-position:center top}
}

/* =========================================================
   Venny Hardwood Theme 1.0.2 - visual refinement pass
   ========================================================= */

/* More distinctive display typography for section/page titles. */
h1,h2,h3,h4,h5,h6,
.entry-title,
.sbc-section-title__title,
.sbc-section-title h2,
.widget-title {
  font-family:"Raleway","Open Sans",Arial,sans-serif;
}

/* Transparent Venny face logo: larger, with no artificial circle/background. */
.site-header__inner{
  min-height:112px;
}
.site-branding{
  min-width:128px;
}
.venny-default-logo{
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
.venny-default-logo img{
  width:120px!important;
  height:auto!important;
  max-height:104px!important;
  object-fit:contain!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
body:not(.home) .site-main{
  padding-top:112px;
}

/* Ordinary page rows need a real content container, not edge-to-edge content. */
.entry-content > .vc_row:not([data-vc-full-width]),
.home .entry-content > .vc_row:not([data-vc-full-width]){
  width:calc(100% - 80px)!important;
  max-width:1170px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  left:auto!important;
  right:auto!important;
}

/* Home: service cards and catalog get comfortable side gutters. */
.home .vc_custom_1485350712151,
.home .title-service,
.home .sbc-catalog{
  max-width:1170px;
  margin-left:auto!important;
  margin-right:auto!important;
}
.home .sbc-service{
  padding-left:8px;
  padding-right:8px;
}

/* Home CTA: centered, larger and easier to read. */
.home .vc_custom_1484601620407 .wpb_text_column .wpb_wrapper{
  max-width:1170px;
  margin:0 auto!important;
  padding:0 30px;
  text-align:center!important;
}
.home .vc_custom_1484601620407 h4{
  font-size:23px!important;
  line-height:1.45!important;
  margin:0 8px!important;
  vertical-align:middle;
}

/* Home latest projects CTA centered under all three projects. */
.home .wd-more-project{
  width:100%;
  text-align:center!important;
  margin:24px auto 0!important;
}
.home .wd-more-project .button{
  min-width:190px;
}

/* Home testimonials + contact section contained and balanced. */
.home .vc_custom_1484602008975 .vc_row_inner{
  width:calc(100% - 80px)!important;
  max-width:1170px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.home .vc_custom_1484602008975 .wpb_column{
  padding-left:15px;
  padding-right:15px;
}

/* Contact Form 7: robust layout independent of the old Foundation grid. */
.wpcf7{
  width:calc(100% - 40px)!important;
  max-width:900px!important;
  margin:0 auto!important;
}
.wpcf7-form{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:16px 20px!important;
  align-items:flex-start;
}
.wpcf7-form .large-4.columns{
  float:none!important;
  width:calc(33.333% - 14px)!important;
  padding:0!important;
  margin:0!important;
}
.wpcf7-form .large-12.columns{
  float:none!important;
  width:100%!important;
  padding:0!important;
  margin:0!important;
}
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"],
.wpcf7-form input[type="number"],
.wpcf7-form input[type="date"],
.wpcf7-form select,
.wpcf7-form textarea{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
.wpcf7-form .text-center{
  text-align:center!important;
}

/* About Us story: bring photo and copy into the same centered composition. */
.vc_custom_1451949798661{
  width:calc(100% - 80px)!important;
  max-width:1170px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.vc_custom_1451949798661 > .wpb_column{
  padding-left:18px!important;
  padding-right:18px!important;
}
.vc_custom_1451949798661 .wpb_single_image{
  text-align:center!important;
}
.vc_custom_1451949798661 .wpb_single_image img{
  max-width:100%!important;
}

/* About Us: keep clients comfortably inside the content width. */
.vc_custom_1451949717740 > .wpb_column > .vc_column-inner > .wpb_wrapper{
  width:calc(100% - 80px)!important;
  max-width:1170px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.vc_custom_1451949717740 .sbc-clients{
  gap:34px!important;
}

/* Services portfolio: two-column content should not touch browser edges. */
.vc_custom_1449155712488{
  width:calc(100% - 80px)!important;
  max-width:1170px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Preserve original uploaded size of the cleaning-service image. */
.vc_custom_1449155712488 + .vc_row .wpb_single_image img,
.wpb_single_image img{
  width:auto;
  max-width:100%!important;
}

/* Catalog itself gets an explicit centered limit even if WPBakery expands the row. */
.home .sbc-catalog{
  width:100%!important;
  max-width:1170px!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* Improve page section breathing room. */
.sbc-section-title{
  padding-left:10px;
  padding-right:10px;
}

@media (max-width:900px){
  .site-header__inner{min-height:88px}
  .venny-default-logo img{width:88px!important;max-height:76px!important}
  body:not(.home) .site-main{padding-top:88px}
  .entry-content > .vc_row:not([data-vc-full-width]),
  .home .entry-content > .vc_row:not([data-vc-full-width]),
  .vc_custom_1451949798661,
  .vc_custom_1449155712488{
    width:calc(100% - 40px)!important;
  }
  .home .vc_custom_1484602008975 .vc_row_inner,
  .vc_custom_1451949717740 > .wpb_column > .vc_column-inner > .wpb_wrapper{
    width:calc(100% - 40px)!important;
  }
  .wpcf7-form .large-4.columns{
    width:100%!important;
  }
}

@media (max-width:600px){
  .site-branding{min-width:92px}
  .venny-default-logo img{width:80px!important;max-height:70px!important}
  .home .vc_custom_1484601620407 h4{
    display:block!important;
    font-size:19px!important;
    margin:7px 0!important;
    padding:0!important;
  }
  .home .vc_custom_1484601620407 .wpb_text_column .wpb_wrapper{
    padding:0 18px;
  }
}


/* =========================================================
   Venny Hardwood Theme 1.0.3 - layout and typography pass
   ========================================================= */

/* Header branding: use the supplied transparent PNG at a clearly visible size. */
.site-header__inner{
  min-height:132px!important;
}
.site-branding{
  min-width:150px!important;
}
.site-branding .venny-brand-logo{
  display:block;
  width:132px!important;
  height:auto!important;
  max-height:122px!important;
  object-fit:contain!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Main navigation: slightly larger and easier to read. */
.primary-nav ul{gap:28px!important}
.primary-nav a{
  font-size:14px!important;
  letter-spacing:.2px!important;
  padding:12px 0!important;
}

/* Non-home title bar: real hardwood background with dark overlay. */
.entry-header.venny-page-hero{
  min-height:150px!important;
  background-position:center center!important;
  background-size:cover!important;
}
.entry-title{
  font-size:36px!important;
}

/* Home service area: slightly narrower so outer gutters and inner gaps feel balanced. */
.home .row.text-center{
  width:100%!important;
  max-width:1080px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.home .row.text-center > .wpb_column,
.home .row.text-center > .vc_column_container{
  padding-left:10px!important;
  padding-right:10px!important;
}
.home .sbc-service{
  padding-left:0!important;
  padding-right:0!important;
}

/* About Us story: more readable copy and heading. */
.vc_custom_1451949798661 .wpb_text_column,
.vc_custom_1451949798661 .wpb_text_column p,
.vc_custom_1451949798661 .wpb_text_column li{
  font-size:16px!important;
  line-height:1.72!important;
}
.vc_custom_1451949798661 .wpb_text_column h5{
  font-size:20px!important;
  line-height:1.35!important;
  margin-bottom:14px!important;
}

/* Center the requested About Us section titles. */
.vc_custom_about_facts .sbc-section-title,
.vc_custom_1451949760782 .sbc-section-title,
.vc_custom_about_testimonials .sbc-section-title{
  text-align:center!important;
}
.vc_custom_about_facts .sbc-section-title h2,
.vc_custom_about_facts .sbc-section-title p,
.vc_custom_1451949760782 .sbc-section-title h2,
.vc_custom_1451949760782 .sbc-section-title p,
.vc_custom_about_testimonials .sbc-section-title h2,
.vc_custom_about_testimonials .sbc-section-title p{
  text-align:center!important;
}

/* Services intro copy: larger and more legible. */
.vc_custom_1449155722393 .sbc-section-title p{
  font-size:17px!important;
  line-height:1.6!important;
}

/* Home quote/contact panel: keep copy white against the dark image. */
.home .vc_custom_1484602008975 .wpcf7,
.home .vc_custom_1484602008975 .wpcf7 p,
.home .vc_custom_1484602008975 .wpcf7 label,
.home .vc_custom_1484602008975 .wpcf7 strong,
.home .vc_custom_1484602008975 .wpcf7 h1,
.home .vc_custom_1484602008975 .wpcf7 h2,
.home .vc_custom_1484602008975 .wpcf7 h3,
.home .vc_custom_1484602008975 .wpcf7 h4,
.home .vc_custom_1484602008975 .wpcf7 h5,
.home .vc_custom_1484602008975 .wpcf7 h6{
  color:#fff!important;
}
.home .vc_custom_1484602008975 .wpcf7 input,
.home .vc_custom_1484602008975 .wpcf7 textarea,
.home .vc_custom_1484602008975 .wpcf7 select{
  color:#333!important;
}

/* Gallery: constrain the grid so 12 images can be seen much more comfortably. */
.venny-gallery{
  width:calc(100% - 60px)!important;
  max-width:1170px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.venny-gallery .venny-gallery__grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
}
.venny-gallery .venny-gallery__item{
  aspect-ratio:4/3!important;
}

@media (max-width:1100px){
  .site-branding .venny-brand-logo{width:110px!important;max-height:102px!important}
  .primary-nav a{font-size:13px!important}
  .primary-nav ul{gap:20px!important}
  .home .row.text-center{max-width:980px!important}
}
@media (max-width:900px){
  .site-header__inner{min-height:92px!important}
  .site-branding .venny-brand-logo{width:82px!important;max-height:78px!important}
  .venny-gallery{width:calc(100% - 36px)!important}
  .venny-gallery .venny-gallery__grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media (max-width:767px){
  .venny-gallery{width:calc(100% - 24px)!important}
  .venny-gallery .venny-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .vc_custom_1451949798661 .wpb_text_column,
  .vc_custom_1451949798661 .wpb_text_column p,
  .vc_custom_1451949798661 .wpb_text_column li{font-size:15px!important}
}


/* =========================================================
   Venny Hardwood Theme 1.0.4 - proportion and titlebar pass
   ========================================================= */

/* Home service cards: medium sizing between the earlier wide and compact versions. */
.home .row.text-center{
  width:100%!important;
  max-width:1140px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.home .row.text-center > .wpb_column,
.home .row.text-center > .vc_column_container{
  padding-left:12px!important;
  padding-right:12px!important;
}
.home .sbc-service__media{
  aspect-ratio:4/3!important;
}

/* Home latest projects: slightly smaller, centered, and visually aligned with services. */
.home .sbc-portfolio{
  width:calc(100% - 80px)!important;
  max-width:1080px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Accent the two headings in the dark Home contact/testimonial section. */
.home .vc_custom_1484602008975 .sbc-section-title__title,
.home .vc_custom_1484602008975 .sbc-section-title h1,
.home .vc_custom_1484602008975 .sbc-section-title h2,
.home .vc_custom_1484602008975 .sbc-section-title h3,
.home .vc_custom_1484602008975 .wpcf7 h1,
.home .vc_custom_1484602008975 .wpcf7 h2,
.home .vc_custom_1484602008975 .wpcf7 h3,
.home .vc_custom_1484602008975 .wpcf7 h4,
.home .vc_custom_1484602008975 .wpcf7 h5,
.home .vc_custom_1484602008975 .wpcf7 h6{
  color:var(--venny-primary)!important;
}

/* Keep ordinary copy in that dark section white. */
.home .vc_custom_1484602008975 .sbc-section-title p,
.home .vc_custom_1484602008975 .wpcf7 p,
.home .vc_custom_1484602008975 .wpcf7 label,
.home .vc_custom_1484602008975 .wpcf7 strong{
  color:#fff!important;
}

/* Page title bars: ensure the hardwood background is always visible. */
body:not(.home) .entry-header.venny-page-hero{
  background-color:#24170f!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  min-height:160px!important;
}

@media (max-width:900px){
  .home .row.text-center{max-width:920px!important}
  .home .sbc-portfolio{width:calc(100% - 40px)!important;max-width:900px!important}
}

@media (max-width:767px){
  .home .sbc-portfolio{width:calc(100% - 24px)!important}
}
