/* ========================================
   COAST CITY CUSTOM CSS
   Theme Colors: 
   - Dark BG: #1a1a2e, #0d0d1a
   - Accent: #00d4ff (cyan)
   - Text: #ffffff, #cccccc, #999999
   ======================================== */

/* ----- FOOTER STYLING - DARK THEME ----- */
#footer-outer {
    position: relative !important;
    background-color: #0d0d1a !important;
    border-top: 1px solid rgba(0,212,255,0.2) !important;
    display: block !important;
    visibility: visible !important;
}

/* Fix white space gap above footer */
.container-wrap {
    background-color: transparent !important;
}

body,
html,
#ajax-content-wrap {
    background-color: #0d0d1a !important;
}

#footer-outer #footer-widgets {
    background-color: #0d0d1a !important;
    padding: 60px 0 40px !important;
}

#footer-outer #footer-widgets .col {
    color: #cccccc !important;
}

#footer-outer #footer-widgets h4,
#footer-outer #footer-widgets .widget-title {
    color: #ffffff !important;
    font-family: 'Raleway', sans-serif !important;
    font-weight: 600 !important;
}

#footer-outer #footer-widgets a {
    color: #00d4ff !important;
}

#footer-outer #footer-widgets a:hover {
    color: #ffffff !important;
}

#footer-outer #copyright {
    background-color: #1a1a2e !important;
    padding: 20px 0 !important;
    border-top: 1px solid rgba(0,212,255,0.1) !important;
}

#footer-outer #copyright p,
#footer-outer #copyright span {
    color: #999999 !important;
}

#footer-outer #copyright a {
    color: #00d4ff !important;
}

/* Footer social icons */
#footer-outer .nectar-social a {
    color: #00d4ff !important;
}

#footer-outer .nectar-social a:hover {
    color: #ffffff !important;
}

/* Footer button styling */
#footer-outer .nectar-button {
    border-color: #00d4ff !important;
    color: #00d4ff !important;
}

#footer-outer .nectar-button:hover {
    background-color: #00d4ff !important;
    color: #0d0d1a !important;
}

/* =============================================
   EVENTS CALENDAR - ELEVATION STYLE CARDS
   ============================================= */

/* Main events page container */
.tribe-events,
.tribe-events-view,
#tribe-events,
#tribe-events-content {
    background-color: #0d0d1a !important;
    font-family: 'Raleway', sans-serif !important;
}

/* Page title bar */
.tribe-events-header,
.tribe-events-calendar-list__header {
    background-color: #0d0d1a !important;
    border: none !important;
}

.tribe-events-header__title,
.tribe-events-calendar-list__month-separator-text {
    color: #ffffff !important;
    font-family: 'Raleway', sans-serif !important;
}

/* Navigation buttons */
.tribe-events-c-nav__list-item a,
.tribe-events-c-nav__prev,
.tribe-events-c-nav__next {
    color: #00d4ff !important;
}

.tribe-events-c-nav__list-item a:hover {
    color: #ffffff !important;
}

/* ===== EVENT CARDS - ELEVATION STYLE ===== */

/* Events list container - grid layout */
.tribe-events-calendar-list,
.tribe-events-pro-photo__events-row {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)) !important;
    gap: 25px !important;
    padding: 20px !important;
}

/* Individual event card */
.tribe-events-calendar-list__event,
.tribe-events-calendar-list__event-row,
.tribe-common-g-row,
.tribe-events-pro-photo__event {
    background: #1a1a2e !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    border: 1px solid rgba(0,212,255,0.15) !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    flex-direction: column !important;
}

.tribe-events-calendar-list__event:hover,
.tribe-events-pro-photo__event:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 15px 40px rgba(0,212,255,0.15) !important;
    border-color: rgba(0,212,255,0.4) !important;
}

/* Event featured image */
.tribe-events-calendar-list__event-featured-image,
.tribe-events-pro-photo__event-featured-image {
    width: 100% !important;
    height: 200px !important;
    overflow: hidden !important;
    border-radius: 20px 20px 0 0 !important;
}

.tribe-events-calendar-list__event-featured-image img,
.tribe-events-pro-photo__event-featured-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.3s ease !important;
}

.tribe-events-calendar-list__event:hover img {
    transform: scale(1.05) !important;
}

/* Event content area */
.tribe-events-calendar-list__event-details,
.tribe-events-pro-photo__event-details {
    padding: 20px 25px 25px !important;
    flex-grow: 1 !important;
    display: flex !important;
    flex-direction: column !important;
}

/* Event date/time display */
.tribe-events-calendar-list__event-datetime-wrapper,
.tribe-events-calendar-list__event-date-tag,
.tribe-events-pro-photo__event-date-tag {
    background: rgba(0,212,255,0.1) !important;
    padding: 8px 15px !important;
    border-radius: 25px !important;
    display: inline-block !important;
    margin-bottom: 12px !important;
    width: fit-content !important;
}

