/*
Theme Name: Cruzeiro Gomas Theme
Theme URI: https://www.behance.net/alvarodonders
Description: Tema para cruzeirogomas.cl 2025
Date: Mayo 2025
Author: Alvaro Donders
Author URI: https://www.behance.net/alvarodonders
Version: 1.0
*/

/* CORE THEME BASE RESET */

/****************************************
Reset
*****************************************/

/* Box sizing rules */

*,
*::before,
*::after {
    -webkit-text-decoration: none;
    text-decoration: none;
    box-sizing: border-box;
    box-sizing: border-box;
    scroll-margin-top: 0;
}

/* Remove default margin */

* {
  margin: 0;
  padding: 0;
  font: inherit;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */

ul, ul[role='list'],
ol, ol[role='list'] {
  list-style: none;
}

/* Set core root defaults */

html:focus-within {
  scroll-behavior: smooth;
}

html, body{
    height: 100%;
}

/* Set core body defaults */

body {
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles
a:not([class]) {
  font-size: inherit;
  color: inherit;
  text-decoration-skip-ink: auto;
}
*/

/* Make images easier to work with */

img,
picture,
svg {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
  font: inherit;
}

iframe {
  border: none;
}

li {
  list-style: none;
}

a {
  font-size: inherit;
  color: inherit;
}

a:hover {
  transition: 0.3s;
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
   scroll-behavior: auto;
  }
  
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* BASE LAYOUT HELPERS */

/****************************************
Layout Tag & Token Helpers
*****************************************/

/**SCREEN SIZES & MEDIA QUERIES**/

/* 432px - @$xs */

/* 640px - @$sm */

/* 768px - @$md */

/* 992px - @$lg */

/* 1280px - @$xl */

/* 1440px - @$xxl */

/**SCREENS TO VARS**/

/**COLOR SCHEMES**/

/* @$dark */

/* @$light */

/*Colors*/

/*Displays, Positions, Aligns*/

.d-block {
    display: block !important;
}

.d-inline {
    display: inline !important;
}

.d-iblock {
    display: inline-block !important;
}

.d-flex {
    display: flex !important;
}

.d-none {
    display: none !important;
}

.d-grid {
    display: grid !important;
}

.pos-a {
    position: absolute !important;
}

.pos-rel {
    position: relative !important;
}

.justify-content-start {
    justify-content: flex-start !important;
}

.justify-content-end {
    justify-content: flex-end !important;
}

.justify-content-center {
    justify-content: center !important;
}

.justify-content-between {
    justify-content: space-between !important;
}

.justify-content-around {
    justify-content: space-around !important;
}

.justify-content-evenly {
    justify-content: space-evenly !important;
}

.align-items-start {
    align-items: flex-start !important;
}

.align-items-end {
    align-items: flex-end !important;
}

.align-items-center {
    align-items: center !important;
}

.align-items-baseline {
    align-items: baseline !important;
}

.align-items-stretch {
    align-items: stretch !important;
}

.align-content-start {
    align-content: flex-start !important;
}

.align-content-end {
    align-content: flex-end !important;
}

.align-content-center {
    align-content: center !important;
}

.align-content-between {
    align-content: space-between !important;
}

.align-content-around {
    align-content: space-around !important;
}

.align-content-stretch {
    align-content: stretch !important;
}

.align-self-auto {
    align-self: auto !important;
}

.align-self-start {
    align-self: flex-start !important;
}

.align-self-end {
    align-self: flex-end !important;
}

.align-self-center {
    align-self: center !important;
}

.align-self-baseline {
    align-self: baseline !important;
}

.align-self-stretch {
    align-self: stretch !important;
}

/*Size Helpers*/

.w100 {
    width: 100% !important;
}

.h100 {
    height: 100% !important;
}

.s100 {
    width: 100% !important;
    height: 100% !important;
}

/*Text Helpers*/

.tac {
    text-align: center !important;
}

.tal {
    text-align: left !important;
}

.tar {
    text-align: right !important;
}

.lspace1 {
    letter-spacing: 1px !important;
}

.lspace2 {
    letter-spacing: 2px !important;
}

/*ALIGN HELPERS*/

/*Spacing Helpers*/

.m-0 {
    margin: 0 !important;
}

.m-025 {
    margin: 0.25rem !important;
}

.m-05 {
    margin: 0.5rem !important;
}

.m-1 {
    margin: 1rem !important;
}

.m-15 {
    margin: 1.5rem !important;
}

.m-2 {
    margin: 2rem !important;
}

.m-25 {
    margin: 2.5rem !important;
}

.m-3 {
    margin: 3rem !important;
}

.m-4 {
    margin: 4rem !important;
}

.m-auto {
    margin: auto !important;
}

.mx-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
}

.mx-025 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
}

.mx-05 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
}

.mx-1 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
}

.mx-15 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
}

.mx-2 {
    margin-right: 2rem !important;
    margin-left: 2rem !important;
}

.mx-25 {
    margin-right: 2.5rem !important;
    margin-left: 2.5rem !important;
}

.mx-3 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
}

.mx-4 {
    margin-right: 4rem !important;
    margin-left: 4rem !important;
}

.mx-auto {
    margin-right: auto !important;
    margin-left: auto !important;
}

.my-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.my-025 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
}

.my-05 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
}

.my-1 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
}

.my-15 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
}

.my-2 {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
}

.my-25 {
    margin-top: 2.5rem !important;
    margin-bottom: 2.5rem !important;
}

.my-3 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
}

.my-4 {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
}

.my-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
}

.mt-0 {
    margin-top: 0 !important;
}

.mt-025 {
    margin-top: 0.25rem !important;
}

.mt-05 {
    margin-top: 0.5rem !important;
}

.mt-1 {
    margin-top: 1rem !important;
}

.mt-15 {
    margin-top: 1.5rem !important;
}

.mt-2 {
    margin-top: 2rem !important;
}

.mt-25 {
    margin-top: 2.5rem !important;
}

.mt-3 {
    margin-top: 3rem !important;
}

.mt-4 {
    margin-top: 4rem !important;
}

.mt-auto {
    margin-top: auto !important;
}

.mr-0 {
    margin-right: 0 !important;
}

.mr-025 {
    margin-right: 0.25rem !important;
}

.mr-05 {
    margin-right: 0.5rem !important;
}

.mr-1 {
    margin-right: 1rem !important;
}

.mr-15 {
    margin-right: 1.5rem !important;
}

.mr-2 {
    margin-right: 2rem !important;
}

.mr-25 {
    margin-right: 2.5rem !important;
}

.mr-3 {
    margin-right: 3rem !important;
}

.mr-4 {
    margin-right: 4rem !important;
}

.mr-auto {
    margin-right: auto !important;
}

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

.mb-025 {
    margin-bottom: 0.25rem !important;
}

.mb-05 {
    margin-bottom: 0.5rem !important;
}

.mb-1 {
    margin-bottom: 1rem !important;
}

.mb-15 {
    margin-bottom: 1.5rem !important;
}

.mb-2 {
    margin-bottom: 2rem !important;
}

.mb-25 {
    margin-bottom: 2.5rem !important;
}

.mb-3 {
    margin-bottom: 3rem !important;
}

.mb-4 {
    margin-bottom: 4rem !important;
}

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

.ml-0 {
    margin-left: 0 !important;
}

.ml-025 {
    margin-left: 0.25rem !important;
}

.ml-05 {
    margin-left: 0.5rem !important;
}

.ml-1 {
    margin-left: 1rem !important;
}

.ml-15 {
    margin-left: 1.5rem !important;
}

.ml-2 {
    margin-left: 2rem !important;
}

.ml-25 {
    margin-left: 2.5rem !important;
}

.ml-3 {
    margin-left: 3rem !important;
}

.ml-4 {
    margin-left: 4rem !important;
}

.ml-auto {
    margin-left: auto !important;
}

.p-0 {
    padding: 0 !important;
}

.p-025 {
    padding: 0.25rem !important;
}

.p-05 {
    padding: 0.5rem !important;
}

.p-1 {
    padding: 1rem !important;
}

.p-15 {
    padding: 1.5rem !important;
}

.p-2 {
    padding: 2rem !important;
}

.p-25 {
    padding: 2.5rem !important;
}

.p-3 {
    padding: 3rem !important;
}

.p-4 {
    padding: 4rem !important;
}

.px-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
}

.px-025 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
}

.px-05 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
}

.px-1 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
}

.px-15 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
}

.px-2 {
    padding-right: 2rem !important;
    padding-left: 2rem !important;
}

.px-25 {
    padding-right: 2.5rem !important;
    padding-left: 2.5rem !important;
}

.px-3 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
}

.px-4 {
    padding-right: 4rem !important;
    padding-left: 4rem !important;
}

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

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

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

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

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

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

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

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

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

.pt-0 {
    padding-top: 0 !important;
}

.pt-025 {
    padding-top: 0.25rem !important;
}

.pt-05 {
    padding-top: 0.5rem !important;
}

.pt-1 {
    padding-top: 1rem !important;
}

.pt-15 {
    padding-top: 1.5rem !important;
}

.pt-2 {
    padding-top: 2rem !important;
}

.pt-25 {
    padding-top: 2.5rem !important;
}

.pt-3 {
    padding-top: 3rem !important;
}

.pt-4 {
    padding-top: 4rem !important;
}

.pr-0 {
    padding-right: 0 !important;
}

.pr-025 {
    padding-right: 0.25rem !important;
}

.pr-05 {
    padding-right: 0.5rem !important;
}

.pr-1 {
    padding-right: 1rem !important;
}

.pr-15 {
    padding-right: 1.5rem !important;
}

.pr-2 {
    padding-right: 2rem !important;
}

.pr-25 {
    padding-right: 2.5rem !important;
}

.pr-3 {
    padding-right: 3rem !important;
}

.pr-4 {
    padding-right: 4rem !important;
}

.pb-0 {
    padding-bottom: 0 !important;
}

.pb-025 {
    padding-bottom: 0.25rem !important;
}

.pb-05 {
    padding-bottom: 0.5rem !important;
}

.pb-1 {
    padding-bottom: 1rem !important;
}

.pb-15 {
    padding-bottom: 1.5rem !important;
}

.pb-2 {
    padding-bottom: 2rem !important;
}

.pb-25 {
    padding-bottom: 2.5rem !important;
}

.pb-3 {
    padding-bottom: 3rem !important;
}

.pb-4 {
    padding-bottom: 4rem !important;
}

.pl-0 {
    padding-left: 0 !important;
}

.pl-025 {
    padding-left: 0.25rem !important;
}

.pl-05 {
    padding-left: 0.5rem !important;
}

.pl-1 {
    padding-left: 1rem !important;
}

.pl-2 {
    padding-left: 2rem !important;
}

.pl-25 {
    padding-left: 2.5rem !important;
}

.pl-3 {
    padding-left: 3rem !important;
}

.pl-4 {
    padding-left: 4rem !important;
}

/*Lists*/

ul.inline li{
    display: inline;
}

/*Radius*/

.round-radius{
    border-radius: 100vh;
    border-radius: 100dvh;
}

/*Icons*/

.icon-left{
    padding-right: .5rem;
}

.icon-right{
    padding-left: .5rem;
}

/*Flex Justify Align*/

.flex-center{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-content: center;
    align-items: center;
    text-align: center;
}

.flex-between{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-content: center;
    align-items: center;
    text-align: center;
}

.flex-around{
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-content: center;
    align-items: center;
    text-align: center;
}

.flex-evenly{
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-content: center;
    align-items: center;
    text-align: center;
}

/*Cluster Object*/

.cluster{
    width: 100%;
    background-color: #999;
    min-height: 128px;
    text-align: center;
    color: #333;
    display: flex;
    align-items: center;
    align-content: center;
    justify-content: center;
    justify-items: center;
    font-size: 2rem;
}

.text-bold{
    font-weight: 700!important;
}

.if-mobile{

}

.if-mobile-d-none{
    display: none;
}

.if-mobile-d-block{
    display: block;
}

.text-center{
    text-align: center;
}

/* THEME TOKENS SETTINGS */

/**************************************
* MAIN BODY STYLES / LAYOUT TOKENS
***************************************/

/*Colores principales*/

/*Tipografias*/

/*Links*/

/*Container*/

/*Grid*/

/*Section*/

/*Boxes*/

/*Footer*/

/* BASE LAYOUT CONTAINERS */

/****************************************
Main base Layout styles
*****************************************/

/*Body Structure*/

.wrapper{
    min-height:100vh;
    min-height:100dvh;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto 1fr auto;
    grid-template-areas:
    "header"
    "main"
    "footer";
}

.wrapper:has(.sidebar){
        height: inherit;
        position: relative;
        grid-template-columns: 1fr 3fr;
        grid-template-areas: 
          "header  header"
          "sidebar main"
          "footer  footer";
    }

@media (max-width: 991px) {
    .wrapper:has(.sidebar) {
      grid-template-columns: 4fr;
      grid-template-areas:
        "header"
        "main"
        "sidebar"
        "footer";
    }
}

/*Body*/

body {
    font-family: 'Roboto', sans-serif;
    width: 100%;
    height: 100%;
    font-size: 16px;
    overflow-x: hidden;
    color: #3A3A3A
}

/*Typogrpahy*/

p{
    line-height: 1.5;
    letter-spacing: 0.02rem;
}

h1,h2,h3,h4,h5,h6{
    line-height: 1.1;
    letter-spacing: 0.02rem;
}

h1{
    font-size: 3rem;
    font-weight: 900;
}

h2{
    font-size: 2.5rem;
    font-weight: 900;
}

h3{
    font-size: 2rem;
    font-weight: 900;
    color: #7A7A7A;
}

