.elementor-12944 .elementor-element.elementor-element-07ea34b{--display:flex;--min-height:450px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--z-index:0;overflow:visible;}.elementor-12944 .elementor-element.elementor-element-07ea34b:not(.elementor-motion-effects-element-type-background), .elementor-12944 .elementor-element.elementor-element-07ea34b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://live-family-house-new.pantheonsite.io/wp-content/uploads/2026/02/Website-2550x900-7-2048x723-1.jpg");background-position:top center;background-repeat:no-repeat;background-size:cover;}.elementor-12944 .elementor-element.elementor-element-e68f0b2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--padding-top:4%;--padding-bottom:0%;--padding-left:3%;--padding-right:3%;overflow:visible;}.elementor-12944 .elementor-element.elementor-element-e68f0b2:not(.elementor-motion-effects-element-type-background), .elementor-12944 .elementor-element.elementor-element-e68f0b2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-12944 .elementor-element.elementor-element-fb12e6c{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );overflow:visible;}.elementor-12944 .elementor-element.elementor-element-2040c36{width:var( --container-widget-width, 100% );max-width:100%;padding:0px 0px 0px 0px;--container-widget-width:100%;--container-widget-flex-grow:0;z-index:5;}.elementor-12944 .elementor-element.elementor-element-2040c36 .elementskit-section-title-wraper .elementskit-section-title{color:var( --e-global-color-secondary );margin:0px 0px 23px 0px;font-family:"Inter", Sans-serif;font-size:50px;font-weight:700;text-transform:capitalize;line-height:56px;letter-spacing:-1.44px;}.elementor-12944 .elementor-element.elementor-element-2040c36 .elementskit-section-title-wraper .elementskit-section-title > span{color:#354463;text-decoration-color:#354463;}.elementor-12944 .elementor-element.elementor-element-2040c36 .elementskit-section-title-wraper .elementskit-section-title:hover > span{color:#000000;}.elementor-12944 .elementor-element.elementor-element-2040c36 .elementskit-section-title-wraper .elementskit-section-title span:last-child, .elementor-12944 .elementor-element.elementor-element-2040c36 .elementskit-section-title-wraper .elementskit-section-title > span{font-family:"Poppins", Sans-serif;font-size:48px;font-weight:800;text-transform:capitalize;line-height:56px;letter-spacing:-1.44px;}.elementor-12944 .elementor-element.elementor-element-2040c36 .elementskit-section-title-wraper .elementskit-section-title span:last-child{text-decoration-color:#354463;}.elementor-12944 .elementor-element.elementor-element-bee2cfc{width:auto;max-width:auto;top:-8%;z-index:0;}.elementor-12944 .elementor-element.elementor-element-bee2cfc .elementskit-section-title-wraper .elementskit-section-title{color:rgba(127, 130, 140, 0.1);margin:0px 0px 0px 0px;font-family:"Caveat", Sans-serif;font-size:98px;font-weight:700;line-height:92px;letter-spacing:-2.94px;}.elementor-12944 .elementor-element.elementor-element-bee2cfc .elementskit-section-title-wraper .elementskit-section-title > span{color:#000000;}.elementor-12944 .elementor-element.elementor-element-bee2cfc .elementskit-section-title-wraper .elementskit-section-title:hover > span{color:#000000;}.elementor-12944 .elementor-element.elementor-element-0ab7f3d{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:55px;--padding-left:0px;--padding-right:0px;overflow:visible;}.elementor-12944 .elementor-element.elementor-element-3b50609{width:var( --container-widget-width, 84% );max-width:84%;padding:0px 0px 0px 0px;--container-widget-width:84%;--container-widget-flex-grow:0;z-index:5;}.elementor-12944 .elementor-element.elementor-element-3b50609 .elementskit-section-title-wraper .elementskit-section-title{color:var( --e-global-color-secondary );margin:0px 0px 23px 0px;font-family:"Inter", Sans-serif;font-size:50px;font-weight:700;text-transform:capitalize;line-height:56px;letter-spacing:-1.44px;}.elementor-12944 .elementor-element.elementor-element-3b50609 .elementskit-section-title-wraper .elementskit-section-title > span{color:#354463;text-decoration-color:#354463;}.elementor-12944 .elementor-element.elementor-element-3b50609 .elementskit-section-title-wraper .elementskit-section-title:hover > span{color:#000000;}.elementor-12944 .elementor-element.elementor-element-3b50609 .elementskit-section-title-wraper .elementskit-section-title span:last-child, .elementor-12944 .elementor-element.elementor-element-3b50609 .elementskit-section-title-wraper .elementskit-section-title > span{font-family:"Poppins", Sans-serif;font-size:48px;font-weight:800;text-transform:capitalize;line-height:56px;letter-spacing:-1.44px;}.elementor-12944 .elementor-element.elementor-element-3b50609 .elementskit-section-title-wraper .elementskit-section-title span:last-child{text-decoration-color:#354463;}.elementor-12944 .elementor-element.elementor-element-3b50609 .elementskit-section-title-wraper p{color:var( --e-global-color-astglobalcolor2 );font-family:"Inter", Sans-serif;font-size:20px;font-weight:300;line-height:30px;letter-spacing:-0.2px;margin:35px 0px 0px 0px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );}.elementor-12944 .elementor-element.elementor-element-bfbb51a .elementor-button{background-color:var( --e-global-color-secondary );border-radius:50px 50px 50px 50px;padding:17px 30px 17px 30px;}.elementor-12944 .elementor-element.elementor-element-bfbb51a{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-12944 .elementor-element.elementor-element-56a759b{--display:flex;--padding-top:10px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;overflow:visible;}:root{--page-title-display:none;}@media(max-width:1366px){.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );}}@media(min-width:760px){.elementor-12944 .elementor-element.elementor-element-e68f0b2{--content-width:1300px;}.elementor-12944 .elementor-element.elementor-element-56a759b{--content-width:1300px;}}@media(max-width:1024px){.elementor-12944 .elementor-element.elementor-element-2040c36{padding:0px 0px 0px 0px;}.elementor-12944 .elementor-element.elementor-element-3b50609{padding:0px 0px 0px 0px;}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );}}@media(max-width:759px){.elementor-12944 .elementor-element.elementor-element-07ea34b{--min-height:200px;}.elementor-12944 .elementor-element.elementor-element-e68f0b2{--margin-top:0px;--margin-bottom:-20px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-12944 .elementor-element.elementor-element-fb12e6c{--min-height:0px;--padding-top:20px;--padding-bottom:20px;--padding-left:10px;--padding-right:10px;}.elementor-12944 .elementor-element.elementor-element-2040c36{padding:12px 7px 12px 7px;--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-12944 .elementor-element.elementor-element-2040c36 .elementskit-section-title-wraper .elementskit-section-title{margin:0px 0px 0px 0px;font-size:34px;line-height:1.2em;}.elementor-12944 .elementor-element.elementor-element-bee2cfc{width:100%;max-width:100%;top:29px;}body:not(.rtl) .elementor-12944 .elementor-element.elementor-element-bee2cfc{left:4px;}body.rtl .elementor-12944 .elementor-element.elementor-element-bee2cfc{right:4px;}.elementor-12944 .elementor-element.elementor-element-bee2cfc .elementskit-section-title-wraper .elementskit-section-title{font-size:58px;line-height:0.8em;letter-spacing:0px;}.elementor-12944 .elementor-element.elementor-element-0ab7f3d{--padding-top:0px;--padding-bottom:20px;--padding-left:14px;--padding-right:14px;}.elementor-12944 .elementor-element.elementor-element-3b50609{padding:12px 7px 12px 7px;--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-12944 .elementor-element.elementor-element-3b50609 .elementskit-section-title-wraper .elementskit-section-title{font-size:34px;line-height:1.2em;}.elementor-12944 .elementor-element.elementor-element-3b50609 .elementskit-section-title-wraper p{font-size:16px;line-height:1.6em;margin:0px 0px 0px 0px;}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-12944 .elementor-element.elementor-element-bfbb51a{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-12944 .elementor-element.elementor-element-bfbb51a.elementor-element{--align-self:flex-start;}.elementor-12944 .elementor-element.elementor-element-56a759b{--padding-top:30px;--padding-bottom:50px;--padding-left:10px;--padding-right:10px;}}/* Start custom CSS for shortcode, class: .elementor-element-48f25b9 *//* --- 1. GENERAL EVENT STYLES --- */
.elementor-12944 .elementor-element.elementor-element-48f25b9 a, 
.elementor-12944 .elementor-element.elementor-element-48f25b9 .fc-event, 
.elementor-12944 .elementor-element.elementor-element-48f25b9 .fc-event-title, 
.elementor-12944 .elementor-element.elementor-element-48f25b9 .fc-col-header-cell-cushion {
    text-decoration: none !important;
    border-bottom: none !important;
  
}
/* Force Calendar Header to Dark Blue */
html body .elementor-element .fc-scrollgrid-section-header .fc-col-header-cell {
    background-color: #354463 !important;
    border-color: #354463 !important;
}

