/* ================================================================
   HOMEPAGE — Upcoming Events Widget (TEC)
   Paste into WP Admin → Appearance → Customize → Additional CSS
   Automatically applies to all current and future events.
================================================================ */

/* ── Section title ── */
.widget .tribe_mini_calendar_widget_header,
.home .tribe-events-widget-events-list__event-list-wrapper h2,
.home h2.tribe-events-widget-events-list__title {
    font-size: inherit !important;
    font-weight: 600 !important;
    color: #1e3a5f !important;
    border-bottom: 2px solid #dbeafe !important;
    padding-bottom: 8px !important;
    margin-bottom: 1.25rem !important;
}

/* ── Each event row ── */
.home .tribe-events-widget-events-list__event {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    background: #f0f7ff !important;
    border: 1px solid #dbeafe !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    margin-bottom: 12px !important;
    padding: 0 !important;
    text-decoration: none !important;
    transition: box-shadow 0.2s ease, border-color 0.2s ease !important;
}

.home .tribe-events-widget-events-list__event:hover {
    box-shadow: 0 6px 20px rgba(30,58,95,0.1) !important;
    border-color: #93c5fd !important;
}

/* ── Date badge ── */
.home .tribe-events-widget-events-list__event-date-tag {
    flex-shrink: 0 !important;
    background: #1e3a5f !important;
    border-radius: 12px 0 0 12px !important;
    padding: 12px 14px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    min-width: 70px !important;
    gap: 6px !important;
}

.home .tribe-events-widget-events-list__event-date-tag-month {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #93c5fd !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
}

.home .tribe-events-widget-events-list__event-date-tag-daynum {
    font-size: 26px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    line-height: 1 !important;
}

/* ── Event details ── */
.home .tribe-events-widget-events-list__event-details {
    flex: 1 !important;
    padding: 14px 16px !important;
    min-width: 0 !important;
}

/* ── Event title ── */
.home .tribe-events-widget-events-list__event-title {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #1e3a5f !important;
    margin-bottom: 4px !important;
    line-height: 1.4 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em !important;
}

.home .tribe-events-widget-events-list__event-title a {
    color: #1e3a5f !important;
    text-decoration: none !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
}

.home .tribe-events-widget-events-list__event-title a:hover {
    text-decoration: underline !important;
}

/* ── Date/time ── */
.home .tribe-events-widget-events-list__event-datetime {
    font-size: 12px !important;
    color: #64748b !important;
}

/* ── View Calendar link ── */
.home .tribe-events-widget-events-list__view-more-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-top: 12px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #1e3a5f !important;
    text-decoration: none !important;
    border: 1px solid #1e3a5f !important;
    padding: 6px 14px !important;
    border-radius: 6px !important;
    transition: all 0.15s ease !important;
}

.home .tribe-events-widget-events-list__view-more-link:hover {
    background: #1e3a5f !important;
    color: #fff !important;
}
/* ================================================================
   ERUDITE — MENU ENHANCEMENT
   Paste into WP Admin → Appearance → Customize → Additional CSS
================================================================ */

/* ── Transparent overlay header — sits on top of hero image ── */
/* Only applies on home page */
.home #masthead {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 999 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* ── All other pages — sticky, keep Astra's original background ── */
body:not(.home) #masthead {
    position: sticky !important;
    top: 0 !important;
    z-index: 999 !important;
    box-shadow: 0 2px 12px rgba(30,58,95,0.08) !important;
}

/* ── Make above header bar transparent on home ── */
.home .ast-above-header-bar {
    background: transparent !important;
}

/* ── Make primary nav bar transparent on home ── */
.home .ast-primary-header-bar {
    background: transparent !important;
    border-bottom: none !important;
}

/* ── Logo and site title black on home ── */
.home .site-title a,
.home .site-description {
    color: #000 !important;
}

/* ── Nav links black on home ── */
.home .main-header-menu .menu-link {
    color: #000 !important;
}

.home .main-header-menu .menu-link::after {
    background: #000 !important;
}

.home .main-header-menu .menu-link:hover {
    color: #000 !important;
}

/* ── Cart icon black on home ── */
.home .ast-site-header-cart .cart-container {
    color: #000 !important;
}

/* ── Push page content up so hero fills behind header ── */
.home #content {
    margin-top: 0 !important;
}

.home .hfeed.site {
    padding-top: 0 !important;
}

/* ── Above header bar (logo area) — tighten padding ── */
body:not(.home) .ast-above-header-bar {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}

