/* Hide/show sections based on device */
.mobile-only {
    display: none !important;
}

.desktop-only {
    display: block !important;
}

@media (max-width: 768px) {
    .mobile-only {
        display: block !important;
    }

    .desktop-only {
        display: none !important;
    }

    /* Ensure mobile comparison section displays properly */
    .mobile-comparison-section {
        display: block !important;
    }

    .comparison-section.desktop-only {
        display: none !important;
    }
}

/* Mobile Comparison Accordion Styles */
.mobile-comparison-section {
    padding: 40px 10px;
    display: none;
}

@media (max-width: 768px) {
    .mobile-comparison-section {
        display: block !important;
    }

    /* Ensure mobile comparison slider is visible */
    .mobile-comparison-slider {
        opacity: 1;
        visibility: visible;
        display: block !important;
    }

    /* Fix any potential display issues when Slick is initialized */
    .mobile-comparison-slider.slick-initialized {
        display: block !important;
    }

    .mobile-comparison-slider.slick-initialized .slick-track {
        display: flex !important;
    }

    /* Ensure mobile comparison content is visible */
    .mobile-comparison-slider {
        opacity: 1 !important;
        visibility: visible !important;
    }
}

.mobile-comparison-accordion {
    margin-top: 30px;
}

.comparison-accordion-item {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    margin-bottom: 15px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.comparison-accordion-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    border-bottom: 1px solid transparent;
}

.comparison-accordion-header:hover {
    background: #f8f9fa;
}

.comparison-accordion-header.active {
    background: #e8f5f5;
    border-bottom: 1px solid #4acac9;
}

.header-content {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    flex: 1;
}

.feature-icon {
    width: 40px;
    height: 40px;
    background: #4acac9;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.feature-icon img {
    width: 20px;
    height: 20px;
    filter: brightness(0) invert(1);
}

.feature-info {
    flex: 1;
}

.feature-info h3 {
    margin: 0 0 8px 0;
    font-size: 18px;
    font-weight: 700;
    color: #2d2e2f;
    font-family: 'Montserrat', sans-serif;
}

.feature-info p {
    margin: 0;
    font-size: 14px;
    color: #666;
    line-height: 1.4;
    font-family: 'Open Sans', sans-serif;
}

#product-cart-section .add-to-cart-btn span ,#product-cart-section .buy-now-btn span, .night-guard-product-detail .per-guard-price {
    font-size:12px;
    font-weight:500;
    color: #fff;
}
#product-cart-section .add-to-cart-btn  ,#product-cart-section .buy-now-btn  {
    font-weight:700;
}

.accordion-toggle {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #4acac9;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease;
}

.toggle-icon {
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    transition: transform 0.3s ease;
}

.comparison-accordion-header.active .accordion-toggle {
    background: #2d2e2f;
}

.comparison-accordion-header.active .toggle-icon {
    transform: rotate(45deg);
}

.comparison-accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease-in-out;
    background: #fff;
}

.comparison-accordion-content.active {
    max-height: 500px;
    overflow: visible;
}

.comparison-accordion-content .comparison-table {
    padding: 0 20px 20px;
    background: transparent;
    border: none;
    border-radius: 0;
}

.comparison-accordion-content .table-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 0;
    border-bottom: 1px solid #f0f0f0;
}

.comparison-accordion-content .table-row:last-child {
    border-bottom: none;
}

