:root{--forest: var(--brand-primary, #2d6a4f);--pine: color-mix(in srgb, var(--brand-primary, #2d6a4f) 80%, black);--meadow: var(--brand-primary, #2d6a4f);--meadow-lt: color-mix(in srgb, var(--brand-primary, #2d6a4f) 14%, white);--green-bg: color-mix(in srgb, var(--brand-primary, #2d6a4f) 6%, white);--sand: var(--brand-secondary, #c9a84c);--mist: color-mix(in srgb, var(--brand-primary, #2d6a4f) 22%, white);--red: #b91c1c;--red-bg: #fef2f2;--cream: #faf8f3;--surface: #ffffff;--stone: #d6d3d1;--stone-lt: #e7e5e4;--border: #e5e7eb;--text-dark: #1f2937;--text-mid: #4b5563;--text-light: #9ca3af;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--radius: 8px;--radius-sm: 4px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .12);--shadow: var(--shadow-sm);--nav-h: 4rem;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace}.pitch-list-wrap{max-width:64rem;margin:1.5rem auto 0;padding:0 1rem}.pitch-list-empty{text-align:center;color:var(--text-mid);padding:2rem 1rem}.pitch-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.pitch-list-item{display:contents}.pitch-list-card{display:flex;flex-direction:column;gap:.35rem;align-items:flex-start;width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem;cursor:pointer;font-family:inherit;text-align:left;transition:border-color .15s ease,box-shadow .15s ease}.pitch-list-card:hover{border-color:var(--brand-primary, #2d6a4f);box-shadow:var(--shadow-md)}.pitch-list-num{font-family:var(--font-mono);font-size:1.05rem;font-weight:600;color:var(--brand-primary, #2d6a4f)}.pitch-list-type{font-size:.95rem;color:var(--text-dark)}.pitch-list-price{font-size:.85rem;color:var(--text-mid)}:root{--bf-stone: #e5e5e5;--bf-stone-lt: #f0f0f0;--bf-paper: #ffffff;--bf-tint: #f9fafb;--bf-text: #1f2937;--bf-text-mid: #4b5563;--bf-text-lt: #6b7280;--bf-error: #b91c1c;--bf-error-bg: #fef2f2;--bf-error-line: #fecaca;--bf-success: #15803d;--bf-success-bg: #f0fdf4;--bf-success-line: #bbf7d0;--bf-amber: #d97706;--bf-radius: 8px;--bf-radius-sm: 6px}.page{max-width:64rem;margin-inline:auto;padding:3rem 1.25rem 4rem;font-family:var(--brand-font, system-ui, -apple-system, sans-serif)}@media(min-width:768px){.page{padding-inline:2rem}}.page>h1{font-size:clamp(1.85rem,3.5vw,2.5rem);margin:0 0 1.5rem;color:var(--bf-text)}.page-sub,.page-subtitle{color:var(--bf-text-mid);margin:-.75rem 0 2rem}.payment-page,.confirm-page{max-width:36rem}.auth-page{max-width:28rem;padding-block:4rem}.checkout-layout,.lookup-layout{display:grid;grid-template-columns:1fr;gap:2rem;margin-top:1.75rem}@media(min-width:1024px){.checkout-layout{grid-template-columns:1fr 340px}.lookup-layout{grid-template-columns:1.5fr 1fr}}.checkout-form,.lookup-form,.payment-card,.booking-card,.auth-form,.confirm-card,.profile-form,.booking-summary{background:var(--bf-paper);border:1px solid var(--bf-stone);border-radius:var(--bf-radius);padding:1.75rem}.payment-card,.auth-form,.confirm-card{padding:2rem}.booking-card{padding:1.5rem}.checkout-form,.lookup-form,.auth-form,.profile-form{display:grid;gap:.85rem}.checkout-form h2,.profile-form h2{font-size:1.15rem;margin:.25rem 0;color:var(--bf-text)}.checkout-form label,.lookup-form label,.auth-form label,.profile-form label{display:grid;gap:.3rem;font-size:.875rem;color:var(--bf-text-mid);font-weight:500}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.checkout-form input[type=text],.checkout-form input[type=email],.checkout-form input[type=tel],.checkout-form input[type=date],.checkout-form input[type=number],.checkout-form input[type=password],.checkout-form select,.checkout-form textarea,.lookup-form input,.auth-form input,.profile-form input,.profile-form select{padding:.55rem .8rem;border:1.5px solid #d4d4d4;border-radius:var(--bf-radius-sm);font-size:.95rem;font-family:inherit;background:var(--bf-paper);color:var(--bf-text)}.checkout-form input:focus,.checkout-form select:focus,.checkout-form textarea:focus,.lookup-form input:focus,.auth-form input:focus,.profile-form input:focus,.profile-form select:focus{outline:none;border-color:var(--brand-primary, #2d6a4f);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-primary, #2d6a4f) 15%,transparent)}.checkout-divider,.auth-divider{border:none;border-top:1px solid var(--bf-stone);margin:.5rem 0}.platzgarantie-label{display:flex!important;flex-direction:row;align-items:flex-start;gap:.5rem;background:var(--bf-tint);border-radius:var(--bf-radius-sm);padding:.75rem}.platzgarantie-label>span{display:grid;gap:.2rem;flex:1}.platzgarantie-note{color:var(--bf-text-lt);font-size:.8rem;font-weight:400}.payment-options{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.payment-options h2{font-size:1.15rem;margin:0 0 .25rem}.payment-option-card{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;border:1.5px solid #d4d4d4;border-radius:var(--bf-radius-sm);background:var(--bf-paper);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.payment-option-card:hover{border-color:var(--brand-primary, #2d6a4f)}.payment-option-card.selected{border-color:var(--brand-primary, #2d6a4f);background:color-mix(in srgb,var(--brand-primary, #2d6a4f) 5%,transparent)}.payment-option-card input[type=radio]{margin-top:.2rem;flex-shrink:0;width:auto;accent-color:var(--brand-primary, #2d6a4f)}.payment-option-card div{display:flex;flex-direction:column;gap:.2rem;flex:1}.payment-option-card strong{font-size:.95rem;color:var(--bf-text)}.payment-option-card span{font-size:.82rem;color:var(--bf-text-lt);font-weight:400}.booking-summary{background:var(--bf-tint);align-self:start;position:sticky;top:1rem}.booking-summary h2{margin:0 0 .5rem;font-size:1.1rem}.booking-summary h3{margin:0;font-size:1rem;color:var(--bf-text)}.summary-type{color:var(--bf-text-mid);font-size:.85rem;margin:.15rem 0 .75rem}.summary-row{display:flex;justify-content:space-between;padding:.4rem 0;border-bottom:1px solid var(--bf-stone-lt);font-size:.9rem}.summary-row.total{font-size:1rem;border-bottom:none;border-top:2px solid var(--bf-stone);margin-top:.5rem;padding-top:.6rem;font-weight:600}.summary-note{color:var(--bf-text-mid);font-size:.8rem;margin-top:.75rem}.summary-fees-note{border-top:1px dashed var(--bf-stone);margin-top:1rem;padding-top:.75rem;color:var(--bf-text-mid);font-size:.8rem}.summary-fees-link{color:var(--brand-primary, #2d6a4f);text-decoration:underline;text-underline-offset:2px}.payment-page{display:flex;justify-content:center}.payment-page>.payment-card{width:100%}.payment-header h1{font-size:1.6rem;margin:0 0 .2rem;color:var(--bf-text)}.payment-sub{font-size:.9rem;color:var(--bf-text-mid);margin:0}.payment-summary{background:var(--bf-tint);border-radius:var(--bf-radius-sm);padding:.85rem 1rem;margin:1.25rem 0;display:flex;flex-wrap:wrap;gap:1rem 1.5rem;font-size:.9rem;color:var(--bf-text-mid)}.payment-form{display:flex;flex-direction:column;gap:1.25rem}.payment-submit{margin-top:.5rem;padding:.85rem 1rem;font-size:1rem}.payment-error{color:var(--bf-error);font-size:.875rem;margin:0}.payment-error-box{background:var(--bf-error-bg);color:var(--bf-error);border:1px solid var(--bf-error-line);padding:.75rem 1rem;border-radius:var(--bf-radius-sm);font-size:.9rem;text-align:center}.payment-loading{text-align:center;color:var(--bf-text-mid);padding:3rem 1rem}.payment-security-note{margin-top:1.5rem;color:var(--bf-text-lt);font-size:.8rem;text-align:center}.confirm-page{display:flex;justify-content:center;padding-top:4rem}.confirm-page>.confirm-card{width:100%;text-align:center}.confirm-card h1{font-size:1.5rem;margin:.5rem 0 .25rem;color:var(--bf-text)}.confirm-card p{color:var(--bf-text-mid);margin:.5rem 0}.confirm-icon{font-size:3rem;line-height:1}.booking-ref{font-size:2.2rem;letter-spacing:.12em;color:var(--brand-primary, #2d6a4f);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-weight:700;margin:.75rem 0 1.25rem}.confirm-details{text-align:left;margin:1.5rem 0;padding:1rem 1.25rem;background:var(--bf-tint);border-radius:var(--bf-radius-sm)}.confirm-payment-note{margin-top:.75rem;font-size:.85rem;color:var(--bf-text-mid)}.confirm-note{font-size:.85rem;color:var(--bf-text-lt);margin:1rem 0 1.5rem}.confirm-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;margin-top:1.25rem}.confirm-exhausted-note{font-size:.85rem;color:var(--bf-amber);margin-top:.75rem}.bookings-list{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}.booking-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem}.booking-card-header h3{margin:0;font-size:1rem;color:var(--bf-text)}.booking-ref-small{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.78rem;color:var(--bf-text-lt)}.booking-card-dates{display:flex;align-items:center;gap:.5rem;color:var(--bf-text-mid);font-size:.9rem;margin-bottom:.75rem}.date-arrow{color:var(--bf-text-lt)}.nights-label{color:var(--bf-text-lt);font-size:.8rem}.booking-card-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--bf-stone)}.cancel-deadline-note{font-size:.82rem;color:var(--bf-text-mid);font-style:italic}.cancel-deadline-note.cancel-full{color:var(--brand-primary, #2d6a4f);font-style:normal}.cancel-deadline-note.cancel-partial{color:var(--bf-amber);font-style:normal}.cancel-deadline-note.cancel-none{color:var(--bf-error);font-style:normal}.status-badge{padding:.25rem .6rem;border-radius:99px;font-size:.75rem;background:var(--bf-stone-lt);color:var(--bf-text-mid);text-transform:capitalize;font-weight:500}.auth-page>.auth-form{display:grid;gap:1rem}.auth-form h1{font-size:1.5rem;margin:0 0 .25rem;color:var(--bf-text);text-align:center}.auth-sub{color:var(--bf-text-mid);font-size:.9rem;text-align:center;margin:0 0 .5rem}.auth-form p{font-size:.875rem;text-align:center;color:var(--bf-text-mid);margin:.5rem 0 0}.auth-form a{color:var(--brand-primary, #2d6a4f);text-decoration:underline;text-underline-offset:2px}.field-error{color:var(--bf-error);font-size:.78rem}.profile-danger-zone{margin-top:2rem;border:1px solid var(--bf-error-line);border-radius:var(--bf-radius);padding:1.5rem;background:var(--bf-error-bg)}.profile-danger-zone h2{margin:0 0 .5rem;font-size:1.1rem;color:var(--bf-error)}.profile-danger-text{font-size:.88rem;color:var(--bf-text-mid);margin-bottom:1rem;line-height:1.55}.profile-danger-form{display:flex;flex-direction:column;gap:.75rem}.profile-danger-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.25rem}.modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal,.modal-box{background:var(--bf-paper);border-radius:var(--bf-radius);padding:2rem;width:100%;max-width:460px;box-shadow:0 10px 30px #0000002e;display:grid;gap:.75rem}.modal h2,.modal h3,.modal-box h2{margin:0;color:var(--bf-text)}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.65rem 1.1rem;border-radius:var(--bf-radius-sm);border:1.5px solid transparent;font-weight:500;font-size:.95rem;font-family:inherit;cursor:pointer;text-decoration:none;line-height:1.2;transition:background .15s ease,color .15s ease,border-color .15s ease}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--brand-primary, #2d6a4f);color:#fff;border-color:var(--brand-primary, #2d6a4f)}.btn-primary:hover:not(:disabled){background:color-mix(in srgb,var(--brand-primary, #2d6a4f) 85%,black);border-color:color-mix(in srgb,var(--brand-primary, #2d6a4f) 85%,black)}.btn-secondary{background:var(--bf-stone-lt);color:var(--bf-text);border-color:var(--bf-stone)}.btn-secondary:hover:not(:disabled){background:var(--bf-stone)}.btn-outline{background:transparent;color:var(--brand-primary, #2d6a4f);border-color:var(--brand-primary, #2d6a4f)}.btn-outline:hover:not(:disabled){background:var(--brand-primary, #2d6a4f);color:#fff}.btn-danger{background:var(--bf-error);color:#fff;border-color:var(--bf-error)}.btn-danger:hover:not(:disabled){background:#991b1b;border-color:#991b1b}.btn-danger-outline{background:transparent;color:var(--bf-error);border-color:var(--bf-error)}.btn-danger-outline:hover:not(:disabled){background:var(--bf-error);color:#fff}.btn-full{width:100%}.error-message{background:var(--bf-error-bg);color:var(--bf-error);border:1px solid var(--bf-error-line);padding:.6rem .9rem;border-radius:var(--bf-radius-sm);font-size:.875rem}.success-message{background:var(--bf-success-bg);color:var(--bf-success);border:1px solid var(--bf-success-line);padding:.75rem 1rem;border-radius:var(--bf-radius-sm);font-size:.875rem}.no-pets-warning{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa;padding:.75rem 1rem;border-radius:var(--bf-radius-sm);font-size:.85rem;display:flex;gap:.5rem;align-items:flex-start;margin-top:.5rem}.no-pets-icon{flex-shrink:0}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