h4{
    font-size: 1.75rem;
    font-weight: 600;
}

h5{
    font-size: 1.5rem;
    font-weight: 600;
}

h6{
    font-size: 1.25rem;
    font-weight: 500;
}

::-moz-selection {
    color: white;
    background: #0A8146;
  }

::selection {
    color: white;
    background: #0A8146;
  }

/*Links*/

a {
    color: #08502D;
  }

a:hover, a:focus {
color: #3A3A3A;
}

/*Areas*/

header, aside, main, section, article, footer{
    width: 100%;
    padding: 0;
    margin: 0px;
}

main{
    margin-top: 2rem;

}

main.home{
        margin-top: 0px;
    }

main#outlet{
        margin-top: 0px;
    }

section{
    padding: 0px 0px;
}

strong{
    font-weight: 600;
}

/****************************************
Container styles
*****************************************/

.container{
    width: 100%;
    max-width:1140px;
    margin-left: auto;
    margin-right: auto;
    padding: 1rem;
}

.container-xs{
    width: 100%;
    max-width:480px;
    margin:auto;
}

.container-sm{
    width: 100%;
    max-width:640px;
    margin:auto;
}

.container-md{
    width: 100%;
    max-width:768px;
    margin:auto;
}

.container-lg{
    width: 100%;
    max-width:960px;
    margin:auto;
}

.container-xl{
    width: 100%;
    max-width:1140px;
    margin:auto;
}

.container-xxl{
    width: 100%;
    max-width:78rem;
    margin:auto;
}

.container-full{
    max-width:100%;
}

/*Grid Grid Setup*/

.grid {
    display: grid;
    grid-gap: 1rem;
    grid-template-columns: repeat(1, 1fr);
    flex-wrap: wrap;
    justify-content: space-evenly;
    justify-items: center;
    align-content: space-evenly;
    align-items: center;
    gap: 1rem;        
}

.grid.auto{
    grid-auto-flow: row;
    grid-auto-columns: 1fr;
    }

.grid.auto > *{
        container-type:inline-size;
    }

.grid.cols-2{
    }

.grid.cols-3{
    }

.grid.cols-4{
    }

.grid.cols-5{
    }

.grid.cols-6{
    }

.grid.cols-7{
    }

.grid.cols-8{
    }

.grid.cols-9{
    }

.grid.cols-10{
    }

.grid.cols-12{
        grid-template-columns: repeat(2, 1fr);
    }

@media (min-width: 40em) {

    .grid.auto {
        grid-auto-flow: column;
    }
}

@media (min-width: 48em) {

    .grid.cols-2 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 40em) {

    .grid.cols-3 {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 40em) {

    .grid.cols-4 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 48em) {

    .grid.cols-4 {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (min-width: 40em) {

    .grid.cols-5 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 48em) {

    .grid.cols-5 {
        grid-template-columns: repeat(5, 1fr);
    }
}

@media (min-width: 40em) {

    .grid.cols-6 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 48em) {

    .grid.cols-6 {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 62em) {

    .grid.cols-6 {
        grid-template-columns: repeat(6, 1fr);
    }
}

@media (min-width: 40em) {

    .grid.cols-7 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 48em) {

    .grid.cols-7 {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 62em) {

    .grid.cols-7 {
        grid-template-columns: repeat(7, 1fr);
    }
}

@media (min-width: 40em) {

    .grid.cols-8 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 48em) {

    .grid.cols-8 {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (min-width: 62em) {

    .grid.cols-8 {
        grid-template-columns: repeat(8, 1fr);
    }
}

@media (min-width: 40em) {

    .grid.cols-9 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 48em) {

    .grid.cols-9 {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 62em) {

    .grid.cols-9 {
        grid-template-columns: repeat(9, 1fr);
    }
}

@media (min-width: 40em) {

    .grid.cols-10 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 48em) {

    .grid.cols-10 {
        grid-template-columns: repeat(5, 1fr);
    }
}

@media (min-width: 62em) {

    .grid.cols-10 {
        grid-template-columns: repeat(10, 1fr);
    }
}

@media (min-width: 40em) {

    .grid.cols-12 {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (min-width: 48em) {

    .grid.cols-12 {
        grid-template-columns: repeat(6, 1fr);
    }
}

@media (min-width: 62em) {

    .grid.cols-12 {
        grid-template-columns: repeat(12, 1fr);
    }
}

/*Flexbox Grid Setup*/

.flex-grid{
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.flex-grid.auto > *{
        flex: 1 1 200px;
        container-type:inline-size;
    }

.even-flex{
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 1rem;
}

.even-flex > div{
    flex: 1;
}

/*Icons List*/

.nav-icons, .nav-social{
    flex-direction: row!important; 
}

.nav-icons, .nav-social{
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 1rem; 
}

.nav-icons a,.nav-social a{
        padding: 0!important;
    }

.nav-icons a,.nav-social a{
        font-size: 1rem;
    }

/*Embed Content*/

.embed-container {
    position: relative;
    padding-bottom: 56.25%;
    overflow: hidden;
    max-width: 100%;
    height: auto;
}

.embed-container embed,
.embed-container iframe,
.embed-container object {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* MIXINS */

/****************************************
Mixins
*****************************************/

/* @mixin FONT */

/* @mixin LINK */

/* @mixin BACKGROUND COLOR */

/* @mixin BACKGROUND IMAGE */

/* @mixin BORDER */

/* @mixin FLEXBOX */

/* @mixin GRID */

/* COMPONENTS */

/****************************************
Component: Animation
*****************************************/

/****************************************
Component: Buttons
*****************************************/

/*Button*/

.btn{
    display: inline-block;
    padding: 1rem 1.3rem;
    font-size: .8rem;
    font-weight: 500;
    letter-spacing: 0.02rem;
    border-radius: 0px;
    background-color: white;
    color: #0A8146;
    cursor: pointer;
    transition: .3s;
    text-transform: uppercase;
    letter-spacing: 0.5px;

}

.btn:hover{
        background-color: #0A8146;
        color: white;
    }

/*Button Sizes*/

.btn-small{
    font-size: 0.8rem;
}

.btn-medium{
    font-size: 1.2rem;
    padding: 1rem 1.2rem;
}

.btn-big{
    font-size: 1.5rem;
    padding: 1.2rem 1.5rem;
}

/*Button Color Styles*/

.btn-verde{
    background-color: #0A8146;
    color: white;
}

.btn-verde:hover{
        background-color: #3A3A3A;
        color: white;
    }

.btn-amarillo{
    background-color: #FEDF00;
    color: white;
}

.btn-amarillo:hover{
        background-color: #08502D;
        color: white;
    }

/****************************************
Component: Cards
*****************************************/

.card {
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-items: center;
  text-align: center;
  min-height: 100%;
  align-items: center;
  width: 100%;
  border: 1px solid #e9e9e9;

}

.card_container{
    padding: 1rem;

}

.card_container .media{
        margin-bottom: 1rem;
    }

.card_container .media img{

        }

.card_container .info{
            margin-bottom: 1rem;

    }

.card_container .action{
            margin-bottom: 1rem;

    }

.card_container .meta{
        padding-top: .5rem;
        border-top: 1px solid #e9e9e9;
        font-size: 0.7rem;

    }

.card_container .meta .nav-icons{
        gap:.5rem;
        
        }

/****************************************
Component: Forms & Inputs
*****************************************/

.contact-form{
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;

}

.contact-form input[type=email], .contact-form input[type=text], .contact-form textarea{
        max-width: 100% !important;
        border: solid 1px #0A8146 !important;
    }

.contact-form button[type=submit]{
        display: flex !important;
        background-color: #0A8146 !important;
        padding: 1.2rem 2.2rem !important;
        border-radius: 100vw !important;
    }

.contact-form button[type=submit]{
        justify-content: center;
        align-items: center;        
        letter-spacing: 1px;
        margin-left: auto;
        margin-right: auto;
    }

.contact-form .wpforms-required-label{
        color: #FEDF00 !important;
    }

/*Searchbox*/

.search {
    top: 50%;
    left: 50%;
  }

.search * {
    outline: none;
    box-sizing: border-box;
  }

.search__wrapper {
    position: relative;
  }

.search__field {
    width: 2rem;
    height: 2rem;
    color: transparent;
    font-size: .9rem;
    padding: 0.35em 2rem 0.35em 0;
    border: 1px solid transparent;
    border-radius: 0;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
    background-color: transparent;
  }

.search__field:focus {
    border-bottom-color: #ccc;
    width: 192px;
    color: #0A8146;
    cursor: default;
  }

.search__field:focus ~ .search__icon {
    background-color: transparent;
    cursor: pointer;
    pointer-events: auto;
    color: #0A8146;
  }

.search__icon {
    color: white;
    position: absolute;
    top: 0;
    right: 0;
    background-color: #0A8146;
    width: 2rem;
    height: 2rem;
    font-size: 1rem;
    text-align: center;
    border-color: transparent;
    border-radius: 0.3125rem;
    pointer-events: none;
    display: inline-block;
    transition: background-color 0.2s ease-in-out;
  }

.search__field::-webkit-input-placeholder {
    position: relative;
    top: 0;
    left: 0;
    -webkit-transition-property: top, color;
    transition-property: top, color;
    transition-duration: 0.1s;
    transform: translateZ(0);
    backface-visibility: hidden;
    perspective: 1000;
  }

.search__field:-moz-placeholder {
    position: relative;
    top: 0;
    left: 0;
    -moz-transition-property: top, color;
    transition-property: top, color;
    transition-duration: 0.1s;
    transform: translateZ(0);
    backface-visibility: hidden;
    perspective: 1000;
  }

.search__field::-moz-placeholder {
    position: relative;
    top: 0;
    left: 0;
    -moz-transition-property: top, color;
    transition-property: top, color;
    transition-duration: 0.1s;
    transform: translateZ(0);
    backface-visibility: hidden;
    perspective: 1000;
  }

.search__field:-ms-input-placeholder {
    position: relative;
    top: 0;
    left: 0;
    -ms-transition-property: top, color;
    transition-property: top, color;
    transition-duration: 0.1s;
    transform: translateZ(0);
    backface-visibility: hidden;
    perspective: 1000;
  }

.search__field::-webkit-input-placeholder[style*=hidden] {
    visibility: visible !important;
  }

.search__field::-webkit-input-placeholder[style*=hidden] {
    color: #DFDFDF;
    font-size: 0.65em;
    font-weight: normal;
    top: -20px;
    opacity: 1;
  }

.search__field:-moz-placeholder[style*=hidden] {
    visibility: visible !important;
  }

.search__field:-moz-placeholder[style*=hidden] {
    color: #DFDFDF;
    font-size: 0.65em;
    font-weight: normal;
    top: -20px;
    opacity: 1;
  }

.search__field::-moz-placeholder[style*=hidden] {
    visibility: visible !important;
  }

.search__field::-moz-placeholder[style*=hidden] {
    color: #DFDFDF;
    font-size: 0.65em;
    font-weight: normal;
    top: -20px;
    opacity: 1;
  }

.search__field:-ms-input-placeholder[style*=hidden] {
    visibility: visible !important;
  }

.search__field:-ms-input-placeholder[style*=hidden] {
    color: #DFDFDF;
    font-size: 0.65em;
    font-weight: normal;
    top: -20px;
    opacity: 1;
  }

/****************************************
Component: Nav - Primary Navigation
*****************************************/

:root {
    --nav-color-1:#7b4bff;
    --nav-color-2:#ffffff;
    --nav-color-3:#333333;
    --nav-font:'Roboto', sans-serif;
}

/*main-nav*/

#top-nav{
        letter-spacing: 1px;
        font-size: 1rem;
        font-family:'Roboto', sans-serif;
        font-family:var(--nav-font);
    }

#top-nav .wide{
        margin-left: auto;
        margin-right: auto;
    }

/*Navs*/

#top-nav nav {
        position: relative;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        z-index: 2;
        width: 100%;
        top: 0;
    }

#top-nav .logo{        
        z-index: 999;     
    }

#top-nav .logo img{
        height: 40px;        
    }

#top-nav nav ul {
        margin: 0;
        padding: 0;
        list-style: none;
    }

#top-nav .menu {
        vertical-align: top;
        display: flex;
    }

#top-nav .menu li {
        position: relative;
        display: block;
        align-self: center;
    }

#top-nav .menu a {
        display: block;
        position: relative;
        font-size: .7rem;
        padding: 1rem;
        text-transform: uppercase;
        font-weight: 600;

    }

#top-nav .menu ul a,
    #top-nav .menu ul ul a {
        font-size: .6rem;
    }

#top-nav .menu > li {
        float: left;
    }

#top-nav .menu > li:last-child {
        margin-right: 0;
    }

/*Submenus*/

#top-nav .menu ul {
        position: absolute;
        white-space: nowrap;
        z-index: 1;
        left: -99999em;
        opacity: 0;
        transition: 0.3s ease-in-out;
        transform: translateY(-10px);
        background-color: #ffffff;
    }

#top-nav .menu > li:hover > ul {
        left: auto;
        min-width: 100%;
        opacity: 1;
        transform: translateY(0px);
    }

#top-nav .menu > li li:hover > ul {
        left: 100%;
        top: 0;
        opacity: 1;
        transform: translateY(0px);
    }

#top-nav .menu ul .underline:before {
        background: none;
    }

/*Mobile menu showing submenus*/

#top-nav .mobile .menu li:hover ul li ul {
        position: absolute;
        left: 0;
    }

#top-nav .mobile .menu li ul li:hover ul,
    #top-nav .mobile .menu li:hover ul {
        position: relative;
    }

#top-nav .mobile .menu a.underline:before {
        background: none;
    }

/*Arrows*/