.comparison-accordion-content .table-row.header-row {
    background: linear-gradient(135deg, #4acac9 0%, #3ba8a8 100%);
    border-radius: 8px;
    margin-bottom: 10px;
    padding: 15px 20px;
    border-bottom: none;
}

.comparison-accordion-content .cell {
    display: flex;
    align-items: center;
}

.comparison-accordion-content .brand-cell {
    flex: 1;
    font-weight: 600;
}

.comparison-accordion-content .brand-cell img {
    max-height: 24px;
    width: auto;
    margin-right: 10px;
}

.comparison-accordion-content .brand-name {
    font-size: 14px;
    color: #2d2e2f;
    font-weight: 500;
}

.comparison-accordion-content .header-row .brand-name {
    color: #fff;
    font-weight: 600;
}

.comparison-accordion-content .result-cell {
    flex: 1;
    justify-content: flex-end;
    text-align: right;
}

.comparison-accordion-content .result-cell img {
    width: 24px;
    height: 24px;
}

.comparison-accordion-content .price-info,
.comparison-accordion-content .reorder-info,
.comparison-accordion-content .turnaround-info {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    text-align: right;
}

.comparison-accordion-content .price,
.comparison-accordion-content .reorder-clicks,
.comparison-accordion-content .turnaround-time {
    font-size: 16px;
    font-weight: 700;
    color: #2d2e2f;
    line-height: 1;
}

.comparison-accordion-content .price-unit,
.comparison-accordion-content .reorder-time,
.comparison-accordion-content .turnaround-unit {
    font-size: 12px;
    color: #666;
    margin-top: 2px;
    line-height: 1;
}

.comparison-accordion-content .dentist-price .price,
.comparison-accordion-content .dentist-reorder .reorder-clicks,
.comparison-accordion-content .dentist-turnaround .turnaround-time {
    color: #ff6b6b;
}

.comparison-accordion-content .dentist-price .price-unit,
.comparison-accordion-content .dentist-reorder .reorder-time,
.comparison-accordion-content .dentist-turnaround .turnaround-unit {
    color: #ff6b6b;
}

.mobile-comparison-section .comparison-heading {
    font-size: 24px;
    font-weight: 700;
    color: #2d2e2f;
    text-align: center;
    margin-bottom: 15px;
}

.mobile-comparison-section .comparison-subtext {
    font-size: 16px;
    color: #666;
    text-align: center;
    margin-bottom: 30px;
    line-height: 1.5;
}

.mobile-comparison-section .highlight-text {
    color: #5642bb;
    font-weight: 600;
}

.mobile-comparison-slider {
    overflow: hidden;
    position: relative;
    margin-top: 20px;
}

.mobile-comparison-slider .slick-track {
    display: flex;
    align-items: stretch;
}

.mobile-comparison-slider .slick-slide {
    height: auto;
    /* Add padding between slides */
}


.mobile-comparison-slider .card-title {
    font-size: 20px;
    font-weight: 600;
    color: #fff;
    margin: 0;
    font-family: 'Montserrat', sans-serif;
}

/* Comparison Card Styles */
.comparison-card {
    background: #fff;
    border-radius: 16px;
    border: 1px solid #bdc3c9;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.card-header {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 20px;
    background: #4acac9;
    border-top-right-radius: 12px;
    border-top-left-radius: 12px;
    position: relative;
}



.card-icon img {
    width: 30px;
    height: 30px;
    position: absolute;
    top: 9px;
    left: 9px;
}

.card-title {
    font-size: 18px;
    font-weight: 700;
    color: #2d2e2f;
    margin: 0;
}

.card-description {
    font-size: 14px;
    color: #666;
    line-height: 1.4;
    margin-bottom: 20px;
    flex-grow: 1;
}

.mobile-comparison-slider .comparison-table {
    background: transparent;
    border: 0px;
    padding: 0px 16px;
}

.mobile-comparison-slider .card-description {
    padding: 10px 30px;
    margin-bottom: 0px;
}

.mobile-comparison-slider .table-row.header-row {
    background: transparent;
    border: 2px solid #4acac9;
    border-radius: 12px;
}

.mobile-comparison-slider .table-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid #bdc3c9;
}

.mobile-comparison-slider .brand-name {
    font-size: 14px;
    font-weight: 500;
    color: #555759;
    font-family: 'Montserrat', sans-serif;

}

.brand-cell {
    position: relative;
}

.brand-cell:after {
    position: absolute;
    content: '';
    width: 2px;
    height: 48px;
    right: -7px;
    top: -14px;
    background: #e9ecef;
}

.header-row .brand-cell:first-child:after {
    background: #4acac9;
    width: 2px;
    height: 52px;
}

.table-row.header-row .check-icon,
.cell.result-cell .check-icon {
    background: transparent;
}

/* Comparison Table within Cards */
.comparison-table {
    background: #f8f9fa;
    border-radius: 12px;
    padding: 16px;
    border: 1px solid #e9ecef;
}

.table-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 0;
    border-bottom: 1px solid #e9ecef;
}

.table-row:last-child {
    border-bottom: none;
}

