


/* --- 2026 Layout Overrides - Conflict-Free --- */

body.sr {
  background-color: #f2f2f2;
  background-image: url('/images/bg-1.webp');
  background-repeat: repeat;
  background-position: top left;
}

@media (max-width: 768px) {
  body.sr {
    background-image: none;
  }
}

/* Main Page Container */
.revamp-wrapper { 
    max-width: 942px; 
    margin: 0 auto; 
    background: #fff; 
    box-shadow: 0 0 15px rgba(0,0,0,0.1); 
    font-family: Arial, sans-serif;
}

/* Content Area Padding */
.revamp-content { 
    padding: 30px; 
    display: flex; 
    flex-direction: column; 
}

/* Modern High-Contrast Nav (Desktop) */
.revamp-nav { 
    background: #222 !important; 
    padding: 12px; 
    text-align: center;
    border-top: 2px solid #b89b5e;
    border-bottom: 2px solid #b89b5e;
}

.revamp-nav .nav-link { 
    color: #fff !important; 
    text-decoration: none; 
    padding: 0 15px; 
    font-weight: bold; 
    font-size: 14px; 
    text-transform: uppercase;
}

.revamp-nav .nav-link:hover { 
    color: #ff5a00 !important; 
}

/* Breadcrumbs */
.crumbs {
    white-space: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    display: block;
    padding: 10px 15px;
    margin: 10px 0;
    font-size: 13px;
    border-top: 1px solid #666 !important;
    border-bottom: 1px solid #666 !important;
    background: #fafafa;
}

/* --- MOBILE OPTIMIZATIONS (iPhone/Android) --- */
@media (max-width: 600px) { 

    /* Layout & Padding Adjustments */
    .revamp-wrapper { 
        width: 100%; 
    } 

    .revamp-content { 
        padding: 15px; 
    }

    /* SWIPER NAV: Forces menu into one thin, scrollable row */
    .revamp-nav { 
        white-space: nowrap; 
        overflow-x: auto;    
        -webkit-overflow-scrolling: touch; 
        display: block;      
        padding: 12px 5px;   
        text-align: left;
    }

    .revamp-nav .nav-link { 
        display: inline-block; 
        padding: 5px 15px;     
        font-size: 13px;       
        border-bottom: none;
    }

    /* Clean UI: Hide scrollbars while keeping swipe functionality */
    .revamp-nav::-webkit-scrollbar,
    .crumbs::-webkit-scrollbar {
        display: none;
    }
    
    .revamp-nav, 
    .crumbs {
        scrollbar-width: none;
    }
}



/* Quick Verdict / Takeaway Box */
.revamp-takeaway { 
    background: #fdfdfd; 
    border-left: 6px solid #d4af37; 
    padding: 25px; 
    margin: 25px 0; 
    border-radius: 4px; 
}



/* --- TEST VERSION: window calculator v2 --- */

#window_calc_v2 {
  max-width: 420px;
  margin: 20px auto;
  background: #f5f7fa;
  border: 1px solid #2a6ebb;
  border-radius: 8px;
  overflow: hidden;
  font-family: "Lora", serif;
  font-size: 15px;
  color: #333;
}

/* Header */
#window_calc_v2 .calc-header {
  background: #2a6ebb;
  color: #fff;
  padding: 16px 20px;
}

#window_calc_v2 .calc-header h3 {
  margin: 0;
  font-size: 20px;
  line-height: 1.2;
  color: #fff;
}

#window_calc_v2 .calc-header p {
  margin: 6px 0 0;
  font-size: 13px;
  color: #e6eef8;
}

/* Content */
#window_calc_v2 .content {
  padding: 18px 20px 20px;
}

#window_calc_v2 form {
  margin: 0;
}

#window_calc_v2 #calc_error {
  margin-bottom: 10px;
}

/* Fields */
#window_calc_v2 .calc-field {
  margin-bottom: 16px;
}

#window_calc_v2 label {
  display: block;
  margin-bottom: 6px;
  font-weight: bold;
}

