@charset "UTF-8";
/*!
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1

 ——— Important: This css is generated from scss file.
*/
/*————————————————————————————————————————————————————*\
    ●❱ Imports
\*————————————————————————————————————————————————————*/
/*  |> BREAKPOINTS BOOSTRAP
——————————————————————————————————————————————————————*/
/*————————————————————————————————————————————————————*\
    ●❱ MIXINGS
\*————————————————————————————————————————————————————*/
/** Based in: https://codepen.io/MadeByMike/pen/vNrvdZ?editors=0110 */
/*————————————————————————————————————————————————————*\
    ●❱ SHORTHANDS MIXINS HELPERS
\*————————————————————————————————————————————————————*/
/*————————————————————————————————————————————————————*\
    ●❱ Inherit
\*————————————————————————————————————————————————————*/
/* Primary Menu */
.main-navigation {
  margin-left: 55px;
  margin-right: 55px;
}

#sticky-navigation {
  position: relative;
}

.main-navigation.sticky-navigation-transition .site-logo img {
  height: 60px;
  padding: 0;
  transform: scale(1.2);
  transform-origin: left center;
}
.w100 img {
  width: 100%;
}

.img-100-height figure {
  height: 100%;
}

@media (max-width: 768px) {
  .main-navigation {
    padding-left: 20px !important;
    padding-right: 20px !important;
    margin-left: 0px;
    margin-right: 0px;
  }
}
.main-navigation.has-branding .inside-navigation.grid-container {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

#video-background {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 100%;
  min-height: 100vh;
  /* min-width: 100%;
  min-height: 100%; */
  z-index: -1;
  -o-object-fit: cover;
     object-fit: cover;
}
/*Estilos parallax*/
.parallax-container {
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
}

.parallax-content {
  background: #fff fixed no-repeat 50% 50%;
  background-size: cover;
  background-image: url("./icons/HowItWorks1Optim.jpg");
}

.non-item {
  display: none;
}

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

.mt-15 {
  margin-top: 15px;
}

.navigation-stick .non-item {
  display: block;
}

/* Stick Menu */
.main-navigation.navigation-stick {
  margin-left: 0px;
  margin-right: 0px;
  padding-left: 55px;
  padding-right: 85px;
}

.font-w400 {
  font-weight: 400;
}

@media (min-width: 768px) {
  .d-none-desktop {
    display: none;
  }
}
@media (max-width: 768px) {
  .d-none-mobile {
    display: none;
  }
  .main-navigation.navigation-stick {
    margin-left: 0px !important;
    margin-right: 0px !important;
    padding-left: 20px;
    padding-right: 20px;
  }
}
/* Secondary Menu */
.secondary-navigation {
  padding-left: 55px !important;
  padding-right: 70px !important;
  padding-top: 0px !important;
  padding-bottom: 16px !important;
}

.btn-menu-sec-orderflowers,
.btn-menu-sec-tel {
  margin-top: 6px;
}

