/* Final palette based on the provided reference:
   off-white, pale blue, medium blue, deep navy. */

/* ── Logo image — must not be affected by any color/background overrides ── */
.logo-img,
.logo-svg {
    display: block !important;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    -webkit-text-fill-color: unset !important;
    color: unset !important;
}
.logo-img {
    height: 110px !important;
    width: auto !important;
    max-width: 320px !important;
    object-fit: contain !important;
    mix-blend-mode: normal !important;
}
.logo-svg {
    height: 54px !important;
    width: auto !important;
    max-width: 240px !important;
}

:root,
html.light-mode {
    --bg: #f8f6f6;
    --bg-2: #d8e2f2;
    --bg-3: #ffffff;
    --panel: #ffffff;
    --panel-soft: #f8f6f6;
    --panel-strong: #ffffff;
    --line: #d8e2f2;
    --line-strong: #b9c9de;
    --text: #14395f;
    --muted: #5f6f82;
    --faint: #8a98a8;
    --primary: #467bb5;
    --teal: #467bb5;
    --cyan: #467bb5;
    --dark: #14395f;
    --warning: #467bb5;
    --success: #2f7d5c;
    --danger: #9f3434;
    --info: #467bb5;
    --shadow: 0 16px 36px rgba(20, 57, 95, 0.12);
    --glow: 0 0 0 3px rgba(70, 123, 181, 0.18);
}

body,
html.light-mode body {
    background: #f8f6f6 !important;
    color: #14395f !important;
}

body::before,
html.light-mode body::before {
    display: none !important;
}

.header,
.admin-header,
html.light-mode .header {
    background: rgba(255, 255, 255, 0.97) !important;
    border-color: #d8e2f2 !important;
    box-shadow: 0 10px 26px rgba(20, 57, 95, 0.08) !important;
}

.logo h1,
.header h1,
.admin-header h1,
h1,
h2,
h3,
h4,
.tour-title,
.booking-tour,
.section-header h2,
.section-title,
.card-title,
.stat-card h3,
.chart-card h3,
.data-card h3,
.modal-content h2,
.tour-modal h2,
.booking-detail-heading h2,
th,
label,
html.light-mode .logo h1,
html.light-mode .header h1,
html.light-mode h1,
html.light-mode h2,
html.light-mode h3,
html.light-mode h4 {
    background: none !important;
    color: #14395f !important;
    -webkit-text-fill-color: #14395f !important;
    text-shadow: none !important;
}

.hero {
    background:
        linear-gradient(90deg, rgba(20, 57, 95, 0.82), rgba(20, 57, 95, 0.42)),
        linear-gradient(180deg, rgba(20, 57, 95, 0.12), rgba(248, 246, 246, 0.96) 96%),
        url("../assets/images/header_3.jpg") center/cover !important;
}

.hero::after {
    background: linear-gradient(transparent, #f8f6f6) !important;
}

.hero h1,
.hero h2,
.hero p {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-shadow: 0 8px 24px rgba(20, 57, 95, 0.42) !important;
}

p,
td,
.logo p,
.header p,
.muted,
.form-hint,
.tour-description,
.tour-destination,
.card p,
.tip-card p,
.feature-card p,
.reason-card p,
.admin-card p,
.stat-card p,
.chart-card p,
.data-card p,
.tour-file-label,
.empty-state,
html.light-mode p {
    color: #5f6f82 !important;
}

.nav a,
.admin-nav a,
html.light-mode .nav a {
    color: #14395f !important;
    background: transparent !important;
    border-color: transparent !important;
}

.nav a:hover,
.nav a.active,
.admin-nav a:hover,
.admin-nav .active,
html.light-mode .nav a:hover,
html.light-mode .nav a.active {
    color: #14395f !important;
    background: #d8e2f2 !important;
    border-color: #b9c9de !important;
    box-shadow: none !important;
}

.tour-card,
.testimonial-card,
.feature-card,
.reason-card,
.booking-card,
.dash-stat-card,
.booking-summary-card,
.traveler-categories,
.discount-group,
.forecast-panel,
.info-box,
.step-card,
.tip-card,
.final-checklist,
.hours-card,
.important-note,
.welcome-banner,
.confirmation-box,
.auth-gate,
.modal-content,
.push-toast,
.booking-container,
.card,
.glass-card,
.gallery-card,
.guide-card,
.gallery-post,
.gallery-upload-card,
.gallery-auth-gate,
.empty-gallery,
.section,
.login-card,
.stat-card,
.chart-card,
.data-card,
.admin-card,
.form-card,
.table-card,
.tour-modal,
.settings-card,
.dashboard-card,
.analytics-card,
.customer-card,
html.light-mode .tour-card,
html.light-mode .testimonial-card,
html.light-mode .feature-card,
html.light-mode .reason-card,
html.light-mode .booking-card,
html.light-mode .welcome-banner,
html.light-mode .booking-container {
    background: #ffffff !important;
    border: 1px solid #d8e2f2 !important;
    color: #14395f !important;
    box-shadow: 0 16px 36px rgba(20, 57, 95, 0.12) !important;
}

.booking-wrap,
.dash-wrap,
html.light-mode .booking-wrap,
html.light-mode .dash-wrap {
    background: #f8f6f6 !important;
}

table,
thead,
tbody,
tbody tr,
.table-row {
    background: transparent !important;
    color: #14395f !important;
}

thead,
th {
    background: #d8e2f2 !important;
}

tbody tr:hover {
    background: #f8f6f6 !important;
}

.btn,
.btn-primary,
.btn-book,
.btn-explore,
.booking-submit,
.submit-btn,
.login-btn,
.action-btn,
.save-btn,
button[type="submit"],
input[type="submit"],
.admin-nav .logout,
.nav .btn-book,
.nav .btn-explore {
    background: #467bb5 !important;
    border-color: #467bb5 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 12px 26px rgba(70, 123, 181, 0.24) !important;
}

.btn:hover,
.btn-primary:hover,
.btn-book:hover,
.btn-explore:hover,
.booking-submit:hover,
.submit-btn:hover,
.login-btn:hover,
.action-btn:hover,
.save-btn:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
    background: #14395f !important;
    border-color: #14395f !important;
    color: #ffffff !important;
}

.delete-btn,
.btn-danger,
.action-btn.delete,
button[name="delete"] {
    background: #9f3434 !important;
    border-color: #9f3434 !important;
    color: #ffffff !important;
}

a:not(.btn):not(.btn-book):not(.btn-explore):not(.login-btn):not(.action-btn):not(.nav a):not(.admin-nav a),
.stat-card .number,
.view-all-link {
    color: #467bb5 !important;
}

input,
select,
textarea,
.form-group input,
.form-group select,
.form-group textarea,
.booking-fields input,
.booking-fields select,
.booking-fields textarea,
.tour-file-label {
    background: #ffffff !important;
    border-color: #b9c9de !important;
    color: #14395f !important;
}

input:focus,
select:focus,
textarea:focus {
    border-color: #467bb5 !important;
    box-shadow: 0 0 0 3px rgba(70, 123, 181, 0.18) !important;
    outline: none !important;
}

.badge,
.pill,
.status-badge,
.category-badge,
.featured-badge {
    background: #d8e2f2 !important;
    border-color: #b9c9de !important;
    color: #14395f !important;
}

.footer,
html.light-mode .footer {
    background: #14395f !important;
    color: #d8e2f2 !important;
    border-top: 0 !important;
}

/* Client home/page sections that use older one-off dark styling. */
.features,
.about,
.why-choose-us,
.tours-section,
.testimonials,
.faq-section,
.contact,
.subnav-wrap,
.category-section,
.gallery-feed,
.guide-section,
.tips-section,
.steps-section,
section:not(.hero) {
    background: #f8f6f6 !important;
    color: #14395f !important;
}

.features .container,
.about .container,
.why-choose-us .container,
.tours-section .container,
.testimonials .container,
.faq-section .container,
.contact .container {
    color: #14395f !important;
}

.section-title,
.section-title-white,
.category-header h2,
.about-content h2,
.contact-info h2,
.contact-form h3,
.faq-item summary,
.faq-question,
.live-stats h3,
.stat-number,
.stat-number-live,
.testimonial-name,
.tour-price,
.snav-label {
    color: #14395f !important;
    -webkit-text-fill-color: #14395f !important;
}

.section-subtitle,
.section-subtitle-white,
.about-content p,
.contact-info p,
.testimonial-comment,
.testimonial-destination,
.stat-label,
.stat-label-live,
.snav-sub,
.recent-activity p {
    color: #5f6f82 !important;
}

.subnav-bar,
.about-grid,
.live-stats,
.contact-form,
.contact-info,
.faq-item,
.tour-modal-content,
.auth-gate-modal,
.stat-item,
.weather-pill,
.forecast-day,
.contact-details .item {
    background: #ffffff !important;
    border: 1px solid #d8e2f2 !important;
    color: #14395f !important;
    box-shadow: 0 16px 36px rgba(20, 57, 95, 0.12) !important;
}

.snav-icon,
.feature-card > i,
.reason-card > i,
.contact-details .item i,
.auth-gate-icon {
    background: #d8e2f2 !important;
    color: #14395f !important;
}

.snav-arrow,
.tour-rating,
.testimonial-rating,
.more-btn {
    color: #467bb5 !important;
}

.hero-search-card {
    background: rgba(255, 255, 255, 0.92) !important;
    border: 1px solid #d8e2f2 !important;
    color: #14395f !important;
    box-shadow: 0 20px 44px rgba(20, 57, 95, 0.18) !important;
}

.hero-search-card span,
.hero-search-card strong,
.search-row span,
.search-row strong {
    color: #14395f !important;
    -webkit-text-fill-color: #14395f !important;
}

.hero-btn,
.search-submit,
.book-now-btn,
.btn-submit,
.write-review-btn a,
.auth-gate-btn--primary {
    background: #467bb5 !important;
    border: 1px solid #467bb5 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 12px 26px rgba(70, 123, 181, 0.24) !important;
}

.hero-btn.secondary,
.auth-gate-btn--secondary,
.tour-more-btn {
    background: #d8e2f2 !important;
    border: 1px solid #b9c9de !important;
    color: #14395f !important;
    -webkit-text-fill-color: #14395f !important;
    box-shadow: none !important;
}

.hero-btn:hover,
.search-submit:hover,
.book-now-btn:hover,
.btn-submit:hover,
.write-review-btn a:hover,
.auth-gate-btn--primary:hover {
    background: #14395f !important;
    border-color: #14395f !important;
    color: #ffffff !important;
}

.featured-badge,
.weather-pill,
.forecast-day,
.alert-success {
    background: #d8e2f2 !important;
    border-color: #b9c9de !important;
    color: #14395f !important;
}

.alert-error,
.book-now-btn.disabled {
    background: #f5e1e1 !important;
    border-color: #d8b7b7 !important;
    color: #9f3434 !important;
}

