/* @import url('https://fonts.googleapis.com/css2?family=Sarabun&family=Quicksand:wght@300..700&display=swap'); */
/* @import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@300..700&family=Sarabun:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800&display=swap'); */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+Thai:wght@100..900&family=Quicksand:wght@300..700&family=Sarabun:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800&display=swap");

:root {
  --color-red-50: oklch(0.971 0.013 17.38);
  --color-red-100: oklch(0.936 0.032 17.717);
  --color-red-200: oklch(0.885 0.062 18.334);
  --color-red-300: oklch(0.808 0.114 19.571);
  --color-red-400: oklch(0.704 0.191 22.216);
  --color-red-500: oklch(0.637 0.237 25.331);
  --color-red-600: oklch(0.577 0.245 27.325);
  --color-red-700: oklch(0.505 0.213 27.518);
  --color-red-800: oklch(0.444 0.177 26.899);
  --color-red-900: oklch(0.396 0.141 25.723);
  --color-red-950: oklch(0.258 0.092 26.042);
  --color-orange-50: oklch(0.98 0.016 73.684);
  --color-orange-100: oklch(0.954 0.038 75.164);
  --color-orange-200: oklch(0.901 0.076 70.697);
  --color-orange-300: oklch(0.837 0.128 66.29);
  --color-orange-400: oklch(0.75 0.183 55.934);
  --color-orange-500: oklch(0.705 0.213 47.604);
  --color-orange-600: oklch(0.646 0.222 41.116);
  --color-orange-700: oklch(0.553 0.195 38.402);
  --color-orange-800: oklch(0.47 0.157 37.304);
  --color-orange-900: oklch(0.408 0.123 38.172);
  --color-orange-950: oklch(0.266 0.079 36.259);
  --color-amber-50: oklch(0.987 0.022 95.277);
  --color-amber-100: oklch(0.962 0.059 95.617);
  --color-amber-200: oklch(0.924 0.12 95.746);
  --color-amber-300: oklch(0.879 0.169 91.605);
  --color-amber-400: oklch(0.828 0.189 84.429);
  --color-amber-500: oklch(0.769 0.188 70.08);
  --color-amber-600: oklch(0.666 0.179 58.318);
  --color-amber-700: oklch(0.555 0.163 48.998);
  --color-amber-800: oklch(0.473 0.137 46.201);
  --color-amber-900: oklch(0.414 0.112 45.904);
  --color-amber-950: oklch(0.279 0.077 45.635);
  --color-yellow-50: oklch(0.987 0.026 102.212);
  --color-yellow-100: oklch(0.973 0.071 103.193);
  --color-yellow-200: oklch(0.945 0.129 101.54);
  --color-yellow-300: oklch(0.905 0.182 98.111);
  --color-yellow-400: oklch(0.852 0.199 91.936);
  --color-yellow-500: oklch(0.795 0.184 86.047);
  --color-yellow-600: oklch(0.681 0.162 75.834);
  --color-yellow-700: oklch(0.554 0.135 66.442);
  --color-yellow-800: oklch(0.476 0.114 61.907);
  --color-yellow-900: oklch(0.421 0.095 57.708);
  --color-yellow-950: oklch(0.286 0.066 53.813);
  --color-lime-50: oklch(0.986 0.031 120.757);
  --color-lime-100: oklch(0.967 0.067 122.328);
  --color-lime-200: oklch(0.938 0.127 124.321);
  --color-lime-300: oklch(0.897 0.196 126.665);
  --color-lime-400: oklch(0.841 0.238 128.85);
  --color-lime-500: oklch(0.768 0.233 130.85);
  --color-lime-600: oklch(0.648 0.2 131.684);
  --color-lime-700: oklch(0.532 0.157 131.589);
  --color-lime-800: oklch(0.453 0.124 130.933);
  --color-lime-900: oklch(0.405 0.101 131.063);
  --color-lime-950: oklch(0.274 0.072 132.109);
  --color-green-50: oklch(0.982 0.018 155.826);
  --color-green-100: oklch(0.962 0.044 156.743);
  --color-green-200: oklch(0.925 0.084 155.995);
  --color-green-300: oklch(0.871 0.15 154.449);
  --color-green-400: oklch(0.792 0.209 151.711);
  --color-green-500: oklch(0.723 0.219 149.579);
  --color-green-600: oklch(0.627 0.194 149.214);
  --color-green-700: oklch(0.527 0.154 150.069);
  --color-green-800: oklch(0.448 0.119 151.328);
  --color-green-900: oklch(0.393 0.095 152.535);
  --color-green-950: oklch(0.266 0.065 152.934);
  --color-emerald-50: oklch(0.979 0.021 166.113);
  --color-emerald-100: oklch(0.95 0.052 163.051);
  --color-emerald-200: oklch(0.905 0.093 164.15);
  --color-emerald-300: oklch(0.845 0.143 164.978);
  --color-emerald-400: oklch(0.765 0.177 163.223);
  --color-emerald-500: oklch(0.696 0.17 162.48);
  --color-emerald-600: oklch(0.596 0.145 163.225);
  --color-emerald-700: oklch(0.508 0.118 165.612);
  --color-emerald-800: oklch(0.432 0.095 166.913);
  --color-emerald-900: oklch(0.378 0.077 168.94);
  --color-emerald-950: oklch(0.262 0.051 172.552);
  --color-teal-50: oklch(0.984 0.014 180.72);
  --color-teal-100: oklch(0.953 0.051 180.801);
  --color-teal-200: oklch(0.91 0.096 180.426);
  --color-teal-300: oklch(0.855 0.138 181.071);
  --color-teal-400: oklch(0.777 0.152 181.912);
  --color-teal-500: oklch(0.704 0.14 182.503);
  --color-teal-600: oklch(0.6 0.118 184.704);
  --color-teal-700: oklch(0.511 0.096 186.391);
  --color-teal-800: oklch(0.437 0.078 188.216);
  --color-teal-900: oklch(0.386 0.063 188.416);
  --color-teal-950: oklch(0.277 0.046 192.524);
  --color-cyan-50: oklch(0.984 0.019 200.873);
  --color-cyan-100: oklch(0.956 0.045 203.388);
  --color-cyan-200: oklch(0.917 0.08 205.041);
  --color-cyan-300: oklch(0.865 0.127 207.078);
  --color-cyan-400: oklch(0.789 0.154 211.53);
  --color-cyan-500: oklch(0.715 0.143 215.221);
  --color-cyan-600: oklch(0.609 0.126 221.723);
  --color-cyan-700: oklch(0.52 0.105 223.128);
  --color-cyan-800: oklch(0.45 0.085 224.283);
  --color-cyan-900: oklch(0.398 0.07 227.392);
  --color-cyan-950: oklch(0.302 0.056 229.695);
  --color-sky-50: oklch(0.977 0.013 236.62);
  --color-sky-100: oklch(0.951 0.026 236.824);
  --color-sky-200: oklch(0.901 0.058 230.902);
  --color-sky-300: oklch(0.828 0.111 230.318);
  --color-sky-400: oklch(0.746 0.16 232.661);
  --color-sky-500: oklch(0.685 0.169 237.323);
  --color-sky-600: oklch(0.588 0.158 241.966);
  --color-sky-700: oklch(0.5 0.134 242.749);
  --color-sky-800: oklch(0.443 0.11 240.79);
  --color-sky-900: oklch(0.391 0.09 240.876);
  --color-sky-950: oklch(0.293 0.066 243.157);
  --color-blue-50: oklch(0.97 0.014 254.604);
  --color-blue-100: oklch(0.932 0.032 255.585);
  --color-blue-200: oklch(0.882 0.059 254.128);
  --color-blue-300: oklch(0.809 0.105 251.813);
  --color-blue-400: oklch(0.707 0.165 254.624);
  --color-blue-500: oklch(0.623 0.214 259.815);
  --color-blue-600: oklch(0.546 0.245 262.881);
  --color-blue-700: oklch(0.488 0.243 264.376);
  --color-blue-800: oklch(0.424 0.199 265.638);
  --color-blue-900: oklch(0.379 0.146 265.522);
  --color-blue-950: oklch(0.282 0.091 267.935);
  --color-indigo-50: oklch(0.962 0.018 272.314);
  --color-indigo-100: oklch(0.93 0.034 272.788);
  --color-indigo-200: oklch(0.87 0.065 274.039);
  --color-indigo-300: oklch(0.785 0.115 274.713);
  --color-indigo-400: oklch(0.673 0.182 276.935);
  --color-indigo-500: oklch(0.585 0.233 277.117);
  --color-indigo-600: oklch(0.511 0.262 276.966);
  --color-indigo-700: oklch(0.457 0.24 277.023);
  --color-indigo-800: oklch(0.398 0.195 277.366);
  --color-indigo-900: oklch(0.359 0.144 278.697);
  --color-indigo-950: oklch(0.257 0.09 281.288);
  --color-violet-50: oklch(0.969 0.016 293.756);
  --color-violet-100: oklch(0.943 0.029 294.588);
  --color-violet-200: oklch(0.894 0.057 293.283);
  --color-violet-300: oklch(0.811 0.111 293.571);
  --color-violet-400: oklch(0.702 0.183 293.541);
  --color-violet-500: oklch(0.606 0.25 292.717);
  --color-violet-600: oklch(0.541 0.281 293.009);
  --color-violet-700: oklch(0.491 0.27 292.581);
  --color-violet-800: oklch(0.432 0.232 292.759);
  --color-violet-900: oklch(0.38 0.189 293.745);
  --color-violet-950: oklch(0.283 0.141 291.089);
  --color-purple-50: oklch(0.977 0.014 308.299);
  --color-purple-100: oklch(0.946 0.033 307.174);
  --color-purple-200: oklch(0.902 0.063 306.703);
  --color-purple-300: oklch(0.827 0.119 306.383);
  --color-purple-400: oklch(0.714 0.203 305.504);
  --color-purple-500: oklch(0.627 0.265 303.9);
  --color-purple-600: oklch(0.558 0.288 302.321);
  --color-purple-700: oklch(0.496 0.265 301.924);
  --color-purple-800: oklch(0.438 0.218 303.724);
  --color-purple-900: oklch(0.381 0.176 304.987);
  --color-purple-950: oklch(0.291 0.149 302.717);
  --color-fuchsia-50: oklch(0.977 0.017 320.058);
  --color-fuchsia-100: oklch(0.952 0.037 318.852);
  --color-fuchsia-200: oklch(0.903 0.076 319.62);
  --color-fuchsia-300: oklch(0.833 0.145 321.434);
  --color-fuchsia-400: oklch(0.74 0.238 322.16);
  --color-fuchsia-500: oklch(0.667 0.295 322.15);
  --color-fuchsia-600: oklch(0.591 0.293 322.896);
  --color-fuchsia-700: oklch(0.518 0.253 323.949);
  --color-fuchsia-800: oklch(0.452 0.211 324.591);
  --color-fuchsia-900: oklch(0.401 0.17 325.612);
  --color-fuchsia-950: oklch(0.293 0.136 325.661);
  --color-pink-50: oklch(0.971 0.014 343.198);
  --color-pink-100: oklch(0.948 0.028 342.258);
  --color-pink-200: oklch(0.899 0.061 343.231);
  --color-pink-300: oklch(0.823 0.12 346.018);
  --color-pink-400: oklch(0.718 0.202 349.761);
  --color-pink-500: oklch(0.656 0.241 354.308);
  --color-pink-600: oklch(0.592 0.249 0.584);
  --color-pink-700: oklch(0.525 0.223 3.958);
  --color-pink-800: oklch(0.459 0.187 3.815);
  --color-pink-900: oklch(0.408 0.153 2.432);
  --color-pink-950: oklch(0.284 0.109 3.907);
  --color-rose-50: oklch(0.969 0.015 12.422);
  --color-rose-100: oklch(0.941 0.03 12.58);
  --color-rose-200: oklch(0.892 0.058 10.001);
  --color-rose-300: oklch(0.81 0.117 11.638);
  --color-rose-400: oklch(0.712 0.194 13.428);
  --color-rose-500: oklch(0.645 0.246 16.439);
  --color-rose-600: oklch(0.586 0.253 17.585);
  --color-rose-700: oklch(0.514 0.222 16.935);
  --color-rose-800: oklch(0.455 0.188 13.697);
  --color-rose-900: oklch(0.41 0.159 10.272);
  --color-rose-950: oklch(0.271 0.105 12.094);
  --color-slate-50: oklch(0.984 0.003 247.858);
  --color-slate-100: oklch(0.968 0.007 247.896);
  --color-slate-200: oklch(0.929 0.013 255.508);
  --color-slate-300: oklch(0.869 0.022 252.894);
  --color-slate-400: oklch(0.704 0.04 256.788);
  --color-slate-500: oklch(0.554 0.046 257.417);
  --color-slate-600: oklch(0.446 0.043 257.281);
  --color-slate-700: oklch(0.372 0.044 257.287);
  --color-slate-800: oklch(0.279 0.041 260.031);
  --color-slate-900: oklch(0.208 0.042 265.755);
  --color-slate-950: oklch(0.129 0.042 264.695);
  --color-gray-50: oklch(0.985 0.002 247.839);
  --color-gray-100: oklch(0.967 0.003 264.542);
  --color-gray-200: oklch(0.928 0.006 264.531);
  --color-gray-300: oklch(0.872 0.01 258.338);
  --color-gray-400: oklch(0.707 0.022 261.325);
  --color-gray-500: oklch(0.551 0.027 264.364);
  --color-gray-600: oklch(0.446 0.03 256.802);
  --color-gray-700: oklch(0.373 0.034 259.733);
  --color-gray-800: oklch(0.278 0.033 256.848);
  --color-gray-900: oklch(0.21 0.034 264.665);
  --color-gray-950: oklch(0.13 0.028 261.692);
  --color-zinc-50: oklch(0.985 0 0);
  --color-zinc-100: oklch(0.967 0.001 286.375);
  --color-zinc-200: oklch(0.92 0.004 286.32);
  --color-zinc-300: oklch(0.871 0.006 286.286);
  --color-zinc-400: oklch(0.705 0.015 286.067);
  --color-zinc-500: oklch(0.552 0.016 285.938);
  --color-zinc-600: oklch(0.442 0.017 285.786);
  --color-zinc-700: oklch(0.37 0.013 285.805);
  --color-zinc-800: oklch(0.274 0.006 286.033);
  --color-zinc-900: oklch(0.21 0.006 285.885);
  --color-zinc-950: oklch(0.141 0.005 285.823);
  --color-neutral-50: oklch(0.985 0 0);
  --color-neutral-100: oklch(0.97 0 0);
  --color-neutral-200: oklch(0.922 0 0);
  --color-neutral-300: oklch(0.87 0 0);
  --color-neutral-400: oklch(0.708 0 0);
  --color-neutral-500: oklch(0.556 0 0);
  --color-neutral-600: oklch(0.439 0 0);
  --color-neutral-700: oklch(0.371 0 0);
  --color-neutral-800: oklch(0.269 0 0);
  --color-neutral-900: oklch(0.205 0 0);
  --color-neutral-950: oklch(0.145 0 0);
  --color-stone-50: oklch(0.985 0.001 106.423);
  --color-stone-100: oklch(0.97 0.001 106.424);
  --color-stone-200: oklch(0.923 0.003 48.717);
  --color-stone-300: oklch(0.869 0.005 56.366);
  --color-stone-400: oklch(0.709 0.01 56.259);
  --color-stone-500: oklch(0.553 0.013 58.071);
  --color-stone-600: oklch(0.444 0.011 73.639);
  --color-stone-700: oklch(0.374 0.01 67.558);
  --color-stone-800: oklch(0.268 0.007 34.298);
  --color-stone-900: oklch(0.216 0.006 56.043);
  --color-stone-950: oklch(0.147 0.004 49.25);

  /* root */
  --font-family-1: "Sarabun", sans-serif;

  /* root */

  /* body */
  --font-family: "Sarabun", sans-serif;
  --base-color-1: #000;
  --base-color-2: #161616;
  --base-background: #000;
  --base-background-gradient: radial-gradient(circle,
      rgb(20, 20, 20) 0%,
      rgb(0, 0, 0) 100%);
  /* --base-background-gradient: radial-gradient(circle, rgb(20, 20, 20) 0%, rgb(241, 201, 72, 0.4) 100%); */
  /* body */

  /* Navbar */
  --bg-color-navbar: #000;
  --font-family-navbar: "Sarabun", sans-serif;
  --color-text-navbar: #ffff;
  --opacity-text-navbar: 1;
  --size-text-navbar: 14px;
  --size-icon-navbar: 30px;

  --size-text-navbar-sm: 16px;
  --size-icon-navbar-sm: 30px;
  /* Navbar */

  /* footer */
  --size-text-footer: 14px;
  --size-icon-footer: 26px;
  /* footer */
}

