/* =============================================================================
   Clearview product page — content styles.

   Extracted verbatim from the inline <style> that used to sit in
   template-product-individual.php. Loaded by both product layouts, so the
   measuring guide, installation, warranty, specs, case studies, sticky nav
   and lightbox are maintained here once instead of in two places.

   Two things about the selectors are deliberate:

   1. Rules carry a second `body.cvsg-product-v2` selector. The v2 port copied
      this CSS and prefixed it, which put it above v2's own pv2-* design system
      in the cascade. Both selectors are listed so each layout keeps the exact
      specificity it had before the extraction.

   2. Rules the v2 port never took — page scaffolding v2 replaces with its own
      layout — are wrapped in :where(body:not(.cvsg-product-v2)) so they stay
      v1-only. :where() adds no specificity, so v1 is unaffected.

   Don't add a plain selector here expecting v2 to pick it up, and don't add
   v2-only rules here; those belong in cvsg-product-v2.css.
   ============================================================================= */


    :where(body:not(.cvsg-product-v2)) #wrap #footer {
        background-color: #333333;
        display: block;
        float: left;
        width: 100%;
    }

    :where(body:not(.cvsg-product-v2)) .container {
        width: 1400px !important;
        max-width: 100% !important;
    }

    /* ========================================
       GLOBAL STYLES & LAYOUT
    ======================================== */
    
    :where(body:not(.cvsg-product-v2)) .footer-in {
        margin: 0 auto!important;
        float: none!important;
    }

    :where(body:not(.cvsg-product-v2)) .textwidget p {
        color: #c8c9ce!important;
    }

    :where(body:not(.cvsg-product-v2)) #customtopbar {
        display:none;
    }

    :where(body:not(.cvsg-product-v2)) section:not(.top-bar) {
        display:block;
        float:left;
        width:100%;
    }

    /* ========================================
       SECTION-SPECIFIC LAYOUTS
    ======================================== */
    
    :where(body:not(.cvsg-product-v2)) section#what-is-secondary-glazing {
        padding: 0;
    }

    :where(body:not(.cvsg-product-v2)) section#benefits,
    :where(body:not(.cvsg-product-v2)) section#measuring-guide,
    :where(body:not(.cvsg-product-v2)) section#care-warranty {
        background:#f6f6f6;
    }

    :where(body:not(.cvsg-product-v2)) section#faq {
        padding-top: 0;
    }

    :where(body:not(.cvsg-product-v2)) section#specs {
        padding-bottom: 0;
    }

    :where(body:not(.cvsg-product-v2)) section#specs h2 {
        margin-bottom: 1em;
    }

    :where(body:not(.cvsg-product-v2)) section#installation-diy {
        overflow: visible;
        padding-bottom: 1rem;
    }

    /* ========================================
       PRODUCT HEADER BANNER
    ======================================== */
    :where(body:not(.cvsg-product-v2)) .product-page-header {
        background: linear-gradient(135deg, var(--dark-blue, #0A2F51) 0%, var(--light-blue, #2f8cd8) 100%);
        padding: 4em 0 4em 0;
        text-align: center;
        color: #fff;
        position: relative;
        overflow: hidden;
    }

    :where(body:not(.cvsg-product-v2)) .product-page-header::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: url('https://clearviewsg.co.uk/wp-content/uploads/2026/07/Professional-Installation.webp') center/cover;
        opacity: 0.15;
        z-index: 0;
    }

    :where(body:not(.cvsg-product-v2)) .product-page-header .container {
        position: relative;
        z-index: 1;
    }

    :where(body:not(.cvsg-product-v2)) .product-page-header h1 {
        font-size: 3em;
        font-weight: 700;
        margin-bottom: 0 !important;
        color: #fff;
    }

    @media (max-width: 768px) {
        :where(body:not(.cvsg-product-v2)) .product-page-header {
            padding: 3em 0 3.5em 0;
        }

        :where(body:not(.cvsg-product-v2)) .product-page-header h1 {
            font-size: 2em;
        }
    }

    .fifty-fifty-content .slanted-right-image,
    body.cvsg-product-v2 .fifty-fifty-content .slanted-right-image {
        height: 99.9% !important;
    }

    /* ========================================
       PRODUCT GALLERY STYLES
    ======================================== */
    :where(body:not(.cvsg-product-v2)) .main-product-container .primary-gallery {
        border-radius:10px;
        border:1px solid #9e9e9e;
        padding:3em;
        margin-bottom:1em;
        width: 95%;
        margin: 0 auto;
        margin-bottom: 2em;
		height:500px;
        overflow:hidden;
    }

    :where(body:not(.cvsg-product-v2)) .slick-slide {
        cursor: pointer;
    }

	:where(body:not(.cvsg-product-v2)) .main-product-container .primary-gallery .slick-list,
	:where(body:not(.cvsg-product-v2)) .main-product-container .primary-gallery .slick-list .slick-track {
		height:100%;
		max-width: 100%;
		display: flex;
        align-items: center;
        min-height:400px;
        overflow: hidden;
	}

    :where(body:not(.cvsg-product-v2)) .main-product-container .primary-gallery div.slick-slide {
        aspect-ratio: 1 / 1;
        display: flex;
        flex-direction: row;
        align-content: center;
        justify-content: center;
        align-items: center;
		height:100%;
        min-width: 100%;
        height:400px;
    }

    :where(body:not(.cvsg-product-v2)) .main-product-container .primary-gallery img {
        max-height:100%!important;
        width:auto;
        max-width: max-content;
        margin:0 auto;
        display:block;
        float:none;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    :where(body:not(.cvsg-product-v2)) .main-product-container .navigation-for-gallery div.slick-slide {
        border-radius:10px;
        border:1px solid #9e9e9e;
        padding:1em;
        margin: 0 1em;
        aspect-ratio: 1/1;
        display: flex;
        flex-direction: row;
        align-content: center;
        justify-content: center;
        align-items: center;
        position:relative;
    }

    :where(body:not(.cvsg-product-v2)) .main-product-container .primary-gallery div.slick-slide img {
        max-height:100%;
        width:auto;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    /* ========================================
       LAYOUT STYLES - FIFTY-FIFTY CONTENT
    ======================================== */
    
    :where(body:not(.cvsg-product-v2)) .fifty-fifty-content .slanted-left-content {
        clip-path: polygon(0 0, 100% 0, 91% 100%, 0% 100%);
        display:flex;
        float:left;
        width:60%;
        min-width:60%;
        background:#f6f6f6;
        justify-content: flex-end;
        position:relative;
        z-index:2;
    }

    :where(body:not(.cvsg-product-v2)) .fifty-fifty-content .slanted-left-content .content-width {
        width:100%;
        max-width:870px;
        float:right;
        display:block;
        padding:6em 12.5% 5em 0;
    }

    :where(body:not(.cvsg-product-v2)) .fifty-fifty-content .slanted-right-image {
        display:block;
        position:absolute;
        top:0;
        right:0;
        width:50%;
        min-width:50%;
        overflow:hidden;
        height:100%;
        z-index:1;
    }

    :where(body:not(.cvsg-product-v2)) .fifty-fifty-content .slanted-right-image img {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    /* Opposite Side */ 
    :where(body:not(.cvsg-product-v2)) .fifty-fifty-content:nth-child(even) .slanted-left-content {
        clip-path: polygon(8% 0, 100% 0, 100% 100%, 0% 100%);
        display:flex;
        float:right;
        width:60%;
        background:#f6f6f6;
        justify-content: flex-start;
        position:relative;
        z-index:2;
    }

    :where(body:not(.cvsg-product-v2)) .fifty-fifty-content:nth-child(even) .slanted-left-content .content-width {
        width:100%;
        max-width:870px;
        float:left;
        display:block;
        padding:6em 0 5em 12.5%;
    }

    :where(body:not(.cvsg-product-v2)) .fifty-fifty-content:nth-child(even) .slanted-right-image {
        display:block;
        position:absolute;
        top:0;
        left:0;
        right:auto;
        width:50%;
        overflow:hidden;
        height:100%;
        z-index:1;
    }

    /* ========================================
       LIGHTBOX STYLES
    ======================================== */
    
    .lightbox-container,
    body.cvsg-product-v2 .lightbox-container {
        width: auto!important;
    }

    .lightbox-overlay,
    body.cvsg-product-v2 .lightbox-overlay {
        z-index: 8001!important;
    }

    /* ========================================
       STICKY NAVIGATION STYLES
    ======================================== */
    .section-navigation,
    body.cvsg-product-v2 .section-navigation {
        background: #fff;
        border-bottom: 1px solid #e0e0e0;
        padding: 20px 0 1rem 0;
        position: relative; /* Start in normal flow */
        z-index: 1000; /* Lower than header z-index */
        box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        transition: all 0.3s ease;
        border-top: 1px solid var(--body);
        margin-bottom: -.5em;
    }

    .section-navigation.fixed {
        position: fixed;
        /* top is set live by JS to sit under the sticky site header */
        top: var(--pv2-sticky-nav-top, var(--cvsg-header-offset, 100px));
        left: 0;
        right: 0;
        width: 100%;
        padding: 0;
    }

    /* V2 section nav: in-flow until JS adds .fixed (then position:fixed under header) */
    body.cvsg-product-v2 .section-navigation {
        position: relative;
        top: auto;
        left: auto;
        right: auto;
        width: 100%;
        padding: 0;
    }

    body.cvsg-product-v2 .section-navigation.fixed {
        position: fixed !important;
        top: var(--pv2-section-nav-top, 0px) !important;
        left: 0;
        right: 0;
        width: 100%;
        padding: 0;
    }

    /* Spacer reserved when section nav is position:fixed — avoids body
       padding-top shifts that were contributing to product-page CLS. */
    .section-nav-placeholder,
    body.cvsg-product-v2 .section-nav-placeholder {
        display: none;
        width: 100%;
        margin: 0;
        padding: 0;
        border: 0;
    }

    .section-navigation .nav-links,
    body.cvsg-product-v2 .section-navigation .nav-links {
        display: flex;
        justify-content: center;
        list-style: none;
        margin: 0;
        padding: 0;
        gap: 2rem;
        flex-wrap: wrap;
    }

    .section-navigation .nav-link,
    body.cvsg-product-v2 .section-navigation .nav-link {
        color: #333;
        text-decoration: none;
        font-weight: 500;
        padding: 0.5rem 1rem;
        border-radius: 4px;
        transition: all 0.3s ease;
        white-space: nowrap;
    }

    .section-navigation .nav-link:hover,
    body.cvsg-product-v2 .section-navigation .nav-link:hover,
    .section-navigation .nav-link.active,
    body.cvsg-product-v2 .section-navigation .nav-link.active {
        background: var(--light-blue);
        color: #fff;
    }

    /* Mobile Dropdown Navigation */
    .nav-dropdown-mobile,
    body.cvsg-product-v2 .nav-dropdown-mobile {
        display: none;
    }

    .nav-dropdown-toggle,
    body.cvsg-product-v2 .nav-dropdown-toggle {
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0.75rem 1rem;
        background: #fff;
        border: 1px solid #e0e0e0;
        border-radius: 4px;
        cursor: pointer;
        font-size: 1rem;
        font-weight: 500;
        color: #333;
        transition: all 0.3s ease;
        margin-bottom:0!important;
    }

    .nav-dropdown-toggle:hover,
    body.cvsg-product-v2 .nav-dropdown-toggle:hover {
        border-color: var(--light-blue);
        background: #f9f9f9;
    }

    .nav-dropdown-toggle.active,
    body.cvsg-product-v2 .nav-dropdown-toggle.active {
        border-color: var(--light-blue);
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }

    .nav-current-section,
    body.cvsg-product-v2 .nav-current-section {
        flex: 1;
        text-align: left;
    }

    .nav-dropdown-arrow,
    body.cvsg-product-v2 .nav-dropdown-arrow {
        font-size: 0.75rem;
        transition: transform 0.3s ease;
        margin-left: 0.5rem;
    }

    .nav-dropdown-toggle.active .nav-dropdown-arrow,
    body.cvsg-product-v2 .nav-dropdown-toggle.active .nav-dropdown-arrow {
        transform: rotate(180deg);
    }

    .nav-dropdown-menu,
    body.cvsg-product-v2 .nav-dropdown-menu {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: #fff;
        border: 1px solid #e0e0e0;
        border-top: none;
        border-radius: 0 0 4px 4px;
        list-style: none;
        margin: 0;
        padding: 0;
        z-index: 1001;
        max-height: 400px;
        overflow-y: auto;
        box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    }

    .nav-dropdown-menu.active,
    body.cvsg-product-v2 .nav-dropdown-menu.active {
        display: block;
    }

    .nav-dropdown-menu li,
    body.cvsg-product-v2 .nav-dropdown-menu li {
        border-bottom: 1px solid #f0f0f0;
    }

    .nav-dropdown-menu li:last-child,
    body.cvsg-product-v2 .nav-dropdown-menu li:last-child {
        border-bottom: none;
    }

    .nav-dropdown-menu .nav-link,
    body.cvsg-product-v2 .nav-dropdown-menu .nav-link {
        display: block;
        padding: 0.75rem 1rem;
        color: #333;
        text-decoration: none;
        transition: all 0.3s ease;
    }

    .nav-dropdown-menu .nav-link:hover,
    body.cvsg-product-v2 .nav-dropdown-menu .nav-link:hover,
    .nav-dropdown-menu .nav-link.active,
    body.cvsg-product-v2 .nav-dropdown-menu .nav-link.active {
        background: var(--light-blue);
        color: #fff;
    }

    /* Hide desktop nav on mobile */
    @media (max-width: 960px) {
        .nav-dropdown-mobile,
        body.cvsg-product-v2 .nav-dropdown-mobile {
            display: block;
            position: relative;
        }

        .section-navigation .nav-links,
        body.cvsg-product-v2 .section-navigation .nav-links {
            display: none;
        }

        .section-navigation .container,
        body.cvsg-product-v2 .section-navigation .container {
            position: relative;
        }
    }

    /* ========================================
       PAGE SECTION STYLES
    ======================================== */
    .page-section,
    body.cvsg-product-v2 .page-section {
        padding: 4rem 0;
        min-height: 400px;
    }

    .page-section h2,
    body.cvsg-product-v2 .page-section h2 {
        font-size: 2rem;
        margin-bottom: 1.5rem;
        color: #333;
        text-align: center;
    }

    body .page-section .card-header h3,
    body.cvsg-product-v2 .page-section .card-header h3 {
        margin-bottom: 0!important;
    }

    body .page-section h3,
    body.cvsg-product-v2 .page-section h3 {
        font-size: 2rem;
        margin-bottom: 1.5rem;
        color: #333;
    }

    /* ========================================
       BENEFITS SECTION STYLES
    ======================================== */
    body .section-intro,
    body.cvsg-product-v2 .section-intro {
        text-align: center;
        font-size: 1rem!important;
        color: var(--body);
        margin-bottom: 3rem;
        max-width: 1400px!important;
        margin-left: auto;
        margin-right: auto;
    }

    .benefits-grid,
    body.cvsg-product-v2 .benefits-grid {
        display: grid !important;
        grid-template-columns: repeat(auto-fit, minmax(325px, 1fr)) !important;
        gap: 2rem !important;
        margin-top: 2rem;
    }

    .benefit-card,
    body.cvsg-product-v2 .benefit-card {
        background: #fff;
        border-radius: 12px;
        box-shadow: 0 4px 20px rgba(0,0,0,0.1);
        overflow: hidden;
        transition: all 0.3s ease;
        border: 1px solid #e0e0e0;
        text-decoration: none;
        color: inherit;
        display: block !important;
        width: 100% !important;
        height: 100%;
        box-sizing: border-box;
    }

    .benefit-card:hover,
    body.cvsg-product-v2 .benefit-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 8px 30px rgba(0,0,0,0.15);
        text-decoration: none;
        color: inherit;
    }

    .benefit-card:visited,
    body.cvsg-product-v2 .benefit-card:visited {
        color: inherit;
        text-decoration: none;
    }

    .benefit-card:focus,
    body.cvsg-product-v2 .benefit-card:focus {
        outline: 2px solid #007cba;
        outline-offset: 2px;
    }

    .benefit-image,
    body.cvsg-product-v2 .benefit-image {
        height: 200px;
        background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        overflow: hidden;
    }

    .benefit-image img,
    body.cvsg-product-v2 .benefit-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.3s ease;
    }

    .benefit-card:hover .benefit-image img,
    body.cvsg-product-v2 .benefit-card:hover .benefit-image img {
        transform: scale(1.05);
    }

    .benefit-content,
    body.cvsg-product-v2 .benefit-content {
        padding: 1.5rem;
    }

    body .benefit-content h3,
    body.cvsg-product-v2 .benefit-content h3 {
        font-size: 27px;
        margin-bottom: 1rem;
        color: #333;
        font-weight: 100;
    }

    body .benefit-content p,
    body.cvsg-product-v2 .benefit-content p {
        color: #666;
        line-height: 1.6;
        margin: 0;
        font-size: 16px;
    }
    
    .benefit-badge,
    body.cvsg-product-v2 .benefit-badge {
        position: absolute;
        top: 1rem;
        right: 1rem;
        background: var(--light-blue);
        color: white;
        padding: 0.25rem 0.75rem;
        border-radius: 20px;
        font-size: 0.8rem;
        font-weight: 600;
        z-index: 2;
    }
    
    .benefit-features,
    body.cvsg-product-v2 .benefit-features {
        list-style: none;
        padding: 0;
        margin: 0.75rem 0 0 0;
    }
    
    .benefit-features li,
    body.cvsg-product-v2 .benefit-features li {
        font-size: 0.9rem;
        color: #666;
        margin-bottom: 0.25rem;
        position: relative;
        padding-left: 1rem;
    }
    
    .benefit-features li:before,
    body.cvsg-product-v2 .benefit-features li:before {
        content: "✓";
        position: absolute;
        left: 0;
        color: var(--light-blue);
        font-weight: bold;
    }
    
    .quick-tips-grid,
    body.cvsg-product-v2 .quick-tips-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
        gap: 1rem;
        margin: 1.5rem 0;
    }
    
    .tip-card,
    body.cvsg-product-v2 .tip-card {
        background: #fff;
        border: 2px solid #e9ecef;
        border-radius: 8px;
        padding: 1.5rem;
        text-align: center;
        transition: all 0.3s ease;
    }
    
    .tip-card:hover,
    body.cvsg-product-v2 .tip-card:hover {
        border-color: var(--light-blue);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    }
    
    
    .tip-card h4,
    body.cvsg-product-v2 .tip-card h4 {
        margin: 0.5rem 0;
        color: #333;
        font-size: 1.1rem;
    }
    
    .tip-card p,
    body.cvsg-product-v2 .tip-card p {
        margin: 0;
        color: #666;
        font-size: 0.9rem;
        margin-bottom: 0!important;
    }
    
    .quick-ref-grid,
    body.cvsg-product-v2 .quick-ref-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        gap: 1.5rem;
        margin: 2rem 0;
    }
    
    .quick-ref-card,
    body.cvsg-product-v2 .quick-ref-card {
        background: #fff;
        border: 2px solid #e9ecef;
        border-radius: 12px;
        padding: 2rem;
        text-align: center;
        transition: all 0.3s ease;
    }
    
    .quick-ref-card:hover,
    body.cvsg-product-v2 .quick-ref-card:hover {
        border-color: var(--light-blue);
        transform: translateY(-3px);
        box-shadow: 0 6px 20px rgba(0,0,0,0.1);
    }
    
    .quick-ref-card h3,
    body.cvsg-product-v2 .quick-ref-card h3 {
        margin: 0 0 1rem 0;
        color: #333;
        font-size: 1.3rem;
    }
    
    .quick-ref-card p,
    body.cvsg-product-v2 .quick-ref-card p {
        margin: 0 0 1.5rem 0;
        color: #666;
        font-size: 0.95rem;
    }
    
    .toggle-btn,
    body.cvsg-product-v2 .toggle-btn {
        background: var(--light-blue);
        color: white;
        border: none;
        padding: 0.75rem 1.5rem;
        border-radius: 10px;
        font-weight: 600;
        cursor: pointer;
        transition: background 0.3s ease;
    }
    
    .toggle-btn:hover,
    body.cvsg-product-v2 .toggle-btn:hover {
        background: var(--green);
    }
    
    .specs-comparison-table,
    body.cvsg-product-v2 .specs-comparison-table {
        width: 100%;
        border-collapse: collapse;
        margin: 1.5rem 0;
        background: #fff;
        border-radius: 8px;
        overflow: hidden;
        box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    }
    
    .specs-comparison-table th,
    body.cvsg-product-v2 .specs-comparison-table th {
        background: var(--light-blue);
        color: white;
        padding: 1rem;
        text-align: left;
        font-weight: 600;
    }
    
    .specs-comparison-table td,
    body.cvsg-product-v2 .specs-comparison-table td {
        padding: 1rem;
        border-bottom: 1px solid #e9ecef;
    }
    
    .specs-comparison-table tr:last-child td,
    body.cvsg-product-v2 .specs-comparison-table tr:last-child td {
        border-bottom: none;
    }
    
    .specs-comparison-table tr:nth-child(even),
    body.cvsg-product-v2 .specs-comparison-table tr:nth-child(even) {
        background: #f8f9fa;
    }
    
    .comparison-table,
    body.cvsg-product-v2 .comparison-table {
        width: 100%;
        border-collapse: collapse;
        margin: 2rem 0;
        background: #fff;
        border-radius: 12px;
        overflow: hidden;
        box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    }
    
    .comparison-table th,
    body.cvsg-product-v2 .comparison-table th {
        background: var(--light-blue);
        color: white;
        padding: 1.5rem 1rem;
        text-align: left;
        font-weight: 600;
        font-size: 1.1rem;
    }
    
    .comparison-table td,
    body.cvsg-product-v2 .comparison-table td {
        padding: 1.5rem 1rem;
        border-bottom: 1px solid #e9ecef;
        vertical-align: top;
    }
    
    .comparison-table tr:last-child td,
    body.cvsg-product-v2 .comparison-table tr:last-child td {
        border-bottom: none;
    }
    
    .comparison-table tr:nth-child(even),
    body.cvsg-product-v2 .comparison-table tr:nth-child(even) {
        background: #f8f9fa;
    }
    
    .installation-cards,
    body.cvsg-product-v2 .installation-cards {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: 2rem;
        margin: 2rem 0;
    }
    
    .installation-card,
    body.cvsg-product-v2 .installation-card {
        background: #fff;
        border: 2px solid #e9ecef;
        border-radius: 12px;
        overflow: hidden;
        transition: all 0.3s ease;
    }
    
    .installation-card:hover,
    body.cvsg-product-v2 .installation-card:hover {
        transform: translateY(-3px);
        box-shadow: 0 8px 25px rgba(0,0,0,0.1);
    }
    
    .diy-card:hover,
    body.cvsg-product-v2 .diy-card:hover {
        border-color: #28a745;
    }
    
    .pro-card:hover,
    body.cvsg-product-v2 .pro-card:hover {
        border-color: var(--light-blue);
    }
    
    .card-header,
    body.cvsg-product-v2 .card-header {
        padding: 1.5rem;
        background: #f8f9fa;
        border-bottom: 1px solid #e9ecef;
        position: relative;
    }
    
    .card-header h3,
    body.cvsg-product-v2 .card-header h3 {
        margin: 0;
        color: #333;
        font-size: 1.3rem;
    }
    
    .card-badge,
    body.cvsg-product-v2 .card-badge {
        position: absolute;
        top: 1rem;
        right: 1rem;
        background: var(--light-blue);
        color: white;
        padding: 0.25rem 0.75rem;
        border-radius: 20px;
        font-size: 0.8rem;
        font-weight: 600;
    }
    
    .diy-card .card-badge,
    body.cvsg-product-v2 .diy-card .card-badge {
        background: #28a745;
    }
    
    .card-content,
    body.cvsg-product-v2 .card-content {
        padding: 1.5rem;
    }
    
    .card-content p,
    body.cvsg-product-v2 .card-content p {
        margin: 0 0 1rem 0;
        color: #666;
        font-size: 0.95rem;
    }
    
    .feature-list,
    body.cvsg-product-v2 .feature-list {
        list-style: none;
        padding: 0;
        margin: 1rem 0 0 0;
    }
    
    .feature-list li,
    body.cvsg-product-v2 .feature-list li {
        padding: 0.5rem 0;
        color: #666;
        font-size: 0.9rem;
    }
    
    .card-button,
    body.cvsg-product-v2 .card-button {
        display: inline-block;
        margin-top: 1rem;
        text-decoration: none;
    }
    
    /* ========================================
       MOBILE RESPONSIVENESS
    ======================================== */
    @media (max-width: 768px) {
        /* Grid Layouts */
        .quick-tips-grid,
        body.cvsg-product-v2 .quick-tips-grid,
        .quick-ref-grid,
        body.cvsg-product-v2 .quick-ref-grid,
        .benefits-grid,
        body.cvsg-product-v2 .benefits-grid,
        .performance-recommendations,
        body.cvsg-product-v2 .performance-recommendations,
        .glass-types-grid,
        body.cvsg-product-v2 .glass-types-grid,
        .criteria-grid,
        body.cvsg-product-v2 .criteria-grid,
        .download-links,
        body.cvsg-product-v2 .download-links {
            grid-template-columns: 1fr;
            gap: 1rem;
        }
        
        .installation-cards,
        body.cvsg-product-v2 .installation-cards {
            grid-template-columns: 1fr;
            gap: 1.5rem;
        }
        
        /* Typography */
        .comparison-table,
        body.cvsg-product-v2 .comparison-table {
            font-size: 0.9rem;
        }
        
        .comparison-table th,
        body.cvsg-product-v2 .comparison-table th,
        .comparison-table td,
        body.cvsg-product-v2 .comparison-table td {
            padding: 1rem 0.5rem;
        }
        
        .benefit-content h3,
        body.cvsg-product-v2 .benefit-content h3 {
            font-size: 1.2rem;
        }
        
        .calculation-formula h4,
        body.cvsg-product-v2 .calculation-formula h4 {
            font-size: 1.2rem;
        }
        
        /* Cards and Components */
        .benefit-card,
        body.cvsg-product-v2 .benefit-card {
            margin-bottom: 1rem;
        }
        
        .benefit-content,
        body.cvsg-product-v2 .benefit-content {
            padding: 1rem;
        }
        
        .specs-section,
        body.cvsg-product-v2 .specs-section {
            margin-bottom: 2rem;
        }
        
        .section-header,
        body.cvsg-product-v2 .section-header,
        .section-content,
        body.cvsg-product-v2 .section-content {
            padding: 1.5rem;
        }
        
        .glass-type-header,
        body.cvsg-product-v2 .glass-type-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 0.5rem;
        }
        
        .form-row,
        body.cvsg-product-v2 .form-row {
            grid-template-columns: 1fr;
        }
        
        .calculator-container,
        body.cvsg-product-v2 .calculator-container {
            padding: 1.5rem;
        }
        
        /* Navigation - handled by dropdown on mobile */
    }
    
    @media (max-width: 480px) {
        /* Typography */
        .section-header h3,
        body.cvsg-product-v2 .section-header h3 {
            font-size: 1.5rem;
        }
        
        .comparison-table,
        body.cvsg-product-v2 .comparison-table {
            font-size: 0.8rem;
        }
        
        .comparison-table th,
        body.cvsg-product-v2 .comparison-table th,
        .comparison-table td,
        body.cvsg-product-v2 .comparison-table td {
            padding: 0.75rem 0.25rem;
        }
        
        /* Cards and Components */
        .tip-card,
        body.cvsg-product-v2 .tip-card {
            padding: 1rem;
        }
        
        .quick-ref-card,
        body.cvsg-product-v2 .quick-ref-card {
            padding: 1.5rem;
        }
        
        .installation-card .card-content,
        body.cvsg-product-v2 .installation-card .card-content {
            padding: 1rem;
        }
        
        .recommendation-item,
        body.cvsg-product-v2 .recommendation-item,
        .glass-type,
        body.cvsg-product-v2 .glass-type {
            padding: 1.5rem;
        }
        
        /* Layout */
        .glass-types-grid,
        body.cvsg-product-v2 .glass-types-grid {
            gap: 1rem;
        }
        
        .specs-section,
        body.cvsg-product-v2 .specs-section {
            margin-bottom: 1rem;
        }
        
        /* Forms and Buttons */
        .glass-filter-buttons,
        body.cvsg-product-v2 .glass-filter-buttons {
            flex-direction: column;
            gap: 0.5rem;
        }
        
        .filter-btn,
        body.cvsg-product-v2 .filter-btn {
            width: 100%;
            text-align: center;
            padding: 1rem;
        }
        
        .calculator-container,
        body.cvsg-product-v2 .calculator-container {
            padding: 1rem;
        }
        
        .form-group input,
        body.cvsg-product-v2 .form-group input,
        .form-group select,
        body.cvsg-product-v2 .form-group select {
            padding: 0.5rem;
        }
        
        .calculate-btn,
        body.cvsg-product-v2 .calculate-btn {
            padding: 0.75rem 1.5rem;
            font-size: 1rem;
        }
    }

    .benefit-image img[src=""],
    body.cvsg-product-v2 .benefit-image img[src=""] {
        display: none;
    }

    /* ========================================
       CASE STUDIES SECTION STYLES
    ======================================== */
    .case-studies-grid,
    body.cvsg-product-v2 .case-studies-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
        gap: 2rem;
        margin-top: 2rem;
    }

    .case-study-card,
    body.cvsg-product-v2 .case-study-card {
        background: #fff;
        border-radius: 12px;
        box-shadow: 0 4px 20px rgba(0,0,0,0.1);
        overflow: hidden;
        transition: all 0.3s ease;
        border: 1px solid #e0e0e0;
        display: flex;
        flex-direction: column;
        height: 100%;
    }

    .case-study-card:hover,
    body.cvsg-product-v2 .case-study-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 8px 30px rgba(0,0,0,0.15);
    }

    .video-thumbnail,
    body.cvsg-product-v2 .video-thumbnail {
        position: relative;
        height: 250px;
        overflow: hidden;
        cursor: pointer;
    }

    .video-thumbnail img,
    body.cvsg-product-v2 .video-thumbnail img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.3s ease;
    }

    .video-thumbnail:hover img,
    body.cvsg-product-v2 .video-thumbnail:hover img {
        transform: scale(1.05);
    }

    .play-button,
    body.cvsg-product-v2 .play-button {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        transition: all 0.3s ease;
        z-index: 2;
    }

    .video-thumbnail:hover .play-button,
    body.cvsg-product-v2 .video-thumbnail:hover .play-button {
        transform: translate(-50%, -50%) scale(1.1);
    }

    .testimonial-content,
    body.cvsg-product-v2 .testimonial-content {
        padding: 1.5rem;
        display: flex;
        flex-direction: column;
        flex-grow: 1;
        border: none;
    }

    .testimonial-content blockquote,
    body.cvsg-product-v2 .testimonial-content blockquote {
        font-style: italic;
        font-size: 1rem;
        line-height: 1.6;
        color: #333;
        margin: 0 0 1rem 0;
        padding: 0 0 0 20px;
        border: none;
        position: relative;
        flex-grow: 1;
    }

    .testimonial-content blockquote::before,
    body.cvsg-product-v2 .testimonial-content blockquote::before {
        content: '"';
        font-size: 3rem;
        color: #007cba;
        position: absolute;
        top: -10px;
        left: -5px;
        line-height: 1;
    }

    .testimonial-content cite,
    body.cvsg-product-v2 .testimonial-content cite {
        display: block;
        font-size: 0.9rem;
        color: #666;
        text-align: right;
        font-style: normal;
        margin-top: auto;
    }

    .cta-section,
    body.cvsg-product-v2 .cta-section {
        text-align: center;
        margin-top: 3rem;
        padding: 2rem;
        background: #f8f9fa;
        border-radius: 8px;
    }

    .cta-section p,
    body.cvsg-product-v2 .cta-section p {
        font-size: 1.1rem;
        color: #333;
        margin: 0;
    }

    .cta-section a,
    body.cvsg-product-v2 .cta-section a {
        color: #007cba;
        text-decoration: none;
        font-weight: 600;
    }

    .cta-section a:hover,
    body.cvsg-product-v2 .cta-section a:hover {
        text-decoration: underline;
    }

    /* Video Modal Styles */
    .video-modal,
    body.cvsg-product-v2 .video-modal {
        display: none;
        position: fixed;
        z-index: 10000;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0,0,0,0.8);
    }

    .video-modal-content,
    body.cvsg-product-v2 .video-modal-content {
        position: relative;
        margin: 5% auto;
        width: 90%;
        max-width: 800px;
        background: #000;
        border-radius: 8px;
        overflow: hidden;
    }

    .video-close,
    body.cvsg-product-v2 .video-close {
        position: absolute;
        top: 10px;
        right: 20px;
        color: #fff;
        font-size: 30px;
        font-weight: bold;
        cursor: pointer;
        z-index: 10001;
    }

    .video-close:hover,
    body.cvsg-product-v2 .video-close:hover {
        color: #ccc;
    }

    .video-container,
    body.cvsg-product-v2 .video-container {
        position: relative;
        padding-bottom: 56.25%; /* 16:9 aspect ratio */
        height: 0;
        overflow: hidden;
    }

    .video-container iframe,
    body.cvsg-product-v2 .video-container iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    /* ========================================
       MEASURING GUIDE SECTION STYLES
    ======================================== */
    .measuring-guide-content,
    body.cvsg-product-v2 .measuring-guide-content {
        max-width: 1400px;
        margin: 0 auto;
    }

    .measuring-intro,
    body.cvsg-product-v2 .measuring-intro {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 3rem;
        margin-bottom: 0;
        align-items: flex-start;
    }

    .intro-text h3,
    body.cvsg-product-v2 .intro-text h3 {
        color: #333;
        margin-bottom: 1rem;
        font-size: 1.8rem;
    }

    .intro-text p,
    body.cvsg-product-v2 .intro-text p {
        color: #666;
        line-height: 1.6;
        margin-bottom: 2rem;
    }

    .measurement-tips,
    body.cvsg-product-v2 .measurement-tips {
        background: #ffffff;
        padding: 1.5rem;
        border-radius: 10px;
        border-left: 4px solid var(--green);
    }

    .measurement-tips h4,
    body.cvsg-product-v2 .measurement-tips h4 {
        color: #333;
        margin-bottom: 1rem;
        font-size: 1.2rem;
    }

    .measurement-tips ul,
    body.cvsg-product-v2 .measurement-tips ul {
        margin: 0;
        padding-left: 1.2rem;
    }

    .measurement-tips li,
    body.cvsg-product-v2 .measurement-tips li {
        margin-bottom: 0.5rem;
        color: #555;
        line-height: 1.5;
    }

    .guides-list h3,
    body.cvsg-product-v2 .guides-list h3 {
        color: #333;
        margin-bottom: 1rem;
        font-size: 1.8rem;
    }

    .guides-list > p,
    body.cvsg-product-v2 .guides-list>p {
        color: #666;
        margin-bottom: 1.5rem;
        font-size: 1rem;
    }

    .guides-list-container,
    body.cvsg-product-v2 .guides-list-container {
        background: #fff;
        border-radius: 10px;
        padding: 1.5rem;
        box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    }

    .guide-list-item,
    body.cvsg-product-v2 .guide-list-item {
        display: flex;
        align-items: center;
        padding: 1rem;
        margin-bottom: 0.5rem;
        border-radius: 8px;
        transition: all 0.3s ease;
        text-decoration: none;
        color: inherit;
        border: 1px solid #e9ecef;
    }

    .guide-list-item:hover,
    body.cvsg-product-v2 .guide-list-item:hover {
        background: #f8f9fa;
        border-color: var(--green);
        transform: translateX(5px);
        text-decoration: none;
        color: inherit;
    }

    .guide-list-item:last-child,
    body.cvsg-product-v2 .guide-list-item:last-child {
        margin-bottom: 0;
    }

    .guide-icon,
    body.cvsg-product-v2 .guide-icon {
        width: 50px;
        height: 50px;
        margin-right: 1rem;
        flex-shrink: 0;
    }

    .guide-icon img,
    body.cvsg-product-v2 .guide-icon img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 6px;
    }

    .guide-info,
    body.cvsg-product-v2 .guide-info {
        flex-grow: 1;
    }

    .guide-info h4,
    body.cvsg-product-v2 .guide-info h4 {
        color: #333;
        margin: 0 0 0.25rem 0;
        font-size: 1.1rem;
        font-weight: 600;
    }

    .guide-info p,
    body.cvsg-product-v2 .guide-info p {
        color: #666;
        margin: 0;
        font-size: 0.9rem;
    }

    .guide-arrow,
    body.cvsg-product-v2 .guide-arrow {
        color: var(--green);
        font-size: 1.2rem;
        font-weight: bold;
        margin-left: 1rem;
        transition: transform 0.3s ease;
    }

    .guide-list-item:hover .guide-arrow,
    body.cvsg-product-v2 .guide-list-item:hover .guide-arrow {
        transform: translateX(3px);
    }

    .measurement-process,
    body.cvsg-product-v2 .measurement-process {
        background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
        padding: 3rem;
        border-radius: 15px;
        text-align: center;
    }

    .measurement-process h3,
    body.cvsg-product-v2 .measurement-process h3 {
        color: #333;
        margin-bottom: 2rem;
        font-size: 2rem;
    }

    .process-steps,
    body.cvsg-product-v2 .process-steps {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: 2rem;
        margin-top: 2rem;
    }

    .step,
    body.cvsg-product-v2 .step {
        display: flex;
        align-items: flex-start;
        text-align: left;
        background: #fff;
        padding: 2rem;
        border-radius: 10px;
        box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    }

    .step-number,
    body.cvsg-product-v2 .step-number {
        background: var(--green);
        color: #fff;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: bold;
        font-size: 1.2rem;
        margin-right: 1.5rem;
        flex-shrink: 0;
    }

    .step-content h4,
    body.cvsg-product-v2 .step-content h4 {
        color: #333;
        margin-bottom: 0.5rem;
        font-size: 1.1rem;
    }

    .step-content p,
    body.cvsg-product-v2 .step-content p {
        color: #666;
        margin: 0;
        line-height: 1.5;
    }

    .flipbook-container,
    body.cvsg-product-v2 .flipbook-container {
        background: #fff;
        border-radius: 15px;
        padding: 2rem;
        box-shadow: 0 8px 25px rgba(0,0,0,0.1);
        margin-top: 0;
    }

    .flipbook-container.visible,
    body.cvsg-product-v2 .flipbook-container.visible {
        margin-top: 2rem;
    }

    .d-flipbook-containers,
    body.cvsg-product-v2 .d-flipbook-containers {
        margin-top: 0;
    }

    .d-flipbook-containers.has-content,
    body.cvsg-product-v2 .d-flipbook-containers.has-content {
        margin-top: 3rem;
    }

    /* ========================================
       INSTALLATION SECTION STYLES
    ======================================== */
    .installation-content,
    body.cvsg-product-v2 .installation-content {
        max-width: 1400px;
        margin: 0 auto;
        position: relative;
    }

    .installation-options,
    body.cvsg-product-v2 .installation-options {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
        margin-bottom: 4rem;
    }

    .option-card,
    body.cvsg-product-v2 .option-card {
        background: #fff;
        border-radius: 15px;
        padding: 2.5rem;
        text-align: center;
        box-shadow: 0 8px 25px rgba(0,0,0,0.1);
        border: 2px solid transparent;
        transition: all 0.3s ease;
    }

    .option-card:hover,
    body.cvsg-product-v2 .option-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 12px 35px rgba(0,0,0,0.15);
    }

    .diy-option,
    body.cvsg-product-v2 .diy-option {
        border-color: #28a745;
    }

    .diy-option:hover,
    body.cvsg-product-v2 .diy-option:hover {
        border-color: #1e7e34;
    }

    .professional-option,
    body.cvsg-product-v2 .professional-option {
        border-color: var(--green);
    }

    .professional-option:hover,
    body.cvsg-product-v2 .professional-option:hover {
        border-color: #0056b3;
    }

    .option-icon,
    body.cvsg-product-v2 .option-icon {
        font-size: 3rem;
        margin-bottom: 1rem;
    }

    .option-card h3,
    body.cvsg-product-v2 .option-card h3 {
        color: #333;
        margin-bottom: 1rem;
        font-size: 1.5rem;
    }

    .option-card p,
    body.cvsg-product-v2 .option-card p {
        color: #666;
        margin-bottom: 1.5rem;
        line-height: 1.6;
    }

    .option-card ul,
    body.cvsg-product-v2 .option-card ul {
        text-align: center;
        margin-bottom: 2rem;
        padding-left: 0;
        list-style: none;
    }

    .option-card li,
    body.cvsg-product-v2 .option-card li {
        color: #555;
        margin-bottom: 0.5rem;
        padding-left: 0;
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .option-card li::before,
    body.cvsg-product-v2 .option-card li::before {
        content: '✓';
        color: var(--green);
        font-weight: bold;
        margin-right: 0.5rem;
        font-size: 1rem;
    }

    .diy-option li::before,
    body.cvsg-product-v2 .diy-option li::before {
        color: #28a745;
    }

    .option-cta,
    body.cvsg-product-v2 .option-cta {
        margin-top: auto;
    }

    .option-cta .button,
    body.cvsg-product-v2 .option-cta .button {
        display: inline-block;
    }

    .installation-main-row,
    body.cvsg-product-v2 .installation-main-row {
        display: flex;
        gap: 3rem;
        margin-bottom: 4rem;
        align-items: flex-start;
        min-height: 100%;
        position: relative;
    }

    .how-it-works,
    body.cvsg-product-v2 .how-it-works {
        flex: 1;
        margin-bottom: 0;
        min-height: 100%;
    }

    .whats-included,
    body.cvsg-product-v2 .whats-included {
        flex: 0 0 500px;
        background: #f8f9fa;
        padding: 2rem;
        border-radius: 15px;
        text-align: left;
        height: fit-content;
        position: relative;
    }

    .how-it-works h3,
    body.cvsg-product-v2 .how-it-works h3 {
        text-align: left;
        color: #333;
        margin-bottom: 2rem;
        font-size: 1.8rem;
    }

    .process-timeline,
    body.cvsg-product-v2 .process-timeline {
        position: relative;
        max-width: none;
        margin: 0;
    }

    .process-timeline::before,
    body.cvsg-product-v2 .process-timeline::before {
        content: '';
        position: absolute;
        left: 30px;
        top: 0;
        bottom: 0;
        width: 2px;
        background: var(--green);
    }

    .timeline-item,
    body.cvsg-product-v2 .timeline-item {
        display: flex;
        align-items: center;
        margin-bottom: .5rem;
        position: relative;
    }

    .timeline-item:last-child,
    body.cvsg-product-v2 .timeline-item:last-child {
        margin-bottom: 0;
    }

    .timeline-number,
    body.cvsg-product-v2 .timeline-number {
        background: var(--green);
        color: #fff;
        width: 60px;
        height: 60px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: bold;
        font-size: 1.2rem;
        margin-right: 2rem;
        flex-shrink: 0;
        position: relative;
        z-index: 2;
    }

    .timeline-content,
    body.cvsg-product-v2 .timeline-content {
        flex-grow: 1;
        background: #fff;
        padding: 1.5rem;
        border-radius: 10px;
        box-shadow: 0 4px 15px rgba(0,0,0,0.1);
        margin-top: 0.5rem;
    }

    .timeline-content h4,
    body.cvsg-product-v2 .timeline-content h4 {
        color: #333;
        margin-bottom: 0.5rem;
        font-size: 1.3rem;
    }

    .timeline-content p,
    body.cvsg-product-v2 .timeline-content p {
        color: #666;
        margin: 0;
        line-height: 1.6;
    }

    .no-surprises,
    body.cvsg-product-v2 .no-surprises {
        text-align: center;
        margin-top: 2rem;
        padding: 1rem;
        background: #f8f9fa;
        border-radius: 10px;
        border-left: 4px solid var(--green);
    }

    .no-surprises h4,
    body.cvsg-product-v2 .no-surprises h4 {
        color: #333;
        margin: 0;
        font-size: 1.2rem;
        font-style: italic;
    }

    .postcode-check-section,
    body.cvsg-product-v2 .postcode-check-section {
        background: #fff;
        border-radius: 15px;
        padding: 3rem;
        margin-bottom: 4rem;
        box-shadow: 0 8px 25px rgba(0,0,0,0.1);
    }

    .postcode-content,
    body.cvsg-product-v2 .postcode-content {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 3rem;
        align-items: center;
    }

    .postcode-text h3,
    body.cvsg-product-v2 .postcode-text h3 {
        color: #333;
        margin-bottom: 1rem;
        font-size: 1.8rem;
    }

    .postcode-text p,
    body.cvsg-product-v2 .postcode-text p {
        color: #666;
        margin-bottom: 2rem;
        line-height: 1.6;
    }

    .postcode-form,
    body.cvsg-product-v2 .postcode-form {
        margin-bottom: 1rem;
    }

    .postcode-input-group,
    body.cvsg-product-v2 .postcode-input-group {
        display: flex;
        gap: 0.5rem;
        margin-bottom: 1rem;
    }

    .postcode-input-group input[type="text"],
    body.cvsg-product-v2 .postcode-input-group input[type="text"] {
        flex-grow: 1;
        padding: 0.75rem;
        border: 1px solid #ddd;
        border-radius: 5px;
        font-size: 1rem;
    }

    .search-btn,
    body.cvsg-product-v2 .search-btn {
        background: var(--green);
        color: #fff;
        border: none;
        padding: 0.75rem 1.5rem;
        border-radius: 5px;
        cursor: pointer;
        font-size: 1rem;
        font-weight: 600;
        transition: background 0.3s ease;
    }

    .search-btn:hover,
    body.cvsg-product-v2 .search-btn:hover {
        background: #0056b3;
    }

    .postResults,
    body.cvsg-product-v2 .postResults {
        font-weight: 600;
        min-height: 1.5rem;
    }

    .postcode-map,
    body.cvsg-product-v2 .postcode-map {
        text-align: center;
    }

    .map-image,
    body.cvsg-product-v2 .map-image {
        max-width: 100%;
        height: auto;
        border-radius: 10px;
        box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    }

    .whats-included h3,
    body.cvsg-product-v2 .whats-included h3 {
        color: #333;
        margin-bottom: 1rem;
        font-size: 1.8rem;
        text-align: left;
    }

    .whats-included > p,
    body.cvsg-product-v2 .whats-included>p {
        color: #666;
        margin-bottom: 1.5rem;
        line-height: 1.6;
        text-align: left;
    }

    .included-features,
    body.cvsg-product-v2 .included-features {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        margin-bottom: 1.5rem;
    }

    .feature-item,
    body.cvsg-product-v2 .feature-item {
        display: flex;
        align-items: center;
        background: #fff;
        padding: 1.5rem;
        border-radius: 10px;
        box-shadow: 0 2px 10px rgba(0,0,0,0.1);
        text-align: left;
    }

    .feature-icon,
    body.cvsg-product-v2 .feature-icon {
        background: var(--green);
        color: #fff;
        width: 30px;
        height: 30px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-right: 1rem;
        font-weight: bold;
        flex-shrink: 0;
    }

    .feature-text,
    body.cvsg-product-v2 .feature-text {
        color: #333;
        font-weight: 500;
    }

    .faq-link,
    body.cvsg-product-v2 .faq-link {
        margin-top: 2rem;
    }

    .faq-link a,
    body.cvsg-product-v2 .faq-link a {
        color: var(--green);
        text-decoration: none;
        font-weight: 600;
    }

    .faq-link a:hover,
    body.cvsg-product-v2 .faq-link a:hover {
        text-decoration: underline;
    }

    /* ========================================
       WARRANTY SECTION STYLES
    ======================================== */
    .warranty-content,
    body.cvsg-product-v2 .warranty-content {
        max-width: 1400px;
        margin: 0 auto;
    }

    .warranty-highlights,
    body.cvsg-product-v2 .warranty-highlights {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: 2rem;
        margin-bottom: 3rem;
    }

    .warranty-card,
    body.cvsg-product-v2 .warranty-card {
        background: #ffffff;
        padding: 2rem;
        border-radius: 15px;
        text-align: center;
        border: 2px solid #e9ecef;
        transition: all 0.3s ease;
    }

    .warranty-card:hover,
    body.cvsg-product-v2 .warranty-card:hover {
        border-color: var(--light-blue);
        box-shadow: 0 4px 15px rgba(0,154,201,0.1);
        transform: translateY(-2px);
    }

    .warranty-icon,
    body.cvsg-product-v2 .warranty-icon {
        font-size: 2.5rem;
        font-weight: bold;
        color: var(--light-blue);
        margin-bottom: 1rem;
        width: 80px;
        height: 80px;
        border-radius: 50%;
        background: #f8f9fa;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto 1rem auto;
        border: 3px solid var(--light-blue);
    }

    .warranty-card h3,
    body.cvsg-product-v2 .warranty-card h3 {
        color: #333;
        margin-bottom: 1rem!important;
        font-size: 1.5rem!important;
    }

    .warranty-card p,
    body.cvsg-product-v2 .warranty-card p {
        color: #666;
        line-height: 1.6;
    }

    .warranty-details,
    body.cvsg-product-v2 .warranty-details {
        margin-bottom: 0;
        display: flex;
        flex-direction: column;
        gap: 2.5rem;
    }

    .warranty-row,
    body.cvsg-product-v2 .warranty-row {
        display: flex;
        gap: 3rem;
        align-items: stretch;
    }

    .warranty-row .warranty-section,
    body.cvsg-product-v2 .warranty-row .warranty-section {
        flex: 1;
        margin-bottom: 0;
    }

    .warranty-section,
    body.cvsg-product-v2 .warranty-section {
        margin-bottom: 2.5rem;
        padding: 2rem;
        background: #fff;
        border-radius: 10px;
        box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    }

    .warranty-section h3,
    body.cvsg-product-v2 .warranty-section h3 {
        color: #333;
        margin-bottom: 1.5rem;
        font-size: 1.8rem;
        border-bottom: 2px solid var(--light-blue);
        padding-bottom: 0.5rem;
    }

    .coverage-single ul,
    body.cvsg-product-v2 .coverage-single ul {
        list-style: none;
        padding: 0;
        margin-bottom: 1.5rem;
    }

    .coverage-single li,
    body.cvsg-product-v2 .coverage-single li {
        padding: 0.75rem 0;
        border-bottom: 1px solid #e9ecef;
        font-size: 1rem;
    }

    .coverage-single li:last-child,
    body.cvsg-product-v2 .coverage-single li:last-child {
        border-bottom: none;
    }

    .coverage-single strong,
    body.cvsg-product-v2 .coverage-single strong {
        color: var(--light-blue);
        font-size: 1.2rem;
    }

    .coverage-note,
    body.cvsg-product-v2 .coverage-note {
        background: #fff3cd;
        border: 1px solid #ffeaa7;
        border-radius: 8px;
        padding: 1rem;
        margin: 0;
        font-style: italic;
        color: #856404;
    }

    .expectations,
    body.cvsg-product-v2 .expectations {
        margin-top: 1rem;
    }

    .expectation-item,
    body.cvsg-product-v2 .expectation-item {
        display: flex;
        align-items: flex-start;
        margin-bottom: 1rem;
        padding: 1rem;
        background: #f8f9fa;
        border-radius: 8px;
    }

    .expectation-icon,
    body.cvsg-product-v2 .expectation-icon {
        background: var(--green);
        color: white;
        width: 24px;
        height: 24px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-right: 1rem;
        flex-shrink: 0;
        font-size: 0.9rem;
    }

    .expectation-text,
    body.cvsg-product-v2 .expectation-text {
        flex: 1;
    }

    .problem-reporting,
    body.cvsg-product-v2 .problem-reporting {
        margin-top: 1rem;
    }

    .problem-reporting ol,
    body.cvsg-product-v2 .problem-reporting ol {
        margin-top: 1rem;
        padding-left: 1.5rem;
    }

    .problem-reporting li,
    body.cvsg-product-v2 .problem-reporting li {
        margin-bottom: 0.5rem;
        line-height: 1.6;
    }

    .warranty-links,
    body.cvsg-product-v2 .warranty-links {
        background: #f8f9fa;
        padding: 2rem;
        border-radius: 15px;
        margin-top: 2rem;
    }

    .warranty-links h3,
    body.cvsg-product-v2 .warranty-links h3 {
        text-align: center;
        margin-bottom: 2rem;
        color: #333;
        font-size: 1.8rem;
    }

    .document-links,
    body.cvsg-product-v2 .document-links {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        gap: 1.5rem;
    }

    .warranty-link,
    body.cvsg-product-v2 .warranty-link {
        display: flex;
        align-items: center;
        padding: 1.5rem;
        background: white;
        border-radius: 10px;
        text-decoration: none;
        color: inherit;
        border: 2px solid #e9ecef;
        transition: all 0.3s ease;
    }

    .warranty-link:hover,
    body.cvsg-product-v2 .warranty-link:hover {
        border-color: var(--light-blue);
        box-shadow: 0 4px 15px rgba(0,154,201,0.1);
        transform: translateY(-2px);
        text-decoration: none;
        color: inherit;
    }

    .link-icon,
    body.cvsg-product-v2 .link-icon {
        font-size: 1.5rem;
        font-weight: bold;
        color: white;
        background: var(--light-blue);
        width: 40px;
        height: 40px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-right: 1rem;
        flex-shrink: 0;
    }

    .link-content h4,
    body.cvsg-product-v2 .link-content h4 {
        margin: 0 0 0.5rem 0;
        color: #333;
        font-size: 1.2rem;
    }

    .link-content p,
    body.cvsg-product-v2 .link-content p {
        margin: 0;
        color: #666;
        font-size: 0.9rem;
    }

    .document-links-simple,
    body.cvsg-product-v2 .document-links-simple {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
    }

    .document-links-simple a,
    body.cvsg-product-v2 .document-links-simple a {
        display: block;
        padding: 0.75rem 1rem;
        background: #f8f9fa;
        border: 1px solid #e9ecef;
        border-radius: 8px;
        color: #333;
        text-decoration: none;
        transition: all 0.3s ease;
        font-weight: 500;
    }

    .document-links-simple a:hover,
    body.cvsg-product-v2 .document-links-simple a:hover {
        background: var(--light-blue);
        color: white;
        border-color: var(--light-blue);
        text-decoration: none;
    }

    /* ========================================
       SPECS SECTION STYLES
    ======================================== */
    .specs-content,
    body.cvsg-product-v2 .specs-content {
        max-width: 1400px;
        margin: 0 auto;
    }
    
    .specs-section,
    body.cvsg-product-v2 .specs-section {
        background: #f8f9fa!important;
        margin-bottom: 3rem;
        border-radius: 12px;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
        overflow: hidden;
    }
    
    .section-header,
    body.cvsg-product-v2 .section-header {
        background: none;
        color: #333;
        padding: 2em;
        border-bottom: 0;
        margin-bottom: 0;
        padding-bottom: 0;
    }
    
    .section-header h3,
    body.cvsg-product-v2 .section-header h3 {
        margin: 0 0 0 0!important;
        font-size: 1.8rem;
        font-weight: 100;
        color: var(--light-blue);
    }
    
    .section-header p:first-of-type,
    body.cvsg-product-v2 .section-header p:first-of-type {
        margin-top: 1em;
    }

    .section-header p,
    body.cvsg-product-v2 .section-header p {
        margin: 0;
        color: #666;
        line-height: 1.6;
        margin-bottom: 1em;
    }

    .section-header p:last-of-type,
    body.cvsg-product-v2 .section-header p:last-of-type {
        margin-bottom: 0;
    }
    
    .section-content,
    body.cvsg-product-v2 .section-content {
        padding: 2rem;
    }
    
    /* Introduction Section */
    .specs-intro,
    body.cvsg-product-v2 .specs-intro {
        background: #f8f9fa!important;
        margin-bottom: 3rem;
        border-radius: 12px;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
        overflow: hidden;
    }
    
    .important-note,
    body.cvsg-product-v2 .important-note {
        background: #fff3cd;
        border: 1px solid #ffeaa7;
        border-left: 4px solid #ffc107;
        border-radius: 6px;
        padding: 1.5rem;
        margin: 2rem 0;
    }
    
    .important-note p,
    body.cvsg-product-v2 .important-note p {
        margin: 0;
        color: #856404;
        font-weight: 500;
    }
    
    .product-specific-criteria,
    body.cvsg-product-v2 .product-specific-criteria {
        background: #fff;
        border: 1px solid #e9ecef;
        border-radius: 8px;
        padding: 1.5rem;
        margin: 2rem 0;
    }
    
    .product-specific-criteria h4,
    body.cvsg-product-v2 .product-specific-criteria h4 {
        color: var(--light-blue);
        margin: 0 0 1rem 0;
        font-size: 1.2rem;
    }
    
    .criteria-details,
    body.cvsg-product-v2 .criteria-details {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        gap: 1rem;
    }
    
    .criteria-detail,
    body.cvsg-product-v2 .criteria-detail {
        padding: 0.75rem;
        background: #f8f9fa;
        border-radius: 6px;
        font-size: 0.9rem;
        line-height: 1.4;
    }
    
    /* Maximum Criteria Section */
    
    .criteria-grid,
    body.cvsg-product-v2 .criteria-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        gap: 1.5rem;
        margin: 2rem 0;
    }
    
    .criteria-item,
    body.cvsg-product-v2 .criteria-item {
        background: #ffffff;
        padding: 1.5rem;
        border-radius: 8px;
        border: 1px solid #e9ecef;
    }
    
    .criteria-item h4,
    body.cvsg-product-v2 .criteria-item h4 {
        color: var(--light-blue);
        margin: 0 0 0.5rem 0;
        font-size: 1.1rem;
    }
    
    .criteria-item p,
    body.cvsg-product-v2 .criteria-item p {
        margin: 0;
        line-height: 1.5;
    }
    
    .criteria-notes,
    body.cvsg-product-v2 .criteria-notes {
        background: #e7f3ff;
        padding: 1.5rem;
        border-radius: 8px;
        margin-top: 2rem;
    }
    
    .criteria-notes ul,
    body.cvsg-product-v2 .criteria-notes ul {
        margin: 1rem 0;
        padding-left: 1.5rem;
    }
    
    .criteria-notes li,
    body.cvsg-product-v2 .criteria-notes li {
        margin-bottom: 0.5rem;
        line-height: 1.6;
    }
    
    /* ========================================
       PERFORMANCE RECOMMENDATIONS STYLES
    ======================================== */
    
    .performance-recommendations,
    body.cvsg-product-v2 .performance-recommendations {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: 2rem;
    }

    /* V2: four cards on one row at page width (1400px) */
    body.cvsg-product-v2 .performance-recommendations {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 1.25rem;
    }

    body.cvsg-product-v2 .performance-recommendations .recommendation-item {
        padding: 1.35rem 1.15rem 1.25rem;
    }

    body.cvsg-product-v2 .performance-recommendations .recommendation-item h4 {
        font-size: 1.1rem;
    }

    body.cvsg-product-v2 .performance-recommendations .recommendation-item p {
        font-size: 0.92rem;
    }

    @media (max-width: 1100px) {
        body.cvsg-product-v2 .performance-recommendations {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 1.25rem;
        }
    }

    @media (max-width: 768px) {
        body.cvsg-product-v2 .performance-recommendations {
            grid-template-columns: 1fr;
            gap: 1rem;
        }
    }
    
    .recommendation-item,
    body.cvsg-product-v2 .recommendation-item {
        background: #fff;
        padding: 2rem;
        border-radius: 12px;
        border: 1px solid #e9ecef;
        text-align: left;
        transition: transform 0.3s ease, box-shadow 0.3s ease;
        position: relative;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        height: 100%;
    }
    
    .recommendation-item:hover,
    body.cvsg-product-v2 .recommendation-item:hover {
        transform: translateY(-4px);
        box-shadow: 0 8px 25px rgba(0,0,0,0.1);
        border-color: var(--light-blue);
    }
    
    .recommendation-item::before,
    body.cvsg-product-v2 .recommendation-item::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 4px;
        height: 100%;
        background: var(--light-blue);
        transform: scaleY(0);
        transition: transform 0.3s ease;
    }
    
    .recommendation-item:hover::before,
    body.cvsg-product-v2 .recommendation-item:hover::before {
        transform: scaleY(1);
    }
    
    .recommendation-icon,
    body.cvsg-product-v2 .recommendation-icon {
        font-size: 2.5rem;
        margin-bottom: 1rem;
    }
    
    .recommendation-item h4,
    body.cvsg-product-v2 .recommendation-item h4 {
        color: var(--light-blue);
        margin: 0 0 1rem 0;
        font-size: 1.3rem;
        font-weight: 700;
        position: relative;
        padding-left: 1rem;
    }
    
    .recommendation-item h4::before,
    body.cvsg-product-v2 .recommendation-item h4::before {
        content: '';
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 4px;
        height: 20px;
        background: var(--light-blue);
        border-radius: 2px;
    }
    
    .recommendation-item p,
    body.cvsg-product-v2 .recommendation-item p {
        margin: 0 0 1rem 0;
        line-height: 1.6;
        color: #666;
        flex-grow: 1;
    }
    
    .learn-more-link,
    body.cvsg-product-v2 .learn-more-link {
        display: inline-block;
        background: var(--light-blue);
        color: #fff;
        padding: 0.5rem 1rem;
        border-radius: 6px;
        text-decoration: none;
        font-weight: 600;
        font-size: 0.9rem;
        margin-top: auto;
        transition: all 0.3s ease;
        border: 2px solid var(--light-blue);
        align-self: flex-start;
    }
    
    .learn-more-link:hover,
    body.cvsg-product-v2 .learn-more-link:hover,
    .learn-more-link:visited,
    body.cvsg-product-v2 .learn-more-link:visited {
        background: #fff;
        color: var(--light-blue);
        text-decoration: none;
        transform: translateY(-1px);
        box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    }
    
    /* ========================================
       GLASS OPTIONS SECTION STYLES
    ======================================== */
    
    .glass-types-grid,
    body.cvsg-product-v2 .glass-types-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1.5rem;
        margin: 0 0 2rem;
    }
    
    .glass-type,
    body.cvsg-product-v2 .glass-type {
        background: #fff;
        border: 1px solid #e9ecef;
        border-radius: 12px;
        padding: 2rem;
        transition: transform 0.3s ease, box-shadow 0.3s ease;
        max-width: 100%;
        width: 100%;
    }
    
    .glass-type:hover,
    body.cvsg-product-v2 .glass-type:hover {
        transform: translateY(-2px);
        box-shadow: 0 6px 20px rgba(0,0,0,0.08);
    }
    
    .glass-type-header,
    body.cvsg-product-v2 .glass-type-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 1rem;
        padding-bottom: 1.25rem;
        border-bottom: 2px solid #f8f9fa;
    }
    .glass-type-header .header-right,
    body.cvsg-product-v2 .glass-type-header .header-right {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        flex-wrap: wrap;
        justify-content: flex-end;
        flex-direction: row-reverse;
    }
    
    .glass-type-header h4,
    body.cvsg-product-v2 .glass-type-header h4 {
        color: var(--light-blue);
        margin: 0;
        font-size: 1.35rem;
    }
    
    .glass-category,
    body.cvsg-product-v2 .glass-category {
        display:none;
        background: #e7f3ff;
        color: var(--light-blue);
        padding: 0.25rem 0.75rem;
        border-radius: 20px;
        font-size: 0.8rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        float: right;
    }
    
    .glass-type p,
    body.cvsg-product-v2 .glass-type p {
        margin: 0;
        line-height: 1.6;
        color: #555;
    }

    /* Feature pills (smaller at bottom of card) */
    .feature-pills,
    body.cvsg-product-v2 .feature-pills { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 0; }
    .feature-pill,
    body.cvsg-product-v2 .feature-pill {
        background: #e7f3ff;
        color: var(--light-blue);
        border-radius: 16px;
        padding: 0.18rem 0.48rem;
        font-size: 0.72rem;
        font-weight: 700;
        line-height: 1;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        display: inline-flex;
        align-items: center;
        gap: 0.3rem;
    }
    .feature-pill .dot,
    body.cvsg-product-v2 .feature-pill .dot {
        width: 4px;
        height: 4px;
        border-radius: 50%;
        background: var(--light-blue);
        display: inline-block;
    }
    
    .glass-filter-container,
    body.cvsg-product-v2 .glass-filter-container {
        margin-bottom: 1em;
        padding-top: 2em;
        border-top: 1px solid #e9ecef;
    }
    
    .glass-filter-container h4,
    body.cvsg-product-v2 .glass-filter-container h4 {
        margin: 0 0 1.5rem 0;
        color: #333;
        font-size: 1.2rem;
    }
    
    .glass-filter-buttons,
    body.cvsg-product-v2 .glass-filter-buttons {
        display: flex;
        flex-wrap: wrap;
        gap: 0.75rem;
    }
    
    .filter-btn,
    body.cvsg-product-v2 .filter-btn {
        background: #fff;
        border: 2px solid #e9ecef;
        border-radius: 25px;
        padding: 0.75rem 1.5rem;
        font-size: 0.9rem;
        font-weight: 600;
        color: #666;
        cursor: pointer;
        transition: all 0.3s ease;
        white-space: nowrap;
    }
    
    .filter-btn:hover,
    body.cvsg-product-v2 .filter-btn:hover {
        border-color: var(--light-blue);
        color: #fff;
        transform: translateY(-1px);
        background: var(--light-blue);
        padding: 0.75rem 1.5rem;
    }
    
    .filter-btn.active,
    body.cvsg-product-v2 .filter-btn.active {
        background: var(--light-blue);
        border-color: var(--light-blue);
        color: white;
    }
    
    .glass-type.hidden,
    body.cvsg-product-v2 .glass-type.hidden {
        display: none;
    }
    
    .recommended-glass,
    body.cvsg-product-v2 .recommended-glass {
        margin-bottom: 2rem;
    }
    
    .recommended-glass h4,
    body.cvsg-product-v2 .recommended-glass h4 {
        color: var(--light-blue);
        font-size: 1.5rem;
        margin-bottom: 1.5rem;
        font-weight: 700;
    }
    
    .recommended-only,
    body.cvsg-product-v2 .recommended-only {
        margin-bottom: 2rem;
    }
    
    .glass-type.recommended,
    body.cvsg-product-v2 .glass-type.recommended {
        border: 2px solid var(--light-blue);
        box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    }
    
    .view-all-btn,
    body.cvsg-product-v2 .view-all-btn {
        background: var(--light-blue);
        color: #fff;
        border: 2px solid var(--light-blue);
        padding: 0.75rem 2rem;
        border-radius: 6px;
        font-weight: 600;
        font-size: 1rem;
        cursor: pointer;
        transition: all 0.3s ease;
        display: block;
        margin: 0 auto;
    }
    
    .view-all-btn:hover,
    body.cvsg-product-v2 .view-all-btn:hover {
        color: #fff;
        transform: translateY(-1px);
        box-shadow: 0 4px 12px rgba(0,0,0,0.1);
        padding: 0.75rem 2rem;
    }
    
    .all-glass-options,
    body.cvsg-product-v2 .all-glass-options {
        margin-top: 2rem;
    }

    /* Comparison Matrix */
    .glass-matrix,
    body.cvsg-product-v2 .glass-matrix {
        margin-top: 2.5rem;
        border: 1px solid #e9ecef;
        border-radius: 12px;
        overflow: hidden;
        background: #fff;
    }
    .glass-matrix header,
    body.cvsg-product-v2 .glass-matrix header {
        padding: 1rem 1.25rem;
        border-bottom: 1px solid #e9ecef;
        background: #f8fbff;
    }
    .glass-matrix header h4,
    body.cvsg-product-v2 .glass-matrix header h4 {
        margin: 0;
        color: var(--light-blue);
        font-size: 1.2rem;
    }
    .glass-matrix table,
    body.cvsg-product-v2 .glass-matrix table {
        width: 100%;
        border-collapse: collapse;
    }
    .glass-matrix th,
    body.cvsg-product-v2 .glass-matrix th,
    .glass-matrix td,
    body.cvsg-product-v2 .glass-matrix td {
        padding: 0.75rem;
        border-bottom: 1px solid #f1f3f5;
        text-align: left;
        font-size: 0.95rem;
    }
    .glass-matrix th,
    body.cvsg-product-v2 .glass-matrix th {
        background: #fcfdff;
        font-weight: 700;
        color: #333;
    }
    .glass-matrix .rating-cell,
    body.cvsg-product-v2 .glass-matrix .rating-cell {
        text-align: center;
        padding: 0.75rem 0.5rem;
    }
    .glass-matrix .glass-name,
    body.cvsg-product-v2 .glass-matrix .glass-name {
        font-weight: 600;
        color: #333;
    }
    .glass-matrix .star,
    body.cvsg-product-v2 .glass-matrix .star {
        font-size: 1.2rem;
        margin: 0 1px;
        display: inline-block;
        transition: all 0.3s ease;
    }
    .glass-matrix .star.filled,
    body.cvsg-product-v2 .glass-matrix .star.filled {
        color: #FFB800;
        text-shadow: 0 1px 2px rgba(0,0,0,0.1);
    }
    .glass-matrix .star.filled.premium,
    body.cvsg-product-v2 .glass-matrix .star.filled.premium {
        color: #FF1493;
        text-shadow: 0 0 8px rgba(255, 20, 147, 0.4), 0 1px 2px rgba(0,0,0,0.2);
        animation: premiumPulse 2s ease-in-out infinite;
    }
    .glass-matrix .star.empty,
    body.cvsg-product-v2 .glass-matrix .star.empty {
        color: #ddd;
    }
    .glass-matrix .rating-cell:has(.premium),
    body.cvsg-product-v2 .glass-matrix .rating-cell:has(.premium) {
        background: linear-gradient(135deg, rgba(255, 20, 147, 0.05) 0%, rgba(255, 20, 147, 0.02) 100%);
        position: relative;
    }
    .glass-matrix .rating-cell:has(.premium)::after,
    body.cvsg-product-v2 .glass-matrix .rating-cell:has(.premium)::after {
        content: "★";
        position: absolute;
        top: 4px;
        right: 6px;
        font-size: 0.7rem;
        color: #FF1493;
        opacity: 0.3;
    }
    @keyframes premiumPulse {
        0%, 100% {
            transform: scale(1);
            filter: brightness(1);
        }
        50% {
            transform: scale(1.05);
            filter: brightness(1.2);
        }
    }

    /* Mini recommended cards inside performance items */
    .recommendation-recs,
    body.cvsg-product-v2 .recommendation-recs {
        margin-top: 1rem;
        display: grid;
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }
    .recommendation-item .rec-card,
    body.cvsg-product-v2 .recommendation-item .rec-card {
        padding-top:2.5rem;
    }
    .rec-card,
    body.cvsg-product-v2 .rec-card {
        background: #fff;
        border: 1px solid #e9ecef;
        border-radius: 10px;
        padding: 0.75rem 1rem;
        position: relative;
    }
    .rec-card p.recommended,
    body.cvsg-product-v2 .rec-card p.recommended {
        position: absolute;
        top: 0;
        right: 0;
        background: var(--light-blue);
        width: 100%;
        color: #fff;
        font-size: 0.8rem;
        font-weight: 600;
        padding: 0.25rem 0.75rem;
        border-radius: 10px 10px 0 0;
        text-align: center;
        z-index: 2;
    }
    .rec-card h5,
    body.cvsg-product-v2 .rec-card h5 {
        margin: 0 0 0.25rem 0;
        color: #2a6f97;
        font-size: 1rem;
    }
    .rec-card .feature-pills,
    body.cvsg-product-v2 .rec-card .feature-pills { margin-top: 0.25rem; }
    
    .section-links,
    body.cvsg-product-v2 .section-links {
        margin-top: 1.5rem;
        padding-top: 1.5rem;
        border-top: 1px solid #e9ecef;
    }
    
    .section-links .external-link,
    body.cvsg-product-v2 .section-links .external-link {
        display: inline-block;
        text-decoration: none;
    }
    
    .section-links .external-link:hover,
    body.cvsg-product-v2 .section-links .external-link:hover {
        text-decoration: none;
    }
    
    .acoustic-note,
    body.cvsg-product-v2 .acoustic-note {
        background: #e7f3ff;
        border: 1px solid #b3d9ff;
        border-left: 4px solid var(--light-blue);
        border-radius: 8px;
        padding: 2rem;
        margin: 2rem 0;
    }
    
    .acoustic-note h4,
    body.cvsg-product-v2 .acoustic-note h4 {
        color: var(--light-blue);
        margin: 0 0 1rem 0;
    }
    
    .acoustic-note p,
    body.cvsg-product-v2 .acoustic-note p {
        margin: 0;
        line-height: 1.6;
    }
    
    .other-options,
    body.cvsg-product-v2 .other-options {
        background: #f8f9fa;
        padding: 2rem;
        border-radius: 8px;
        margin: 2rem 0;
    }
    
    .other-options h4,
    body.cvsg-product-v2 .other-options h4 {
        color: #333;
        margin: 0 0 1rem 0;
    }
    
    .other-options ul,
    body.cvsg-product-v2 .other-options ul {
        margin: 1rem 0;
        padding-left: 1.5rem;
    }
    
    .other-options li,
    body.cvsg-product-v2 .other-options li {
        margin-bottom: 0.5rem;
        line-height: 1.6;
    }
    
    /* Calculation Section */
    
    .calculator-container,
    body.cvsg-product-v2 .calculator-container {
        background: #ffffff;
        border: 2px solid #e9ecef;
        border-radius: 12px;
        padding: 2rem;
        margin: 0;
    }
    
    .form-row,
    body.cvsg-product-v2 .form-row {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
        gap: 1rem;
        align-items: end;
    }
    
    .form-group,
    body.cvsg-product-v2 .form-group {
        display: flex;
        flex-direction: column;
        min-width: 0;
        width: 100%;
    }

    .form-group label,
    body.cvsg-product-v2 .form-group label {
        font-weight: 600;
        color: #333;
        margin-bottom: 0.5rem;
        font-size: 0.9rem;
    }
    
    .form-group input,
    body.cvsg-product-v2 .form-group input,
    .form-group select,
    body.cvsg-product-v2 .form-group select {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
        padding: 0.75rem;
        border: 2px solid #e9ecef;
        border-radius: 6px;
        font-size: 1rem;
        transition: border-color 0.3s ease;
        margin-bottom: 0;
    }
    
    .form-group input:focus,
    body.cvsg-product-v2 .form-group input:focus,
    .form-group select:focus,
    body.cvsg-product-v2 .form-group select:focus {
        outline: none;
        border-color: var(--light-blue);
        box-shadow: 0 0 0 3px rgba(44, 90, 160, 0.1);
    }
    
    .calculate-btn,
    body.cvsg-product-v2 .calculate-btn {
        border: none;
        font-size: 1rem;
        height: fit-content;
        align-self: end;
        margin: 0;
        margin-bottom: 4px;
    }
    
    .calculate-btn:hover,
    body.cvsg-product-v2 .calculate-btn:hover {
        color: #fff;
        padding: 0.75rem 1.5rem;
    }
    
    .calculation-result,
    body.cvsg-product-v2 .calculation-result {
        background: #fff;
        border: 1px solid #e9ecef;
        border-radius: 8px;
        overflow: hidden;
        margin-top: 2rem;
    }
    
    .result-header,
    body.cvsg-product-v2 .result-header {
        background: var(--light-blue);
        color: #fff;
        padding: 1rem;
    }
    
    .result-header h4,
    body.cvsg-product-v2 .result-header h4 {
        margin: 0;
        font-size: 1.2rem;
        color: #fff;
    }
    
    .result-content,
    body.cvsg-product-v2 .result-content {
        padding: 1.5rem;
    }
    
    .result-item,
    body.cvsg-product-v2 .result-item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0.75rem 0;
        border-bottom: 1px solid #f8f9fa;
    }
    
    .result-item.total-weight,
    body.cvsg-product-v2 .result-item.total-weight {
        border-bottom: none;
        font-weight: 600;
        font-size: 1.1rem;
        color: var(--light-blue);
        background: #f8f9fa;
        margin: 0 -1.5rem -1.5rem -1.5rem;
        padding: 1rem 1.5rem;
    }
    
    .result-label,
    body.cvsg-product-v2 .result-label {
        font-weight: 500;
    }
    
    .result-value,
    body.cvsg-product-v2 .result-value {
        font-weight: 600;
        color: var(--light-blue);
    }
    
    .result-warning,
    body.cvsg-product-v2 .result-warning {
        background: #fff3cd;
        border: 1px solid #ffeaa7;
        border-radius: 6px;
        padding: 1rem;
        margin-top: 3rem;
    }
    
    .result-warning p,
    body.cvsg-product-v2 .result-warning p {
        margin: 0;
        color: #856404;
        font-size: 0.9rem;
    }
    
    .calculation-links,
    body.cvsg-product-v2 .calculation-links {
        text-align: center;
        margin-top: 2rem;
    }
    
    .external-link,
    body.cvsg-product-v2 .external-link {
        display: inline-block;
        margin: 0.5rem;
        text-decoration: none;
    }
    
    .external-link:hover,
    body.cvsg-product-v2 .external-link:hover {
        text-decoration: none;
    }
    
    /* Downloads Section */
    
    .download-links,
    body.cvsg-product-v2 .download-links {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        gap: 1.5rem;
    }
    
    .download-link,
    body.cvsg-product-v2 .download-link {
        display: flex;
        align-items: center;
        padding: 1.5rem;
        background: #fff;
        border: 2px solid #e9ecef;
        border-radius: 12px;
        text-decoration: none;
        color: #333;
        transition: all 0.3s ease;
    }
    
    .download-link:hover,
    body.cvsg-product-v2 .download-link:hover {
        background: var(--light-blue);
        color: #fff;
        transform: translateY(-2px);
        box-shadow: 0 6px 20px rgba(0,0,0,0.1);
        border-color: var(--light-blue);
    }
    
    .download-icon,
    body.cvsg-product-v2 .download-icon {
        font-size: 1.5rem;
        margin-right: 1rem;
    }
    
    .download-text,
    body.cvsg-product-v2 .download-text {
        flex: 1;
        font-weight: 600;
    }
    
    .download-arrow,
    body.cvsg-product-v2 .download-arrow {
        font-size: 1.2rem;
        opacity: 0.7;
    }

    .product-type-selector,
    body.cvsg-product-v2 .product-type-selector {
        flex: 0 0 49%!important;
        position: relative; /* needed for badge positioning */
    }

    .variant-badge,
    body.cvsg-product-v2 .variant-badge {
        position: absolute;
        top: 0;
        left: -1px;
        right: -1px;
        text-align: center;
        background: var(--green, #008b5a);
        color: #fff;
        font-size: 0.72em;
        font-weight: 700;
        padding: 0.4em 0.75em;
        border-radius: 10px 10px 0 0;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        white-space: nowrap;
        z-index: 3;
        pointer-events: none;
        line-height: 1.2;
    }

    /* Push label content down when a badge ribbon is present */
    .product-type-selector:has(.variant-badge) label.product-type-option,
    body.cvsg-product-v2 .product-type-selector:has(.variant-badge) label.product-type-option {
        padding-top: 2.2em;
    }


    :where(body:not(.cvsg-product-v2)) .product-type-selector .text label {
        border: none!important;
        padding: 0!important;
        margin: 0!important;
        font-size: 1.2rem!important;
        font-weight: 300!important;
        color: #333!important;
        text-align: left!important;
        margin-bottom: 0.5rem!important;
        border-bottom: 1px solid #e9ecef!important;
        padding-bottom: 0.5rem!important;
    }

    .product-type-selector .text ul,
    body.cvsg-product-v2 .product-type-selector .text ul {
        padding-left: 0!important;
        margin: 0!important;
        list-style: none!important;
    }

    .product-type-selector .text ul li,
    body.cvsg-product-v2 .product-type-selector .text ul li {
        margin: 0!important;
        font-size: 0.9rem!important;
    }

    .product-type-selector .text ul li::before,
    body.cvsg-product-v2 .product-type-selector .text ul li::before {
        content: '✓';
        margin-right: 0.5rem!important;
    }

    /* Text-only variants (no icon) - full width text */
    .product-type-selector.text-only-variant .text,
    body.cvsg-product-v2 .product-type-selector.text-only-variant .text {
        width: 100%!important;
        text-align: left;
        padding: 1rem 0;
    }

    .product-type-selector.text-only-variant label.product-type-option,
    body.cvsg-product-v2 .product-type-selector.text-only-variant label.product-type-option {
        justify-content: center;
        width: 100%!important;
        padding: 0 2em;
    }

    .fifty-fifty-content .slanted-left-content .content-width,
    body.cvsg-product-v2 .fifty-fifty-content .slanted-left-content .content-width {
        max-width: 950px!important;
    }

    /* Sticky What's Included - Desktop Only */
    @media (min-width: 801px) {
        .whats-included,
        body.cvsg-product-v2 .whats-included {
            position: -webkit-sticky !important;
            position: sticky !important;
            top: 140px !important; /* Account for header + navigation */
            overflow-y: auto;
            align-self: flex-start;
            will-change: transform; /* Optimize for sticky positioning */
        }
        
        .installation-main-row,
        body.cvsg-product-v2 .installation-main-row {
            align-items: flex-start;
            overflow: visible; /* Ensure sticky elements can stick */
        }
        
        /* Ensure the parent section allows sticky positioning */
        section#installation-diy,
        body.cvsg-product-v2 section#installation-diy {
            overflow: visible !important;
        }
        
        section#installation-diy .container,
        body.cvsg-product-v2 section#installation-diy .container {
            overflow: visible !important;
        }
        
    }

    @media (max-width: 800px) {

        .navigation-for-gallery,
        body.cvsg-product-v2 .navigation-for-gallery {
            display:none;
        }

        .section-navigation:not(.fixed),
        body.cvsg-product-v2 .section-navigation:not(.fixed) {
            position: relative;
            top: auto;
        }

        .benefits-grid,
        body.cvsg-product-v2 .benefits-grid {
            grid-template-columns: 1fr;
            gap: 1.5rem;
        }

        .benefit-card,
        body.cvsg-product-v2 .benefit-card {
            margin-bottom: 1rem;
        }

        .benefit-content,
        body.cvsg-product-v2 .benefit-content {
            padding: 1rem;
        }

        .benefit-content h3,
        body.cvsg-product-v2 .benefit-content h3 {
            font-size: 1.2rem;
        }

        .section-intro,
        body.cvsg-product-v2 .section-intro {
            font-size: 1.1rem;
            margin-bottom: 2rem;
        }

        .case-studies-grid,
        body.cvsg-product-v2 .case-studies-grid {
            grid-template-columns: 1fr;
            gap: 1.5rem;
        }

        .video-thumbnail,
        body.cvsg-product-v2 .video-thumbnail {
            height: 200px;
        }

        .testimonial-content,
        body.cvsg-product-v2 .testimonial-content {
            padding: 1rem;
        }

        .video-modal-content,
        body.cvsg-product-v2 .video-modal-content {
            width: 95%;
            margin: 10% auto;
        }

        /* Measuring Guide Mobile Styles */
        .measuring-intro,
        body.cvsg-product-v2 .measuring-intro {
            grid-template-columns: 1fr;
            gap: 2rem;
        }

        .guides-list-container,
        body.cvsg-product-v2 .guides-list-container {
            padding: 1rem;
        }

        .guide-list-item,
        body.cvsg-product-v2 .guide-list-item {
            padding: 0.75rem;
        }

        .guide-icon,
        body.cvsg-product-v2 .guide-icon {
            width: 40px;
            height: 40px;
            margin-right: 0.75rem;
        }

        .guide-info h4,
        body.cvsg-product-v2 .guide-info h4 {
            font-size: 1rem;
        }

        .guide-info p,
        body.cvsg-product-v2 .guide-info p {
            font-size: 0.8rem;
        }

        .process-steps,
        body.cvsg-product-v2 .process-steps {
            grid-template-columns: 1fr;
            gap: 1.5rem;
        }

        .step,
        body.cvsg-product-v2 .step {
            flex-direction: column;
            text-align: center;
        }

        .step-number,
        body.cvsg-product-v2 .step-number {
            margin-right: 0;
            margin-bottom: 1rem;
        }

        .measurement-process,
        body.cvsg-product-v2 .measurement-process {
            padding: 2rem 1rem;
        }

        /* Installation Mobile Styles */
        .installation-options,
        body.cvsg-product-v2 .installation-options {
            grid-template-columns: 1fr;
            gap: 1.5rem;
        }

        .option-card,
        body.cvsg-product-v2 .option-card {
            padding: 2rem 1.5rem;
        }

        .installation-main-row,
        body.cvsg-product-v2 .installation-main-row {
            display: grid;
            grid-template-columns: 1fr;
            gap: 2rem;
        }

        .how-it-works h3,
        body.cvsg-product-v2 .how-it-works h3 {
            text-align: center;
        }

        .process-timeline::before,
        body.cvsg-product-v2 .process-timeline::before {
            left: 20px;
        }

        .timeline-item,
        body.cvsg-product-v2 .timeline-item {
            flex-direction: column;
            text-align: center;
        }

        .timeline-number,
        body.cvsg-product-v2 .timeline-number {
            margin-right: 0;
            margin-bottom: 1rem;
            width: 50px;
            height: 50px;
            font-size: 1rem;
        }

        .timeline-content,
        body.cvsg-product-v2 .timeline-content {
            margin-top: 0;
            text-align: left;
        }

        .whats-included,
        body.cvsg-product-v2 .whats-included {
            padding: 2rem 1rem;
        }

        .whats-included h3,
        body.cvsg-product-v2 .whats-included h3 {
            text-align: center;
        }

        .whats-included > p,
        body.cvsg-product-v2 .whats-included>p {
            text-align: center;
        }

        /* Warranty Mobile Styles */
        .warranty-highlights,
        body.cvsg-product-v2 .warranty-highlights {
            grid-template-columns: 1fr;
            gap: 1.5rem;
        }

        .warranty-card,
        body.cvsg-product-v2 .warranty-card {
            padding: 1.5rem;
        }

        .warranty-section,
        body.cvsg-product-v2 .warranty-section {
            padding: 1.5rem;
        }

        .warranty-details,
        body.cvsg-product-v2 .warranty-details {
            gap: 2rem;
        }

        .warranty-row,
        body.cvsg-product-v2 .warranty-row {
            flex-direction: column;
            gap: 2rem;
        }

        .coverage-single,
        body.cvsg-product-v2 .coverage-single {
            padding: 1.5rem;
        }

        .coverage-single li,
        body.cvsg-product-v2 .coverage-single li {
            font-size: 1rem;
        }

        .warranty-icon,
        body.cvsg-product-v2 .warranty-icon {
            width: 60px;
            height: 60px;
            font-size: 2rem;
        }

        .postcode-content,
        body.cvsg-product-v2 .postcode-content {
            grid-template-columns: 1fr;
            gap: 2rem;
        }

        .postcode-check-section,
        body.cvsg-product-v2 .postcode-check-section {
            padding: 2rem 1rem;
        }

        .feature-item,
        body.cvsg-product-v2 .feature-item {
            padding: 1rem;
        }
        /* Gallery Navigation - Hide on smaller screens */
        .navigation-for-gallery,
        body.cvsg-product-v2 .navigation-for-gallery {
            display:none;
        }

        .section-navigation:not(.fixed) {
            position: relative;
            top: auto;
        }

        .section-navigation.fixed {
            top: var(--pv2-sticky-nav-top, var(--cvsg-header-offset, 80px));
        }

        body.cvsg-product-v2 .section-navigation:not(.fixed) {
            position: relative;
            top: auto;
        }

        body.cvsg-product-v2 .section-navigation.fixed {
            position: fixed !important;
            top: var(--pv2-section-nav-top, 0px) !important;
        }

        .product-type-container,
        body.cvsg-product-v2 .product-type-container {
            flex-direction: column;
        }

    }