.table-row.header-row {
    background: linear-gradient(135deg, #5ae4dc 0%, #4fd1c7 100%);
    border-radius: 8px;
    margin-bottom: 0px;
    padding: 12px 0px;
    border-bottom: none;
}

.mobile-comparison-slider .cell {
    display: flex;
    align-items: center;
    justify-content: end;
    max-width: 50%;
    width: 100%;
}

.mobile-comparison-slider .cell.result-cell {
    justify-content: center;
}

.brand-cell {
    flex: 1;
    font-weight: 600;
}

.brand-cell h4 {
    font-size: 16px;
    color: #565759;
    font-weight: 700;
    margin-bottom: 0px;
    font-family: 'Montserrat', sans-serif;

}

.brand-cell.smile-brilliant img {
    max-height: 24px;
    width: auto;
}

.brand-name {
    font-size: 14px;
    color: #2d2e2f;
    font-weight: 500;
}

.header-row .brand-name {
    color: #fff;
    font-weight: 600;
}

.result-cell {
    flex: 1;
    justify-content: center;
    text-align: center;
}

.result-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.result-value {
    font-size: 14px;
    font-weight: bold;
    color: #555759;
    line-height: 1;
    font-family: 'Montserrat', sans-serif;

}

.result-time {
    font-size: 12px;
    color: #4acac9;
    margin-top: 2px;
    line-height: 1;
    font-weight: bold;
}

.dentist-result .result-value {
    color: #555759;
}

.dentist-result .result-time {
    color: #ff0000;
}

.negative .result-value {
    color: #555759;
}

.negative .result-time {
    color: #ff0000;
}

.check-icon img {
    width: 20px;
    height: 20px;
}

.cross-icon .cross {
    color: #ff6b6b;
    font-size: 20px;
    font-weight: bold;
}

/* Slick Slider Dots for Mobile Comparison - Hidden since using cards instead */

.mobile-comparison-slider .slick-dots li {
    display: inline-block;
    margin: 0;
}

.mobile-comparison-slider .slick-dots li button {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #d1d5db;
    border: none;
    padding: 0;
    font-size: 0;
    cursor: pointer;
    transition: all 0.3s ease;
}
.mobile-comparison-section.mobile-only .slick-dots{
position: relative !important;
bottom:15px !important
}
.mobile-comparison-slider .slick-dots li.slick-active button {
    background: #5ae4dc;
    width: 12px;
    border-radius: 6px;
}

/* Mobile comparison cards display - no longer using slider */
.mobile-comparison-slider .comparison-card {
    display: block;
    margin-bottom: 20px;
    margin-left:5px;
    margin-right:5px;
}

.mobile-comparison-slider {
    opacity: 1;
    transition: opacity 0.3s ease;
}

/* Prevent slider flickering on page load */
.main-slider {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease-in-out;
}

.main-slider.slick-initialized {
    opacity: 1;
    visibility: visible;
}

.main-slider:not(.slick-initialized) .slide-item {
    display: none;
}

.main-slider:not(.slick-initialized) .slide-item:first-child {
    display: block;
}

.product-card {
    max-width: 33.33%;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 33.33%;
    flex: 0 0 33.33%;
    max-width: 33.33%;
    margin: 0 0px;
    position: relative;

}

.product-slider-wrapper {
    flex-wrap: wrap;
    gap: 2.5rem;
    align-items: start;
}

/* Mobile Slider Styles */
@media (max-width: 767px) {
    .product-slider-wrapper {
        gap: 0;
        overflow: hidden;
    }

    .product-card {
        max-width: 100%;
        flex: 0 0 100%;
        margin: 0;
    }

    /* Slick slider mobile dots */
    .product-slider-wrapper .slick-dots {
        bottom: -50px;
        text-align: center;
    }

    .product-slider-wrapper .slick-dots li {
        display: inline-block;
        margin: 0 5px;
    }

    .product-slider-wrapper .slick-dots li button {
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background: #ddd;
        border: none;
        font-size: 0;
    }

    .product-slider-wrapper .slick-dots li.slick-active button {
        background: #331f97;
    }

    /* Center mode padding */
    .product-slider-wrapper.slick-slider {
        margin-bottom: 60px;
    }
}



.third-product-card {
    order: 2;
}

.card-flex-wrapper {
    display: block;
    flex-wrap: wrap;
    /* gap: 1.5rem; */
    padding: 1.5rem;
    justify-content: space-between;
    align-items: center;
}

.card-image-container {
    width: 100%;
    max-width: 320px;
    margin: 0px auto;
    min-height: 255px;
}

.second-product-card .card-image-container {
    max-width: 320px;
    margin: 0px auto;
}

.card-content-container {
    width: 100%;
    max-width: 290px;
}

.product-card:not(.second-product-card) .card-content-container {
    max-width: 340px;
    margin: 0px auto;
}

.product-card:not(.second-product-card) .product-selection-description {
    padding: 0;
}


.product-card:not(.second-product-card) .price-box {
    padding-top: 1.5rem;
}

.price-box {
    padding-top: 20px !important;
    padding-bottom: 0px !important;
}

.product-card-content-wrapper-container {
    width: 100%;
    max-width: 100%;
}
.product-card-content-wrapper-container .price-content{
    justify-content: center;
}
.card-content {
    border-radius: 10px;
}
.subscription-tagline.widget-text  {
    
    color: #555759;
    font-weight: 400;
}
p#kl_newsletter_checkbox_field {
    display: none !important;
}
.subscription-tagline.widget-text b {
padding-left:0px;
    padding-right:0px;
}
.product-card .product-selection-description {
    padding: 0px 15px;
}

.product-card .action-button,
.product-card .wrapper.flex-wrapper {
    padding-left: 15px;
    padding-right: 15px;
}

.fruit-content-header {
    display: none;
    align-items: center;
    border-bottom: 1px solid #eee;
    padding-bottom: 15px;
    gap: 1rem;
}

.fruit-content .header-content p {
    padding-left: 10px;
    font-size: 13px;
    margin-bottom: 0px;
    padding-right: 7px;
}

.fruit-content .header-content img {
    padding-left: 10px;
    padding-top: 10px;
}

#product-cart-section .product-description p {
    padding: 0;
    padding-top: 0px;
    line-height: 1.6;
    color: #828486;
    text-align: left;
    font-weight: 400;
    padding-top: 35px;
}

#product-cart-section .product-description p b {
    color: #565759;
}

#product-cart-section .header-content p {
    font-size: 16px;
}

.guards-image {
    max-width: 227px;
    margin-left: auto;
    margin-right: auto;
    /* v1 hides this block outright, so the guards thumbnail and its
       "Just $x per Guard!" label never paint. Dropping the display:none here
       showed both, adding a line of copy live doesn't have and 126px of extra
       card height. */
    display: none;
}