@media (max-width: 768px) {
  .secondary-navigation {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .secondary-navigation .main-nav ul li a {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}
.secondary-navigation .menu-toggle {
  display: none;
}

.secondary-navigation .main-nav ul li a {
  font-size: 20px !important;
  padding-left: 40px;
}

.secondary-navigation .inside-navigation {
  justify-content: unset !important;
  display: block !important;
}

@media (max-width: 768px) {
  .secondary-navigation {
    text-align: center !important;
    height: 70px;
  }
  .secondary-navigation ul {
    display: block;
  }
  .secondary-navigation .sf-menu > li {
    float: none;
    display: inline-block;
  }
  .secondary-navigation .inside-navigation {
    justify-content: unset !important;
    display: block !important;
  }
  .secondary-navigation .main-nav > ul {
    justify-content: space-between;
  }
  .btn-menu-sec-tel {
    display: none !important;
  }
  .btn-menu-sec-orderflowers {
    display: none !important;
  }
}
.btn-menu-sec-business {
  margin-right: auto;
}

.btn-menu-sec-business a:hover {
  font-weight: 700 !important;
}

.btn-menu-sec-business a:hover {
  border-top: 2px solid;
}

@media (min-width: 768px) {
  .btn-menu-primary-residential a {
    padding-right: 35px;
    border-right: 2px solid;
  }
}
@media (max-width: 768px) {
  .hidden-class-mobile {
    overflow: hidden !important;
  }
  .main-navigation {
    background-color: #293F30;
  }
  .main-navigation .main-nav ul ul ul li a {
    padding-left: 40px;
  }
  /* 	.main-navigation .main-nav  ul:first-child > li  {
  	text-align: center!important;
  } */
}
.btn-menu-primary-why-green a {
  padding-left: 35px;
}

.btn-menu {
  border-style: solid;
  border-width: 1px;
  border-color: white;
}

.btn-menu a {
  font-weight: 600 !important;
}

/* Custom frontpage*/
.max-text {
  margin-top: 140px;
  margin-bottom: 100px;
  font-size: 70px;
  font-weight: 300;
}

@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .full-image-tablet .gb-inside-container {
    height: 100%;
  }
  .full-image-tablet figure {
    height: 100%;
    width: auto;
  }
  .full-image-tablet figure img {
    height: 100%;
    width: auto;
  }
}
@media (max-width: 768px) {
  .gb-button-btn-secondary {
    margin-top: 30px;
  }
  .max-text {
    margin-bottom: 50px;
    font-size: 48px !important;
    font-weight: 300;
  }
  .mobile-display-non {
    display: none;
  }
  .mobile-menu {
    display: none;
  }
  .main-navigation .menu-toggle {
    font-size: 30px;
  }
}
.page-id-67 .entry-title {
  display: none;
}

.btn-menu-sec-residential a {
  padding-left: 0px !important;
}

.secondary-nav-above-header .secondary-navigation .inside-navigation.grid-container {
  padding: 0px !important;
}

.btn-menu-sec-business.current-menu-item a,
.btn-menu-sec-residential.current-menu-item a {
  border-top: 6px solid;
  font-weight: 600 !important;
}

.btn-menu-sec-tel a:hover,
.btn-menu-sec-orderflowers a:hover {
  font-weight: 600 !important;
}

.btn-menu-sec-orderflowers:hover {
  background-color: #a4c679;
}

.btn-menu-sec-residential a,
.btn-menu-sec-business a {
  border-top: 6px solid;
  border-color: transparent;
}

.btn-menu-sec-residential a:hover,
.btn-menu-sec-business a:hover {
  border-top: 6px solid;
  border-color: rgb(255, 255, 255);
}

/* Custom margins*/
.year.mb-0 p {
  margin-bottom: 0 !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.font-w-400 {
  font-weight: 400;
}

/* Custom widgets*/
.widget_nav_menu .widgettitle {
  font-size: 24px !important;
}

.widget ul li a {
  text-decoration: none;
}

.widget ul li a:hover {
  font-weight: 500 !important;
}

.copyright-bar {
  display: none !important;
}

.inside-site-info {
  display: block;
}

.image-full img {
  width: 100%;
  height: auto;
}

.image-full {
  width: 100%;
  height: auto;
}

/* inner pages image*/
.flat-shadow {
  position: relative;
}

.flat-shadow figure img {
  position: relative;
  z-index: 5;
}

.flat-shadow figure::after {
  background: #969271;
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  left: -42px;
  top: 36px;
  z-index: 0;
  opacity: 30%;
}

.list-green ul li {
  line-height: 35px;
  margin-bottom: 50px;
}

.list-green ul li::marker {
  color: #293F30;
  font-size: 45px;
}

@media (max-width: 768px) {
  /* .full-width-mobile {
  	width: 100vw!important;
  }
  */
  .list-green ul {
    margin: 0 0 1.5em 1.5em;
  }
  .list-green ul {
    font-size: 18px;
  }
  /* Hero */
  /* .page-hero {
  	height: calc(100vh - 70px);
  } */
  .page-hero .gb-button-wrapper {
    margin-top: 50px !important;
  }
  .max-text {
    margin-top: 50px !important;
  }
}
/* Hero */
.page-hero {
  position: relative;
}

.page-hero .gb-button-wrapper {
  margin-top: 170px;
}

.mobile-display-non {
  font-weight: 100 !important;
}

/* Buttons */
.gb-button-btn-tertiary,
.gb-button-btn-secondary,
.gb-button-btn-primary {
  min-width: 250px;
}

.gb-button-wrapper .gb-button-btn-primary:hover,
.gb-button-wrapper .gb-button-btn-primary:active,
.gb-button-wrapper .gb-button-btn-primary:focus {
  font-weight: 600 !important;
}

/* Slider Clients*/
@media (max-width: 768px) {
  .n2-ss-widget .n2-bullet {
    margin: 10px !important;
  }
}
/* Slider Testimonial*/
@media (max-width: 768px) {
  .gb-container-e085b27f .n2-ss-control-bullet-horizontal {
    --widget-offset: 100px !important;
  }
}
.dir::before {
  background: url("icons/carbon_location.svg") center center no-repeat;
}

.phone::before {
  background: url("icons/VectorPhone.svg") center center no-repeat;
}

.icon-footer::before {
  content: "";
  width: 20px;
  height: 20px;
  margin-right: 5px;
  display: inline-block;
  background-size: cover;
  position: absolute;
  left: 0px;
}

p.icon-footer {
  margin-bottom: 0px !important;
  position: relative;
  padding-left: 32px;
  color: white;
  text-decoration: none;
}

footer .inside-site-info {
  padding: 40px 55px 8px 55px !important;
}

@media (max-width: 768px) {
  footer .inside-site-info {
    padding: 40px 20px 8px 20px !important;
  }
  footer .privacy-policy {
    text-align: center;
  }
}
.gb-container-bold500 {
  margin-top: 15px !important;
}

.text-content {
  padding-left: 30%;
  padding-right: 30%;
}

@media (max-width: 768px) {
  .text-content {
    padding-left: 20px;
    padding-right: 20px;
  }
}
/* Contact Us Page */
.wpcf7-form {
  display: grid !important;
  gap: 2em 2em;
  grid-template-areas: "name email" "phone subject" "message message" "submit submit";
}

@media (max-width: 768px) {
  .wpcf7-form {
    display: grid !important;
    gap: 2em 2em;
    grid-template-areas: "name" "email" "phone" "subject" "message" "submit";
  }
  .your-name {
    padding-left: 2% !important;
    padding-right: 2% !important;
  }
  .your-email {
    padding-left: 2% !important;
    padding-right: 2% !important;
  }
  .your-phone {
    padding-left: 2% !important;
    padding-right: 2% !important;
  }
  .your-subject {
    padding-left: 2% !important;
    padding-right: 2% !important;
  }
  .your-message {
    padding-left: 2% !important;
    padding-right: 2% !important;
  }
  .submit {
    grid-area: submit;
    display: flex;
    justify-content: center;
  }
  .wpcf7-spinner {
    display: none !important;
  }
}
.wpcf7-form-control-wrap input,
.wpcf7-form-control-wrap textarea {
  width: 100% !important;
  background-color: white !important;
  border-color: black !important;
  color: black !important;
  font-weight: 700 !important;
}

.wpcf7-form-control-wrap input[type=date] {
  border: 1px solid !important;
  border-radius: 0 !important;
  padding: 10px 15px !important;
  max-width: 100% !important;
}

.your-name {
  grid-area: name;
  padding-left: 5%;
}

.your-email {
  grid-area: email;
  padding-right: 5%;
}

.your-phone {
  grid-area: phone;
  padding-left: 5%;
}

.your-subject {
  grid-area: subject;
  padding-right: 5%;
}

.your-message {
  grid-area: message;
  padding-left: 2.5%;
  padding-right: 2.5%;
}

.submit {
  grid-area: submit;
  display: flex;
  justify-content: center;
}

.wpcf7-submit {
  background-color: #293F30 !important;
  color: #ffffff;
  font-family: Montserrat, sans-serif;
  font-size: 20px;
  font-weight: 500;
  padding: 15px 70px 15px 70px !important;
  border-style: solid;
  border-width: 3px;
  border-color: #293F30;
}

.wpcf7-submit:hover {
  background-color: #a4c679 !important;
  color: #ffffff;
  border-color: #a4c679 !important;
}

/*————————————————————————————————————————————————————*\
    ●❱ STYLES
\*————————————————————————————————————————————————————*/
a,
button,
input {
  transition-property: color, background-color, border;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}

/*  |> Colors
——————————————————————————————————————————————————————*/
/* Only for the purpose of using it with autocomplete. */
/*  |> Font
—————————————————————————————————————————————————————*/
:root {
  /*  |> Unit check
  ——————————————————————————————————————————————————————*/
  /*  |> Convert screen sizes for media queries to 'em'
  ——————————————————————————————————————————————————————*/
  /** @see https://zellwk.com/blog/media-query-units/ */
  /** If we use 'rem', we convert them to 'em' */
  /** If we use 'px', we convert them to 'em' */
}
:root {
  --g-padding: 1.8rem;
  /*-clean-css ignore:start */
  min-width: 0vw;
  /*-clean-css ignore:end */
}
@media screen and (min-width: 36em) {
  :root {
    --g-padding: calc(5.9259259259vw - 0.3333333333rem);
  }
}
@media screen and (min-width: 90em) {
  :root {
    --g-padding: 5rem;
  }
}
@media screen and (max-width: 21.875em) {
  :root {
    --g-padding: 1.5rem !important;
  }
}
:root {
  /*
  ——— Fonts
  */
  --ff-primary: Raleway,
  sans-serif;
  --ff-secondary: stardom,
  serif;
  /*
  ——— icons
  */
  --icon-arrow: url("data:image/svg+xml,%3Csvg width='19' height='31' viewBox='0 0 19 31' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.16001 29.1775L3.51357 29.5306L3.86687 29.1773L17.3536 15.6906L17.7071 15.3371L17.3536 14.9835L3.86689 1.495L3.51309 1.14115L3.15951 1.49523L1.86275 2.79382L1.50969 3.14737L1.863 3.50067L13.6994 15.3371L1.86297 27.1753L1.50922 27.5291L1.86325 27.8826L3.16001 29.1775Z' fill='black' stroke='black'/%3E%3C/svg%3E%0A");
  /*
  ——— Font-sizes
  */
  /*  |> Unit check
  ——————————————————————————————————————————————————————*/
  /*  |> Convert screen sizes for media queries to 'em'
  ——————————————————————————————————————————————————————*/
  /** @see https://zellwk.com/blog/media-query-units/ */
  /** If we use 'rem', we convert them to 'em' */
  /** If we use 'px', we convert them to 'em' */
}
:root {
  --fs-18: 1rem;
  /*-clean-css ignore:start */
  min-width: 0vw;
  /*-clean-css ignore:end */
}
@media screen and (min-width: 36em) {
  :root {
    --fs-18: calc(0.2314814815vw + 0.9166666667rem);
  }
}
@media screen and (min-width: 90em) {
  :root {
    --fs-18: 1.125rem;
  }
}
:root {
  /*  |> Unit check
  ——————————————————————————————————————————————————————*/
  /*  |> Convert screen sizes for media queries to 'em'
  ——————————————————————————————————————————————————————*/
  /** @see https://zellwk.com/blog/media-query-units/ */
  /** If we use 'rem', we convert them to 'em' */
  /** If we use 'px', we convert them to 'em' */
}
:root {
  --fs-20: 1.125rem;
  /*-clean-css ignore:start */
  min-width: 0vw;
  /*-clean-css ignore:end */
}
@media screen and (min-width: 36em) {
  :root {
    --fs-20: calc(0.2314814815vw + 1.0416666667rem);
  }
}
@media screen and (min-width: 90em) {
  :root {
    --fs-20: 1.25rem;
  }
}
:root {
  /*  |> Unit check
  ——————————————————————————————————————————————————————*/
  /*  |> Convert screen sizes for media queries to 'em'
  ——————————————————————————————————————————————————————*/
  /** @see https://zellwk.com/blog/media-query-units/ */
  /** If we use 'rem', we convert them to 'em' */
  /** If we use 'px', we convert them to 'em' */
}
:root {
  --fs-24: 1.125rem;
  /*-clean-css ignore:start */
  min-width: 0vw;
  /*-clean-css ignore:end */
}
@media screen and (min-width: 36em) {
  :root {
    --fs-24: calc(0.6944444444vw + 0.875rem);
  }
}
@media screen and (min-width: 90em) {
  :root {
    --fs-24: 1.5rem;
  }
}
:root {
  /*  |> Unit check
  ——————————————————————————————————————————————————————*/
  /*  |> Convert screen sizes for media queries to 'em'
  ——————————————————————————————————————————————————————*/
  /** @see https://zellwk.com/blog/media-query-units/ */
  /** If we use 'rem', we convert them to 'em' */
  /** If we use 'px', we convert them to 'em' */
}
:root {
  --fs-32: 1.5rem;
  /*-clean-css ignore:start */
  min-width: 0vw;
  /*-clean-css ignore:end */
}
@media screen and (min-width: 36em) {
  :root {
    --fs-32: calc(0.9259259259vw + 1.1666666667rem);
  }
}
@media screen and (min-width: 90em) {
  :root {
    --fs-32: 2rem;
  }
}
:root {
  /*  |> Unit check
  ——————————————————————————————————————————————————————*/
  /*  |> Convert screen sizes for media queries to 'em'
  ——————————————————————————————————————————————————————*/
  /** @see https://zellwk.com/blog/media-query-units/ */
  /** If we use 'rem', we convert them to 'em' */
  /** If we use 'px', we convert them to 'em' */
}
:root {
  --fs-40: 1.75rem;
  /*-clean-css ignore:start */
  min-width: 0vw;
  /*-clean-css ignore:end */
}
@media screen and (min-width: 36em) {
  :root {
    --fs-40: calc(1.3888888889vw + 1.25rem);
  }
}
@media screen and (min-width: 90em) {
  :root {
    --fs-40: 2.5rem;
  }
}
:root {
  /*  |> Unit check
  ——————————————————————————————————————————————————————*/
  /*  |> Convert screen sizes for media queries to 'em'
  ——————————————————————————————————————————————————————*/
  /** @see https://zellwk.com/blog/media-query-units/ */
  /** If we use 'rem', we convert them to 'em' */
  /** If we use 'px', we convert them to 'em' */
}
:root {
  --fs-48: 2rem;
  /*-clean-css ignore:start */
  min-width: 0vw;
  /*-clean-css ignore:end */
}
@media screen and (min-width: 36em) {
  :root {
    --fs-48: calc(1.8518518519vw + 1.3333333333rem);
  }
}
@media screen and (min-width: 90em) {
  :root {
    --fs-48: 3rem;
  }
}
:root {
  /*  |> Unit check
  ——————————————————————————————————————————————————————*/
  /*  |> Convert screen sizes for media queries to 'em'
  ——————————————————————————————————————————————————————*/
  /** @see https://zellwk.com/blog/media-query-units/ */
  /** If we use 'rem', we convert them to 'em' */
  /** If we use 'px', we convert them to 'em' */
}
:root {
  --fs-56: 2rem;
  /*-clean-css ignore:start */
  min-width: 0vw;
  /*-clean-css ignore:end */
}
@media screen and (min-width: 36em) {
  :root {
    --fs-56: calc(2.7777777778vw + 1rem);
  }
}
@media screen and (min-width: 90em) {
  :root {
    --fs-56: 3.5rem;
  }
}
:root {
  /*  |> Unit check
  ——————————————————————————————————————————————————————*/
  /*  |> Convert screen sizes for media queries to 'em'
  ——————————————————————————————————————————————————————*/
  /** @see https://zellwk.com/blog/media-query-units/ */
  /** If we use 'rem', we convert them to 'em' */
  /** If we use 'px', we convert them to 'em' */
}
:root {
  --fs-64: 2rem;
  /*-clean-css ignore:start */
  min-width: 0vw;
  /*-clean-css ignore:end */
}
@media screen and (min-width: 36em) {
  :root {
    --fs-64: calc(3.7037037037vw + 0.6666666667rem);
  }
}
@media screen and (min-width: 90em) {
  :root {
    --fs-64: 4rem;
  }
}
:root {
  /*  |> Unit check
  ——————————————————————————————————————————————————————*/
  /*  |> Convert screen sizes for media queries to 'em'
  ——————————————————————————————————————————————————————*/
  /** @see https://zellwk.com/blog/media-query-units/ */
  /** If we use 'rem', we convert them to 'em' */
  /** If we use 'px', we convert them to 'em' */
}
:root {
  --fs-80: 2.25rem;
  /*-clean-css ignore:start */
  min-width: 0vw;
  /*-clean-css ignore:end */
}
@media screen and (min-width: 36em) {
  :root {
    --fs-80: calc(5.0925925926vw + 0.4166666667rem);
  }
}
@media screen and (min-width: 90em) {
  :root {
    --fs-80: 5rem;
  }
}
:root {
  /*
   ——— Spacing
  */
  /*  |> Unit check
  ——————————————————————————————————————————————————————*/
  /*  |> Convert screen sizes for media queries to 'em'
  ——————————————————————————————————————————————————————*/
  /** @see https://zellwk.com/blog/media-query-units/ */
  /** If we use 'rem', we convert them to 'em' */
  /** If we use 'px', we convert them to 'em' */
}
:root {
  --sp-40: 1.5rem;
  /*-clean-css ignore:start */
  min-width: 0vw;
  /*-clean-css ignore:end */
}
@media screen and (min-width: 36em) {
  :root {
    --sp-40: calc(1.8518518519vw + 0.8333333333rem);
  }
}
@media screen and (min-width: 90em) {
  :root {
    --sp-40: 2.5rem;
  }
}
:root {
  /*  |> Unit check
  ——————————————————————————————————————————————————————*/
  /*  |> Convert screen sizes for media queries to 'em'
  ——————————————————————————————————————————————————————*/
  /** @see https://zellwk.com/blog/media-query-units/ */
  /** If we use 'rem', we convert them to 'em' */
  /** If we use 'px', we convert them to 'em' */
}
:root {
  --sp-64: 2rem;
  /*-clean-css ignore:start */
  min-width: 0vw;
  /*-clean-css ignore:end */
}
@media screen and (min-width: 36em) {
  :root {
    --sp-64: calc(3.7037037037vw + 0.6666666667rem);
  }
}
@media screen and (min-width: 90em) {
  :root {
    --sp-64: 4rem;
  }
}
:root {
  /*  |> Unit check
  ——————————————————————————————————————————————————————*/
  /*  |> Convert screen sizes for media queries to 'em'
  ——————————————————————————————————————————————————————*/
  /** @see https://zellwk.com/blog/media-query-units/ */
  /** If we use 'rem', we convert them to 'em' */
  /** If we use 'px', we convert them to 'em' */
}
:root {
  --sp-80: 2.5rem;
  /*-clean-css ignore:start */
  min-width: 0vw;
  /*-clean-css ignore:end */
}
@media screen and (min-width: 36em) {
  :root {
    --sp-80: calc(4.6296296296vw + 0.8333333333rem);
  }
}
@media screen and (min-width: 90em) {
  :root {
    --sp-80: 5rem;
  }
}
:root {
  /*  |> Unit check
  ——————————————————————————————————————————————————————*/
  /*  |> Convert screen sizes for media queries to 'em'
  ——————————————————————————————————————————————————————*/
  /** @see https://zellwk.com/blog/media-query-units/ */
  /** If we use 'rem', we convert them to 'em' */
  /** If we use 'px', we convert them to 'em' */
}
:root {
  --sp-100: 2.5rem;
  /*-clean-css ignore:start */
  min-width: 0vw;
  /*-clean-css ignore:end */
}
@media screen and (min-width: 36em) {
  :root {
    --sp-100: calc(6.9444444444vw + 0rem);
  }
}
@media screen and (min-width: 90em) {
  :root {
    --sp-100: 6.25rem;
  }
}
:root {
  /*  |> Unit check
  ——————————————————————————————————————————————————————*/
  /*  |> Convert screen sizes for media queries to 'em'
  ——————————————————————————————————————————————————————*/
  /** @see https://zellwk.com/blog/media-query-units/ */
  /** If we use 'rem', we convert them to 'em' */
  /** If we use 'px', we convert them to 'em' */
}
:root {
  --sp-128: 3rem;
  /*-clean-css ignore:start */
  min-width: 0vw;
  /*-clean-css ignore:end */
}
@media screen and (min-width: 36em) {
  :root {
    --sp-128: calc(9.2592592593vw - 0.3333333333rem);
  }
}
@media screen and (min-width: 90em) {
  :root {
    --sp-128: 8rem;
  }
}

/*  |> Icons
——————————————————————————————————————————————————————*/
/* .icon {
    --size: 22px;
    width: var(--size);
    height: var(--size);
    display: inline-block;
    mask-repeat: no-repeat;
    mask-size: contain;
    mask-position: center;
    background: currentColor;
    vertical-align: middle;
    transition: var(--g-trans);
}

.icon-arrow {
    mask-image: var(--icon-arrow)
} */
/*  |> Global padding
——————————————————————————————————————————————————————*/
/*————————————————————————————————————————————————————*\
    ●❱ MAIN CONTAINER
\*————————————————————————————————————————————————————*/
#main {
  margin: 0;
}

/*————————————————————————————————————————————————————*\
    ●❱ HEADER
\*————————————————————————————————————————————————————*/
/*  |> Bar Top
——————————————————————————————————————————————————————*/
.gp-menu-bar-top li::before {
  --size: calc(100% + 1rem);
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: var(--size);
  height: 5rem;
  transform: translate(-50%, -50%);
  background: white;
  opacity: 0;
  transition: 0.3s opacity;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.gp-menu-bar-top li:hover::before, .gp-menu-bar-top li:focus::before {
  opacity: 1;
}
.gp-menu-bar-top li + li {
  margin-left: 2.5rem;
}
@media screen and (max-width: 48em) {
  .gp-menu-bar-top li + li {
    margin-left: 1.5rem;
  }
}
.gp-menu-bar-top .current-menu-item {
  position: relative;
}
.gp-menu-bar-top .current-menu-item::before {
  opacity: 1;
}
.gp-menu-bar-top .current-menu-item a {
  color: var(--accent);
  font-weight: 700;
}
.gp-menu-bar-top a {
  position: relative;
}

/*  |> Menus
——————————————————————————————————————————————————————*/
.inside-navigation #primary-menu #menu-primary-menu-new > li > a {
  line-height: 3 !important;
}

@media screen and (min-width: 68.75125em) {
  #mega-menu-wrap-menu-desktop #mega-menu-menu-desktop > li + li {
    margin-left: 1rem !important;
  }
}
#mega-menu-wrap-menu-desktop a {
  font-size: 1.25rem !important;
}
#mega-menu-wrap-menu-desktop .mega-current_page_item > a {
  font-weight: 700 !important;
}
#mega-menu-wrap-menu-desktop .mega-menu-row > .mega-sub-menu > .mega-menu-column > .mega-sub-menu {
  display: flex !important;
  flex-wrap: wrap;
}
#mega-menu-wrap-menu-desktop .mega-menu-row > .mega-sub-menu > .mega-menu-column > .mega-sub-menu > li:last-child {
  flex: 1;
}

