@keyframes progress-pulse{0%,to{box-shadow:0 0 #942c4c66}50%{box-shadow:0 0 0 8px #942c4c00}}.progress-pulse,.progress-pulse-mobile{animation:progress-pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-check-in{animation:check-in .4s cubic-bezier(.34,1.56,.64,1)}@keyframes line-fill{0%{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}.progress-line-fill{animation:line-fill .5s cubic-bezier(.4,0,.2,1)}@keyframes bar-fill{0%{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}.progress-bar-fill{animation:bar-fill .5s cubic-bezier(.4,0,.2,1)}.progress-indicator-step{transition:all .3s cubic-bezier(.4,0,.2,1)}.progress-indicator-step:hover:not(:disabled){transform:scale(1.1);box-shadow:0 10px 25px -3px #942c4c26,0 4px 6px -2px #942c4c14}.progress-indicator-step:focus-visible{outline:2px solid #942c4c;outline-offset:2px}@media (prefers-reduced-motion: reduce){.progress-pulse,.progress-pulse-mobile,.animate-check-in,.progress-line-fill,.progress-bar-fill{animation:none}.progress-indicator-step{transition:none}}.service-details-modal-backdrop{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:service-details-fade-in .3s ease-out}.service-details-modal-backdrop.closing{animation:service-details-fade-out .3s ease-out}.service-details-modal{background:#fff;border-radius:1rem;max-width:800px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:service-details-slide-up .3s ease-out}.service-details-modal.closing{animation:service-details-slide-down .3s ease-out}.service-details-modal.mobile{position:fixed;bottom:0;left:0;right:0;max-width:100%;border-radius:1rem 1rem 0 0;max-height:85vh;animation:service-details-bottom-sheet-up .3s ease-out}.service-details-modal.mobile.closing{animation:service-details-bottom-sheet-down .3s ease-out}.service-details-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e5e7eb;position:relative}.service-details-title{font-size:1.5rem;font-weight:700;color:#374151;margin:0;flex:1;padding-right:1rem}.service-details-close{background:none;border:none;padding:.5rem;cursor:pointer;color:#6b7280;border-radius:.5rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.service-details-close:hover{background-color:#f3f4f6;color:#374151}.service-details-close:focus{outline:2px solid #e11d48;outline-offset:2px}.service-details-content{flex:1;overflow-y:auto;padding:1.5rem}.service-details-image-carousel{margin-bottom:1.5rem}.service-details-image-container{position:relative;width:100%;height:300px;border-radius:.75rem;overflow:hidden;background-color:#f9fafb}.service-details-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.service-details-image-placeholder{width:100%;height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#f9fafb;border-radius:.75rem;color:#6b7280}.service-details-image-placeholder-icon{font-size:3rem;margin-bottom:.5rem}.service-details-carousel-button{position:absolute;top:50%;transform:translateY(-50%);background:#ffffffe6;border:none;width:2.5rem;height:2.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.service-details-carousel-button:hover{background:#fff;box-shadow:0 4px 8px #00000026}.service-details-carousel-button--prev{left:1rem}.service-details-carousel-button--next{right:1rem}.service-details-image-indicators{display:flex;justify-content:center;gap:.5rem;margin-top:1rem}.service-details-image-indicator{width:.5rem;height:.5rem;border-radius:50%;border:none;background-color:#d1d5db;cursor:pointer;transition:all .2s ease}.service-details-image-indicator.active{background-color:#e11d48;width:1.5rem;border-radius:.25rem}.service-details-overview{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.service-details-price-duration{display:flex;align-items:center;gap:1rem}.service-details-price{font-size:1.5rem;font-weight:700;color:#9f1239}.service-details-duration{display:flex;align-items:center;gap:.5rem;color:#6b7280;font-size:.875rem}.service-details-description{color:#4b5563;line-height:1.6;margin-bottom:2rem}.service-details-section{margin-bottom:2rem}.service-details-section-title{font-size:1.125rem;font-weight:600;color:#374151;margin-bottom:1rem}.service-details-included-list{list-style:none;padding:0;margin:0}.service-details-included-item{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;color:#4b5563}.service-details-included-icon{color:#22c55e;flex-shrink:0;margin-top:.125rem}.service-details-expect-content{display:flex;flex-direction:column;gap:1rem}.service-details-expect-step{display:flex;gap:1rem;align-items:flex-start}.service-details-expect-step-number{width:2rem;height:2rem;background:linear-gradient(135deg,#9f1239,#e11d48);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;flex-shrink:0}.service-details-expect-step-content h4{margin:0 0 .25rem;color:#374151;font-weight:600}.service-details-expect-step-content p{margin:0;color:#6b7280;font-size:.875rem}.service-details-faq{display:flex;flex-direction:column;gap:.5rem}.service-details-faq-item{border:1px solid #e5e7eb;border-radius:.5rem;overflow:hidden}.service-details-faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1rem;background:none;border:none;cursor:pointer;font-size:1rem;font-weight:500;color:#374151;transition:background-color .2s ease}.service-details-faq-question:hover{background-color:#f9fafb}.service-details-faq-question:focus{outline:2px solid #e11d48;outline-offset:-2px}.service-details-faq-answer{padding:0 1rem 1rem;color:#4b5563;line-height:1.6}.service-details-faq-answer p{margin:0}.service-details-stylist{display:flex;align-items:center;gap:1rem}.service-details-stylist-photo{width:4rem;height:4rem;border-radius:50%;-o-object-fit:cover;object-fit:cover}.service-details-stylist-info{flex:1}.service-details-stylist-name{margin:0 0 .25rem;color:#374151;font-weight:600}.service-details-stylist-specialty{color:#6b7280;font-size:.875rem;margin:0 0 .5rem}.service-details-stylist-rating{display:flex;align-items:center}.service-details-location{display:flex;flex-direction:column;gap:.5rem}.service-details-location>div{display:flex;align-items:center;gap:.5rem;color:#4b5563}.service-details-location-name{font-weight:600;color:#374151}.service-details-location-address{font-size:.875rem;color:#6b7280}.service-details-footer{display:flex;gap:1rem;padding:1.5rem;border-top:1px solid #e5e7eb;background-color:#f9fafb}.service-details-button{flex:1;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;font-size:1rem}.service-details-button--secondary{background:#fff;color:#6b7280;border:1px solid #d1d5db}.service-details-button--secondary:hover{background-color:#f9fafb;color:#374151}.service-details-button--primary{background:linear-gradient(135deg,#9f1239,#e11d48);color:#fff}.service-details-button--primary:hover{transform:translateY(-1px);box-shadow:0 4px 8px #9f123933}.service-details-button--primary.selected{background:linear-gradient(135deg,#22c55e,#16a34a)}.service-details-button:focus{outline:2px solid #e11d48;outline-offset:2px}@keyframes service-details-fade-in{0%{opacity:0}to{opacity:1}}@keyframes service-details-fade-out{0%{opacity:1}to{opacity:0}}@keyframes service-details-slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes service-details-slide-down{0%{transform:translateY(0);opacity:1}to{transform:translateY(20px);opacity:0}}@keyframes service-details-bottom-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes service-details-bottom-sheet-down{0%{transform:translateY(0)}to{transform:translateY(100%)}}@media (prefers-color-scheme: dark){.service-details-modal{background:#1f2937;color:#f9fafb}.service-details-header{border-bottom-color:#374151}.service-details-title{color:#f9fafb}.service-details-close{color:#d1d5db}.service-details-close:hover{background-color:#374151;color:#f9fafb}.service-details-image-container{background-color:#374151}.service-details-image-placeholder{background-color:#374151;color:#9ca3af}.service-details-price{color:#fbd5e0}.service-details-duration{color:#9ca3af}.service-details-description{color:#d1d5db}.service-details-section-title{color:#f9fafb}.service-details-included-item{color:#d1d5db}.service-details-expect-step-content h4{color:#f9fafb}.service-details-expect-step-content p{color:#9ca3af}.service-details-faq-item{border-color:#374151}.service-details-faq-question{color:#f9fafb}.service-details-faq-question:hover{background-color:#374151}.service-details-faq-answer{color:#d1d5db}.service-details-stylist-name{color:#f9fafb}.service-details-stylist-specialty{color:#9ca3af}.service-details-location>div{color:#d1d5db}.service-details-location-name{color:#f9fafb}.service-details-location-address{color:#9ca3af}.service-details-footer{background-color:#374151;border-top-color:#4b5563}.service-details-button--secondary{background:#374151;color:#d1d5db;border-color:#4b5563}.service-details-button--secondary:hover{background-color:#4b5563;color:#f9fafb}}@media (prefers-reduced-motion: reduce){.service-details-modal-backdrop,.service-details-modal,.service-details-button{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width: 768px){.service-details-modal-backdrop{padding:0}.service-details-header{padding:1rem}.service-details-title{font-size:1.25rem}.service-details-content{padding:1rem}.service-details-image-container{height:200px}.service-details-overview{flex-direction:column;align-items:flex-start}.service-details-footer{padding:1rem}.service-details-button{padding:.625rem 1rem;font-size:.875rem}}@media (min-resolution: 192dpi){.service-details-image{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}}@media print{.service-details-modal-backdrop{background:#fff;position:static}.service-details-modal{box-shadow:none;max-height:none}}.service-card{position:relative;background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;-moz-user-select:none;user-select:none;min-height:180px;display:flex;flex-direction:column;gap:.75rem}.service-card:hover{transform:scale(1.02) translateY(-4px);box-shadow:0 10px 25px -3px #0000001a,0 4px 6px -2px #0000000d;border-color:#e11d48}.service-card--selected{border:2px solid #e11d48;background:linear-gradient(135deg,#fce7f3,#fbd5e0);box-shadow:0 10px 15px -3px #e11d4833}.service-card--pressed{transform:scale(.98) translateY(-2px);box-shadow:0 4px 6px -1px #0000001a}.service-card:focus-visible{outline:2px solid #e11d48;outline-offset:2px;box-shadow:0 0 0 4px #e11d481a}.service-card-selection-indicator{position:absolute;top:.75rem;right:.75rem;background:#e11d48;color:#fff;border-radius:50%;width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;animation:check-in .4s cubic-bezier(.34,1.56,.64,1);z-index:10}.service-card-check-icon{width:1rem;height:1rem}.service-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem}.service-card-icon-title{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.service-card-icon{font-size:1.5rem;line-height:1;flex-shrink:0}.service-card-name{font-family:var(--font-display, "Playfair Display", Georgia, serif);font-size:1.125rem;font-weight:600;color:#9f1239;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.service-card-price{text-align:right;flex-shrink:0}.service-card-price-amount{font-family:var(--font-display, "Playfair Display", Georgia, serif);font-size:1.25rem;font-weight:700;color:#9f1239;line-height:1}.service-card-price-plus{font-size:.875rem;color:#6b7280;font-weight:500}.service-card-description{font-size:.875rem;color:#4b5563;line-height:1.5;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:.5rem}.service-card-metadata{display:flex;gap:1rem;margin-bottom:.75rem}.service-card-duration,.service-card-stylist{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:#6b7280;font-weight:500}.service-card-metadata-icon{width:1rem;height:1rem;color:#9ca3af}.service-card-rating{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.service-card-stars{display:flex;gap:.125rem}.service-card-star{width:1rem;height:1rem;transition:all .2s ease}.service-card-star--filled{color:#f59e0b;fill:#f59e0b}.service-card-star--half{color:#f59e0b;background:linear-gradient(90deg,#f59e0b 50%,#d1d5db 50%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.service-card-star--empty{color:#d1d5db}.service-card-review-count{font-size:.8125rem;color:#6b7280;font-weight:500}.service-card-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}.service-card-badge{padding:.25rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.service-card-badge--popular{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border:1px solid #f59e0b}.service-card-badge--new{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af;border:1px solid #3b82f6}.service-card-badge--featured{background:linear-gradient(135deg,#fce7f3,#fbd5e0);color:#9f1239;border:1px solid #e11d48}.service-card-badge--high{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;border:1px solid #10b981}.service-card-badge--medium{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border:1px solid #f59e0b}.service-card-badge--low{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b;border:1px solid #ef4444}.service-card-ripple{position:absolute;border-radius:50%;background:#e11d484d;transform:scale(0);animation:ripple .6s linear;pointer-events:none}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}@keyframes check-in{0%{opacity:0;transform:scale(.5) rotate(-45deg)}50%{transform:scale(1.1) rotate(0)}to{opacity:1;transform:scale(1) rotate(0)}}.service-card-star:hover{transform:scale(1.1)}.service-card-badge{transition:all .2s ease}.service-card-badge:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}@media (max-width: 640px){.service-card{padding:1.25rem;min-height:160px}.service-card-header{margin-bottom:.375rem}.service-card-icon{font-size:1.25rem}.service-card-name{font-size:1rem}.service-card-price-amount{font-size:1.125rem}.service-card-description{font-size:.8125rem;-webkit-line-clamp:3}.service-card-metadata{flex-direction:column;gap:.5rem}.service-card-badges{gap:.375rem}.service-card-badge{font-size:.6875rem;padding:.1875rem .5rem}.service-card{min-height:120px}}@media (max-width: 390px){.service-card{padding:1rem}.service-card-header{flex-direction:column;align-items:flex-start;gap:.5rem}.service-card-price{align-self:flex-end}}@media (min-resolution: 192dpi){.service-card{border-width:1.5px}.service-card--selected{border-width:2px}}@media (prefers-color-scheme: dark){.service-card{background:#1f2937;border-color:#374151;color:#f9fafb}.service-card:hover{border-color:#f472b6}.service-card--selected{background:linear-gradient(135deg,#374151,#4b5563);border-color:#f472b6}.service-card-name{color:#f9fafb}.service-card-description,.service-card-duration,.service-card-stylist,.service-card-review-count{color:#d1d5db}.service-card-metadata-icon{color:#9ca3af}}@media (prefers-reduced-motion: reduce){.service-card{transition:none}.service-card:hover,.service-card--pressed{transform:none}.service-card-selection-indicator,.service-card-ripple{animation:none}.service-card-star,.service-card-badge{transition:none}.service-card-badge:hover{transform:none}}@media print{.service-card{border:1px solid #000;background:#fff;color:#000;box-shadow:none}.service-card:hover{transform:none;box-shadow:none}.service-card--selected{background:#f0f0f0;border:2px solid #000}.service-card-ripple{display:none}}.service-card:focus-visible{outline:2px solid #e11d48;outline-offset:2px}.service-card--skeleton{pointer-events:none;cursor:default}.service-card--skeleton:hover{transform:none;box-shadow:none;border-color:#e5e7eb}.service-card-learn-more{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:none;border:1px solid #d1d5db;border-radius:.5rem;color:#6b7280;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;margin-top:1rem;width:100%;justify-content:center}.service-card-learn-more:hover{background-color:#f9fafb;color:#374151;border-color:#9ca3af}.service-card-learn-more:focus{outline:2px solid #e11d48;outline-offset:2px}.service-card-learn-more:active{transform:translateY(1px)}:root{--service-card-border-radius: 12px;--service-card-padding: 1.5rem;--service-card-min-height: 180px;--service-card-hover-transform: scale(1.02) translateY(-4px);--service-card-hover-shadow: 0 10px 25px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--service-card-selected-border: 2px solid #e11d48;--service-card-ripple-color: rgba(225, 29, 72, .3);--service-card-ripple-duration: .6s}.category-filter-container{position:relative;margin-bottom:2rem}.category-filter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.category-filter-title{font-family:var(--font-display, "Playfair Display", Georgia, serif);font-size:1.25rem;font-weight:600;color:#9f1239;margin:0;letter-spacing:-.01em}.category-filter-clear{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:1px solid #e5e7eb;border-radius:.5rem;font-size:.875rem;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s ease}.category-filter-clear:hover{background:#fef2f2;border-color:#fecaca;color:#9f1239}.category-filter-clear:active{transform:scale(.98)}.category-filter-wrapper{position:relative;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -.5rem;padding:0 .5rem}.category-filter{position:relative;display:flex;gap:.75rem;padding-bottom:.5rem;min-width:-moz-max-content;min-width:max-content}.category-filter-button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1rem 1.25rem;background:#fff;border:2px solid #f3f4f6;border-radius:1rem;font-size:.875rem;font-weight:500;color:#4b5563;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;outline:none;min-width:120px;box-shadow:0 1px 3px #0000000d}.category-filter-button:hover{background:#fef2f2;border-color:#fecaca;color:#9f1239;transform:translateY(-2px);box-shadow:0 4px 12px #9f12391a}.category-filter-button--active{background:linear-gradient(135deg,#9f1239,#e11d48);border-color:#9f1239;color:#fff;box-shadow:0 4px 12px #9f123940,0 2px 6px #9f123926;transform:translateY(-2px)}.category-filter-button--active:hover{background:linear-gradient(135deg,#8a0f32,#d11942);border-color:#8a0f32;transform:translateY(-3px);box-shadow:0 6px 16px #9f12394d,0 4px 8px #9f123933}.category-filter-icon{font-size:1.75rem;line-height:1;display:block}.category-filter-name{font-weight:600;font-size:.875rem;text-align:center;line-height:1.3}.category-filter-count{position:absolute;top:.5rem;right:.5rem;background:#00000014;color:inherit;padding:.25rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:700;min-width:1.75rem;text-align:center;line-height:1}.category-filter-button--active .category-filter-count{background:#ffffff40;color:#fff}.category-filter-indicator{display:none}.category-filter--animating .service-card{opacity:.6;transform:translateY(5px);transition:all .25s ease}.category-filter-results{display:flex;justify-content:space-between;align-items:center;margin-top:1.25rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#fef2f2,#fff1f2);border-radius:.75rem;border:1px solid #fecaca}.category-filter-results-text{font-size:1rem;font-weight:600;color:#9f1239;font-family:var(--font-display, "Playfair Display", Georgia, serif)}.category-filter-results-count{font-size:.875rem;color:#be123c;font-weight:600;background:#fff;padding:.375rem .75rem;border-radius:9999px;border:1px solid #fecaca}@media (max-width: 640px){.category-filter-header{margin-bottom:1.25rem}.category-filter-title{font-size:1.125rem}.category-filter-clear{font-size:.8125rem;padding:.375rem .75rem}.category-filter-button{padding:.875rem 1rem;font-size:.8125rem;gap:.375rem;min-width:100px}.category-filter-icon{font-size:1.5rem}.category-filter-name{font-size:.8125rem}.category-filter-count{font-size:.6875rem;padding:.1875rem .4375rem;min-width:1.5rem;top:.375rem;right:.375rem}.category-filter-results{margin-top:1rem;padding:.875rem 1rem}.category-filter-results-text{font-size:.9375rem}.category-filter-results-count{font-size:.8125rem;padding:.3125rem .625rem}}@media (max-width: 390px){.category-filter-button{padding:.75rem .875rem;font-size:.75rem;min-width:90px}.category-filter-icon{font-size:1.375rem}.category-filter-name{font-size:.75rem}}@media (hover: none) and (pointer: coarse){.category-filter-button{min-height:88px;padding:1rem 1.125rem}.category-filter-button:active{transform:scale(.97)}.category-filter-button--active:active{background:linear-gradient(135deg,#8a0f32,#d11942)}}@media (prefers-color-scheme: dark){.category-filter-button{background:#374151;border-color:#4b5563;color:#d1d5db}.category-filter-button:hover{background:#4b5563;border-color:#6b7280;color:#f3f4f6}.category-filter-button--active{background:linear-gradient(135deg,#8a0f32,#d11942);border-color:#8a0f32}.category-filter-button--active:hover{background:linear-gradient(135deg,#750d2b,#b01739);border-color:#750d2b}.category-filter-clear{background:#374151;border-color:#4b5563;color:#d1d5db}.category-filter-clear:hover{background:#4b5563;border-color:#6b7280;color:#f3f4f6}.category-filter-title{color:#f9fafb}.category-filter-results{background:linear-gradient(135deg,#374151,#4b5563);border-color:#6b7280}.category-filter-results-text{color:#f3f4f6}.category-filter-results-count{color:#f3f4f6;background:#1f2937;border-color:#6b7280}}@media (prefers-reduced-motion: reduce){.category-filter-button{transition:none}.category-filter-button:hover{transform:none}.category-filter-indicator,.category-filter--animating .service-card{transition:none}}.category-filter-button:focus-visible{outline:2px solid #e11d48;outline-offset:2px}:root{--category-filter-border-radius: 1rem;--category-filter-transition: all .25s cubic-bezier(.4, 0, .2, 1);--category-filter-min-touch-target: 88px}.category-filter-wrapper{scroll-behavior:smooth}.category-filter-wrapper{-ms-overflow-style:none;scrollbar-width:none}.category-filter-wrapper::-webkit-scrollbar{display:none}@media print{.category-filter-button{background:#fff;border:1px solid #000;color:#000}.category-filter-button--active{background:#f0f0f0;border:2px solid #000}.category-filter-clear{display:none}.category-filter-results{background:#fff;border:1px solid #000}}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton-pulse{animation:skeleton-pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes skeleton-wave{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skeleton-wave{position:relative;overflow:hidden;background:linear-gradient(90deg,#e5e7eb 0% 40%,#f3f4f6 50%,#e5e7eb 60% 100%);background-size:200% 100%;animation:skeleton-wave 1.5s ease-in-out infinite}.skeleton-shimmer{position:relative;overflow:hidden;background-color:#e5e7eb}.skeleton-shimmer:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,#fff0,#ffffff4d,#fff0);animation:skeleton-wave 1.5s ease-in-out infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fade-in .3s ease-out}.skeleton-loading{transition:opacity .3s ease-out}.skeleton-loaded{opacity:0;pointer-events:none}.loading-overlay-backdrop{backdrop-filter:blur(4px);transition:opacity .2s ease-out}.button-loading{position:relative;color:transparent;pointer-events:none}.button-loading:after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border:2px solid currentColor;border-radius:50%;border-top-color:transparent;animation:spin .6s linear infinite}@keyframes skeleton-content-fade{0%{opacity:0}to{opacity:1}}.skeleton-content-fade{animation:skeleton-content-fade .4s ease-out}@keyframes loading-dots{0%,20%{opacity:.3}50%{opacity:1}to{opacity:.3}}.loading-dot{animation:loading-dots 1.4s infinite}.loading-dot:nth-child(2){animation-delay:.2s}.loading-dot:nth-child(3){animation-delay:.4s}.skeleton-gradient{background:linear-gradient(110deg,#e5e7eb 8%,#f3f4f6 18%,#e5e7eb 33%);background-size:200% 100%;animation:skeleton-wave 1.5s linear infinite}@media (prefers-reduced-motion: reduce){.skeleton-pulse,.skeleton-wave,.skeleton-shimmer:after,.animate-spin,.animate-ping,.fade-in,.skeleton-content-fade,.loading-dot,.skeleton-gradient{animation:none}.skeleton-wave,.skeleton-gradient{background:#e5e7eb}.skeleton-pulse{opacity:.7}}.loading-container{min-height:200px;display:flex;align-items:center;justify-content:center}.skeleton-text{height:1em;margin-bottom:.5em;border-radius:4px}.skeleton-text:last-child{width:80%;margin-bottom:0}.skeleton-card{padding:1.5rem;border:1px solid #e5e7eb;border-radius:.5rem}.spinner-sm{width:1rem;height:1rem}.spinner-md{width:1.5rem;height:1.5rem}.spinner-lg{width:2rem;height:2rem}.spinner-xl{width:3rem;height:3rem}.security-badge{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;transition:all .2s ease}.security-badge:hover{border-color:#d1d5db;box-shadow:0 2px 4px #0000000d}.security-badge-content{display:flex;flex-direction:column;gap:.125rem}.security-badge-title{font-size:.875rem;font-weight:600;color:#1f2937;line-height:1.2}.security-badge-subtitle{font-size:.75rem;color:#6b7280;line-height:1.2}.security-badge-prominent{padding:1rem 1.25rem;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac}.security-badge-prominent .security-badge-title{font-size:1rem;color:#166534}.security-badge-prominent .security-badge-subtitle{font-size:.875rem;color:#15803d}.security-badges-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin:1.5rem 0}@media (max-width: 640px){.security-badges-grid{grid-template-columns:1fr}}.trust-signals-row{display:flex;align-items:center;justify-content:center;gap:1.5rem;padding:.75rem;background:#f9fafb;border-radius:.5rem;flex-wrap:wrap}.trust-signal-compact{display:flex;align-items:center;gap:.5rem}.trust-signal-text{font-size:.75rem;font-weight:500;color:#4b5563}.payment-security-banner{display:flex;gap:1rem;padding:1rem;background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border:1px solid #86efac;border-radius:.75rem;margin:1rem 0}.payment-security-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a}.payment-security-content{flex:1}.payment-security-title{font-size:1rem;font-weight:600;color:#166534;margin-bottom:.25rem}.payment-security-description{font-size:.875rem;color:#15803d;line-height:1.5}.trust-indicators-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin:1.5rem 0}.trust-indicator-item{display:flex;gap:.75rem;padding:1rem;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;transition:all .2s ease}.trust-indicator-item:hover{border-color:#942c4c;box-shadow:0 4px 6px -1px #942c4c1a;transform:translateY(-2px)}.trust-indicator-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:#f9fafb;border-radius:.5rem}.trust-indicator-content{flex:1}.trust-indicator-title{font-size:.875rem;font-weight:600;color:#1f2937;margin-bottom:.25rem}.trust-indicator-description{font-size:.75rem;color:#6b7280;line-height:1.4}.deposit-info-badge{display:flex;gap:1rem;padding:1rem;background:linear-gradient(135deg,#fff6f8,#fef2f2);border:1px solid #fecdd3;border-radius:.75rem;margin:1rem 0}.deposit-info-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:#fff;border-radius:.5rem}.deposit-info-content{flex:1}.deposit-info-title{font-size:.875rem;font-weight:600;color:#942c4c;margin-bottom:.25rem}.deposit-info-description{font-size:.75rem;color:#be123c;line-height:1.4}.consultation-badge{display:flex;gap:1rem;padding:1rem;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac;border-radius:.75rem;margin:1rem 0}.consultation-badge-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:#fff;border-radius:.5rem}.consultation-badge-content{flex:1}.consultation-badge-title{font-size:.875rem;font-weight:600;color:#166534;margin-bottom:.25rem}.consultation-badge-description{font-size:.75rem;color:#15803d;line-height:1.4}.policy-badge{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#fff6f8;border:1px solid #fecdd3;border-radius:.5rem}.policy-badge-content{display:flex;flex-direction:column;gap:.125rem}.policy-badge-title{font-size:.875rem;font-weight:600;color:#942c4c}.policy-badge-description{font-size:.75rem;color:#be123c}.payment-trust-section{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.75rem;margin:1rem 0}.payment-trust-footer{display:flex;justify-content:center;padding-top:.75rem;border-top:1px solid #e5e7eb}.payment-trust-footer-text{display:flex;align-items:center;font-size:.75rem;color:#6b7280}.mini-trust-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;background:#fff;border:1px solid #e5e7eb;border-radius:9999px;font-size:.75rem}.mini-trust-badge-text{font-weight:500;color:#4b5563}@keyframes badge-pulse{0%,to{opacity:1}50%{opacity:.8}}.security-badge-pulse{animation:badge-pulse 2s ease-in-out infinite}.security-badge:hover,.trust-indicator-item:hover{cursor:default}@media (max-width: 640px){.trust-signals-row{gap:1rem}.trust-signal-text{font-size:.7rem}.payment-security-banner{flex-direction:column;text-align:center}.payment-security-icon{margin:0 auto}.trust-indicators-list{grid-template-columns:1fr}}.security-badge:focus-visible,.trust-indicator-item:focus-visible{outline:2px solid #942c4c;outline-offset:2px}@media print{.security-badge,.trust-signals-row,.payment-security-banner{border-color:#000;background:#fff}}