#top-nav .menu li a:first-child:nth-last-child(2):after {
        font-family: "FontAwesome";
        content: " \f107";
        padding-left: 5px;
    }

#top-nav .menu li li > a:first-child:nth-last-child(2):after {
        font-family: "FontAwesome";
        content: " \f105";
        right: 5px;
    }

/*Icons*/

#top-nav .mobile .menu .icons {
        display: flex;
    }

/*Butons*/

#top-nav .mobile .menu .btn {
        margin: 15px 0;
    }

#top-nav .wide .menu a.btn i {
        font-size: 14px;
    }

#top-nav .wide .menu a.icon {
        padding: 0 5px;
    }

/*Search*/

#top-nav .mobile form.flexbar input {
        margin-right: 15px;
    }

#top-nav .mobile form.flexbar i {
        justify-content: center;
        align-items: center;
    }

/*
    LEFT MENU Navbar component styles
    */

/*
    HOVERS
    */

/* Underline From Center */

.underline {
        display: inline-block;
        vertical-align: middle;
        transform: perspective(1px) translateZ(0);
        box-shadow: 0 0 1px rgba(0, 0, 0, 0);
        position: relative;
        overflow: hidden;
    }

.underline:before {
        content: "";
        position: absolute;
        z-index: -1;
        left: 51%;
        right: 51%;
        bottom: 0;
        background: #7b4bff;
        background: var(--nav-color-1);
        height: 2px;
        transition-property: left, right;
        transition-duration: 0.15s;
        transition-timing-function: ease-out;
    }

.underline:active:before,
    .underline:focus:before,
    .underline:hover:before {
        left: 0;
        right: 0;
    }

/*Hamburguer*/

.hamburger {
        padding: 15px;
        display: none;
        cursor: pointer;
        transition-property: opacity, filter;
        transition-duration: 0.15s;
        transition-timing-function: linear;
        font: inherit;
        color: inherit;
        text-transform: none;
        background-color: transparent;
        border: 0;
        margin: 0;
        overflow: visible;
        z-index: 9999;
    }

.hamburger:hover {
        opacity: 0.7;
    }

.hamburger.is-active:hover {
        opacity: 0.7;
    }

.hamburger.is-active .hamburger-inner,
    .hamburger.is-active .hamburger-inner::after,
    .hamburger.is-active .hamburger-inner::before {
        background-color: #ffffff;
        background-color: var(--nav-color-2);
    }

.hamburger-box {
        display: flex;
        position: relative;
        width: 30px;
    }

.hamburger-inner {
        display: block;
        top: 50%;
        margin-top: -2px;
    }

.hamburger-inner,
    .hamburger-inner::after,
    .hamburger-inner::before {
        width: 30px;
        height: 4px;
        background-color: #000;
        border-radius: 4px;
        position: absolute;
        transition-property: transform;
        transition-duration: 0.15s;
        transition-timing-function: ease;
    }

.hamburger-inner::after,
    .hamburger-inner::before {
        content: "";
        display: block;
    }

.hamburger-inner::before {
        top: -8px;
    }

.hamburger-inner::after {
        bottom: -8px;
    }

.hamburger--arrowturn.is-active .hamburger-inner {
        transform: rotate(-180deg);
    }

.hamburger--arrowturn.is-active .hamburger-inner::before {
        transform: translate3d(6px, 0, 0) rotate(45deg) scale(0.7, 1);
    }

.hamburger--arrowturn.is-active .hamburger-inner::after {
        transform: translate3d(6px, 0, 0) rotate(-45deg) scale(0.7, 1);
    }

.hamburger.is-active .hamburger-inner,
    .hamburger.is-active .hamburger-inner::after,
    .hamburger.is-active .hamburger-inner::before {
        background-color: #ffffff;
        background-color: var(--nav-color-2);
    }

.hamburger-inner,
    .hamburger-inner::after,
    .hamburger-inner::before {
        background-color: #000;
    }

/*
    Wide Nav
    */

#top-nav .wide .wide-inner .header-menu ul.menu {
        flex-grow: 1;
        
    }

#top-nav .wide .logo img{
        max-height:4em;
    }

#top-nav .menu .nav-icons{
        margin-left: 1em;
    }

#top-nav .wide .menu i {
        font-size: 18px;
        padding: .3em;
    }

/*
    Mobile Nav
    */

#top-nav .mobile {
        display: none;
        padding: .5rem;
        justify-content: space-between;
        
    }

#top-nav .mobile .logo img {
        max-height: 40px;
        margin-left: 15px;
        padding: 0;
    }

#top-nav .mobile .hamburger ~ ul.menu {
        height: 100vh;
        width: 100%;
        position: fixed;
        transition: 0.3s;
        opacity: 0;
        display: flex;
        flex-direction: column;
        text-align: center;
        justify-content: center;
        align-items: center;
        background-color: #ffffff;
        background-color: var(--nav-color-2);
        -webkit-backdrop-filter: blur(2px);
                backdrop-filter: blur(2px);
    }

#top-nav .mobile .menu img.logo {
        height: 5em;
        z-index: 9;
        margin: 0;
    }

.hamburger:hover {
        opacity: 0.7;
    }

.hamburger.is-active:hover {
        opacity: 0.7;
    }

.hamburger-inner,
    .hamburger-inner::after,
    .hamburger-inner::before {
        background-color: #000;
    }

.hamburger.is-active .hamburger-inner,
    .hamburger.is-active .hamburger-inner::after,
    .hamburger.is-active .hamburger-inner::before {
        background-color: #7b4bff;
        background-color: var(--nav-color-1);
    }

#top-nav .mobile .menu .nav-icons{
        margin: 0px;
    }

#top-nav .mobile .menu .nav-icons li{
        display: inline-block;
    }

/*
    Sticky Nav
    */

#top-nav .sticky {
        position: fixed;
        top: 0;
        z-index: 3;
        opacity: 0;
        transition: 0.3s ease-in-out;
        transform: translateY(-100px);
        max-width: 100%;
        justify-content: center;
        padding: 0.5em;
        background-color: #ffffff;
        background-color: var(--nav-color-2);
        /*background-color: hsla(0, 0%, 20%, 0.75);
        backdrop-filter: blur(2px);*/
    }

#top-nav .sticky .logo img {
        max-height: 50px;
    }

#top-nav .sticky .menu{
        margin-left: 3em;
        
    }

.sticky .underline:before {
        display: none;
    }

#top-nav .sticky .nav-icons li {
        padding: .1em;
    }

/*Show Class*/

#top-nav .sticky.showSticky {
        opacity: 1;
        transform: translateY(0);
    }

/*
    Media Queries
    */

@media (max-width: 960px) {

        #top-nav .topbar {
            display: none;
        }

        #top-nav .wide {
            display: none;
        }

        #top-nav .mobile {
            position: fixed; /*fixed*/
            top:0;
            display: flex;
            flex-wrap: wrap;
            align-content: center;
            justify-content: space-between;
            align-items: center;
            max-width: 100vw;
            z-index: 999;
        }

        #top-nav .hamburger {
            display: flex;
        }

        #top-nav .mobile .hamburger ~ ul.menu {
            visibility: hidden;
            top: 0;
            left: 0;
        }

        #top-nav .mobile .hamburger.hamburger.is-active ~ ul.menu {
            visibility: visible;
            opacity: .95;
        }

        #top-nav .sticky,
        .showSticky {
            display: none;
        }

    }

/****************************************
Component: Hero
*****************************************/

.hero{    
    background-color: #0A8146;
    background-size: cover;  
}

.hero.full{
      height: 100vh;
      width: 100%;
    }

.hero-content{
    height: 100%;
    padding: 4rem 0px;
    text-align: center;
}

.hero-content h1{
      font-size: 2rem;
      font-style: normal;
      font-weight: 700;
      line-height: normal;
      letter-spacing: 0.04rem; 
    }

.hero-content p{
      margin-top: 0.5rem;
      margin-left: auto;
      margin-right: auto;
      font-size: 1.25rem;
      font-style: normal;
      font-weight: 500;
      line-height: normal;
      letter-spacing: 0.025rem;
    }

.hero-content .actions{
    margin: 1rem;
  
  }

.hero-content .media{
  
  }

@media (min-width: 48em) {

    .hero-content .actions {
        margin: 1.25rem;
    }
}

@media (min-width: 80em) {

    .hero-content .actions {
        margin: 1.5rem auto;
    }
}

.hero .slider{
    height: 100%;
    width: 100%;
}

.hero .slider .slick-next:before,
    .hero .slider .slick-prev:before {
        font-size: 2rem;
        line-height: 0;
        opacity: 0.75;
        color: white;
    }

.hero .slider .slide{ 
        display: flex;
        height: 350px;
        background-position: center;
        background-size: cover;
    }

/****************************************
Component: Modal
*****************************************/

#modal {
    display: none;
    display: none; /* Oculta el modal por defecto */
    position: fixed; /* Fija la posición del modal */
    z-index: 3; /* Asegúrate de que el modal esté encima de otro contenido */
    left: 0;
    top: 0;
    width: 100%; /* Ancho completo del modal */
    height: 100%; /* Alto completo del modal */
    overflow: auto; /* Permite desplazamiento si el contenido es muy grande */
    background-color: rgba(0,0,0,0.4); /* Fondo transparente */
    transition: all 0.3s ease-in-out;
    animation: fadeIn 0.3s;
  }

#modal.hide {
    animation: fadeOut 0.3s;
  }

.modal-content {
    background-color: #fefefe;
    margin: 15% auto; /* Margen del 15% del ancho y alto del modal */
    padding: 20px;
    border: 1px solid #888;
    width: 80%; /* Ancho del 80% */
  }

#modal.show-modal {
    display: block;
  }

/*VENDOR*/

/****************************************
Vendor: Plugins
*****************************************/

/*Contact Form 7*/

div.wpcf7 { 
    background-color: white;
    padding:1rem;
    font-size: 1.1rem;
    width: 100%;     
}

div.wpcf7 form{
        display: flex;
        flex-direction: column;
        gap: .7rem;
    }

div.wpcf7 label{
        font-weight: 600;
        font-size: 1rem;
        margin-bottom: 0.5rem;
    }

div.wpcf7 input[type="text"],
    div.wpcf7 input[type="email"],
    div.wpcf7 input[type="tel"],
    div.wpcf7 textarea {
        width: 100%;;
        font-weight: normal;
        margin-top: 0.5rem;
        background:white;
        color:#3A3A3A;
        padding: .7rem .5rem;
        line-height: 1;
        border: solid 1px #3A3A3A;
    }

div.wpcf7 input[type="text"]:focus-visible,div.wpcf7 input[type="email"]:focus-visible,div.wpcf7 input[type="tel"]:focus-visible,div.wpcf7 textarea:focus-visible{
            border: solid 1px #FEDF00;
        }

div.wpcf7 textarea{
        height: 8em;
        width: 100%;
    }

div.wpcf7 input[type="submit"],
    div.wpcf7 input[type="button"] { 
        display: inline-block;
        padding: .7rem 1.5rem;
        font-size: 1rem;
        font-weight: 600;
        letter-spacing: 0.02rem;
        border:none;
        cursor: pointer;
        transition: .3s;
        background-color: #0A8146;
        color: white;
    }

div.wpcf7 input[type="submit"]:hover,div.wpcf7 input[type="button"]:hover{
            background-color: #08502D;
            color: white;
        }

select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required {
    padding: .5rem .8rem;
    border-color: #0A8146;
}

.wpcf7 form.sent .wpcf7-response-output {
border-color: #0A8146;
}

/* Fibo Search */

.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input{
    border: solid 1px #0A8146;
    background-color: #fff;
    padding: 10px 24px 10px 48px;
    line-height: 20px;
    font-size: 14px;
    font-weight: normal;
}

.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input:hover {
    background-color: #fff;
    border-color: #0A8146;
}

.dgwt-wcas-search-input::-moz-placeholder{
    font-weight: normal !important;
}

.dgwt-wcas-search-input::placeholder{
    font-weight: normal !important;
}

.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit {

    background-color: #0A8146;
    color: #fff;
    left: 14px;
    top: 14px;

}

.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit svg path {
        fill: #fff;
    }

.dgwt-wcas-style-pirx.dgwt-wcas-search-filled .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit{
    right: 15px;
}

.dgwt-wcas-suggestions-wrapp{
    box-shadow: 2px 3px 5px 0px rgba(0,0,0,0.35);
    -webkit-box-shadow: 2px 3px 5px 0px rgba(0,0,0,0.35);
    -moz-box-shadow: 2px 3px 5px 0px rgba(0,0,0,0.35);
}

.dgwt-wcas-st-more{
    color: #0A8146;
    font-weight: 600;
}

/*Max Mega Menu*/

#mega-menu-wrap-principal{
    width: 100%;
}

#mega-menu-wrap-principal .mega-menu-toggle .mega-toggle-blocks-right{
    background-color: #0A8146;
}

#mega-menu-wrap-principal #mega-menu-principal > li.mega-menu-item > a.mega-menu-link, #mega-menu-wrap-principal #mega-menu-principal > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link{
    font-size: .7rem;
    text-transform: uppercase;
    font-weight: 600;
    color: #3A3A3A;
}

#mega-menu-wrap-principal #mega-menu-principal > li.mega-menu-item > a.mega-menu-link:hover, #mega-menu-wrap-principal #mega-menu-principal > li.mega-menu-item > a.mega-menu-link:focus, #mega-menu-wrap-principal #mega-menu-principal > li.mega-menu-item > a.mega-menu-link:active, #mega-menu-wrap-principal #mega-menu-principal > li.mega-menu-item > a.mega-menu-link:focus-visible, #mega-menu-wrap-principal #mega-menu-principal > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link:hover, #mega-menu-wrap-principal #mega-menu-principal > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link:focus, #mega-menu-wrap-principal #mega-menu-principal > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link:active, #mega-menu-wrap-principal #mega-menu-principal > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link:focus-visible{
        color: #0A8146;
        font-weight: 600;
    }