@media screen and (max-width: 47.9375em) {
  .main-navigation.toggled {
    height: calc(100vh - 103px) !important;
    height: calc(100dvh - 103px) !important;
    overflow: auto !important;
  }
}
.main-navigation.toggled#sticky-navigation {
  height: calc(100vh - 66px) !important;
  height: calc(100dvh - 66px) !important;
}

/*  |> Menu mobile
——————————————————————————————————————————————————————*/
.menu-mobile-extras {
  position: fixed;
  bottom: 0;
  left: 0;
  display: none !important;
}

@media screen and (max-width: 47.9375em) {
  html.mobile-menu-open .menu-mobile-extras {
    display: flex !important;
  }
}
/*  |> Primary Menu Bar
——————————————————————————————————————————————————————*/
#site-navigation,
#sticky-navigation {
  /** Wrapper primary menu header */
}
#site-navigation.toggled,
#sticky-navigation.toggled {
  /** Wrapper #menu-primary */
}
/*
——— Search standar
*/
/*
——— Example apply styles only front-end
*/
/*————————————————————————————————————————————————————*\
    ●❱ FOOTER
\*————————————————————————————————————————————————————*/
/*————————————————————————————————————————————————————*\
    ●❱ UTILITIES
\*————————————————————————————————————————————————————*/
/*
——— Keep proportion size
*/
/*
——— Delete text-underline to 'a' links
*/
.gp-link-no-decoration {
  text-decoration: none;
}
.gp-link-no-decoration a {
  text-decoration: none;
}