/* Cohesive background system: base, soft bands, cards, and transitions. */
body,
html.light-mode body {
    background:
        linear-gradient(180deg, #ffffff 0, #f8f6f6 120px, #f8f6f6 58%, #eef3fa 100%) !important;
}

.page-header,
.booking-wrap,
.about,
.why-choose-us,
.testimonials,
.contact,
.gallery-hero,
.tips-hero,
.how-hero {
    background:
        linear-gradient(180deg, #ffffff 0%, #d8e2f2 100%) !important;
    color: #14395f !important;
}

.features,
.tours-section,
.faq-section,
.gallery-feed,
.tips-section,
.steps-section,
.guide-section {
    background: #f8f6f6 !important;
    color: #14395f !important;
}

.subnav-wrap {
    background:
        linear-gradient(180deg, rgba(248, 246, 246, 0) 0%, #f8f6f6 48%, #f8f6f6 100%) !important;
}

.page-header {
    padding-top: 132px !important;
    padding-bottom: 54px !important;
    border-bottom: 1px solid #d8e2f2 !important;
}

.page-header h1,
.page-header p {
    color: #14395f !important;
    -webkit-text-fill-color: #14395f !important;
    text-shadow: none !important;
}

.about,
.why-choose-us,
.testimonials,
.contact {
    border-top: 1px solid rgba(216, 226, 242, 0.75) !important;
    border-bottom: 1px solid rgba(216, 226, 242, 0.75) !important;
}

.about-grid,
.subnav-bar,
.live-stats,
.contact-grid,
.booking-container,
.tour-modal-content,
.auth-gate-modal {
    background: rgba(255, 255, 255, 0.94) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

.features-grid .feature-card,
.reasons-grid .reason-card,
.tours-grid .tour-card,
.testimonials-grid .testimonial-card,
.faq-list .faq-item,
.contact-form,
.contact-info,
.booking-summary-card,
.tour-details,
.traveler-categories,
.discount-group,
.forecast-panel,
.payment-option,
.confirmation-box,
.gallery-card,
.gallery-post,
.tip-card,
.step-card,
.info-box,
.hours-card,
.important-note,
.final-checklist {
    background: #ffffff !important;
    border: 1px solid #d8e2f2 !important;
    color: #14395f !important;
    box-shadow: 0 14px 30px rgba(20, 57, 95, 0.1) !important;
}

.booking-header,
.booking-step-heading,
.category-header,
.section-title,
.section-title-white {
    color: #14395f !important;
}

.booking-progress,
.progress-step,
.traveler-cat-row,
.summary-row,
.summary-cat-row,
.recap-row,
.next-steps,
.payment-option-inner,
.credential-file-picker {
    background: #f8f6f6 !important;
    border-color: #d8e2f2 !important;
    color: #14395f !important;
}

.progress-step.active,
.cat-btn,
.copy-booking-id,
.scroll-top {
    background: #467bb5 !important;
    border-color: #467bb5 !important;
    color: #ffffff !important;
}

.progress-line,
.summary-divider {
    background: #d8e2f2 !important;
}

.footer h4,
.footer a,
.footer p,
.footer .names,
.footer-bottom p,
.developer-credit p {
    color: #d8e2f2 !important;
}

.social-links a {
    background: rgba(216, 226, 242, 0.14) !important;
    border-color: rgba(216, 226, 242, 0.24) !important;
    color: #ffffff !important;
}

/* Page-specific blend layer: keep each page identity, blend surfaces into it. */
body.page-client {
    --page-bg: #f8f6f6;
    --page-soft: rgba(216, 226, 242, 0.72);
    --page-glass: rgba(255, 255, 255, 0.78);
    --page-glass-strong: rgba(255, 255, 255, 0.9);
    --page-border: rgba(216, 226, 242, 0.82);
    --page-shadow: 0 18px 42px rgba(20, 57, 95, 0.14);
    background: var(--page-bg) !important;
}

body.page-home {
    --page-bg: #f8f6f6;
    --page-soft: rgba(216, 226, 242, 0.64);
}

body.page-tours {
    --page-bg: #f7f5f4;
    --page-soft: rgba(216, 226, 242, 0.7);
}

body.page-booking,
body.page-dashboard {
    --page-bg: #eef3fa;
    --page-soft: rgba(248, 246, 246, 0.86);
}

body.page-gallery {
    --page-bg: #f8f6f6;
    --page-soft: rgba(216, 226, 242, 0.58);
}

body.page-tips,
body.page-how {
    --page-bg: #f6f4f3;
    --page-soft: rgba(216, 226, 242, 0.76);
}

body.page-auth,
body.page-plain {
    --page-bg: #f8f6f6;
    --page-soft: rgba(216, 226, 242, 0.72);
}

body.page-client .hero {
    background:
        linear-gradient(90deg, rgba(20, 57, 95, 0.78), rgba(20, 57, 95, 0.32)),
        linear-gradient(180deg, rgba(20, 57, 95, 0.08), var(--page-bg) 96%),
        var(--page-hero-image, url("../assets/images/header_3.jpg") center/cover) !important;
}

body.page-home .hero {
    --page-hero-image: url("../assets/images/header_3.jpg") center/cover;
}

body.page-gallery .hero {
    --page-hero-image: url("../assets/images/header_3.jpg") center/cover;
}

body.page-tips .hero {
    --page-hero-image: url("../assets/images/header_8.jpg") center/cover;
}

body.page-how .hero {
    --page-hero-image: url("../assets/images/header_2.jpg") center/cover;
}

body.page-client .hero::after {
    background: linear-gradient(180deg, rgba(248, 246, 246, 0), var(--page-bg) 88%) !important;
}

body.page-tours .page-header {
    background:
        linear-gradient(90deg, rgba(20, 57, 95, 0.82), rgba(20, 57, 95, 0.34)),
        linear-gradient(180deg, rgba(20, 57, 95, 0.05), var(--page-bg) 96%),
        url("../assets/images/header_8.jpg") center/cover !important;
}

body.page-tours .page-header h1,
body.page-tours .page-header p {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-shadow: 0 8px 24px rgba(20, 57, 95, 0.42) !important;
}

body.page-client:not(.page-tours) .page-header,
body.page-booking .booking-wrap,
body.page-dashboard .dash-wrap,
body.page-auth,
body.page-plain {
    background:
        radial-gradient(circle at 16% 12%, rgba(216, 226, 242, 0.78), transparent 30rem),
        linear-gradient(180deg, #ffffff 0%, var(--page-bg) 62%) !important;
}

body.page-client .features,
body.page-client .tours-section,
body.page-client .faq-section,
body.page-client .gallery-feed,
body.page-client .tips-section,
body.page-client .steps-section,
body.page-client .guide-section {
    background: var(--page-bg) !important;
}

body.page-client .about,
body.page-client .why-choose-us,
body.page-client .testimonials,
body.page-client .contact {
    background:
        linear-gradient(180deg, var(--page-bg) 0%, var(--page-soft) 18%, var(--page-soft) 82%, var(--page-bg) 100%) !important;
    border: 0 !important;
}

body.page-client .subnav-wrap {
    background: linear-gradient(180deg, rgba(248, 246, 246, 0), var(--page-bg) 58%) !important;
}

body.page-client .subnav-bar,
body.page-client .about-grid,
body.page-client .live-stats,
body.page-client .contact-grid,
body.page-client .booking-container,
body.page-client .tour-modal-content,
body.page-client .auth-gate-modal,
body.page-client .hero-search-card,
body.page-client .contact-form,
body.page-client .contact-info,
body.page-client .booking-summary-card,
body.page-client .tour-details,
body.page-client .traveler-categories,
body.page-client .discount-group,
body.page-client .forecast-panel,
body.page-client .confirmation-box {
    background: var(--page-glass-strong) !important;
    border-color: var(--page-border) !important;
    box-shadow: var(--page-shadow) !important;
    backdrop-filter: blur(14px) saturate(1.05) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.05) !important;
}

body.page-client .feature-card,
body.page-client .reason-card,
body.page-client .tour-card,
body.page-client .testimonial-card,
body.page-client .faq-item,
body.page-client .gallery-card,
body.page-client .gallery-post,
body.page-client .tip-card,
body.page-client .step-card,
body.page-client .info-box,
body.page-client .hours-card,
body.page-client .important-note,
body.page-client .final-checklist,
body.page-client .payment-option {
    background: rgba(255, 255, 255, 0.86) !important;
    border-color: var(--page-border) !important;
    box-shadow: 0 12px 28px rgba(20, 57, 95, 0.1) !important;
}

body.page-client .section-title,
body.page-client .section-title-white,
body.page-client .category-header h2,
body.page-client .about-content h2,
body.page-client .contact-info h2,
body.page-client .contact-form h3 {
    color: #14395f !important;
    -webkit-text-fill-color: #14395f !important;
}

body.page-client .section-subtitle,
body.page-client .section-subtitle-white,
body.page-client .about-content p,
body.page-client .contact-info p {
    color: #5f6f82 !important;
}

/* Global homepage/UI polish: contrast, spacing, CTA clarity, responsiveness. */
body.page-client .header {
    min-height: auto !important;
}

body.page-client .header-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    min-height: 72px !important;
}

body.page-client .logo {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
}

body.page-client .nav {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
}

body.page-client .nav a {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    padding: 0 16px !important;
    border-radius: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease, transform 0.2s ease !important;
}

body.page-client .nav a:not(.btn-book)::after {
    content: "" !important;
    position: absolute !important;
    left: 16px !important;
    right: 16px !important;
    bottom: 7px !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: #467bb5 !important;
    transform: scaleX(0) !important;
    transform-origin: center !important;
    transition: transform 0.2s ease !important;
}

body.page-client .nav a:not(.btn-book):hover::after,
body.page-client .nav a:not(.btn-book).active::after {
    transform: scaleX(1) !important;
}

body.page-client .nav .btn-book,
body.page-client .btn-book {
    background: #467bb5 !important;
    border: 1px solid #467bb5 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 12px 28px rgba(70, 123, 181, 0.28) !important;
}

body.page-client .nav .btn-book:hover,
body.page-client .btn-book:hover {
    background: #14395f !important;
    border-color: #14395f !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
}

body.page-client .hero {
    min-height: min(760px, calc(100vh - 78px)) !important;
    overflow: visible !important;
    padding: 168px 0 170px !important;
    background:
        linear-gradient(90deg, rgba(10, 24, 42, 0.86), rgba(20, 57, 95, 0.48) 55%, rgba(20, 57, 95, 0.28)),
        linear-gradient(180deg, rgba(10, 24, 42, 0.18) 0%, rgba(10, 24, 42, 0.04) 54%, #f8f6f6 100%),
        var(--page-hero-image, url("../assets/images/header_3.jpg") center/cover) !important;
}

body.page-client .hero::after {
    height: 240px !important;
    background: linear-gradient(180deg, rgba(248, 246, 246, 0), #f8f6f6 82%) !important;
}

body.page-client .hero .container {
    display: grid !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr) !important;
    align-items: center !important;
    gap: clamp(32px, 6vw, 88px) !important;
}

body.page-client .hero-content {
    max-width: 760px !important;
}

body.page-client .hero h1,
body.page-client .hero h2 {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-shadow: 0 8px 30px rgba(0, 0, 0, 0.5) !important;
}

body.page-client .hero p {
    max-width: 720px !important;
    color: #f4f8fc !important;
    -webkit-text-fill-color: #f4f8fc !important;
    text-shadow: 0 5px 20px rgba(0, 0, 0, 0.45) !important;
    font-weight: 650 !important;
}

body.page-client .hero-search-card {
    align-self: center !important;
    background: rgba(255, 255, 255, 0.84) !important;
    border: 1px solid rgba(216, 226, 242, 0.86) !important;
    border-radius: 18px !important;
    box-shadow: 0 26px 70px rgba(20, 57, 95, 0.28) !important;
    color: #14395f !important;
    backdrop-filter: blur(18px) saturate(1.12) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.12) !important;
}

body.page-client .hero-search-card span,
body.page-client .search-row span {
    color: #5f6f82 !important;
    font-size: 0.88rem !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
}

body.page-client .hero-search-card strong,
body.page-client .search-row strong {
    color: #14395f !important;
    font-size: 1.05rem !important;
    font-weight: 900 !important;
}

body.page-client .search-submit {
    min-height: 56px !important;
    border-radius: 12px !important;
    background: #467bb5 !important;
    border-color: #467bb5 !important;
    color: #ffffff !important;
    font-weight: 900 !important;
}

body.page-client .subnav-wrap {
    position: relative !important;
    z-index: 2 !important;
    margin-top: -78px !important;
    padding: 0 0 72px !important;
    overflow: visible !important;
}

body.page-client .subnav-bar {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
}

body.page-client .snav-divider {
    display: none !important;
}

body.page-client .snav-item {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) 32px !important;
    align-items: center !important;
    gap: 20px !important;
    min-height: 94px !important;
    padding: 24px 28px !important;
    transition: transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease !important;
}

body.page-client .snav-item:hover {
    background: #ffffff !important;
    transform: scale(1.02) !important;
    box-shadow: 0 18px 38px rgba(20, 57, 95, 0.16) !important;
    z-index: 2 !important;
}

body.page-client .features {
    padding: 104px 0 92px !important;
    overflow: visible !important;
}

body.page-client .features-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
    align-items: stretch !important;
}

body.page-client .tour-rating,
body.page-client .testimonial-rating,
body.page-client .tour-rating i,
body.page-client .testimonial-rating i,
body.page-client .fa-star,
body.page-client .fa-star-half-alt {
    color: #467bb5 !important;
}

body.page-client .weather-pill.unknown,
body.page-client .alert-warning,
body.page-client .info-box--warning,
body.page-client .info-box.warning {
    background: #d8e2f2 !important;
    border-color: #b9c9de !important;
    color: #14395f !important;
}

.setup-status.disabled,
.status-pending,
.btn-reject,
.rating-stars,
.warning,
.stat-card.pending .number,
[style*="--warning"] {
    color: #467bb5 !important;
}

.setup-status.disabled,
.status-pending,
.btn-reject,
.btn-reject:hover,
a.btn-explore[style*="255,209,102"],
[style*="255,209,102"] {
    background: #d8e2f2 !important;
    border-color: #b9c9de !important;
    color: #14395f !important;
}

/* Premium travel visual layer: warmer editorial canvas, floating white cards, sunset accents. */
:root,
html.light-mode {
    --canvas: #f4f6f8;
    --surface: #ffffff;
    --surface-soft: #f7f9fb;
    --navy: #0f172a;
    --navy-2: #1a2b49;
    --ink: #14395f;
    --muted-premium: #64748b;
    --line-soft: rgba(148, 163, 184, 0.18);
    --blue-accent: #467bb5;
    --sunset: #ffb800;
    --sunset-soft: rgba(255, 184, 0, 0.14);
    --coral: #ff5a5f;
    --premium-shadow: 0 12px 40px rgba(15, 23, 42, 0.04);
    --premium-shadow-hover: 0 22px 58px rgba(15, 23, 42, 0.1);
    --premium-glass: rgba(255, 255, 255, 0.82);
}

body,
html.light-mode body,
body.page-client {
    background:
        radial-gradient(circle at 8% 8%, rgba(216, 226, 242, 0.5), transparent 28rem),
        linear-gradient(180deg, #f7f9fb 0%, #f4f6f8 44%, #eef3f7 100%) !important;
    color: var(--ink) !important;
}

.tour-card,
.feature-card,
.reason-card,
.testimonial-card,
.booking-card,
.dash-stat-card,
.booking-summary-card,
.traveler-categories,
.discount-group,
.forecast-panel,
.info-box,
.step-card,
.tip-card,
.final-checklist,
.hours-card,
.important-note,
.welcome-banner,
.confirmation-box,
.auth-gate,
.modal-content,
.push-toast,
.booking-container,
.card,
.glass-card,
.gallery-card,
.guide-card,
.gallery-post,
.gallery-upload-card,
.gallery-auth-gate,
.empty-gallery,
.section,
.login-card,
.stat-card,
.chart-card,
.data-card,
.admin-card,
.form-card,
.table-card,
.tour-modal,
.settings-card,
.dashboard-card,
.analytics-card,
.customer-card,
.subnav-bar,
.about-grid,
.live-stats,
.contact-grid,
.contact-form,
.contact-info,
.faq-item,
.payment-option,
.tour-details {
    background: var(--surface) !important;
    border-color: rgba(148, 163, 184, 0.12) !important;
    box-shadow: var(--premium-shadow) !important;
}

.tour-card:hover,
.feature-card:hover,
.reason-card:hover,
.testimonial-card:hover,
.gallery-card:hover,
.gallery-post:hover,
.tip-card:hover,
.step-card:hover,
.snav-item:hover {
    box-shadow: var(--premium-shadow-hover) !important;
}

.hero-search-card,
body.page-client .hero-search-card,
.auth-gate-modal,
.tour-modal-content {
    background: var(--premium-glass) !important;
    border: 1px solid rgba(255, 255, 255, 0.4) !important;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.18) !important;
    backdrop-filter: blur(12px) saturate(1.08) !important;
    -webkit-backdrop-filter: blur(12px) saturate(1.08) !important;
}

.tour-rating,
.testimonial-rating,
.tour-rating i,
.testimonial-rating i,
.fa-star,
.fa-star-half-alt {
    color: var(--sunset) !important;
}

.featured-badge,
body.page-client .featured-badge {
    background: linear-gradient(135deg, rgba(255, 184, 0, 0.96), rgba(255, 90, 95, 0.88)) !important;
    border: 1px solid rgba(255, 255, 255, 0.58) !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    box-shadow: 0 12px 28px rgba(255, 184, 0, 0.24) !important;
}

.nav a:not(.btn-book):hover,
.nav a:not(.btn-book).active,
.admin-nav a:hover,
.admin-nav .active,
.more-btn:hover,
a:not(.btn):not(.btn-book):not(.btn-explore):not(.login-btn):not(.action-btn):not(.nav a):not(.admin-nav a):hover {
    color: var(--coral) !important;
}

.nav a:not(.btn-book)::after {
    background: var(--sunset) !important;
}

.btn:hover,
.btn-primary:hover,
.btn-book:hover,
.btn-explore:hover,
.booking-submit:hover,
.submit-btn:hover,
.login-btn:hover,
.action-btn:hover,
.save-btn:hover,
.hero-btn:hover,
.search-submit:hover,
.book-now-btn:hover,
.btn-submit:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
    background: #1a2b49 !important;
    border-color: #1a2b49 !important;
    box-shadow: 0 16px 34px rgba(26, 43, 73, 0.22) !important;
}

.snav-icon,
.feature-card > i,
.reason-card > i,
.contact-details .item i,
.auth-gate-icon {
    background: var(--sunset-soft) !important;
    color: #1a2b49 !important;
}

.footer,
html.light-mode .footer {
    background:
        linear-gradient(180deg, #1a2b49 0%, #0f172a 100%) !important;
    color: #e5e7eb !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
}

.footer h4,
.footer a,
.footer p,
.footer .names,
.footer-bottom p,
.developer-credit p {
    color: #cbd5e1 !important;
}

.footer h4 {
    color: #ffffff !important;
}

.footer a:hover,
.social-links a:hover {
    color: var(--sunset) !important;
}

/* Auth pages: keep image-side copy readable over photos, form-side copy dark. */
body.page-auth .auth-page {
    background: #f4f6f8 !important;
}

body.page-auth .auth-image {
    color: #ffffff !important;
}

body.page-auth .auth-image::before {
    background:
        linear-gradient(90deg, rgba(15, 23, 42, 0.78), rgba(15, 23, 42, 0.42)),
        linear-gradient(180deg, rgba(15, 23, 42, 0.18), rgba(15, 23, 42, 0.78)) !important;
}

body.page-auth .auth-image h1,
body.page-auth .auth-image h2,
body.page-auth .auth-image h3,
body.page-auth .auth-image p,
body.page-auth .auth-image .auth-image-content,
body.page-auth .auth-image .stat-num,
body.page-auth .auth-image .stat-lbl,
body.page-auth .auth-image .perk {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-shadow: 0 6px 22px rgba(0, 0, 0, 0.45) !important;
}

body.page-auth .auth-image p,
body.page-auth .auth-image .stat-lbl {
    color: rgba(255, 255, 255, 0.84) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.84) !important;
}

body.page-auth .auth-image-badge {
    background: rgba(255, 255, 255, 0.18) !important;
    border-color: rgba(255, 255, 255, 0.34) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
}

body.page-auth .stats-row .stat-item,
body.page-auth .auth-perks .perk {
    background: rgba(255, 255, 255, 0.16) !important;
    border: 1px solid rgba(255, 255, 255, 0.28) !important;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.16) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

