/* Shared public-site colour system. Component-specific layout rules remain local. */
.front-shell {
    --hotel-green-950: #09241f;
    --hotel-green-900: #0a2822;
    --hotel-green-800: #12332c;
    --hotel-green-700: #1d4a40;
    --hotel-sage-100: #edf2ef;
    --hotel-sage-200: #d9e5df;
    --hotel-leaf-500: #4f8a6f;
    --hotel-leaf-600: #2f6658;
    --hotel-cream-50: #fdfbf7;
    --hotel-cream-100: #f7f3ea;
    --hotel-cream-200: #e7e4da;
    --hotel-text: #263c36;
    --hotel-muted: #60716b;
    color: var(--hotel-text);
    background: var(--hotel-cream-50);
}

.front-shell .page-title-area {
    background:
        linear-gradient(110deg, rgba(9, 36, 31, .96), rgba(18, 51, 44, .82)),
        url('/assets/img/page-bg.jpg') center / cover no-repeat !important;
}

.front-shell .page-title-content h1,
.front-shell .page-title-content h2 {
    color: #fff !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-weight: 400 !important;
    letter-spacing: -.025em;
}

.front-shell .page-title-content ul li,
.front-shell .page-title-content ul li a {
    color: rgba(255, 255, 255, .76) !important;
}

.front-shell .page-title-content ul li:last-child {
    color: #b9dbc5 !important;
}

.front-shell .section-title > span,
.front-shell .hero-content > span,
.front-shell .hero-badge {
    color: var(--hotel-leaf-600) !important;
}

.front-shell .section-title h1,
.front-shell .section-title h2,
.front-shell .hero-content h1,
.front-shell .hero-content h2 {
    color: var(--hotel-green-900);
    font-family: Georgia, 'Times New Roman', serif;
    letter-spacing: -.025em;
}

.front-shell .section-title p,
.front-shell .hero-content p {
    color: var(--hotel-muted);
}

.front-shell .default-btn,
.front-shell .btn-primary,
.front-shell .btn-submit,
.front-shell .btn-cta,
.front-shell .btn-book,
.front-shell .btn-reserve,
.front-shell .btn-details,
.front-shell .btn-explore,
.front-shell .btn-action.primary {
    color: #fff !important;
    background: var(--hotel-green-800) !important;
    border-color: var(--hotel-green-800) !important;
}

.front-shell .default-btn:hover,
.front-shell .btn-primary:hover,
.front-shell .btn-submit:hover,
.front-shell .btn-cta:hover,
.front-shell .btn-book:hover,
.front-shell .btn-reserve:hover,
.front-shell .btn-details:hover,
.front-shell .btn-explore:hover,
.front-shell .btn-action.primary:hover {
    color: #fff !important;
    background: var(--hotel-green-700) !important;
    border-color: var(--hotel-green-700) !important;
}

.front-shell .btn-secondary,
.front-shell .btn-outline,
.front-shell .btn-action.secondary {
    color: var(--hotel-green-800) !important;
    background: transparent !important;
    border-color: var(--hotel-green-800) !important;
}

.front-shell .btn-secondary:hover,
.front-shell .btn-outline:hover,
.front-shell .btn-action.secondary:hover {
    color: #fff !important;
    background: var(--hotel-green-800) !important;
}

.front-shell input:focus,
.front-shell select:focus,
.front-shell textarea:focus,
.front-shell .form-control:focus {
    border-color: var(--hotel-leaf-500) !important;
    box-shadow: 0 0 0 3px rgba(79, 138, 111, .16) !important;
}

.front-shell .feature-icon,
.front-shell .service-icon,
.front-shell .info-icon,
.front-shell .contact-icon,
.front-shell .amenity-icon,
.front-shell .stat-icon {
    color: var(--hotel-leaf-500);
}

.front-shell .modern-card,
.front-shell .service-card,
.front-shell .package-card,
.front-shell .amenity-card,
.front-shell .info-box,
.front-shell .stat-card {
    border-color: rgba(18, 51, 44, .1) !important;
    box-shadow: 0 12px 34px rgba(9, 36, 31, .08);
}

.front-shell .tab-btn.active,
.front-shell .filter-btn.active,
.front-shell .gallery-nav.active {
    color: #fff !important;
    background: var(--hotel-green-800) !important;
    border-color: var(--hotel-green-800) !important;
}

.front-shell table thead,
.front-shell .table-header {
    color: #fff;
    background: var(--hotel-green-800);
}

.front-shell ::selection {
    color: var(--hotel-green-950);
    background: #b9dbc5;
}