/* ==========================================================================
   Product v2 chrome — loaded last so parent/onbrand cannot undo it.
   Behaviour lives in cvsg-product-v2.css + cvsg-product-v2.js; these rules
   only re-assert what the shared/parent sheets would otherwise flatten.
   ========================================================================== */
@media (min-width: 769px) {
    body.cvsg-product-v2 #header.horizontal-w,
    body.cvsg-product-v2 #header.horizontal-w.sticky,
    body.cvsg-product-v2 header#header.fixed {
        position: relative !important;
        top: auto !important;
        z-index: 10050 !important;
    }

    body.cvsg-product-v2.pv2-header-pinned #header.horizontal-w,
    body.cvsg-product-v2.pv2-header-pinned #header.horizontal-w.sticky,
    body.cvsg-product-v2.pv2-header-pinned header#header.fixed {
        position: fixed !important;
        top: var(--pv2-admin-offset, 0px) !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        z-index: 10050 !important;
    }

    body.cvsg-product-v2 .cvsg-header-spacer {
        display: none !important;
        height: 0 !important;
    }

    body.cvsg-product-v2 #wrap {
        overflow: visible !important;
        padding-top: 0 !important;
    }
}

body.cvsg-product-v2 .section-navigation {
    position: relative;
    top: auto;
    margin: 0 !important;
    padding: 0 !important;
    border-top: 0 !important;
}

body.cvsg-product-v2 .section-navigation.fixed {
    position: fixed !important;
    top: var(--pv2-section-nav-top, 0px) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 10040 !important;
}

/* Dark navy chrome is desktop only; mobile keeps the light dropdown bar. */
@media (min-width: 769px) {
    body.cvsg-product-v2 .section-navigation.fixed {
        background: #0f2438 !important;
        border-bottom-color: rgba(255, 255, 255, 0.08) !important;
    }

    body.cvsg-product-v2 .section-navigation.fixed .nav-link,
    body.cvsg-product-v2 .section-navigation.fixed .nav-links a {
        color: rgba(255, 255, 255, 0.78) !important;
        background: transparent !important;
    }

    body.cvsg-product-v2 .section-navigation.fixed .nav-link:hover,
    body.cvsg-product-v2 .section-navigation.fixed .nav-links a:hover,
    body.cvsg-product-v2 .section-navigation.fixed .nav-link.active,
    body.cvsg-product-v2 .section-navigation.fixed .nav-links a.active {
        color: #fff !important;
        background: rgba(255, 255, 255, 0.06) !important;
    }
}

