/*=============================
  Variable CSS
===============================*/
:root {
    --body-font-family: "Open Sans", Helvetica, Arial, sans-serif;
    --heading-font-family: "Montserrat", Helvetica, Arial, sans-serif;
    --transparent-color:transparent;
    --primary-color:#3ea3a0;
    --secondary-color: #054d26;
    --body-font-color: #4a5565;
    --heading-font-color:#054d26;
    --paragraph-color: #4a5565;
    --placeholder-color:#828282;
    --menu-color:#B5B5B5;
    --section-background: #f9fbff;
    --section-background-two: #eef7ff;
    --section-background-three: #f4f4f4;
    --section-background-four: #fafafa;
    --body-font-size: 16px;
    --heading1-font-size:35px;
    --heading2-font-size:32px;
    --heading3-font-size:28px;
    --heading4-font-size:24px;
    --heading5-font-size:21px;
    --heading6font-size:18px;
    --p1-font-size: 18px;
    --p2-font-size: 16px;
    --p3-font-size: 14px;
    --body-font-weight: 400;
    --body-font-bold:600;
    --body-font-bolder: 700;
    --font-light:300;
    --line-height-p1:26px;
    --line-height-p2:24px;
    --line-height:1.2;
    --ghost-white: #f7fbff;
    --quote-color: #dcdfe5;
    --quote-color-two: #e5e5e5;
    --blog-meta-color: #6a6a6a;
    --lily-white: #e8faff;
    --widget-border-color: #d6d6d6;
    --widget-border-color-two: #efefef;
    --widget-border-color-three:#E5E5E5;
    --widget-border-color-four:#666666;
    --contact-border-color: #c8c8c8;
    ---border30-radius:30px;
    ---border20-radius:20px;
    ---border10-radius:10px;
    ---border5-radius:5px;
    --bright-turquoise: #17c7f8;
    --blue: #1c9cea;
    --blue-two: #4378e1;
    --blue-three: #14b9e9;
    --navy-blue: #082da3;
    --violets-blue: #816ef6;
    --zircon: #f4f7ff;
    --indigo: #6610f2;
    --purple: #b12aff;
    --purple-two: #e056fd;
    --magnolia: #fbf5ff;
    --pink: #ff0099;
    --red: #f9185d;
    --red-two: #ef162f;
    --blush: #fff7f9;
    --orange: #fb491a;
    --orange-two: #ff4d24;
    --sauvignon: #fff8f6;
    --yellow: #fabf1f;
    --yellow-two: #ecb40b;
    --yellow-three: #e1ab43;
    --yellow-four: #e29104;
    --island-spice: #fffaec;
    --green: #07e09b;
    --green-two: #22d361;
    --clear: #effffa;
    --teal: #20c997;
    --brown:#AF144B;
    --bubbles: #eafffb;
    --cyan: #f5f8ff;
    --white: #ffffff;
    --black: #1b1d21;
    --black-two: #010102;
    --black-three: #2D2D2D;
    --rich-black: #071022;
    --gray: #dcdcdc;
    --gray-two: #ebf2ff;
    --gray-three: #d7d7d7;
    --gray-four: #f6f9ff;
    --gray-five: #c2c2c2;
    --gray-six: #f8f8f8;
    --gray-seven: #e1e1e1;
    --gray-eight: #646464;
    --gray-nine: #9f9f9f;
    --facebook: #1877f2;
    --twitter: #1c9cea;
    --instagram: #833ab4;
    --linkedin: #0077b5;
    --pinterest: #e60023;
    --youtube: #c4302b;
    --skype: #00aff0;
    --scale: scale(1.05);

    --marquee-width: 100%;
    --marquee-height: 120px;
    --marquee-elements-displayed: 6;
    --marquee-element-width: calc(var(--marquee-width) / var(--marquee-elements-displayed));
    --marquee-animation-duration: calc(var(--marquee-elements) * 20s);
}

* {
    margin:0;
    padding:0;
}
body {
    width: 100%;
    height: 100%;
    font-family: var(--body-font-family);
    margin:0 auto;
    font-weight:var(--body-font-weight);
    color:var(--paragraph-color);
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    text-rendering:optimizeLegibility;
    background:var(--white);
    overflow-x: hidden;
    position: relative;
}
html {
  width: 100%;
  height: 100%;
}
a {
  text-decoration:none;
  outline:none;
  color: #9B9B9B;
}
a:hover {
  text-decoration: none;
}
a img {
  border: 0px none;
}
a:hover {
  outline: none;
}
a:active {
  outline: none;
  text-decoration: none;
}
a:focus {
  outline: none;
  outline-offset: 0px;
  text-decoration: none;
/*  color:#fff;*/
}
.clear {
  clear:both;
  overflow:hidden;
  height:0px;
  font-size:0px;
}
.clear_l {
  clear:both;
}
ul, ol {
  padding:0px;
  margin:0px;
  list-style:none;
}
input:focus, select:focus, textarea:focus, button:focus {
  outline:none;
  box-shadow:none;
}
h1, h2, h3, h4, h5, h6, p {
  margin:0px;
  padding:0px;
}
h1, h2, h3, h4, h5, h6{
    font-family: var(--heading-font-family);
}
p {
    margin-top: 0;
    line-height:1.5;
    margin-bottom: 1rem;
}
article, section, footer, header, figure, aside, hgroup, nav {
  display:block;
}
header, nav, article, footer, section, aside, figure, figcaption {
  display:block
}
.btn,
.btn:focus,
button {
  outline: none;
  border: none;
  box-shadow: none;
}
a:hover, .btn:hover{
  -moz-transition: 0.4s all;
  -o-transition: 0.4s all;
  -webkit-transition: 0.4s all;
  transition: 0.4s all; 
}
select,
select:focus,
input:focus,
.btn:focus,
textarea:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="time"]:focus,
input[type="week"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="color"]:focus,
.uneditable-input:focus {   
  border-color: rgba(0, 0, 0, 0.8);
  box-shadow:none;
  outline:none;
  border-top-color: none;
  border-right-color: none;
  border-left-color: none;
}
.noPadding{
  padding:0;
}
.page-item.active .page-link {
    background-color: #567c32;
    border-color: #567c32;
}
/* :: 6.0 Buttons CSS */
.btn:focus {
  box-shadow: none;
}
embed, iframe, object {
    max-width: 100%;
}
input:focus, textarea:focus, .form-control:focus {
    outline: none;
    box-shadow: 0 5px 20px rgb(95 99 242 / 10%);
}

/**** Margin Section ***/

.mt-100 {
    margin-top: 100px;
}
.mt-15{
    margin-top:6rem;
}
.pt-30{
  padding-top: 30px;
}
.pt-60{
  padding-top: 60px;
}
.pt-80{
  padding-top: 80px;
}
.pt-120{
  padding-top: 120px;
}
.pt-160{
  padding-top: 160px;
}
.pb-30{
  padding-bottom: 30px;
}
.pb-60{
  padding-bottom: 60px;
}
.pb-80{
  padding-bottom: 80px;
}
.pb-120{
  padding-bottom:120px;
}
.pb-160{
  padding-bottom:160px;
}
.ptb-60 {
    padding:60px 0;
}
.ptb-80 {
    padding:80px 0;
}
.ptb-100 {
    padding:100px 0;
}
.ptb-120 {
    padding: 120px 0;
}
.ptb-160 {
    padding: 160px 0;
}
.rounded-custom {
    border-radius: 1rem !important;
}

/**** End Margin Section ***/
.w-100vw {
    min-width: 100vw !important;
}
/* Fix: don't override Bootstrap height utilities with viewport min-heights */
.h-100 {
    height: 100% !important;
}
.h-75 {
    height: 75% !important;
}
.h-50 {
    height: 50% !important;
}
.h-25 {
    height: 25% !important;
}

.bottom-ve{
  position: relative;
  z-index:1;
  margin-bottom: -12rem;
}
.bg-lighter{
  background:#fbf9fa;
}

/**** Btn Section ***/

.btn:focus, 
.btn:active:focus, 
.btn.active:focus{
    outline:none;
    box-shadow:none;
}

/**** End Btn Section ***/

.bg-light-subtle {
    background-color: #fafafa !important;
}
.v-middle {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 0;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
}

/*----------------------------------------*/
/* 03 - Background Position & Size 
/*----------------------------------------*/
 .bg-cover{
    background-size: cover;
}
 .bg-contain{
    background-size: contain;
}
 .bg-pos-l{
    background-position: left;
}
 .bg-pos-r{
    background-position: right;
}
 .bg-pos-rt{
    background-position: right top;
}
 .bg-pos-lt{
    background-position: left top;
}
 .bg-pos-rb{
    background-position: right bottom;
}
 .bg-pos-lb{
    background-position: left bottom;
}
.bg-dark{
    background:#111 !important;
    background-color:#111;
}
.bg-light-dark{
    background:#2b2b2b;
}
.bg-green{
    background:var(--primary-color) !important;
}

/*------------ button ---------------- */
.tf-btn {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  background-color: var(--primary-color);
  color: var(--white);
  padding: 12px 35px;
  border-radius: 99px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 16px;
  line-height: 26px;
  font-weight: 600;
  text-transform: capitalize;
  border: 1px solid var(--primary-color);
  position: relative;
  overflow: hidden;
}
.tf-btn span {
  color: inherit;
}
.tf-btn .icon {
  font-size: 22px;
}
.tf-btn .text,
.tf-btn .icon {
  position: relative;
  z-index: 2;
}
.tf-btn.btn-lg {
  padding: 16px 32px;
}
.tf-btn.btn-md {
  padding: 10px 24px;
}
.tf-btn:not(.btn-reset):after {
  content: "";
  position: absolute;
  bottom: -50%;
  width: 102%;
  height: 100%;
  background-color: var(--white);
  transform-origin: bottom center;
  transition: transform 600ms cubic-bezier(0.48, 0, 0.12, 1);
  transform: skewY(9.3deg) scaleY(0);
  z-index: 1;
}
.tf-btn:not(.btn-reset):hover {
  color: var(--secondary-color);
}
.tf-btn:not(.btn-reset):hover::after {
  transform-origin: bottom center;
  transform: skewY(9.3deg) scaleY(2);
}
.tf-btn.btn-reset:hover {
  background-color: var(--primary-color);
  border-color: var(--primary-color);
  color: var(--white);
}
.tf-btn.btn-white {
  background-color: var(--white);
  border: none;
  color: var(--secondary-color);
}
.tf-btn.btn-white:hover {
  color: var(--white);
}
.tf-btn.btn-white::after {
  background-color: var(--primary);
}
.tf-btn.btn-white.has-border {
  border: 1px solid var(--secondary-color);
}
.tf-btn.btn-white.has-border:hover {
  border-color: var(--primary-color);
}
.tf-btn.btn-square {
  border-radius: 8px;
}
.tf-btn.radius-4 {
  border-radius: 4px;
}

.tf-btn.btn-outlined-green {
  background-color:transparent;
  color:#3ea3a0;
  border:1px solid #3ea3a0;
}
.tf-btn.btn-outlined-green:hover {
  color: var(--white);
}
.tf-btn.btn-outlined-green::after {
  background-color:#3ea3a0;
}

.tf-btn.btn-outlined-darkgreen {
  background-color:transparent;
  color:#054d26;
  border:1px solid #054d26;
}
.tf-btn.btn-outlined-darkgreen:hover {
  color: var(--white);
}
.tf-btn.btn-outlined-darkgreen::after {
  background-color:#054d26;
}

.btn-line {
  font-size: 16px;
  line-height: 26px;
  padding-bottom: 4px;
  font-weight: 600;
  color: var(--secondary-color);
  position: relative;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: linear-gradient(to right, var(--primary) 50%, var(--main) 50%);
  background-size: 200% 100%;
  background-position: right;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: background-position 0.3s linear;
}
.btn-line::after {
  position: absolute;
  content: "";
  left: 0;
  bottom: 0;
  right: 0;
  height: 2px;
  background-color: var(--secondary-color);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.btn-line::before {
  position: absolute;
  content: "";
  left: 0;
  width: 0;
  bottom: 0;
  height: 2px;
  background-color: var(--primary-color);
  transition: width 0.3s linear;
  z-index: 1;
}
.btn-line.style-white {
  color: var(--white);
  background: linear-gradient(to right, var(--primary-color) 50%, var(--white) 50%);
  background-size: 200% 100%;
  background-position: right;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: background-position 0.3s linear;
}
.btn-line.style-white::after {
  background-color: var(--white);
}
.btn-line:hover {
  background-position: left;
}
.btn-line:hover::before {
  width: 100%;
}
.btn-line.has-icon {
  gap: 7px;
  padding-top: 4px;
}
.btn-line.has-icon i {
  font-size: 25px;
}

.tf-btn-default {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  line-height: 20px;
}
.tf-btn-default i {
  font-size: 20px;
}
.tf-btn-default:hover {
  color: var(--primary-color);
}
.tf-btn-default.style-white {
  color: var(--white);
}
.tf-btn-default.style-white:hover {
  color: var(--primary-color);
}

.btn-style-1 {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 7px 15px;
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 14px;
  font-weight: 400;
  line-height: 22px;
  height: 36px;
}

.btn-style-2 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  padding: 14px 15px;
  border-radius: 999px;
  background-color: var(--main);
  color: var(--white);
  letter-spacing: 0.1em;
  border: 0;
}
.btn-style-2:hover {
  background-color: var(--primary-color);
  color: var(--white);
}
.btn-style-2.btn-lg {
  padding: 16px 40px;
}
.btn-style-2.btn-lg-2 {
  padding: 15px;
}

.btn-style-3 {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 15px;
  border-radius: 999px;
  background-color: var(--primary);
  color: var(--white);
  letter-spacing: 0.1em;
}
.btn-style-3:hover {
  background-color: var(--main);
}

.btn-style-4 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  padding: 15px 39px;
  border-radius: 4px;
  border: 1px solid var(--main);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
}
.btn-style-4:hover {
  background-color: var(--main);
  color: var(--white);
}

.btn-style-5 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: max-content;
  padding: 15px 39px;
  border-radius: 4px;
  border: 1px solid rgb(254, 167, 36);
  background-color: rgb(254, 167, 36);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
}
.btn-style-5:hover {
  background-color: var(--white);
  border-color: var(--main);
  color: var(--main);
}

.btn-style-6 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: max-content;
  padding: 12px 24px;
  border-radius: 99px;
  background-color: var(--white);
  border: 0;
  color: var(--main);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
}
.btn-style-6 .icon {
  font-size: 24px;
}
.btn-style-6:hover {
  background-color: var(--main);
  color: var(--white);
}

.btn-sold-out {
  pointer-events: none;
  background-color: var(--line) !important;
  color: var(--secondary-2) !important;
  cursor: no-drop;
}

.btn-out-line {
  padding: 10px 40px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
  border-radius: 44px;
  border: 2px solid var(--line);
  background-color: var(--white);
  color: var(--main);
}
.btn-out-line:hover {
  color: var(--primary);
}

/*****  Owl dots Css  ******/
.owl-dots .owl-dot,
.owl-dots .owl-dot {
  background: transparent;
}
.owl-dots .owl-dot span,
.owl-dots .owl-dot span {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 0;
  margin: 0 1px;
  background: #fff;
  border: 1px solid #0061B2;
  background: transparent !important;
}
.owl-dots .owl-dot.active span,
.owl-dots .owl-dot.active span {
  background-color:#0061B2 !important;
  border-radius: 20px;
  border-color:#0061B2;
}
.slidenav-left.owl-theme .owl-dots,
.slidenav-left.owl-theme .owl-nav {
  text-align:center;
}
.slidenav-right.owl-theme .owl-dots,
.slidenav-right.owl-theme .owl-nav {
  text-align: right;
}
.owl-theme .owl-nav.disabled+.owl-dots {
  margin-top: 2rem;
}

.odometer.odometer-auto-theme,
.odometer.odometer-theme-default {
    display: inline-block;
    vertical-align: middle;
    position: relative
}

.odometer.odometer-auto-theme .odometer-digit,
.odometer.odometer-theme-default .odometer-digit {
    display: inline-block;
    vertical-align: middle;
    position: relative
}
.odometer.odometer-auto-theme .odometer-digit .odometer-digit-spacer,
.odometer.odometer-theme-default .odometer-digit .odometer-digit-spacer {
    display: inline-block;
    vertical-align: middle;
    visibility: hidden
}
.odometer.odometer-auto-theme .odometer-digit .odometer-digit-inner,
.odometer.odometer-theme-default .odometer-digit .odometer-digit-inner {
    text-align: left;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden
}
.odometer.odometer-auto-theme .odometer-digit .odometer-ribbon,
.odometer.odometer-theme-default .odometer-digit .odometer-ribbon {
    display: block
}
.odometer.odometer-auto-theme .odometer-digit .odometer-ribbon-inner,
.odometer.odometer-theme-default .odometer-digit .odometer-ribbon-inner {
    display: block;
    -webkit-backface-visibility: hidden
}

.odometer.odometer-auto-theme .odometer-digit .odometer-value,
.odometer.odometer-theme-default .odometer-digit .odometer-value {
    display: block;
    -webkit-transform: translateZ(0)
}
.odometer.odometer-auto-theme .odometer-digit .odometer-value.odometer-last-value,
.odometer.odometer-theme-default .odometer-digit .odometer-value.odometer-last-value {
    position: absolute
}
.odometer.odometer-auto-theme.odometer-animating-up .odometer-ribbon-inner,
.odometer.odometer-theme-default.odometer-animating-up .odometer-ribbon-inner {
    -webkit-transition: -webkit-transform 2s;
    transition: -webkit-transform 2s;
    transition: transform 2s;
    transition: transform 2s, -webkit-transform 2s
}
.odometer.odometer-auto-theme.odometer-animating-up.odometer-animating .odometer-ribbon-inner,
.odometer.odometer-theme-default.odometer-animating-up.odometer-animating .odometer-ribbon-inner {
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    transform: translateY(-100%)
}
.odometer.odometer-auto-theme.odometer-animating-down .odometer-ribbon-inner,
.odometer.odometer-theme-default.odometer-animating-down .odometer-ribbon-inner {
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    transform: translateY(-100%)
}
.odometer.odometer-auto-theme.odometer-animating-down.odometer-animating .odometer-ribbon-inner,
.odometer.odometer-theme-default.odometer-animating-down.odometer-animating .odometer-ribbon-inner {
    -webkit-transition: -webkit-transform 2s;
    transition: -webkit-transform 2s;
    transition: transform 2s;
    transition: transform 2s, -webkit-transform 2s;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
}
.odometer.odometer-auto-theme,
.odometer.odometer-theme-default {
    font-family: inherit;
    line-height: 1.1em
}
.odometer.odometer-auto-theme .odometer-value,
.odometer.odometer-theme-default .odometer-value {
    text-align: center
}

.bg-gray {
    background:#18191b;
}
.default-padding-bottom {
    padding-bottom: 120px;
}
.background-image {
    position: relative;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: top center !important;
}
.fix {
    overflow: hidden;
}
.bg-overlay:before{
  content:"";
  background: rgba(0, 0, 0, 0.3);
  width:100%;
  height:100%;
  position: absolute;
  top:0;
  height:0;
}
.bg-overlay-2::before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    content: "";
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000 100%);
}


/*------------ Header ---------------- */

/*--------- Abstracts variable ---------- */
.tf-header-block-height {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

header {
  position: sticky;
  z-index: 100;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
header.header-sticky:not(.header-s5, .header-abs) {
  background: var(--white);
}
header.header-sticky.scr-box-shadow {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
}
header.header-sticky.scr-box-shadow-2 .header-inner {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
}
header.header-sticky.header-abs .swip-text {
  opacity: 0;
  visibility: hidden;
}
header.header-sticky.header-s7.hds7-type-2 {
  background: rgba(114, 114, 114, 0.6);
  backdrop-filter: blur(12px);
}
@media (min-width: 1200px) {
  header.header-sticky.has-by-category:not(.header-s8) {
    background: transparent;
  }
  header.header-sticky.has-by-category:not(.header-s8) .header-inner_wrap {
    background: var(--white);
  }
  header.header-sticky.has-by-category:not(.header-s8) .header-bottom_wrap {
    background: var(--white);
  }
  header.header-sticky.has-by-category.header-s8 {
    background: transparent;
  }
  header.header-sticky.has-by-category.header-s8 .header-bottom_wrap {
    border-bottom: 1px solid var(--line);
  }
  header.header-sticky.has-by-category.header-s8 .header-bottom_wrap {
    background: var(--white);
  }
}

.tf-header .box-open-menu-mobile {
  flex: 1;
  display: flex;
}
@media (max-width: 1199px) {
  .tf-header {
    padding-top: 15px;
    padding-bottom: 15px;
  }
  .tf-header .logo-site img {
    max-width: 120px;
  }
  .tf-header .header-inner {
    align-items: center;
  }
  .tf-header .header-inner .header-left {
    flex: unset;
  }
}

.tf-header .tf-dropdown-select.type-currencies > .dropdown-menu {
  width: max-content !important;
}

.header-abs {
  background: transparent;
  margin-top: 15px;
  margin-bottom: -75px;
}
.header-abs .header-inner_wrap {
  position: relative;
  z-index: 2;
}
.header-abs .swip-text {
  margin-top: 16px;
}
.header-abs .header-inner {
  padding-left: 20px;
  padding-right: 20px;
  background: var(--white);
  border-radius: 12px;
}
.header-abs .header-left {
  display: flex;
  align-items: center;
  gap: 40px;
}
.header-abs .header-right {
  gap: 28px;
}
.header-abs .nav-category-wrap {
  min-width: 218px;
}
@media (min-width: 1200px) {
  .header-abs {
    margin-top: 20px;
    margin-bottom: -142px;
  }
  .header-abs .header-left,
  .header-abs .header-right {
    flex: unset !important;
  }
}
@media (min-width: 1600px) {
  .header-abs {
    margin-top: 40px;
    margin-bottom: -162px;
  }
  .header-abs .header-inner {
    padding-left: 40px;
    padding-right: 40px;
  }
  .header-abs .form-search-nav {
    min-width: 340px;
  }
}
@media (max-width: 1199px) {
  .header-abs {
    padding-top: 0;
    padding-bottom: 0;
  }
  .header-abs .header-inner {
    padding-top: 15px;
    padding-bottom: 15px;
  }
}
.header-abs-3 {
  margin-bottom: -124px;
}
@media (max-width: 1199px) {
  .header-abs-3 {
    margin-bottom: -60px;
  }
}

.header-s3 .header-center {
  flex: 2;
}
.header-s3 .item-link {
  padding-top: 15px;
  padding-bottom: 15px;
}
.header-s3 .header-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header-s3 .header-bottom .col-left {
  display: flex;
  align-items: center;
  gap: 40px;
}
@media (min-width: 1200px) {
  .header-s3 .header-inner {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .header-s3 .header-inner_wrap,
  .header-s3 .header-bottom_wrap {
    position: relative;
  }
  .header-s3 .header-inner_wrap::before,
  .header-s3 .header-bottom_wrap::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: var(--line);
  }
  .header-s3::before {
    display: none;
  }
}

.has-by-category .box-open-header-bottom {
  display: none;
  margin-right: 20px;
}
.has-by-category.header-sticky {
  pointer-events: none;
}
.has-by-category.header-sticky > * {
  pointer-events: all;
}
.has-by-category.header-sticky .box-open-header-bottom {
  display: block;
}
.has-by-category .header-bottom_wrap {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  margin-top: 0;
  opacity: 1;
  visibility: visible;
}
.has-by-category .header-bottom_wrap.hide {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
@media (max-width: 1199px) {
  .has-by-category .box-open-header-bottom {
    display: none !important;
  }
}

.btn-open-header-bottom {
  display: flex;
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.header-inner .header-left,
.header-inner .header-right {
  flex: 1;
}
.header-inner .header-right {
  display: flex;
  justify-content: flex-end;
}

.nav-icon-list {
  display: flex;
  align-items: center;
  gap: 24px;
}
.nav-icon-list .nav-icon-item {
  display: flex;
}
.nav-icon-list .nav-icon-item .icon {
  font-size: 24px;
}
.nav-icon-list .nav-icon-item.has-text {
  display: flex;
  align-items: center;
  gap: 12px;
}
.nav-icon-list .shop-cart {
  position: relative;
}
.nav-icon-list .shop-cart .count {
  position: absolute;
  top: -4px;
  right: -4px;
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 11px;
  line-height: 10px;
  color: var(--white);
  background: var(--primary);
}

/* =============================
   Volcanoes header (screenshot)
   ============================= */

/* Screenshot header doesn't use the old topbar */
.tf-topbar {
    display: none !important;
}

.header-s3.tf-header {
    background: var(--white);
    position: sticky;
    top: 0;
    z-index: 1000;
}

.tf-header.is-sticky {
    box-shadow: 0 10px 25px rgba(43, 52, 74, 0.10);
}

/* Top row layout */
.header-s3 .header-inner_wrap {
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.header-s3 .header-inner {
    gap: 18px;
}

.header-s3 .box-open-menu-mobile {
    flex: 0 0 auto;
}

.header-s3 .logo-site img {
    height:130px;
    border-radius: 999px;
    object-fit: contain;
    background: transparent;
}

/* Search: match screenshot (single rounded input) */
.header-s3 .form_search-product {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 680px;
    margin: 0 auto;
}

.header-s3 .form_search-product .select-category,
.header-s3 .form_search-product .br-line.type-vertical {
    display: none !important;
}

.header-s3 .form_search-product .fieldset-search {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    height: 44px;
    padding: 0 14px;
    border: 1px solid rgba(0, 0, 0, 0.10);
    border-radius: 999px;
    background: #f8f6ef;
}

.header-s3 .form_search-product .fieldset-search .vl-search-feather {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    color: #7b8699;
}

.header-s3 .feather {
    width: 18px;
    height: 18px;
    stroke-width: 2;
}

.header-s3 .form_search-product .fieldset-search .ipt {
    width: 100%;
    border: 0;
    background: transparent;
    font-size: 14px;
    color: var(--heading-font-color);
}

.header-s3 .form_search-product .fieldset-search .ipt::placeholder {
    color: #8b95a5;
}

/* Right side controls (EN / USD / ACCOUNT / CART) */
.header-s3 .nav-icon-list {
    gap: 0;
}

.header-s3 .nav-icon-list > li {
    position: relative;
    display: flex;
    align-items: center;
}
.header-s3 .nav-icon-list > li + li {
    padding-left: 18px;
    margin-left: 18px;
}
.header-s3 .nav-icon-list > li + li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 18px;
    background: rgba(0, 0, 0, 0.14);
}

.vl-cart {
    border: 0;
    background: transparent;
    padding: 0;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--heading-font-color);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 20px;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.header-s3 .vl-icon {
    width: 18px;
    height: 18px;
    color: #3eb397;
}

.header-s3 .vl-cart .vl-icon {
    color: #2f9f91;
    display: block !important;
    flex: 0 0 auto;
    height: 20px;
    opacity: 1;
    stroke-width: 1.9;
    visibility: visible;
    width: 20px;
}

.header-s3 .vl-dd .vl-icon {
    color: #2f9f91;
    display: block;
    flex: 0 0 auto;
    stroke-width: 1.8;
}

.header-s3 .vl-dd [data-feather="globe"].vl-icon {
    color: #2f9f91;
}

.header-s3 .vl-dd {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 20px;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--heading-font-color);
}

.header-s3 .vl-dd::after {
    content: "";
    position: absolute;
    right: 1px;
    top: 50%;
    width: 7px;
    height: 7px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    pointer-events: none;
    transform: translateY(-65%) rotate(45deg);
}

.header-s3 .vl-dd select {
    width: auto;
    min-width: auto;
    height: 20px;
    line-height: 20px;
    background: transparent !important;
    background-image: none !important;
    border: 0;
    font: inherit;
    color: inherit;
    font-weight: 600;
    padding: 0 17px 0 0;
    box-shadow: none;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.header-s3 .vl-dd select[name="lang"] {
    width: 39px;
}

.header-s3 .vl-dd select[name="currency"] {
    width: 54px;
}

.header-s3 .vl-dd select[name="account"] {
    width: 96px;
}

.header-s3 .vl-account-menu {
    position: relative;
}

.header-s3 .vl-account-menu__toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--heading-font-color);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 20px;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    cursor: pointer;
}

.header-s3 .vl-account-menu__toggle .vl-icon {
    color: #2f9f91;
    display: block;
    flex: 0 0 auto;
    stroke-width: 1.8;
}

.header-s3 .vl-account-menu__caret {
    width: 14px;
    height: 14px;
    transition: transform 180ms ease;
}

.header-s3 .vl-account-menu.is-open .vl-account-menu__caret {
    transform: rotate(180deg);
}

.header-s3 .vl-account-menu__dropdown {
    position: absolute;
    top: calc(100% + 16px);
    right: 0;
    z-index: 1100;
    width: 224px;
    overflow: hidden;
    border: 1px solid #e1e4e8;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 8px 18px rgba(31, 41, 55, 0.12);
    text-align: left;
}

.header-s3 .vl-account-menu__dropdown[hidden] {
    display: none;
}

.header-s3 .vl-account-menu__dropdown a {
    display: block;
    padding: 13px 16px;
    color: #596377;
    font-size: 15px;
    font-weight: 400;
    line-height: 20px;
    text-decoration: none;
    text-transform: none;
    transition: color 150ms ease, background-color 150ms ease;
}

.header-s3 .vl-account-menu__dropdown a + a {
    border-top: 1px solid #eceef1;
}

.header-s3 .vl-account-menu__dropdown a:hover,
.header-s3 .vl-account-menu__dropdown a:focus-visible {
    color: var(--primary);
    background: #f8faf9;
    outline: none;
}

select.form-select {
    min-height: 44px;
    padding-right: 42px;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2320272d' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 14px 10px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

select.form-select:focus {
    border-color: rgba(72, 159, 154, 0.65);
    box-shadow: 0 0 0 4px rgba(72, 159, 154, 0.12);
}

.header-s3 .vl-dd select.form-select {
    min-height: auto;
    background-color: transparent;
    background-image: none;
}
.vl-cart__text {
    white-space: nowrap;
}
.vl-caret-icon {
    width: 16px;
    height: 16px;
    opacity: 0.65;
}
.vl-cart.shop-cart {
    position: relative;
}

.vl-cart.shop-cart .count {
    position: absolute;
    top: -9px;
    right: -12px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: #e07a00;
    color: #fff;
    font-size: 11px;
    line-height: 18px;
    text-align: center;
}

/* Bottom row navigation like screenshot */
.header-s3 .header-bottom_wrap {
    background: #f8f6ef;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.header-s3 .vl-more-mega {
    padding-top: 34px;
    padding-bottom: 34px;
    border-radius: 0;
}

.header-s3 .vl-more-mega {
    padding-left: 0;
    padding-right: 0;
}

/* Make MORE mega-menu full-bleed (end-to-end width) */
@media (min-width: 1200px) {
    .header-s3 .box-nav-menu > li.vl-menu-more {
        position: static;
    }
    .header-s3 .box-nav-menu > li.vl-menu-more > .sub-menu.mega-menu {
        position: fixed;
        top: var(--vl-mega-top, 224px);
        left: 0 !important;
        right: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
        margin: 0;
        border-radius: 0;
        padding-left: 0;
        padding-right: 0;
        transform: translateY(10px);
    }
    .header-s3 .box-nav-menu > li.vl-menu-more:hover > .sub-menu.mega-menu {
        transform: translateY(0);
    }
}

.header-s3 .vl-more-mega .menu-heading {
    font-size: 13px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #6a7689;
    margin-bottom: 14px;
}

.header-s3 .vl-more-mega .sub-menu_link {
    padding-top: 10px;
    padding-bottom: 10px;
}

.header-s3 .header-bottom .col-right,
.header-s3 .header-bottom .nav-category-wrap {
    display: none !important;
}

.header-s3 .header-bottom .col-left {
    width: 100%;
    justify-content: center;
}

.header-s3 .box-nav-menu {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    width: 100%;
    flex-wrap: wrap;
}

.header-s3 .box-nav-menu > li {
    position: relative;
}

.header-s3 .box-nav-menu > li + li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 18px;
    background: rgba(0, 0, 0, 0.14);
}
.header-s3 .box-nav-menu > li > a.item-link {
    padding: 16px 24px;
    color: #41516a;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.header-s3 .box-nav-menu > li > a.item-link:hover {
    color: var(--heading-font-color);
}

/* Hide all dropdown UI by default for screenshot header */
.header-s3 .box-nav-menu > li > .sub-menu {
    display: none;
}
.header-s3 .box-nav-menu > li > a.item-link > .vl-caret-icon {
    display: none;
}
.header-s3 .box-nav-menu > li > a.item-link > .icon {
    display: none !important;
}

/* Enable dropdown + mega menu on selected items */
.header-s3 .box-nav-menu > li.vl-menu-dropdown > .sub-menu,
.header-s3 .box-nav-menu > li.vl-menu-mega > .sub-menu {
    display: block;
}
.header-s3 .box-nav-menu > li.vl-menu-dropdown > a.item-link > .vl-caret-icon,
.header-s3 .box-nav-menu > li.vl-menu-mega > a.item-link > .vl-caret-icon {
    display: inline-flex;
    font-size: 14px;
    margin-left: 6px;
    opacity: 0.7;
}

.header-s3 .box-nav-menu > li.vl-menu-dropdown:hover > a.item-link > .vl-caret-icon,
.header-s3 .box-nav-menu > li.vl-menu-mega:hover > a.item-link > .vl-caret-icon,
.header-s3.vl-mobile-open .box-nav-menu > li.vl-sub-open > a.item-link > .vl-caret-icon {
    transform: rotate(180deg);
    transition: transform 0.2s ease;
}

/* Mobile responsiveness */
@media (max-width: 1199px) {
    .header-s3 .header-center {
        display: block !important;
        flex: 1;
    }
    .header-s3 .form_search-product {
        max-width: none;
    }
    .header-s3 .vl-cart__text {
        display: none;
    }
    .header-s3 .header-bottom_wrap {
        display: none;
    }
}

/* =============================
   Volcanoes footer
   ============================= */
.vl-footer {
    background: #114b23;
}
.vl-footer__main a,
.vl-footer__main {
    color: rgba(255, 255, 255, 0.4) !important;
}
.vl-footer__cta {
    background: linear-gradient(180deg, #4aa79f 0%, #1e6b4f 55%, #114b23 100%);
    color: #FFF;
}
.vl-footer__cta h2 {
    font-size: 44px;
    color:rgba(255, 255, 255, 0.8);
}
.vl-footer__main h6{
  color:#FFF !important;
}
.vl-footer__cta p {
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
    color: rgba(255, 255, 255, 0.90);
}
.vl-footer__pill {
    background: #f2b705;
    color: #1b1d21;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.02em;
}
.vl-footer__input {
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #fff;
    height: 54px;
    padding-left: 20px;
    padding-right: 20px;
}
.vl-footer__input::placeholder {
    color: rgba(255, 255, 255, 0.70);
}
.vl-footer__btn {
    border-radius: 30px;
    font-weight: 500;
    min-height: 54px;
    color: #FFF;
    font-size: 18px;
}
.vl-footer__hr {
    border-color: rgba(255, 255, 255, 0.16);
    opacity: 1;
}
.vl-footer__links a:hover,
.vl-footer__contact a:hover {
    opacity: 1 !important;
    color: #f2b705 !important;
    text-decoration: underline !important;
}
.vl-footer__links a,
.vl-footer__contact a,
.vl-footer__social-btn {
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease, opacity 0.2s ease;
}
.vl-footer a.link-light:hover {
    opacity: 1 !important;
    color: #f2b705 !important;
    text-decoration: underline !important;
}
.vl-footer__rates-credit {
    display: block;
    margin-top: 4px;
    font-size: 10px;
    opacity: 0.55;
}
.vl-footer__rates-credit a {
    color: inherit;
    text-decoration: none;
}
.vl-footer__rates-credit a:hover,
.vl-footer__rates-credit a:focus-visible {
    opacity: 1;
    text-decoration: underline;
}
.vl-footer__cta .h4 {
    font-size: 26px;
    letter-spacing: -0.02em;
}
.vl-footer__contact .feather {
    width: 16px;
    height: 16px;
    opacity: 0.9;
    margin-top: 2px;
}

.vl-footer__social-btn {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    border-color: rgba(255, 255, 255, 0.18) !important;
    background: rgba(255, 255, 255, 0.06);
}

.vl-footer__social-btn:hover {
    background: rgba(255, 255, 255, 0.16);
    transform: translateY(-2px);
}

@media (max-width: 991px) {
    .vl-footer__cta h2 {
        font-size: 36px;
    }

    .vl-footer__input,
    .vl-footer__btn {
        min-height: 50px;
        height: 50px;
    }
}

.vl-footer__contact li,
ul.list-unstyled.mb-0.vl-footer__links li {
    margin-bottom: 10px;
}
img.footer-logo {
    height: 130px !important;
}

/* =============================
   Main content (bootstrap)
   ============================= */
.vl-main {
    background: #fff;
}

.vl-cover {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Homepage promotional hero slider. */
.vl-home-hero-section {
    padding: 28px 0 48px;
}

.vl-home-hero-layout {
    --vl-home-hero-height: clamp(500px, 44vw, 640px);
    align-items: stretch;
}

.vl-home-hero-column {
    display: flex;
}

.vl-home-hero-slider {
    position: relative;
    width: 100%;
    min-height: var(--vl-home-hero-height);
    overflow: hidden;
    background: #183c32;
    isolation: isolate;
}

.vl-home-hero-slider__slides,
.vl-home-hero-slide {
    position: absolute;
    inset: 0;
}

.vl-home-hero-slide {
    z-index: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 600ms ease, visibility 600ms ease;
}

.vl-home-hero-slide.is-active {
    z-index: 1;
    opacity: 1;
    visibility: visible;
}

.vl-home-hero-slide__image,
.vl-home-hero-slide__shade {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.vl-home-hero-slide__image {
    object-fit: cover;
    object-position: center;
}

.vl-home-hero-slide__shade {
    background: rgba(8, 32, 25, 0.42);
}

.vl-home-hero-slide__content {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: clamp(28px, 5vw, 64px);
    width: min(620px, 82%);
    transform: translateY(-46%);
    color: #fff;
}

.vl-home-hero-slide__eyebrow {
    margin: 0 0 22px;
    font-size: clamp(20px, 2vw, 28px);
    font-weight: 400;
    line-height: 1.2;
}

.vl-home-hero-slide h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(38px, 3.35vw, 52px);
    font-weight: 800;
    line-height: 0.98;
    letter-spacing: -0.035em;
    text-transform: uppercase;
    text-wrap: balance;
}

.vl-home-hero-slide__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 22px;
    margin-top: 38px;
}

.vl-home-hero-slide__button {
    display: inline-flex;
    min-width: 188px;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    padding: 14px 24px;
    border: 2px solid transparent;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.vl-home-hero-slide__button:hover,
.vl-home-hero-slide__button:focus-visible {
    transform: translateY(-2px);
}

.vl-home-hero-slide__button--outline {
    border-color: #fff;
    background: rgba(0, 0, 0, 0.08);
}

.vl-home-hero-slide__button--outline:hover,
.vl-home-hero-slide__button--outline:focus-visible {
    background: #fff;
    color: #173e32;
}

.vl-home-hero-slide__button--solid {
    background: #f9d40b;
    color: #142c25;
}

.vl-home-hero-slide__button--solid:hover,
.vl-home-hero-slide__button--solid:focus-visible {
    background: #fff0a0;
    color: #142c25;
}

.vl-home-hero-slider__dots {
    position: absolute;
    z-index: 3;
    bottom: 28px;
    left: 50%;
    display: flex;
    gap: 9px;
    transform: translateX(-50%);
}

.vl-home-hero-slider__dot {
    width: 13px;
    height: 13px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08);
    cursor: pointer;
}

.vl-home-hero-slider__dot.is-active {
    background: #f9d40b;
}

.vl-home-hero-slider__dot:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 4px;
}

.vl-home-hero-cards {
    display: grid;
    width: 100%;
    min-height: var(--vl-home-hero-height);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.vl-home-hero-category {
    position: relative;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    border-radius: 18px;
    background: #183c32;
    color: #fff;
    isolation: isolate;
}

.vl-home-hero-category img,
.vl-home-hero-category__shade {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.vl-home-hero-category img {
    object-fit: cover;
    transition: transform 350ms ease;
}

.vl-home-hero-category__shade {
    z-index: 1;
    background: linear-gradient(180deg, rgba(5, 15, 12, 0.02) 40%, rgba(5, 15, 12, 0.82) 100%);
}

.vl-home-hero-category__content {
    position: absolute;
    z-index: 2;
    right: 18px;
    bottom: 16px;
    left: 18px;
    display: flex;
    flex-direction: column;
    color: #fff;
    line-height: 1.15;
}

.vl-home-hero-category__content strong {
    color: inherit;
    font-size: clamp(19px, 1.55vw, 24px);
    font-weight: 800;
}

.vl-home-hero-category__content span {
    margin-top: 3px;
    font-size: clamp(13px, 1vw, 15px);
}

.vl-home-hero-category:hover,
.vl-home-hero-category:focus-visible {
    color: #fff;
}

.vl-home-hero-category:hover img,
.vl-home-hero-category:focus-visible img {
    transform: scale(1.035);
}

.vl-home-hero-category:focus-visible {
    outline: 3px solid #f9d40b;
    outline-offset: 3px;
}

@media (max-width: 991px) {
    .vl-home-hero-layout {
        --vl-home-hero-height: 560px;
    }

    .vl-home-hero-cards {
        min-height: 640px;
    }
}

@media (max-width: 767px) {
    .vl-home-hero-section {
        padding: 16px 0 32px;
    }

    .vl-home-hero-section .plr-120 {
        padding-right: 16px;
        padding-left: 16px;
    }

    .vl-home-hero-slider {
        min-height: 560px;
    }

    .vl-home-hero-cards {
        min-height: 540px;
        gap: 12px;
    }

    .vl-home-hero-category {
        border-radius: 14px;
    }

    .vl-home-hero-category__content {
        right: 12px;
        bottom: 12px;
        left: 12px;
    }

    .vl-home-hero-slide__image {
        object-position: 62% center;
    }

    .vl-home-hero-slide__shade {
        background: rgba(7, 29, 23, 0.56);
    }

    .vl-home-hero-slide__content {
        top: auto;
        right: 24px;
        bottom: 78px;
        left: 24px;
        width: auto;
        transform: none;
    }

    .vl-home-hero-slide__eyebrow {
        margin-bottom: 14px;
        font-size: 19px;
    }

    .vl-home-hero-slide h1 {
        font-size: clamp(34px, 10vw, 44px);
        line-height: 1;
    }

    .vl-home-hero-slide__actions {
        gap: 12px;
        margin-top: 26px;
    }

    .vl-home-hero-slide__button {
        min-width: 0;
        min-height: 50px;
        flex: 1 1 145px;
        padding: 12px 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .vl-home-hero-slide,
    .vl-home-hero-slide__button,
    .vl-home-hero-category img {
        transition: none;
    }
}

.vl-hero-card {
    border-radius: 18px;
    min-height: 420px;
    position: relative;
}

.vl-main > section:first-child > .container > .row {
    min-height: 520px;
}

.vl-main > section:first-child > .container > .row > [class*="col-"],
.vl-main > section:first-child > .container > .row > .col-12.col-lg-5 > .row,
.vl-main > section:first-child > .container > .row > .col-12.col-lg-5 > .row > [class*="col-"] {
    min-height: 0;
}
.vl-main > section:first-child .vl-hero-card,
.vl-main > section:first-child .vl-media-card {
    height: 100%;
    min-height: 0;
}
.vl-main > section:first-child > .container > .row > .col-12.col-lg-5 > .row {
    height: 100%;
}
.vl-hero-card .card-img-overlay {
    z-index: 2;
}
.vl-hero-overlay {
    z-index: 1;
}
.vl-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.10) 0%, rgba(0, 0, 0, 0.55) 75%);
}
/*
.vl-hero-btn {
    border-radius: 10px;
    font-weight: 700;
    padding: 12px 22px;
}*/
.vl-hero-btn {
    position: relative;
    z-index: 2;
    border-radius: 0;
    color: #FFF;
    font-weight: 600;
    font-size:16px;
    padding: 15px 30px;
}
.vl-hero-content {
    max-width: 420px;
}
.vl-hero-card h1 {
    font-size: 56px;
    line-height: 1.05;
    color: #FFF;
}
.vl-play {
    width: 86px;
    height: 86px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.22);
    border: 1px solid rgba(255, 255, 255, 0.34);
    backdrop-filter: blur(6px);
    margin-bottom: 12px;
    color: #fff;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25);
}
.vl-hero-card .vl-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-bottom: 0;
}
.vl-play__circle {
    width: 62px;
    height: 62px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.40);
}

.vl-hero-card h1,
.vl-hero-card .vl-hero-btn {
    position: relative;
    z-index: 2;
}

.vl-play__circle .feather {
    width: 28px;
    height: 28px;
}

@media (max-width: 991px) {
    .vl-main > section:first-child > .container > .row {
        min-height: 0;
    }

    .vl-main > section:first-child .vl-hero-card {
        min-height: 420px;
    }

    .vl-main > section:first-child .vl-media-card {
        min-height: 240px;
    }

    .vl-hero-card h1 {
        font-size: 40px;
    }

    .vl-play {
        width: 74px;
        height: 74px;
    }

    .vl-play__circle {
        width: 54px;
        height: 54px;
    }
}

.vl-media-card {
    border-radius: 18px;
    min-height:350px;
    position: relative;
    display: block;
    overflow: hidden;
    text-decoration: none;
}

.vl-tile-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.65) 100%);
    opacity: 0.9;
}

.vl-tile-text {
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 14px;
    color: #fff;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.vl-tile-title {
    font-size: 22px;
    font-weight:700;
    line-height: 1.1;
}

.vl-tile-sub {
    font-size: 14px;
    opacity: 0.9;
}

.vl-section-soft {
    background: #cfeceb;
}

.vl-section-title {
    font-size: 44px;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: #0f3d32;
}

.vl-section-subtitle {
    color: rgba(15, 61, 50, 0.70);
    line-height: 1.6;
    font-size:18px;
    margin-bottom:30px;
    display: block;
}

.vl-card-title {
    font-size: 18px;
    font-weight: 700;
    color: #0f3d32;
}

.vl-card-desc {
    color: rgba(17, 24, 39, 0.60);
    font-size: 13px;
    line-height: 1.6;
}

.vl-card-hr {
    border-color: rgba(15, 61, 50, 0.14);
    opacity: 1;
}

.vl-card-price {
    font-size: 24px;
    font-weight: 800;
    color: #111827;
    letter-spacing: -0.01em;
    line-height: 1.05;
}

.vl-card-price-sub {
    font-size: 12px;
    color: rgba(17, 24, 39, 0.55);
    margin-top: 2px;
}

.vl-card-price-note {
    margin-top: 4px;
    font-size: 12px;
    color: rgba(17, 24, 39, 0.45);
}

.vl-btn-pill {
    border-radius: 999px;
    padding: 10px 18px;
    font-weight: 700;
    background: #3a8f87;
    border: 1px solid rgba(58, 143, 135, 0.45);
    color: #fff;
}

.vl-btn-pill:hover {
    color: #fff;
    background: #2f7c75;
    border-color: rgba(58, 143, 135, 0.7);
}
.vl-featured__title {
    font-size: 44px;
    font-weight: 400;
    color: #0f3d32;
}
.vl-home-services {
    background: #fff;
}
.vl-featured__subtitle {
    max-width: 520px;
    color: rgba(15, 61, 50, 0.70);
    line-height: 1.6;
}

.vl-featured__rule {
    border-color: rgba(255, 255, 255, 1);
    opacity: 1;
}

.vl-featured__cta {
    border-radius: 999px;
    padding: 12px 22px;
    font-weight: 700;
    border-width: 2px;
    color: #0f3d32;
    border-color: rgba(15, 61, 50, 0.35);
    background: transparent;
}
.vl-featured__cta:hover {
    color: #0f3d32;
    border-color: rgba(15, 61, 50, 0.55);
    background: rgba(255, 255, 255, 0.25);
}
.vl-pills .nav-link {
    border-radius: 999px;
    font-weight: 600;
    padding: 10px 25px;
    color: #2f3b4b;
    background: rgba(255, 255, 255, 0.7);
    font-size: 15px;
    border: 1px solid rgba(0, 0, 0,0.1);
}
.vl-pills .nav-link:hover,
.vl-pills .nav-link.active {
    background: #f2b705;
    color: #1b1d21;
}
.vl-product,
.vl-experience,
.vl-path {
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(43, 52, 74, 0.10);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.vl-product:hover,
.vl-experience:hover,
.vl-path:hover {
    transform: translateY(-6px);
    box-shadow: 0 14px 35px rgba(43, 52, 74, 0.18);
}
.vl-product__img,
.vl-experience__img,
.vl-path__img {
    position: relative;
    max-height: 290px;
    overflow: hidden;
}
.vl-experience__img {
    height: 360px;
    max-height: none;
}
.vl-experience__img img {
    height: 100%;
}
.vl-experience__body {
    padding: 18px 18px 20px;
}
.vl-path__img {
    height: 320px;
    max-height: none;
}
.vl-path__img img {
    height: 100%;
}
.vl-path__body {
    padding: 18px 18px 20px;
}
.vl-path__link {
    text-decoration: none;
    font-weight: 700;
    font-size: 13px;
    color: #0f3d32;
}
.vl-path__link svg{
  height:14px;
}
.vl-path--ag .vl-badge-top {
    background: rgba(162, 188, 86, 0.95);
    color: #fff;
}
.vl-path--ag .vl-path__link {
    color: #6e8a2f;
}
.vl-path--live .vl-badge-top {
    background: rgba(58, 143, 135, 0.95);
    color: #fff;
}
.vl-path--live .vl-path__link {
    color: #2f7c75;
}
.vl-path--serv .vl-badge-top {
    background: rgba(242, 183, 5, 0.95);
    color: #fff;
}
.vl-path--serv .vl-path__link {
    color: #b07c00;
}
.vl-path--ag .vl-badge-top,
.vl-path--live .vl-badge-top,
.vl-path--serv .vl-badge-top {
    top: auto;
    bottom: 12px;
    left: 12px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.10);
}
.vl-path__link:hover {
    text-decoration: underline;
}
@media (max-width: 991px) {
    .vl-section-title {
        font-size: 34px;
    }

    .vl-experience__img {
        height: 280px;
    }

    .vl-path__img {
        height: 260px;
    }
}
.vl-rating .feather {
    width: 14px;
    height: 14px;
    color: #f2b705;
}

.vl-product__img img,
.vl-experience__img img,
.vl-path__img img,
.vl-media-card img,
.vl-hero-card img {
    transition: transform 0.4s ease;
}

.vl-product:hover .vl-product__img img,
.vl-experience:hover .vl-experience__img img,
.vl-path:hover .vl-path__img img,
.vl-media-card:hover img,
.vl-hero-card:hover img {
    transform: scale(1.05);
}

.vl-badge-top {
    position: absolute;
    top: 12px;
    left: 12px;
    background: rgba(255, 255, 255, 0.9);
    color: #1b1d21;
    border-radius: 999px;
    font-size: 11px;
    padding: 6px 10px;
}

.vl-featured .vl-badge-top {
    background: rgba(162, 188, 86, 0.95);
    color: #fff;
    font-weight: 700;
    font-size: 12px;
    padding: 6px 12px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
}

.vl-featured .vl-product__img {
    max-height: none;
    height: 320px;
}

.vl-featured .vl-product__img img {
    height: 100%;
}

.vl-product-card__price {
    line-height: 1.1;
}

.vl-product-card__usd {
    font-weight: 800;
    font-size: 18px;
    color: #111827;
}

.vl-product-card__rwf {
    font-size: 12px;
    color: rgba(17, 24, 39, 0.55);
    margin-top: 4px;
}
.vl-product-card__btn {
    border-radius: 999px;
    padding: 8px 16px;
    font-weight: 5700;
    color: #FFF;
}
.vl-featured .vl-product .card-body {
    padding: 16px 16px 18px;
}

.vl-featured .vl-product h3,
.vl-featured .vl-product h3 a {
    color: #0f3d32 !important;
}

.vl-featured .vl-product h3 {
    font-size: 18px;
    margin-bottom: 8px;
}

.vl-featured .vl-rating {
    margin-bottom: 6px !important;
}

.vl-featured .vl-rating .feather {
    width: 14px;
    height: 14px;
}

.vl-featured .vl-rating .ms-2 {
    font-size: 12px;
    color: rgba(15, 61, 50, 0.65) !important;
}

@media (max-width: 991px) {
    .vl-featured__title {
        font-size: 34px;
    }

    .vl-featured .vl-product__img {
        height: 260px;
    }
}

/* =============================
   Changemakers / impact / stories
   ============================= */
.vl-changemaker,
.vl-story {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(43, 52, 74, 0.10);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.vl-changemaker:hover,
.vl-story:hover {
    transform: translateY(-6px);
    box-shadow: 0 14px 35px rgba(43, 52, 74, 0.18);
}
.vl-story {
    border: 1px solid rgba(15, 61, 50, 0.1);
    border-radius: 9px;
    box-shadow: none;
    color: inherit;
}
.vl-story:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(43, 52, 74, 0.12);
    color: inherit;
}
.vl-story:focus-visible {
    outline: 3px solid #489f9a;
    outline-offset: 3px;
}
.vl-changemaker img {
    height: 290px;
    filter: grayscale(100%);
    border-bottom: 1px solid rgba(15, 61, 50, 0.08);
}
.vl-link {
    color: #2f7c75;
}
.vl-link:hover {
    text-decoration: underline;
}
.vl-changemaker__trigger {
    position: absolute;
    inset: 0;
    z-index: 2;
    border: 0;
    background: transparent;
    cursor: pointer;
}
.vl-changemaker .vl-link {
    position: relative;
    z-index: 3;
    border: 0;
    background: transparent;
    cursor: pointer;
}
[data-maker-list] [data-maker-card] {
    transition: opacity 0.3s ease, filter 0.3s ease;
}
[data-maker-list].has-open [data-maker-card]:not(.is-active) {
    opacity: 0.45;
    filter: grayscale(1);
}
.vl-changemaker .card-body {
    padding: 14px 16px;
    background: #fff;
}
.vl-changemaker .fw-bold {
    color: #0f3d32;
}
.vl-impact {
    background: #489f9a;
    padding-top: 96px;
    padding-bottom: 84px;
}
.vl-impact__title {
    font-size: 38px;
    font-weight: 800;
    color: #fff;
}
.vl-impact p {
    max-width: 660px;
    margin-left: auto;
    margin-right: auto;
    color: #fff !important;
    font-size: 19px;
    line-height: 1.45;
}
.vl-impact .feather {
    width: 32px;
    height: 32px;
    opacity: 1;
    stroke: #fff;
    stroke-width: 2;
}

.vl-impact__item {
    padding: 44px 0 8px;
}
.counter-number {
    font-size: 52px;
    line-height: 1;
    color: #fff;
    font-weight: 800 !important;
}
.counter-item .suffix {
    font-size: 52px;
    line-height: 1;
    color: #fff;
    font-weight: 800 !important;
}
.counter-title {
    color: #fff !important;
    font-size: 15px;
    font-weight: 500;
}
.vl-impact__item .mb-2 {
    margin-bottom: 16px !important;
}

@media (max-width: 991px) {
    .vl-impact__title {
        font-size: 34px;
    }

    .vl-impact__item .vl-count {
        font-size: 40px;
    }

    .vl-impact__item .small {
        font-size: 13px;
    }
}
.vl-partner {
    background: #edf7f6;
    padding: 96px 0 104px !important;
    text-align: center;
}
.vl-partner .vl-section-title {
    color: #003f25;
    font-size: 40px;
    line-height: 1.15;
    font-weight: 500;
    letter-spacing: 0.01em;
}
.vl-partner .vl-section-subtitle {
    max-width: 760px;
    color: #32445a;
    font-size: 20px;
    line-height: 1.45;
}
.vl-kicker-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    min-width: 154px;
    padding: 5px 14px;
    font-size: 12px;
    line-height: 1;
    font-weight: 800;
    background: #f4b211;
    color: #fff;
}
.vl-btn-warn-pill {
    min-width: 192px;
    min-height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    padding: 0 28px;
    border-radius: 999px !important;
    background: #f4b211;
    border-color: #f4b211;
    box-shadow: 0 8px 18px rgba(244, 178, 17, 0.22);
    color:#FFF;
}
.vl-btn-outline-teal {
    min-width: 176px;
    min-height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight:500;
    padding: 0 28px;
    border-width: 2px;
    border-radius: 999px !important;
    border-color: #489f9a;
    color: #489f9a;
}
.vl-btn-outline-teal:hover {
    background: #489f9a;
    border-color: #489f9a;
    color: #fff;
}
.vl-story__img {
    aspect-ratio: 16 / 10;
    overflow: hidden;
}
.vl-story__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}
.vl-story:hover .vl-story__img img {
    transform: scale(1.025);
}
.vl-story .card-body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 22px 24px 24px;
}
.vl-story .card-body > p {
    flex-grow: 1;
    display: -webkit-box;
    min-height: 3em;
    overflow: hidden;
    line-height: 1.5;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}
.vl-story__cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.vl-stories .badge.rounded-pill {
    font-size: 11px;
    padding: 6px 10px;
}
@media (max-width: 991px) {
    .vl-impact__title {
        font-size: 34px;
    }
    .vl-changemaker img {
        height: 240px;
    }
    .vl-story__img {
        height: 220px;
    }
}

.vl-stories h3 {
    margin: 8px 0 12px;
    color: #0f3d32;
}
.vl-stories a svg{
  height:14px;
}

/* =============================
   All products page
   ============================= */
.vl-products-hero {
    position: relative;
    min-height: 340px;
    display: flex;
    align-items: center;
    overflow: hidden;
    padding: 180px 0;
}
.vl-products-hero__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transform: scale(1.05);
    filter: saturate(0.95);
}
.vl-products-hero__bg:before{
  content:"";
  background: rgba(0, 0, 0, 0.9);
  position: absolute;
  left:0;
  top:0;
}
.vl-products-hero__overlay {
    position: absolute;
    inset: 0;
    background:linear-gradient(180deg, rgba(12, 42, 20, 0.72) 0%, rgba(12, 42, 20, 0.35) 45%, rgba(12, 42, 20, 0.08) 75%, rgba(255, 255, 255, 0.88) 100%);
}
.vl-hero-kicker {
    letter-spacing: 0.2em;
    color: #face00;
}
.vl-products-hero h1 {
    font-size:5rem;
    line-height: 1.05;
    color: #FFF;
}
.vl-products-hero p {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
    font-size: 20px;
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.82) !important;
}
@media (max-width: 991px) {
    .vl-products-hero h1 {
        font-size: 40px;
    }
    .vl-products-hero p {
        font-size: 15px;
    }
}
.vl-filter {
    border-radius: 14px;
    box-shadow: 0 10px 25px rgba(43, 52, 74, 0.10);
    background: #fff;
}
.vl-filter .form-check-label {
    font-size: 13px;
}

.vl-filter .form-check-input {
    margin-top: 0.25rem;
}
.vl-sort {
    border-radius: 999px;
    border-color: rgba(15, 61, 50, 0.18);
}
.vl-shop-product {
    background: #fff;
}
.vl-shop-product .vl-product__img {
    max-height: none;
    height:290px;
    border-top-left-radius: 14px;
    border-top-right-radius: 14px;
}
.vl-shop-product .vl-product__img img {
    height: 100%;
}
.vl-shop-product__body {
    padding: 14px 14px 16px;
}
.vl-shop-product__title {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 4px;
}
.vl-shop-product__title a {
    color: #0f3d32;
}
.vl-shop-product__by {
    font-size: 14px;
    color: rgba(17, 24, 39, 0.50);
    margin-bottom: 6px;
}
.vl-shop-product__rating {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}
.vl-shop-product__rating .feather {
    width: 13px;
    height: 13px;
    color: #f2b705;
}
.vl-shop-product__rating-num {
    font-size: 12px;
    color: rgba(17, 24, 39, 0.55);
}
.vl-shop-product__price {
    display: grid;
    gap: 2px;
    margin-bottom: 8px;
}
.vl-shop-product__usd {
    font-weight: 700;
    font-size: 18px;
    color: #111827;
}
.vl-shop-product__rwf {
    font-size: 11px;
    color: rgba(17, 24, 39, 0.55);
}
.vl-shop-product__avail {
    font-size: 11px;
    color: rgba(17, 24, 39, 0.55);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}
.vl-dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #31b17a;
    display: inline-block;
}
.vl-preorder .vl-dot {
    background: #3fa6a4;
}
.vl-seasonal .vl-dot {
    background: #f2b705;
}
.vl-shop-product__btn {
    border-radius: 999px;
    font-weight: 600;
    text-transform: uppercase;
    padding: 10px 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #FFF;
    font-size: 14px;
}
.vl-shop-product__btn .feather {
    width: 16px;
    height: 16px;
}
.vl-section-soft .pagination .page-item {
    margin: 0 4px;
}
.vl-section-soft .pagination .page-link {
    border-radius: 10px;
    border-color: rgba(15, 61, 50, 0.15);
    color: rgba(15, 61, 50, 0.85);
    font-size: 15px;
    width: 42px;
    height: 42px;
    text-align: center;
    display: inline-block;
    line-height: 34px;
    font-weight: 600;
}
.vl-section-soft .pagination .page-item.active .page-link {
    background: #f2b705;
    border-color: #f2b705;
    color: #1b1d21;
}

/* =============================
   Single product page
   ============================= */
.vl-back {
    color: #2f3b4b;
    opacity: 0.85;
}
.vl-back:hover {
    opacity: 1;
}
.vl-back .feather {
    width: 18px;
    height: 18px;
}

.vl-product-photo {
    border-radius: 16px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.55);
    box-shadow: 0 12px 30px rgba(43, 52, 74, 0.12);
    min-height: 520px;
}
.vl-product-photo img {
    height: 100%;
    min-height: 520px;
}

.vl-product-info .vl-meta {
    letter-spacing: 0.26em;
    color: rgba(47, 59, 75, 0.55);
}
.vl-product-info .vl-title {
    color: #114b23;
}
.vl-product-info .vl-price {
    color: #f2b705;
}
.vl-line {
    border-color: rgba(0, 0, 0, 0.10);
    opacity: 1;
}
.vl-section-title {
    color: var(--heading-font-color);
    font-size: 2.5rem;
    font-weight: 400;
}
.vl-details .feather {
    width: 16px;
    height: 16px;
    color: #7ea85c;
    margin-top: 3px;
    flex: 0 0 auto;
}
.vl-details li {
    padding: 6px 0;
    color: rgba(47, 59, 75, 0.85);
}

.vl-qty {
    display: inline-flex;
    align-items: center;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.55);
    border: 1px solid rgba(0, 0, 0, 0.06);
    overflow: hidden;
}
.vl-qty__btn {
    width: 40px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 0;
    color: #2f3b4b;
    font-size: 18px;
}
.vl-qty__input {
    width: 56px;
    height: 38px;
    border: 0;
    text-align: center;
    background: transparent;
    color: #2f3b4b;
    font-weight: 700;
}
.vl-qty__input::-webkit-outer-spin-button,
.vl-qty__input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.vl-qty__input {
    -moz-appearance: textfield;
}

.vl-cta {
    font-weight: 600;
    text-transform: uppercase;
    padding: 12px 30px;
    border-radius: 30px !important;
    font-size: 16px;
    color: #FFF;
}
.vl-cta-outline {
  text-transform: uppercase;
}

.vl-impact-card {
    background: rgba(126, 168, 92, 0.18);
    border: 1px solid rgba(126, 168, 92, 0.28);
    border-radius: 14px;
}

/* =============================
   Checkout page
   ============================= */
.vl-checkout .vl-checkout__title {
    color: #114b23;
}
.vl-checkout__icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(242, 183, 5, 0.22);
    color: #f2b705;
}
.vl-checkout__icon .feather {
    width: 22px;
    height: 22px;
}

.vl-card {
    border-radius: 14px;
    box-shadow: 0 12px 30px rgba(43, 52, 74, 0.12);
}
.vl-card__icon {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(242, 183, 5, 0.18);
    color: #f2b705;
}
.vl-card__icon--teal {
    background: rgba(62, 179, 151, 0.14);
    color: #3eb397;
}
.vl-card__icon .feather {
    width: 18px;
    height: 18px;
}

.vl-checkout-page {
    min-height: 100vh;
    background: #d4f2f0;
    color: #06452b;
    padding: 54px 16px 72px;
}

body.woocommerce-checkout .breadcrumb-area,
body.woocommerce-checkout .breadcrumb-botton-area,
body.woocommerce-checkout .entry-header,
body.woocommerce-checkout .entry-footer {
    display: none;
}

body.woocommerce-checkout .section-cat,
body.woocommerce-checkout .section-cat .container,
body.woocommerce-checkout .section-cat .row,
body.woocommerce-checkout .entry-content {
    margin: 0;
    padding: 0;
    max-width: none;
    width: 100%;
}

.vl-checkout-shell {
    max-width: 1020px;
    margin: 0 auto;
}

.vl-checkout-back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 20px;
    color: #073f32;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-decoration: none;
    text-transform: uppercase;
}

.vl-checkout-back .feather {
    width: 16px;
    height: 16px;
}

.vl-checkout-heading {
    margin-bottom: 36px;
}

.vl-checkout-title-row {
    display: flex;
    align-items: center;
    gap: 14px;
}

.vl-checkout-title-row h1 {
    margin: 0;
    color: #03562d;
    font-size: clamp(38px, 5vw, 58px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0;
}

.vl-checkout-heading p {
    margin: 12px 0 0;
    color: #074133;
    font-size: 17px;
}

.vl-checkout-bag {
    color: #f4bc28;
}

.vl-checkout-bag .feather {
    width: 35px;
    height: 35px;
    stroke-width: 2;
}

.vl-checkout-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 48px;
    align-items: start;
}

.vl-checkout-main {
    display: grid;
    gap: 32px;
}

.vl-checkout-card {
    background: #fff;
    border: 1px solid rgba(13, 73, 47, 0.08);
    border-radius: 9px;
    box-shadow: 0 8px 22px rgba(23, 81, 77, 0.06);
    padding: 32px;
}

.vl-checkout-sidebar {
    position: sticky;
    top: 24px;
}

.vl-checkout-section-title {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 22px;
}

.vl-checkout-section-title h2 {
    margin: 0;
    color: #064b2b;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0;
}

.vl-checkout-section-title .feather {
    width: 22px;
    height: 22px;
    color: #f0bd2e;
}

.vl-checkout-card--payment .vl-checkout-section-title .feather {
    color: #267f83;
}

.vl-checkout-page .woocommerce-billing-fields > h3,
.vl-checkout-page .woocommerce-shipping-fields,
.vl-checkout-page .woocommerce-additional-fields,
.vl-checkout-page #order_review_heading,
.vl-checkout-page .shop_table,
.vl-checkout-sidebar #payment {
    display: none;
}

.vl-checkout-page .col2-set,
.vl-checkout-page .col2-set .col-1,
.vl-checkout-page .col2-set .col-2 {
    float: none;
    width: 100%;
}

.vl-checkout-page .woocommerce-billing-fields__field-wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 24px;
}

.vl-checkout-page .form-row {
    margin: 0;
    padding: 0;
    width: auto;
}

.vl-checkout-page .form-row-wide,
.vl-checkout-page #billing_address_1_field,
.vl-checkout-page #billing_address_2_field {
    grid-column: 1 / -1;
}

.vl-checkout-page label {
    color: #243d3a;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.vl-checkout-page label .required {
    color: #243d3a;
}

.vl-checkout-page input.input-text,
.vl-checkout-page select,
.vl-checkout-page textarea,
.vl-checkout-page .select2-container .select2-selection--single {
    width: 100%;
    min-height: 50px;
    border: 1px solid #dde4dd;
    border-radius: 9px;
    background: #fbfaf6;
    color: #06452b;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.03);
    padding: 12px 16px;
}

.vl-checkout-page .select2-container .select2-selection--single {
    height: 50px;
}

.vl-checkout-page .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #06452b;
    line-height: 26px;
    padding-left: 0;
}

.vl-checkout-page .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 48px;
}

.vl-checkout-page .woocommerce-invalid input.input-text {
    border-color: #c35f46;
}

.vl-checkout-page .woocommerce-error,
.vl-checkout-page .woocommerce-info,
.vl-checkout-page .woocommerce-message {
    border: 0;
    border-radius: 9px;
    background: #fff;
    color: #06452b;
    box-shadow: 0 8px 22px rgba(23, 81, 77, 0.06);
}

.vl-checkout-page #payment {
    background: transparent;
}

.vl-checkout-page #payment ul.payment_methods {
    border: 0;
    padding: 0;
}

.vl-checkout-page #payment ul.payment_methods::before {
    content: "Select Payment Method";
    display: block;
    margin: 0 0 16px;
    color: #06452b;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.vl-checkout-page #payment ul.payment_methods li {
    border: 1px solid #dfe4de;
    border-radius: 9px;
    margin: 0 0 16px;
    padding: 18px 20px;
    background: #fff;
}

.vl-checkout-page #payment ul.payment_methods li input {
    margin-right: 10px;
}

.vl-checkout-page #payment ul.payment_methods li label {
    color: #06452b;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
}

.vl-checkout-page #payment div.payment_box {
    margin: 12px 0 0;
    background: #fbfaf6;
    color: #344b47;
    border-radius: 8px;
}

.vl-checkout-page #payment div.payment_box::before {
    border-bottom-color: #fbfaf6;
}

.vl-checkout-page #payment .place-order {
    padding: 0;
    margin: 24px 0 0;
}

.vl-checkout-page #payment .woocommerce-terms-and-conditions-wrapper {
    margin: 0 0 16px;
    color: #6a7772;
    font-size: 13px;
}

.vl-checkout-page #place_order {
    width: 100%;
    min-height: 54px;
    border: 0;
    border-radius: 9px;
    background: #ffd974;
    color: #fff;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    box-shadow: 0 8px 14px rgba(222, 171, 54, 0.28);
}

.vl-checkout-page #place_order:hover {
    background: #f4c654;
}

.vl-order-summary {
    padding: 28px;
}

.vl-order-summary .vl-checkout-section-title h2 {
    font-size: 22px;
}

.vl-summary-items {
    display: grid;
    gap: 16px;
}

.vl-summary-item {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr) auto;
    gap: 14px;
    align-items: start;
    padding-bottom: 16px;
    border-bottom: 1px solid #e6ebe5;
}

.vl-summary-thumb,
.vl-summary-thumb img {
    width: 62px;
    height: 62px;
    border-radius: 2px;
    object-fit: cover;
}

.vl-summary-name {
    color: #06452b;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.25;
}

.vl-summary-qty {
    margin-top: 4px;
    color: #6d7772;
    font-size: 13px;
}

.vl-summary-price {
    color: #06452b;
    font-size: 15px;
    font-weight: 700;
    white-space: nowrap;
}

.vl-summary-totals {
    display: grid;
    gap: 12px;
    margin-top: 26px;
    padding-bottom: 20px;
    border-bottom: 1px solid #e6ebe5;
}

.vl-summary-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    color: #5e6f6b;
    font-size: 15px;
}

.vl-summary-row strong {
    color: #06452b;
    font-weight: 600;
}

.vl-summary-shipping-note {
    margin-top: -8px;
    color: #98a63f;
    font-size: 12px;
}

.vl-summary-total {
    margin-top: 10px;
    padding-top: 16px;
    border-top: 1px solid #e6ebe5;
    color: #06452b;
    font-size: 20px;
    font-weight: 800;
}

.vl-summary-total strong,
.vl-summary-total .woocommerce-Price-amount {
    color: #f0bd2e;
    font-size: 20px;
    font-weight: 800;
}

.vl-summary-impact {
    margin: 18px 0 0;
    color: #6d7772;
    font-size: 13px;
    line-height: 1.55;
}

.vl-side-cart-overlay {
    position: fixed;
    inset: 0;
    z-index: 9997;
    background: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(9px);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.24s ease, visibility 0.24s ease;
}

.vl-side-cart {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 9998;
    width: min(480px, 100vw);
    height: 100vh;
    background: #d4f2f0;
    color: #06452b;
    display: grid;
    grid-template-rows: auto 1fr auto;
    transform: translateX(100%);
    transition: transform 0.28s ease;
    box-shadow: -18px 0 42px rgba(0, 0, 0, 0.18);
}

body.vl-side-cart-open {
    overflow: hidden;
}

body.vl-side-cart-open .vl-side-cart-overlay {
    opacity: 1;
    visibility: visible;
}

body.vl-side-cart-open .vl-side-cart {
    transform: translateX(0);
}

.vl-side-cart__header {
    height: 80px;
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid rgba(6, 69, 43, 0.08);
}

.vl-side-cart__title {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 20px;
    color: #06452b;
}

.vl-side-cart__title .feather {
    width: 21px;
    height: 21px;
    color: #f2b705;
}

.vl-side-cart__close,
.vl-side-cart__remove,
.vl-side-cart__continue {
    border: 0;
    background: transparent;
}

.vl-side-cart__close {
    color: #6d7772;
    padding: 4px;
}

.vl-side-cart__close .feather {
    width: 24px;
    height: 24px;
}

.vl-side-cart__items {
    overflow: auto;
    padding: 26px 24px;
}

.vl-side-cart__item {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr) auto;
    gap: 18px;
    padding-bottom: 26px;
    margin-bottom: 26px;
    border-bottom: 1px solid rgba(6, 69, 43, 0.08);
}

.vl-side-cart__thumb,
.vl-side-cart__thumb img {
    width: 96px;
    height: 96px;
    object-fit: cover;
    border-radius: 8px;
}
.vl-side-cart__name {
    color: #005633;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.25;
}
.vl-side-cart__qty {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 18px;
    color: #005633;
    font-size: 18px;
}

.vl-side-cart__qty-btn {
    width: 32px;
    height: 32px;
    border: 1px solid rgba(6, 69, 43, 0.13);
    border-radius: 5px;
    background: transparent;
    color: #005633;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 19px;
    line-height: 1;
}

.vl-side-cart__meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: space-between;
    min-width: 82px;
}

.vl-side-cart__remove {
    color: #8b9894;
    padding: 0;
}

.vl-side-cart__remove .feather {
    width: 18px;
    height: 18px;
}

.vl-side-cart__price {
    color: #f2b705;
    font-size: 18px;
    font-weight: 800;
    white-space: nowrap;
}

.vl-side-cart__empty {
    color: #06452b;
    font-weight: 600;
    padding: 24px 0;
}

.vl-side-cart__footer {
    background: #fff;
    padding: 24px;
    box-shadow: 0 -10px 22px rgba(23, 81, 77, 0.06);
}

.vl-side-cart__notice {
    border: 1px solid rgba(157, 171, 80, 0.35);
    border-radius: 9px;
    background: #fbfcf0;
    color: #344b47;
    padding: 16px 18px;
    margin-bottom: 24px;
    font-size: 15px;
}

.vl-side-cart__totals {
    display: grid;
    gap: 14px;
    margin-bottom: 22px;
}

.vl-side-cart__totals > div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    color: #334b48;
    font-size: 17px;
}

.vl-side-cart__totals strong {
    color: #06452b;
    font-weight: 600;
}

.vl-side-cart__total {
    border-top: 1px solid #dfe6e4;
    padding-top: 18px;
    color: #06452b !important;
    font-size: 21px !important;
    font-weight: 800;
}

.vl-side-cart__total strong,
.vl-side-cart__total .woocommerce-Price-amount {
    color: #f2b705;
    font-size: 22px;
    font-weight: 800;
}

.vl-side-cart__checkout {
    min-height: 52px;
    width: 100%;
    border-radius: 999px;
    background: #f4b915;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    box-shadow: 0 10px 20px rgba(208, 151, 18, 0.28);
}

.vl-side-cart__checkout:hover {
    background: #e9aa06;
    color: #fff;
}

.vl-side-cart__continue {
    display: block;
    width: 100%;
    margin-top: 20px;
    color: #344b63;
    font-size: 15px;
    letter-spacing: 0.08em;
}

@media (max-width: 575.98px) {
    .vl-side-cart {
        width: 100vw;
    }
    .vl-side-cart__item {
        grid-template-columns: 76px minmax(0, 1fr);
    }
    .vl-side-cart__thumb,
    .vl-side-cart__thumb img {
        width: 76px;
        height: 76px;
    }
    .vl-side-cart__meta {
        grid-column: 2;
        flex-direction: row;
        align-items: center;
    }
}

.vl-checkout-terms-note {
    color: #6d7772;
    font-size: 12px;
    text-align: center;
}

@media (max-width: 991.98px) {
    .vl-checkout-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }
    .vl-checkout-sidebar {
        position: static;
        order: -1;
    }
}

@media (max-width: 575.98px) {
    .vl-checkout-page {
        padding: 32px 12px 48px;
    }
    .vl-checkout-card {
        padding: 22px;
    }
    .vl-checkout-page .woocommerce-billing-fields__field-wrapper {
        grid-template-columns: 1fr;
    }
    .vl-summary-item {
        grid-template-columns: 54px minmax(0, 1fr);
    }
    .vl-summary-price {
        grid-column: 2;
    }
}

.vl-label {
    font-size: 12px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(47, 59, 75, 0.70);
    display: flex;
    align-items: center;
    gap: 8px;
}
.vl-label .feather {
    width: 14px;
    height: 14px;
    opacity: 0.8;
}
.vl-input {
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.60);
    border: 1px solid rgba(0, 0, 0, 0.08);
    padding-top: 12px;
    padding-bottom: 12px;
}

.vl-pay__option {
    display: block;
    cursor: pointer;
}
.vl-pay__option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.vl-pay__card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 12px;
    border: 1px solid rgba(0, 0, 0, 0.10);
    background: rgba(255, 255, 255, 0.75);
    padding: 16px 16px;
    margin-bottom: 14px;
    transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}
.vl-pay__left {
    display: flex;
    align-items: center;
    gap: 14px;
}
.vl-pay__icon {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(62, 179, 151, 0.10);
    color: #114b23;
}
.vl-pay__icon .feather {
    width: 18px;
    height: 18px;
}
.vl-pay__option input:checked + .vl-pay__card {
    border-color: rgba(62, 179, 151, 0.45);
    box-shadow: 0 10px 25px rgba(43, 52, 74, 0.12);
}

.vl-secure {
    background: rgba(126, 168, 92, 0.14);
    border: 1px solid rgba(126, 168, 92, 0.25);
    border-radius: 10px;
    padding: 10px 12px;
    color: #114b23;
}
.vl-secure .feather {
    width: 16px;
    height: 16px;
}

.vl-complete {
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    opacity: 0.7;
}

.vl-summary__items {
    max-height: 280px;
    overflow: auto;
    padding-right: 4px;
}
.vl-line-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
.vl-line-item:last-child {
    border-bottom: 0;
}
.vl-line-item img {
    width: 56px;
    height: 56px;
    border-radius: 10px;
    object-fit: cover;
    flex: 0 0 auto;
}
.vl-line-item__body {
    flex: 1;
}
.vl-summary {
    position: sticky;
    top: 20px;
}

/* Mobile menu toggle */
@media (max-width: 1199px) {
    .header-s3.vl-mobile-open .header-bottom_wrap {
        display: block !important;
        position: absolute;
        left: 0;
        right: 0;
        top: 100%;
        z-index: 50;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.10);
    }
    .header-s3.vl-mobile-open .header-bottom {
        padding-top: 10px;
        padding-bottom: 10px;
    }
    .header-s3.vl-mobile-open .box-nav-menu {
        flex-direction: column;
        align-items: flex-start;
    }
    .header-s3.vl-mobile-open .box-nav-menu > li + li::before {
        display: none;
    }
    .header-s3.vl-mobile-open .box-nav-menu > li > a.item-link {
        padding: 12px 16px;
        width: 100%;
    }

    /* Dropdowns inside the mobile menu */
    .header-s3.vl-mobile-open .box-nav-menu > li.vl-menu-dropdown > .sub-menu,
    .header-s3.vl-mobile-open .box-nav-menu > li.vl-menu-mega > .sub-menu {
        position: static;
        left: auto;
        right: auto;
        transform: none;
        opacity: 1;
        visibility: visible;
        pointer-events: all;
        box-shadow: none;
        border-radius: 0;
        padding: 0;
        display: none; /* opened by .vl-sub-open */
        background: transparent;
    }
    .header-s3.vl-mobile-open .box-nav-menu > li.vl-sub-open > .sub-menu {
        display: block;
    }
    .header-s3.vl-mobile-open .vl-dropdown-menu .sub-menu_list,
    .header-s3.vl-mobile-open .vl-mega-menu .sub-menu_list {
        padding: 8px 0 12px;
    }
    .header-s3.vl-mobile-open .vl-mega-menu .container,
    .header-s3.vl-mobile-open .vl-mega-menu .row,
    .header-s3.vl-mobile-open .vl-mega-menu [class^="col-"] {
        padding-left: 0;
        padding-right: 0;
        margin-left: 0;
        margin-right: 0;
        width: 100%;
        max-width: none;
    }
}
@media (max-width: 767px) {
  .nav-icon-list {
    gap: 12px;
  }
}

.box-navigation.style-white .item-link {
  color: var(--white);
}
.box-navigation.style-white-2 .item-link {
  color: var(--white);
}
.box-navigation.style-white-2 .item-link .cus-text::after {
  background: var(--text);
}
.box-navigation.style-white-2 .menu-item:hover .item-link {
  color: var(--text);
}

.box-nav-menu {
  display: flex;
  align-items: center;
  gap: 24px;
}

.item-link {
  display: flex;
  align-items: center;
  font-weight: 500;
  gap: 4px;
  padding-top: 27px;
  padding-bottom: 27px;
  position: relative;
}
.item-link::after {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: calc(100% + 48px);
  height: 100%;
  display: none;
}
.item-link .cus-text {
  position: relative;
}
.item-link .cus-text::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: auto;
  right: 0;
  width: 0;
  height: 1px;
  background: var(--primary);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.item-link .icon {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.menu-item:hover .item-link {
  color: var(--primary);
}
.menu-item:hover .item-link::after {
  display: block;
}
.menu-item:hover .item-link .cus-text::after {
  right: auto;
  left: 0;
  width: 100%;
}
.menu-item:hover .item-link .icon {
  transform: rotate(180deg);
}
.menu-item:hover .sub-menu {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}
@media (max-width: 1439px) {
  .menu-item.menu-cus {
    position: unset;
  }
}

.sub-menu {
  position: absolute;
  left: -32px;
  right: auto;
  padding: 32px;
  background: var(--white);
  box-shadow: 0px 10px 25px 0px rgba(43, 52, 74, 0.1215686275);
  border-radius: 0px 0px 16px 16px;
  transform: translateY(10px);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
@media (max-width: 1439px) {
  .sub-menu {
    min-width: 180px;
  }
  .sub-menu.mega-menu {
    left: 0;
    right: 0;
  }
}

.mega-menu {
  width: 100%;
  margin: auto;
  left: 0;
  right: 0;
  padding-bottom: 48px;
}
@media (max-width: 1439px) {
  .mega-menu .card-product .card-product_wrapper.square .compare {
    display: none !important;
  }
  .mega-menu .card-product.has-size .variant-box {
    display: none;
  }
  .mega-menu .card-product.has-size .product-action_bot {
    bottom: 16px;
  }
}

.mega-menu-item .menu-heading {
  margin-bottom: 16px;
}

.sub-menu_wrap {
  display: flex;
  gap: 40px;
}
.sub-menu_wrap .sub-image {
  width: 300px;
  border-radius: 8px;
  overflow: hidden;
}

.menu-heading {
  margin-bottom: 16px;
  font-weight: 600;
  line-height: 26px;
}

.sub-menu_list li:not(:first-child) .sub-menu_link {
  padding-top: 8px;
}
.sub-menu_list li:not(:last-child) .sub-menu_link {
  padding-bottom: 8px;
}
@media (min-width: 1440px) {
  .sub-menu_list {
    min-width: 150px;
  }
}

.sub-menu_link {
  white-space: nowrap;
  color: var(--text-2);
  font-weight: 500;
}
.sub-menu_link .cus-text {
  position: relative;
}
.sub-menu_link .cus-text::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: auto;
  right: 0;
  width: 0;
  height: 1px;
  background: var(--text);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.sub-menu_link:hover {
  color: var(--text);
}
.sub-menu_link:hover .cus-text::after {
  right: auto;
  left: 0;
  width: 100%;
}
.sub-menu_link.has-text {
  display: flex;
  align-items: center;
  gap: 8px;
}
.sub-menu_link.type-pri:hover {
  color: var(--primary);
}
.sub-menu_link.type-pri .cus-text::after {
  background: var(--primary);
}

.demo-label {
  font-size: 10px;
  line-height: 12px;
  padding: 2px 4px;
  border-radius: 4px;
  color: var(--white);
  font-weight: 600;
}
.demo-label.type-hot {
  background: var(--primary);
}
.demo-label.type-trend {
  background: var(--yellow);
}
.demo-label.type-new {
  background: var(--pink);
}
.demo-label.type-soon {
  background: rgba(147, 39, 166, 0.8);
}

.nav-category-wrap {
  position: relative;
  min-width: 300px;
}

.box-nav-category {
  box-shadow: 0px 10px 25px 0px rgba(43, 52, 74, 0.1215686275);
  background: var(--white);
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  transform: translateY(10px);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  border-radius: 0px 0px 12px 12px;
}
.box-nav-category.active {
  transform: translateY(0px);
  opacity: 1;
  visibility: visible;
}
.box-nav-category li:not(:last-child) {
  border-bottom: 1px solid var(--line);
}
.box-nav-category li:last-child .nav-category_link {
  border-radius: 0px 0px 12px 12px;
}

.has-sub-nav-category {
  position: relative;
}
.has-sub-nav-category .sub-nav-category {
  padding: 32px;
  padding-right: 48px;
  border-radius: 12px;
  background: var(--white);
  box-shadow: 0px 10px 25px 0px rgba(43, 52, 74, 0.1215686275);
  position: absolute;
  left: 100%;
  top: 0;
  white-space: nowrap;
  transform: translateY(10px);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.has-sub-nav-category .tf-grid-layout {
  gap: 30px 50px;
}
.has-sub-nav-category:hover .nav-category_link {
  color: var(--primary);
  background: var(--bg);
}
.has-sub-nav-category:hover .sub-nav-category {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}

.sub-nav-category_list {
  display: grid;
  place-items: start;
  min-width: 200px;
}
.sub-nav-category_list .sub-nav__title {
  margin-bottom: 12px;
}
.sub-nav-category_list .sub-nav__link:not(:last-child) {
  margin-bottom: 8px;
}

.nav-category_link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 16px 24px;
  color: var(--text);
  font-weight: 500;
}
.nav-category_link .icon {
  font-size: 20px;
}
.nav-category_link:hover {
  color: var(--primary);
  background: var(--bg);
}

.btn-nav-drop {
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  background: var(--black);
  color: var(--white);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  padding: 15px 20px;
}
.btn-nav-drop .name-category {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  flex: 1;
}

/* -- Nav Mobile -- */
.btn-open-menu {
  font-size: 24px;
  display: inline-flex;
}

.mb-menu-link {
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.mb-menu-link:not(.collapsed) .ic-custom::before {
  transform: rotate(90deg);
}
.mb-menu-link:not(.collapsed) .ic-custom::after {
  transform: rotate(180deg);
}
.mb-menu-link .ic-custom {
  width: 12px;
  height: 12px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mb-menu-link .ic-custom::after, .mb-menu-link .ic-custom::before {
  content: "";
  position: absolute;
  background: var(--black);
  border-radius: 999px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.mb-menu-link .ic-custom::after {
  width: 100%;
  height: 2px;
}
.mb-menu-link .ic-custom::before {
  height: 100%;
  width: 2px;
}
.mb-menu-link.active {
  font-weight: 700;
  color: var(--black);
}

.sub-nav-link .icon {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.sub-nav-link:not(.collapsed) .icon {
  transform: rotateX(180deg);
}

.mega-menu_home_v2 {
  display: flex;
  gap: 40px;
  left: 0;
}
.mega-menu_home_v2 .sub-menu_list {
  min-width: 200px;
}
.mega-menu_home_v2 .sub-menu_list .soon {
  pointer-events: none;
  color: var(--text-3);
}
.mega-menu_home_v2 .image-preview {
  border-radius: 8px;
  overflow: hidden;
  display: flex;
}
.mega-menu_home_v2 .image-preview img {
  max-width: 300px;
}
.mega-menu_home_v2.home-type_2 {
  left: -280px;
}
.mega-menu_home_v2.home-type_4 {
  left: -180px;
}
@media (max-width: 1439px) {
  .mega-menu_home_v2.home-type_3 {
    left: -180px;
  }
}


.has-menu-lv2 {
  position: relative;
}
.has-menu-lv2 .sub-menu_link {
  position: relative;
  justify-content: space-between;
}
.has-menu-lv2::after {
  content: "";
  position: absolute;
  top: 0px;
  left: 100%;
  height: 120%;
  width: 50px;
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
}
.has-menu-lv2:hover > .sub-menu_link .cus-text {
  color: var(--text);
}
.has-menu-lv2:hover > .sub-menu_link .cus-text::after {
  right: auto;
  left: 0;
  width: 100%;
}
.has-menu-lv2:hover::after {
  opacity: 1;
  visibility: visible;
}
.has-menu-lv2:hover .sub-menu-lv2 {
  --tranY: 0px;
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}

.sub-menu-lv2 {
  --tranY: 10px;
  position: absolute;
  left: calc(100% + 37px);
  top: -22px;
  padding: 32px;
  background: var(--white);
  box-shadow: 0px 10px 25px 0px rgba(43, 52, 74, 0.1215686275);
  border-radius: 16px;
  transform: translateY(var(--tranY));
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.sub-menu-lv2 .sub-menu_list > li:first-child .sub-menu_link {
  padding-top: 0;
}
.sub-menu-lv2 .sub-menu_list > li:last-child .sub-menu_link {
  padding-bottom: 0;
}


/*--------- Abstracts variable ---------- */
.tf-topbar {
  padding-top: 12px;
  padding-bottom: 12px;
  position: relative;
  z-index: 101;
}
.tf-topbar .br-line.fake-class {
  position: absolute;
  left: 0;
  right: 0;
}

.swiper-topbar {
  height: 26px;
}
.topbar-s2 {
  position: relative;
}
.topbar-s2::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: var(--line);
}

.topbar-s3 {
  padding-top: 9px;
  padding-bottom: 9px;
}
.tf-topbar .tf-dropdown-select.type-currencies > .dropdown-menu {
  width: max-content !important;
}
.sidebar-item:not(:last-child) {
  margin-bottom: 40px;
}

.pagi2 .swiper-pagination2:hover .box-img .icon-practice,
.swiper-button-next2:hover .box-img .icon-practice,
.swiper-button-prev2:hover .box-img .icon-practice,
.hv-one:hover .box-img .icon-practice {
  opacity: 1;
  z-index: 99;
  top: 50%;
  transition-delay: 0.5s;
}
.pagi2 .swiper-pagination2:hover .img-style::before,
.swiper-button-next2:hover .img-style::before,
.swiper-button-prev2:hover .img-style::before,
.hv-one:hover .img-style::before {
  opacity: 1;
}
.pagi2 .swiper-pagination2 .img-style,
.swiper-button-next2 .img-style,
.swiper-button-prev2 .img-style,
.hv-one .img-style {
  border-radius: 10px;
  overflow: hidden;
}
.pagi2 .swiper-pagination2 .img-style::before,
.swiper-button-next2 .img-style::before,
.swiper-button-prev2 .img-style::before,
.hv-one .img-style::before {
  content: "";
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  position: absolute;
  background: rgba(0, 0, 0, 0.5019607843);
  width: 100%;
  height: 100%;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  z-index: 99;
  opacity: 0;
  border-radius: 10px;
}
.pagi2 .swiper-pagination2 .img-style.s-one::before,
.swiper-button-next2 .img-style.s-one::before,
.swiper-button-prev2 .img-style.s-one::before,
.hv-one .img-style.s-one::before {
  border-radius: 50%;
}
.hover-tooltip {
  position: relative;
}
.hover-tooltip .tooltip {
  font-family: "DM Sans", sans-serif;
  position: absolute;
  white-space: nowrap;
  padding: 2px 12px;
  border-radius: 2px;
  bottom: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%);
  opacity: 0;
  visibility: hidden;
  color: var(--white);
  background-color: var(--black);
  transition: transform 0.3s ease 0.1s, opacity 0.3s ease 0.1s;
  z-index: 5;
  font-size: 12px;
  line-height: 22px;
  font-weight: 400;
  border-radius: 8px;
  text-align: center;
  display: none;
}
.hover-tooltip .tooltip::before {
  content: "";
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  top: 22px;
  position: absolute;
  background: var(--black);
  width: 9px;
  height: 9px;
  z-index: -1;
}
@media (min-width: 1200px) {
  .hover-tooltip .tooltip {
    display: block;
  }
}
.hover-tooltip:hover .tooltip {
  opacity: 1;
  visibility: visible;
}
.hover-tooltip.tooltip-bot .tooltip {
  top: calc(100% + 9px);
  bottom: unset;
}
.hover-tooltip.tooltip-bot .tooltip::before {
  top: -5px;
}
.hover-tooltip.tooltip-left .tooltip {
  right: 100%;
  bottom: auto;
  transform: translateX(0px);
  left: unset;
}
.hover-tooltip.tooltip-left .tooltip::before {
  top: 50%;
  left: auto;
  transform: translateY(-50%) rotate(45deg);
  right: -4px;
}
.hover-tooltip.tooltip-left:hover .tooltip {
  transform: translateX(-12px);
}
.hover-tooltip.tooltip-right .tooltip {
  left: 100%;
  bottom: auto;
  transform: translateX(0px);
}
.hover-tooltip.tooltip-right .tooltip::before {
  top: 50%;
  right: auto;
  transform: translateY(-50%) rotate(45deg);
  left: -4px;
}
.hover-tooltip.tooltip-right:hover .tooltip {
  transform: translateX(8px);
}

/*--------- Abstracts variable ---------- */
.box-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
}

/*--------- Abstracts variable ---------- */

.overflow-x-auto::-webkit-scrollbar,
.overflow-y-auto::-webkit-scrollbar {
  width: 0px;
}

.modal {
  cursor: pointer;
}
.modal .icon-close-popup {
  top: 10px;
  right: 10px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
  position: absolute;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  font-size: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg);
  z-index: 2;
}
.modal .icon-close-popup:hover {
  background: var(--text);
  color: var(--white);
  transform: rotate(180deg);
}
@media (min-width: 992px) {
  .modal .icon-close-popup {
    top: 20px;
    right: 20px;
  }
}
.modal .modal-content {
  border: 0;
}
.modal .modal-body {
  padding: 0;
}
.modal.fullRight .modal-dialog {
  transform: translate(100%, 0);
  min-width: 100%;
  height: 100%;
  margin: 0;
  transition: transform 1s ease-out;
}
.modal.fullRight .modal-dialog .modal-content {
  border-radius: 0;
  border: 0;
  margin: auto;
  overflow: hidden;
  position: absolute;
  right: 0;
  bottom: 0;
  top: 0;
  padding: 0;
}
.modal.fullRight .modal-dialog .modal-content .modal-body {
  overflow: auto;
  padding: 0;
  padding-bottom: 30px;
}
.modal.fullRight.show .modal-dialog {
  transform: none;
  transition: transform 0.4s ease-out;
}
.modal.fullLeft .modal-dialog {
  transform: translate(-100%, 0) !important;
  min-width: 100%;
  height: 100%;
  margin: 0;
  transition: all 0.3s !important;
}
.modal.fullLeft .modal-content {
  border-radius: 0;
  border: 0;
  margin: auto;
  overflow: hidden;
  position: absolute;
  left: 0;
  bottom: 0;
  top: 0;
  padding: 0;
}
.modal.fullLeft .modal-body {
  overflow: auto;
  padding: 0;
  padding-bottom: 30px;
}
.modal.fullLeft.show .modal-dialog {
  transform: translate(0, 0) !important;
}
.modal.fullBottom .modal-dialog {
  transform: translate(0, 100%);
  min-width: 100%;
  height: 100%;
  max-height: unset;
  margin: 0;
  transition: transform 0.3s linear !important;
}
.modal.fullBottom .modal-content {
  border-radius: 0;
  border: 0;
  margin: auto;
  overflow: hidden;
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 0;
  max-height: max-content;
}
.modal.fullBottom .modal-body {
  overflow: auto;
  padding: 0;
  padding-bottom: 30px;
}
.modal.fullBottom.show .modal-dialog {
  transform: translate(0, 0);
}
.modal.modalCentered .modal-dialog {
  margin: 15px auto;
  padding-left: 15px;
  padding-right: 15px;
  transform: translate(0, 0) !important;
}
.modal.fade:not(.show) {
  opacity: 0;
}
.modal .modal-content {
  cursor: default !important;
  border-radius: 0px;
}
@media (max-width: 575px) {
  .modal {
    --bs-modal-margin: 1.75rem;
  }
}

.modal-dialog {
  background-clip: var(--white);
}

.modal-heading {
  position: relative;
  margin-bottom: 28px;
}

.modal-log .modal-dialog {
  max-width: 510px;
}
.modal-log .modal-content {
  position: relative;
  padding: 20px 15px;
  border-radius: 20px;
  overflow: hidden;
}
@media (min-width: 992px) {
  .modal-log .modal-content {
    padding: 32px;
  }
}

.modal-ask .modal-dialog {
  max-width: 710px;
}
.modal-ask .tf-field textarea {
  height: 160px;
}

.title-pop {
  letter-spacing: 0;
}



.sidebar-product {
  width: 410px !important;
}

/*--------- Abstracts variable ---------- */
form {
  position: relative;
  z-index: 30;
}
form select,
form textarea,
form input[type=text],
form input[type=password],
form input[type=datetime],
form input[type=datetime-local],
form input[type=date],
form input[type=month],
form input[type=time],
form input[type=week],
form input[type=number],
form input[type=email],
form input[type=url],
form input[type=search],
form input[type=tel],
form input[type=color] {
  outline: 0;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  width: 100%;
  padding: 11px 15px;
  border: 1px solid var(--line);
  border-radius: 8px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
form select::placeholder,
form textarea::placeholder,
form input[type=text]::placeholder,
form input[type=password]::placeholder,
form input[type=datetime]::placeholder,
form input[type=datetime-local]::placeholder,
form input[type=date]::placeholder,
form input[type=month]::placeholder,
form input[type=time]::placeholder,
form input[type=week]::placeholder,
form input[type=number]::placeholder,
form input[type=email]::placeholder,
form input[type=url]::placeholder,
form input[type=search]::placeholder,
form input[type=tel]::placeholder,
form input[type=color]::placeholder {
  color: var(--text-3);
  font-size: 16px;
  line-height: 26px;
}
form select:focus,
form textarea:focus,
form input[type=text]:focus,
form input[type=password]:focus,
form input[type=datetime]:focus,
form input[type=datetime-local]:focus,
form input[type=date]:focus,
form input[type=month]:focus,
form input[type=time]:focus,
form input[type=week]:focus,
form input[type=number]:focus,
form input[type=email]:focus,
form input[type=url]:focus,
form input[type=search]:focus,
form input[type=tel]:focus,
form input[type=color]:focus {
  border-color: var(--black);
}
form select.style-stroke-bottom,
form textarea.style-stroke-bottom,
form input[type=text].style-stroke-bottom,
form input[type=password].style-stroke-bottom,
form input[type=datetime].style-stroke-bottom,
form input[type=datetime-local].style-stroke-bottom,
form input[type=date].style-stroke-bottom,
form input[type=month].style-stroke-bottom,
form input[type=time].style-stroke-bottom,
form input[type=week].style-stroke-bottom,
form input[type=number].style-stroke-bottom,
form input[type=email].style-stroke-bottom,
form input[type=url].style-stroke-bottom,
form input[type=search].style-stroke-bottom,
form input[type=tel].style-stroke-bottom,
form input[type=color].style-stroke-bottom {
  border-radius: 0px;
  border-top: 0;
  border-left: 0;
  border-right: 0;
  padding: 0px 30px 11px 0px;
}
form select.style-stroke-bottom::placeholder,
form textarea.style-stroke-bottom::placeholder,
form input[type=text].style-stroke-bottom::placeholder,
form input[type=password].style-stroke-bottom::placeholder,
form input[type=datetime].style-stroke-bottom::placeholder,
form input[type=datetime-local].style-stroke-bottom::placeholder,
form input[type=date].style-stroke-bottom::placeholder,
form input[type=month].style-stroke-bottom::placeholder,
form input[type=time].style-stroke-bottom::placeholder,
form input[type=week].style-stroke-bottom::placeholder,
form input[type=number].style-stroke-bottom::placeholder,
form input[type=email].style-stroke-bottom::placeholder,
form input[type=url].style-stroke-bottom::placeholder,
form input[type=search].style-stroke-bottom::placeholder,
form input[type=tel].style-stroke-bottom::placeholder,
form input[type=color].style-stroke-bottom::placeholder {
  font-size: 16px;
  line-height: 26px;
}
form button,
form input[type=button],
form input[type=reset],
form input[type=submit] {
  background-color: transparent;
  overflow: hidden;
  padding: 0;
}
form textarea {
  height: 100px;
  resize: none;
}
form .form-content {
  display: grid;
  gap: 20px;
}
form .tf-grid-layout {
  gap: 20px;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.form-leave-comment textarea {
  min-height: 248px;
}
.form-leave-comment .form-content {
  margin-bottom: 24px;
}

.form_search-product {
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: 680px;
  width: 100%;
  padding: 8px 20px;
  border-radius: 999px;
  background: var(--bg);
}
.form_search-product .tf-select-category {
  white-space: nowrap;
}
.form_search-product .ipt {
  border: 0;
  background: transparent;
  padding: 0;
  width: 100%;
}
.form_search-product .btn-action {
  font-size: 24px;
}
.form_search-product .fieldset-search {
  display: flex;
  align-items: center;
  gap: 15px;
  width: 100%;
}
.form_search-product.style-2 {
  max-width: unset;
  padding-top: 12px;
  padding-bottom: 12px;
}

.form-gift .form-content {
  padding: 23px;
  border: 1px solid var(--black);
  border-radius: 8px;
  gap: 8px;
  display: none;
}

/*--------- Abstracts variable ---------- */
/*.tf-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  height: 44px;
  padding-left: 24px;
  padding-right: 24px;
  position: relative;
  background: var(--text);
  color: var(--white);
  border-radius: 60px;
  font-weight: 600;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.tf-btn.w-100 {
  padding-left: 12px;
  padding-right: 12px;
}
.tf-btn.btn-white {
  background: var(--white);
  color: var(--text);
}
.tf-btn.btn-white:hover {
  background: var(--text);
  color: var(--white);
}
.tf-btn.btn-white::after {
  display: none;
}
.tf-btn.btn-white.hv-primary:hover {
  background: var(--primary);
}
.tf-btn.btn-primary {
  background: var(--primary);
}
.tf-btn.btn-secondary {
  background: var(--secondary);
}
.tf-btn.btn-third {
  background: var(--third);
}
.tf-btn.btn-stroke {
  border: 1px solid var(--text);
}
.tf-btn.btn-stroke:not(:hover) {
  background: transparent;
  color: var(--text);
}
.tf-btn.btn-stroke-2 {
  border: 2px solid var(--white-10);
  background: transparent;
}
.tf-btn.small {
  height: 42px;
  padding-left: 24px;
  padding-right: 24px;
}
.tf-btn.small.w-100 {
  padding-left: 12px;
  padding-right: 12px;
}
.tf-btn.small-2 {
  height: 46px;
  padding-left: 28px;
  padding-right: 28px;
}
.tf-btn.s-small {
  height: 32px;
  padding-left: 20px;
  padding-right: 20px;
}
.tf-btn.type-xl {
  height: 50px;
}
.tf-btn.style-2 {
  border-radius: 12px;
}
@media (min-width: 1200px) {
  .tf-btn {
    height: 58px;
    padding-left: 32px;
    padding-right: 32px;
  }
}

.tf-btn-line-2 {
  color: var(--text-2);
  position: relative;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(to right, var(--text) 50%, var(--text-2) 50%);
  background-size: 200% 100%;
  background-position: right;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: background-position 0.3s linear;
  cursor: pointer;
}
.tf-btn-line-2::after {
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  bottom: 0px;
  height: 2px;
  background-color: var(--text-2);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.tf-btn-line-2::before {
  position: absolute;
  content: "";
  left: 0;
  width: 0;
  bottom: 0px;
  height: 2px;
  background-color: var(--text);
  transition: width 0.3s linear;
  z-index: 1;
}
.tf-btn-line-2.style-min::after, .tf-btn-line-2.style-min::before {
  height: 1px;
}
.tf-btn-line-2.style-white {
  color: var(--white);
  background: linear-gradient(to right, var(--primary) 50%, var(--white) 50%);
  background-size: 200% 100%;
  background-position: right;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: background-position 0.3s linear;
}
.tf-btn-line-2.style-white::after {
  background-color: var(--white);
}
.tf-btn-line-2.style-white::before {
  background-color: var(--primary);
}
.tf-btn-line-2.style-primary {
  color: var(--text);
  background: linear-gradient(to right, var(--primary) 50%, var(--text) 50%);
  background-size: 200% 100%;
  background-position: right;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: background-position 0.3s linear;
}
.tf-btn-line-2.style-primary::after {
  background-color: var(--text);
}
.tf-btn-line-2.style-primary::before {
  background-color: var(--primary);
}
.tf-btn-line-2:hover {
  background-position: left;
}
.tf-btn-line-2:hover::before {
  width: 100%;
}
.tf-btn-line-2.active {
  background-position: left;
}
.tf-btn-line-2.active::before {
  width: 100%;
}

.tf-btn-line-3 {
  position: relative;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
}
.tf-btn-line-3::before {
  content: "";
  position: absolute;
  height: 1px;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--text);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.tf-btn-line-3:hover {
  color: var(--primary);
}
.tf-btn-line-3:hover::before {
  background: var(--primary);
}
.tf-btn-line-3.type-primary {
  color: var(--primary);
}
.tf-btn-line-3.type-primary::before {
  background: var(--primary);
}

.tf-btn-line {
  display: inline-flex;
  position: relative;
  color: var(--text-2);
}
.tf-btn-line::after {
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background-color: var(--text-2);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
}
.tf-btn-line:hover {
  color: var(--text);
}
.tf-btn-line:hover::after {
  opacity: 1;
  visibility: visible;
}

.tf-btn-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.tf-btn-icon .icon {
  font-size: 20px;
}*/

/*--------- Abstracts variable ---------- */
.tf-swiper .tf-sw-pagination:not(.swiper-pagination-lock) {
  margin-top: 20px;
}

.swiper-button-disabled {
  pointer-events: none !important;
}

.sw-dot-default {
  margin-top: 24px;
}
.sw-dot-default .swiper-pagination-bullet {
  width: 16px;
  height: 16px;
  background-color: transparent;
  position: relative;
  border: 1px solid transparent;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 1;
}
.sw-dot-default .swiper-pagination-bullet::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--text-3);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.sw-dot-default .swiper-pagination-bullet.swiper-pagination-bullet-active {
  border: 1px solid var(--text);
}
.sw-dot-default .swiper-pagination-bullet.swiper-pagination-bullet-active::before {
  background-color: var(--text);
}
.sw-dot-default.style-2 .swiper-pagination-bullet {
  width: 20px;
  height: 20px;
}
.sw-dot-default.style-2 .swiper-pagination-bullet:not(.swiper-pagination-bullet-active)::before {
  border: 1px solid var(--text);
  background: transparent;
}
@media (min-width: 1200px) {
  .sw-dot-default {
    margin-top: 35px;
  }
}
@media (min-width: 1440px) {
  .sw-dot-default {
    margin-top: 56px;
  }
}

.sw-dot-default {
  display: flex;
  align-items: center;
  justify-content: center;
}
.sw-dot-default.swiper-pagination-lock {
  margin: 0;
}

/*--------- Abstracts variable ---------- */
.tf-dropdown-select.style-default {
  width: unset !important;
  display: flex;
}
.tf-dropdown-select.style-default > select {
  display: none !important;
}
.tf-dropdown-select.style-default > .dropdown-toggle {
  padding: 0px;
  padding-right: 20px;
  background-color: transparent !important;
  border: 0;
  outline: none !important;
  color: var(--black);
}
.tf-dropdown-select.style-default > .dropdown-toggle::after {
  border: 0;
  position: absolute;
  right: 0;
  content: "\e908";
  font-family: "icomoon";
  font-size: 16px;
  line-height: 1;
  color: var(--black);
  margin-left: 0px;
  top: 50%;
  transform: translateY(-50%);
}
.tf-dropdown-select.style-default > .dropdown-menu {
  overflow: unset !important;
  margin-top: 17px !important;
  margin-bottom: 17px !important;
  padding: 15px 20px;
  border-radius: 4px;
  border: 0;
  background-color: var(--white);
  box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 18px 0px;
}
.tf-dropdown-select.style-default > .dropdown-menu a {
  padding: 5px 0;
}
.tf-dropdown-select.style-default > .dropdown-menu a .text {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 8px;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
}
.tf-dropdown-select.style-default > .dropdown-menu a .text img {
  width: 20px;
  height: 15px;
}
.tf-dropdown-select.style-default > .dropdown-menu a:hover, .tf-dropdown-select.style-default > .dropdown-menu a:active, .tf-dropdown-select.style-default > .dropdown-menu a.active {
  color: var(--primary) !important;
  background-color: unset !important;
}
.tf-dropdown-select.style-default > .dropdown-menu::after {
  position: absolute;
  content: "";
  width: 16px;
  height: 16px;
  transform: translate(-50%, -50%) rotate(45deg);
  background-color: var(--white);
  top: 0;
  left: 50%;
  z-index: 2;
}
.tf-dropdown-select.style-default > .dropdown-menu[data-popper-placement=top-start]::after {
  display: none;
}
.tf-dropdown-select.style-default > .dropdown-menu[data-popper-placement=top-start]::before {
  position: absolute;
  content: "";
  width: 16px;
  height: 16px;
  transform: translate(-50%, 50%) rotate(45deg);
  background-color: var(--white);
  bottom: 0%;
  left: 50%;
  z-index: 2;
}
.tf-dropdown-select.style-default .dropdown-menu > .inner {
  overflow-y: hidden !important;
}
.tf-dropdown-select.type-currencies > .dropdown-menu {
  width: 120px !important;
}
.tf-dropdown-select.type-languages > .dropdown-menu {
  width: 110px !important;
  margin-left: -25px !important;
}
.tf-dropdown-select.color-white > .dropdown-toggle {
  color: var(--white);
}
.tf-dropdown-select.color-white > .dropdown-toggle::after {
  color: var(--white);
}
.tf-dropdown-select.color-text-2 > .dropdown-toggle {
  color: var(--text-2);
}
.tf-dropdown-select.color-text-2 > .dropdown-toggle::after {
  color: var(--text-2);
}
.tf-dropdown-select.color-text-3 > .dropdown-toggle {
  color: var(--text-3);
}
.tf-dropdown-select.color-text-3 > .dropdown-toggle::after {
  color: var(--text-3);
}

.tf-dropdown-wrap {
  display: flex;
  gap: 20px;
}
.tf-select-category {
  display: flex;
  align-items: center;
  gap: 5px;
  color: var(--black);
}

.select-category .dropdown_product_cate {
  display: none;
}
.select-category .close-option {
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.select-category .close-option:hover {
  color: var(--primary);
}
.select-category .select-options {
  overflow-y: auto;
  display: none;
  position: absolute;
  top: -3px;
  right: -3px;
  left: -3px;
  z-index: 999;
  margin: 0;
  padding: 20px;
  list-style: none;
  border-radius: 8px;
  background: #FFF;
  box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.05);
  min-width: 200px;
}
.select-category .select-options li {
  display: inline-block;
  width: 32.88%;
  margin: 0;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  padding: 8px 10px;
  position: relative;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.select-category .select-options li a {
  color: var(--text-2);
}
.select-category .select-options li a:hover {
  color: var(--primary);
}
.select-category .header-select-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight: 600;
  font-size: 18px;
  line-height: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid #ededed;
  margin-bottom: 8px;
  color: var(--black);
}

.card-product {
  display: flex;
  flex-direction: column;
  gap: 16px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.card-product:hover .variant-box,
.card-product:hover .product-action_bot,
.card-product:hover .product-btn_quick {
  transform: translateY(0px);
  opacity: 1;
  visibility: visible;
}
.card-product:hover .product-countdown {
  bottom: -40px;
}
.card-product:hover .product-marquee_sale {
  transform: translateY(50px);
}
.card-product.style-2 .product-action_list {
  top: unset;
  left: 8px;
  right: 8px;
  justify-content: center;
  flex-direction: row;
  bottom: 58px;
}
.card-product.style-2 .product-action_list li {
  transform: translateY(0px);
  transition-delay: unset !important;
}
@media (min-width: 576px) {
  .card-product.style-2 .product-action_list {
    bottom: 12px;
  }
  .card-product.style-2.has-size .product-action_list {
    bottom: 66px;
  }
}
.card-product.style-5 {
  padding: 20px;
  background-color: #f7f7f7;
  border-radius: 12px;
}
.card-product.style-5 .tf-btn {
  box-shadow: 0px 10px 15px 0px rgba(43, 52, 74, 0.1215686275);
}
@media (min-width: 576px) {
  .card-product.has-size .product-action_bot {
    bottom: 64px;
  }
}
@media (min-width: 1200px) {
  .card-product:hover .product-action_list li {
    opacity: 1;
    visibility: visible;
  }
  .card-product:hover .product-action_list li:nth-child(1) {
    transform: translateX(0px);
  }
  .card-product:hover .product-action_list li:nth-child(2) {
    transform: translateX(0px);
    transition-delay: 0.1s;
  }
  .card-product:hover .product-action_list li:nth-child(3) {
    transform: translateX(0px);
    transition-delay: 0.2s;
  }
  .card-product:hover .product-action_list li:nth-child(4) {
    transform: translateX(0px);
    transition-delay: 0.3s;
  }
  .card-product.style-2 .product-action_list li {
    transform: translateY(20px);
  }
  .card-product.style-2:hover .product-action_list li {
    transform: translateY(0px);
  }
  .card-product.style-4 .product-action_list li {
    transform: translateY(20px);
  }
  .card-product.style-4 .product-action_list {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    justify-content: center;
    flex-direction: row;
  }
  .card-product.style-4 .product-action_list li {
    transform: translateY(0px);
    transition-delay: unset !important;
  }
  .card-product.style-4:hover .product-action_list li {
    transform: translateY(0px);
  }
}

.card-product_wrapper {
  aspect-ratio: 0.75;
  z-index: 20;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}
.card-product_wrapper .product-img {
  overflow: hidden;
  position: relative;
  border-radius: 12px;
  z-index: 0;
  width: 100%;
}
.card-product_wrapper img {
  display: block;
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: center;
  transition-duration: 700ms;
}
.card-product_wrapper .img-product {
  z-index: 1;
  position: relative;
}
.card-product_wrapper .img-hover {
  position: absolute;
  inset: 0;
  z-index: 2;
  opacity: 0;
}
.card-product_wrapper .tf-btn {
  box-shadow: 0px 10px 25px 0px rgba(43, 52, 74, 0.1215686275);
}
.card-product_wrapper:hover .img-hover {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
  opacity: 1;
}
.card-product_wrapper.square {
  aspect-ratio: 1;
}
.card-product_wrapper.square img {
  aspect-ratio: 1;
}

.product-action_list {
  position: absolute;
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 8px;
  top: 8px;
  right: 8px;
  z-index: 6;
}
.product-action_list .box-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: var(--white);
  box-shadow: 0px 10px 25px 0px rgba(43, 52, 74, 0.1215686275);
}
.product-action_list .box-icon:hover {
  background-color: var(--black);
  color: var(--white);
}
.product-action_list .icon {
  font-size: 20px;
}
@media (min-width: 1200px) {
  .product-action_list {
    top: 12px;
    right: 12px;
  }
  .product-action_list li {
    opacity: 0;
    visibility: hidden;
    transform: translateX(20px);
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .product-action_list.style-row li {
    transform: translateY(-16px);
    transition-delay: unset !important;
  }
}
@media (max-width: 1199px) {
  .product-action_list.style-row {
    position: unset;
  }
}
@media (max-width: 575px) {
  .product-action_list .wishlist,
  .product-action_list .compare {
    display: none;
  }
  .product-action_list .icon {
    font-size: 16px;
  }
}

.card-product_info {
  display: flex;
  flex-direction: column;
  align-items: start;
  gap: 4px;
}
.card-product_info .name-product {
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}

.price-wrap {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.price-wrap .price-old {
  text-decoration: line-through;
}

.star-wrap .icon {
  color: var(--yellow);
  font-size: 12px;
}
.star-wrap.normal .icon {
  font-size: 16px;
}
.star-wrap.rate-click .icon {
  color: var(--line);
}
.star-wrap.rate-click .icon.hover, .star-wrap.rate-click .icon.active {
  color: var(--yellow);
}

.product-badge_list {
  display: flex;
  gap: 4px;
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 1;
}
@media (min-width: 1200px) {
  .product-badge_list {
    top: 12px;
    left: 12px;
  }
}
@media (max-width: 575px) {
  .product-badge_list {
    flex-direction: column;
    align-items: start;
    gap: 4px;
  }
}

.product-badge_item {
  padding: 0px 8px;
  color: var(--white);
  font-weight: 500;
  border-radius: 12px;
}
.product-badge_item.sale {
  background-color: var(--primary);
}
.product-badge_item.new {
  background-color: #3dab25;
}
.product-badge_item.trend {
  background-color: var(--yellow);
}

.product-marquee_sale {
  font-weight: 600;
  background: var(--black);
  position: absolute;
  bottom: 12px;
  left: 12px;
  right: 12px;
  color: var(--white);
  border-radius: 100px;
  padding: 4px 10px;
  font-size: 12px;
  line-height: 16px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  overflow: hidden;
}
.product-marquee_sale .initial-child-container {
  gap: 4px;
  align-items: center;
  display: flex;
}
.product-marquee_sale .icon {
  color: var(--primary);
}
@media (max-width: 1199px) {
  .product-marquee_sale {
    display: none;
  }
}

.product-countdown {
  position: absolute;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  padding: 4px 12px;
  background: var(--white);
  text-align: center;
  white-space: nowrap;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  border-radius: 100px;
}
.product-countdown .countdown__timer {
  font-size: 12px;
  line-height: 16px;
  font-weight: 600;
  color: var(--primary);
}
@media (max-width: 1199px) {
  .product-countdown {
    display: none;
  }
}

.product-action_bot {
  position: absolute;
  bottom: 16px;
  right: 15px;
  left: 15px;
  z-index: 2;
  text-align: center;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.product-action_bot > *:not(:last-child) {
  margin-bottom: 12px;
}
.product-action_bot .btn-icon-quick_view {
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--white);
  border-radius: 50%;
  flex-shrink: 0;
  font-size: 20px;
}
.product-action_bot .btn-icon-quick_view:hover {
  background: var(--text);
  color: var(--white);
}
@media (min-width: 576px) {
  .product-action_bot.vertical {
    display: flex;
    flex-direction: row;
    gap: 8px;
  }
  .product-action_bot.vertical > * {
    margin-bottom: 0;
  }
}
@media (min-width: 1200px) {
  .product-action_bot {
    transform: translateY(20px);
    opacity: 0;
    visibility: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .product-action_bot > * {
    width: 180px;
    padding-left: 12px;
    padding-right: 12px;
  }
}
@media (max-width: 991px) {
  .product-action_bot {
    left: 8px;
    right: 8px;
  }
}
@media (max-width: 575px) {
  .product-action_bot {
    bottom: 8px;
  }
  .product-action_bot > * {
    padding: 10px 5px;
    width: 100%;
  }
  .product-action_bot > *:not(:last-child) {
    margin-bottom: 8px;
  }
  .product-action_bot > *.small {
    height: 36px;
  }
  .product-action_bot .icon {
    font-size: 16px;
  }
}

.btn-wishlist {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--text);
  color: var(--white);
  flex-shrink: 0;
  font-size: 24px;
}

.video-product {
  aspect-ratio: 0.75;
  display: flex;
}
.card-product_v02 {
  position: relative;
  overflow: hidden;
}
.card-product_v02 .card-product_info {
  top: 20px;
  left: 20px;
  position: absolute;
  z-index: 21;
}
.card-product_v02 .product-badge_list {
  top: 20px;
  right: 20px;
  left: auto;
  z-index: 21;
}
.wrap-quick-login .title {
  padding: 12px 16px;
  border-radius: 8px;
  background-color: var(--bg-2);
  margin-bottom: 12px;
}
.box-image_img {
  display: inline-flex;
  width: 100%;
}
.box-image_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.box-image_content {
  position: absolute;
  display: flex;
  align-items: start;
  flex-direction: column;
}
.box-image_v01 {
  position: relative;
  display: flex;
}
.box-image_v01 .box-image_content {
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  align-items: center;
}
.box-image_v01.style-2 .box-image_img {
  border-radius: 12px;
  overflow: hidden;
  position: relative;
}
.box-image_v01.style-2 .box-image_img img {
  aspect-ratio: 1.6176470588;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.box-image_v01.style-2 .box-image_img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.2);
}
@media (max-width: 575px) {
  .box-image_v01 .box-image_img img {
    height: 300px;
  }
}
.box-bundle-save {
  padding: 20px;
  border: 4px solid var(--text);
  border-radius: 16px;
}
.box-why {
  display: grid;
  text-align: center;
  gap: 12px;
}
/*--------- Abstracts variable ---------- */
.tf-list {
  display: flex;
  align-items: center;
  gap: 24px;
}
.tf-list li {
  display: flex;
}
.tf-list.vertical {
  display: grid;
}

.product-desc_ship .ship-title {
  margin-bottom: 12px;
}
.plr-120{
  padding:0 120px;
}

/* ---------------------------------------------------
    MEDIAQUERIES
----------------------------------------------------- */
@media screen and (max-width:1700px){ 
}
@media screen and (max-width:1600px){
}
@media screen and (max-width:1500px){ 
}
@media screen and (max-width:1400px){
}
@media screen and (max-width:1366px){
}
@media screen and (max-width:1300px){
}
@media screen and (max-width:1280px){
}
@media screen and (max-width:1200px){
}
@media screen and (max-width:1150px){
}
@media screen and (max-width:1100px){
}
@media screen and (max-width:1024px){
}
@media screen and (max-width:991px){
}
@media screen and (max-width:900px){
}
@media screen and (max-width:800px){
}
@media screen and (max-width:767px){
}
@media screen and (max-width:715px){
}
@media screen and (max-width:630px){
}
@media screen and (max-width:600px){
}
@media screen and (max-width:575px){
}
@media screen and (max-width:480px){
}
@media screen and (max-width:390px){
}
@media screen and (max-width:320px){
}

/* Book an Experience */
.vl-book-page {
  background: #f8f4ef;
}
.vl-book-main {
  background: #f8f4ef;
  color: #23282f;
  min-height: 100vh;
}
.vl-book-shell {
  /*max-width: 1180px;*/
  margin: 0 auto;
  padding: 60px 0 88px;
}
.vl-book-head {
  margin-bottom: 48px;
}
.vl-book-head h1 {
  color: #20242b;
  font-family: "Montserrat", sans-serif;
  font-size: 48px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.08;
  margin: 0 0 10px;
}
.vl-book-head p {
  color: #667077;
  font-size: 17px;
  margin: 0;
}
.vl-book-steps {
  align-items: center;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  list-style: none;
  margin: 0 auto 76px;
  max-width: 820px;
  padding: 0;
}
.vl-book-steps li {
  align-items: center;
  color: #a2a8ad;
  display: flex;
  font-size: 14px;
  font-weight: 500;
  gap: 10px;
  position: relative;
}
.vl-book-steps li:not(:last-child)::after {
  background: #dddeda;
  content: "";
  height: 1px;
  left: 92px;
  position: absolute;
  right: 20px;
  top: 50%;
}
.vl-book-steps span {
  align-items: center;
  background: #e1e5e8;
  border-radius: 50%;
  color: #6e7880;
  display: inline-flex;
  flex: 0 0 38px;
  font-size: 16px;
  font-weight: 800;
  height: 38px;
  justify-content: center;
  width: 38px;
}
.vl-book-steps strong {
  font-weight: 500;
}
.vl-book-steps .active {
  color: #38a9a9;
}
.vl-book-steps .active span {
  background: #36a9aa;
  color: #fff;
}
.vl-book-steps .done {
  color: #38a9a9;
}
.vl-book-steps .done span {
  background: #36a9aa;
  color: #fff;
  font-size: 0;
}
.vl-book-steps .done span::before {
  content: "\2713";
  font-size: 17px;
}
.vl-book-steps .done::after {
  background: #36a9aa;
}
.vl-book-tabs {
  display: flex;
  gap: 8px;
  margin: 0 0 30px;
  padding: 6px;
  width: fit-content;
  border: 1px solid #dfe3e3;
  border-radius: 999px;
  background: #fff;
}
.vl-book-tabs button {
  min-height: 44px;
  padding: 10px 24px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #59636b;
  font-size: 14px;
  font-weight: 700;
}
.vl-book-tabs button.is-active {
  background: #36a9aa;
  color: #fff;
}
.vl-experience-list {
  display: grid;
  gap: 26px;
}
.vl-experience-list[hidden],
.vl-book-date-view[hidden] {
  display: none;
}
.vl-book-card {
  background: #fff;
  border: 1px solid #dedfdd;
  border-radius: 8px;
  box-shadow: 0 10px 18px rgba(31, 35, 39, 0.06);
  display: grid;
  grid-template-columns: 380px 1fr;
  min-height: 250px;
  overflow: hidden;
}
.vl-book-card__image {
  min-height: 250px;
}
.vl-book-card__image img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.vl-book-card__body {
  padding: 34px 32px 28px 55px;
}
.vl-book-card__top {
  align-items: flex-start;
  display: flex;
  gap: 20px;
  justify-content: space-between;
}
.vl-book-card h2 {
  color: #20242b;
  font-size: 25px;
  font-weight: 800;
  line-height: 1.18;
  margin: 0 0 8px;
}
.vl-book-desc {
  color: #606970;
  font-size: 15.5px;
  line-height: 1.45;
  margin: 0 0 18px;
}
.vl-book-badge {
  background: #f6f7e9;
  border-radius: 999px;
  color: #8da134;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 11px;
  font-weight: 700;
  justify-content: center;
  line-height: 1.05;
  min-width: 78px;
  padding: 9px 16px;
  text-align: center;
}
.vl-book-meta {
  color: #59636b;
  display: grid;
  font-size: 15px;
  gap: 12px;
  list-style: none;
  margin: 0 0 22px;
  padding: 0;
}
.vl-book-meta li {
  align-items: center;
  display: flex;
  gap: 9px;
}
.vl-book-meta svg {
  color: #21272d;
  height: 16px;
  stroke-width: 1.8;
  width: 16px;
}
.vl-book-included {
  border-bottom: 1px solid #e4e4e1;
  padding-bottom: 22px;
}
.vl-book-label {
  color: #3b4248;
  display: block;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 8px;
}
.vl-book-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
}
.vl-book-tags span {
  background: #fbfaf7;
  border-radius: 999px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
  color: #586168;
  font-size: 13px;
  line-height: 1;
  padding: 7px 12px;
}
.vl-book-price-row {
  align-items: center;
  display: flex;
  justify-content: space-between;
  padding-top: 22px;
}
.vl-book-price {
  display: block;
}
.vl-book-price__primary {
  align-items: baseline;
  display: flex;
  gap: 8px;
}
.vl-book-price strong {
  color: #36a9aa;
  font-size: 30px;
  font-weight:700;
  line-height: 1;
}
.vl-book-price span {
  color: #4e5961;
  font-size: 15px;
}
.vl-book-rwf {
  color: #778087;
  font-size: 14px;
  margin-top: 5px;
}
.vl-book-button {
  align-items: center;
  background: #36a9aa;
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: 15px;
  font-weight: 700;
  justify-content: center;
  min-height: 46px;
  min-width: 200px;
  padding: 12px 28px;
  text-decoration: none;
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.vl-book-button:hover {
  background: #268f90;
  color: #fff;
  transform: translateY(-1px);
}
.vl-book-date-view {
  align-items: start;
  display: grid;
  gap: 32px;
  grid-template-columns: minmax(0, 730px) 350px;
}
.vl-book-date-panel,
.vl-book-summary {
  background: #fff;
  border: 1px solid #dddfdf;
  border-radius: 8px;
  box-shadow: 0 8px 16px rgba(31, 35, 39, 0.04);
}
.vl-book-date-panel {
  padding: 34px 30px;
}
.vl-book-date-panel h2,
.vl-book-summary h2 {
  color: #20242b;
  font-size: 22px;
  font-weight: 800;
  line-height: 1.25;
  margin: 0 0 24px;
}
.vl-book-date-panel > p {
  color: #657079;
  font-size: 15.5px;
  line-height: 1.5;
  margin: -12px 0 24px;
}
.vl-book-date-panel h3 {
  color: #20242b;
  font-size: 17px;
  font-weight: 800;
  margin: 0 0 16px;
}
.vl-calendar {
  border: 1px solid #e1e4e5;
  border-radius: 8px;
  margin-bottom: 36px;
  padding: 28px 26px 18px;
}
.vl-calendar__head {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px;
}
.vl-calendar__head button {
  align-items: center;
  background: transparent;
  border: 0;
  color: #394047;
  display: inline-flex;
  font-size: 26px;
  height: 32px;
  justify-content: center;
  line-height: 1;
  width: 32px;
}
.vl-calendar__head strong {
  color: #20242b;
  font-size: 18px;
  font-weight: 800;
}
.vl-calendar__grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  row-gap: 28px;
}
.vl-calendar__day {
  color: #7d858c;
  font-size: 12px;
  text-align: center;
}
.vl-calendar__grid button {
  align-items: center;
  aspect-ratio: 1;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 50%;
  color: #1f262d;
  display: inline-flex;
  font-size: 14px;
  justify-content: center;
  justify-self: center;
  width: 42px;
}
.vl-calendar__grid .is-muted {
  color: #c6cbcd;
}
.vl-calendar__grid .is-selected {
  background: #36a9aa;
  color: #fff;
}
.vl-calendar__legend {
  border-top: 1px solid #e2e4e4;
  display: flex;
  gap: 18px;
  margin-top: 28px;
  padding-top: 16px;
}
.vl-calendar__legend span {
  align-items: center;
  color: #6c747c;
  display: inline-flex;
  font-size: 12px;
  gap: 8px;
}
.vl-calendar__legend i {
  border: 1px solid #cdd2d3;
  border-radius: 3px;
  display: inline-block;
  height: 14px;
  width: 14px;
}
.vl-calendar__legend .is-selected {
  background: #36a9aa;
  border-color: #36a9aa;
}
.vl-calendar__legend .is-unavailable {
  background: #f0f1f1;
  border-color: #f0f1f1;
}
.vl-pricing-box {
  border: 1px solid #e0e3e4;
  border-radius: 8px;
  overflow: hidden;
}
.vl-group-size {
  padding: 28px 24px 24px;
}
.vl-group-title {
  align-items: center;
  color: #20242b;
  display: flex;
  font-size: 17px;
  font-weight: 800;
  gap: 9px;
  margin-bottom: 18px;
}
.vl-group-title svg {
  color: #36a9aa;
  height: 18px;
  width: 18px;
}
.vl-guest-control {
  align-items: center;
  display: flex;
  gap: 18px;
  margin-bottom: 10px;
}
.vl-guest-control button {
  align-items: center;
  background: #fff;
  border: 1px solid #cbd1d2;
  border-radius: 4px;
  color: #252b31;
  display: inline-flex;
  font-size: 22px;
  height: 38px;
  justify-content: center;
  line-height: 1;
  width: 38px;
}
.vl-guest-control strong {
  border-bottom: 1px solid #cfd4d5;
  color: #20242b;
  font-size: 24px;
  min-width: 70px;
  padding-bottom: 6px;
  text-align: center;
}
.vl-guest-control span,
.vl-group-size small {
  color: #667078;
  font-size: 14px;
}
.vl-price-lines {
  border-top: 1px solid #e0e3e4;
  display: grid;
  gap: 14px;
  margin: 0 24px;
  padding: 24px 0;
}
.vl-price-lines div,
.vl-price-total,
.vl-deposit-box div,
.vl-summary-line,
.vl-summary-total {
  align-items: center;
  display: flex;
  justify-content: space-between;
}
.vl-price-lines dt,
.vl-price-lines dd {
  color: #39424a;
  font-size: 15px;
  margin: 0;
}
.vl-price-total {
  border-top: 1px solid #e0e3e4;
  margin: 0 24px;
  padding: 20px 0 24px;
}
.vl-price-total strong {
  color: #20242b;
  font-size: 20px;
  font-weight: 800;
}
.vl-price-total span {
  text-align: right;
}
.vl-price-total b,
.vl-deposit-box strong,
.vl-summary-total strong {
  color: #36a9aa;
  display: block;
  font-size: 18px;
  font-weight: 800;
}
.vl-price-total small,
.vl-deposit-box small {
  color: #7a8289;
  display: block;
  font-size: 12px;
}
.vl-deposit-box {
  background: #f5fbfb;
  border-top: 1px solid #e0e3e4;
  display: grid;
  gap: 18px;
  padding: 24px;
}
.vl-deposit-box span {
  color: #424a52;
  font-size: 14px;
}
.vl-deposit-selector {
  align-items: center;
  display: flex;
  gap: 14px;
  justify-content: space-between;
}
.vl-deposit-selector select {
  background: #fff;
  border: 1px solid #a9cbc8;
  border-radius: 4px;
  color: #173f3b;
  font: inherit;
  font-weight: 700;
  padding: 9px 32px 9px 12px;
}
.vl-deposit-box div {
  gap: 16px;
}
.vl-deposit-box div strong,
.vl-deposit-box div small {
  margin-left: auto;
  text-align: right;
}
.vl-discount-note {
  background: #edf7ff;
  border: 1px solid #b8dbf3;
  border-radius: 7px;
  color: #35669d;
  font-size: 14px;
  margin: 0;
  padding: 14px 22px;
}
.vl-book-summary {
  padding: 30px 24px 22px;
  position: sticky;
  top: 110px;
}
.vl-book-summary h2 {
  font-size: 18px;
  margin-bottom: 28px;
}
.vl-summary-line,
.vl-summary-total {
  color: #323a42;
  font-size: 14px;
  margin-bottom: 14px;
}
.vl-summary-line span,
.vl-summary-total span {
  color: #7b838a;
}
.vl-summary-line strong {
  font-size: 15px;
}
.vl-summary-total {
  border-top: 1px solid #e2e4e4;
  margin-top: 20px;
  padding-top: 20px;
}
.vl-book-continue {
  background: #9fd6d5;
  border: 0;
  border-radius: 999px;
  color: #fff;
  font-size: 15px;
  font-weight: 800;
  margin-top: 18px;
  min-height: 48px;
  width: 100%;
}
@media screen and (max-width: 991px) {
  .vl-book-shell {
    padding: 64px 16px;
  }
  .vl-book-head h1 {
    font-size: 38px;
  }
  .vl-book-steps {
    gap: 14px;
    grid-template-columns: 1fr 1fr;
    margin-bottom: 44px;
  }
  .vl-book-steps li::after {
    display: none;
  }
  .vl-book-card {
    grid-template-columns: 1fr;
  }
  .vl-book-card__image {
    height: 260px;
  }
  .vl-book-card__body {
    padding: 28px 24px;
  }
  .vl-book-date-view {
    grid-template-columns: 1fr;
  }
  .vl-book-summary {
    position: static;
  }
}
@media screen and (max-width: 575px) {
  .vl-book-head h1 {
    font-size: 32px;
  }
  .vl-book-steps {
    grid-template-columns: 1fr;
  }
  .vl-book-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
  }
  .vl-book-tabs button {
    padding-inline: 12px;
  }
  .vl-book-card__top,
  .vl-book-price-row {
    align-items: flex-start;
    flex-direction: column;
  }
  .vl-book-button {
    min-width: 100%;
  }
  .vl-book-date-panel {
    padding: 24px 16px;
  }
  .vl-calendar {
    padding: 20px 12px 16px;
  }
  .vl-calendar__grid button {
    width: 34px;
  }
  .vl-calendar__legend {
    flex-wrap: wrap;
  }
  .vl-deposit-box div,
  .vl-price-total,
  .vl-summary-line,
  .vl-summary-total {
    align-items: flex-start;
    flex-direction: column;
  }
  .vl-deposit-box div strong,
  .vl-deposit-box div small {
    margin-left: 0;
    text-align: left;
  }
}

/* Booking workflow completion and changemaker storefront */
.vl-book-main [hidden]{display:none!important}.vl-book-main>.vl-book-tabs{max-width:1180px;margin:0 auto;padding:42px 20px 0;border:0;border-radius:0;background:transparent;gap:24px}.vl-book-main>.vl-book-tabs button{min-width:195px;border-radius:0;background:#f1f3f4;color:#343a40;text-transform:uppercase}.vl-book-main>.vl-book-tabs button.is-active{background:#062733;color:#fff}.vl-book-panel-head{padding:50px;margin-bottom:30px;background:#f4f8fa;text-align:center}.vl-book-panel-head h2{margin:0 0 10px;font-size:38px;color:#17202c}.vl-book-panel-head p{margin:0;color:#667078}.vl-calendar__status{min-height:22px;margin:-15px 0 16px;color:#397777;font-size:12px;text-align:center}.vl-calendar.is-loading .vl-calendar__grid{opacity:.45;pointer-events:none}.vl-calendar__grid button:disabled{cursor:not-allowed}.vl-calendar__grid .is-range{background:#d9f3f2;border-radius:0}.vl-summary-block{display:grid;gap:4px;margin-bottom:18px}.vl-summary-block span{color:#7b838a;font-size:13px}.vl-summary-block strong{font-size:15px}.vl-book-back{margin:0 0 22px;padding:0;border:0;background:transparent;color:#278f90;font-weight:700}.vl-book-form-view{display:grid;grid-template-columns:minmax(0,730px) 350px;gap:32px;align-items:start}.vl-book-form-card{padding:36px;background:#fff;border:1px solid #dddfdf;border-radius:8px}.vl-book-form-card>h2{margin:0 0 8px;font-size:26px}.vl-book-form-card>p{margin:0 0 28px;color:#68727a}.vl-book-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.vl-book-form-card label{display:grid;gap:8px;margin-bottom:20px;color:#273039;font-weight:700}.vl-book-form-card input,.vl-book-form-card textarea{width:100%;padding:13px 14px;border:1px solid #cfd4d5;border-radius:3px;background:#fff;color:#20242b;font:inherit;font-weight:400}.vl-book-review{margin:12px 0 26px;padding:22px;border:1px solid #e2ded8;background:#fbf8f4}.vl-book-review h3{margin:0 0 16px}.vl-book-review>div{display:grid;grid-template-columns:1fr 1fr;gap:16px}.vl-book-review span{display:grid;gap:4px;color:#7b838a;font-size:12px;text-transform:uppercase}.vl-book-review strong{color:#29323a;font-size:15px;text-transform:none}.vl-book-primary{min-height:48px;padding:12px 30px;border:0;border-radius:999px;background:#36a9aa;color:#fff;font-weight:800}.vl-book-primary:disabled{opacity:.55}.vl-payment-option{grid-template-columns:auto 1fr!important;align-items:start;padding:20px;border:1px solid #d8dcdd;border-radius:7px}.vl-payment-option.is-selected{border-color:#36a9aa;background:#effafa}.vl-payment-option input{width:auto;margin-top:3px}.vl-payment-option span{display:grid;gap:5px}.vl-payment-option small{color:#67727a;font-weight:400}.vl-payment-total{display:flex;align-items:center;justify-content:space-between;margin:28px 0;padding:22px;background:#fbfaf7}.vl-payment-total strong{color:#36a9aa;font-size:26px}.vl-book-error{margin:0 0 16px;padding:12px;border:1px solid #d63638;background:#fff1f1;color:#8a2424}.vl-book-success{max-width:680px;margin:20px auto;padding:70px 40px;background:#fff;border:1px solid #dfe2e2;text-align:center}.vl-book-success svg{width:54px;height:54px;color:#36a9aa}.vl-book-success h2{font-size:34px}.vl-book-success strong{display:block;margin:20px;font-size:20px}.vl-book-success a{display:inline-flex;padding:12px 26px;border-radius:999px;background:#36a9aa;color:#fff;text-decoration:none}.vl-operator-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.vl-operator-card{overflow:hidden;border:1px solid #dde1e1;background:#fff;color:#20242b;text-decoration:none}.vl-operator-card img{width:100%;aspect-ratio:1.35;object-fit:cover}.vl-operator-card>span{display:grid;gap:6px;padding:20px}.vl-operator-card strong{font-size:19px}.vl-operator-card small{color:#36a9aa}.vl-operator-card em{color:#737c82;font-size:12px;font-style:normal}
.vl-maker-single{background:#fff;color:#2d2926}.vl-maker-single__cover{height:340px;background-position:center;background-size:cover}.vl-maker-single__profile{position:relative;display:flex;gap:28px;align-items:flex-start;max-width:1050px;margin:-80px auto 0;padding:38px 46px;background:#fff;border-radius:7px;box-shadow:0 8px 24px rgba(0,0,0,.14)}.vl-maker-single__profile>img{width:112px;height:112px;margin-top:-2px;border:4px solid #fff;border-radius:50%;object-fit:cover;box-shadow:0 3px 12px rgba(0,0,0,.18)}.vl-maker-single__profile h1{margin:0;font-size:44px}.vl-maker-single__profile p{margin:7px 0;color:#36a9aa;font-size:18px}.vl-maker-single__meta{display:flex;flex-wrap:wrap;gap:18px;color:#657078}.vl-maker-single__meta span,.vl-maker-single__actions{display:flex;align-items:center;gap:7px}.vl-maker-single__meta svg,.vl-maker-single__actions svg{width:16px}.vl-maker-single__actions{margin-top:18px}.vl-maker-single__actions a{display:inline-flex;gap:8px;align-items:center;padding:11px 20px;border:1px solid #36a9aa;border-radius:999px;background:#36a9aa;color:#fff;text-decoration:none}.vl-maker-single__actions a.outline{background:#fff;color:#278f90}.vl-maker-story{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(260px,.8fr);gap:70px;padding-top:75px;padding-bottom:70px}.vl-maker-story h2{font-size:30px}.vl-maker-story__copy{color:#667078;font-size:16px;line-height:1.7}.vl-maker-impact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:30px 0}.vl-maker-impact-grid>div{display:grid;place-items:center;min-height:170px;padding:22px;border:1px solid #ead3bf;background:#fff6ee;text-align:center}.vl-maker-impact-grid>div:nth-child(2){border-color:#b9dddd;background:#edfafa}.vl-maker-impact-grid>div:nth-child(3){border-color:#d7deb2;background:#f6f8e9}.vl-maker-impact-grid svg{color:#ef7c27}.vl-maker-impact-grid strong{margin:10px 0;font-size:25px}.vl-maker-impact-grid span{color:#68727a;font-size:12px}.vl-maker-contribution{padding:28px 34px;border:1px solid #d7deb2;background:#f6f8e9}.vl-maker-contribution h3{display:flex;gap:10px;align-items:center}.vl-maker-contribution svg{color:#8daa27}.vl-maker-contact{align-self:start;display:grid;gap:8px;padding:24px;border:1px solid #ddd8d1;background:#fbf8f4}.vl-maker-contact h3{margin:0 0 12px}.vl-maker-contact small{color:#7b838a}.vl-maker-contact strong{margin-bottom:10px}.vl-maker-contact a{display:flex;gap:8px;align-items:center;padding-top:10px;border-top:1px solid #e2ddd6;color:#36a9aa;text-decoration:none}.vl-maker-contact svg{width:15px}.vl-maker-products{padding:60px 0 90px;background:#d9f5f6}.vl-maker-products h2{font-size:32px}.vl-maker-product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.vl-maker-product-grid>a{overflow:hidden;background:#fff;color:#252b31;text-decoration:none}.vl-maker-product-grid img{width:100%;aspect-ratio:1;object-fit:cover}.vl-maker-product-grid a span{display:grid;gap:12px;padding:16px}.vl-maker-product-grid a b{color:#ef7c27}
@media(max-width:991px){.vl-book-form-view{grid-template-columns:1fr}.vl-operator-grid{grid-template-columns:repeat(2,1fr)}.vl-maker-story{grid-template-columns:1fr}.vl-maker-single__profile{margin:-50px 20px 0}.vl-maker-product-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:575px){.vl-book-main>.vl-book-tabs{display:grid;grid-template-columns:1fr;padding-top:22px;gap:8px}.vl-book-main>.vl-book-tabs button{width:100%;min-width:0}.vl-book-panel-head{padding:35px 20px}.vl-book-panel-head h2{font-size:28px}.vl-book-form-card{padding:26px 18px}.vl-book-form-grid,.vl-book-review>div,.vl-operator-grid{grid-template-columns:1fr}.vl-maker-single__cover{height:220px}.vl-maker-single__profile{display:grid;padding:28px 22px}.vl-maker-single__profile h1{font-size:32px}.vl-maker-impact-grid,.vl-maker-product-grid{grid-template-columns:1fr}.vl-maker-story{padding-inline:20px}.vl-maker-products{padding-inline:20px}}

/* Wholesale / B2B Partner Portal */
.vl-partner-page,
.vl-partner-main {
  background: #f8f4ef;
  color: #25282f;
}
.vl-partner-hero {
  align-items: center;
  background-image: linear-gradient(90deg, rgba(22, 22, 22, 0.78) 0%, rgba(22, 22, 22, 0.5) 42%, rgba(22, 22, 22, 0.08) 100%), url("../images/experiences/3.jpg");
  background-position: center;
  background-size: cover;
  display: flex;
  min-height: 560px;
}
.vl-partner-hero__content {
    margin-left: max(24px, calc((100vw - 1180px) / 2));
    max-width:40%;
    padding: 72px 20px;
}
.vl-partner-kicker {
  color: #ee7920;
  display: block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 3px;
  margin-bottom: 24px;
  text-transform: uppercase;
}
.vl-partner-hero h1 {
    color: #fff;
    font-size:4.5rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.08;
    margin: 0 0 28px;
}
.vl-partner-hero p {
  color: rgba(255, 255, 255, 0.88);
  font-size: 16px;
  line-height: 1.65;
  margin: 0 0 28px;
}
.vl-partner-cta,
.vl-partner-form button {
  background: #ef7920;
  border: 0;
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: 12px;
  font-weight: 800;
  justify-content: center;
  letter-spacing: 0.5px;
  padding: 14px 28px;
  text-decoration: none;
  text-transform: uppercase;
}
.vl-partner-cta:hover,
.vl-partner-form button:hover {
  background: #d96512;
  color: #fff;
}
.vl-partner-benefits,
.vl-partner-resources,
.vl-partner-register,
.vl-partner-questions {
  padding: 76px 20px;
}
.vl-partner-benefits {
  background: #fbf8f3;
}
.vl-partner-section-head {
  margin: 0 auto 50px;
}
.vl-partner-section-head h2, .vl-partner-questions h2 {
    color: #282b31;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.18;
    margin: 0 0 16px;
}
.vl-partner-section-head p, .vl-partner-questions p {
    color: #707780;
    font-size: 18px;
    margin: 0;
}
.vl-benefit-grid {
  display: grid;
  gap: 48px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 auto;
  max-width: 980px;
  text-align: center;
}
.vl-benefit-grid article h3 {
    color: #282b31;
    font-size: 18px;
    font-weight: 700;
    margin: 18px 0 12px;
}
.vl-benefit-grid article h3 {
    color: #282b31;
    font-size: 18px;
    font-weight: 700;
    margin: 18px 0 12px;
}
.vl-benefit-icon {
    align-items: center;
    border-radius: 50%;
    display: inline-flex;
    height: 65px;
    justify-content: center;
    width: 65px;
}
.vl-benefit-icon svg {
  height:32px;
  width:32px;
}
.vl-benefit-icon.orange {
  background: #fff0e5;
  color: #ef7920;
}
.vl-benefit-icon.teal {
  background: #e9f8f7;
  color: #33aaa9;
}
.vl-benefit-icon.green {
  background: #f1f5df;
  color: #a3b443;
}
.vl-partner-resources {
  background: #fff;
}
.vl-partner-container {
  margin: 0 auto;
  max-width: 920px;
}
.vl-resource-grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.vl-resource-grid article {
  background: #fbf8f3;
  border: 1px solid #eee8df;
  border-radius: 6px;
  box-shadow: 0 8px 18px rgba(30, 32, 36, 0.05);
  min-height: 190px;
  padding: 30px 26px;
}
.vl-resource-grid article svg {
    color: #33aaa9;
    height: 34px;
    margin-bottom: 24px;
    width: 34px;
}
.vl-resource-grid article:first-child svg {
  color: #ef7920;
}
.vl-resource-grid article:last-child svg {
  color: #a3b443;
}
.vl-resource-grid h3 {
  color: #282b31;
  font-size: 19px;
  font-weight: 800;
  line-height: 1.25;
  margin: 0 0 12px;
}
.vl-resource-grid p {
  color: #767d85;
  font-size: 13px;
  line-height: 1.5;
  margin: 0 0 18px;
}
.vl-resource-grid a {
  color: #33aaa9;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}
.vl-resource-grid article:first-child a {
  color: #ef7920;
}
.vl-resource-grid article:last-child a {
  color: #a3b443;
}
.vl-partner-register {
  background: #f8f4ef;
}
.vl-partner-form {
  background: #fff;
  border: 1px solid #ebe6df;
  border-radius: 4px;
  box-shadow: 0 12px 24px rgba(31, 35, 39, 0.05);
  display: grid;
  gap: 18px;
  margin: 0 auto;
  max-width:750px;
  padding: 36px 34px;
}
.vl-partner-form h3 {
  color: #282b31;
  font-size: 20px;
  font-weight: 800;
  margin: 0 0 4px;
}
.vl-partner-form label {
    color: #000;
    display: grid;
    font-size: 14px;
    font-weight: 600;
    gap: 8px;
}
.vl-partner-form label span {
  align-items: center;
  display: inline-flex;
  gap: 6px;
}
.vl-partner-form label svg {
  height: 13px;
  width: 13px;
}
.vl-partner-form input,
.vl-partner-form select,
.vl-partner-form textarea {
  background: #fbf8f3;
  border: 1px solid #ebe6df;
  border-radius: 5px;
  color: #3f454c;
  min-height: 40px;
  padding: 10px 12px;
  width: 100%;
}
.vl-form-row {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.vl-partner-form hr {
  border-color: #e8e2da;
  margin: 12px 0 4px;
  opacity: 1;
}
.vl-form-help {
  color: #777f86;
  font-size: 12px;
  margin: -8px 0 0;
}
.vl-interest-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.vl-interest-grid label {
    align-items: center;
    background: #fbf8f3;
    border: 1px solid #ebe6df;
    border-radius: 5px;
    display: flex;
    flex-direction: row;
    font-size: 15px;
    gap: 10px;
    min-height: 38px;
    padding: 9px 12px;
    font-weight: 600;
}
.vl-interest-grid input {
  accent-color: #282b31;
  min-height: auto;
  padding: 0;
  width: 14px;
}
.vl-partner-form button {
  margin-top: 12px;
  min-height: 48px;
  width: 100%;
}
.vl-partner-form small {
  color: #8b9299;
  display: block;
  font-size: 11px;
  text-align: center;
}
.vl-partner-questions {
  background: #fff;
  text-align: center;
}
.vl-partner-questions > svg {
  color: #33aaa9;
  height: 46px;
  margin-bottom: 24px;
  width: 46px;
}
.vl-partner-questions div {
  display: flex;
  gap: 14px;
  justify-content: center;
  margin-top: 28px;
}
.vl-partner-questions a {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  font-size: 12px;
  font-weight: 800;
  gap: 8px;
  justify-content: center;
  min-width: 128px;
  padding: 13px 22px;
  text-decoration: none;
  text-transform: uppercase;
}
.vl-question-email {
  background: #33aaa9;
  color: #fff;
}
.vl-question-call {
  background: #fff;
  border: 1px solid #33aaa9;
  color: #33aaa9;
}
.vl-question-email:hover {
  background: #268f90;
  color: #fff;
}
.vl-question-call:hover {
  background: #edfafa;
  color: #268f90;
}
@media screen and (max-width: 991px) {
  .vl-partner-hero h1 {
    font-size: 44px;
  }
  .vl-benefit-grid,
  .vl-resource-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 575px) {
  .vl-partner-hero {
    min-height: 480px;
  }
  .vl-partner-hero h1 {
    font-size: 34px;
  }
  .vl-benefit-grid,
  .vl-resource-grid,
  .vl-form-row,
  .vl-interest-grid {
    grid-template-columns: 1fr;
  }
  .vl-partner-form {
    padding: 26px 18px;
  }
  .vl-partner-questions div {
    flex-direction: column;
  }
}

/* Contact Page */
.vl-contact-page,
.vl-contact-main {
  background: #f8f4ef;
  color: #282b31;
}
.vl-contact-hero {
  align-items: center;
  background-image: linear-gradient(180deg, rgba(28, 27, 27, 0.88) 0%, rgba(31, 30, 30, 0.66) 48%, rgba(248, 244, 239, 0.98) 100%), url("../images/experiences/3.jpg");
  background-position: center top;
  background-size: cover;
  display: flex;
  justify-content: center;
  min-height: 520px;
  text-align: center;
}
.vl-contact-hero__content {
  max-width: 760px;
  padding: 90px 20px 150px;
}
.vl-contact-hero span {
  color: #ef7920;
  display: block;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 4px;
  margin-bottom: 28px;
  text-transform: uppercase;
}
.vl-contact-hero h1 {
  color: #fff;
  font-size: 58px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.1;
  margin: 0 0 26px;
}
.vl-contact-hero p {
  color: rgba(255, 255, 255, 0.9);
  font-size: 18px;
  line-height: 1.55;
  margin: 0 auto;
  max-width: 680px;
}
.vl-contact-conversation {
  padding: 96px 20px 110px;
}
.vl-contact-container {
  display: grid;
  gap: 80px;
  grid-template-columns: minmax(0, 500px) minmax(0, 470px);
  margin: 0 auto;
  max-width: 1040px;
}
.vl-contact-info h2,
.vl-contact-section-head h2 {
  color: #282b31;
  font-size: 40px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.08;
  margin: 0 0 26px;
}
.vl-contact-info > p,
.vl-contact-section-head p {
  color: #6d747c;
  font-size: 16px;
  line-height: 1.6;
  margin: 0 0 42px;
}
.vl-contact-list {
  display: grid;
  gap: 24px;
  list-style: none;
  margin: 0 0 42px;
  padding: 0;
}
.vl-contact-list li {
  align-items: flex-start;
  display: flex;
  gap: 18px;
}
.vl-contact-list i,
.vl-map-placeholder i {
  align-items: center;
  background: #e8f7f5;
  border-radius: 8px;
  color: #35aaa9;
  display: inline-flex;
  flex: 0 0 40px;
  height: 40px;
  justify-content: center;
  padding: 10px;
  width: 40px;
}
.vl-contact-list strong {
  color: #282b31;
  display: block;
  font-size: 16px;
  font-weight: 800;
  margin-bottom: 4px;
}
.vl-contact-list span,
.vl-contact-list a {
  color: #626b73;
  font-size: 15px;
  line-height: 1.45;
  text-decoration: none;
}
.vl-office-hours {
  background: #fff;
  border: 1px solid #eee8df;
  border-radius: 6px;
  box-shadow: 0 8px 20px rgba(31, 35, 39, 0.04);
  padding: 24px 28px;
}
.vl-office-hours h3 {
  color: #282b31;
  font-size: 17px;
  font-weight: 800;
  margin: 0 0 18px;
}
.vl-office-hours div {
  align-items: center;
  color: #666f77;
  display: flex;
  font-size: 14px;
  justify-content: space-between;
  line-height: 1.8;
}
.vl-office-hours strong {
  color: #4a5158;
  font-weight: 700;
}
.vl-contact-form {
  background: #fff;
  border: 1px solid #eee8df;
  border-radius: 6px;
  box-shadow: 0 14px 28px rgba(31, 35, 39, 0.12);
  display: grid;
  gap: 18px;
  padding: 38px 40px;
}
.vl-contact-form label {
  color: #363b42;
  display: grid;
  font-size: 13px;
  font-weight: 800;
  gap: 8px;
}
.vl-contact-form input,
.vl-contact-form select,
.vl-contact-form textarea {
  background: #fbf8f3;
  border: 1px solid #e9e3dc;
  border-radius: 6px;
  color: #3f464e;
  min-height: 44px;
  padding: 12px 14px;
  width: 100%;
}
.vl-contact-form textarea {
  min-height: 138px;
  resize: vertical;
}
.vl-contact-form button {
  align-items: center;
  background: #ef7920;
  border: 0;
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: 13px;
  font-weight: 800;
  gap: 10px;
  justify-content: center;
  letter-spacing: 0.5px;
  margin-top: 2px;
  min-height: 50px;
  text-transform: uppercase;
}
.vl-contact-form button:hover {
  background: #d96512;
}
.vl-contact-form small {
  color: #899199;
  display: block;
  font-size: 12px;
  text-align: center;
}
.vl-visit-us {
  background: #fff;
  padding: 92px 20px 120px;
}
.vl-contact-section-head {
  margin: 0 auto 46px;
  max-width: 720px;
  text-align: center;
}
.vl-contact-section-head h2 {
  font-size: 42px;
  margin-bottom: 16px;
}
.vl-contact-section-head p {
  margin: 0;
}
.vl-map-placeholder {
  align-items: center;
  background: #fbf8f3;
  border: 1px solid #dedbd5;
  border-radius: 6px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0 auto;
  min-height: 400px;
  max-width: 1040px;
  text-align: center;
}
.vl-map-placeholder i {
  background: transparent;
  height: 52px;
  margin-bottom: 16px;
  padding: 0;
  width: 52px;
}
.vl-map-placeholder span {
  color: #676f77;
  font-size: 15px;
}
.vl-map-placeholder small {
  color: #676f77;
  display: block;
  font-size: 14px;
  margin-top: 4px;
}
@media screen and (max-width: 991px) {
  .vl-contact-container {
    gap: 48px;
    grid-template-columns: 1fr;
  }
  .vl-contact-hero h1 {
    font-size: 44px;
  }
}
@media screen and (max-width: 575px) {
  .vl-contact-hero {
    min-height: 440px;
  }
  .vl-contact-hero h1,
  .vl-contact-info h2,
  .vl-contact-section-head h2 {
    font-size: 34px;
  }
  .vl-contact-form {
    padding: 28px 18px;
  }
  .vl-office-hours div {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Impact Page */
.vl-impact-page,
.vl-impact-main {
  background: #061f0b;
  color: #d6ddd3;
}
.vl-impact-hero {
  align-items: center;
  background-image: linear-gradient(180deg, rgba(35, 18, 3, 0.28) 0%, rgba(8, 23, 8, 0.55) 55%, #061f0b 100%), url("../images/pathway/3.jpg");
  background-position: center;
  background-size: cover;
  display: flex;
  justify-content: center;
  min-height: 660px;
  text-align: center;
}
.vl-impact-hero__content {
  max-width: 760px;
  padding: 110px 20px 170px;
}
.vl-impact-hero span {
  color: #c3a92d;
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 5px;
  margin-bottom: 28px;
  text-transform: uppercase;
}
.vl-impact-hero h1 {
  color: #f5f2e9;
  font-size: 64px;
  font-weight: 300;
  letter-spacing: 2px;
  line-height: 1.12;
  margin: 0 0 36px;
  text-transform: uppercase;
}
.vl-impact-hero p,
.vl-impact-section-head p {
  color: rgba(214, 221, 211, 0.72);
  font-size: 16px;
  line-height: 1.6;
  margin: 0 auto;
  max-width: 560px;
}
.vl-impact-stats,
.vl-ecosystem-section,
.vl-livelihoods-section,
.vl-impact-resources {
  padding: 90px 20px;
}
.vl-impact-stats {
  background: #06230d;
}
.vl-impact-stat-grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 auto;
  max-width: 880px;
}
.vl-impact-stat-grid article,
.vl-livelihood-grid article,
.vl-report-downloads article {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(209, 184, 54, 0.13);
}
.vl-impact-stat-grid article {
  min-height: 180px;
  padding: 26px 24px;
}
.vl-impact-stat-grid strong {
  color: #d3b937;
  display: block;
  font-size: 38px;
  font-weight: 300;
  line-height: 1;
  margin-bottom: 18px;
}
.vl-impact-stat-grid span {
  color: #e8ecdf;
  display: block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.8px;
  margin-bottom: 10px;
  text-transform: uppercase;
}
.vl-impact-stat-grid p {
  color: rgba(214, 221, 211, 0.62);
  font-size: 12px;
  line-height: 1.5;
  margin: 0;
}
.vl-ecosystem-section {
  background: #061e0a;
}
.vl-impact-section-head {
  margin: 0 auto 58px;
  max-width: 760px;
  text-align: center;
}
.vl-impact-section-head h2 {
  color: #dfe5db;
  font-size: 34px;
  font-weight: 300;
  letter-spacing: -0.5px;
  margin: 0 0 12px;
}
.vl-impact-report-table {
  display: grid;
  margin: 0 auto;
  max-width: 700px;
}
.vl-report-row {
  border-bottom: 1px solid rgba(209, 184, 54, 0.12);
  display: grid;
  gap: 34px;
  grid-template-columns: 190px 1fr;
  padding: 34px 0;
}
.vl-report-row:first-child {
  padding-top: 0;
}
.vl-report-row h3 {
  color: #dfe5db;
  font-size: 22px;
  font-weight: 300;
  margin: 0 0 8px;
}
.vl-report-row small {
  color: rgba(214, 221, 211, 0.42);
  font-size: 12px;
}
.vl-report-row ul {
  color: rgba(214, 221, 211, 0.68);
  display: grid;
  font-size: 13px;
  gap: 14px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.vl-progress-list {
  display: grid;
  gap: 16px;
}
.vl-progress-list div {
  display: grid;
  gap: 7px;
  grid-template-columns: 1fr auto;
}
.vl-progress-list span {
  color: rgba(214, 221, 211, 0.68);
  font-size: 13px;
}
.vl-progress-list b {
  color: #d3b937;
  font-size: 12px;
  font-weight: 500;
}
.vl-progress-list i {
  background: rgba(214, 221, 211, 0.14);
  grid-column: 1 / -1;
  height: 5px;
  position: relative;
}
.vl-progress-list i::before {
  background: #d3b937;
  content: "";
  inset: 0 auto 0 0;
  position: absolute;
  width: var(--value);
}
.vl-livelihoods-section {
  background: #07260e;
}
.vl-livelihood-grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0 auto;
  max-width: 700px;
}
.vl-livelihood-grid article {
  padding: 34px 30px;
}
.vl-livelihood-grid h3 {
  color: #dfe5db;
  font-size: 22px;
  font-weight: 300;
  margin: 0 0 24px;
}
.vl-livelihood-grid div {
  align-items: center;
  border-bottom: 1px solid rgba(209, 184, 54, 0.11);
  display: flex;
  justify-content: space-between;
  padding: 12px 0;
}
.vl-livelihood-grid span {
  color: rgba(214, 221, 211, 0.65);
  font-size: 13px;
}
.vl-livelihood-grid strong {
  color: #d3b937;
  font-size: 15px;
  font-weight: 500;
}
.vl-impact-resources {
  background: #061e0a;
}
.vl-report-downloads {
  display: grid;
  gap: 20px;
  margin: 0 auto;
  max-width: 700px;
}
.vl-report-downloads article {
  align-items: center;
  display: flex;
  gap: 24px;
  justify-content: space-between;
  padding: 24px;
}
.vl-report-downloads h3 {
  color: #dfe5db;
  font-size: 18px;
  font-weight: 300;
  margin: 0 0 8px;
}
.vl-report-downloads p {
  color: rgba(214, 221, 211, 0.52);
  font-size: 12px;
  margin: 0;
}
.vl-report-downloads a {
  align-items: center;
  background: #d3b937;
  color: #102111;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 11px;
  font-weight: 800;
  gap: 8px;
  letter-spacing: 2px;
  padding: 12px 22px;
  text-decoration: none;
  text-transform: uppercase;
}
.vl-report-downloads svg {
  height: 14px;
  width: 14px;
}
@media screen and (max-width: 991px) {
  .vl-impact-hero h1 {
    font-size: 48px;
  }
  .vl-impact-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 575px) {
  .vl-impact-hero h1 {
    font-size: 34px;
  }
  .vl-impact-stat-grid,
  .vl-livelihood-grid,
  .vl-report-row {
    grid-template-columns: 1fr;
  }
  .vl-report-downloads article {
    align-items: flex-start;
    flex-direction: column;
  }
}
/* Stories & Blog Page */
.vl-blog-main {
  background: #f7f2ea;
  color: #232323;
}
.vl-blog-hero {
  position: relative;
  min-height: 470px;
  display: flex;
  align-items: center;
  color: #fff;
  padding: 100px 0 0;
  background:
    linear-gradient(180deg, rgba(18, 21, 18, 0.78) 0%, rgba(18, 21, 18, 0.58) 42%, rgba(247, 242, 234, 0.98) 100%),
    url("../images/pathway/2.jpg") center/cover no-repeat;
}
.vl-blog-kicker,
.vl-blog-label,
.vl-blog-section-head span,
.vl-blog-newsletter__box span {
  display: inline-block;
  color: #f47a1f;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}
.vl-blog-hero h1 {
  margin: 18px 0 18px;
  font-size: clamp(44px, 7vw, 86px);
  line-height: 0.95;
  font-weight: 800;
  letter-spacing: -0.04em;
}

.vl-blog-hero p {
  max-width: 720px;
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.88);
  font-size: 18px;
  line-height: 1.75;
}

.vl-blog-featured,
.vl-blog-listing,
.vl-blog-newsletter {
  padding: 80px 0;
}

.vl-feature-story {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
  overflow: hidden;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(38, 38, 38, 0.08);
  box-shadow: 0 18px 45px rgba(20, 20, 20, 0.08);
}

.vl-feature-story__image img {
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
}

.vl-feature-story__content {
  padding: clamp(34px, 5vw, 64px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.vl-feature-story__content h2 {
  margin: 16px 0;
  font-size: clamp(30px, 4vw, 52px);
  line-height: 1.05;
  font-weight: 800;
}

.vl-feature-story__content p,
.vl-blog-section-head p,
.vl-blog-card p,
.vl-blog-newsletter__box p {
  color: #68716c;
  line-height: 1.7;
}

.vl-story-meta {
  color: #7f8883;
  font-size: 13px;
  font-weight: 600;
}

.vl-blog-link {
  margin-top: 24px;
  color: #2ea9a1;
  font-weight: 800;
  text-decoration: none;
}

.vl-blog-section-head {
  max-width: 760px;
  margin: 0 auto 42px;
  text-align: center;
}

.vl-blog-section-head h2,
.vl-blog-newsletter__box h2 {
  margin: 12px 0;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.08;
  font-weight: 800;
}

.vl-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.vl-blog-card {
  overflow: hidden;
  border-radius: 16px;
  background: #fff;
  border: 1px solid rgba(38, 38, 38, 0.08);
  box-shadow: 0 14px 34px rgba(20, 20, 20, 0.06);
}

.vl-blog-card img {
  width: 100%;
  height: 230px;
  object-fit: cover;
}

.vl-blog-card > div {
  padding: 24px;
}

.vl-blog-card h3 {
  margin: 14px 0 10px;
  font-size: 21px;
  line-height: 1.25;
  font-weight: 800;
}

.vl-blog-card__link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 14px;
  color: #2ea9a1;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.vl-blog-chip {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.vl-blog-chip--green { background: #e8f4e8; color: #347a42; }
.vl-blog-chip--gold { background: #f9f0d1; color: #9a7520; }
.vl-blog-chip--orange { background: #fff0e4; color: #c96218; }
.vl-blog-chip--teal { background: #e2f4f2; color: #2e9891; }
.vl-blog-chip--dark { background: #eef0ec; color: #26302a; }

.vl-blog-newsletter {
  padding-top: 20px;
}

.vl-blog-newsletter__box {
  max-width: 820px;
  margin: 0 auto;
  padding: clamp(34px, 6vw, 68px);
  text-align: center;
  border-radius: 18px;
  background: #102914;
  color: #fff;
}

.vl-blog-newsletter__box p {
  color: rgba(255, 255, 255, 0.78);
}

.vl-blog-newsletter__box form {
  display: flex;
  gap: 12px;
  max-width: 560px;
  margin: 28px auto 0;
}

.vl-blog-newsletter__box input {
  flex: 1;
  min-height: 54px;
  border: 0;
  border-radius: 999px;
  padding: 0 22px;
}

.vl-blog-newsletter__box button {
  border: 0;
  border-radius: 999px;
  padding: 0 28px;
  background: #f47a1f;
  color: #fff;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

@media (max-width: 991.98px) {
  .vl-feature-story,
  .vl-blog-grid {
    grid-template-columns: 1fr;
  }

  .vl-feature-story__image img {
    min-height: 300px;
  }
}

@media (max-width: 575.98px) {
  .vl-blog-hero {
    min-height: 420px;
  }

  .vl-blog-featured,
  .vl-blog-listing,
  .vl-blog-newsletter {
    padding: 52px 0;
  }

  .vl-blog-newsletter__box form {
    flex-direction: column;
  }

  .vl-blog-newsletter__box button {
    min-height: 52px;
  }
}

/* Single Blog Page */
.vl-single-blog-main {
  background: #fff;
  color: #282828;
}

.vl-single-blog-hero {
  position: relative;
  min-height: 520px;
  display: flex;
  align-items: flex-end;
  background: url("../images/stories/1.jpg") center/cover no-repeat;
  color: #fff;
}

.vl-single-blog-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.28) 0%, rgba(0, 0, 0, 0.58) 72%, rgba(0, 0, 0, 0.76) 100%);
}

.vl-single-blog-hero__content {
  position: relative;
  z-index: 1;
  max-width: 820px;
  padding: 0 0 64px;
}

.vl-single-blog-back {
  color: rgba(255, 255, 255, 0.78);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}

.vl-single-blog-badge {
  display: inline-flex;
  align-items: center;
  margin-left: 10px;
  padding: 7px 12px;
  border-radius: 999px;
  background: #f47a1f;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
}

.vl-single-blog-hero h1 {
  max-width: 780px;
  margin: 24px 0 18px;
  font-size: clamp(36px, 5.4vw, 66px);
  line-height: 1.05;
  font-weight: 800;
  letter-spacing: -0.035em;
}

.vl-single-blog-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 13px;
  font-weight: 600;
}

.vl-single-blog-meta span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.vl-single-blog-meta svg,
.vl-single-blog-share svg {
  width: 15px;
  height: 15px;
}

.vl-single-blog-article {
  padding: 64px 0 46px;
}

.vl-single-blog-content,
.vl-single-blog-narrow {
  max-width: 760px;
  margin: 0 auto;
}

.vl-single-blog-content p {
  color: #5e6762;
  font-size: 15px;
  line-height: 1.85;
}

.vl-single-blog-lead {
  font-size: 17px !important;
  color: #4f5b55 !important;
}

.vl-single-blog-content h2,
.vl-single-blog-narrow h2 {
  margin: 36px 0 14px;
  color: #282828;
  font-size: 28px;
  line-height: 1.2;
  font-weight: 800;
}

.vl-single-blog-figure {
  margin: 36px 0;
}

.vl-single-blog-figure img {
  width: 100%;
  max-height: 820px;
  object-fit: cover;
  border-radius: 8px;
}

.vl-single-blog-checks {
  display: grid;
  gap: 10px;
  margin: 20px 0 4px;
  padding: 0;
  list-style: none;
  color: #5e6762;
  font-size: 15px;
}

.vl-single-blog-checks li {
  position: relative;
  padding-left: 22px;
}

.vl-single-blog-checks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #2ea9a1;
}

.vl-single-blog-share {
  margin-top: 42px;
  padding-top: 28px;
  border-top: 1px solid rgba(38, 38, 38, 0.1);
}

.vl-single-blog-share button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 18px;
  border: 1px solid #2ea9a1;
  border-radius: 999px;
  background: transparent;
  color: #2ea9a1;
  font-size: 13px;
  font-weight: 800;
}

.vl-single-blog-products {
  padding: 64px 0;
  background: #f7f2ea;
}

.vl-featured-product-card {
  display: inline-flex;
  width: 168px;
  flex-direction: column;
  overflow: hidden;
  margin-top: 18px;
  border-radius: 7px;
  background: #fff;
  border: 1px solid rgba(38, 38, 38, 0.08);
  box-shadow: 0 12px 30px rgba(20, 20, 20, 0.06);
  color: #282828;
  text-decoration: none;
}

.vl-featured-product-card img {
  width: 100%;
  height: 126px;
  object-fit: cover;
}

.vl-featured-product-card span {
  padding: 14px 14px 4px;
  font-size: 13px;
  line-height: 1.25;
  font-weight: 800;
}

.vl-featured-product-card strong {
  padding: 0 14px 2px;
  color: #f47a1f;
  font-size: 13px;
}

.vl-featured-product-card__rwf {
  padding: 0 14px 14px;
  color: #7c8580;
  font-size: 11px;
  line-height: 1.3;
}

.vl-single-blog-related {
  padding: 64px 0 90px;
}

.vl-related-story-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
  margin-top: 22px;
}

.vl-related-story-card {
  display: block;
  overflow: hidden;
  border-radius: 8px;
  background: #fff;
  border: 1px solid rgba(38, 38, 38, 0.08);
  box-shadow: 0 12px 30px rgba(20, 20, 20, 0.05);
  color: #282828;
  text-decoration: none;
}

.vl-related-story-card img {
  width: 100%;
  height: 170px;
  object-fit: cover;
}

.vl-related-story-card span {
  display: block;
  padding: 16px 18px 6px;
  font-size: 16px;
  line-height: 1.3;
  font-weight: 800;
}

.vl-related-story-card small {
  display: block;
  padding: 0 18px 18px;
  color: #2ea9a1;
  font-weight: 800;
}

@media (max-width: 767.98px) {
  .vl-single-blog-hero {
    min-height: 460px;
  }

  .vl-single-blog-hero__content {
    padding-bottom: 42px;
  }

  .vl-related-story-grid {
    grid-template-columns: 1fr;
  }
}

/* Changemakers Page */
.vl-makers-main {
  background: #fff;
  color: #282828;
}

.vl-makers-hero {
  position: relative;
  min-height: 520px;
  display: flex;
  align-items: center;
  color: #fff;
  background: url("../images/stories/1.jpg") center/cover no-repeat;
}

.vl-makers-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(18, 18, 18, 0.76) 0%, rgba(18, 18, 18, 0.55) 42%, rgba(18, 18, 18, 0.28) 100%);
}

.vl-makers-hero__content {
  position: relative;
  z-index: 1;
  max-width: 720px;
}

.vl-makers-hero__content > span {
  display: inline-block;
  color: #f47a1f;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.28em;
  text-transform: uppercase;
}

.vl-makers-hero h1 {
  margin: 22px 0 20px;
  font-size: clamp(46px, 6vw, 78px);
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: -0.035em;
}

.vl-makers-hero p {
  max-width: 650px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 19px;
  line-height: 1.65;
}

.vl-makers-stats {
  display: flex;
  gap: 54px;
  margin-top: 38px;
}

.vl-makers-stats div {
  display: grid;
  gap: 3px;
}

.vl-makers-stats strong {
  color: #f47a1f;
  font-size: 30px;
  line-height: 1;
  font-weight: 900;
}

.vl-makers-stats small {
  color: rgba(255, 255, 255, 0.86);
  font-weight: 700;
}

.vl-makers-filter {
  padding: 34px 0 28px;
  background: #f7f2ea;
  border-bottom: 1px solid rgba(38, 38, 38, 0.08);
}

.vl-makers-filter__row {
  display: flex;
  align-items: center;
  gap: 22px;
}

.vl-makers-search {
  flex: 1;
  min-height: 52px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 18px;
  border-radius: 9px;
  background: #fff;
  border: 1px solid rgba(38, 38, 38, 0.1);
}

.vl-makers-search svg,
.vl-makers-chips svg,
.vl-maker-location svg {
  width: 18px;
  height: 18px;
  color: #6d7670;
}

.vl-makers-search input {
  width: 100%;
  border: 0;
  outline: 0;
  color: #282828;
  font-weight: 600;
}

.vl-makers-search input::placeholder {
  color: #a0a7a3;
}

.vl-makers-chips {
  display: flex;
  align-items: center;
  gap: 9px;
  flex-wrap: wrap;
}

.vl-makers-chips button {
  min-height: 38px;
  padding: 0 18px;
  border: 1px solid rgba(38, 38, 38, 0.1);
  border-radius: 999px;
  background: #fff;
  color: #59615d;
  font-size: 13px;
  font-weight: 800;
}

.vl-makers-chips button.active {
  background: #f47a1f;
  border-color: #f47a1f;
  color: #fff;
}

.vl-makers-count {
  margin: 18px 0 0;
  color: #69716d;
  font-weight: 700;
}

.vl-makers-directory {
  padding: 72px 0 96px;
}

.vl-makers-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
}

.vl-maker-card {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  background: #fff;
  border: 1px solid rgba(38, 38, 38, 0.08);
  box-shadow: 0 10px 28px rgba(20, 20, 20, 0.06);
  transition: opacity 0.3s ease, filter 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
}

.vl-makers-grid.has-open .vl-maker-card:not(.is-active) {
  opacity: 0.45;
  filter: grayscale(1);
}

.vl-maker-card.is-active,
.vl-maker-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(20, 20, 20, 0.12);
}

.vl-maker-card__trigger {
  position: absolute;
  inset: 0;
  z-index: 2;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.vl-maker-card__cover {
  height: 170px;
  overflow: hidden;
}

.vl-maker-card__cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.vl-maker-card__avatar {
  position: absolute;
  top: 132px;
  left: 28px;
  width: 70px;
  height: 70px;
  border: 4px solid #fff;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 8px 18px rgba(20, 20, 20, 0.16);
}

.vl-maker-card__body {
  padding: 64px 26px 22px;
}

.vl-maker-card__body h2 {
  margin: 0 0 4px;
  font-size: 22px;
  line-height: 1.2;
  font-weight: 800;
}

.vl-maker-role {
  margin: 0 0 18px;
  color: #2ea9a1 !important;
  font-weight: 800;
}

.vl-maker-card__body p {
  color: #6a736f;
  line-height: 1.65;
}

.vl-maker-location {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid rgba(38, 38, 38, 0.08);
  color: #68716c;
  font-size: 13px;
  font-weight: 700;
}

.vl-maker-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0;
}

.vl-maker-metrics div {
  padding: 15px 16px;
  border-radius: 6px;
  background: #fbf7f1;
}

.vl-maker-metrics strong,
.vl-maker-metrics span {
  display: block;
}

.vl-maker-metrics strong {
  font-size: 25px;
  line-height: 1;
  font-weight: 900;
}

.vl-maker-metrics span {
  margin-top: 3px;
  color: #7b837e;
  font-size: 12px;
  font-weight: 700;
}

.vl-maker-card__body > button {
  position: relative;
  z-index: 3;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding-top: 17px;
  border-top: 1px solid rgba(38, 38, 38, 0.08);
  border-right: 0;
  border-bottom: 0;
  border-left: 0;
  background: transparent;
  color: #2ea9a1;
  font-weight: 800;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.vl-maker-panel {
  display: none;
  grid-column: 1 / -1;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transform: translateY(-12px);
  transition: max-height 0.55s ease, opacity 0.35s ease, transform 0.35s ease;
}

.vl-maker-panel.is-visible {
  display: block;
}

.vl-maker-panel.is-open {
  max-height: 980px;
  opacity: 1;
  transform: translateY(0);
}

.vl-maker-panel__inner {
  display: grid;
  grid-template-columns: minmax(280px, 34%) minmax(0, 1fr);
  min-height: clamp(430px, 33vw, 600px);
  overflow: hidden;
  border: 1px solid rgba(38, 38, 38, 0.1);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 16px 42px rgba(20, 20, 20, 0.08);
}

.vl-maker-panel__media {
  min-height: clamp(430px, 33vw, 600px);
  background: #eef1ec;
}

.vl-maker-panel__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.vl-maker-panel__content {
  position: relative;
  padding: 28px 32px 34px;
}

.vl-maker-panel__close {
  position: absolute;
  top: 25px;
  right: 28px;
  border: 0;
  background: transparent;
  color: #2b8d8d;
  font-weight: 700;
  cursor: pointer;
}

.vl-maker-panel__content h2 {
  margin: 0 100px 2px 0;
  color: #034d2f;
  font-size: 22px;
  line-height: 1.2;
  font-weight: 800;
}

.vl-maker-panel__category,
.vl-maker-panel__partner {
  margin: 0;
  color: #53605b;
  font-weight: 600;
}

.vl-maker-panel__partner {
  color: #2ea9a1;
  font-size: 14px;
}

.vl-maker-panel__summary {
  margin-top: 16px;
  color: #48534f;
  font-size: 17px;
  line-height: 1.65;
}

.vl-maker-panel__summary p {
  margin: 0 0 12px;
}

.vl-maker-panel__note {
  margin-top: 24px;
}

.vl-maker-panel__note--highlight {
  padding: 16px 18px;
  border: 1px solid rgba(165, 181, 78, 0.28);
  border-radius: 8px;
  background: #fbfcf1;
}

.vl-maker-panel__note h3 {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 8px;
  color: #034d2f;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 800;
}

.vl-maker-panel__note h3 svg {
  width: 16px;
  height: 16px;
  color: #f6ae00;
}

.vl-maker-panel__note--highlight h3 svg {
  color: #6b9e34;
}

.vl-maker-panel__note p {
  margin: 0;
  color: #56615d;
  line-height: 1.6;
}

.vl-maker-panel__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.vl-maker-panel__actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 20px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}

.vl-maker-panel__shop {
  background: #f6ae00;
  color: #fff;
}

.vl-maker-panel__learn {
  border: 2px solid #2ea9a1;
  color: #2b8d8d;
}

.vl-makers-partner {
  padding: 72px 0 90px;
  background: #f7f2ea;
}

.vl-makers-partner__box {
  max-width: 820px;
  margin: 0 auto;
  text-align: center;
}

.vl-makers-partner__box h2 {
  margin: 0 0 16px;
  font-size: clamp(30px, 4vw, 42px);
  line-height: 1.15;
  font-weight: 800;
}

.vl-makers-partner__box p {
  max-width: 640px;
  margin: 0 auto 28px;
  color: #68716c;
  font-size: 17px;
  line-height: 1.65;
}

.vl-makers-partner__box a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 50px;
  padding: 0 30px;
  border-radius: 999px;
  background: #f47a1f;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
  box-shadow: 0 12px 28px rgba(244, 122, 31, 0.24);
}

@media (max-width: 991.98px) {
  .vl-makers-filter__row {
    align-items: stretch;
    flex-direction: column;
  }

  .vl-makers-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vl-maker-panel__inner {
    grid-template-columns: 1fr;
  }

  .vl-maker-panel__media {
    min-height: 300px;
    height: 300px;
  }
}

@media (max-width: 575.98px) {
  .vl-makers-hero {
    min-height: 500px;
  }

  .vl-makers-stats {
    gap: 28px;
  }

  .vl-makers-grid {
    grid-template-columns: 1fr;
  }

  .vl-makers-grid.has-open .vl-maker-card:not(.is-active) {
    opacity: 0.6;
  }

  .vl-maker-panel.is-open {
    max-height: 1200px;
  }

  .vl-maker-panel__content {
    padding: 24px 20px 28px;
  }

  .vl-maker-panel__close {
    position: static;
    display: block;
    margin: 0 0 14px auto;
  }

  .vl-maker-panel__content h2 {
    margin-right: 0;
  }

  .vl-maker-panel__actions {
    flex-direction: column;
  }
}

/* About Page */
.vl-about-main {
  background: #071e0a;
  color: rgba(255, 255, 255, 0.78);
}

.vl-about-hero {
  position: relative;
  min-height: 620px;
  display: flex;
  align-items: center;
  text-align: center;
  background: url("../images/pathway/3.jpg") center/cover no-repeat;
  color: #fff;
}

.vl-about-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(3, 10, 4, 0.54) 0%, rgba(3, 10, 4, 0.62) 45%, #071e0a 100%);
}

.vl-about-hero__content {
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin: 0 auto;
}

.vl-about-hero__content span,
.vl-about-section-head span {
  display: inline-block;
  color: #caa62c;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.32em;
  text-transform: uppercase;
}

.vl-about-hero h1 {
  margin: 18px 0 22px;
  color: #fff;
  font-size: clamp(48px, 7vw, 88px);
  font-weight: 300;
  letter-spacing: 0.04em;
  line-height: 1.02;
  text-transform: uppercase;
}

.vl-about-hero p {
  max-width: 620px;
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.84);
  font-size: 17px;
  line-height: 1.7;
}

.vl-about-mission,
.vl-about-journey,
.vl-about-principles,
.vl-about-recognition,
.vl-about-team-cta {
  padding: 92px 0;
}

.vl-about-mission,
.vl-about-principles,
.vl-about-team-cta {
  background: #08250c;
}

.vl-about-journey,
.vl-about-recognition {
  background: #061b08;
}

.vl-about-centered,
.vl-about-section-head,
.vl-about-team-cta .container {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}

.vl-about-centered h2,
.vl-about-section-head h2,
.vl-about-team-cta h2 {
  margin: 0 0 16px;
  color: rgba(255, 255, 255, 0.86);
  font-size: clamp(30px, 4vw, 42px);
  font-weight: 300;
  letter-spacing: -0.02em;
}

.vl-about-centered p,
.vl-about-section-head p,
.vl-about-team-cta p {
  color: rgba(255, 255, 255, 0.54);
  line-height: 1.75;
}

.vl-about-lead {
  max-width: 620px;
  margin: 0 auto 42px;
  color: rgba(255, 255, 255, 0.72) !important;
  font-size: 17px;
}

.vl-about-timeline {
  position: relative;
  max-width: 720px;
  margin: 70px auto 0;
  display: grid;
  gap: 28px;
}

.vl-about-timeline::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  background: rgba(202, 166, 44, 0.28);
}

.vl-about-timeline article {
  position: relative;
  width: calc(50% - 42px);
  padding: 18px 22px;
  background: rgba(255, 255, 255, 0.018);
  border: 1px solid rgba(202, 166, 44, 0.08);
}

.vl-about-timeline article:nth-child(odd) {
  justify-self: start;
  text-align: right;
}

.vl-about-timeline article:nth-child(even) {
  justify-self: end;
}

.vl-about-timeline article::after {
  content: "";
  position: absolute;
  top: 24px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #caa62c;
  box-shadow: 0 0 0 7px rgba(202, 166, 44, 0.12);
}

.vl-about-timeline article:nth-child(odd)::after {
  right: -48px;
}

.vl-about-timeline article:nth-child(even)::after {
  left: -48px;
}

.vl-about-timeline span {
  display: block;
  color: #caa62c;
  font-size: 25px;
  line-height: 1;
  font-weight: 300;
}

.vl-about-timeline h3 {
  margin: 14px 0 10px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 22px;
  font-weight: 300;
}

.vl-about-timeline p {
  margin: 0;
  color: rgba(255, 255, 255, 0.43);
  font-size: 13px;
  line-height: 1.65;
}

.vl-about-principle-grid,
.vl-about-awards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  max-width: 880px;
  margin: 58px auto 0;
}

.vl-about-awards {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.vl-about-principle-grid article,
.vl-about-awards article {
  padding: 30px;
  border: 1px solid rgba(202, 166, 44, 0.12);
  background: rgba(255, 255, 255, 0.018);
}

.vl-about-principle-grid svg,
.vl-about-awards svg,
.vl-about-team-cta svg {
  color: #caa62c;
  width: 28px;
  height: 28px;
}

.vl-about-principle-grid h3,
.vl-about-awards h3 {
  margin: 18px 0 12px;
  color: rgba(255, 255, 255, 0.82);
  font-weight: 300;
}

.vl-about-principle-grid p,
.vl-about-awards p {
  margin: 0;
  color: rgba(255, 255, 255, 0.46);
  font-size: 13px;
  line-height: 1.7;
}

.vl-about-awards article {
  text-align: center;
}

.vl-about-awards h3 {
  font-size: 16px;
}

.vl-about-team-cta a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  margin-top: 22px;
  padding: 0 28px;
  background: #caa62c;
  color: #071e0a;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-decoration: none;
  text-transform: uppercase;
}

@media (max-width: 991.98px) {
  .vl-about-awards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .vl-about-timeline::before {
    left: 10px;
  }

  .vl-about-timeline article,
  .vl-about-timeline article:nth-child(odd),
  .vl-about-timeline article:nth-child(even) {
    width: calc(100% - 34px);
    justify-self: end;
    text-align: left;
  }

  .vl-about-timeline article:nth-child(odd)::after,
  .vl-about-timeline article:nth-child(even)::after {
    left: -39px;
    right: auto;
  }

  .vl-about-principle-grid,
  .vl-about-awards {
    grid-template-columns: 1fr;
  }
}

/* Partner With Us Page */
.vl-corp-main {
  background: #fff;
  color: #282828;
}

.vl-corp-hero {
  position: relative;
  min-height: 560px;
  display: flex;
  align-items: center;
  text-align: center;
  color: #fff;
  background: url("../images/pathway/2.jpg") center/cover no-repeat;
}

.vl-corp-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(36, 30, 28, 0.58) 0%, rgba(36, 30, 28, 0.48) 45%, rgba(247, 242, 234, 0.96) 100%);
}

.vl-corp-hero__content {
  position: relative;
  z-index: 1;
  max-width: 650px;
  margin: 0 auto;
}

.vl-corp-hero__content span,
.vl-corp-case > .container > span {
  display: inline-block;
  color: #f47a1f;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.28em;
  text-transform: uppercase;
}

.vl-corp-hero h1 {
  margin: 18px 0;
  color: #fff;
  font-size: clamp(44px, 5.6vw, 72px);
  line-height: 0.98;
  font-weight: 800;
  letter-spacing: -0.045em;
}

.vl-corp-hero p {
  max-width: 560px;
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.86);
  line-height: 1.65;
}

.vl-corp-why,
.vl-corp-models,
.vl-corp-case,
.vl-corp-current {
  padding: 92px 0;
}

.vl-corp-why,
.vl-corp-case {
  background: #f7f2ea;
}

.vl-corp-models,
.vl-corp-current {
  background: #fff;
}

.vl-corp-section-head {
  max-width: 720px;
  margin: 0 auto 48px;
  text-align: center;
}

.vl-corp-section-head h2,
.vl-corp-case h2 {
  margin: 0 0 16px;
  color: #282828;
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.12;
  font-weight: 800;
}

.vl-corp-section-head p {
  color: #68716c;
  line-height: 1.75;
}

.vl-corp-why-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  max-width: 760px;
  margin: 0 auto;
}

.vl-corp-why-grid article {
  padding: 28px;
  background: #fff;
  border-left: 4px solid #2ea9a1;
  border-radius: 4px;
  box-shadow: 0 10px 28px rgba(20, 20, 20, 0.06);
}

.vl-corp-why-grid h3,
.vl-corp-model-grid h3,
.vl-corp-case h3 {
  margin: 0 0 12px;
  color: #282828;
  font-size: 20px;
  font-weight: 800;
}

.vl-corp-why-grid p,
.vl-corp-model-grid p,
.vl-corp-case li,
.vl-corp-case blockquote {
  color: #66706b;
  line-height: 1.65;
}

.vl-corp-model-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  max-width: 920px;
  margin: 0 auto;
}

.vl-corp-model-grid article {
  padding: 40px;
  background: #f9f5ef;
  border: 1px solid rgba(38, 38, 38, 0.06);
  box-shadow: 0 12px 28px rgba(20, 20, 20, 0.04);
}

.vl-corp-model-grid svg {
  width: 40px;
  height: 40px;
  padding: 10px;
  border-radius: 8px;
  background: #e7f4f1;
  color: #2ea9a1;
}

.vl-corp-model-grid h4 {
  margin: 28px 0 12px;
  color: #323936;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.vl-corp-model-grid ul,
.vl-corp-case ul {
  display: grid;
  gap: 9px;
  margin: 0 0 28px;
  padding: 0;
  list-style: none;
}

.vl-corp-model-grid li,
.vl-corp-case li {
  position: relative;
  padding-left: 22px;
}

.vl-corp-model-grid li::before,
.vl-corp-case li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72em;
  width: 8px;
  height: 8px;
  border: 1px solid #9fb95f;
  border-radius: 50%;
}

.vl-corp-model-grid small {
  display: block;
  padding-top: 18px;
  border-top: 1px solid rgba(38, 38, 38, 0.08);
  color: #8a918d;
}

.vl-corp-model-grid small strong {
  color: #f47a1f;
}

.vl-corp-case > .container {
  max-width: 900px;
}

.vl-corp-case h2 {
  margin-top: 12px;
}

.vl-corp-case-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 48px;
  align-items: center;
  margin-top: 34px;
}

.vl-corp-case-grid img {
  width: 100%;
  height: 290px;
  object-fit: cover;
  border-radius: 8px;
}

.vl-corp-case dl {
  display: flex;
  gap: 46px;
  margin: 18px 0 0;
}

.vl-corp-case dt {
  color: #8b928e;
  font-size: 12px;
}

.vl-corp-case dd {
  margin: 2px 0 0;
  color: #282828;
  font-weight: 800;
}

.vl-corp-case blockquote {
  margin: 24px 0 0;
  padding-left: 22px;
  border-left: 3px solid #2ea9a1;
  font-size: 14px;
}

.vl-corp-partners-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  max-width: 820px;
  margin: 0 auto;
}

.vl-corp-partners-grid article {
  padding: 26px 18px;
  text-align: center;
  background: #f9f5ef;
  box-shadow: 0 10px 22px rgba(20, 20, 20, 0.04);
}

.vl-corp-partners-grid strong,
.vl-corp-partners-grid span {
  display: block;
}

.vl-corp-partners-grid strong {
  color: #303633;
  font-weight: 800;
}

.vl-corp-partners-grid span {
  margin-top: 6px;
  color: #2ea9a1;
  font-size: 12px;
  font-weight: 700;
}

@media (max-width: 991.98px) {
  .vl-corp-why-grid,
  .vl-corp-model-grid,
  .vl-corp-case-grid,
  .vl-corp-partners-grid {
    grid-template-columns: 1fr;
  }
}

/* Our Enterprises Page */
.vl-enterprises-main {
  background: #fff;
  color: #282828;
}

.vl-enterprises-hero {
  position: relative;
  min-height: 650px;
  display: flex;
  align-items: center;
  text-align: center;
  color: #fff;
  background: url("../images/stories/1.jpg") center/cover no-repeat;
}

.vl-enterprises-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(20, 20, 20, 0.62) 0%, rgba(20, 20, 20, 0.45) 46%, rgba(255, 255, 255, 0.98) 100%);
}

.vl-enterprises-hero__content {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin: 0 auto;
}

.vl-enterprises-hero__content > span {
  display: inline-block;
  color: #f47a1f;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.28em;
  text-transform: uppercase;
}

.vl-enterprises-hero h1 {
  margin: 18px 0 18px;
  color: #fff;
  font-size: clamp(48px, 7vw, 84px);
  line-height: 0.96;
  font-weight: 900;
  letter-spacing: -0.045em;
}

.vl-enterprises-hero p {
  max-width: 640px;
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.9);
  font-size: 18px;
  line-height: 1.65;
}

.vl-enterprises-actions {
  display: flex;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 34px;
}

.vl-enterprises-primary,
.vl-enterprises-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 52px;
  padding: 0 28px;
  border-radius: 999px;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
}

.vl-enterprises-primary {
  background: #f47a1f;
  border: 1px solid #f47a1f;
}

.vl-enterprises-secondary {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.72);
}

.vl-enterprises-primary svg {
  width: 16px;
  height: 16px;
}

.vl-enterprises-intro,
.vl-enterprises-cards,
.vl-enterprises-impact {
  padding: 96px 0;
}

.vl-enterprises-intro {
  background: #f7f2ea;
}

.vl-enterprises-narrow {
  max-width: 730px;
  margin: 0 auto;
  text-align: center;
}

.vl-enterprises-narrow h2,
.vl-enterprises-impact h2,
.vl-enterprises-support h2 {
  margin: 0 0 24px;
  color: #282828;
  font-size: clamp(34px, 4.5vw, 52px);
  line-height: 1.05;
  font-weight: 900;
  letter-spacing: -0.035em;
}

.vl-enterprises-narrow p {
  color: #68716c;
  font-size: 17px;
  line-height: 1.75;
}

.vl-enterprises-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 42px;
  max-width: 1060px;
  margin: 0 auto;
}

.vl-enterprise-card {
  overflow: hidden;
  border-radius: 8px;
  background: #f7f2ea;
  box-shadow: 0 12px 28px rgba(20, 20, 20, 0.06);
}

.vl-enterprise-card img {
  width: 100%;
  height: 245px;
  object-fit: cover;
}

.vl-enterprise-card div {
  padding: 34px;
}

.vl-enterprise-card h3 {
  margin: 0 0 16px;
  color: #282828;
  font-size: 30px;
  font-weight: 900;
}

.vl-enterprise-card p {
  color: #68716c;
  line-height: 1.75;
}

.vl-enterprise-card small {
  display: inline-block;
  margin-top: 20px;
  color: #8ba63c;
  font-weight: 800;
}

.vl-enterprises-impact {
  background: #f7f2ea;
  text-align: center;
}

.vl-enterprises-impact-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 38px;
  max-width: 960px;
  margin: 58px auto 0;
}

.vl-enterprises-impact-grid article {
  padding: 34px 22px;
  background: #fff;
  box-shadow: 0 12px 26px rgba(20, 20, 20, 0.04);
}

.vl-enterprises-impact-grid svg {
  width: 30px;
  height: 30px;
  color: #2ea9a1;
}

.vl-enterprises-impact-grid strong,
.vl-enterprises-impact-grid span {
  display: block;
}

.vl-enterprises-impact-grid strong {
  margin-top: 16px;
  color: #2ea9a1;
  font-size: 43px;
  line-height: 1;
  font-weight: 900;
}

.vl-enterprises-impact-grid article:nth-child(3) strong {
  color: #f47a1f;
}

.vl-enterprises-impact-grid span {
  margin-top: 10px;
  color: #68716c;
  font-weight: 700;
}

.vl-enterprises-support {
  padding: 96px 0;
  text-align: center;
  background: #a9bd3f;
  color: #fff;
}

.vl-enterprises-support h2 {
  color: #fff;
}

.vl-enterprises-support p {
  color: rgba(255, 255, 255, 0.86);
  font-size: 17px;
}

.vl-enterprises-primary--light {
  background: #fff;
  border-color: #fff;
  color: #2f3326;
}

.vl-enterprises-secondary--light {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.8);
  color: #fff;
}

@media (max-width: 991.98px) {
  .vl-enterprises-grid,
  .vl-enterprises-impact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .vl-enterprises-grid,
  .vl-enterprises-impact-grid {
    grid-template-columns: 1fr;
  }

  .vl-enterprises-hero {
    min-height: 560px;
  }
}

/* Shop product cards and quick view */
.vl-shop-product {
  border: 1px solid rgba(0, 66, 37, 0.1) !important;
  border-radius: 10px;
}
.vl-shop-product .vl-product__image-link {
  width: 100%;
  height: 100%;
}
.vl-product__quick {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: #004225;
  box-shadow: 0 5px 18px rgba(0, 0, 0, 0.12);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity .2s ease, visibility .2s ease, transform .2s ease, background-color .2s ease, color .2s ease;
}
.vl-product:hover .vl-product__quick,
.vl-product:focus-within .vl-product__quick {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.vl-product__quick svg { width: 20px; height: 20px; }
.vl-product__quick:hover,
.vl-product__quick:focus-visible { background: #f8b715; color: #fff; }
.vl-shop-product__body { flex: 1; }
.vl-shop-product__body .vl-product__purchase { margin-top: auto; }
.vl-shop-product__body .vl-shop-product__avail { margin: 10px 0 16px; }
.vl-shop-product__btn {
  width: 100%;
  min-height: 42px;
  gap: 9px;
  text-transform: uppercase;
}
.vl-shop-product__btn svg,
.vl-product-card__btn svg { width: 16px; height: 16px; }
.vl-modal-open { overflow: hidden; }
.vl-quick-view {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.vl-quick-view.is-open { display: flex; }
.vl-quick-view__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(12, 29, 25, 0.7);
}
.vl-quick-view__dialog {
  position: relative;
  z-index: 1;
  width: min(768px, 100%);
  max-height: calc(100vh - 48px);
  overflow: auto;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
}
.vl-quick-view__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 16px;
  border-bottom: 1px solid #e3e8e5;
}
.vl-quick-view__header h2 { margin: 0; color: #004225; font-size: 22px; }
.vl-quick-view__header button {
  display: inline-flex;
  padding: 6px;
  border: 0;
  background: transparent;
  color: #64707c;
}
.vl-quick-view__body {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(0, 1fr);
  gap: 24px;
  padding: 24px;
}
.vl-quick-view__media img {
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 10px;
  object-fit: cover;
}
.vl-quick-view__content h3 { margin: 2px 0 6px; color: #004225; font-size: 25px; }
.vl-quick-view__producer,
.vl-quick-view__enterprise { margin: 0 0 4px; color: #667480; font-size: 14px; }
.vl-quick-view__enterprise { color: #48a29d; }
.vl-quick-view__stars { margin: 18px 0; color: #f8b000; letter-spacing: 3px; }
.vl-quick-view__usd { color: #004225; font-size: 34px; font-weight: 800; line-height: 1; }
.vl-quick-view__rwf { margin-top: 5px; color: #71808a; }
.vl-quick-view__stock {
  display: inline-flex;
  margin-top: 16px;
  padding: 5px 13px;
  border-radius: 999px;
  background: #d8f8df;
  color: #178443;
  font-size: 13px;
}
.vl-quick-view__impact { margin: 18px 0 24px; color: #263b45; }
.vl-quick-view__actions { display: flex; gap: 12px; }
.vl-quick-view__actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 20px;
  border-radius: 999px;
  text-decoration: none;
  text-transform: uppercase;
}
.vl-quick-view__cart { gap: 9px; background: #f8b715; color: #fff; }
.vl-quick-view__details { border: 2px solid #f8b715; color: #d99700; }
.vl-quick-view__cart svg { width: 17px; height: 17px; }
@media (max-width: 767.98px) {
  .vl-quick-view { padding: 12px; }
  .vl-quick-view__body { grid-template-columns: 1fr; padding: 18px; }
  .vl-quick-view__media img { max-height: 320px; }
  .vl-quick-view__actions { flex-direction: column; }
}

/* Single Pathway Page */
html.vl-language-transition-ready body {
  transition: opacity 220ms ease;
}
html.vl-language-arriving body,
html.vl-language-leaving body {
  opacity: 0;
}
.vl-pathway-single {
  --vl-pathway-green: #061b09;
  --vl-pathway-green-alt: #08220d;
  --vl-pathway-gold: #d5b02a;
  --vl-pathway-ivory: #f1eee5;
  background: var(--vl-pathway-green);
  color: rgba(241, 238, 229, 0.7);
  display: flex;
  flex-direction: column;
  font-family: "Montserrat", sans-serif;
  overflow: hidden;
}
.vl-pathway-single > .vl-pathway-hero {
  order: 1;
}
.vl-pathway-single > .vl-pathway-story {
  order: 2;
}
.vl-pathway-single > .vl-pathway-products,
.vl-pathway-single > .vl-pathway-services {
  order: 3;
}
.vl-pathway-single > section:not(.vl-pathway-products):not(.vl-pathway-services):not(.vl-pathway-hero):not(.vl-pathway-story) {
  order: 4;
}
.vl-pathway-hero {
  align-items: center;
  background-image:
    linear-gradient(180deg, rgba(250, 248, 241, 0.82) 0%, rgba(250, 248, 241, 0.76) 42%, rgba(250, 248, 241, 0.38) 76%, var(--vl-pathway-green) 100%),
    var(--vl-pathway-hero-image);
  background-position: center top;
  background-size: cover;
  display: flex;
  justify-content: center;
  min-height: clamp(760px, 45vw, 1140px);
  padding:10px 24px 100px;
  position: relative;
  text-align: center;
}
.vl-pathway-hero__content {
  margin-top: 3%;
  max-width: 960px;
}
.vl-pathway-hero span {
    color: #174e39;
    display: block;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 5px;
    margin-bottom: 24px;
    text-transform: uppercase;
}
.vl-pathway-hero h1 {
  color: #174e39;
  font-size: clamp(58px, 6.2vw, 104px);
  font-weight: 300;
  letter-spacing: -2px;
  line-height: 0.98;
  margin: 0 0 32px;
  text-transform: uppercase;
}
.vl-pathway-hero p {
    color: rgba(23, 78, 57, 0.92);
    font-size: 17px;
    font-weight: 400;
    line-height: 1.8;
    margin-left: auto;
    margin-right: auto;
    max-width: 760px;
}
.vl-pathway-hero__content p {
  background: rgba(255, 255, 255, 0.94);
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(13, 50, 37, 0.14);
  padding:15px;
}
.vl-pathway-quote span {
    color: #fff;
}
.vl-pathway-narrow p,
.vl-pathway-cta p {
    color: rgba(241, 238, 229, 1);
    font-size: 17px;
    font-weight: 400;
    line-height: 1.8;
    margin-left: auto;
    margin-right: auto;
    max-width: 760px;
}
.vl-pathway-products {
  margin-top: -170px;
  padding:100px 0 100px;
  position: relative;
  z-index: 2;
}
.vl-pathway-products > .container,
.vl-pathway-story > .container,
.vl-pathway-grow > .container,
.vl-pathway-impact > .container,
.vl-pathway-quote > .container,
.vl-pathway-cta > .container {
  max-width: 1320px;
  padding-left: 28px;
  padding-right: 28px;
}
.vl-pathway-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  justify-content: center;
  margin-bottom: 64px;
}
.vl-pathway-button {
  align-items: center;
  border: 1px solid rgba(239, 229, 180, 0.7);
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  gap: 14px;
  justify-content: center;
  letter-spacing: 2.6px;
  min-height: 62px;
  min-width: 250px;
  padding: 0 32px;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}
.vl-pathway-button svg {
  height: 15px;
  width: 15px;
}
.vl-pathway-button--primary {
    background: #ffffff;
    border-color: #ffffff;
    color: #071d0b;
}
.vl-pathway-button--secondary {
  background: transparent;
  color: var(--vl-pathway-ivory);
}
.vl-pathway-button--primary:hover {
  background: #e4c13a;
  border-color: #e4c13a;
  color: #071d0b;
}
.vl-pathway-button--secondary:hover {
  background: #FFF;
  border-color: #FFF;
  color: #000;
}
.vl-pathway-products h2,
.vl-pathway-story h2,
.vl-pathway-grow h2,
.vl-pathway-impact h2,
.vl-pathway-cta h2 {
  color: var(--vl-pathway-ivory);
  font-size: clamp(34px, 3vw, 52px);
  font-weight: 300;
  letter-spacing: -0.8px;
  line-height: 1.18;
  margin: 0 0 52px;
  text-align: center;
}

.vl-pathway-product-grid {
  display: grid;
  gap: 46px 32px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 auto;
  max-width: 1260px;
}

.vl-pathway-product {
  min-width: 0;
}

.vl-pathway-product__image {
  background: #edeef0;
  display: block;
  margin-bottom: 16px;
  overflow: hidden;
  text-decoration: none;
}

.vl-pathway-product__image img,
.vl-pathway-product__placeholder {
  aspect-ratio: 1 / 1;
  display: block;
  height: auto;
  object-fit: cover;
  transition: transform 320ms ease;
  width: 100%;
}

.vl-pathway-product__image:hover img {
  transform: scale(1.025);
}

.vl-pathway-product__placeholder {
  align-items: center;
  color: #a7aaad;
  display: flex;
  justify-content: center;
}

.vl-pathway-product__placeholder svg {
  height: 48px;
  stroke-width: 1.25;
  width: 48px;
}

.vl-pathway-product__category {
  color: var(--vl-pathway-gold);
  display: block;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 1.8px;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.vl-pathway-product h3 {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.35;
  margin: 0 0 6px;
}

.vl-pathway-product h3 a {
  color: var(--vl-pathway-ivory);
  text-decoration: none;
}
.vl-pathway-product__price {
    color: rgba(241, 238, 229, 0.76);
    font-size: 18px;
    line-height: 1.5;
    margin-bottom: 2px;
    font-weight: 600;
}
.vl-pathway-product__price-secondary {
  color: rgba(241, 238, 229, 0.48);
  font-size: 11px;
  line-height: 1.45;
  margin-bottom: 6px;
}

.vl-pathway-product__price del {
  opacity: 0.5;
}

.vl-pathway-product__price ins {
  color: inherit;
  text-decoration: none;
}

.vl-pathway-product p {
  color: rgba(241, 238, 229, 0.8);
  font-size: 14px;
  line-height: 1.55;
  margin: 0;
}
.vl-pathway-story,
.vl-pathway-grow,
.vl-pathway-impact,
.vl-pathway-quote,
.vl-pathway-cta {
  border-top: 0;
}
.vl-pathway-products,
.vl-pathway-impact,
.vl-pathway-cta {
  background: var(--vl-pathway-green-alt);
  text-align: center;
}
.vl-pathway-story,
.vl-pathway-grow,
.vl-pathway-quote {
  background: var(--vl-pathway-green);
}
/* Keep the swapped Story and Products backgrounds distinct when adjacent. */
.vl-pathway-single > .vl-pathway-story {
  background-color: var(--vl-pathway-green);
}
.vl-pathway-single > .vl-pathway-products {
  background-color: var(--vl-pathway-green-alt);
}
.vl-pathway-story {
  padding:80px 0 90px;
}
.vl-pathway-grow {
  padding: 190px 0;
}
.vl-pathway-impact {
  padding: 170px 0 180px;
}
.vl-pathway-quote {
  padding: 200px 0;
}
.vl-pathway-cta {
  padding: 160px 0 170px;
}
.vl-pathway-narrow {
  margin: 0 auto;
  max-width: 870px;
}
.vl-pathway-story h2 {
  margin-bottom: 30px;
}
.vl-pathway-narrow p {
  max-width: 850px;
  text-align: center;
}
.vl-pathway-narrow p:last-child {
  margin-bottom: 0;
}
.vl-pathway-grow__grid,
.vl-pathway-quote__grid {
  align-items: center;
  display: grid;
  gap: 70px;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
  margin: 0 auto;
  max-width: 1120px;
}
.vl-pathway-grow__grid img,
.vl-pathway-quote__grid img {
  object-fit: cover;
  width: 100%;
}

.vl-pathway-grow__grid img {
  aspect-ratio: 16 / 9;
}

.vl-pathway-quote__grid img {
  aspect-ratio: 1.47 / 1;
}

.vl-pathway-grow h2 {
  margin-bottom: 44px;
  text-align: left;
}

.vl-pathway-grow ul {
  display: grid;
  gap: 22px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.vl-pathway-grow li {
  align-items: flex-start;
  display: flex;
  gap: 15px;
}

.vl-pathway-grow svg,
.vl-pathway-impact svg {
  color: var(--vl-pathway-gold);
  flex: 0 0 auto;
  height: 20px;
  width: 20px;
}

.vl-pathway-grow strong,
.vl-pathway-grow small {
  display: block;
}

.vl-pathway-grow strong {
  color: var(--vl-pathway-ivory);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.35;
}

.vl-pathway-grow small {
  color: rgba(241, 238, 229, 0.48);
  font-size: 11px;
  line-height: 1.5;
  margin-top: 3px;
}

.vl-pathway-impact__grid {
  display: grid;
  gap: 56px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 64px auto 0;
  max-width: 1050px;
}

.vl-pathway-impact article {
  text-align: center;
}

.vl-pathway-impact strong,
.vl-pathway-impact span {
  display: block;
}

.vl-pathway-impact strong {
  color: var(--vl-pathway-ivory);
  font-size: 42px;
  font-weight: 300;
  line-height: 1;
  margin-top: 17px;
}

.vl-pathway-impact span {
  color: rgba(241, 238, 229, 0.48);
  font-size: 11px;
  margin-top: 10px;
}
.vl-pathway-quote blockquote {
    color: #ffffff;
    font-size: clamp(26px, 2.25vw, 38px);
    font-weight: 300;
    line-height: 1.45;
    margin: 0 0 30px;
}
.vl-pathway-quote cite {
  color: var(--vl-pathway-ivory);
  display: block;
  font-size: 12px;
  font-style: normal;
}

.vl-pathway-quote cite small {
  color: rgba(241, 238, 229, 0.48);
  display: block;
  font-size: 10px;
  margin-top: 6px;
}

.vl-pathway-quote__grid > div > span {
  margin-bottom: 25px;
}

.vl-pathway-cta .vl-pathway-actions {
  margin-bottom: 0;
  margin-top: 38px;
}

.vl-pathway-cta h2 {
  margin-bottom: 20px;
}

@media (max-width: 991.98px) {
  .vl-pathway-hero {
    min-height: 760px;
    padding-bottom: 240px;
  }

  .vl-pathway-products {
    margin-top: -140px;
    padding-bottom: 120px;
  }

  .vl-pathway-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vl-pathway-impact__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vl-pathway-grow__grid,
  .vl-pathway-quote__grid {
    grid-template-columns: 1fr;
  }

  .vl-pathway-grow__grid,
  .vl-pathway-quote__grid {
    max-width: 720px;
  }

  .vl-pathway-grow h2 {
    margin-top: 10px;
    text-align: center;
  }
}

@media (max-width: 575.98px) {
  .vl-pathway-hero {
    background-position: 55% top;
    min-height: 650px;
    padding: 70px 20px 205px;
  }

  .vl-pathway-hero__content {
    margin-top: 0;
  }

  .vl-pathway-hero span {
    font-size: 9px;
    letter-spacing: 3.5px;
    margin-bottom: 18px;
  }

  .vl-pathway-hero h1 {
    font-size: clamp(44px, 15vw, 62px);
    letter-spacing: -1px;
    margin-bottom: 22px;
  }

  .vl-pathway-hero p {
    font-size: 13px;
    line-height: 1.7;
  }

  .vl-pathway-products {
    margin-top: -115px;
    padding-bottom: 90px;
  }

  .vl-pathway-products > .container,
  .vl-pathway-story > .container,
  .vl-pathway-grow > .container,
  .vl-pathway-impact > .container,
  .vl-pathway-quote > .container,
  .vl-pathway-cta > .container {
    padding-left: 20px;
    padding-right: 20px;
  }

  .vl-pathway-actions {
    align-items: stretch;
    flex-direction: column;
    margin: 0 auto 54px;
    max-width: 320px;
  }

  .vl-pathway-button {
    min-height: 56px;
    min-width: 0;
    width: 100%;
  }

  .vl-pathway-products h2,
  .vl-pathway-story h2,
  .vl-pathway-grow h2,
  .vl-pathway-impact h2,
  .vl-pathway-cta h2 {
    font-size: 32px;
    margin-bottom: 38px;
  }

  .vl-pathway-product-grid {
    gap: 40px;
    grid-template-columns: 1fr;
  }

  .vl-pathway-product h3 {
    font-size: 16px;
  }

  .vl-pathway-story {
    padding: 92px 0;
  }

  .vl-pathway-grow,
  .vl-pathway-impact,
  .vl-pathway-quote {
    padding: 100px 0;
  }

  .vl-pathway-cta {
    padding: 90px 0 100px;
  }

  .vl-pathway-narrow p,
  .vl-pathway-cta p {
    font-size: 14px;
  }

  .vl-pathway-grow__grid,
  .vl-pathway-quote__grid {
    gap: 42px;
  }

  .vl-pathway-grow h2 {
    margin-bottom: 32px;
  }

  .vl-pathway-impact__grid {
    gap: 48px 22px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 44px;
  }

  .vl-pathway-impact strong {
    font-size: 34px;
  }

  .vl-pathway-quote blockquote {
    font-size: 25px;
  }

  .vl-pathway-cta .vl-pathway-actions {
    margin-top: 30px;
  }
}

/* Bulk Orders Page */
.vl-bulk-main {
  background: #f8f3ec;
  color: #282828;
}

.vl-bulk-wrap {
  padding: 96px 0;
}

.vl-bulk-container {
  width: min(100% - 32px, 880px);
  margin: 0 auto;
}

.vl-bulk-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
  color: #77807b;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-decoration: none;
  text-transform: uppercase;
}

.vl-bulk-back span {
  font-size: 24px;
  line-height: 1;
}

.vl-bulk-heading {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 42px;
}

.vl-bulk-heading > i,
.vl-bulk-heading > svg {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  color: #f47a1f;
}

.vl-bulk-heading h1 {
  margin: 0 0 8px;
  color: #282828;
  font-size: clamp(38px, 5vw, 56px);
  line-height: 1.05;
  font-weight: 900;
  letter-spacing: -0.035em;
}

.vl-bulk-heading p {
  margin: 0;
  color: #68716c;
  font-size: 17px;
}

.vl-bulk-form {
  display: grid;
  gap: 30px;
}

.vl-bulk-card,
.vl-bulk-submit-card {
  padding: 36px;
  border-radius: 9px;
  background: #fff;
  border: 1px solid rgba(38, 38, 38, 0.1);
  box-shadow: 0 8px 22px rgba(20, 20, 20, 0.03);
}

.vl-bulk-card h2 {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 28px;
  color: #282828;
  font-size: 27px;
  line-height: 1.2;
  font-weight: 900;
}

.vl-bulk-card h2 svg {
  color: #2ea9a1;
}

.vl-bulk-card:nth-of-type(4) h2 svg {
  color: #9fb95f;
}

.vl-bulk-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 26px;
}

.vl-bulk-card-head h2 {
  margin: 0;
}

.vl-bulk-card-head button {
  border: 0;
  background: transparent;
  color: #2ea9a1;
  font-weight: 800;
}

.vl-bulk-grid {
  display: grid;
  gap: 22px;
}

.vl-bulk-grid--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.vl-bulk-card label {
  display: grid;
  gap: 9px;
  color: #4e5954;
  font-size: 13px;
  font-weight: 800;
}

.vl-bulk-card label span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.vl-bulk-card label svg {
  width: 16px;
  height: 16px;
}

.vl-bulk-card input,
.vl-bulk-card select,
.vl-bulk-card textarea {
  width: 100%;
  min-height: 48px;
  border: 1px solid rgba(38, 38, 38, 0.11);
  border-radius: 8px;
  background: #fbf7f1;
  color: #282828;
  padding: 0 16px;
  outline: 0;
}

.vl-bulk-card textarea {
  min-height: 170px;
  padding: 16px;
  resize: vertical;
}

.vl-bulk-card input::placeholder,
.vl-bulk-card textarea::placeholder {
  color: #a7ada9;
}

.vl-bulk-product-box {
  padding: 24px;
  border-radius: 8px;
  background: #fbf7f1;
  border: 1px solid rgba(38, 38, 38, 0.09);
}

.vl-bulk-product-box > p {
  margin: 0 0 18px;
  color: #4e5954;
  font-weight: 800;
}

.vl-bulk-product-box input,
.vl-bulk-product-box select {
  background: #fff;
}

.vl-bulk-submit-card {
  text-align: center;
}

.vl-bulk-submit-card button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: 56px;
  border: 0;
  border-radius: 999px;
  background: #f47a1f;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  box-shadow: 0 12px 26px rgba(244, 122, 31, 0.22);
}

.vl-bulk-submit-card p {
  margin: 18px 0 0;
  color: #7b837e;
  font-size: 13px;
  font-weight: 700;
}

@media (max-width: 767.98px) {
  .vl-bulk-wrap {
    padding: 58px 0;
  }

  .vl-bulk-grid--two {
    grid-template-columns: 1fr;
  }

  .vl-bulk-card,
  .vl-bulk-submit-card {
    padding: 24px;
  }
}

/* Cultural Experiences Listing Page */
.vl-exp-main {
  background: #fff;
  color: #222831;
}

.vl-exp-hero {
  padding: 120px 0 118px;
  text-align: center;
  background: #f7f8fa;
}

.vl-exp-hero span {
  display: inline-block;
  color: #caa62c;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.28em;
  text-transform: uppercase;
}

.vl-exp-hero h1 {
  margin: 28px 0 22px;
  color: #111827;
  font-size: clamp(44px, 5.4vw, 70px);
  line-height: 1.05;
  font-weight: 900;
  letter-spacing: -0.04em;
}

.vl-exp-hero p {
  max-width: 760px;
  margin: 0 auto;
  color: #68716c;
  font-size: 18px;
  line-height: 1.75;
}

.vl-exp-filter {
  border-top: 1px solid rgba(38, 38, 38, 0.06);
  border-bottom: 1px solid rgba(38, 38, 38, 0.1);
  background: #fff;
}

.vl-exp-filter .container-fluid,
.vl-exp-listing .container-fluid {
  padding-left: 42px;
  padding-right: 42px;
}

.vl-exp-filter-row {
  min-height: 76px;
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.vl-exp-filter-row > span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #59615d;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.vl-exp-filter-row svg {
  width: 16px;
  height: 16px;
}

.vl-exp-filter-row button {
  min-width: 104px;
  min-height: 38px;
  border: 0;
  background: #f2f3f4;
  color: #30363a;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.vl-exp-filter-row button.active {
  background: #2f5f24;
  color: #fff;
}

.vl-exp-listing {
  padding: 86px 0 96px;
}

.vl-exp-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 34px;
}

.vl-exp-card {
  background: #fff;
  border: 1px solid rgba(38, 38, 38, 0.1);
}

.vl-exp-card__image {
  position: relative;
  display: block;
  overflow: hidden;
  height: 360px;
  color: inherit;
  text-decoration: none;
}

.vl-exp-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.vl-exp-card:hover .vl-exp-card__image img {
  transform: scale(1.04);
}

.vl-exp-card__image span {
  position: absolute;
  top: 18px;
  left: 18px;
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  padding: 0 12px;
  background: #fff;
  color: #343b40;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.vl-exp-card__body {
  min-height: 128px;
  padding: 24px 24px 28px;
}

.vl-exp-card__body > div {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.vl-exp-card__body h2 {
  margin: 0;
  color: #222831;
  font-size: 22px;
  line-height: 1.25;
  font-weight: 700;
}

.vl-exp-card__body strong {
  flex: 0 0 auto;
  color: #56605c;
  font-size: 13px;
  font-weight: 700;
}

.vl-exp-card__body p {
  margin: 12px 0 0;
  color: #68716c;
  font-size: 14px;
  line-height: 1.6;
}

@media (max-width: 1199.98px) {
  .vl-exp-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .vl-exp-filter .container-fluid,
  .vl-exp-listing .container-fluid {
    padding-left: 18px;
    padding-right: 18px;
  }

  .vl-exp-grid {
    grid-template-columns: 1fr;
  }

  .vl-exp-card__image {
    height: 280px;
  }
}

/* Book a Visit Featured Lodges */
.vl-exp-featured {
  padding: 110px 0 120px;
  background: #f7f8fa;
}

.vl-exp-featured .container-fluid {
  padding-left: 42px;
  padding-right: 42px;
}

.vl-exp-featured-head {
  max-width: 720px;
  margin: 0 auto 58px;
  text-align: center;
}

.vl-exp-featured-head span {
  display: inline-block;
  color: #caa62c;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.28em;
  text-transform: uppercase;
}

.vl-exp-featured-head h2 {
  margin: 18px 0 10px;
  color: #111827;
  font-size: clamp(34px, 4.5vw, 52px);
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -0.035em;
}

.vl-exp-featured-head p {
  color: #68716c;
  font-size: 16px;
  line-height: 1.7;
}

.vl-exp-featured-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 34px;
  max-width: 1120px;
  margin: 0 auto;
}

.vl-exp-featured-grid article img {
  width: 100%;
  height: 300px;
  object-fit: cover;
}

.vl-exp-featured-grid article div {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-top: 22px;
}

.vl-exp-featured-grid h3 {
  margin: 0;
  color: #111827;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 800;
}

.vl-exp-featured-grid strong {
  flex: 0 0 auto;
  color: #68716c;
  font-size: 13px;
}

.vl-exp-featured-grid p {
  margin: 12px 0 0;
  color: #68716c;
  font-size: 15px;
  line-height: 1.65;
}

@media (max-width: 991.98px) {
  .vl-exp-featured-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  .vl-exp-featured .container-fluid {
    padding-left: 18px;
    padding-right: 18px;
  }
}

/* Shared UI polish: slick buttons, icon hover, reusable cards */
:root {
  --vl-teal: #489f9a;
  --vl-teal-dark: #0f5f58;
  --vl-orange: #f47a1f;
  --vl-gold: #f4b211;
  --vl-ink: #20272d;
  --vl-muted: #68716c;
  --vl-surface: #fff;
  --vl-soft: #f8f3ec;
  --vl-radius: 14px;
  --vl-shadow-sm: 0 10px 24px rgba(20, 20, 20, 0.06);
  --vl-shadow-md: 0 16px 38px rgba(20, 20, 20, 0.1);
  --vl-ease: 180ms ease;
}


.vl-ui-btn,
.vl-btn-pill,
.vl-book-button,
.vl-product-card__btn,
.vl-shop-product__btn,
.vl-footer__btn,
.vl-btn-warn-pill,
.vl-btn-outline-teal,
.vl-partner-form button,
.vl-contact-form button,
.vl-bulk-submit-card button,
.vl-corp-model-grid a,
.vl-enterprises-primary,
.vl-enterprises-secondary,
.vl-makers-partner__box a,
.vl-blog-newsletter__box button {
  transition: transform var(--vl-ease), box-shadow var(--vl-ease), background-color var(--vl-ease), border-color var(--vl-ease), color var(--vl-ease);
}

.vl-ui-btn:hover,
.vl-btn-pill:hover,
.vl-book-button:hover,
.vl-product-card__btn:hover,
.vl-shop-product__btn:hover,
.vl-footer__btn:hover,
.vl-btn-warn-pill:hover,
.vl-btn-outline-teal:hover,
.vl-partner-form button:hover,
.vl-contact-form button:hover,
.vl-bulk-submit-card button:hover,
.vl-enterprises-primary:hover,
.vl-enterprises-secondary:hover,
.vl-makers-partner__box a:hover,
.vl-blog-newsletter__box button:hover {
  transform: translateY(-2px);
  box-shadow: var(--vl-shadow-md);
}

a:hover .feather,
button:hover .feather,
.btn:hover .feather,
.vl-book-button:hover svg,
.vl-shop-product__btn:hover svg,
.vl-footer__social-btn:hover svg,
.vl-maker-card:hover svg,
.vl-exp-card:hover svg {
  transform: translateX(2px) scale(1.06);
}

a .feather,
button .feather,
.btn .feather,
a svg,
button svg {
  transition: transform var(--vl-ease), stroke var(--vl-ease), color var(--vl-ease);
}

.vl-shared-card,
.vl-blog-card,
.vl-maker-card,
.vl-enterprise-card,
.vl-exp-card,
.vl-feature-story,
.vl-corp-model-grid article,
.vl-bulk-card,
.vl-bulk-submit-card {
  transition: transform var(--vl-ease), box-shadow var(--vl-ease), border-color var(--vl-ease);
}

.vl-blog-card:hover,
.vl-maker-card:hover,
.vl-enterprise-card:hover,
.vl-exp-card:hover,
.vl-feature-story:hover,
.vl-corp-model-grid article:hover,
.vl-bulk-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--vl-shadow-md);
  border-color: rgba(72, 159, 154, 0.18);
}

.vl-bulk-card input,
.vl-bulk-card select,
.vl-bulk-card textarea,
.vl-contact-form input,
.vl-contact-form select,
.vl-contact-form textarea,
.vl-partner-form input,
.vl-partner-form select,
.vl-input,
.vl-footer__input {
  transition: border-color var(--vl-ease), box-shadow var(--vl-ease), background-color var(--vl-ease);
}

.vl-bulk-card input:focus,
.vl-bulk-card textarea:focus,
.vl-contact-form input:focus,
.vl-contact-form textarea:focus,
.vl-partner-form input:focus,
.vl-input:focus,
.vl-footer__input:focus {
  border-color: rgba(72, 159, 154, 0.62);
  box-shadow: 0 0 0 4px rgba(72, 159, 154, 0.12);
}

/* Global responsive hardening */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

img,
svg,
video,
canvas,
iframe {
  max-width: 100%;
}

main,
.container,
.container-fluid,
[class*="container"],
.row,
[class*="grid"],
[class*="row"],
[class*="grid"] > *,
[class*="row"] > *,
.card,
article,
section,
form,
label {
  min-width: 0;
}

input,
select,
textarea,
button {
  max-width: 100%;
}

.vl-mobile-toggle {
  display: none;
}

@media (max-width: 1199.98px) {
  .tf-header .nav-icon .nav-icon-item {
    display: none;
  }

  .tf-header .nav-icon .shop-cart,
  .tf-header .nav-icon .btn-open-menu,
  .vl-mobile-toggle {
    display: inline-flex;
  }

  .header-s3 .menu-primary-menu-container {
    display: none;
  }

  .vl-book-shell,
  .vl-partner-benefits,
  .vl-partner-resources,
  .vl-partner-register,
  .vl-partner-questions,
  .vl-contact-conversation,
  .vl-visit-us,
  .vl-impact-stats,
  .vl-ecosystem-section,
  .vl-livelihoods-section,
  .vl-impact-resources,
  .vl-blog-featured,
  .vl-blog-listing,
  .vl-blog-newsletter,
  .vl-makers-directory,
  .vl-makers-partner,
  .vl-about-mission,
  .vl-about-journey,
  .vl-about-principles,
  .vl-about-recognition,
  .vl-about-team-cta,
  .vl-corp-why,
  .vl-corp-models,
  .vl-corp-case,
  .vl-corp-partners,
  .vl-enterprises-intro,
  .vl-enterprises-cards,
  .vl-enterprises-impact,
  .vl-enterprises-support,
  .vl-exp-listing,
  .vl-exp-featured {
    padding-top: 72px;
    padding-bottom: 72px;
  }

  .vl-partner-hero__content {
    max-width: 620px;
  }

  .vl-partner-hero h1 {
    font-size: clamp(42px, 7vw, 68px);
  }
}

@media (max-width: 991.98px) {
  .vl-benefit-grid,
  .vl-resource-grid,
  .vl-impact-stat-grid,
  .vl-livelihood-grid,
  .vl-blog-grid,
  .vl-makers-grid,
  .vl-about-principle-grid,
  .vl-about-awards,
  .vl-corp-why-grid,
  .vl-corp-model-grid,
  .vl-corp-partners-grid,
  .vl-enterprises-grid,
  .vl-enterprises-impact-grid,
  .vl-exp-grid,
  .vl-exp-featured-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vl-book-card,
  .vl-book-date-view,
  .vl-feature-story,
  .vl-contact-container,
  .vl-report-row,
  .vl-corp-case-grid {
    grid-template-columns: 1fr;
  }

  .vl-book-summary {
    position: static;
  }

  .vl-partner-hero,
  .vl-contact-hero,
  .vl-impact-hero,
  .vl-blog-hero,
  .vl-single-blog-hero,
  .vl-makers-hero,
  .vl-about-hero,
  .vl-corp-hero,
  .vl-enterprises-hero {
    min-height: 500px;
  }

  .vl-partner-hero__content,
  .vl-contact-hero__content,
  .vl-impact-hero__content {
    padding-left: 20px;
    padding-right: 20px;
  }

  .vl-makers-filter__row,
  .vl-filter,
  .vl-exp-filter-row {
    align-items: stretch;
    flex-direction: column;
  }

  .vl-makers-chips,
  .vl-exp-filter-row {
    justify-content: flex-start;
  }
}

@media (max-width: 767.98px) {
  .container,
  .container-fluid {
    padding-left: 18px;
    padding-right: 18px;
  }

  .vl-book-shell,
  .vl-partner-benefits,
  .vl-partner-resources,
  .vl-partner-register,
  .vl-partner-questions,
  .vl-contact-conversation,
  .vl-visit-us,
  .vl-impact-stats,
  .vl-ecosystem-section,
  .vl-livelihoods-section,
  .vl-impact-resources,
  .vl-blog-featured,
  .vl-blog-listing,
  .vl-blog-newsletter,
  .vl-makers-directory,
  .vl-makers-partner,
  .vl-about-mission,
  .vl-about-journey,
  .vl-about-principles,
  .vl-about-recognition,
  .vl-about-team-cta,
  .vl-corp-why,
  .vl-corp-models,
  .vl-corp-case,
  .vl-corp-partners,
  .vl-enterprises-intro,
  .vl-enterprises-cards,
  .vl-enterprises-impact,
  .vl-enterprises-support,
  .vl-exp-listing,
  .vl-exp-featured {
    padding-top: 54px;
    padding-bottom: 54px;
  }

  .vl-book-head h1,
  .vl-contact-hero h1,
  .vl-impact-hero h1,
  .vl-single-blog-hero h1,
  .vl-makers-hero h1,
  .vl-about-hero h1,
  .vl-enterprises-hero h1,
  .vl-exp-hero h1 {
    font-size: clamp(32px, 11vw, 44px);
  }

  .vl-partner-hero h1 {
    font-size: clamp(34px, 11vw, 46px);
  }

  .vl-book-head,
  .vl-blog-section-head,
  .vl-exp-featured-head,
  .vl-partner-section-head,
  .vl-contact-section-head,
  .vl-impact-section-head {
    margin-bottom: 34px;
  }

  .vl-book-steps,
  .vl-benefit-grid,
  .vl-resource-grid,
  .vl-impact-stat-grid,
  .vl-livelihood-grid,
  .vl-blog-grid,
  .vl-related-story-grid,
  .vl-makers-grid,
  .vl-about-principle-grid,
  .vl-about-awards,
  .vl-corp-why-grid,
  .vl-corp-model-grid,
  .vl-corp-partners-grid,
  .vl-enterprises-grid,
  .vl-enterprises-impact-grid,
  .vl-bulk-grid--two,
  .vl-exp-grid,
  .vl-exp-featured-grid,
  .vl-form-row,
  .vl-interest-grid {
    grid-template-columns: 1fr;
  }

  .vl-book-card__body,
  .vl-contact-form,
  .vl-partner-form,
  .vl-bulk-card,
  .vl-bulk-submit-card,
  .vl-corp-model-grid article,
  .vl-enterprise-card div {
    padding: 24px 18px;
  }

  .vl-book-price-row,
  .vl-book-card__top,
  .vl-report-downloads article,
  .vl-corp-case dl,
  .vl-exp-card__body > div,
  .vl-exp-featured-grid article div,
  .vl-bulk-heading,
  .vl-bulk-card-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .vl-book-button,
  .vl-partner-cta,
  .vl-enterprises-primary,
  .vl-enterprises-secondary,
  .vl-makers-partner__box a,
  .vl-blog-newsletter__box button,
  .vl-bulk-submit-card button {
    width: 100%;
  }

  .vl-blog-newsletter__box form,
  .vl-partner-questions div {
    flex-direction: column;
  }

  .vl-calendar {
    overflow-x: auto;
  }

  .vl-calendar__grid {
    min-width: 320px;
  }

  .vl-exp-card__image,
  .vl-exp-featured-grid article img,
  .vl-enterprise-card img,
  .vl-feature-story__image img {
    height: 260px;
    min-height: 260px;
  }

  .vl-map-placeholder {
    min-height: 300px;
  }
}

@media (max-width: 575.98px) {
  .vl-partner-hero,
  .vl-contact-hero,
  .vl-impact-hero,
  .vl-blog-hero,
  .vl-single-blog-hero,
  .vl-makers-hero,
  .vl-about-hero,
  .vl-corp-hero,
  .vl-enterprises-hero {
    min-height: 430px;
  }

  .vl-exp-hero {
    padding-top: 72px;
    padding-bottom: 72px;
  }

  .vl-book-steps {
    gap: 10px;
  }

  .vl-book-steps li {
    font-size: 13px;
  }

  .vl-book-steps span {
    flex-basis: 32px;
    height: 32px;
    width: 32px;
  }

  .vl-calendar__legend,
  .vl-makers-stats,
  .vl-enterprises-actions {
    flex-direction: column;
  }

  .vl-about-timeline {
    gap: 18px;
    margin-top: 42px;
  }

  .vl-about-timeline::before {
    left: 12px;
  }

  .vl-about-timeline article,
  .vl-about-timeline article:nth-child(odd),
  .vl-about-timeline article:nth-child(even) {
    justify-self: stretch;
    width: auto;
    margin-left: 34px;
    text-align: left;
  }

  .vl-about-timeline article::after,
  .vl-about-timeline article:nth-child(odd)::after,
  .vl-about-timeline article:nth-child(even)::after {
    left: -28px;
    right: auto;
  }

  .vl-office-hours div,
  .vl-price-total,
  .vl-deposit-box div,
  .vl-summary-line,
  .vl-summary-total,
  .vl-livelihood-grid div {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }

  .vl-exp-filter-row button {
    width: 100%;
  }

  .vl-footer__social {
    justify-content: flex-start;
  }
}

/* Product card display */
.vl-product {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: none;
}

.vl-product:hover {
  box-shadow: 0 12px 28px rgba(0, 66, 37, 0.12);
  transform: translateY(-2px);
}

.vl-product__img,
.vl-featured .vl-product__img,
.vl-shop-product .vl-product__img {
  background: #d8f2f4;
  border-radius: 0;
  height: 410px;
  max-height: none;
  overflow: hidden;
  position: relative;
}

.vl-product__img img,
.vl-featured .vl-product__img img,
.vl-shop-product .vl-product__img img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.vl-badge-top,
.vl-featured .vl-badge-top {
  background: #9fbd32;
  border-radius: 999px;
  box-shadow: none;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  left: 12px;
  letter-spacing: 0;
  line-height: 1;
  padding: 7px 14px;
  position: absolute;
  top: 12px;
}

.vl-product .card-body,
.vl-shop-product__body {
  display: flex;
  flex-direction: column;
  min-height: 162px;
  padding: 18px;
}

.vl-product h3,
.vl-product h3 a,
.vl-shop-product__title,
.vl-shop-product__title a {
  color: #004225 !important;
  font-size:18px;
  font-weight: 500;
  line-height: 1.2;
  margin: 0 0 4px;
}

.vl-rating,
.vl-shop-product__rating {
  align-items: center;
  color: #9fbd32;
  display: flex;
  gap: 2px;
  margin: 0 0 8px !important;
}

.vl-rating .vl-stars,
.vl-shop-product__rating .vl-stars {
  display: inline-flex;
  gap: 1px;
}

.vl-rating .feather,
.vl-shop-product__rating .feather {
  height: 13px;
  stroke-width: 2.4;
  width: 13px;
}

.vl-rating .is-filled,
.vl-shop-product__rating .is-filled {
  color: #9fbd32;
  fill: #9fbd32;
}

.vl-rating .is-empty,
.vl-shop-product__rating .is-empty {
  color: #c7d0cb;
  fill: transparent;
}

.vl-rating__value,
.vl-shop-product__rating-num {
  color: #60737d !important;
  font-size: 13px;
  margin-left: 6px;
}

.vl-product .text-muted.small,
.vl-shop-product__by {
  color: #81909a !important;
  font-size: 14px;
  margin-bottom: 18px !important;
}

.vl-product .card-body > .d-flex.align-items-center.justify-content-between,
.vl-shop-product__body > .d-flex {
  margin-top: auto;
}

.vl-product-card__price,
.vl-shop-product__price {
  line-height: 1.15;
}

.vl-product-card__usd,
.vl-shop-product__usd {
  color: #001b3f;
  font-size: 20px;
  font-weight: 800;
}

.vl-product-card__rwf,
.vl-shop-product__rwf {
  color: #6f7f89;
  font-size: 14px;
  margin-top: 4px;
}

.vl-product-card__btn,
.vl-shop-product__btn {
  align-items: center;
  background: #f8b715 !important;
  border-color: #f8b715 !important;
  border-radius: 999px;
  box-shadow: none;
  color: #fff !important;
  display: inline-flex;
  font-size: 16px;
  font-weight: 600;
  justify-content: center;
  min-width: 114px;
  padding: 10px 18px;
  white-space: nowrap;
}

.vl-product-card__btn:hover,
.vl-shop-product__btn:hover {
  background: #e5a508 !important;
  border-color: #e5a508 !important;
  color: #fff !important;
}

@media (max-width: 575.98px) {
  .vl-product__img,
  .vl-featured .vl-product__img,
  .vl-shop-product .vl-product__img {
    height: 320px;
  }
}

/* Reference-matched homepage product cards */
.vl-featured .vl-product {
  border: 1px solid rgba(255, 255, 255, 0.92) !important;
  border-radius: 10px;
  box-shadow: none;
}

.vl-featured .vl-product__img {
  aspect-ratio: 1 / 1;
  border-radius: 9px 9px 0 0;
  height: auto;
}

.vl-featured .vl-product__quick {
  display: none;
}

.vl-featured .vl-product .card-body {
  box-sizing: border-box;
  height: auto;
  min-height: 190px;
  padding: 17px 16px 18px;
}

.vl-featured .vl-product h3,
.vl-featured .vl-product h3 a {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.25;
  margin-bottom: 5px;
}

.vl-featured .vl-product-card__producer {
  font-size: 13px;
  margin-bottom: 17px !important;
}

.vl-featured .vl-product .vl-rating__value {
  margin-bottom: 0 !important;
}

.vl-featured .vl-product__purchase {
  align-items: flex-end;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: space-between;
  margin-top: auto;
}
.vl-featured .vl-product-card__usd {
    color: #001b3f;
    font-size: 16px;
    font-weight: 800;
    line-height: 1;
}
.vl-featured .vl-product-card__rwf {
  color: #71808a;
  font-size: 12px;
  line-height: 1.2;
  margin-top: 7px;
}

.vl-featured .vl-product-card__btn {
  flex: 0 0 auto;
  font-size: 15px;
  font-weight: 500;
  min-width: 114px;
  padding: 9px 10px;
  width: 114px;
}

.vl-cart-toast {
  align-items: flex-start;
  background: #35bd55;
  border-radius: 7px;
  bottom: 24px;
  box-shadow: 0 14px 36px rgba(0, 73, 28, 0.24);
  color: #fff;
  display: flex;
  font-size: 15px;
  font-weight: 600;
  gap: 18px;
  justify-content: space-between;
  max-width: calc(100vw - 48px);
  min-width: min(400px, calc(100vw - 48px));
  opacity: 0;
  padding: 17px 16px;
  pointer-events: none;
  position: fixed;
  right: 24px;
  transform: translateY(14px);
  transition: opacity 180ms ease, transform 180ms ease;
  visibility: hidden;
  z-index: 10020;
}

.vl-cart-toast__body {
  min-width: 0;
}

.vl-cart-toast__body p {
  color: inherit;
  line-height: 1.45;
  margin: 0 0 5px;
}

.vl-cart-toast__body strong {
  font-weight: 700;
}

.vl-cart-toast__body a {
  color: #fff;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.vl-cart-toast__close {
  align-items: center;
  background: transparent;
  border: 0;
  color: #fff;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 25px;
  font-weight: 700;
  height: 28px;
  justify-content: center;
  line-height: 1;
  opacity: 0.95;
  padding: 0;
  width: 28px;
}

.vl-cart-toast.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
  visibility: visible;
}

@media (max-width: 575.98px) {
  .vl-featured .vl-product__img {
    height: auto;
  }

  .vl-cart-toast {
    bottom: 18px;
    left: 18px;
    min-width: 0;
    right: 18px;
  }
}

/* Reference-matched single product page */
.vl-single-product {
  min-height: 100vh;
  padding: 92px 0 78px;
  background: #cceff0;
}
.vl-single-product__container {
  padding-right: clamp(24px, 2.5vw, 50px);
  padding-left: clamp(24px, 2.5vw, 50px);
}
.vl-single-product .vl-back {
  margin-bottom: 52px !important;
  color: #245d4b;
  opacity: 1;
}
.vl-single-product__layout {
  --bs-gutter-x: clamp(48px, 5vw, 96px);
  --bs-gutter-y: 42px;
}
.vl-single-product .vl-product-photo {
  aspect-ratio: 1 / 1;
  min-height: 0;
  border-radius: 9px;
  box-shadow: none;
}
.vl-single-product .vl-product-photo img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
}
.vl-single-product .vl-product-info {
  padding-top: 0;
}
.vl-single-product .vl-product-info .vl-meta {
  margin: 0 0 22px !important;
  color: #9baa49;
  font-size: 13px;
  letter-spacing: .35em;
}
.vl-single-product .vl-product-info .vl-title {
  margin-bottom: 26px !important;
  color: #00552c;
  font-size: clamp(42px, 3.15vw, 64px);
  line-height: 1.08;
  letter-spacing: -.025em;
}
.vl-single-product .vl-product-info .vl-price {
  color: #f8b715;
  font-size: 30px;
  line-height: 1;
}
.vl-single-product .vl-product-info .text-muted {
  color: #61717a !important;
}
.vl-single-product .vl-product-info > .text-uppercase.text-muted {
  margin: 28px 0 34px !important;
  color: #439a92 !important;
  letter-spacing: .04em;
}
.vl-single-product .vl-line {
  margin: 0 0 30px !important;
  border-color: rgba(255,255,255,.72);
}
.vl-single-product .vl-product-description {
  margin-bottom: 30px;
  color: #263b45;
  font-size: 18px;
  line-height: 1.65;
}
.vl-single-product .vl-product-description p:last-child { margin-bottom: 0; }
.vl-single-product .vl-product-details__title {
  margin-bottom: 12px;
  color: #184f40;
  font-size: 14px;
  letter-spacing: .04em;
}
.vl-single-product .vl-details {
  margin-bottom: 48px !important;
}
.vl-single-product .vl-details li {
  padding: 5px 0;
  color: #607079;
  font-size: 14px;
}
.vl-single-product .vl-details .feather {
  color: #9dbf50;
}
.vl-single-product .cart .d-flex {
  margin-bottom: 22px !important;
}
.vl-single-product .vl-qty {
  border: 0;
  border-radius: 0;
  background: transparent;
  gap: 10px;
  overflow: visible;
}
.vl-single-product .vl-qty__btn {
  width: 40px;
  height: 40px;
  border: 1px solid rgba(30,94,83,.08);
  background: rgba(255,255,255,.08);
  color: #145c4b;
}
.vl-single-product .vl-qty__input {
  width: 46px;
  height: 40px;
  color: #145c4b;
}
.vl-single-product .vl-cta {
  min-height: 54px;
  margin-bottom: 20px !important;
  border: 0 !important;
  background: #f8b72b !important;
  box-shadow: 0 5px 12px rgba(206,146,0,.18);
  color: #fff !important;
}
.vl-single-product .vl-cta-outline {
  display: inline-flex;
  min-height: 56px;
  margin-bottom: 30px !important;
  border: 2px solid #32a8a0;
  border-radius: 999px;
  color: #548f8d;
  text-transform: uppercase;
}
.vl-single-product .vl-impact-card {
  border: 1px solid rgba(157,181,78,.28);
  border-radius: 9px;
  background: rgba(223,237,205,.45);
  color: #184f40;
}
.vl-single-product .vl-impact-card p {
  color: #53676a !important;
  font-size: 14px;
  line-height: 1.55;
}
@media (min-width: 1200px) {
  .vl-single-product .vl-product-info { padding-top: 0; }
}
@media (max-width: 991.98px) {
  .vl-single-product { padding: 54px 0 60px; }
  .vl-single-product .vl-back { margin-bottom: 30px !important; }
  .vl-single-product .vl-product-info .vl-title { font-size: clamp(36px, 8vw, 52px); }
}
@media (max-width: 575.98px) {
  .vl-single-product { padding-top: 34px; }
  .vl-single-product__container { padding-right: 18px; padding-left: 18px; }
  .vl-single-product .vl-product-description { font-size: 16px; }
  .vl-single-product .vl-details { margin-bottom: 34px !important; }
}

/* Experiences archive */
.vl-experiences-page{background:#fff;color:#17202c}.vl-experiences-hero{padding:95px 24px 80px;text-align:center;background:#f8f9fa}.vl-experiences-hero span,.vl-experience-featured header span{color:#b4a234;font-size:11px;letter-spacing:.32em;text-transform:uppercase}.vl-experiences-hero h1{margin:18px 0 16px;font-size:clamp(38px,4vw,58px);font-weight:800}.vl-experiences-hero p,.vl-experience-featured header p{max-width:650px;margin:auto;color:#687078;line-height:1.6}.vl-experience-filters{display:flex;align-items:center;gap:12px;padding:22px clamp(24px,2vw,42px);border-bottom:1px solid #e8e8e8;overflow:auto}.vl-experience-filters strong{display:flex;gap:7px;white-space:nowrap;font-size:12px;text-transform:uppercase}.vl-experience-filters svg{width:14px}.vl-experience-filters a{padding:10px 24px;background:#f6f6f6;color:#687078;font-size:12px;text-decoration:none;text-transform:uppercase;white-space:nowrap}.vl-experience-filters a.is-active{background:#245522;color:#fff}.vl-experience-grid-wrap{padding:75px clamp(24px,2vw,42px) 90px}.vl-experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 30px}.vl-exp-card{border:1px solid #e1e4e3;color:inherit;text-decoration:none}.vl-exp-card__media{position:relative;aspect-ratio:1.38/1;overflow:hidden;background:#eee}.vl-exp-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.vl-exp-card:hover img{transform:scale(1.025)}.vl-exp-card__media span{position:absolute;top:14px;left:14px;padding:6px 14px;background:#fff;font-size:10px;text-transform:uppercase}.vl-exp-card__body{display:flex;justify-content:space-between;gap:20px;padding:20px 22px 26px}.vl-exp-card h2{margin:0 0 8px;font-size:17px}.vl-exp-card p{margin:0;color:#7b8287;font-size:12px;line-height:1.5}.vl-exp-card strong{font-size:12px;white-space:nowrap}.vl-experience-featured{padding:90px clamp(24px,2vw,42px) 110px;background:#f8f9fa}.vl-experience-featured header{text-align:center}.vl-experience-featured header h2{margin:14px 0;font-size:40px}.vl-experience-featured__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:65px}.vl-experience-featured__grid a{color:inherit;text-decoration:none}.vl-experience-featured__grid img{width:100%;aspect-ratio:1.25/1;object-fit:cover}.vl-experience-featured__grid h3{margin:18px 0 8px}.vl-experience-featured__grid p{color:#70787e;font-size:13px;line-height:1.6}
/* Experience single */
.vl-experience-single{min-height:100vh;padding:84px 38px 110px;background:#050505;color:#ddd}.vl-exp-gallery{display:grid;grid-template-columns:2fr 1fr;gap:14px}.vl-exp-gallery__main{height:480px}.vl-exp-gallery__rail{display:grid;grid-template-rows:repeat(3,1fr);gap:12px;height:480px}.vl-exp-gallery img{width:100%;height:100%;object-fit:cover}.vl-exp-gallery__rail img:first-child{outline:1px solid #d9b52f}.vl-exp-single-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(340px,.9fr);gap:50px;margin-top:78px}.vl-exp-location{display:flex;gap:8px;color:#85858a}.vl-exp-location svg{width:15px}.vl-exp-content h1{margin:8px 0;font-size:52px;color:#fff}.vl-exp-rating{color:#aaa}.vl-exp-rating span{color:#dbb62c;letter-spacing:2px}.vl-exp-lead{margin:20px 0 40px;color:#a7a7ad;font-size:16px;line-height:1.7}.vl-exp-content section{margin-top:38px}.vl-exp-content h2{color:#fff;font-size:21px}.vl-exp-content section p{color:#a7a7ad;line-height:1.75}.vl-exp-amenities{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:0;list-style:none}.vl-exp-amenities li{display:flex;gap:10px;color:#bbb}.vl-exp-amenities svg{width:17px;color:#d9b52f}.vl-exp-impact{margin-top:42px;padding:28px;border:1px solid #1e2615;background:#080d04}.vl-exp-impact h2{color:#d9b52f}.vl-exp-impact p{color:#aaa}.vl-exp-itinerary{padding:0;list-style:none}.vl-exp-itinerary li{display:grid;gap:4px;margin:14px 0;padding-left:20px;border-left:2px solid #d9b52f}.vl-exp-itinerary strong{color:#d9b52f;font-size:12px}.vl-exp-booking{position:sticky;top:120px;padding:28px;border:1px solid #292929;background:#0b0b0b}.vl-exp-booking h2{color:#d9b52f;font-size:28px}.vl-exp-booking h2 small{color:#aaa;font-size:12px;font-weight:400}.vl-exp-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px}.vl-exp-booking label{display:grid;gap:7px;margin:16px 0;color:#aaa;font-size:11px;text-transform:uppercase}.vl-exp-booking input{height:44px;padding:0 12px;border:1px solid #333;background:#050505;color:#ddd}.vl-exp-total{display:grid;gap:15px;margin:22px 0;padding-top:18px;border-top:1px solid #282828}.vl-exp-total span,.vl-exp-total strong{display:flex;justify-content:space-between}.vl-exp-total strong{padding-top:12px;border-top:1px solid #282828;color:#fff}.vl-exp-total strong b{color:#d9b52f}.vl-exp-booking>a{display:flex;align-items:center;justify-content:center;min-height:48px;background:#d9b52f;color:#111;text-decoration:none;text-transform:uppercase;letter-spacing:.18em}.vl-exp-booking>small{display:block;margin-top:16px;text-align:center;color:#777}
@media(max-width:991.98px){.vl-experience-grid,.vl-experience-featured__grid{grid-template-columns:repeat(2,1fr)}.vl-exp-single-layout{grid-template-columns:1fr}.vl-exp-booking{position:static}.vl-exp-gallery__main,.vl-exp-gallery__rail{height:360px}}@media(max-width:575.98px){.vl-experience-grid,.vl-experience-featured__grid{grid-template-columns:1fr}.vl-experience-filters{align-items:stretch}.vl-exp-gallery{grid-template-columns:1fr}.vl-exp-gallery__rail{grid-template-columns:repeat(3,1fr);grid-template-rows:1fr;height:110px}.vl-experience-single{padding:30px 18px 70px}.vl-exp-content h1{font-size:38px}.vl-exp-amenities{grid-template-columns:1fr 1fr}.vl-exp-dates{grid-template-columns:1fr}}

/* Hide non-browser scrollbars while keeping native page scrolling */
.vl-side-cart__items,
.vl-summary__items,
.modal .modal-body,
.select-category .select-options,
.overflow-y-auto {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.vl-side-cart__items::-webkit-scrollbar,
.vl-summary__items::-webkit-scrollbar,
.modal .modal-body::-webkit-scrollbar,
.select-category .select-options::-webkit-scrollbar,
.overflow-y-auto::-webkit-scrollbar {
  display: none;
  height: 0;
  width: 0;
}

/* Hide Google Translate injected header/banner */
.skiptranslate,
.goog-te-banner-frame,
.goog-te-banner-frame.skiptranslate,
.goog-te-gadget,
.goog-te-balloon-frame,
#goog-gt-tt,
#volcano-google-translate {
  display: none !important;
  height: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
  width: 0 !important;
}

body {
  top: 0 !important;
}

/* Keep only the browser/document scrollbar */
html {
  height: auto !important;
  min-height: 100%;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

body:not(.vl-side-cart-open),
body:not(.modal-open) {
  height: auto !important;
  min-height: 100%;
}

body:not(.vl-side-cart-open):not(.modal-open) {
  overflow-x: hidden !important;
  overflow-y: visible !important;
}

#page,
.site,
.vl-main {
  height: auto !important;
  min-height: 0;
  overflow-y: visible !important;
}

iframe.skiptranslate {
  display: none !important;
}

/* Video lightbox modal */
body.vl-video-modal-open {
  overflow: hidden !important;
}

.vl-video-modal {
  align-items: center;
  display: flex;
  inset: 0;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  transition: opacity 0.2s ease;
  visibility: hidden;
  z-index: 10050;
}

.vl-video-modal.is-open {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
}

.vl-video-modal__backdrop {
  background: rgba(0, 0, 0, 0.78);
  inset: 0;
  position: absolute;
}

.vl-video-modal__dialog {
  aspect-ratio: 16 / 9;
  background: #000;
  border-radius: 14px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.35);
  max-width: min(980px, calc(100vw - 32px));
  position: relative;
  width: 100%;
  z-index: 1;
}

.vl-video-modal__close {
  align-items: center;
  background: #fff;
  border: 0;
  border-radius: 50%;
  color: #06452b;
  display: flex;
  font-size: 28px;
  height: 42px;
  justify-content: center;
  line-height: 1;
  position: absolute;
  right: -14px;
  top: -14px;
  width: 42px;
  z-index: 2;
}

.vl-video-modal__frame,
.vl-video-modal__frame iframe,
.vl-video-modal__frame video {
  border: 0;
  border-radius: 14px;
  height: 100%;
  width: 100%;
}

/* 404 page */
.vl-error-page {
  background: linear-gradient(180deg, #f3fbfc 0%, #e8f6f5 100%);
}

.vl-error-shell {
  align-items: center;
  display: flex;
  justify-content: center;
  min-height: clamp(520px, 72vh, 760px);
  padding: 80px 16px;
}

.vl-error-card {
  margin: 0 auto;
  max-width: 760px;
  text-align: center;
}

.vl-error-kicker {
  color: #06452b;
  display: inline-block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  margin-bottom: 8px;
  text-transform: uppercase;
}
.vl-error-card h1 {
    color: #06452b;
    font-family: var(--heading-font-family);
    font-size: 15rem;
    font-weight: 600;
    line-height: 0.82;
    margin: 0 0 28px;
}
.vl-error-card h2 {
  color: #06452b;
  font-size: clamp(20px, 3vw, 32px);
  font-weight: 800;
  letter-spacing: 0.02em;
  margin-bottom: 16px;
  text-transform: uppercase;
}

.vl-error-card p {
  color: #4a5565;
  font-size: 16px;
  line-height: 1.7;
  margin: 0 auto 28px;
  max-width: 560px;
}

.vl-error-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
}

.vl-error-btn {
  align-items: center;
  background: #f8b715;
  border-radius: 999px;
  box-shadow: 0 12px 24px rgba(248, 183, 21, 0.24);
  color: #06452b;
  display: inline-flex;
  font-size: 14px;
  font-weight: 800;
  gap: 8px;
  padding: 13px 24px;
  text-decoration: none;
}

.vl-error-btn:hover {
  background: #e6a508;
  color: #06452b;
}

.vl-error-btn .feather {
  height: 16px;
  width: 16px;
}

.vl-error-link {
  color: #06452b;
  font-weight: 700;
  text-decoration: none;
}

.vl-error-link:hover {
  color: #3ea3a0;
}

/* Screenshot-matched WooCommerce checkout */
body.woocommerce-checkout {
  background: #d6f2f2 !important;
}

body.woocommerce-checkout .vl-checkout-page {
  background: #d6f2f2;
  color: #004225;
  min-height: 100vh;
  padding: 42px 16px 88px;
}

body.woocommerce-checkout .vl-checkout-shell {
  margin: 0 auto;
  max-width: 1040px;
}

body.woocommerce-checkout .vl-checkout-back {
  color: #263f43;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: 24px;
}

body.woocommerce-checkout .vl-checkout-title-row {
  gap: 14px;
}

body.woocommerce-checkout .vl-checkout-title-row h1 {
  color: #00562f;
  font-size: clamp(46px, 5.2vw, 64px);
  font-weight: 800;
  letter-spacing: -0.04em;
}

body.woocommerce-checkout .vl-checkout-bag .feather {
  color: #f2bd22;
  height: 36px;
  stroke-width: 1.9;
  width: 36px;
}

body.woocommerce-checkout .vl-checkout-heading {
  margin-bottom: 50px;
}

body.woocommerce-checkout .vl-checkout-heading p {
  color: #174b47;
  font-size: 17px;
  margin-top: 16px;
}

body.woocommerce-checkout .vl-checkout-grid {
  align-items: start;
  display: grid;
  gap: 50px;
  grid-template-columns: minmax(0, 690px) 320px;
}

body.woocommerce-checkout .vl-checkout-main {
  gap: 32px;
}

body.woocommerce-checkout .vl-checkout-card {
  background: #fff;
  border: 1px solid rgba(0, 66, 37, 0.06);
  border-radius: 8px;
  box-shadow: none;
  padding: 32px 32px 34px;
}

body.woocommerce-checkout .vl-checkout-section-title {
  gap: 12px;
  margin-bottom: 28px;
}

body.woocommerce-checkout .vl-checkout-section-title h2 {
  color: #004225;
  font-size: 22px;
  font-weight: 800;
}

body.woocommerce-checkout .vl-checkout-section-title .feather {
  color: #f2bd22;
  height: 20px;
  width: 20px;
}

body.woocommerce-checkout .vl-checkout-card--payment .vl-checkout-section-title .feather {
  color: #267f83;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
  column-gap: 24px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  row-gap: 24px;
}

body.woocommerce-checkout #billing_company_field,
body.woocommerce-checkout #billing_address_2_field,
body.woocommerce-checkout .woocommerce-additional-fields,
body.woocommerce-checkout .woocommerce-shipping-fields {
  display: none !important;
}

body.woocommerce-checkout #billing_address_1_field {
  grid-column: 1 / -1;
}

body.woocommerce-checkout #billing_city_field,
body.woocommerce-checkout #billing_country_field,
body.woocommerce-checkout #billing_state_field,
body.woocommerce-checkout #billing_postcode_field {
  grid-column: span 1;
}

body.woocommerce-checkout #billing_state_field,
body.woocommerce-checkout #billing_postcode_field {
  display: block !important;
}

/* Remaining inventory and booking capacity. */
.vl-remaining-count {
  align-items: center;
  color: #237b55;
  display: flex;
  font-size: 13px;
  font-weight: 700;
  gap: 7px;
  line-height: 1.3;
  margin: 9px 0 0;
}

.vl-remaining-count > span {
  background: #35a36c;
  border-radius: 50%;
  flex: 0 0 8px;
  height: 8px;
  width: 8px;
}

.vl-remaining-count.is-low {
  color: #b56808;
}

.vl-remaining-count.is-low > span {
  background: #e69a22;
}

.vl-remaining-count.is-empty {
  color: #b42318;
}

.vl-remaining-count.is-empty > span {
  background: #d92d20;
}

.vl-product__purchase .vl-remaining-count {
  flex-basis: 100%;
  text-align: left;
}

.vl-shop-product__body > .vl-remaining-count {
  justify-content: flex-end;
}

.vl-book-action,
.vl-experience__booking-action {
  align-items: flex-end;
  display: flex;
  flex-direction: column;
}

.vl-book-action .vl-remaining-count,
.vl-experience__booking-action .vl-remaining-count {
  justify-content: flex-end;
  text-align: right;
}

.vl-book-button.is-disabled,
.vl-btn-pill.is-disabled,
.vl-catalog-card__action.is-disabled,
.vl-shop-product__btn.is-disabled,
.vl-product-card__btn.is-disabled {
  cursor: not-allowed;
  opacity: 0.58;
  pointer-events: none;
}

.vl-exp-booking__disabled {
  align-items: center;
  background: #383838;
  color: #aaa;
  cursor: not-allowed;
  display: flex;
  justify-content: center;
  letter-spacing: 0.18em;
  min-height: 48px;
  text-transform: uppercase;
}

.vl-exp-booking > .vl-remaining-count {
  justify-content: center;
}

/* Product detail: editorial gallery, reviews, and related items. */
.vl-single-product { background: #f8fbfa; padding: 0 0 76px; }
.vl-product-breadcrumb { background: #f1f6f4; border-bottom: 1px solid rgba(5,77,38,.06); padding: 18px 0; }
.vl-product-breadcrumb .woocommerce-breadcrumb { color: #6d7b78; font-size: 12px; margin: 0; }
.vl-product-breadcrumb .woocommerce-breadcrumb a { color: #174e39; font-weight: 700; text-decoration: none; }
.vl-product-breadcrumb__sep { color: #a6b2ae; display: inline-block; margin: 0 12px; }
.vl-single-product .vl-back { color: #245d4b; margin: 34px 0 30px !important; }
.vl-single-product__layout { --bs-gutter-x: clamp(36px, 5vw, 94px); --bs-gutter-y: 42px; }
.vl-product-gallery__main { align-items: center; aspect-ratio: 1 / .86; background: #fff; display: flex; justify-content: center; overflow: hidden; position: relative; }
.vl-product-gallery__main > img { height: 100%; object-fit: contain; padding: clamp(20px, 3vw, 48px); transition: opacity .2s ease; width: 100%; }
.vl-product-gallery__sale { background: #89ad40; border-radius: 50%; color: #fff; font-size: 11px; font-weight: 800; height: 52px; left: 18px; line-height: 52px; position: absolute; text-align: center; text-transform: uppercase; top: 18px; width: 52px; z-index: 1; }
.vl-product-gallery__thumbs { display: flex; gap: 10px; margin-top: 14px; overflow-x: auto; padding-bottom: 2px; }
.vl-product-gallery__thumb { align-items: center; background: #fff; border: 1px solid #e3ebe7; display: flex; flex: 0 0 82px; height: 82px; justify-content: center; padding: 7px; transition: border-color .2s, box-shadow .2s; }
.vl-product-gallery__thumb img { height: 100%; object-fit: contain; width: 100%; }
.vl-product-gallery__thumb:hover, .vl-product-gallery__thumb.is-active { border-color: #3ea3a0; box-shadow: inset 0 0 0 1px #3ea3a0; }
.vl-single-product .vl-product-info { max-width: 590px; padding-top: 10px; }
.vl-single-product .vl-product-info .vl-meta { color: #779340; font-size: 11px; letter-spacing: .22em; margin: 0 0 13px !important; }
.vl-single-product .vl-product-info .vl-title { color: #054d26; font-size: clamp(34px, 3.2vw, 53px); letter-spacing: -.035em; line-height: 1.06; margin: 0 0 18px !important; }
.vl-product-info__price { align-items: baseline; display: flex; gap: 12px; margin-bottom: 18px; }
.vl-single-product .vl-product-info .vl-price { color: #d79b04; font-size: 28px; line-height: 1; }
.vl-product-info__stock { align-items: center; color: #237b55; display: flex; font-size: 12px; font-weight: 800; gap: 8px; margin-bottom: 22px; text-transform: uppercase; }
.vl-product-info__stock.vl-preorder { color: #ba7a12; }
.vl-product-info__stock.vl-preorder .vl-dot { background: #d69c27; }
.vl-single-product .vl-product-description { color: #4d5d5b; font-size: 16px; line-height: 1.7; margin: 0 0 26px; }
.vl-product-description p { margin-bottom: 0; }
.vl-product-details { border-top: 1px solid #dfe9e4; margin-bottom: 27px; padding-top: 21px; }
.vl-single-product .vl-product-details__title { color: #174e39; font-size: 11px; letter-spacing: .13em; margin-bottom: 8px; }
.vl-single-product .vl-details { margin: 0 !important; }
.vl-single-product .vl-details li { align-items: flex-start; color: #687774; display: flex; font-size: 13px; gap: 8px; padding: 4px 0; }
.vl-single-product .vl-details .feather { color: #779d39; height: 15px; margin-top: 2px; width: 15px; }
.vl-product-actions { align-items: stretch; display: flex; gap: 12px; margin-top: 10px; }
.vl-single-product .vl-qty { background: #fff; border: 1px solid #dce6e1; border-radius: 0; gap: 0; overflow: hidden; }
.vl-single-product .vl-qty__btn { background: #fff; border: 0; color: #174e39; height: 50px; width: 39px; }
.vl-single-product .vl-qty__input { background: #fff; color: #174e39; height: 50px; width: 38px; }
.vl-single-product .vl-cta { align-items: center; background: #054d26 !important; border-radius: 0 !important; box-shadow: none; display: inline-flex; font-size: 12px; gap: 9px; justify-content: center; margin: 0 !important; min-height: 50px; padding: 10px 27px; }
.vl-single-product .vl-cta:hover { background: #3ea3a0 !important; }
.vl-single-product .vl-cta .feather { height: 16px; width: 16px; }
.vl-single-product .vl-product-info > .vl-remaining-count { margin: 10px 0 0; }
.vl-single-product .vl-cta-outline { border: 0; border-bottom: 1px solid #3ea3a0; border-radius: 0; color: #176e67; display: inline-block; font-size: 11px; font-weight: 800; letter-spacing: .11em; margin: 19px 0 0; min-height: 0; padding: 0 0 4px; text-decoration: none; }
.vl-single-product .vl-impact-card { background: #eef6e8; border: 0; border-left: 3px solid #91ad4a; border-radius: 0; margin-top: 28px; padding: 18px 20px; }
.vl-single-product .vl-impact-card p { color: #5e7069 !important; font-size: 13px; line-height: 1.6; margin: 5px 0 0; }
.vl-product-reviews { background: #fff; border: 1px solid #e0eae5; margin-top: 78px; padding: clamp(25px, 4vw, 54px); }
.vl-product-reviews #reviews { margin: 0; }
.vl-product-reviews #reviews #comments { float: none; width: 100%; }
.vl-product-reviews #reviews #reply-title { color: #054d26; display: block; font-size: 23px; font-weight: 700; margin-bottom: 17px; }
.vl-product-reviews #reviews .woocommerce-Reviews-title { color: #054d26; font-size: 24px; font-weight: 700; margin-bottom: 20px; }
.vl-product-reviews .commentlist { list-style: none; margin: 0 0 24px; padding: 0; }
.vl-product-reviews .comment_container { border-bottom: 1px solid #e7eeeb; padding: 18px 0; }
.vl-product-reviews .comment-text { margin-left: 0 !important; }
.vl-product-reviews .star-rating { color: #d79b04; }
.vl-product-reviews .comment-form { background: #f5f8f6; margin-top: 22px; padding: clamp(20px, 3vw, 34px); }
.vl-product-reviews .comment-form p { margin-bottom: 16px; }
.vl-product-reviews .comment-form label { color: #355248; display: block; font-size: 12px; font-weight: 700; margin-bottom: 7px; }
.vl-product-reviews .comment-form input[type="text"], .vl-product-reviews .comment-form input[type="email"], .vl-product-reviews .comment-form textarea { background: #fff; border: 1px solid #dbe6e0; border-radius: 0; box-shadow: none; padding: 11px 12px; width: 100%; }
.vl-product-reviews .comment-form textarea { min-height: 130px; }
.vl-product-reviews .comment-form .submit { background: #054d26; border: 0; color: #fff; font-size: 12px; font-weight: 800; padding: 12px 25px; text-transform: uppercase; }
.vl-product-reviews .comment-form .stars a { color: #d79b04; }
.vl-related-products { background: #eef5f2; margin-top: 76px; padding: 62px 0 80px; }
.vl-related-products h2 { color: #054d26; font-size: 29px; margin: 0 0 29px; }
.vl-related-products .vl-product { background: #fff; border: 1px solid #e2eae6 !important; border-radius: 0; box-shadow: none; }
.vl-related-products .vl-product__img { background: #fff; height: 215px; }
.vl-related-products .vl-product__img img { object-fit: contain; padding: 18px; }
.vl-related-products .card-body { padding: 17px 18px 19px; }
.vl-related-products .vl-product h3 a { color: #054d26 !important; }
.vl-related-products .vl-product-card__usd { color: #d79b04; }
@media (max-width: 991.98px) { .vl-single-product .vl-product-info { max-width: none; padding-top: 0; } .vl-product-reviews { margin-top: 56px; } }
@media (max-width: 575.98px) { .vl-product-breadcrumb { padding: 13px 0; } .vl-single-product .vl-back { margin: 23px 0 22px !important; } .vl-product-gallery__thumb { flex-basis: 66px; height: 66px; } .vl-product-actions { flex-wrap: wrap; } .vl-single-product .vl-cta { flex: 1; } .vl-product-reviews { margin-top: 42px; } .vl-related-products { margin-top: 48px; padding: 45px 0 55px; } }

body.woocommerce-checkout #billing_state_field.hidden,
body.woocommerce-checkout #shipping_state_field.hidden,
body.woocommerce-checkout #billing_postcode_field.hidden,
body.woocommerce-checkout #shipping_postcode_field.hidden,
body.woocommerce-checkout #billing_state_field[style],
body.woocommerce-checkout #shipping_state_field[style],
body.woocommerce-checkout #billing_postcode_field[style],
body.woocommerce-checkout #shipping_postcode_field[style] {
  display: block !important;
}

body.woocommerce-checkout #billing_state_field .woocommerce-input-wrapper,
body.woocommerce-checkout #shipping_state_field .woocommerce-input-wrapper,
body.woocommerce-checkout #billing_state_field input,
body.woocommerce-checkout #shipping_state_field input,
body.woocommerce-checkout #billing_state_field select,
body.woocommerce-checkout #shipping_state_field select {
  display: block !important;
  width: 100% !important;
}

body.woocommerce-checkout .vl-checkout-page label {
  color: #3f4b50;
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.2;
  margin-bottom: 8px;
  text-transform: uppercase;
}

body.woocommerce-checkout .vl-checkout-page input.input-text,
body.woocommerce-checkout .vl-checkout-page select,
body.woocommerce-checkout .vl-checkout-page textarea,
body.woocommerce-checkout .vl-checkout-page .select2-container .select2-selection--single {
  background: #fbfaf6;
  border: 1px solid #dfe6df;
  border-radius: 8px;
  box-shadow: none;
  color: #06452b;
  min-height: 52px;
  padding: 12px 16px;
}

body.woocommerce-checkout .vl-checkout-page .select2-container .select2-selection--single {
  height: 52px;
}

body.woocommerce-checkout .vl-checkout-page .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #06452b;
  line-height: 28px;
}

body.woocommerce-checkout .vl-checkout-card--payment {
  padding-bottom: 30px;
}

body.woocommerce-checkout .vl-checkout-page #payment ul.payment_methods::before {
  color: #004225;
  content: "Select Payment Method";
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.28em;
  margin: 0 0 18px;
  text-transform: uppercase;
}

body.woocommerce-checkout .vl-checkout-page #payment ul.payment_methods li {
  background: #fff;
  border: 1px solid #dadfda;
  border-radius: 8px;
  margin-bottom: 16px;
  min-height: 92px;
  padding: 22px 26px;
}

body.woocommerce-checkout .vl-checkout-page #payment ul.payment_methods li label {
  color: #004225;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0;
  margin-bottom: 2px;
  text-transform: none;
}

body.woocommerce-checkout .vl-checkout-page #payment div.payment_box {
  background: transparent;
  color: #3f4b50;
  font-size: 13px;
  margin: 2px 0 0 38px;
  padding: 0;
}

body.woocommerce-checkout .vl-checkout-page #payment div.payment_box::before {
  display: none;
}

body.woocommerce-checkout .vl-checkout-page #payment .woocommerce-terms-and-conditions-wrapper {
  background: #fbfcf1;
  border: 1px solid #dbe3b7;
  border-radius: 8px;
  color: #004225;
  font-size: 13px;
  margin: 24px 0;
  padding: 12px 16px;
}

body.woocommerce-checkout .vl-checkout-page #place_order {
  background: #ffd974;
  border-radius: 8px;
  box-shadow: 0 10px 16px rgba(222, 171, 54, 0.22);
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.18em;
  min-height: 54px;
}

body.woocommerce-checkout .vl-order-summary {
  padding: 28px 30px;
}

body.woocommerce-checkout .vl-summary-item {
  gap: 16px;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  padding-bottom: 20px;
}

body.woocommerce-checkout .vl-summary-thumb,
body.woocommerce-checkout .vl-summary-thumb img {
  border-radius: 2px;
  height: 64px;
  width: 64px;
}

body.woocommerce-checkout .vl-summary-name {
  color: #004225;
  font-size: 15px;
  font-weight: 500;
}

body.woocommerce-checkout .vl-summary-price {
  color: #004225;
  font-size: 15px;
  font-weight: 500;
}

body.woocommerce-checkout .vl-summary-row {
  color: #5f666a;
  font-size: 15px;
}

body.woocommerce-checkout .vl-summary-total {
  color: #004225;
  font-size: 20px;
  font-weight: 800;
}

body.woocommerce-checkout .vl-summary-total .woocommerce-Price-amount,
body.woocommerce-checkout .vl-summary-total strong {
  color: #f2bd22;
}

body.woocommerce-checkout .vl-summary-impact {
  color: #6f7476;
  font-size: 13px;
  line-height: 1.55;
}

body.woocommerce-checkout .vl-checkout-terms-note {
  color: #6f7476;
  font-size: 12px;
  margin-top: 8px;
}

@media (max-width: 991.98px) {
  body.woocommerce-checkout .vl-checkout-grid {
    grid-template-columns: 1fr;
  }

  body.woocommerce-checkout .vl-checkout-sidebar {
    order: -1;
    position: static;
  }
}

@media (max-width: 575.98px) {
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
    grid-template-columns: 1fr;
  }

  body.woocommerce-checkout #billing_city_field,
  body.woocommerce-checkout #billing_country_field,
  body.woocommerce-checkout #billing_state_field,
  body.woocommerce-checkout #billing_postcode_field {
    grid-column: 1 / -1;
  }
}

/* Checkout field width fix */
body.woocommerce-checkout .vl-checkout-page .form-row,
body.woocommerce-checkout .vl-checkout-page .woocommerce-input-wrapper,
body.woocommerce-checkout .vl-checkout-page .select2-container,
body.woocommerce-checkout .vl-checkout-page .select2,
body.woocommerce-checkout .vl-checkout-page span.select2-selection,
body.woocommerce-checkout .vl-checkout-page input.input-text,
body.woocommerce-checkout .vl-checkout-page select,
body.woocommerce-checkout .vl-checkout-page textarea {
  box-sizing: border-box !important;
  max-width: 100% !important;
  width: 100% !important;
}

body.woocommerce-checkout .vl-checkout-page .form-row-first,
body.woocommerce-checkout .vl-checkout-page .form-row-last {
  clear: none !important;
  float: none !important;
}

body.woocommerce-checkout .vl-checkout-page .woocommerce-billing-fields__field-wrapper::before,
body.woocommerce-checkout .vl-checkout-page .woocommerce-billing-fields__field-wrapper::after {
  content: none !important;
  display: none !important;
}

/* Screenshot-matched WooCommerce order confirmation */
body.woocommerce-order-received {
  background: #d6f2f2 !important;
}

body.woocommerce-order-received .vl-confirmation-page {
  background: #d6f2f2;
  color: #004225;
  min-height: 100vh;
  padding: 52px 20px 84px;
}

.vl-confirmation-shell {
  margin: 0 auto;
  max-width: 800px;
}

.vl-confirmation-hero {
  margin: 0 auto 48px;
  max-width: 720px;
  text-align: center;
}

.vl-confirmation-check {
  align-items: center;
  border: 1px solid #9dbb2f;
  color: #9dbb2f;
  display: inline-flex;
  height: 72px;
  justify-content: center;
  margin-bottom: 22px;
  width: 72px;
}

.vl-confirmation-check .feather {
  height: 48px;
  stroke-width: 1.8;
  width: 48px;
}

.vl-confirmation-hero h1 {
  color: #00562f;
  font-size: clamp(44px, 5.2vw, 64px);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.05;
  margin: 0 0 18px;
}

.vl-confirmation-hero p {
  color: #174b47;
  font-size: 17px;
  line-height: 1.55;
  margin: 0 auto;
  max-width: 680px;
}

.vl-confirmation-card {
  background: #fff;
  border: 1px solid rgba(0, 66, 37, 0.06);
  border-radius: 8px;
  box-shadow: none;
  padding: 44px 48px;
}

.vl-confirmation-number {
  border-bottom: 1px solid #e7ebe8;
  padding-bottom: 26px;
}

.vl-confirmation-number span {
  color: #7a8584;
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.09em;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.vl-confirmation-number strong {
  color: #00562f;
  font-family: monospace;
  font-size: 20px;
  letter-spacing: 0.02em;
}

.vl-confirmation-section {
  border-bottom: 1px solid #e7ebe8;
  padding: 30px 0;
}

.vl-confirmation-section h2 {
  color: #004225;
  font-size: 21px;
  font-weight: 800;
  margin: 0 0 20px;
}

.vl-confirmation-items {
  display: grid;
}

.vl-confirmation-item {
  align-items: start;
  border-bottom: 1px solid #e7ebe8;
  display: grid;
  gap: 16px;
  grid-template-columns: 80px minmax(0, 1fr) auto;
  padding: 16px 0;
}

.vl-confirmation-item:first-child {
  padding-top: 0;
}

.vl-confirmation-item:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.vl-confirmation-item__image,
.vl-confirmation-item__image img {
  height: 80px;
  object-fit: cover;
  width: 80px;
}

.vl-confirmation-item__copy h3 {
  color: #1a5d4a;
  font-size: 17px;
  font-weight: 500;
  margin: 1px 0 5px;
}

.vl-confirmation-item__copy p,
.vl-confirmation-item__copy span,
.vl-confirmation-item__copy .wc-item-meta {
  color: #727b7d;
  font-size: 13px;
  line-height: 1.45;
  margin: 0 0 4px;
}

.vl-confirmation-item__copy .wc-item-meta {
  list-style: none;
  padding: 0;
}

.vl-confirmation-item__total {
  color: #00562f;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
}

.vl-confirmation-shipping h2 {
  align-items: center;
  display: flex;
  gap: 9px;
}

.vl-confirmation-shipping h2 .feather {
  color: #9dbb2f;
  height: 19px;
  width: 19px;
}

.vl-confirmation-shipping > strong {
  color: #174b47;
  display: block;
  font-size: 14px;
  margin-bottom: 4px;
}

.vl-confirmation-shipping address {
  color: #5f686a;
  font-size: 14px;
  font-style: normal;
  line-height: 1.55;
  margin: 0;
}

.vl-confirmation-summary {
  border-bottom: 0;
  padding-bottom: 18px;
}

.vl-confirmation-summary__row {
  align-items: center;
  color: #5f686a;
  display: flex;
  font-size: 14px;
  justify-content: space-between;
  padding: 7px 0;
}

.vl-confirmation-summary__row strong {
  color: #485254;
  font-weight: 500;
}

.vl-confirmation-summary__total {
  border-top: 1px solid #e7ebe8;
  color: #004225;
  font-size: 18px;
  font-weight: 800;
  margin-top: 6px;
  padding-top: 16px;
}

.vl-confirmation-summary__total strong {
  color: #99af29;
  font-size: 20px;
  font-weight: 800;
}

.vl-confirmation-receipt {
  align-items: center;
  background: #fff;
  border: 1px solid #3ea3a0;
  color: #3e8f8d;
  cursor: pointer;
  display: flex;
  font-size: 12px;
  font-weight: 600;
  gap: 9px;
  justify-content: center;
  letter-spacing: 0.2em;
  min-height: 54px;
  text-transform: uppercase;
  transition: background-color 0.2s ease, color 0.2s ease;
  width: 100%;
}
.vl-partner-form textarea {
  min-height: 92px;
  resize: vertical;
}
.vl-business-role {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.vl-business-role label {
  align-items: center;
  background: #fbf8f3;
  border: 1px solid #ebe6df;
  border-radius: 5px;
  cursor: pointer;
  display: flex;
  flex-direction: row;
  gap: 12px;
  padding: 14px;
}
.vl-business-role label:has(input:checked) {
  background: #fff8f0;
  border-color: #ef7920;
  box-shadow: 0 0 0 1px #ef7920;
}
.vl-business-role input {
  accent-color: #ef7920;
  min-height: auto;
  width: 16px;
}
.vl-business-role label span {
  align-items: flex-start;
  display: grid;
  font-size: 12px;
  font-weight: 500;
  gap: 3px;
}
.vl-business-role strong {
  color: #282b31;
  font-size: 15px;
}
.vl-business-fields {
  border: 0;
  display: grid;
  gap: 18px;
  margin: 4px 0 0;
  min-width: 0;
  padding: 26px 0 0;
  position: relative;
}
.vl-business-fields::before {
  background: #e8e2da;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
.vl-business-fields legend {
  color: #282b31;
  float: none;
  font-size: 20px;
  font-weight: 800;
  margin: 0 0 4px;
  width: auto;
}
.vl-business-fields[hidden] {
  display: none;
}

.vl-confirmation-receipt:hover,
.vl-confirmation-receipt:focus {
  background: #3ea3a0;
  color: #fff;
}

.vl-confirmation-receipt .feather {
  height: 15px;
  width: 15px;
}

.vl-confirmation-impact {
  background: rgba(198, 223, 195, 0.46);
  border: 1px solid rgba(157, 187, 47, 0.35);
  border-radius: 8px;
  margin: 34px 0;
  padding: 30px 34px;
}

.vl-confirmation-impact h2 {
  color: #fff;
  font-size: 18px;
  font-weight: 800;
  margin: 0 0 14px;
}

.vl-confirmation-impact p {
  color: #355952;
  font-size: 14px;
  line-height: 1.55;
  margin: 0;
}

.vl-confirmation-steps {
  margin-bottom: 34px;
  padding: 42px 34px;
}

.vl-confirmation-steps ol {
  display: grid;
  gap: 19px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.vl-confirmation-steps li {
  align-items: start;
  display: grid;
  gap: 16px;
  grid-template-columns: 32px minmax(0, 1fr);
}

.vl-confirmation-steps li > span {
  align-items: center;
  background: #f37816;
  color: #fff;
  display: flex;
  font-size: 13px;
  font-weight: 800;
  height: 32px;
  justify-content: center;
  width: 32px;
}

.vl-confirmation-steps strong {
  color: #175340;
  display: block;
  font-size: 15px;
  font-weight: 600;
  margin-bottom: 2px;
}

.vl-confirmation-steps p {
  color: #6e7779;
  font-size: 13px;
  line-height: 1.45;
  margin: 0;
}

.vl-confirmation-contact {
  display: grid;
  gap: 30px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 36px;
  padding: 44px 34px;
}

.vl-confirmation-contact > div {
  align-items: center;
  display: grid;
  gap: 2px 12px;
  grid-template-columns: 20px minmax(0, 1fr);
}

.vl-confirmation-contact .feather {
  color: #9dbb2f;
  grid-row: 1 / span 2;
  height: 18px;
  width: 18px;
}

.vl-confirmation-contact span {
  color: #7b8384;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.vl-confirmation-contact strong {
  color: #174b47;
  font-size: 13px;
  font-weight: 500;
  overflow-wrap: anywhere;
}

.vl-confirmation-actions {
  text-align: center;
}

.vl-confirmation-actions h2 {
  color: #fff;
  font-size: 22px;
  font-weight: 800;
  margin: 0 0 22px;
}

.vl-confirmation-actions > div {
  display: flex;
  gap: 16px;
  justify-content: center;
}

.vl-confirmation-btn {
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.58);
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  justify-content: center;
  letter-spacing: 0.16em;
  min-height: 54px;
  padding: 0 28px;
  text-decoration: none;
  text-transform: uppercase;
}

.vl-confirmation-btn--primary {
  background: #f37816;
  border-color: #f37816;
  color: #fff;
}

.vl-confirmation-btn--primary:hover,
.vl-confirmation-btn--primary:focus {
  background: #d95f05;
  border-color: #d95f05;
  color: #fff;
}

.vl-confirmation-btn--secondary {
  color: #416e69;
}

.vl-confirmation-btn--secondary:hover,
.vl-confirmation-btn--secondary:focus {
  border-color: #3ea3a0;
  color: #004225;
}

.vl-confirmation-card--empty {
  margin: 60px auto;
  max-width: 620px;
  text-align: center;
}

@media (max-width: 767.98px) {
  body.woocommerce-order-received .vl-confirmation-page {
    padding: 34px 16px 58px;
  }

  .vl-confirmation-hero {
    margin-bottom: 32px;
  }

  .vl-confirmation-hero h1 {
    font-size: 40px;
  }

  .vl-confirmation-card {
    padding: 30px 22px;
  }

  .vl-confirmation-item {
    grid-template-columns: 64px minmax(0, 1fr);
  }

  .vl-confirmation-item__image,
  .vl-confirmation-item__image img {
    height: 64px;
    width: 64px;
  }

  .vl-confirmation-item__total {
    grid-column: 2;
  }

  .vl-confirmation-contact {
    grid-template-columns: 1fr;
  }

  .vl-confirmation-actions > div {
    flex-direction: column;
  }
}

@media print {
  body.woocommerce-order-received .tf-header,
  body.woocommerce-order-received .vl-footer,
  body.woocommerce-order-received .vl-confirmation-impact,
  body.woocommerce-order-received .vl-confirmation-steps,
  body.woocommerce-order-received .vl-confirmation-contact,
  body.woocommerce-order-received .vl-confirmation-actions,
  body.woocommerce-order-received .vl-confirmation-receipt {
    display: none !important;
  }

  body.woocommerce-order-received,
  body.woocommerce-order-received .vl-confirmation-page {
    background: #fff !important;
  }

  .vl-confirmation-card {
    border: 0;
    padding: 0;
  }
}

/* Experience gallery adapts when optional gallery images are not populated. */
.vl-exp-gallery { grid-template-columns: 1fr; }
.vl-exp-gallery.has-rail { grid-template-columns: 2fr 1fr; }
.vl-exp-gallery__rail { grid-template-rows: repeat(var(--gallery-count, 3), 1fr); }
@media (max-width: 575.98px) {
  .vl-exp-gallery.has-rail { grid-template-columns: 1fr; }
  .vl-business-role { grid-template-columns: 1fr; }
}

/* Virtual Tour */
.vl-virtual-tour-main {
  background: #f8f4ef;
  color: #23282f;
  min-height: 100vh;
}
.vl-virtual-tour-shell {
  margin: 0 auto;
  max-width: 1180px;
  padding: 92px 20px 100px;
}
.vl-virtual-tour-head {
  margin-bottom: 46px;
  max-width: 760px;
}
.vl-virtual-tour-head h1 {
  color: #20242b;
  font-family: "Montserrat", sans-serif;
  font-size: 48px;
  font-weight: 800;
  line-height: 1.08;
  margin: 0 0 14px;
}
.vl-virtual-tour-head p {
  color: #667077;
  font-size: 18px;
  line-height: 1.65;
  margin: 0;
}
.vl-virtual-tour-player {
  aspect-ratio: 16 / 9;
  background: #111;
  border: 1px solid #d9d9d6;
  border-radius: 10px;
  box-shadow: 0 16px 32px rgba(31, 35, 39, 0.12);
  overflow: hidden;
  position: relative;
}
.vl-virtual-tour-player iframe,
.vl-virtual-tour-player video,
.vl-virtual-tour-player .wp-video,
.vl-virtual-tour-player .mejs-container {
  height: 100% !important;
  max-width: none !important;
  width: 100% !important;
}
.vl-virtual-tour-player iframe,
.vl-virtual-tour-player video {
  border: 0;
  display: block;
  object-fit: cover;
}
.vl-virtual-tour-player.is-empty {
  align-items: center;
  background: #20242b;
  display: flex;
  justify-content: center;
}
.vl-virtual-tour-empty {
  color: #fff;
  max-width: 520px;
  padding: 40px 24px;
  text-align: center;
}
.vl-virtual-tour-empty svg {
  color: #42adae;
  height: 58px;
  margin-bottom: 22px;
  width: 58px;
}
.vl-virtual-tour-empty h2 {
  color: #fff;
  font-size: 27px;
  font-weight: 800;
  margin: 0 0 10px;
}
.vl-virtual-tour-empty p {
  color: rgba(255, 255, 255, 0.72);
  font-size: 15px;
  line-height: 1.6;
  margin: 0;
}
.vl-virtual-tour-caption {
  color: #667077;
  font-size: 15px;
  line-height: 1.65;
  margin: 24px auto 0;
  max-width: 820px;
  text-align: center;
}
.vl-virtual-tour-player.has-media-error {
  border-color: #d9a2a2;
}
.vl-virtual-tour-error {
  background: #fff2f2;
  border: 1px solid #efcccc;
  border-radius: 8px;
  color: #8c3030;
  font-size: 14px;
  line-height: 1.55;
  margin: 16px 0 0;
  padding: 13px 16px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .vl-virtual-tour-shell {
    padding: 62px 16px 72px;
  }
  .vl-virtual-tour-head {
    margin-bottom: 30px;
  }
  .vl-virtual-tour-head h1 {
    font-size: 36px;
  }
  .vl-virtual-tour-head p {
    font-size: 16px;
  }
  .vl-virtual-tour-player {
    border-radius: 7px;
  }
}

/* Booking catalogue tabs -------------------------------------------------- */
.vl-book-main.is-directory-view .vl-book-head,
.vl-book-main.is-directory-view .vl-book-steps {
  display: none;
}
.vl-directory-panel {
  margin-top: 34px;
}
.vl-catalog-hero {
    /*background: aliceblue;*/
    padding: 0 28px 30px;
    text-align: center;
}
.vl-catalog-hero > span, .vl-featured-stays > header > span {
    color: #c39d38;
    display: block;
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 18px;
    text-transform: uppercase;
}
.vl-catalog-hero h2,
.vl-featured-stays h2 {
  color: #111827;
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 800;
  margin: 0 0 14px;
}
.vl-catalog-hero p,
.vl-featured-stays > header > p {
  color: #657079;
  line-height: 1.7;
  margin: 0 auto;
  max-width: 680px;
}
.vl-catalog-section,
.vl-tour-directory {
  /*background: #fff;
  padding: 40px 28px 62px;*/
}
.vl-catalog-grid,
.vl-featured-stays__grid,
.vl-tour-directory-grid {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.vl-catalog-card {
  background: #fff;
  border: 1px solid #e2e6e7;
  min-width: 0;
  transition: box-shadow .25s ease, transform .25s ease;
}
.vl-catalog-card:hover {
  box-shadow: 0 16px 36px rgba(15, 31, 37, .12);
  transform: translateY(-4px);
}
.vl-catalog-card__action {
  color: inherit;
  display: block;
  height: 100%;
  text-decoration: none;
}
.vl-catalog-card figure {
  height: 245px;
  margin: 0;
  overflow: hidden;
  position: relative;
}
.vl-catalog-card figure img {
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
  width: 100%;
}
.vl-catalog-card:hover figure img {
  transform: scale(1.035);
}
.vl-catalog-card figure span {
    background: rgba(255, 255, 255, .94);
    color: #172027;
    font-size: 12px;
    font-weight: 600;
    left: 12px;
    padding: 7px 10px;
    position: absolute;
    text-transform: uppercase;
    top: 12px;
    border-radius: 4px;
}
.vl-catalog-card__body {
  padding: 18px 18px 20px;
}
.vl-catalog-card__title {
  align-items: baseline;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}
.vl-catalog-card__title h3 {
  color: #172027;
  font-size: 17px;
  font-weight: 750;
  line-height: 1.3;
  margin: 0;
}
.vl-catalog-card__title strong {
    color: #4f5b61;
    flex: 0 0 auto;
    font-size: 14px;
    font-weight: 600;
}
.vl-catalog-card__body p {
    color: #788188;
    font-size: 16px;
    line-height: 1.55;
    margin: 9px 0 0;
}
.vl-catalog-card__body em {
    color: #617e54;
    display: inline-block;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    margin-top: 15px;
    text-transform: capitalize;
}
.vl-featured-stays {
  background: #f2f8fa;
  padding: 66px 28px 76px;
}
.vl-featured-stays > header {
  margin-bottom: 38px;
  text-align: center;
}
.vl-featured-stays .vl-catalog-card {
  background: transparent;
  border: 0;
}
.vl-featured-stays .vl-catalog-card figure {
  height: 300px;
}
.vl-featured-stays .vl-catalog-card__body {
  padding-left: 0;
  padding-right: 0;
}
.vl-tour-directory {
  padding-top: 36px;
}
.vl-tour-card {
  background: #fff;
  border: 1px solid #dfe4e6;
  border-radius: 10px;
  color: inherit;
  display: block;
  overflow: hidden;
  text-decoration: none;
  transition: box-shadow .25s ease, transform .25s ease;
}
.vl-tour-card:hover {
  box-shadow: 0 14px 36px rgba(15, 31, 37, .12);
  transform: translateY(-4px);
}
.vl-tour-card > img {
  display: block;
  height: 260px;
  object-fit: cover;
  width: 100%;
}
.vl-tour-card__body {
  display: block;
  padding: 24px 24px 22px;
}
.vl-tour-card__body > strong {
  color: #152028;
  display: block;
  font-size: 20px;
  line-height: 1.3;
}
.vl-tour-card__body > small {
  color: #3aa7a8;
  display: block;
  font-size: 14px;
  margin-top: 4px;
}
.vl-tour-card__body > p {
  color: #68747c;
  font-size: 14px;
  line-height: 1.55;
  margin: 18px 0;
  min-height: 44px;
}
.vl-tour-card__body > em {
  align-items: center;
  border-top: 1px solid #e5e8e9;
  color: #6d7880;
  display: flex;
  font-size: 13px;
  font-style: normal;
  gap: 8px;
  padding-top: 15px;
}
.vl-tour-card__body > em svg {
  height: 15px;
  width: 15px;
}
@media screen and (max-width: 900px) {
  .vl-catalog-grid,
  .vl-featured-stays__grid,
  .vl-tour-directory-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 600px) {
  .vl-directory-panel {
    margin-top: 22px;
  }
  .vl-catalog-hero {
    padding: 52px 20px 56px;
  }
  .vl-catalog-section,
  .vl-tour-directory,
  .vl-featured-stays {
    padding-left: 16px;
    padding-right: 16px;
  }
  .vl-catalog-grid,
  .vl-featured-stays__grid,
  .vl-tour-directory-grid {
    grid-template-columns: 1fr;
  }
  .vl-catalog-card figure,
  .vl-featured-stays .vl-catalog-card figure,
  .vl-tour-card > img {
    height: 230px;
  }
}

.vl-tour-card__media {
  background: #edf3f2;
  height: 220px;
  overflow: hidden;
}
.vl-tour-card__media img {
  display: block;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
  width: 100%;
}
.vl-tour-card:hover .vl-tour-card__media img {
  transform: scale(1.035);
}
.vl-tour-card__contacts {
  border-top: 1px solid #e5e8e9;
  display: grid;
  gap: 13px;
  list-style: none;
  margin: 18px 0 0;
  padding: 18px 0 0;
}
.vl-tour-card__contacts li {
  align-items: flex-start;
  color: #66737a;
  display: flex;
  gap: 11px;
  min-width: 0;
}
.vl-tour-card__contacts li > svg {
  color: #3aa7a8;
  flex: 0 0 17px;
  height: 17px;
  margin-top: 3px;
  width: 17px;
}
.vl-tour-card__contacts li > span {
  display: block;
  min-width: 0;
}
.vl-tour-card__contacts small {
    color: #000;
    display: block;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 2px;
    text-transform: capitalize;
}
.vl-tour-card__contacts a, .vl-tour-card__contacts em {
    color: #344249;
    display: block;
    font-size: 14px;
    font-style: normal;
    line-height: 1.45;
    overflow-wrap: anywhere;
    text-decoration: none;
}
.vl-tour-card__contacts a:hover {
  color: #198f90;
  text-decoration: underline;
}
.vl-deposit-box .vl-deposit-note {
  border-top: 1px solid rgba(57, 167, 168, .18);
  color: #607078;
  display: block;
  font-size: 12px;
  line-height: 1.5;
  margin-top: 12px;
  padding-top: 12px;
}
@media screen and (max-width: 600px) {
  .vl-tour-card__media {
    height: 210px;
  }
}

/* Search, customer account, and accommodation detail refinements ---------- */
.header-s3 .form_search-product .fieldset-search {
  padding-right: 5px;
}
.header-s3 .vl-search-submit {
  align-items: center;
  background: #2f9f91;
  border: 0;
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  flex: 0 0 34px;
  height: 34px;
  justify-content: center;
  padding: 0;
  transition: background-color .2s ease, transform .2s ease;
  width: 34px;
}
.header-s3 .vl-search-submit:hover,
.header-s3 .vl-search-submit:focus-visible {
  background: #247f75;
  outline: 3px solid rgba(47, 159, 145, .2);
  transform: translateY(-1px);
}
.header-s3 .vl-search-submit svg {
  height: 16px;
  width: 16px;
}

.vl-search-page {
  background: #f7f9f8;
  color: #172027;
  min-height: 70vh;
}
.vl-search-hero {
  background: #07323b;
  padding: clamp(58px, 8vw, 92px) 20px 64px;
  text-align: center;
}
.vl-search-hero p {
  color: #65c5b6;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .14em;
  margin: 0 0 12px;
  text-transform: uppercase;
}
.vl-search-hero h1 {
  color: #fff;
  font-size: clamp(34px, 5vw, 58px);
  line-height: 1.1;
  margin: 0 auto 12px;
  overflow-wrap: anywhere;
}
.vl-search-hero > .container > span {
  color: rgba(255, 255, 255, .72);
  display: block;
  font-size: 15px;
}
.vl-search-page__form {
  align-items: center;
  background: #fff;
  border-radius: 999px;
  box-shadow: 0 18px 45px rgba(0, 0, 0, .2);
  display: flex;
  margin: 34px auto -91px;
  max-width: 760px;
  padding: 7px;
  position: relative;
  z-index: 2;
}
.vl-search-page__form input {
  background: transparent;
  border: 0;
  color: #1f2c31;
  flex: 1;
  font: inherit;
  min-width: 0;
  padding: 13px 22px;
}
.vl-search-page__form input:focus {
  outline: 0;
}
.vl-search-page__form button {
  align-items: center;
  background: #e9792b;
  border: 0;
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: 14px;
  font-weight: 800;
  gap: 8px;
  min-height: 48px;
  padding: 12px 25px;
}
.vl-search-page__form button svg {
  height: 17px;
  width: 17px;
}
.vl-search-results {
  padding: 92px 20px 90px;
}
.vl-search-grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.vl-search-card {
  background: #fff;
  border: 1px solid #e1e7e5;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(17, 38, 43, .05);
  min-width: 0;
  overflow: hidden;
  transition: box-shadow .25s ease, transform .25s ease;
}
.vl-search-card:hover {
  box-shadow: 0 18px 42px rgba(17, 38, 43, .12);
  transform: translateY(-4px);
}
.vl-search-card__media {
  background: #eaf2f0;
  display: grid;
  height: 220px;
  overflow: hidden;
  place-items: center;
}
.vl-search-card__media img {
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
  width: 100%;
}
.vl-book-continue.is-ready:not(:disabled) {
  background: #06452b;
}
.vl-book-continue.is-ready:not(:disabled):hover {
  background: #043620;
}
.vl-search-card:hover .vl-search-card__media img {
  transform: scale(1.035);
}
.vl-search-card__media svg {
  color: #78a59d;
  height: 42px;
  width: 42px;
}
.vl-search-card__body {
  padding: 23px 22px 25px;
}
.vl-search-card__body > span {
  color: #2f9f91;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.vl-search-card h2 {
  font-size: 21px;
  line-height: 1.3;
  margin: 9px 0 10px;
}
.vl-search-card h2 a {
  color: #172027;
  text-decoration: none;
}
.vl-search-card p {
  color: #6a767b;
  font-size: 14px;
  line-height: 1.65;
  margin: 0 0 18px;
}
.vl-search-card__price {
  color: #e9792b;
  display: block;
  font-size: 17px;
  margin-bottom: 14px;
}
.vl-search-card__link {
  color: #2b8177;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}
.vl-search-results .navigation.pagination {
  margin-top: 48px;
  text-align: center;
}
.vl-search-results .nav-links {
  display: inline-flex;
  gap: 8px;
}
.vl-search-results .page-numbers {
  align-items: center;
  background: #fff;
  border: 1px solid #d9e2df;
  border-radius: 7px;
  color: #35464a;
  display: inline-flex;
  justify-content: center;
  min-height: 42px;
  min-width: 42px;
  padding: 8px 12px;
  text-decoration: none;
}
.vl-search-results .page-numbers.current {
  background: #2f9f91;
  border-color: #2f9f91;
  color: #fff;
}
.vl-search-empty {
  background: #fff;
  border: 1px solid #e0e6e4;
  border-radius: 12px;
  margin: 0 auto;
  max-width: 650px;
  padding: 64px 28px;
  text-align: center;
}
.vl-search-empty > svg {
  color: #2f9f91;
  height: 46px;
  width: 46px;
}
.vl-search-empty h2 {
  font-size: 30px;
  margin: 18px 0 8px;
}
.vl-search-empty p {
  color: #68757a;
  margin-bottom: 22px;
}
.vl-search-empty a {
  color: #2f8178;
  font-weight: 800;
}

.woocommerce-account .site-main,
.woocommerce-account .vl-main,
.vl-account-page {
  background: #f5f8f7;
  min-height: 68vh;
  padding: 70px 20px 90px;
}
body.woocommerce-account .breadcrumb-area,
body.woocommerce-account .breadcrumb-botton-area,
body.woocommerce-account .entry-footer {
  display: none;
}
body.woocommerce-account .section-cat {
  background: #f5f8f7;
  padding: 70px 20px 90px;
}
body.woocommerce-account .section-cat .container,
body.woocommerce-account .section-cat .row,
body.woocommerce-account .entry-content {
  margin: 0 auto;
  max-width: 1120px;
  padding: 0;
  width: 100%;
}
body.woocommerce-account .section-cat article {
  width: 100%;
}
.vl-account-page__head,
.woocommerce-account .entry-header {
  margin: 0 auto 36px;
  max-width: 760px;
  text-align: center;
}
.vl-account-page__head h1,
.woocommerce-account .entry-title {
  color: #102e36;
  font-size: clamp(34px, 5vw, 50px);
  margin-bottom: 12px;
}
.vl-account-page__head p {
  color: #69777c;
  line-height: 1.7;
}
.woocommerce-account .woocommerce {
  margin: 0 auto;
  max-width: 1120px;
}
.woocommerce-account .vl-account-auth {
  margin: 0 auto;
  max-width: 600px;
}
.woocommerce-account .vl-account-auth__panel > h2 {
  color: #102e36;
  font-size: 27px;
  margin: 0 0 15px;
}
.woocommerce-account .vl-account-switch {
  color: #69777c;
  margin: 20px 0 0;
  text-align: center;
}
.woocommerce-account .vl-account-switch a {
	color: #247f75;
	font-weight: 800;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Branded customer access screens. */
.vl-account-page {
	background: #fff;
	padding: 72px 20px 90px;
}
.vl-auth-shell {
	margin: 0 auto;
	max-width: 530px;
}
.woocommerce-account .vl-account-auth,
.vl-registration-choice {
	background: #fff;
	border: 1px solid #dce1e6;
	margin: 0 auto;
	max-width: 530px;
	padding: 58px 60px;
}
.vl-auth-tabs {
	display: flex;
	gap: 38px;
	justify-content: center;
	margin: 0 0 42px;
	text-transform: uppercase;
}
.vl-auth-tabs a,
.vl-auth-tabs span {
	color: #b9bfd0;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: .02em;
	text-decoration: none;
}
.vl-auth-tabs .is-active {
	color: #111827;
}
.woocommerce-account .vl-account-auth__panel > h2,
.vl-registration-choice h1 {
	color: #18212b;
	font-size: 25px;
	margin: 0 0 9px;
	text-align: center;
}
.vl-auth-intro,
.vl-registration-choice > p {
	color: #68717c;
	font-size: 14px;
	line-height: 1.65;
	margin: 0 0 28px;
	text-align: center;
}
.woocommerce-account .vl-account-auth form.woocommerce-form-login,
.woocommerce-account .vl-account-auth form.woocommerce-form-register {
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding: 0;
}
.woocommerce-account .vl-account-auth form label {
	color: #20242b;
	font-size: 13px;
	font-weight: 500;
}
.woocommerce-account .vl-account-auth form input.input-text {
	background: #fff;
	border-color: #d8dce1;
	border-radius: 0;
	min-height: 43px;
}
.woocommerce-account .vl-account-auth .button {
	background: #ed3d38;
	border: 0;
	border-radius: 0;
	color: #fff;
	display: block;
	font-size: 14px;
	font-weight: 800;
	margin: 16px 0 0;
	min-height: 43px;
	padding: 12px 18px;
	width: 100%;
}
.woocommerce-account .vl-account-auth .button:hover,
.woocommerce-account .vl-account-auth .button:focus {
	background: #d9312d;
	color: #fff;
}
.woocommerce-account .vl-account-auth .woocommerce-LostPassword {
	margin: 18px 0 0;
}
.woocommerce-account .vl-account-auth .woocommerce-LostPassword a {
	color: #ed3d38;
	font-size: 14px;
}
.woocommerce-account .vl-account-auth .woocommerce-form-login__rememberme {
	font-weight: 400;
}
.vl-registration-choice__options {
	display: grid;
	gap: 14px;
}
.vl-registration-choice__options a {
	border: 1px solid #d8dce1;
	color: #20242b;
	display: block;
	padding: 17px 18px;
	text-decoration: none;
}
.vl-registration-choice__options a:hover,
.vl-registration-choice__options a:focus {
	border-color: #ed3d38;
}
.vl-registration-choice__options strong,
.vl-registration-choice__options span {
	display: block;
}
.vl-registration-choice__options strong {
	font-size: 15px;
	margin-bottom: 4px;
}
.vl-registration-choice__options span {
	color: #68717c;
	font-size: 13px;
	line-height: 1.45;
}
@media (max-width: 575px) {
	.woocommerce-account .vl-account-auth,
	.vl-registration-choice {
		padding: 38px 24px;
	}
	.vl-auth-tabs {
		margin-bottom: 32px;
	}
}
.woocommerce-account .woocommerce-notices-wrapper:not(:empty) {
  margin-bottom: 22px;
}
.woocommerce-account .woocommerce-error,
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info {
  background: #fff;
  border: 1px solid #dce5e2;
  border-top: 4px solid #2f9f91;
  border-radius: 8px;
  color: #34464b;
  padding: 18px 22px 18px 48px;
}
.woocommerce-account .u-columns.col2-set {
  display: grid;
  gap: 28px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.woocommerce-account .u-column1,
.woocommerce-account .u-column2 {
  float: none;
  width: auto;
}
.woocommerce-account .u-column1 > h2,
.woocommerce-account .u-column2 > h2 {
  color: #102e36;
  font-size: 27px;
  margin: 0 0 15px;
}
.woocommerce-account form.woocommerce-form-login,
.woocommerce-account form.woocommerce-form-register,
.woocommerce-account form.woocommerce-EditAccountForm,
.woocommerce-account form.woocommerce-address-fields {
  background: #fff;
  border: 1px solid #dfe7e4;
  border-radius: 12px;
  box-shadow: 0 12px 30px rgba(18, 45, 51, .06);
  margin: 0;
  padding: 32px;
}
.woocommerce-account form .form-row {
  margin: 0 0 18px;
  padding: 0;
}
.woocommerce-account form label {
  color: #2a3b40;
  display: block;
  font-size: 13px;
  font-weight: 800;
  margin-bottom: 7px;
}
.woocommerce-account form input.input-text,
.woocommerce-account form select,
.woocommerce-account form textarea {
  background: #fbfcfc;
  border: 1px solid #cedbd7;
  border-radius: 7px;
  color: #17272c;
  min-height: 48px;
  padding: 11px 13px;
  width: 100%;
}
.woocommerce-account form input:focus,
.woocommerce-account form select:focus,
.woocommerce-account form textarea:focus {
  border-color: #2f9f91;
  box-shadow: 0 0 0 3px rgba(47, 159, 145, .12);
  outline: 0;
}
.woocommerce-account form .woocommerce-button,
.woocommerce-account .woocommerce-Button,
.woocommerce-account .woocommerce button.button {
  background: #2f9f91;
  border: 0;
  border-radius: 999px;
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  min-height: 46px;
  padding: 12px 25px;
}
.woocommerce-account form .woocommerce-button:hover,
.woocommerce-account .woocommerce-Button:hover,
.woocommerce-account .woocommerce button.button:hover {
  background: #247f75;
  color: #fff;
}
.woocommerce-account .woocommerce-LostPassword a,
.woocommerce-account .woocommerce-privacy-policy-text a {
  color: #247f75;
}
.woocommerce-account .woocommerce-MyAccount-navigation {
  background: #0c343c;
  border-radius: 12px;
  float: left;
  overflow: hidden;
  width: 27%;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 10px;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a {
  border-radius: 7px;
  color: rgba(255, 255, 255, .78);
  display: block;
  padding: 13px 15px;
  text-decoration: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
  background: rgba(255, 255, 255, .12);
  color: #fff;
}
.woocommerce-account .woocommerce-MyAccount-content {
  background: #fff;
  border: 1px solid #dfe7e4;
  border-radius: 12px;
  float: right;
  min-height: 330px;
  padding: 34px;
  width: 70%;
}
.woocommerce-account .woocommerce-MyAccount-content a {
  color: #247f75;
}

.vl-book-date-view.is-accommodation .vl-stay-details {
  grid-column: 1 / -1;
}
.vl-book-gallery {
  grid-column: 1 / -1;
}
.vl-book-main.is-accommodation-mode .vl-book-steps,
.vl-book-main.is-accommodation-detail .vl-book-date-panel,
.vl-book-main.is-accommodation-detail .vl-book-date-view > .vl-book-summary {
  display: none;
}
.vl-book-main.is-accommodation-detail .vl-book-date-view {
  grid-template-columns: 1fr;
}
.vl-stay-details {
  background: #fff;
  border: 1px solid #dce4e2;
  border-radius: 10px;
  box-shadow: 0 10px 28px rgba(20, 43, 48, .06);
  display: grid;
  gap: 34px;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .8fr);
  overflow: hidden;
  padding: 18px;
}
.vl-stay-back {
  grid-column: 1 / -1;
  justify-self: start;
  margin: 0;
  padding: 4px 2px;
}
.vl-stay-gallery {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: repeat(2, 190px) 102px;
  overflow: hidden;
}
.vl-stay-gallery__item {
  background: #e9eeeb;
  border: 0;
  cursor: zoom-in;
  margin: 0;
  min-width: 0;
  overflow: hidden;
  padding: 0;
  position: relative;
}
.vl-stay-gallery__item:first-child { border-radius: 10px 0 0 0; grid-column: 1 / 5; grid-row: 1 / 3; }
.vl-stay-gallery__item:nth-child(2) { border-radius: 0 10px 0 0; grid-column: 5 / 7; }
.vl-stay-gallery__item:nth-child(3) { border-radius: 0 0 10px 0; grid-column: 5 / 7; }
.vl-stay-gallery__item:nth-child(n + 4) { grid-row: 3; }
.vl-stay-gallery__item:focus-visible { outline: 3px solid #3ea3a0; outline-offset: -3px; z-index: 1; }
.vl-stay-gallery__item:hover img { transform: scale(1.045); }
.vl-stay-gallery__item img {
  display: block;
  height: 100%;
  object-fit: cover;
  transition: transform .3s ease;
  width: 100%;
}
.vl-stay-gallery__more {
  align-items: center;
  background: rgba(6, 25, 18, .58);
  color: #fff;
  display: flex;
  font-size: 16px;
  font-weight: 700;
  inset: 0;
  justify-content: center;
  position: absolute;
}
.vl-lightbox-open { overflow: hidden; }
.vl-stay-lightbox { align-items: center; background: rgba(4, 14, 11, .94); display: flex; inset: 0; justify-content: center; padding: 40px 76px; position: fixed; z-index: 10050; }
.vl-stay-lightbox[hidden] { display: none; }
.vl-stay-lightbox__image { align-items: center; display: flex; height: min(82vh, 850px); justify-content: center; margin: 0; overflow: auto; width: min(88vw, 1280px); }
.vl-stay-lightbox__image img { cursor: zoom-in; max-height: 100%; max-width: 100%; object-fit: contain; transition: max-height .25s ease, max-width .25s ease; }
.vl-stay-lightbox__image img.is-zoomed { cursor: zoom-out; max-height: none; max-width: none; }
.vl-stay-lightbox__close,
.vl-stay-lightbox__nav {
  align-items: center;
  background: #fff;
  border: 0;
  border-radius: 50%;
  box-shadow: 0 5px 18px rgba(9, 35, 27, .24);
  color: #123f2e;
  display: flex;
  height: 42px;
  justify-content: center;
  padding: 0;
  position: fixed;
  width: 42px;
  z-index: 1;
}
.vl-stay-lightbox__close { font-size: 34px; line-height: 1; right: 24px; top: 20px; }
.vl-stay-lightbox__nav { top: 50%; transform: translateY(-50%); }
.vl-stay-lightbox__nav--previous { left: 24px; }
.vl-stay-lightbox__nav--next { right: 24px; }
.vl-stay-lightbox__nav svg {
  height: 20px;
  width: 20px;
}
.vl-stay-lightbox__count { bottom: 12px; color: #fff; font-size: 14px; left: 50%; margin: 0; position: fixed; transform: translateX(-50%); }
.vl-book-testimonials,
.vl-exp-testimonials { background: #fbfaf7; color: #3d5139; grid-column: 1 / -1; margin-top: 26px; padding: 68px clamp(24px, 6vw, 88px); }
.vl-book-testimonials header,
.vl-exp-testimonials header { margin: 0 auto 48px; max-width: 620px; text-align: center; }
.vl-book-testimonials h2,
.vl-exp-testimonials h2 { color: #526900; font-size: clamp(30px, 3vw, 42px); font-weight: 500; margin: 0 0 10px; }
.vl-book-testimonials header p,
.vl-exp-testimonials header p { color: #87908b; font-size: 15px; margin: 0; }
.vl-book-testimonials__grid,
.vl-exp-testimonials__grid { display: grid; gap: 38px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.vl-book-testimonials article > div,
.vl-exp-testimonials article > div { align-items: center; display: flex; gap: 18px; justify-content: space-between; }
.vl-book-testimonials article strong,
.vl-exp-testimonials article strong { color: #3d5139; font-size: 18px; font-weight: 500; }
.vl-book-testimonials article span,
.vl-exp-testimonials article span { color: #ee9900; font-size: 21px; letter-spacing: 1px; white-space: nowrap; }
.vl-book-testimonials article p,
.vl-exp-testimonials article p { color: #7b807e; font-size: 15px; line-height: 1.6; margin: 38px 0 0; }
.vl-exp-testimonials { margin-top: 76px; }
@media (max-width: 767.98px) {
  .vl-book-testimonials,
  .vl-exp-testimonials { margin-top: 18px; padding: 48px 22px; }
  .vl-book-testimonials__grid,
  .vl-exp-testimonials__grid { gap: 30px; grid-template-columns: 1fr; }
  .vl-book-testimonials article p,
  .vl-exp-testimonials article p { margin-top: 16px; }
}
.vl-stay-details__copy {
  align-self: center;
  padding: 18px 24px 18px 0;
}
.vl-stay-details__copy > span {
  color: #2f9f91;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.vl-stay-details__copy h2 {
  color: #132b31;
  font-size: clamp(27px, 3vw, 38px);
  margin: 8px 0 11px;
}
.vl-stay-details__copy > p {
  color: #68767b;
  line-height: 1.65;
  margin: 0 0 18px;
}
.vl-stay-facts {
  border-bottom: 1px solid #e2e8e6;
  border-top: 1px solid #e2e8e6;
  display: flex;
  flex-wrap: wrap;
  gap: 14px 24px;
  margin-bottom: 18px;
  padding: 14px 0;
}
.vl-stay-facts > span {
  align-items: center;
  color: #415258;
  display: inline-flex;
  font-size: 13px;
  gap: 7px;
}
.vl-stay-facts svg {
  color: #e9792b;
  height: 17px;
  width: 17px;
}
.vl-stay-details__copy h3 {
  font-size: 15px;
  margin: 0 0 10px;
}
.vl-stay-details__copy ul {
  display: grid;
  gap: 8px 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}
.vl-stay-details__copy li {
  align-items: center;
  color: #5b696e;
  display: flex;
  font-size: 13px;
  gap: 7px;
}
.vl-stay-details__copy li svg {
  color: #2f9f91;
  height: 15px;
  flex: 0 0 15px;
  width: 15px;
}
.vl-stay-map {
  background: #fff;
  border: 1px solid #dce4e2;
  border-radius: 10px;
  box-shadow: 0 10px 28px rgba(20, 43, 48, .06);
  display: grid;
  gap: 30px;
  grid-column: 1 / -1;
  grid-template-columns: minmax(220px, .55fr) minmax(0, 1.45fr);
  padding: 18px;
}
.vl-stay-map__heading {
  align-self: center;
  padding: 24px;
}
.vl-stay-map__heading > span {
  color: #2f9f91;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.vl-stay-map__heading h2 {
  color: #132b31;
  font-size: clamp(25px, 3vw, 34px);
  margin: 8px 0 10px;
}
.vl-stay-map__heading p {
  color: #68767b;
  line-height: 1.6;
  margin: 0;
}
.vl-stay-map__frame {
  border-radius: 9px;
  min-height: 380px;
  overflow: hidden;
}
.vl-stay-map__frame iframe {
  border: 0;
  display: block;
  height: 100%;
  min-height: 380px;
  width: 100%;
}
.vl-calendar__grid button.is-available {
  background: #e8f6ed;
  border-color: #cfe9d7;
  color: #225d39;
}
.vl-calendar__grid button.is-muted,
.vl-calendar__grid button:disabled {
  background: #fbe9e7;
  border-color: #f3d3cf;
  color: #a06f68;
  opacity: 1;
}
.vl-calendar__grid button.is-selected {
  background: #123f2e;
  border-color: #123f2e;
  border-radius: 8px;
  color: #fff;
  opacity: 1;
}
.vl-calendar__grid button.is-range {
  background: #123f2e;
  border-color: #123f2e;
  border-radius: 8px;
  color: #fff;
  opacity: 1;
}
.vl-calendar__legend .is-selected {
  background: #123f2e;
  border-color: #123f2e;
  opacity: 1;
}
.vl-calendar__legend i:not(.is-selected):not(.is-unavailable) {
  background: #e8f6ed;
  border-color: #cfe9d7;
}
.vl-calendar__legend .is-unavailable {
  background: #fbe9e7;
  border-color: #f3d3cf;
}

@media screen and (max-width: 991px) {
  .vl-search-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .vl-stay-details {
    grid-template-columns: 1fr;
  }
  .vl-stay-map {
    grid-template-columns: 1fr;
  }
  .vl-stay-map__heading {
    padding: 18px 16px 0;
  }
  .vl-stay-map__frame,
  .vl-stay-map__frame iframe {
    min-height: 300px;
  }
  .vl-stay-details__copy {
    padding: 8px 16px 20px;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content {
    float: none;
    margin-bottom: 22px;
    width: 100%;
  }
}
@media screen and (max-width: 650px) {
  .vl-stay-details,
  .vl-stay-map {
    gap: 20px;
    padding: 12px;
  }
  .vl-search-page__form {
    border-radius: 12px;
    margin-bottom: -112px;
    padding: 8px;
  }
  .vl-search-page__form button {
    border-radius: 8px;
    min-width: 48px;
    padding: 12px 15px;
  }
  .vl-search-page__form button span {
    display: none;
  }
  .vl-search-results {
    padding-top: 112px;
  }
  .vl-search-grid,
  .woocommerce-account .u-columns.col2-set {
    grid-template-columns: 1fr;
  }
  .vl-search-card__media {
    height: 210px;
  }
  .woocommerce-account .site-main,
  .woocommerce-account .vl-main,
  .vl-account-page {
    padding: 48px 14px 70px;
  }
  .woocommerce-account form.woocommerce-form-login,
  .woocommerce-account form.woocommerce-form-register,
  .woocommerce-account form.woocommerce-EditAccountForm,
  .woocommerce-account form.woocommerce-address-fields,
  .woocommerce-account .woocommerce-MyAccount-content {
    padding: 24px 18px;
  }
  .vl-stay-details {
    gap: 18px;
    padding: 10px;
  }
  .vl-stay-gallery { gap: 5px; grid-template-rows: repeat(2, 125px) 70px; }
  .vl-stay-lightbox { padding: 32px 52px; }
  .vl-stay-lightbox__nav { height: 36px; width: 36px; }
  .vl-stay-lightbox__nav--previous { left: 8px; }
  .vl-stay-lightbox__nav--next { right: 8px; }
  .vl-stay-details__copy ul {
    grid-template-columns: 1fr;
  }
}

/* Country calling codes --------------------------------------------------- */
.vl-phone-input {
  align-items: stretch;
  display: flex;
  min-width: 0;
  width: 100%;
}
.vl-phone-input .vl-phone-code {
  background-color: #f4f7f6;
  border: 1px solid #cfd9d6;
  border-radius: 7px 0 0 7px;
  color: #26383d;
  flex: 0 0 112px;
  font: inherit;
  font-size: 13px;
  min-height: 48px;
  padding: 9px 28px 9px 10px;
}
.vl-phone-input input[type="tel"] {
  border-left: 0 !important;
  border-radius: 0 7px 7px 0 !important;
  flex: 1;
  min-width: 0;
}
.vl-phone-input:focus-within {
  border-radius: 7px;
  box-shadow: 0 0 0 3px rgba(47, 159, 145, .13);
}
.vl-phone-input:focus-within .vl-phone-code,
.vl-phone-input:focus-within input[type="tel"] {
  border-color: #2f9f91 !important;
  box-shadow: none !important;
  outline: 0;
}

/* Partnership call scheduling -------------------------------------------- */
.vl-corp-schedule-button {
  align-items: center;
  background: #f47a1f;
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: 14px;
  font-weight: 800;
  gap: 9px;
  margin-top: 28px;
  min-height: 49px;
  padding: 12px 25px;
  text-decoration: none;
  transition: background-color .2s ease, transform .2s ease;
}
.vl-corp-schedule-button:hover {
  background: #d9610e;
  color: #fff;
  transform: translateY(-2px);
}
.vl-corp-schedule-button svg {
  height: 17px;
  width: 17px;
}
.vl-schedule-page {
  background: #eef5f3;
  color: #193139;
  min-height: 80vh;
}
.vl-schedule-hero {
  background: #07323b;
  padding: 72px 20px 118px;
  text-align: center;
}
.vl-schedule-hero .container {
  max-width: 820px;
}
.vl-schedule-back {
  align-items: center;
  color: #83cfc3;
  display: inline-flex;
  font-size: 13px;
  font-weight: 800;
  gap: 7px;
  margin-bottom: 26px;
  text-decoration: none;
}
.vl-schedule-back:hover {
  color: #fff;
}
.vl-schedule-back svg {
  height: 16px;
  width: 16px;
}
.vl-schedule-hero h1 {
  color: #fff;
  font-size: clamp(38px, 5.5vw, 62px);
  line-height: 1.08;
  margin: 0 0 17px;
}
.vl-schedule-hero p {
  color: rgba(255, 255, 255, .74);
  font-size: 17px;
  line-height: 1.7;
  margin: 0 auto;
  max-width: 650px;
}
.vl-schedule-content {
  padding: 0 20px 96px;
}
.vl-schedule-content > .container {
  max-width: 1120px;
}
.vl-schedule-form {
  margin-top: -66px;
  position: relative;
}
.vl-schedule-layout {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 24px 60px rgba(10, 43, 50, .14);
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  overflow: hidden;
}
.vl-schedule-picker,
.vl-schedule-details {
  padding: 42px;
}
.vl-schedule-picker {
  background: #f8fbfa;
  border-right: 1px solid #dfe9e6;
}
.vl-schedule-section-head {
  align-items: flex-start;
  display: flex;
  gap: 13px;
  margin-bottom: 28px;
}
.vl-schedule-section-head > span {
  align-items: center;
  background: #2f9f91;
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  flex: 0 0 30px;
  font-size: 13px;
  font-weight: 800;
  height: 30px;
  justify-content: center;
}
.vl-schedule-section-head h2 {
  color: #173239;
  font-size: 23px;
  line-height: 1.25;
  margin: 0 0 4px;
}
.vl-schedule-section-head p {
  color: #748185;
  font-size: 13px;
  line-height: 1.5;
  margin: 0;
}
.vl-schedule-calendar {
  background: #fff;
  border: 1px solid #dce6e3;
  border-radius: 10px;
  padding: 22px 18px 20px;
}
.vl-schedule-calendar__head {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 23px;
}
.vl-schedule-calendar__head strong {
  color: #173239;
  font-size: 17px;
}
.vl-schedule-calendar__head button {
  align-items: center;
  background: #eef6f4;
  border: 0;
  border-radius: 50%;
  color: #2b655d;
  display: inline-flex;
  height: 34px;
  justify-content: center;
  padding: 0;
  width: 34px;
}
.vl-schedule-calendar__head button:disabled {
  cursor: not-allowed;
  opacity: .35;
}
.vl-schedule-calendar__head svg {
  height: 17px;
  width: 17px;
}
.vl-schedule-calendar__grid {
  display: grid;
  gap: 7px;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
.vl-schedule-calendar__weekday {
  color: #879397;
  font-size: 11px;
  font-weight: 800;
  padding-bottom: 7px;
  text-align: center;
  text-transform: uppercase;
}
.vl-schedule-calendar__grid button {
  align-items: center;
  aspect-ratio: 1;
  background: #e8f6ed;
  border: 1px solid #d0ead8;
  border-radius: 50%;
  color: #225d39;
  display: inline-flex;
  font-size: 13px;
  justify-content: center;
  justify-self: center;
  max-width: 38px;
  padding: 0;
  transition: background-color .15s ease, transform .15s ease;
  width: 100%;
}
.vl-schedule-calendar__grid button:hover:not(:disabled) {
  transform: translateY(-1px);
}
.vl-schedule-calendar__grid button:disabled {
  background: #f1f3f2;
  border-color: #e5e9e8;
  color: #b3bcba;
}
.vl-schedule-calendar__grid button.is-selected {
  background: #2f9f91;
  border-color: #2f9f91;
  box-shadow: 0 5px 12px rgba(47, 159, 145, .28);
  color: #fff;
}
.vl-schedule-selected {
  align-items: center;
  background: #e8f4f2;
  border-radius: 8px;
  color: #2f736a;
  display: flex;
  gap: 11px;
  margin-top: 18px;
  padding: 14px 16px;
}
.vl-schedule-selected > svg {
  flex: 0 0 19px;
  height: 19px;
  width: 19px;
}
.vl-schedule-selected > span {
  display: grid;
  font-size: 11px;
  gap: 2px;
  text-transform: uppercase;
}
.vl-schedule-selected strong {
  color: #244c47;
  font-size: 13px;
  text-transform: none;
}
.vl-schedule-error {
  background: #fff0ee;
  border: 1px solid #efcbc6;
  border-radius: 7px;
  color: #9a4035;
  font-size: 13px;
  margin-top: 14px;
  padding: 11px 13px;
}
.vl-schedule-times {
  display: grid;
  gap: 9px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.vl-schedule-times label {
  margin: 0;
}
.vl-schedule-times input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.vl-schedule-times label > span {
  align-items: center;
  border: 1px solid #d7e1de;
  border-radius: 7px;
  color: #536267;
  cursor: pointer;
  display: flex;
  font-size: 13px;
  font-weight: 700;
  gap: 7px;
  justify-content: center;
  min-height: 44px;
  padding: 9px;
}
.vl-schedule-times input:checked + span {
  background: #e6f5f2;
  border-color: #2f9f91;
  color: #246f66;
  box-shadow: 0 0 0 2px rgba(47, 159, 145, .1);
}
.vl-schedule-times input:focus-visible + span {
  outline: 3px solid rgba(47, 159, 145, .18);
}
.vl-schedule-times svg {
  height: 15px;
  width: 15px;
}
.vl-schedule-contact-head {
  border-top: 1px solid #e3e9e7;
  margin-top: 34px;
  padding-top: 30px;
}
.vl-schedule-fields {
  display: grid;
  gap: 17px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.vl-schedule-fields label,
.vl-schedule-agenda {
  color: #34484e;
  display: grid;
  font-size: 12px;
  font-weight: 800;
  gap: 7px;
}
.vl-schedule-fields input,
.vl-schedule-agenda textarea {
  background: #fbfcfc;
  border: 1px solid #d2ddda;
  border-radius: 7px;
  color: #1c3137;
  font: inherit;
  font-size: 14px;
  font-weight: 400;
  min-height: 47px;
  padding: 11px 12px;
  width: 100%;
}
.vl-schedule-agenda {
  margin-top: 17px;
}
.vl-schedule-agenda textarea {
  min-height: 104px;
  resize: vertical;
}
.vl-schedule-fields input:focus,
.vl-schedule-agenda textarea:focus {
  border-color: #2f9f91;
  box-shadow: 0 0 0 3px rgba(47, 159, 145, .12);
  outline: 0;
}
.vl-schedule-submit {
  align-items: center;
  background: #f47a1f;
  border: 0;
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: 14px;
  font-weight: 800;
  gap: 9px;
  justify-content: center;
  margin-top: 23px;
  min-height: 49px;
  padding: 12px 27px;
}
.vl-schedule-submit:hover {
  background: #d9610e;
}
.vl-schedule-submit svg {
  height: 17px;
  width: 17px;
}
.vl-schedule-note {
  align-items: center;
  color: #7b888c;
  display: flex;
  font-size: 11px;
  gap: 7px;
  line-height: 1.5;
  margin-top: 15px;
}
.vl-schedule-note svg {
  flex: 0 0 15px;
  height: 15px;
  width: 15px;
}
.vl-schedule-success {
  align-items: flex-start;
  background: #e7f7ed;
  border: 1px solid #bedfc9;
  border-radius: 10px;
  color: #285b38;
  display: flex;
  gap: 14px;
  margin: -66px auto 86px;
  max-width: 760px;
  padding: 20px 22px;
  position: relative;
  z-index: 3;
}
.vl-schedule-success svg {
  flex: 0 0 24px;
}
.vl-schedule-success h2 {
  color: #214d30;
  font-size: 18px;
  margin: 0 0 4px;
}
.vl-schedule-success p {
  font-size: 13px;
  margin: 0;
}
.vl-schedule-success + .vl-schedule-form {
  margin-top: 24px;
}

@media screen and (max-width: 900px) {
  .vl-schedule-layout {
    grid-template-columns: 1fr;
  }
  .vl-schedule-picker {
    border-bottom: 1px solid #dfe9e6;
    border-right: 0;
  }
}
@media screen and (max-width: 600px) {
  .vl-phone-input .vl-phone-code {
    flex-basis: 101px;
    font-size: 12px;
  }
  .vl-schedule-hero {
    padding: 54px 16px 98px;
  }
  .vl-schedule-content {
    padding-inline: 12px;
  }
  .vl-schedule-form {
    margin-top: -52px;
  }
  .vl-schedule-picker,
  .vl-schedule-details {
    padding: 28px 18px;
  }
  .vl-schedule-calendar {
    padding-inline: 10px;
  }
  .vl-schedule-calendar__grid {
    gap: 5px;
  }
  .vl-schedule-calendar__grid button {
    max-width: 34px;
  }
  .vl-schedule-times,
  .vl-schedule-fields {
    grid-template-columns: 1fr 1fr;
  }
  .vl-schedule-submit {
    width: 100%;
  }
}
@media screen and (max-width: 390px) {
  .vl-schedule-times,
  .vl-schedule-fields {
    grid-template-columns: 1fr;
  }
}

/* Pathway carousels */
.vl-pathway-carousel {
  --vl-carousel-gap: 24px;
  position: relative;
}
.vl-pathway-carousel__viewport {
  overflow: hidden;
  padding: 8px 4px 18px;
}
.vl-pathway-carousel__viewport:focus-visible {
  border-radius: 16px;
  outline: 3px solid rgba(174, 202, 38, 0.55);
  outline-offset: 4px;
}
.vl-pathway-carousel__track {
  display: flex;
  gap: var(--vl-carousel-gap);
  transition: transform 420ms cubic-bezier(0.22, 0.75, 0.25, 1);
  will-change: transform;
}
.vl-pathway-carousel__slide {
  flex: 0 0 calc((100% - (var(--vl-carousel-gap) * 2)) / 3);
  min-width: 0;
}
.vl-pathway-carousel__slide .vl-path {
  background: #fff;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.vl-pathway-carousel__slide .vl-path__body {
  display: flex;
  flex: 1;
  flex-direction: column;
}
.vl-pathway-carousel__slide .vl-path__link {
  margin-top: auto;
}
.vl-pathway-carousel__controls {
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 4;
}
.vl-pathway-carousel__button {
  align-items: center;
  background: #0f3d32;
  border: 1px solid #0f3d32;
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  height: 44px;
  justify-content: center;
  pointer-events: auto;
  position: absolute;
  top: calc(50% - 22px);
  transition: background-color 180ms ease, opacity 180ms ease, transform 180ms ease;
  width: 44px;
}
.vl-pathway-carousel__button:first-child {
  left: -22px;
}
.vl-pathway-carousel__button:last-child {
  right: -22px;
}
.vl-pathway-carousel.is-static .vl-pathway-carousel__controls {
  display: none;
}
.vl-pathway-carousel__button:hover:not(:disabled) {
  background: #aeca26;
  border-color: #aeca26;
  color: #0f3d32;
  transform: translateY(-2px);
}
.vl-pathway-carousel__button:disabled {
  cursor: not-allowed;
  opacity: 0.35;
}
.vl-pathway-carousel__button svg {
  height: 18px;
  width: 18px;
}
.vl-pathway-explorer {
  margin-top: -180px;
  padding: 0 0 120px;
  position: relative;
  z-index: 2;
}
.vl-pathway-single > .vl-pathway-services {
  margin-top: 0;
  padding-top: 96px;
}
.vl-pathway-explorer > .container {
  max-width: 1500px;
  padding-left: 28px;
  padding-right: 28px;
}
.vl-pathway-explorer__heading {
  margin: 0 auto 44px;
  text-align: center;
}
.vl-pathway-explorer__heading span {
  color: var(--vl-pathway-gold);
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 3px;
  margin-bottom: 12px;
  text-transform: uppercase;
}
.vl-pathway-explorer__heading h2 {
  color: var(--vl-pathway-ivory);
  font-size: clamp(34px, 3.4vw, 56px);
  font-weight: 300;
  margin: 0;
}
.vl-pathway-carousel--dark .vl-pathway-carousel__button {
  background: var(--vl-pathway-gold);
  border-color: var(--vl-pathway-gold);
  color: var(--vl-pathway-green);
}
.vl-pathway-single .vl-pathway-products {
  margin-top: 0;
}
.vl-pathway-service-card--no-image {
  border-top: 5px solid var(--vl-pathway-gold) !important;
}
.vl-pathway-service-card--no-image .vl-path__body {
  justify-content: center;
  min-height: 330px;
  padding: 38px 32px;
}
.vl-pathway-service-card--no-image .vl-card-title {
  font-size: 25px;
}
.vl-pathway-service-card--no-image .vl-card-desc {
  line-height: 1.75;
}

@media (max-width: 991px) {
  .vl-pathway-carousel__slide {
    flex-basis: calc((100% - var(--vl-carousel-gap)) / 2);
  }
  .vl-pathway-explorer {
    margin-top: -120px;
    padding-bottom: 90px;
  }
}
@media (max-width: 640px) {
  .vl-pathway-carousel {
    --vl-carousel-gap: 16px;
  }
  .vl-pathway-carousel__slide {
    flex-basis: 100%;
  }
  .vl-pathway-carousel__slide .vl-path__img {
    height: 250px;
  }
  .vl-pathway-carousel__button {
    height: 40px;
    top: calc(50% - 20px);
    width: 40px;
  }
  .vl-pathway-carousel__button:first-child {
    left: -8px;
  }
  .vl-pathway-carousel__button:last-child {
    right: -8px;
  }
  .vl-pathway-explorer {
    margin-top: -80px;
    padding-bottom: 72px;
  }
  .vl-pathway-explorer > .container {
    padding-left: 16px;
    padding-right: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .vl-pathway-carousel__track {
    transition: none;
  }
}

/* Booking receipt and delivery actions */
.vl-book-success {
  max-width: 760px;
}
.vl-book-success > [data-book-reference] {
  color: #163f42;
  letter-spacing: 0.08em;
}
.vl-book-success__summary {
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 28px 0 22px;
  overflow: hidden;
  text-align: left;
}
.vl-book-success__summary > div {
  background: #f3f7f7;
  display: grid;
  gap: 5px;
  padding: 16px 18px;
}
.vl-book-success__summary span {
  color: #6f7c80;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.vl-book-success__summary strong {
  color: #263438;
  font-size: 15px;
  margin: 0;
}
.vl-book-success__delivery {
  color: #53656a;
  font-size: 14px;
  margin: 0 auto 22px;
}
.vl-book-success__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}
.vl-book-success .vl-book-success__actions a {
  align-items: center;
  gap: 8px;
  justify-content: center;
  margin: 0;
}
.vl-book-success .vl-book-success__whatsapp {
  background: #1f9d55;
}
.vl-book-success .vl-book-success__home {
  background: #eef4f4;
  color: #226b6d;
}
.vl-book-success__actions svg {
  height: 17px;
  width: 17px;
}
@media (max-width: 575px) {
  .vl-book-success {
    padding: 48px 18px;
  }
  .vl-book-success__summary {
    grid-template-columns: 1fr;
  }
  .vl-book-success__actions,
  .vl-book-success .vl-book-success__actions a {
    width: 100%;
  }
}

/* Cart page -------------------------------------------------------------- */
body.woocommerce-cart { background: #f4f7f5; }
.vl-cart-page { color: #17342a; min-height: 65vh; padding: 56px 20px 90px; }
.vl-cart-shell { margin: 0 auto; max-width: 1180px; }
.vl-cart-heading {
  background: linear-gradient(130deg, var(--secondary-color), #176044);
  border-radius: 16px;
  color: #fff;
  margin-bottom: 28px;
  overflow: hidden;
  padding: 38px 44px;
  position: relative;
}
.vl-cart-heading::after {
  background: rgba(255, 255, 255, .07);
  border-radius: 50%;
  content: "";
  height: 220px;
  position: absolute;
  right: -40px;
  top: -100px;
  width: 220px;
}
.vl-cart-heading > span { color: #d7b75f; display: block; font-size: 11px; font-weight: 800; letter-spacing: .18em; margin-bottom: 7px; text-transform: uppercase; }
.vl-cart-heading h1 { color: inherit; font-size: clamp(32px, 5vw, 48px); margin: 0 0 7px; }
.vl-cart-heading p { color: rgba(255, 255, 255, .75); margin: 0; max-width: 640px; }
.vl-cart-breadcrumb { align-items: center; display: flex; font-size: 12px; font-weight: 700; gap: 9px; letter-spacing: .04em; margin: 0 0 12px; position: relative; text-transform: uppercase; z-index: 1; }
.vl-cart-breadcrumb a { color: #d7b75f; text-decoration: none; }
.vl-cart-breadcrumb a:hover { color: #fff; text-decoration: underline; }
.vl-cart-breadcrumb span { color: rgba(255, 255, 255, .72); }
.vl-cart-heading h1,
.vl-cart-heading p { position: relative; z-index: 1; }
.vl-cart-content > .woocommerce { align-items: start; display: grid; gap: 28px; grid-template-columns: minmax(0, 1fr) 350px; }
.vl-cart-content > .woocommerce > .woocommerce-notices-wrapper,
.vl-cart-content > .woocommerce > .woocommerce-error,
.vl-cart-content > .woocommerce > .woocommerce-message,
.vl-cart-content > .woocommerce > .woocommerce-info { grid-column: 1 / -1; }
.vl-cart-content .woocommerce-cart-form,
.vl-cart-content .cart-collaterals,
.vl-cart-content .cart-empty,
.vl-cart-content .return-to-shop { background: #fff; border: 1px solid #dce6e1; border-radius: 14px; box-shadow: 0 12px 34px rgba(18, 63, 46, .06); }
.vl-cart-content .woocommerce-cart-form { overflow: hidden; }
.vl-cart-content table.shop_table { border: 0; border-collapse: collapse; margin: 0; width: 100%; }
.vl-cart-content table.shop_table th { background: #f3f7f4; border: 0; color: #527066; font-size: 11px; letter-spacing: .1em; padding: 16px 18px; text-transform: uppercase; }
.vl-cart-content table.shop_table td { border-color: #e5ece8; padding: 20px 18px; vertical-align: middle; }
.vl-cart-content .product-thumbnail img { border-radius: 9px; height: 76px; object-fit: cover; width: 76px; }
.vl-cart-content .product-name a { color: #153d2e; font-weight: 750; text-decoration: none; }
.vl-cart-content .product-price,
.vl-cart-content .product-subtotal,
.vl-cart-content .amount { color: #123f2e; font-weight: 750; }
.vl-cart-content .quantity .qty { background: #fbfcfb; border: 1px solid #ccd9d3; border-radius: 7px; min-height: 42px; width: 72px; }
.vl-cart-content .product-remove a.remove { align-items: center; background: #f8e9e6; color: #a44536 !important; display: inline-flex; height: 30px; justify-content: center; line-height: 1; width: 30px; }
.vl-cart-content td.actions { background: #fbfcfb; padding: 18px !important; }
.vl-cart-content .coupon { display: flex; gap: 9px; }
.vl-cart-content .coupon .input-text { border: 1px solid #ccd9d3 !important; border-radius: 8px; min-height: 46px; padding: 10px 13px !important; width: 180px !important; }
.vl-cart-content button.button,
.vl-cart-content a.button,
.vl-cart-content .checkout-button { background: var(--secondary-color) !important; border: 0; border-radius: 8px; color: #fff !important; min-height: 46px; padding: 13px 20px; }
.vl-cart-content button.button:hover,
.vl-cart-content a.button:hover,
.vl-cart-content .checkout-button:hover { background: #0b3123 !important; }
.vl-cart-content .cart-collaterals { padding: 26px; }
.vl-cart-content .cart-collaterals .cart_totals { float: none; width: 100%; }
.vl-cart-content .cart_totals h2 { color: #173b2e; font-size: 22px; margin: 0 0 18px; }
.vl-cart-content .cart_totals table { margin-bottom: 20px; }
.vl-cart-content .cart_totals table th,
.vl-cart-content .cart_totals table td { background: transparent; border-color: #e4ebe7; padding: 15px 0; }
.vl-cart-content .cart_totals table td { text-align: right; }
.vl-cart-content .wc-proceed-to-checkout { padding: 10px 0 0; }
.vl-cart-content .wc-proceed-to-checkout .checkout-button { display: flex; justify-content: center; margin: 0; width: 100%; }
.vl-cart-content .cart-empty,
.vl-cart-content .return-to-shop { grid-column: 1 / -1; margin: 0; padding: 28px; text-align: center; }
@media (min-width: 651px) {
  .vl-cart-content .cart_totals table tbody tr { align-items: center; display: flex; justify-content: space-between; }
  .vl-cart-content .cart_totals table th,
  .vl-cart-content .cart_totals table td { display: block; width: auto; }
}
@media (max-width: 899px) {
  .vl-cart-content > .woocommerce { grid-template-columns: 1fr; }
  .vl-cart-heading { padding: 30px; }
}
@media (max-width: 650px) {
  .vl-cart-page { padding: 34px 12px 70px; }
  .vl-cart-heading { border-radius: 12px; padding: 26px 22px; }
  .vl-cart-content table.shop_table_responsive tr { border-bottom: 1px solid #e3ebe7; padding: 16px; }
  .vl-cart-content table.shop_table_responsive td { border: 0; padding: 9px 4px; }
  .vl-cart-content .product-thumbnail { display: block !important; }
  .vl-cart-content .product-thumbnail::before { display: none; }
  .vl-cart-content td.actions .coupon { display: grid; grid-template-columns: 1fr; }
  .vl-cart-content .coupon .input-text,
  .vl-cart-content td.actions .button { float: none !important; width: 100% !important; }
  .vl-cart-content .cart-collaterals { padding: 22px 18px; }
}

/* Global front-end form field borders ------------------------------------- */
body:not(.wp-admin) input:not(.vl-footer__input):not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="image"]),
body:not(.wp-admin) select,
body:not(.wp-admin) textarea,
body:not(.wp-admin) .select2-container .select2-selection--single,
body:not(.wp-admin) .select2-container .select2-selection--multiple {
  border-color: #b8bec1 !important;
  border-style: solid !important;
  border-width: 1px !important;
}

body:not(.wp-admin) .tf-header input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="image"]),
body:not(.wp-admin) .vl-search-page__form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="image"]),
body:not(.wp-admin) .vl-footer__input,
body:not(.wp-admin) .tf-header select {
  border: 0 !important;
}

/* Editable product and pathway identifiers. */
.vl-product__img { position: relative; }
.vl-product-badge { border-radius: 4px; color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .04em; padding: 6px 10px; position: absolute; text-transform: uppercase; top: 10px; z-index: 2; }
.vl-product-badge--left { background: #c71919; left: 10px; }
.vl-product-badge--right { background: #12913a; right: 10px; }
.vl-product-card__quick-button {
    margin: 10px 8px 10px 0;
    background: #449f91;
    color: #FFF;
    padding: 10px 12px;
    border-radius: 30px;
}
.vl-featured .vl-product-card__quick-button {
    margin: 10px 8px 0 0;
}
.vl-product-profit { color: #527066; font-size: 12px; line-height: 1.45; margin: 9px 0 0; }
.vl-path {
    border-top:5px solid var(--vl-pathway-border-color, #e5a22a) !important;
    overflow: hidden;
}
.vl-pathway-carousel__slide:first-child .vl-path{
  --vl-pathway-border-color: #37a1e4;
}
.vl-pathway-carousel__slide:nth-child(2) .vl-path{
  --vl-pathway-border-color: #0f3d32;
}
.vl-pathway-carousel__slide:nth-child(3) .vl-path{
  --vl-pathway-border-color: #f2b705;
}
.vl-path .vl-badge-top {
  background: var(--vl-pathway-border-color, #e5a22a);
}
.vl-path .vl-badge-top {
  bottom: 12px;
  left: auto;
  right: 12px;
  top: auto;
}
.vl-pathway-logo {
  height: auto !important;
  left: 12px;
  max-height: 64px;
  max-width: 148px;
  object-fit: contain !important;
  object-position: left top;
  position: absolute;
  top: 12px;
  width: auto !important;
  z-index: 2;
}
.vl-pathway-hero__logo {
    display: block;
    height: auto;
    margin: 0 auto 24px;
    max-height: 230px;
    max-width: min(380px, 78vw);
    object-fit: contain;
    width: auto;
}
.vl-book-excluded { margin: 12px 0; }
.vl-book-excluded .vl-book-label { color: #a54b31; display: block; font-size: 12px; margin-bottom: 6px; text-transform: uppercase; }
.vl-book-excluded .vl-book-tags span { background: #fff0eb; color: #8d412b; }
.vl-variable-product-form { margin-top: 26px; }
.vl-variable-product-form .variations { border: 0; border-collapse: separate; border-spacing: 0 12px; margin: 0 0 16px; width: 100%; }
.vl-variable-product-form .variations th,
.vl-variable-product-form .variations td { border: 0; padding: 0; vertical-align: middle; }
.vl-variable-product-form .variations th.label { color: #174e39; font-size: 13px; font-weight: 800; padding-right: 20px; width: 31%; }
.vl-variable-product-form .variations th.label label { margin: 0; }
.vl-variable-product-form .variations td.value { position: relative; }
.vl-variable-product-form .variations select { appearance: auto; background: #fff; border: 1px solid #c9d8d1 !important; border-radius: 0; color: #174e39; font-size: 15px; height: 52px; padding: 0 42px 0 15px; width: 100%; }
.vl-variable-product-form .variations select:focus { border-color: var(--primary-color) !important; box-shadow: 0 0 0 3px rgba(62, 163, 160, .16); outline: 0; }
.vl-variable-product-form .reset_variations { color: #176e67; display: inline-block; font-size: 12px; font-weight: 700; margin-top: 8px; text-decoration: underline; }
.vl-variable-product-form .single_variation { color: #174e39; font-weight: 700; margin: 4px 0 12px; }
.vl-variable-product-form .woocommerce-variation-add-to-cart { align-items: center; display: flex; gap: 12px; }
.vl-variable-product-form .woocommerce-variation-add-to-cart[style*="display: block"] { display: flex !important; }
.vl-variable-product-form .quantity .qty { background: #fff; border: 1px solid #c9d8d1 !important; color: #174e39; height: 50px; padding: 8px; text-align: center; width: 76px; }
.vl-variable-product-form .single_add_to_cart_button { background: var(--secondary-color) !important; border: 0; border-radius: 0; color: #fff !important; font-size: 12px; font-weight: 800; letter-spacing: .06em; min-height: 50px; padding: 13px 24px; text-transform: uppercase; }
.vl-variable-product-form .single_add_to_cart_button:hover { background: var(--primary-color) !important; }
@media (max-width: 575.98px) {
  .vl-variable-product-form .variations,
  .vl-variable-product-form .variations tbody,
  .vl-variable-product-form .variations tr,
  .vl-variable-product-form .variations th,
  .vl-variable-product-form .variations td { display: block; width: 100%; }
  .vl-variable-product-form .variations { border-spacing: 0; }
  .vl-variable-product-form .variations tr { margin-bottom: 16px; }
  .vl-variable-product-form .variations th.label { padding: 0 0 7px; }
  .vl-variable-product-form .woocommerce-variation-add-to-cart { align-items: stretch; flex-wrap: wrap; }
}
.vl-partner-tabs { margin: 20px auto 0; max-width: 1180px; padding: 0 20px; }
.vl-partner-tabs a { border-radius: 999px; color: #173b2e; padding: 10px 18px; text-decoration: none; }
.vl-partner-tabs a.is-active { background: #173b2e; color: #fff; }
.vl-partner-tabs { align-items: center; background: #fff; border: 1px solid #dfe9e3; border-radius: 16px; box-shadow: 0 10px 28px rgba(23,59,46,.08); display: flex; gap: 6px; justify-content: center; padding: 8px; }
.vl-partner-tabs a { align-items: center; display: inline-flex; gap: 8px; font-weight: 700; transition: background .2s ease, color .2s ease, transform .2s ease; }
.vl-partner-tabs a:hover { background: #edf5f0; transform: translateY(-1px); }
.vl-partner-tabs a.is-active:hover { background: #173b2e; color: #fff; }
.vl-partner-tabs svg { height: 16px; width: 16px; }
.vl-pathway-single .vl-pathway-changemakers { background: color-mix(in srgb, var(--vl-pathway-green) 9%, #fff); padding: 76px 0; }
.vl-pathway-tour-operators { background: #f6f8f5; padding: 96px 0; }
.vl-pathway-tour-operators__heading { margin: 0 auto 18px; max-width: 760px; text-align: center; }
.vl-pathway-tour-operators__heading > span { color: var(--vl-pathway-green); font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.vl-pathway-tour-operators__heading h2 { color: var(--vl-pathway-green-alt); margin: 8px 0; }
.vl-pathway-tour-operators__heading p { color: #66756c; margin: 0; }
.vl-pathway-tour-operators .vl-tour-directory { padding-top: 18px; }
.header-s3 .vl-site-search { background: #fff; border: 1px solid #d6e1dc; border-radius: 5px; gap: 0; max-width: 690px; overflow: visible; padding: 0; }
.header-s3 .vl-site-search .fieldset-search { background: #fff; border: 0; border-radius:5px; height: 42px; padding: 0 14px; }
.header-s3 .vl-site-search .fieldset-search .ipt { color: #174e39; }
.header-s3 .vl-site-search .vl-pathway-select { border-left: 1px solid #d6e1dc; flex: 0 0 190px; height: 44px; position: relative; }
.header-s3 .vl-site-search .vl-pathway-select select { appearance: auto; background: #fff; border: 0; border-radius: 0; color: #174e39; cursor: pointer; font-size: 13px; font-weight: 700; height: 100%; padding: 0 30px 0 14px; width: 100%; }
.header-s3 .vl-site-search .vl-pathway-select select:focus { box-shadow: inset 0 0 0 2px rgba(47,159,145,.35); outline: 0; }
.header-s3 .vl-site-search .vl-search-submit { background: #2f9f91; border-radius: 0 4px 4px 0; flex: 0 0 48px; height: 42px; width: 48px; }
.header-s3 .vl-site-search .vl-search-submit:hover, .header-s3 .vl-site-search .vl-search-submit:focus-visible { background: #174e39; }
.vl-product-filter-search { display: flex; margin: 0 0 24px; position: relative; }
.vl-product-filter-search input { border: 1px solid #cbd8d2; border-radius: 5px; color: #174e39; font-size: 14px; height: 42px; padding: 0 46px 0 13px; width: 100%; }
.vl-product-filter-search input:focus { border-color: #2f9f91; box-shadow: 0 0 0 3px rgba(47,159,145,.15); outline: 0; }
.vl-product-filter-search button { align-items: center; background: #2f9f91; border: 0; border-radius: 0 5px 5px 0; color: #fff; display: inline-flex; height: 42px; justify-content: center; position: absolute; right: 0; top: 0; width: 42px; }
.vl-product-filter-search button:hover, .vl-product-filter-search button:focus-visible { background: #174e39; outline: 0; }
.vl-product-filter-search button svg { height: 17px; width: 17px; }
@media (max-width: 1199px) { .header-s3 .vl-site-search .vl-pathway-select { flex-basis: 165px; } }
.vl-csr-single__hero { background: #174e39; color: #fff; padding: 112px 0 72px; text-align: center; }
.vl-csr-single__hero span { color: #c7da70; display: block; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.vl-csr-single__hero h1 { color: #fff; margin: 10px auto 14px; max-width: 900px; }
.vl-csr-single__hero p { margin: 0 auto 16px; max-width: 740px; }
.vl-csr-single__hero time { color: rgba(255,255,255,.72); font-size: 14px; }
.vl-csr-single__content { max-width: 980px; padding-bottom: 88px; padding-top: 62px; }
.vl-csr-single__cover { display: block; height: min(520px, 56vw); margin: 0 auto 44px; object-fit: cover; width: 100%; }
.vl-csr-single__body { color: #344249; font-size: 17px; line-height: 1.8; margin: 0 auto; max-width: 780px; }
.vl-csr-single__video, .vl-csr-single__gallery { margin-top: 56px; }
.vl-csr-single__video h2, .vl-csr-single__gallery h2 { color: #174e39; font-size: 28px; margin-bottom: 18px; }
.vl-csr-single__video video, .vl-csr-single__video iframe { border: 0; display: block; max-width: 100%; min-height: 360px; width: 100%; }
.vl-csr-single__gallery > div { display: grid; gap: 16px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.vl-csr-single__gallery img { aspect-ratio: 1 / .78; height: 100%; object-fit: cover; width: 100%; }
@media (max-width: 700px) { .vl-csr-single__hero { padding: 84px 0 54px; } .vl-csr-single__content { padding-top: 42px; } .vl-csr-single__video video, .vl-csr-single__video iframe { min-height: 220px; } .vl-csr-single__gallery > div { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.vl-pathway-changemakers__heading { margin: 0 auto 32px; max-width: 720px; text-align: center; }
.vl-pathway-single .vl-pathway-changemakers__heading > span { color: var(--vl-pathway-green); font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.vl-pathway-single .vl-pathway-changemakers__heading h2 { color: var(--vl-pathway-green-alt); margin: 8px 0; }
.vl-pathway-single .vl-pathway-changemakers__heading p { color: color-mix(in srgb, var(--vl-pathway-green) 65%, #66756c); margin: 0; }
.vl-pathway-farmer-voice { background: #fff; border-left: 4px solid var(--vl-pathway-green); box-shadow: 0 10px 24px rgba(23, 59, 46, .08); margin: 32px auto 0; max-width: 760px; padding: 24px 28px; }
.vl-pathway-farmer-voice span { color: var(--vl-pathway-green); display: block; font-size: 12px; font-weight: 800; letter-spacing: .16em; margin-bottom: 8px; text-transform: uppercase; }
.vl-pathway-farmer-voice p { color: var(--vl-pathway-green-alt); font-size: 20px; font-style: italic; line-height: 1.5; margin: 0; }
@media (max-width: 575px) { .vl-pathway-farmer-voice { padding: 20px; } .vl-pathway-farmer-voice p { font-size: 18px; } }
.vl-account-tiers { margin: 30px 0; }
.vl-account-tiers__intro { margin-bottom: 20px; text-align: center; }
.vl-account-tiers__intro > span { color: #278f90; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.vl-account-tiers__intro h2 { color: #173b2e; font-size: clamp(24px, 3vw, 34px); margin: 8px 0 0; }
.vl-account-tiers__grid { display: grid; gap: 16px; grid-template-columns: repeat(3, 1fr); }
.vl-account-tiers__grid article { background: #fff; border: 1px solid #dce7df; border-radius: 12px; padding: 24px; position: relative; }
.vl-account-tiers__grid article.is-featured { border: 2px solid #278f90; box-shadow: 0 12px 30px rgba(39,143,144,.14); }
.vl-account-tiers__grid article > span { background: #278f90; border-radius: 999px; color: #fff; font-size: 11px; font-weight: 800; padding: 5px 10px; position: absolute; right: 16px; text-transform: uppercase; top: -12px; }
.vl-account-tiers__grid h3 { color: #173b2e; margin: 0 0 8px; }
.vl-account-tiers__grid p { color: #66756c; margin: 0 0 14px; }
.vl-account-tiers__grid ul { color: #345b49; margin: 0; padding-left: 18px; }
.vl-product-cutoff { align-items: center; background: #fff7e8; border-left: 3px solid #d79a2b; color: #7a571e; display: flex; font-size: 12px; gap: 7px; margin: 10px 0; padding: 8px 10px; }
.vl-product-cutoff svg { flex: 0 0 auto; height: 15px; width: 15px; }
.vl-product-cutoff--single { font-size: 13px; margin: 14px 0 18px; }
.vl-product-card-variations .variations { margin: 8px 0 12px; width: 100%; }
.vl-product-card-variations .variations select { border: 1px solid #c9d8d1; min-height: 38px; padding: 6px 8px; width: 100%; }
.vl-product-card-variations .variations th.label { display: block; font-size: 11px; padding: 4px 0; text-align: left; text-transform: uppercase; }
.vl-product-card-variations .variations td.value { display: block; }
.vl-product-card-variations .single_add_to_cart_button { background: #173b2e; border: 0; color: #fff; cursor: pointer; font-weight: 800; min-height: 42px; padding: 10px 16px; width: 100%; }
.vl-product-card-variations .quantity { display: none; }
@media (max-width: 767px) { .vl-account-tiers__grid { grid-template-columns: 1fr; } .vl-partner-tabs { align-items: stretch; flex-direction: column; } .vl-partner-tabs a { justify-content: center; width: 100%; } }
.woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals {
    float: left !important;
    width: 100% !important;
}
/* Responsive safety refinements */
.irembopay-alertBox {
  box-sizing: border-box;
  max-width: min(885px, calc(100vw - 32px)) !important;
  min-width: 0 !important;
  width: calc(100vw - 32px) !important;
}

@media (max-width: 700px) {
  .vl-csr-single__gallery > div {
    grid-template-columns: 1fr;
  }

  .vl-pathway-tour-operators {
    padding: 60px 0;
  }

  .vl-stay-lightbox {
    padding: 24px 12px;
  }

  .vl-stay-lightbox__image {
    height: 80vh;
    width: 100%;
  }

  .vl-stay-lightbox__nav--previous {
    left: 12px;
  }

  .vl-stay-lightbox__nav--next {
    right: 12px;
  }
}