html,
body {
  max-width: 100%;
  /* overflow-x: hidden; บล็อกการเลื่อนซ้ายขวา */
}

/* ป้องกันตัว Row ของ Bootstrap ดันขอบ (กรณีลืมใส่ Container) */
.row {
  margin-right: 0;
  margin-left: 0;
}

/* html {
    scroll-behavior: smooth;
} */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: var(--font-family) !important;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  background-color: #fff;
  /* overflow-x: hidden; */

  /* background-image: url('src/icon/bg-red.png') !important;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed; */

  /* overflow-x: hidden; */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  -webkit-tap-highlight-color: transparent;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

main {
  /* min-height: 100vh; */
  min-height: 100vh !important;
  display: flex;
  flex-direction: column;
}

/* Set Base Component */
.bg-base {
  background-color: var(--base-background) !important;
  background-image: var(--base-background-gradient) !important;
}

#line-bg-line-thai {
  height: 80px;
  width: 100%;
  background-image: url("../../src/bg/bg-lg-x2.png") !important;
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
  overflow: hidden;
  position: relative;
}

#line-bg-line-thai::before {
  content: "";
  position: absolute;
  inset: 0;
  /* backdrop-filter: blur(1px); ปรับค่าความเบลอได้ */
  background-color: rgba(0, 0, 0, 0.3);
  /* เพิ่มความมืดเล็กน้อย */
  z-index: 0;
}

#line-bg-line-thai>* {
  position: relative;
  z-index: 1;
}

.bg-line-thai {
  background-image: url("../../src/bg/bg-lg-x2.png") !important;
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
  overflow: hidden;
  position: relative;
}

.bg-line-thai::before {
  content: "";
  position: absolute;
  inset: 0;
  /* backdrop-filter: blur(1px); ปรับค่าความเบลอได้ */
  background-color: rgba(0, 0, 0, 0.3);
  /* เพิ่มความมืดเล็กน้อย */
  z-index: 0;
}

.bg-line-thai>* {
  position: relative;
  z-index: 1;
}

.bg-gallery {
  background-image: url("../../src/images/young-woman-having-face-massage-relaxing-spa-salon.jpg") !important;
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
  overflow: hidden;
  position: relative;
}

.bg-gallery::before {
  content: "";
  position: absolute;
  inset: 0;
  /* backdrop-filter: blur(1px); ปรับค่าความเบลอได้ */
  background-color: rgba(1, 48, 39, 0.6);
  /* เพิ่มความมืดเล็กน้อย */
  z-index: 0;
}

.bg-gallery>* {
  position: relative;
  z-index: 1;
}

.card-bg-blur {
  backdrop-filter: blur(3px);
  background-color: rgba(255, 255, 255, 0.3) !important;
  /* ปรับค่าความเบลอได้ */
}

.card-color-2 {
  background-color: var(--base-color-2) !important;
}

.card-index-page {
  border-radius: 10% 20% !important;
}

/* Set Base Component */

.container-title-page {
  width: 100%;
  max-height: 200px;
  background-color: #fff;
  overflow: hidden;
  position: relative;
}

.container-title-page .item {
  position: relative;
  overflow: hidden;
}

.container-title-page .item img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  object-position: center;
  filter: brightness(70%);
  /* ทำให้มืดลงเล็กน้อย */
  transition: transform 0.5s ease-in-out;
}

.container-title-page .item .caption {
  position: absolute;
  top: 50%;
  left: 50%;
  /* background: rgba(0, 0, 0, 0.5); */
  color: #fff;
  padding: 10px 15px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: bold;
  opacity: 1;
  transform: translate(-50%, -50%);
  text-align: center;
  white-space: nowrap;
  /* ป้องกันข้อความขึ้นบรรทัดใหม่ */
}

.container-title-page .item .caption h1 {
  font-size: 46px;
  font-weight: 800;
}

.container-title-page .item .caption .breadcrumb-item+.breadcrumb-item::before {
  color: #fff !important;
}

.breadcrumb .breadcrumb-item {
  font-size: 14px;
}

.breadcrumb .breadcrumb-item.active {
  /* font-size: 14px; */
  /* color: #FEBF00; */
}

.container-title-page .item .caption .breadcrumb li a {
  color: #fff !important;
  font-size: 14px;
  font-weight: 800;
}

.container-title-page .item .caption .breadcrumb li.active {
  color: #fff !important;
  font-size: 14px;
  font-weight: 500;
}

/* ปรับแต่ง container */
.container-product {
  width: 100%;
  max-height: 400px;
  background-color: #fff;
  overflow: hidden;
  position: relative;
}

.owl-stage-outer {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

.owl-nav {
  display: none;
}

/* ปรับแต่ง Owl Carousel */
.container-product .owl-carousel .item {
  position: relative;
  overflow: hidden;
}

.container-product .owl-carousel img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  object-position: center;
  filter: brightness(70%);
  /* ทำให้มืดลงเล็กน้อย */
  transition: transform 0.5s ease-in-out;
}

/* เมื่อ hover ให้รูป Drop ลงมา */
/* .owl-carousel .item:hover img {
    transform: translateY(10px);
} */

/* ข้อความบนภาพ */
.container-product .caption {
  position: absolute;
  top: 50%;
  left: 50%;
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  padding: 10px 15px;
  border-radius: 8px;
  font-size: 18px;
  font-weight: bold;
  opacity: 1;
  transform: translate(-50%, -50%);
  text-align: center;
  white-space: nowrap;
  /* ป้องกันข้อความขึ้นบรรทัดใหม่ */
}

.text-success-2 {
  color: var(--color-green-500);
}

.bg-success-2 {
  background-color: var(--color-green-600);
}

/* เมื่อ hover ให้ข้อความปรากฏ */
/* .owl-carousel .item:hover .caption {
    opacity: 1;
    transform: translateY(0);
} */

.card-product {
  transition: transform 0.3s ease-in-out;
  cursor: pointer;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
}

.card-product:hover {
  transform: scale(1.05);
}

.divider {
  height: 4px;
  background-color: var(--color-green-600);
  margin: 20px 0;
  width: calc(100% - 90%);
  margin-left: auto;
  margin-right: auto;
}

.card-blogs {
  transition: transform 0.3s ease-in-out;
}

.card-blogs:hover {
  transform: scale(1.05);
}

.card-blogs .card-img-top {
  height: 250px;
  object-fit: cover;
  object-position: top;
}

.navbar-link-social {
  color: #ffffff !important;
  transition: 0.2s ease-in-out;
}

.navbar-link-social:hover {
  color: var(--color-yellow-500) !important;
}

.navbar-link-social i {
  color: inherit !important;
}

/* component navbar */

.bg-navbar {
  /* background-image: url('https://images.unsplash.com/photo-1704476944927-aaef1fdec0ce?q=80&w=3132&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D') !important; */
  /* background-image: url('https://images.unsplash.com/photo-1627280052756-cc5e080c8458?q=80&w=1666&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D') !important; */
  background-image: url("https://images.unsplash.com/photo-1623575398807-ff30453553a9?q=80&w=2257&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D") !important;
  background-size: cover !important;
  background-position-x: center !important;
  background-position-y: bottom !important;
}

#line-top {
  /* position: fixed; */
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 45px;
  background-image: url("../../src/icon/line-header-top-x3.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  z-index: 10000;
}

.navbar {
  /* position: fixed !important; */
  /* position: absolute !important; */
  top: 0;
  width: 100%;
  z-index: 9999;
  background: var(--bg-color-navbar);
  /* background: linear-gradient(0deg, rgba(0, 0, 0, 1) 0%, var(--bg-color-navbar) 100%); */
  transition: width 0.3s ease-in-out;
}

/* .navbar-container {
    margin-top: 60px !important;
    margin-bottom: 10px !important;
} */

.navbar-nav .nav-link {
  /* letter-spacing: 1px; */
  opacity: var(--opacity-text-navbar);
}

.navbar-nav .nav-link:hover {
  /* opacity: 1; */
  border-bottom: 2px solid var(--color-stone-100);
}

.navbar-nav .nav-link.active {
  opacity: 1;
}

.icon-container-nav-link {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-direction: column;
}

.icon-container-nav-link span {
  font-family: var(--font-family-navbar) !important;
  color: var(--color-text-navbar) !important;
  transition: 0.2s;
  font-size: var(--size-text-navbar) !important;
}

.icon-container-nav-link img {
  width: var(--size-icon-navbar);
  height: var(--size-icon-navbar);
  transition: 0.2s;
}

/* footer */
.icon-container-footer-link {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-direction: column;
}

.icon-container-footer-link span {
  font-family: var(--font-family-navbar) !important;
  color: var(--color-text-navbar) !important;
  transition: 0.2s;
  font-size: var(--size-text-footer) !important;
}

.icon-container-footer-link img {
  width: var(--size-icon-footer);
  height: var(--size-icon-footer);
  transition: 0.2s;
}

/* footer */

/* component navbar */

footer h5,
footer li a {
  color: var(--base-color-2) !important;
  transition: 0.2s;
}

footer li a:hover {
  border-bottom: 2px solid var(--color-stone-100) !important;
  /* border-bottom: 2px solid var(--color-yellow-400);
    padding-bottom: 3px; */
}

.container-promotion-product {
  width: 100%;
  max-height: 400px;
  background-color: #fff;
  overflow: hidden;
  position: relative;
}

.container-promotion-product img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  object-position: center;
  /* filter: brightness(70%); */
  /* ทำให้มืดลงเล็กน้อย */
  transition: transform 0.5s ease-in-out;
}

.item-wrapper {
  display: flex;
  flex-direction: column;
  gap: 25px;
  /* ระยะห่างระหว่าง item */
}

.owl-carousel-slide-lasted-product .owl-dots {
  /* position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%); */
  margin-top: 20px !important;
}

.btn.btn-add-to-cart {
  background-color: var(--color-neutral-200) !important;
  color: #fff !important;
  transition:
    background-color 0.2s ease-in-out,
    color 0.2s ease-in-out;
}

.btn.btn-add-to-cart:hover {
  background-color: var(--color-neutral-300) !important;
}

.btn.btn-social {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: none;
  background-color: #fff !important;
  color: #000 !important;
  border: 1px solid #ccc;
  transition:
    background-color 0.6s all,
    color 0.6s all;
}

.btn.btn-social:hover {
  background-color: #ffffffdf !important;
  /* color: #FFF !important; */
}

.noUi-horizontal {
  height: 8px !important;
}

/* เปลี่ยนสีแถบระหว่าง min-max */
.noUi-connect {
  background-color: var(--color-green-600) !important;
  /* เปลี่ยนเป็นสีแดง */
}

/* เปลี่ยนสีพื้นหลังของ slider */
.noUi-base {
  background-color: #ddd !important;
  /* สีเทาอ่อน */
}