#window_calc_v2 select,
#window_calc_v2 input[type="text"] {
  width: 100%;
  padding: 9px 10px;
  border: 1px solid #bbb;
  border-radius: 4px;
  background: #fff;
  font-size: 15px;
  box-sizing: border-box;
}

/* Inline fields */
#window_calc_v2 .calc-inline {
  display: flex;
  gap: 12px;
}

#window_calc_v2 .calc-half {
  flex: 1;
}

/* Submit */
#window_calc_v2 .calc-submit {
  margin-top: 18px;
  text-align: center;
}

#window_calc_v2 .calc-btn {
  width: 100%;
  padding: 12px;
  background: #2a6ebb;
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  box-sizing: border-box;
}

#window_calc_v2 .calc-btn:hover {
  background: #1f5a99;
}

/* Trust text */
#window_calc_v2 .calc-trust {
  margin-top: 12px;
  font-size: 13px;
  text-align: center;
  color: #555;
}


#window_calc_v2 .calc-btn::after {
  content: "→";
  margin-left: 8px;
  transition: transform 0.2s ease;
}

#window_calc_v2 .calc-btn:hover::after {
  transform: translateX(3px);
}

/* Mobile */
@media (max-width: 600px) {
  #window_calc_v2 {
    max-width: 100%;
  }

  #window_calc_v2 .calc-inline {
    display: block;
  }

  #window_calc_v2 .calc-half {
    margin-bottom: 12px;
  }

  #window_calc_v2 .calc-half:last-child {
    margin-bottom: 0;
  }
  
  #window_calc_v2 .calc-title {
  margin: 0;
  font-size: 23px;
  line-height: 1.2;
  font-weight: bold;
  color: #fff;
}
}

/* Fonts */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('https://fonts.gstatic.com/s/lora/v26/0QIvMX1D_JOuMwr7I_FMl_E.woff2') format('woff2');
}

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('https://fonts.gstatic.com/s/montserrat/v29/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2') format('woff2');
}


body { margin: 0; font-family: sans-serif; }

/* Main page title */
h1 {
  font-family: "Montserrat", Arial, sans-serif;
  font-size: clamp(26px, 3.5vw, 28px);
  line-height: 1.2;
  color: #32567d;
  text-align: center;
  margin: 20px 0;
}

/* Major page sections */
h2 {
  font-family: "Montserrat", Arial, sans-serif;
  font-size: clamp(21px, 2.6vw, 24px);
  line-height: 1.3;
  color: #32567d;
  font-weight: 600;
  margin: 34px 0 20px;
  padding-left: 14px;
  border-left: 4px solid #d4af37;
}

/* Subsections */
h3 {
  font-family: "Montserrat", Arial, sans-serif;
  font-size: clamp(18px, 2.2vw, 20px);
  line-height: 1.35;
  color: #49729b;
  font-weight: 600;
  margin: 26px 0 12px;
}

/* Small section labels */
h4 {
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 17px;
  line-height: 1.35;
  color: #32567d;
  font-weight: 600;
  margin: 20px 0 10px;
}

/* main text */
.m {
  font-family: "Lora", serif;
  font-size: 18px;
  color: #666666;
  line-height: 50px;
  margin: 5px 10px 0px 20px;
  text-align: justify;
}

/* byline */
.byline {
  font-family: "Lora", serif;
  font-size: 17px;
  color: #666666;
  line-height: 50px;
  margin: 5px 10px 0px 40px;
  text-align: left;
}



/* =========================
   PRICE TABLE (DESKTOP)
========================= */

.table-wrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; /* smooth iPhone scrolling */
}

.price-table {
    width: 100%;
    margin: 20px 0;
    overflow-x: auto;
}

.price-table table {
    width: 100%;
    border-collapse: collapse;
    font-family: "Lora", serif;
    font-size: 16px;
    color: #666;
}

/* Table cells */
.price-table th,
.price-table td {
    padding: 12px;
    border: 1px solid #ddd;
    text-align: left;
}

/* Header */
.price-table th {
    background: #6a8fb5;
    color: #fff;
    font-weight: bold;
}

/* Brand links */
.price-table td:first-child a {
    font-size: 16px;
}

/* Hover effect (desktop only feel) */
.price-table tr:hover {
    background: #f9fbfd;
    transition: background 0.2s ease-in-out;
}