.tribe-events-calendar-list__event-datetime,
.tribe-events-pro-photo__event-datetime time,
.tribe-event-schedule-details {
    color: #00d4ff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

/* Event title */
.tribe-events-calendar-list__event-title,
.tribe-events-pro-photo__event-title,
.tribe-events-single-event-title {
    margin-bottom: 10px !important;
}

.tribe-events-calendar-list__event-title a,
.tribe-events-pro-photo__event-title a,
.tribe-events-calendar-list__event-title-link {
    color: #ffffff !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    line-height: 1.3 !important;
    display: block !important;
}

.tribe-events-calendar-list__event-title a:hover {
    color: #00d4ff !important;
}

/* Event venue/location */
.tribe-events-calendar-list__event-venue,
.tribe-events-pro-photo__event-venue {
    color: #999999 !important;
    font-size: 14px !important;
    margin-top: auto !important;
    padding-top: 15px !important;
    border-top: 1px solid rgba(255,255,255,0.1) !important;
}

.tribe-events-calendar-list__event-venue a {
    color: #cccccc !important;
}

/* Event description */
.tribe-events-calendar-list__event-description p {
    color: #cccccc !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
}

/* ===== MONTH SEPARATORS ===== */
.tribe-events-calendar-list__month-separator {
    grid-column: 1 / -1 !important;
    padding: 30px 0 10px !important;
    border: none !important;
}

.tribe-events-calendar-list__month-separator-text {
    color: #00d4ff !important;
    font-size: 28px !important;
    font-weight: 300 !important;
    text-transform: uppercase !important;
    letter-spacing: 3px !important;
}

/* ===== SINGLE EVENT PAGE ===== */
.tribe-events-single {
    background: #0d0d1a !important;
    padding: 40px !important;
}

.tribe-events-single-event-title {
    color: #ffffff !important;
    font-size: 42px !important;
    font-weight: 700 !important;
    margin-bottom: 20px !important;
}

.tribe-events-schedule__datetime {
    color: #00d4ff !important;
    font-size: 18px !important;
}

.tribe-events-single-event-description {
    color: #cccccc !important;
    font-size: 16px !important;
    line-height: 1.8 !important;
}

/* Single event venue */
.tribe-events-venue-details {
    background: #1a1a2e !important;
    padding: 25px !important;
    border-radius: 15px !important;
    color: #cccccc !important;
}

.tribe-events-venue-details .tribe-venue {
    color: #ffffff !important;
}

/* Back button */
.tribe-events-back a {
    color: #00d4ff !important;
    text-decoration: none !important;
}

.tribe-events-back a:hover {
    color: #ffffff !important;
}

/* ===== CALENDAR VIEW (if used) ===== */
.tribe-events-calendar-month {
    background: #0d0d1a !important;
}

.tribe-events-calendar-month__day {
    background: #1a1a2e !important;
    border-color: rgba(0,212,255,0.1) !important;
}

.tribe-events-calendar-month__day:hover {
    background: rgba(0,212,255,0.1) !important;
}

.tribe-events-calendar-month__day-date {
    color: #cccccc !important;
}

.tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date {
    color: #00d4ff !important;
    font-weight: bold !important;
}

.tribe-events-calendar-month__header-column-title {
    color: #00d4ff !important;
    background: #0d0d1a !important;
}

/* ===== NO EVENTS MESSAGE ===== */
.tribe-events-c-messages__message {
    color: #cccccc !important;
    text-align: center !important;
    padding: 60px 20px !important;
    font-size: 18px !important;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
    .tribe-events-calendar-list,
    .tribe-events-pro-photo__events-row {
        grid-template-columns: 1fr !important;
        padding: 15px !important;
    }
    
    .tribe-events-calendar-list__event-title a {
        font-size: 20px !important;
    }
    
    .tribe-events-calendar-list__event-featured-image {
        height: 180px !important;
    }
}

/* ===== VIEW SELECTOR BUTTONS ===== */
.tribe-events-c-view-selector__button {
    background: #1a1a2e !important;
    color: #cccccc !important;
    border: 1px solid rgba(0,212,255,0.2) !important;
    border-radius: 8px !important;
}

.tribe-events-c-view-selector__button:hover,
.tribe-events-c-view-selector__button--active {
    background: rgba(0,212,255,0.1) !important;
    color: #00d4ff !important;
}

/* ===== SEARCH/FILTER BAR ===== */
.tribe-events-c-search {
    background: #1a1a2e !important;
    border-radius: 15px !important;
    padding: 20px !important;
}

.tribe-events-c-search__input {
    background: rgba(0,212,255,0.05) !important;
    border: 1px solid rgba(0,212,255,0.2) !important;
    color: #ffffff !important;
    border-radius: 8px !important;
}

.tribe-events-c-search__button {
    background: #00d4ff !important;
    color: #0d0d1a !important;
    border-radius: 8px !important;
}

/* ----- GENERAL DARK THEME ENHANCEMENTS ----- */

/* Links */
a {
    color: #00d4ff;
}

a:hover {
    color: #ffffff;
}

/* Buttons - see-through style enhancement */
.nectar-button.see-through-2 {
    border-color: #00d4ff !important;
    color: #00d4ff !important;
}

.nectar-button.see-through-2:hover {
    background-color: #00d4ff !important;
    color: #0d0d1a !important;
}

/* Smooth scrolling */
html {
    scroll-behavior: smooth;
}

/* Selection highlight */
::selection {
    background-color: #00d4ff;
    color: #0d0d1a;
}

/* Scrollbar styling (webkit browsers) */
::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background: #0d0d1a;
}

