:root{--color-primary: #155DFC;--color-primary-dark: #2D55EB;--color-primary-darker: #2347CC;--color-primary-light: #EFF6FF;--color-primary-soft: #F2F5FF;--color-primary-lighter: #EEF4FF;--color-secondary: #2D2A4A;--color-open: #27C840;--color-black: #000000;--color-black-solid: #0A0A0A;--color-gray-900: #111827;--color-gray-800: #1A1A1A;--color-gray-700: #213547;--color-gray-600: #374151;--color-gray-500: #4A5565;--color-gray-400: #6A7282;--color-gray-300: #6B7280;--color-gray-200: #787F83;--color-gray-150: #888888;--color-gray-100: #A0A6A9;--color-gray-50: #F3F4F6;--color-gray-25: #F3FBFF;--color-white: #FFFFFF;--color-error: #FF3B30;--color-success: #34C759;--color-success-dark: #248A3D;--color-success-light: #D1F4DD;--color-warning: #FF9500;--color-info: #007AFF;--color-link: #646CFF;--color-link-hover: #535BF2;--color-link-light: #747BFF;--color-overlay-dark: rgba(0, 0, 0, .45);--color-overlay-backdrop: rgba(0, 0, 0, .5);--font-primary: "Inter", system-ui, Avenir, Helvetica, Arial, sans-serif;--font-thai: "Noto Sans Thai", "Inter", system-ui, sans-serif;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-md: 18px;--font-size-lg: 20px;--font-size-xl: 24px;--font-size-2xl: 28px;--font-size-3xl: 3.2em;--font-size-amount: 36px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.1;--line-height-snug: 1.2;--line-height-normal: 1.4;--line-height-relaxed: 1.5;--line-height-loose: 22px;--line-height-xl: 24px;--line-height-2xl: 28px;--space-0: 0;--space-1: 2px;--space-2: 4px;--space-3: 6px;--space-4: 8px;--space-5: 10px;--space-6: 12px;--space-7: 14px;--space-8: 16px;--space-9: 18px;--space-10: 20px;--space-12: 24px;--space-14: 26px;--space-16: 32px;--space-20: 40px;--space-24: 48px;--space-32: 64px;--radius-none: 0;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 16px;--radius-2xl: 17px;--radius-3xl: 18px;--radius-4xl: 24px;--radius-full: 999px;--border-width-thin: 1px;--border-width-medium: 2px;--border-color-default: #E5E7EB;--border-color-transparent: transparent;--shadow-none: none;--shadow-sm: 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 1px 5px rgba(0, 0, 0, .15);--shadow-xl: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-2xl: 0 4px 6px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .1);--shadow-soft: 0 4px 6px rgba(0, 0, 0, .05);--height-input: 44px;--height-chip: 40px;--height-tab: 40px;--height-button: 56px;--height-footer: 64px;--height-page-header: 80px;--height-icon-btn: 40px;--height-icon-btn-lg: 48px;--width-search-btn: 36px;--width-add-btn: 40px;--width-icon-btn: 40px;--width-footer-item: 64px;--width-container: 1280px;--width-card-max: 420px;--width-service-max: 400px;--height-image-cover: 250px;--height-image-card: 290px;--height-image-detail: clamp(250px, 40dvh, 400px);--size-qr-image: 124px;--size-qr-image-tablet: 250px;--transition-fast: .2s ease;--transition-normal: .25s;--transition-slow: .3s ease;--z-base: 0;--z-above: 1;--z-sticky: 10;--z-modal: 10000;--breakpoint-sm: 480px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--font-size-title-responsive: 24px;--font-size-section-responsive: 18px;--font-size-body-responsive: 16px;--font-size-button-responsive: 24px;--font-size-small-responsive: 14px;--space-content-responsive: 16px;--space-section-responsive: 12px;--space-gap-responsive: 8px;--space-action-responsive: 24px;--height-image-responsive: clamp(250px, 40dvh, 400px);--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--viewport-height: 100dvh;--viewport-height-small: 100svh;--viewport-height-large: 100lvh}:root{font-family:var(--font-primary);line-height:var(--line-height-relaxed);font-weight:var(--font-weight-regular);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{overscroll-behavior:none;scroll-behavior:smooth}@supports (-webkit-touch-callout: none){.home-container,.service-detail-wrapper,.booking-success-page,.payment-page,.container{min-height:-webkit-fill-available}}a{font-weight:var(--font-weight-medium);color:var(--color-link);text-decoration:inherit}a:hover{color:var(--color-link-hover)}body{margin:0;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:contain}h1{font-size:var(--font-size-3xl);line-height:var(--line-height-tight)}button{border-radius:var(--radius-sm);border:var(--border-width-thin) solid var(--border-color-transparent);padding:.6em 1.2em;font-size:1em;font-weight:var(--font-weight-medium);font-family:inherit;background-color:var(--color-gray-800);cursor:pointer;transition:border-color var(--transition-normal)}button:hover{border-color:var(--color-link)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:var(--color-gray-700);background-color:var(--color-white)}a:hover{color:var(--color-link-light)}button{background-color:var(--color-gray-50)}}.category-tabs{display:flex;gap:var(--space-1);padding:var(--space-8);padding-left:var(--space-12);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}.category-tabs::-webkit-scrollbar{display:none}.category-tab{height:var(--height-tab);flex:0 0 auto;padding:var(--space-4) var(--space-6);border-radius:var(--radius-sm);border:none;background:var(--color-white);color:var(--color-gray-150);white-space:nowrap;font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer}.category-tab.active{background:var(--color-primary-dark);color:var(--color-white)}.search-bar{width:100%;height:var(--height-input);padding-left:var(--space-9);border-radius:var(--radius-4xl);background-color:var(--color-gray-50);border:none;outline:none;box-sizing:border-box;color:var(--color-gray-150);font-feature-settings:"liga" off,"clig" off;font-family:var(--font-primary);font-size:var(--font-size-md);font-style:normal;font-weight:var(--font-weight-regular);line-height:var(--line-height-loose)}.search-bar:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.search-btn{position:absolute;right:var(--space-2);top:50%;transform:translateY(-50%);width:var(--width-search-btn);height:var(--width-search-btn);border-radius:var(--radius-full);border:none;background-color:var(--color-primary);color:var(--color-white);font-weight:var(--font-weight-bold);display:flex;align-items:center;justify-content:center;line-height:1;padding:0;font-size:var(--font-size-md);cursor:pointer}.search-btn:focus-visible{outline:2px solid var(--color-primary-dark);outline-offset:2px}.chip-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-6);height:var(--height-chip);padding:0 var(--space-8);border-radius:var(--radius-full);border:var(--border-width-thin) solid var(--border-color-transparent);background:var(--color-primary-light);color:var(--color-primary);text-align:center;font-feature-settings:"liga" off,"clig" off;font-family:var(--font-primary);font-size:var(--font-size-sm);font-style:normal;font-weight:var(--font-weight-bold);line-height:var(--line-height-loose);cursor:pointer}.chip-btn svg{display:inline-flex}.chip-btn span{line-height:1}.chip-btn--full{width:100%}.chip-btn--active{border-color:var(--color-primary)}.chip-btn:focus{outline:none}.chip-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.chip-btn:focus:not(.chip-btn--active){border-color:var(--border-color-transparent)}.chip-btn{-webkit-tap-highlight-color:transparent}.filterSortBar{display:flex;align-items:center;justify-content:space-between}.filterBtn span{font-family:var(--font-primary);font-size:var(--font-size-md);font-style:normal;font-weight:var(--font-weight-medium);line-height:normal}.filterBtn,.sortBtn{border:none;background:transparent;display:inline-flex;align-items:center;gap:var(--space-5);font-weight:var(--font-weight-bold);cursor:pointer}.filterBtn:focus-visible,.sortBtn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.sortBtn{gap:var(--space-4)}.sortBtn span{font-weight:var(--font-weight-medium)}.sortBtn .select{font-family:var(--font-primary);font-size:var(--font-size-base);font-style:normal;font-weight:var(--font-weight-bold);line-height:normal}.sort-text{font-family:var(--font-primary);font-size:var(--font-size-base);font-style:normal;font-weight:var(--font-weight-medium);line-height:normal}.box-sort{display:flex;min-width:0;align-items:center;gap:var(--space-4)}.sortBtn{background:none;border:none;cursor:pointer;padding:0}.select{display:flex;align-items:center;min-width:0;gap:var(--space-1);color:var(--color-gray-300);font-family:var(--font-primary);font-size:var(--font-size-base);font-style:normal;font-weight:var(--font-weight-bold);line-height:normal}.box-filter{display:flex;justify-content:center;align-items:center;gap:var(--space-3)}.filter-text{color:var(--color-gray-300);font-family:var(--font-primary);font-size:var(--font-size-md);font-style:normal;font-weight:var(--font-weight-regular);line-height:normal}.service-card{width:100%;position:relative;border-radius:var(--radius-3xl);overflow:hidden;cursor:pointer;box-shadow:var(--shadow-xl);background:var(--color-white);content-visibility:auto;contain-intrinsic-size:360px 320px}.service-card-image{width:100%;height:var(--height-image-card);object-fit:cover;display:block;object-position:center bottom;border-radius:var(--radius-3xl) var(--radius-3xl) 0 0}.service-card-badge{position:absolute;top:var(--space-6);right:var(--space-6);background-color:var(--color-error);color:var(--color-white);padding:var(--space-3) var(--space-5);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm)}.service-card-overlay{width:100%;position:absolute;left:0;right:0;bottom:0;padding:var(--space-7);background:var(--color-white);border-bottom-left-radius:var(--radius-xl);border-bottom-right-radius:var(--radius-xl);transform:translateY(1px);box-shadow:0 -2px 4px #0000000d}.srv-title{color:var(--color-black);font-family:var(--font-primary);font-size:var(--font-size-md);font-style:normal;font-weight:var(--font-weight-bold);line-height:normal}.srv-location{color:var(--color-black);font-family:var(--font-primary);font-size:var(--font-size-base);font-style:normal;font-weight:var(--font-weight-regular);line-height:normal}.srv-category{color:var(--color-gray-600);margin-top:2px;font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:normal}.srv-meta{color:var(--color-gray-900);margin-top:6px;display:flex;gap:6px;align-items:center}.Footer{position:sticky;bottom:0;z-index:var(--z-sticky);background:var(--color-white);border-top:var(--border-width-thin) solid var(--border-color-default);padding-bottom:var(--safe-area-bottom)}.Footer__inner{height:var(--height-footer);display:flex;align-items:center;padding:0;max-width:var(--width-container);margin:0 auto;width:100%}.Footer__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;width:100%;height:100%}.Footer__list>li{display:flex;justify-content:center;align-items:center;height:100%}.footer-item{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--space-1);width:var(--width-footer-item);height:100%;text-decoration:none;color:var(--color-gray-150)}.footer-item svg{width:var(--space-12);height:var(--space-12);display:block}.footer-item.active{color:var(--color-primary)}.footer-item.active svg{color:var(--color-primary)}.footer-item .ft-menu{font-family:var(--font-primary);font-size:var(--font-size-sm);line-height:var(--space-10);font-weight:var(--font-weight-bold);letter-spacing:.2px;color:inherit}.back-drop{background:var(--color-overlay-backdrop);position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:flex-end}.sheet{background-color:var(--color-gray-25);width:100%;height:70dvh;border-radius:var(--radius-4xl) var(--radius-4xl) 0 0;display:flex;flex-direction:column;align-items:center;padding-bottom:var(--safe-area-bottom)}.header-bar{box-sizing:border-box;border-radius:var(--radius-4xl) var(--radius-4xl) 0 0;width:100%;height:var(--space-12);display:flex;justify-content:center;align-items:center;background-color:var(--color-white)}.bar{width:var(--width-footer-item);height:5px;background-color:var(--color-black);border-radius:var(--radius-4xl)}.header-btn{display:flex;justify-content:center;align-items:center;width:100%;height:var(--height-button);padding:var(--space-4);gap:260px;background-color:var(--color-white)}.filter-btn{padding:var(--space-4);font-size:var(--font-size-base);font-weight:var(--font-weight-bold)}.clear-btn{font-size:var(--font-size-sm);padding:var(--space-4);font-weight:var(--font-weight-medium);cursor:pointer}.price-range{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:390px;padding:var(--space-4) 0 var(--space-12) 0;gap:var(--space-4);margin-top:var(--space-2)}.price-reset{width:100%;height:var(--space-12);display:flex;flex-direction:row;justify-content:space-between;align-items:center}.price-text{font-size:var(--font-size-base);font-weight:var(--font-weight-bold)}.reset-btn{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);margin-right:var(--space-9)}.home-container{min-height:var(--viewport-height);display:flex;flex-direction:column;background:var(--color-white)}.search-container{display:flex;flex-direction:column;align-items:center;gap:var(--space-9);padding:var(--space-14) var(--space-8) var(--space-5)}.chip-row{width:100%;max-width:303px;display:flex;justify-content:space-between;gap:var(--space-8)}.chip-row>button{flex:1}@media(min-width:768px){.chip-row{max-width:400px}}@media(min-width:1024px){.chip-row{max-width:500px}}.home-content{flex:1}.service-list{padding:var(--space-8) var(--space-12);display:flex;flex-direction:column;gap:var(--space-12);max-width:var(--width-card-max);margin:0 auto}@media(min-width:768px){.service-list{padding:var(--space-12) var(--space-16);gap:var(--space-16)}}@media(min-width:1024px){.service-list{max-width:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--space-12);padding:var(--space-16) var(--space-20)}}.container-card{display:flex;flex-direction:column;align-items:center;padding:var(--space-4)}.svc-card{display:flex;width:100%;max-width:380px;gap:var(--space-4);align-items:center;border-radius:var(--radius-sm);background:var(--color-white);box-shadow:var(--shadow-lg);min-height:124px;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.svc-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.svc-card:active{transform:translateY(0);box-shadow:var(--shadow-lg)}.svc-image{flex:0 0 132px;border-radius:var(--radius-md);overflow:hidden}.svc-image img{width:100%;height:auto;aspect-ratio:1 / 1;object-fit:cover;display:block}.svc-body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-2);padding:var(--space-4)}.svc-body span:first-child{color:var(--color-black);font-size:var(--font-size-lg);font-style:normal;font-weight:var(--font-weight-semibold);line-height:var(--line-height-xl)}.svc-side{width:60px;display:flex;margin-right:var(--space-8);margin-bottom:var(--space-24);flex-direction:column;align-items:flex-end;justify-content:flex-start}.svc-title{font-family:var(--font-thai);display:-webkit-box;font-size:var(--font-size-md);-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;line-height:var(--line-height-snug);height:calc(var(--line-height-snug) * 1em * 2);font-weight:var(--font-weight-bold)}.svc-price{display:flex;flex-direction:column;align-items:end}.svc-desc{overflow:hidden;color:var(--color-gray-200);text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-thai);font-size:var(--font-size-sm);font-style:normal;font-weight:var(--font-weight-regular);line-height:var(--line-height-xl);margin-top:var(--space-1)}.svc-duration{color:var(--color-gray-100);font-family:var(--font-thai);overflow:hidden;font-size:var(--font-size-base);font-style:normal;font-weight:var(--font-weight-regular);line-height:var(--line-height-xl);margin-top:var(--space-5)}.price-now{color:var(--color-black);font-family:var(--font-thai);font-size:var(--font-size-lg);font-style:normal;font-weight:var(--font-weight-bold);line-height:var(--line-height-xl);overflow:hidden}.price-old{color:var(--color-gray-100);font-family:var(--font-thai);font-size:var(--font-size-base);font-style:normal;font-weight:var(--font-weight-regular);line-height:var(--line-height-xl);text-decoration-line:line-through;margin-top:var(--space-2);overflow:hidden}*{margin:0;padding:0}.container{background:var(--color-white);min-height:var(--viewport-height)}.image-cover{position:relative;width:100%;height:var(--height-image-cover);overflow:hidden}.image-cover img{width:100%;height:100%;object-fit:cover;display:block}.btn{position:absolute;top:38px;width:var(--width-icon-btn);height:var(--height-icon-btn);border-radius:var(--radius-full);border:none;background:var(--color-overlay-dark);color:var(--color-white);font-size:var(--font-size-lg);display:flex;align-items:center;justify-content:center;cursor:pointer}.btn-back{left:var(--space-12)}.btn-fav{right:var(--space-12)}.detail-content{padding:0 var(--space-4)}@media(min-width:768px){.detail-content{padding:0 var(--space-8)}}@media(min-width:1024px){.detail-content{padding:0 var(--space-12);max-width:var(--width-container);margin:0 auto}}.shop-profile-section{padding-top:var(--space-8);padding-left:var(--space-4);padding-bottom:var(--space-4)}@media(min-width:768px){.shop-profile-section{padding-top:var(--space-12);padding-bottom:var(--space-8)}}@media(min-width:1024px){.shop-profile-section{padding-top:var(--space-16);padding-bottom:var(--space-12)}}.shop-profile-header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4)}.shop-logo{width:56px;height:56px;border-radius:var(--radius-full);overflow:hidden;flex-shrink:0;border:1px solid var(--color-gray-100)}.shop-logo img{width:100%;height:100%;object-fit:cover}.shop-info{display:flex;flex-direction:column;gap:var(--space-1)}.shop-name{font-family:var(--font-thai);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-black-solid);line-height:var(--line-height-snug);margin:0}.shop-status{display:flex;align-items:center;gap:var(--space-2)}.status-dot{width:8px;height:8px;background-color:var(--color-open);border-radius:var(--radius-full)}.status-text{font-family:var(--font-thai);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-open)}.status-separator{font-size:var(--font-size-sm);color:var(--color-gray-400)}.status-time{font-family:var(--font-thai);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);color:var(--color-gray-400)}.shop-description{font-family:var(--font-thai);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);color:var(--color-gray-500);line-height:var(--line-height-relaxed);margin:0}.box-paragraph{margin:var(--space-4);padding:var(--space-4)}@media(min-width:768px){.box-paragraph{margin:var(--space-8);padding:var(--space-8)}}@media(min-width:1024px){.box-paragraph{margin:var(--space-12) auto;padding:var(--space-12);max-width:var(--width-container)}}.header-paragraph{display:flex;justify-content:space-between;align-items:center;text-align:center}.header-paragraph :first-child{font-family:var(--font-thai);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-black-solid)}.header-paragraph :last-child{display:flex;align-items:center;gap:var(--space-2);color:var(--color-gray-400);text-align:center;font-size:var(--font-size-md);font-style:normal;font-weight:var(--font-weight-regular);line-height:var(--space-10)}.box-services{padding-top:var(--space-4);margin-bottom:var(--space-8)}@media(min-width:768px){.box-services{padding-top:var(--space-8);margin-bottom:var(--space-12)}}@media(min-width:1024px){.box-services{padding-top:var(--space-12);margin-bottom:var(--space-16)}}.header-service{padding-bottom:var(--space-4)}.header-service span{color:var(--color-secondary);font-family:var(--font-thai);font-size:var(--font-size-xl);font-style:normal;font-weight:var(--font-weight-bold);line-height:var(--space-10);letter-spacing:.024px}.card-services{padding:var(--space-4)}.btn-fav:hover{color:var(--color-white)}.dt-desc{color:var(--color-gray-500);font-family:var(--font-primary);font-size:var(--font-size-lg);font-style:normal;font-weight:var(--font-weight-regular);line-height:var(--line-height-2xl)}.time-picker-backdrop{background:var(--color-overlay-backdrop);position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:flex-end}.time-picker-sheet{background-color:var(--color-white);width:100%;max-height:75dvh;border-radius:var(--radius-4xl) var(--radius-4xl) 0 0;display:flex;flex-direction:column;padding-bottom:var(--safe-area-bottom)}.time-picker-header{display:flex;justify-content:center;align-items:center;padding:var(--space-12) var(--space-8);position:relative}.time-picker-title{color:var(--color-gray-900);font-family:var(--font-thai);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);text-align:center}.time-picker-close{position:absolute;right:var(--space-8);top:50%;transform:translateY(-50%);background:none;border:none;font-size:var(--font-size-lg);color:var(--color-gray-400);cursor:pointer;padding:var(--space-4);line-height:1}.time-picker-close:hover{color:var(--color-gray-600)}.time-picker-display{padding:0 var(--space-8) var(--space-8)}.selected-datetime-box{padding:var(--space-6) var(--space-8);border:var(--border-width-thin) solid var(--border-color-default);border-radius:var(--radius-sm);color:var(--color-gray-500);font-family:var(--font-thai);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);text-align:center}.time-picker-content{flex:1;display:flex;flex-direction:column;position:relative;overflow:hidden}.picker-headers{display:flex;padding:var(--space-6) var(--space-8);border-bottom:var(--border-width-thin) solid var(--border-color-default)}.picker-header-label{flex:1;text-align:center;color:var(--color-gray-500);font-family:var(--font-thai);font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.picker-columns{display:flex;flex:1;position:relative}.picker-column{flex:1;height:220px;overflow-y:auto;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.picker-column::-webkit-scrollbar{display:none}.picker-list{padding:88px 0}.picker-item{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:44px;padding:var(--space-2) var(--space-4);width:100%;background:transparent;border:none;color:var(--color-gray-400);font-family:var(--font-thai);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);cursor:pointer;scroll-snap-align:center;transition:all var(--transition-fast);gap:2px}.picker-item-label{line-height:1.2}.picker-item-status{font-size:var(--font-size-xs);color:var(--color-gray-400);font-weight:var(--font-weight-regular)}.picker-item:hover{color:var(--color-gray-600)}.picker-item.selected{color:var(--color-gray-900);font-weight:var(--font-weight-bold)}.picker-item.selected .picker-item-status{color:var(--color-primary)}.picker-item.disabled{color:var(--color-gray-300);cursor:not-allowed;pointer-events:none;opacity:.6}.picker-item.disabled:hover{color:var(--color-gray-300)}.no-slots-badge{display:block;font-size:var(--font-size-xs);color:var(--color-gray-400);font-weight:var(--font-weight-regular);margin-top:2px}.picker-column.locked{pointer-events:none;opacity:.8}.picker-column.locked .picker-list{padding:88px 0;display:flex;flex-direction:column;align-items:center;justify-content:center}.picker-item.locked{color:var(--color-gray-900);font-weight:var(--font-weight-bold);background:transparent;cursor:default}.selection-highlight-bar{position:absolute;top:50%;left:var(--space-4);right:var(--space-4);height:44px;transform:translateY(-50%);background:var(--color-primary-light);border-radius:var(--radius-sm);pointer-events:none;z-index:-1}.time-picker-footer{padding:var(--space-8);display:flex;flex-direction:column;align-items:center;gap:var(--space-6);border-top:var(--border-width-thin) solid var(--border-color-default)}.confirm-datetime-btn{width:100%;height:var(--height-button);background:var(--color-primary-dark);border:none;border-radius:var(--radius-lg);color:var(--color-white);font-family:var(--font-thai);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-fast)}.confirm-datetime-btn:hover{background:var(--color-primary-dark)}.confirm-datetime-btn:active{transform:scale(.98)}.confirm-datetime-btn.disabled,.confirm-datetime-btn:disabled{background:var(--color-gray-300);cursor:not-allowed}.confirm-datetime-btn.disabled:hover,.confirm-datetime-btn:disabled:hover{background:var(--color-gray-300)}.selected-datetime-box.has-selection{color:var(--color-gray-900);border-color:var(--color-primary);background:var(--color-primary-light);font-weight:var(--font-weight-medium)}.picker-disclaimer{color:var(--color-gray-500);font-family:var(--font-thai);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);text-align:center}.no-times-message{color:var(--color-gray-500);font-family:var(--font-thai);font-size:var(--font-size-sm);font-style:italic;text-align:center;padding:var(--space-12) var(--space-4)}@media(min-width:768px){.time-picker-sheet{max-width:480px;margin:0 auto;border-radius:var(--radius-4xl);margin-bottom:var(--space-12)}}.confirmation-backdrop{background:var(--color-overlay-backdrop);position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:flex-end}.confirmation-sheet{background-color:var(--color-white);width:100%;border-radius:var(--radius-4xl) var(--radius-4xl) 0 0;display:flex;flex-direction:column;padding-bottom:var(--safe-area-bottom)}.confirmation-header{display:flex;justify-content:center;align-items:center;padding:var(--space-12) var(--space-8);position:relative}.confirmation-title{color:var(--color-gray-900);font-family:var(--font-thai);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);text-align:center}.confirmation-close{position:absolute;right:var(--space-8);top:50%;transform:translateY(-50%);background:none;border:none;font-size:var(--font-size-lg);color:var(--color-gray-400);cursor:pointer;padding:var(--space-4);line-height:1}.confirmation-close:hover{color:var(--color-gray-600)}.confirmation-content{padding:0 var(--space-8) var(--space-8)}.confirmation-service-name{color:var(--color-gray-900);font-family:var(--font-thai);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin-bottom:var(--space-8)}.confirmation-service-duration{color:var(--color-gray-900);font-weight:var(--font-weight-bold)}.confirmation-time-box{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5) var(--space-5);background:var(--color-primary-light);border-radius:var(--radius-md);margin-bottom:var(--space-8)}.time-label{color:var(--color-gray-500);font-family:var(--font-thai);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular)}.time-value{color:var(--color-primary);font-family:var(--font-thai);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.confirmation-benefits{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-4)}.benefit-item{display:flex;align-items:center;gap:var(--space-4);color:var(--color-gray-700);font-family:var(--font-thai);font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.benefit-item:before{content:"•";color:var(--color-gray-400);font-size:var(--font-size-lg)}.confirmation-footer{padding:var(--space-8);display:flex;flex-direction:column;align-items:center;gap:var(--space-6)}.confirm-payment-btn{width:100%;height:var(--height-button);background:var(--color-primary-dark);border:none;border-radius:var(--radius-lg);color:var(--color-white);font-family:var(--font-thai);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-fast)}.confirm-payment-btn:hover{background:var(--color-primary-dark)}.confirm-payment-btn:active{transform:scale(.98)}.buy-later-btn{background:none;border:none;color:var(--color-primary);font-family:var(--font-thai);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;padding:var(--space-4)}.buy-later-btn:hover{color:var(--color-primary-dark);text-decoration:underline}@media(min-width:768px){.confirmation-sheet{max-width:480px;margin:0 auto;border-radius:var(--radius-4xl);margin-bottom:var(--space-12)}}*{box-sizing:border-box;margin:0;padding:0}.service-detail-wrapper{display:flex;flex-direction:column;min-height:var(--viewport-height);background:var(--color-white)}.image-section{position:relative;width:100%;height:var(--height-image-responsive);overflow:hidden}.service-image{width:100%;height:100%;object-fit:cover}.icon-btn{position:absolute;width:var(--width-icon-btn);height:var(--height-icon-btn);border-radius:var(--radius-full);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;background:var(--color-overlay-dark);transition:transform var(--transition-fast)}.back-btn svg{width:8px;height:13px;flex-shrink:0}.fav-btn svg{width:20px;height:18px;flex-shrink:0}.icon-btn:hover{transform:scale(1.05)}.icon-btn:active{transform:scale(.95)}.back-btn{position:absolute;top:var(--space-8);left:var(--space-8)}.fav-btn{top:var(--space-8);right:var(--space-8)}.content-wrapper{flex:1;display:flex;flex-direction:column;padding:var(--space-8);max-width:var(--width-container);margin:0 auto;width:100%}@media(min-width:768px){.content-wrapper{padding:var(--space-12)}}@media(min-width:1024px){.content-wrapper{padding:var(--space-content-responsive)}}.content-inner{flex:1}.service-info{padding:var(--space-section-responsive) 0}.service-title{color:var(--color-black-solid);font-family:var(--font-thai);font-size:var(--font-size-title-responsive);font-weight:var(--font-weight-bold);line-height:var(--line-height-snug);margin-bottom:var(--space-section-responsive);word-wrap:break-word}.service-description{color:var(--color-gray-500);font-family:var(--font-thai);font-size:var(--font-size-body-responsive);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);word-wrap:break-word}.time-section{padding:var(--space-content-responsive) 0}.section-title{color:var(--color-gray-500);font-family:var(--font-thai);font-size:var(--font-size-section-responsive);font-weight:var(--font-weight-regular);line-height:1.3;margin-bottom:var(--space-section-responsive)}.time-selector{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-8) var(--space-section-responsive);background:var(--color-primary-soft);border-radius:var(--radius-xl)}.time-display{flex:1 1 auto;min-width:0}.time-text{color:var(--color-primary-dark);font-family:var(--font-thai);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);line-height:var(--line-height-snug);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.change-time-btn{display:flex;flex-direction:row;align-items:center;gap:var(--space-2);background:none;border:none;cursor:pointer;flex-shrink:0;padding:var(--space-2) 0;transition:opacity var(--transition-fast)}.change-time-btn:hover{opacity:.7}.change-time-btn:active{opacity:.5}.change-time-label{color:var(--color-gray-400);font-family:var(--font-thai);font-size:var(--font-size-md);font-weight:var(--font-weight-regular);line-height:var(--line-height-snug);white-space:nowrap}.recommended-day-group{margin-bottom:var(--space-section-responsive)}.recommended-day-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.recommended-day-label{color:var(--color-black-solid);font-family:var(--font-thai);font-size:var(--font-size-section-responsive);line-height:var(--line-height-snug);margin:0}.recommended-slots-list{display:flex;flex-direction:column;gap:var(--space-3)}.recommended-slot-item{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-8) var(--space-section-responsive);background:var(--color-white);border:1px solid var(--color-gray-50);border-radius:var(--radius-xl);transition:all var(--transition-fast);outline:none}.recommended-slot-item.highlighted{background:var(--color-primary-soft);border-color:transparent}.recommended-slot-btn{flex:1 1 auto;min-width:0;display:flex;align-items:center;background:none;border:none;cursor:pointer;padding:0;text-align:left;outline:none}.recommended-slot-btn:hover{opacity:.8}.recommended-slot-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-md)}.slot-time{color:var(--color-black-solid);font-family:var(--font-thai);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);line-height:var(--line-height-snug);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recommended-slot-item.highlighted .slot-time{color:var(--color-primary-dark);font-weight:var(--font-weight-bold)}.recommended-badge{color:var(--color-primary);font-family:var(--font-thai);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);margin-left:var(--space-2)}.no-slots-message{color:var(--color-gray-400);font-family:var(--font-thai);font-size:var(--font-size-body-responsive);font-style:italic;padding:var(--space-4) 0}.action-section{display:flex;flex-direction:column;align-items:center;gap:var(--space-content-responsive);padding-top:var(--space-action-responsive);margin-top:auto}.buyservice-btn{width:100%;max-width:var(--width-service-max);height:var(--height-button);padding:0 var(--space-content-responsive);background:var(--color-primary-dark);border:none;border-radius:var(--radius-lg);color:var(--color-white);font-family:var(--font-thai);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);cursor:pointer;box-shadow:var(--shadow-md);transition:all var(--transition-fast)}.disclaimer-text{color:var(--color-gray-400);text-align:center;font-family:var(--font-thai);font-size:var(--font-size-small-responsive);font-weight:var(--font-weight-regular);line-height:var(--line-height-snug);padding:0 var(--space-8)}@media(max-width:375px){.time-selector{flex-direction:column;align-items:stretch;gap:var(--space-6)}.time-text{white-space:normal;text-align:center}.change-time-btn{justify-content:center;width:100%}}@media(min-width:768px){.content-wrapper{padding:var(--space-16) var(--space-20)}.image-section{height:450px}.icon-btn{width:var(--height-icon-btn-lg);height:var(--height-icon-btn-lg)}.back-btn{top:var(--space-12);left:var(--space-12)}.fav-btn{top:var(--space-12);right:var(--space-12)}}@media(min-width:1024px){.service-detail-wrapper{background:var(--color-gray-50)}.content-wrapper{background:var(--color-white);border-radius:var(--radius-xl);margin-top:-40px;position:relative;box-shadow:var(--shadow-soft)}.image-section{border-radius:var(--radius-none)}}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16);text-align:center;gap:var(--space-8)}.error-container p{color:var(--color-gray-500);font-family:var(--font-thai);font-size:var(--font-size-base)}.error-container button{padding:var(--space-4) var(--space-8);background:var(--color-primary-dark);color:var(--color-white);border:none;border-radius:var(--radius-md);font-family:var(--font-thai);font-size:var(--font-size-base);cursor:pointer}.shop-info{padding-bottom:var(--space-4);border-bottom:1px solid var(--color-gray-100);margin-bottom:var(--space-4)}.shop-title{color:var(--color-black-solid);font-family:var(--font-thai);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:var(--line-height-snug);margin-bottom:var(--space-2)}.shop-description{color:var(--color-gray-400);font-family:var(--font-thai);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal)}.service-price{color:var(--color-primary-dark);font-family:var(--font-thai);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-snug);margin-top:var(--space-4)}.action-buttons{width:100%;max-width:var(--width-service-max);display:flex;flex-direction:column;gap:var(--space-8);padding:0 var(--space-content-responsive)}.action-section .buyservice-btn{flex:none;width:100%;max-width:none;padding:0}.buy-later-btn{width:100%;height:var(--height-button);background:transparent;border:none;border-radius:var(--radius-lg);color:var(--color-primary-dark);font-family:var(--font-thai);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-fast)}.buy-later-btn:hover{background:var(--color-primary-light);transform:translateY(-1px)}.buy-later-btn:active{transform:translateY(0)}.payment-page{display:flex;flex-direction:column;min-height:var(--viewport-height);background:var(--color-gray-50);padding-top:var(--safe-area-top);padding-bottom:var(--safe-area-bottom)}.payment-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-8) var(--space-8);padding-top:calc(var(--safe-area-top) + var(--space-8));padding-bottom:var(--space-8);background:var(--color-primary-dark);min-height:var(--height-page-header);height:calc(var(--height-page-header) + var(--safe-area-top));box-sizing:border-box}.payment-back-btn{width:var(--width-icon-btn);height:var(--height-icon-btn);display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--color-white);flex-shrink:0}.payment-back-btn:hover{opacity:.7}.payment-back-btn svg{width:8px;height:13px;flex-shrink:0}.payment-header-title{color:var(--color-white);font-family:var(--font-thai);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);text-align:center}.payment-header-spacer{width:var(--width-icon-btn)}.payment-content{flex:1;padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-12)}.payment-total-section{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-8) 0}.total-label{color:var(--color-gray-500);font-family:var(--font-thai);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular)}.total-amount{color:var(--color-gray-900);font-family:var(--font-primary);font-size:var(--font-size-amount);font-weight:var(--font-weight-bold)}.payment-countdown-section{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-8);background:var(--color-white);border-radius:var(--radius-sm);border:var(--border-width-thin) solid var(--border-color-default)}.countdown-wrapper{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;justify-content:center}.countdown-label{color:var(--color-gray-600);font-family:var(--font-thai);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.countdown-time{color:var(--color-primary);font-family:var(--font-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;letter-spacing:.05em;padding:var(--space-2) var(--space-4);background:var(--color-primary-light);border-radius:var(--radius-sm);min-width:60px;text-align:center}.countdown-time.countdown-warning{color:var(--color-error);background:var(--color-error-light);animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.countdown-warning-text{color:var(--color-error);font-family:var(--font-thai);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-align:center;padding:var(--space-2)}.countdown-expired-text{color:var(--color-error);font-family:var(--font-thai);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);text-align:center;padding:var(--space-4);background:var(--color-error-light);border-radius:var(--radius-sm);width:100%}.payment-service-section{display:flex;flex-direction:column;gap:var(--space-8)}.service-name{color:var(--color-gray-900);font-family:var(--font-thai);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.service-details{display:flex;flex-direction:column;gap:var(--space-6)}.detail-row{display:flex;align-items:center;gap:var(--space-6)}.detail-icon{width:20px;height:20px;color:var(--color-gray-500);flex-shrink:0}.detail-text{color:var(--color-gray-700);font-family:var(--font-thai);font-size:var(--font-size-base);font-weight:var(--font-weight-regular)}.payment-methods-section{display:flex;flex-direction:column;gap:var(--space-8)}.methods-title{color:var(--color-gray-900);font-family:var(--font-thai);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.payment-methods-list{display:flex;flex-direction:column;gap:var(--space-6)}.payment-method-item{display:flex;align-items:center;gap:var(--space-6);padding:var(--space-8);background:var(--color-white);border:var(--border-width-thin) solid var(--border-color-default);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);text-align:left}.payment-method-item:focus{outline:none}.payment-method-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.payment-method-item:hover{border-color:var(--color-primary)}.payment-method-item.selected{border-color:var(--color-primary);border-width:var(--border-width-medium);background:var(--color-primary-light)}.method-icon{width:24px;height:24px;color:var(--color-gray-500);flex-shrink:0}.payment-method-item.selected .method-icon{color:var(--color-primary)}.method-label{color:var(--color-gray-700);font-family:var(--font-thai);font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.payment-method-item.selected .method-label{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.method-check{width:20px;height:20px;color:var(--color-primary);margin-left:auto;flex-shrink:0}.payment-footer{padding:var(--space-8);padding-bottom:calc(var(--space-8) + var(--safe-area-bottom));background:var(--color-white);position:sticky;bottom:0}.pay-btn{width:100%;height:var(--height-button);background:var(--color-primary-dark);border:none;border-radius:var(--radius-lg);color:var(--color-white);font-family:var(--font-thai);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-fast)}.pay-btn:hover{background:var(--color-primary-dark)}.pay-btn:active{transform:scale(.98)}@media(min-width:768px){.payment-content,.payment-footer{max-width:480px;margin:0 auto;width:100%}}.payment-coupon-section{padding:var(--space-16) var(--space-content-responsive);background:var(--color-white);border-bottom:1px solid var(--color-gray-200)}.coupon-title{font-family:var(--font-thai);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-12)}.coupon-description{font-family:var(--font-thai);font-size:var(--font-size-small);color:var(--color-gray-500);margin-bottom:var(--space-12);line-height:var(--line-height-normal)}.coupon-input-wrapper{display:flex;gap:var(--space-8);align-items:stretch;width:100%;max-width:100%;box-sizing:border-box}.coupon-input{flex:1;height:44px;padding:0 var(--space-12);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-family:var(--font-thai);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-white);transition:border-color var(--transition-fast)}.coupon-input:focus{outline:none;border-color:var(--color-primary-dark)}.coupon-input::placeholder{color:var(--color-gray-400)}.coupon-apply-btn{min-width:60px;height:44px;background:var(--color-primary-dark);border:none;border-radius:var(--radius-md);color:var(--color-white);font-family:var(--font-thai);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;white-space:nowrap}.coupon-apply-btn:disabled{background:var(--color-gray-300);cursor:not-allowed;opacity:.6}.coupon-apply-btn:not(:disabled):hover{background:var(--color-primary-darker)}.coupon-applied{margin-top:var(--space-8);padding:var(--space-8) var(--space-12);background:var(--color-success-light);border-radius:var(--radius-md);border:1px solid var(--color-success)}.coupon-applied-text{font-family:var(--font-thai);font-size:var(--font-size-small);color:var(--color-success-dark);font-weight:var(--font-weight-medium)}@media(max-width:360px){.coupon-apply-btn{min-width:50px;padding:0 var(--space-8);font-size:var(--font-size-small)}.coupon-input{padding:0 var(--space-8)}}.buy-later-badge{background:linear-gradient(135deg,#f3e8ff,#e9d5ff);padding:var(--space-8) var(--space-12);border-radius:var(--radius-md);border:1px solid #c4b5fd}.buy-later-text{color:#7c3aed!important;font-weight:var(--font-weight-semibold)!important}.booking-success-page{display:flex;flex-direction:column;min-height:var(--viewport-height);background:var(--color-gray-50);padding-bottom:var(--safe-area-bottom)}.success-header{display:flex;align-items:center;justify-content:center;padding:var(--space-8) var(--space-8);padding-top:calc(var(--safe-area-top) + var(--space-8));padding-bottom:var(--space-8);background:var(--color-primary-dark);min-height:var(--height-page-header);height:calc(var(--height-page-header) + var(--safe-area-top));box-sizing:border-box}.success-header-title{color:var(--color-white);font-family:var(--font-thai);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);text-align:center}.success-content{flex:1;padding:var(--space-12) var(--space-12);display:flex;flex-direction:column;gap:var(--space-8);position:relative}.qr-section{justify-content:center;position:relative}.qr-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-6);padding:var(--space-12);background:var(--color-white);border:none;border-radius:var(--radius-3xl);box-shadow:var(--shadow-xl);width:100%;max-width:var(--width-card-max);min-width:0}.qr-image{width:var(--size-qr-image);height:var(--size-qr-image);object-fit:contain}.qr-label{color:var(--color-gray-900);font-family:var(--font-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-medium)}.booking-id-display{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-8);background:var(--color-gray-50);border-radius:var(--radius-sm);width:100%}.booking-id-label{color:var(--color-gray-600);font-family:var(--font-thai);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin:0}.booking-id-value{color:var(--color-gray-900);font-family:var(--font-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;letter-spacing:.05em;margin:0}.booking-details-section{display:flex;justify-content:center}.booking-details-card{display:flex;align-items:flex-start;gap:var(--space-12);width:100%}.success-icon{width:48px;height:48px;flex-shrink:0}.booking-info{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-4);border-top:var(--border-width-thin) solid var(--border-color-default);width:100%}.booking-service-name{color:var(--color-black-solid);font-family:var(--font-thai);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin:0;line-height:var(--line-height-snug)}.booking-shop-name{color:var(--color-gray-500);font-family:var(--font-thai);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);margin:0}.booking-time{color:var(--color-gray-400);font-family:var(--font-thai);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);margin:0}.success-footer{padding:var(--space-8);padding-bottom:calc(var(--space-8) + var(--safe-area-bottom));background:var(--color-white);position:sticky;bottom:0}.done-btn{width:100%;height:var(--height-button);background:var(--color-primary-dark);border:none;border-radius:var(--radius-lg);color:var(--color-white);font-family:var(--font-thai);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-md)}.done-btn:hover{background:var(--color-primary-darker);transform:translateY(-1px);box-shadow:var(--shadow-2xl)}.done-btn:active{transform:translateY(0);box-shadow:var(--shadow-md)}@media(min-width:768px){.success-content{max-width:480px;margin:0 auto;width:100%}.qr-image{width:var(--size-qr-image-tablet);height:var(--size-qr-image-tablet)}.success-footer{max-width:480px;margin:0 auto;width:100%}}.coupon-card{width:100%;max-width:320px;padding:var(--space-20);background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary) 100%);border-radius:var(--radius-3xl);box-shadow:var(--shadow-xl);margin:0 auto}.coupon-code-display{display:flex;flex-direction:column;align-items:center;gap:var(--space-16)}.coupon-label{font-family:var(--font-thai);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:#ffffffe6;text-transform:uppercase;letter-spacing:.1em}.coupon-code{font-family:Courier New,monospace;font-size:32px;font-weight:var(--font-weight-bold);color:var(--color-white);letter-spacing:.15em;padding:var(--space-12) var(--space-20);background:#ffffff26;border-radius:var(--radius-xl);border:2px dashed rgba(255,255,255,.3);text-align:center;word-break:break-all}.coupon-description{font-family:var(--font-thai);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);color:#ffffffd9;text-align:center;line-height:var(--line-height-relaxed);max-width:280px}.coupon-card.coupon-used{background:linear-gradient(135deg,#2D9F4E 0%,var(--color-success) 100%)}.share-actions{display:flex;flex-direction:column;gap:var(--space-12);padding:var(--space-8) 0;width:100%;max-width:100%}.share-fab{position:absolute;bottom:var(--space-16);right:var(--space-24);display:inline-flex;align-items:center;justify-content:center;padding:var(--space-8);border:none;background:transparent;color:var(--color-primary-dark);box-shadow:none;cursor:pointer;transition:color var(--transition-fast),transform var(--transition-fast)}.share-fab:hover{color:var(--color-primary);transform:translateY(-1px)}.share-fab:active{transform:translateY(0)}.share-fab.is-open{color:var(--color-primary)}.share-fab svg{transition:transform var(--transition-fast)}.share-fab.is-open svg{transform:rotate(45deg)}.share-options{display:flex;flex-direction:column;gap:var(--space-12);padding:var(--space-12);background:var(--color-gray-50);border-radius:var(--radius-xl);border:none}.qr-label-container{display:inline-flex;align-items:center;gap:var(--space-8);padding:var(--space-2) var(--space-6);background:var(--color-primary-lighter);border-radius:var(--radius-full)}.qr-label-container .qr-label{margin:0;font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-primary-dark)}.qr-copy-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2);background:transparent;border:none;cursor:pointer;transition:all var(--transition-fast);border-radius:var(--radius-sm);flex-shrink:0}.qr-copy-btn:hover{background:var(--color-gray-200);transform:scale(1.1)}.qr-copy-btn:active{transform:scale(.95)}.qr-save-prompt{display:flex;align-items:center;justify-content:center;gap:var(--space-4);background:transparent;border:none;cursor:pointer;transition:all var(--transition-fast);border-radius:var(--radius-sm)}.qr-save-prompt:hover:not(:disabled){background:#0066cc0d}.qr-save-prompt:active:not(:disabled){transform:scale(.98)}.qr-save-prompt:disabled{opacity:.6;cursor:not-allowed}.qr-save-prompt-text{font-family:var(--font-thai);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:#06c}.ticket-delivery-section{display:flex;justify-content:center;width:100%;padding:0;box-sizing:border-box}.ticket-delivery-actions-grid{display:grid;grid-template-columns:repeat(3,1fr);background:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:var(--width-card-max);box-sizing:border-box}.ticket-delivery-action-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-6);background:transparent;border:none;cursor:pointer;transition:all var(--transition-fast);padding:var(--space-8)}.ticket-delivery-action-btn:hover:not(:disabled){transform:translateY(-2px)}.ticket-delivery-action-btn:active:not(:disabled){transform:scale(.95)}.ticket-delivery-action-btn:disabled{opacity:.6;cursor:not-allowed}.ticket-delivery-icon-wrapper{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:#2d55eb1a;border-radius:50%;transition:all var(--transition-fast)}.ticket-delivery-action-btn:hover:not(:disabled) .ticket-delivery-icon-wrapper{background:#2d55eb26;transform:scale(1.05)}.ticket-delivery-action-btn:active:not(:disabled) .ticket-delivery-icon-wrapper{transform:scale(.95)}.ticket-delivery-action-label{font-family:var(--font-thai);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-900);text-align:center;margin:0}.ticket-delivery-action-btn:disabled .ticket-delivery-action-label{color:var(--color-gray-400)}.ticket-delivery-spinner-small{width:20px;height:20px;border:2px solid #2D55EB;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.share-option-card{display:flex;flex-direction:column;gap:var(--space-8);padding:var(--space-16);background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);transition:all var(--transition-fast)}.share-option-header{display:flex;align-items:center;gap:var(--space-8)}.share-option-icon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--color-primary-light);color:var(--color-primary-dark);box-shadow:var(--shadow-sm)}.share-option-icon.is-email{background:var(--color-blue-50, var(--color-primary-light));color:var(--color-primary)}.share-option-icon.is-sms{background:var(--color-success-light, #E6F4EA);color:var(--color-success, #2D9F4E)}.share-option-text{display:flex;flex-direction:column;gap:var(--space-2)}.share-option-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.share-option-title{font-family:var(--font-thai);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-black-solid);margin:0;line-height:var(--line-height-snug)}.share-option-description{font-family:var(--font-thai);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);color:var(--color-gray-500);line-height:var(--line-height-normal);margin:0}.share-input-group{display:flex;flex-direction:column;gap:var(--space-8)}.share-input{width:100%;height:var(--height-input);padding:0 var(--space-12);border:var(--border-width-thin) solid var(--border-color-default);border-radius:var(--radius-lg);font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--color-gray-900);background:var(--color-white);transition:all var(--transition-fast)}.share-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.share-input:disabled{background:var(--color-gray-50);color:var(--color-gray-400);cursor:not-allowed}.share-action-btn{height:var(--height-input);padding:0 var(--space-16);background:var(--color-primary);color:var(--color-white);border:none;border-radius:var(--radius-lg);font-family:var(--font-thai);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;box-shadow:var(--shadow-sm)}.share-action-btn:hover:not(:disabled){background:var(--color-primary-darker);transform:translateY(-1px);box-shadow:var(--shadow-lg)}.share-action-btn:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.share-action-btn:disabled{background:var(--color-gray-300);cursor:not-allowed;opacity:.6}.share-action-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-12) var(--space-8);background:var(--color-white);border:2px solid var(--border-color-default);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm);min-height:100px}.share-action-button:hover:not(:disabled){background:var(--color-gray-50);border-color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.share-action-button:active:not(:disabled){transform:scale(.95);box-shadow:var(--shadow-sm)}.share-action-button:disabled{background:var(--color-gray-50);border-color:var(--color-gray-200);cursor:not-allowed;opacity:.6}.share-button-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--color-primary-light);color:var(--color-primary-dark);transition:all var(--transition-fast)}.share-action-button:hover:not(:disabled) .share-button-icon{background:var(--color-primary);color:var(--color-white);transform:scale(1.1)}.share-action-button:nth-child(2) .share-button-icon{background:var(--color-blue-50, var(--color-primary-light));color:var(--color-blue-600, var(--color-primary))}.share-action-button:nth-child(2):hover:not(:disabled) .share-button-icon{background:var(--color-blue-600, var(--color-primary));color:var(--color-white)}.share-action-button:nth-child(3) .share-button-icon{background:var(--color-success-light, #E6F4EA);color:var(--color-success, #2D9F4E)}.share-action-button:nth-child(3):hover:not(:disabled) .share-button-icon{background:var(--color-success, #2D9F4E);color:var(--color-white)}.share-button-label{font-family:var(--font-thai);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-gray-900);text-align:center}.share-action-button:disabled .share-button-label{color:var(--color-gray-400)}.spinner{width:20px;height:20px;border:3px solid var(--color-gray-200);border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{position:fixed;inset:0;background:var(--color-overlay-backdrop);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-16);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:320px;max-height:90dvh;overflow-y:auto;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-12) var(--space-16);border-bottom:var(--border-width-thin) solid var(--border-color-default)}.modal-title{font-family:var(--font-thai);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-black-solid);margin:0;line-height:var(--line-height-snug)}.modal-close-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--color-gray-400);font-size:18px;cursor:pointer;border-radius:var(--radius-full);transition:all var(--transition-fast)}.modal-close-btn:hover{background:var(--color-gray-50);color:var(--color-gray-900)}.modal-close-btn:active{transform:scale(.95)}.modal-body{padding:var(--space-16)}.otp-step{display:flex;flex-direction:column;gap:var(--space-8)}.otp-label{font-family:var(--font-thai);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-900)}.otp-phone-display{font-family:var(--font-thai);font-size:var(--font-size-small);font-weight:var(--font-weight-regular);color:var(--color-gray-600);margin:0}.otp-input{height:40px;padding:0 var(--space-12);border:1px solid var(--border-color-default);border-radius:var(--radius-md);font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-900);text-align:left;background:var(--color-white);transition:all var(--transition-fast)}.otp-input[type=text][maxLength="6"]{text-align:center;letter-spacing:.3em;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.otp-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.otp-input:disabled{background:var(--color-gray-50);color:var(--color-gray-400);cursor:not-allowed}.otp-action-btn{height:40px;padding:0 var(--space-12);background:var(--color-primary-dark);color:var(--color-white);border:none;border-radius:var(--radius-md);font-family:var(--font-thai);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-fast)}.otp-action-btn:hover:not(:disabled){background:var(--color-primary-darker);transform:translateY(-1px);box-shadow:var(--shadow-lg)}.otp-action-btn:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-md)}.otp-action-btn:disabled{background:var(--color-gray-300);cursor:not-allowed;opacity:.6}.otp-resend-btn{padding:var(--space-8);background:transparent;color:var(--color-primary);border:none;font-family:var(--font-thai);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;text-decoration:underline;transition:all var(--transition-fast)}.otp-resend-btn:hover:not(:disabled){color:var(--color-primary-dark);transform:scale(1.02)}.otp-resend-btn:active:not(:disabled){transform:scale(.98)}.otp-resend-btn:disabled{color:var(--color-gray-300);cursor:not-allowed;opacity:.6}.toast{position:fixed;top:calc(var(--safe-area-top) + var(--height-page-header) + var(--space-8));left:50%;transform:translate(-50%);padding:var(--space-6) var(--space-12);border-radius:var(--radius-full);box-shadow:var(--shadow-lg);z-index:var(--z-modal, 1000);animation:slideDownToast .3s ease,fadeOutToast .3s ease 2.7s forwards;max-width:80%}.toast-success{background:var(--color-success, #2D9F4E);color:var(--color-white)}.toast-error{background:var(--color-error, #DC2626);color:var(--color-white)}.toast-message{font-family:var(--font-thai);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-align:center;display:block}@keyframes slideDownToast{0%{transform:translate(-50%) translateY(-20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}@keyframes fadeOutToast{0%{opacity:1}to{opacity:0;transform:translate(-50%) translateY(-10px)}}
