/* 
Theme Name:		Hello Elementor Child
Theme URI:		https://elementor.com/
Description:	Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author:			Elementor Team
Author URI:		https://elementor.com/
Template:		hello-elementor
Version:		1.0.0
Text Domain:	hello-elementor-child
Tags:           flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/*
    Add your custom styles here
*/

/* ==========================================================
   Table Bookings - Staff Password Screen
   ========================================================== */

body.page-id-2695 main#content.post-password-required {
    max-width: 700px;
    margin: 300px auto 70px;
    padding: 70px 50px 65px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 20px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
    box-sizing: border-box;
}

/* Password form */
body.page-id-2695 main#content.post-password-required .post-password-form {
    margin: 0;
    text-align: center;
}

/* Intro text */
body.page-id-2695 main#content.post-password-required .post-password-form > p:first-of-type {
    max-width: 520px;
    margin: 0 auto 25px;
    font-size: 18px;
    line-height: 1.5;
}

/* Password row */
body.page-id-2695 main#content.post-password-required .post-password-form > p:last-child {
    margin: 0;
    text-align: center;
}

/* Password label */
body.page-id-2695 main#content.post-password-required .post-password-form label {
    display: block;
    width: 400px;
    max-width: 100%;
    margin: 0 auto 15px;
    text-align: left;
    font-weight: 600;
}

/* Password input */
body.page-id-2695 main#content.post-password-required .post-password-form input[type="password"] {
    display: block;
    width: 100%;
    height: 48px;
    margin: 8px 0 0;
    padding: 8px 12px;
    border: 1px solid #ccc;
    border-radius: 5px;
    background: #fff;
    color: #333;
    box-sizing: border-box;
}

/* Enter button */
body.page-id-2695 main#content.post-password-required .post-password-form input[type="submit"] {
    display: block;
    max-width: 100%;
    height: 48px;
    margin: 0 auto 15px;
    padding: 0 20px;
    border: 0;
    border-radius: 5px;
    background: #5d8d79;
    color: #fff;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
}

body.page-id-2695 main#content.post-password-required .post-password-form input[type="submit"]:hover {
    opacity: 0.9;
}

/* Mobile */
@media (max-width: 767px) {

    body.page-id-2695 main#content.post-password-required {
        width: calc(100% - 40px);
        margin: 220px auto 50px;
        padding: 45px 25px;
    }

    body.page-id-2695 main#content.post-password-required .post-password-form > p:first-of-type {
        font-size: 16px;
    }
}

/* Five Star unavailable times */
#rtb-time_root .picker__list-item--disabled,

/* Dog & Fox unwanted start times */
#rtb-time_root .picker__list-item.dogfox-hide-time {
    display: none !important;
}

/* Staff Table Bookings - Cancel button */
.dentons-booking-actions {
    text-align: center;
}

.dentons-cancel-booking {
    width: auto !important;
    min-width: 0 !important;
    padding: 7px 14px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
}


/* Staff booking cards: desktop keeps the original table unchanged. */
body.page-id-2695 .dentons-booking-cards { display: none; }

@media (max-width: 767px) {
    body.page-id-2695 .rtb-view-bookings-form { max-width: 100%; min-width: 0; }
    body.page-id-2695 .rtb-view-bookings-table { display: none !important; }
    body.page-id-2695 .dentons-booking-cards { display: grid; gap: 14px; width: 100%; min-width: 0; }
    body.page-id-2695 .dentons-booking-card {
        min-width: 0; padding: 16px; border: 1px solid #ddd;
        border-radius: 10px; background: #fff;
    }
    body.page-id-2695 .dentons-booking-card-fields { display: grid; gap: 10px; }
    body.page-id-2695 .dentons-booking-card-field {
        display: grid; grid-template-columns: minmax(0, 95px) minmax(0, 1fr);
        gap: 10px; align-items: start; font-size: 14px;
    }
    body.page-id-2695 .dentons-booking-card-field strong { font-weight: 600; }
    body.page-id-2695 .dentons-booking-card-value {
        min-width: 0; overflow-wrap: anywhere; word-break: normal;
    }
    body.page-id-2695 .dentons-booking-card-value ul { margin: 0; padding-left: 0; list-style: none; }
    body.page-id-2695 .dentons-booking-card-actions { margin-top: 15px; }
    body.page-id-2695 .dentons-booking-card-actions form { margin: 0; }
    body.page-id-2695 .dentons-booking-card-actions .dentons-cancel-booking {
        display: block; width: 100% !important; min-height: 42px;
    }
}