body.page-auth .stat-item .stat-num {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

body.page-auth .auth-form-panel {
    background: #ffffff !important;
    color: #14395f !important;
}

body.page-auth .auth-form-panel h1,
body.page-auth .auth-form-panel h2,
body.page-auth .auth-title,
body.page-auth .auth-logo-sm span,
body.page-auth .form-group label {
    color: #14395f !important;
    -webkit-text-fill-color: #14395f !important;
    background: none !important;
}

body.page-auth .auth-subtitle,
body.page-auth .auth-back,
body.page-auth .auth-switch,
body.page-auth .auth-divider,
body.page-auth .terms-note,
body.page-auth .password-hint {
    color: #64748b !important;
    -webkit-text-fill-color: #64748b !important;
}

body.page-auth .auth-switch a,
body.page-auth .terms-note a,
body.page-auth .auth-back:hover {
    color: #467bb5 !important;
    -webkit-text-fill-color: #467bb5 !important;
}

body.page-auth .input-wrap,
body.page-auth .form-group input {
    background: #f7f9fb !important;
    border-color: rgba(148, 163, 184, 0.28) !important;
    color: #14395f !important;
}

body.page-auth .input-wrap i,
body.page-auth .toggle-pw {
    color: #64748b !important;
}

body.page-auth .btn-auth {
    background: #467bb5 !important;
    border-color: #467bb5 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 12px 28px rgba(70, 123, 181, 0.24) !important;
}

body.page-auth .btn-auth:hover {
    background: #1a2b49 !important;
    border-color: #1a2b49 !important;
}

body.page-auth .auth-error {
    background: #fff4f4 !important;
    border-color: #f0b8b8 !important;
    color: #9f3434 !important;
}

/* Premium auth redesign: warm form surface, sunset CTAs, polished media panels. */
body.page-auth {
    background:
        radial-gradient(circle at 18% 12%, rgba(255, 184, 0, 0.1), transparent 28rem),
        linear-gradient(135deg, #f5f2eb 0%, #f9f6f0 48%, #edf3f7 100%) !important;
}

body.page-auth .auth-page {
    min-height: 100vh !important;
    background: transparent !important;
}

body.page-auth .auth-form-panel {
    background:
        linear-gradient(180deg, #f9f6f0 0%, #f5f2eb 100%) !important;
    color: #14395f !important;
    box-shadow: inset 1px 0 0 rgba(15, 23, 42, 0.04) !important;
}

body.page-auth .auth-image::before {
    background:
        linear-gradient(90deg, rgba(15, 23, 42, 0.86), rgba(26, 43, 73, 0.58)),
        linear-gradient(180deg, rgba(15, 23, 42, 0.2), rgba(15, 23, 42, 0.82)) !important;
}

body.page-auth .auth-title {
    color: #14395f !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
}

body.page-auth .auth-subtitle {
    color: #5f6f82 !important;
}

body.page-auth .form-row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
    align-items: start !important;
}

body.page-auth .form-group {
    min-width: 0 !important;
}

body.page-auth .form-group label {
    margin-bottom: 8px !important;
    color: #14395f !important;
    font-weight: 800 !important;
}

body.page-auth .input-wrap {
    min-height: 48px !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04) !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
}

body.page-auth .input-wrap:focus-within {
    border-color: #ff7e40 !important;
    box-shadow: 0 0 0 4px rgba(255, 126, 64, 0.16), 0 10px 24px rgba(15, 23, 42, 0.06) !important;
}

body.page-auth .input-wrap input,
body.page-auth .form-group input {
    background: #ffffff !important;
    color: #14395f !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.page-auth .input-wrap input::placeholder,
body.page-auth .form-group input::placeholder {
    color: #5f6f82 !important;
    opacity: 0.86 !important;
}

body.page-auth .icon-left,
body.page-auth .toggle-pw {
    color: #5f6f82 !important;
}

body.page-auth .password-hint {
    margin-top: 8px !important;
    margin-bottom: 18px !important;
    color: #64748b !important;
}

body.page-auth .btn-auth {
    min-height: 52px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #ff5a5f 0%, #ff7e40 100%) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-weight: 900 !important;
    box-shadow: 0 16px 34px rgba(255, 90, 95, 0.26) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease !important;
}

body.page-auth .btn-auth:hover {
    background: linear-gradient(135deg, #f44d52 0%, #f26f35 100%) !important;
    transform: translateY(-1px) !important;
    filter: saturate(1.04) !important;
    box-shadow: 0 20px 42px rgba(255, 90, 95, 0.34) !important;
}

body.page-auth .auth-perks {
    gap: 16px !important;
}

body.page-auth .auth-perks .perk {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 0 0 0 4px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #ffffff !important;
    font-size: 0.96rem !important;
    font-weight: 750 !important;
    letter-spacing: 0 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

body.page-auth .perk-icon {
    width: 38px !important;
    height: 38px !important;
    display: grid !important;
    place-items: center !important;
    flex: 0 0 auto !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.16) !important;
    color: #ffffff !important;
}

body.page-auth .perk-icon i {
    color: #ffffff !important;
}

body.page-auth .stats-row {
    gap: 14px !important;
}

body.page-auth .stats-row .stat-item {
    background: rgba(255, 255, 255, 0.15) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 16px !important;
    box-shadow: 0 16px 38px rgba(0, 0, 0, 0.18) !important;
    backdrop-filter: blur(8px) saturate(1.08) !important;
    -webkit-backdrop-filter: blur(8px) saturate(1.08) !important;
}

body.page-auth .stat-num {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-weight: 900 !important;
}

body.page-auth .stat-lbl {
    color: #ffb800 !important;
    -webkit-text-fill-color: #ffb800 !important;
    font-weight: 800 !important;
    text-shadow: 0 4px 14px rgba(0, 0, 0, 0.32) !important;
}

body.page-auth .auth-logo-sm i {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

body.page-auth .auth-logo-sm span {
    color: #14395f !important;
    -webkit-text-fill-color: #14395f !important;
}

/* Keep the icon container background navy and icon white */
body.page-auth .auth-logo-sm span[style*="background:#1e3a6e"] i,
body.page-auth .auth-logo-sm span[style*="background: #1e3a6e"] i {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

@media (max-width: 900px) {
    body.page-auth .auth-page {
        display: block !important;
    }

    body.page-auth .auth-form-panel {
        width: 100% !important;
        min-height: 100vh !important;
    }

    body.page-auth .auth-image {
        display: none !important;
    }
}

@media (max-width: 640px) {
    body.page-auth .form-row {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }

    body.page-auth .auth-form-panel {
        padding: 34px 22px !important;
    }
}

/* Auth alignment reset: keep login/signup consistent with the rest of FUJIKO. */
body.page-auth {
    background:
        radial-gradient(circle at 8% 8%, rgba(216, 226, 242, 0.48), transparent 28rem),
        linear-gradient(180deg, #f7f9fb 0%, #f4f6f8 48%, #eef3f7 100%) !important;
}

body.page-auth .auth-form-panel {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, #f7f9fb 100%) !important;
    color: #14395f !important;
    box-shadow: inset 1px 0 0 rgba(148, 163, 184, 0.16) !important;
}

body.page-auth .auth-image::before {
    background:
        linear-gradient(90deg, rgba(15, 23, 42, 0.82), rgba(26, 43, 73, 0.5)),
        linear-gradient(180deg, rgba(15, 23, 42, 0.14), rgba(15, 23, 42, 0.76)) !important;
}

body.page-auth .auth-title,
body.page-auth .auth-logo-sm span,
body.page-auth .form-group label {
    color: #14395f !important;
    -webkit-text-fill-color: #14395f !important;
}

body.page-auth .auth-subtitle,
body.page-auth .auth-back,
body.page-auth .auth-switch,
body.page-auth .auth-divider,
body.page-auth .terms-note,
body.page-auth .password-hint {
    color: #64748b !important;
    -webkit-text-fill-color: #64748b !important;
}

body.page-auth .input-wrap {
    background: #ffffff !important;
    border-color: #d8e2f2 !important;
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.04) !important;
}

body.page-auth .input-wrap:focus-within {
    border-color: #467bb5 !important;
    box-shadow: 0 0 0 4px rgba(70, 123, 181, 0.16), 0 12px 40px rgba(15, 23, 42, 0.06) !important;
}

body.page-auth .btn-auth {
    background: #467bb5 !important;
    border: 1px solid #467bb5 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 14px 32px rgba(70, 123, 181, 0.24) !important;
}

body.page-auth .btn-auth:hover {
    background: #1a2b49 !important;
    border-color: #1a2b49 !important;
    box-shadow: 0 18px 40px rgba(26, 43, 73, 0.24) !important;
}

body.page-auth .auth-image-badge,
body.page-auth .stats-row .stat-item,
body.page-auth .perk-icon {
    background: rgba(255, 255, 255, 0.16) !important;
    border-color: rgba(255, 255, 255, 0.26) !important;
}

body.page-auth .stat-lbl {
    color: #d8e2f2 !important;
    -webkit-text-fill-color: #d8e2f2 !important;
}

/* Admin alignment layer: same FUJIKO system as client/auth, optimized for dense data. */
body.page-admin {
    background:
        radial-gradient(circle at 8% 8%, rgba(216, 226, 242, 0.48), transparent 28rem),
        linear-gradient(180deg, #f7f9fb 0%, #f4f6f8 48%, #eef3f7 100%) !important;
    color: #14395f !important;
}

body.page-admin .admin-header {
    min-height: 78px !important;
    padding: 16px max(24px, calc((100% - 1680px) / 2)) !important;
    background: rgba(255, 255, 255, 0.96) !important;
    border-bottom: 1px solid rgba(216, 226, 242, 0.92) !important;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06) !important;
    backdrop-filter: blur(14px) saturate(1.08) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.08) !important;
}

body.page-admin .admin-header h1,
body.page-admin .section-header h2,
body.page-admin .section-title,
body.page-admin .stat-card h3,
body.page-admin th,
body.page-admin label {
    color: #14395f !important;
    -webkit-text-fill-color: #14395f !important;
}

body.page-admin .admin-nav {
    align-items: center !important;
    gap: 10px !important;
}

body.page-admin .admin-nav a {
    min-height: 42px !important;
    padding: 0 14px !important;
    border-radius: 12px !important;
    color: #14395f !important;
    font-weight: 800 !important;
    background: transparent !important;
    border-color: transparent !important;
}

body.page-admin .admin-nav a:hover,
body.page-admin .admin-nav .active {
    background: #d8e2f2 !important;
    border-color: #b9c9de !important;
    color: #14395f !important;
    box-shadow: none !important;
}

body.page-admin .admin-nav .logout {
    background: #467bb5 !important;
    border-color: #467bb5 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 12px 28px rgba(70, 123, 181, 0.24) !important;
}

body.page-admin .container {
    width: min(1680px, calc(100% - 48px)) !important;
    padding-top: 44px !important;
}

body.page-admin .stat-card,
body.page-admin .section,
body.page-admin .chart-card,
body.page-admin .data-card,
body.page-admin .admin-card,
body.page-admin .form-card,
body.page-admin .table-card,
body.page-admin .modal-content,
body.page-admin .tour-modal,
body.page-admin .settings-card,
body.page-admin .gallery-card,
body.page-admin .login-container {
    background: #ffffff !important;
    border: 1px solid rgba(216, 226, 242, 0.82) !important;
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.04) !important;
    color: #14395f !important;
}

body.page-admin .stat-card {
    min-height: 156px !important;
}

body.page-admin .stat-card .number,
body.page-admin .view-all-link {
    color: #467bb5 !important;
}

body.page-admin table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: #ffffff !important;
    color: #14395f !important;
}

body.page-admin thead,
body.page-admin th {
    background: #d8e2f2 !important;
    color: #14395f !important;
}

body.page-admin td {
    color: #5f6f82 !important;
    border-color: rgba(216, 226, 242, 0.7) !important;
}

body.page-admin tbody tr:hover {
    background: #f7f9fb !important;
}

body.page-admin .category-badge,
body.page-admin .status-badge,
body.page-admin .pending-badge,
body.page-admin .approved-badge {
    background: #d8e2f2 !important;
    border-color: #b9c9de !important;
    color: #14395f !important;
}

body.page-admin .featured-badge {
    background: linear-gradient(135deg, rgba(255, 184, 0, 0.96), rgba(255, 90, 95, 0.88)) !important;
    border-color: rgba(255, 255, 255, 0.58) !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
}

body.page-admin .btn,
body.page-admin .btn-primary,
body.page-admin .login-btn,
body.page-admin .action-btn,
body.page-admin .save-btn,
body.page-admin .submit-btn {
    background: #467bb5 !important;
    border-color: #467bb5 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 10px 24px rgba(70, 123, 181, 0.2) !important;
}

body.page-admin .btn:hover,
body.page-admin .btn-primary:hover,
body.page-admin .login-btn:hover,
body.page-admin .action-btn:hover,
body.page-admin .save-btn:hover,
body.page-admin .submit-btn:hover {
    background: #1a2b49 !important;
    border-color: #1a2b49 !important;
}

body.page-admin .btn-danger,
body.page-admin .delete-btn,
body.page-admin .action-btn.delete {
    background: #9f3434 !important;
    border-color: #9f3434 !important;
    color: #ffffff !important;
}

body.page-admin input,
body.page-admin select,
body.page-admin textarea,
body.page-admin .tour-file-label {
    background: #ffffff !important;
    border: 1px solid #d8e2f2 !important;
    color: #14395f !important;
}

body.page-admin input:focus,
body.page-admin select:focus,
body.page-admin textarea:focus {
    border-color: #467bb5 !important;
    box-shadow: 0 0 0 4px rgba(70, 123, 181, 0.16) !important;
}

body.page-admin-login .login-wrap {
    min-height: 100vh !important;
    display: grid !important;
    place-items: center !important;
    padding: 32px !important;
    background:
        linear-gradient(90deg, rgba(15, 23, 42, 0.82), rgba(26, 43, 73, 0.48)),
        url("../assets/images/header_3.jpg") center/cover !important;
}

body.page-admin-login .login-container {
    width: min(440px, 100%) !important;
    background: rgba(255, 255, 255, 0.9) !important;
    border: 1px solid rgba(255, 255, 255, 0.42) !important;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.22) !important;
    backdrop-filter: blur(14px) saturate(1.08) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.08) !important;
}

body.page-admin-login .login-container .logo h1,
body.page-admin-login .login-container .logo p {
    color: #14395f !important;
    -webkit-text-fill-color: #14395f !important;
}

body.page-admin-login .login-info {
    background: #d8e2f2 !important;
    border-color: #b9c9de !important;
    color: #14395f !important;
}

@media (max-width: 900px) {
    body.page-admin .admin-header {
        align-items: flex-start !important;
    }

    body.page-admin .admin-nav {
        width: 100% !important;
        overflow-x: auto !important;
        justify-content: flex-start !important;
        padding-bottom: 4px !important;
    }
}

/* Admin Settings workspace redesign. */
body.page-admin .settings-shell {
    display: grid !important;
    grid-template-columns: 300px minmax(0, 1fr) !important;
    gap: 0 !important;
    overflow: hidden !important;
    min-height: 620px !important;
    background: #ffffff !important;
    border: 1px solid rgba(216, 226, 242, 0.9) !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03) !important;
}