/*
——— this class-name it must set like global styles in GenerateBlocks
*/
.gb-container-fix-wrp-image-block figure.gb-block-image {
  height: 100%;
}

/*
——— Use the image for wallpaper. Applies to the image container. The image must be the container's director child.
*/
.gp-img-bg-full {
  position: relative;
}
.gp-img-bg-full > .gb-block-image {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
.gp-img-bg-full > .gb-block-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.gp-img-bg-full > .gb-container {
  position: relative;
}

/*
——— Halfscreen-image
    Use: set class in image's container
*/
@media screen and (min-width: 64.00125em) {
  .halfscreen-image {
    position: relative;
    height: 100%;
    width: 100%;
  }
  .halfscreen-image figure {
    left: 0;
    position: absolute;
    width: 52vw;
    height: 100%;
  }
  .halfscreen-image.left figure {
    left: auto;
    right: 0;
  }
  .halfscreen-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: top;
       object-position: top;
  }
}
.gp-video-cover {
  height: 100%;
}
.gp-video-cover figure {
  position: relative;
  height: 100%;
  width: 100%;
}
.gp-video-cover video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
}

/*————————————————————————————————————————————————————*\
    ●❱ CUSTOM STYLES
\*————————————————————————————————————————————————————*/
/*————————————————————————————————————————————————————*\
    ●❱ Contact Form (WP FORM)
\*————————————————————————————————————————————————————*/
#gp-contact-form {
  /*  .wpcf7-checkbox>span.wpcf7-list-item {
         margin-left: 0px !important;
     }
  */
}
#gp-contact-form select {
  width: 50%;
}
#gp-contact-form h3 {
  margin-top: 60px;
  margin-bottom: 5px;
}
#gp-contact-form hr {
  margin-top: 0px;
}
#gp-contact-form .other-text {
  display: none;
}
#gp-contact-form {
  /*     form.wpcf7-form {
      display: block !important;
  } */
}
#gp-contact-form .wpcf7-checkbox label,
#gp-contact-form .wpcf7-radio label {
  display: flex;
}
#gp-contact-form .wpcf7-checkbox label > input,
#gp-contact-form .wpcf7-radio label > input {
  width: 20px !important;
  margin-right: 10px;
}
#gp-contact-form .wpforms-container {
  margin: 0;
}
#gp-contact-form .wpforms-field-container {
  /*    >*:first-child {
      // padding-top: 0;
  } */
}
@media screen and (max-width: 47.9375em) {
  #gp-contact-form .wpforms-field-container > * {
    float: none;
    clear: both;
    width: 100%;
    margin-left: 0;
  }
}
#gp-contact-form .wpforms-field-container label {
  margin-bottom: 0.5rem;
  font-size: 1.125rem;
}
#gp-contact-form .wpforms-field-container input,
#gp-contact-form .wpforms-field-container textarea {
  border-radius: 0;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  min-height: 3rem;
  background: white;
  border: 1px solid var(--accent);
}
#gp-contact-form .wpforms-field-container input::-moz-placeholder, #gp-contact-form .wpforms-field-container textarea::-moz-placeholder {
  color: rgba(64, 64, 64, 0.6);
}
#gp-contact-form .wpforms-field-container input::placeholder,
#gp-contact-form .wpforms-field-container textarea::placeholder {
  color: rgba(64, 64, 64, 0.6);
}
#gp-contact-form .wpforms-submit-container {
  text-align: center;
}
#gp-contact-form button {
  all: initial;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 250px;
  font-size: 1.25rem;
  font-weight: normal;
  text-transform: uppercase;
  padding: 1.25rem 2rem;
  border: 3px solid var(--accent);
  background-color: var(--accent);
  color: #ffffff;
  font-family: inherit !important;
  cursor: pointer;
}
#gp-contact-form button:hover, #gp-contact-form button:focus {
  background-color: black;
}
@media screen and (max-width: 47.9375em) {
  #gp-contact-form button {
    font-size: 14px;
    padding-top: 0.8rem;
    padding-bottom: 0.8rem;
  }
}
@media screen and (max-width: 47.9375em) {
  #gp-contact-form p {
    margin-bottom: 0px;
  }
}

