@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Big+Shoulders+Display:wght@400;500;600;700;800;900&family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,500&family=Inter:wght@400;500;600;700;800;900&display=swap");
/* ======================== */
/* ROOT VARIABLES */
/* ======================== */
:root {
  --skin-layout-title-font: "Inter", sans-serif;
  --skin-layout-text-font: "Inter", sans-serif;
  --skin-layout-special-font: "Inter", sans-serif;
  --vb-red: #a50419;
  --vb-red-bright: #fc0122;
  --vb-dark: #4b0a0b;
  --vb-dark-footer: #300506;
  --vb-white: #ffffff;
  --vb-body-bg: #ffffff;
  --vb-text: #ffffff;
  --vb-text-sub: #999999;
  --vb-font-display: 'Inter', sans-serif;
  --vb-font-body: 'Inter', sans-serif;
  --skin-layout-bg-color: #ffffff;
  --skin-layout-text-color: #1C1917;
  --skin-layout-title-color: #1C1917;
  --skin-layout-color-brand: #EF9B2C;
  --skin-layout-color-text-default: #1C1C1C;
  --skin-layout-color-text-sub2: #999EA8;
  --skin-layout-color-text-sub: #B1B7C3;
  --skin-layout-color-text-remove: #ea0202;
  --skin-layout-color-text-error: #ea0202;
  --skin-layout-btn-color-bg-primary: #292524;
  --skin-layout-btn-color-text-primary: #fff;
  --skin-layout-btn-color-bg-secondary: #EF9B2C;
  --skin-layout-btn-color-text-secondary: #292524;
  --skin-layout-btn-border-radius: 19px;
  --skin-layout-input-color-bg: #fff;
  --skin-layout-input-color-text: #171722;
  --skin-layout-input-color-border: #B1B7C3;
  --skin-layout-border-color: #B1B7C3;
  --skin-layout-border-radius: 10px;
  --skin-layout-font-size-header: 20px;
  --skin-layout-font-size-heading: 14px;
  --skin-layout-font-size-text: 13px;
  --skin-layout-font-size-sub-text: 12px;
  --skin-space-unit: 16px;
  --skin-space-20: calc(var(--skin-space-unit)*1.25);
  --skin-space-24: calc(var(--skin-space-unit)*1.5);
  --skin-space-30: calc(var(--skin-space-unit)*1.875);
  --skin-space-36: calc(var(--skin-space-unit)*2.25);
  --skin-space-40: calc(var(--skin-space-unit)*2.5);
  --skin-space-50: calc(var(--skin-space-unit)*3.125);
  --skin-space-60: calc(var(--skin-space-unit)*3.75);
  --skin-space-72: calc(var(--skin-space-unit)*4.5);
  --skin-space-80: calc(var(--skin-space-unit)*5);
  --skin-space-100: calc(var(--skin-space-unit)*6.25);
  --skin-layout-notification-success-bg-color: #d4edda;
  --skin-layout-notification-success-text-color: #155724;
  --skin-layout-notification-success-border-color: #c3e6cb;
  --skin-layout-notification-error-bg-color: #f8d7da;
  --skin-layout-notification-error-text-color: #721c24;
  --skin-layout-notification-error-border-color: #f5c6cb;
  --skin-layout-notification-warning-bg-color: #fff3cd;
  --skin-layout-notification-warning-text-color: #856404;
  --skin-layout-notification-warning-border-color: #ffeeba;
  --skin-layout-notification-info-bg-color: #121F36;
  --skin-layout-notification-info-text-color: #ffffff;
  --skin-layout-notification-info-border-color: #bee5eb;
  --skin-layout-notification-neutral-bg-color: #FFFFFF;
  --skin-layout-notification-neutral-text-color: #383d41;
  --skin-layout-notification-neutral-border-color: #d6d8db;
  --skin-layout-notification-toast-bg-color: #333333;
  --skin-layout-notification-toast-text-color: #ffffff;
  --skin-layout-notification-toast-border-color: #434343;
  --spacing-small: 5px;
  --spacing: 10px;
  --row-gap: 10px;
  --col-gap: 10px; }

html {
  -webkit-overflow-scrolling: touch;
  -webkit-text-size-adjust: none;
  -ms-text-size-adjust: 100%;
  line-height: 1.5;
  font-size: 1rem; }

body, html {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  position: relative; }

body {
  background-color: #fff;
  color: var(--skin-layout-text-color);
  font-family: var(--skin-layout-text-font);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5; }
  @media (min-width: 1024px) {
    body {
      font-size: 1rem; } }

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

:after, :before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

/* 1.1 - HTML5 Elements */
article, aside, details, figcaption, figure, dialog, footer, header, hgroup, menu, nav, section {
  display: block; }

/* 1.2 - Typography */
h1, h2, h3, h4, h5, h6 {
  color: var(--skin-layout-title-color);
  font-family: var(--skin-layout-title-font);
  margin: 0 0 10px 0;
  font-weight: 700;
  line-height: 1.3; }

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  color: var(--skin-layout-title-color); }

/* 1.3 - Links  */
a {
  color: var(--skin-layout-text-color);
  text-decoration: none;
  outline: none;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out; }
  a:hover, a:focus {
    color: var(--skin-layout-text-color);
    text-decoration: none;
    outline: none; }
  a:active {
    outline: none; }

.a-link {
  text-decoration: underline !important; }

strong {
  font-weight: 700; }

em {
  font-style: italic; }

/* 1.4 - Lists */
ul, ol {
  padding: 0;
  margin: 0;
  list-style-type: none; }

.typeList-style * {
  max-width: 100% !important; }

.typeList-style ul {
  list-style: initial;
  padding-left: 20px; }

.typeList-style ol {
  list-style-type: decimal;
  padding-left: 20px; }

.typeList-style ul ul {
  list-style-type: circle; }

.typeList-style ul ul ul {
  list-style-type: square; }

.typeList-style ul li, .typeList-style ol li {
  margin: 5px 0; }