body.page-admin .settings-sidebar {
    padding: 28px !important;
    background:
        linear-gradient(180deg, #f7f9fb 0%, #eef3f7 100%) !important;
    border-right: 1px solid #d8e2f2 !important;
}

body.page-admin .settings-sidebar-kicker {
    margin-bottom: 8px !important;
    color: #467bb5 !important;
    font-size: 0.75rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

body.page-admin .settings-sidebar h2 {
    margin: 0 !important;
    color: #14395f !important;
    font-size: 1.5rem !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
}

body.page-admin .settings-sidebar p {
    margin: 8px 0 24px !important;
    color: #64748b !important;
    font-size: 0.9rem !important;
    line-height: 1.6 !important;
}

body.page-admin .settings-tab {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 10px !important;
    padding: 12px !important;
    border: 1px solid transparent !important;
    border-radius: 12px !important;
    background: transparent !important;
    color: #14395f !important;
    text-align: left !important;
    cursor: pointer !important;
    box-shadow: none !important;
    transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease !important;
}

body.page-admin .settings-tab i {
    width: 42px !important;
    height: 42px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 11px !important;
    background: #d8e2f2 !important;
    color: #14395f !important;
}

body.page-admin .settings-tab strong,
body.page-admin .settings-tab small {
    display: block !important;
}

body.page-admin .settings-tab strong {
    color: #14395f !important;
    font-size: 0.92rem !important;
    font-weight: 900 !important;
}

body.page-admin .settings-tab small {
    margin-top: 3px !important;
    color: #64748b !important;
    font-size: 0.76rem !important;
    line-height: 1.35 !important;
}

body.page-admin .settings-tab:hover {
    background: rgba(255, 255, 255, 0.72) !important;
    border-color: #d8e2f2 !important;
    transform: translateY(-1px) !important;
}

body.page-admin .settings-tab.active {
    background: #ffffff !important;
    border-color: #b9c9de !important;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06) !important;
}

body.page-admin .settings-tab.active i {
    background: linear-gradient(135deg, #ff5a5f, #ff7e40) !important;
    color: #ffffff !important;
}

body.page-admin .settings-panel {
    padding: 34px clamp(28px, 4vw, 56px) !important;
}

body.page-admin .settings-pane {
    display: none !important;
    max-width: 820px !important;
}

body.page-admin .settings-pane.active {
    display: block !important;
}

body.page-admin .settings-section-heading {
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    margin-bottom: 28px !important;
}

body.page-admin .settings-section-icon {
    width: 46px !important;
    height: 46px !important;
    display: grid !important;
    place-items: center !important;
    flex: 0 0 auto !important;
    border-radius: 14px !important;
    background: #d8e2f2 !important;
    color: #14395f !important;
}

body.page-admin .settings-section-icon--sunset {
    background: rgba(255, 184, 0, 0.16) !important;
    color: #1a2b49 !important;
}

body.page-admin .settings-section-heading h3 {
    margin: 0 !important;
    color: #14395f !important;
    font-size: 1.35rem !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
}

body.page-admin .settings-section-heading p {
    margin: 5px 0 0 !important;
    color: #64748b !important;
    line-height: 1.6 !important;
}

body.page-admin .settings-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px 20px !important;
}

body.page-admin .settings-grid--single {
    grid-template-columns: minmax(0, 1fr) !important;
    max-width: 680px !important;
}

body.page-admin .settings-group--full {
    grid-column: 1 / -1 !important;
}

body.page-admin .settings-group label {
    display: block !important;
    margin-bottom: 8px !important;
    color: #64748b !important;
    font-size: 0.84rem !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
}

body.page-admin .settings-group input,
body.page-admin .settings-group textarea {
    width: 100% !important;
    min-height: 48px !important;
    padding: 12px 14px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    color: #14395f !important;
    font: inherit !important;
    font-weight: 650 !important;
    outline: none !important;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.035) !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease !important;
}

body.page-admin .settings-group input:focus,
body.page-admin .settings-group textarea:focus {
    border-color: #ff7e40 !important;
    box-shadow: 0 0 0 4px rgba(255, 126, 64, 0.16), 0 10px 24px rgba(15, 23, 42, 0.06) !important;
}

body.page-admin .settings-actions {
    display: flex !important;
    justify-content: flex-start !important;
    margin-top: 28px !important;
}

body.page-admin .settings-save-btn {
    min-height: 48px !important;
    padding: 0 20px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, #ff5a5f 0%, #ff7e40 100%) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-weight: 900 !important;
    box-shadow: 0 16px 34px rgba(255, 90, 95, 0.24) !important;
}

body.page-admin .settings-save-btn:hover {
    transform: translateY(-1px) !important;
    background: linear-gradient(135deg, #f44d52 0%, #f26f35 100%) !important;
    box-shadow: 0 20px 42px rgba(255, 90, 95, 0.32) !important;
}

@media (max-width: 980px) {
    body.page-admin .settings-shell {
        grid-template-columns: 1fr !important;
    }

    body.page-admin .settings-sidebar {
        border-right: 0 !important;
        border-bottom: 1px solid #d8e2f2 !important;
    }
}

@media (max-width: 680px) {
    body.page-admin .settings-panel,
    body.page-admin .settings-sidebar {
        padding: 22px !important;
    }

    body.page-admin .settings-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Settings refinement: align actions with admin palette and add stronger workspace depth. */
body.page-admin .settings-shell {
    grid-template-columns: 320px minmax(0, 1fr) !important;
    background:
        linear-gradient(90deg, #f7f9fb 0, #f7f9fb 320px, #ffffff 320px, #ffffff 100%) !important;
    border-color: rgba(216, 226, 242, 0.95) !important;
    box-shadow: 0 18px 48px rgba(15, 23, 42, 0.06) !important;
}

body.page-admin .settings-sidebar {
    background:
        radial-gradient(circle at 20% 4%, rgba(216, 226, 242, 0.72), transparent 18rem),
        linear-gradient(180deg, #f7f9fb 0%, #eef3f7 100%) !important;
}

body.page-admin .settings-tab {
    min-height: 76px !important;
    background: transparent !important;
}

body.page-admin .settings-tab i {
    background: #d8e2f2 !important;
    color: #14395f !important;
    box-shadow: inset 0 0 0 1px rgba(185, 201, 222, 0.55) !important;
}

body.page-admin .settings-tab:hover {
    background: rgba(255, 255, 255, 0.78) !important;
    border-color: #d8e2f2 !important;
}

body.page-admin .settings-tab.active {
    background: #ffffff !important;
    border-color: #b9c9de !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08) !important;
}

body.page-admin .settings-tab.active i {
    background: linear-gradient(135deg, #467bb5 0%, #1a2b49 100%) !important;
    color: #ffffff !important;
}

body.page-admin .settings-panel {
    background:
        linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%) !important;
}

body.page-admin .settings-pane.active {
    width: min(100%, 980px) !important;
    padding: 28px !important;
    border: 1px solid rgba(216, 226, 242, 0.72) !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.04) !important;
}

body.page-admin .settings-section-heading {
    padding-bottom: 22px !important;
    border-bottom: 1px solid rgba(216, 226, 242, 0.85) !important;
}

body.page-admin .settings-section-icon,
body.page-admin .settings-section-icon--sunset {
    background: #d8e2f2 !important;
    color: #14395f !important;
}

body.page-admin .settings-group input,
body.page-admin .settings-group textarea {
    border-color: #d8e2f2 !important;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.035) !important;
}

body.page-admin .settings-group input:focus,
body.page-admin .settings-group textarea:focus {
    border-color: #467bb5 !important;
    box-shadow: 0 0 0 4px rgba(70, 123, 181, 0.16), 0 12px 30px rgba(15, 23, 42, 0.06) !important;
}

body.page-admin .settings-actions {
    padding-top: 24px !important;
    border-top: 1px solid rgba(216, 226, 242, 0.85) !important;
}

body.page-admin .settings-save-btn {
    min-width: 172px !important;
    background: linear-gradient(135deg, #467bb5 0%, #1a2b49 100%) !important;
    border: 1px solid #467bb5 !important;
    box-shadow: 0 14px 32px rgba(70, 123, 181, 0.24) !important;
}

body.page-admin .settings-save-btn:hover {
    background: linear-gradient(135deg, #1a2b49 0%, #0f172a 100%) !important;
    border-color: #1a2b49 !important;
    box-shadow: 0 18px 42px rgba(26, 43, 73, 0.26) !important;
}

@media (max-width: 980px) {
    body.page-admin .settings-shell {
        background: #ffffff !important;
        grid-template-columns: 1fr !important;
    }

    body.page-admin .settings-pane.active {
        padding: 22px !important;
    }
}

body.page-client .feature-card {
    min-height: 220px !important;
    overflow: visible !important;
}

body.page-client .feature-card:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 22px 48px rgba(20, 57, 95, 0.18) !important;
}

@media (max-width: 1100px) {
    body.page-client .hero .container {
        grid-template-columns: 1fr !important;
    }

    body.page-client .hero-search-card {
        width: min(100%, 560px) !important;
    }

    body.page-client .features-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 780px) {
    body.page-client .header-inner {
        align-items: center !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        gap: 10px !important;
        padding: 10px 16px !important;
    }

    body.page-client .nav {
        width: 100% !important;
        justify-content: center !important;
        overflow-x: auto !important;
        padding-bottom: 4px !important;
    }

    body.page-client .nav a {
        flex: 0 0 auto !important;
        min-height: 36px !important;
        padding: 0 10px !important;
    }

    body.page-client .hero {
        min-height: auto !important;
        padding: 190px 0 130px !important;
    }

    body.page-client .hero-actions {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    body.page-client .hero-btn {
        width: 100% !important;
    }

    body.page-client .subnav-wrap {
        margin-top: -46px !important;
        padding-bottom: 48px !important;
    }

    body.page-client .subnav-bar {
        display: flex !important;
        gap: 12px !important;
        overflow-x: auto !important;
        padding: 12px !important;
        border-radius: 16px !important;
    }

    body.page-client .snav-item {
        min-width: 240px !important;
        border-radius: 12px !important;
    }

    body.page-client .snav-divider {
        display: none !important;
    }

    body.page-client .features {
        padding: 72px 0 64px !important;
    }

    body.page-client .features-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Global tour card hardening: imagery, weather legibility, spacing, hover. */
body.page-client .tour-card {
    position: relative !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 100% !important;
    padding-bottom: 0 !important;
    border-radius: 18px !important;
    transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease !important;
}

body.page-client .tour-card:hover {
    transform: translateY(-5px) !important;
    border-color: #b9c9de !important;
    box-shadow: 0 26px 58px rgba(20, 57, 95, 0.2) !important;
}

body.page-client .tour-image-wrap {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 16 / 10 !important;
    min-height: 210px !important;
    overflow: hidden !important;
    background:
        linear-gradient(135deg, #d8e2f2, #f8f6f6) !important;
}

body.page-client .tour-image-wrap::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
    background: linear-gradient(180deg, rgba(20, 57, 95, 0.34), rgba(20, 57, 95, 0.04) 45%, rgba(20, 57, 95, 0)) !important;
}

body.page-client .tour-image-wrap::after {
    content: "FUJIKO Travel" !important;
    position: absolute !important;
    inset: 0 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    color: #14395f !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
}

body.page-client .tour-image-wrap.tour-image-missing::after {
    display: flex !important;
}

body.page-client .tour-card img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    transition: transform 0.45s ease !important;
}

body.page-client .tour-card:hover img {
    transform: scale(1.045) !important;
}

body.page-client .featured-badge {
    z-index: 3 !important;
    background: rgba(20, 57, 95, 0.86) !important;
    border: 1px solid rgba(255, 255, 255, 0.34) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 10px 24px rgba(20, 57, 95, 0.22) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

body.page-client .tour-info {
    display: flex !important;
    flex: 1 !important;
    flex-direction: column !important;
    padding: 24px 24px 30px !important;
}

body.page-client .tour-title {
    color: #14395f !important;
    -webkit-text-fill-color: #14395f !important;
    font-size: clamp(1.08rem, 1.5vw, 1.25rem) !important;
    font-weight: 900 !important;
    line-height: 1.18 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

body.page-client .tour-destination,
body.page-client .tour-duration,
body.page-client .tour-description {
    color: #5f6f82 !important;
}

body.page-client .weather-pill {
    background: #d8e2f2 !important;
    border: 1px solid #b9c9de !important;
    color: #14395f !important;
}

body.page-client .weather-pill span,
body.page-client .weather-pill i {
    color: #14395f !important;
}

body.page-client .forecast-strip {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-top: 14px !important;
    margin-bottom: 18px !important;
}

body.page-client .forecast-day,
body.page-client .forecast-day.hazard {
    min-width: 0 !important;
    min-height: 118px !important;
    padding: 12px 10px 14px !important;
    border: 1px solid #d8e2f2 !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, 0.88) !important;
    color: #14395f !important;
    box-shadow: 0 8px 20px rgba(20, 57, 95, 0.08) !important;
}

body.page-client .forecast-day strong,
body.page-client .forecast-day span,
body.page-client .forecast-day small,
body.page-client .forecast-day.hazard span,
body.page-client .forecast-day.hazard small {
    color: #14395f !important;
    -webkit-text-fill-color: #14395f !important;
}

body.page-client .forecast-day strong {
    font-size: 0.82rem !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
}

body.page-client .forecast-temp {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    margin-top: 8px !important;
    color: #14395f !important;
    font-size: 0.92rem !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}

body.page-client .forecast-temp i {
    color: #467bb5 !important;
    font-size: 0.82rem !important;
}

body.page-client .forecast-day small {
    margin-top: 8px !important;
    color: #5f6f82 !important;
    font-size: 0.74rem !important;
    line-height: 1.35 !important;
}

body.page-client .forecast-day.hazard {
    background: #fff7f7 !important;
    border-color: #e6c4c4 !important;
}

body.page-client .forecast-day.hazard .forecast-temp i {
    color: #9f3434 !important;
}

body.page-client .tour-description {
    margin-top: 2px !important;
    min-height: 0 !important;
    line-height: 1.55 !important;
}

body.page-client .tour-card-actions {
    margin-top: auto !important;
    padding-top: 14px !important;
}

@media (max-width: 620px) {
    body.page-client .forecast-strip {
        grid-template-columns: 1fr !important;
    }

    body.page-client .forecast-day {
        min-height: auto !important;
    }
}

/* Customer dashboard polish: warm canvas, readable filters, premium booking rows. */
body.page-dashboard {
    --dashboard-canvas: #f4f6f8;
    --dashboard-canvas-2: #f7f9fb;
    --dashboard-ink: #14395f;
    --dashboard-muted: #64748b;
    --dashboard-line: #e2e8f0;
    --dashboard-blue: #467bb5;
    --dashboard-navy: #1a2b49;
    --dashboard-sunset: #ffb800;
    --dashboard-coral: #ff5a5f;
    --dashboard-orange: #ff7e40;
    background:
        radial-gradient(circle at 8% 8%, rgba(216, 226, 242, 0.5), transparent 28rem),
        linear-gradient(180deg, var(--dashboard-canvas-2) 0%, var(--dashboard-canvas) 48%, #eef3f7 100%) !important;
}

body.page-dashboard .dash-wrap,
html.light-mode body.page-dashboard .dash-wrap {
    min-height: 100vh !important;
    background:
        radial-gradient(circle at 8% 8%, rgba(216, 226, 242, 0.5), transparent 28rem),
        linear-gradient(180deg, var(--dashboard-canvas-2) 0%, var(--dashboard-canvas) 56%, #eef3f7 100%) !important;
    color: var(--dashboard-ink) !important;
}

body.page-dashboard .header .nav {
    align-items: center !important;
}

body.page-dashboard .nav-user.active {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 42px !important;
    padding: 10px 14px !important;
    border: 1px solid rgba(70, 123, 181, 0.2) !important;
    border-radius: 14px !important;
    background: rgba(216, 226, 242, 0.72) !important;
    color: var(--dashboard-ink) !important;
    -webkit-text-fill-color: var(--dashboard-ink) !important;
    font-size: 0.88rem !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
}

body.page-dashboard .nav .btn-book {
    min-height: 42px !important;
    padding: 10px 18px !important;
    border-radius: 14px !important;
    line-height: 1 !important;
}

body.page-dashboard .push-bell-btn {
    min-height: 42px !important;
    padding: 10px 14px !important;
    border: 1px solid rgba(70, 123, 181, 0.18) !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    color: var(--dashboard-ink) !important;
    font-size: 0.86rem !important;
    font-weight: 800 !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05) !important;
}

body.page-dashboard .push-bell-btn:hover,
body.page-dashboard .push-bell-btn.push-bell-active {
    border-color: rgba(70, 123, 181, 0.3) !important;
    color: var(--dashboard-blue) !important;
    background: #eef3fa !important;
}

body.page-dashboard .welcome-banner,
body.page-dashboard .dash-stat-card,
body.page-dashboard .bookings-toolbar,
body.page-dashboard .booking-card,
body.page-dashboard .empty-state {
    background: #ffffff !important;
    border: 1px solid rgba(226, 232, 240, 0.82) !important;
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.06) !important;
}

body.page-dashboard .welcome-banner {
    border-radius: 20px !important;
    padding: 34px 36px !important;
}

body.page-dashboard .welcome-banner::before {
    background: linear-gradient(180deg, var(--dashboard-blue), var(--dashboard-navy)) !important;
}

body.page-dashboard .welcome-kicker {
    color: var(--dashboard-blue) !important;
    font-weight: 900 !important;
    letter-spacing: 0.08em !important;
}

body.page-dashboard .welcome-banner h2,
body.page-dashboard .section-title,
body.page-dashboard .booking-tour,
body.page-dashboard .dash-stat-card strong {
    color: var(--dashboard-ink) !important;
    -webkit-text-fill-color: var(--dashboard-ink) !important;
}

body.page-dashboard .welcome-banner p,
body.page-dashboard .dash-stat-card span,
body.page-dashboard .booking-meta,
body.page-dashboard .booking-meta span {
    color: var(--dashboard-muted) !important;
    -webkit-text-fill-color: var(--dashboard-muted) !important;
}

body.page-dashboard .btn-explore {
    min-height: 46px !important;
    padding: 12px 18px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: #467bb5 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-weight: 900 !important;
    box-shadow: 0 14px 32px rgba(70, 123, 181, 0.24) !important;
}

body.page-dashboard .btn-explore:hover {
    background: #1a2b49 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 18px 40px rgba(26, 43, 73, 0.24) !important;
}

body.page-dashboard .btn-security-setup {
    background: #fff7df !important;
    border: 1px solid rgba(255, 184, 0, 0.32) !important;
    color: #8a5a00 !important;
    -webkit-text-fill-color: #8a5a00 !important;
    box-shadow: 0 12px 28px rgba(255, 184, 0, 0.12) !important;
}

body.page-dashboard .btn-security-active {
    background: #eefbf3 !important;
    border: 1px solid rgba(46, 125, 80, 0.22) !important;
    color: #2e7d50 !important;
    -webkit-text-fill-color: #2e7d50 !important;
    box-shadow: 0 12px 28px rgba(46, 125, 80, 0.1) !important;
}

body.page-dashboard .stats-row {
    gap: 18px !important;
}

body.page-dashboard .dash-stat-card {
    border-radius: 18px !important;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease !important;
}

body.page-dashboard .dash-stat-card:hover {
    transform: translateY(-2px) !important;
    border-color: rgba(70, 123, 181, 0.24) !important;
    box-shadow: 0 18px 48px rgba(15, 23, 42, 0.1) !important;
}

body.page-dashboard .dash-stat-card i {
    display: grid !important;
    place-items: center !important;
    width: 52px !important;
    height: 52px !important;
    border: 1px solid rgba(70, 123, 181, 0.18) !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, rgba(216, 226, 242, 0.92), rgba(238, 243, 250, 0.78)) !important;
    color: var(--dashboard-blue) !important;
}

body.page-dashboard .bookings-toolbar {
    gap: 16px !important;
    border-radius: 18px !important;
}

body.page-dashboard .booking-filter-tabs {
    gap: 8px !important;
    padding: 6px !important;
    border: 1px solid var(--dashboard-line) !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, 0.86) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8), 0 8px 22px rgba(15, 23, 42, 0.04) !important;
}

body.page-dashboard .booking-filter-tab {
    min-height: 38px !important;
    padding: 9px 13px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: transparent !important;
    color: var(--dashboard-ink) !important;
    -webkit-text-fill-color: var(--dashboard-ink) !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease !important;
}

body.page-dashboard .booking-filter-tab::after {
    display: none !important;
}

body.page-dashboard .booking-filter-tab span {
    min-width: 24px !important;
    height: 24px !important;
    display: inline-grid !important;
    place-items: center !important;
    margin-left: 6px !important;
    border: 1px solid rgba(70, 123, 181, 0.16) !important;
    border-radius: 999px !important;
    background: rgba(216, 226, 242, 0.54) !important;
    color: var(--dashboard-ink) !important;
    -webkit-text-fill-color: var(--dashboard-ink) !important;
    font-size: 0.76rem !important;
    font-weight: 900 !important;
}

body.page-dashboard .booking-filter-tab:hover {
    background: #eef3fa !important;
    color: var(--dashboard-blue) !important;
    -webkit-text-fill-color: var(--dashboard-blue) !important;
    transform: translateY(-1px) !important;
}

body.page-dashboard .booking-filter-tab.active {
    background: #467bb5 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 12px 24px rgba(70, 123, 181, 0.22) !important;
}

body.page-dashboard .booking-filter-tab.active span {
    border-color: rgba(255, 255, 255, 0.42) !important;
    background: rgba(255, 255, 255, 0.18) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

body.page-dashboard .booking-card {
    border-radius: 18px !important;
    overflow: hidden !important;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease !important;
}

body.page-dashboard .booking-card:hover {
    transform: translateY(-2px) !important;
    border-color: rgba(70, 123, 181, 0.2) !important;
    box-shadow: 0 20px 52px rgba(15, 23, 42, 0.11) !important;
}

body.page-dashboard .booking-thumb {
    object-fit: cover !important;
    background: #d8e2f2 !important;
}

body.page-dashboard .booking-id {
    margin: 0 0 6px !important;
    padding: 0 !important;
    background: transparent !important;
    color: var(--dashboard-blue) !important;
    -webkit-text-fill-color: var(--dashboard-blue) !important;
    font-size: 0.82rem !important;
    font-weight: 950 !important;
    letter-spacing: 0.04em !important;
}

body.page-dashboard .booking-tour {
    font-size: 1.08rem !important;
    font-weight: 900 !important;
    line-height: 1.3 !important;
    text-transform: none !important;
}

body.page-dashboard .booking-meta i {
    color: var(--dashboard-blue) !important;
}

body.page-dashboard .status-badge {
    border-radius: 999px !important;
    border: 1px solid var(--dashboard-line) !important;
    background: #f8fafc !important;
    color: var(--dashboard-ink) !important;
    -webkit-text-fill-color: var(--dashboard-ink) !important;
    font-weight: 900 !important;
}

body.page-dashboard .status-pending {
    background: #fff7df !important;
    border-color: rgba(255, 184, 0, 0.34) !important;
    color: #8a5a00 !important;
    -webkit-text-fill-color: #8a5a00 !important;
}

body.page-dashboard .status-confirmed {
    background: #eefbf3 !important;
    border-color: rgba(46, 125, 80, 0.26) !important;
    color: #2e7d50 !important;
    -webkit-text-fill-color: #2e7d50 !important;
}

body.page-dashboard .status-completed {
    background: #fff7df !important;
    border-color: rgba(255, 184, 0, 0.38) !important;
    color: #8a5a00 !important;
    -webkit-text-fill-color: #8a5a00 !important;
}

body.page-dashboard .status-cancelled {
    background: #fff1f2 !important;
    border-color: rgba(255, 90, 95, 0.26) !important;
    color: #b4232a !important;
    -webkit-text-fill-color: #b4232a !important;
}

body.page-dashboard .booking-detail-toggle {
    background: #f7f9fb !important;
    border: 1px solid var(--dashboard-line) !important;
    color: var(--dashboard-ink) !important;
}

body.page-dashboard .booking-detail-toggle:hover {
    background: #eef3fa !important;
    border-color: rgba(70, 123, 181, 0.24) !important;
    color: var(--dashboard-blue) !important;
}

body.page-dashboard .booking-detail-grid div {
    background: #f8fafc !important;
    border: 1px solid rgba(226, 232, 240, 0.82) !important;
}

body.page-dashboard .booking-detail-grid span {
    color: var(--dashboard-muted) !important;
}

body.page-dashboard .booking-detail-grid strong,
body.page-dashboard .breakdown-list li {
    color: var(--dashboard-ink) !important;
}

body.page-dashboard .need-help-link {
    color: var(--dashboard-blue) !important;
}

body.page-dashboard .cancel-request-link {
    color: #b4232a !important;
}

@media (max-width: 760px) {
    body.page-dashboard .welcome-banner {
        padding: 28px 22px !important;
    }

    body.page-dashboard .booking-filter-tabs {
        width: 100% !important;
        overflow-x: auto !important;
        justify-content: flex-start !important;
    }

    body.page-dashboard .booking-filter-tab {
        flex: 0 0 auto !important;
    }
}

/* Booking flow repair: remove dark overlays, restore client palette and readable forms. */
body.page-booking {
    --booking-ink: #14395f;
    --booking-muted: #64748b;
    --booking-line: #d8e2f2;
    --booking-blue: #467bb5;
    --booking-navy: #1a2b49;
    --booking-canvas: #f4f6f8;
    --booking-soft: #f7f9fb;
    background:
        radial-gradient(circle at 8% 8%, rgba(216, 226, 242, 0.5), transparent 28rem),
        linear-gradient(180deg, #f7f9fb 0%, #f4f6f8 48%, #eef3f7 100%) !important;
    color: var(--booking-ink) !important;
}

body.page-booking .booking-wrap,
html.light-mode body.page-booking .booking-wrap {
    min-height: 100vh !important;
    padding-top: 104px !important;
    background:
        radial-gradient(circle at 8% 8%, rgba(216, 226, 242, 0.5), transparent 28rem),
        linear-gradient(180deg, #f7f9fb 0%, #f4f6f8 52%, #eef3f7 100%) !important;
}

body.page-booking .booking-container,
html.light-mode body.page-booking .booking-container {
    width: min(1120px, calc(100% - 32px)) !important;
    overflow: hidden !important;
    border: 1px solid rgba(216, 226, 242, 0.86) !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    color: var(--booking-ink) !important;
    box-shadow: 0 24px 70px rgba(20, 57, 95, 0.12) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

body.page-booking .booking-header {
    padding: 42px 44px !important;
    border: 0 !important;
    background:
        linear-gradient(90deg, rgba(20, 57, 95, 0.86), rgba(70, 123, 181, 0.56)),
        url("../assets/images/header_3.jpg") center/cover !important;
}

body.page-booking .booking-header h1,
body.page-booking .booking-header p {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-shadow: 0 8px 22px rgba(15, 23, 42, 0.28) !important;
}

body.page-booking .booking-header h1 {
    font-weight: 900 !important;
    letter-spacing: 0 !important;
}

body.page-booking .booking-header p {
    opacity: 0.9 !important;
}

body.page-booking .booking-content {
    background: #ffffff !important;
}

body.page-booking .booking-form,
body.page-booking .booking-step,
body.page-booking .booking-step.active,
body.page-booking .booking-details-layout,
body.page-booking .booking-fields {
    background: transparent !important;
    color: var(--booking-ink) !important;
}

body.page-booking .booking-progress {
    border: 1px solid var(--booking-line) !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    box-shadow: 0 12px 34px rgba(15, 23, 42, 0.05) !important;
}

body.page-booking .progress-step {
    color: var(--booking-ink) !important;
    -webkit-text-fill-color: var(--booking-ink) !important;
}

body.page-booking .progress-step span {
    border-color: var(--booking-line) !important;
    background: #f7f9fb !important;
    color: var(--booking-ink) !important;
}

body.page-booking .progress-step.active {
    background: #467bb5 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

body.page-booking .progress-step.active span {
    border-color: rgba(255, 255, 255, 0.48) !important;
    background: rgba(255, 255, 255, 0.16) !important;
    color: #ffffff !important;
}

body.page-booking .progress-step.active strong {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

body.page-booking .progress-line,
body.page-booking .progress-line::before {
    background: var(--booking-line) !important;
}

body.page-booking .booking-progress.step-two .progress-line::before {
    background: #467bb5 !important;
}

body.page-booking .booking-step-heading {
    background: transparent !important;
    border: 0 !important;
}

body.page-booking .booking-step-heading span,
body.page-booking .summary-card-kicker {
    background: #e8f6f9 !important;
    border: 1px solid rgba(70, 123, 181, 0.12) !important;
    color: #467bb5 !important;
    -webkit-text-fill-color: #467bb5 !important;
    font-weight: 900 !important;
}

body.page-booking .booking-step-heading h2,
body.page-booking .booking-step .tour-details .tour-info h3,
body.page-booking .booking-summary-card h3,
body.page-booking .booking-fields label,
body.page-booking .traveler-cat-name,
body.page-booking .summary-row strong,
body.page-booking .summary-total strong,
body.page-booking .summary-cat-row .cat-subtotal {
    color: var(--booking-ink) !important;
    -webkit-text-fill-color: var(--booking-ink) !important;
}

body.page-booking .booking-step-heading p,
body.page-booking .booking-step .tour-details .tour-info p,
body.page-booking .form-hint,
body.page-booking .traveler-cat-rate,
body.page-booking .summary-row span,
body.page-booking .summary-total span,
body.page-booking .summary-cat-row span,
body.page-booking .summary-note,
body.page-booking .char-counter,
body.page-booking .field-error-msg {
    color: var(--booking-muted) !important;
    -webkit-text-fill-color: var(--booking-muted) !important;
}

body.page-booking .booking-step .tour-details,
body.page-booking .forecast-panel,
body.page-booking .booking-summary-card,
body.page-booking .traveler-categories,
body.page-booking .discount-group,
body.page-booking .payment-option-inner,
body.page-booking .confirmation-box,
body.page-booking .booking-recap,
body.page-booking .next-steps {
    border: 1px solid var(--booking-line) !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    color: var(--booking-ink) !important;
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.05) !important;
}

body.page-booking .booking-step .tour-details {
    overflow: hidden !important;
}

body.page-booking .booking-step .tour-details img {
    object-fit: cover !important;
    background: #d8e2f2 !important;
}

body.page-booking .booking-step .tour-details .price,
body.page-booking #summary-price,
body.page-booking #summary-total {
    background: #e8f6f9 !important;
    border: 1px solid rgba(70, 123, 181, 0.14) !important;
    color: var(--booking-ink) !important;
    -webkit-text-fill-color: var(--booking-ink) !important;
    box-shadow: none !important;
}

body.page-booking .weather-banner {
    border-radius: 16px !important;
    box-shadow: 0 12px 34px rgba(15, 23, 42, 0.05) !important;
}

body.page-booking .weather-banner.available {
    background: #eefbf3 !important;
    border: 1px solid rgba(46, 125, 80, 0.22) !important;
}

body.page-booking .weather-banner.unavailable {
    background: #fff1f2 !important;
    border: 1px solid rgba(180, 35, 42, 0.2) !important;
}

body.page-booking .weather-banner.unknown {
    background: #f7f9fb !important;
    border: 1px solid var(--booking-line) !important;
}

body.page-booking .weather-banner strong,
body.page-booking .weather-banner p {
    color: var(--booking-ink) !important;
    -webkit-text-fill-color: var(--booking-ink) !important;
}

body.page-booking .weather-banner.available > span {
    color: #2e7d50 !important;
    -webkit-text-fill-color: #2e7d50 !important;
    font-weight: 900 !important;
}

body.page-booking .weather-banner.unavailable > span {
    color: #b4232a !important;
    -webkit-text-fill-color: #b4232a !important;
}

body.page-booking .forecast-card,
body.page-booking .forecast-card.hazard {
    border: 1px solid var(--booking-line) !important;
    border-radius: 14px !important;
    background: #f8fafc !important;
    color: var(--booking-ink) !important;
}

body.page-booking .forecast-card strong,
body.page-booking .forecast-card span,
body.page-booking .forecast-condition,
body.page-booking .forecast-metrics span {
    color: var(--booking-ink) !important;
    -webkit-text-fill-color: var(--booking-ink) !important;
}

body.page-booking .booking-fields {
    border: 1px solid var(--booking-line) !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.05) !important;
}

body.page-booking .booking-back-link {
    color: #467bb5 !important;
    -webkit-text-fill-color: #467bb5 !important;
    font-weight: 900 !important;
}

body.page-booking .autofill-notice {
    border: 1px solid rgba(70, 123, 181, 0.16) !important;
    border-radius: 14px !important;
    background: #e8f6f9 !important;
    color: var(--booking-ink) !important;
}

body.page-booking .autofill-notice i,
body.page-booking .autofill-notice span {
    color: #467bb5 !important;
    -webkit-text-fill-color: #467bb5 !important;
}

body.page-booking .booking-fields input,
body.page-booking .booking-fields select,
body.page-booking .booking-fields textarea,
html.light-mode body.page-booking .booking-fields input,
html.light-mode body.page-booking .booking-fields select,
html.light-mode body.page-booking .booking-fields textarea {
    background: #ffffff !important;
    border: 1px solid var(--booking-line) !important;
    color: var(--booking-ink) !important;
    -webkit-text-fill-color: var(--booking-ink) !important;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04) !important;
}

body.page-booking .booking-fields input::placeholder,
body.page-booking .booking-fields textarea::placeholder {
    color: #7c8ca3 !important;
    -webkit-text-fill-color: #7c8ca3 !important;
    opacity: 1 !important;
}

body.page-booking .booking-fields input:focus,
body.page-booking .booking-fields select:focus,
body.page-booking .booking-fields textarea:focus {
    border-color: #467bb5 !important;
    box-shadow: 0 0 0 4px rgba(70, 123, 181, 0.14), 0 10px 26px rgba(15, 23, 42, 0.06) !important;
}

body.page-booking .traveler-cat-row {
    background: #ffffff !important;
    border-color: var(--booking-line) !important;
}

body.page-booking .traveler-cat-row:hover {
    background: #f7f9fb !important;
}

body.page-booking .traveler-cat-name i,
body.page-booking .summary-cat-row i,
body.page-booking .summary-note i {
    color: #467bb5 !important;
}

body.page-booking .traveler-cat-discount {
    color: #2e7d50 !important;
    -webkit-text-fill-color: #2e7d50 !important;
}

body.page-booking .traveler-cat-stepper {
    border: 1px solid var(--booking-line) !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #eef3fa !important;
}

body.page-booking .cat-btn {
    background: #467bb5 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

body.page-booking .cat-btn:hover {
    background: #1a2b49 !important;
}

body.page-booking .cat-count {
    background: #ffffff !important;
    color: var(--booking-ink) !important;
    -webkit-text-fill-color: var(--booking-ink) !important;
}

body.page-booking .traveler-total-row {
    background: #e8f6f9 !important;
    border: 1px solid rgba(70, 123, 181, 0.14) !important;
    color: var(--booking-ink) !important;
}

body.page-booking .credential-file-picker {
    background: #ffffff !important;
    border: 1px dashed #467bb5 !important;
    color: var(--booking-ink) !important;
}

body.page-booking .credential-file-name {
    color: var(--booking-muted) !important;
}

body.page-booking .payment-option input:checked + .payment-option-inner,
body.page-booking .payment-option-inner:hover {
    border-color: #467bb5 !important;
    background: #eef3fa !important;
}

body.page-booking .payment-option-inner i,
body.page-booking .payment-option-inner strong {
    color: var(--booking-ink) !important;
}

body.page-booking .payment-option-inner small {
    color: var(--booking-muted) !important;
}

body.page-booking .form-check {
    background: #f7f9fb !important;
    border: 1px solid var(--booking-line) !important;
    border-radius: 14px !important;
}

body.page-booking .form-check label,
body.page-booking .form-check a {
    color: var(--booking-ink) !important;
    -webkit-text-fill-color: var(--booking-ink) !important;
}

body.page-booking .btn,
body.page-booking .booking-submit {
    background: #467bb5 !important;
    border-color: #467bb5 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 14px 32px rgba(70, 123, 181, 0.24) !important;
}

body.page-booking .btn:hover,
body.page-booking .booking-submit:hover {
    background: #1a2b49 !important;
    border-color: #1a2b49 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 18px 40px rgba(26, 43, 73, 0.24) !important;
}

body.page-booking .btn.btn-secondary,
body.page-booking a.btn-secondary {
    background: #ffffff !important;
    border-color: var(--booking-line) !important;
    color: #467bb5 !important;
    -webkit-text-fill-color: #467bb5 !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04) !important;
}

body.page-booking .btn.btn-secondary:hover,
body.page-booking a.btn-secondary:hover {
    background: #eef3fa !important;
    color: #1a2b49 !important;
    -webkit-text-fill-color: #1a2b49 !important;
}

body.page-booking .btn-disabled,
body.page-booking .btn-disabled:hover {
    background: #d8e2f2 !important;
    border-color: #d8e2f2 !important;
    color: #7c8ca3 !important;
    -webkit-text-fill-color: #7c8ca3 !important;
    box-shadow: none !important;
    transform: none !important;
}

body.page-booking .booking-summary-card {
    align-self: start !important;
}

body.page-booking .summary-row,
body.page-booking .summary-cat-row,
body.page-booking .summary-total {
    background: #f8fafc !important;
    border-color: var(--booking-line) !important;
}

body.page-booking .summary-divider {
    background: var(--booking-line) !important;
}

body.page-booking .summary-total {
    background: #e8f6f9 !important;
}

body.page-booking .summary-note {
    background: #eef3fa !important;
    border: 1px solid var(--booking-line) !important;
}

body.page-booking .confirmation-box h2,
body.page-booking .booking-recap h3,
body.page-booking .next-steps h3,
body.page-booking .recap-row strong,
body.page-booking .next-step-list strong {
    color: var(--booking-ink) !important;
    -webkit-text-fill-color: var(--booking-ink) !important;
}

body.page-booking .confirmation-box p,
body.page-booking .recap-row span,
body.page-booking .next-step-list span {
    color: var(--booking-muted) !important;
    -webkit-text-fill-color: var(--booking-muted) !important;
}

body.page-booking .confirmation-icon-wrap i {
    color: #2e7d50 !important;
}

body.page-booking .copy-booking-id {
    background: #e8f6f9 !important;
    border: 1px solid rgba(70, 123, 181, 0.16) !important;
    color: var(--booking-ink) !important;
    -webkit-text-fill-color: var(--booking-ink) !important;
}

body.page-booking .error-box,
body.page-booking .field-error-msg {
    color: #b4232a !important;
    -webkit-text-fill-color: #b4232a !important;
}

@media (max-width: 900px) {
    body.page-booking .booking-container {
        width: min(100% - 24px, 1120px) !important;
    }

    body.page-booking .booking-header {
        padding: 34px 24px !important;
    }

    body.page-booking .booking-details-layout {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 640px) {
    body.page-booking .booking-wrap {
        padding-top: 88px !important;
    }

    body.page-booking .booking-step .tour-details {
        grid-template-columns: 1fr !important;
    }

    body.page-booking .booking-step .tour-details img {
        width: 100% !important;
        max-height: 260px !important;
    }

    body.page-booking .booking-progress {
        gap: 10px !important;
    }

    body.page-booking .progress-step {
        min-width: 0 !important;
    }
}

/* ── Tour modal facts: ensure values are always readable on light background ── */
.tour-modal-facts div,
.tour-modal-forecast-card {
    background: rgba(216, 226, 242, 0.45) !important;
    border: 1px solid rgba(70, 123, 181, 0.18) !important;
}

.tour-modal-facts span {
    color: #14395f !important;
    -webkit-text-fill-color: #14395f !important;
}

.tour-modal-facts strong {
    color: #0d2540 !important;
    -webkit-text-fill-color: #0d2540 !important;
}

.tour-modal-info h2 {
    color: #14395f !important;
    -webkit-text-fill-color: #14395f !important;
}

.tour-modal-description,
.tour-modal-description-para,
.tour-modal-description p {
    color: #5f6f82 !important;
    -webkit-text-fill-color: #5f6f82 !important;
}

.tour-modal-category {
    color: #467bb5 !important;
    -webkit-text-fill-color: #467bb5 !important;
}

/* === Premium Admin Tour Modal === */
body.page-admin #tourModal .tour-modal-form,
body.page-admin #activityModal .activity-modal-content {
    width: min(880px, calc(100vw - 40px)) !important;
    max-height: min(92vh, 980px) !important;
    padding: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    background: #fbf9f6 !important;
    border: 1px solid rgba(222, 204, 181, 0.72) !important;
    border-radius: 14px !important;
    color: #17395d !important;
    box-shadow: 0 28px 80px rgba(21, 37, 58, 0.24) !important;
}

body.page-admin #activityModal .activity-modal-content {
    width: min(640px, calc(100vw - 40px)) !important;
}

body.page-admin .tour-modal-header {
    padding: 22px 26px !important;
    background: linear-gradient(180deg, #fffdf9 0%, #fbf9f6 100%) !important;
    border-bottom: 1px solid rgba(222, 204, 181, 0.68) !important;
}

body.page-admin .tour-modal-header h3 {
    color: #15395f !important;
    font-size: 1.18rem !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
}

body.page-admin .tour-modal-header h3 i {
    color: #e9654f !important;
}

body.page-admin .modal-close-btn {
    width: 42px !important;
    height: 42px !important;
    border-radius: 10px !important;
    background: #f4efe8 !important;
    border: 1px solid rgba(222, 204, 181, 0.62) !important;
    color: #9b6b54 !important;
    box-shadow: none !important;
}

body.page-admin .modal-close-btn:hover {
    background: #eadfd1 !important;
    color: #6e3f32 !important;
}

body.page-admin .tour-modal-form form {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 26px !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
}

body.page-admin .tour-form-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 18px 20px !important;
    align-items: start !important;
}

body.page-admin .tour-form-full,
body.page-admin .tour-form-grid .tour-form-full {
    grid-column: 1 / -1 !important;
}

body.page-admin .tour-form-grid .form-group {
    margin: 0 !important;
    min-width: 0 !important;
}

body.page-admin .tour-form-grid label {
    display: block !important;
    margin: 0 0 8px !important;
    color: #17395d !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.075em !important;
    text-transform: uppercase !important;
}

body.page-admin .tour-form-grid input,
body.page-admin .tour-form-grid select,
body.page-admin .tour-form-grid textarea {
    width: 100% !important;
    min-height: 48px !important;
    padding: 12px 15px !important;
    background: #ffffff !important;
    border: 1px solid #dccfbd !important;
    border-radius: 8px !important;
    color: #17395d !important;
    font-size: 0.95rem !important;
    line-height: 1.35 !important;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) inset !important;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease !important;
}

body.page-admin .tour-form-grid textarea {
    min-height: 112px !important;
    resize: vertical !important;
}

body.page-admin .tour-form-grid input:focus,
body.page-admin .tour-form-grid select:focus,
body.page-admin .tour-form-grid textarea:focus {
    border-color: #ee7d55 !important;
    box-shadow: 0 0 0 4px rgba(238, 125, 85, 0.18), 0 10px 24px rgba(119, 72, 45, 0.06) !important;
    outline: none !important;
}

body.page-admin .form-hint {
    margin: 7px 0 0 !important;
    color: #6d7b8e !important;
    font-size: 0.78rem !important;
    line-height: 1.5 !important;
}

body.page-admin .tour-form-featured {
    align-self: stretch !important;
    display: flex !important;
    padding-top: 22px !important;
}

body.page-admin .tour-featured-label {
    width: 100% !important;
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px 15px !important;
    margin: 0 !important;
    background: #fffaf2 !important;
    border: 1px solid #ead8bd !important;
    border-radius: 8px !important;
    color: #17395d !important;
    cursor: pointer !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-size: 0.95rem !important;
    font-weight: 800 !important;
    box-shadow: 0 10px 24px rgba(146, 92, 44, 0.05) !important;
}

body.page-admin .tour-featured-label:hover {
    border-color: #eead73 !important;
    background: #fff5e7 !important;
}

body.page-admin .tour-featured-label input[type="checkbox"] {
    width: 19px !important;
    height: 19px !important;
    min-height: 19px !important;
    accent-color: #e9654f !important;
}

body.page-admin .tour-featured-text {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

body.page-admin .tour-featured-text i {
    color: #d8912a !important;
}

body.page-admin .tour-activities-panel,
body.page-admin #currentImageContainer,
body.page-admin .tour-form-grid > .form-group.tour-form-full:last-of-type {
    padding: 18px !important;
    background: rgba(255, 255, 255, 0.58) !important;
    border: 1px solid rgba(222, 204, 181, 0.58) !important;
    border-radius: 12px !important;
}

body.page-admin .tour-activities-panel {
    margin-top: 4px !important;
}

body.page-admin .tour-activities-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    padding-bottom: 14px !important;
    margin-bottom: 14px !important;
    border-bottom: 1px solid rgba(222, 204, 181, 0.66) !important;
}

body.page-admin .tour-activities-header h4 {
    margin: 0 !important;
    color: #17395d !important;
    font-size: 1rem !important;
    font-weight: 850 !important;
    letter-spacing: 0 !important;
}

body.page-admin .tour-activities-header .btn-secondary,
body.page-admin #addActivityButton {
    min-height: 40px !important;
    padding: 0 14px !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    border: 1px solid #b9c5d2 !important;
    color: #29445f !important;
    -webkit-text-fill-color: #29445f !important;
    box-shadow: 0 8px 18px rgba(21, 37, 58, 0.06) !important;
    font-weight: 800 !important;
}

body.page-admin .tour-activities-header .btn-secondary:hover,
body.page-admin #addActivityButton:hover {
    background: #eef2f4 !important;
    border-color: #8fa0af !important;
}

body.page-admin .activity-empty {
    background: #fffaf2 !important;
    border: 1px dashed #d9b98d !important;
    border-radius: 10px !important;
    color: #7a6a59 !important;
}

body.page-admin .activity-card {
    background: #ffffff !important;
    border: 1px solid #ead8bd !important;
    border-radius: 10px !important;
    box-shadow: 0 12px 26px rgba(21, 37, 58, 0.05) !important;
}

body.page-admin .activity-card-subtitle,
body.page-admin .activity-card-details,
body.page-admin .activity-image-preview-label {
    color: #6d7b8e !important;
}

body.page-admin .tour-current-image {
    display: grid !important;
    grid-template-columns: minmax(220px, 0.82fr) 1fr !important;
    align-items: center !important;
    gap: 18px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.page-admin .tour-current-image img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
    border-radius: 12px !important;
    border: 1px solid rgba(222, 204, 181, 0.78) !important;
    background: #ffffff !important;
    box-shadow: 0 16px 34px rgba(21, 37, 58, 0.12) !important;
}

body.page-admin .tour-file-upload {
    position: relative !important;
}

body.page-admin .tour-file-input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

body.page-admin .tour-file-label {
    min-height: 76px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    padding: 18px !important;
    border: 1.5px dashed #d3b58d !important;
    border-radius: 12px !important;
    background: #fffdf9 !important;
    color: #596a7c !important;
    -webkit-text-fill-color: #596a7c !important;
    font-size: 0.92rem !important;
    font-weight: 750 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    cursor: pointer !important;
    box-shadow: none !important;
}

body.page-admin .tour-file-label:hover {
    border-color: #ee7d55 !important;
    background: #fff7ee !important;
    color: #17395d !important;
    -webkit-text-fill-color: #17395d !important;
}

body.page-admin .tour-file-label i {
    display: inline-grid !important;
    place-items: center !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
    background: rgba(233, 101, 79, 0.12) !important;
    color: #e9654f !important;
}

body.page-admin .tour-modal-form .modal-buttons,
body.page-admin .activity-modal-content .modal-buttons {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 18px 26px !important;
    margin: 0 !important;
    background: linear-gradient(180deg, rgba(251, 249, 246, 0.9), #f7efe4) !important;
    border-top: 1px solid rgba(222, 204, 181, 0.72) !important;
    flex-shrink: 0 !important;
}

body.page-admin .tour-modal-form .modal-buttons .btn,
body.page-admin .activity-modal-content .modal-buttons .btn {
    min-height: 44px !important;
    padding: 0 20px !important;
    border-radius: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    font-size: 0.95rem !important;
    font-weight: 850 !important;
    line-height: 1 !important;
}

body.page-admin .tour-modal-form .modal-buttons .btn-primary,
body.page-admin .activity-modal-content .modal-buttons .btn-primary {
    background: linear-gradient(135deg, #ff9a62 0%, #ef6b50 48%, #d94d4c 100%) !important;
    border-color: transparent !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 14px 28px rgba(223, 88, 70, 0.28) !important;
}

body.page-admin .tour-modal-form .modal-buttons .btn-primary:hover,
body.page-admin .activity-modal-content .modal-buttons .btn-primary:hover {
    background: linear-gradient(135deg, #ffad78 0%, #f27457 46%, #c94243 100%) !important;
    transform: translateY(-1px) !important;
}

body.page-admin .tour-modal-form .modal-buttons .btn-danger,
body.page-admin .activity-modal-content .modal-buttons .btn-danger {
    background: #9f3434 !important;
    border-color: #9f3434 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 14px 28px rgba(132, 39, 39, 0.2) !important;
}

body.page-admin .tour-modal-form .modal-buttons .btn-danger:hover,
body.page-admin .activity-modal-content .modal-buttons .btn-danger:hover {
    background: #842727 !important;
    border-color: #842727 !important;
}

@media (max-width: 760px) {
    body.page-admin #tourModal .tour-modal-form,
    body.page-admin #activityModal .activity-modal-content {
        width: calc(100vw - 24px) !important;
        max-height: 94vh !important;
    }

    body.page-admin .tour-modal-form form {
        padding: 20px !important;
    }

    body.page-admin .tour-form-grid,
    body.page-admin .activity-form-grid {
        grid-template-columns: 1fr !important;
    }

    body.page-admin .tour-form-featured {
        padding-top: 0 !important;
    }

    body.page-admin .tour-current-image {
        grid-template-columns: 1fr !important;
    }

    body.page-admin .tour-activities-header,
    body.page-admin .tour-modal-form .modal-buttons,
    body.page-admin .activity-modal-content .modal-buttons {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    body.page-admin .tour-modal-form .modal-buttons .btn,
    body.page-admin .activity-modal-content .modal-buttons .btn,
    body.page-admin #addActivityButton {
        width: 100% !important;
    }
}

/* === End Premium Admin Tour Modal === */

/* === Activity Modal Alignment Fix === */
body.page-admin #activityModal .activity-modal-content {
    width: min(720px, calc(100vw - 40px)) !important;
    max-height: min(88vh, 760px) !important;
    border-radius: 14px !important;
    overflow: hidden !important;
}

body.page-admin #activityModal .tour-modal-header {
    min-height: 96px !important;
    padding: 22px 28px !important;
    flex: 0 0 auto !important;
}

body.page-admin #activityModal .tour-modal-header h3 {
    font-size: 1.35rem !important;
    line-height: 1.15 !important;
}

body.page-admin #activityModal .tour-modal-header h3 i {
    display: inline-grid !important;
    place-items: center !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    background: #15395f !important;
    color: #ffffff !important;
    font-size: 0.86rem !important;
}

body.page-admin #activityModal .modal-close-btn {
    width: 50px !important;
    height: 50px !important;
    flex: 0 0 50px !important;
}

body.page-admin #activityModal .activity-form-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 18px 20px !important;
    padding: 24px 28px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    background: #fbf9f6 !important;
}

