/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/

body {
    overflow-x: hidden;
}

* {
    transition: all 0.3s ease-in-out;
}

.business-details a {
    border-bottom: 2px dashed #e18d0c;
  }
  
  .business-details a:hover {
    color: #e18d0c;
  }
  
  .business-details .icon {
    margin-right: 10px;
  }

#page-content :where(p:last-of-type) {
    margin-bottom: 1.2em;
}

.wp-block-image .alignright {
    margin: 0 0 30px 60px;
}

.wp-block-image .alignleft {
    margin: 0 60px 30px 0;
}

.the-calendar iframe {
    height: 100%;
    width: 100%;
}

/*---
CALENDAR
---*/

/*.category-key-row {
    display: none;
}*/

td[colspan="2"]:first-of-type.cat-key-cell {
    display: none !important;
}

table.spiffy.calendar-table {
    border: 1px solid rgba(0,0,0,0.15) !important;
    border-collapse: separate !important;
    border-spacing: 10px !important;
}

table.spiffy.calendar-table tr.calendar-heading td.calendar-date-switcher {
    background-color: rgba(0,0,0,1.0) !important;
}

table.spiffy.calendar-table tr.calendar-heading td.calendar-date-switcher table.calendar-heading-tbl td.calendar-month {
    font-family: "Lato" !important;
}

table.spiffy.calendar-table tr.calendar-heading td.calendar-date-switcher a.spiffy-calendar-arrow, table.spiffy.calendar-table tr.calendar-heading td.calendar-date-switcher td.calendar-month {
    color: rgba(255,255,255,1.0) !important;
}

table.spiffy.calendar-table tr.calendar-heading td.calendar-date-switcher table.calendar-heading-tbl td.calendar-prev a.spiffy-calendar-arrow, table.spiffy.calendar-table tr.calendar-heading td.calendar-date-switcher table.calendar-heading-tbl td.calendar-next a.spiffy-calendar-arrow {
 color: transparent !important;
}

table.spiffy.calendar-table tr.calendar-heading td.calendar-date-switcher table.calendar-heading-tbl td.calendar-prev a.spiffy-calendar-arrow:before, table.spiffy.calendar-table tr.calendar-heading td.calendar-date-switcher table.calendar-heading-tbl td.calendar-next a.spiffy-calendar-arrow:before {
    color: rgba(255,255,255,1.0) !important;
    display: inline;
    font-family: "Font Awesome 6 Solid";
    font-weight: 900;
}

table.spiffy.calendar-table tr.calendar-heading td.calendar-date-switcher table.calendar-heading-tbl td.calendar-prev a.spiffy-calendar-arrow:before {
    content: '\f177';
}

table.spiffy.calendar-table tr.calendar-heading td.calendar-date-switcher table.calendar-heading-tbl td.calendar-next a.spiffy-calendar-arrow:before {
    content: '\f178';
}

table.spiffy.calendar-table td.day-with-date {
    padding: 0.5rem !important;
}

table.spiffy.calendar-table td.day-with-date.no-events {
    opacity: 0.25 !important;
}

table.spiffy.calendar-table td.day-with-date.current-day {
    background-color: rgba(0,0,0,0.15) !important;
}

table.spiffy.calendar-table td.day-with-date span.spiffy-event-group {
    color: rgba(255,255,255,1.0) !important;
}

table.spiffy.calendar-table td.day-with-date span.spiffy-popup {
    background-color: rgba(0,0,0,1.0) !important;
    border: 1px solid #EE960A !important;
    max-width: 20rem;
    padding: 0.5rem !important;
    width: auto !important;
}

table.spiffy.calendar-table td.day-with-date span.spiffy-popup:before {
    border-bottom-color:  #EE960A !important;;
}

table.spiffy.calendar-table td.day-with-date span.spiffy-popup:after {
    border-bottom-color: rgba(0,0,0,1.0) !important;
}

table.spiffy.calendar-table td.day-with-date span.spiffy-popup span.event-title {
    color: #EE960A !important;
    font-family: "Lato" !important;
}

table.spiffy.calendar-table td.day-with-date span.calnk-link span.spiffy-popup span.event-title-break {
    background-color: #EE960A !important;
}

table.spiffy.calendar-table td.day-with-date span.spiffy-popup span.ca-desc-p {
    color: rgba(255,255,255,1.0) !important;
    white-space: wrap;
}

#calendar-wrapper {
    width: 100%;
    overflow-x: auto; /* Enables horizontal scrolling when needed */
    overflow-y: visible; /* Prevents vertical clipping */
    -webkit-overflow-scrolling: touch; /* Smooth scrolling on mobile */
    box-sizing: border-box;
    margin-bottom: 1rem;
}

#calendar-wrapper table {
    width: auto; /* Allows natural width beyond 100% */
    min-width: 100%; /* Fills container but can grow */
    max-width: none !important; /* Prevents squeezing */
    table-layout: fixed; /* Consistent column widths like Google Calendar */
    border-collapse: collapse;
    display: table; /* Ensures table behavior */
}

#calendar-wrapper th, td {
    padding: 12px 15px;
    text-align: center; /* Centered like Google Calendar */
    border: 1px solid #ddd; /* Subtle borders */
    white-space: nowrap; /* Prevents text wrapping, forces scroll */
    min-width: 100px; /* Minimum column width like calendar days */
}

/* Responsive adjustments */
@media screen and (max-width: 768px) {
    #calendar-wrapper th, td {
        padding: 8px 10px; /* Smaller padding on tablets */
        font-size: 13px; /* Slightly smaller text */
        min-width: 80px; /* Adjust column width */
    }

    #calendar-wrapper span.spiffy-title {
        display: block;
        overflow-x: hidden;
    }
}

@media screen and (max-width: 480px) {
    #calendar-wrapper th, td {
        padding: 6px 8px; /* Even smaller on phones */
        font-size: 12px;
        min-width: 60px; /* Narrower columns */
    }
    
    /* Ensure scrolling kicks in */
    #calendar-wrapper {
        -webkit-overflow-scrolling: touch;
    }
}