/* เปลี่ยนสีตัวจับ (handles) */
.noUi-handle {
  background-color: white !important;
  /* เปลี่ยนเป็นสีขาว */
  border-radius: 50% !important;
  width: 20px !important;
  height: 20px !important;
}

/* เพิ่มขนาดให้ handle */
.noUi-handle::before,
.noUi-handle::after {
  display: none !important;
  background: rgb(255, 255, 255) !important;
  /* เปลี่ยนสี handle ด้านใน */
}

.slider-nav {
  display: flex;
  justify-content: center;
  margin-top: 20px;
}

.slider-nav-item {
  color: #fff;
  cursor: pointer;
  transition: transform 0.3s ease-in-out;
  border-radius: 10px;
  overflow: hidden;
  /* box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1); */
  padding: 10px;
}

.slider-nav-item:hover {
  transform: scale(1.02);
  /* background-color:rgba(0, 0, 0, 0.1); */
  border: 1px solid rgba(0, 0, 0, 0.1);
}

.border-r-1 {
  border-radius: 10px;
}

.border-r-2 {
  border-radius: 20px;
}

.border-r-3 {
  border-radius: 30px;
}

.img-inner {
  max-width: 100px !important;
  /* padding-bottom: 10px; */
}

.img-gender {
  max-width: 70px !important;
  /* padding-bottom: 10px; */
}

.card-price {
  border-bottom-left-radius: 100% !important;
  border-bottom-right-radius: 100% !important;
  border: 10px solid rgba(255, 230, 133, 1) !important;
}

/* background-image: url('https://aneksongkham.com/dev_3/src/images/young-woman-having-face-massage-relaxing-spa-salon.jpg'); */
/* .parallax {
    background-image: url('https://aneksongkham.com/dev_3/src/vdo/1.mp4');
    position: relative;
    z-index: 0;
    height: 550px;
    background-attachment: fixed;
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
    box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.5);
} */

.parallax {
  background: var(--base-background-gradient);
  position: relative;
  z-index: 0;
  top: 80px;
  left: 0;
  width: 100%;
  height: 500px;
  overflow: hidden;
  box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.5);
}

.parallax-search-page {
  background: var(--base-background-gradient);
  position: relative;
  z-index: 0;
  top: 80px;
  left: 0;
  width: 100%;
  /* height: 510px; */
  /* height: 650px; */
  height: 760px;
  overflow: hidden;
  box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.5);
}

.parallax-title {
  position: relative;
  z-index: 0;
  height: 250px;
  overflow: hidden;
  box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.5);
}

.parallax-title h3 {
  margin-top: 50px !important;
}

.parallax-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* ปรับขนาดวิดีโอให้เต็มพื้นที่ */
  z-index: -1;
  /* วางวิดีโอไว้ด้านหลังเนื้อหา */
}

/* .parallax-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: top;
    z-index: 1;
} */

.parallax-img-title {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  max-height: 300px;
  object-fit: cover;
  /* object-position: 20% 30%; */
  object-position: 100% 30%;
  /* เพิ่มบรรทัดนี้ */
  z-index: 1;
}

.parallax-search {
  background: var(--base-background-gradient);
  position: relative;
  z-index: 0;
  top: 80px;
  left: 0;
  width: 400%;
  height: 300px;
  overflow: hidden;
  box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.5);
}

.parallax-search .parallax-title {
  position: relative;
  z-index: 0;
  height: 250px;
  overflow: hidden;
  box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.5);
}

.parallax-search .parallax-title h3 {
  margin-top: 50px !important;
}

.parallax-search .caption-2 {
  position: relative;
  left: 0;
  width: 100%;
  text-align: left;
  color: #fff;
  z-index: 2;
  /* padding: 50px; */
}

.parallax-search .number-behind {
  font-size: 13rem;
  /* font-weight: bold; */
  opacity: 0.3;
  z-index: 0;
  line-height: 0.5;
  pointer-events: none;
}

.parallax-search .caption-2 .col h5 {
  position: relative;
  z-index: 1;
}

/* .parallax-2 {
    background-image: url('https://aneksongkham.com/dev_3/src/images/178faa6f-e86b-4059-8b65-70c3cb0a73d0.jpg');
    position: relative;
    z-index: 0;
    min-height: 400px;
    height: 100%;
    background-attachment: fixed;
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
    box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.5);
} */

.parallax-3 {
  /* background-image: url('https://aneksongkham.com/dev_3/src/images/herbal-compress-herbal-spa-treatment-equipments-put-dark-floor.jpg'); */
  background-image: url("https://aneksongkham.com/bannthai/src/icon/bg-red.png");
  position: relative;
  z-index: 0;
  min-height: 400px;
  height: 100%;
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  /* box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.5); */
}

.parallax-4 {
  /* background-image: url('https://aneksongkham.com/dev_3/src/images/herbal-compress-herbal-spa-treatment-equipments-put-dark-floor.jpg'); */
  background-image: url("https://aneksongkham.com/bannthai/src/icon/bg-red.png");
  position: relative;
  z-index: 0;
  min-height: 400px;
  height: 100%;
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  /* box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.5); */
}

.background-cover-light {
  /* background: linear-gradient(233deg, rgb(0, 0, 0) 26%, rgba(224, 188, 81, 0.65) 100%); */
  background: #ffffff;
  opacity: 0.75;
  backdrop-filter: blur(2px);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  opacity: 0.5;
}

.background-cover-light-overlay {
  background: linear-gradient(180deg,
      rgba(0, 0, 0, 0.4) 0%,
      rgba(0, 0, 0, 0.6) 50%,
      rgba(255, 255, 255, 1) 100%);
  position: absolute;
  /* backdrop-filter: blur(2px); */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 1;
}

.background-cover {
  background: var(--base-background-gradient);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0.5;
}

.background-cover-1 {
  background: linear-gradient(to right,
      rgb(0, 0, 0) 26%,
      rgba(224, 188, 81, 0.65) 100%);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0.8;
}

.background-cover-2 {
  background: var(--base-background-gradient);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0.6;
}

.background-cover-price {
  background: var(--base-background-gradient);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0.4;
}

footer {
  z-index: 99;
  position: relative;
}

footer h5,
footer ul li a {
  /* font-family: 'Zain', sans-serif !important; */
  font-size: 14px !important;
}

.parallax-title .caption .breadcrumb-item+.breadcrumb-item::before {
  color: #fff !important;
}

.parallax-title .caption .breadcrumb li,
.parallax-title .caption .breadcrumb li a {
  color: #fff !important;
  font-size: 22px;
  font-weight: 600;
  transition: transform 0.3s ease-in-out;
}

.parallax-title .caption .breadcrumb li a:hover {
  transform: scale(1.02);
  color: #fff !important;
}

.parallax-title .caption .breadcrumb .breadcrumb-item.active {
  color: #fff !important;
}

.parallax-2 {
  background-image: url("../../src/bg/52754.jpg");
  position: relative;
  z-index: 0;
  background-attachment: fixed;
  background-position: top;
  background-repeat: no-repeat;
  background-size: cover;
  box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.5);
}

.parallax-about {
  background-image: url("../../src/bg/52754.jpg");
  position: relative;
  z-index: 0;
  background-attachment: fixed;
  background-position: top;
  background-repeat: no-repeat;
  background-size: cover;
  box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.5);
}

.parallax-price {
  background-image: url("../../src/images/178faa6f-e86b-4059-8b65-70c3cb0a73d0.jpg");
  position: relative;
  z-index: 0;
  background-attachment: fixed;
  background-position: top;
  background-repeat: no-repeat;
  background-size: cover;
  box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.5);
}

.parallax-view {
  background-image: url("../../src/images/bg-blue-md.png");
  position: relative;
  z-index: 0;
  background-attachment: fixed;
  background-position: top;
  background-repeat: no-repeat;
  background-size: cover;
  box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.5);
}

.caption-2 {
  position: relative;
  left: 0;
  width: 100%;
  text-align: left;
  color: #fff;
  z-index: 2;
  /* padding: 50px; */
}

.number-behind {
  font-size: 13rem;
  /* font-weight: bold; */
  opacity: 0.3;
  z-index: 0;
  line-height: 0.5;
  pointer-events: none;
}

.caption-2 .col h5 {
  position: relative;
  z-index: 1;
}

.line-gold::after {
  content: "";
  position: absolute;
  bottom: 20px;
  right: 400px;
  transform: translateX(-50%);
  width: 100px;
  height: 200px;
  background-image: url("../../src/images/gold-line.png");
  background-repeat: no-repeat;
  background-size: contain;
}

.style-card-3 {
  border-top-left-radius: 0% !important;
  border-top-right-radius: 18% !important;
  border-bottom-left-radius: 18% !important;
  border-bottom-right-radius: 0% !important;
}

/* component text */
.line-height-0 {
  line-height: 2;
}

.line-height-1 {
  line-height: 4;
}

.text-space-0 {
  letter-spacing: 2px;
}

.text-space-1 {
  letter-spacing: 8px;
}

.text-style-1 {
  font-family: var(--font-family-1) !important;
}

.text-style-2 {
  font-family: var(--font-family-2) !important;
}

.text-style-3 {
  font-family: var(--font-family-3) !important;
}

.text-shadow {
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.text-shadow-sm {
  text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5);
}

.text-green {
  color: var(--base-color-1) !important;
}

.text-green-1 {
  color: var(--base-color-2) !important;
}

.text-green-2 {
  color: #850102 !important;
}

.text-green-light {
  color: #a33636 !important;
}

.text-yellow {
  color: #febf00 !important;
}

.text-yellow-1 {
  color: #ffcb31 !important;
}

.text-yellow-2 {
  color: #f6e554 !important;
}

.text-yellow-light {
  color: #fde89b !important;
}

.text-gold {
  color: #896602 !important;
}

.text-gold-2 {
  background-color: #4a1e04;
  color: #f3d87d;
  padding: 1rem 3rem;
  border-radius: 100px;
  border: 4px solid #d4b66b;
  display: inline-block;
  text-align: center;
}

.text-brown {
  color: #a16107 !important;
}

/* component text */

/* component button */
.btn-white {
  font-family: var(--font-family-2) !important;
  color: rgb(255, 215, 54) !important;
  font-size: 20px !important;
  background: rgb(255, 230, 133, 1);
  background: var(--base-color-2) !important;
  cursor: pointer;
  border-radius: 0 !important;
  border: 3px solid rgb(255, 215, 54) !important;
  padding: 1rem 2.5rem !important;
  transition: 0.3s;
}

.btn-white:hover {
  box-shadow: 0 0 10px 4px rgba(1, 48, 39, 0.5);
}

.btn-black {
  font-family: var(--font-family-1) !important;
  /* color: var(--base-color-2) !important; */
  color: #fff !important;
  /* font-size: 14px !important; */
  background-color: #ab2100 !important;
  /* background: radial-gradient(circle, rgba(255, 230, 133, 1) 0%, rgba(236, 189, 46, 1) 100%); */
  cursor: pointer;
  border-radius: 15px !important;
  /* border: 3px solid var(--base-color-2) !important; */
  /* padding: 1rem 1.5rem !important; */
  transition: 0.3s;
}

/* .btn-black:hover {
    box-shadow: 0 0 10px 4px rgba(236, 189, 46, 0.5);
} */

.btn-outline-black {
  font-family: var(--font-family-1) !important;
  color: var(--base-color-2) !important;
  background: transparent !important;
  /* พื้นหลังโปร่งใส */
  border: 2px solid var(--base-color-2) !important;
  /* เส้นขอบ */
  cursor: pointer;
  transition: 0.3s;
}

/* Hover เติม Gradient */
.btn-outline-black:hover {
  color: #000 !important;
  /* ปรับสีตัวอักษรเวลา hover */
  background: radial-gradient(circle,
      rgba(255, 230, 133, 1) 0%,
      rgba(236, 189, 46, 1) 100%) !important;
  border-color: transparent;
}

.btn-line {
  background: #56c22d !important;
  color: #ffff !important;
}

.btn-line:hover {
  /* background: #ffff !important; */
  /* color: #56c22d !important; */
}

/* component button */

.list li {
  /* font-family: 'Zain', sans-serif !important; */
  font-size: 20px;
}

.hr-line {
  display: flex;
}

.hr-line:before,
.hr-line:after {
  /* color:white; */
  content: "";
  flex: 1;
  border-bottom: 1px solid;
  margin: auto 0.25em;
  /* box-shadow: 0 -1px; */
}

.line-box img {
  width: 100%;
  height: 100%;
  max-height: 300px !important;
  object-fit: cover;
  object-position: top;
}

.line-box-brown::before {
  content: "";
  position: absolute;
  top: 130px;
  right: 0px;
  /* transform: translateX(-0%); */
  width: 320px;
  height: 400px;
  background-image: url("https://aneksongkham.com/bannthai/src/icon/line-gold-2.png");
  background-repeat: no-repeat;
  background-size: contain;
}

.line-box-brown::after {
  content: "";
  position: absolute;
  bottom: -312px;
  left: 0px;
  transform: translateX(-20%);
  width: 320px;
  height: 400px;
  background-image: url("https://aneksongkham.com/bannthai/src/icon/line-gold-2.png");
  background-repeat: no-repeat;
  background-size: contain;
}

.line-box-brown-2::before {
  content: "";
  position: absolute;
  top: 10px;
  right: 0px;
  /* transform: translateX(-0%); */
  width: 320px;
  height: 400px;
  background-image: url("https://aneksongkham.com/bannthai/src/icon/line-gold-2.png");
  background-repeat: no-repeat;
  background-size: contain;
}

.line-box-brown-2::after {
  content: "";
  position: absolute;
  bottom: -312px;
  left: 0px;
  transform: translateX(-20%);
  width: 320px;
  height: 400px;
  background-image: url("https://aneksongkham.com/bannthai/src/icon/line-gold-2.png");
  background-repeat: no-repeat;
  background-size: contain;
}