/* Force Calendar Header Text to White */
html body .elementor-element .fc-scrollgrid-section-header .fc-col-header-cell-cushion {
    color: #ffffff !important;
}

/* --- 2. ACTIVE / AVAILABLE MEALS --- */
.elementor-12944 .elementor-element.elementor-element-48f25b9 .fc-daygrid-event:not(.fc-event-past) {
    background-color: transparent !important;
    border: 1px solid #C75300 !important; 
    border-radius: 6px !important;
    padding: 10px 12px !important; 
    margin: 6px 2px !important;
    display: block !important;
}

.elementor-12944 .elementor-element.elementor-element-48f25b9 .fc-daygrid-event:not(.fc-event-past) .fc-event-title,
.elementor-12944 .elementor-element.elementor-element-48f25b9 .fc-daygrid-event:not(.fc-event-past) .fc-event-time {
    color: #354463 !important; /* Brown text for active events */
    font-weight: 700 !important; 
    font-size: 14px !important;
    line-height: 1.4 !important;
}

/* --- 3. BOOKED MEALS (Overrides Active State) --- */
.elementor-12944 .elementor-element.elementor-element-48f25b9 .fc-daygrid-event.unavailable-event {
    border: none !important; /* Removes the orange border */
    background-color: transparent !important;
    opacity: 0.7 !important; /* Fades it slightly */
    /* pointer-events removed so it is clickable again */
}