/*————————————————————————————————————————————————————*\
    ●❱ Modal
\*————————————————————————————————————————————————————*/
#gp-gallery .eb-gallery-img-content {
  width: calc(50% - 20px);
}
@media screen and (min-width: 47.93875em) {
  #gp-gallery .eb-gallery-img-content {
    width: calc(33.3333333333% - 30px) !important;
  }
}

.business-indicator.active,
.residential-indicator.active {
  font-weight: 700;
}

/* Slider testimonial */
.slick-dots li.slick-active button:before {
  color: rgba(255, 255, 255, 0.7) !important;
}

.slick-dots {
  position: relative;
  bottom: 200px !important;
}
@media screen and (max-width: 47.9375em) {
  .slick-dots {
    bottom: 40px !important;
  }
}

.slick-dots li button:before {
  color: white !important;
}

/*---------------------*/
/* Menu Custom Footer   */
.menu-custom .menu .sub-menu .sub-menu {
  display: none !important;
}

.menu-custom .menu > li > a {
  font-size: 26px;
  font-weight: 500;
}

/*----------------*/
.wp-block-cb-carousel .slick-next:before, .wp-block-cb-carousel .slick-prev:before {
  color: white;
}

.slick-next:before, .slick-prev:before {
  font-size: 35px !important;
}

.form-mailchimp input[type=submit] {
  font-weight: 500;
  text-transform: initial;
  padding: 0.4rem 1rem;
  border: 1px solid;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  background: transparent;
}
.form-mailchimp input[type=submit]:hover {
  border-color: #7b9f4e;
  background-color: #7b9f4e;
  color: #ffffff;
}
.form-mailchimp input[type=email] {
  padding: 0.4rem 1rem;
}

.fix-ol-ul ol, .fix-ol-ul ul {
  margin-left: 0;
  padding-left: 2rem;
}

#wpcf7-f4795-p4796-o1 form {
  display: flex !important;
  flex-direction: column;
}

#video-background {
  position: absolute;
  top: 0;
  left: 0;
  min-width: 100%;
  min-height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: -1;
}

.custom-dark-overlay {
  position: relative;
}

.custom-dark-overlay:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
}

.custom-dark-overlay h3, .custom-dark-overlay p {
  z-index: 999;
}

@media only screen and (max-width: 400px) {
  .gb-container.gb-container-71d67dca {
    min-height: 421px;
  }
}
/* Force Contact Form 7 inputs to stack in one column */
.wpcf7 form {
  display: block !important;
}

.wpcf7-form-control-wrap,
.wpcf7-form-control,
.wpcf7 form label {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  float: none !important;
  margin-bottom: 1em;
}

.wpcf7-radio {
  display: block !important;
}

.wpcf7-form-control.wpcf7-submit {
  width: auto !important;
}

/* Fix radio button alignment */
.wpcf7-form .wpcf7-radio {
  display: flex !important;
  gap: 1em;
  flex-wrap: wrap;
  margin-top: 0.5em;
}

/* Optional: style radio labels nicely */
.wpcf7-form .wpcf7-radio span.wpcf7-list-item {
  display: flex;
  align-items: center;
  gap: 0.25em;
}

/* Force all custom div-wrapped fields into a vertical layout */
.wpcf7 .customer,
.wpcf7 .contact-name,
.wpcf7 .your-email,
.wpcf7 .wpcf7-form-control-wrap {
  display: block;
  width: 100% !important;
  box-sizing: border-box;
  margin-bottom: 1em;
}

/* Remove potential float or flex issues */
.wpcf7 .customer,
.wpcf7 .contact-name,
.wpcf7 .your-email {
  float: none !important;
  flex: none !important;
}

.post-type-archive-product .page-hero,
.tax-product_cat .page-hero,
.single-product .page-hero,
.woocommerce-cart .page-hero,
.woocommerce-checkout .page-hero {
  min-height: 35vh !important;
}