#mega-menu-wrap-principal #mega-menu-principal > li.mega-menu-item > a.mega-menu-link:hover > ul.mega-sub-menu,#mega-menu-wrap-principal #mega-menu-principal > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link:hover > ul.mega-sub-menu{
        font-weight: 600;
    }

#mega-menu-wrap-principal #mega-menu-principal > li.mega-menu-item > a.mega-menu-link > ul.mega-sub-menu,#mega-menu-wrap-principal #mega-menu-principal > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link > ul.mega-sub-menu{
        font-weight: 600;
    }

#mega-menu-wrap-principal #mega-menu-principal > li.mega-menu-item > a.mega-menu-link:focus,#mega-menu-wrap-principal #mega-menu-principal > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link:focus{
        color:#3A3A3A;
        font-weight: 600;
    }

#mega-menu-wrap-principal #mega-menu-principal li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator:after {
    content: "\f078";
    font-family: FontAwesome;
    font-weight: normal;
    font-size: 10px;
}

#mega-menu-wrap-principal #mega-menu-principal > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link{
    font-weight: 600;
}

#mega-menu-wrap-principal #mega-menu-principal > li.mega-menu-megamenu > ul.mega-sub-menu {
    border-radius: 0px;
    background: #fff;
    box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.40);
    -webkit-box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.40);
    -moz-box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.40);
    padding: .5rem;
}

h4.mega-block-title{
    font-size: 0.8rem !important;
}

#mega-menu-wrap-principal #mega-menu-principal > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link{
    padding-bottom: .5rem;
    margin-bottom: .5rem;
    border-bottom: solid 2px #0A8146;
    line-height: 1rem;
    color: #0A8146;
    font-size: 0.8rem;
}

#mega-menu-wrap-principal #mega-menu-principal > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link:hover{
            border-bottom: solid 2px #0A8146;
    }

#mega-menu-wrap-principal #mega-menu-principal > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link{
    line-height: 1rem;
    padding: .3rem 0px;
    font-weight: 400;
}

#mega-menu-wrap-principal #mega-menu-principal > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link:hover{
        font-weight: 500;
    }

#mega-menu-wrap-principal #mega-menu-principal li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row .mega-menu-column > ul.mega-sub-menu > li.mega-menu-item {
    padding: .5rem;
}

@media only screen and (max-width: 960px) {
    #mega-menu-wrap-principal:has(.mega-menu-open) #mega-menu-principal[data-effect-mobile^="slide_"] + button.mega-close:before {
        display: flex;
        content: "\f00d";
        font-family: FontAwesome;
        font-weight: normal;
        color: #fff;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        font-size: 2rem;
    }

    #mega-menu-wrap-principal #mega-menu-principal > li.mega-menu-item-has-children > a.mega-menu-link, #mega-menu-wrap-principal #mega-menu-principal > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link {
        color: #ffffff;
        background: #0a8146;
        font-size: 1rem;
        padding: .8rem;
        height: 4rem;
    }
        #mega-menu-wrap-principal #mega-menu-principal > li.mega-menu-item-has-children > a.mega-menu-link:hover, #mega-menu-wrap-principal #mega-menu-principal > li.mega-menu-item-has-children > a.mega-menu-link:active, #mega-menu-wrap-principal #mega-menu-principal > li.mega-menu-item-has-children > a.mega-menu-link:focus, #mega-menu-wrap-principal #mega-menu-principal > li.mega-menu-item-has-children > a.mega-menu-link:focus-visible, #mega-menu-wrap-principal #mega-menu-principal > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link:hover, #mega-menu-wrap-principal #mega-menu-principal > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link:active, #mega-menu-wrap-principal #mega-menu-principal > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link:focus, #mega-menu-wrap-principal #mega-menu-principal > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link:focus-visible{
            color: #fff;

        }

    #mega-menu-wrap-principal #mega-menu-principal li.mega-menu-item-has-children.mega-toggle-on > a.mega-menu-link > span.mega-indicator:after {
        content: "\f078";
        font-family: FontAwesome;
        font-size: 1rem;
    }

    #mega-menu-wrap-principal .mega-menu-toggle.mega-menu-open:after {
    opacity: 0.7;
    }

    #top-nav .menu ul a, #top-nav .menu ul ul a.btn-megamenu{
        font-size: .8rem;
        text-transform: none;
    }

    #mega-menu-wrap-principal #mega-menu-principal > li.mega-menu-megamenu > ul.mega-sub-menu{
        box-shadow: none;
        padding-bottom: 2rem;
        margin-bottom: 2rem;
        border-bottom: solid 1px #3A3A3A;
    }

    #mega-menu-wrap-principal #mega-menu-principal > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link{
        font-weight: 500;
    }

    #mega-menu-wrap-principal #mega-menu-principal>li.mega-menu-item {
    display: inline-block;
    width: 100%;
    }
}

#mega-menu-wrap-principal #mega-menu-principal > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link{
color:#fff;
}

#mega-menu-principal > li.mega-menu-item.mega-current-menu-item.outlet-btn > a.mega-menu-link{
color: #002776 !important;
}

.textwidget.custom-html-widget{
    text-align: center;
}

#top-nav a.btn-megamenu{
        color: #0A8146 !important;
}

#top-nav a.btn-megamenu{
        display: inline-block;
        margin-left: auto;
        margin-right: auto;
        border: solid 1px #0A8146;
        background: #fff;
        border-radius: 0px;
        padding: .5rem 1.5rem;
        font-size: 1rem;
}

#top-nav a.btn-megamenu:hover{
            color: #fff!important;
        }

#top-nav a.btn-megamenu:hover{
            background-color: #0A8146;
        }

/*tables specs*/

.dwspecs-product-table .group-title{
        font-size: 1.2rem !important;
        color:#3A3A3A !important;
        font-weight: 600 !important;
    }

.dwspecs-product-table .group-title{
        border-left: solid 4px #0A8146;
        padding-left: 1rem;
    }

.dwspecs-product-table table tr td:first-child{
    font-size: 1rem;
}

.dwspecs-product-table table tr td, .dwspecs-product-table table tr th{
    font-size: 0.9rem;
}

/*Filter*/

#cgf-filter-sidebar{
    display: none;
}

#cgf-filter-sidebar .ui-slider .ui-slider-handle{
    z-index: 1;
}

/*Swiper*/

.swiper {
    z-index: 0;
}

.swiper-button-prev{
    left: 0px;
    left: var(--swiper-navigation-sides-offset, 0px);
}

.swiper-button-next{
    right: 0px;
    right: var(--swiper-navigation-sides-offset, 0px);
}

.swiper-button-prev:after, .swiper-button-next:after{
    font-family: FontAwesome;
    font-size: 1.2rem;
    color:#DFDFDF;
}

.swiper-button-prev:after{
    content: "\f104";    
}

.swiper-button-next:after{
    content: "\f105";  
}

.dgwt-wcas-posts-results-headline{
    display: none;

}

.grecaptcha-badge { visibility: hidden !important; }

/****************************************
Vendor: Slick Slider styles
*****************************************/

/* Loader */

.slick-loading .slick-list {
    background: transparent;
}

/* Arrows */

.slick-next,
.slick-prev {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 48%;
    display: block;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent;
    z-index: 1;
}

.slick-next:focus,
.slick-next:hover,
.slick-prev:focus,
.slick-prev:hover {
    color: transparent;
    outline: none;
    background: transparent;
}

.slick-next:focus:before,
.slick-next:hover:before,
.slick-prev:focus:before,
.slick-prev:hover:before {
    opacity: 1;
}

.slick-next.slick-disabled:before,
.slick-prev.slick-disabled:before {
    opacity: 0.25;
}

@media(max-width:480px) {
    .slick-next:before,
    .slick-prev:before {
        line-height: 1;
    }
}

[dir='rtl'] .slick-prev {
    left: auto;
}

.slick-prev:before {
    content: "\f104";
}

[dir='rtl'] .slick-prev:before {
    content: "\f104";
}

[dir='rtl'] .slick-next {
    right: auto;

}

.slick-next:before {
    content: "\f105";
}

[dir='rtl'] .slick-next:before {
    content: "\f105";
}

/* Dots */

.slider-dots .slick-slider {
    margin-bottom: 30px;
}

.slider-dots .slick-dots {
    position: absolute;
    bottom: -30px;
    display: block;
    width: 100%;
    padding: 0;
    list-style: none;
    text-align: center;
}

.slider-dots .slick-dots li {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;

    cursor: pointer;
}

.slider-dots .slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 20px;
    height: 20px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}

.slider-dots .slick-dots li button:focus,
.slider-dots .slick-dots li button:hover {
    outline: none;
}

.slider-dots .slick-dots li button:focus:before,
.slider-dots .slick-dots li button:hover:before {
    opacity: 1;
}

/***CARRUSEL***/

.carrusel {
    margin: auto;
}

.carrusel .slide {
    margin-left: .5rem;
    margin-right: .5rem;
}

.carrusel .slide img {
    width: 100%;
    height: auto;
}

/*media-queries*/

@media(max-width:480px) {
    .carrusel button.slick-next,
    .carrusel button.slick-prev {
        display: none!important;
    }
    .carrusel {
        padding: 0;
    }
}

/* Arrows */

.carrusel .slick-next,
.carrusel .slick-prev {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 50%;
    display: block;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent;
}

.carrusel .slick-next:focus,
.carrusel .slick-next:hover,
.carrusel .slick-prev:focus,
.carrusel .slick-prev:hover {
    color: transparent;
    outline: none;
    background: transparent;
}

.carrusel .slick-next:focus:before,
.carrusel .slick-next:hover:before,
.carrusel .slick-prev:focus:before,
.carrusel .slick-prev:hover:before {
    opacity: 1;
}

.carrusel .slick-next.slick-disabled:before,
.carrusel .slick-prev.slick-disabled:before {
    opacity: 1;
}

[dir='rtl'] .carrusel .slick-prev {
    left: auto;
}

.carrusel .slick-prev:before {
    content: "\f104";
}

[dir='rtl'] .carrusel .slick-prev:before {
    content: "\f104";
}

[dir='rtl'] .carrusel .slick-next {
    right: auto;
}

.carrusel .slick-next:before {
    content: "\f105";
}

[dir='rtl'] .carrusel .slick-next:before {
    content: "\f105";
}

/*ESSENCIAL*/

/* Dots */

.slick-dots {
    display: block;
    width: 100%;
    padding: 0;
    list-style: none;
    text-align: center;
}

.slick-dots li {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;

    cursor: pointer;
}

.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 20px;
    height: 20px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}

.slick-dots li button:focus,
.slick-dots li button:hover {
    outline: none;
}

.slick-dots li button:focus:before,
.slick-dots li button:hover:before {
    opacity: 1;
}

.slick-dots li button:before {
    font-family: FontAwesome;
    font-size: 10px;
    line-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    content: "\f104";
    text-align: center;
    opacity: 1;
    color: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
    opacity: 1;
    color: #fff;
}

/*Arrows*/