/* =========================
   MOBILE (CARD STYLE)
========================= */

@media (max-width: 768px) {

    /* Hide header */
    .price-table thead {
        display: none;
    }

    /* Row becomes card */
    .price-table tr {
        display: block;
        margin-bottom: 15px;
        border: 1px solid #d4af37; /* gold accent */
        border-radius: 5px;
        padding: 10px;
        background: #fff;
    }

    /* Cells stack */
    .price-table td {
        display: block;
        text-align: right;
        padding: 10px;
        border: none;
        border-bottom: 1px solid #eee;
        position: relative;
    }

    /* Labels on left */
    .price-table td::before {
        content: attr(data-label);
        position: absolute;
        left: 10px;
        width: 50%;
        text-align: left;
        font-weight: bold;
        color: #333;
    }

    /* Remove last border */
    .price-table td:last-child {
        border-bottom: none;
    }
}



/* faq section */
.faq-section details {
  margin-bottom: 1em;
  border: 1px solid #ddd;
  border-radius: 5px;
  padding: 0.5em 1em;
}

.faq-section summary {
  font-weight: bold;
  cursor: pointer;
  outline: none;
  font-family: "Lora", serif;
  font-size: 18px;
  color: #666666;
  line-height: 50px;
  margin: 5px 10px 0px 20px;
  text-align: justify;
}

.faq-section details[open] {
  background-color: #f9f9f9;
}


/* faq accordion Styling */
details {
  background-color: #f9f9f9;
  border: 1px solid #d4af37; /* Match your gold theme */
  border-radius: 4px;
  margin-bottom: 10px;
  padding: 10px;
  transition: all 0.3s ease;
}

details[open] {
  background-color: #fff;
  border-bottom: 3px solid #d4af37;
}

summary {
  font-weight: bold;
  font-size: 1.1rem;
  cursor: pointer;
  list-style: none; /* Hides the default arrow in some browsers */
  position: relative;
  padding-left: 25px;
}

/* Custom indicator icon */
summary::before {
  content: "▶";
  position: absolute;
  left: 0;
  color: #d4af37;
  transition: transform 0.2s;
}

details[open] summary::before {
  transform: rotate(90deg);
}

summary:hover {
  color: #d4af37;
}


/* My Take */
.quick-verdict {
  background: #f9f9f9;
  padding: 18px;
  border-left: 8px solid #ff6a00;
  margin-bottom: 20px;
  line-height: 1.6;
}


/* CTA Button */

/* Container */
.find-local-pros-btn-container {
  text-align: center;
  width: 100%;
  padding: 45px 0 1px;
}

/* Button */
.find-local-pros-btn {
  display: inline-block;

  /* Gradient = higher CTR than flat colors */
  background: linear-gradient(135deg, #ff6a00, #ff3c00);

  color: #ffffff;
  font-family: Arial, sans-serif;
  font-size: 20px;
  font-weight: 700;
  text-decoration: none;

  padding: 16px 45px;
  border-radius: 50px;

  text-align: center;

  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.3s ease;

  cursor: pointer;
}

/* Hover effect (slightly more “clickable”) */
.find-local-pros-btn:hover {
  background: linear-gradient(135deg, #ff5a00, #e63600);
  transform: translateY(-2px) scale(1.02);
}

/* Arrow */
.btn-arrow {
  margin-left: 8px;
  font-size: 22px;
  vertical-align: middle;
}

/* Subtext */
.find-local-pros-subtext {
  font-size: 13px;
  color: #666;
  margin-top: 10px;
}

/* Mobile optimization */
@media (max-width: 600px) {
  .find-local-pros-btn {
    font-size: 18px;
    padding: 14px 30px;
  }
}


/* modernize form center */

.c { text-align: center; }


/* pop up bar at bottom */
#popup-bar-2 {
  font-family: "Lora", serif;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #990000;
  color: white;
  text-align: center;
  padding: 15px;
  font-size: 18px;
  display: none;
  z-index: 9999;
}

#popup-bar-2 a {
  font-family: "Lora", serif;
  color: white;
  font-weight: bold;
  margin-left: 10px;
  text-decoration: underline;
}