.content-style-list {
  line-height: 1.2;
  overflow-wrap: break-word;
  word-break: break-word;
  max-width: 100%; }
  .content-style-list h3:not(.product-loop--name), .content-style-list h3:not(.product-loop--name) * {
    font-size: 20px !important;
    margin: 0 !important; }
  .content-style-list a[href]:not(.product-loop--link), .content-style-list a[href]:not(.product-loop--link) * {
    color: #007bff; }
  .content-style-list th {
    font-weight: bold;
    text-align: center; }
  .content-style-list caption {
    text-align: center; }
  .content-style-list h1 {
    font-size: 2em;
    margin: .67em 0; }
  .content-style-list h2 {
    font-size: 1.5em;
    margin: .75em 0; }
  .content-style-list h3 {
    font-size: 1.17em;
    margin: .83em 0; }
  .content-style-list h4, .content-style-list p,
  .content-style-list blockquote, .content-style-list ul,
  .content-style-list fieldset, .content-style-list form,
  .content-style-list ol, .content-style-list dl, .content-style-list dir,
  .content-style-list menu {
    margin: 0 0 1.12em; }
  .content-style-list p:last-child {
    margin: 0; }
  .content-style-list h5 {
    font-size: .83em;
    margin: 1.5em 0; }
  .content-style-list h6 {
    font-size: .75em;
    margin: 1.67em 0; }
  .content-style-list h1, .content-style-list h2, .content-style-list h3, .content-style-list h4,
  .content-style-list h5, .content-style-list h6, .content-style-list b,
  .content-style-list strong {
    font-weight: bold; }
  .content-style-list blockquote {
    display: block;
    margin-block-start: 1em;
    margin-block-end: 1em;
    margin-inline-start: 40px;
    margin-inline-end: 40px;
    font-style: italic;
    padding: 2px 0;
    border-style: solid;
    border-color: #ccc;
    border-width: 0;
    padding-left: 20px;
    padding-right: 8px;
    border-left-width: 5px; }
  .content-style-list i, .content-style-list cite, .content-style-list em,
  .content-style-list var, .content-style-list address {
    font-style: italic; }
  .content-style-list pre, .content-style-list tt, .content-style-list code,
  .content-style-list kbd, .content-style-list samp {
    font-family: monospace; }
  .content-style-list pre {
    white-space: pre; }
  .content-style-list big {
    font-size: 1.17em; }
  .content-style-list small, .content-style-list sub, .content-style-list sup {
    font-size: .83em; }
  .content-style-list sub {
    vertical-align: sub; }
  .content-style-list sup {
    vertical-align: super; }
  .content-style-list table {
    border-spacing: 2px;
    max-width: 100%;
    overflow-x: auto;
    display: block; }
  .content-style-list thead, .content-style-list tbody,
  .content-style-list tfoot {
    vertical-align: middle; }
  .content-style-list td, .content-style-list th, .content-style-list tr {
    vertical-align: inherit; }
  .content-style-list s, .content-style-list strike, .content-style-list del {
    text-decoration: line-through; }
  .content-style-list hr {
    border: 1px inset; }
  .content-style-list ol, .content-style-list ul, .content-style-list dir,
  .content-style-list menu, .content-style-list dd {
    margin-left: 40px; }
  .content-style-list ol {
    list-style-type: decimal; }
  .content-style-list ul {
    list-style-type: disc; }
  .content-style-list ol ul, .content-style-list ul ol,
  .content-style-list ul ul, .content-style-list ol ol {
    margin-top: 0;
    margin-bottom: 0; }
  .content-style-list figure {
    margin: 1em 40px; }

/* 1.5 - form */
input[type='text'], input[type='email'], input[type='tel'], input[type='password'], .input {
  -moz-appearance: none;
  /* Firefox */
  -webkit-appearance: none;
  /* Safari and Chrome */
  appearance: none; }

input[type=date].form-control, input[type=time].form-control, input[type=datetime-local].form-control, input[type=month].form-control {
  -moz-appearance: none;
  appearance: none; }

input[placeholder] {
  text-overflow: ellipsis; }

input:required {
  box-shadow: none; }

textarea {
  resize: none; }

.form-control {
  -ms-flex: 0 0 auto !important;
  flex: 0 0 auto !important;
  display: block;
  width: 100%;
  height: 45px;
  padding: 6px 0;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
  color: var(--skin-layout-input-color-text);
  background: var(--skin-layout-input-color-bg);
  background-clip: padding-box;
  border: none;
  border-bottom: 1px solid #000;
  border-radius: 0px !important;
  transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
  /*
	&.is-invalid, &:invalid {
	border-color: #d91f46;
	padding-right: calc(1.5em + 0.75rem) !important;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23d91f46' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23d91f46' stroke='none'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right calc(0.375em + 0.1875rem) center;
	background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
	&:focus {
	border-color: #d91f46!important;
	box-shadow: 0 0 0 .2rem rgba(217,31,70,.25);
	}
		&~.invalid-feedback {display: block;}
	}
	&:autofill, &:valid  {background: #F9FAFB;}
	*/ }
  .form-control::-ms-expand {
    background-color: transparent;
    border: 0; }
  .form-control:focus {
    color: #27251f;
    background-color: #fff;
    border-color: #27251f;
    outline: 0;
    box-shadow: none; }
  .form-control:-ms-input-placeholder {
    color: #949494;
    opacity: 1; }
  .form-control::placeholder {
    color: #949494;
    opacity: 1; }
  .form-control:disabled, .form-control[readonly] {
    background-color: #e9ecef;
    opacity: 1; }
  .form-control.warming {
    border-bottom: 1px solid red; }
  @media (min-width: 992px) {
    .form-control {
      font-size: 14px; } }

.form-check-input.is-invalid ~ .form-check-label {
  color: #d91f46; }

.form-check-input.is-invalid ~ .invalid-feedback {
  display: block; }

.form-group {
  margin-bottom: 20px;
  position: relative; }
  .form-group select.form-control:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #27251f; }
  .form-group select.form-control:focus::-ms-value {
    color: #27251f;
    background-color: #fff; }
  .form-group select.form-control[size], .form-group select.form-control[multiple] {
    height: auto; }
  .form-group select.form-control.is-invalid {
    padding-right: 3rem !important;
    background-position: right 1.5rem center; }
  .form-group textarea.form-control {
    height: auto; }
    .form-group textarea.form-control.is-invalid {
      padding-right: calc(1.5em + 0.75rem);
      background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); }
  .form-group .invalid-feedback {
    display: none;
    width: 100%;
    margin-top: .25rem;
    font-size: 0.625rem;
    color: #d91f46; }
  .form-group.input-group {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: stretch;
    align-items: stretch;
    width: 100%; }
    .form-group.input-group > label {
      color: #71706c;
      font-size: .625rem;
      height: 1rem;
      left: 1.25rem;
      margin: .375rem 0;
      position: absolute;
      z-index: 5;
      display: none; }
    .form-group.input-group > .form-control,
    .form-group.input-group > .form-control-plaintext,
    .form-group.input-group > .custom-select,
    .form-group.input-group > .custom-file {
      position: relative;
      -ms-flex: 1 1 auto;
      flex: 1 1 auto;
      width: 100%;
      min-width: 0;
      margin-bottom: 0; }
    .form-group.input-group.required .form-control-label::after {
      color: #71706c;
      content: "*";
      padding-left: 2px; }
    .form-group.input-group.required .form-control-label::before {
      content: ""; }
  .form-group.check-group label[for*='radio'] {
    margin-bottom: 0;
    margin: 0 20px 0 4px;
    font-size: 12px; }
  .form-group.check-group input[name="gender"] {
    margin-top: 0;
    vertical-align: top;
    width: 14px;
    height: 14px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: relative;
    cursor: pointer;
    outline: 0 !important; }
    .form-group.check-group input[name="gender"]:before {
      content: "";
      position: absolute;
      z-index: 1;
      left: -1px;
      right: 0;
      bottom: 0;
      top: 0;
      margin: auto;
      width: 10px;
      height: 10px;
      background: #fff;
      border: 1px solid #fff;
      cursor: pointer;
      border-radius: 50%; }
    .form-group.check-group input[name="gender"]:checked:before {
      background: var(--skin-primary-color-1);
      border-color: var(--skin-primary-color-1); }
    .form-group.check-group input[name="gender"]:after {
      content: "";
      position: absolute;
      left: -1px;
      right: 0;
      bottom: 0;
      top: 0;
      margin: auto;
      width: 14px;
      height: 14px;
      background: #fff;
      border: 1px solid #777777;
      cursor: pointer;
      border-radius: 50%; }
    .form-group.check-group input[name="gender"]:checked:after {
      border-color: var(--skin-primary-color-1); }

.password-mask {
  background-color: #fff;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  height: 40px;
  z-index: 3; }
  .password-mask:focus {
    outline: 0; }
  .password-mask.hide .icon-eye-hide,
  .password-mask.hide .icon--eye-show {
    display: none; }
  .password-mask .icon--eye-hide, .password-mask .icon--eye-show {
    fill: #71706c;
    width: 20px;
    height: 20px; }

.password-forgot {
  font-size: 12px;
  padding-top: 4px;
  display: flex;
  justify-content: flex-end; }
  .password-forgot a {
    text-decoration: underline;
    vertical-align: middle; }

/* 1.6 - Img */
img {
  max-width: 100%;
  -webkit-user-drag: none;
  user-drag: none;
  -webkit-touch-callout: none; }

/* 1.7 - Button */
.btn-link {
  color: var(--skin-layout-color-brand);
  display: inline-flex;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 400;
  height: auto;
  padding: 0;
  border: none;
  background: none;
  position: relative;
  -webkit-transition: all .15s ease-in-out;
  transition: all .15s ease-in-out; }
  .btn-link.has-icon {
    gap: 8px;
    align-items: center; }
  .btn-link:hover {
    color: var(--skin-layout-color-brand); }
  @media (min-width: 768px) {
    .btn-link {
      font-size: 14px; } }

.btn {
  height: 40px;
  color: var(--skin-layout-btn-color-text-primary);
  border: 1px solid var(--skin-layout-btn-color-bg-primary);
  background: var(--skin-layout-btn-color-bg-primary);
  border-radius: 2px;
  box-shadow: none !important;
  outline: none !important;
  font-size: 14px;
  font-weight: 500;
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 20px;
  letter-spacing: -0.2px;
  transition: all .4s; }
  .btn.has-svg {
    gap: 8px; }
    .btn.has-svg svg {
      width: 14px;
      height: 14px;
      position: relative;
      z-index: 2; }
  .btn:hover, .btn:focus {
    color: var(--skin-layout-btn-color-text-primary);
    border: 1px solid var(--skin-layout-btn-color-bg-primary);
    background: var(--skin-layout-btn-color-bg-primary); }
  .btn.btn-primary {
    border: 0px solid var(--skin-layout-btn-color-bg-primary); }
    .btn.btn-primary:before {
      content: "";
      position: absolute;
      height: 0px;
      background: linear-gradient(90deg, #2870FA 0%, #FF2C8F 35%, #EEB22A 70%, #11B5A4 100%, #0C0A09 100%);
      z-index: 1;
      bottom: 0;
      width: 100%;
      transition: all 0.4s; }
    .btn.btn-primary:hover {
      color: var(--skin-layout-btn-color-text-primary);
      border: 0px solid var(--skin-layout-btn-color-bg-primary);
      background: var(--skin-layout-btn-color-bg-primary); }
      .btn.btn-primary:hover:before {
        height: 2px; }
  .btn.btn-second {
    border: 1px solid var(--skin-layout-btn-color-bg-secondary);
    color: var(--skin-layout-btn-color-text-secondary);
    background: var(--skin-layout-btn-color-bg-secondary); }
    .btn.btn-second:hover {
      border: 1px solid var(--skin-layout-btn-color-bg-secondary);
      color: #fff; }
  .btn.btn-third {
    border: 1px solid #D1D5DB;
    color: var(--skin-layout-text-color);
    background: #D1D5DB;
    letter-spacing: -0.1px; }
  .btn.outline-1 {
    border: 1px solid #44403C;
    color: #44403C;
    background: transparent; }
    .btn.outline-1:hover {
      color: #fff;
      background: #44403C; }
  .btn.outline-2 {
    border: 1px solid #000000;
    color: #000000;
    background: transparent; }
    .btn.outline-2:hover {
      color: #fff;
      background: #000000; }
  .btn.btn-icon {
    padding: 0;
    width: 26px;
    height: 26px; }
  .btn.btn-full {
    width: 100%;
    display: flex; }
  @media (min-width: 992px) {
    .btn {
      font-size: 18px;
      padding: 10px 20px;
      height: 50px; } }

/* 1.8 - Swiper */
.swiper-style {
  position: relative; }
  .swiper-style .swiper-pagination {
    justify-content: center;
    display: flex;
    align-items: center;
    bottom: 25px; }
    .swiper-style .swiper-pagination .swiper-pagination-bullet {
      width: 40px;
      height: 16px;
      background: none !important;
      position: relative; }
      .swiper-style .swiper-pagination .swiper-pagination-bullet:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        margin: auto;
        width: 100%;
        height: 1px;
        background: rgba(255, 255, 255, 0.4);
        border-radius: 1px;
        display: block; }
    .swiper-style .swiper-pagination .swiper-pagination-bullet-active:before {
      background: #FFF; }
    @media (min-width: 992px) {
      .swiper-style .swiper-pagination .swiper-pagination-bullet {
        width: 100px; } }
  .swiper-style .swiper.swiper-navigation-disabled .swiper-button-prev, .swiper-style .swiper.swiper-navigation-disabled .swiper-button-next {
    display: none !important; }
  .swiper-style .swiper-button {
    color: var(--skin-layout-text-color);
    width: 40px;
    height: 40px;
    cursor: pointer;
    color: currentColor; }
    .swiper-style .swiper-button svg {
      width: 100%;
      height: 100%; }
    .swiper-style .swiper-button.swiper-prev {
      left: 0; }
    .swiper-style .swiper-button.swiper-next {
      right: 0; }
    .swiper-style .swiper-button.swiper-button-disabled {
      opacity: 0.5; }
  .swiper-style .swiper-scrollbar {
    position: relative;
    margin: auto;
    left: 0;
    bottom: 0;
    width: 50%;
    height: 4px;
    z-index: 6;
    border-radius: 100px;
    background: #F0E7D7; }
    .swiper-style .swiper-scrollbar .swiper-scrollbar-drag {
      background: #44403C;
      border-radius: 0; }
  .swiper-style .swiper-navcontrol.st1 {
    display: flex;
    align-items: center;
    gap: 10px;
    position: relative;
    z-index: 4; }
  .swiper-style .swiper-navcontrol.st2 {
    display: flex;
    justify-content: center;
    margin-top: 20px;
    gap: 10px; }
    @media (min-width: 992px) {
      .swiper-style .swiper-navcontrol.st2 {
        margin-top: 0;
        display: block; }
        .swiper-style .swiper-navcontrol.st2 .swiper-button {
          top: 50%;
          transform: translateY(-50%);
          position: absolute;
          z-index: 4; }
        .swiper-style .swiper-navcontrol.st2 .swiper-button.swiper-prev {
          left: 7.5%; }
        .swiper-style .swiper-navcontrol.st2 .swiper-button.swiper-next {
          right: 7.5%; } }
  .swiper-style .swiper-navcontrol.st3 {
    display: flex;
    justify-content: center;
    margin-top: 20px;
    gap: 10px; }
    @media (min-width: 992px) {
      .swiper-style .swiper-navcontrol.st3 {
        margin-top: 0;
        display: block; }
        .swiper-style .swiper-navcontrol.st3 .swiper-button {
          width: 64px;
          height: 64px;
          padding: 20px 12px;
          top: 50%;
          transform: translateY(-50%);
          position: absolute;
          z-index: 4;
          border-radius: 12px 0 0 12px;
          background: #F0E7D7;
          box-shadow: 0 4px 8px -2px rgba(16, 24, 40, 0.1), 0 2px 4px -2px rgba(16, 24, 40, 0.06); }
        .swiper-style .swiper-navcontrol.st3 .swiper-button.swiper-prev {
          left: 0%;
          border-radius: 0 12px 12px 0; }
        .swiper-style .swiper-navcontrol.st3 .swiper-button.swiper-next {
          right: 0%;
          border-radius: 12px 0 0 12px; } }

/* 1.9 - Layout */
.col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-auto, .col-lg, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-auto, .col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-auto, .col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-auto, .col-xl, .col-xl-1, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-auto {
  padding-right: 16px;
  padding-left: 16px; }

.row {
  margin-left: -16px;
  margin-right: -16px; }

.container, .container-fluid {
  padding-left: 16px;
  padding-right: 16px;
  margin-left: auto;
  margin-right: auto;
  width: 100%; }

.container {
  max-width: 1440px; }

@media screen and (min-width: 992px) {
  .container.w-8 {
    padding-left: 140px;
    padding-right: 140px;
    max-width: 80%; }
  .container.w-6 {
    max-width: 60%; } }

@media screen and (min-width: 1600px) {
  .container {
    max-width: 1500px; } }

@media screen and (min-width: 1800px) {
  .container, .container-fluid {
    padding-left: 80px;
    padding-right: 80px; }
  .container {
    max-width: 1500px; } }

/* 1.10 - Anmaiton css3 */
@keyframes bounce {
  from {
    transform: translate3d(0, 0, 0); }
  to {
    transform: translate3d(0, 10px, 0); } }

@keyframes sk-rotate {
  100% {
    transform: rotate(360deg); } }

@keyframes sk-bounce {
  0%, 100% {
    transform: scale(0); }
  50% {
    transform: scale(1); } }

@keyframes load {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

@keyframes addedToBag {
  0% {
    background-color: #27251f;
    color: #27251f; }
  10% {
    background-color: #27251f;
    color: #fff; }
  90% {
    background-color: #27251f;
    color: #fff; }
  100% {
    background-color: #27251f;
    color: #27251f; } }

@keyframes check {
  0% {
    border-color: #27251f;
    top: .6em; }
  5% {
    border-color: #fff;
    top: .6em; }
  10% {
    border-color: #fff;
    top: 1.1em; }
  12% {
    border-color: #fff;
    top: .8em; }
  15% {
    border-color: #fff;
    top: 1.1em; }
  90% {
    border-color: #fff;
    top: 1.1em; }
  100% {
    border-color: #27251f;
    top: 1.1em; } }

@keyframes loading {
  100% {
    transform: translateX(100%); } }

@keyframes ShoppingBagModal-fadeIn {
  0% {
    opacity: 0;
    height: 0; }
  to {
    opacity: 1;
    height: auto; } }

@keyframes ShoppingBagModal-fadeOut {
  0% {
    opacity: 1;
    height: auto; }
  to {
    opacity: 0;
    height: 0; } }

/* 1.11 - Tables */
table {
  width: 100%;
  border-spacing: 0; }

table tr td {
  border-top: 1px solid #dddddd; }

table tr td, table tr th {
  padding: 10px;
  text-align: left; }

table tr td:first-child, table tr th:first-child {
  padding-left: 0px; }

table tr td:last-child, table tr th:last-child {
  padding-right: 0px; }

/*-----------------------------------------------*/
/* GENERAL */
/*-----------------------------------------------*/
/* - Loading  */
.mainLoading {
  position: fixed;
  z-index: 1051;
  text-align: center;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  opacity: 0;
  visibility: hidden;
  display: none; }
  .mainLoading .underlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: .5;
    background-color: #000; }
  .mainLoading .spinner {
    position: fixed;
    width: 80px;
    height: 80px;
    text-align: center;
    top: 50%;
    left: 50%;
    margin-top: -40px;
    margin-left: -40px;
    animation: sk-rotate 2s infinite linear; }
  .mainLoading .dot1, .mainLoading .dot2 {
    width: 60%;
    height: 60%;
    display: inline-block;
    position: absolute;
    top: 0;
    background-color: #fff;
    border-radius: 100%;
    animation: sk-bounce 2s infinite ease-in-out; }
  .mainLoading .dot2 {
    top: auto;
    bottom: 0;
    animation-delay: -1s; }
  .mainLoading.active {
    opacity: 1;
    visibility: visible;
    display: block; }

.no-img--loading img {
  visibility: hidden;
  opacity: 0; }

.no-img--loading .aspect-ratio {
  position: relative;
  overflow: hidden;
  padding-bottom: 100%;
  background: #f3f3f3; }
  .no-img--loading .aspect-ratio:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.6), transparent);
    transform: translateX(-100%);
    animation: loading 1.5s infinite;
    z-index: 1;
    top: 0; }

.product-loading .product-block {
  background: transparent;
  height: 100%;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  overflow: hidden;
  -webkit-transition: all 400ms ease;
  -moz-transition: all 400ms ease;
  -ms-transition: all 400ms ease;
  -o-transition: all 400ms ease;
  transition: all 400ms ease; }

.product-loading .product-image .lazy-img {
  position: relative;
  width: 100%;
  height: 0;
  flex: 0 0 100%;
  -ms-flex: 0 0 100%;
  padding-bottom: calc(5/4 * 100%);
  -webkit-transition: all 500ms ease;
  -moz-transition: all 500ms ease;
  -ms-transition: all 500ms ease;
  -o-transition: all 500ms ease;
  transition: all 500ms ease;
  background: #f5f5f5; }

.product-loading .product-detail {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  text-align: center;
  background: transparent;
  -webkit-transition: transform 300ms ease;
  -moz-transition: transform 300ms ease;
  -ms-transition: transform 300ms ease;
  -o-transition: transform 300ms ease;
  transition: transform 300ms ease; }

.product-loading .loading-mask .loading-mask--image {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding: 0; }

.product-loading .loading-mask .loading-mask--detail {
  padding: 10px 0; }

.product-loading .loading-mask .loading-mask--detail .mask-line {
  height: 10px;
  width: 100%;
  border-radius: 8px;
  margin: 4px 0;
  background: #f5f5f5; }

.product-loading .loading-mask .loading-mask--detail .mask-line:nth-child(2) {
  width: 80%;
  background: #f5f5f5; }

.product-loading .loading-mask .loading-mask--detail .mask-line:nth-child(3) {
  width: 65%;
  background: #f5f5f5; }

.product-loading .product-loop-load {
  border: 1px solid #eae8e4;
  margin-left: -1px;
  margin-bottom: -1px; }

.product-loading.feature-loop .product-image .lazy-img {
  padding-bottom: calc(3/4 * 100%); }

.cate-loading .cate-block {
  height: 100%;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  overflow: hidden;
  -webkit-transition: all 400ms ease;
  -moz-transition: all 400ms ease;
  -ms-transition: all 400ms ease;
  -o-transition: all 400ms ease;
  transition: all 400ms ease; }

.cate-loading .loading-mask .loading-mask--icon {
  position: relative;
  overflow: hidden;
  width: 88px;
  padding: 0;
  margin: 0 auto; }
  @media (min-width: 768px) {
    .cate-loading .loading-mask .loading-mask--icon {
      width: 110px; } }

.cate-loading .loading-mask .mask-line.lazy-img {
  position: relative;
  border-radius: 50%;
  background: #f5f5f5;
  width: 100%;
  height: 100%;
  flex: 0 0 100%;
  -ms-flex: 0 0 100%;
  padding-bottom: 100%;
  -webkit-transition: all 500ms ease;
  -moz-transition: all 500ms ease;
  -ms-transition: all 500ms ease;
  -o-transition: all 500ms ease;
  transition: all 500ms ease; }

.cate-loading .loading-mask .loading-mask--title {
  padding: 10px 4px;
  position: relative;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  text-align: center;
  background: #fff;
  -webkit-transition: transform 300ms ease;
  -moz-transition: transform 300ms ease;
  -ms-transition: transform 300ms ease;
  -o-transition: transform 300ms ease;
  transition: transform 300ms ease; }

.cate-loading .loading-mask .loading-mask--title .mask-line {
  height: 8px;
  width: 100%;
  border-radius: 8px;
  margin: 2px 0;
  background: #f5f5f5; }

.cate-loading .loading-mask .loading-mask--title .mask-line:nth-child(2) {
  width: 80%;
  background: #f5f5f5; }

.line-loading .line-block {
  height: 100%;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  -webkit-transition: all 400ms ease;
  -moz-transition: all 400ms ease;
  -ms-transition: all 400ms ease;
  -o-transition: all 400ms ease;
  transition: all 400ms ease; }

.line-loading .loading-mask .loading-mask--title {
  padding: 10px 4px;
  position: relative;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  justify-content: center;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  text-align: center;
  background: #fff;
  border: 1px solid #f5f5f5;
  border-radius: 4px;
  height: 94px;
  -webkit-transition: transform 300ms ease;
  -moz-transition: transform 300ms ease;
  -ms-transition: transform 300ms ease;
  -o-transition: transform 300ms ease;
  transition: transform 300ms ease; }

.line-loading .loading-mask .loading-mask--title .mask-line {
  height: 8px;
  border-radius: 8px;
  margin: 2px 0;
  background: #f5f5f5; }

.line-loading .loading-mask .loading-mask--title .mask-line:nth-child(1) {
  width: 100%; }

.line-loading .loading-mask .loading-mask--title .mask-line:nth-child(2) {
  width: 80%; }

.line-loading .loading-mask .loading-mask--title .mask-line:nth-child(3) {
  width: 60%; }

.line-loading .loading-mask .loading-mask--title .mask-line:nth-child(4) {
  width: 40%; }

/* - Breadcrumb  - Pagination  */
.breadcrumb-wrapper {
  background: transparent;
  padding: 0 0px; }
  .breadcrumb-wrapper .breadcrumb-list {
    overflow: hidden; }
  .breadcrumb-wrapper .breadcrumb-list .breadcrumb-arrows {
    font-size: 12px;
    padding: 20px 0;
    background: transparent;
    border-radius: 0;
    margin: 0;
    list-style: none;
    align-items: center; }
  .breadcrumb-wrapper .breadcrumb-list .breadcrumb-arrows > li {
    display: inline-flex; }
  .breadcrumb-wrapper .breadcrumb-list .breadcrumb-arrows > li strong {
    font-weight: 400;
    color: var(--skin-link-color-2); }
  .breadcrumb-wrapper .breadcrumb-list .breadcrumb-arrows > li a {
    color: #71706c; }
  .breadcrumb-wrapper .breadcrumb-list .breadcrumb-arrows > li + li:before {
    content: "";
    margin: auto 12px;
    align-items: center;
    justify-content: center;
    display: inline-flex;
    width: 1px;
    height: 12px;
    background-color: #000; }
  @media (max-width: 767px) {
    .breadcrumb-wrapper .breadcrumb-list .breadcrumb-arrows {
      padding: 7px 0;
      font-size: 12px;
      flex-wrap: nowrap;
      white-space: nowrap;
      overflow: scroll; }
    .breadcrumb-wrapper .breadcrumb-list .breadcrumb-arrows::-webkit-scrollbar {
      display: none; }
    .breadcrumb-wrapper .breadcrumb-list .breadcrumb-arrows {
      -ms-overflow-style: none;
      scrollbar-width: none; } }

.pagination-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px 26px;
  padding: 32px 0 0; }
  .pagination-wrapper .page-node {
    background: transparent;
    color: #000000;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    text-decoration: none;
    font-size: 20px; }
    .pagination-wrapper .page-node.next, .pagination-wrapper .page-node.prev {
      border: 1px solid #000;
      border-radius: 100%;
      position: relative;
      width: 32px;
      height: 32px;
      padding: 0;
      transition: border-color 100ms linear; }
      .pagination-wrapper .page-node.next svg, .pagination-wrapper .page-node.prev svg {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        transition: transform 100ms linear; }
      .pagination-wrapper .page-node.next:hover, .pagination-wrapper .page-node.prev:hover {
        border: 1px solid #000000; }
        .pagination-wrapper .page-node.next:hover svg, .pagination-wrapper .page-node.prev:hover svg {
          transform: translate(-50%, -50%) scale(1.3); }
    .pagination-wrapper .page-node.prev {
      transform: rotate(180deg); }
    .pagination-wrapper .page-node.current {
      text-decoration: underline;
      text-underline-offset: .15rem;
      width: 32px;
      height: 32px;
      border-radius: 100%;
      border: 1px solid #EF9B2C;
      background: #EF9B2C;
      color: #fff; }
    .pagination-wrapper .page-node:not(.current):hover {
      text-decoration: underline;
      text-underline-offset: .15rem; }
  @media (min-width: 992px) {
    .pagination-wrapper {
      padding: 64px 0 0; } }

/*-----------------------------------------------*/
/* MODAL */
/*-----------------------------------------------*/
.modal {
  background: rgba(0, 1, 2, 0.35); }
  .modal .modal-content {
    border-radius: 8px;
    padding: 0; }
    .modal .modal-content .modal-header {
      border-radius: 0;
      border-bottom: 1px solid #E5E7EB;
      padding: 12px 24px;
      align-items: center;
      position: relative; }
      .modal .modal-content .modal-header h4 {
        font-size: 18px;
        text-transform: uppercase;
        margin-bottom: 0;
        font-weight: 500; }
      .modal .modal-content .modal-header .close {
        opacity: 1;
        outline: none;
        padding: 0;
        margin: auto;
        color: #2D2A2C;
        width: 44px;
        height: 44px;
        z-index: 1;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0; }
        .modal .modal-content .modal-header .close svg {
          width: 16px;
          height: 16px; }
    .modal .modal-content .modal-body {
      padding: 24px; }
    .modal .modal-content .modal-footer {
      padding: 12px 24px;
      gap: 20px;
      border-top: none; }
      .modal .modal-content .modal-footer button {
        margin: 0; }
  @media (min-width: 544px) {
    .modal .modal-dialog {
      max-width: 730px; }
    .modal .modal-sm {
      max-width: 400px; } }
  @media (min-width: 992px) {
    .modal .modal-content .modal-header h4 {
      font-size: 22px; }
    .modal .modal-sm {
      max-width: 500px; } }
  @media (min-width: 1025px) {
    .modal .modal-lg, .modal .modal-xl {
      max-width: 800px; } }
  @media (min-width: 1200px) {
    .modal .modal-xl {
      max-width: 1140px; } }
  .modal.modal-comingsoon .modal-header {
    padding: 0;
    border: none; }
    .modal.modal-comingsoon .modal-header .close {
      margin: 0; }
  .modal.modal-comingsoon .modal-body {
    padding: 40px 24px 24px; }
    .modal.modal-comingsoon .modal-body h4 {
      font-family: var(--skin-layout-special-font);
      font-weight: 300;
      font-style: italic;
      letter-spacing: -1px;
      text-transform: uppercase;
      margin-bottom: 12px;
      text-align: center; }
  .modal.modal-comingsoon .notify {
    background: linear-gradient(135deg, #d4edda 0%, #c3e6cb 100%);
    color: #155724;
    border-left: 4px solid #28a745;
    padding: 10px 20px;
    font-weight: 500;
    text-align: center; }
  @media (min-width: 992px) {
    .modal.modal-comingsoon .modal-body {
      padding: 40px; } }
  .modal.modal-certify .modal-header {
    padding: 0;
    border: none; }
    .modal.modal-certify .modal-header .close {
      margin: 0; }
  .modal.modal-certify .modal-body {
    padding: 40px 24px 24px; }
    .modal.modal-certify .modal-body h4 {
      color: #1C1917;
      font-size: 20px;
      font-weight: 500;
      letter-spacing: -0.2px;
      margin-bottom: 12px;
      text-align: center;
      text-transform: uppercase; }
  @media (min-width: 992px) {
    .modal.modal-certify .modal-body {
      padding: 40px; } }
  .modal.modal-success .modal-content {
    max-width: 500px;
    margin: auto; }
  .modal.modal-success .modal-header {
    border-bottom: none;
    padding: 0; }
    .modal.modal-success .modal-header h4 {
      font-size: 0; }
    .modal.modal-success .modal-header button {
      position: absolute;
      top: 0;
      right: 0;
      padding: 8px;
      z-index: 2; }
  .modal.modal-success .modal-body {
    padding: 24px 16px 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    font-size: 14px; }
    .modal.modal-success .modal-body h4 {
      font-size: 24px; }
  .modal.modal-coupon .tab-coupons .tab-item {
    display: none; }
  .modal.modal-coupon .tab-coupons .tab-item.active {
    display: block; }
  .modal.modal-coupon .box-coupon {
    display: flex;
    flex-direction: column; }
    .modal.modal-coupon .box-coupon > div {
      width: 100%;
      padding: 10px 0; }
    .modal.modal-coupon .box-coupon .box-code {
      display: flex;
      align-items: center; }
      .modal.modal-coupon .box-coupon .box-code span:first-child {
        width: 30%; }
      .modal.modal-coupon .box-coupon .box-code span:last-child {
        width: 70%; }
    .modal.modal-coupon .box-coupon .box-expire {
      background: #fafafa;
      display: flex;
      align-items: center; }
      .modal.modal-coupon .box-coupon .box-expire span:first-child {
        width: 30%; }
      .modal.modal-coupon .box-coupon .box-expire span:last-child {
        width: 70%; }
    .modal.modal-coupon .box-coupon .box-detail ul {
      display: flex;
      flex-direction: column;
      gap: 4px;
      font-size: 13px;
      list-style: disc;
      list-style-position: outside;
      padding-left: 10px; }
    .modal.modal-coupon .box-coupon .box-action {
      padding: 10px 0 0 0; }
      .modal.modal-coupon .box-coupon .box-action .btn-copy {
        color: #fff;
        display: flex;
        padding: 2px 14px 2px 14px;
        justify-content: center;
        align-items: center;
        height: 28px;
        width: 100%;
        border-radius: 30px;
        background: var(--skin-layout-color-brand);
        border: 1px solid var(--skin-layout-color-brand); }
  .modal.modal-coupon .modal-content {
    border-radius: 22px; }
  .modal.modal-coupon .modal-header {
    justify-content: center;
    padding: 10px 40px;
    border-bottom: none;
    border-radius: 20px 20px 0 0;
    background: var(--skin-layout-color-brand); }
    .modal.modal-coupon .modal-header h4 {
      color: #fff;
      font-size: 18px;
      margin: 0; }
    .modal.modal-coupon .modal-header button {
      color: #fff; }
  .modal.modal-coupon .modal-body {
    padding: 0 24px 20px; }
  @media (min-width: 992px) {
    .modal.modal-success .modal-dialog {
      margin-left: auto;
      margin-right: auto;
      max-width: 350px; }
    .modal.modal-coupon .modal-dialog {
      margin-left: auto;
      margin-right: auto;
      max-width: 450px; } }

.modal-backdrop.show {
  opacity: 0 !important; }

.swal2-modal {
  font-size: 14px;
  padding: 24px;
  color: #111; }
  .swal2-modal .swal2-title {
    font-size: 18px;
    text-transform: uppercase;
    margin: 20px 0 12px;
    color: #333; }
  .swal2-modal .swal2-text {
    font-size: 14px; }
  .swal2-modal .swal2-actions {
    flex-direction: row-reverse;
    flex-wrap: nowrap;
    margin-top: 24px;
    width: 100%; }
    .swal2-modal .swal2-actions button {
      position: relative;
      padding: 12px 20px;
      margin: 0;
      line-height: normal;
      border: 1px solid transparent;
      border-radius: 4px;
      text-align: center;
      letter-spacing: 1px;
      z-index: 1;
      overflow: hidden;
      box-shadow: none;
      width: 100%;
      outline: none;
      -webkit-transition: color 0.45s cubic-bezier(0.785, 0.135, 0.15, 0.86), border 0.45s cubic-bezier(0.785, 0.135, 0.15, 0.86);
      transition: color 0.45s cubic-bezier(0.785, 0.135, 0.15, 0.86), border 0.45s cubic-bezier(0.785, 0.135, 0.15, 0.86); }
      .swal2-modal .swal2-actions button.swal2-cancel {
        border: 1px solid #ececec;
        background-color: #ececec;
        color: #111111; }
        .swal2-modal .swal2-actions button.swal2-cancel:focus {
          box-shadow: 0 0 0 3px rgba(236, 236, 236, 0.5); }
      .swal2-modal .swal2-actions button.swal2-confirm {
        border: 1px solid #e30019;
        background-color: #e30019;
        color: #fff; }
        .swal2-modal .swal2-actions button.swal2-confirm:focus {
          box-shadow: 0 0 0 3px rgba(227, 0, 25, 0.5); }
      .swal2-modal .swal2-actions button + button {
        margin-right: 8px; }
  .swal2-modal .swal2-html-container {
    margin: 6px 0 8px; }
  .swal2-modal .swal2-icon {
    margin: 0 auto;
    font-size: 12px; }
    .swal2-modal .swal2-icon .swal2-icon-content {
      font-size: 2rem; }
    .swal2-modal .swal2-icon.swal2-success {
      border-color: var(--color-state-success);
      color: var(--color-state-success); }
    .swal2-modal .swal2-icon.swal2-error {
      border-color: var(--color-state-error);
      color: var(--color-state-error); }
    .swal2-modal .swal2-icon.swal2-warning {
      border-color: var(--color-state-warning);
      color: var(--color-state-warning); }
    .swal2-modal .swal2-icon.swal2-info {
      border-color: var(--color-state-info);
      color: var(--color-state-info); }
    .swal2-modal .swal2-icon.swal2-question {
      border-color: var(--color-state-question);
      color: var(--color-state-question); }

.swal2-popup {
  border-radius: 2px;
  color: var(--skin-layout-text-color);
  font-size: 14px; }
  .swal2-popup .swal2-title {
    text-transform: uppercase;
    font-size: 16px;
    padding: 0; }
  .swal2-popup .swal2-icon {
    font-size: 12px; }
    .swal2-popup .swal2-icon.swal2-warning {
      border-color: #FF9800;
      color: #FF9800; }
    .swal2-popup .swal2-icon.swal2-error {
      border-color: #d92046;
      color: #d92046; }
      .swal2-popup .swal2-icon.swal2-error [class^=swal2-x-mark-line] {
        background-color: #d92046; }
    .swal2-popup .swal2-icon.swal2-success {
      color: #4caf50;
      border-color: #4caf50; }
      .swal2-popup .swal2-icon.swal2-success .swal2-success-ring {
        border-color: #4caf50; }
      .swal2-popup .swal2-icon.swal2-success [class^=swal2-success-line] {
        background-color: #4caf50; }
  .swal2-popup .swal2-actions button {
    border-radius: 2px;
    box-shadow: none !important; }
    .swal2-popup .swal2-actions button.swal2-confirm {
      background-color: var(--skin-bgbtn-color);
      color: #fff;
      border: 1px solid var(--skin-bgbtn-color); }
    .swal2-popup .swal2-actions button.swal2-cancel {
      background-color: #fff;
      color: var(--skin-bgbtn-color);
      border: 1px solid var(--skin-bgbtn-color); }
  @media (min-width: 992px) {
    .swal2-popup .swal2-title {
      font-size: 20px; } }

/*-----------------------------------------------*/
/* HEADER */
/*-----------------------------------------------*/
/*--- Topbar ---*/
/*--- Main ---*/
/*-----------------------------------------------*/
/* FOOTER */
/*-----------------------------------------------*/
/*-----------------------------------------------*/
/* ALL */
/*-----------------------------------------------*/
.aspect-ratio {
  overflow: hidden;
  position: relative;
  padding-bottom: calc(var(--height)/var(--width) * 100%);
  display: block; }
  .aspect-ratio img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; }

/* ── Product card: sold-out badge + hover action buttons ── */
/* ── Quick View Modal ── */
/*-----------------------------------------------*/
/* SIDEBAR */
/*-----------------------------------------------*/
.sidebar-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  cursor: pointer;
  visibility: hidden;
  opacity: 0;
  transition: all 200ms ease-in-out; }

.sidebar-main {
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  z-index: 16;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: -webkit-transform 0.3s, all 0.3s;
  -moz-transition: -moz-transform 0.3s, all 0.3s;
  transition: transform 0.3s, all 0.3s; }
  .sidebar-main .sidebar-wrapper {
    position: fixed;
    top: 0;
    height: 100%;
    width: 100%;
    max-width: 500px;
    z-index: 15;
    opacity: 0;
    visibility: hidden;
    -ms-transition: all .5s;
    -webkit-transition: all .5s;
    transition: all .5s; }
    .sidebar-main .sidebar-wrapper.sidebar-right {
      right: 0;
      -ms-transform: translateX(150%);
      -webkit-transform: translateX(150%);
      transform: translateX(150%); }
    .sidebar-main .sidebar-wrapper.sidebar-left {
      left: 0;
      -ms-transform: translateX(-150%);
      -webkit-transform: translateX(-150%);
      transform: translateX(-150%); }
    .sidebar-main .sidebar-wrapper .sidebar-nav {
      display: flex;
      flex-direction: column;
      position: absolute;
      top: 0;
      bottom: 0;
      right: 0;
      background: #ffffff;
      max-width: 500px;
      height: 100%;
      width: 100%;
      z-index: 1; }
    .sidebar-main .sidebar-wrapper .sidebar-head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 10px 14px;
      position: relative;
      gap: 20px; }
      .sidebar-main .sidebar-wrapper .sidebar-head h4 {
        font-size: 18px;
        font-weight: 400;
        margin-bottom: 0;
        font-family: var(--skin-layout-title-font); }
      .sidebar-main .sidebar-wrapper .sidebar-head button {
        border: none;
        background: transparent;
        width: 40px;
        height: 40px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        outline: none; }
    .sidebar-main .sidebar-wrapper .sidebar-body {
      padding: 0 14px;
      position: relative;
      overflow-y: auto;
      overflow-x: hidden;
      height: 100%;
      margin-right: 2px;
      -webkit-overflow-scrolling: touch;
      -ms-scroll-chaining: none;
      overscroll-behavior: none; }
      .sidebar-main .sidebar-wrapper .sidebar-body::-webkit-scrollbar {
        width: 2px;
        height: 2px; }
      .sidebar-main .sidebar-wrapper .sidebar-body::-webkit-scrollbar-track {
        -webkit-border-radius: 0px;
        border-radius: 0px;
        background: #efefef; }
      .sidebar-main .sidebar-wrapper .sidebar-body::-webkit-scrollbar-thumb {
        -webkit-border-radius: 0;
        border-radius: 0;
        -webkit-box-shadow: inset 0 0 6px rgba(0, 1, 2, 0.35); }
      .sidebar-main .sidebar-wrapper .sidebar-body::-webkit-scrollbar-thumb:window-inactive {
        background: rgba(0, 1, 2, 0.35); }
    .sidebar-main .sidebar-wrapper .sidebar-foot {
      padding: 14px; }
    @media (min-width: 768px) {
      .sidebar-main .sidebar-wrapper .sidebar-head {
        padding: 20px; }
        .sidebar-main .sidebar-wrapper .sidebar-head h4 {
          font-size: 20px; }
      .sidebar-main .sidebar-wrapper .sidebar-body {
        padding: 0 20px; }
      .sidebar-main .sidebar-wrapper .sidebar-foot {
        padding: 20px; } }
  .sidebar-main .sidebar-menu.sidebar-wrapper {
    width: 85%; }
  .sidebar-main .sidebar-menu .sidebar-head {
    justify-content: space-between; }
  .sidebar-main .sidebar-menu .sidebar-logo a {
    display: block; }
  .sidebar-main .sidebar-menu .sidebar-logo a img {
    width: 53%; }
  .sidebar-main .sidebar-menu .menu-mobile--wrap {
    padding: 0 0 40px; }
  .sidebar-main .sidebar-menu .menuList-links {
    display: flex;
    flex-direction: column;
    gap: 0; }
    .sidebar-main .sidebar-menu .menuList-links > li + li {
      border-top: 1px solid #FAF7F2; }
    .sidebar-main .sidebar-menu .menuList-links > li > a {
      padding: 12px 0;
      font-weight: 500;
      color: #1C1917;
      font-size: 16px; }
    .sidebar-main .sidebar-menu .menuList-links li.has-submenu.level0 > ul.submenu-links {
      padding-bottom: 12px;
      padding-top: 0; }
    .sidebar-main .sidebar-menu .menuList-links li.has-submenu.level0 > ul.submenu-links li a {
      padding: 6px 30px 6px 0;
      color: #44403C;
      font-weight: 300;
      font-size: 16px; }
    .sidebar-main .sidebar-menu .menuList-links li.has-submenu.level0 > ul.submenu-links ul.submenu-links {
      padding-left: 14px; }
  .sidebar-main .sidebar-menu .sidebar-body.open-sub {
    overflow: hidden !important; }
    .sidebar-main .sidebar-menu .sidebar-body.open-sub .mobile-menu--wrap .mobile-menu-mega.open {
      visibility: visible;
      height: 100%;
      transform: translateX(0%);
      z-index: 100;
      display: block; }
    .sidebar-main .sidebar-menu .sidebar-body.open-sub .mobile-menu--wrap .mobile-menu-mega-sub.open {
      visibility: visible;
      height: 100%;
      transform: translateX(0%);
      z-index: 100;
      display: block; }
  .sidebar-main .sidebar-cart .sidebar-nav {
    background: #fff;
    border-radius: 4px 0 0 4px;
    box-shadow: 0px 24px 48px -12px rgba(16, 24, 40, 0.18); }
  .sidebar-main .sidebar-cart .sidebar-head {
    padding: 24px 24px 12px; }
    .sidebar-main .sidebar-cart .sidebar-head h4 {
      font-size: 36px;
      font-weight: 500;
      line-height: 47px;
      letter-spacing: -1px;
      font-family: var(--skin-layout-title-font);
      margin: 0; }
  .sidebar-main .sidebar-cart .sidebar-body {
    padding: 0 24px; }
    .sidebar-main .sidebar-cart .sidebar-body::-webkit-scrollbar {
      width: 4px; }
    .sidebar-main .sidebar-cart .sidebar-body::-webkit-scrollbar-track {
      background: #F0E7D7;
      border-radius: 100px; }
    .sidebar-main .sidebar-cart .sidebar-body::-webkit-scrollbar-thumb {
      background: #44403C;
      border-radius: 100px; }
    .sidebar-main .sidebar-cart .sidebar-body .list-sidebar-cart .cart-group {
      display: flex;
      flex-direction: column;
      gap: 10px; }
    .sidebar-main .sidebar-cart .sidebar-body .list-sidebar-cart .sidebar-cart--item {
      display: flex;
      gap: 20px;
      align-items: center;
      overflow: hidden;
      background: #FCFDF8;
      border: 1px solid #E8DDC8;
      border-radius: 4px; }
      .sidebar-main .sidebar-cart .sidebar-body .list-sidebar-cart .sidebar-cart--item .sidebar-cart--left {
        width: 120px;
        min-width: 120px;
        position: relative;
        overflow: hidden;
        background: #FAF7F2;
        padding: 12px;
        align-self: stretch;
        display: flex;
        align-items: center;
        justify-content: center; }
        .sidebar-main .sidebar-cart .sidebar-body .list-sidebar-cart .sidebar-cart--item .sidebar-cart--left a {
          display: flex;
          align-items: center;
          justify-content: center;
          width: 100%;
          height: 100%; }
        .sidebar-main .sidebar-cart .sidebar-body .list-sidebar-cart .sidebar-cart--item .sidebar-cart--left img {
          width: 100%;
          height: auto;
          object-fit: contain;
          max-height: 100%; }
      .sidebar-main .sidebar-cart .sidebar-body .list-sidebar-cart .sidebar-cart--item .sidebar-cart--right {
        flex: 1;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        padding-right: 10px;
        gap: 10px; }
        .sidebar-main .sidebar-cart .sidebar-body .list-sidebar-cart .sidebar-cart--item .sidebar-cart--right .item-info {
          display: flex;
          flex-direction: column;
          gap: 10px;
          padding: 10px 0px; }
        .sidebar-main .sidebar-cart .sidebar-body .list-sidebar-cart .sidebar-cart--item .sidebar-cart--right .item-desc {
          display: flex;
          flex-direction: column;
          gap: 8px; }
          .sidebar-main .sidebar-cart .sidebar-body .list-sidebar-cart .sidebar-cart--item .sidebar-cart--right .item-desc h3 {
            font-family: var(--skin-layout-special-font);
            font-weight: 300;
            font-style: italic;
            font-size: 20px;
            line-height: 1.2;
            letter-spacing: -1px;
            text-transform: uppercase;
            margin: 0; }
          .sidebar-main .sidebar-cart .sidebar-body .list-sidebar-cart .sidebar-cart--item .sidebar-cart--right .item-desc h3 a {
            white-space: initial;
            overflow: hidden;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            display: -webkit-box; }
          .sidebar-main .sidebar-cart .sidebar-body .list-sidebar-cart .sidebar-cart--item .sidebar-cart--right .item-desc span.label-gift {
            font-size: 12px;
            display: inline-block;
            padding: 2px 10px;
            border-radius: 2px;
            color: #F9FAFB;
            background: #000;
            font-weight: 600; }
          .sidebar-main .sidebar-cart .sidebar-body .list-sidebar-cart .sidebar-cart--item .sidebar-cart--right .item-desc .item-vendor {
            font-family: var(--skin-layout-text-font);
            font-weight: 500;
            font-size: 14px;
            line-height: 21px;
            letter-spacing: -0.2px;
            text-transform: uppercase;
            color: #1C1917; }
        .sidebar-main .sidebar-cart .sidebar-body .list-sidebar-cart .sidebar-cart--item .sidebar-cart--right .item-price {
          font-family: var(--skin-layout-text-font);
          font-weight: 500;
          font-size: 14px;
          line-height: 21px;
          letter-spacing: -0.2px;
          display: flex;
          align-items: center;
          gap: 8px; }
          .sidebar-main .sidebar-cart .sidebar-body .list-sidebar-cart .sidebar-cart--item .sidebar-cart--right .item-price del {
            color: #6B7280;
            font-weight: 400; }
        .sidebar-main .sidebar-cart .sidebar-body .list-sidebar-cart .sidebar-cart--item .sidebar-cart--right .item-remove-btn {
          border: none;
          background: none;
          cursor: pointer;
          padding: 0;
          width: 24px;
          height: 24px;
          flex-shrink: 0;
          display: inline-flex;
          align-items: center;
          justify-content: center;
          padding-top: 10px; }
          .sidebar-main .sidebar-cart .sidebar-body .list-sidebar-cart .sidebar-cart--item .sidebar-cart--right .item-remove-btn svg {
            width: 24px;
            height: 24px; }
      @media (min-width: 768px) {
        .sidebar-main .sidebar-cart .sidebar-body .list-sidebar-cart .sidebar-cart--item .sidebar-cart--left {
          width: 160px;
          min-width: 160px; }
        .sidebar-main .sidebar-cart .sidebar-body .list-sidebar-cart .sidebar-cart--item .sidebar-cart--right .item-desc h3 {
          font-size: 24px; } }
    .sidebar-main .sidebar-cart .sidebar-body.notitem {
      padding: 0; }
      .sidebar-main .sidebar-cart .sidebar-body.notitem .sidebar-cart--empty {
        padding: 24px;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 100%;
        width: 100%;
        color: #44403C;
        font-size: 14px; }
  .sidebar-main .sidebar-cart .sidebar-foot {
    padding: 24px; }
    .sidebar-main .sidebar-cart .sidebar-foot .line-total {
      display: flex;
      align-items: center;
      justify-content: space-between;
      font-size: 16px;
      color: #1C1917;
      letter-spacing: -0.2px; }
      .sidebar-main .sidebar-cart .sidebar-foot .line-total .line {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%; }
      .sidebar-main .sidebar-cart .sidebar-foot .line-total .text {
        font-weight: 300;
        line-height: 24px; }
      .sidebar-main .sidebar-cart .sidebar-foot .line-total .number {
        font-weight: 500;
        line-height: 24px; }
    .sidebar-main .sidebar-cart .sidebar-foot .line-actions {
      padding-top: 20px;
      display: flex;
      flex-direction: column;
      gap: 10px;
      align-items: center; }
      .sidebar-main .sidebar-cart .sidebar-foot .line-actions .btn {
        width: 100%;
        height: 50px;
        font-size: 18px; }
      .sidebar-main .sidebar-cart .sidebar-foot .line-actions .btn-continue {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        height: 50px;
        width: 100%;
        border: none;
        background: none;
        cursor: pointer;
        font-family: var(--skin-layout-title-font);
        font-weight: 500;
        font-size: 18px;
        line-height: 18px;
        letter-spacing: -0.2px;
        color: #44403C; }
        .sidebar-main .sidebar-cart .sidebar-foot .line-actions .btn-continue span {
          text-decoration: underline;
          text-underline-offset: 3px; }
        .sidebar-main .sidebar-cart .sidebar-foot .line-actions .btn-continue svg {
          width: 24px;
          height: 24px; }
  .sidebar-main .sidebar-filter .sidebar-head h4 {
    display: none; }
  .sidebar-main .sidebar-filter .sidebar-head h4.is-active {
    display: block; }
  .sidebar-main .sidebar-filter .layered-filter--group {
    display: flex;
    flex-direction: column;
    gap: 30px; }
  .sidebar-main .sidebar-filter .wrapper-filter .boxscroll-tab {
    display: none; }
  .sidebar-main .sidebar-filter .wrapper-filter .boxscroll-tab.is-active {
    display: block; }
  .sidebar-main .sidebar-quickview {
    max-width: 640px; }
    .sidebar-main .sidebar-quickview .sidebar-nav {
      max-width: 640px; }
    .sidebar-main .sidebar-quickview .sidebar-foot {
      border-top: 1px solid #000000; }
      .sidebar-main .sidebar-quickview .sidebar-foot .line-actions {
        display: flex;
        gap: 10px; }
      .sidebar-main .sidebar-quickview .sidebar-foot .line-actions a {
        width: 100%;
        gap: 10px;
        align-items: center;
        font-weight: 400; }
        .sidebar-main .sidebar-quickview .sidebar-foot .line-actions a.btn {
          color: #fff; }
        .sidebar-main .sidebar-quickview .sidebar-foot .line-actions a.btn-link {
          color: #000;
          text-decoration: underline;
          text-underline-offset: .3rem; }
    .sidebar-main .sidebar-quickview .quickviewdetail-row {
      display: flex;
      justify-content: space-between;
      flex-direction: column;
      gap: 30px; }
      .sidebar-main .sidebar-quickview .quickviewdetail-row .quickviewdetail-left {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
        display: flex;
        gap: 10px; }
        .sidebar-main .sidebar-quickview .quickviewdetail-row .quickviewdetail-left .quickviewdetail-gallery {
          -ms-flex: 0 0 50px;
          flex: 0 0 50px;
          max-width: 50px; }
          .sidebar-main .sidebar-quickview .quickviewdetail-row .quickviewdetail-left .quickviewdetail-gallery .qv-slider-gallery {
            height: 100%; }
        .sidebar-main .sidebar-quickview .quickviewdetail-row .quickviewdetail-left .quickviewdetail-mainfeature {
          -ms-flex: 0 0 calc(100% - 60px);
          flex: 0 0 calc(100% - 60px);
          max-width: calc(100% - 60px); }
      .sidebar-main .sidebar-quickview .quickviewdetail-row .quickviewdetail-right {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%; }
    .sidebar-main .sidebar-quickview .quickviewdetail-info {
      position: relative;
      padding-bottom: 36px; }
      .sidebar-main .sidebar-quickview .quickviewdetail-info .detail-wrapper {
        display: flex;
        flex-direction: column; }
      .sidebar-main .sidebar-quickview .quickviewdetail-info .qv-infos--heading {
        margin-bottom: 15px;
        color: #2D2A2C;
        font-size: 18px;
        font-weight: 400;
        letter-spacing: 0.54px; }
      .sidebar-main .sidebar-quickview .quickviewdetail-info .qv-infos--brand {
        color: #EF9B2C;
        font-size: 14px;
        letter-spacing: 0.6px;
        text-transform: uppercase; }
      .sidebar-main .sidebar-quickview .quickviewdetail-info .qv-infos--prices {
        margin-top: 16px; }
        .sidebar-main .sidebar-quickview .quickviewdetail-info .qv-infos--prices .qv-price {
          display: flex;
          align-items: center;
          gap: 16px; }
        .sidebar-main .sidebar-quickview .quickviewdetail-info .qv-infos--prices .price-compare {
          color: #9D9D9D; }
      .sidebar-main .sidebar-quickview .quickviewdetail-info .qv-infos--variants {
        margin-top: 20px; }
        .sidebar-main .sidebar-quickview .quickviewdetail-info .qv-infos--variants .qv-select-swatch {
          display: flex;
          flex-direction: column;
          gap: 15px; }
          .sidebar-main .sidebar-quickview .quickviewdetail-info .qv-infos--variants .qv-select-swatch .qv-swatch {
            display: flex;
            flex-direction: column;
            gap: 15px; }
            .sidebar-main .sidebar-quickview .quickviewdetail-info .qv-infos--variants .qv-select-swatch .qv-swatch input {
              display: none; }
            .sidebar-main .sidebar-quickview .quickviewdetail-info .qv-infos--variants .qv-select-swatch .qv-swatch .qv-swatch-element.no-img--loading label {
              background: #f6f6f6 !important;
              border: none !important;
              padding: 0 !important; }
            .sidebar-main .sidebar-quickview .quickviewdetail-info .qv-infos--variants .qv-select-swatch .qv-swatch .qv-swatch-header > span.title {
              display: flex;
              gap: 8px;
              align-items: center; }
            .sidebar-main .sidebar-quickview .quickviewdetail-info .qv-infos--variants .qv-select-swatch .qv-swatch .qv-swatch-header.size {
              display: flex;
              align-items: center;
              justify-content: space-between; }
            .sidebar-main .sidebar-quickview .quickviewdetail-info .qv-infos--variants .qv-select-swatch .qv-swatch .qv-select-swap {
              align-items: center;
              display: flex;
              flex-wrap: wrap;
              list-style: none;
              gap: 16px;
              justify-content: flex-start; }
              .sidebar-main .sidebar-quickview .quickviewdetail-info .qv-infos--variants .qv-select-swatch .qv-swatch .qv-select-swap .qv-swatch-element label {
                cursor: pointer;
                margin: 0; }
              .sidebar-main .sidebar-quickview .quickviewdetail-info .qv-infos--variants .qv-select-swatch .qv-swatch .qv-select-swap .qv-swatch-element label.soldout {
                pointer-events: none; }
              .sidebar-main .sidebar-quickview .quickviewdetail-info .qv-infos--variants .qv-select-swatch .qv-swatch .qv-select-swap.qv-select-swap--color .qv-swatch-element {
                -ms-flex-align: center;
                align-items: center;
                border-radius: 100%;
                display: -ms-flexbox;
                display: flex;
                height: 30px;
                width: 30px;
                position: relative; }
                .sidebar-main .sidebar-quickview .quickviewdetail-info .qv-infos--variants .qv-select-swatch .qv-swatch .qv-select-swap.qv-select-swap--color .qv-swatch-element span {
                  height: 22px;
                  width: 22px;
                  border-radius: 100%; }
                .sidebar-main .sidebar-quickview .quickviewdetail-info .qv-infos--variants .qv-select-swatch .qv-swatch .qv-select-swap.qv-select-swap--color .qv-swatch-element label {
                  position: relative;
                  display: flex;
                  height: 30px;
                  width: 30px;
                  border-radius: 100%;
                  left: 0px;
                  top: 0px;
                  position: absolute;
                  display: flex;
                  overflow: hidden;
                  font-size: 0;
                  padding: 3px;
                  border: 1px solid #CFCFCF;
                  background: rgba(243, 243, 243, 0.5);
                  background-image: none !important; }
                .sidebar-main .sidebar-quickview .quickviewdetail-info .qv-infos--variants .qv-select-swatch .qv-swatch .qv-select-swap.qv-select-swap--color .qv-swatch-element label.sd {
                  border: 1px solid #000000; }
                .sidebar-main .sidebar-quickview .quickviewdetail-info .qv-infos--variants .qv-select-swatch .qv-swatch .qv-select-swap.qv-select-swap--color .qv-swatch-element label.unavai {
                  box-shadow: none;
                  overflow: hidden; }
                  .sidebar-main .sidebar-quickview .quickviewdetail-info .qv-infos--variants .qv-select-swatch .qv-swatch .qv-select-swap.qv-select-swap--color .qv-swatch-element label.unavai:before {
                    content: ' ';
                    display: block;
                    height: 100%;
                    left: 0;
                    margin: 0;
                    position: absolute;
                    top: 0;
                    width: 100%;
                    background: linear-gradient(to top left, transparent calc(50% - 1px), #e5e7eb, transparent calc(50% + 1px)); }
              .sidebar-main .sidebar-quickview .quickviewdetail-info .qv-infos--variants .qv-select-swatch .qv-swatch .qv-select-swap.qv-select-swap--size .qv-swatch-element {
                height: 38px;
                min-width: 38px; }
                .sidebar-main .sidebar-quickview .quickviewdetail-info .qv-infos--variants .qv-select-swatch .qv-swatch .qv-select-swap.qv-select-swap--size .qv-swatch-element label {
                  font-size: 10px;
                  display: flex;
                  align-items: center;
                  justify-content: center;
                  width: 100%;
                  height: 100%;
                  padding: 0 4px;
                  border-radius: 0px;
                  background: #fff;
                  border: 1px solid #000;
                  box-shadow: unset;
                  position: relative;
                  overflow: hidden; }
                .sidebar-main .sidebar-quickview .quickviewdetail-info .qv-infos--variants .qv-select-swatch .qv-swatch .qv-select-swap.qv-select-swap--size .qv-swatch-element:hover label:not(.soldout) {
                  background-color: #000;
                  border-color: #000;
                  color: #fff; }
                .sidebar-main .sidebar-quickview .quickviewdetail-info .qv-infos--variants .qv-select-swatch .qv-swatch .qv-select-swap.qv-select-swap--size .qv-swatch-element label.sd {
                  background-color: #000;
                  border-color: #000;
                  color: #fff; }
                .sidebar-main .sidebar-quickview .quickviewdetail-info .qv-infos--variants .qv-select-swatch .qv-swatch .qv-select-swap.qv-select-swap--size .qv-swatch-element label.soldout:before {
                  content: ' ';
                  display: block;
                  height: calc(100% - 2px);
                  left: 1px;
                  margin: 0;
                  position: absolute;
                  top: 1px;
                  width: calc(100% - 2px);
                  background: linear-gradient(to top left, transparent calc(50% - 1px), #e5e7eb, transparent calc(50% + 1px)); }
        .sidebar-main .sidebar-quickview .quickviewdetail-info .qv-infos--variants .qv-variant-selector-error {
          color: #F44336;
          font-weight: 500;
          margin-top: 10px;
          font-size: 0.875rem; }
    .sidebar-main .sidebar-quickview .quickviewdetail-gallery {
      position: relative;
      padding: 40px 0; }
      .sidebar-main .sidebar-quickview .quickviewdetail-gallery img {
        width: 100%; }
      .sidebar-main .sidebar-quickview .quickviewdetail-gallery .quickviewdetail-img {
        width: 100%;
        position: relative;
        padding-bottom: calc(3/2 * 100%);
        overflow: hidden;
        display: block;
        border: 1px solid #efefef; }
        .sidebar-main .sidebar-quickview .quickviewdetail-gallery .quickviewdetail-img.current {
          border: 1px solid #000; }
        .sidebar-main .sidebar-quickview .quickviewdetail-gallery .quickviewdetail-img img {
          width: 100%;
          height: 100%;
          position: absolute;
          top: 0;
          left: 0;
          object-fit: cover;
          object-position: bottom; }
      .sidebar-main .sidebar-quickview .quickviewdetail-gallery .swiper-button {
        position: absolute;
        z-index: 1;
        left: 0;
        right: 0;
        width: 100%;
        height: 30px;
        display: flex;
        align-items: center;
        justify-content: center; }
        .sidebar-main .sidebar-quickview .quickviewdetail-gallery .swiper-button svg {
          width: 16px;
          height: 16px; }
        .sidebar-main .sidebar-quickview .quickviewdetail-gallery .swiper-button.swiper-prev {
          top: 0; }
        .sidebar-main .sidebar-quickview .quickviewdetail-gallery .swiper-button.swiper-next {
          bottom: 0; }
        .sidebar-main .sidebar-quickview .quickviewdetail-gallery .swiper-button.swiper-button-disabled {
          opacity: 0.3;
          cursor: default; }
    .sidebar-main .sidebar-quickview .quickviewdetail-mainfeature {
      position: relative;
      padding-bottom: calc(4/3 * 100%);
      overflow: hidden; }
      .sidebar-main .sidebar-quickview .quickviewdetail-mainfeature img {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        object-fit: cover;
        object-position: bottom; }

/*-----------------------------------------------*/
/* BODY JS */
/*-----------------------------------------------*/
.overlay {
  background: rgba(34, 34, 34, 0.4);
  position: fixed;
  z-index: 14;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  visibility: hidden;
  display: none; }

html.open-sidebar-cart .sidebar-main, body.open-sidebar-cart .sidebar-main {
  opacity: 1;
  visibility: visible; }

html.open-sidebar-cart .sidebar-wrapper.sidebar-cart, body.open-sidebar-cart .sidebar-wrapper.sidebar-cart {
  opacity: 1;
  visibility: visible;
  -ms-transform: translateX(0);
  -webkit-transform: translateX(0);
  transform: translateX(0); }

html.open-sidebar-cart .sidebar-overlay, body.open-sidebar-cart .sidebar-overlay {
  opacity: 1;
  visibility: visible;
  display: block; }

html.open-sidebar-quickview .sidebar-main, body.open-sidebar-quickview .sidebar-main {
  opacity: 1;
  visibility: visible; }

html.open-sidebar-quickview .sidebar-wrapper.sidebar-quickview, body.open-sidebar-quickview .sidebar-wrapper.sidebar-quickview {
  opacity: 1;
  visibility: visible;
  -ms-transform: translateX(0);
  -webkit-transform: translateX(0);
  transform: translateX(0); }

html.open-sidebar-quickview .sidebar-overlay, body.open-sidebar-quickview .sidebar-overlay {
  opacity: 1;
  visibility: visible;
  display: block; }

html.open-menumobile .sidebar-main, body.open-menumobile .sidebar-main {
  opacity: 1;
  visibility: visible; }

html.open-menumobile .sidebar-wrapper.sidebar-menu, body.open-menumobile .sidebar-wrapper.sidebar-menu {
  opacity: 1;
  visibility: visible;
  -ms-transform: translateX(0);
  -webkit-transform: translateX(0);
  transform: translateX(0); }

html.open-menumobile .sidebar-overlay, body.open-menumobile .sidebar-overlay {
  opacity: 1;
  visibility: visible;
  display: block; }

html.open-search .main-header, body.open-search .main-header {
  z-index: 17; }

html.open-search .sidebar-overlay, body.open-search .sidebar-overlay {
  opacity: 1;
  visibility: visible;
  display: block; }

html.open-filtermb .overlay-filter-mb, body.open-filtermb .overlay-filter-mb {
  opacity: 1;
  visibility: visible;
  display: block; }

html.open-sidebar-filter .sidebar-main, body.open-sidebar-filter .sidebar-main {
  opacity: 1;
  visibility: visible; }

html.open-sidebar-filter .sidebar-wrapper.sidebar-filter, body.open-sidebar-filter .sidebar-wrapper.sidebar-filter {
  opacity: 1;
  visibility: visible;
  -ms-transform: translateX(0);
  -webkit-transform: translateX(0);
  transform: translateX(0); }

html.open-sidebar-filter .sidebar-overlay, body.open-sidebar-filter .sidebar-overlay {
  opacity: 1;
  visibility: visible;
  display: block; }

html.open-coupon .sidebar-main, body.open-coupon .sidebar-main {
  opacity: 1;
  visibility: visible; }

html.open-coupon .sidebar-wrapper.sidebar-coupon, body.open-coupon .sidebar-wrapper.sidebar-coupon {
  opacity: 1;
  visibility: visible;
  -ms-transform: translateX(0);
  -webkit-transform: translateX(0);
  transform: translateX(0); }

html.open-coupon .sidebar-overlay, body.open-coupon .sidebar-overlay {
  opacity: 1;
  visibility: visible;
  display: block; }

html.lock-scroll, body.lock-scroll {
  overflow: hidden; }

/* ============================================================ */
/* SITE HEADER                                                  */
/* ============================================================ */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: linear-gradient(0deg, var(--vb-red) 0%, var(--vb-red) 100%), linear-gradient(180deg, #000 -8.28%, transparent 100%);
  transition: background 0.3s, padding 0.3s, box-shadow 0.3s;
  /* Nav inline — ẩn mặc định, chỉ hiện khi sticky */
  /* Search toggle icon — hiện trên mobile (cả default và sticky) */ }
  .has-hero-banner .site-header {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.85) 0%, transparent 100%); }
  .site-header.is-scrolled {
    background: #000 !important; }
  .site-header.is-sticky {
    background: #000 !important;
    box-shadow: none; }
    .site-header.is-sticky .site-header__top {
      padding: 12px 80px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.3);
      gap: 24px; }
      @media (max-width: 991px) {
        .site-header.is-sticky .site-header__top {
          padding: 12px 20px; } }
    .site-header.is-sticky .site-header__logo img {
      width: 73px;
      height: 64px; }
    @media (max-width: 991px) {
      .site-header.is-sticky .site-header__logo img {
        width: 48px;
        height: 42px; } }
    .site-header.is-sticky .site-header__divider {
      height: 64px;
      display: block; }
    .site-header.is-sticky .site-header__tagline {
      display: block; }
    .site-header.is-sticky .site-header__partners {
      display: none; }
    .site-header.is-sticky .site-header__brand {
      gap: 12px;
      flex-shrink: 0; }
    .site-header.is-sticky .site-header__search {
      display: none; }
    .site-header.is-sticky .site-header__actions {
      gap: 20px;
      flex-shrink: 0; }
    .site-header.is-sticky .site-header__hamburger {
      display: none; }
    .site-header.is-sticky .site-header__nav-row {
      display: none; }
    .site-header.is-sticky .site-header__nav {
      display: none !important; }
    .site-header.is-sticky .site-header__nav-inline {
      display: flex !important;
      flex: 1;
      min-width: 0; }
    @media (max-width: 991px) {
      .site-header.is-sticky .site-header__top {
        padding: 12px 16px;
        border-bottom: 1px solid rgba(242, 242, 242, 0.26); }
      .site-header.is-sticky .site-header__nav-inline {
        display: none !important; }
      .site-header.is-sticky .site-header__hamburger {
        display: flex !important; }
      .site-header.is-sticky .site-header__brand {
        gap: 6px; }
      .site-header.is-sticky .site-header__tagline {
        display: block;
        font-size: 10px;
        width: 90px;
        line-height: 1.4; }
      .site-header.is-sticky .site-header__divider {
        display: none; }
      .site-header.is-sticky .site-header__actions {
        gap: 12px; } }
  .site-header__nav-inline {
    display: none;
    align-items: center;
    overflow: visible; }
  .site-header__nav-inline-list {
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0;
    flex-wrap: nowrap;
    overflow: visible; }
  .site-header__nav-inline-item {
    position: relative;
    flex-shrink: 0; }
  .site-header__nav-inline-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-family: var(--vb-font-body);
    font-size: 15px;
    font-weight: 600;
    color: #fff;
    text-transform: capitalize;
    text-decoration: none;
    white-space: nowrap;
    line-height: 1.4;
    transition: color 0.2s; }
    .site-header__nav-inline-link:hover {
      color: rgba(255, 255, 255, 0.75); }
    .site-header__nav-inline-link.is-active {
      color: #fff; }
  .site-header__nav-caret {
    flex-shrink: 0;
    transition: transform 0.25s ease; }
  .site-header__nav-inline-item.has-submenu:hover .site-header__nav-caret,
  .site-header__nav-item.has-submenu:hover .site-header__nav-caret {
    transform: rotate(180deg); }
  .site-header__submenu {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(10px);
    min-width: 210px;
    margin: 0;
    padding: 8px 0;
    list-style: none;
    background: #0d0203;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.45);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
    z-index: 1001; }
    .site-header__submenu::before {
      content: '';
      position: absolute;
      top: -12px;
      left: 0;
      right: 0;
      height: 12px; }
  .site-header__nav-inline-item.has-submenu:hover .site-header__submenu,
  .site-header__nav-item.has-submenu:hover .site-header__submenu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0); }
  .site-header__submenu-item {
    position: relative; }
  .site-header__submenu-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 18px;
    font-family: var(--vb-font-body);
    font-size: 14px;
    font-weight: 500;
    color: #fff;
    text-transform: capitalize;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.2s, color 0.2s; }
    .site-header__submenu-link:hover, .site-header__submenu-link.is-active {
      background: var(--vb-red, #a50419);
      color: #fff; }
  .site-header__submenu-caret {
    flex-shrink: 0;
    opacity: 0.8; }
  .site-header__flyout {
    position: absolute;
    top: -9px;
    left: 100%;
    min-width: 200px;
    margin: 0;
    padding: 8px 0;
    list-style: none;
    background: #0d0203;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.45);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(8px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
    z-index: 1002; }
  .site-header__submenu-item.has-flyout:hover > .site-header__flyout {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(0); }
  .site-header__flyout-link {
    display: block;
    padding: 10px 18px;
    font-family: var(--vb-font-body);
    font-size: 14px;
    font-weight: 500;
    color: #fff;
    text-transform: capitalize;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.2s, color 0.2s; }
    .site-header__flyout-link:hover, .site-header__flyout-link.is-active {
      background: var(--vb-red, #a50419);
      color: #fff; }
  .site-header__search-toggle {
    display: none !important;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    align-items: center;
    justify-content: center; }
    @media (max-width: 991px) {
      .site-header__search-toggle {
        display: flex !important; } }
    .is-sticky .site-header__search-toggle {
      display: flex !important; }
  .site-header__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 24px 80px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    gap: 24px; }
    @media (max-width: 991px) {
      .site-header__top {
        padding: 12px 16px;
        border-bottom-color: rgba(242, 242, 242, 0.26); } }
  .site-header__brand {
    display: flex;
    align-items: center;
    gap: 25px;
    flex-shrink: 0; }
    @media (max-width: 991px) {
      .site-header__brand {
        gap: 6px; } }
  .site-header__brand-id {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0; }
  .site-header__logo {
    display: flex;
    align-items: center;
    flex-shrink: 0; }
    .site-header__logo img {
      width: 73px;
      height: 64px;
      object-fit: contain;
      display: block; }
    @media (max-width: 991px) {
      .site-header__logo img {
        width: 48px;
        height: 42px; } }
  .site-header__tagline {
    font-family: var(--vb-font-body, "Plus Jakarta Sans", sans-serif);
    font-size: 12px;
    font-weight: 600;
    color: #fff;
    text-transform: uppercase;
    line-height: 1.5;
    width: 105px;
    margin: 0; }
    @media (max-width: 991px) {
      .site-header__tagline {
        display: block;
        font-size: 10px;
        width: 90px;
        line-height: 1.4; } }
  .site-header__divider {
    width: 1px;
    height: 64px;
    background: rgba(255, 255, 255, 0.3);
    flex-shrink: 0; }
    @media (max-width: 991px) {
      .site-header__divider {
        display: none; } }
  .site-header__partners {
    display: flex;
    align-items: center;
    gap: 28px; }
    @media (max-width: 1199px) {
      .site-header__partners {
        gap: 20px; } }
    @media (max-width: 991px) {
      .site-header__partners {
        display: none; } }
  .site-header__partner-img {
    height: 40px;
    width: auto;
    max-width: 140px;
    object-fit: contain;
    display: block; }
    @media (max-width: 1199px) {
      .site-header__partner-img {
        height: 28px;
        max-width: 100px; } }
  .site-header__actions {
    display: flex;
    align-items: center;
    gap: 54px; }
    @media (max-width: 991px) {
      .site-header__actions {
        gap: 12px; } }
  .site-header__icon {
    display: flex;
    align-items: center;
    justify-content: center; }
  @media (max-width: 991px) {
    .site-header__search {
      display: none; } }
  .site-header__search-form {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 323px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    padding-bottom: 12px; }
  .site-header__search-icon {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    flex-shrink: 0; }
  .site-header__search-input {
    background: none;
    border: none;
    outline: none;
    color: rgba(255, 255, 255, 0.79);
    font-family: var(--vb-font-body, "Plus Jakarta Sans", sans-serif);
    font-size: 16px;
    font-style: italic;
    font-weight: 400;
    width: 100%; }
    .site-header__search-input::placeholder {
      color: rgba(255, 255, 255, 0.79); }
  .site-header__icons {
    display: flex;
    align-items: center;
    gap: 20px; }
  .site-header__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    text-decoration: none;
    transition: opacity 0.2s;
    outline: none !important; }
    .site-header__icon:hover {
      opacity: 0.7; }
    .site-header__icon svg {
      width: 24px;
      height: 24px;
      display: block; }
  .site-header__cart-count {
    position: absolute;
    top: -6px;
    right: -10px;
    background: #ffffff;
    color: var(--vb-red, #a50419);
    font-size: 10px;
    font-weight: 700;
    width: 16px;
    height: 16px;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1; }
  .site-header__hamburger {
    display: none;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    align-items: center;
    justify-content: center; }
    .site-header__hamburger svg {
      width: 24px;
      height: 24px;
      display: block; }
    @media (max-width: 991px) {
      .site-header__hamburger {
        display: flex; } }
  .site-header__search-overlay {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: rgba(10, 2, 3, 0.97);
    z-index: 100;
    transform: translateY(-8px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
    border-top: 1px solid rgba(255, 255, 255, 0.15); }
    .site-header__search-overlay.is-open {
      transform: translateY(0);
      opacity: 1;
      visibility: visible;
      pointer-events: auto; }
  .site-header__search-overlay-inner {
    max-width: 1440px;
    margin: 0 auto;
    padding: 20px 80px; }
    @media (max-width: 991px) {
      .site-header__search-overlay-inner {
        padding: 16px 20px; } }
  .site-header__search-overlay-form {
    display: flex;
    align-items: center;
    gap: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    padding-bottom: 16px; }
    .site-header__search-overlay-form svg {
      flex-shrink: 0;
      width: 24px;
      height: 24px; }
  .site-header__search-overlay-input {
    flex: 1;
    background: none;
    border: none;
    outline: none;
    color: #fff;
    font-family: var(--vb-font-body, "Plus Jakarta Sans", sans-serif);
    font-size: 18px;
    font-weight: 400;
    font-style: italic;
    padding: 4px 0; }
    .site-header__search-overlay-input::placeholder {
      color: rgba(255, 255, 255, 0.5); }
    @media (max-width: 991px) {
      .site-header__search-overlay-input {
        font-size: 16px; } }
  .site-header__search-overlay-close {
    background: none;
    border: none;
    padding: 4px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    opacity: 0.7;
    transition: opacity 0.2s;
    outline: none !important; }
    .site-header__search-overlay-close:hover {
      opacity: 1; }
    .site-header__search-overlay-close svg {
      width: 24px;
      height: 24px; }
  .site-header__nav {
    padding: 16px 80px; }
    @media (max-width: 991px) {
      .site-header__nav {
        display: none; } }
  .site-header__nav-list {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
    list-style: none;
    margin: 0;
    padding: 0; }
  .site-header__nav-item {
    flex-shrink: 0;
    position: relative; }
  .site-header__nav-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-family: var(--vb-font-body, "Plus Jakarta Sans", sans-serif);
    font-size: 16px;
    font-weight: 600;
    color: #fff;
    text-transform: capitalize;
    text-decoration: none;
    white-space: nowrap;
    line-height: 1.4;
    transition: opacity 0.2s; }
    .site-header__nav-link:hover, .site-header__nav-link.is-active {
      opacity: 0.7;
      color: #fff; }
  .site-header__mobile-menu {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1100; }
    .site-header__mobile-menu.is-open {
      display: block; }
  .site-header__mobile-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.6); }
  .site-header__mobile-inner {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 280px;
    background: rgba(10, 2, 3, 0.98);
    padding: 24px 20px;
    display: flex;
    flex-direction: column;
    gap: 32px;
    overflow-y: auto;
    z-index: 1;
    transform: translateX(-100%);
    transition: transform 0.3s ease; }
    .is-open .site-header__mobile-inner {
      transform: translateX(0); }
  .site-header__mobile-close {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    display: flex;
    align-self: flex-end; }
    .site-header__mobile-close svg {
      width: 24px;
      height: 24px;
      display: block; }
  .site-header__mobile-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0; }
    .site-header__mobile-list li {
      border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
  .site-header__mobile-link {
    display: block;
    font-family: var(--vb-font-body, "Plus Jakarta Sans", sans-serif);
    font-size: 16px;
    font-weight: 600;
    color: #fff;
    text-transform: capitalize;
    text-decoration: none;
    padding: 16px 0;
    transition: color 0.2s; }
    .site-header__mobile-link:hover, .site-header__mobile-link.is-active {
      color: var(--vb-red, #a50419); }
  .site-header__mobile-row {
    display: flex;
    align-items: center;
    justify-content: space-between; }
    .site-header__mobile-row .site-header__mobile-link {
      flex: 1; }
  .site-header__mobile-toggle {
    background: none;
    border: none;
    padding: 8px;
    margin: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #fff;
    outline: none !important; }
    .site-header__mobile-toggle svg {
      width: 20px;
      height: 20px;
      display: block;
      transition: transform 0.25s ease; }
  .site-header__mobile-item.is-open > .site-header__mobile-row .site-header__mobile-toggle svg,
  .site-header__mobile-subitem.is-open > .site-header__mobile-row .site-header__mobile-toggle svg {
    transform: rotate(180deg); }
  .site-header__mobile-submenu {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease; }
    .site-header__mobile-submenu li {
      border-bottom: none; }
  .site-header__mobile-item.is-open > .site-header__mobile-submenu,
  .site-header__mobile-subitem.is-open > .site-header__mobile-submenu {
    max-height: 1200px; }
  .site-header__mobile-subitem {
    border-bottom: none; }
  .site-header__mobile-sublink {
    display: block;
    flex: 1;
    font-family: var(--vb-font-body, "Plus Jakarta Sans", sans-serif);
    font-size: 14px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.8);
    text-transform: capitalize;
    text-decoration: none;
    padding: 12px 0 12px 16px;
    transition: color 0.2s; }
    .site-header__mobile-sublink:hover, .site-header__mobile-sublink.is-active {
      color: var(--vb-red, #a50419); }
  .site-header__mobile-submenu--lv3 .site-header__mobile-sublink--lv3 {
    padding-left: 32px;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.65); }
  .site-header__mobile-search form {
    display: flex;
    align-items: center;
    gap: 8px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    padding-bottom: 8px; }
  .site-header__mobile-search input {
    flex: 1;
    background: none;
    border: none;
    outline: none;
    color: #fff;
    font-size: 14px; }
    .site-header__mobile-search input::placeholder {
      color: rgba(255, 255, 255, 0.5); }
  .site-header__mobile-search button {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    display: flex; }
    .site-header__mobile-search button svg {
      width: 20px;
      height: 20px; }

body {
  padding-top: 166px; }

body.has-hero-banner {
  padding-top: 0; }

@media (max-width: 991px) {
  body {
    padding-top: 66px; }
  body.has-hero-banner {
    padding-top: 0; } }

/* ============================================================ */
/* CHAT WIDGET                                                  */
/* ============================================================ */
.chat-widget {
  position: fixed;
  bottom: 32px;
  left: 24px;
  z-index: 9998;
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  gap: 12px; }

.chat-widget__toggle {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--vb-red, #a50419);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  transition: transform 0.2s, background 0.2s; }
  .chat-widget__toggle:hover {
    transform: scale(1.08); }
  .chat-widget__toggle .chat-widget__icon-close {
    display: none; }

.chat-widget__icon-custom {
  object-fit: contain;
  display: block;
  border-radius: 0;
  pointer-events: none; }

.chat-widget.is-open .chat-widget__toggle {
  background: #333; }
  .chat-widget.is-open .chat-widget__toggle .chat-widget__icon-open,
  .chat-widget.is-open .chat-widget__toggle .chat-widget__icon-custom {
    display: none; }
  .chat-widget.is-open .chat-widget__toggle .chat-widget__icon-close {
    display: block; }

.chat-widget__menu {
  display: flex;
  flex-direction: column;
  gap: 10px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity 0.25s, transform 0.25s, visibility 0.25s;
  pointer-events: none; }

.chat-widget.is-open .chat-widget__menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto; }

.chat-widget__item {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  transition: transform 0.2s; }
  .chat-widget__item:hover {
    transform: scale(1.1); }
  .chat-widget__item--fb {
    background: #0084FF; }
  .chat-widget__item--zalo {
    background: #0068FF; }
  .chat-widget__item--phone {
    background: #28a745; }

@media (max-width: 767px) {
  .chat-widget {
    bottom: 20px;
    left: 16px; }
  .chat-widget__toggle {
    width: 48px;
    height: 48px; }
  .chat-widget__item {
    width: 40px;
    height: 40px; } }

/* ============================================================ */
/* BREADCRUMB (snippets/breadcrumb.liquid)                      */
/* ============================================================ */
.site-breadcrumb {
  margin-bottom: 32px; }

.site-breadcrumb__list {
  display: flex;
  align-items: center;
  gap: 6px;
  list-style: none;
  padding: 0;
  margin: 0;
  flex-wrap: wrap;
  font-family: var(--vb-font-body);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  background: none;
  border-radius: 0; }

.site-breadcrumb__item {
  display: flex;
  align-items: center;
  gap: 6px; }
  .site-breadcrumb__item::after {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M9 18L15 12L9 6' stroke='rgba(0,0,0,0.4)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
    flex-shrink: 0; }
  .site-breadcrumb__item.is-active::after {
    display: none; }

.site-breadcrumb__link {
  color: rgba(0, 0, 0, 0.6);
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.2s; }
  .site-breadcrumb__link:hover {
    color: #000; }

.site-breadcrumb__current {
  color: #000;
  white-space: nowrap; }

@media (max-width: 767px) {
  .site-breadcrumb {
    margin-bottom: 20px; }
  .site-breadcrumb__list {
    font-size: 13px; }
  .site-breadcrumb__item::after {
    width: 16px;
    height: 16px; } }

/* ============================================================ */
/* PRODUCT LOOP CARD                                            */
/* ============================================================ */
.product-loop--wrap {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%; }

.product-loop--img-link {
  display: block;
  text-decoration: none; }

.product-loop--img {
  position: relative;
  background: var(--vb-red);
  aspect-ratio: 1 / 1;
  overflow: hidden; }
  .product-loop--img picture, .product-loop--img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease; }
  .product-loop--img:hover img {
    transform: scale(1.04); }

.product-loop--badge {
  position: absolute;
  top: 10px;
  left: 10px;
  font-family: var(--vb-font-body, "Plus Jakarta Sans", sans-serif);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  padding: 6px 6px;
  border-radius: 2px;
  color: #fff;
  z-index: 2;
  max-width: 80px; }
  .product-loop--badge-sale {
    background: var(--vb-red); }
  .product-loop--badge-soldout {
    background: #000000 !important; }

.product-loop--body {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-top: 24px;
  flex: 1; }

.product-loop--brand {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--vb-red);
  color: #fff;
  font-family: var(--vb-font-body, "Plus Jakarta Sans", sans-serif);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  text-transform: uppercase;
  padding: 6px 10px;
  width: fit-content; }

.product-loop--name {
  font-family: var(--vb-font-display, "Big Shoulders Display", sans-serif);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
  color: #000;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden; }
  .product-loop--name a {
    color: inherit;
    text-decoration: none; }
    .product-loop--name a:hover {
      color: var(--vb-red); }

.product-loop--prices {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap; }

.product-loop--price {
  font-family: var(--vb-font-body, "Plus Jakarta Sans", sans-serif);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  color: #000;
  white-space: nowrap; }
  .product-loop--price.is-sale {
    color: #fc0122; }

.product-loop--compare {
  font-family: var(--vb-font-body, "Plus Jakarta Sans", sans-serif);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  color: rgba(0, 0, 0, 0.6);
  text-decoration: line-through;
  white-space: nowrap; }

.product-loop--discount {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fc0122;
  color: #fff;
  font-family: var(--vb-font-body, "Plus Jakarta Sans", sans-serif);
  font-size: 10px;
  font-weight: 600;
  line-height: 1.5;
  padding: 2px 4px;
  border-radius: 2px;
  white-space: nowrap; }

.product-loop--atc {
  width: 100%;
  background: #fff;
  border: 1px solid var(--vb-red);
  color: var(--vb-red);
  font-family: var(--vb-font-body, "Plus Jakarta Sans", sans-serif);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.5;
  text-transform: capitalize;
  padding: 12px 24px;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
  margin-top: auto; }
  .product-loop--atc:hover:not(.disabled) {
    background: var(--vb-red);
    color: #fff; }
  .product-loop--atc.disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none; }

@media (max-width: 767px) {
  .product-loop--body {
    padding-top: 12px;
    gap: 8px; }
  .product-loop--brand {
    font-size: 10px;
    padding: 4px 6px; }
  .product-loop--name {
    font-size: 14px;
    line-height: 1.4; }
  .product-loop--prices {
    gap: 6px; }
  .product-loop--price {
    font-size: 14px;
    display: block;
    width: 100%; }
  .product-loop--compare {
    font-size: 11px; }
  .product-loop--discount {
    font-size: 9px;
    padding: 1px 3px; }
  .product-loop--atc {
    font-size: 12px;
    padding: 8px 12px; } }

/* ============================================================ */
/* AGE GATE                                                     */
/* ============================================================ */
.age-gate {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #4b0a0b;
  overflow: hidden; }
  .age-gate.is-hidden {
    display: none; }
  .age-gate__bg {
    position: absolute;
    inset: 0;
    z-index: 0; }
  .age-gate__bg-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block; }
  .age-gate picture {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block; }
    .age-gate picture .age-gate__bg-img {
      position: absolute; }
  .age-gate__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.3); }
  .age-gate__logo {
    position: absolute;
    top: 24px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2; }
    .age-gate__logo img {
      width: 180px;
      height: auto;
      max-height: 126px;
      object-fit: contain;
      display: block; }
    @media (max-width: 767px) {
      .age-gate__logo {
        display: none; } }
  .age-gate__logo-row {
    display: none;
    position: absolute;
    top: 45px;
    left: 0;
    right: 0;
    z-index: 2;
    align-items: center;
    gap: 12px;
    padding: 0 20px; }
    @media (max-width: 767px) {
      .age-gate__logo-row {
        display: flex; } }
  .age-gate__logo-line {
    flex: 1;
    height: 0;
    border-top: 2px dashed rgba(255, 255, 255, 0.4); }
  .age-gate__logo-img {
    flex-shrink: 0; }
    .age-gate__logo-img img {
      width: 122px;
      height: 85px;
      object-fit: contain;
      display: block; }
  .age-gate__line {
    position: absolute;
    top: 87px;
    height: 0;
    border-top: 2px dashed rgba(255, 255, 255, 0.4);
    z-index: 2;
    width: calc(50% - 100px); }
    .age-gate__line--left {
      left: -10px; }
    .age-gate__line--right {
      right: -10px; }
    @media (max-width: 767px) {
      .age-gate__line {
        display: none; } }
  .age-gate__content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
    max-width: 842px;
    width: 100%;
    padding: 0 20px;
    text-align: center; }
    @media (max-width: 767px) {
      .age-gate__content {
        max-width: 390px; } }
  .age-gate__text {
    display: flex;
    flex-direction: column;
    gap: 24px;
    align-items: center; }
  .age-gate__subtitle {
    font-family: var(--vb-font-body);
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0; }
    @media (max-width: 767px) {
      .age-gate__subtitle {
        font-size: 12px; } }
  .age-gate__title {
    font-family: var(--vb-font-display);
    font-size: clamp(40px, 8vw, 88px);
    font-weight: 800;
    line-height: 1.2;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: -2px;
    margin: 0; }
    @media (max-width: 767px) {
      .age-gate__title {
        font-size: 44px;
        letter-spacing: -2px; } }
  .age-gate__actions {
    display: flex;
    align-items: center;
    gap: 24px; }
    @media (max-width: 767px) {
      .age-gate__actions {
        flex-direction: column;
        gap: 12px;
        width: 100%; } }
  .age-gate__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 60px;
    padding: 18px 36px;
    font-family: var(--vb-font-body);
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    border: none;
    transition: opacity 0.2s, transform 0.2s;
    white-space: nowrap; }
    .age-gate__btn:hover {
      opacity: 0.9;
      transform: translateY(-1px); }
    @media (max-width: 767px) {
      .age-gate__btn {
        width: 100%; } }
    .age-gate__btn--no {
      background: #fff;
      color: var(--vb-red); }
    .age-gate__btn--yes {
      background: var(--vb-red);
      color: #fff;
      width: 198px; }
      @media (max-width: 767px) {
        .age-gate__btn--yes {
          width: 100%; } }
  .age-gate__desc {
    font-family: var(--vb-font-body);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    color: #fff;
    margin: 0;
    max-width: 474px; }
    @media (max-width: 767px) {
      .age-gate__desc {
        font-size: 13px; } }
  .age-gate__notice {
    position: absolute;
    bottom: 60px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 12px;
    border: 2px dashed rgba(255, 255, 255, 0.4);
    border-radius: 8px;
    padding: 16px 24px;
    white-space: nowrap;
    font-family: var(--vb-font-body);
    font-size: 12px;
    font-weight: 500;
    color: #fff;
    text-transform: capitalize; }
    .age-gate__notice svg {
      flex-shrink: 0;
      width: 20px;
      height: 20px; }
    @media (max-width: 767px) {
      .age-gate__notice {
        bottom: 40px;
        white-space: normal;
        text-align: center;
        width: 335px;
        max-width: calc(100% - 40px);
        padding: 16px 24px;
        font-size: 12px; } }

body.age-gate-active {
  overflow: hidden; }

.age-verified #age-gate {
  display: none !important; }

/* ============================================================ */
/* BACK TO TOP                                                  */
/* ============================================================ */
.back-to-top {
  position: fixed;
  bottom: 32px;
  right: 32px;
  width: 48px;
  height: 48px;
  background: var(--vb-red);
  color: #fff;
  border: none;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(16px);
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease, background 0.2s;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3); }
  .back-to-top:hover {
    background: var(--vb-red-bright);
    transform: translateY(-4px); }
  .back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0); }
  .back-to-top svg {
    width: 20px;
    height: 20px;
    display: block; }
  @media (max-width: 767px) {
    .back-to-top {
      bottom: 20px;
      right: 16px;
      width: 40px;
      height: 40px; } }

/* ============================================================ */
/* FLOATING CTA                                                 */
/* ============================================================ */
.floating-cta {
  position: fixed;
  right: 0;
  top: 60%;
  transform: translateY(-50%);
  z-index: 998; }
  .floating-cta__tab {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    background: var(--vb-red);
    padding: 12px 12px 56px;
    border: none;
    position: relative;
    width: 53px;
    cursor: pointer;
    transition: filter 0.2s;
    flex-shrink: 0;
    outline: none !important; }
    .floating-cta__tab:hover {
      filter: brightness(1.1); }
    @media (max-width: 767px) {
      .floating-cta__tab {
        background: rgba(165, 4, 25, 0.5);
        padding: 12px 8px 40px;
        width: 35px; } }
  .floating-cta__tab-arrow {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease; }
    .floating-cta__tab-arrow svg {
      width: 24px;
      height: 24px; }
    @media (max-width: 767px) {
      .floating-cta__tab-arrow {
        width: 20px;
        height: 20px; }
        .floating-cta__tab-arrow svg {
          width: 20px;
          height: 20px; } }
  .floating-cta.is-open .floating-cta__tab-arrow {
    transform: rotate(180deg); }
  .floating-cta__tab-text-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 29px; }
    @media (max-width: 767px) {
      .floating-cta__tab-text-wrap {
        height: 137px;
        width: 19px; } }
  .floating-cta__tab-text {
    font-family: var(--vb-font-display);
    font-size: 22px;
    font-weight: 700;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 2px;
    line-height: 1.3;
    white-space: nowrap;
    writing-mode: vertical-rl;
    transform: rotate(180deg); }
    @media (max-width: 767px) {
      .floating-cta__tab-text {
        font-size: 15px; } }
  .floating-cta__tab-img {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 53px;
    height: 56px;
    overflow: hidden;
    pointer-events: none; }
    .floating-cta__tab-img img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      object-position: bottom center;
      display: block; }
    @media (max-width: 767px) {
      .floating-cta__tab-img {
        width: 38px;
        height: 40px; } }

.floating-cta__popup {
  width: 493px;
  background: linear-gradient(180deg, #000 -76.48%, #FC0122 100%), #FFF;
  padding: 40px;
  position: fixed;
  bottom: 0;
  right: 0;
  display: none;
  z-index: 998; }
  .floating-cta__popup.is-open {
    display: block;
    animation: ctaSlideUp 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards; }
  .floating-cta__popup.is-closing {
    display: block;
    animation: ctaSlideDown 0.35s cubic-bezier(0.4, 0, 0.2, 1) forwards; }
  @media (max-width: 767px) {
    .floating-cta__popup {
      right: 0;
      width: 100%;
      border-radius: 16px 16px 0 0;
      padding: 32px 20px;
      background: linear-gradient(180deg, #000 -76.48%, #FC0122 100%), #FFF;
      z-index: 9999; } }

.floating-cta__close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 24px;
  height: 24px;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  transition: opacity 0.2s;
  outline: none !important; }
  .floating-cta__close:hover {
    opacity: 1; }
  .floating-cta__close svg {
    width: 24px;
    height: 24px; }
  @media (max-width: 767px) {
    .floating-cta__close {
      width: 20px;
      height: 20px; }
      .floating-cta__close svg {
        width: 20px;
        height: 20px; } }

.floating-cta__popup-head {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 16px; }

.floating-cta__popup-title-wrap {
  flex: 1;
  min-width: 0; }

.floating-cta__popup-title {
  font-family: var(--vb-font-display);
  font-size: 32px;
  font-weight: 700;
  line-height: 1.3;
  color: #fff;
  text-transform: uppercase;
  margin: 0; }
  @media (max-width: 767px) {
    .floating-cta__popup-title {
      font-size: 24px; } }

.floating-cta__popup-desc {
  font-family: var(--vb-font-body);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: #fff;
  margin: 0 0 24px;
  width: 100%; }

.floating-cta__popup-img {
  width: 164px;
  height: 84px;
  flex-shrink: 0;
  overflow: hidden; }
  .floating-cta__popup-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block; }
  @media (max-width: 767px) {
    .floating-cta__popup-img {
      width: 143px;
      height: 73px; } }

.floating-cta__fields {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 16px; }

.floating-cta__field {
  position: relative; }
  .floating-cta__field--date .floating-cta__field-icon {
    position: absolute;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none; }

.floating-cta__input {
  width: 100%;
  height: 56px;
  background: transparent;
  border: 1px solid #fff;
  color: #fff;
  font-family: var(--vb-font-body);
  font-size: 16px;
  font-weight: 600;
  padding: 0 24px;
  outline: none;
  transition: border-color 0.2s; }
  .floating-cta__input::placeholder {
    color: white; }
  .floating-cta__input:focus {
    border-color: white; }
  .floating-cta__input[type="date"]::-webkit-calendar-picker-indicator {
    opacity: 0; }
  .floating-cta__field--date .floating-cta__input {
    padding-right: 56px; }
  @media (max-width: 767px) {
    .floating-cta__input {
      font-size: 14px; } }

.floating-cta__checkbox-wrap {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  cursor: pointer;
  margin-bottom: 24px; }
  .floating-cta__checkbox-wrap input {
    display: none; }

.floating-cta__checkbox-box {
  width: 16px;
  height: 16px;
  border: 1px solid #fff;
  flex-shrink: 0;
  margin-top: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s; }
  .floating-cta__checkbox:checked + .floating-cta__checkbox-box {
    background: #fff; }
    .floating-cta__checkbox:checked + .floating-cta__checkbox-box::after {
      content: '';
      width: 8px;
      height: 5px;
      border-left: 2px solid var(--vb-red);
      border-bottom: 2px solid var(--vb-red);
      transform: rotate(-45deg) translateY(-1px);
      display: block; }

.floating-cta__checkbox-label {
  font-family: var(--vb-font-body);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: #fff; }

.floating-cta__link {
  color: #fff;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px; }
  .floating-cta__link:hover {
    color: rgba(255, 255, 255, 0.8); }

.floating-cta__submit {
  width: 100%;
  height: 56px;
  background: #fff;
  border: none;
  color: var(--vb-red);
  font-family: var(--vb-font-body);
  font-size: 16px;
  font-weight: 700;
  text-transform: capitalize;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  cursor: pointer;
  transition: background 0.2s, opacity 0.2s; }
  .floating-cta__submit:hover:not(:disabled) {
    background: #f5f5f5; }
  .floating-cta__submit:disabled {
    opacity: 1;
    cursor: not-allowed; }
    .floating-cta__submit:disabled svg path {
      stroke: #a50419; }
  .floating-cta__submit svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0; }
  @media (max-width: 767px) {
    .floating-cta__submit {
      gap: 4px; }
      .floating-cta__submit svg {
        width: 24px;
        height: 24px; } }

.floating-cta__success {
  font-family: var(--vb-font-body);
  font-size: 14px;
  color: #fff;
  text-align: center;
  margin-top: 12px;
  padding: 12px;
  background: rgba(255, 255, 255, 0.15); }

.floating-cta__overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 997; }
  @media (max-width: 767px) {
    .floating-cta__overlay.is-active {
      display: block; } }

@keyframes ctaSlideUp {
  from {
    opacity: 0;
    transform: translateY(100%); }
  to {
    opacity: 1;
    transform: translateY(0); } }

@keyframes ctaSlideDown {
  from {
    opacity: 1;
    transform: translateY(0); }
  to {
    opacity: 0;
    transform: translateY(100%); } }

/* ============================================================ */
/* SECTION CLUB                                                 */
/* ============================================================ */
.section-club {
  position: relative;
  height: 700px;
  overflow: hidden;
  display: flex;
  align-items: flex-start; }
  .section-club::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.3);
    z-index: 0;
    pointer-events: none; }
  .section-club__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
    z-index: 0; }
  .section-club__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 28px;
    padding: 81px 0; }
  .section-club__head {
    display: flex;
    flex-direction: column;
    gap: 32px; }
  .section-club__logo img {
    width: 197px;
    height: auto;
    object-fit: contain; }
  .section-club__title {
    font-family: var(--vb-font-display);
    font-size: clamp(40px, 6vw, 72px);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -2px;
    text-transform: uppercase;
    color: var(--vb-white);
    margin: 4px 0 0; }
  .section-club__desc {
    font-family: var(--vb-font-body);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    color: var(--vb-white);
    max-width: 521px;
    margin: 0; }
  .section-club__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--vb-white);
    color: var(--vb-red);
    font-family: var(--vb-font-body);
    font-size: 16px;
    font-weight: 700;
    text-transform: capitalize;
    padding: 16px 24px;
    text-decoration: none;
    width: 197px;
    transition: all 0.3s ease; }
    .section-club__btn:hover {
      background: var(--vb-red);
      color: var(--vb-white); }
    .section-club__btn svg path {
      transition: stroke 0.3s ease; }
    .section-club__btn:hover svg path {
      stroke: #fff; }
  @media (max-width: 767px) {
    .section-club {
      height: 600px;
      display: flex !important;
      align-items: flex-end; }
      .section-club .container {
        width: 100%;
        flex-shrink: 0; }
      .section-club__inner {
        padding: 40px 0 !important;
        gap: 32px !important; }
      .section-club__head {
        gap: 16px !important; }
      .section-club__logo img {
        width: 94px !important;
        height: 78px !important; }
      .section-club__title {
        font-size: 40px !important;
        letter-spacing: -1px;
        margin: 0; }
      .section-club__desc {
        font-size: 16px;
        max-width: 100%; }
      .section-club__btn {
        font-size: 14px !important;
        padding: 16px 32px !important;
        gap: 4px !important; }
        .section-club__btn svg {
          width: 20px;
          height: 20px; } }

/* ============================================================ */
/* SITE FOOTER                                                  */
/* ============================================================ */
.site-footer {
  background: var(--vb-dark-footer);
  color: var(--vb-white); }
  .site-footer__top {
    padding: 120px 0 80px;
    display: flex;
    flex-direction: column;
    gap: 60px; }
    @media (min-width: 992px) {
      .site-footer__top {
        flex-direction: row;
        gap: 129px;
        align-items: flex-start; } }
  .site-footer__brand {
    display: flex;
    flex-direction: column;
    gap: 15px;
    flex-shrink: 0; }
    @media (min-width: 992px) {
      .site-footer__brand {
        width: 305px; } }
    .site-footer__brand img {
      width: 197px;
      height: auto;
      object-fit: contain; }
  .site-footer__legal {
    font-family: var(--vb-font-body);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.4;
    color: var(--vb-white);
    margin: 0; }
  .site-footer__nav {
    flex: 1;
    display: flex;
    gap: 40px;
    flex-wrap: wrap; }
    @media (min-width: 992px) {
      .site-footer__nav {
        flex-wrap: nowrap; } }
  .site-footer__col {
    flex: 1;
    min-width: 160px;
    display: flex;
    flex-direction: column;
    gap: 24px; }
    .site-footer__col ul {
      list-style: none;
      padding: 0;
      margin: 0;
      display: flex;
      flex-direction: column;
      gap: 20px; }
  .site-footer__col-title {
    font-family: var(--vb-font-body);
    font-size: 15px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.65);
    text-transform: capitalize;
    margin: 0; }
  .site-footer__link {
    font-family: var(--vb-font-body);
    font-size: 18px;
    font-weight: 500;
    color: var(--vb-white);
    text-transform: uppercase;
    text-decoration: none;
    line-height: 1.5;
    transition: opacity 0.2s; }
    .site-footer__link:hover {
      opacity: 0.7;
      color: var(--vb-white); }
    .site-footer__link--red {
      color: var(--vb-red-bright); }
      .site-footer__link--red:hover {
        color: var(--vb-red-bright); }
    .site-footer__link--underline {
      text-decoration: underline; }
  .site-footer__contact-label {
    display: block;
    font-family: var(--vb-font-body);
    font-size: 18px;
    font-weight: 600;
    color: var(--vb-white);
    text-transform: uppercase;
    line-height: 1.5; }
  .site-footer__bottom {
    padding-bottom: 40px; }
  .site-footer__divider {
    height: 0;
    border: none;
    border-top: 2px dashed rgba(255, 255, 255, 0.3);
    margin-bottom: 34px; }
    @media (max-width: 767px) {
      .site-footer__divider {
        margin-top: 34px; } }
  .site-footer__bottom-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px; }
  .site-footer__policies {
    display: flex;
    gap: 40px;
    flex-wrap: wrap; }
  .site-footer__policy-link {
    font-family: var(--vb-font-body);
    font-size: 14px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.7);
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.2s; }
    .site-footer__policy-link:hover {
      color: var(--vb-white); }
  .site-footer__socials {
    display: flex;
    gap: 24px;
    align-items: center; }
  .site-footer__social {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    opacity: 0.8;
    transition: opacity 0.2s; }
    .site-footer__social:hover {
      opacity: 1; }
    .site-footer__social svg {
      width: 24px;
      height: 24px; }
  @media (max-width: 767px) {
    .site-footer__top {
      flex-direction: column;
      gap: 60px;
      padding: 60px 0 0; }
    .site-footer__brand {
      gap: 15px; }
      .site-footer__brand img {
        width: 136px;
        height: auto; }
    .site-footer__legal {
      font-size: 14px; }
    .site-footer__nav {
      flex-direction: column;
      gap: 40px;
      flex-wrap: nowrap; }
    .site-footer__col {
      gap: 20px; }
      .site-footer__col ul {
        gap: 14px; }
    .site-footer__link {
      font-size: 16px; }
    .site-footer__contact-label {
      display: inline;
      font-size: 16px; }
    .site-footer__bottom {
      padding-bottom: 60px; }
    .site-footer__bottom-inner {
      flex-direction: column;
      align-items: flex-start;
      gap: 40px; }
    .site-footer__policies {
      flex-direction: column;
      gap: 16px; }
    .site-footer__policy-link {
      font-size: 12px; }
    .site-footer__socials {
      gap: 24px; } }

/* ============================================================ */
/* BRAND LANDING PAGES — Giữ font gốc Big Shoulders + Plus Jakarta */
/* ============================================================ */
.temp-page--brand-budweiser,
.temp-page--brand-corona,
.temp-page--brand-hoegaarden,
.temp-page--brand-michelob {
  --vb-font-display: 'Big Shoulders Display', sans-serif;
  --vb-font-body: 'Plus Jakarta Sans', sans-serif;
  --skin-layout-title-font: "Big Shoulders Display", sans-serif;
  --skin-layout-text-font: "Plus Jakarta Sans", sans-serif;
  --skin-layout-special-font: "Big Shoulders Display", sans-serif; }