body.page-admin #activityModal .activity-form-grid .tour-form-full {
    grid-column: 1 / -1 !important;
}

body.page-admin #activityModal .activity-form-grid .form-group {
    min-width: 0 !important;
    margin: 0 !important;
}

body.page-admin #activityModal .activity-form-grid label {
    margin-bottom: 8px !important;
    font-size: 0.8rem !important;
    line-height: 1.1 !important;
}

body.page-admin #activityModal .activity-form-grid input {
    min-height: 54px !important;
    padding: 12px 16px !important;
    font-size: 1rem !important;
    box-sizing: border-box !important;
}

body.page-admin #activityModal .activity-form-grid .form-group.tour-form-full:last-of-type {
    padding: 18px !important;
    background: rgba(255, 255, 255, 0.62) !important;
    border: 1px solid rgba(222, 204, 181, 0.64) !important;
    border-radius: 12px !important;
}

body.page-admin #activityModal .activity-file-upload .tour-file-label {
    min-height: 82px !important;
    justify-content: flex-start !important;
    padding: 18px 22px !important;
    border-radius: 10px !important;
}

body.page-admin #activityModal .form-hint {
    margin-top: 10px !important;
    font-size: 0.86rem !important;
}

body.page-admin #activityModal .activity-image-preview {
    margin-top: 14px !important;
}

