/*
 * ============================================================
 *  CUSTOM.CSS — Paradise Costa Rica Theme Overrides
 * ============================================================
 *  Load this LAST in your <head> to override any default styles.
 *  Uncomment and change values as needed.
 *
 *  <link rel="stylesheet" href="<?= SITE_URL ?>/assets/css/style.css">
 *  <link rel="stylesheet" href="<?= SITE_URL ?>/assets/css/slot-calendar.css">
 *  <link rel="stylesheet" href="<?= SITE_URL ?>/assets/css/custom.css">  ← last
 * ============================================================
 */


/* ============================================================
 *  1. CSS CUSTOM PROPERTIES (Variables)
 * ============================================================
 *  Change these to re-theme the entire site at once.
 *  These cascade everywhere — buttons, links, badges, etc.
 * ============================================================ */

:root {
    /* -- Brand Colors -- */
    /* --color-primary: #0077b6;        /* Main accent (buttons, links, nav CTA) */
    /* --color-primary-dark: #005f8f;   /* Hover state for primary */
    /* --color-secondary: #2d6a4f;      /* Secondary accent (nature green — badges, slots) */
    /* --color-secondary-dark: #1e8449; /* Hover state for secondary */

    /* -- Status Colors -- */
    /* --color-success: #27ae60;        /* Confirmed, available */
    /* --color-warning: #e67e22;        /* Pending */
    /* --color-danger: #c0392b;         /* Declined, errors */

    /* -- Neutrals -- */
    /* --color-text: #333;              /* Body text */
    /* --color-text-light: #666;        /* Secondary text */
    /* --color-text-muted: #999;        /* Muted / placeholder text */
    /* --color-bg: #fff;                /* Page background */
    /* --color-bg-light: #f8f9fa;       /* Card backgrounds, subtle areas */
    /* --color-border: #e0e0e0;         /* Borders, dividers */

    /* -- Typography -- */
    /* --font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; */
    /* --font-size-base: 16px;          /* Base font size */
    /* --font-size-sm: 0.85rem;         /* Small text */
    /* --font-size-lg: 1.1rem;          /* Large text */
    /* --line-height: 1.6;              /* Base line height */

    /* -- Spacing -- */
    /* --spacing-xs: 4px; */
    /* --spacing-sm: 8px; */
    /* --spacing-md: 16px; */
    /* --spacing-lg: 24px; */
    /* --spacing-xl: 40px; */

    /* -- Border Radius -- */
    /* --radius-sm: 6px;                /* Small elements */
    /* --radius-md: 12px;               /* Cards, buttons */
    /* --radius-lg: 16px;               /* Modals, large cards */
    /* --radius-full: 9999px;           /* Pills, badges */

    /* -- Shadows -- */
    /* --shadow-sm: 0 2px 4px rgba(0,0,0,0.08); */
    /* --shadow-md: 0 4px 12px rgba(0,0,0,0.12); */
    /* --shadow-lg: 0 8px 30px rgba(0,0,0,0.15); */

    /* -- Layout -- */
    /* --container-max: 1200px;         /* Max content width */
    /* --nav-height: 70px;              /* Navigation bar height */
}


/* ============================================================
 *  2. NAVIGATION
 * ============================================================ */

/* -- Nav bar background -- */
/* .main-nav { background: #1a1a2e; } */

/* -- Nav bar when scrolled -- */
/* .main-nav.scrolled { background: rgba(26,26,46,0.95); box-shadow: var(--shadow-md); } */

/* -- Logo -- */
/* .nav-logo { color: #fff; font-size: 1.3rem; } */

/* -- Nav links -- */
/* .nav-menu a { color: rgba(255,255,255,0.85); } */
/* .nav-menu a:hover { color: #fff; } */

/* -- Book Now CTA button in nav -- */
/* .nav-cta { background: var(--color-primary); color: #fff !important; border-radius: var(--radius-full); } */
/* .nav-cta:hover { background: var(--color-primary-dark); } */

/* -- Mobile hamburger menu -- */
/* .nav-toggle span { background: #fff; } */


/* ============================================================
 *  3. HERO / BANNER
 * ============================================================ */

/* -- Hero section -- */
/* .hero { min-height: 400px; } */

/* -- Hero overlay tint -- */
/* .hero-overlay { background: linear-gradient(135deg, rgba(0,0,0,0.5), rgba(0,0,0,0.3)); } */

