﻿/* ===== RESET ===== */
        *,
        *::before,
        *::after {
            box-sizing: border-box;
        }

        html,
        body {
            margin: 0;
            padding: 0;
        }

        body {
            background-color: #f9f9f9;
            color: #ffffff;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
            font-size: 1.05rem;
            font-weight: 400;
            line-height: 1.55;
        }

        img {
            max-width: 100%;
            height: auto;
            vertical-align: bottom;
            display: block;
        }

        p,
        figure {
            margin: 0;
        }

        a {
            color: #ffffff;
            text-decoration: underline;
        }

        a:hover {
            text-decoration: none;
        }

        /* ===== SPACING VARS ===== */
        :root {
            --sp-10: 1rem;
            --sp-20: min(1.5rem, 2vw);
            --sp-30: min(2.5rem, 3vw);
            --sp-40: min(4rem, 5vw);
            --sp-50: min(6.5rem, 8vw);
            --sp-60: min(10.5rem, 13vw);
            --page-pad: min(6.5rem, 8vw);
        }

        /* ===== MAIN BG ===== */
        .main-content {
            background-color: #B57E63;
        }

        /* ===== SITE-LEVEL PADDING ===== */
        .global-pad {
            padding-left: var(--page-pad);
            padding-right: var(--page-pad);
        }

        /* ===== CONSTRAINED CONTENT (max 620px centered) ===== */
        .constrained {
            max-width: 620px;
            margin-left: auto;
            margin-right: auto;
        }

        .constrained>*+* {
            margin-top: 1.2rem;
        }

        .constrained>*:first-child {
            margin-top: 0;
        }

        /* ===== FULL-WIDTH IMAGES ===== */
        .img-full {
            width: 100%;
            height: auto;
            display: block;
        }

        /* ===== TYPOGRAPHY ===== */
        .text-xl {
            font-size: clamp(1.85rem, 1.85rem + ((1vw - 0.2rem) * 1.083), 2.5rem);
        }

        .text-lg {
            font-size: clamp(1.39rem, 1.39rem + ((1vw - 0.2rem) * 0.767), 1.85rem);
        }

        .text-md {
            font-size: 1.05rem;
        }

        .text-sm {
            font-size: 0.9rem;
        }

        .text-center {
            text-align: center;
        }

        .text-white {
            color: #ffffff;
        }

        .text-red {
            color: #e42628;
        }

        .spacer {
            display: block;
            flex-shrink: 0;
        }

        /* ===== BUTTON ===== */
        .btn-buy {
            display: block;
            background-color: #01bc00;
            color: #ffffff;
            text-decoration: none;
            text-align: center;
            font-size: 1.05rem;
            font-weight: 700;
            padding: 0.75rem 1rem;
            border-radius: 20px;
            box-shadow: 12px 12px 50px rgba(0, 0, 0, 0.4);
            cursor: pointer;
            border: none;
            transition: background-color 0.2s ease;
        }

        .btn-buy:hover {
            background-color: #009d00;
            color: #fff;
            text-decoration: none;
        }

        .btn-buy.width-100 {
            width: 100%;
        }

        .btn-buy.width-75 {
            width: 75%;
            margin-left: auto;
            margin-right: auto;
        }

        .btn-wrap {
            margin-top: var(--sp-10);
            margin-bottom: var(--sp-10);
        }

        /* ===== SEPARATOR ===== */
        .sep {
            border: none;
            border-top: 1px solid rgba(255, 255, 255, 0.7);
            width: 100%;
            margin: 0;
            display: block;
        }

        /* ===== TEAL INNER SECTION ===== */
        .teal-section {
            background-color: #B57E63;
            margin-bottom: 80px;
        }

        .teal-section .constrained>*+* {
            margin-top: var(--sp-30);
        }

        /* ===== REVIEW GALLERY ===== */
        .gallery {
            display: flex;
            flex-direction: column;
            gap: 0;
        }

        .gallery figure img {
            width: 100%;
            height: auto;
            display: block;
            box-shadow: 6px 6px 9px rgba(0, 0, 0, 0.2);
        }

        /* ===== RESPONSIVE ===== */
        @media (max-width: 781px) {
            .btn-buy.width-75 {
                width: 90%;
            }
        }