.slider .slick-next:before,
.slider .slick-prev:before {
    font-family: 'FontAwesome';
    font-size: 1.7rem;
    line-height: 1vw;
    opacity: 0.75;
    color: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.slider .slick-next {
    right: 2rem;
}

.slider .slick-prev {
    left: 2rem;
}

.carrusel .slick-next:before,
.carrusel .slick-prev:before {
    font-family: FontAwesome;
    font-size: 2rem;
    line-height: 1;
    opacity: 0.75;
    color: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.carrusel .slick-next {
    right: -1rem;
}

.carrusel .slick-prev {
    left: -1rem;
}

.slick-dots li button:before {
    font-size: 10px;
    line-height: 10px;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    content: "●";
    text-align: center;
    opacity: 1;
    color: #9fa59f;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
    opacity: 1;
    color: #fff;
}

/****************************************
Vendor: Woocommerce styles
*****************************************/

#primary .content-area {
    padding-top: 0px;
}

/*product card general*/

/*display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 1rem;*/

.woocommerce ul.products li.product{
            display: flex;
            padding: 1rem;
            border: solid 1px #DFDFDF;
            flex-direction: column;
            align-content: center;
            justify-content: center;
            align-items: center;

        }

.woocommerce ul.products li.product a img{
                    width: 100%;
                    height: 200px;
                    -o-object-fit: contain;
                       object-fit: contain;
                    -o-object-position: top;
                       object-position: top;
                }

.woocommerce ul.products li.product h2.woocommerce-loop-product__title, .woocommerce ul.products li.product h2.woocommerce-loop-product__title a{
                color: #3A3A3A;
                font-size: 1rem;
                font-weight: 500;
                text-align: center;
                min-height: 100px;

            }

.woocommerce ul.products li.product .price{
                display: flex;
                justify-content: center;
                align-items: center;
                gap: .5rem;
                font-size: 1.2rem;
                font-weight: 600;
                margin-bottom: 0px;
                padding: .5rem;
                border-top: 1px solid #DFDFDF;
            }

.woocommerce ul.products li.product .price ins{
                    color: #0A8146;

                }

.woocommerce ul.products li.product .price del{
                    color: #3A3A3A;
                    -webkit-text-decoration: line-through;
                    text-decoration: line-through;
                    font-size: 1rem;
                    font-weight: 400;
                }

.woocommerce ul.products li.product .button{
                margin-top: 0px;
                background-color: #0A8146;
                color: #fff;
                width: 100%;
                display: inline-block;
                text-align: center;
                font-weight: 500;
                font-size: 0.75rem;
                border-radius: 0;
                padding: 1rem;
                text-transform: uppercase;
                letter-spacing: 0.5px;
                border: solid 1px #0A8146;

            }

.woocommerce ul.products li.product .button:hover{
                    background-color: #fff;
                    color: #0A8146;
                }

.woocommerce ul.products li.product .onsale{
                background-color: #0A8146;
                color: #fff;
                min-height: 0;
                min-width: 0;
                font-size: 0.7rem;
                line-height: 1rem;
                font-weight: 600;
                text-transform: uppercase;
                top: 0;
                right: 0;
                border-radius: 0px;
                padding: .5rem 1rem;
                margin: 0px;
                position: absolute;
                z-index: 1;
            }

.woocommerce ul.products li.product .discount-percentage{
                position: absolute;
                top:0px;
                left:0px;
                font-size: 0.7rem;
                background-color: #FF4D00;
                color: #fff;
                padding: .5rem;
            }

.woocommerce ul.products li.product .added_to_cart.wc-forward{
                font-size: .8rem;
            }

/*Pagination*/

.woocommerce nav.woocommerce-pagination ul{
            border: 1px solid #0A8146;    
        }

.woocommerce nav.woocommerce-pagination ul li{
                border-right: 1px solid #0A8146;
            }

.woocommerce nav.woocommerce-pagination ul li:last-of-type{
                    border-right: none;
                }

.woocommerce nav.woocommerce-pagination ul li a{
                    padding: .8rem 1rem;
                }

.woocommerce nav.woocommerce-pagination ul li a:hover{
                        background: #e9e6ed;
                        color: #0A8146;
                    }

.woocommerce nav.woocommerce-pagination ul li span.current{
                    background-color: #0A8146;
                    color: #fff;
                    padding: .8rem 1rem;

                }

.woocommerce nav.woocommerce-pagination ul li .page-numbers.dots{
                    padding: .8rem 1rem;
                }

.woocommerce nav.woocommerce-pagination ul li span{
    padding: 0px;
}

/*PRODUCTOS PAGE*/

.has-sidebar{
    padding: 1rem;
    padding-left: 1rem;
    padding-right: 1rem;

    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 1rem;
    gap: 1rem;

}

.has-sidebar .filter-side{

    }

.has-sidebar .grid-products{

    }

/*Restyle native styles*/

.woocommerce-products-header__title.page-title{
    font-size: 1.3rem;
    font-weight: 700;
}

.woocommerce-info {
    border-top-color: #0A8146;
    border-bottom: solid 1px #DFDFDF;
}

.woocommerce-info::before {
    color: #0A8146;
}

.woocommerce-breadcrumb, .woocommerce:where(body:not(.woocommerce-uses-block-theme)) .woocommerce-breadcrumb{
    font-size: 0.7rem;
    margin-top: .5rem;
    margin-bottom: 1rem;
    text-align: center;

}

p.woocommerce-result-count{
    font-size: 0.8rem;
}

.woocommerce-message {
    border-top-color: #0A8146;
    font-size: 1rem;
}

.woocommerce-message::before {
    color: #0A8146;
}

a.button.wc-forward, a.button-alt, .checkout-button.button.alt.wc-forward{
    background-color: #0A8146;
    color:#fff;
    border: solid 1px #0A8146;
    cursor: pointer;
    border-radius: 0px;
    font-size: 1rem;
    font-weight: 400;
    transition: .3s;
    padding: 1rem 1.5rem;
}

a.button.wc-forward:hover,a.button-alt:hover,.checkout-button.button.alt.wc-forward:hover{
        background-color: #fff;
        color: #0A8146;
    }

.cart_totals h2{
        font-size: 1.2rem;
        margin-bottom: 1rem;
        font-weight: 700;
    }

/* Contenedor principal del selector */

.woocommerce-ordering {
  position: relative; /* Necesario para posicionar la flecha personalizada */
  display: inline-block; /* Para que no ocupe todo el ancho si no es necesario */
  margin-bottom: 2em; /* Espacio por debajo, igual que el original de WooCommerce */
  float: right; /* Alineación original de WooCommerce */
}

/* El elemento <select> en sí mismo */

.woocommerce-ordering select.orderby {
  /* Reseteo de apariencia para control total */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;

  /* Estilos base */
  background-color: #f8f9fa; /* Un fondo gris claro sutil */
  border: 1px solid #0A8146; /* Borde sutil */
  padding: 6px 30px 6px 12px; /* Espaciado interno: top/bottom, right (para flecha), left */
  font-size: 13px;
  color: #495057; /* Color de texto oscuro pero no negro puro */
  cursor: pointer;
  outline: none; /* Quitar el outline por defecto en focus */
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  min-width: 220px; /* Un ancho mínimo para que se vea bien */
  box-sizing: border-box; /* Para que padding y border no aumenten el tamaño total */
  line-height: 1.5; /* Mejor legibilidad */
}

/* Estilo para el estado :hover */

.woocommerce-ordering select.orderby:hover {
  border-color: #adb5bd;
  background-color: #e9ecef;
}

/* Estilo para el estado :focus */

.woocommerce-ordering select.orderby:focus {
  border-color: #0A8146; /* Un color azulado típico para focus */
  box-shadow: 0 0 0 0.18rem rgba(0, 136, 50, 0.25); /* Sombra de foco sutil */
  background-color: #fff; /* Fondo blanco al enfocar para mayor contraste */
}

/* Flecha personalizada usando un pseudo-elemento en el contenedor */

.woocommerce-ordering::after {
  font-family: FontAwesome;
  content: '\f0dd'; /* Puedes usar un icono SVG aquí si prefieres */
  /* content: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%23495057%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M1.646%204.646a.5.5%200%200%201%20.708%200L8%2010.293l5.646-5.647a.5.5%200%200%201%20.708.708l-6%206a.5.5%200%200%201-.708%200l-6-6a.5.5%200%200%201%200-.708z%22%2F%3E%3C%2Fsvg%3E'); */
  font-size: 0.8em; /* Tamaño de la flecha de texto */
  color: #0A8146;
  position: absolute;
  right: 15px; /* Posición desde la derecha */
  top: 40%;
  transform: translateY(-50%);
  pointer-events: none; /* Para que no interfiera con el click en el select */
  z-index: 1; /* Para asegurarse que esté sobre el select (si el select tuviera fondo) */
  transition: color 0.15s ease-in-out;
}

/* Cambiar color de flecha en hover del select (si el select es hijo directo) */

.woocommerce-ordering:hover::after {
    color: #343a40;
}

/* Estilo de las opciones (limitado por los navegadores) */

.woocommerce-ordering select.orderby option {
  padding: 10px;
  background-color: #fff;
  color: #212529;
}

/* Para navegadores que no soportan bien 'appearance: none' o para asegurar que el icono no se solape */

/* Internet Explorer 10 & 11 (si aún necesitas soportarlo) */

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .woocommerce-ordering select.orderby::-ms-expand {
    display: none; /* Ocultar la flecha por defecto de IE */
  }
  /* Puede que necesites ajustar el padding-right si la flecha personalizada no se ve bien en IE */
}

/* Si WooCommerce envuelve el select en un <p> u otro elemento, ajusta el selector */

/* Por ejemplo, si es <p class="woocommerce-ordering">...</p> */

p.woocommerce-ordering {
    float: right;
    margin-bottom: 2em;
}

/*ahorra badge*/

.wc-block-components-product-badge{
    border-radius: 0px;
    padding:.5rem 1rem;

}

.wc-block-components-product-badge.wc-block-components-sale-badge{
        color: #FF4D00;
    }

/*Botón submit*/

.wc-block-cart__submit-container .wc-block-cart__submit-button{
        background-color: #0A8146;
        border: solid 1px #0A8146;
        color: #fff;
        transition: .3s;
    }

.wc-block-cart__submit-container .wc-block-cart__submit-button:hover{
            background-color: #fff;
            color: #0A8146;
        }

/*realizar pedido*/

.wc-block-components-checkout-place-order-button{
    background-color: #0A8146;
    color:#fff;
    border: solid 1px #0A8146;
    cursor: pointer;
    transition: .3s;
 }

.wc-block-components-checkout-place-order-button:hover{
        background-color: #fff;
        color: #0A8146;
    }

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) .single .woocommerce-breadcrumb{
text-align: left !important;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) .single .woocommerce-breadcrumb{
padding-left: 1rem;
padding-right: 1rem;
margin-left: auto;
margin-right: auto;
max-width: 1140px;
}

/*Single Product*/

.single-product div.product img{
        view-transition-name: producto-miniatura;
    }

.single-product div.product span.onsale{
    background-color: #fff;
    color: #FF4D00;
    min-height: 0;
    min-width: 0;
    font-size: 1rem;
    line-height: 1rem;
    font-weight: 800;
    text-transform: uppercase;
    /*top: 0;
    right: 0;*/
    border-radius: 0px;
    padding: .5rem .5rem;
    padding-bottom: 0;
    margin: 0px;
    position: relative;
    z-index: 1;
    display: table;
    letter-spacing: 0.5px;    
    }

.single-product div.product h1.product_title.entry-title{
        font-size: 1.5rem;
        margin-bottom: 1rem;
    }

.single-product div.product .product_meta{
        display: flex;
        flex-direction: column;
        gap: .5rem;
        margin-bottom: 1rem;
    }

/*.sku_wrapper{
            display: none;
        }*/

.single-product div.product .product_meta .tagged_as{
            display: none;
        }

.single-product div.product p.price del, .single-product div.product p.price ins{
            display: block !important;
        }

.single-product div.product p.price del{
            font-size: 1.1rem;
            -webkit-text-decoration: line-through;
            text-decoration: line-through;
            color: #3A3A3A;

        }

.single-product div.product p.price ins{
            font-size: 1.3em;
            color: #0A8146;
            font-weight: 800;
        }

.single-product div.product p.price bdi{
            color: #0A8146;
            font-weight: 800;
        }

.single-product div.product .price bdi{
            color: #0A8146;
        }

.single-product div.product p.discount-percentage{
        color: #FF4D00 !important;
    }

.single-product div.product p.discount-percentage{
        margin-bottom: 1rem;
    }

.single-product div.product .woocommerce-product-details__short-description{
        margin-bottom: 1rem;
        padding-bottom: 1rem;
        border-bottom: solid 1px #3A3A3A;
    }

.single-product div.product p.stock.in-stock{
        color: #08502D;
    }

.single-product div.product form.cart{
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
        align-content: flex-start;
        align-items: flex-start;
        gap: 1rem;
        margin-bottom: 1rem;
    }

/* Cambia el tamaño, fuente y borde */

.single-product div.product form.cart input[type="number"] {
            width: 50px;
            height: 40px;
            font-size: 1rem;
            border: 2px solid #0A8146;
            border-radius: 6px;
            text-align: center;
            color: #222;
            background: #f9f9f9;
            box-shadow: 1px 1px 4px rgba(0,0,0,0.05);
            transition: border-color 0.3s;
        }

.single-product div.product form.cart input[type="number"]:focus {
            border-color: #08502D;
            outline: none;
        }

.single-product div.product form.cart .single_add_to_cart_button.button.alt {
            background-color: #0A8146;
            color:#fff;
            border: solid 1px #0A8146;
            cursor: pointer;
            border-radius: 0px;
            font-size: 1rem;
            font-weight: 400;
            transition: .3s;
            padding: 1rem 1.5rem;

        }

.single-product div.product form.cart .single_add_to_cart_button.button.alt:hover{
                background-color: #fff;
                color: #0A8146;
            }

.single-product div.product span.sku{
        font-weight: 600;

    }

.single-product div.product span.posted_in, .single-product div.product span.tagged_as{
        font-size: 0.8rem;

    }

.single-product div.product .woocommerce-tabs{
        border-bottom: solid 1px #0A8146;
        margin-bottom: 1rem;
    }

.single-product div.product .woocommerce-tabs ul.tabs::before{
        border-bottom: solid 1px #0A8146;
    }

.single-product div.product .woocommerce-tabs ul.tabs{
        padding: 0px;
    }

.single-product div.product .woocommerce-tabs ul.tabs li a {
        display: inline-block;
        padding: .5em 0;
        font-weight: 400;
        color: color1;
        -webkit-text-decoration: none;
        text-decoration: none;
    }

.single-product div.product .woocommerce-tabs ul.tabs li.active {
        background: #0A8146;
        color: #fff;
        z-index: 2;
        border-bottom-color:#fff;
    }

.single-product div.product .woocommerce-tabs ul.tabs li{
        border-radius: 0px;
        border: solid 1px #0A8146;
        background-color: #fff;
    }

.single-product div.product .woocommerce-tabs ul.tabs li::before{
        left:0px;
    }

.single-product div.product .woocommerce-tabs ul.tabs li.active::before, .single-product div.product .woocommerce-tabs ul.tabs li.active::after{
        display: none;
    }

.single-product div.product h2{
        font-size: 1.2rem;
        font-weight: 500;
        margin-bottom: 1rem;
    }

.single-product div.product table.shop_attributes{
        text-align: left;
    }

.single-product div.product .related.products{
        margin-top: 2rem;
    }

.single-product div.product .related.products .products{
            margin-bottom: 0px;
        }

.woocommerce.columns-3, .woocommerce.columns-4 {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-content: center;
    align-items: center;
}

/*searchbar shop*/

.searchbar-shop{
    display: block;
}

#outlet .woocommerce ul.products li.product .button{
background-color: #002776;
border: solid 1px #002776;
}

#outlet .woocommerce ul.products li.product .button:hover{
        color: #002776 !important;
    }

#outlet .woocommerce ul.products li.product .button:hover{
        background-color: #fff;
    }