/* Dog & Fox: staff Day / Week / Month overview */
body.page-id-2695 .dentons-staff-overview { margin: 0 0 22px; }
body.page-id-2695 .dentons-overview-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
body.page-id-2695 .dentons-overview-tabs a { display: inline-block; padding: 9px 18px; border: 1px solid #5d8d79; border-radius: 6px; text-decoration: none; color: #315b49; font-weight: 600; }
body.page-id-2695 .dentons-overview-tabs a.is-active { background: #5d8d79; color: #fff; }
body.page-id-2695 .dentons-overview-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 10px 0; }
body.page-id-2695 .dentons-overview-heading h3 { font-size: 19px; text-align: center; margin: 0; }
body.page-id-2695 .dentons-overview-heading a { white-space: nowrap; }
body.page-id-2695 .dentons-overview-note { font-size: 13px; color: #555; }
body.page-id-2695 .dentons-overview-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; margin: 14px 0; }
body.page-id-2695 .dentons-overview-day { display: flex; flex-direction: column; gap: 5px; padding: 12px 9px; min-width: 0; border: 1px solid #d7dfda; border-radius: 8px; background: #fff; color: #263b30; font-size: 12px; line-height: 1.35; text-decoration: none; overflow-wrap: anywhere; }
body.page-id-2695 .dentons-overview-day:hover, body.page-id-2695 .dentons-overview-day:focus { border-color: #5d8d79; background: #eff6f1; }
body.page-id-2695 .dentons-overview-day-label { font-size: 13px; margin-bottom: 5px; }
body.page-id-2695 .dentons-overview-day.is-outside-range { opacity: .65; }
body.page-id-2695 .dentons-overview-services { display: none; padding-top: 3px; border-top: 1px solid #e8eeea; }
body.page-id-2695 .dentons-staff-overview.show-services .dentons-overview-services { display: block; }
body.page-id-2695 .dentons-overview-breakdown { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; margin: 6px 0; cursor: pointer; }
@media (max-width: 900px) {
    body.page-id-2695 .dentons-overview-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
    body.page-id-2695 .dentons-overview-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.page-id-2695 .dentons-overview-heading h3 { font-size: 15px; }
    body.page-id-2695 .dentons-overview-heading a { font-size: 12px; }
    body.page-id-2695 .dentons-overview-day { padding: 10px; }
}

/* Calendar presentation polish */
body.page-id-2695 .dentons-overview-heading h3 { font-size: 26px; font-weight: 600; line-height: 1.3; }
body.page-id-2695 .dentons-overview-day { padding: 0 0 11px; gap: 5px; overflow: hidden; }
body.page-id-2695 .dentons-overview-day-label { display: block; margin: 0 0 6px; padding: 10px 9px; background: #5d8d79; color: #fff; font-size: 13px; line-height: 1.3; }
body.page-id-2695 .dentons-overview-day > span { margin-left: 9px; margin-right: 9px; }
body.page-id-2695 .dentons-overview-day:hover, body.page-id-2695 .dentons-overview-day:focus { background: #eff6f1; }
body.page-id-2695 .dentons-overview-day:hover .dentons-overview-day-label, body.page-id-2695 .dentons-overview-day:focus .dentons-overview-day-label { background: #46725f; }
body.page-id-2695 .dentons-overview-breakdown { display: inline-flex; align-items: center; gap: 14px; padding: 9px 15px; border: 1px solid #5d8d79; border-radius: 6px; background: #fff; color: #315b49; font-size: 14px; font-weight: 600; line-height: 1.4; cursor: pointer; margin: 8px 0; }
body.page-id-2695 .dentons-overview-breakdown:hover, body.page-id-2695 .dentons-overview-breakdown:focus-visible { background: #eff6f1; }
body.page-id-2695 .dentons-overview-breakdown[aria-pressed="true"] { background: #5d8d79; color: #fff; }
body.page-id-2695 .dentons-overview-breakdown-state { font-size: 12px; font-weight: 500; }
@media (max-width: 480px) { body.page-id-2695 .dentons-overview-heading h3 { font-size: 19px; } }

/* Staff overview breakdown toggle - explicit normal, hover and pressed colours. */
body.page-id-2695 button.dentons-overview-breakdown,
body.page-id-2695 button.dentons-overview-breakdown[aria-pressed="false"] {
    background: #ffffff !important;
    border: 1px solid #5f8772 !important;
    color: #315b49 !important;
}
body.page-id-2695 button.dentons-overview-breakdown:hover,
body.page-id-2695 button.dentons-overview-breakdown:focus-visible,
body.page-id-2695 button.dentons-overview-breakdown[aria-pressed="false"]:hover,
body.page-id-2695 button.dentons-overview-breakdown[aria-pressed="false"]:focus-visible {
    background: #4d755f !important;
    border-color: #4d755f !important;
    color: #ffffff !important;
}
body.page-id-2695 button.dentons-overview-breakdown[aria-pressed="true"] {
    background: #5f8772 !important;
    border-color: #5f8772 !important;
    color: #ffffff !important;
}
body.page-id-2695 button.dentons-overview-breakdown[aria-pressed="true"]:hover,
body.page-id-2695 button.dentons-overview-breakdown[aria-pressed="true"]:focus-visible {
    background: #4d755f !important;
    border-color: #4d755f !important;
    color: #ffffff !important;
}
body.page-id-2695 button.dentons-overview-breakdown .dentons-overview-breakdown-state {
    color: inherit !important;
}