/* ── Nav links — better spacing and colour ── */
.main-header-menu .menu-link {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1e3a5f !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    padding: 10px 16px !important;
    position: relative !important;
    transition: color 0.2s ease !important;
}

/* ── Primary nav bar — non-home pages ── */
body:not(.home) .ast-primary-header-bar {
    border-bottom: 2px solid #dbeafe !important;
}

/* ── Nav link hover — underline slide effect ── */
.main-header-menu .menu-link::after {
    content: '' !important;
    position: absolute !important;
    bottom: 4px !important;
    left: 16px !important;
    right: 16px !important;
    height: 2px !important;
    background: #1e3a5f !important;
    border-radius: 2px !important;
    transform: scaleX(0) !important;
    transition: transform 0.2s ease !important;
    transform-origin: left !important;
}

.main-header-menu .menu-link:hover::after,
.main-header-menu .current-menu-item > .menu-link::after {
    transform: scaleX(1) !important;
}

.main-header-menu .menu-link:hover {
    color: #1e3a5f !important;
}

/* ── Active/current page link ── */
.main-header-menu .current-menu-item > .menu-link,
.main-header-menu .current-menu-ancestor > .menu-link {
    color: #1e3a5f !important;
}

/* ── Dropdown submenu ── */
.main-header-menu .sub-menu {
    border: 1px solid #dbeafe !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 24px rgba(30,58,95,0.1) !important;
    padding: 6px 0 !important;
    min-width: 200px !important;
    background: #fff !important;
}

.main-header-menu .sub-menu .menu-link {
    font-size: 14px !important;
    padding: 12px 18px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    color: #1e3a5f !important;
}

.main-header-menu .sub-menu .menu-link:hover {
    background: #f0f7ff !important;
    color: #1e3a5f !important;
}

.main-header-menu .sub-menu .menu-link::after {
    display: none !important;
}

/* ── Mobile menu toggle button ── */
.ast-mobile-menu-trigger-minimal {
    color: #1e3a5f !important;
}

/* ── Cart icon ── */
.ast-site-header-cart .cart-container {
    color: #1e3a5f !important;
}
/* ================================================================
   ERUDITE — Cart & Checkout Styling
   Paste into WP Admin → Appearance → Customize → Additional CSS
================================================================ */

/* ════════════════════════════
   CART PAGE
════════════════════════════ */

/* Hide placeholder image */
.wc-block-cart-item__image {
    display: none !important;
}

/* Hide duplicate price in product row */
.wc-block-cart-item__wrap .wc-block-cart-item__prices {
    display: none !important;
}

/* Cart items container */
.wc-block-cart__main .wc-block-cart-items {
    border: 1px solid #dbeafe !important;
    border-radius: 12px !important;
    overflow: hidden !important;
}

/* Header row */
.wc-block-cart-items__header {
    background: #1e3a5f !important;
    padding: 12px 16px !important;
}

.wc-block-cart-items__header span {
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
}

/* Cart rows */
.wc-block-cart-items__row {
    background: #fff !important;
    border-bottom: 1px solid #f1f5f9 !important;
}

/* Product name */
.wc-block-components-product-name {
    color: #1e3a5f !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: block !important;
    max-width: 500px !important;
}

/* Product description */
.wc-block-components-product-metadata__description p {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 500px !important;
    margin: 0 !important;
    font-size: 12px !important;
    color: #64748b !important;
}

/* Product column */
.wc-block-cart-item__product {
    width: 70% !important;
}

/* Total column — force right alignment */
td.wc-block-cart-item__total {
    text-align: right !important;
    vertical-align: middle !important;
}

/* Target the exact price span from the HTML inspection */
td.wc-block-cart-item__total .wc-block-components-product-price,
td.wc-block-cart-item__total .wc-block-formatted-money-amount,
td.wc-block-cart-item__total .wc-block-components-product-price__value {
    display: block !important;
    text-align: right !important;
    font-weight: 600 !important;
    color: #1e3a5f !important;
    width: 100% !important;
}