.elementor-12944 .elementor-element.elementor-element-48f25b9 .fc-daygrid-event.unavailable-event .fc-event-title,
.elementor-12944 .elementor-element.elementor-element-48f25b9 .fc-daygrid-event.unavailable-event .fc-event-time,
.elementor-12944 .elementor-element.elementor-element-48f25b9 .fc-daygrid-event.unavailable-event .fc-event-main {
    color: #000000 !important; /* Forces text to black */
}

/* --- 4. PAST MEALS --- */
.elementor-12944 .elementor-element.elementor-element-48f25b9 .fc-event-past {
    background-color: transparent !important;
    border: none !important; 
    padding: 4px 8px !important; 
    margin: 2px 0 !important;
    pointer-events: none !important; /* Keeps past meals unclickable */
    opacity: 0.6 !important;
}

.elementor-12944 .elementor-element.elementor-element-48f25b9 .fc-event-past .fc-event-title,
.elementor-12944 .elementor-element.elementor-element-48f25b9 .fc-event-past .fc-event-time {
    color: #000000 !important; /* Black text for past events */
    font-weight: 500 !important;
    font-size: 13px !important;
}

/* --- 5. CLEANUP & GRID --- */
.elementor-12944 .elementor-element.elementor-element-48f25b9 .fc-daygrid-day.has-real-event { background-color: transparent !important; } /* Removes green background */
.elementor-12944 .elementor-element.elementor-element-48f25b9 .fc-daygrid-event-dot { display: none !important; }
.elementor-12944 .elementor-element.elementor-element-48f25b9 .fc-toolbar-title { color: #354463 !important; font-weight: 700 !important; }
.elementor-12944 .elementor-element.elementor-element-48f25b9 .fc-col-header-cell { background-color: #F8F5F2 !important; padding: 10px 0 !important; }

/* --- 6. MOBILE RESPONSIVENESS --- */
@media screen and (max-width: 767px) {
    .elementor-12944 .elementor-element.elementor-element-48f25b9 .fc-toolbar-title { font-size: 1.1rem !important; }
    
    .elementor-12944 .elementor-element.elementor-element-48f25b9 .fc-daygrid-event:not(.fc-event-past) {
        padding: 4px 6px !important;
        margin: 2px 1px !important;
    }
    
    .elementor-12944 .elementor-element.elementor-element-48f25b9 .fc-daygrid-event:not(.fc-event-past) .fc-event-title {
        font-size: 11px !important;
        line-height: 1.1 !important;
    }
    
    .elementor-12944 .elementor-element.elementor-element-48f25b9 .fc-event-past .fc-event-title,
    .elementor-12944 .elementor-element.elementor-element-48f25b9 .unavailable-event .fc-event-title {
        font-size: 10px !important;
    }
    
    .elementor-12944 .elementor-element.elementor-element-48f25b9 .fc-view-harness { overflow-x: auto !important; }
    .elementor-12944 .elementor-element.elementor-element-48f25b9 .fc-view { min-width: 500px !important; }
    .elementor-12944 .elementor-element.elementor-element-48f25b9 .fc-daygrid-day-number { font-size: 12px !important; padding: 2px !important; }
}

/* Target each day individually to overpower Elementor's beige color */
.elementor-12944 .elementor-element.elementor-element-48f25b9 th.fc-col-header-cell.fc-day-sun,
.elementor-12944 .elementor-element.elementor-element-48f25b9 th.fc-col-header-cell.fc-day-mon,
.elementor-12944 .elementor-element.elementor-element-48f25b9 th.fc-col-header-cell.fc-day-tue,
.elementor-12944 .elementor-element.elementor-element-48f25b9 th.fc-col-header-cell.fc-day-wed,
.elementor-12944 .elementor-element.elementor-element-48f25b9 th.fc-col-header-cell.fc-day-thu,
.elementor-12944 .elementor-element.elementor-element-48f25b9 th.fc-col-header-cell.fc-day-fri,
.elementor-12944 .elementor-element.elementor-element-48f25b9 th.fc-col-header-cell.fc-day-sat {
    background-color: #354463 !important;
 
}

/* Force the text inside those specific days to be white */
.elementor-12944 .elementor-element.elementor-element-48f25b9 th.fc-col-header-cell .fc-col-header-cell-cushion {
    color: #ffffff !important;
}

/* Physically prevent any clicks on booked Pie Calendar events */
html body .unavailable-event,
html body .unavailable-event a {
    pointer-events: none !important;
    cursor: default !important;
}


/* Fix squishy Pie Calendar on mobile by enabling horizontal swipe/scroll */
@media (max-width: 768px) {
    
    /* 1. Force the calendar table to stay wide enough so text fits nicely */
    html body .fc .fc-scrollgrid {
        min-width: 800px !important; /* Adjust this number if you want wider/narrower columns */
    }
    
    /* 2. Enable smooth horizontal scrolling inside the calendar container */
    html body .fc-view-harness {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important; /* Makes swiping smooth on iPhones */
        padding-bottom: 10px !important; /* Adds a little breathing room for the scrollbar */
    }
    
    /* 3. Slightly reduce the text size on mobile to fit more words per line */
    html body .fc-event-title {
        font-size: 12px !important;
        line-height: 1.3 !important;
        white-space: normal !important;
        color: #354463 !important;
    }
}

/* Change background and border color of Today, Prev, and Next buttons */
html body .piecal-controls .fc-button-primary {
    background-color: #354463 !important;
    border-color: #354463 !important;
    color: #ffffff !important; /* Ensures the text/arrows stay white */
}/* End custom CSS */