@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.boutique-page{max-width:1100px;margin:0 auto;padding:var(--space-xl) var(--space-lg);animation:fadeIn .4s ease-out}.boutique-header{text-align:center;margin-bottom:var(--space-2xl)}.boutique-header h1{font-family:var(--font-primary),var(--font-fallback);font-size:var(--text-3xl);color:var(--templo-text-primary);margin-bottom:var(--space-sm);font-weight:300;letter-spacing:.08em;text-transform:uppercase}.boutique-header p{font-size:var(--text-base);color:var(--templo-text-muted);max-width:600px;margin:0 auto;line-height:1.6}.boutique-intro{display:grid;grid-template-columns:1fr 1.5fr;grid-gap:0;gap:0;margin-bottom:var(--space-3xl);padding:var(--space-xl) 0;align-items:stretch}.boutique-intro-left{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:right;padding-right:var(--space-2xl)}.boutique-intro-left h1,.boutique-intro-left h2{font-family:var(--font-primary),var(--font-fallback);color:var(--templo-text-primary);font-weight:300;letter-spacing:.06em;text-transform:uppercase;line-height:1.3;margin:0}.boutique-intro-left h1{font-size:1.6rem}.boutique-intro-left h2{font-size:1.4rem}.boutique-intro-subtitle{font-size:.92rem;color:var(--templo-text-muted);margin-top:var(--space-md);line-height:1.6;font-style:italic}.boutique-intro-right{border-left:1px solid var(--templo-border-light,#d4c5a9);padding-left:var(--space-2xl);display:flex;flex-direction:column;justify-content:center}.boutique-intro-right p{font-size:.92rem;color:var(--templo-text-secondary);line-height:1.8;margin-bottom:var(--space-md)}.boutique-intro-right p:last-child{margin-bottom:0}.boutique-intro-sub{margin-bottom:var(--space-xl);padding:var(--space-lg) 0;border-top:1px solid var(--templo-border-light)}.boutique-intro-sub:first-child{border-top:none}.boutique-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-xl);gap:var(--space-xl);max-width:900px;margin:0 auto}.boutique-card{display:flex;flex-direction:column;cursor:pointer;transition:transform .3s ease;animation:fadeIn .4s ease-out both;max-width:280px;margin:0 auto;width:100%}.boutique-card:first-child{animation-delay:0s}.boutique-card:nth-child(2){animation-delay:.08s}.boutique-card:nth-child(3){animation-delay:.16s}.boutique-card:nth-child(4){animation-delay:.24s}.boutique-card:nth-child(5){animation-delay:.32s}.boutique-card:nth-child(6){animation-delay:.4s}.boutique-card:hover{transform:translateY(-6px)}.boutique-card-image{overflow:hidden;border-radius:24px;z-index:100;aspect-ratio:3/4}.boutique-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.boutique-card:hover .boutique-card-image img{transform:scale(1.05)}.boutique-card-info{position:relative;z-index:1;margin-top:-40px;padding:50px 16px 20px;background:#856A57;border-radius:0 0 24px 24px;text-align:center}.boutique-card-info h3{font-family:var(--font-primary),var(--font-fallback);font-size:.95rem;color:#d4c5a9;margin-bottom:4px;font-weight:400;letter-spacing:.12em;text-transform:uppercase}.boutique-card-info p{font-size:.82rem;color:rgba(255,255,255,.7);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;font-style:italic}.boutique-card-info .card-service-count{font-size:.72rem;color:rgba(255,255,255,.6);margin-top:4px;font-weight:400;text-transform:uppercase;letter-spacing:.05em}.boutique-category-page{max-width:1100px;margin:0 auto;padding:var(--space-xl) var(--space-lg);animation:fadeIn .4s ease-out}.boutique-category-header{margin-bottom:var(--space-2xl)}.boutique-category-header h1{font-family:var(--font-primary),var(--font-fallback);font-size:var(--text-2xl);color:var(--templo-text-primary);margin-bottom:var(--space-sm);font-weight:300;letter-spacing:.06em;text-transform:uppercase}.boutique-category-header p{font-size:var(--text-base);color:var(--templo-text-muted);line-height:1.6;max-width:700px}.btn-back{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--templo-text-muted);font-size:var(--text-sm);cursor:pointer;padding:var(--space-sm) 0;margin-bottom:var(--space-md);font-family:var(--font-primary),var(--font-fallback);transition:color .2s ease;letter-spacing:.02em}.btn-back:hover{color:var(--templo-brown-medium)}.boutique-subcategories{display:flex;flex-direction:column;gap:var(--space-2xl)}.boutique-subcategory-section{animation:fadeIn .4s ease-out both}.boutique-subcategory-header{display:flex;align-items:flex-start;gap:var(--space-xl);margin-bottom:var(--space-xl);padding:var(--space-lg);background:var(--templo-bg-card);border-radius:16px;border:1px solid var(--templo-border-light)}.boutique-subcategory-image{width:140px;height:140px;border-radius:12px;overflow:hidden;flex-shrink:0}.boutique-subcategory-image img{width:100%;height:100%;object-fit:cover}.boutique-subcategory-info{flex:1 1}.boutique-subcategory-info h2{font-family:var(--font-primary),var(--font-fallback);font-size:var(--text-xl);color:var(--templo-text-primary);margin-bottom:var(--space-sm);font-weight:400;letter-spacing:.04em}.boutique-subcategory-info p{font-size:var(--text-sm);color:var(--templo-text-muted);line-height:1.6}.subcategory-card{max-width:1120px;margin:0 auto;display:flex;align-items:stretch;background:#fffaf4;border-radius:24px;box-shadow:0 12px 30px rgba(0,0,0,.08);overflow:hidden;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease;animation:fadeIn .4s ease-out both}.subcategory-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(0,0,0,.13)}.subcategory-card-image{flex:0 0 480px;height:340px}.subcategory-card-image img{width:100%;height:100%;object-fit:cover;display:block;border-radius:24px}.subcategory-card-info{flex:1 1;padding:22px 40px 24px;display:flex;flex-direction:column;justify-content:center}.subcategory-card-info h2{font-family:var(--font-primary),var(--font-fallback);font-size:18px;color:#664D3C;margin:0 0 10px;font-weight:400;letter-spacing:0;text-transform:uppercase;text-align:center}.subcategory-card-description{font-size:14px;color:#B29780;line-height:1.5;margin:0 0 18px;font-style:italic}.subcategory-card-long-desc{margin:0 0 18px}.subcategory-card-long-desc p{font-size:14px;color:#B29780;line-height:1.5;margin:0 0 10px;font-style:italic}.subcategory-card-long-desc p:last-child{margin-bottom:0}.subcategory-card-btn{display:inline-block;margin:0 auto;padding:7px 24px;border-radius:8px;border:1px solid #b79a80;background:transparent;font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:#664d3c;cursor:pointer;transition:background .2s ease,color .2s ease}.subcategory-card-btn:hover{background:#6b5244;color:#fff}.boutique-services-list{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-xl);gap:var(--space-xl)}.boutique-service-card{background:var(--templo-bg-card);border-radius:20px;border:1px solid var(--templo-border-light);transition:transform .3s ease,box-shadow .3s ease;animation:fadeIn .4s ease-out both;box-shadow:0 2px 12px rgba(0,0,0,.06);overflow:hidden}.boutique-service-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.1)}.boutique-service-image{overflow:hidden}.boutique-service-image img{width:100%;display:block;object-fit:cover;border-radius:24px}.boutique-service-info{padding:20px;display:flex;flex-direction:column;text-align:center}.boutique-service-title{font-family:var(--font-primary),var(--font-fallback);font-size:1rem;color:var(--templo-text-primary);font-weight:500;margin:0 0 4px;letter-spacing:.06em;text-transform:uppercase;transition:color .2s ease}.boutique-service-title:hover{color:var(--templo-brown-medium)}.boutique-service-subcategory{font-size:.82rem;color:var(--templo-text-muted);font-style:italic;margin-bottom:4px}.boutique-service-separator{width:100%;height:1px;background:var(--templo-border-light);margin:10px 0}.boutique-service-description{font-size:.85rem;color:var(--templo-text-muted);line-height:1.55;font-style:italic;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.boutique-service-details{display:flex;align-items:center;justify-content:center;gap:8px;margin:4px 0 0}.boutique-service-duration{font-size:.85rem;color:var(--templo-text-muted)}.boutique-service-duration:before{content:none}.boutique-service-details-sep{font-size:.85rem;color:var(--templo-text-muted)}.boutique-service-price{font-size:.95rem;font-weight:600;color:var(--templo-text-primary)}.boutique-service-actions{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:16px}.btn-add-cart{background:none;color:var(--templo-text-primary);padding:10px 18px;border:1px solid var(--templo-text-primary);border-radius:24px;font-size:.82rem;font-family:var(--font-primary),var(--font-fallback);font-weight:400;cursor:pointer;transition:all .2s ease;white-space:nowrap;letter-spacing:.02em}.btn-add-cart:hover{background:var(--templo-brown-medium);border-color:var(--templo-brown-medium);color:#fff}.btn-add-cart:active{transform:scale(.97)}.btn-add-cart:disabled{opacity:.5;cursor:not-allowed}.btn-view-more{background:none;border:1px solid var(--templo-text-primary);color:var(--templo-text-primary);font-size:.82rem;font-family:var(--font-primary),var(--font-fallback);font-weight:400;cursor:pointer;padding:10px 18px;border-radius:24px;transition:all .2s ease;letter-spacing:.02em;white-space:nowrap}.btn-view-more:hover{background:var(--templo-brown-medium);border-color:var(--templo-brown-medium);color:#fff}.btn-add-cart-large{padding:12px 32px;font-size:.9rem}.boutique-service-detail-page{max-width:1100px;margin:0 auto;padding:var(--space-xl) var(--space-lg);animation:fadeIn .4s ease-out}.boutique-service-detail-top{margin-bottom:var(--space-xl)}.boutique-breadcrumb{font-size:.82rem;color:var(--templo-text-muted);display:flex;align-items:center;gap:2px;flex-wrap:wrap}.boutique-breadcrumb-link{color:var(--templo-text-muted);cursor:pointer;transition:color .2s ease}.boutique-breadcrumb-link:hover{color:var(--templo-brown-medium)}.boutique-breadcrumb-separator{color:var(--templo-border);margin:0 4px}.boutique-breadcrumb-current{color:var(--templo-text-secondary)}.boutique-service-detail-layout{display:grid;grid-template-columns:40% 1fr;border-radius:20px;overflow:hidden;box-shadow:0 2px 16px rgba(0,0,0,.06)}.boutique-service-detail-image{position:relative}.boutique-service-detail-image img{width:100%;display:block;object-fit:cover;height:100%}.boutique-service-detail-card{background:#fff;padding:var(--space-2xl);overflow-y:auto;min-height:0}.boutique-service-detail-title{font-family:var(--font-primary),var(--font-fallback);font-size:2rem;color:var(--templo-text-primary);margin-bottom:var(--space-lg);font-weight:400;letter-spacing:.06em;line-height:1.25;text-transform:uppercase}.boutique-service-detail-description{margin-bottom:var(--space-xl)}.boutique-service-detail-description p{font-size:.95rem;color:var(--templo-text-secondary);line-height:1.8;white-space:pre-line}.boutique-service-detail-meta{display:flex;align-items:center;gap:8px;margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--templo-border-light)}.boutique-service-detail-duration,.boutique-service-detail-meta-sep{font-size:.95rem;color:var(--templo-text-muted)}.boutique-service-detail-price{font-size:1.1rem;font-weight:600;color:var(--templo-text-primary)}.boutique-service-detail-actions{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-md)}.boutique-service-detail-actions .btn-add-cart-large{width:100%;text-align:center;padding:14px 32px;font-size:.95rem}.boutique-service-detail-gift-note{font-size:.82rem;color:var(--templo-text-muted);font-style:italic;text-align:center;width:100%}.btn-ver-mas{background:none;border:none;color:var(--templo-brown-medium);font-size:.88rem;font-family:var(--font-primary),var(--font-fallback);cursor:pointer;padding:4px 0;margin-top:4px;font-style:italic;transition:color .2s ease}.btn-ver-mas:hover{color:var(--templo-text-primary)}.boutique-empty,.empty-state{text-align:center;padding:var(--space-3xl) var(--space-lg);color:var(--templo-text-muted)}.boutique-empty .empty-icon{font-size:3rem;margin-bottom:var(--space-md);opacity:.5}.boutique-empty p,.empty-state p{font-size:var(--text-base);max-width:400px;margin:0 auto;line-height:1.5}.boutique-loading{text-align:center;padding:var(--space-3xl);color:var(--templo-text-muted)}.error-state{text-align:center;padding:var(--space-2xl)}.error-state p{color:var(--templo-text-muted);margin-bottom:var(--space-lg)}@media (max-width:900px){.boutique-grid,.boutique-services-list{grid-template-columns:repeat(2,1fr)}.boutique-header h1{font-size:var(--text-2xl)}.boutique-service-detail-title{font-size:1.6rem}}@media (max-width:600px){.boutique-category-page,.boutique-page{padding:var(--space-lg) var(--space-md)}.boutique-header{margin-bottom:var(--space-xl)}.boutique-header h1{font-size:var(--text-xl)}.boutique-header p{font-size:var(--text-sm)}.boutique-intro{grid-template-columns:1fr;gap:var(--space-lg);margin-bottom:var(--space-xl);padding:var(--space-md) 0}.boutique-intro-left{text-align:center;padding-right:0}.boutique-intro-left h1{font-size:1.2rem}.boutique-intro-left h2{font-size:1.1rem}.boutique-intro-right{border-left:none;padding-left:0;border-top:1px solid var(--templo-border-light,#d4c5a9);padding-top:var(--space-lg)}.boutique-intro-right p{font-size:.85rem}.boutique-intro-sub{margin-bottom:var(--space-lg);padding:var(--space-md) 0}.boutique-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:var(--space-md);padding-bottom:var(--space-sm);scrollbar-width:none}.boutique-grid::-webkit-scrollbar{display:none}.boutique-card{min-width:150px;max-width:150px;flex-shrink:0;scroll-snap-align:start}.boutique-card-image{border-radius:16px;aspect-ratio:3/3.5}.boutique-card-info{border-radius:0 0 16px 16px;padding:36px 10px 14px;margin-top:-30px}.boutique-card-info h3{font-size:.7rem;letter-spacing:.08em}.boutique-card-info p{font-size:.65rem;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.boutique-card-info .card-service-count{font-size:.6rem}.boutique-category-header h1{font-size:var(--text-xl)}.boutique-subcategory-header{flex-direction:column;align-items:center;text-align:center;padding:var(--space-md)}.boutique-subcategory-image{width:100px;height:100px}.boutique-subcategory-info h2{text-align:center}.subcategory-card{flex-direction:column;border-radius:18px}.subcategory-card-image{flex:none;width:100%;height:220px}.subcategory-card-image img{border-radius:18px 18px 0 0}.subcategory-card-info{padding:18px 20px 20px;text-align:center;align-items:center}.subcategory-card-info h2{font-size:16px}.boutique-services-list{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:var(--space-md);padding-bottom:var(--space-sm);max-width:none;margin:0;scrollbar-width:none}.boutique-services-list::-webkit-scrollbar{display:none}.boutique-service-card{min-width:160px;max-width:160px;flex-shrink:0;scroll-snap-align:start;border-radius:14px;display:flex;flex-direction:column}.boutique-service-image img{border-radius:14px;height:140px}.boutique-service-info{padding:10px 10px 12px;flex:1 1;display:flex;flex-direction:column}.boutique-service-title{font-size:.75rem}.boutique-service-subcategory{font-size:.65rem}.boutique-service-description{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.7rem;flex:1 1}.boutique-service-separator{margin:6px 0}.boutique-service-details-sep,.boutique-service-duration{font-size:.72rem}.boutique-service-price{font-size:.8rem}.boutique-service-actions{margin-top:auto;padding-top:6px;gap:4px;flex-direction:column;align-items:center}.boutique-service-actions .btn-add-cart,.boutique-service-actions .btn-view-more{font-size:.7rem;padding:6px 12px;border-radius:16px}.boutique-service-detail-page{padding:var(--space-lg) var(--space-md)}.boutique-service-detail-layout{grid-template-columns:1fr;border-radius:16px}.boutique-service-detail-image img{height:auto}.boutique-service-detail-card{padding:var(--space-lg);overflow-y:visible}.boutique-service-detail-title{font-size:1.4rem}}