body.page-admin #activityModal .activity-image-preview img {
    width: min(260px, 100%) !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
    border-radius: 10px !important;
}

body.page-admin #activityModal .modal-buttons {
    padding: 18px 28px !important;
    flex: 0 0 auto !important;
}

body.page-admin #activityModal .modal-buttons .btn {
    min-width: 132px !important;
    min-height: 46px !important;
    padding: 0 22px !important;
}

body.page-admin #activityModal .modal-buttons .btn-primary {
    min-width: 176px !important;
}

@media (max-width: 760px) {
    body.page-admin #activityModal .activity-modal-content {
        width: calc(100vw - 24px) !important;
        max-height: 92vh !important;
    }

    body.page-admin #activityModal .tour-modal-header,
    body.page-admin #activityModal .activity-form-grid,
    body.page-admin #activityModal .modal-buttons {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    body.page-admin #activityModal .activity-form-grid {
        grid-template-columns: 1fr !important;
    }

    body.page-admin #activityModal .modal-buttons {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    body.page-admin #activityModal .modal-buttons .btn {
        width: 100% !important;
        min-width: 0 !important;
    }
}

/* === End Activity Modal Alignment Fix === */

/* === Activity Modal Polish === */
body.page-admin #activityModal .activity-modal-content {
    background: #fbf9f6 !important;
}