/*Products Shop*/

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) ul.products li.product .price bdi {
    color: #0A8146!important;
}

.woocommerce-LoopProduct-link.woocommerce-loop-product__link span.price bdi{
            color: #0A8146;
        }

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product .stock, .woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price, .woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
	color: #0A8146 !important;
}

.woocommerce ul.products li.product .price del, .woocommerce-page ul.products li.product .price del {
    color: #0A8146 !important;
}

.woocommerce div.product p.price del {
    color: #0A8146 !important;
}

.woocommerce-error, .woocommerce-info, .woocommerce-message{
    padding: 1em 2em 1em 3.5em;
    margin: 2rem auto;
    background-color: #fff;
    line-height: 1.5rem;
    font-size: .8rem;
}

.woocommerce-error:focus-visible,.woocommerce-info:focus-visible,.woocommerce-message:focus-visible{
        outline: none;
    }

/*boton ver carrito*/

a.button.wc-forward{
    background-color: #fff;
    border: solid #0A8146 1px;
    color: #0A8146;
    padding: .8rem 1rem;
}

a.button.wc-forward:hover{
        background-color: #0A8146;
        color: #fff;
    }

/*
CART PAGE
*/

@media (min-width: 768px) {

    .woocommerce-cart .woocommerce {
        display: grid;
        grid-template-columns: 2fr 1fr;
        grid-gap: 30px;
        gap: 30px;
        align-items: start;
    }

        .woocommerce-cart .woocommerce:has(.empty-cart){
            display: block;
        }

            .woocommerce-cart .woocommerce:has(.empty-cart) .backtp{
                display: inline-block;
                padding: 1rem;
                background-color: #0A8146;
                color: #fff;
            }
                .woocommerce-cart .woocommerce:has(.empty-cart) .backtp a{
                    color: #fff;
                }

    .woocommerce-cart .woocommerce-cart-form {
        grid-column: 1;

    }

                .woocommerce-cart .woocommerce-cart-form .product-name{
            font-size: 0.9rem;

        }

        .woocommerce-cart .woocommerce-cart-form .product-subtotal{
            color: #0A8146;

        }

        .woocommerce-cart .woocommerce-cart-form .variation-SKU{
            font-size: 0.8rem;
            font-weight: 500;
            line-height: 1.2rem;

        }

    .woocommerce-cart .cart-collaterals {
        clear: none !important;
        float: none !important;
        margin-top: 0 !important;
        width: 100% !important;
    }

    .woocommerce-cart .cart-collaterals {
        grid-column: 2;
    }

        .woocommerce-cart .cart-collaterals .cart_totals{
            width: 100%;
        }

            .woocommerce-cart .cart-collaterals .cart_totals h2{
                margin-bottom: 1rem;
                font-size: 1.2rem;
                font-weight: 500;
                padding: .5rem 1rem;
                border-left: solid 4px #0A8146;
            }

}

.woocommerce-page table.cart td.actions .input-text {
    width: 180px;
}

.woocommerce #content table.cart td.actions .coupon, .woocommerce table.cart td.actions .coupon, .woocommerce-page #content table.cart td.actions .coupon, .woocommerce-page table.cart td.actions .coupon{
    display: flex;
}

td.product-thumbnail::before {
        content: attr(data-title) "" !important;
    }

/*
CHECKOUT PAGE
*/

#add_payment_method table.cart img, .woocommerce-cart table.cart img, .woocommerce-checkout table.cart img {
    width: 128px;
    box-shadow: none;
}

@media only screen and (max-width: 768px) {
    .woocommerce #content table.cart .product-thumbnail, .woocommerce table.cart .product-thumbnail, .woocommerce-page #content table.cart .product-thumbnail, .woocommerce-page table.cart .product-thumbnail {
        display: block;
    }
}

@media (min-width: 768px) {

    form.woocommerce-checkout {
        display: grid;
        grid-template-columns: 58% 38%; /* Columna izq. 58%, Columna der. 38% */
        grid-column-gap: 4%;
        align-items: start;
    }

    form.woocommerce-checkout #customer_details {
        grid-column: 1; /* El bloque de cliente va a la columna 1 */
    }

    form.woocommerce-checkout #order_review_heading,
    form.woocommerce-checkout #order_review {
        grid-column: 2; /* El bloque de pedido va a la columna 2 */
        margin-top: 0; /* Aseguramos que no haya margen superior */
    }

    .woocommerce-checkout #customer_details .col-1,
    .woocommerce-checkout #customer_details .col-2 {
        width: 100% !important;
        float: none !important;
        max-width: 100% !important;
    }

    .woocommerce-checkout #customer_details .col-1,
    .woocommerce-checkout #customer_details .col-2 { /* Forzamos a que ocupe el ancho completo */  /* Eliminamos el float que las pone lado a lado */ /* Anulamos cualquier max-width restrictivo */
    }
    
    /* Opcional: Si el tema usa Flexbox internamente, esto también lo anula */
    .woocommerce-checkout #customer_details.col2-set {
        display: block;
    }
}

/*Titulos*/

form.woocommerce-checkout h3{
        color: #3A3A3A;
        margin-bottom: 1rem;
        font-size: 1.2rem;
        font-weight: 500;
        padding: .5rem 1rem;
        border-left: solid 4px #0A8146;
    }

/*Botones*/

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button{
    background-color: #0A8146 !important;
    color:#fff !important;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button{
    border: solid 1px #0A8146;
    border-radius: 0px;
    padding: 1rem;
    transition: .3s;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit:hover,.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:hover,.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button:hover,.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button:hover,:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit:hover,:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button:hover,:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button:hover,:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button:hover{
            background-color: #fff;
            color: #0A8146;

    }

/*Inputs*/

.woocommerce form .form-row .input-text, .woocommerce form .form-row select{
    border: solid 1px #0A8146;
    border-radius: 0px;
    padding: 0.7rem;
}

.select2-container .select2-dropdown, .select2-container .select2-selection {
    border-color: #0A8146;
    border-radius: 0px;
    padding: 0.3rem;
}

.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected] {
    background-color: #0A8146;
    color: #fff;
}

/*Blocks*/

#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment{
    border-radius: 0px;
    background: rgba(188, 187, 189, 0.14);
}

/*Tables*/

.woocommerce table.shop_table{
    border-radius: 0px;
}

/*Texts*/

.woocommerce-checkout-review-order .cart_item .product-name{
            font-size: 0.9rem;

        }

.woocommerce-checkout-review-order .cart_item .product-quantity{
            color: #0A8146;

        }

.woocommerce-checkout-review-order .cart_item .variation-SKU{
            font-size: 0.8rem;
            font-weight: 500;
            line-height: 1.2rem;

        }

.woocommerce-checkout-review-order .cart_item .product-total{


        }

/*WC-Blocks*/

.wc-block-components-product-metadata__description {
    display: none;
}

span.text-mute{
        padding-left: 0px !important;
    }

.woocommerce-checkout #page{
        margin-top: 2rem;
    }

.woocommerce-checkout #page > .container{
            padding-top: 0px!important;
        }

.woocommerce-checkout .page-title .container{
        padding-top: 0px!important;
    }

.woocommerce-checkout .aviso-checkout{
        padding: 0px;
    }

.woocommerce-checkout .aviso-checkout h5{
            font-size: 1rem;
            padding-bottom: 1rem;
            margin: 1rem 0px;
            border-bottom: solid 1px #0A8146;

        }

.woocommerce-checkout .aviso-checkout p{
            font-size: 0.8rem;
            font-weight: 400;

        }

.woocommerce-checkout .aviso-checkout a.button{
            text-align: center;
            padding: .8rem .5rem;
            display: block;
            font-size: 0.9rem;
        }

.woocommerce-checkout .woocommerce-checkout-payment p{
            font-size: 0.8rem;
        }

@media (min-width: 48em) {

    .woocommerce-checkout #page {
        margin-top: 0px;
    }
}

.woocommerce ul#shipping_method li label {
    font-weight: 500;
}

/* --- Estilo Personalizado para Radio Buttons de Envío en WooCommerce --- */

/* 1. Ocultamos el input original para poder rediseñarlo. */

.woocommerce ul#shipping_method li input[type="radio"] {
  display: none;
}

/* 2. Creamos nuestro círculo falso usando el pseudo-elemento ::before en la etiqueta label */

.woocommerce ul#shipping_method li label::before {
  content: ''; /* Obligatorio para que se muestre el pseudo-elemento */
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-right: 10px; /* Espacio entre el círculo y el texto */
  vertical-align: middle; /* Alinea el círculo con el texto */
  
  /* Apariencia del círculo no seleccionado */
  border: 2px solid #ccc; /* Borde gris */
  border-radius: 50%; /* Lo hace redondo */
  background-color: #fff; /* Fondo blanco */
  transition: all 0.2s ease; /* Transición suave */
}

/* 3. Definimos cómo se ve cuando el input original está :checked (seleccionado) */

.woocommerce ul#shipping_method li input[type="radio"]:checked + label::before {
  border-color: #0A8146; /* Borde verde */
  background-color: #0A8146; /* Fondo verde */
  box-shadow: inset 0 0 0 3px #fff; /* Truco para crear el punto blanco interior */
}

/*Ocultar Pais*/

p#billing_country_field {
    visibility: hidden;
    display: none;
}

/* Account Page */

.woocommerce-MyAccount-navigation ul{
        margin:1rem auto;
    }

.woocommerce-MyAccount-navigation ul li{
            padding: .5rem;
        }

.woocommerce-Address-title h2{
        font-size: 1.2rem;
        margin-bottom: 1rem;
    }

.woocommerce-account .addresses .title .edit {
    float: none;
}

.woocommerce-account fieldset{
        padding: 1rem;
        margin-bottom: 1rem;
    }

/* THEME LAYOUT */

/****************************************
Header Tag styles
*****************************************/

.header{
    grid-area: header;
}

/****************************************
NAV Styles
*****************************************/

/*Margin Content*/

.main-nav + *{
    margin-top: 56px;
}

/*top-nav-home*/

#top-nav.home{
    background-position: center;
    background-size: cover;
}

/*top-nav-common*/

#top-nav.common{
    background-color: #7A7A7A;
}

/*top-nav*/

#top-nav{    
    font-family: 'Roboto', sans-serif;
}

/*position: absolute;*/

/*flex-grow: 1;/*para megamenu*/

/*display: block;/*para megamenu*/

#top-nav .menu a{
            font-size: 0.75rem;
            font-style: normal;
            font-weight: 400;
            line-height: normal;
            letter-spacing: 0.0375rem;
            color:#3A3A3A;
        }

#top-nav .menu a:hover{
                color: #0A8146;
            }

#top-nav .menu .underline:before {
            background: #0A8146;
        }

#top-nav .menu .btn{
            padding: 0;
            border-radius: 0.3125rem;
        }

#top-nav .menu .btn:hover{
                background-color: #FEDF00;    
            }

#top-nav .menu .btn {
            margin-left: 1.2rem;
}

#top-nav .menu .btn a{
                color: white;
            }

#top-nav .menu .btn a.underline:before {
                display: none;
            }

/*Submenu*/

#top-nav .menu ul{
            background-color: #08502D;      
        }

#top-nav .menu ul li{
                padding: .5rem;
            }

#top-nav .menu ul li a{
                    color: white;
                }

#top-nav .menu ul li:hover{
                    background-color: white;
                    color: #08502D;                    
                }

#top-nav .menu ul li:hover > a{
                    color: #08502D;
                }

/*wide-nav*/

#top-nav .wide{
    width: 100%;
    justify-content: center;
    padding: 1.5rem 1rem;
    background-color: #fff;   

}

#top-nav .wide .wide-inner{
        max-width: 1140px !important;

    }

#top-nav .wide .wide-inner{
        position: relative;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        gap:1.5rem;
        z-index: 2;
        width: 100%;
        top: 0;

    }

#top-nav .wide .wide-inner .header-menu-top{
            width: 100%;
            display: flex;
            justify-content: space-around;
            align-items: center; 
            gap: 1rem;
        }

#top-nav .wide .wide-inner .header-menu-top .top-logo{
                /*flex: 1;*/
            }

#top-nav .wide .wide-inner .header-menu-top .logo{
                display: block;
            }

#top-nav .wide .wide-inner .header-menu-top .logo img{
                    height: 42px;
                }

#top-nav .wide .wide-inner .header-menu{
            width: 100%;
            display: flex;
            justify-content: space-between; /*2 Navs*/
            border-top: 1px solid #DFDFDF;
            border-bottom: 1px solid #DFDFDF;

        }

#top-nav .wide .wide-inner .header-menu a{
                font-size: .7rem;
                font-weight: 600;
                color: #3A3A3A;
            }

#top-nav .wide .wide-inner .header-menu ul{

            }

/*mobile*/

#top-nav .mobile {
    background-color: #0A8146;
    -webkit-backdrop-filter: blur(2px);
            backdrop-filter: blur(2px);
}

/*flex-grow: 1;*/

#top-nav .mobile .logo img{
            max-height: 24px; /*margin-top:content*/
        }

#top-nav .mobile .hamburger ~ ul.menu{
    background-color: #0A8146;
    }

#top-nav .mobile .hamburger ~ ul.menu a{
            font-size: 1.1rem; 
            padding: 1.5rem;           
        }

#top-nav .mobile .hamburger ~ ul.menu li:hover ul{
            display: none;
        }

#top-nav .mobile .hamburger ~ ul.menu li:has(ul) a::after{
            content:'';
        }

#top-nav .mobile .hamburger ~ ul.menu .btn a{
            padding: 1rem 1.5rem;
            font-size: .9rem;
        }