.guards-image img {
    margin-left: auto;
    margin-right: auto;
    display: block;
    max-height: 38px;
}

.guards-image .save-price {
    margin-top: 14px;
    color: #9e1e82;
    font-weight: 500;
    font-size: 13px;
    text-align: center;
}

/* v1's rule verbatim. This had been rewritten to position:relative /
   display:inline-block to cope with .card-badge being nested inside
   .card-flex-wrapper in the JSX; the JSX now emits it where v1 does (direct
   child of .product-card), so the original absolute placement is what applies. */
.product-card .card-badge {
    top: 47px;
    position: absolute;
    border-radius: 0;
    font-weight: 600;
    left: 0;
    padding: 4px 20px;
    text-align: center;
    font-size: 10px;
    max-width: 260px;
    margin-left: auto;
    margin-right: auto;
    border-bottom-right-radius: 12px;
}

.card-top-header {
    margin-top: -1.5rem;
    margin-left: -1.5rem;
    margin-right: -1.5rem;
}

.product-card .wrapper.flex-wrapper label {
    width: 100%;
    text-align: center;
}

.night-guard-product-detail .price-content {
    padding-top: 55px !important;
}
.price-content{
    justify-content: end;
}
.card-top-header h1 {
    font-size: 22px;
    color: #2d2e2f;
    font-weight: 700;
    padding: 10px 0;
    margin-bottom: 0;
    letter-spacing: 0;
    text-transform: capitalize;
}
span.highlight-blue.description-package-price {
    padding-left: 0;
}

.average-grinding-card .card-badge {
    background: #55575b;
}

.card-top-header {
    border-top-right-radius: 10px;
    border-top-left-radius: 10px;
}



.light-grinding-card .card-badge {
    background: #555759;
}

.pac-container {
    z-index: 999999999;
}

/* .side-panel-content .last-item-cnt{
position: absolute;
    width: auto;
    left: 15px;
    right: 15px;
    bottom: 75px;
    background: #fff;
    padding-top: 1rem;
}
    ul.woocommerce-mini-cart {
        padding-right: 1.5rem;
        overflow: inherit;
        height: 100%;
        max-height: 100%;
        position: relative;
    } */
@media (max-width: 1520px) {

    /* .second-product-card .card-image-container {
        max-width: 32.33%;
    } */

.card-image-container{
    min-height:203px
}




}

@media (max-width: 1200px) {

    /* .second-product-card .card-image-container {
        max-width: 28.33%;
    } */

    .product-card:not(.second-product-card) .card-content-container {
        max-width: 250px;
    }



}


/* Our Promise Section Styles */
.our-promise-section {
    padding: 50px 0 10px;
    background: #fff;
}

.promise-content {
    padding-right: 40px;
}

.promise-title {
    font-size: 48px;
    font-weight: bold;
    color: #2d2e2f;
    margin-bottom: 0px;
    font-family: 'Montserrat', sans-serif;
    line-height: 1.1;
}

.promise-subtitle {
    font-size: 36px;
    font-weight: 500;
    color: #331f97;
    margin-bottom: 40px;
    font-family: 'Montserrat', sans-serif;
}

.promise-list {
    margin-bottom: 40px;
    padding-top: 40px;
    padding-bottom: 10px;
}

.promise-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 25px;
    gap: 15px;
}

.checkmark-icon {
    width: 25px;
    height: 25px;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 16px;
    flex-shrink: 0;
    margin-top: 4px;
}
.guards-images{
    max-width:40%;
}
.promise-text {
    flex: 1;
}

.promise-text strong {
    font-size: 24px;
    color: #2d2e2f;
    font-weight: bold;
    display: block;
    margin-bottom: 0px;
    font-family: 'Montserrat', sans-serif;
}
.product-selection-description-parent-inner .normalyAmount, .normalyAmount{
    font-size:11px;
}
.promise-description {
    font-size: 16px;
    color: #969696;
    line-height: 1;
    font-family: 'Open Sans', sans-serif;
    margin-top: -2px;
    display: block;
    font-weight: 400;
}

.rating-badge {
    display: flex;
    align-items: center;
    gap: 0px;
    padding: 20px 0;
    justify-content: center;
    margin-left: -30px;
}

.rating-logo img {
    width: 60px;
    height: auto;
}

.rating-text strong {
    font-size: 16px;
    color: #333;
    font-weight: 700;
    display: block;
    font-family: 'Montserrat', sans-serif;
}

.foundation-name {
    font-size: 16px;
    color: #5642bb;
    font-weight: 600;
    font-family: 'Montserrat', sans-serif;
}

.promise-image {
    text-align: center;
    position: relative;
}

.circular-frame {

    overflow: hidden;
    position: relative;
    margin: 0 auto;
}