/* ===== COUNTDOWN BAR ===== */
        .countdown-bar {
            position: sticky;
            top: 0;
            z-index: 9999;
            background-color: #e42628;
            padding: 12px 15px;
            text-align: center;
            color: #ffffff;
            width: 100%;
            border-bottom: 1px solid rgba(0, 0, 0, 0.1);
        }

        .countdown-bar .bar-label {
            font-weight: bold;
            font-size: 1rem;
            display: block;
            margin-bottom: 2px;
        }

        .countdown-cards {
            display: inline-flex;
            align-items: flex-start;
            flex-wrap: nowrap;
        }

        .time-group {
            display: inline-block;
            text-align: center;
            margin: 0 2px;
            vertical-align: top;
        }

        .time-card {
            display: inline-block;
            background-color: #ffffff;
            color: #000000;
            font-size: 22px;
            font-family: Arial, sans-serif;
            padding: 4px 8px;
            border-radius: 4px;
            margin: 10px 2px 0 2px;
            border: 1px solid #000000;
            font-weight: bold;
            line-height: 1;
            vertical-align: baseline;
        }

        .time-separator {
            font-size: 22px;
            font-family: Arial, sans-serif;
            color: #000000;
            font-weight: bold;
            margin: 10px 4px 0 4px;
            display: inline;
            line-height: 1;
            vertical-align: baseline;
        }

        .time-label {
            display: block;
            font-size: 14px;
            font-family: Arial, sans-serif;
            color: #ffffff;
            font-weight: normal;
            font-style: italic;
            margin-top: 8px;
            text-align: center;
            line-height: 1;
        }

/* ===== FOOTER ===== */
        footer {
            background-color: #f9f9f9;
            color: #111111;
            padding: min(6.5rem, 8vw) 0;
        }

        .footer-inner {
            max-width: 1280px;
            margin: 0 auto;
            padding: 0 var(--page-pad);
            display: flex;
            flex-wrap: nowrap;
            gap: 1.2rem;
            align-items: flex-start;
        }

        .footer-nav {
            flex: 0 0 100%;
        }

        .footer-nav ul {
            list-style: none;
            padding: 0;
            margin: 0;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 0.5rem;
        }

        .footer-nav ul li a {
            color: #111111;
            text-decoration: none;
            font-weight: 500;
            font-size: 0.95rem;
            cursor: pointer;
        }

        .footer-nav ul li a:hover {
            text-decoration: underline;
        }

        /* ===== RESPONSIVE ===== */
        @media (max-width: 781px) {
            .footer-inner {
                flex-wrap: wrap;
            }

            .footer-nav {
                flex-basis: 100%;
            }

            .footer-nav ul {
                align-items: flex-start;
            }

            .btn-buy.width-75 {
                width: 90%;
            }
        }

        @media (max-width: 768px) {
            .countdown-bar {
                padding: 10px 12px;
            }

            .time-card {
                font-size: 20px !important;
            }

            .time-label {
                font-size: 13px !important;
            }
        }

        @media (max-width: 480px) {
            .countdown-bar {
                padding: 8px 10px;
            }

            .time-card {
                font-size: 18px !important;
                padding: 2px 4px !important;
            }

            .time-separator {
                font-size: 18px !important;
            }

            .time-label {
                font-size: 12px !important;
            }
        }

/* ====== MODAL STYLES ====== */
        .modal-overlay {
            display: none;
            position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, 0.55);
            z-index: 99999;
            overflow-y: auto;
            padding: 2rem 1rem;
        }

        .modal-overlay.active {
            display: block;
        }

        .modal-box {
            background: #ffffff;
            color: #111111;
            max-width: 780px;
            margin: 0 auto;
            border-radius: 8px;
            padding: 2rem 2.5rem;
            position: relative;
            font-size: 0.95rem;
            line-height: 1.7;
        }

        .modal-box h1 {
            font-size: 1.5rem;
            font-weight: 700;
            color: #111;
            margin: 0 0 1.2rem 0;
        }

        .modal-box h2 {
            font-size: 1.1rem;
            font-weight: 700;
            color: #111;
            margin: 1.5rem 0 0.5rem 0;
        }

        .modal-box p {
            color: #333;
            margin: 0 0 0.9rem 0;
        }

        .modal-box a {
            color: #B57E63;
        }

        .modal-close {
            position: absolute;
            top: 1rem;
            right: 1.2rem;
            background: none;
            border: none;
            font-size: 1.8rem;
            cursor: pointer;
            color: #555;
            line-height: 1;
        }

        .modal-close:hover {
            color: #000;
        }

        @media(max-width:600px) {
            .modal-box {
                padding: 1.5rem 1.2rem;
            }
        }

.hero-img { max-width: 800px; margin: 0 auto; width: 100%; }
@media (max-width: 781px) { .hero-img { max-width: 100%; } }