.gradient-border-box {
  /* padding: 0.2rem; */
  border: 3px solid transparent;
  background: #501d00;
  background-image:
    linear-gradient(325deg, #501d00 0%, #512c00 50%, #501d00 100%),
    linear-gradient(to right, rgb(255, 230, 133, 1), rgba(236, 189, 46, 1));
  background-origin: border-box;
  background-clip: content-box, border-box;
}

.gradient-border-box-sm {
  /* padding: 0.2rem; */
  border: 1px solid transparent;
  background: #501d00;
  background-image:
    linear-gradient(325deg, #501d00 0%, #512c00 50%, #501d00 100%),
    linear-gradient(to right, rgb(255, 230, 133, 1), rgba(236, 189, 46, 1));
  background-origin: border-box;
  background-clip: content-box, border-box;
}

.gradient-border-box-2 {
  /* padding: 0.2rem; */
  border: 10px solid transparent;
  background: #501d00;
  background-image:
    linear-gradient(325deg, #501d00 0%, #512c00 50%, #501d00 100%),
    linear-gradient(to right, rgb(255, 230, 133, 1), rgba(236, 189, 46, 1));
  background-origin: border-box;
  background-clip: content-box, border-box;
}

.gradient-border-box-3 {
  /* padding: 0.2rem; */
  border: 10px solid transparent;
  background: #ffffff;
  background-image:
    linear-gradient(325deg, #ffffff 0%, #e9e9e9 100%),
    linear-gradient(to right, rgb(255, 230, 133, 1), rgba(236, 189, 46, 1));
  background-origin: border-box;
  background-clip: content-box, border-box;
}

.gradient-border-box-view {
  /* padding: 0.2rem; */
  border: 10px solid transparent;
  background: rgba(236, 189, 46, 1);
  background-image:
    linear-gradient(325deg, #ffffffae 0%, #e9e9e9a4 100%),
    linear-gradient(to right, rgb(255, 230, 133, 1), rgba(236, 189, 46, 1));
  background-origin: border-box;
  background-clip: content-box, border-box;
}

.gradient-border-box-4 {
  /* padding: 0.2rem; */
  /* border: 10px; */
  border-top-width: 10px;
  border-bottom-width: 10px;
  border-right-width: 0px;
  border-left-width: 0px;
  border-style: solid;
  border-color: transparent;
  background: #ffffff;
  background-image:
    linear-gradient(325deg, #ffffff 0%, #e9e9e9 100%),
    linear-gradient(to right, rgb(255, 230, 133, 1), rgba(236, 189, 46, 1));
  background-origin: border-box;
  background-clip: content-box, border-box;
}

.container-footer {
  /* margin-top: 150px; */
  /* margin-bottom:60px; */
}

.card-body-footer {
  padding: 3rem 4rem !important;
}

.card-massage {
  width: 100%;
  /* border-radius: 40px; */
  /* border-top-left-radius: 40px !important;
    border-top-right-radius: 40px !important;
    border-bottom-left-radius: 40px !important;
    border-bottom-right-radius: 40px !important; */
  overflow: hidden;
  /* box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2); */
  /* background: linear-gradient(to bottom, #fdf0c2 50%, #9e5d03 50%); */
  /* border: 8px solid var(--color-yellow-500) !important; */
}

.card-massage .con-card-img {
  padding: 3rem;
}

.card-massage .card-img {
  height: 200px;
  background: white;
  border-radius: 30px;
  /* margin: 10px; */
  position: relative;
  top: 0;
  left: 0;
}

.card-massage .card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 22px;
}

.card-massage .card-img::after {
  content: "";
  position: absolute;
  bottom: -60px;
  left: 50%;
  transform: translateX(-50%);
  width: 200px;
  height: 50px;
  background-image: url("https://aneksongkham.com/bannthai/src/icon/Thai-1.png");
  /* example ornament */
  background-repeat: no-repeat;
  background-size: contain;
}

.img-about {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 22px;
}

.card-massage .card-body {
  /* margin: 4px 0; */
  /* color: #171544 !important; */
  /* text-shadow: 3px 1px #4b2a00; */
  border: 5px solid var(--base-color-2);
}

.text-blue {
  font-weight: 700;
  /* color: #171544 !important; */
  background: linear-gradient(90deg,
      #cd9c47 0%,
      #ffeb85 17.31%,
      #ffdd60 36.06%,
      #cd9c47 54.81%,
      #e8a62f 73.08%,
      #ffe084 96.63%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;

  /* text-shadow: 0px 4px 0px rgba(0, 0, 0, 0.25); */
  /* filter: drop-shadow(4px 4px 4px rgba(0, 0, 0, 1)); */
}

.text-blue-3 {
  font-weight: 700;
  /* ไล่เฉดสีทองอ่อน (Champagne Gold) */
  background: linear-gradient(90deg,
      #ebca7c 0%,
      /* ทองอ่อน */
      #fff5cb 20%,
      /* ทองสว่างเกือบขาว */
      #ffebad 40%,
      /* นวลๆ */
      #ebca7c 60%,
      /* ทองอ่อน */
      #f5e3b5 80%,
      /* ครีมทอง */
      #fff5cb 100%
      /* จบที่สว่าง */
    );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}

.text-blue-2 {
  font-weight: 700;
  background: linear-gradient(90deg,
      #dc9b2b 0%,
      #ffeb85 17.31%,
      #ffdd60 36.06%,
      #d29226 54.81%,
      #e8a62f 73.08%,
      #ffe084 96.63%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(4px 4px 4px rgba(0, 0, 0, 1));
}

.col-text {
  border-radius: 0px 100px;
  /* padding: 40px 70px; */
}

.text {
  color: white;
  /* text-shadow: 3px 1px #4b2a00; */
}

.btn-book {
  display: inline-block;
  padding: 0.75rem 4rem;
  font-size: 1.2rem;
  color: #4c2900;
  background: linear-gradient(90deg, #b88900, #f0d471, #b88900);
  border: none;
  border-radius: 0px 60px 0 60px;
  box-shadow:
    inset 0 1px 3px rgba(255, 255, 255, 0.3),
    0 2px 6px rgba(0, 0, 0, 0.2);
  text-align: center;
  text-decoration: none;
  transition: all 0.3s ease;
  position: relative;
}

.btn-book:hover {
  background: linear-gradient(90deg, #f3cd58, #ffe07e, #f3cd58);
  color: #3a2100;
  transform: scale(1.03);
}

.py-6 {
  padding-top: 6rem !important;
  padding-bottom: 6rem !important;
}

/* ========== BASE STYLE (ใช้กับทุกขนาดหน้าจอ) ========== */
.caption {
  padding: 2rem !important;
  position: absolute;
  right: 0%;
  top: 50%;
  width: 100%;
  text-align: center;
  color: var(--color-yellow-300);
  transform: translateY(-50%);
  z-index: 2;
  /* ให้อยู่เหนือ background */
}

/* ===========================
    GLOBAL
=========================== */
.navbar {
  height: 110px;
  transition: height 0.3s ease-in-out;
}

.img-fluid.logo {
  max-width: 100px;
  transition: width 0.3s ease-in-out;
}

.parallax {
  position: relative;
  width: 100%;
  /* height: 650px; */
  height: 780px;
  overflow: hidden;
}

.parallax-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  position: absolute;
  top: 0;
  left: 0;
}

.caption {
  position: absolute;
  width: 100%;
  text-align: center;
  padding: 2rem;
  top: 50%;
  transform: translateY(-35%);
  z-index: 2;
}

.button-fixed-mobile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  position: fixed;
  bottom: 0;
  right: 0;
  margin: 2rem;
  z-index: 1000;
}

/* .button-fixed-mobile img {
    max-width: 40px !important;
} */

.button-fixed-mobile img.down {
  transform: rotate(180deg);
}

.mobile-search-bar {
  position: -webkit-sticky;
  /* รองรับ Safari */
  position: sticky;
  top: 80px;
  /* ปรับให้เท่ากับความสูง Navbar จริงในมือถือ */
  z-index: 1020;
  padding: 0.5rem;
  background: linear-gradient(0deg, #ffffff 0%, #cfcfcf 100%);
  /* box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); */
  /* เพิ่มเงาเพื่อให้ดูมีมิติเวลาไถลงมา */
}

.mobile-search-bar input {
  /* background-color: rgb(255, 255, 255, 0.5) !important; */
  background-color: #f5f5f5 !important;
  border-radius: 10px;
  border: none;
  /* box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); */
  /* เพิ่มเงาเพื่อให้ดูมีมิติเวลาไถลงมา */
}

.button-search-mobile .form-control {
  font-size: 14px;
}

.button-search-mobile button {
  white-space: nowrap;
}

/* .mobile-contact {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1100;
    background: #fff;
    border-top: 1px solid #eee;
    padding: 6px 10px;
} */

.mobile-contact {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 1100;
  background: #fff;
}

.mobile-contact img {
  outline: 4px solid #fff;
  outline-offset: -2px;
  border-radius: 10px;
}

.mobile-contact .d-flex {
  padding: 0.5px 0.5px;
}

.contact-line {
  background: #06c755;
}

.contact-phone {
  background-color: #ab2100 !important;
  /* background: linear-gradient(135deg, #5a5a5a, #404040, #2c2c2c); */
}

.contact-btn img {
  width: 30px;
}

.card-tabien-single {
  /* ปรับสัดส่วนให้เหมือนป้ายทะเบียนจริง (กว้าง x สูง) */
  aspect-ratio: 2 / 1.1;
  height: auto !important;
  /* ปลดล็อกความสูงที่เคยฟิกไว้ */
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 380px !important;
  /* ล็อกความกว้างสูงสุดที่เหมาะสมกับมือถือ */
  height: 200px !important;
  min-height: auto !important;
  /* ล้างค่า min-height เดิมที่เคยตั้งไว้ */
}

.prefix-tabien {
  /* text-shadow: -1px 0px 0px rgb(255 255 255); */
  display: inline-block;
  transform: scaleY(1.2);
  letter-spacing: 0.5px;
}

.prov-tabien {
  font-weight: 600 !important;
}

.slick-slide {
  padding: 0 5px !important;
}

.slick-product-promotion {
  touch-action: pan-y;
  /* อนุญาตให้เลื่อนขึ้นลงเพื่อ Scroll หน้าเว็บ แต่ยอมให้ Slider จัดการการรูดซ้ายขวาเอง */
}

/* .card-tabien {
    content-visibility: auto;
    contain-intrinsic-size: 200px; 
    image-rendering: -webkit-optimize-contrast; 
    transition: transform 0.3s ease;
} */
.card-tabien {
  background-size: cover;
  background-position: center;
  transition:
    opacity 0.5s ease-in-out,
    transform 0.3s ease;
  /* aspect-ratio: 34 / 15; */
  /* aspect-ratio: 34 / 19; */
}

.card-tabien-how-to {
  width: 180px;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.plate-display {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  font-weight: 600;
  top: 8px;
  position: relative;
}

.plate-display p {
  margin: 0;
  display: inline-block;
  /* จำเป็นต้องใส่เพื่อให้ transform ทำงาน */
  transform: scaleY(1.15);
  /* ยืดความสูงเป็น 1.5 เท่า (150%) */
  transform-origin: bottom;
  /* ยืดขึ้นจากฐาน หรือ center ตามชอบ */
  text-shadow: -1px 0px 0px rgb(255 255 255);
  font-weight: 800 !important;
}

.plate-display.single p {
  margin: 0;
  display: inline-block;
  /* จำเป็นต้องใส่เพื่อให้ transform ทำงาน */
  transform: scaleY(1.15);
  /* ยืดความสูงเป็น 1.5 เท่า (150%) */
  transform-origin: bottom;
  /* ยืดขึ้นจากฐาน หรือ center ตามชอบ */
  text-shadow: -1px 0px 0px rgb(255 255 255);
  font-weight: 800 !important;
}

.plate-num {
  font-size: 1.7rem;
}

.plate-num .plate-char {
  font-size: 2rem;
}

.spacer {
  width: 20px;
}

.prov-tabien {
  font-size: 1rem;
  top: 14px !important;
  font-weight: 600 !important;
}

.card-motorcycle {
  aspect-ratio: 1/1;
  /* หรือใช้ 1 / 1 ก็ได้ครับ */
  margin: 0 auto;
}

.card-tabien-single.card-motorcycle {
  width: 100% !important;
  max-width: 350px !important;
  margin: 0 auto;
  aspect-ratio: 1 / 1;
  height: 220px !important;
  min-height: auto !important;
}

.card-tabien-single.card-motorcycle .plate-display.single.moto-top {
  top: -15px !important;
}

.card-tabien-single.card-motorcycle .plate-display.single.moto-bottom {
  top: 15px !important;
}

.card-tabien-single.card-motorcycle .prov-tabien.single {
  top: 0 !important;
}

/* การ์ดมอเตอร์ไซค์ (ทรงจัตุรัส) */
.card-motorcycle {
  width: 100%;
  max-width: 155px;
  /* คุมขนาดสูงสุด */
  aspect-ratio: 1 / 1;
  /* บังคับทรงจัตุรัส */
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  padding: 10px !important;
}

/* จัดการเนื้อหาข้างใน */
.card-motorcycle .card-body {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  /* กระจาย บน-กลาง-ล่าง ให้พอดีป้าย */
  align-items: center;
  height: 100%;
  padding: 0 !important;
}

.card-motorcycle .plate-display,
.card-motorcycle .prov-tabien {
  position: relative;
  top: 0 !important;
  /* ล้างค่าเก่าที่เคยดันไว้ */
  margin: 0;
  width: 100%;
  text-align: center;
}

/* เลขทะเบียนบน-ล่าง */
.card-motorcycle .plate-num {
  font-size: clamp(1.5rem, 5vw, 2.2rem) !important;
  font-weight: 800;
  line-height: 1;
  text-shadow: 1px 1px 0.5px rgb(160, 160, 160);
}

.card-motorcycle .plate-char {
  font-size: clamp(1.7rem, 6vw, 2.5rem) !important;
  text-shadow: 1px 1px 0.5px rgb(160, 160, 160);
}

/* ชื่อจังหวัดกลางป้าย */
.card-motorcycle .prov-tabien {
  font-size: clamp(1rem, 3vw, 1.3rem) !important;
  white-space: nowrap;
  text-shadow: 1px 1px 0.5px rgb(160, 160, 160);
}

.card-motorcycle .single .plate-num {
  font-size: clamp(2.3rem, 5vw, 2.2rem) !important;
  font-weight: 800;
  line-height: 1;
  text-shadow: 1px 1px 0.5px rgb(160, 160, 160);
}

/* ตัวอักษร ขก, กก */
.card-motorcycle .single .plate-char {
  font-size: clamp(2.6rem, 6vw, 2.5rem) !important;
  text-shadow: 1px 1px 0.5px rgb(160, 160, 160);
}

.card-motorcycle .prov-tabien.single.moto-middle {
  font-size: clamp(1.7rem, 3vw, 1.3rem) !important;
  white-space: nowrap;
  text-shadow: 1px 1px 0.5px rgb(160, 160, 160);
}

.card-motorcycle .d-flex.flex-column {
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 10% !important;
  /* justify-content: space-around; จัดวางแบบกระจายน้ำหนักเท่าๆ กัน */
  justify-content: center;
  /* จัดวางแบบกระจายน้ำหนักเท่าๆ กัน */
}

.card-motorcycle.card-tabien-single .d-flex.flex-column {
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 2% !important;
  /* justify-content: space-around; จัดวางแบบกระจายน้ำหนักเท่าๆ กัน */
  justify-content: center;
  /* จัดวางแบบกระจายน้ำหนักเท่าๆ กัน */
}

.input-horoscope {
  width: 100% !important;
  max-width: 380px;
  /* จำกัดความกว้างสูงสุดไว้ที่ 400px ตามที่คุณต้องการ */
}

/* ปรับระยะห่างพิเศษสำหรับ Mobile */
@media (max-width: 468px) {
  .card-motorcycle {
    max-width: 120px;
    /* ย่อขนาดการ์ดลงในมือถือเล็ก */
  }
}

/* ===========================
    DESKTOP ≥ 960px
=========================== */
@media screen and (min-width: 960px) {
  .container-horoscope-detail {
    width: calc(100% - 70%) !important;
    max-width: 300px !important;
    justify-self: center !important;
    margin: 0 auto !important;
  }

  .logo {
    max-width: 100px;
  }

  .logo2 {
    max-width: 100px !important;
  }

  .caption {
    padding: 2rem;
    color: var(--color-yellow-300);
  }

  .img-horoscope {
    max-width: 480px !important;
  }

  .plate-display.single {
    top: 0px !important;
  }

  .plate-display.single .plate-num {
    font-size: 2.8rem;
  }

  .plate-display.single .plate-num .plate-char {
    font-size: 3.2rem;
  }

  .prov-tabien.single {
    font-size: 1.5rem;
    top: 24px !important;
  }

  .card-tabien-how-to {
    width: 180px !important;
    height: 80px !important;
  }

  .card-tabien-how-to .tabien-how-to.plate-display {
    position: relative;
    top: 10px !important;
  }

  .card-tabien-how-to .tabien-how-to.plate-display p {
    font-size: 26px !important;
    font-weight: 700 !important;
  }

  .card-tabien-how-to .tabien-how-to.plate-display span {
    font-size: 32px !important;
    font-weight: 700 !important;
  }

  .card-tabien-how-to span.prov {
    font-size: 14px !important;
    font-weight: 500 !important;
    position: relative;
    top: 10px !important;
  }

  /* .card-motorcycle {
        width: 100%;
        max-width: 160px;
    } */

  /* .plate-display.moto-top {
        top: 10px !important;
    }
    
    .prov-tabien.moto-middle {
        top: 23px !important;
    }
    
    .plate-display.moto-bottom {
        top: 25px !important;
    } */

  /* .plate-display.moto-top {
    top: 10px !important;
}

.prov-tabien.moto-middle {
    top: 23px !important;
}

.plate-display.moto-bottom {
    top: 25px !important;
} */
  .btn-float-menu {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 55px;
    height: 55px;
    border-radius: 50%;
  }

  .button-fixed-mobile img {
    max-width: 100% !important;
  }
}

/* ===========================
   TABLET ≤ 960px
=========================== */
@media only screen and (max-width: 960px) {
  .container-horoscope-detail {
    width: calc(100% - 65%) !important;
    justify-self: center !important;
    margin: 0 auto !important;
  }

  .navbar {
    height: 80px !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
  }

  .logo {
    max-width: 60px !important;
  }

  .logo2 {
    max-width: 90px !important;
  }

  .parallax {
    /* height: 250px !important;
        top: 20px !important; */
    /* height: 450px !important; */
    /* height: 700px !important; */
    height: 750px !important;
    top: 90px !important;
  }

  .caption {
    padding: 3rem !important;
  }

  .caption img {
    max-width: 200px !important;
  }

  .offcanvas {
    /* background: #ddd; */
    background: var(--base-background-gradient);
  }

  .button-fixed-mobile {
    margin: 0.7rem;
    bottom: 55px;
  }

  /* 
    .button-fixed-mobile img {
        max-width: 40px !important;
    } */

  .img-horoscope {
    max-width: 450px !important;
  }

  /* body {
        padding-bottom: 45px;
    } */

  .card-tabien-single {
    width: 90% !important;
    max-width: 280px !important;
    /* ล็อกความกว้างสูงสุดที่เหมาะสมกับมือถือ */
    margin: 0 auto;
    /* จัดกลาง */
    aspect-ratio: 2 / 1;
    /* หรือถ้าอยากระบุความสูงตายตัว */
    height: 140px !important;
    min-height: auto !important;
  }

  .card-tabien-single .card-body {
    /* ปรับ padding ในมือถือให้เล็กลงเพื่อให้เนื้อหาไม่เบียดขอบ */
    padding: 10px !important;
    height: 100% !important;
  }

  .card-tabien-single h1 {
    /* บังคับขนาดตัวเลขทะเบียนในมือถือ */
    font-size: 2.2rem !important;
    margin-bottom: 0 !important;
  }

  .plate-display.single {
    top: 0px !important;
  }

  .plate-display.single .plate-num {
    font-size: 2.4rem;
  }

  .plate-display.single .plate-num .plate-char {
    font-size: 2.9rem;
  }

  .prov-tabien.single {
    font-size: 1.2rem;
    top: 20px !important;
  }

  .card-tabien-how-to {
    width: 180px !important;
    height: 90px !important;
  }

  .card-tabien-how-to .tabien-how-to.plate-display {
    position: relative;
    top: 18px !important;
  }

  .card-tabien-how-to .tabien-how-to.plate-display p {
    font-size: 24px !important;
    font-weight: 700 !important;
  }

  .card-tabien-how-to .tabien-how-to.plate-display span {
    font-size: 28px !important;
    font-weight: 700 !important;
  }

  .card-tabien-how-to span.prov {
    font-size: 14px !important;
    font-weight: 500 !important;
    position: relative;
    top: 22px !important;
  }

  .navbar-brand-text {
    letter-spacing: 8px !important;
    font-size: 26px !important;
    margin-right: 30px;
  }

  .btn-float-menu {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 50px;
    height: 50px;
    border-radius: 50%;
  }

  .button-fixed-mobile img {
    max-width: 100% !important;
  }

  /* .card-motorcycle {
        width: 100%;
        max-width: 160px;
    } */
  .slick-slide {
    padding: 0 5px !important;
  }
}

@media (max-width: 768px) {
  .container-horoscope-detail {
    width: calc(100% - 55%) !important;
    justify-self: center !important;
  }

  .slick-slide {
    padding: 0 3px !important;
  }

  .card-tabien {
    min-height: 90px !important;
  }

  .plate-display {
    top: 16px !important;
  }

  .plate-num {
    font-size: 1.6rem;
  }

  .plate-num .plate-char {
    font-size: 1.8rem;
  }

  .prov-tabien {
    font-size: 0.9rem;
    top: 22px !important;
  }

  .plate-display.single {
    top: 0px !important;
  }

  .plate-display.single .plate-num {
    font-size: 2.2rem;
  }

  .plate-display.single .plate-num .plate-char {
    font-size: 2.5rem;
  }

  .prov-tabien.single {
    font-size: 1.2rem;
    top: 18px !important;
  }

  /* .mobile-contact {
        bottom: -20px !important;
    }

    .mobile-contact img {
        max-width: 200px !important;
    } */
  .card-tabien-how-to {
    width: 180px !important;
    height: 90px !important;
  }

  .card-tabien-how-to .tabien-how-to.plate-display {
    position: relative;
    top: 18px !important;
  }

  .card-tabien-how-to .tabien-how-to.plate-display p {
    font-size: 22px !important;
    font-weight: 700 !important;
  }

  .card-tabien-how-to .tabien-how-to.plate-display span {
    font-size: 26px !important;
    font-weight: 700 !important;
  }

  .card-tabien-how-to span.prov {
    font-size: 14px !important;
    font-weight: 500 !important;
    position: relative;
    top: 25px !important;
  }

  .title-row {
    font-size: 20px !important;
  }

  .title-sub-row {
    font-size: 16px !important;
  }

  .step-content h6 {
    font-size: 14px !important;
    font-weight: 600 !important;
  }

  .step-content span {
    font-size: 14px !important;
  }

  /* .card-motorcycle {
        width: 100%;
        max-width: 160px;
    } */
  .btn-float-menu {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 50px;
    height: 50px;
    border-radius: 50%;
  }

  .button-fixed-mobile img {
    max-width: 100% !important;
  }

  /* .btn-float-menu i {
        font-size: 20px !important;
    } */
  .icon-container-nav-link span {
    font-size: var(--size-text-navbar-sm) !important;
  }
}

/* ===========================
   SMALL MOBILE ≤ 576px
=========================== */
@media (max-width: 576px) {
  .navbar * {
    max-width: 100% !important;
    box-sizing: border-box;
  }

  .logo {
    max-width: 50px !important;
  }

  .logo2 {
    /* height: 100px !important; */
    max-width: 90px !important;
  }

  .img-blogs {
    width: 100px !important;
    height: 80px !important;
  }

  .button-fixed-mobile {
    margin: 0.7rem;
    bottom: 55px;
  }

  .button-fixed-mobile img {
    max-width: 40px !important;
  }

  .card-tabien {
    min-height: 90px !important;
  }

  /* body {
        padding-bottom: 45px;
    } */

  .card-tabien-single {
    width: 90% !important;
    max-width: 280px !important;
    /* ล็อกความกว้างสูงสุดที่เหมาะสมกับมือถือ */
    margin: 0 auto;
    /* จัดกลาง */
    aspect-ratio: 2 / 1;
    /* หรือถ้าอยากระบุความสูงตายตัว */
    height: 140px !important;
    min-height: auto !important;
  }

  .card-tabien-single .card-body {
    /* ปรับ padding ในมือถือให้เล็กลงเพื่อให้เนื้อหาไม่เบียดขอบ */
    padding: 10px !important;
    height: 100% !important;
  }

  .card-tabien-single h1 {
    /* บังคับขนาดตัวเลขทะเบียนในมือถือ */
    font-size: 2.2rem !important;
    margin-bottom: 0 !important;
  }

  .title-row {
    font-size: 20px !important;
  }

  .title-sub-row {
    font-size: 16px !important;
  }

  .navbar-brand-text {
    letter-spacing: 3px !important;
    font-size: 16px !important;
    margin-right: 20px;
  }

  .icon-down {
    display: none !important;
  }

  /* .card-motorcycle {
        width: 100%;
        max-width: 160px;
    } */
  .button-fixed-mobile {
    bottom: 100px;
  }

  .btn-float-menu {
    width: 50px;
    height: 50px;
    border-radius: 50%;
  }
}

/* ===========================
   MOBILE ≤ 468px
=========================== */
@media only screen and (max-width: 468px) {
  .container-horoscope-detail {
    width: calc(100% - 40%) !important;
    justify-self: center !important;
  }

  .navbar {
    height: 80px !important;
  }

  .logo {
    max-width: 50px !important;
  }

  .logo2 {
    height: 100%;
    max-width: 90px !important;
  }

  .parallax {
    /* height: 220px !important;
        top: 30px !important; */
    /* height: 420px !important; */
    /* 14-03-2026 */
    /* height: 650px !important; */
    height: 760px !important;
    top: 80px !important;
  }

  body {
    margin-bottom: 30px !important;
  }

  /* .mobile-contact {
        bottom: -32px !important;
    } */

  .caption {
    padding: 1rem !important;
  }

  .img-blogs {
    width: 100px !important;
    height: 80px !important;
  }

  .button-fixed-mobile {
    margin: 0.7rem;
  }

  .button-fixed-mobile img {
    max-width: 40px !important;
  }

  .button-fixed-mobile {
    bottom: 55px;
  }

  .card-tabien {
    /* ใส่ค่าใหม่เข้าไปเพื่อทับ 100px ของเดิม */
    min-height: 60px !important;
  }

  .plate-display {
    top: 8px !important;
  }

  .plate-num.spacial_text_size {
    font-size: 1rem;
  }

  .plate-num.spacial_text_size .plate-char {
    font-size: 1.2rem;
  }

  .plate-num {
    font-size: 1.2rem;
  }

  .plate-num .plate-char {
    font-size: 1.4rem;
  }

  .prov-tabien {
    font-size: 0.6rem;
    top: 10px !important;
  }

  .plate-display.single {
    top: 0px !important;
  }

  .plate-display.single .plate-num {
    font-size: 2.2rem;
  }

  .plate-display.single .plate-num .plate-char {
    font-size: 2.5rem;
  }

  .prov-tabien.single {
    font-size: 1.2rem;
    top: 18px !important;
  }

  .card-tabien .stars {
    font-size: 8px !important;
  }

  .card-tabien .type-sale {
    font-size: 8px !important;
  }

  .card-tabien-price h5 {
    font-size: 16px !important;
    font-weight: 600 !important;
  }

  .badge-tabien.score {
    font-size: 7px !important;
    padding: 0rem 0rem !important;
    width: 12px !important;
    height: 12px !important;
  }

  .slick-slide {
    padding: 0 2px !important;
  }

  .parallax-search-page {
    /* height: 400px !important; */
    /* height: 650px !important; */
    height: 710px !important;
  }

  .card-phone {
    padding: 2px;
  }

  .card-phone::after {
    inset: 6px !important;
    border-radius: 18px !important;
  }

  .card-phone h6 {
    font-size: 14px !important;
  }

  .card-phone .card-body {
    margin: 10px 10px 4px 10px !important;
  }

  .card-phone img {
    height: 10px !important;
  }

  .card-phone .badge-phone {
    width: 18px !important;
    height: 18px !important;
    font-size: 8px !important;
  }

  .card-tabien-how-to {
    width: 140px !important;
    height: 75px !important;
  }

  .card-tabien-how-to .tabien-how-to.plate-display {
    position: relative;
    top: 14px !important;
  }

  .card-tabien-how-to .tabien-how-to.plate-display p {
    font-size: 20px !important;
    font-weight: 700 !important;
  }

  .card-tabien-how-to .tabien-how-to.plate-display span {
    font-size: 24px !important;
    font-weight: 700 !important;
  }

  .card-tabien-how-to span.prov {
    font-size: 14px !important;
    font-weight: 500 !important;
    position: relative;
    top: 15px !important;
  }

  .title-row {
    font-size: 20px !important;
  }

  .title-sub-row {
    font-size: 16px !important;
  }

  .navbar-brand-text {
    letter-spacing: 1.5px !important;
    font-size: 16px !important;
    margin-right: 20px;
  }

  .icon-right {
    display: block !important;
  }

  .icon-down {
    display: none !important;
  }

  .btn-float-menu {
    width: 40px;
    height: 40px;
    border-radius: 50%;
  }

  .input-horoscope {
    width: 100% !important;
    max-width: 300px;
    /* จำกัดความกว้างสูงสุดไว้ที่ 400px ตามที่คุณต้องการ */
  }

  /* .card-motorcycle {
        width: 100%;
        max-width: 160px;
    }

    .plate-display.moto-top {
        top: 10px !important;
    }

    .prov-tabien.moto-middle {
        top: 14px !important;
    }

    .plate-display.moto-bottom {
        top: 18px !important;
    } */
}

/* ===========================
   MOBILE ≤ 440px
=========================== */
@media only screen and (max-width: 355px) {
  .btn-float-menu {
    width: 40px;
    height: 40px;
    border-radius: 50%;
  }

  .col-custom-grid {
    flex: 0 0 auto;
    width: 50% !important;
    /* แสดง 2 คอลัมน์ */
  }

  .navbar-brand-text {
    display: none !important;
  }

  .navbar {
    height: 80px !important;
  }

  .logo {
    max-width: 50px !important;
  }

  .logo2 {
    height: 100%;
    max-width: 90px !important;
  }

  .parallax {
    /* height: 220px !important;
        top: 30px !important; */
    /* height: 420px !important; */
    /* 14-03-2026 */
    /* height: 650px !important; */
    height: 780px !important;
    top: 80px !important;
  }

  body {
    margin-bottom: 30px !important;
  }

  /* .mobile-contact {
        bottom: -32px !important;
    } */

  .caption {
    padding: 1rem !important;
  }

  .img-blogs {
    width: 100px !important;
    height: 80px !important;
  }

  .button-fixed-mobile {
    margin: 0.7rem;
  }

  .button-fixed-mobile img {
    max-width: 40px !important;
  }

  .button-fixed-mobile {
    bottom: 55px;
  }

  .card-tabien {
    /* ใส่ค่าใหม่เข้าไปเพื่อทับ 100px ของเดิม */
    min-height: 80px !important;
  }

  .plate-display {
    top: 12px !important;
  }

  .plate-num.spacial_text_size {
    font-size: 1.2rem;
  }

  .plate-num.spacial_text_size .plate-char {
    font-size: 1.4rem;
  }

  .plate-num {
    font-size: 1.2rem;
  }

  .plate-num .plate-char {
    font-size: 1.4rem;
  }

  .prov-tabien {
    font-size: 0.8rem;
    top: 17px !important;
  }

  .plate-display.single {
    top: 0px !important;
  }

  .plate-display.single .plate-num {
    font-size: 2.2rem;
  }

  .plate-display.single .plate-num .plate-char {
    font-size: 2.5rem;
  }

  .prov-tabien.single {
    font-size: 1.2rem;
    top: 18px !important;
  }

  .card-tabien .stars {
    font-size: 8px !important;
  }

  .card-tabien .type-sale {
    font-size: 8px !important;
  }

  .card-tabien-price h5 {
    font-size: 16px !important;
    font-weight: 600 !important;
  }

  .badge-tabien.score {
    font-size: 7px !important;
    padding: 0rem 0rem !important;
    width: 12px !important;
    height: 12px !important;
  }

  .slick-slide {
    padding: 0 2px !important;
  }

  .parallax-search-page {
    /* height: 400px !important; */
    /* height: 650px !important; */
    height: 720px !important;
  }

  .card-phone {
    padding: 2px;
  }

  .card-phone::after {
    inset: 6px !important;
    border-radius: 18px !important;
  }

  .card-phone h6 {
    font-size: 14px !important;
  }

  .card-phone .card-body {
    margin: 10px 10px 4px 10px !important;
  }

  .card-phone img {
    height: 10px !important;
  }

  .card-phone .badge-phone {
    width: 18px !important;
    height: 18px !important;
    font-size: 8px !important;
  }

  .card-tabien-how-to {
    width: 140px;
    height: 90px;
  }

  .card-tabien-how-to .tabien-how-to.plate-display {
    position: relative;
    top: 12px !important;
  }

  .card-tabien-how-to .tabien-how-to.plate-display p {
    font-size: 24px !important;
    font-weight: 700 !important;
  }

  .card-tabien-how-to .tabien-how-to.plate-display span {
    font-size: 28px !important;
    font-weight: 700 !important;
  }

  .card-tabien-how-to span.prov {
    font-size: 14px !important;
    font-weight: 500 !important;
    position: relative;
    top: 14px !important;
  }

  .title-row {
    font-size: 20px !important;
  }

  .title-sub-row {
    font-size: 16px !important;
  }

  .container-title-sub-row {
    flex-direction: column !important;
  }

  .icon-right {
    display: none !important;
  }

  .icon-down {
    display: block !important;
  }

  .input-horoscope {
    width: 100% !important;
    max-width: 260px;
    /* จำกัดความกว้างสูงสุดไว้ที่ 400px ตามที่คุณต้องการ */
  }

  /* .card-motorcycle {
        width: 100%;
        max-width: 160px;
    }

    .card-tabien-single.card-motorcycle .plate-display.single.moto-top{
        top: -15px !important;
    }
    .card-tabien-single.card-motorcycle .plate-display.single.moto-bottom{
        top: 15px !important;
    }
    .card-tabien-single.card-motorcycle .prov-tabien.single{
        top: 0 !important;
    }
    .plate-display.moto-top {
        top: 10px !important;
    }

    .plate-display.moto-middle {
        top: 25px !important;
    }

    .plate-display.moto-bottom {
        top: 25px !important;
    } */
}

/* Container หลัก */
.horoscope-wrap {
  position: relative;
  display: inline-block;
  overflow: hidden;
  width: 100%;
  max-width: 450px;
  margin: 0 auto;
  justify-items: center;
}

/* รูปภาพพื้นหลัง */
.img-horoscope {
  display: block;
  width: 100%;
  height: auto;
}

/* ส่วนเนื้อหาที่ซ้อนทับ */
.horoscope-wrap .detail {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  width: 90%;
  z-index: 2;
  color: #000;
}

.horoscope-wrap .detail h3 {
  font-size: clamp(1.2rem, 4vw, 1.6rem);
  margin: 0.2em 0;
}

.horoscope-wrap .detail .num-plate,
.horoscope-wrap .detail h1 {
  font-size: clamp(1rem, 5.5vw, 2rem) !important;
  margin: 0.1em 0;
  line-height: 1.2;
}

.horoscope-wrap .detail i {
  font-size: clamp(1rem, 5vw, 1.8rem) !important;
}

.horoscope-wrap .detail h4 {
  font-size: clamp(1rem, 4vw, 1.4rem) !important;
}

.horoscope-wrap .detail .char-plate {
  font-size: clamp(1.2rem, 7vw, 2.4rem) !important;
}

.horoscope-wrap .detail h5 {
  font-size: clamp(0.8rem, 3vw, 1.2rem) !important;
  font-weight: normal;
}

.container-horoscope-detail {
  width: calc(100% - 40%);
  justify-self: center !important;
}

#menu-mobile {
  padding: 0 !important;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 1050;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.15);
  padding: 0.5rem 0;
  background-color: var(--base-color-1);
  /* เพิ่มถ้าต้องการสีพื้นหลัง */
}

#menu-mobile ul.footer-gold-border-top {
  position: relative;
  padding-top: 10px;
  /* เผื่อพื้นที่สำหรับขอบ */
}

#menu-mobile ul.footer-gold-border-top::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 3px !important;
  width: 100%;
  background: linear-gradient(90deg,
      rgba(255, 230, 133, 1) 0%,
      rgba(236, 189, 46, 1) 100%);
}

.gap-4-5 {
  gap: 2rem !important;
}

.card-tabien {
  font-family: var(--font-family-1) !important;
  background-image: url("../../src/bg/tabien-background.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
  position: relative;
  cursor: pointer;
  transition:
    scale 0.4s,
    filter 0.4s,
    opacity 0.4s;
}

/* การ์ดถูก hover → ย่อ */
.card-tabien:hover {
  scale: 1.05;
}

/* เมื่อมีการ hover การ์ดใดการ์ดหนึ่ง */
.product-wrapper:has(.card-tabien:hover) .col-tabien:not(:has(.card-tabien:hover)) {
  /* filter: blur(2px); */
  /* opacity: 0.4; */
  /* transform: scale(0.98); */
  transition:
    filter 0.4s,
    opacity 0.4s,
    transform 0.4s;
}

/* .product-wrapper:has(.card-tabien:hover) .card-tabien:not(:hover) {
    filter: blur(2px);
    opacity: 0.6;
    scale: 0.98 !important; */
/* คงขนาด */
/* transition: filter 0.5s, opacity 0.5s; */
/* transition: filter 0.8s, opacity 0.8s; */
/* transition: opacity 0.8s; */
/* } */

#group-menu.sticky {
  position: fixed;
  top: 62px;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  /* บังคับให้เต็มหน้าจอ */
  padding: 1rem 4rem;
  background: #fff;
  z-index: 1000;
  box-shadow: 0px 4px 8px -2px rgba(0, 0, 0, 0.2);
}

.text-blue-3 {
  color: #274696 !important;
}

.bg-blue {
  background-color: #000000;
  color: #fff;
}

.badge-tabien {
  text-transform: uppercase;
  font-size: 10px;
  color: #fff;
  font-weight: bold;
  background-color: #cd2424;
  padding: 0rem 0.5rem;
  margin: 0.2rem;
  border-radius: 5px;
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
}

.badge-tabien.score {
  background-color: #cd2424;
  padding: 0.1rem 0.2rem;
  font-size: 10px;
  width: 18px;
  height: 18px;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
}

.stars {
  color: rgb(255, 201, 99);
  /* box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2); */

  /* font-size: 1.2rem; */
}

/* how to register */
.step-number {
  padding: 0.5rem 1rem;
  font-size: 1.2rem;
  font-weight: bold;
  color: #000;
  background-color: rgb(255, 209, 69);
  border-radius: 50%;
}

.img-icon {
  width: 80px;
}

.title-how-to {
  font-weight: 700;
  margin-bottom: 0rem;
}

/* how to register */

/* blogs */
.img-blogs {
  /* width: 30%; */
  /* height: auto;
    border-radius: 10px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); */
  width: 100% !important;
  max-width: 200px !important;
  height: 120px !important;
  /* ความสูงคงที่ */
  object-fit: cover;
  /* ครอปให้เต็ม */
  object-position: center;
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

/* เมื่อ hover card ใด card หนึ่ง */
.container-blogs:has(.blog-card:hover) .blog-card {
  /* filter: blur(1.5px); */
  opacity: 0.7;
  transform: scale(0.99);
  transition: all 0.3s ease;
}

/* card ที่ hover = ชัด */
.container-blogs:has(.blog-card:hover) .blog-card:hover {
  filter: none;
  opacity: 1;
  transform: scale(1);
}

.link-blogs {
  width: 100%;
  margin-right: 1rem;
  transition: 0.2s ease-in-out;
}

.text-truncate-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.link-blogs img {
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.link-blogs:hover img {
  transform: scale(1.05);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.25);
}

.blog-card {
  border-radius: 14px;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

/* .blog-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, .15);
} */

.blog-thumb img {
  object-fit: cover;
  border-radius: 14px;
}

/* จำกัดจำนวนบรรทัด */
.text-truncate-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* blogs */

/* faqs */
.accordion-button:not(.collapsed) {
  background-color: #f2f2f2 !important;
  font-weight: 600 !important;
  /* color: #fff !important; */
}

/* faqs */

.owl-carousel .owl-stage {
  display: flex;
}

.owl-carousel .owl-item {
  display: flex;
  justify-content: center;
}

.owl-carousel .item {
  display: flex;
  height: 100%;
}

/* คอนเทนเนอร์หลักเพื่อให้ขอบมนดูเนียน */
.glass-group {
  border-radius: 25px;
  overflow: hidden;
  /* ช่วยให้ส่วนโค้งของปุ่มกับ input ตัดกันพอดี */
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* สไตล์สำหรับปุ่มด้านหน้า */
.glass-btn {
  background: rgba(255, 255, 255, 0.2) !important;
  /* border: 1px solid rgba(255, 255, 255, 0.2) !important; */
  /* border-right: none; เอาขอบขวาออกเพื่อเชื่อมกับ input */
  border-top-left-radius: 25px;
  border-bottom-left-radius: 25px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  transition: all 0.3s ease;
}

.glass-btn:hover {
  background: rgba(255, 255, 255, 0.3);
}

/* สไตล์สำหรับช่อง Input */
.glass-input-search {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-left: none !important;
  color: #ffffff !important;
  border-top-right-radius: 25px !important;
  border-bottom-right-radius: 25px !important;
  box-shadow: none !important;
  /* ลบเงาเริ่มต้นของ Bootstrap */
}

.glass-input {
  background: rgba(255, 255, 255, 0.25) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  border-left: none !important;
  color: #ffffff !important;
  border-top-right-radius: 15px !important;
  border-bottom-right-radius: 15px !important;
  border-top-left-radius: 15px !important;
  border-bottom-left-radius: 15px !important;
  box-shadow: none !important;
  /* ลบเงาเริ่มต้นของ Bootstrap */
}

/* เมื่อคลิกที่ช่อง Input ให้สีของปุ่มเปลี่ยนตามด้วย (Optional) */
/* .glass-group:focus-within .glass-btn {
    background: rgba(255, 255, 255, 0.25);
    border-color: rgba(255, 255, 255, 0.4);
} */

/* .glass-input:focus {
    background: rgba(255, 255, 255, 0.25) !important;
    border-color: rgba(255, 255, 255, 0.4) !important;
} */

/* ปรับสี Placeholder */
.glass-input-search::placeholder {
  color: rgba(212, 212, 212, 0.759) !important;
}

.glass-input::placeholder {
  color: rgba(212, 212, 212, 0.9) !important;
}

.glass-select {
  background: rgba(255, 255, 255, 0.25) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #ffffff !important;
  border-radius: 15px !important;
  padding: 10px 15px;
  cursor: pointer;
  transition: all 0.3s ease;

  /* เปลี่ยนสีไอคอนลูกศรให้เป็นสีขาว (สำหรับ Bootstrap 5) */
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.75rem center !important;
  background-size: 16px 12px !important;
}

.glass-select:focus {
  background: rgba(255, 255, 255, 0.35) !important;
  border-color: rgba(255, 255, 255, 0.5) !important;
  box-shadow: 0 0 0 0.25rem rgba(255, 255, 255, 0.1) !important;
  outline: none;
}

/* ปรับสีของ Option ภายใน (จำกัดได้เฉพาะบางเบราว์เซอร์) */
.glass-select option {
  background: #2b2b2b;
  /* ต้องใช้สีทึบเพราะ Dropdown ปกติทำ Glass ไม่ได้ */
  color: #ffffff;
}

.bg-red-100 {
  background-color: #ff0000 !important;
}

.bg-red-500 {
  background-color: #a90011 !important;
}

.bg-red-gradient {
  background: #a90011;
  background: radial-gradient(circle,
      rgba(169, 0, 17, 1) 0%,
      rgba(171, 39, 52, 1) 50%,
      rgba(91, 0, 13, 1) 100%);
}

.bg-gold-100 {
  background-color: #edcc78 !important;
}

.bg-gold-200 {
  background-color: #d4b66b !important;
}

.bg-gold-300 {
  background-color: #b39d5b !important;
}

.bg-gold-light {
  background-color: #ebca7cb4 !important;
  border-radius: 15px !important;
}

.bg-light-2 {
  background-color: rgba(255, 255, 255, 0.45) !important;
  border-radius: 15px !important;
}

.btn-gold {
  background-color: #edcc78 !important;
  color: #fff !important;
  border-radius: 10px !important;
  padding: 0.3rem 1rem !important;
  /* border: 4px solid #d4b66b !important; */
  /* display: inline-block !important; */
  /* text-align: center !important; */
}

.btn-gold:hover {
  background-color: #d4b66b !important;
}

.btn-light-2 {
  background-color: rgba(255, 255, 255, 0.75) !important;
  color: #1d1d1d !important;
  border-radius: 10px !important;
  padding: 0.3rem 1rem !important;
  /* border: 4px solid #d4b66b !important; */
  /* display: inline-block !important; */
  /* text-align: center !important; */
}

.btn-light-2:hover {
  background-color: rgba(255, 255, 255, 0.55) !important;
}

/* บังคับให้การ์ดกว้าง 100% ของช่อง Owl Item */
.owl-carousel-product-promotion .item {
  width: 100%;
}

.owl-carousel-product-promotion .card-tabien {
  width: 100% !important;
  margin: 0;
  /* ป้องกัน margin บีบตัวการ์ด */
}

/* ตั้งค่าพื้นหลังทะเบียนให้กว้างเต็ม */
.card-tabien {
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

.fs-7 {
  font-size: 14px !important;
}

.fs-8 {
  font-size: 12px !important;
}

.container-social img {
  max-width: 80px;
}

.owl-carousel-product-promotion .item {
  width: auto;
}

.owl-carousel-product-promotion .card-tabien {
  min-width: 200px;
  /* กันเล็กเกิน */
  width: fit-content;
  /* ⭐ ตาม content */
}

.other-page {
  /* margin-top: 6rem; */
  margin-top: 5.5rem;
}

.card-register img {
  width: 100% !important;
  max-width: 400px !important;
  height: 200px !important;
  /* ความสูงคงที่ */
  object-fit: cover;
  /* ครอปให้เต็ม */
  object-position: start;
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

.card-register .number {
  width: 25px;
  height: 25px;
  border-radius: 50px;
  background-color: #d4b66b;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}

.card-register .icon {
  position: absolute;
  width: 35px;
  height: 35px;
  bottom: 35px;
  left: 12px;
  font-size: 40px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.4);
  border-radius: 50%;
  padding: 15px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.color-khaba {
  color: #015f1f !important;
}

.color-rodthu {
  color: #05378f !important;
}

.border-khaba {
  border-color: #015f1f !important;
}

.border-rodthu {
  border-color: #05378f !important;
}

/* ============================= */
/* Container */
/* ============================= */
.days-wrapper {
  display: flex;
  flex-wrap: wrap;
}

/* ============================= */
/* Item Responsive */
/* ============================= */
.day-item {
  padding: 6px;
  flex: 0 0 50%;
  /* มือถือ = 2 ต่อแถว */
}

/* ≥768px */
@media (min-width: 768px) {
  .day-item {
    flex: 0 0 25%;
    /* 4 ต่อแถว */
  }
}

/* ≥992px (Desktop 8 ต่อแถว) */
@media (min-width: 992px) {
  .day-item {
    flex: 0 0 12.5%;
    /* 8 ต่อแถว */
  }
}

/* ============================= */
/* Card Style */
/* ============================= */
.day-item .card {
  width: 100%;
  height: 100px;
  border-radius: 14px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #fff !important;
  /* box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15); */
  transition: all 0.25s ease;
}

.day-item .card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}

/* ============================= */
/* สีประจำวัน (Gradient) */
/* ============================= */

/* Sunday */
.day-sun .card {
  background: linear-gradient(135deg, #fd022a, #b0081d);
  color: #fff;
}

/* Monday */
.day-mon .card {
  background: linear-gradient(135deg, #eee75a, #e8a600);
  color: #fff;
}

/* Tuesday */
.day-tue .card {
  background: linear-gradient(135deg, #ffa79d, #f834a3);
  color: #fff;
}

/* Wednesday (กลางวัน) */
.day-wed-day .card {
  background: linear-gradient(135deg, #90a908, #098d19);
  color: #fff;
}

/* Wednesday (กลางคืน) */
.day-wed-night .card {
  background: linear-gradient(135deg, #007f20, #005837);
  color: #fff;
}

/* Thursday */
.day-thu .card {
  background: linear-gradient(135deg, #ffd100, #ff4f00);
  color: #fff;
}

/* Friday */
.day-fri .card {
  background: linear-gradient(135deg, #b8e1fb, #2f88eb);
  color: #fff;
}

/* Saturday */
.day-sat .card {
  background: linear-gradient(135deg, #d115de, #6e1b8d);
  color: #fff;
}

/* ============================= */
/* Card Phone Premium Plate */
/* ============================= */

.card-phone {
  border-radius: 22px;
  padding: 3px;
  /* background: linear-gradient(145deg, #d4af37, #f6e27a, #c9a227); */
  /* background: linear-gradient(145deg, #d4af37, #ffe3a8, #cdae6a); */
  background: linear-gradient(90deg,
      #ebca7c 0%,
      /* ทองอ่อน */
      #fff5cb 20%,
      /* ทองสว่างเกือบขาว */
      #ffebad 40%,
      /* นวลๆ */
      #ebca7c 60%,
      /* ทองอ่อน */
      #d4af37 80%,
      /* ครีมทอง */
      #fff5cb 100%
      /* จบที่สว่าง */
    );
  /* box-shadow: 0 8px 20px rgba(0,0,0,0.25); */
  /* border: 6px solid #c9a227; */
  position: relative;
}

/* ชั้นใน (พื้นขาวล่าง) */
.card-phone::after {
  content: "";
  position: absolute;
  inset: 7px;
  border-radius: 16px;
  background: #f8f8f8;
  z-index: 0;
}

/* ทำให้ content อยู่บน pseudo element */
.card-phone>* {
  position: relative;
  z-index: 2;
}

/* ============================= */
/* พื้นทองเฉพาะส่วนบน */
/* ============================= */

.card-phone .card-body {
  /* background: linear-gradient(135deg, #f5d27a, #caa23a); */
  background: linear-gradient(135deg, #ffe3a8, #cdae6a);
  border-radius: 12px;
  padding: 8px 12px;
  box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.15);
  margin: 12px;
}

/* ============================= */
/* เบอร์โทร */
/* ============================= */

/* ขนาดตัวเลขอิงความกว้างของกล่องเบอร์ (cqi) ไม่ใช่ความกว้างจอ
   "081-234-5678" กว้างราว 6.5em -- 14.5cqi จึงพอดีกล่องทุกขนาดจอ ไม่ตัดบรรทัด */
.card-phone .card-body {
  container-type: inline-size;
}

.card-phone h4 {
  font-size: 16px;
  font-size: clamp(12px, 14.5cqi, 26px);
  letter-spacing: 0.02em;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  color: #111;
}

/* ============================= */
/* ราคา */
/* ============================= */

.col-phone h6 {
  font-size: 20px;
  font-weight: 700;
}

/* ============================= */
/* Badge คะแนน */
/* ============================= */

.badge-phone {
  width: 22px;
  height: 22px;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 10px;
  font-weight: bold;
  color: #fff;

  background: #cd2424;
  border-radius: 50%;
}

.text-red {
  color: #cd2424;
}

.image-box {
  height: 450px;
  overflow: hidden;
}

.image-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right;
  /* width: 100%;
    height: auto;
    object-fit: contain; */
  aspect-ratio: auto;
  /* display: block;
    transition: transform .4s ease; */
}

@media (min-width: 485px) and (max-width: 575.98px) {
  .product-wrapper>.col-tabien {
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
  }
}

#preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #ffffff;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  transition: opacity 0.5s ease;
}

.loader {
  width: 50px;
  height: 50px;
  border: 5px solid #f3f3f3;
  border-top: 5px solid #ebca7c;
  /* สีเดียวกับ Brand คุณ */
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/* คลาสสำหรับซ่อนเมื่อโหลดเสร็จ */
.preloader-hide {
  opacity: 0;
  pointer-events: none;
}

/* Stepper */
.stepper-vertical {
  position: relative;
}

/* STEP ROW */

/* LINE */

/* remove last line */
.step:last-child .step-line::before {
  display: none;
}

/* ICON */
.step-icon {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #d4b66b;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  z-index: 1;
}

/* CONTENT */

/* STATES */
.step.active .step-icon {
  background: #0d6efd;
  color: #fff;
}

.step.completed .step-icon {
  background: #198754;
  color: #fff;
}

.step.completed .step-icon::after {
  content: "✓";
}

/* HOVER UX */
.step:hover .step-image img {
  transform: scale(1.05);
}

.step-image img {
  transition: all 0.3s ease;
}

@media (max-width: 992px) {
  .step {
    display: grid;
    grid-template-columns: 240px 40px 1fr;
    align-items: flex-start;
    margin-bottom: 30px;
  }

  .step-image {
    width: 220px;
    margin-right: 10px;
  }

  .step-image img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    border-radius: 10px;
  }

  .step-line {
    right: -20px;
    top: 95px;
    position: relative;
    display: flex;
    justify-content: center;
  }

  /* vertical line */
  .step-line::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: -250px;
    width: 2px;
    background: #d4b66b;
    z-index: 0;
  }

  .step-content {
    right: -20px;
    position: relative;
    top: 95px;
    padding-left: 15px;
    padding-right: 15px;
  }
}

@media (max-width: 768px) {
  .step {
    display: grid;
    grid-template-columns: 180px 40px 1fr;
    align-items: flex-start;
    margin-bottom: 30px;
  }

  .step-image {
    width: 160px;
    margin-right: 10px;
  }

  .step-image img {
    width: 100%;
    height: 160px;
    object-fit: cover;
    border-radius: 10px;
  }

  .step-line {
    right: -20px;
    top: 60px;
    position: relative;
    display: flex;
    justify-content: center;
  }

  /* vertical line */
  .step-line::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: -180px;
    width: 2px;
    background: #d4b66b;
    z-index: 0;
  }

  .step-content {
    right: -20px;
    position: relative;
    top: 60px;
    padding-left: 15px;
    padding-right: 15px;
  }
}

@media (max-width: 375px) {
  .step {
    display: grid;
    grid-template-columns: 120px 40px 1fr;
    align-items: flex-start;
    margin-bottom: 30px;
  }

  /* IMAGE */
  .step-image {
    width: 120px;
    margin-right: 10px;
  }

  .step-image img {
    width: 100%;
    height: 120px;
    object-fit: cover;
    border-radius: 10px;
  }

  .step-line {
    right: -20px;
    top: 45px;
    position: relative;
    display: flex;
    justify-content: center;
  }

  /* vertical line */
  .step-line::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: -150px;
    width: 2px;
    background: #d4b66b;
    z-index: 0;
  }

  .step-content {
    right: -20px;
    position: relative;
    top: 45px;
    padding-left: 15px;
    padding-right: 15px;
  }
}

.product-detail-list .list-group-item {
  border-color: rgba(0, 0, 0, 0.05);
  padding: 0.5rem 0;
}

.product-detail-list .label-text {
  font-weight: 500;
  color: #6c757d;
  min-width: 120px;
}

.product-detail-list .value-text {
  font-weight: 600;
  color: #2d3436;
  text-align: right;
}

.badge-soft-primary {
  background-color: rgb(253, 246, 227);
  border: 1px solid rgb(255, 231, 167);
  font-weight: 500;
  padding: 0.4em 0.8em;
  transition: all 0.3s ease;
}

.badge-soft-primary a {
  color: rgb(220, 184, 40);
  font-size: 1.15em !important;
  text-decoration: none;
}

.badge-soft-primary:hover {
  text-decoration: underline;
  transform: scale(1.03);
}

.img-reviews {
  width: 180px !important;
  height: 180px !important;
  object-fit: cover;
  object-position: center;
  border-radius: 20%;
  margin: 0 auto;
  display: block;
}

.cookie-banner {
  position: fixed;
  bottom: 20px;
  left: 20px;
  right: 20px;
  max-width: 450px;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(212, 175, 55, 0.3);
  /* สีทองอ่อนๆ */
  border-radius: 15px;
  padding: 20px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  z-index: 9999;
  display: none;
  /* ซ่อนไว้ก่อน */
  font-family: "Sarabun", sans-serif;
}

.cookie-content h5 {
  color: #d4af37;
  margin-bottom: 10px;
  font-weight: bold;
}

.cookie-content p {
  font-size: 0.9rem;
  color: #555;
  line-height: 1.5;
}

.cookie-buttons {
  display: flex;
  gap: 10px;
  margin-top: 15px;
}

.btn-accept {
  background: #d4af37;
  color: white;
  border: none;
  padding: 8px 20px;
  border-radius: 5px;
  cursor: pointer;
  transition: 0.3s;
}

.btn-accept:hover {
  background: #b8952e;
}

.btn-reject {
  background: transparent;
  border: 1px solid #ccc;
  color: #777;
  padding: 8px 20px;
  border-radius: 5px;
  cursor: pointer;
}

/* ==========================================================================
   PLATE AUTO-FIT — แก้ปัญหาเลขทะเบียนตกลงบรรทัดที่ 2 บนมือถือ
   ========================================================================== */

.card-tabien,
.card-motorcycle {
  /* ทำให้การ์ดเป็น "หน่วยอ้างอิงขนาด" ให้ลูก ๆ ใช้ cqw ได้ */
  container-type: inline-size;
}

:root {
  /* % ของความกว้างการ์ด — เพิ่มค่า = ตัวใหญ่ขึ้น (แต่เสี่ยงชนขอบ) */
  --plate-fs: 19cqw;
  --plate-fs-max: 1.7rem;
  --prov-fs: 10cqw;
  --prov-fs-max: 1rem;
}

/* กล่องบรรทัดทะเบียน: ยืดเต็มการ์ดและยุบตัวได้ */
.card-tabien .plate-display:not(.single) {
  width: 100%;
  min-width: 0;
  /* กันข้อความยาวผิดปกติดันขอบการ์ด (คลิปเฉพาะแนวนอน ตัวอักษรที่ยืดสูงยังไม่โดนตัด) */
  overflow-x: clip;
  overflow-y: visible;
}

/* เลขทะเบียน
   --pw = ความกว้างข้อความโดยประมาณ (หน่วย em) ที่ PHP คำนวณส่งมาให้ทีละใบ
          ดู plate_text_width() ใน config/plate_view.php
   4.43 = ความกว้างของป้ายปกติที่ยาวที่สุด "5กก 9999" ใช้เป็นฐาน

   ป้ายที่กว้างไม่เกินฐาน -> ได้ 19cqw เท่ากันหมด (เหมือนเดิมทุกประการ)
   ป้ายที่กว้างกว่าฐาน   -> ย่อลงตามสัดส่วน "เท่าที่จำเป็นของใบนั้น" เท่านั้น

   เดิมใช้คลาส .spacial_text_size ย่อทั้งหมวดเท่ากันหมดที่ 11cqw ซึ่งคิดจาก
   ใบที่ยาวที่สุด ทำให้ใบสั้นอย่าง "เฮง 1" เล็กเกินความจำเป็นถึง 42% */
.card-tabien .plate-display:not(.single) .plate-num {
  font-size: clamp(
    0.6rem,
    min(var(--plate-fs), var(--plate-fs) * 4.43 / var(--pw, 4.43)),
    var(--plate-fs-max)
  );
  white-space: nowrap;
  max-width: 100%;
}

/* ตัวอักษรหมวด: ผูกกับขนาดเลขเสมอ (em) จึงไม่ต้องตั้งแยกทุก breakpoint อีก */
.card-tabien .plate-display:not(.single) .plate-num .plate-char {
  font-size: 1.15em;
}

/* ชื่อจังหวัด (เช่น กรุงเทพมหานคร ก็ไม่ตกบรรทัด) */
.card-tabien .prov-tabien:not(.single) {
  font-size: clamp(0.5rem, var(--prov-fs), var(--prov-fs-max));
  white-space: nowrap;
  max-width: 100%;
  overflow-x: clip;
}

/* การ์ดมอเตอร์ไซค์: เดิมอิง vw (ขนาดจอ) ซึ่งไม่ตรงกับความกว้างการ์ดจริง
   เปลี่ยนมาอิงการ์ดเหมือนกัน + ห้ามตัดบรรทัด */
.card-motorcycle .plate-num {
  font-size: clamp(0.9rem, 26cqw, 2.2rem) !important;
  white-space: nowrap;
}

.card-motorcycle .plate-char {
  font-size: 1.15em !important;
}

.card-motorcycle .prov-tabien:not(.single) {
  font-size: clamp(0.5rem, 13cqw, 1.3rem) !important;
  white-space: nowrap;
}

/* เผื่อเบราว์เซอร์เก่าที่ยังไม่รองรับ container query (Safari < 16) —
   ถอยไปใช้ vw ให้ยังพอ responsive ได้ ไม่ค้างที่ค่า min ของ clamp */
@supports not (container-type: inline-size) {
  .card-tabien .plate-display:not(.single) .plate-num {
    font-size: clamp(0.9rem, 5.5vw, 1.7rem);
  }

  .card-tabien .prov-tabien:not(.single) {
    font-size: clamp(0.55rem, 2.9vw, 1rem);
  }
}

/* ==========================================================================
   PLATE AUTO-FIT (.single) — หน้ารายละเอียดสินค้า view-product.php
   --------------------------------------------------------------------------
   หน้านี้มีป้าย 2 จุด: ป้ายใหญ่ในกรอบทะเบียน กับป้ายเล็กหัวการ์ด "เลขทะเบียน"
   เดิมทั้งคู่ถูกล็อกไว้ที่ 2.2rem ตั้งแต่ ≤768px ยันจอเล็กสุด ไม่ลดตามอีกเลย
   ทะเบียนหมวดพิเศษที่หมวดอักษรเป็นคำยาว ๆ จึงตกบรรทัด
   ========================================================================== */

/* ให้กล่องกินเต็มความกว้างที่มี (เดิมเป็น shrink-to-fit จาก align-items-center)
   จำเป็นทั้งเพื่อกันล้น และเพื่อให้สคริปต์วัดความกว้างที่ใช้ได้จริงถูกต้อง */
.plate-display.single {
  width: 100%;
  min-width: 0;
  overflow-x: clip;
  overflow-y: visible;
}

.plate-display.single .plate-num {
  white-space: nowrap;
  max-width: 100%;
}

.prov-tabien.single {
  width: 100%;
  white-space: nowrap;
  overflow-x: clip;
}

/* คอลัมน์หัวการ์ด (view-product.php) — ต้องยุบตัวได้ ไม่งั้นเบียดปุ่มแชร์ */
.plate-head {
  min-width: 0;
}

/* --- ป้ายใหญ่: อิงความกว้างการ์ดจริง (การ์ดเป็น container อยู่แล้ว) ---
   14cqw คำนวณย้อนจากขนาดที่ใช้อยู่ (เดสก์ท็อป 44.8px/348px, มือถือ 35.2px/260px)
   ผลคือเดสก์ท็อปเท่าเดิม แต่ช่วง 768–960px ได้ตัวใหญ่ขึ้นแทนที่จะหล่นเป็นขั้น */
.card-tabien-single .plate-display.single .plate-num {
  font-size: clamp(1rem, 14cqw, 2.8rem);
}

.card-tabien-single .plate-display.single .plate-num .plate-char {
  font-size: 1.15em;
}

.card-tabien-single .prov-tabien.single {
  font-size: clamp(0.6rem, 7cqw, 1.5rem);
}

/* --- ป้ายมอเตอร์ไซค์ (หน้ารายละเอียด) ---
   ของเดิมเขียน clamp(2.3rem, 5vw, 2.2rem) ซึ่ง min > max ทำให้ค่าค้างที่ min
   ตลอด ไม่ responsive จริง — เปลี่ยนมาอิงความกว้างการ์ดให้ถูกต้อง */
.card-tabien-single.card-motorcycle .plate-num {
  font-size: clamp(1rem, 11cqw, 2.3rem) !important;
  white-space: nowrap;
}

.card-tabien-single.card-motorcycle .plate-char {
  font-size: 1.15em !important;
}

.card-tabien-single.card-motorcycle .prov-tabien.single {
  font-size: clamp(0.6rem, 8cqw, 1.7rem) !important;
}

@supports not (container-type: inline-size) {
  .card-tabien-single .plate-display.single .plate-num {
    font-size: clamp(1rem, 9vw, 2.8rem);
  }

  .card-tabien-single .prov-tabien.single {
    font-size: clamp(0.6rem, 4.5vw, 1.5rem);
  }
}
/* ==========================================================================
   CONTENT-VISIBILITY — ให้เบราว์เซอร์ข้ามการวาดการ์ดที่ยังไม่เข้าจอ
   --------------------------------------------------------------------------
   หน้าแรกมีการ์ด 4,720 ใบ / 129,000 tag ซึ่งเบราว์เซอร์ต้อง layout + paint
   ทั้งหมดตอนโหลด ทั้งที่ผู้ใช้เห็นจริงแค่ ~30 ใบ

   content-visibility: auto สั่งให้ข้าม style/layout/paint ของสิ่งที่อยู่นอกจอ
   *** ข้อมูลยังอยู่ครบใน DOM *** -- Ctrl+F หาเจอ, Google อ่านได้, scroll แล้วโผล่ทันที

   contain-intrinsic-size: auto <ขนาด>
     คีย์เวิร์ด auto สำคัญมาก -- มันจำขนาดจริงหลังวาดครั้งแรก ทำให้ scrollbar
     ไม่กระตุก  (โค้ดเดิมที่ comment ทิ้งไว้ราวบรรทัด 1922 ใส่ 200px ตายตัว
     และใส่ที่ .card-tabien ซึ่งเป็นตัวการ์ด ไม่ใช่ตัวห่อ จึงกระตุกเวลา scroll กลับ)
   ========================================================================== */

.col-tabien {
  content-visibility: auto;
  contain-intrinsic-size: auto 170px;
}

/* หมายเหตุ: เคยใส่ content-visibility ที่ .group-products ด้วย แต่ถอดออกแล้ว
   เพราะแต่ละกลุ่มสูงไม่เท่ากันมาก (กลุ่ม 20 มี 7 ใบ สูง ~510px ส่วนกลุ่ม 3
   มี 1,155 ใบ สูง ~65,000px) การเดา 900px เท่ากันหมดทำให้เบราว์เซอร์คิด
   ความสูงหน้าไว้ 13,500px ทั้งที่ของจริง 268,430px -- คลาดเคลื่อน 20 เท่า
   พอ scroll ลงไปความสูงหน้ากระโดดตลอด scrollbar เต้น = อาการค้าง/กระตุก
   ซ้ำร้ายกลุ่มที่ถูกข้ามทำให้การ์ดข้างในไม่เคยถูกวัด ค่า auto จึงไม่เคยเรียนรู้
   ระดับ .col-tabien พอแล้ว เพราะการ์ดสูงเท่า ๆ กันทุกใบ ประมาณการแม่นกว่ามาก */

/* :has() + :hover บนการ์ด 4,720 ใบ บังคับให้เบราว์เซอร์คำนวณ style ใหม่
   ทั้งกริดทุกครั้งที่เมาส์ขยับ -- กฎนี้ไม่ได้ทำอะไรอยู่แล้ว (property ถูก
   comment ไว้หมด) จึงปิดทิ้ง */
.product-wrapper:has(.card-tabien:hover) .col-tabien:not(:has(.card-tabien:hover)) {
  transition: none;
}