.single-product .product_title {
  color: #000;
  font-family: "Libre Baskerville";
  font-size: 44px;
  font-weight: 400 !important;
}
.single-product .woocommerce-Price-amount {
  color: #293F30;
  font-family: Montserrat;
  font-size: 30px;
  font-weight: 600;
}
.single-product .variations_form select {
  border: 1px solid #C4C4C4;
  background: #FFF;
  padding: 10px 14px;
  font-size: 16px;
  font-weight: 400;
  font-family: "Montserrat";
  color: #000;
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='11'%20height='6'%20viewBox='0%200%2011%206'%20fill='none'%3E%3Cpath%20d='M5.49998%206C5.30284%206%205.10572%205.92797%204.95542%205.78422L0.225656%201.25832C-0.0752187%200.970413%20-0.0752187%200.503627%200.225656%200.21584C0.526409%20-0.0719468%201.01413%20-0.0719468%201.31503%200.21584L5.49998%204.22061L9.68496%200.21598C9.98584%20-0.0718069%2010.4735%20-0.0718069%2010.7742%200.21598C11.0753%200.503767%2011.0753%200.970553%2010.7742%201.25846L6.04455%205.78436C5.89417%205.92814%205.69705%206%205.49998%206Z'%20fill='black'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 12px 7px;
}
.single-product .variations_form select:focus {
  border-color: #1f2a20;
  outline: none;
}
.single-product table.variations th {
  display: none;
}
.single-product table.variations, .single-product table.variations td {
  border: none;
}
.single-product table.variations {
  margin-bottom: 0px;
}
.single-product article {
  display: none;
}
.single-product .single_add_to_cart_button, .single-product .single_add_to_cart_buttonled:hover {
  background: #293F30 !important;
  opacity: 1 !important;
  cursor: pointer;
}
.single-product .quantity {
  display: flex;
}
.single-product .woocommerce-product-gallery__image {
  border: 1px solid #E5E5E5;
}
.single-product .woocommerce-product-gallery {
  position: relative;
}
.single-product .woocommerce-product-gallery__trigger {
  position: absolute;
  top: 15px;
  right: 15px;
  background: #DFECE1;
  padding: 6px 8px;
  line-height: 1;
  font-size: 14px;
  text-decoration: none;
}
.single-product .woocommerce-product-gallery__trigger:hover {
  background: rgba(223, 236, 225, 0.5); /* más sólido en hover */
}
.single-product .woocommerce-tabs.wc-tabs-wrapper {
  margin-top: 40px;
}
.single-product .woocommerce-tabs.wc-tabs-wrapper .tabs.wc-tabs {
  display: flex;
  background-color: #F9F9F9;
}
.single-product .woocommerce-tabs.wc-tabs-wrapper ul {
  list-style: none;
  margin: 0px;
  color: #000;
  text-align: center;
  font-family: Montserrat;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-transform: capitalize;
}
.single-product .woocommerce-tabs.wc-tabs-wrapper ul li {
  padding: 17px 35px;
}
.single-product .woocommerce-tabs.wc-tabs-wrapper ul {
  /*  li.active {
       position: relative;
       padding-bottom: 6px; 
   }

   li.active::after {
       content: "";
       position: absolute;
       left: 0;
       bottom: 0;
       width: 100%;
       height: 4px; 
       background: #7B9F4E;  
   } */
}
.single-product .woocommerce-tabs.wc-tabs-wrapper ul li.active a {
  border-bottom: 4px solid #7B9F4E;
  padding-bottom: 10px;
}
.single-product .woocommerce-tabs.wc-tabs-wrapper ul a {
  text-decoration: none;
}
.single-product .woocommerce-tabs.wc-tabs-wrapper .woocommerce-Tabs-panel {
  padding: 35px;
}
.single-product .woocommerce-tabs.wc-tabs-wrapper .woocommerce-Tabs-panel h2 {
  display: none !important;
}
.single-product .woocommerce-tabs.wc-tabs-wrapper .woocommerce-Tabs-panel p {
  color: #000;
  font-family: Montserrat;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px;
  text-transform: capitalize;
}
.single-product .woocommerce-tabs.wc-tabs-wrapper .woocommerce-Tabs-panel .woocommerce-product-attributes-item__value {
  padding: 5px 15px;
}
.single-product form.cart {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.single-product .woocommerce-notices-wrapper {
  padding-left: var(--g-padding);
  padding-right: var(--g-padding);
}
.single-product .woocommerce-notices-wrapper .woocommerce-message {
  background: #7B9F4E;
  color: #FFF;
  font-family: Montserrat;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
}
.single-product .woocommerce-notices-wrapper .woocommerce-message a, .single-product .woocommerce-notices-wrapper .woocommerce-message a:hover {
  background: #293F30;
  padding: 5px 16px;
}
.single-product .woocommerce-notices-wrapper .woocommerce-message::before {
  content: none;
}
.single-product .woocommerce-notices-wrapper .woocommerce-message::before {
  content: "";
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36' fill='none'%3E%3Cpath d='M18 0C27.9411 0 36 8.05887 36 18C36 27.9411 27.9411 36 18 36C8.05887 36 0 27.9411 0 18C0 8.05887 8.05887 0 18 0ZM24.1807 12.3467C23.7625 11.8843 23.083 11.8843 22.6641 12.3467L15.8555 19.8633L13.3359 17.0811C12.9171 16.6187 12.2383 16.6188 11.8193 17.0811L11.3145 17.6396C10.8957 18.1011 10.8957 18.8502 11.3145 19.3125L15.3506 23.7686C15.4842 23.9169 15.6661 24 15.8555 24C16.0449 24 16.2277 23.9169 16.3613 23.7686L24.6855 14.5781C25.1044 14.1165 25.1044 13.3667 24.6855 12.9043L24.1807 12.3467Z' fill='white'/%3E%3C/svg%3E") no-repeat center;
  background-size: contain;
}
.single-product .woocommerce-notices-wrapper .woocommerce-message .wc-forward::after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 14px;
  margin-left: 8px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='8' viewBox='0 0 16 8' fill='none'%3E%3Cpath d='M15.8167 3.54332C15.8165 3.54313 15.8163 3.5429 15.8161 3.54271L12.5504 0.187869C12.3057 -0.0634537 11.91 -0.0625185 11.6665 0.190062C11.423 0.442611 11.4239 0.851095 11.6686 1.10245L13.8612 3.35484L0.625 3.35484C0.279812 3.35484 0 3.64368 0 4C0 4.35632 0.279812 4.64516 0.625 4.64516L13.8611 4.64516L11.6686 6.89755C11.4239 7.1489 11.423 7.55739 11.6665 7.80994C11.91 8.06255 12.3058 8.06342 12.5504 7.81213L15.8161 4.45729C15.8163 4.4571 15.8165 4.45687 15.8167 4.45668C16.0615 4.20448 16.0607 3.79468 15.8167 3.54332Z' fill='white'/%3E%3C/svg%3E") no-repeat center;
  background-size: contain;
}
.single-product .qty {
  background-color: #F9F9F9 !important;
}
.single-product .product-category-below-cart {
  margin-top: 37px;
  color: #000;
  font-family: Montserrat;
  font-size: 16px;
  font-style: normal;
  line-height: normal;
  text-transform: capitalize;
}
.single-product .related.products ul {
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
@media (max-width: 768px) {
  .single-product .related.products ul {
    grid-template-columns: repeat(1, 1fr);
  }
}
.single-product .related.products .view-product-btn {
  background-color: #293F30;
}
.single-product .related.products .woocommerce-Price-amount {
  color: #293F30;
  text-align: center;
  font-family: Montserrat;
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  text-transform: capitalize;
}
.single-product .related.products .woocommerce-loop-product__title {
  color: #7B9F4E;
  text-align: center;
  font-family: Montserrat;
  font-size: 22px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  text-transform: capitalize;
}
.single-product .related-title {
  text-align: center;
}

.woocommerce-cart .woocommerce {
  display: flex;
}
.woocommerce-cart .cart-collaterals {
  width: 30%;
}
.woocommerce-cart .cart-collaterals .cart_totals {
  float: none;
  width: 100%;
}
.woocommerce-cart .woocommerce-cart-form {
  width: 70%;
}
.woocommerce-cart .wc-block-components-text-input input[type=text] {
  border-radius: 0px !important;
  border-color: #C4C4C4;
}
.woocommerce-cart .wc-block-components-button, .woocommerce-cart button.wc-block-components-totals-coupon__button {
  background-color: #293F30 !important;
}
.woocommerce-cart .wc-block-components-totals-footer-item-tax-value {
  color: #000;
  font-family: Montserrat;
  font-size: 20px;
  font-weight: 700;
}
.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name {
  color: #7B9F4E;
  font-family: Montserrat;
  font-size: 22px;
  font-weight: 500;
  text-decoration: none;
}
.woocommerce-cart .wp-block-woocommerce-cart-totals-block .wc-block-cart__totals-title {
  background: #F9F9F9 !important;
  border-top: 1px solid #DFECE2;
  padding-right: 35px;
  padding-left: 35px;
  color: #000;
  font-family: Montserrat;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-transform: capitalize;
  padding-left: 35px;
}
.woocommerce-cart .wp-block-woocommerce-cart-totals-block .wc-block-components-panel__button {
  font-size: 20px;
  font-weight: 500;
}
.woocommerce-cart .wp-block-woocommerce-cart-totals-block .wc-block-components-totals-item__label {
  font-weight: 700;
}
.woocommerce-cart .wp-block-woocommerce-cart-totals-block .wc-block-components-totals-coupon__input input {
  height: 100%;
}
.woocommerce-cart .wc-block-cart-items .wc-block-components-quantity-selector {
  width: 150px;
}
.woocommerce-cart .wc-block-cart-items .wc-block-components-quantity-selector__button,
.woocommerce-cart .wc-block-cart-items .wc-block-components-quantity-selector__input {
  width: 50px !important;
  height: 50px;
  font-size: 16px;
  text-align: center;
}
.woocommerce-cart .wc-block-cart-items .wc-block-components-quantity-selector__input {
  border-right: 1px solid #C4C4C4;
  border-left: 1px solid #C4C4C4;
}
.woocommerce-cart .wc-block-cart-items .wc-block-components-product-metadata__description {
  display: none;
}
.woocommerce-cart .wc-block-cart-items thead tr th {
  background: #F9F9F9 !important;
  border-top: 1px solid #DFECE2;
}
.woocommerce-cart .wc-block-cart-items thead tr th span {
  padding-right: 35px;
  padding-left: 35px;
  color: #000;
  font-family: Montserrat;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-transform: capitalize;
}
.woocommerce-cart .wc-block-cart-items thead tr .wc-block-cart-items__header-product {
  visibility: visible;
}
.woocommerce-cart .wc-block-cart-items thead tr .wc-block-cart-items__header-product span {
  visibility: hidden;
}
.woocommerce-cart .wc-block-cart-items tbody .wc-block-components-product-name {
  color: #7B9F4E;
  text-align: center;
  font-family: Montserrat;
  font-size: 22px !important;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  text-transform: capitalize;
}
.woocommerce-cart .wc-block-cart-items tbody .wc-block-cart-item__image {
  text-align: center;
}
.woocommerce-cart .wc-block-cart-items tbody .wc-block-cart-item__image img {
  width: 100px !important;
}
.woocommerce-cart .wc-block-cart-items .wc-block-formatted-money-amount {
  color: #293F30;
  font-family: Montserrat;
  font-size: 24px;
  font-weight: 600;
}
.woocommerce-cart .wc-block-cart-items .wc-block-components-product-details__size {
  color: #000;
  font-family: Montserrat;
  font-size: 20px;
}
.woocommerce-cart .wc-block-cart-items .wc-block-cart-item__remove-link {
  color: #000;
  font-family: Montserrat !important;
  font-size: 16px !important;
  font-style: normal;
  font-weight: 400;
}
.woocommerce-cart .wc-block-cart-items .wc-block-components-quantity-selector, .woocommerce-cart .wc-block-cart-items .wc-block-components-quantity-selector__button {
  border-radius: 0px !important;
}
.woocommerce-cart .wc-block-cart-items .wc-block-cart-items__row img {
  border: 1px solid #E5E5E5;
}

.woocommerce-checkout .wc-block-components-button {
  background-color: #293F30;
}
.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
  background: #7B9F4E !important;
  color: white !important;
  border: 0px !important;
}
.woocommerce-checkout .wc-block-components-checkout-step__heading {
  background: #F9F9F9;
  padding: 17px 35px;
  margin-bottom: 30px;
  border-bottom: 1px solid #DFECE2;
}
.woocommerce-checkout .wc-block-components-checkout-step__heading h2 {
  color: #000;
  font-family: Montserrat;
  font-size: 20px;
  font-weight: 700;
}
.woocommerce-checkout .wc-block-components-checkout-step__container {
  border-bottom: 1px solid #DFECE2;
  padding-bottom: 20px;
}
.woocommerce-checkout .wp-block-woocommerce-checkout-contact-information-block .wc-block-components-checkout-step__heading {
  border-top: 1px solid #DFECE2;
}
.woocommerce-checkout .wc-block-components-checkout-order-summary__title {
  background: #F9F9F9;
  border-bottom: 1px solid #DFECE2;
  padding: 17px 35px;
  margin-bottom: 30px;
  color: #000;
  font-family: Montserrat;
  font-size: 20px;
  font-weight: 700;
  margin-top: 0px !important;
}
.woocommerce-checkout .wc-block-components-checkout-order-summary__title p {
  margin-bottom: 0px !important;
}
.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
  border: none !important;
}
.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text,
.woocommerce-checkout .wc-block-components-totals-footer-item-tax-value,
.woocommerce-checkout .wc-block-components-totals-item__label {
  color: #000;
  font-family: Montserrat;
  font-size: 20px !important;
  font-weight: 700 !important;
}
.woocommerce-checkout .wc-block-components-form label {
  color: rgba(0, 0, 0, 0.7) !important;
  font-family: Montserrat !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}