.circular-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-showcase {
    position: absolute;
    top: 20px;
    left: 20px;
    width: 120px;
    height: 80px;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 10px;
    padding: 10px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.product-showcase img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

@media (max-width: 992px) {
    .our-promise-section {
        padding: 60px 0;
    }

    .promise-content {
        padding-right: 0;
        margin-bottom: 40px;
    }

    .promise-title {
        font-size: 26px;
        text-align: left;
    }

    .promise-subtitle {
        font-size: 20px;
        text-align: left;
    }

    .circular-frame {
        width: 300px;
        height: 300px;
    }

    .product-showcase {
        width: 100px;
        height: 70px;
    }
}

@media (max-width: 768px) {
    .promise-title {
        font-size: 32px;
    }

    .promise-subtitle {
        font-size: 18px;
    }

    .promise-item {
        margin-bottom: 20px;
    }

    .promise-text strong {
        font-size: 16px;
    }

    .promise-description {
        font-size: 14px;
    }

    .circular-frame {
        width: 250px;
        height: 250px;
    }

    .rating-badge {
        justify-content: center;
        text-align: center;
    }
}

/* Product Tabs Section Styles */
.product-tabs-section {
    padding: 0;
    background: #fff;
    position: relative;
}

.product-tabs-section:after {
    content: '';
    width: 100%;
    height: 5px;
    background: #24156e;
    position: absolute;
    left: 0;
    right: 0;
    top: 78px;
}

.tabs-wrapper {
    max-width: 100%;
    margin: 0 auto;
}

.tab-navigation {
    display: flex;
    background: #fff;
    border-bottom: 1px solid #ddd;
    margin: 0;
    padding: 0px 80px;
    justify-content: space-between;
    position: relative;
}

.tab-navigation:after {
    content: '';
    width: 100%;
    height: 5px;
    background: #24156e;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
}

.tab-btn {
    background: #fff;
    border: none;
    padding: 12px 80px;
    font-size: 16px;
    font-weight: 600;
    color: #666;
    cursor: pointer;
    transition: all 0.3s ease;
    border-bottom: 3px solid transparent;
    font-family: 'Montserrat', sans-serif;
    min-width: 200px;
    text-align: center;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
    border: 1px solid #c5c6c9;
}

.tab-btn:hover {
    background: #f8f9fa;
    color: #333;
}

.tab-btn.active {
    background: #24156e;
    color: #fff;
    border-bottom: 3px solid #24156e;
}

.tab-content-wrapper {
    background: #fff;

}

.tab-content {
    display: none;
    padding: 60px 0px;
    margin: 0 auto;
    animation: fadeIn 0.3s ease-in;
}

.tab-content.active {
    display: block;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Accordion Styles (Hidden on Desktop) */
.accordion-item {
    display: none;
    border-bottom: 1px solid #c8c6c6;
    background: #fff;
}

.accordion-item:last-child {
    border-bottom: 0px;
}

.accordion-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 25px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    margin-bottom: 0;
    font-family: 'Montserrat', sans-serif;
    border-radius: 0;
    text-align: left;
}


.accordion-header h3 {
    margin: 0;
    font-size: 16px;
    font-weight: 500;
    color: #666;
    flex-grow: 1;
    font-family: inherit;
}

.accordion-icon {
    font-size: 16px;
    font-weight: bold;
    color: #4acac9;
    transition: transform 0.3s ease;
    margin-left: auto;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.accordion-icon::before {
    content: '';
    /* v1 L1361 hard-codes this via PHP and leaves a stray `"` in the URL; the
       live server 301s that away, but in the extracted sheet the raw PHP never
       runs, so the path is relative-to-this-file instead. */
    background-image: url('../images/night-guard-v3/expand-arrow_03.png');
    width: 15px;
    height: 15px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: transform 0.3s ease;
}

.accordion-header.active {
    background: #fff;
    border-bottom: 1px solid #c8c6c6;
}

.accordion-header.active h3 {
    color: #2d2e2f !important;
    font-weight:700;
}

.accordion-header.active .accordion-icon::before {
    transform: rotate(180deg);
}

.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease-in-out;
    background: #fff;
    border-top: none;
}

.accordion-content.active {
    max-height: none;
    overflow: visible;
}

/* Desktop Styles - Clean Tabs Only */
@media (min-width: 769px) {
    .product-tabs-section {
        display: block;
        padding: 40px 0;
    }

    .mobile-accordion-section {
        display: none;
    }

    .tab-content-wrapper {
        background: #fff;

    }

    .tab-content {
        display: none;
        padding: 60px 0px;
        margin: 0 auto;
        animation: fadeIn 0.3s ease-in;
    }

    .tab-content.active {
        display: block;
    }
}

/* Mobile Styles - Accordion Only */
@media (max-width: 768px) {
    .product-tabs-section {
        display: none;
    }

    .mobile-accordion-section {
        display: block;
        padding: 0px 0;
        padding-bottom: 20px;
    }

    .accordion-item {
        display: block;
        margin-bottom: 10px;
    }

    .accordion-header {
        padding: 15px 20px;
        border-radius: 8px 8px 0 0;
    }

    .accordion-header h3 {
        font-size: 16px;
    }

    .accordion-icon {
        font-size: 18px;
    }

    .accordion-content {
        border-radius: 0 0 8px 8px;

    }

}

.accordion-header {
    padding: 15px 20px;
    border-radius: 8px 8px 0 0;
}

.accordion-header h3 {
    font-size: 16px;
}

.accordion-icon {
    font-size: 18px;
}

.accordion-content {
    border-radius: 0 0 8px 8px;
    border-top: none;
}


.tab-content ul {
    margin: 20px 0;
    padding-left: 20px;
}

.tab-content li {
    font-size: 16px;
    line-height: 1.6;
    color: #666;
    margin-bottom: 8px;
    font-family: 'Open Sans', sans-serif;
}

/* Comparison Table Styles */
.comparison-section {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0px 20px;
}

.comparison-section.desktop-only {
    display: block;
}

@media (max-width: 768px) {
    .comparison-section.desktop-only {
        display: none !important;
    }
}

.comparison-heading {
    text-align: center;
    font-size: 48px;
    font-weight: 900;
    color: #2d2e2f;
    margin-bottom: 10px;
    font-family: 'Montserrat', sans-serif;
}

.comparison-subtext {
    text-align: center;
    font-size: 24px;
    color: #555759;
    margin-bottom: 40px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
}

td.value-cell.smile-brilliant-bg {
    border-left: 6px solid #4acac9;
    border-right: 6px solid #4acac9;
}

th.brand-column.smile-brilliant {
    border: 6px solid #4acac9 !important;
    border-bottom: 0px !important;
    border-radius: 6px;
    border-top:0px !important;
}

.highlight-text {
    color: #331f97;
}

.comparison-table-wrapper {
    overflow-x: auto;
    margin: 0 auto;
    max-width: 100%;
    padding-top:20px;
}

.modern-comparison-table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    background: #fff;
    font-family: 'Open Sans', sans-serif;
    margin: 0 auto;
}