body.page-admin #activityModal .tour-modal-header {
    background: #fbf9f6 !important;
    border-bottom: 1px solid rgba(222, 204, 181, 0.62) !important;
}

body.page-admin #activityModal .modal-close-btn {
    background: #f3f4f6 !important;
    border: 1px solid #e5e7eb !important;
    color: #64748b !important;
    box-shadow: none !important;
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease !important;
}

body.page-admin #activityModal .modal-close-btn:hover {
    background: #fff3ec !important;
    border-color: #f2c6ad !important;
    color: #334155 !important;
    transform: translateY(-1px) !important;
}

body.page-admin #activityModal .activity-form-grid label {
    color: #1e293b !important;
    -webkit-text-fill-color: #1e293b !important;
    font-size: 0.86rem !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    line-height: 1.25 !important;
    text-transform: none !important;
    margin: 0 0 6px !important;
}

body.page-admin #activityModal .activity-form-grid input {
    height: 56px !important;
    min-height: 56px !important;
    padding: 0.75rem 1rem !important;
    line-height: 1.4 !important;
    font-size: 1rem !important;
    color: #17395d !important;
    background: #ffffff !important;
    border: 1px solid #dccfbd !important;
    border-radius: 9px !important;
    box-shadow: none !important;
    vertical-align: middle !important;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease !important;
}

body.page-admin #activityModal .activity-form-grid input::placeholder {
    color: #7a7a7a !important;
    opacity: 1 !important;
    line-height: 1.4 !important;
}

body.page-admin #activityModal .activity-form-grid input:focus {
    border-color: #f97316 !important;
    box-shadow: 0 0 0 4px rgba(249, 115, 22, 0.16) !important;
    outline: none !important;
}

body.page-admin #activityModal .activity-form-grid .form-group.tour-form-full:last-of-type {
    padding: 20px !important;
    background: rgba(255, 255, 255, 0.68) !important;
    border: 1px solid rgba(222, 204, 181, 0.72) !important;
    border-radius: 13px !important;
}

body.page-admin #activityModal .activity-file-upload .tour-file-label {
    min-height: 104px !important;
    padding: 22px 28px !important;
    border: 1.5px dashed #d5ad7b !important;
    border-radius: 14px !important;
    background: #fffaf3 !important;
    color: #526173 !important;
    -webkit-text-fill-color: #526173 !important;
    font-size: 0.94rem !important;
    font-weight: 850 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease !important;
}

body.page-admin #activityModal .activity-file-upload .tour-file-label:hover {
    background: #fff4ea !important;
    border-color: #f97316 !important;
    color: #1e293b !important;
    -webkit-text-fill-color: #1e293b !important;
    box-shadow: 0 10px 24px rgba(249, 115, 22, 0.08) !important;
}

body.page-admin #activityModal .activity-file-upload .tour-file-label i {
    width: 40px !important;
    height: 40px !important;
    background: #ffe9e3 !important;
    color: #526173 !important;
    font-size: 1rem !important;
}

body.page-admin #activityModal .form-hint {
    color: #64748b !important;
    -webkit-text-fill-color: #64748b !important;
    line-height: 1.5 !important;
}

body.page-admin #activityModal .modal-buttons {
    background: linear-gradient(180deg, rgba(251, 249, 246, 0.96), #f9efe5) !important;
    border-top: 1px solid rgba(222, 204, 181, 0.72) !important;
    gap: 14px !important;
}

body.page-admin #activityModal .modal-buttons .btn {
    height: 52px !important;
    min-height: 52px !important;
    padding: 0 24px !important;
    border-radius: 12px !important;
    font-size: 1rem !important;
    font-weight: 850 !important;
    letter-spacing: 0 !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease !important;
}

body.page-admin #activityModal .modal-buttons .btn:hover {
    transform: translateY(-1px) !important;
}

body.page-admin #activityModal .modal-buttons .btn-danger,
body.page-admin #activityModal .modal-buttons .btn-primary {
    border-radius: 12px !important;
}

body.page-admin #activityModal .modal-buttons .btn-danger {
    background: #a93434 !important;
    border-color: #a93434 !important;
}

body.page-admin #activityModal .modal-buttons .btn-primary {
    background: linear-gradient(135deg, #ff9a62 0%, #f97355 45%, #e54d4d 100%) !important;
    border-color: transparent !important;
    box-shadow: 0 14px 30px rgba(229, 77, 77, 0.24) !important;
}

/* === End Activity Modal Polish === */

/* === Admin Booking Details Consistency === */
body.page-admin #viewModal .booking-view-modal {
    width: min(1480px, calc(100vw - 48px)) !important;
    max-height: 92vh !important;
    background: #ffffff !important;
    border: 1px solid rgba(216, 226, 242, 0.9) !important;
    border-radius: 14px !important;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.22) !important;
    color: #14395f !important;
}

body.page-admin #viewModal .modal-title-row {
    min-height: 86px !important;
    padding: 22px 28px !important;
    background: #ffffff !important;
    border-bottom: 1px solid rgba(216, 226, 242, 0.85) !important;
}

body.page-admin #viewModal .modal-title-row h3 {
    color: #14395f !important;
    -webkit-text-fill-color: #14395f !important;
    font-size: 1.35rem !important;
    font-weight: 850 !important;
}

body.page-admin #viewModal .modal-title-row h3 i {
    color: #14395f !important;
}

body.page-admin #viewModal .booking-detail-layout {
    display: grid !important;
    grid-template-columns: minmax(480px, 0.95fr) minmax(520px, 1fr) !important;
    max-height: calc(92vh - 86px) !important;
    overflow: hidden !important;
    background: #ffffff !important;
}

body.page-admin #viewModal .booking-photo-panel {
    min-height: calc(92vh - 86px) !important;
    background: #10251f !important;
    border-right: 1px solid rgba(216, 226, 242, 0.8) !important;
}

body.page-admin #viewModal .booking-photo-bg {
    display: none !important;
}

body.page-admin #viewModal .booking-photo-main {
    width: 100% !important;
    height: calc(92vh - 146px) !important;
    min-height: 520px !important;
    object-fit: cover !important;
    object-position: center !important;
    padding: 0 !important;
    background: #0f241f !important;
}

body.page-admin #viewModal .booking-photo-panel::after {
    background: linear-gradient(180deg, rgba(15, 23, 42, 0) 55%, rgba(15, 23, 42, 0.92) 100%) !important;
}

body.page-admin #viewModal .booking-photo-caption {
    bottom: 18px !important;
    left: 22px !important;
    right: 22px !important;
}

body.page-admin #viewModal .booking-photo-caption strong {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

body.page-admin #viewModal .booking-info-panel {
    max-height: calc(92vh - 86px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 28px !important;
    background: #ffffff !important;
    color: #14395f !important;
}

body.page-admin #viewModal .booking-detail-heading span {
    background: #eef3fa !important;
    border-color: #d8e2f2 !important;
    color: #467bb5 !important;
    -webkit-text-fill-color: #467bb5 !important;
}

body.page-admin #viewModal .booking-detail-heading h2,
body.page-admin #viewModal .booking-customer-box h4,
body.page-admin #viewModal .booking-request-box h4 {
    color: #14395f !important;
    -webkit-text-fill-color: #14395f !important;
}

body.page-admin #viewModal .booking-detail-heading p,
body.page-admin #viewModal .booking-customer-box p,
body.page-admin #viewModal .booking-request-box p {
    color: #5f6f82 !important;
    -webkit-text-fill-color: #5f6f82 !important;
}

body.page-admin #viewModal .booking-detail-item,
body.page-admin #viewModal .booking-customer-box,
body.page-admin #viewModal .booking-request-box,
body.page-admin #viewModal .admin-credential-viewer {
    background: #ffffff !important;
    border: 1px solid rgba(216, 226, 242, 0.88) !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.035) !important;
}

body.page-admin #viewModal .booking-detail-item span,
body.page-admin #viewModal .admin-credential-header span {
    color: #5f6f82 !important;
    -webkit-text-fill-color: #5f6f82 !important;
}

body.page-admin #viewModal .booking-detail-item span i,
body.page-admin #viewModal .booking-customer-box h4 i,
body.page-admin #viewModal .booking-request-box h4 i,
body.page-admin #viewModal .admin-credential-header span i {
    color: #14395f !important;
}

body.page-admin #viewModal .booking-detail-item strong,
body.page-admin #viewModal .booking-customer-box strong,
body.page-admin #viewModal .booking-request-box strong {
    color: #14395f !important;
    -webkit-text-fill-color: #14395f !important;
}

body.page-admin #viewModal .admin-breakdown-pill {
    background: #effaf9 !important;
    border: 1px solid #bde7e2 !important;
    color: #286a72 !important;
    -webkit-text-fill-color: #286a72 !important;
    font-weight: 800 !important;
}

body.page-admin #viewModal .admin-credential-header {
    background: #f7f9fb !important;
    border-bottom: 1px solid rgba(216, 226, 242, 0.88) !important;
}

body.page-admin #viewModal .admin-credential-open {
    background: #eef7fb !important;
    border-color: #c3ddeb !important;
    color: #467bb5 !important;
    -webkit-text-fill-color: #467bb5 !important;
}

body.page-admin #viewModal .admin-credential-img {
    max-height: 360px !important;
    background: #eef2f4 !important;
    padding: 12px !important;
}

body.page-admin #viewModal .admin-empty-text {
    color: #7b8794 !important;
    -webkit-text-fill-color: #7b8794 !important;
    font-style: italic !important;
}