.site-header {
  background: linear-gradient(to bottom, #ff6a00 0%, #e1f1fd 100%);
  border-top: 3px solid #b89b5e;
  border-bottom: 1px solid #e5e5e5;
}

.site-header-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 14px 18px; /* slightly tighter */
  text-align: center;
  background: rgba(255,255,255,0.45); /* slightly stronger */
  border-radius: 6px;
}

.site-logo {
  display: inline-block;
  text-decoration: none;
  color: #ff6a00;
}

.site-logo:hover,
.site-logo:focus,
.site-logo:active {
  text-decoration: none;
}

/* MAIN TITLE */
.site-logo-main {
  display: block;
  font-family: "Lora", serif;
  font-size: clamp(28px, 4vw, 40px); /* slightly tighter max */
  font-weight: 700;
  line-height: 1.05; /* tighter */
  letter-spacing: -0.4px;
  margin-bottom: 2px; /* tighter spacing */
}

/* TAGLINE */
.site-logo-tagline {
  display: block;
  margin-top: 2px; /* reduced gap */
  font-family: "Montserrat", Arial, sans-serif;
  font-size: clamp(12px, 1.8vw, 14px); /* slightly smaller */
  font-weight: 500;
  color: #555;
  letter-spacing: 0.4px;
}

/* HOVER EFFECT (subtle, premium) */
.site-logo:hover .site-logo-main {
  color: #b45309;
}

/* MOBILE */
@media (max-width: 600px) {
  .site-header-inner {
    padding: 12px 12px;
  }

  .site-logo-main {
    font-size: 26px;
  }

  .site-logo-tagline {
    font-size: 12px;
  }
}







img {
  max-width: 100%;
  height: auto;
  display: block;
}




/* image container */

.imagecontainer {
  display: flex;
  justify-content: center;
  margin: 25px 0;
}

.imagecontainer img {
  max-width: 100%;
  height: auto;
}


hr.dashed-gold {
  border-color: #9416f6;
  border-style: dashed;
  border-width: 1px 0 0 0;
  margin-top: 20px;
  margin-bottom: 20px;
}



.callout {
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 16.5px;
  line-height: 1.6;
  color: #333;
  
  margin: 24px 0;
  padding: 18px 20px;
  
  list-style: none;
  background-color: #fcfcfc;
  border: 1px solid #eee;
  border-left: 5px solid #d4af37;
  border-radius: 4px;
}

/* List items */
.callout li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 10px;
}

/* Checkmark icon */
.callout li::before {
  content: "✓";
  color: #2e7d32;
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 2px;
}

/* Label text */
.callout li strong {
  color: #000;
  min-width: 160px;
  display: inline-block;
}