.woocommerce-checkout .woocommerce-info {
  background: #7B9F4E;
  color: #FFF;
  font-family: Montserrat;
  font-size: 16px !important;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
}
.woocommerce-checkout h3 {
  background-color: #F9F9F9;
  border-top: 1px solid #DFECE2;
  border-bottom: 1px solid #DFECE2;
  padding: 35px 16px;
  color: #000;
  font-family: Montserrat;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-transform: capitalize;
}
.woocommerce-checkout {
  /* LABELS checkout (billing, shipping, additional, custom fields) */
}
.woocommerce-checkout label:not(.screen-reader-text),
.woocommerce-checkout #ship-to-different-address span {
  color: rgba(0, 0, 0, 0.7);
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
.woocommerce-checkout {
  /* PLACEHOLDERS inputs y textarea */
}
.woocommerce-checkout input::-moz-placeholder, .woocommerce-checkout textarea::-moz-placeholder {
  color: rgba(0, 0, 0, 0.7);
  font-family: "Montserrat", sans-serif;
  font-size: 15px;
  font-style: normal;
  font-weight: 300;
  line-height: normal;
}
.woocommerce-checkout input::placeholder,
.woocommerce-checkout textarea::placeholder {
  color: rgba(0, 0, 0, 0.7);
  font-family: "Montserrat", sans-serif;
  font-size: 15px;
  font-style: normal;
  font-weight: 300;
  line-height: normal;
}
.woocommerce-checkout .add_gift_card_form button.button {
  background-color: #293f30 !important;
  font-size: 16px;
}
.woocommerce-checkout .add_gift_card_form h4 {
  font-family: Montserrat;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
}
.woocommerce-checkout {
  /* SELECTS (Occasion Type, Residence Type, Country, State) */
}
.woocommerce-checkout select {
  color: rgba(0, 0, 0, 0.7);
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  font-weight: 700;
}
.woocommerce-checkout input, .woocommerce-checkout select, .woocommerce-checkout textarea, .woocommerce-checkout .select2-selection {
  border-radius: 0px !important;
  border: 1px solid #284030 !important;
}
.woocommerce-checkout .place-order button {
  background-color: #293F30 !important;
  color: #FFF;
  text-align: center;
  font-family: Montserrat;
  font-size: 16px !important;
  font-style: normal;
  font-weight: 400 !important;
  line-height: normal;
}
.woocommerce-checkout .select2-results__option--highlighted {
  background-color: #293F30 !important;
}
.woocommerce-checkout .checkout_coupon.woocommerce-form-coupon button {
  background-color: #293F30 !important;
  font-family: Montserrat;
  font-size: 16px;
}

/* Forzar que el bloque de calendario y métodos ocupe el mismo ancho que la columna 1 */
#wc-od,
#custom-shipping-wrapper {
  width: 52.9411764706%;
  float: left;
  clear: both; /* Asegura que no se suban otros elementos al lado */
  margin-right: 5.8823529412%;
  box-sizing: border-box;
  margin-bottom: 30px;
}

/* En móvil volvemos al 100% para que no se vea cortado */
@media (max-width: 767px) {
  #wc-od,
  #custom-shipping-wrapper {
    width: 100%;
    float: none;
    margin-right: 0;
  }
}
/* Estilo para que el bloque de métodos combine con el del calendario */
#custom-shipping-wrapper {
  background: #ffffff;
  padding: 0; /* Quitamos padding si quieres que se alinee exacto a los bordes de arriba */
  border: none; /* O déjalo con border si prefieres que resalte */
}

/* Si estamos en modo Delivery, ocultar cualquier rastro de pickup dentro del wrapper movido */
body.mo-delivery-mode #custom-shipping-wrapper,
body.mo-delivery-mode #shipping_method li:has(input[value*=pickup]),
body.mo-delivery-mode #shipping_method li:has(input[value*=local_pickup]) {
  display: none !important;
}

/* Si estamos en modo Pickup, ocultar métodos de delivery */
body.mo-pickup-mode #shipping_method li:not(:has(input[value*=pickup])):not(:has(input[value*=local_pickup])) {
  display: none !important;
}

body.mo-pickup-mode .woocommerce-shipping-fields,
body.mo-pickup-mode .delivery-info-title {
  display: none !important;
}

/* ELIMINAR FILA DE ENVÍO EN EL CARRITO DE BLOQUES */
/* Oculta el contenedor completo de la fila de envío */
.wc-block-cart-items__summary .wc-block-components-totals-shipping,
.wp-block-woocommerce-cart-order-summary-shipping-block,
.wc-block-components-totals-item__label:contains("Pickup"),
.wc-block-components-totals-item__label:contains("Recogida"),
.wp-block-woocommerce-cart-order-summary-totals-block {
  display: none !important;
}

/* Elimina el espacio vacío o bordes que puedan quedar */
.wc-block-components-totals-shipping, .wp-block-woocommerce-cart-order-summary-totals-block {
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Pligin add-ons*/
.capo-addon-item__name {
  white-space: normal !important; /* Permite que el texto salte de línea */
  word-wrap: break-word; /* Rompe palabras largas si es necesario */
  overflow-wrap: break-word;
  display: block; /* Asegura que ocupe su bloque */
  line-height: 1.2em; /* Ajusta el interlineado para que se vea limpio */
}

.capo-addon-items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px; /* Espacio entre los items */
}
.capo-addon-items .capo-addon-item__name {
  font-size: 12px;
  font-family: "Libre Baskerville";
}
.capo-addon-items .woocommerce-Price-amount {
  font-size: 15px;
}

