/* Utilities */
.text-xs {
    font-size: 10px;
}
.text-lg {
    font-size: 2rem;
}
/* Hero Section */
        .tbc__product_hero {
            position: relative;
            height: 60vh;
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .tbc__product_hero .hero-video {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            z-index: -2;
        }

        .tbc__product_hero .hero-image {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            z-index: 2;
            display: block;
        }

        .tbc__product_hero .hero-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.3);
            z-index: 4;
        }

        .tbc__product_hero .hero-gradient-overlay {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 300px;
            background: linear-gradient(
                to bottom,
                rgba(255, 255, 255, 0) 0%,
                rgba(255, 255, 255, 0.3) 50%,
                rgba(255, 255, 255, 0.8) 80%,
                rgba(255, 255, 255, 1) 100%
            );
            z-index: 6;
            display: flex;
            align-items: flex-end;
        }

        .tbc__product_hero .hero-content {
            text-align: left;
            color: #1C4B3C;
            z-index: 1;
        }

        .tbc__product_hero .hero-title {
            font-size: clamp(2.5rem, 6vw, 4rem);
            font-weight: bold;
            margin-bottom: 1rem;
            font-family: var(--secondary-font);
            /* text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7); */
        }

        /* Overview Section */
        .overview {
            padding: 4rem 0;
            background: white;
            position: relative;
            z-index: 1;
        }

        /* .overview-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 2rem;
        } */

        .overview-secondary-nav {
            display: flex;
            gap: 2rem;
            margin-bottom: 3rem;
            border-bottom: 1px solid #eee;
        }

        .overview-secondary-nav a {
            color: #212121;
            text-decoration: none;
            padding: 0.5rem 0;
            border-bottom: 2px solid transparent;
            transition: all 0.3s ease;
        }

        .overview-secondary-nav a.active,
        .overview-secondary-nav a:hover {
            color: #1C4B3C;
            border-bottom-color: #1C4B3C;
        }

        /* .overview-content {
            display: grid;
            grid-template-columns: 60% 40%;
            gap: 3rem;
        } */

        .inner__card {
            background: #FFF;
            border-radius: 10px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
        }
        .inner__card_content {
            padding: 1.5rem 2rem;
        }

        .overview-text h2 {
            font-size: 2.5rem;
            margin-bottom: 1.5rem;
            color: #1C4B3C;
        }

        .overview-text p {
            margin-bottom: 1.5rem;
            color: #666;
            line-height: 1.8;
        }

        .overview-highlights {
            list-style: none;
            margin-bottom: 2rem;
            padding: 0;
        }

        .overview-highlights li {
            padding: 0.5rem 0;
            color: #666;
            position: relative;
            padding-left: 1.5rem;
        }

        .overview-highlights li:before {
            content: "✓";
            position: absolute;
            left: 0;
            color: #2c5530;
            font-weight: bold;
        }

        .overview-card {
            background: #1C4B3C;
            color: white;
            padding: 2rem;
            border-radius: 10px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.1);
        }

        .overview-card h3 {
            font-size: 1.5rem;
            margin-bottom: 1rem;
        }
        .overview-card-list {
            margin: 0;
            padding: 0;
            list-style: none;
        }
        .overview-card-item {
            display: flex;
            align-items: flex-end;
            gap:4px;
        }
        .overview-card-item h5,
        .overview-card-item p {
            margin: 0;
            padding: 0;
        }
        .overview-card-item .item-divider {
            flex:1;
            border-bottom: 1px dotted #fff;
            margin-bottom: 4px;
        }

        .product__price {
            margin-bottom: 1.5rem;
        }
        .product__price sup{
            top: 0;
            line-height: 1;
        }
        .product__price .main__price span,
        .main__price span.text-lg {
            font-size: 2rem;
            font-weight: bold;
        }
        .product__price .main__price sub,
        .main__price sub.text-xs {
            bottom:12px;
        }

        .overview-card ul {
            list-style: none;
            margin-bottom: 1.5rem;
            display: flex;
            flex-direction: column;
            gap: 0.30px;
        }

        .overview-card li {
            padding: 0.3rem 0;
            font-size: 0.9rem;
        }

        /* Expedition Itinerary */
        .expedition {
            padding: 4rem 0;
            background: #fff;
        }

        .expedition-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 2rem;
        }

        .expedition h2 {
            font-size: 2.5rem;
            margin-bottom: 2rem;
            color: #2c5530;
        }

        .itinerary-item {
            background: white;
            margin-bottom: 1rem;
            border-radius: 10px;
            overflow: hidden;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
        }
        .itinerary-header h3 {
            margin: 0;
        }

        .itinerary-header {
            padding: 1.5rem;
            cursor: pointer;
            display: flex;
            justify-content: space-between;
            align-items: center;
            background: white;
            border-bottom: 1px solid #eee;
        }

        .itinerary-header:hover {
            background: #f8f9fa;
        }

        .itinerary-header h3 {
            color: #2c5530;
            font-size: 1.2rem;
        }

        .itinerary-toggle {
            font-size: 1.2rem;
            color: #2c5530;
            transition: transform 0.3s ease;
        }

        .itinerary-item.active .itinerary-toggle {
            transform: rotate(180deg);
        }

        .itinerary-content {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease;
        }

        .itinerary-item.active .itinerary-content {
            max-height: 100%;
        }

        .itinerary-inner {
            padding: 2rem;
            display: grid;
            grid-template-columns: 1fr 300px;
            gap: 2rem;
        }

        .itinerary-description {
            color: #666;
            line-height: 1.8;
        }

        .itinerary-image {
            width: 100%;
            height: 200px;
            object-fit: cover;
            border-radius: 10px;
        }

        /* SIMILAR CRUISES */

        .table-row {
            display: flex;
            /* padding: 20px; */
            border-bottom: 1px solid #eee;
            transition: all 0.3s ease;
            /* align-items: center; */
        }

        .table-row:hover {
            background: #f8f9fa;
            transform: translateX(5px);
        }

        .table-row:last-child {
            border-bottom: none;
            border-radius: 0 0 15px 15px;
        }

        .table-cell {
            flex: 1;
            padding: 20px;
        }
        .table-cell:first-child {
            align-self: center;
            font-size: 24px;
            width: 180px;
        }

        .table-cell:last-child {
            padding: 0;
            background-color: #1C4B3C;
        }
        .table-cell:last-child a {
            display: flex;
            align-items: center;
            justify-content: center;
            height:100%;
            color: white;
        }

        .title {
            font-weight: 600;
            color: #2c3e50;
            font-size: 1.1em;
        }

        .date {
            color: #7f8c8d;
            font-size: 0.95em;
        }

        .duration {
            color: #27ae60;
            font-weight: 500;
            background: #e8f5e8;
            padding: 5px 12px;
            border-radius: 20px;
            display: inline-block;
            font-size: 0.9em;
        }

        .cta-button {
            background: linear-gradient(135deg, #e74c3c, #c0392b);
            color: white;
            border: none;
            padding: 12px 24px;
            border-radius: 25px;
            cursor: pointer;
            font-weight: 600;
            transition: all 0.3s ease;
            font-size: 0.95em;
            box-shadow: 0 4px 15px rgba(231, 76, 60, 0.3);
        }

        .cta-button:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(231, 76, 60, 0.4);
            background: linear-gradient(135deg, #c0392b, #a93226);
        }

        .cta-button:active {
            transform: translateY(0);
        }

        .table-container {
            border-radius: 15px;
            overflow: hidden;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
        }

        /* Mobile styles */
        @media (max-width: 768px) {
            .container {
                padding: 20px;
                margin: 10px;
            }

            h1 {
                font-size: 2em;
                margin-bottom: 20px;
            }

            .table-header {
                display: none;
            }

            .table-row {
                flex-direction: column;
                padding: 25px 20px;
                border-radius: 15px;
                margin-bottom: 15px;
                box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
                background: white;
            }

            .table-row:hover {
                transform: translateY(-2px);
                background: white;
            }

            .table-cell {
                padding: 0;
                margin-bottom: 15px;
                width: 100%;
            }

            .table-cell:last-child {
                margin-bottom: 0;
            }

            .mobile-row {
                display: flex;
                justify-content: space-between;
                align-items: center;
                margin-bottom: 15px;
            }

            .mobile-row:last-child {
                margin-bottom: 20px;
            }

            .mobile-label {
                font-weight: 600;
                color: #7f8c8d;
                font-size: 0.9em;
                margin-bottom: 5px;
            }

            .title {
                font-size: 1.2em;
                margin-bottom: 0;
            }

            .cta-button {
                width: 100%;
                padding: 15px;
                font-size: 1em;
            }

            .table-container {
                background: transparent;
                box-shadow: none;
            }
        }