.whatsapp-bridge{display:flex;flex-direction:column;gap:var(--space-lg, 1.5rem);max-width:100%}.whatsapp-bridge__main{display:flex;justify-content:center}.whatsapp-bridge__cta{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm, .75rem);padding:var(--space-md, 1rem) var(--space-xl, 2rem);font-family:var(--font-primary, "Inter", system-ui, sans-serif);font-weight:500;font-size:var(--text-base, 1rem);text-decoration:none;border:1px solid transparent;border-radius:var(--radius-lg, .5rem);cursor:pointer;transition:all .2s ease-out;position:relative;white-space:nowrap;user-select:none;min-height:44px;line-height:1.5}.whatsapp-bridge__cta:focus{outline:2px solid var(--color-primary-400, #4ade80);outline-offset:2px}.whatsapp-bridge__cta:focus-visible{outline:2px solid var(--color-primary-400, #4ade80);outline-offset:2px}.whatsapp-bridge__cta[disabled]{opacity:.6;cursor:not-allowed;pointer-events:none}.whatsapp-bridge__cta--sm{padding:var(--space-xs, .5rem) var(--space-lg, 1.5rem);font-size:var(--text-sm, .875rem);min-height:36px}.whatsapp-bridge__cta--lg{padding:var(--space-lg, 1.5rem) var(--space-2xl, 3rem);font-size:var(--text-lg, 1.125rem);min-height:52px}.whatsapp-bridge__cta--primary{background-color:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary);box-shadow:0 2px 8px #e39a5b40;font-weight:600}.whatsapp-bridge__cta--primary:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover);transform:translateY(-2px);box-shadow:0 6px 20px #e39a5b66}.whatsapp-bridge__cta--primary:active{transform:translateY(0);box-shadow:0 1px 3px #e39a5b33}.whatsapp-bridge__cta--secondary{background-color:var(--color-bg-secondary);color:var(--color-secondary);border-color:var(--color-secondary);box-shadow:0 1px 3px #0000001a}.whatsapp-bridge__cta--secondary:hover{background-color:var(--color-secondary);border-color:var(--color-secondary-hover);color:var(--color-text-primary);transform:translateY(-1px);box-shadow:0 4px 12px #bfd3c126}.whatsapp-bridge__cta--subtle{background-color:var(--color-bg-secondary);color:var(--color-secondary);border-color:var(--color-secondary-300);box-shadow:0 1px 2px #0000000d}.whatsapp-bridge__cta--subtle:hover{background-color:var(--color-secondary);border-color:var(--color-secondary);color:var(--color-text-primary);transform:translateY(-1px);box-shadow:0 2px 8px #bfd3c11a}.whatsapp-bridge__cta--loading{pointer-events:none;opacity:.8}.whatsapp-bridge__cta--loading .whatsapp-bridge__text{opacity:.8}.whatsapp-bridge__cta--loading .whatsapp-bridge__icon{animation:pulse 1.5s ease-in-out infinite}.whatsapp-bridge__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.whatsapp-bridge__icon svg{width:20px;height:20px}.whatsapp-bridge__cta--sm .whatsapp-bridge__icon svg{width:16px;height:16px}.whatsapp-bridge__cta--lg .whatsapp-bridge__icon svg{width:24px;height:24px}.whatsapp-bridge__text{line-height:1.4}.whatsapp-bridge__error{padding:var(--space-md, 1rem);background-color:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md, .375rem);text-align:center;color:#dc2626}.whatsapp-bridge__error p{margin:0 0 var(--space-sm, .75rem) 0;font-size:var(--text-sm, .875rem);line-height:1.5}.whatsapp-bridge__retry{background:none;border:1px solid #dc2626;color:#dc2626;padding:var(--space-xs, .5rem) var(--space-sm, .75rem);border-radius:var(--radius-sm, .25rem);font-size:var(--text-xs, .75rem);cursor:pointer;transition:all .2s ease-out}.whatsapp-bridge__retry:hover{background-color:#dc2626;color:#fff}.whatsapp-bridge__fallback{padding:var(--space-lg, 1.5rem);background-color:var(--color-bg-secondary);border:1px solid var(--color-secondary-200, #e5e5e5);border-radius:var(--radius-lg, .5rem);text-align:center;box-shadow:0 1px 3px #0000001a}.whatsapp-bridge__fallback-text{margin:0 0 var(--space-md, 1rem) 0;font-size:var(--text-sm, .875rem);color:var(--color-text-secondary, #4b5563);line-height:1.6}.whatsapp-bridge__fallback-options{display:flex;justify-content:center;gap:var(--space-md, 1rem);flex-wrap:wrap}.whatsapp-bridge__fallback-option{display:flex;align-items:center;gap:var(--space-xs, .5rem);padding:var(--space-sm, .75rem) var(--space-md, 1rem);font-size:var(--text-sm, .875rem);color:var(--color-text-secondary, #4b5563);background:none;border:1px solid var(--color-secondary-300, #d1d5db);border-radius:var(--radius-md, .375rem);cursor:pointer;transition:all .2s ease-out;text-decoration:none;min-height:40px}.whatsapp-bridge__fallback-option:hover{color:var(--color-text-primary, #1f2937);border-color:var(--color-primary-300, #86efac);background-color:var(--color-primary-50, #f0fdf4);transform:translateY(-1px);box-shadow:0 2px 8px #25d3661a}.whatsapp-bridge__fallback-option:focus{outline:2px solid var(--color-primary-400, #4ade80);outline-offset:2px}.whatsapp-bridge__fallback-option:active{transform:translateY(0)}.whatsapp-bridge__fallback-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.whatsapp-bridge__fallback-icon svg{width:16px;height:16px}.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}@media (max-width: 768px){.whatsapp-bridge__cta--lg{padding:var(--space-md, 1rem) var(--space-xl, 2rem);font-size:var(--text-base, 1rem)}.whatsapp-bridge__fallback-options{flex-direction:column;align-items:center;gap:var(--space-sm, .75rem)}.whatsapp-bridge__fallback-option{min-width:160px;justify-content:center}}@media (prefers-contrast: high){.whatsapp-bridge__cta{border-width:2px}.whatsapp-bridge__cta--primary{background-color:#128c7e;border-color:#128c7e}.whatsapp-bridge__cta:focus,.whatsapp-bridge__cta:focus-visible{outline-width:3px}.whatsapp-bridge__fallback-option{border-width:2px}}@media (prefers-reduced-motion: reduce){.whatsapp-bridge__cta,.whatsapp-bridge__fallback-option,.whatsapp-bridge__retry{transition:none}.whatsapp-bridge__cta--primary:hover,.whatsapp-bridge__cta--secondary:hover,.whatsapp-bridge__cta--subtle:hover,.whatsapp-bridge__fallback-option:hover{transform:none}.whatsapp-bridge__fallback{transition:none}.whatsapp-bridge__cta--loading .whatsapp-bridge__icon{animation:none}}[data-theme=dark] .whatsapp-bridge__cta--secondary{background-color:#1f2937;color:#25d366;border-color:#25d366}[data-theme=dark] .whatsapp-bridge__cta--secondary:hover{background-color:#374151}[data-theme=dark] .whatsapp-bridge__cta--subtle{background-color:#1f2937;border-color:#374151}[data-theme=dark] .whatsapp-bridge__cta--subtle:hover{background-color:#374151}[data-theme=dark] .whatsapp-bridge__fallback{background-color:#1f2937;border-color:#374151}[data-theme=dark] .whatsapp-bridge__fallback-option{color:#d1d5db;border-color:#374151}[data-theme=dark] .whatsapp-bridge__fallback-option:hover{color:#f9fafb;background-color:#374151}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.whatsapp-bridge__cta:focus-visible,.whatsapp-bridge__fallback-option:focus-visible,.whatsapp-bridge__retry:focus-visible{outline:2px solid var(--color-primary-400, #4ade80);outline-offset:2px}@media (max-width: 768px){.whatsapp-bridge__cta,.whatsapp-bridge__fallback-option{min-height:44px;min-width:44px}}.chat-button-container{position:fixed;bottom:var(--space-lg);right:var(--space-lg);z-index:1000;display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-sm)}.chat-button-toggle{min-width:140px;height:48px;border-radius:24px 24px 24px 4px;background-color:var(--color-primary);color:var(--color-bg-secondary);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);transition:all var(--transition-normal);position:relative;padding:var(--space-sm) var(--space-md);overflow:hidden}.chat-button-toggle:after{content:"";position:absolute;bottom:-6px;right:12px;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid var(--color-primary);transform:rotate(-45deg)}.chat-button-text{font-size:var(--text-sm);font-weight:600;color:var(--color-bg-secondary);white-space:nowrap;text-align:center;line-height:1.2}.chat-button-toggle:hover{transform:scale(1.05);box-shadow:var(--shadow-xl);background-color:var(--color-primary-hover)}.chat-button-toggle:hover:after{border-top-color:var(--color-primary-hover)}.chat-button-toggle:focus{outline:2px solid var(--color-primary-500);outline-offset:2px}.chat-button-toggle:active{transform:scale(.95)}.chat-button-popup{position:absolute;bottom:70px;right:0;width:320px;max-width:calc(100vw - var(--space-xl));background-color:var(--color-bg-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);border:1px solid var(--color-secondary-200);opacity:0;transform:translateY(10px) scale(.95);transition:all var(--transition-normal);pointer-events:none}.chat-button-container.expanded .chat-button-popup{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.chat-button-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);border-bottom:1px solid var(--color-secondary-200)}.chat-button-title{font-size:var(--text-lg);font-weight:600;color:var(--color-text-primary);margin:0}.chat-button-close{background:none;border:none;padding:var(--space-xs);cursor:pointer;color:var(--color-text-secondary);border-radius:var(--radius-md);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.chat-button-close:hover{background-color:var(--color-primary-50);color:var(--color-text-primary)}.chat-button-content{padding:var(--space-md)}.chat-button-message{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin:0 0 var(--space-md) 0}.chat-button-cta{margin-bottom:var(--space-sm)}.chat-whatsapp-button{width:100%}.chat-button-note{font-size:var(--text-xs);color:var(--color-text-muted);text-align:center;margin:0;font-style:italic}@media (max-width: 768px){.chat-button-container{bottom:var(--space-md);right:var(--space-md)}.chat-button-popup{width:calc(100vw - var(--space-xl));max-width:320px}.chat-button-toggle{min-width:120px;height:44px;padding:var(--space-xs) var(--space-sm)}.chat-button-text{font-size:var(--text-xs)}.chat-button-toggle:after{bottom:-5px;right:10px;border-left-width:6px;border-right-width:6px;border-top-width:6px}}@media (prefers-reduced-motion: reduce){.chat-button-toggle,.chat-button-popup{transition:none}.chat-button-toggle:hover{transform:none}}.error-boundary{--error-bg: var(--color-surface, #FAFAF8);--error-border: var(--color-warning-bg, #F4E4C1);--error-text: var(--color-text, #2E2E38);--error-text-muted: var(--color-text-muted, #6B6B75);--error-icon: var(--color-warning-text, #8B5A00);display:flex;align-items:center;justify-content:center;min-height:200px;padding:var(--space-xl, 2rem);background:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--radius-xl, .75rem);box-shadow:0 4px 6px #2e2e381a}.error-boundary__content{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg, 1.5rem);max-width:500px;text-align:center}.error-boundary__icon{color:var(--error-icon);opacity:.8}.error-boundary__message{display:flex;flex-direction:column;gap:var(--space-md, 1rem)}.error-boundary__title{margin:0;font-size:var(--text-xl, 1.25rem);font-weight:600;color:var(--error-text);line-height:var(--leading-tight, 1.25)}.error-boundary__description{margin:0;font-size:var(--text-base, 1rem);color:var(--error-text-muted);line-height:var(--leading-relaxed, 1.625)}.error-boundary__actions{display:flex;gap:var(--space-md, 1rem);flex-wrap:wrap;justify-content:center}.error-boundary__button{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-sm, .75rem) var(--space-lg, 1.5rem);font-size:var(--text-sm, .875rem);font-weight:500;border-radius:var(--radius-lg, .5rem);cursor:pointer;transition:all .2s ease;text-decoration:none;border:1px solid transparent;&:focus{outline:2px solid var(--color-nav, #5B6C9D);outline-offset:2px}}.error-boundary__button--primary{background:var(--color-accent, #E39A5B);color:var(--color-surface, #FAFAF8);border-color:var(--color-accent, #E39A5B);&:hover{background:var(--color-primary-hover, #D18A4A);border-color:var(--color-primary-hover, #D18A4A)}&:active{transform:translateY(1px)}}.error-boundary__button--secondary{background:transparent;color:var(--color-nav, #5B6C9D);border-color:var(--color-nav, #5B6C9D);&:hover{background:var(--color-bg-accent, #DAD7EE)}&:active{transform:translateY(1px)}}.error-boundary__details{width:100%;margin-top:var(--space-lg, 1.5rem);padding:var(--space-md, 1rem);background:#2e2e380d;border-radius:var(--radius-md, .375rem);text-align:left}.error-boundary__details-summary{font-weight:600;color:var(--error-text);cursor:pointer;padding:var(--space-xs, .5rem) 0;&:hover{color:var(--color-nav, #5B6C9D)}}.error-boundary__details-content{margin-top:var(--space-md, 1rem);h3{margin:var(--space-md, 1rem) 0 var(--space-xs, .5rem) 0;font-size:var(--text-sm, .875rem);font-weight:600;color:var(--error-text)}}.error-boundary__code{background:#2e2e381a;padding:var(--space-sm, .75rem);border-radius:var(--radius-sm, .25rem);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:var(--text-xs, .75rem);color:var(--error-text);overflow-x:auto;white-space:pre-wrap;word-break:break-word}.error-fallback{display:flex;align-items:center;justify-content:center;padding:var(--space-lg, 1.5rem);background:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--radius-lg, .5rem);min-height:120px}.error-fallback__content{display:flex;flex-direction:column;align-items:center;gap:var(--space-md, 1rem);text-align:center}.error-fallback__message{margin:0;font-size:var(--text-sm, .875rem);color:var(--error-text-muted);line-height:var(--leading-relaxed, 1.625)}.error-fallback__retry{padding:var(--space-xs, .5rem) var(--space-md, 1rem);font-size:var(--text-xs, .75rem);font-weight:500;background:transparent;color:var(--color-nav, #5B6C9D);border:1px solid var(--color-nav, #5B6C9D);border-radius:var(--radius-md, .375rem);cursor:pointer;transition:all .2s ease;&:hover{background:var(--color-bg-accent, #DAD7EE)}&:focus{outline:2px solid var(--color-nav, #5B6C9D);outline-offset:2px}}.api-error-fallback{display:flex;flex-direction:column;gap:var(--space-lg, 1.5rem);padding:var(--space-lg, 1.5rem);background:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--radius-lg, .5rem)}.api-error-fallback__content{display:flex;align-items:center;gap:var(--space-md, 1rem)}.api-error-fallback__icon{color:var(--color-success, #BFD3C1);flex-shrink:0}.api-error-fallback__message{flex:1}.api-error-fallback__title{margin:0 0 var(--space-xs, .5rem) 0;font-size:var(--text-base, 1rem);font-weight:600;color:var(--error-text)}.api-error-fallback__description{margin:0;font-size:var(--text-sm, .875rem);color:var(--error-text-muted);line-height:var(--leading-relaxed, 1.625)}.api-error-fallback__retry{padding:var(--space-xs, .5rem) var(--space-md, 1rem);font-size:var(--text-xs, .75rem);font-weight:500;background:var(--color-success, #BFD3C1);color:var(--color-text, #2E2E38);border:1px solid var(--color-success, #BFD3C1);border-radius:var(--radius-md, .375rem);cursor:pointer;transition:all .2s ease;flex-shrink:0;&:hover{background:var(--color-secondary-hover, #A8C2AA);border-color:var(--color-secondary-hover, #A8C2AA)}&:focus{outline:2px solid var(--color-nav, #5B6C9D);outline-offset:2px}}.api-error-fallback__note{padding-top:var(--space-md, 1rem);border-top:1px solid var(--error-border);p{margin:0;font-size:var(--text-xs, .75rem);color:var(--error-text-muted);line-height:var(--leading-relaxed, 1.625)}}@media (max-width: 768px){.error-boundary{padding:var(--space-lg, 1.5rem);min-height:160px}.error-boundary__content{gap:var(--space-md, 1rem)}.error-boundary__actions{flex-direction:column;width:100%}.error-boundary__button{width:100%}.api-error-fallback__content{flex-direction:column;text-align:center}}@media (prefers-reduced-motion: reduce){.error-boundary__button,.error-fallback__retry,.api-error-fallback__retry{transition:none}.error-boundary__button:active,.error-fallback__retry:active,.api-error-fallback__retry:active{transform:none}}@media (prefers-contrast: high){.error-boundary,.error-fallback,.api-error-fallback{border-width:2px}.error-boundary__button,.error-fallback__retry,.api-error-fallback__retry{border-width:2px;font-weight:600}}.professional-filter{background-color:var(--color-surface);border:1px solid rgba(91,108,157,.2);border-radius:var(--radius-xl);padding:var(--space-xl);margin-bottom:var(--space-2xl)}.professional-filter__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-lg);margin-bottom:var(--space-lg)}.professional-filter__title-group{flex:1}.professional-filter__title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text);margin:0 0 var(--space-xs) 0}.professional-filter__count{font-size:var(--text-sm);color:var(--color-nav);margin:0;font-weight:var(--font-medium)}.professional-filter__actions{display:flex;align-items:center;gap:var(--space-md)}.professional-filter__clear{padding:var(--space-sm) var(--space-md);background-color:var(--color-success);color:var(--color-text);border:1px solid var(--color-success);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--duration-200) var(--ease-out);min-height:36px}.professional-filter__clear:hover{background-color:#bfd3c1cc;transform:translateY(-1px)}.professional-filter__clear:focus{outline:2px solid var(--color-success);outline-offset:2px}.professional-filter__toggle{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background-color:transparent;color:var(--color-nav);border:1px solid rgba(91,108,157,.3);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--duration-200) var(--ease-out);min-height:36px}.professional-filter__toggle:hover{background-color:#5b6c9d1a;border-color:#5b6c9d66}.professional-filter__toggle:focus{outline:2px solid var(--color-nav);outline-offset:2px}.professional-filter__toggle-text{white-space:nowrap}.professional-filter__toggle-icon{font-size:var(--text-lg);font-weight:var(--font-bold);line-height:1;transition:transform var(--duration-200) var(--ease-out)}.professional-filter--expanded .professional-filter__toggle-icon{transform:rotate(180deg)}.professional-filter__content{overflow:hidden;transition:all var(--duration-300) var(--ease-out);max-height:0;opacity:0}.professional-filter--expanded .professional-filter__content{max-height:1000px;opacity:1;padding-top:var(--space-lg);border-top:1px solid rgba(91,108,157,.2)}.professional-filter__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-xl);margin-bottom:var(--space-xl)}.professional-filter__group{display:flex;flex-direction:column;gap:var(--space-sm)}.professional-filter__group--checkboxes{grid-column:1 / -1}.professional-filter__label{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text);margin:0}.professional-filter__select{padding:var(--space-sm) var(--space-md);background-color:var(--color-surface);color:var(--color-text);border:1px solid rgba(91,108,157,.3);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:inherit;transition:all var(--duration-200) var(--ease-out);min-height:40px}.professional-filter__select:hover{border-color:#5b6c9d80}.professional-filter__select:focus{outline:2px solid var(--color-nav);outline-offset:2px;border-color:var(--color-nav)}.professional-filter__fieldset{border:1px solid rgba(91,108,157,.2);border-radius:var(--radius-md);padding:var(--space-lg);margin:0}.professional-filter__legend{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text);padding:0 var(--space-sm)}.professional-filter__checkbox-group{display:flex;flex-direction:column;gap:var(--space-md)}.professional-filter__checkbox-label{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;font-size:var(--text-sm);color:var(--color-text);min-height:24px}.professional-filter__checkbox{width:18px;height:18px;border:2px solid rgba(91,108,157,.4);border-radius:var(--radius-sm);background-color:var(--color-surface);cursor:pointer;transition:all var(--duration-200) var(--ease-out);flex-shrink:0}.professional-filter__checkbox:checked{background-color:var(--color-success);border-color:var(--color-success);background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='m13.854 3.646-7.5 7.5a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6 10.293l7.146-7.147a.5.5 0 0 1 .708.708z'/%3e%3c/svg%3e");background-size:12px;background-position:center;background-repeat:no-repeat}.professional-filter__checkbox:hover{border-color:#5b6c9d99}.professional-filter__checkbox:focus{outline:2px solid var(--color-nav);outline-offset:2px}.professional-filter__checkbox-text{font-weight:var(--font-medium);line-height:var(--leading-normal)}.professional-filter__summary{padding-top:var(--space-lg);border-top:1px solid rgba(91,108,157,.2)}.professional-filter__active-filters{background-color:#eae6f54d;border:1px solid rgba(91,108,157,.2);border-radius:var(--radius-md);padding:var(--space-lg)}.professional-filter__active-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text);margin:0 0 var(--space-sm) 0}.professional-filter__active-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:var(--space-sm)}.professional-filter__active-item{display:inline-block;padding:var(--space-xs) var(--space-sm);background-color:var(--color-success);color:var(--color-text);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-medium)}@media (max-width: 768px){.professional-filter{padding:var(--space-lg)}.professional-filter__header{flex-direction:column;align-items:stretch;gap:var(--space-md)}.professional-filter__actions{justify-content:space-between}.professional-filter__grid{grid-template-columns:1fr;gap:var(--space-lg)}.professional-filter__checkbox-group{flex-direction:row;flex-wrap:wrap}}@media (max-width: 480px){.professional-filter{padding:var(--space-md)}.professional-filter__actions{flex-direction:column;align-items:stretch;gap:var(--space-sm)}.professional-filter__toggle,.professional-filter__clear{width:100%;justify-content:center}.professional-filter__checkbox-group{flex-direction:column}.professional-filter__active-list{flex-direction:column;gap:var(--space-xs)}}@media (prefers-contrast: high){.professional-filter,.professional-filter__select,.professional-filter__fieldset{border-width:2px}.professional-filter__checkbox{border-width:3px}.professional-filter__toggle,.professional-filter__clear{border-width:2px}}@media (prefers-reduced-motion: reduce){.professional-filter__content,.professional-filter__toggle-icon{transition:none}.professional-filter__clear:hover{transform:none}}.professional-filter__toggle:focus,.professional-filter__clear:focus,.professional-filter__select:focus,.professional-filter__checkbox:focus{outline:2px solid var(--color-nav);outline-offset:2px}@media print{.professional-filter__toggle{display:none}.professional-filter__content{max-height:none;opacity:1;padding-top:var(--space-lg);border-top:1px solid #ccc}.professional-filter__clear{display:none}}.professional-card{display:flex;flex-direction:column;background-color:var(--color-surface);border:1px solid rgba(91,108,157,.2);border-radius:var(--radius-xl);padding:var(--space-2xl);gap:var(--space-lg);position:relative;transition:all var(--duration-200) var(--ease-out);box-shadow:0 2px 8px #5b6c9d14}.professional-card:hover{border-color:#5b6c9d4d;box-shadow:0 4px 16px #5b6c9d1f;transform:translateY(-2px)}.professional-card--featured{border-color:#e39a5b66;background-color:var(--color-surface);box-shadow:0 4px 16px #e39a5b26}.professional-card--featured:hover{border-color:#e39a5b99;box-shadow:0 6px 24px #e39a5b33}.professional-card--compact{padding:var(--space-xl);gap:var(--space-md)}.professional-card__featured-badge{position:absolute;top:var(--space-xl);right:var(--space-xl);background-color:var(--color-accent);color:var(--color-surface);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:var(--tracking-wide);box-shadow:0 2px 8px #e39a5b4d}.professional-card__header{display:flex;flex-direction:column;gap:var(--space-md)}.professional-card__title-group{display:flex;flex-direction:column;gap:var(--space-xs)}.professional-card__name{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-text);line-height:var(--leading-tight);margin:0}.professional-card__organization{font-size:var(--text-base);color:var(--color-nav);line-height:var(--leading-normal);margin:0}.professional-card__badges{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.professional-card__badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-medium);line-height:var(--leading-none)}.professional-card__badge--trauma-informed{background-color:#bfd3c133;color:var(--color-text);border:1px solid var(--color-success)}.professional-card__badge--emergency{background-color:#5b6c9d1a;color:var(--color-nav);border:1px solid rgba(91,108,157,.3)}.professional-card__badge-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.professional-card__badge-text{white-space:nowrap}.professional-card__content{display:flex;flex-direction:column;gap:var(--space-xl);flex:1}.professional-card__description{font-size:var(--text-base);color:var(--color-text);line-height:var(--leading-relaxed);margin:0}.professional-card__details{display:flex;flex-direction:column;gap:var(--space-xl)}.professional-card__section-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-nav);margin:0 0 var(--space-sm) 0;text-transform:uppercase;letter-spacing:var(--tracking-wide)}.professional-card__service-list{display:flex;flex-wrap:wrap;gap:var(--space-md)}.professional-card__service-item{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-sm);color:var(--color-text)}.professional-card__service-icon{display:flex;align-items:center;justify-content:center;color:var(--color-nav);flex-shrink:0}.professional-card__service-label{font-weight:var(--font-medium)}.professional-card__specialization-list{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.professional-card__specialization-tag{display:inline-block;padding:var(--space-xs) var(--space-sm);background-color:#eae6f580;color:var(--color-text);border:1px solid rgba(91,108,157,.2);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-medium);line-height:var(--leading-none)}.professional-card__specialization-tag--more{background-color:#bfd3c14d;color:var(--color-text);border-color:var(--color-success)}.professional-card__schedule{font-size:var(--text-sm);color:var(--color-text);margin:0;line-height:var(--leading-normal)}.professional-card__wait-time{font-size:var(--text-sm);color:var(--color-nav);margin:var(--space-xs) 0 0 0;line-height:var(--leading-normal)}.professional-card__address{font-size:var(--text-sm);color:var(--color-text);margin:0;line-height:var(--leading-relaxed);display:flex;align-items:flex-start;gap:var(--space-sm)}.professional-card__address-icon{flex-shrink:0;font-size:var(--text-base);margin-top:1px}.professional-card__actions{display:flex;flex-direction:column;gap:var(--space-md);margin-top:auto}.professional-card__cta{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-md) var(--space-xl);border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:var(--font-medium);text-decoration:none;transition:all var(--duration-200) var(--ease-out);align-self:flex-start;min-height:44px}.professional-card__cta--primary{background-color:var(--color-accent);color:var(--color-surface);border:2px solid var(--color-accent)}.professional-card__cta--primary:hover{background-color:#e39a5be6;border-color:#e39a5be6;transform:translateY(-1px);box-shadow:0 4px 12px #e39a5b4d}.professional-card__cta--primary:focus{outline:2px solid var(--color-accent);outline-offset:2px}.professional-card__contact-options{display:flex;flex-wrap:wrap;gap:var(--space-xl)}.professional-card__contact-link{font-size:var(--text-sm);color:var(--color-nav);text-decoration:none;font-weight:var(--font-medium);transition:color var(--duration-200) var(--ease-out);min-height:44px;display:flex;align-items:center}.professional-card__contact-link:hover{color:var(--color-accent);text-decoration:underline}.professional-card__contact-link:focus{outline:2px solid var(--color-nav);outline-offset:2px;border-radius:var(--radius-sm)}.professional-card__contact-guidance{background-color:#eae6f54d;border:1px solid rgba(91,108,157,.2);border-radius:var(--radius-md);padding:var(--space-md);margin-top:var(--space-sm)}.professional-card__contact-help{font-size:var(--text-xs);color:var(--color-nav);margin:0;line-height:var(--leading-relaxed);font-style:italic}@media (max-width: 768px){.professional-card{padding:var(--space-xl);gap:var(--space-xl)}.professional-card__name{font-size:var(--text-lg)}.professional-card__description{font-size:var(--text-sm)}.professional-card__badges{gap:var(--space-xs)}.professional-card__service-list{flex-direction:column;gap:var(--space-sm)}.professional-card__contact-options{gap:var(--space-md)}.professional-card__cta{padding:var(--space-sm) var(--space-lg);font-size:var(--text-sm)}}@media (prefers-contrast: high){.professional-card,.professional-card__badge,.professional-card__specialization-tag{border-width:2px}.professional-card__cta--primary{border-width:3px}}@media (prefers-reduced-motion: reduce){.professional-card{transition:none}.professional-card:hover,.professional-card__cta--primary:hover{transform:none}}.professional-card:focus-within{outline:2px solid var(--color-nav);outline-offset:2px}.professional-card--compact .professional-card__header{gap:var(--space-sm)}.professional-card--compact .professional-card__content{gap:var(--space-md)}.professional-card--compact .professional-card__actions{gap:var(--space-sm)}@media (prefers-color-scheme: dark){.professional-card{background-color:var(--color-surface);border-color:#5b6c9d4d}}@media print{.professional-card{break-inside:avoid;box-shadow:none;border:1px solid #ccc}.professional-card__cta{display:none}.professional-card__contact-options{display:block}.professional-card__contact-link{color:#000;text-decoration:underline}}.professional-grid{width:100%;max-width:1200px;margin:0 auto}.professional-grid__container{display:flex;flex-direction:column;gap:var(--space-2xl)}.professional-grid__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-4xl) var(--space-2xl);gap:var(--space-lg)}.professional-grid__loading-spinner{width:40px;height:40px;border:3px solid rgba(91,108,157,.2);border-top:3px solid var(--color-nav);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.professional-grid__loading-text{font-size:var(--text-base);color:var(--color-nav);margin:0;text-align:center}.professional-grid__error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-4xl) var(--space-2xl);gap:var(--space-lg);text-align:center;background-color:var(--color-surface);border:1px solid rgba(227,154,91,.3);border-radius:var(--radius-xl)}.professional-grid__error-icon{font-size:var(--text-4xl)}.professional-grid__error-title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-text);margin:0}.professional-grid__error-message{font-size:var(--text-base);color:var(--color-nav);margin:0;line-height:var(--leading-relaxed)}.professional-grid__error-retry{padding:var(--space-md) var(--space-xl);background-color:var(--color-success);color:var(--color-text);border:2px solid var(--color-success);border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;transition:all var(--duration-200) var(--ease-out);min-height:44px}.professional-grid__error-retry:hover{background-color:#bfd3c1cc;transform:translateY(-1px)}.professional-grid__error-retry:focus{outline:2px solid var(--color-success);outline-offset:2px}.professional-grid__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-4xl) var(--space-2xl);gap:var(--space-lg);text-align:center;background-color:var(--color-surface);border:1px solid rgba(91,108,157,.2);border-radius:var(--radius-xl)}.professional-grid__empty-icon{font-size:var(--text-4xl)}.professional-grid__empty-title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-text);margin:0}.professional-grid__empty-message{font-size:var(--text-base);color:var(--color-nav);margin:0;line-height:var(--leading-relaxed)}.professional-grid__empty-suggestion{font-size:var(--text-sm);color:var(--color-nav);margin:0;line-height:var(--leading-relaxed)}.professional-grid__empty-clear{background:none;border:none;color:var(--color-accent);text-decoration:underline;cursor:pointer;font-size:inherit;font-weight:var(--font-medium);transition:color var(--duration-200) var(--ease-out)}.professional-grid__empty-clear:hover{color:#e39a5bcc}.professional-grid__empty-clear:focus{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.professional-grid__summary,.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}.professional-grid__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:var(--space-2xl);padding:0;margin:0;list-style:none}.professional-grid__item{display:flex;flex-direction:column}.professional-grid__footer{margin-top:var(--space-2xl);padding-top:var(--space-2xl);border-top:1px solid rgba(91,108,157,.2)}.professional-grid__disclaimer{background-color:#eae6f54d;border:1px solid rgba(91,108,157,.2);border-radius:var(--radius-lg);padding:var(--space-xl);text-align:center}.professional-grid__disclaimer-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text);margin:0 0 var(--space-md) 0}.professional-grid__disclaimer-text{font-size:var(--text-sm);color:var(--color-nav);margin:0 0 var(--space-sm) 0;line-height:var(--leading-relaxed)}.professional-grid__disclaimer-text:last-child{margin-bottom:0}@media (max-width: 768px){.professional-grid__grid{grid-template-columns:1fr;gap:var(--space-xl)}.professional-grid__loading,.professional-grid__error,.professional-grid__empty{padding:var(--space-2xl) var(--space-lg)}.professional-grid__disclaimer{padding:var(--space-lg)}.professional-grid__disclaimer-title{font-size:var(--text-base)}}@media (max-width: 480px){.professional-grid__grid{gap:var(--space-lg)}.professional-grid__loading,.professional-grid__error,.professional-grid__empty{padding:var(--space-xl) var(--space-md);gap:var(--space-md)}.professional-grid__error-title,.professional-grid__empty-title{font-size:var(--text-lg)}.professional-grid__disclaimer{padding:var(--space-md)}}@media (prefers-contrast: high){.professional-grid__error,.professional-grid__empty,.professional-grid__disclaimer{border-width:2px}.professional-grid__error-retry{border-width:3px}}@media (prefers-reduced-motion: reduce){.professional-grid__loading-spinner{animation:none}.professional-grid__error-retry:hover{transform:none}}.professional-grid--loading .professional-grid__loading-spinner{animation-duration:1.5s}.professional-grid__error-retry:focus,.professional-grid__empty-clear:focus{outline:2px solid var(--color-accent);outline-offset:2px}@media print{.professional-grid__loading,.professional-grid__error{display:none}.professional-grid__grid{grid-template-columns:1fr;gap:var(--space-lg)}.professional-grid__disclaimer{background-color:transparent;border:1px solid #ccc}}
