.book-page-container{background:linear-gradient(to bottom right,#c6e7ff,#ffdde1);min-height:100vh;padding:100px 20px 50px}#booking_section h1,#booking_section h2,#booking_section h3{font-family:Dancing Script,cursive;color:#a03a8b;text-shadow:1px 1px 2px rgba(255,255,255,.5);margin-top:15px;margin-bottom:10px}#booking_section h1{font-size:2.8em}#booking_section h2{font-size:2em}#booking_section h3{font-size:1.6em}#package_title{font-style:italic;color:#7d3c98;margin-bottom:15px}#booking_section a{color:#8a2be2;text-decoration:none;font-weight:700}#booking_section a:hover{text-decoration:underline}#booking_section p{color:#639;margin-bottom:25px}#days,#time_selector{margin-top:20px}#month_display{font-family:Dancing Script,cursive;font-size:2.5em;color:#a03a8b;margin-bottom:10px;text-align:center}#days_section_wrapper{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;width:100%;max-width:900px;margin:15px auto}#days_container{display:grid;grid-template-columns:repeat(6,1fr);row-gap:8px;column-gap:8px;width:100%;max-width:600px;margin:0 auto;justify-content:center;text-align:center}#days_container .day,#times_container .time-button{background:linear-gradient(to bottom,#9fd8ff,pink);border:1px solid #a0d0ff;border-radius:8px;padding:6px 3px;cursor:pointer;box-shadow:0 2px 4px #0000001a;transition:all .2s ease-in-out;color:#333;height:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-weight:700;font-size:.75em}#days_container .empty-day{background:transparent;border:none;box-shadow:none;cursor:default}#days_container .day>div:first-child{font-size:1.1em;line-height:1}#days_container .day>div:last-child{font-size:.7em;margin-top:2px;text-transform:uppercase}.paging{background:linear-gradient(to bottom,#9fd8ff,pink);border:1px solid #a0d0ff;border-radius:12px;padding:10px 20px;margin:5px 15px;cursor:pointer;box-shadow:0 3px 6px #00000026;color:#555;font-weight:700;align-self:center}.paging:hover{transform:translateY(-2px);box-shadow:0 5px 10px #0003}#info_summary_container{background-color:#ffe6ebd9;border:1px solid #ffb6c1;border-radius:15px;padding:15px 25px;margin-top:25px;margin-bottom:25px;box-shadow:0 4px 8px #0000001a;width:auto;max-width:90%;display:inline-flex;flex-wrap:wrap;justify-content:center;font-family:Georgia,serif;color:#502050}#info_summary_container>div{margin:5px 10px;padding:5px 15px;border-right:2px solid rgba(255,182,193,.5);white-space:nowrap}#info_summary_container>div:last-child{border-right:none}#form_section{margin-top:20px;padding:25px;background-color:#ffffffb3;border-radius:15px;box-shadow:0 4px 10px #0000001a}#booking_form{font-family:Arial,sans-serif}#booking_form label{margin-top:12px;margin-bottom:3px;color:#555;font-weight:700;display:block}#booking_form input[type=text],#booking_form select{padding:10px;border:1px solid #ccc;border-radius:6px;margin-top:2px;width:100%;box-sizing:border-box;max-width:350px}.reald_img_container,.add_reald_container,.heartbeat_img_container,.add_heartbeat_container,.reschedule_container,.subscribe_container,#plush_options>div{margin-top:15px;padding:15px;background-color:#f5f5ffcc;border-radius:8px;border:1px solid #eee;display:flex;align-items:center;justify-content:center;flex-wrap:wrap}.reald_img_container img,.heartbeat_img_container img{margin-bottom:10px}.add_reald_container label,.add_heartbeat_container label,.reschedule_container label,.subscribe_container label,#plush_options label{margin-right:10px;color:#551a8b!important;font-weight:700!important;flex-grow:1;text-align:left}.add_reald_container input,.add_heartbeat_container input,.reschedule_container input,.subscribe_container input,#plush_options input{width:20px!important;height:20px!important;cursor:pointer;margin-left:10px}.button_style{background:linear-gradient(to bottom,#fdfdfd,#f0f0f0);border:1px solid #ccc;color:#555;padding:12px 25px;border-radius:25px;cursor:pointer;transition:all .2s ease;margin:10px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 5px #0000001a;font-weight:700;text-transform:uppercase;font-size:.9em}.button_style svg{margin-right:8px;margin-left:-5px;fill:currentColor}.button_style:hover{background:linear-gradient(to bottom,#f0f0f0,#e8e8e8);border-color:#bbb;box-shadow:0 3px 7px #00000026;transform:translateY(-1px)}#next_step.button_continue{background:linear-gradient(to bottom,#ffcdd2,#ef9a9a);border-color:#e57373;color:#8d1a1a}#next_step.button_continue svg{margin-left:8px;margin-right:-5px}#next_step.button_continue:hover{background:linear-gradient(to bottom,#ef9a9a,#e57373);border-color:#d32f2f}.button_schedule{background:linear-gradient(to bottom,#a5d6a7,#81c784);border-color:#66bb6a;color:#1b5e20}.button_schedule:hover{background:linear-gradient(to bottom,#81c784,#66bb6a);border-color:#388e3c}#step_6 .white_box{background-color:#fff;padding:15px;border-radius:8px;margin-bottom:20px;border:1px solid #eee;text-align:center;color:#666;font-size:.95em}#step_6 .cost_item{padding:5px 10px;border-bottom:1px dashed #e0e0e0;color:#444;font-size:1.05em}#step_6 .cost_item:last-of-type{border-bottom:none}#step_6 .cost_item>div:first-child{color:#666}#step_6 .layout.horizontal.cost_item[style*="font-weight: bolder"]{padding-top:10px;font-size:1.2em;color:#333}#step_6 label[for=tip]{color:#388e3c!important;font-size:1.1em}#step_6 select#tip{padding:6px 10px;border-radius:5px;border:1px solid #ccc;margin-left:5px}#stripe_payment_button{border-radius:10px;padding:15px}#stripe_payment_button img{max-height:75px;width:auto}#paypal_button_container{min-height:50px;margin-top:10px}#error_message{color:#d32f2f;font-size:1.1em;font-weight:700;text-align:center;margin-top:15px;min-height:1.5em}#step_6_info{color:#555;font-size:.9em;line-height:1.4;background-color:#e6f0ffb3;padding:15px;border-radius:8px;border:1px solid #ddd}#step_6_info b{color:#c62828}@media (max-width: 768px){#booking_section h1{font-size:2.2em}#booking_section h2{font-size:1.8em}#month_display{font-size:2em}#days_section_wrapper{flex-direction:column;gap:15px}#days_container{row-gap:6px;column-gap:6px;max-width:100%}#days_container .day{height:35px;font-size:.7em;padding:4px 2px}#days_container .day>div:first-child{font-size:1em}#days_container .day>div:last-child{font-size:.65em;margin-top:1px}.paging{width:100%;max-width:200px;padding:12px 20px;margin:0}.time-slot{min-width:75px;height:38px;font-size:.8em}#info_summary_container{flex-direction:column;align-items:stretch;text-align:center;padding:10px;max-width:95%}#info_summary_container>div{border-right:none;border-bottom:1px solid rgba(255,182,193,.5);width:auto;margin:5px 0;padding:8px 10px;white-space:normal}#info_summary_container>div:last-child{border-bottom:none}#form_section{padding:15px}#booking_form input[type=text],#booking_form select{max-width:none}#form_navigation .layout.horizontal{flex-direction:column-reverse}#form_navigation .button_style{width:80%;margin:8px 0}#form_navigation div[style*="width: 25px"]{display:none}.add_reald_container label,.add_heartbeat_container label,.reschedule_container label,.subscribe_container label,#plush_options label{text-align:center;margin-bottom:8px}.add_reald_container input,.add_heartbeat_container input,.reschedule_container input,.subscribe_container input,#plush_options input{margin-left:0}.add_reald_container,.add_heartbeat_container{justify-content:space-around}}@media (max-width: 360px){#days_container{grid-template-columns:repeat(3,1fr);row-gap:5px;column-gap:5px;padding:3px}#days_container .day{height:32px;font-size:.65em;padding:3px 1px}#days_container .day>div:first-child{font-size:.95em}#days_container .day>div:last-child{font-size:.6em;margin-top:1px}.paging{padding:8px 12px;font-size:.85em}}#time_selector{margin-top:20px}#times_container{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;width:100%;max-width:800px;margin:10px auto}.time-slot{background:linear-gradient(to bottom,#9fd8ff,pink);border:1px solid #a0d0ff;border-radius:12px;padding:10px 15px;cursor:pointer;box-shadow:0 3px 6px #00000026;transition:all .2s ease-in-out;color:#333;min-width:90px;height:45px;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:700;font-size:.9em}.time-slot:hover{transform:translateY(-2px);box-shadow:0 5px 10px #0003}.time-slot.selected{background:linear-gradient(to bottom,pink,#ff9eb5);border-color:#ff8aac;color:#fff;text-shadow:1px 1px 1px rgba(0,0,0,.2);box-shadow:0 0 12px #ff69b499}.time-slot.taken{opacity:.4;cursor:not-allowed;background:#eee;border-color:#ddd;box-shadow:none;transform:none}.time-slot.taken:hover{transform:none;box-shadow:none}#days_container .day,.time-slot{height:40px;padding:8px 10px;font-size:.85em}#days_container .day>div:first-child{font-size:1em}.day.gradient.past-day{background:linear-gradient(to bottom,#f0f0f0,#dcdcdc)!important;color:#a0a0a0!important;cursor:default!important;box-shadow:inset 0 1px 2px #0000001a!important}.day.gradient.past-day:hover{transform:none!important;box-shadow:inset 0 1px 2px #0000001a!important;background:linear-gradient(to bottom,#f0f0f0,#dcdcdc)!important;color:#a0a0a0!important}#days_container .day.selected,#times_container .time-slot.selected{background:linear-gradient(to bottom,pink,#ff9eb5);border-color:#ff8aac;color:#fff!important}#days_container .loading-indicator{grid-column:span 6;display:flex;justify-content:center;align-items:center;padding:20px 0;font-style:italic;color:#666}.day.gradient.unavailable-day{background:linear-gradient(to bottom,#f0f0f0,#dcdcdc)!important;color:#a0a0a0!important;cursor:default!important;box-shadow:inset 0 1px 2px #0000001a!important}.day.gradient.unavailable-day:hover{transform:none!important;box-shadow:inset 0 1px 2px #0000001a!important;background:linear-gradient(to bottom,#f0f0f0,#dcdcdc)!important;color:#a0a0a0!important}#booking_success_section{padding:40px 20px;margin-top:30px;background:linear-gradient(to bottom right,#e6ffe6cc,#d2f0ffcc);border-radius:15px;box-shadow:0 5px 15px #00000026;border:1px solid #b0e0e6;text-align:center;max-width:700px;width:90%}#booking_success_section h1{font-family:Dancing Script,cursive;color:#2e8b57;font-size:2.8em;margin-bottom:15px;text-shadow:1px 1px 2px rgba(255,255,255,.6)}#booking_success_section h2{font-family:Arial,sans-serif;color:#555;font-size:1.2em;line-height:1.6;margin-top:10px}#booking_success_section h3{font-family:Arial,sans-serif;font-style:italic;color:#6a5acd;font-size:1.3em;margin-bottom:20px}#booking_success_section span{font-weight:700;color:#4682b4}