.modern-comparison-table th {
    padding: 20px 15px;
    text-align: center;
    border: 1px solid #e5e5e5;
    background: #f8f9fa;
    font-weight: 600;
    font-size: 14px;
}

.modern-comparison-table .feature-column {
    width: 25%;
    background: #fff;
    border: none;
}

.modern-comparison-table .brand-column {
    width: 18.75%;
}

.modern-comparison-table .brand-column.smile-brilliant {
    background: #e8f5f5;
    border: 2px solid #00bcd4;
    position: relative;
}

.brand-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.brand-logo {
    width: 40px;
    height: 40px;
}

.logo-circle {
    width: 40px;
    height: 40px;
    background: #00bcd4;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 700;
    font-size: 14px;
}

.brand-name {
    font-size: 16px;
    font-weight: 400;
    color: #555759;
}

.modern-comparison-table td {
    padding: 20px 15px;
    border: 0px #e5e5e5;
    vertical-align: middle;
    text-align: center;
    border-top: 1px solid #c5c6c9;
}

.modern-comparison-table tbody {
    border: 0px !important;
}

.feature-cell {
    text-align: left !important;
    background: #fff;
    border-right: 2px solid #ddd;
}

.feature-content strong {
    display: block;
    font-size: 16px;
    font-weight: 700;
    color: #555759;
    margin-bottom: 8px;
    font-family: 'Montserrat', sans-serif;
}

.feature-desc {
    font-size: 12px;
    color: #b5b4b7;
    line-height: 1.4;
    margin: 0;
    font-weight: 500;
}

.value-cell {
    text-align: center;
    font-size: 14px;
    background: #fff;
}

.smile-brilliant-bg {
    background: #e8f5f5 !important;
    border-left: 2px solid #00bcd4;
    border-right: 2px solid #00bcd4;
}

.check-icon {
    width: 30px;
    height: 30px;
    background: #00bcd4;
    border-radius: 50%;
    color: white;
    font-size: 18px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
}

.x-icon {
    width: 30px;
    height: 30px;
    background: #ff4444;
    border-radius: 50%;
    color: white;
    font-size: 18px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
}

.price-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}

.price {
    font-size: 16px !important;
    font-weight: 700;
    color: #565759;
}

.smile-brilliant-bg .price {
    color: #555759;
}

.dentist-price .price {
    color: #555759;
}

.price-unit {
    font-size: 16px;
    font-family: 'Open Sans';
    font-weight: 400;
    color: #4acac9;
    text-transform: capitalize;
}
p.kl_sms_compliance_text.form-row.wfacp-form-control-wrapper.wfacp-col-full.kl_sms_consent_checkbox_field {
    color: #555759;
    font-weight: 400;
}
.dentist-price .price-unit {
    color: #ff0000;
}

.reorder-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}

.reorder-clicks {
    font-size: 16px;
    font-weight: 700;
    color: #333;
}

.smile-brilliant-bg .reorder-clicks {
    color: #555759;
}

.dentist-reorder .reorder-clicks {
    color: #555759;
}

.reorder-time {
    font-size: 16px;
    font-family: 'Open Sans';
    font-weight: 400;
    color: #4acac9;
}

.dentist-reorder .reorder-time {
    color: #ff4444;
}

.turnaround-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}

.turnaround-time {
    font-size: 16px;
    font-weight: 700;
    color: #333;
}

.smile-brilliant-bg .turnaround-time {
    color: #555759;
}

.dentist-turnaround .turnaround-time {
    color: #555759;
}