body.page-admin #viewModal .modal-scroll-btn,
body.page-admin #viewModal .modal-close-btn {
    background: #f7f9fb !important;
    border: 1px solid #e5edf5 !important;
    color: #7b8794 !important;
    -webkit-text-fill-color: #7b8794 !important;
    box-shadow: none !important;
}

body.page-admin #viewModal .modal-scroll-btn:hover:not(:disabled),
body.page-admin #viewModal .modal-close-btn:hover {
    background: #eef3fa !important;
    color: #14395f !important;
    -webkit-text-fill-color: #14395f !important;
}

@media (max-width: 980px) {
    body.page-admin #viewModal .booking-detail-layout {
        grid-template-columns: 1fr !important;
        overflow-y: auto !important;
    }

    body.page-admin #viewModal .booking-photo-panel {
        min-height: 320px !important;
    }

    body.page-admin #viewModal .booking-photo-main {
        height: 320px !important;
        min-height: 320px !important;
    }

    body.page-admin #viewModal .booking-info-panel {
        max-height: none !important;
        overflow: visible !important;
    }
}

/* === End Admin Booking Details Consistency === */

/* === Premium Homepage About Section === */
body.page-home .about {
    padding: clamp(72px, 8vw, 108px) 0 !important;
    background: linear-gradient(180deg, #f9f6f0 0%, #f5f2eb 100%) !important;
}

body.page-home .about .container {
    width: min(1500px, calc(100% - 48px)) !important;
}

body.page-home .about-grid {
    display: grid !important;
    grid-template-columns: minmax(360px, 0.95fr) minmax(0, 1.55fr) !important;
    gap: clamp(34px, 4vw, 62px) !important;
    align-items: center !important;
    padding: clamp(18px, 2.2vw, 28px) !important;
    background: rgba(255, 255, 255, 0.9) !important;
    border: 1px solid rgba(226, 214, 197, 0.78) !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 40px rgba(15, 23, 42, 0.03) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

body.page-home .about-image {
    position: relative !important;
    overflow: hidden !important;
    min-height: clamp(320px, 28vw, 430px) !important;
    height: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: #efe7dc !important;
    box-shadow: none !important;
}

body.page-home .about-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: inherit !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 12px !important;
}

body.page-home .about-content {
    min-width: 0 !important;
}

body.page-home .about-content h2 {
    margin: 0 0 20px !important;
    color: #1f2933 !important;
    -webkit-text-fill-color: #1f2933 !important;
    font-size: clamp(2rem, 3.2vw, 3.15rem) !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
}

body.page-home .about-content p {
    max-width: 980px !important;
    margin: 0 0 18px !important;
    color: #5d6876 !important;
    -webkit-text-fill-color: #5d6876 !important;
    font-size: clamp(1rem, 1.15vw, 1.2rem) !important;
    line-height: 1.6 !important;
}

body.page-home .about-stats {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
    margin-top: clamp(28px, 3vw, 38px) !important;
}

body.page-home .about-stats .stat-item {
    padding: clamp(20px, 2vw, 28px) 18px !important;
    background: #ffffff !important;
    border: 1px solid rgba(216, 226, 242, 0.9) !important;
    border-radius: 10px !important;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.035) !important;
    text-align: center !important;
}

body.page-home .about-stats .stat-number {
    color: #ff5a5f !important;
    -webkit-text-fill-color: #ff5a5f !important;
    font-size: clamp(1rem, 1.05vw, 1.2rem) !important;
    line-height: 1.25 !important;
    font-weight: 850 !important;
}

@supports (-webkit-background-clip: text) {
    body.page-home .about-stats .stat-number {
        background: linear-gradient(135deg, #ff9a62 0%, #ff5a5f 58%, #d94d4c 100%) !important;
        -webkit-background-clip: text !important;
        background-clip: text !important;
        -webkit-text-fill-color: transparent !important;
    }
}

body.page-home .about-stats .stat-label {
    margin-top: 8px !important;
    color: #5f6f82 !important;
    -webkit-text-fill-color: #5f6f82 !important;
    font-size: 0.78rem !important;
    line-height: 1.35 !important;
    font-weight: 750 !important;
}

@media (max-width: 980px) {
    body.page-home .about-grid {
        grid-template-columns: 1fr !important;
    }

    body.page-home .about-image {
        min-height: 320px !important;
        aspect-ratio: 16 / 9 !important;
    }
}

@media (max-width: 640px) {
    body.page-home .about .container {
        width: min(100% - 24px, 1500px) !important;
    }

    body.page-home .about-grid {
        padding: 14px !important;
        gap: 24px !important;
    }

    body.page-home .about-image {
        min-height: 240px !important;
    }

    body.page-home .about-stats {
        grid-template-columns: 1fr !important;
    }
}

/* === End Premium Homepage About Section === */

/* === Gallery Image Button — prevent global button styles from applying === */
.post-image-button,
.post-image-button:hover,
.post-image-button:focus {
    background: #e8edf2 !important;
    border: 0 !important;
    box-shadow: none !important;
    color: inherit !important;
    -webkit-text-fill-color: unset !important;
    min-height: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

.post-image-button.image-failed {
    background: linear-gradient(135deg, #e8edf2, #f4f6f8) !important;
    min-height: 280px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
/* === End Gallery Image Button === */

/* === Tours Filter Bar — prevent global button/input overrides === */
.tours-filter-bar {
    background: rgba(255, 255, 255, 0.97) !important;
    border-bottom: 1px solid #d8e2f2 !important;
    box-shadow: 0 4px 16px rgba(20, 57, 95, 0.06) !important;
}

.filter-chip {
    background: #f8fafc !important;
    border: 1px solid #d8e2f2 !important;
    color: #475569 !important;
    -webkit-text-fill-color: #475569 !important;
    box-shadow: none !important;
    min-height: unset !important;
    padding: 7px 14px !important;
    border-radius: 20px !important;
    font-size: 0.82rem !important;
}

.filter-chip:hover {
    background: #eef5ff !important;
    border-color: #467bb5 !important;
    color: #467bb5 !important;
    -webkit-text-fill-color: #467bb5 !important;
    box-shadow: none !important;
    transform: none !important;
}

.filter-chip.active {
    background: #467bb5 !important;
    border-color: #467bb5 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(70, 123, 181, 0.25) !important;
}

.tours-search-wrap input,
.tours-sort-wrap select {
    background: #f8fafc !important;
    border: 1px solid #d8e2f2 !important;
    border-radius: 10px !important;
    color: #14395f !important;
    box-shadow: none !important;
}

.tours-search-wrap input:focus,
.tours-sort-wrap select:focus {
    border-color: #467bb5 !important;
    box-shadow: 0 0 0 3px rgba(70, 123, 181, 0.12) !important;
    background: #ffffff !important;
}

.search-clear {
    background: #e2e8f0 !important;
    border: none !important;
    color: #475569 !important;
    box-shadow: none !important;
    min-height: unset !important;
    width: 28px !important;
    height: 28px !important;
    padding: 0 !important;
    border-radius: 50% !important;
}

.search-clear:hover {
    background: #cbd5e1 !important;
    transform: none !important;
}
/* === End Tours Filter Bar === */

/* ═══════════════════════════════════════════════════════════════════════════════
   NAVBAR / HEADER — Consistent horizontal layout across ALL pages
   ═══════════════════════════════════════════════════════════════════════════════ */

/* Header bar */
.header {
    min-height: auto !important;
}

.header-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    min-height: 72px !important;
    padding: 10px 20px !important;
    flex-wrap: nowrap !important;
}

/* Logo: icon + text side-by-side, never stacked */
.header-inner .logo,
body.page-client .logo,
body.page-client .header-inner .logo {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    flex-shrink: 0 !important;
    text-decoration: none !important;
}

/* Nav links row */
.header-inner .nav,
body.page-client .nav {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    flex: 1 !important;
}

body.page-client .nav a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 40px !important;
    padding: 0 14px !important;
    white-space: nowrap !important;
}

/* Mobile: allow wrapping but keep horizontal alignment */
@media (max-width: 940px) {
    .header-inner,
    body.page-client .header-inner {
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        min-height: auto !important;
        gap: 12px !important;
    }

    .header-inner .logo,
    body.page-client .logo {
        flex-direction: row !important;
        align-items: center !important;
    }

    .header-inner .nav,
    body.page-client .nav {
        width: auto !important;
        flex: 1 !important;
        justify-content: flex-end !important;
        gap: 6px !important;
    }

    body.page-client .nav a {
        padding: 0 10px !important;
        min-height: 36px !important;
        font-size: 0.82rem !important;
    }
}

@media (max-width: 780px) {
    .header-inner,
    body.page-client .header-inner {
        flex-wrap: wrap !important;
        min-height: auto !important;
        gap: 12px !important;
    }

    .header-inner .nav,
    body.page-client .nav {
        width: 100% !important;
        justify-content: center !important;
        gap: 6px !important;
    }

    body.page-client .nav a {
        padding: 0 10px !important;
        min-height: 36px !important;
        font-size: 0.82rem !important;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════════
   TOURS FILTER BAR — Clean layout
   ═══════════════════════════════════════════════════════════════════════════════ */

.tours-filter-bar {
    position: sticky !important;
    top: 0 !important;
    z-index: 100 !important;
    background: rgba(255, 255, 255, 0.97) !important;
    border-bottom: 1px solid #d8e2f2 !important;
    box-shadow: 0 4px 16px rgba(20, 57, 95, 0.06) !important;
    padding: 16px 0 !important;
    backdrop-filter: blur(10px) !important;
}

.tours-filter-bar .container {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

.tours-filter-top {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    flex-wrap: nowrap !important;
}

.tours-search-wrap {
    position: relative !important;
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
}

.tours-search-wrap > i {
    position: absolute !important;
    left: 14px !important;
    color: #64748b !important;
    font-size: 0.9rem !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

.tours-search-wrap input {
    width: 100% !important;
    padding: 12px 40px 12px 40px !important;
    border: 1px solid #d8e2f2 !important;
    border-radius: 10px !important;
    background: #f8fafc !important;
    font-size: 0.92rem !important;
    color: #14395f !important;
    min-height: unset !important;
    box-shadow: none !important;
}

.tours-search-wrap input:focus {
    border-color: #467bb5 !important;
    box-shadow: 0 0 0 3px rgba(70, 123, 181, 0.12) !important;
    background: #ffffff !important;
}

.tours-sort-wrap {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    min-width: 200px !important;
}

.tours-sort-wrap > i {
    position: absolute !important;
    left: 14px !important;
    color: #64748b !important;
    font-size: 0.9rem !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

.tours-sort-wrap select {
    width: 100% !important;
    padding: 12px 36px 12px 40px !important;
    border: 1px solid #d8e2f2 !important;
    border-radius: 10px !important;
    background: #f8fafc !important;
    font-size: 0.92rem !important;
    color: #14395f !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    min-height: unset !important;
    box-shadow: none !important;
}

.tours-sort-wrap select:focus {
    border-color: #467bb5 !important;
    box-shadow: 0 0 0 3px rgba(70, 123, 181, 0.12) !important;
}

.tours-sort-wrap::after {
    content: "\f107" !important;
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    position: absolute !important;
    right: 14px !important;
    color: #64748b !important;
    font-size: 0.8rem !important;
    pointer-events: none !important;
}

/* Filter chips row: label + chips on same line */
.tours-filter-bottom {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}

.filter-label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    color: #14395f !important;
    white-space: nowrap !important;
}

.tours-filter-chips {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}

/* Each filter chip: icon + text centered on same line */
.filter-chip {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 7px 14px !important;
    border: 1px solid #d8e2f2 !important;
    border-radius: 20px !important;
    background: #f8fafc !important;
    color: #475569 !important;
    -webkit-text-fill-color: #475569 !important;
    font-size: 0.82rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    line-height: 1 !important;
    min-height: unset !important;
    box-shadow: none !important;
    transition: all 0.2s ease !important;
}

.filter-chip i {
    font-size: 0.78rem !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
}

.filter-chip:hover {
    background: #eef5ff !important;
    border-color: #467bb5 !important;
    color: #467bb5 !important;
    -webkit-text-fill-color: #467bb5 !important;
    box-shadow: none !important;
    transform: none !important;
}

.filter-chip.active {
    background: #467bb5 !important;
    border-color: #467bb5 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(70, 123, 181, 0.25) !important;
}

.filter-chip.active i {
    color: #ffffff !important;
}

/* Result count below chips */
.tours-result-count {
    width: 100% !important;
    margin-top: 4px !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    color: #467bb5 !important;
}

.search-clear {
    position: absolute !important;
    right: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    border: none !important;
    border-radius: 50% !important;
    background: #e2e8f0 !important;
    color: #475569 !important;
    font-size: 0.75rem !important;
    cursor: pointer !important;
    min-height: unset !important;
    padding: 0 !important;
    box-shadow: none !important;
}

.search-clear:hover {
    background: #cbd5e1 !important;
    transform: none !important;
}

@media (max-width: 768px) {
    .tours-filter-top {
        flex-direction: column !important;
        gap: 10px !important;
    }

    .tours-sort-wrap {
        min-width: 100% !important;
        width: 100% !important;
    }

    .tours-filter-bottom {
        gap: 8px !important;
    }

    .filter-chip {
        padding: 6px 10px !important;
        font-size: 0.78rem !important;
    }
}
/* ═══════════════════════════════════════════════════════════════════════════════ */

/* === Tour Review Cards — prevent global overrides === */
.tour-review-card {
    padding: 20px !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    box-shadow: none !important;
}

.tour-review-card:hover {
    box-shadow: 0 4px 16px rgba(20, 57, 95, 0.08) !important;
}

.tour-review-header {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
}

.tour-review-avatar {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    border-radius: 50% !important;
    background: linear-gradient(135deg, #467bb5, #14395f) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-weight: 800 !important;
    font-size: 0.95rem !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.tour-review-meta {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    align-items: flex-start !important;
}

.tour-review-meta strong {
    font-size: 0.92rem !important;
    color: #14395f !important;
    -webkit-text-fill-color: #14395f !important;
    text-align: left !important;
}

.tour-review-meta span {
    font-size: 0.78rem !important;
    color: #94a3b8 !important;
    -webkit-text-fill-color: #94a3b8 !important;
    font-weight: 500 !important;
    text-align: left !important;
}

.tour-review-stars {
    display: flex !important;
    align-items: center !important;
    gap: 2px !important;
    flex-shrink: 0 !important;
}

.tour-review-stars i {
    color: #f59e0b !important;
    -webkit-text-fill-color: #f59e0b !important;
    font-size: 0.88rem !important;
}

.tour-review-comment {
    margin: 12px 0 0 !important;
    padding-top: 12px !important;
    border-top: 1px solid #f1f5f9 !important;
    font-size: 0.9rem !important;
    color: #475569 !important;
    -webkit-text-fill-color: #475569 !important;
    line-height: 1.65 !important;
    text-align: left !important;
}

.tour-reviews-summary {
    padding: 16px 20px !important;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    box-shadow: none !important;
}

.tour-reviews-avg-number {
    font-size: 1.8rem !important;
    font-weight: 900 !important;
    color: #14395f !important;
    -webkit-text-fill-color: #14395f !important;
}

.tour-reviews-avg-stars i {
    color: #f59e0b !important;
    -webkit-text-fill-color: #f59e0b !important;
}
/* === End Tour Review Cards === */

/* === Auth pages logo icon — keep umbrella white on navy background === */
.auth-logo-sm .fa-umbrella-beach,
body.page-auth .fa-umbrella-beach,
body.page-auth .auth-logo-sm .fa-umbrella-beach {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* === Auth logo icon box — force navy background === */
.auth-logo-icon-box,
.auth-logo-icon-box.auth-logo-icon-box {
    background: #1e3a6e !important;
    border: none !important;
    box-shadow: 0 3px 10px rgba(30,58,110,0.25) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

.auth-logo-icon-box i,
.auth-logo-icon-box .fa-umbrella-beach {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background: none !important;
    -webkit-background-clip: unset !important;
    background-clip: unset !important;
}
