:root{--color-today:#b4541f;--color-today-light:#fbefe7}.contact-hero{align-items:flex-end;min-height:280px;display:flex;position:relative;overflow:hidden}.contact-hero-img{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}.contact-hero-overlay{z-index:1;background:linear-gradient(#0006 0%,#0009 100%);position:absolute;inset:0}.contact-hero-content{z-index:2;padding-bottom:var(--space-xl);padding-top:var(--space-xl);position:relative}.contact-hero-content h1{color:var(--color-text-inverse);font-size:var(--font-size-4xl);line-height:var(--line-height-tight);margin-bottom:var(--space-sm)}.contact-hero-content .page-subtitle{color:#ffffffd9;font-size:var(--font-size-lg);margin-bottom:0}.contact-hero-content :global(.breadcrumbs){margin-bottom:var(--space-md)}.contact-hero-content :global(.breadcrumbs a),.contact-hero-content :global(.breadcrumbs span){color:#ffffffb3}.contact-hero-content :global(.breadcrumbs .current){color:#fffffff2}@media (width<=767px){.contact-hero{min-height:220px}.contact-hero-content h1{font-size:var(--font-size-3xl)}}.page-content{max-width:720px;margin:0 auto;padding-top:32px;padding-bottom:96px}.contact-bar{border:1px solid var(--color-border);border-radius:12px;margin-bottom:32px;font-size:14px;display:flex;overflow:hidden}.contact-bar-item{flex:1;align-items:center;gap:12px;padding:16px 20px;display:flex}.contact-bar-item+.contact-bar-item{border-left:1px solid var(--color-border)}.contact-bar-icon{width:20px;height:20px;color:var(--color-accent);flex-shrink:0}.contact-bar-icon svg{width:20px;height:20px}.contact-bar-text{flex-direction:column;gap:1px;min-width:0;display:flex}.contact-bar-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-size:11px;font-weight:500}.contact-bar-value{font-size:14px}.contact-bar a{color:var(--color-accent);text-decoration:none}.contact-bar a:hover{text-decoration:underline}@media (width<=767px){.contact-bar{flex-direction:column}.contact-bar-item+.contact-bar-item{border-left:none;border-top:1px solid var(--color-border)}}.form-card{border:1px solid var(--color-border);background:#fff;border-radius:12px;padding:36px 32px;box-shadow:0 1px 3px #0000000a}@media (width<=600px){.form-card{padding:24px 18px}}h2.form-heading{font-size:20px;font-weight:var(--font-weight-bold,700);color:var(--color-text-primary);margin-bottom:20px}.form-section{margin-bottom:32px}.form-sep{background:var(--color-border);height:1px;margin:28px 0}.field-row{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;display:grid}.field-row.full{grid-template-columns:1fr}@media (width<=600px){.field-row{grid-template-columns:1fr}}.field label{color:var(--color-text-primary);margin-bottom:4px;font-size:14px;font-weight:500;display:block}.field label .req{color:var(--color-accent)}.field label .opt{color:#999;font-size:12px;font-weight:400}.attestation-row{color:var(--color-text-primary);cursor:pointer;align-items:flex-start;gap:10px;margin-top:4px;font-size:14px;display:flex}.attestation-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-accent);cursor:pointer;flex-shrink:0;margin-top:1px}.attestation-row .req{color:var(--color-accent)}.field input,.field select,.field textarea{width:100%;font-family:var(--font-primary);color:var(--color-text-primary);border:1px solid var(--color-border);min-height:48px;transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);background:#fafafa;border-radius:8px;padding:12px 14px;font-size:16px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--color-accent);background:#fff;outline:none;box-shadow:0 0 0 3px #1468ae26}.field textarea{resize:vertical;min-height:80px}.field select{cursor:pointer}.field input.field-error,.field select.field-error,.field textarea.field-error{border-color:#d32f2f;box-shadow:0 0 0 3px #d32f2f1a}.field-error-msg{color:#d32f2f;margin-top:4px;margin-bottom:0;font-size:12px}.date-list{margin-bottom:24px}.date-list-nav{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.date-list-label{color:var(--color-text-muted);font-size:14px;font-weight:500}.date-list-arrows{gap:8px;display:flex}.date-list-arrows button{border:1px solid var(--color-border);cursor:pointer;width:36px;height:36px;color:var(--color-text-muted);min-width:48px;min-height:48px;transition:transform var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);background:#fff;border-radius:8px;justify-content:center;align-items:center;font-size:16px;display:flex}.date-list-arrows button:hover{border-color:var(--color-accent);color:var(--color-accent)}.date-list-arrows button:disabled{opacity:.3;cursor:not-allowed}.today-line{background:var(--color-today-light);color:var(--color-text-muted);border-radius:8px;align-items:flex-start;gap:10px;margin:0 0 16px;padding:10px 12px;font-size:13px;line-height:1.5;display:flex}.today-line:before{content:"";background:var(--color-today);border-radius:50%;flex:none;width:8px;height:8px;margin-top:6px;box-shadow:0 0 0 4px #b4541f26}.today-line strong{color:var(--color-text-primary);font-weight:600}.dow-head,.week-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.dow-head{margin-bottom:6px}.dow-head span{text-align:center;letter-spacing:.06em;text-transform:uppercase;color:#8a8a8a;font-size:11px;font-weight:600}.date-week{margin-bottom:14px}.date-week:last-child{margin-bottom:0}.week-label{align-items:baseline;gap:8px;margin:0 0 8px 2px;font-size:12px;display:flex}.week-label b{color:var(--color-text-primary);font-weight:600}.week-label span{color:#8a8a8a}.date-weeks-empty{color:#999;padding:12px;font-size:14px}.date-chip{border:1px solid var(--color-border);min-height:64px;color:inherit;font:inherit;cursor:pointer;transition:all var(--transition-fast);background:#fff;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:10px 2px;display:flex;position:relative}.date-chip:hover:not(:disabled){border-color:var(--color-accent)}.date-chip:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.date-chip .day-num{font-size:19px;font-weight:700;line-height:1.15}.date-chip .month-name{color:var(--color-text-muted);font-size:10.5px}.date-chip .slot-count{color:var(--color-accent);white-space:nowrap;margin-top:2px;font-size:11px;font-weight:500}.date-chip.past{cursor:default;background:0 0;border-color:#0000}.date-chip.past .day-num{color:#d4d4d4;font-weight:500}.date-chip.no-slots{cursor:not-allowed;border-style:dashed}.date-chip.no-slots .day-num,.date-chip.no-slots .slot-count{color:#999}.date-chip.today{border:2px solid var(--color-today);background:var(--color-today-light)}.date-chip.today.no-slots{border-style:dashed}.date-chip.today .day-num,.date-chip.today .slot-count{color:var(--color-today)}.today-tag{background:var(--color-today);color:#fff;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:2px 7px;font-size:9.5px;font-weight:600;position:absolute;top:-9px;left:50%;transform:translate(-50%)}.date-chip.selected{border-color:var(--color-accent);background:var(--color-accent);color:#fff}.date-chip.selected .day-num,.date-chip.selected .month-name,.date-chip.selected .slot-count{color:#fff}@media (width<=420px){.dow-head,.week-row{gap:6px}.date-chip{min-height:58px}.date-chip .day-num{font-size:17px}.date-chip .slot-count{font-size:10px}}.rel-day{color:var(--color-accent);vertical-align:1px;white-space:nowrap;background:#e8f1f9;border-radius:999px;margin-left:6px;padding:2px 8px;font-size:11.5px;font-weight:600;display:inline-block}.selection-summary .rel-day{margin:4px 0 2px}.rel-day.is-today{background:var(--color-today-light);color:var(--color-today)}.time-panel{background:#f7f6f9;border-radius:10px;margin-top:24px;padding:20px;animation:.3s fadeSlideIn}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.time-panel-label{color:var(--color-text-primary);margin-bottom:12px;font-size:14px;font-weight:500}.time-slots{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;margin-bottom:8px;display:grid}@media (width<=600px){.time-slots{grid-template-columns:1fr 1fr}}.time-slot{border:1px solid var(--color-border);cursor:pointer;color:var(--color-text-primary);transition:all var(--transition-fast);background:#fff;border-radius:8px;justify-content:center;align-items:center;min-height:48px;padding:10px 20px;font-size:14px;font-weight:500;display:flex}.time-slot:hover{border-color:var(--color-accent);color:var(--color-accent)}.time-slot:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.time-slot.selected{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.time-slot.unavailable{color:#ccc;border-color:var(--color-border-light);cursor:not-allowed;background:#fafafa;text-decoration:line-through}.consultation-type{gap:12px;margin-top:20px;display:flex}.type-option{border:1px solid var(--color-border);text-align:center;cursor:pointer;font-family:var(--font-primary);transition:all var(--transition-fast);min-height:48px;color:var(--color-text-primary);background:#fff;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:8px;padding:14px;font-size:14px;font-weight:500;display:flex}.type-option:hover{border-color:var(--color-accent)}.type-option:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.type-option.selected{border-color:var(--color-accent);color:var(--color-accent);background:#1468ae0a}.type-option svg{flex-shrink:0;width:18px;height:18px}.selection-summary{background:#f0eef5;border-radius:10px;align-items:center;gap:12px;margin-bottom:24px;padding:16px 20px;font-size:14px;line-height:1.5;display:flex}.summary-icon{width:24px;height:24px;color:var(--color-accent);flex-shrink:0}.summary-icon svg{width:24px;height:24px}.submit-btn{background:var(--color-accent);color:#fff;width:100%;font-family:var(--font-primary);border:2px solid var(--color-accent);cursor:pointer;transition:background var(--transition-fast), transform var(--transition-fast);border-radius:8px;min-height:48px;padding:14px 40px;font-size:16px;font-weight:500;display:block}.submit-btn:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);transform:translateY(-1px)}.submit-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.fine-print{color:#999;text-align:center;margin-top:12px;font-size:12px}.service-links{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.6}.service-links a{color:var(--color-accent);text-decoration:none}.service-links a:hover{text-decoration:underline}.step2-card{border:1px solid var(--color-border);background:#fff;border-radius:12px;padding:32px;animation:.4s fadeSlideIn;box-shadow:0 1px 3px #0000000a}@media (width<=600px){.step2-card{padding:24px 18px}}.step2-status{color:#2e7d32;background:#eef7ee;border:1px solid #c8e6c9;border-radius:8px;align-items:center;gap:12px;margin-bottom:28px;padding:14px 16px;font-size:14px;font-weight:500;display:flex}.step2-status.booked{color:#1b5e20;background:#eef7ee;border-color:#a5d6a7}.step2-spinner{border:2px solid #a5d6a7;border-top-color:#2e7d32;border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.step2-checkmark{color:#2e7d32;flex-shrink:0;width:18px;height:18px}.step2-header{align-items:center;gap:12px;margin-bottom:8px;display:flex}.step2-header h2{color:var(--color-text-primary);margin:0;font-size:20px;font-weight:700}.step2-badge{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);background:var(--color-bg-light);border-radius:8px;padding:4px 10px;font-size:11px;font-weight:500}.step2-intro{color:var(--color-text-muted);margin-bottom:24px;font-size:14px;line-height:1.5}.step2-card h3.subgroup{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-top:24px;margin-bottom:12px;font-size:13px;font-weight:500}.step2-card h3.subgroup:first-of-type{margin-top:0}.step2-save{background:var(--color-accent);margin-top:24px}.skeleton{background:linear-gradient(90deg, var(--color-bg-light) 25%, #f5f4f7 50%, var(--color-bg-light) 75%);background-size:200% 100%;border-radius:8px;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-dates{grid-template-columns:repeat(5,minmax(0,1fr));gap:30px 8px;padding-top:22px;display:grid}.skeleton-chip{border-radius:8px;width:100%;height:64px}.success-card{background:var(--color-bg-light);border-left:4px solid var(--color-accent);text-align:center;border-radius:12px;padding:40px 32px;animation:.4s fadeSlideIn}.success-icon{background:var(--color-accent);border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 20px;animation:.45s cubic-bezier(.34,1.56,.64,1) .1s backwards successPop;display:flex}.success-icon svg{color:#fff;width:28px;height:28px}@keyframes successPop{0%{opacity:0;transform:scale(.4)}}.success-icon svg polyline{stroke-dasharray:1;stroke-dashoffset:0;animation:.35s ease-out .35s backwards drawCheck}@keyframes drawCheck{0%{stroke-dashoffset:1px}}.success-card h2{margin-bottom:8px;font-size:24px}.success-card .success-details{color:var(--color-text-muted);margin-bottom:24px;font-size:16px;line-height:1.8}.success-card .success-details strong{color:var(--color-text-primary)}.success-card .success-note{color:#999;font-size:13px}.error-container{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-top:16px;padding:16px 20px;font-size:14px}.date-chip,.time-slot,.type-option,.submit-btn,.date-list-arrows button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.date-chip:not(.no-slots):active,.time-slot:not(.unavailable):active,.type-option:active{transform:scale(.97)}.submit-btn:not(:disabled):active{transform:translateY(0)scale(.98)}.date-list-arrows button:not(:disabled):active{transform:scale(.92)}.shake{animation:.3s shake}@keyframes shake{25%{transform:translate(-4px)}50%{transform:translate(4px)}75%{transform:translate(-2px)}}