.turnaround-unit {
    font-size: 16px;
    font-family: 'Open Sans';
    font-weight: 400;
    color: #4acac9;
}

.brand-header img {
    max-width: 150px;
}

.reorder-info .reorder-time {
    color: #ff0000
}

.dentist-turnaround .turnaround-unit {
    color: #ff4444;
}

table:not(.variations):not(.shop_table):not(.group_table) thead th {
    text-align: center;
    border: 0px;

}

table:not(.variations):not(.shop_table):not(.group_table) thead {
    border: 0px;
}

th.brand-column.dentist {
    background: #fff;
}

th.brand-column.boil-bite {
    background: #fff;
}

th.brand-column.other-brands {
    background: #fff;
}

.value-cell img {
    max-width: 30px;
    margin: 0px auto;
}

    html {
        scroll-behavior: unset;
    }

/* Responsive Design for Comparison Table */
@media (max-width: 992px) {
    .comparison-heading {
        font-size: 28px;
    }

    .modern-comparison-table th,
    .modern-comparison-table td {
        padding: 15px 10px;
        font-size: 12px;
    }

    .feature-content strong {
        font-size: 14px;
    }

    .feature-desc {
        font-size: 11px;
    }
}

@media (max-width: 768px) {
    .comparison-section {
        padding: 20px 10px;
    }

    .comparison-heading {
        font-size: 24px;
    }

    .comparison-subtext {
        font-size: 14px;
    }

    .modern-comparison-table {
        font-size: 11px;
    }

    .modern-comparison-table th,
    .modern-comparison-table td {
        padding: 10px 8px;
    }

    .feature-content strong {
        font-size: 12px;
    }

    .feature-desc {
        font-size: 10px;
    }

    .check-icon,
    .x-icon {
        width: 25px;
        height: 25px;
        font-size: 14px;
    }

    .price {
        font-size: 14px;
    }

    .reorder-clicks,
    .turnaround-time {
        font-size: 12px;
    }
}

/* Steps Container Styles */
.steps-container {
    margin: 40px 0;
}

.step-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 30px;
    gap: 20px;
}

.step-number {
    width: 50px;
    height: 50px;
    background: #5642bb;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 700;
    flex-shrink: 0;
    font-family: 'Montserrat', sans-serif;
}

.step-content h4 {
    margin: 0 0 10px 0;
    font-size: 18px;
    color: #333;
}

.step-content p {
    margin: 0;
    color: #666;
}

.ewd-ufaq-faq-body p {
    font-weight: 400;
    color: #555759;
}

.buy-now-btn {
    color: white;

}
.get-content-from-the-page-content .vc_custom_1689330467619 {
    background: #fff !important;
}
.faqs-button-bg {
    background: #fff !important;
}
.night-guard-product-detail .add-to-cart-btn,
.night-guard-product-detail .buy-now-btn {
    padding: 14px;
    min-height:50px;
}

.add-to-cart-btn:hover {
    color: #2d2e2f;
}
.night-guard-product-detail button.btn.add-to-cart-btn.add-to-cart-btn-v2.product_type_simple.add_to_cart_button.ajax_add_to_cart {
    background: #f0c23a;
}
.night-guard-product-detail button.buy-now-btn.buy-now-button{
position: relative;
background:#24156e;
}
@media screen and (min-width:768px) and (max-width:1080px){
    .product-tabs-section:after{
        display:none;
    }
}

/* Responsive Design */
@media (max-width: 992px) {
    .tab-navigation {
        flex-wrap: wrap;
    }

    .tab-btn {
        min-width: 150px;
        padding: 15px 20px;
        font-size: 14px;
    }

    .tab-content {
        padding: 40px 30px;
    }
}

@media (max-width: 768px) {
    .tab-navigation {
        flex-direction: column;
    }

    .tab-btn {
        min-width: 100%;
        border-bottom: 1px solid #eee;
        border-radius: 0;
    }

    .night-guard-product-detail .add-to-cart-btn,
    .night-guard-product-detail .buy-now-btn {
        padding: 14px !important;
    }

    .tab-btn.active {
        border-bottom: 1px solid #5642bb;
    }

    .tab-content {
        padding: 30px 20px;
    }

    .tab-content h3 {
        font-size: 24px;
    }

    .step-item {
        flex-direction: column;
        text-align: center;
    }

    .comparison-table {
        font-size: 14px;
    }
}
.ewd-ufaq-faq-title .ewd-ufaq-post-margin-symbol span{
    color:#4acac9 !important;
    font-size: 24px !important;
    font-weight: 500;
}
.faqs-button-bg {
    padding-bottom: 5rem;
}
@media screen and (max-width:767px) {
    .card-top-header h1 {
        font-size: 16px;
    }
div#product-cart-section {
    margin-bottom: 60px;
}
.get-content-from-the-page-content .vc_custom_1689330467619{
    padding-top:0px;
}
.faqs-button-bg{
    padding-bottom:5rem;
}
    .product-card .card-badge {
        top: 40px;
    }

    .card-top-header {
        margin-top: -15px;
        margin-left: -15px;
        margin-right: -15px;
    }

    .night-guard-product-detail .price-content {
        padding-top: 20px !important;
    }

    .card-flex-wrapper {
        padding: 15px;
    }

    .card-image-container {
        max-width: 100%;
        min-height: auto;
    }

    .row-wrape.rowrpe1 span,
    .row-wrape.rowrpe3 span {
        font-size: 11px;
        color: #555759;
        font-weight: 400;
    }

    .card-content-container {
        max-width: 100% !important;

    }