#top-nav .mobile .hamburger ~ ul.menu .nav-icons{
            gap: 2rem;
        }

#top-nav .mobile .hamburger ~ ul.menu .nav-icons i{
                font-size: 2rem;    
            }

#top-nav .mobile a.btn-wsp{
        padding: .5rem !important;
        
    }

#top-nav .mobile a.btn-wsp{
        font-size: 1.5rem;
        
    }

/*Sticky*/

#top-nav .sticky{
    background-color: #fff; 
    box-shadow: 1px 3px 5px 0px rgba(0,0,0,0.35);
    -webkit-box-shadow: 1px 3px 5px 0px rgba(0,0,0,0.35);
    -moz-box-shadow: 1px 3px 5px 0px rgba(0,0,0,0.35);

}

#top-nav .sticky a{
        font-size: 0.7rem;
        letter-spacing: 1px;
        font-weight: 600;
        color: #3A3A3A;
        padding: .7rem;
    }

#top-nav .sticky .logo img{
        max-height: 24px;

    }

/*components*/

#top-nav .menu a.btn{
        color: #fff;
        border-color: #0A8146;
        background: #0A8146;
        border-radius: 0px;
        border: solid 1px #0A8146;
        margin: 0px;
        padding: .5rem 1rem;
    }

#top-nav .menu a.btn:hover{
            color: #0A8146;
            background-color: white;
        }

#top-nav .nav-icons a {
        color: #FEDF00;
    }

#top-nav .nav-icons a:hover{
            color: #fff;
        }

#top-nav .hamburger-inner,
    #top-nav .hamburger-inner::after,
    #top-nav .hamburger-inner::before {
        background-color: #FEDF00;
    }

#top-nav .hamburger.is-active .hamburger-inner,
    #top-nav .hamburger.is-active .hamburger-inner::after,
    #top-nav .hamburger.is-active .hamburger-inner::before {
        background-color: #FEDF00;
    }

/*topbar*/

.topbar{
    background-color: #0A8146;
    color:#fff;
    font-weight: 600;
    line-height: 14px;
    width: 100%;
}

.topbar .topbar__inner{
        max-width: 1140px !important;
    }

.topbar .topbar__inner{
        display: flex;
        margin-left: auto;
        margin-right: auto;
        justify-content: space-around;
        gap: 2rem;
        align-items: center;
        padding: .5rem;
    }

.topbar .topbar__inner a{
                display: inline-flex;
                justify-content: center;
                align-items: center;
                gap: 0.7rem;
                color: #fff;
                font-size: 12px;
                font-weight: 400;
            }

.topbar .topbar__inner a:hover{
                    color: #FEDF00;
                }

.topbar .topbar__inner .topbar-pay{
            display: inline-flex;
            gap: 1rem;
            flex-wrap: wrap;
            font-size: 12px;
            font-weight: 400;
            
        }

/*searchbar*/

.searchbar-top{
    display: flex;
    width: 40%;
}

/*top Whatsapp button*/

nav a.btn-wsp{
    color: #fff !important;
    padding: .7rem 1rem !important;
    display: flex !important;
}

nav a.btn-wsp{
    background-color: #0A8146;
    font-size: 12px;
    letter-spacing: .5px;
    text-transform: uppercase;
    font-weight: 600;
    border-radius: 100vw;
    gap: 0.5em;
    align-content: center;
    justify-content: center;
    align-items: center;
    margin-left: 5px;
    border: solid 1px #0A8146;
}

nav a.btn-wsp:hover{
        color: #0A8146 !important;
    }

nav a.btn-wsp:hover{
        background-color: #fff;
        border: solid 1px #0A8146;
    }

nav a.btn-wsp i{
        font-size: 1rem;
    }

nav.mobile a.btn-wsp i{
    font-size: 1.5rem;
}

/*offer link*/

.offer-btn a{
        color: #FF4D00 !important;
    }

.offer-btn .underline:before {
        background: #FF4D00 !important;
    }

/*outlet link*/

.outlet-btn a{
        color: #002776 !important;
    }

.outlet-btn :hover{
        color: #002776 !important;
    }

.outlet-btn :hover{
        background-color: #fff;
    }

.outlet-btn .underline:before {
        background: #002776 !important;
    }

/*WC Menu*/

.wc-menu{
    display: flex;
    align-items: center;
    justify-items: center;
    gap: 1rem;
}

.wc-menu .wc-menu-item{
        display: flex;
    }

.wc-menu .wc-menu-item a:hover{
                color: #0A8146 !important;
            }

.wc-menu .wc-menu-item a i{
                font-size: 1rem;
            }

.wc-menu .wc-menu-item a .cart-count{
                color: #0A8146;
            }

.wc-menu .wc-menu-item a .cart-total{
                color: #0A8146;
            }

.mobile .wc-menu-item {
    display: flex;
}

.mobile .wc-menu-item .wc-cart-info{
        color:#fff;
        letter-spacing: .8px;
    }

li.right-nav-mobile {
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

li.right-nav-mobile a{
        padding: .5rem;
    }

li.right-nav-mobile i{
        font-size: 1.2rem;
        
    }

li.right-nav-mobile .cart-count{
        font-size: 0.8rem;
    }

/****************************************
Sidebar
*****************************************/

.sidebar{
    grid-area: sidebar;
}

.widgets{
    background: #000;
    color: white;
}

/****************************************
Main area styles
*****************************************/

.main{
    grid-area: main;
}

/****************************************
Footer styles
*****************************************/

.footer{
    grid-area: footer;
}

footer{
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 3rem 1rem 2rem;
    background-color: #0A8146;
    color: white;
    background-image: url('media/footer-bg.webp');
    background-size: cover;
    background-position: top center;   

}

footer a{
        color: #fff;
    }

footer a:hover{
            color: #FEDF00;
        }

/*foot-top*/

footer .foot-top{
        justify-items: initial;
        padding: 3rem 1rem;
        border-bottom: #fff solid 1px;
        gap: 2rem;        
    }

footer .foot-top .cg-foot{
            text-align: center;
            display: flex;
            flex-direction: column;
            gap: 2rem;
        }

footer .foot-top .cg-foot .logo {
                display: flex;
                    justify-content: center;
            }

footer .foot-top .cg-foot .logo img{
                    height: 128px;
                    margin-bottom: 1rem;
                }

footer .foot-top .cg-foot .cg-info{
                font-size: 13px;
            }

@media (min-width: 48em) {

    footer .foot-top .cg-foot .logo {
        justify-content: start;
    }
}

footer .foot-top .vert-navs{
            justify-items: start;
        }

footer .foot-top .vert-navs .vert-menu ul li{
                        padding: .5rem 0px;
                        text-align: left;
                    }

@media (min-width: 48em) {

    footer .foot-top .vert-navs .vert-menu ul li {
        text-align: right;
    }
}

@media (min-width: 48em) {

    footer .foot-top .cg-foot {
        text-align: left;
    }
}

@media (min-width: 48em) {

    footer .foot-top .vert-navs {
        justify-items: end;
    }
}

/*foot-mid*/

footer .foot-mid{ 
        align-items: flex-start;
        padding: 3rem 1rem;   
    }

footer .foot-mid .foot-column{
                width: 100%;
                display: grid;
        }

footer .foot-mid .foot-column h5{
                color: #fff;                
                display: inline-flex;
                border-bottom: solid 2px #FEDF00;
                padding-bottom: .6rem;
                font-size: .9rem;
                font-style: normal;
                font-weight: 600;
                line-height: normal;
                letter-spacing: 0.02rem;
                text-transform: uppercase;
            }

footer .foot-mid .foot-column ul{ 
                padding-top: 1rem;
                display: flex;
                flex-direction: column;               
                font-size: 0.8rem;
            }

footer .foot-mid .foot-column ul li{
                    padding: .3rem 0px;
                    font-size: 0.8rem;
                    font-style: normal;
                    font-weight: 400;
                    line-height: normal;
                    letter-spacing: 0.0175rem;
                    color: #fff;
                }

footer .foot-mid .foot-column ul li a{
                        color: #fff;
                    }

footer .foot-mid .foot-column ul li a:hover{
                            color:#FEDF00;
                        }

footer .foot-mid .foot-column ul li i{
                        padding-right: .5rem;
                    }

@media (min-width: 48em) {

    footer .foot-mid .foot-column {
        display: block;
    }
}

/*foot-bottom*/

footer .foot-bottom{
        padding: 1rem;
        display: flex;
        justify-content: space-between;
        align-items: center;
        align-content: center;
        flex-direction: column;
        gap: 1rem;
    }

footer .foot-bottom .nav-social{
            justify-content: center;
        }

footer .foot-bottom .nav-social a{
                color: #fff;
            }

footer .foot-bottom .nav-social a:hover{
                    color: #FEDF00;
                }

footer .foot-bottom .term-links{            
            font-size: 12px;
            text-align: center;
        }

footer .foot-bottom .term-links ul{ 
                display: inline-flex;
                gap: 1rem;
            }

footer .foot-bottom .term-links ul a{
                    -webkit-text-decoration: underline;
                    text-decoration: underline;
                }

footer .foot-bottom .last-logo{
            align-items: end;
        }

footer .foot-bottom .last-logo img{
                max-width: 128px;
            }

@media (min-width: 48em) {

    footer .foot-bottom {
        flex-direction: row;
    }
}

/****************************************
PAGE
*****************************************/

.site-main{
    margin-top: 0;
}

#page.main{
    margin-top:0px;
}

.page-title{
    color:#3A3A3A;
    text-align: center;
}

.page-title h1{
        font-weight:700;
        font-size: 1.3rem;
        border-bottom: solid 2px #0A8146;
        padding: .3rem 1rem;
        display: inline-block;
    }

.article-title h3{
        font-weight: 600;
        font-size: 1.7rem;
        padding: 1rem 0px;
    }

/*section title*/

.section-title{
    width: auto;
    position: relative;
    text-align: center;
}

.section-title span {
        content:" ";
        border-top: 1px solid #FEDF00;
        position: absolute;
        width:100%;
        top: 50%;
        left: 0;
        z-index: -1;
    }

.section-title h3{
        font-weight: 600;
        font-size: 1rem;
        display: inline-block;
        text-transform: uppercase;
        color: #0A8146;
        background-color:#fff;
        padding-left: 1rem;
        padding-right: 1rem;
    }

#page p{
    margin-bottom: 1lh;
}

/****************************************
Sections
*****************************************/

.section-title{
    width: 100%;
    text-align: center;
    color: #3A3A3A;
}

.section-title h3{
      
    }

/**************************************
THEME Re-styling
***************************************/

/* THEME LAYOUT > PAGE TEMPLATES */

/****************************************
PAGE: Home
*****************************************/

/*Home Layout*/

/*Orden de las secciones*/

#home .order-container{
        display: flex;
        flex-wrap: wrap;
        flex-direction: column;
    }

/* Default */

#home section.sucursales{order:2;}

#home section.categorias-destacadas{order:3;}

#home section.productos-destacados{order:1;}

#home section.marketplaces{order:4;}

#home section.block-banners {order:5;}

#home section.clientes{order:6;}

/* Mobile */

@media (max-width: 768px) {
            #home section.sucursales{order:3;}
            #home section.categorias-destacadas{order:1;}
            #home section.productos-destacados{order:2;}
            #home section.marketplaces{order:4;}
            #home section.block-banners {order:5;}
            #home section.clientes{order:6;}
    }

/*sucursales*/

#home .sucursales .container{
            padding-left: 1rem;
            padding-right: 1rem;
        }

#home .sucursales .grid{
        grid-template-columns: repeat(1, 1fr);
        }

#home .sucursales .sucursal-card{
            width: 100%;
            display: flex;
            flex-direction: column;
        }

#home .sucursales .sucursal-card h4{
                text-align: center;
                background-color: #0A8146;
                color:#fff;
                font-size: 1rem;
                text-transform: uppercase;
                padding: 1rem;

            }

#home .sucursales .sucursal-card img{
                display: none;

            }

#home .sucursales .sucursal-card .info{
                background-color: #f6f6f6;
                padding: 0.5rem;
                border: solid 1px #e5e5e5;
                min-height: 140px;
                display: flex;
                flex-direction: column;
                justify-content: center;
                gap: .3rem;

            }

#home .sucursales .sucursal-card .info p{
                    font-size: 1rem;
                }

@media (min-width: 40em) {

    #home .sucursales .sucursal-card .info p {
        font-size: 0.75rem;
    }
}

#home .sucursales .sucursal-card .botones{
                display: flex;
                gap: 1rem;
                font-size: 0.8rem;
                justify-content: center;
                align-content: center;
                align-items: center;
            }

#home .sucursales .sucursal-card .botones .btn-one{
                    text-align: center;
                    width: 100%;
                    padding: .6rem .8rem;
                    background-color: #fff;
                    border: solid 1px #0A8146;
                    transition: .3s;

                }

#home .sucursales .sucursal-card .botones .btn-one:hover{
                        background-color: #0A8146;
                        color: #fff;
                    }

#home .sucursales .sucursal-card .botones .btn-two{
                    text-align: center;
                    width: 100%;
                    padding: .6rem .8rem;
                    color:#3A3A3A;
                    background-color: #FEDF00;
                    border: solid 1px #FEDF00;
                    transition: .3s;

                }

#home .sucursales .sucursal-card .botones .btn-two:hover{
                        background-color: transparent;
                        color: #3A3A3A;
                    }

@media (min-width: 48em) {

    #home .sucursales .sucursal-card img {
        display: block;
    }
}

@media (min-width: 62em) {

    #home .sucursales .container {
        padding-left: 0px;
        padding-right: 0px;
    }
}

