 .aegan-booking-page {
     background: #f7faff;
 }

 .aegan-booking-hero {
     background-image: linear-gradient(120deg, rgba(0, 82, 218, 0.76), rgba(37, 48, 65, 0.78)), url("../img/plumbing-banner.jpg");
     background-position: center;
     background-repeat: no-repeat;
     background-size: cover;
     padding: 95px 0 90px;
     text-align: center;
 }

 .aegan-booking-hero h1 {
     color: #fff;
     font-size: 46px;
     font-weight: 800;
     margin-bottom: 12px;
 }

 .aegan-booking-hero p {
     color: #eef4ff;
     margin: 0 auto;
     max-width: 610px;
 }

 .aegan-form-section {
     padding: 80px 0;
 }

 .aegan-checkout-shell {
     display: grid;
     grid-template-columns: minmax(0, 1fr) 370px;
     gap: 34px;
     align-items: start;
 }

 .aegan-checkout-card,
 .aegan-summary-card {
     background: #fff;
     border: 1px solid #e4eaf4;
     box-shadow: 0 18px 45px rgba(0, 42, 112, 0.08);
     border-radius: 8px;
 }

 .aegan-checkout-card {
     padding: 38px;
 }

 .aegan-page-kicker {
     color: #0052da;
     display: block;
     font-family: "Manrope", sans-serif;
     font-size: 14px;
     font-weight: 800;
     letter-spacing: 0.4px;
     margin-bottom: 8px;
     text-transform: uppercase;
 }

 .aegan-checkout-card h2,
 .aegan-summary-card h3 {
     color: #253041;
     font-size: 28px;
     font-weight: 800;
     margin-bottom: 8px;
 }

 .aegan-checkout-card .intro-text {
     color: #687083;
     margin-bottom: 28px;
 }

 .aegan-form-block {
     border-top: 1px solid #edf0f5;
     padding-top: 30px;
     margin-top: 30px;
 }

 .aegan-form-block:first-of-type {
     border-top: 0;
     padding-top: 0;
     margin-top: 0;
 }

 .aegan-form-head {
     display: flex;
     align-items: flex-start;
     justify-content: space-between;
     gap: 20px;
     margin-bottom: 18px;
 }

 .aegan-form-head h3 {
     font-size: 20px;
     font-weight: 800;
     margin: 0;
 }

 .aegan-form-head p {
     color: #6f7787;
     font-size: 14px;
     line-height: 1.6;
     margin: 5px 0 0;
 }

 .aegan-sign-link {
     color: #0052da;
     font-weight: 700;
     text-decoration: underline;
     white-space: nowrap;
 }

 .aegan-grid {
     display: grid;
     grid-template-columns: repeat(2, minmax(0, 1fr));
     gap: 14px;
 }

 .aegan-field {
     min-width: 0;
 }

 .aegan-field.full {
     grid-column: 1 / -1;
 }

 .aegan-field label {
     color: #253041;
     display: block;
     font-family: "Manrope", sans-serif;
     font-size: 13px;
     font-weight: 700;
     margin-bottom: 7px;
 }

 .aegan-control {
     background: #fff;
     border: 1px solid #dfe5ee;
     border-radius: 5px;
     color: #253041;
     height: 54px;
     outline: 0;
     padding: 0 15px;
     transition: border-color 0.2s, box-shadow 0.2s;
     width: 100%;
 }

 .aegan-control:focus {
     border-color: #0052da;
     box-shadow: 0 0 0 4px rgba(0, 82, 218, 0.1);
 }

 textarea.aegan-control {
     height: 120px;
     padding-top: 14px;
     resize: vertical;
 }

 .aegan-phone-row {
     display: grid;
     grid-template-columns: 112px minmax(0, 1fr);
     gap: 12px;
 }

 .aegan-note-row {
     align-items: center;
     background: #f8fbff;
     border: 1px solid #e4eaf4;
     border-radius: 6px;
     display: flex;
     justify-content: space-between;
     padding: 17px 18px;
 }

 .aegan-note-row strong {
     color: #253041;
     font-family: "Manrope", sans-serif;
     font-size: 17px;
 }

 .aegan-note-row a {
     color: #0052da;
     font-weight: 800;
 }

 .aegan-policy {
     background: #fbfdff;
     border: 1px solid #e4eaf4;
     border-radius: 6px;
     padding: 22px;
 }

 .aegan-policy h3 {
     font-size: 20px;
     font-weight: 800;
     margin-bottom: 16px;
 }

 .aegan-policy-track {
     background: #dfeafc;
     border-radius: 999px;
     height: 12px;
     margin: 24px 0 12px;
     position: relative;
 }

 .aegan-policy-track span {
     background: #0052da;
     border-radius: inherit;
     display: block;
     height: 100%;
     width: 72%;
 }

 .aegan-policy-badge {
     background: #0052da;
     border-radius: 999px;
     color: #fff;
     display: inline-block;
     font-size: 12px;
     font-weight: 800;
     padding: 7px 12px;
 }

 .aegan-policy small {
     color: #6f7787;
     display: flex;
     justify-content: space-between;
     margin-bottom: 8px;
 }

 .aegan-policy p {
     color: #4c5165;
     font-size: 14px;
     line-height: 1.7;
     margin-bottom: 0;
 }

 .aegan-policy a {
     color: #0052da;
     font-weight: 800;
     text-decoration: underline;
 }

 .aegan-summary-card {
     padding: 26px;
     position: sticky;
     top: 110px;
 }

 .aegan-summary-card h3 {
     font-size: 20px;
     margin-bottom: 22px;
 }

 .aegan-summary-top {
     align-items: center;
     background: #f7faff;
     border: 1px solid #e4eaf4;
     border-radius: 8px;
     display: grid;
     gap: 14px;
     grid-template-columns: 44px 1fr auto;
     padding: 16px;
 }

 .aegan-summary-edit-btn {
     color: #8b8b8b;
     font-size: 16px;
     transition: color 0.2s, background 0.2s, transform 0.2s;
     display: flex;
     align-items: center;
     justify-content: center;
     width: 32px;
     height: 32px;
     border-radius: 50%;
     background: transparent;
 }

 .aegan-summary-edit-btn:hover {
     color: #0052da;
     background: #eaf1ff;
     transform: scale(1.1);
 }

 .aegan-summary-icon,
 .aegan-service-dot {
     align-items: center;
     border-radius: 50%;
     display: flex;
     height: 44px;
     justify-content: center;
     width: 44px;
 }

 .aegan-summary-icon {
     background: #eaf1ff;
     color: #0052da;
     font-size: 18px;
 }

 .aegan-summary-top strong,
 .aegan-service-line strong {
     color: #253041;
     display: block;
     font-family: "Manrope", sans-serif;
     font-weight: 800;
 }

 .aegan-summary-top span,
 .aegan-service-line span {
     color: #687083;
     display: block;
     font-size: 13px;
     margin-top: 3px;
 }

 .aegan-service-line {
     align-items: center;
     border-bottom: 1px solid #edf0f5;
     display: grid;
     gap: 14px;
     grid-template-columns: 44px 1fr auto;
     padding: 22px 0;
 }

 .aegan-service-dot {
     background: #e5fff0;
     color: #009a45;
     font-weight: 800;
 }

 .aegan-service-price {
     color: #253041;
     font-weight: 800;
     white-space: nowrap;
 }

 .aegan-total-row {
     align-items: center;
     display: flex;
     justify-content: space-between;
     padding: 10px 0;
 }

 .aegan-total-row span {
     color: #687083;
 }

 .aegan-total-row strong {
     color: #253041;
     font-family: "Manrope", sans-serif;
 }

 .aegan-due-box {
     background: #253041;
     border-radius: 8px;
     color: #fff;
     margin-top: 15px;
     padding: 18px;
 }

 .aegan-due-box span,
 .aegan-due-box small {
     color: #cbd7ea;
     display: block;
 }

 .aegan-due-box strong {
     color: #fff;
     display: block;
     font-family: "Manrope", sans-serif;
     font-size: 24px;
     margin-top: 5px;
 }

 .aegan-book-btn {
     background: #0052da;
     border: 0;
     border-radius: 8px;
     color: #fff;
     cursor: pointer;
     display: block;
     font-family: "Manrope", sans-serif;
     font-weight: 800;
     margin-top: 18px;
     padding: 17px 22px;
     text-align: center;
     transition: background 0.2s;
     width: 100%;
 }

 .aegan-book-btn:hover {
     background: #0041ac;
     color: #fff;
 }

 .aegan-summary-note {
     color: #687083;
     font-size: 13px;
     line-height: 1.6;
     margin: 18px 0 0;
 }

 .aegan-trust-strip {
     display: grid;
     grid-template-columns: repeat(3, minmax(0, 1fr));
     gap: 16px;
     margin-top: 28px;
 }

 .aegan-trust-item {
     background: #fff;
     border: 1px solid #e4eaf4;
     border-radius: 8px;
     padding: 18px;
 }

 .aegan-trust-item i {
     color: #0052da;
     font-size: 22px;
     margin-bottom: 10px;
 }

 .aegan-trust-item strong {
     color: #253041;
     display: block;
     font-family: "Manrope", sans-serif;
     margin-bottom: 4px;
 }

 .aegan-trust-item span {
     color: #687083;
     font-size: 13px;
 }

 @media (max-width: 1199px) {
     .aegan-checkout-shell {
         grid-template-columns: minmax(0, 1fr) 330px;
     }
 }

 @media (max-width: 991px) {
     .aegan-booking-hero {
         padding: 75px 0;
     }

     .aegan-booking-hero h1 {
         font-size: 36px;
     }

     .aegan-checkout-shell {
         grid-template-columns: 1fr;
     }

     .aegan-summary-card {
         position: static;
     }
 }

 @media (max-width: 767px) {
     .aegan-form-section {
         padding: 55px 0;
     }

     .aegan-checkout-card,
     .aegan-summary-card {
         padding: 24px;
     }

     .aegan-grid,
     .aegan-trust-strip {
         grid-template-columns: 1fr;
     }

     .aegan-form-head {
         display: block;
     }

     .aegan-sign-link {
         display: inline-block;
         margin-top: 10px;
     }
 }

 @media (max-width: 480px) {
     .aegan-booking-hero h1 {
         font-size: 30px;
     }

     .aegan-phone-row {
         grid-template-columns: 1fr;
     }

     .aegan-checkout-card,
     .aegan-summary-card {
         padding: 20px;
     }

     .aegan-service-line {
         grid-template-columns: 40px 1fr;
     }

     .aegan-service-price {
         grid-column: 2;
     }
 }




 .aegan-calendar-section {
     background: #fff;
     padding: 72px 0 58px;
 }

 .aegan-calendar-shell {
     display: grid;
     grid-template-columns: minmax(0, 1fr) 330px;
     gap: 30px;
     align-items: start;
 }

 .aegan-calendar-panel {
     background: #fff;
     border-radius: 8px;
     min-width: 0;
 }

 .aegan-calendar-header {
     align-items: center;
     display: grid;
     grid-template-columns: 38px minmax(0, 1fr) 38px;
     gap: 16px;
     margin-bottom: 24px;
 }

 .aegan-calendar-title {
     color: #253041;
     font-family: "Manrope", sans-serif;
     font-size: 24px;
     font-weight: 800;
     margin: 0;
     text-align: center;
 }

 .aegan-calendar-nav {
     align-items: center;
     background: #f2f4f8;
     border: 0;
     border-radius: 6px;
     color: #111;
     cursor: pointer;
     display: flex;
     font-size: 18px;
     height: 38px;
     justify-content: center;
     transition: background 0.2s, color 0.2s;
     width: 38px;
 }

 .aegan-calendar-nav:hover,
 .aegan-calendar-nav:focus {
     background: #0052da;
     color: #fff;
     outline: 0;
 }

 .aegan-calendar-weekdays,
 .aegan-calendar-grid {
     display: grid;
     grid-template-columns: repeat(7, minmax(0, 1fr));
     text-align: center;
 }

 .aegan-calendar-weekdays {
     color: #8a95aa;
     font-family: "Manrope", sans-serif;
     font-size: 13px;
     margin-bottom: 10px;
 }

 .aegan-calendar-grid {
     row-gap: 10px;
 }

 .aegan-calendar-panel.is-collapsed .aegan-calendar-grid {
     max-height: 38px;
     overflow: hidden;
 }

 .aegan-calendar-panel.is-collapsed .aegan-time-toggle i {
     transform: rotate(180deg);
 }

 .aegan-calendar-panel.is-collapsed .aegan-slots {
     margin-top: 24px;
 }

 .aegan-day {
     align-items: center;
     background: transparent;
     border: 0;
     border-radius: 6px;
     color: #000;
     cursor: pointer;
     display: inline-flex;
     font-family: "Muli", sans-serif;
     font-size: 16px;
     height: 38px;
     justify-content: center;
     margin: 0 auto;
     padding: 0;
     transition: background 0.2s, color 0.2s, box-shadow 0.2s;
     width: 38px;
 }

 .aegan-day.is-empty {
     cursor: default;
     visibility: hidden;
 }

 .aegan-day.is-blocked {
     color: #9aa3b6;
     /* text-decoration: line-through; */
 }

 .aegan-day.is-available:hover,
 .aegan-day.is-available:focus {
     background: #eaf1ff;
     color: #0052da;
     outline: 0;
 }

 .aegan-day.is-selected {
     background: #121212;
     color: #fff;
     font-weight: 800;
 }

 .aegan-day.is-today {
     box-shadow: inset 0 0 0 2px #0052da;
 }

 .aegan-time-toggle {
     align-items: center;
     background: #f2f4f8;
     border: 0;
     border-radius: 50%;
     color: #111;
     cursor: pointer;
     display: flex;
     height: 30px;
     justify-content: center;
     margin: 12px auto 14px;
     width: 30px;
 }

 .aegan-time-divider {
     border-top: 1px solid #edf0f5;
     margin: 0 0 10px;
     position: relative;
 }

 .aegan-timezone {
     color: #687083;
     font-size: 13px;
     margin: 0;
     text-align: center;
 }

 .aegan-slots {
     margin-top: 30px;
 }

 .aegan-slots h3 {
     color: #111;
     font-size: 19px;
     font-weight: 800;
     margin-bottom: 24px;
 }

 .aegan-slot-group {
     margin-bottom: 16px;
 }

 .aegan-slot-group strong {
     color: #111;
     display: block;
     font-family: "Manrope", sans-serif;
     font-size: 13px;
     margin-bottom: 9px;
 }

 .aegan-slot-grid {
     display: grid;
     grid-template-columns: repeat(3, minmax(0, 160px));
     gap: 8px;
 }

 .aegan-slot {
     background: #f0f1f3;
     border: 1px solid transparent;
     border-radius: 5px;
     color: #111;
     cursor: pointer;
     font-family: "Manrope", sans-serif;
     font-size: 13px;
     font-weight: 800;
     min-height: 38px;
     padding: 10px 12px;
     transition: background 0.2s, border-color 0.2s, color 0.2s;
 }

 .aegan-slot:hover,
 .aegan-slot:focus {
     border-color: #0052da;
     outline: 0;
 }

 .aegan-slot.is-selected {
     background: #0052da;
     color: #fff;
 }

 .aegan-no-availability {
     color: #687083;
     margin-bottom: 0;
 }

 .aegan-calendar-summary {
     min-width: 0;
 }

 .aegan-calendar-summary h3 {
     color: #111;
     font-size: 20px;
     font-weight: 800;
     margin-bottom: 14px;
 }

 .aegan-summary-box {
     border: 1px solid #edf0f5;
     border-radius: 8px;
     overflow: hidden;
 }

 .aegan-summary-service {
     align-items: flex-start;
     display: grid;
     grid-template-columns: minmax(0, 1fr) 34px;
     gap: 14px;
     padding: 18px 15px;
 }

 .aegan-summary-service strong,
 .aegan-summary-row strong {
     color: #111;
     display: block;
     font-family: "Manrope", sans-serif;
     font-size: 15px;
     font-weight: 800;
 }

 .aegan-summary-service span {
     color: #687083;
     display: block;
     font-size: 13px;
     margin-top: 4px;
 }

 .aegan-summary-collapse {
     align-items: center;
     background: #f2f4f8;
     border: 0;
     border-radius: 50%;
     color: #111;
     cursor: pointer;
     display: flex;
     height: 30px;
     justify-content: center;
     width: 30px;
 }

 .aegan-summary-row {
     align-items: center;
     border-top: 1px solid #edf0f5;
     display: grid;
     grid-template-columns: minmax(0, 1fr) auto 26px;
     gap: 12px;
     padding: 18px 15px;
 }

 .aegan-summary-row span {
     color: #111;
     white-space: nowrap;
 }

 .aegan-summary-edit {
     color: #8b8b8b;
     font-size: 16px;
 }

 .aegan-get-appointment {
     background: #0052da;
     border: 0;
     border-radius: 8px;
     color: #fff;
     cursor: pointer;
     display: block;
     font-family: "Manrope", sans-serif;
     font-weight: 800;
     margin-top: 18px;
     min-height: 52px;
     padding: 15px 22px;
     text-align: center;
     transition: background 0.2s;
     width: 100%;
 }

 .aegan-get-appointment:hover,
 .aegan-get-appointment:focus {
     background: #0041ac;
     color: #fff;
     outline: 0;
 }

 .aegan-get-appointment.is-muted {
     background: #253041;
 }

 .aegan-form-section.is-hidden {
     display: none;
 }

 @media (max-width: 991px) {
     .aegan-calendar-section {
         padding: 55px 0;
     }

     .aegan-calendar-shell {
         grid-template-columns: 1fr;
     }

     .aegan-calendar-summary {
         max-width: 520px;
     }
 }

 @media (max-width: 575px) {
     .aegan-calendar-header {
         gap: 10px;
     }

     .aegan-calendar-title {
         font-size: 21px;
     }

     .aegan-calendar-weekdays {
         font-size: 12px;
     }

     .aegan-day {
         font-size: 14px;
         height: 34px;
         width: 34px;
     }

     .aegan-calendar-panel.is-collapsed .aegan-calendar-grid {
         max-height: 34px;
     }

     .aegan-slot-grid {
         grid-template-columns: 1fr;
     }

     .aegan-summary-row {
         grid-template-columns: 1fr auto;
     }

     .aegan-summary-edit {
         grid-column: 2;
     }
 }


 .aegan-slot:disabled {
     background: #f8f9fa;
     color: #c0c6d4;
     /* text-decoration: line-through; */
     cursor: not-allowed;
 }