.capo-addon-item__image img {
  width: 100px;
  height: 100px;
}

/* Para que en celulares se vea en 1 sola columna y no quede apretado */
@media (max-width: 768px) {
  .capo-addon-items {
    grid-template-columns: 1fr;
  }
}
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
  padding: 11px 75px !important;
}

/* =========================================
   ESTADO DEFAULT (Base)
   ========================================= */
.custom-checkout-btn {
  /* Tipografía */
  color: #FFF;
  text-align: center;
  font-family: "Montserrat", sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  text-transform: capitalize;
  /* Estructura y Color */
  background: #556F36;
  padding: 10px 20px;
  border: 2px solid transparent; /* Borde transparente para evitar saltos en el focus */
  cursor: pointer;
  outline: none;
  transition: all 0.2s ease-in-out; /* Transición suave entre estados */
}

/* =========================================
   ESTADO HOVER (Pasar el cursor)
   ========================================= */
.custom-checkout-btn:hover {
  background: #7BA04E;
}

/* =========================================
   ESTADO FOCUS (Seleccionado por teclado/clic)
   ========================================= */
.custom-checkout-btn:focus {
  background: #969271;
  border: 2px solid #A4C679;
}

/* =========================================
   ESTADO PRESSED (Activo / Clic sostenido)
   ========================================= */
.custom-checkout-btn:active {
  background: #405535;
  border-color: transparent;
}

/* =========================================
   ESTADO DISABLED (Deshabilitado)
   ========================================= */
.custom-checkout-btn:disabled {
  background: #EEE;
  color: #BDBDBD; /* Gris claro según tu imagen */
  cursor: not-allowed;
  border-color: transparent;
}

/* =========================================
   VARIANTE OUTLINE (Si necesitas usarla)
   ========================================= */
.custom-checkout-btn.btn-outline {
  background: transparent;
  color: #7B9F4E;
  border: 1px solid #7B9F4E;
}

/* Hover opcional para la variante outline para mejorar UX */
.custom-checkout-btn.btn-outline:hover {
  background: #7B9F4E;
  color: #FFF;
}

/* Ocultar la fila nativa de notas en la tabla de detalles del pedido */
.woocommerce-order-details .woocommerce-table tfoot tr:has(th:contains("Note")) {
  display: none !important;
}

/* ==========================================================
   ALINEACIÓN DE COLUMNAS CHECKOUT (Delivery & Pickup)
   ========================================================== */
@media (min-width: 992px) {
  form.woocommerce-checkout {
    display: grid !important;
    grid-template-columns: 55% 40% !important;
    -moz-column-gap: 5%;
         column-gap: 5%;
    align-items: start; /* Importante: alinea todo al inicio de su fila */
  }
  /* Columna Izquierda: Se apilan solos por orden de HTML */
  #wc-od,
  #custom-shipping-wrapper,
  #customer_details,
  .woocommerce-additional-fields {
    grid-column: 1;
    width: 100% !important;
  }
  #order_review_heading,
  #order_review {
    width: 100% !important;
  }
  /* Columna Derecha: El nuevo wrapper lo clava arriba */
  #order_review_wrapper_column {
    grid-column: 2;
    grid-row: 1/span 5; /* Ocupa desde la fila 1 y "flota" al lado */
    border-radius: 8px;
  }
}
/* Quitar el texto (optional) de los campos personalizados */
#mas_occasion_type_field .optional,
#mas_residence_type_field .optional,
#substitution_agreement_field .optional {
  display: none !important;
}

.woocommerce-error {
  color: var(--accent) !important;
}

.woocommerce-error li {
  font-weight: 700;
}

.custom-radio-option .radio-content {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.custom-radio-option .woocommerce-Price-amount {
  font-size: 15px !important;
}

/* Contenedor principal de las variaciones */
.custom-radio-variations {
  display: flex;
  flex-direction: row;
  gap: 12px;
  margin-bottom: 20px;
  margin-top: 10px;
}

@media (max-width: 769px) {
  .custom-radio-variations {
    flex-direction: column;
    gap: 12px;
  }
  .single-product .woocommerce-tabs.wc-tabs-wrapper ul {
    font-size: 14px;
  }
  .woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
    padding: 11px 20px !important;
  }
}
/* Estilo individual de cada tarjeta */
.custom-radio-option {
  display: flex;
  align-items: center;
  padding: 15px 20px;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  background-color: #ffffff;
  margin: 0; /* Reseteo por si el theme añade margen a los labels */
}

/* Efecto Hover */
.custom-radio-option:hover {
  border-color: #b5cc99;
}

/* ESTADO SELECCIONADO (Aprovechamos :has como hiciste en el checkout) */
.custom-radio-option:has(input[type=radio]:checked) {
  border-color: #7B9F4E; /* Tu verde principal */
  background-color: #f4f8ef; /* Fondo verde muy clarito */
}

/* Estilo del input radio */
.custom-radio-option input[type=radio] {
  margin-right: 15px;
  width: 22px;
  height: 22px;
  accent-color: #7B9F4E; /* Colorea el círculo en navegadores modernos */
  cursor: pointer;
}

/* Texto de la opción */
.custom-radio-option .radio-label {
  font-family: "Libre Baskerville";
  font-size: 15px;
  font-weight: 600;
  color: #333333;
}

/* Ocultar el botón de "Limpiar selección" nativo de Woo */
.reset_variations {
  display: none !important;
}

.variation-selector-title {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 15px;
  color: var(--accent);
  display: block;
}

/* Ajuste para que la primera tarjeta no esté tan pegada al título */
.custom-radio-variations {
  margin-top: 5px !important;
}

/*  */
/* 1. Convertimos el formulario en un contenedor Flex */
.variations_form.cart {
  display: flex !important;
  flex-direction: column;
}

/* 2. El bloque del botón y precio (Single Variation) al principio */
.single_variation_wrap {
  order: 1 !important;
  margin-bottom: 20px; /* Espacio debajo del botón */
  display: flex;
  gap: 35px;
}

/* 3. La tabla de variaciones (los Radio Buttons) en segundo lugar */
.variations {
  order: 2 !important;
}

/* 4. El Grid del plugin (si está en el hook que pusimos antes) */
/* Nota: Si el plugin tiene una clase específica, úsala aquí */
.capo-addon-panel {
  order: 3 !important;
}

/* Contenedor principal de la columna 1 */
.woocommerce-shipping-fields {
  display: flex !important;
  flex-direction: column !important;
}

/* 1. Los campos de dirección (el formulario en sí) van primero */
.woocommerce-shipping-fields .shipping_address {
  order: 1 !important;
  display: block !important; /* Aseguramos que se vea en modo Delivery */
}

/* 2. El bloque del checkbox va después de los campos */
#ship-to-different-address {
  order: 2 !important;
  margin-top: 20px; /* Espacio para que no pegue con los campos de arriba */
  padding-top: 15px;
  border-top: 1px solid #eee; /* Opcional: una línea divisoria suave */
}

/* Bloqueo total del día de hoy cuando el corte está activo */
body.mo-delivery-cutoff-active .ui-datepicker-today {
  background: #f0f0f0 !important;
  pointer-events: none !important;
  cursor: not-allowed !important;
}
body.mo-delivery-cutoff-active .ui-datepicker-today a, body.mo-delivery-cutoff-active .ui-datepicker-today span {
  color: #ccc !important;
  background: #f0f0f0 !important;
  border-color: transparent !important;
  pointer-events: none !important;
}

/* gift card*/
.is-gift-card .variations_form {
  flex-direction: column-reverse !important;
}
.is-gift-card .single_variation_wrap {
  flex-direction: column !important;
}
.is-gift-card .custom-radio-variations .radio-label {
  display: none;
}/*# sourceMappingURL=style.css.map */