.pacal-root{width:100%;margin:0 0 24px;font-family:inherit}.pacal-root[hidden]{display:none}.pacal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.pacal-title{font-family:Playfair Display,Georgia,serif;font-size:1.25rem;color:var(--color-forest-800);margin:0;flex:1;text-align:center}.pacal-nav-btn{width:32px;height:32px;border-radius:9999px;border:1px solid var(--color-cream-300);background:var(--color-cream-50);color:var(--color-forest-700);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,border-color .15s}.pacal-nav-btn:hover:not(:disabled){background:var(--color-forest-50);border-color:var(--color-forest-200)}.pacal-nav-btn:disabled{opacity:.35;cursor:not-allowed}.pacal-nav-btn svg{width:15px;height:15px}.pacal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-forest-500);padding:6px 0;border-bottom:1px solid var(--color-cream-200)}.pacal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;padding:8px 0}.pacal-cell{aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:8px;font-size:.9rem;background:transparent;color:var(--color-forest-800);font-family:inherit;padding:0}.pacal-cell-blank{visibility:hidden}.pacal-cell-past{color:var(--color-cream-400);cursor:default}.pacal-cell-booked{color:var(--color-cream-500);text-decoration:line-through;cursor:not-allowed}.pacal-cell-available{color:var(--color-forest-800);cursor:pointer;border:1px solid var(--color-cream-300);transition:background .15s,border-color .15s,color .15s,transform .05s}.pacal-cell-available:hover{background:var(--color-forest-800);border-color:var(--color-forest-800);color:var(--color-cream-50)}.pacal-cell-available:active{transform:scale(.96)}.pacal-cell-available:focus-visible{outline:2px solid var(--color-forest-600);outline-offset:2px}.pacal-status{margin-top:10px;font-size:.78rem;color:var(--color-forest-500);text-align:center;min-height:1.2em}.pacal-legend{display:flex;justify-content:center;gap:20px;margin-top:10px;font-size:.76rem;color:var(--color-forest-500)}.pacal-legend-item{display:inline-flex;align-items:center;gap:6px}.pacal-swatch{width:12px;height:12px;border-radius:3px;display:inline-block}.pacal-swatch-available{background:var(--color-cream-50);border:1px solid var(--color-cream-300)}.pacal-swatch-booked{background:transparent;border:1px solid var(--color-cream-300);position:relative}.pacal-swatch-booked:after{content:"";position:absolute;left:1px;right:1px;top:50%;border-top:1px solid var(--color-cream-500)}.pgal-row{scrollbar-width:none}.pgal-row::-webkit-scrollbar{display:none}.pgal-viewer{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;-webkit-user-select:none;user-select:none;background:var(--color-forest-900);color:var(--color-cream-50);flex-direction:column}.pgal-viewer[open]{display:flex}.pgal-viewer::backdrop{background:var(--color-forest-900)}.pgal-bar{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem}.pgal-count{font-size:.875rem;font-variant-numeric:tabular-nums;color:var(--color-cream-200);min-width:4.5rem}.pgal-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-serif);font-size:1.125rem}.pgal-book{flex-shrink:0;border-radius:.375rem;background:var(--color-cream-50);color:var(--color-forest-800);padding:.5rem .9rem;font-size:.875rem;font-weight:600}.pgal-book:hover{background:var(--color-cream-200)}.pgal-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2.75rem;height:2.75rem;border-radius:9999px;color:var(--color-cream-50);background:#fefdf81f;cursor:pointer;transition:background-color .15s}.pgal-btn:hover{background:#fefdf840}.pgal-btn svg{width:1.25rem;height:1.25rem}.pgal-stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:0 .5rem}.pgal-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:.375rem}.pgal-prev,.pgal-next{position:absolute;top:50%;transform:translateY(-50%);background:#0a16128c}.pgal-prev{left:.75rem}.pgal-next{right:.75rem}.pgal-prev:hover,.pgal-next:hover{background:#0a1612cc}.pgal-caption{-webkit-user-select:text;user-select:text;min-height:2.75rem;max-width:48rem;margin:0 auto;padding:.6rem 1rem 0;text-align:center;font-size:.9rem;line-height:1.4;color:var(--color-cream-200)}.pgal-thumbs{position:relative;display:flex;gap:.375rem;overflow-x:auto;padding:.6rem 1rem .9rem;scrollbar-width:thin;scrollbar-color:var(--color-forest-500) transparent}.pgal-thumb{flex-shrink:0;width:4.5rem;height:3.25rem;overflow:hidden;border-radius:.25rem;opacity:.5;cursor:pointer;background:var(--color-forest-700);outline:2px solid transparent;outline-offset:1px;transition:opacity .15s}.pgal-thumb:hover{opacity:.85}.pgal-thumb.is-current{opacity:1;outline-color:var(--color-cream-50)}.pgal-thumb img{width:100%;height:100%;object-fit:cover}@media(max-width:639px){.pgal-name{display:none}.pgal-count{flex:1}.pgal-prev,.pgal-next{display:none}.pgal-stage{padding:0}.pgal-img{border-radius:0}}