.highlight {font-family:'Montserrat', serif;text-align:justify;font-size:22px; /*color:#8ABB4B;*/color:#789f46; line-height:36px; font-weight:bold;}


.cr a {
  padding: 15px 20px;
  line-height: 30px;
}

.style2 {
  font-family: "Montserrat", serif;
  font-size: 13px;
  color: #ffffff;
  text-decoration: none;
}






/* Undecided If Necessary Below This Line */



/* Links */
a[href^="#"] {
  padding: 0px 10px;
}
a {
  font-family: "Lora", serif;
  font-size: 18px;
  line-height: 20px;
  color: #993300;
}
a.cr {
  font-family: "Lora", serif;
  font-size: 18px;
  line-height: 23px;
  color: #6a8fb5;
}



/* Inline Styles */
p.partners {
  margin: 0px 0px 0px 40px;
  font-family: "Lora", serif;
  font-size: 12px;
}
.small {
  font-family: "Lora", serif;
  font-size: 10px;
}







.o {
  font-family: "Lora", serif;
  font-size: 17px;
  color: #333333;
  line-height: 24px;
  margin: 5px 10px 0px 20px;
  text-align: justify;
}
.image {
  text-align: center;
}

.style3 {
  font-family: "Lora", serif;
  font-size: 18px;
  color: #333333;
  text-decoration: none;
  margin: 20px 50px 20px 50px;
  
}
.style4 {
  font-family: "Lora", serif;
  font-size: 24px;
  color: #000066;
  font-weight: bold;
}
.style5 {
    font-family: "Montserrat", serif;
  font-size: 26px;
  color: #49729b;
  font-weight: bold;
  margin: 30px 0px 40px 20px;
    text-align: center;
}
.style55 {
    font-family: "Montserrat", serif;
  font-size: 26px;
  color: #49729b;
  font-weight: bold;
  margin: 10px 0px 10px 20px;
    text-align: center;
}
.style6 {
    font-family: "Montserrat", serif;
  font-size: 16px;
  color: #49729b;
  font-weight: bold;
  margin: 30px 0px 40px 20px;
    text-align: center;
}
.style7 {
  font-family: tahoma;
  font-size: 12px;
  color: #333333;
}
.style8 {
  color: #333333;
}
.style9 {
  color: #990000;
  font-weight: bold;
  font-family: "Lora";
  font-size: 16px;
  text-align: center;
}

.callout2 {font-family:'Montserrat', serif;text-align:justify;font-size:22px;color:#333333;text-align:center;line-height:36px;margin:30px 0px 30px 0px;}

.style10 {
  font-family: "Lora", serif;
  font-size: 11px;
  color: #333333;
  margin: 5px;
  font-weight: bold;
}

.style12 {
  color: #336699;
  font-weight: bold;
  font-family: "Lora";
  font-size: 16px;
  text-align: center;
  margin: 20px 0px 20px 0px;
}
.style13 {
  color: #336699;
  font-weight: bold;
  font-family: "Lora";
  font-size: 19px;
  line-height: 32px;
  text-align: center;
}
.style14 {
    font-family: "Montserrat", serif;
  font-size: 20px;
  color: #49729b;
  font-weight: bold;
  margin: 30px 0px 40px 20px;
    text-align: center;
}

.style15 {
  color: #FF9933;
  color: #cc7722;
  font-weight: bold;
  font-family: "Lora";
  font-size: 26px;
  text-align: center;
}
.style16 {
  color: #FF9966;
  color: #cc7733;
  font-weight: bold;
  font-family: "Lora";
  font-size: 17px;
  text-align: center;
}
.caption {
  font-family: "Lora", serif;
  font-size: 12px;
  color: #333333;
  font-weight: bold;
  line-height: 16px;
}
.cr {
  margin: 30px 0px 30px 0px;
  font-family: "Lora", serif;
  font-size: 18px;
  line-height: 20px;
  /*color: #6a8fb5;*/
  color: #557799;
  text-align: center;
}
.indented {
  font-family: "Montserrat", serif;
  font-size: 15px;
  color: #336699;
  text-align: center;
  margin: 30px 0px 30px 0px;
}
.highlight {
  background-color: #9cc;
}

.price {font-family:'Montserrat', serif;font-size:22px; color:#990000; text-align:center; margin:20px 0px 20px 0px;}

.errorSpan {
  color: red;
  font-weight: bold;
  display: none;
}




.table-style-1 {
  font-family: "Lora", serif;
  border-radius: 10px;
  border-collapse: collapse;
  width: 95%;
  margin: 20px auto;
  overflow: hidden;
}
.table-style-1 tr:nth-child(odd) {
	background-color: #cddeef;
}
.table-style-1 tr:nth-child(even) {
	background-color: #f5f5f5;
}

.table-style-1 th,
.table-style-1 td  {
  text-align: center;
  border: 0 none transparent;
  padding: 18px;
}

.table-style-1 th,
.table-style-1 tr:nth-child(1) td {
  padding-top: 12px;
  padding-bottom: 12px;
  background-color: #49729b;
  color: white;
	font-size: 1.1em;
}



/* ========================================
   REVIEW BOX TEMPLATE
======================================== */

.review-box {
    background-color: #f9f9f9;
    padding: 20px;
    border-left: 5px solid #d4af37;
    margin-bottom: 25px;
}

.project-meta {
    margin-bottom: 15px;
}

.editor-reply {
    background: #fff;
    border: 1px dashed #ccc;
    padding: 15px;
    margin-top: 15px;
}