.hero{text-align:center;background:linear-gradient(#7c9a6b1a 0%,#fcfaf6 100%);padding:40px 20px;position:relative;overflow:hidden}.hero-title{color:var(--color-text);margin-bottom:12px;font-size:2.1rem;font-weight:700}.hero-subtitle{color:var(--color-text-light);max-width:90%;margin:0 auto 24px;font-size:.95rem;line-height:1.6}.category-tabs{scrollbar-width:none;gap:8px;padding:4px 20px 16px;display:flex;overflow-x:auto}.category-tabs::-webkit-scrollbar{display:none}.category-tab{white-space:nowrap;border:1px solid var(--color-border-solid);border-radius:var(--border-radius-lg);color:var(--color-text-light);cursor:pointer;transition:var(--transition-smooth);background-color:#fff;padding:8px 16px;font-size:.9rem;font-weight:500}.category-tab.active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:0 4px 10px #7c9a6b33}.service-list{padding:0 20px}.service-card{border-radius:var(--border-radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:var(--transition-smooth);background-color:#fff;flex-direction:column;margin-bottom:16px;padding:16px;display:flex;position:relative;overflow:hidden}.service-card:active{box-shadow:var(--shadow-md);transform:translateY(-2px)}.service-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.service-name{font-family:var(--font-sans);color:var(--color-text);font-size:1.05rem;font-weight:600}.service-badge{text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;border-radius:4px;padding:3px 8px;font-size:.5rem;font-weight:700}.badge-best-seller{color:var(--color-accent);background-color:#b8860b1f}.badge-best-choice{color:var(--color-primary-dark);background-color:#7c9a6b1f}.badge-must-try{color:var(--color-danger);background-color:#c750501a}.service-description{color:var(--color-text-light);margin-bottom:14px;font-size:.85rem;line-height:1.4}.service-description ul{margin-top:8px;margin-bottom:8px;padding-left:20px;list-style-position:outside}.service-description li{line-height:1.5;font-size:inherit;color:inherit;margin-bottom:8px}.service-description li:last-child{margin-bottom:0}.service-description p{line-height:1.5;font-size:inherit;color:inherit;margin-bottom:8px}.service-description p:last-child{margin-bottom:0}.service-description hr{border:0;border-top:1px dashed var(--color-border-solid);margin:12px 0}.service-footer{border-top:1px dashed var(--color-border-solid);justify-content:space-between;align-items:center;padding-top:12px;display:flex}.service-meta{flex-direction:column;display:flex}.service-duration{color:var(--color-text-light);align-items:center;gap:4px;font-size:.75rem;display:flex}.service-price{color:var(--color-accent);font-size:1.1rem;font-weight:700}.btn-book-sm{border-radius:var(--border-radius-sm);width:auto;padding:8px 16px;font-size:.8rem}.contact-item{border-bottom:1px solid var(--color-border-solid);align-items:flex-start;gap:16px;padding:16px 0;display:flex}.contact-icon{background-color:var(--color-primary-light);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.contact-icon svg{width:20px;height:20px;stroke:var(--color-primary-dark);fill:none}.contact-details h4{font-family:var(--font-sans);margin-bottom:4px;font-size:.95rem;font-weight:600}.contact-details p,.contact-details a{color:var(--color-text-light);font-size:.85rem}.contact-details a{color:var(--color-primary-dark);font-weight:500;text-decoration:underline}.btn-copy{background-color:var(--color-primary-light);cursor:pointer;color:var(--color-primary-dark);transition:var(--transition-smooth);border-radius:var(--border-radius-sm);border:none;flex-shrink:0;justify-content:center;align-items:center;padding:6px;display:inline-flex}.btn-copy:hover{background-color:var(--color-primary);color:#fff}.btn-copy:active{transform:scale(.9)}.btn-copy.copied{color:var(--color-success);background-color:#5d9b5d26}.calendar-slider{scrollbar-width:none;gap:8px;padding:8px 4px 16px;display:flex;overflow-x:auto}.calendar-slider::-webkit-scrollbar{display:none}.calendar-day-btn{border:1px solid var(--color-border-solid);border-radius:var(--border-radius-sm);cursor:pointer;min-width:60px;transition:var(--transition-smooth);background-color:#fff;flex-direction:column;align-items:center;padding:10px 6px;display:flex}.calendar-day-btn.active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:0 4px 8px #7c9a6b33}.calendar-day-name{text-transform:uppercase;color:var(--color-text-light);font-size:.75rem;font-weight:500}.calendar-day-btn.active .calendar-day-name{color:#fffc}.calendar-day-number{margin-top:2px;font-size:1.1rem;font-weight:700}.slots-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px;display:grid}.slot-btn{border:1.5px solid var(--color-success);border-radius:var(--border-radius-sm);color:var(--color-success);cursor:pointer;text-align:center;transition:var(--transition-smooth);background-color:#fff;padding:12px 4px 8px;font-size:.9rem;font-weight:600;position:relative}.slot-btn.active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:0 4px 8px #7c9a6b33}.slot-discount-badge{color:var(--color-accent);font-size:.75rem;font-weight:700;line-height:1;position:absolute;top:1px;right:3px}.slot-btn.active .slot-discount-badge{color:#fff;text-shadow:0 1px 2px #00000026}.slot-btn.disabled{border-color:var(--color-border-solid);color:var(--color-text-light);opacity:.55;cursor:not-allowed;background-color:#f5f5f5;text-decoration:line-through}.preference-section{border-radius:var(--border-radius-md);border:1px solid var(--color-border-solid);background:#fff;margin-bottom:16px;padding:16px}.preference-title{color:var(--color-text);margin-bottom:12px;font-size:.95rem;font-weight:700}.option-pill-group{flex-direction:column;gap:8px;display:flex}.option-pill-group.grid-2{grid-template-columns:repeat(2,1fr);display:grid}.option-pill-label{background-color:var(--color-bg);border:1px solid var(--color-border-solid);border-radius:var(--border-radius-sm);cursor:pointer;transition:var(--transition-smooth);align-items:center;padding:10px 12px;font-size:.85rem;display:flex}.option-pill-label input{margin-right:10px}.option-pill-label:has(input:checked){background-color:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary-dark);font-weight:500}.pref-duration-chips{background:var(--color-bg);border-radius:20px;gap:4px;padding:4px;display:inline-flex}.duration-chip{border:1px solid var(--color-primary);color:var(--color-text);cursor:pointer;background:0 0;border-radius:16px;padding:6px 16px;font-size:.9rem;font-weight:500;transition:all .2s}.duration-chip.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:0 2px 4px #0000001a}.messenger-segmented-control{background:#0000000d;border-radius:24px;gap:4px;margin-top:8px;padding:4px;display:flex}.messenger-pill-label{text-align:center;cursor:pointer;flex:1;margin:0}.messenger-pill-span{color:var(--color-text-light);background:0 0;border:none;border-radius:20px;padding:10px;font-size:.9rem;font-weight:600;transition:all .2s;display:block}.messenger-pill-span.active.whatsapp{background:var(--color-primary);color:#fff;box-shadow:0 2px 6px #7c9a6b40}.messenger-pill-span.active.zalo{color:#fff;background:#0068ff;box-shadow:0 2px 6px #0068ff40}.reviews-carousel-container{width:100%;margin-top:8px;position:relative}.reviews-carousel{scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;gap:16px;padding-bottom:8px;display:flex;overflow-x:auto}.reviews-carousel::-webkit-scrollbar{display:none}.reviews-carousel{-ms-overflow-style:none;scrollbar-width:none}.review-slide{scroll-snap-align:start;box-sizing:border-box;flex:0 0 100%}.review-card{border:1px solid var(--color-border-solid);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);box-sizing:border-box;background:#fff;flex-direction:column;justify-content:space-between;max-width:328px;height:440px;margin:0 auto;padding:24px;display:flex;position:relative}.review-stars{color:#fbbf24;flex-shrink:0;margin-bottom:12px;font-size:1.1rem}.review-text-wrap{flex-direction:column;flex-grow:1;margin-bottom:8px;display:flex;position:relative;overflow:hidden}.review-text{color:var(--color-text);-webkit-line-clamp:9;-webkit-box-orient:vertical;margin-bottom:0;font-size:.9rem;font-style:italic;line-height:1.5;transition:max-height .3s;display:-webkit-box;overflow:hidden}.review-card.has-media .review-text{-webkit-line-clamp:4}.review-card.expanded .review-text{max-height:290px;padding-right:4px;display:block;overflow-y:auto}.review-card.expanded .review-images-gallery,.review-card.expanded .review-video-gallery{display:none!important}.review-text::-webkit-scrollbar{width:4px}.review-text::-webkit-scrollbar-track{background:#00000005}.review-text::-webkit-scrollbar-thumb{background:var(--color-primary-light);border-radius:2px}.read-more-btn{color:var(--color-primary);cursor:pointer;text-align:left;background:0 0;border:none;flex-shrink:0;align-self:flex-start;padding:4px 0 0;font-size:.8rem;font-weight:600;transition:color .2s;display:none}.read-more-btn:hover{color:var(--color-primary-dark);text-decoration:underline}.review-author{color:var(--color-text-light);text-align:right;flex-shrink:0;margin-top:8px;font-size:.8rem;font-weight:700}.load-more-card{text-align:center;cursor:pointer;background:var(--color-surface);-webkit-backdrop-filter:blur(var(--blur-glass));transition:var(--transition-smooth);flex-direction:column;justify-content:center;align-items:center;display:flex;box-shadow:0 8px 32px #7c9a6b14;border:1px solid #fff6!important}.load-more-card:hover{box-shadow:var(--shadow-md);background:#fffffff2;transform:translateY(-4px);border-color:var(--color-primary)!important}.load-more-icon{color:var(--color-primary);justify-content:center;align-items:center;margin-bottom:12px;font-size:1.8rem;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex}.load-more-card:hover .load-more-icon{transform:translate(6px)}.load-more-text{font-family:var(--font-sans);letter-spacing:.5px;color:var(--color-primary-dark);font-size:.95rem;font-weight:600}.instagram-embed-wrapper{border-radius:var(--border-radius-md);border:1px solid var(--color-border-solid);width:100%;max-width:328px;box-shadow:var(--shadow-sm);background:#fff;margin:0 auto;position:relative;overflow:hidden}.instagram-iframe{border:none;width:100%;height:440px;display:block}.carousel-dots{justify-content:center;align-items:center;width:72px;height:12px;margin:16px auto 0;transition:width .3s;display:flex;position:relative;overflow:hidden}.carousel-dots-inner{align-items:center;gap:8px;height:100%;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;left:0}.dot{background-color:var(--color-border-solid);cursor:pointer;border-radius:50%;flex-shrink:0;width:8px;height:8px;transition:transform .3s cubic-bezier(.4,0,.2,1),background-color .3s,opacity .3s;transform:scale(1)}.dot.active{background-color:var(--color-primary-dark)}.dot.dot-medium{transform:scale(.6)}.dot.dot-small{transform:scale(.3)}.dot.dot-hidden{opacity:0;pointer-events:none;transform:scale(0)}.review-images-gallery{scrollbar-width:none;gap:8px;margin-top:12px;margin-bottom:12px;display:flex;overflow-x:auto}.review-images-gallery::-webkit-scrollbar{display:none}.review-gallery-img{object-fit:cover;border-radius:var(--border-radius-sm);border:1px solid var(--color-border-solid);cursor:pointer;width:162px;height:162px;transition:var(--transition-smooth)}.review-gallery-img:hover{transform:scale(1.05)}.review-video-gallery{scrollbar-width:none;gap:8px;margin-top:12px;margin-bottom:12px;display:flex;overflow-x:auto}.review-video-gallery::-webkit-scrollbar{display:none}.review-gallery-video{object-fit:cover;border-radius:var(--border-radius-sm);border:1px solid var(--color-border-solid);cursor:pointer;background-color:#000;width:252px;height:162px}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg, var(--color-bg) 25%, var(--color-primary-light) 50%, var(--color-bg) 75%);border-radius:var(--border-radius-sm);background-size:200% 100%;animation:1.4s ease-in-out infinite skeleton-shimmer}.skeleton-card{border-radius:var(--border-radius-md);border:1px solid var(--color-border);height:130px;margin-bottom:16px}.skeleton-card-body{flex-direction:column;gap:10px;padding:16px;display:flex}.skeleton-line{border-radius:4px;height:14px}.skeleton-line-sm{width:40%}.skeleton-line-md{width:70%}.skeleton-line-lg{width:100%}.section-fade{transition:opacity .15s}.section-fade.section-fade-updating{opacity:.6}