/* Quantity stepper */
.wc-block-components-quantity-selector {
    border: 1px solid #dbeafe !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

.wc-block-components-quantity-selector__value {
    color: #1e3a5f !important;
    font-weight: 600 !important;
}

.wc-block-components-quantity-selector__button {
    color: #1e3a5f !important;
    background: #f0f7ff !important;
}

.wc-block-components-quantity-selector__button:hover {
    background: #dbeafe !important;
}

/* Remove button */
.wc-block-cart-item__remove-link {
    color: #94a3b8 !important;
    transition: color 0.15s !important;
}

.wc-block-cart-item__remove-link:hover {
    color: #1e3a5f !important;
}

/* Cart totals sidebar */
.wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block {
    background: #f0f7ff !important;
    border: 1px solid #dbeafe !important;
    border-radius: 12px !important;
    padding: 1.25rem !important;
}

/* Totals rows */
.wc-block-components-totals-item {
    border-top: 1px solid #dbeafe !important;
    padding: 10px 0 !important;
}

.wc-block-components-totals-item__label {
    color: #000 !important;
}

.wc-block-components-totals-item__value,
.wc-block-components-totals-item__value * {
    color: #1e3a5f !important;
    font-weight: 600 !important;
}

/* Estimated total */
.wc-block-components-totals-footer-item {
    border-top: 2px solid #1e3a5f !important;
    padding-top: 14px !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value * {
    color: #1e3a5f !important;
    font-weight: 700 !important;
    font-size: 18px !important;
}

/* Proceed to checkout button */
.wc-block-cart__submit-container .wc-block-components-button,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button {
    background: #1e3a5f !important;
    color: #fff !important;
    border-radius: 50px !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    border: none !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    transition: background 0.2s !important;
    width: 100% !important;
}

.wc-block-cart__submit-container .wc-block-components-button:hover,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:hover {
    background: #2d5282 !important;
    color: #fff !important;
}

/* Coupon */
.wc-block-components-totals-coupon__button {
    background: #dbeafe !important;
    color: #1e3a5f !important;
    font-weight: 600 !important;
    border: none !important;
    transition: all 0.2s !important;
}

.wc-block-components-totals-coupon__button:hover {
    background: #1e3a5f !important;
    color: #fff !important;
}

/* ════════════════════════════
   CHECKOUT PAGE
════════════════════════════ */

/* Input fields */
.wc-block-components-text-input input,
.wc-block-checkout input[type="text"],
.wc-block-checkout input[type="email"],
.wc-block-checkout input[type="tel"] {
    border: 1px solid #dbeafe !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
    color: #000 !important;
    transition: border-color 0.15s !important;
}

.wc-block-components-text-input input:focus {
    border-color: #1e3a5f !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(30,58,95,0.1) !important;
}

/* Country & State fields */
.wc-block-components-country-input select,
.wc-block-components-state-input select,
.wc-block-checkout .wc-block-components-select-input select {
    padding-top: 22px !important;
    padding-bottom: 6px !important;
    padding-left: 14px !important;
    height: 56px !important;
    font-size: 14px !important;
    color: #000 !important;
    border: 1px solid #dbeafe !important;
    border-radius: 8px !important;
    width: 100% !important;
}

.wc-block-components-country-input .wc-block-components-label,
.wc-block-components-state-input .wc-block-components-label,
.wc-block-checkout .wc-block-components-select-input .wc-block-components-label {
    position: absolute !important;
    top: 8px !important;
    left: 14px !important;
    font-size: 11px !important;
    color: #64748b !important;
    pointer-events: none !important;
    z-index: 1 !important;
    transform: none !important;
}

/* Order summary sidebar */
.wc-block-checkout__sidebar {
    position: sticky !important;
    top: 20px !important;
}

.wp-block-woocommerce-checkout-order-summary-block {
    background: #f0f7ff !important;
    border: 1px solid #dbeafe !important;
    border-radius: 12px !important;
    padding: 1.25rem !important;
    overflow: hidden !important;
}

/* Hide placeholder image in order summary */
.wc-block-components-order-summary-item__image {
    display: none !important;
}

/* Hide the price shown inside the order summary item description */
.wc-block-components-order-summary-item__individual-prices,
.wc-block-components-order-summary-item__individual-price {
    display: none !important;
}

/* Checkout totals */
.wc-block-checkout .wc-block-components-totals-item {
    border-top: 1px solid #dbeafe !important;
    padding: 10px 0 !important;
}

.wc-block-checkout .wc-block-components-totals-item__label {
    color: #000 !important;
}

.wc-block-checkout .wc-block-components-totals-item__value,
.wc-block-checkout .wc-block-components-totals-item__value * {
    color: #1e3a5f !important;
    font-weight: 600 !important;
}

/* Checkout total row */
.wc-block-checkout .wc-block-components-totals-footer-item {
    border-top: 2px solid #1e3a5f !important;
    padding-top: 14px !important;
}

.wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value * {
    color: #1e3a5f !important;
    font-weight: 700 !important;
    font-size: 18px !important;
}

/* Actions row — Place Order far LEFT, Return to Cart far RIGHT */
.wc-block-checkout__actions,
.wc-block-checkout__actions_row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
}

/* Place Order — far left */
.wc-block-components-checkout-place-order-button {
    flex: 0 0 auto !important;
    order: 1 !important;
    background: #1e3a5f !important;
    color: #fff !important;
    border-radius: 50px !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    border: none !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    transition: background 0.2s !important;
    padding: 14px 40px !important;
    width: auto !important;
    text-align: center !important;
}

.wc-block-components-checkout-place-order-button:hover {
    background: #2d5282 !important;
    color: #fff !important;
}

/* Return to Cart — far right, baby blue, no arrow */
.wc-block-checkout__return-to-cart-link {
    flex: 0 0 auto !important;
    order: 2 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 14px 24px !important;
    background: #dbeafe !important;
    color: #1e3a5f !important;
    border-radius: 50px !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    text-decoration: none !important;
    border: 1px solid #93c5fd !important;
    transition: all 0.2s !important;
}

.wc-block-checkout__return-to-cart-link svg,
.wc-block-checkout__return-to-cart-link::before,
.wc-block-checkout__return-to-cart-link::after {
    display: none !important;
    content: none !important;
}
.wc-block-checkout__return-to-cart-link:hover {
    background: #bfdbfe !important;
    color: #1e3a5f !important;
    text-decoration: none !important;
}
/* ERUDITE - Menu and Header Styling */
/* Paste into Appearance > Customize > Additional CSS */

/* HOME PAGE - Transparent header over hero */
.home #masthead {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 999 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.home .ast-above-header-bar,
.home .ast-primary-header-bar {
    background: transparent !important;
    border-bottom: none !important;
}
.home #content,
.home .hfeed.site {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* OTHER PAGES - Sticky header */
body:not(.home) #masthead {
    position: sticky !important;
    top: 0 !important;
    z-index: 999 !important;
    box-shadow: 0 2px 12px rgba(30,58,95,0.08) !important;
}
body:not(.home) .ast-primary-header-bar {
    border-bottom: 2px solid #dbeafe !important;
}
body:not(.home) .ast-above-header-bar {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}

/* NAV LINKS */
.main-header-menu .menu-link {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1e3a5f !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    padding: 10px 16px !important;
    position: relative !important;
    transition: color 0.2s ease !important;
}
.main-header-menu .menu-link::after {
    content: '' !important;
    position: absolute !important;
    bottom: 4px !important;
    left: 16px !important;
    right: 16px !important;
    height: 2px !important;
    background: #1e3a5f !important;
    border-radius: 2px !important;
    transform: scaleX(0) !important;
    transition: transform 0.2s ease !important;
    transform-origin: left !important;
}
.main-header-menu .menu-link:hover::after,
.main-header-menu .current-menu-item > .menu-link::after {
    transform: scaleX(1) !important;
}
.main-header-menu .menu-link:hover,
.main-header-menu .current-menu-item > .menu-link,
.main-header-menu .current-menu-ancestor > .menu-link {
    color: #1e3a5f !important;
}

/* HOME PAGE - Black nav links */
.home .main-header-menu .menu-link,
.home .main-header-menu .menu-link:hover {
    color: #000 !important;
}
.home .main-header-menu .menu-link::after {
    background: #000 !important;
}
.home .site-title a,
.home .site-description {
    color: #000 !important;
}

/* DROPDOWN SUBMENU */
.main-header-menu .sub-menu {
    border: 1px solid #dbeafe !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 24px rgba(30,58,95,0.1) !important;
    padding: 6px 0 !important;
    min-width: 200px !important;
    background: #fff !important;
}
.main-header-menu .sub-menu .menu-link {
    font-size: 14px !important;
    padding: 12px 18px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    color: #1e3a5f !important;
}
.main-header-menu .sub-menu .menu-link:hover {
    background: #f0f7ff !important;
    color: #1e3a5f !important;
}
.main-header-menu .sub-menu .menu-link::after {
    display: none !important;
}

/* MOBILE MENU */
.ast-mobile-menu-trigger-minimal {
    color: #1e3a5f !important;
}

/* CART ICON - Astra default, styled navy */
.ast-site-header-cart .cart-container {
    color: #1e3a5f !important;
}
.ast-site-header-cart .ast-icon svg {
    fill: #1e3a5f !important;
}
.home .ast-site-header-cart .cart-container {
    color: #000 !important;
}
.home .ast-site-header-cart .ast-icon svg {
    fill: #000 !important;
}