#side-cart .side-panel-content .widget_shopping_cart .widget_shopping_cart_content{
overflow: inherit;
}
    .product-selection-description {

        text-align: left !important;
    }

    .row-wrape.rowrpe1 {
        justify-content: start;
    }

    .product-card .product-selection-description {
        padding: 0px;
    }

    .second-product-card .card-image-container {
        max-width: 100%;
    }

    .product-slider-wrapper.slick-initialized.slick-slider.slick-dotted {
        max-height: max-content;
    }
}

/* Americans Believe Us Slider Styles */
.americans-belive-us.slick-slider {
    /* margin: 20px 0; */

}

.americans-belive-us .slick-list {
    overflow: hidden;
}

.americans-belive-us .slick-track {
    display: flex;
    align-items: center;
}

/* .americans-belive-us .slick-slide {
    display: flex !important;
    justify-content: center;
    align-items: center;
    padding: 0 10px;
} */

.americans-belive-us .teeth-img {
    /* max-width: 200px; */
    /* margin: 0 auto; */
    text-align: center;
    padding:0px 10px;
}

.americans-belive-us .teeth-img img {
    width: 100%;
    height: auto;
    border-radius: 10px;
    /* max-width: 180px; */
}

/* Slider dots styling */
.americans-belive-us .slick-dots {
    display: flex !important;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin: 20px 0 0 0;
}

.americans-belive-us .slick-dots li {
    margin: 0 5px;
}

.americans-belive-us .slick-dots li button {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.5);
    text-indent: -9999px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.americans-belive-us .slick-dots li.slick-active button {
    background: #fff;
    transform: scale(1.2);
}


.four-ultra-wrapper > div{ display:flex; flex-wrap:wrap; }
.four-ultra-wrapper div{ width:100%; }

.four-ultra-wrapper .option-two-m-wrapper .package-option:nth-child(2)
,.four-ultra-wrapper .option-three-m-wrapper .package-option:nth-child(2)
{
    order:1
}

.four-ultra-wrapper .option-two-m-wrapper .package-option:nth-child(3)
,.four-ultra-wrapper .option-three-m-wrapper .package-option:nth-child(3)
{
    order:2
}

.four-ultra-wrapper .option-two-m-wrapper .package-option:nth-child(1)
,.four-ultra-wrapper .option-three-m-wrapper .package-option:nth-child(1)
{
    order:3
}
.four-ultra-wrapper > div{
     /* opacity: 0; */
    }




/* Responsive adjustments */
@media (max-width: 768px) {
    /* .americans-belive-us .teeth-img {
        max-width: 150px;
    }
    
    .americans-belive-us .teeth-img img {
        max-width: 130px;
    } */

    .americans-belive-us .slick-slide {
        padding: 0 2px;
    }
}

@media (max-width: 480px) {
    /* .americans-belive-us .teeth-img {
        max-width: 120px;
    }
    
    .americans-belive-us .teeth-img img {
        max-width: 100px;
    } */
}
.value-cell.smile-brilliant-bg .reorder-info .reorder-time,.result-time-teal-color {
    color: #4acac9 !important;
}
@media only screen 
  and (device-width: 820px) 
  and (device-height: 1180px)
  and (orientation: portrait) {
    .tab-navigation{
        padding: 0px !important;
        flex-wrap: nowrap !important;
    }
}

/* ---- ADDED for the React port (NOT part of v1's extracted CSS) ---- */

/* WooCommerce appends `<a class="added_to_cart wc-forward">View cart</a>` as a
   sibling of the button after a successful AJAX Add to Cart. The site hides it
   globally in custom-styles.css (`.added_to_cart.wc-forward{display:none}`,
   specificity 0,2,0) and that rule wins on a HARD load of this page.

   It loses after a CLIENT-SIDE navigation into this lander: the entry page's
   stylesheets stay in the document, and the theme's own assets/css/woocommerce.css
   carries `.woocommerce a.added_to_cart {display:inline-block}` at 0,2,1 — one
   point more specific — so "View cart" appears under every Add to Cart button.
   Measured on /product/night-guards/: display:none on a hard load,
   display:inline-block after navigating in from the homepage.

   Scoped to this lander's own containers rather than a `product-<slug>` body
   class, because this product has none (the whitening product does, which is why
   teeth-whitening-trays-react-inline.css can key off it). Covers both places the
   page renders an Add to Cart: the hero configurator and the three product cards.
   Specificity (0,3,1) is what beats WooCommerce's rule, so no !important. */
.night-guard-product-detail a.added_to_cart.wc-forward,
.action-buttons a.added_to_cart.wc-forward,
.add-to-cart-btn a.added_to_cart.wc-forward {
    display: none;
}