/* -- Hero title text -- */
.hero-content h1 { text-shadow: 0.2rem 0.2rem black; font-size: 3rem; color: #fff; }

/* -- Hero subtitle -- */
 .hero-subtitle { text-shadow: 0.1rem 0.1rem black; font-size: 1.2rem; color: rgba(255,255,255,0.9); } 

/* -- Hero CTA button -- */
/* .btn-hero { background: var(--color-primary); font-size: 1.1rem; padding: 14px 32px; } */

/* ============================================================
 *  4. CARDS (Browse page, Homepage)
 * ============================================================ */

/* -- Card container -- */
/* .card { border-radius: var(--radius-md); box-shadow: var(--shadow-sm); transition: transform 0.2s, box-shadow 0.2s; } */
/* .card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); } */

/* -- Card image area (aspect ratio container) -- */
/* .card-image { padding-top: 66.67%; }    /* 3:2 ratio. Use 56.25% for 16:9, 75% for 4:3, 100% for 1:1 */

/* -- Card image fit -- */
/* .card-image img { object-fit: cover; object-position: center; } */

/* -- Card body / text area -- */
/* .card-body { padding: 16px; } */
/* .card-body h3 { font-size: 1.15rem; color: var(--color-text); } */
/* .card-body p { color: var(--color-text-light); font-size: var(--font-size-sm); } */

/* -- Card badge (category label) -- */
/* .card-badge { background: var(--color-secondary); color: #fff; font-size: 0.75rem; border-radius: var(--radius-full); } */

/* -- Card price tag -- */
/* .card-price { background: #fef3cd; color: #856404; border-radius: var(--radius-full); padding: 4px 12px; } */

/* -- Card grid layout -- */
/* .card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 24px; } */

/* -- Placeholder when no image -- */
/* .card-image-placeholder { background: #e8f5e9; font-size: 3rem; } */


/* ============================================================
 *  5. DETAIL PAGE (Single post / adventure / room)
 * ============================================================ */

/* -- Detail layout (gallery + info side-by-side) -- */
/* .detail-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; } */

/* -- Main gallery image -- */
/* .gallery-main { max-height: 500px; border-radius: var(--radius-md); } */
/* .gallery-main img { object-fit: cover; object-position: center; } */

/* -- Thumbnail strip -- */
/* .gallery-thumbs img { width: 80px; height: 60px; object-fit: cover; border-radius: var(--radius-sm); } */
/* .gallery-thumbs img.active { border-color: var(--color-primary); } */

/* -- Post title -- */
/* .detail-info h1 { font-size: 1.8rem; } */

/* -- Price display -- */
/* .detail-price { font-size: 1.3rem; color: var(--color-primary); font-weight: 700; } */

/* -- Back link -- */
/* .back-link { color: var(--color-primary); font-size: var(--font-size-sm); } */


/* ============================================================
 *  6. SLOT / AVAILABILITY CALENDAR (Detail pages)
 * ============================================================ */

/* -- Available date cells -- */
/* .slot-cal-day.available { background: #e8f5e9; color: var(--color-secondary); } */
/* .slot-cal-day.available:hover { background: #c8e6c9; border-color: var(--color-secondary); } */

/* -- Selected date -- */
/* .slot-cal-day.selected { background: var(--color-secondary) !important; color: #fff !important; } */

/* -- Disabled / past dates -- */
/* .slot-cal-day.disabled { background: #f5f5f5; color: #ccc; } */

/* -- Spot count text inside date cells -- */
/* .slot-cal-day .day-spots { font-size: 0.6rem; } */


/* ============================================================
 *  7. SLOT CARDS (Time slot selection)
 * ============================================================ */

/* -- Slot card -- */
/* .slot-card { border: 2px solid var(--color-border); border-radius: var(--radius-md); padding: 16px; } */
/* .slot-card:hover { border-color: var(--color-primary); box-shadow: 0 4px 12px rgba(0,119,182,0.15); } */

/* -- Time display -- */
/* .slot-time { font-weight: 600; font-size: 1rem; } */

/* -- Rate per person -- */
/* .slot-rate { color: var(--color-primary); font-weight: 600; } */

/* -- Spots remaining -- */
/* .slot-spots { color: var(--color-secondary); } */


/* ============================================================
 *  8. BOOKING FORM
 * ============================================================ */

/* -- Form inputs -- */
/* .booking-form input, .booking-form select, .booking-form textarea {
       border: 2px solid var(--color-border); border-radius: var(--radius-sm);
       padding: 10px 14px; font-size: 1rem;
   } */
/* .booking-form input:focus, .booking-form select:focus, .booking-form textarea:focus {
       border-color: var(--color-primary); outline: none;
       box-shadow: 0 0 0 3px rgba(0,119,182,0.1);
   } */

/* -- Submit button -- */
/* .btn-full { width: 100%; } */

/* -- Booking success state -- */
/* .booking-success { text-align: center; padding: 40px; } */
/* .success-icon { font-size: 3rem; } */


/* ============================================================
 *  9. BUTTONS (Global)
 * ============================================================ */

/* -- Primary button -- */
/* .btn-primary, .btn { background: var(--color-primary); color: #fff; border-radius: var(--radius-sm); } */
/* .btn-primary:hover { background: var(--color-primary-dark); } */

/* -- Outline button -- */
/* .btn-outline { background: transparent; border: 2px solid var(--color-primary); color: var(--color-primary); } */
/* .btn-outline:hover { background: var(--color-primary); color: #fff; } */

/* -- Large button -- */
/* .btn-large { padding: 14px 32px; font-size: 1.05rem; } */

/* -- Small button -- */
/* .btn-sm { padding: 6px 12px; font-size: 0.8rem; } */


/* ============================================================
 *  10. FLASH MESSAGES
 * ============================================================ */

/* .flash { padding: 12px 16px; border-radius: var(--radius-sm); margin-bottom: 16px; } */
/* .flash-success { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; } */
/* .flash-error { background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; } */
/* .flash-warning { background: #fff3cd; color: #856404; border: 1px solid #ffeaa7; } */


/* ============================================================
 *  11. FOOTER
 * ============================================================ */

/* .site-footer { background: #1a1a2e; color: rgba(255,255,255,0.8); } */
/* .site-footer h4 { color: #fff; } */
/* .site-footer a { color: rgba(255,255,255,0.7); } */
/* .site-footer a:hover { color: #fff; } */
/* .footer-bottom { border-top: 1px solid rgba(255,255,255,0.1); color: rgba(255,255,255,0.5); } */


/* ============================================================
 *  12. SECTION HEADER IMAGES (Category banners on homepage)
 * ============================================================ */

/* .section-header-img { width: 100%; max-height: 300px; object-fit: cover; border-radius: var(--radius-md); margin-bottom: 16px; } */


/* ============================================================
 *  13. FILTER TABS (Browse page category filters)
 * ============================================================ */

/* .filter-tab { padding: 8px 20px; border-radius: var(--radius-full); font-weight: 600; } */
/* .filter-tab.active { background: var(--color-secondary); color: #fff; } */
/* .filter-tab:hover:not(.active) { background: #e8e8e8; } */


/* ============================================================
 *  14. MINI CALENDAR (Room availability on detail page)
 * ============================================================ */

/* .mini-cal-day.available { background: #e8f5e9; color: var(--color-secondary); } */
/* .mini-cal-day.unavailable { background: #ffebee; color: #c0392b; } */
/* .mini-cal-day .rate { font-size: 0.6rem; } */


/* ============================================================
 *  15. RESPONSIVE OVERRIDES
 * ============================================================
 *  Fine-tune breakpoints for your content.
 * ============================================================ */

/* -- Tablet (768px and below) -- */
/* @media (max-width: 768px) {
       .detail-layout { grid-template-columns: 1fr; }
       .hero-content h1 { font-size: 2rem; }
       .card-grid { grid-template-columns: 1fr; }
   } */

/* -- Mobile (480px and below) -- */
/* @media (max-width: 480px) {
       .hero-content h1 { font-size: 1.5rem; }
       .hero-subtitle { font-size: 1rem; }
       .btn-large { padding: 12px 24px; font-size: 0.95rem; }
   } */


/* ============================================================
 *  16. UTILITY CLASSES
 * ============================================================
 *  Add your own one-off helpers below.
 * ============================================================ */

/* .text-center { text-align: center; } */
/* .mt-1 { margin-top: 8px; } */
/* .mt-2 { margin-top: 16px; } */
/* .mt-3 { margin-top: 24px; } */
/* .mb-1 { margin-bottom: 8px; } */
/* .mb-2 { margin-bottom: 16px; } */
/* .mb-3 { margin-bottom: 24px; } */
/* .hidden { display: none; } */

/* Custom utility classes */
/*.container-narrow { */
/*    max-width: 800px; */
/*    margin: 0 auto; */
/*} */

/* ============================================================
 *  17. YOUR CUSTOM STYLES
 * ============================================================
 *  Add anything site-specific below this line.
 * ============================================================ */