@media (min-width: 40em) {

    #home .sucursales .grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 62em) {

    #home .sucursales .grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

/*categorias destacadas*/

#home .cat-cards{
        grid-template-columns: repeat(2, 1fr);
    }

#home .cat-cards a{
            width: 100%;
        }

#home .cat-cards .cat-card{
            padding: 1rem 2rem;
            border: solid 1px #0A8146;
            border-bottom: solid 16px #0A8146;
            width: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: column;
            gap: 2rem;
            text-align: center;
            min-height: 250px;
            transition: .3s;
        }

#home .cat-cards .cat-card img{
                max-height: 90px;    
            }

#home .cat-cards .cat-card h4{
                color: #3A3A3A;
                font-size: 1.2rem;    
            }

#home .cat-cards .cat-card:hover{
                border: solid 1px #3A3A3A;
                border-bottom: solid 16px #3A3A3A;

            }

/* Productos destacados */

#home .woocommerce-featured-carousel{
        display: flex;
        flex-wrap: wrap;
        align-items: stretch; 
        gap: 1rem;
        padding: 0px 1rem;
    }

#home .woocommerce-featured-carousel .product-slide {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 1rem;
        text-align: center; /* Centrar contenido */
        padding:1rem; /* Espacio interno del slide */
        border: 1px solid #DFDFDF; /* Borde ligero */
        position: relative; /* Para posicionar la etiqueta de oferta */
        margin-left: .5rem;
        margin-right: .5rem;
    }

#home .woocommerce-featured-carousel .product-slide a{
        text-align: center;
    }

#home .woocommerce-featured-carousel .product-slide img {
        display: flex;
        max-width: 100%;
        height: auto; /* Altura automática para mantener proporciones */
    }

#home .woocommerce-featured-carousel .woocommerce-loop-product__title {
        font-size: 1rem; /* Tamaño del título */
        font-weight: 500;
    }

#home .woocommerce-featured-carousel .woocommerce-loop-product__title a {
        -webkit-text-decoration: none;
        text-decoration: none;
        color: #333; /* Color del título */
        display: flex;
        flex: 1;
        min-height: 88px;
    }

#home .woocommerce-featured-carousel .price {
        color: #0A8146; /* Ejemplo de color verde para el precio */
        font-size: 1.2rem;
        font-weight: bold;
        display: block; /* Asegura que el precio ocupe su propia línea */
    }

#home .woocommerce-featured-carousel .price ins {
    /* text-decoration: none */
        color: #CB724C; /* Color del precio de oferta */
    }

#home .woocommerce-featured-carousel .price del {
        color: #999; /* Color para el precio anterior */
        margin-right: 5px;
        font-size: 1rem;
        -webkit-text-decoration: line-through;
        text-decoration: line-through;
    }

/* Estilo básico para el botón "Ver producto" */

#home .woocommerce-featured-carousel .button.ver-producto-button {
        display: inline-block;
        font-size: .75rem;
        font-weight: 500;
        width: 100%;
        padding: .8rem;
        background-color: #0A8146; /* Color del botón */
        color: white;
        -webkit-text-decoration: none;
        text-decoration: none;
        transition: background-color 0.3s ease;
        border: none; /* Elimina el borde por defecto de algunos botones */
        cursor: pointer;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

#home .woocommerce-featured-carousel .button.ver-producto-button i{
            font-size: 0.7rem;
            margin-left: 0.5rem;
         }

#home .woocommerce-featured-carousel .button.ver-producto-button:hover {
        background-color: #3A3A3A; /* Color al pasar el ratón */
    }

/* Estilo para la etiqueta de oferta (Sale Flash) */

#home .woocommerce-featured-carousel .onsale {
        background-color: #FF4D00;
        color:#fff;
        min-height: 0;
        min-width: 0;
        font-size: 0.7rem;
        line-height: 1rem;
        font-weight: 600;
        text-transform: uppercase;
        top: 0;
        right: 0;
        border-radius: 0px;
        padding: .5rem 1rem;
        margin: 0px;
        position: absolute;
    }

/* Estilos opcionales para las flechas de navegación de Slick */

#home .woocommerce-featured-carousel .slick-prev,
    #home .woocommerce-featured-carousel .slick-next {
        font-size: 0; /* Oculta el texto por defecto */
        line-height: 0;
        position: absolute;
        top: 50%;
        transform: translate(0, -50%);
        display: block;
        padding: 0;
        cursor: pointer;
        color: transparent;
        border: none;
        outline: none;
        background: transparent;
        z-index: 10; /* Asegura que las flechas estén encima de los productos */
    }

#home .woocommerce-featured-carousel .slick-prev:before,
    #home .woocommerce-featured-carousel .slick-next:before {
        font-family: 'fontAwesome'; /* Usa la fuente de iconos de Slick si está cargada */
        font-size: 2.5rem; /* Tamaño del icono */
        line-height: 1;
        color: #333; /* Color del icono */
        opacity: 0.75;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }

#home .woocommerce-featured-carousel .slick-prev {
        left: -15px; /* Ajusta la posición izquierda */
    }

#home .woocommerce-featured-carousel .slick-next {
        right: -15px; /* Ajusta la posición derecha */
    }

/* Ocultar flechas si no hay suficientes items (opcional) */

#home .woocommerce-featured-carousel.slick-initialized .slick-arrow.slick-hidden {
        display: none !important;
    }

/*marketplaces*/

#home .marketplaces .slick-list, #home .marketplaces .slick-slider .slick-track{
            max-height: 120px;
        }

#home .marketplaces a{  text-align: center;
            display: flex;
            justify-content:center;
        }

#home .marketplaces a img{
                max-width: 256px;
            }

/*market tiendas*/

#home .market-tiendas .flex-grid{
            justify-content: center;
        }

#home .market-tiendas .flex-grid img{
                max-width: 128px;
            }

/*clientes*/

#home .clientes .grid{
            grid-template-columns: repeat(3, 1fr);
        }

@media (min-width: 48em) {

    #home .clientes .grid {
        grid-template-columns: repeat(6, 1fr);
    }
}

@media (min-width: 40em) {

    #home .cat-cards {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 62em) {

    #home .cat-cards {
        grid-template-columns: repeat(6, 1fr);
    }
}

/****************************************
PAGE: Nosotros
*****************************************/

#nosotros{

}

#nosotros .somos{
    padding: 2rem 0px;
    background-image: url('media/bg-soluciones.jpg');
    background-size: cover;

}

#nosotros .somos .container{
        background-color: hsla(0, 0%, 100%, 0.75);
        border-radius: 0.3125rem;
        -webkit-backdrop-filter: blur(2px);
                backdrop-filter: blur(2px);
        padding: 2rem;   
    }

#nosotros .somos .grid{
        gap:2rem;
    }

#nosotros .somos h3{
        display: inline-flex;
        font-size: 1.5rem;
        font-style: normal;
        font-weight: 600;
        line-height: 101%; /* 1.515rem */
        letter-spacing: 0.075rem;
        padding-bottom: 1rem;
        padding-right: 6rem;
        border-bottom: 3px solid #08502D;
        margin-top:2rem
    }

#nosotros .somos p{
        font-size: 1.1rem;
        margin: 1rem auto;
    }

#nosotros .somos img{
        border-radius:100vh;
        border-radius: 100dvh;
    }

#nosotros .somos .foto-equipo{
        
    }

#nosotros .somos .grid > div:nth-child(1){
        order: 1;
    }

#nosotros .somos .grid > div:nth-child(2){
        order: 2;
    }

#nosotros .somos .grid > div:nth-child(3){
        order: 4;
    }

#nosotros .somos .grid > div:nth-child(4){
        order: 3;
    }

@media (min-width: 48em) {

    #nosotros .somos .container {
        padding: 4rem;
    }
}

@media (min-width: 48em) {

    #nosotros .somos .grid > div:nth-child(3) {
        order: 3;
    }
}

@media (min-width: 48em) {

    #nosotros .somos .grid > div:nth-child(4) {
        order: 4;
    }
}

.equipo .page-title{

        background-color: #fff !important;

    }

.equipo .departamento{
        display: flex;
        flex-direction: column;
        width: 100%;
        align-items: center;
        justify-content: center;
        margin-top: 2rem;

    }

.equipo .departamento .depto-title {
            display: flex;
            flex-direction: column;
            align-content: center;
            justify-content: center;
            flex-wrap: wrap;
            border-bottom: solid 4px #FEDF00;
            margin-bottom: 2rem;
        }

.equipo .departamento .depto-title img{
                height: 72px;
            }

.equipo .departamento .depto-title h2{
                font-size: 1.3rem;
                padding: 1rem;
                text-transform: uppercase;
                font-weight: 800;
                margin-top: 1rem;
                text-align: center; 
            }

.equipo .cards{
        gap: 2rem;
        display: flex;
        padding: 1rem;
        flex-wrap: wrap;
        flex-direction: column;
    }

.equipo .cards .card.miembro{
            display: flex;
            padding: 2rem;
            gap:.5rem;
            text-align: center; 
            border-radius: 0.3125rem;
            box-shadow: 0px 10px 15px -3px rgba(0,0,0,0.1);
        }

.equipo .cards .card.miembro h3{
                font-size: 1.2rem;
                font-weight: 600;
                color:#08502D;
                               
            }

.equipo .cards .card.miembro h4{
                font-size: 0.8rem;
                color: #3A3A3A;
                padding-bottom: 0.5rem;
                border-bottom: solid 1px #999;

            }

.equipo .cards .card.miembro p{
                font-weight: 600;
                font-size: 0.9rem;

            }

.equipo .cards .card.miembro a{
                font-size: 0.9rem;
                color: #3A3A3A;
                display: inline-flex;
                align-items: center;
            }

.equipo .cards .card.miembro a:hover{
                    color:#FEDF00;
                }

@media (min-width: 48em) {

    .equipo .cards {
        flex-wrap: nowrap;
        flex-direction: row;
    }
}

/****************************************
PAGE: Contacto
*****************************************/

#contacto .info{
        padding: 2rem 0px;
        gap: 2rem;
        width: 100%;    
    }

#contacto .info address{ 
            padding: 1rem;
            text-align: left;
        }

#contacto .info address li{
                margin: .5rem auto;
            }

#contacto .info address a{
                font-size: 4vw;
                font-weight: 600;
                color:#3A3A3A;
            }

#contacto .info address a:hover{
                    color:#FEDF00;
                }

#contacto .info address a i{
                    color: #FEDF00;
                }

@media (min-width: 48em) {

    #contacto .info address a {
        font-size: 1.3rem;
    }
}

#contacto .forms > .grid > div:nth-child(1){
        order: 2;
    }

#contacto .forms > .grid > div:nth-child(2){
        order: 1;
    }

@media (min-width: 48em) {

    #contacto .forms > .grid > div:nth-child(1) {
        order: 1;
    }
}

@media (min-width: 48em) {

    #contacto .forms > .grid > div:nth-child(2) {
        order: 2;
    }
}

.bottom-image{
    height: 300px;
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url('media/contact_bg.jpg');
}

/****************************************
PAGES: Landing Pages
*****************************************/

.landing{
    margin-top: 0px;
}

.landing h1{
        margin: 0;
        padding: 0;
    }

@media (min-width: 40em) {

    .if-mobile-d-none {
        display: block;
    }
}

@media (min-width: 40em) {

    .if-mobile-d-block {
        display: none;
    }
}

@media (min-width: 62em) {

    main {
        margin-top: 0px;
    }
}

@media (min-width: 48em) {

    .container {
        padding: 1.25rem;
    }
}

@media (min-width: 80em) {

    .container {
        padding: 1.5rem;
    }
}

@media (min-width: 48em) {

    .grid {
        gap: 1.25rem;
    }
}

@media (min-width: 80em) {

    .grid {
        gap: 1.5rem;
    }
}

@media (min-width: 48em) {

    .flex-grid {
        gap: 1.25rem;
    }
}

@media (min-width: 80em) {

    .flex-grid {
        gap: 1.5rem;
    }
}

@media (min-width: 48em) {

    .even-flex {
        flex-direction: row;
    }
}

@media (min-width: 48em) {

    .nav-icons, .nav-social {
        gap: 1.25rem;
    }
}

@media (min-width: 80em) {

    .nav-icons, .nav-social {
        gap: 1.5rem;
    }
}

@media (min-width: 48em) {

    .contact-form {
        max-width: 50%;
    }
}

@media (min-width: 48em) {

    .hero-content {
        text-align: left;
    }
}

@media (min-width: 62em) {

    #mega-menu-wrap-principal #mega-menu-principal > li.mega-menu-megamenu > ul.mega-sub-menu {
        padding: 1rem;
    }
}

@media (min-width: 48em) {

    #mega-menu-wrap-principal #mega-menu-principal > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link {
        color: #3A3A3A;
    }
}

@media (min-width: 40em) {

    #cgf-filter-sidebar {
        display: block;
    }
}

@media (min-width: 48em) {

    .slider .slick-next:before, .slider .slick-prev:before {
        font-size: 2rem;
    }
}

@media (min-width: 80em) {

    .has-sidebar {
        padding-left: 0px;
        padding-right: 0px;
    }
}

@media (min-width: 40em) {

    .has-sidebar {
        grid-template-columns: 250px 1fr;
    }
}

@media (min-width: 62em) {

    .woocommerce-breadcrumb, .woocommerce:where(body:not(.woocommerce-uses-block-theme)) .woocommerce-breadcrumb {
        margin-bottom: 0px;
    }
}

@media (min-width: 48em) {

    .woocommerce.columns-3, .woocommerce.columns-4 {
        display: block;
    }
}

@media (min-width: 62em) {

    .searchbar-shop {
        display: none;
    }
}

@media (min-width: 80em) {

    .main-nav + * {
        margin-top: 80px;
    }
}