:root{--primary-dark: #1E74A7;--primary-light-blue: #6199CC;--primary-dark-blue: #1f2937;--rich-black-fogra-39: hsl(158, 29%, 5%);--go-green_8: hsla(145, 63%, 42%, .08);--go-green_5: hsla(145, 63%, 42%, .05);--granite-gray: hsl(0, 0%, 40%);--light-gray: #f9fafb;--cultured: hsl(0, 0%, 93%);--white: hsl(0, 0%, 100%);--cloud-mist-blue: #f9fafb;--dark-cloud-mist-blue: #6b7280;--jet: hsl(0, 0%, 18%);--input-background: hsl(0, 0%, 96%);--edit-btn-color: #A5F0CE;--delete-btn-color: #ff7676;--bg-error: #de5454;--ff-poppins: "Poppins", sans-serif;--ff-cuprum: "Cuprum", sans-serif;--ff-montserrat: "Montserrat", sans-serif;--fs-1: 4.5rem;--fs-2: 3.6rem;--fs-3: 3.5rem;--fs-4: 3.2rem;--fs-5: 2.5rem;--fs-6: 2.4rem;--fs-7: 2.2rem;--fs-8: 2rem;--fs-9: 1.8rem;--fs-10: 1.5rem;--fs-11: 1.4rem;--fs-12: 1.3rem;--fs-13: 1rem;--fw-700: 700;--fw-800: 800;--fw-600: 600;--fw-500: 500;--fw-400: 400;--fw-300: 300;--lineHeight-1: 1.3;--lineHeight-2: 1.5;--lineHeight-4: 1.5;--section-padding: 80px;--shadow-1: 3px 4px 30px hsla(0, 0%, 53%, .1);--shadow-2: 5px 3px 40px hsla(191, 100%, 17%, .1);--shadow-3: 0 1px 6px rgba(0, 0, 0, .05) ;--radius-5: 5px;--radius-6: 6px;--radius-8: 8px;--radius-16: 16px;--radius-48: 48px;--radius-circle: 50%;--radius-pill: 200px;--transition-1: .25s ease;--transition-2: .5s ease;--transition-3: .75s ease;--cubic-out: cubic-bezier(.33, .85, .4, .96);--animation-duration: .8s;--animation-timing: cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}li{list-style:none}a{color:inherit;text-decoration:none}a,img,span,input,i,button{display:block}img{height:auto}input,button{background:none;border:none;font:inherit}input{width:100%}button{cursor:pointer}i{color:var(--primary-dark);font-size:var(--fs-8);font-weight:var(--fw-300);padding:10px}html{font-family:var(--ff-montserrat);font-size:10px;scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}body{background-color:var(--white);color:var(--granite-gray);font-size:1.6rem;line-height:1.7;user-select:none;-webkit-user-select:none;-ms-user-select:none}body.no-scroll{position:fixed;top:0;left:0;right:0;overflow:hidden;width:100%}:focus-visible{outline-offset:4px}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background-color:#fff}::-webkit-scrollbar-thumb{background-color:#1e76a9;border-radius:2px;max-height:53px}::-webkit-scrollbar-thumb:hover{background-color:#b3b3b3}.container{padding-inline:15px}.custom-checkbox{display:flex;flex-direction:row;align-items:baseline;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;padding:.5rem 0;width:100%;max-width:100%;transition:background .2s}.custom-checkbox-input{position:absolute;opacity:0;pointer-events:none;outline:none}.custom-checkbox-box{width:1em;height:1rem;min-width:1em;min-height:1em;border:2px solid #b0b7c3;border-radius:.375em;background:#fff;display:flex;align-items:center;justify-content:center;transition:border-color .2s,background .2s;box-sizing:border-box;outline:none}.custom-checkbox:hover .custom-checkbox-box,.custom-checkbox:focus-within .custom-checkbox-box{border-color:var(--primary-light-blue)}.custom-checkbox-check{width:1em;height:1em;display:block;stroke:#fff;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;fill:none;stroke-dasharray:16px;stroke-dashoffset:16px;transition:stroke-dashoffset .3s cubic-bezier(.4,2.3,.3,1),stroke .2s}.custom-checkbox.checked .custom-checkbox-box{background:var(--primary-dark-blue);border-color:var(--primary-dark-blue)}.custom-checkbox.checked .custom-checkbox-check{stroke-dashoffset:0;stroke:#fff}.custom-checkbox-label{font-size:var(--fs-10);font-weight:500;color:var(--primary-dark-blue);display:flex;flex-direction:column;gap:.25rem}.booking-checkbox-desc{font-size:var(--fs-12);color:var(--granite-gray);font-weight:400;margin-top:.25rem}.dialog-session-title{font-size:var(--fs-9);font-weight:600;margin-bottom:.25rem;color:var(--primary-dark-blue)}.dialog-session-time{font-size:var(--fs-10);color:var(--granite-gray);margin-bottom:1rem}.dialog-session-desc{margin:.5rem 0 1rem;color:var(--granite-gray);font-size:var(--fs-11)}.dialog-session-lines-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.dialog-session-line-card{background:var(--input-background);border-radius:.5rem;box-shadow:var(--shadow-3);border:1px solid #e5e7eb;padding:1rem .75rem .75rem;display:flex;flex-direction:column;align-items:stretch;transition:box-shadow .2s,border .2s;position:relative}.dialog-session-line-card:hover{box-shadow:0 2px 12px #00000014;border-color:var(--primary-light-blue)}.dialog-line-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.3rem}.dialog-line-name{font-weight:600;color:var(--primary-dark-blue);font-size:var(--fs-10)}.dialog-line-badge{background:#ef4444;color:#fff;border-radius:.75rem;font-size:var(--fs-12);padding:.1rem .7rem;font-weight:600;margin-left:.5rem}.dialog-line-bookings{color:var(--granite-gray);font-size:var(--fs-12);margin-bottom:.5rem}.dialog-line-controls{display:flex;align-items:center;gap:.5rem;justify-content:center}.dialog-line-controls .quantity-btn{width:32px;height:32px;border-radius:.5rem;border:1px solid var(--cultured);background:#f3f4f6;color:var(--primary-dark-blue);font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:background .2s,border .2s}.dialog-line-controls .quantity-btn:disabled{opacity:.5;cursor:not-allowed}.dialog-line-controls .quantity-btn:hover:not(:disabled){background:var(--primary-light-blue);border-color:var(--primary-light-blue);color:#fff}.dialog-line-controls .quantity-display{min-width:2rem;text-align:center;font-weight:600;font-size:var(--fs-10)}.dialog-session-lines-block{border-radius:.5rem;padding:.75rem .5rem;margin-bottom:1rem}.dialog-session-line-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .25rem;border-bottom:1px solid #606060;font-size:1rem;background:var(--cloud-mist-blue);border-radius:.25rem;margin-bottom:.25rem;transition:background .2s}.dialog-session-line-row:last-child{border-bottom:none}.dialog-session-line-row:not(.disabled):hover{background:#505050}.dialog-session-line-row.disabled{opacity:.5;pointer-events:none;background:#f3f4f6}.dialog-session-line-row .line-name{font-weight:600;font-size:var(--fs-10)}.dialog-session-line-row .line-capacity{font-size:var(--fs-10);color:var(--primary-dark-blue)}.p-dialog .availability-book-btn{margin-top:1rem;width:100%;background:var(--primary-dark-blue);color:#fff;font-size:1.1rem;font-weight:600;border-radius:.4rem;padding:.75rem 0;box-shadow:0 2px 8px #00000012;transition:background .2s}.p-dialog .availability-book-btn:hover{background:var(--primary-light-blue)}.custom-dialog-backdrop{position:fixed;inset:0;background:#0006;z-index:1050;display:flex;width:100%;height:100vh;align-items:center;justify-content:center}.custom-dialog{background:var(--white);border-radius:8px;width:480px;max-width:95vw;max-height:80vh;box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;outline:none;animation:fadeIn .2s}.custom-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem .5rem;font-size:1.25rem;font-weight:600;border-bottom:1px solid var(--cultured)}.custom-dialog-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--cultured)}.custom-dialog-body{padding:1.5rem;overflow-y:auto}@media (min-width: 575px){:root{--fs-1: 5.4rem}.container{max-width:540px;width:100%;margin-inline:auto}}@media (min-width: 768px){:root{--fs-1: 7rem;--fs-2: 4rem;--fs-4: 3.5rem}.container{max-width:720px}.btn{padding:16px 32px}.section-text .text-center{max-width:50ch;margin-inline:auto}.btn-link{--fs-12: 1.4rem}}@media (min-width: 992px){.container{max-width:960px}}@media (min-width: 1200px){:root{--fs-1: 7.5rem;--fs-4: 3.8rem}.container{max-width:1160px}.btn-link{--fs-12: 1.5rem}.custom-checkbox{flex-direction:row;gap:.5rem;font-size:.95rem}.custom-checkbox-label{font-size:var(--fs-8)}.custom-checkbox-box{width:1.5em;height:1.5em}}.fade-out{opacity:0;transform:translateY(50px);transition:opacity 1s ease-out,transform 1s ease-out}.fade-in{opacity:1;transform:translateY(0)}.p-confirmdialog-icon{padding:0;font-size:var(--fs-12)}
