/**
 * Theme Dark - Improvements
 * Additional styles to improve visibility and contrast in dark theme
 * 
 * @package TablyClub
 */

/* ========== DARK THEME SPECIFIC IMPROVEMENTS ========== */

/* Better contrasts for cards in dark theme */
.tc-theme-dark .tc-exp-card,
.tc-theme-dark .tc-blog-card,
.tc-theme-dark .tc-latest-exp-card {
    background: #1a1a1a !important;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.tc-theme-dark .tc-exp-card:hover,
.tc-theme-dark .tc-blog-card:hover,
.tc-theme-dark .tc-latest-exp-card:hover {
    background: #222 !important;
    border-color: rgba(201, 168, 124, 0.3);
    box-shadow: 0 8px 40px rgba(201, 168, 124, 0.15) !important;
}

/* Improve text visibility in dark cards */
.tc-theme-dark .tc-exp-card__content,
.tc-theme-dark .tc-blog-card__content,
.tc-theme-dark .tc-latest-exp-card__content {
    color: #e0e0e0;
}

.tc-theme-dark .tc-exp-card__title a,
.tc-theme-dark .tc-blog-card__title a,
.tc-theme-dark .tc-latest-exp-card__title a {
    color: #f8f8f8 !important;
}

.tc-theme-dark .tc-exp-card__title a:hover,
.tc-theme-dark .tc-blog-card__title a:hover,
.tc-theme-dark .tc-latest-exp-card__title a:hover {
    color: #c9a87c !important;
}

/* Improve excerpt/description visibility */
.tc-theme-dark .tc-exp-excerpt,
.tc-theme-dark .tc-blog-card__excerpt,
.tc-theme-dark .tc-latest-exp-card__excerpt {
    color: #b0b0b0 !important;
}

/* Meta information */
.tc-theme-dark .tc-exp-meta,
.tc-theme-dark .tc-blog-card__meta {
    color: #909090 !important;
}

/* Price badges in dark theme */
.tc-theme-dark .tc-exp-price-badge {
    background: linear-gradient(135deg, #c9a87c 0%, #b8976b 100%) !important;
    color: #0d0d0d !important;
    font-weight: bold;
}

/* FAQ section in dark theme */
.tc-theme-dark .tc-faq-item {
    background: #1a1a1a;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.tc-theme-dark .tc-faq-question {
    color: #f8f8f8;
}

.tc-theme-dark .tc-faq-answer {
    color: #b0b0b0;
}

/* How It Works cards in dark theme */
.tc-theme-dark .tc-how-card {
    background: #1a1a1a;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.tc-theme-dark .tc-how-card:hover {
    background: #222;
    border-color: rgba(201, 168, 124, 0.3);
    box-shadow: 0 8px 30px rgba(201, 168, 124, 0.15);
}

.tc-theme-dark .tc-how-card__number {
    color: #c9a87c;
}

.tc-theme-dark .tc-how-card__title {
    color: #f8f8f8;
}

.tc-theme-dark .tc-how-card__description {
    color: #b0b0b0;
}

/* Testimonials in dark theme */
.tc-theme-dark .tc-testimonial {
    background: #1a1a1a;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.tc-theme-dark .tc-testimonial__text {
    color: #e0e0e0;
}

.tc-theme-dark .tc-testimonial__author {
    color: #b0b0b0;
}

/* Footer improvements - Warm Graphite background (color-5 from palette) */
.tc-theme-dark .tc-footer {
    background: #2a2a2a !important; /* Warm Graphite */ /* Softer than pure black */
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

/* Footer links softer color */
.tc-theme-dark .tc-footer a {
    color: #b0b0b0 !important;
}

.tc-theme-dark .tc-footer a:hover {
    color: #c9a87c !important;
}

/* Footer headings */
.tc-theme-dark .tc-footer h3,
.tc-theme-dark .tc-footer h4 {
    color: #d0d0d0 !important;
}

/* Subscribe form - light subtle background for better contrast */
.tc-theme-dark .tc-footer input[type="email"],
.tc-theme-dark .tc-footer input[type="text"],
.tc-theme-dark .tc-subscribe-form input {
    background: rgba(255, 255, 255, 0.08) !important; /* Light subtle */
    color: #f8f8f8 !important;
    border: 1px solid rgba(201, 168, 124, 0.3) !important;
    transition: all 0.3s ease;
}

.tc-theme-dark .tc-footer input::placeholder,
.tc-theme-dark .tc-subscribe-form input::placeholder {
    color: rgba(248, 248, 248, 0.6) !important;
    opacity: 1;
}

.tc-theme-dark .tc-footer input:focus,
.tc-theme-dark .tc-subscribe-form input:focus {
    background: rgba(255, 255, 255, 0.12) !important;
    border-color: #c9a87c !important;
    box-shadow: 0 0 0 3px rgba(201, 168, 124, 0.2) !important;
    outline: none;
}

/* Subscribe button in footer */
.tc-theme-dark .tc-footer button[type="submit"],
.tc-theme-dark .tc-subscribe-form button {
    background: linear-gradient(135deg, #c9a87c 0%, #b8976b 100%) !important;
    color: #0d0d0d !important;
    border: none !important;
    font-weight: 600;
}

.tc-theme-dark .tc-footer button[type="submit"]:hover,
.tc-theme-dark .tc-subscribe-form button:hover {
    background: linear-gradient(135deg, #d4b389 0%, #c3a476 100%) !important;
    box-shadow: 0 4px 15px rgba(201, 168, 124, 0.3) !important;
    transform: translateY(-1px);
}

/* Footer text elements */
.tc-theme-dark .tc-footer p {
    color: #b0b0b0 !important;
}

.tc-theme-dark .tc-footer__copyright {
    color: #909090 !important;
}

/* Footer sections separation */
.tc-theme-dark .tc-footer__main {
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

/* ========== SINGLE POST/EXPERIENCE HEADERS ========== */

/* ALL HEADERS - Dark theme adjustments SENZA sovrascrivere customizer */
.tc-theme-dark .tc-archive-hero,
.tc-theme-dark .tc-blog-header,
.tc-theme-dark .tc-blog-header.tc-archive-hero,
.tc-theme-dark .tc-single-experience-hero,
.tc-theme-dark .tc-single-experience-hero.entry-header,
.tc-theme-dark .tc-single-hero,
.tc-theme-dark .tc-single-hero.entry-header,
body.single .tc-theme-dark .entry-header {
    /* RIMOSSO background hardcoded - usa customizer */
    border-bottom: 1px solid rgba(201, 168, 124, 0.15);
}

/* Text shadow per leggibilità su backgrounds scuri */
.tc-theme-dark .tc-archive-hero h1,
.tc-theme-dark .tc-blog-header h1,
.tc-theme-dark .tc-blog-header__title,
.tc-theme-dark .tc-single-experience-hero h1,
.tc-theme-dark .tc-single-hero h1 {
    /* Color usa customizer - solo text-shadow per leggibilità */
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

/* Experience meta items */
.tc-theme-dark .tc-experience-meta,
.tc-theme-dark .tc-meta-item {
    color: #b8b8b8 !important;
}

.tc-theme-dark .tc-meta-price {
    color: #c9a87c !important;
    font-weight: 600;
}

.tc-theme-dark .tc-meta-separator {
    color: rgba(201, 168, 124, 0.4) !important;
}

/* Single post content area - NO backgrounds for seamless dark theme */
.tc-theme-dark .tc-blog-grid-section,
.tc-theme-dark .tc-experience-content,
.tc-theme-dark .tc-single-content {
    background: transparent !important;
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
}

/* Single post article - NO backgrounds (usa customizer) */
.tc-theme-dark article.post,
.tc-theme-dark article.tc_experience,
.tc-theme-dark .tc-single-post {
    /* RIMOSSO background - container grigio non voluto */
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
}

/* Entry content - UNIFIED con experiences (testo chiaro) */
.tc-theme-dark .entry-content,
.tc-theme-dark .tc-single-post__content {
    color: #e0e0e0 !important;
}

.tc-theme-dark .entry-content h1,
.tc-theme-dark .entry-content h2,
.tc-theme-dark .entry-content h3,
.tc-theme-dark .entry-content h4,
.tc-theme-dark .entry-content h5,
.tc-theme-dark .entry-content h6,
.tc-theme-dark .tc-single-post__content h1,
.tc-theme-dark .tc-single-post__content h2,
.tc-theme-dark .tc-single-post__content h3 {
    color: #f8f8f8 !important;
}

.tc-theme-dark .entry-content p,
.tc-theme-dark .entry-content li,
.tc-theme-dark .entry-content span,
.tc-theme-dark .tc-single-post__content p,
.tc-theme-dark .tc-single-post__content li {
    color: #e0e0e0 !important;
}

.tc-theme-dark .entry-content a,
.tc-theme-dark .tc-single-post__content a {
    color: #c9a87c !important;
    text-decoration: underline;
    text-decoration-color: rgba(201, 168, 124, 0.4);
}

.tc-theme-dark .entry-content a:hover,
.tc-theme-dark .tc-single-post__content a:hover {
    color: #d4b389 !important;
    text-decoration-color: rgba(212, 179, 137, 0.6);
}

/* Single post footer/tags */
.tc-theme-dark .tc-single-post__footer,
.tc-theme-dark .tc-tags,
.tc-theme-dark .tc-tags-label {
    color: #e0e0e0 !important;
}

.tc-theme-dark .tc-single-post__footer a,
.tc-theme-dark .tc-tags a {
    color: #c9a87c !important;
}

/* Experience content specific */
.tc-theme-dark .tc-experience-main p,
.tc-theme-dark .tc-experience-main li,
.tc-theme-dark .tc-experience-description,
.tc-theme-dark .tc-included-list li,
.tc-theme-dark .tc-important-list li {
    color: #e0e0e0 !important;
}

/* Mobile experience sections - dark theme backgrounds */
.tc-theme-dark .tc-experience-description,
.tc-theme-dark .tc-experience-included,
.tc-theme-dark .tc-experience-important {
    background: transparent !important; /* ✅ NO rettangoli */
    border: none !important; /* ✅ NO border */
    padding: 0 !important;
}

/* Mobile list icon backgrounds */
.tc-theme-dark .tc-included-list li span:first-child,
.tc-theme-dark .tc-important-list li span:first-child {
    background: transparent !important; /* ✅ NO background */
}

/* Experience booking sidebar */
.tc-theme-dark .tc-booking-sidebar {
    background: rgba(26, 26, 26, 0.9) !important;
    border: 1px solid rgba(201, 168, 124, 0.25);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5);
}

.tc-theme-dark .tc-booking-sidebar h3,
.tc-theme-dark .tc-booking-sidebar h4 {
    color: #f8f8f8 !important;
}

.tc-theme-dark .tc-booking-sidebar label {
    color: #d0d0d0 !important;
}

/* Booking sidebar inputs - dark with light text */
.tc-theme-dark .tc-booking-sidebar input[type="text"],
.tc-theme-dark .tc-booking-sidebar input[type="email"],
.tc-theme-dark .tc-booking-sidebar input[type="tel"],
.tc-theme-dark .tc-booking-sidebar input[type="number"],
.tc-theme-dark .tc-booking-sidebar textarea,
.tc-theme-dark .tc-booking-sidebar select {
    background: rgba(42, 42, 42, 0.8) !important;
    color: #f8f8f8 !important;
    border-color: rgba(201, 168, 124, 0.25) !important;
}

.tc-theme-dark .tc-booking-sidebar input::placeholder,
.tc-theme-dark .tc-booking-sidebar textarea::placeholder {
    color: rgba(248, 248, 248, 0.5) !important;
}

.tc-theme-dark .tc-booking-sidebar input:focus,
.tc-theme-dark .tc-booking-sidebar textarea:focus,
.tc-theme-dark .tc-booking-sidebar select:focus {
    background: rgba(42, 42, 42, 0.9) !important;
    border-color: #c9a87c !important;
    box-shadow: 0 0 0 3px rgba(201, 168, 124, 0.15) !important;
}

/* Booking messages */
.tc-theme-dark .tc-booking-message.success,
.tc-theme-dark #booking-message.success {
    background: rgba(40, 167, 69, 0.15) !important;
    color: #5cd682 !important;
    border-color: rgba(92, 214, 130, 0.3) !important;
}

.tc-theme-dark .tc-booking-message.error,
.tc-theme-dark #booking-message.error {
    background: rgba(220, 53, 69, 0.15) !important;
    color: #ff6b7a !important;
    border-color: rgba(255, 107, 122, 0.3) !important;
}

/* Form fields in dark theme */
.tc-theme-dark .tc-form-group input:hover {
    background: rgba(42, 42, 42, 0.8) !important;
}

.tc-theme-dark .tc-form-group input:disabled {
    background: rgba(26, 26, 26, 0.5) !important;
    color: #666 !important;
}

/* Experience content area backgrounds */
.tc-theme-dark .tc-experience-content {
    background: transparent !important;
}

.tc-theme-dark .tc-important-list li {
    background: transparent !important; /* ✅ NO rettangoli */
    border: none !important; /* ✅ NO border */
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important; /* ✅ Solo linea separatore sottile */
    color: #e0e0e0 !important;
}

.tc-theme-dark .tc-included-list li {
    background: transparent !important; /* ✅ NO rettangoli */
    border: none !important; /* ✅ NO border */
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important; /* ✅ Solo linea separatore sottile */
    color: #e0e0e0 !important;
}

.tc-theme-dark .tc-price-summary {
    background: rgba(26, 26, 26, 0.8) !important;
    border: 1px solid rgba(201, 168, 124, 0.25) !important;
}

.tc-theme-dark .tc-price-summary * {
    color: #f8f8f8 !important;
}

/* Gallery and media captions */
.tc-theme-dark .tc-gallery-item figcaption,
.tc-theme-dark .wp-caption-text,
.tc-theme-dark .tc-image-caption {
    color: #d0d0d0 !important;
    background: rgba(13, 13, 13, 0.8) !important;
}

/* ========== BOOKING FORM DARK THEME ========== */

/* Booking form wrapper - dark instead of white */
.tc-theme-dark .tc-booking-form-wrapper,
.tc-theme-dark .tc-booking-widget {
    background: rgba(26, 26, 26, 0.9) !important;
    border: 1px solid rgba(201, 168, 124, 0.25) !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5) !important;
}

.tc-theme-dark .tc-booking-form-wrapper h2,
.tc-theme-dark .tc-booking-form-wrapper h3,
.tc-theme-dark .tc-booking-widget h2,
.tc-theme-dark .tc-booking-widget h3 {
    color: #f8f8f8 !important;
}

/* Booking form inputs */
.tc-theme-dark .tc-booking-form input,
.tc-theme-dark .tc-booking-form select,
.tc-theme-dark .tc-booking-form textarea,
.tc-theme-dark .tc-booking-widget input,
.tc-theme-dark .tc-booking-widget select,
.tc-theme-dark .tc-booking-widget textarea {
    background: rgba(42, 42, 42, 0.8) !important;
    color: #f8f8f8 !important;
    border-color: rgba(201, 168, 124, 0.25) !important;
}

.tc-theme-dark .tc-booking-form input::placeholder,
.tc-theme-dark .tc-booking-form textarea::placeholder,
.tc-theme-dark .tc-booking-widget input::placeholder,
.tc-theme-dark .tc-booking-widget textarea::placeholder {
    color: rgba(248, 248, 248, 0.5) !important;
}

.tc-theme-dark .tc-booking-form label,
.tc-theme-dark .tc-booking-widget label {
    color: #d0d0d0 !important;
}

/* Booking form buttons */
.tc-theme-dark .tc-booking-form button[type="submit"],
.tc-theme-dark .tc-booking-widget button[type="submit"],
.tc-theme-dark .tc-btn-book {
    background: linear-gradient(135deg, #c9a87c 0%, #b8976b 100%) !important;
    color: #0d0d0d !important;
    border: none !important;
}

.tc-theme-dark .tc-booking-form button[type="submit"]:hover,
.tc-theme-dark .tc-booking-widget button[type="submit"]:hover,
.tc-theme-dark .tc-btn-book:hover {
    background: linear-gradient(135deg, #d4b389 0%, #c3a476 100%) !important;
    box-shadow: 0 4px 15px rgba(201, 168, 124, 0.3) !important;
}

/* Booking info card */
.tc-theme-dark .tc-booking-info-card {
    background: rgba(26, 26, 26, 0.7) !important;
    border: 1px solid rgba(201, 168, 124, 0.15) !important;
}

.tc-theme-dark .tc-booking-info-card h3,
.tc-theme-dark .tc-booking-info-card h4 {
    color: #f8f8f8 !important;
}

.tc-theme-dark .tc-booking-info-card p,
.tc-theme-dark .tc-booking-info-card li {
    color: #e0e0e0 !important;
}

/* ========== FLATPICKR CALENDAR DARK THEME ========== */

/* Flatpickr container */
.tc-theme-dark .flatpickr-calendar {
    background: rgba(26, 26, 26, 0.98) !important;
    border: 1px solid rgba(201, 168, 124, 0.3) !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.6) !important;
}

/* Month navigation */
.tc-theme-dark .flatpickr-months {
    background: rgba(42, 42, 42, 0.8) !important;
    border-bottom: 1px solid rgba(201, 168, 124, 0.2) !important;
}

.tc-theme-dark .flatpickr-current-month,
.tc-theme-dark .flatpickr-month {
    color: #f8f8f8 !important;
}

.tc-theme-dark .flatpickr-prev-month,
.tc-theme-dark .flatpickr-next-month {
    color: #c9a87c !important;
    fill: #c9a87c !important;
}

.tc-theme-dark .flatpickr-prev-month:hover,
.tc-theme-dark .flatpickr-next-month:hover {
    color: #d4b389 !important;
    fill: #d4b389 !important;
}

/* Weekdays */
.tc-theme-dark .flatpickr-weekdays {
    background: rgba(42, 42, 42, 0.5) !important;
}

.tc-theme-dark .flatpickr-weekday {
    color: #b8b8b8 !important;
}

/* Days */
.tc-theme-dark .flatpickr-day {
    color: #e0e0e0 !important;
    border-color: rgba(201, 168, 124, 0.1) !important;
}

.tc-theme-dark .flatpickr-day:hover {
    background: rgba(201, 168, 124, 0.2) !important;
    border-color: rgba(201, 168, 124, 0.3) !important;
    color: #f8f8f8 !important;
}

.tc-theme-dark .flatpickr-day.selected,
.tc-theme-dark .flatpickr-day.startRange,
.tc-theme-dark .flatpickr-day.endRange {
    background: #c9a87c !important;
    border-color: #c9a87c !important;
    color: #0d0d0d !important;
}

.tc-theme-dark .flatpickr-day.today {
    border-color: #c9a87c !important;
    background: rgba(201, 168, 124, 0.15) !important;
    color: #f8f8f8 !important;
}

.tc-theme-dark .flatpickr-day.disabled,
.tc-theme-dark .flatpickr-day.flatpickr-disabled {
    color: #555 !important;
}

/* Time picker (if used) */
.tc-theme-dark .flatpickr-time {
    border-top: 1px solid rgba(201, 168, 124, 0.2) !important;
}

.tc-theme-dark .flatpickr-time input,
.tc-theme-dark .flatpickr-time .flatpickr-time-separator {
    color: #e0e0e0 !important;
}

.tc-theme-dark .flatpickr-am-pm {
    color: #e0e0e0 !important;
}

/* Section titles in dark theme - ensure good contrast */
.tc-theme-dark .tc-section__title,
.tc-theme-dark h2.tc-section__title {
    color: #f8f8f8 !important;
}

.tc-theme-dark .tc-section__subtitle,
.tc-theme-dark .tc-latest-experiences__subtitle {
    color: #b0b0b0 !important;
}

/* Stats section in dark theme */
.tc-theme-dark .tc-stat__number {
    color: #c9a87c !important;
}

.tc-theme-dark .tc-stat__label {
    color: #b0b0b0 !important;
}

/* Gallery in dark theme */
.tc-theme-dark .tc-slideshow__caption {
    background: rgba(13, 13, 13, 0.85);
    color: #f8f8f8;
}

/* Buttons in dark theme - Natural wood effect */
.tc-theme-dark .tc-btn--primary {
    background: linear-gradient(135deg, #c9a87c 0%, #b8976b 100%) !important;
    color: #0d0d0d !important;
    font-weight: 600;
    position: relative;
    overflow: hidden;
}

/* Wood grain texture simulation */
.tc-theme-dark .tc-btn--primary::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        repeating-linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.03) 0px,
            transparent 1px,
            transparent 2px,
            rgba(255, 255, 255, 0.03) 3px
        );
    pointer-events: none;
    opacity: 0.6;
}

.tc-theme-dark .tc-btn--primary:hover {
    background: linear-gradient(135deg, #d4b389 0%, #c3a476 100%) !important;
    color: #000 !important;
    box-shadow: 0 6px 30px rgba(201, 168, 124, 0.35);
    transform: translateY(-1px);
}

.tc-theme-dark .tc-btn--secondary {
    border-color: #c9a87c !important;
    color: #c9a87c !important;
}

.tc-theme-dark .tc-btn--secondary:hover {
    background: linear-gradient(135deg, #c9a87c 0%, #b8976b 100%) !important;
    color: #0d0d0d !important;
}

/* Hero in dark theme - better text visibility */
.tc-theme-dark .tc-hero-title {
    color: #f8f8f8 !important;
    text-shadow: 0 2px 20px rgba(0, 0, 0, 0.6);
}

.tc-theme-dark .tc-hero-subtitle {
    color: #e0e0e0 !important;
    opacity: 0.95;
}

/* Improve form inputs in dark theme */
.tc-theme-dark input[type="text"],
.tc-theme-dark input[type="email"],
.tc-theme-dark input[type="url"],
.tc-theme-dark input[type="number"],
.tc-theme-dark textarea,
.tc-theme-dark select {
    background: #1a1a1a;
    border-color: rgba(255, 255, 255, 0.15);
    color: #f8f8f8;
}

.tc-theme-dark input[type="text"]:focus,
.tc-theme-dark input[type="email"]:focus,
.tc-theme-dark input[type="url"]:focus,
.tc-theme-dark input[type="number"]:focus,
.tc-theme-dark textarea:focus,
.tc-theme-dark select:focus {
    border-color: #c9a87c;
    box-shadow: 0 0 0 3px rgba(201, 168, 124, 0.1);
}

/* Scrollbar styling for dark theme */
.tc-theme-dark ::-webkit-scrollbar {
    width: 12px;
    height: 12px;
}

.tc-theme-dark ::-webkit-scrollbar-track {
    background: #1a1a1a;
}

.tc-theme-dark ::-webkit-scrollbar-thumb {
    background: #2a2a2a;
    border-radius: 6px;
}

.tc-theme-dark ::-webkit-scrollbar-thumb:hover {
    background: #3a3a3a;
}

/* Ensure body background is consistent */
.tc-theme-dark {
    background-color: #0d0d0d;
}

/* Better separation between sections */
.tc-theme-dark .tc-section + .tc-section {
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}