::-webkit-scrollbar-thumb {
    background: #00d4ff;
    border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
    background: #00b8d9;
}

/* ----- CONTACT FORM 7 STYLING ----- */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 textarea,
.wpcf7 select {
    background-color: rgba(255,255,255,0.1) !important;
    border: 1px solid rgba(0,212,255,0.3) !important;
    border-radius: 10px !important;
    color: #ffffff !important;
    padding: 15px 20px !important;
    font-size: 16px !important;
    font-family: 'Raleway', sans-serif !important;
    width: 100% !important;
    box-sizing: border-box !important;
    transition: border-color 0.3s ease, background-color 0.3s ease !important;
}

.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 input[type="url"]:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
    background-color: rgba(0,212,255,0.1) !important;
    border-color: #00d4ff !important;
    outline: none !important;
}

.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
    color: #999999 !important;
}

.wpcf7 label {
    color: #ffffff !important;
    font-family: 'Raleway', sans-serif !important;
    font-size: 14px !important;
    margin-bottom: 8px !important;
    display: block !important;
}

.wpcf7 input[type="submit"] {
    background-color: transparent !important;
    border: 2px solid #00d4ff !important;
    color: #00d4ff !important;
    padding: 15px 40px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    font-family: 'Raleway', sans-serif !important;
    border-radius: 30px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
}

.wpcf7 input[type="submit"]:hover {
    background-color: #00d4ff !important;
    color: #0d0d1a !important;
}

.wpcf7-response-output {
    border-color: #00d4ff !important;
    color: #ffffff !important;
    background-color: rgba(0,212,255,0.1) !important;
    border-radius: 10px !important;
}

.wpcf7 .wpcf7-not-valid-tip {
    color: #ff6b6b !important;
}

/* Checkbox and radio button labels */
.wpcf7 .wpcf7-checkbox label,
.wpcf7 .wpcf7-radio label,
.wpcf7 .wpcf7-acceptance label,
.wpcf7-list-item label {
    color: #ffffff !important;
}

.wpcf7 .wpcf7-checkbox .wpcf7-list-item-label,
.wpcf7 .wpcf7-radio .wpcf7-list-item-label,
.wpcf7 .wpcf7-acceptance .wpcf7-list-item-label {
    color: #cccccc !important;
}

/* Number input fields styling */
.wpcf7 input[type="number"] {
    background: rgba(255,255,255,0.1) !important;
    border: 1px solid rgba(0,212,255,0.3) !important;
    border-radius: 10px !important;
    padding: 12px 15px !important;
    color: #ffffff !important;
    font-size: 16px !important;
    width: 100% !important;
    max-width: 150px !important;
    text-align: center !important;
    -moz-appearance: textfield !important;
}

.wpcf7 input[type="number"]::-webkit-outer-spin-button,
.wpcf7 input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

.wpcf7 input[type="number"]:focus {
    border-color: #00d4ff !important;
    outline: none !important;
    box-shadow: 0 0 10px rgba(0,212,255,0.3) !important;
}

.wpcf7 input[type="number"]::placeholder {
    color: rgba(255,255,255,0.5) !important;
}

/* Form field labels for number inputs */
.wpcf7 label {
    color: #ffffff !important;
    font-size: 16px !important;
    display: block !important;
    margin-bottom: 8px !important;
}

/* Team member cards dark theme styling */
.team-member .team-meta h4,
.team-member .team-meta .team-member-name {
    color: #ffffff !important;
}

.team-member .team-meta p,
.team-member .team-meta .team-member-position {
    color: #00d4ff !important;
}

.team-member .team-meta {
    background: rgba(13,13,26,0.9) !important;
}

.team-member img {
    border-radius: 15px !important;
}

.team-member:hover .team-meta {
    background: rgba(0,212,255,0.15) !important;
}