:root{--brand-navy-100:#f2f4f9;--brand-navy-200:#e6edf5;--brand-navy-300:#d0e3f0;--brand-navy-400:#7da3c6;--brand-navy-500:#707a9b;--brand-navy-600:#4d7399;--brand-primary:#4263ca;--brand-primary-2:#505e8a;--brand-success:#21b072;--brand-success-2:#709c76;--brand-warn:#ffc107;--brand-danger:#dc3545;--brand-danger-2:#bd2130;--brand-orange:#ff6d2d;--ink-700:#334155;--ink-600:#4a6789;--ink-500:#6b7280;--ink-400:#8b6b70;--deal-chip-bg:#f6f8fb;--deal-chip-br:#dfe7f3;--deal-card-bg:linear-gradient(180deg,#f4f9ffe6 0%,#e8f1fae6 100%);--deal-meta-bg:#4263ca14;--deal-meta-br:#4263ca2e;--shadow-soft:0 1px 0 #0a25400d;--shadow-elev:0 10px 20px #142b471f,0 3px 6px #142b4714;--ring:0 0 0 3px #4263ca1f}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.custom-table{width:100%}.custom-table th,.custom-table td{padding:8px}.custom-table th{color:var(--brand-navy-600);text-align:center;background:#f2f2f2;font-size:14px;font-weight:800}.custom-table tbody tr:nth-child(odd){background:var(--brand-navy-300)}.custom-table tbody tr:nth-child(2n){background:var(--brand-navy-100)}.custom-table button{cursor:pointer;background:var(--brand-primary);border:1px solid var(--brand-primary-2);color:#fff;border-radius:4px;padding:6px 12px;font-size:14px;font-weight:400;transition:box-shadow .2s,transform .2s,background-color .2s}.custom-table button:hover{background:var(--brand-primary-2)}.custom-table button.cancel{background:var(--brand-danger);border-color:var(--brand-danger)}.custom-table button.cancel:hover{background:var(--brand-danger-2)}.table-row{margin-bottom:50px}.year-button{text-align:center;color:#707a9b;background:0 0;border:none;width:100%;padding:8px 0;font-size:18px;font-weight:800;transition:color .2s,transform .2s;display:block}.year-button:hover{color:var(--brand-navy-600);transform:translateY(-1px)}.year-button:disabled{color:#a0a0a0;cursor:not-allowed;opacity:.6;background:#f0f0f0}.month-button{text-align:center;background:var(--brand-navy-100);color:#707a9b;width:100%;padding:4px;font-size:18px;font-weight:600;transition:background-color .2s,color .2s,transform .2s;display:block}.month-button:hover{background:#e9e9e9;transform:translateY(-1px)}.booking-button{text-align:center;background:var(--brand-orange);border:none;padding:5px 0;font-size:12px;transition:transform .2s,box-shadow .2s;display:block}.booking-button:hover{box-shadow:var(--ring);transform:translateY(-1px)}.selected{color:#fff;background:#707a9b}.badge{color:#fff;border-radius:5px;padding:3px 6px 6px;font-size:12px;display:inline-block}.badge-available{background:var(--brand-success-2)}.badge-low-available{background:#afc4b4}.badge-fullbooked{background:var(--brand-danger);font-weight:600}.contact-button{background:var(--brand-warn);color:#212529;cursor:pointer;border:none;border-radius:.25rem;padding:.375rem .75rem;font-weight:500;transition:transform .2s,box-shadow .2s}.contact-button:hover{box-shadow:var(--ring);transform:translateY(-1px)}.day-name{color:var(--brand-success-2);font-weight:600}.alternative-button,.deal-button{color:#fff;background:#707a9b;border-radius:0;min-width:125px;padding:10px 15px;font-size:14px;font-weight:600;text-decoration:none;transition:all .3s linear}.alternative-button:hover,.deal-button:hover{filter:brightness(.95);transform:translateY(-1px)}.group-discount-row{background:0 0}.custom-table tbody .table-row+.group-discount-row td{border-top:none}.group-discount-wrap{margin:-8px 6px 12px;position:relative}.group-discount-wrap:before{content:"";background:var(--brand-navy-200);height:1px;position:absolute;top:0;left:0;right:0}.group-attached-card{background-color:var(--brand-navy-300);border:1px solid var(--brand-navy-200);box-shadow:var(--shadow-elev);border-top:0;border-radius:0 0 12px 12px;padding:10px 12px;transition:box-shadow .25s,transform .25s,border-color .25s;position:relative;overflow:hidden}.group-list{grid-template-columns:repeat(auto-fit,minmax(0,1fr));align-items:stretch;gap:8px;display:grid}.group-item{border:1px solid var(--deal-chip-br);background-color:#f2f2f2;border-radius:10px;justify-content:space-between;align-items:center;min-width:0;min-height:50px;padding:9px 10px;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s;display:flex;box-shadow:0 1px #0a25400d}.group-item-mobile{background:#fff;border:1px solid #eef2f7;border-radius:8px;justify-content:space-between;align-items:center;min-height:38px;padding:6px 8px;display:flex}.group-meta-mobile{color:#704145;font-size:11px;line-height:1}.group-name-mobile{color:#334155;font-size:13px;font-weight:600;line-height:1.1}.group-item:hover{border-color:#cfd9e7;transform:translateY(-2px);box-shadow:0 6px 12px #142b471a,0 2px 4px #142b4714}.group-left,.group-right{min-width:0}.group-left{flex-direction:row;flex:1;gap:12px;display:flex}.group-name{color:var(--ink-700);letter-spacing:.2px;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:800;line-height:1.12;overflow:hidden}.group-meta{color:#704145;text-overflow:ellipsis;white-space:nowrap;max-width:100px;padding:2px 8px;font-size:11.5px;font-weight:600;line-height:1;display:inline-block;overflow:hidden}.group-right{margin-right:10px}.group-old{opacity:.95;white-space:nowrap;order:-1;margin-left:2px;font-size:11.5px;line-height:1;text-decoration:line-through}.group-new{background:linear-gradient(180deg,#24c17c 0%,var(--brand-success)100%);color:#fff;letter-spacing:.2px;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:4px 10px;font-size:14.5px;font-weight:900;transition:transform .16s,box-shadow .16s;display:inline-flex;box-shadow:inset 0 0 0 1px #0000000f,0 3px 8px #0573492e}.group-item:hover .group-new{transform:translateY(-1px);box-shadow:inset 0 0 0 1px #00000014,0 6px 14px #05734938}.pp-cell{padding:0 8px;position:relative}.pp-wrap{justify-content:center;align-items:center;min-height:46px;display:flex;position:relative}.pp-old{color:#704145;letter-spacing:.1px;font-size:12px;line-height:1;text-decoration:line-through;position:absolute;top:4px;left:6px}.pp-new{color:var(--brand-success);letter-spacing:.2px;font-size:18px;font-weight:900;line-height:1;display:inline-block}.pp-cell.has-sale .pp-new{transform:translateY(2px)}.only-new .pp-new{font-size:18px}.pp-cell .pp-new:hover{text-shadow:0 0 #0000}@media (max-width:768px){.pp-wrap{min-height:42px}.pp-old{font-size:11px;top:2px;left:4px}.pp-new{font-size:16px}}@media screen and (min-width:768px){.alternative-button,.deal-button{margin:10px auto;display:inline-block}}@media (max-width:768px){.next-button,.prev-button{color:#fff;background:#70969c;border-radius:0;min-width:125px;padding:10px 15px;font-size:14px;font-weight:600;text-decoration:none;transition:all .3s linear}.group-button{color:#fff;background:#98aaab;border-radius:0;flex:1;min-width:125px;margin:0 5px;padding:10px 15px;font-size:14px;font-weight:600;text-decoration:none;transition:all .3s linear}.group-button.selected{color:#fff;background:#707a9b}.alternative-button,.deal-button{margin:10px auto;display:block}.custom-table thead{display:none}.mobile-table .mobile-row{background:#f9f9f9;border:1px solid #ddd;border-radius:5px;flex-direction:column;margin-bottom:15px;padding:10px;display:flex}.mobile-row-item{justify-content:space-between;padding:5px 0;display:flex}.mobile-row-item.name{text-align:center;width:100%;font-size:16px;display:block}.mobile-row-item .label{margin-right:10px;font-weight:700}.mobile-row-item .value,.mobile-row-item .price{text-align:right}.mobile-row-item .price{align-items:flex-end;display:flex}.booking-button{cursor:pointer;background:var(--brand-primary);border:1px solid var(--brand-primary-2);color:#fff;border-radius:4px;width:100%;padding:6px 12px;font-size:14px;font-weight:400;display:block}.booking-button:hover{background:var(--brand-primary-2)}.day-name{color:var(--brand-success-2);font-weight:600}.group-discount-wrap{margin:-8px 0 12px}.group-attached-card{border-radius:0 0 10px 10px;padding:8px 10px}.group-list{grid-template-columns:1fr;gap:8px}.group-item{min-height:50px;padding:8px 10px}.group-name{font-size:14px}.group-meta,.group-old{font-size:12px}.group-new{font-size:15px}}
