/*
Theme Name: MSebo Loja Online
Theme URI: http://www.bluesign.pt
Author: Bluesign
Author URI: http://www.digital.bluesign.pt
Description: MSebo Loja Online is a compatible WooCommerce theme made with WordPress. It is the best theme for you to sell anything online, beautifuly designed and fully responsive.
Version: 1.0
Text Domain: msebo-loja-online
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: woocommerce, custom-menu, custom-logo, featured-images, footer-widgets, theme-options, translation-ready, threaded-comments
*/


/* Poppins Light */
@font-face{
    font-family: 'Poppins';
    src: url('fonts/poppins/Poppins-Light.woff') format('woff');
    font-style: normal;
    font-weight: 300;
    font-display: swap;
}
/* Poppins Regular */
@font-face{
    font-family: 'Poppins';
    src: url('fonts/poppins/Poppins-Regular.woff') format('woff');
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}
/* Poppins Medium */
@font-face{
  font-family: 'Poppins';
    src: url('fonts/poppins/Poppins-Medium.woff') format('woff');
    font-style: normal;
    font-weight: 500;
    font-display: swap;
}
/* Poppins Semi-Bold */
@font-face{
    font-family: 'Poppins';
    src: url('fonts/poppins/Poppins-SemiBold.woff') format('woff');
    font-style: normal;
    font-weight: 600;
    font-display: swap;
}
/* Poppins Bold */
@font-face{
    font-family: 'Poppins';
    src: url('fonts/poppins/Poppins-Bold.woff') format('woff');
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}

/* EBGaramond Regular */
@font-face{
    font-family: 'EBGaramond';
    src: url('fonts/ebgaramond/EBGaramond-Regular.woff') format('woff');
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}
/* EBGaramond Medium */
@font-face{
    font-family: 'EBGaramond';
    src: url('fonts/ebgaramond/EBGaramond-Medium.woff') format('woff');
    font-style: normal;
    font-weight: 500;
    font-display: swap;
}
/* EBGaramond Semi-Bold */
@font-face{
    font-family: 'EBGaramond';
    src: url('fonts/ebgaramond/EBGaramond-SemiBold.woff') format('woff');
    font-style: normal;
    font-weight: 600;
    font-display: swap;
}
/* EBGaramond Bold */
@font-face{
    font-family: 'EBGaramond';
    src: url('fonts/ebgaramond/EBGaramond-Bold.woff') format('woff');
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}

:root {
    --gold-light: #efede8;
    --gold: #8f712b;
    --gray-light: #eee;
    --gray-medium: #534b49;
    --gray-dark: #231f20;
    --white: #fff;
    --red: #a8201a;
}

body{
    font-family: 'Poppins', sans-serif;
    font-weight: 300;
    font-size: 16px;
    color: var(--gray-medium);
}

a{
    text-decoration: none;
    outline: 0;
    color: var(--gray-medium);
}

p{
    font-size: 16px;
    line-height: 28px;
    color: var(--gray-medium);
}

h1{
    font-family: 'EBGaramond', sans-serif;
    font-weight: 500;
    font-size: 60px;
    line-height: 60px;
}

h2{
    font-family: 'EBGaramond', sans-serif;
    font-size: 42px;
    line-height: 48px;
    font-weight: 400;
    color: var(--gray-medium);
}

h3{
    font-family: 'EBGaramond', sans-serif;
    font-size: 32px;
    line-height: 38px;
    font-weight: 400;
    color: var(--gray-medium);
}

h4{
    font-family: 'EBGaramond', sans-serif;
    font-size: 22px;
    line-height: 34px;
    font-weight: 400;
    color: var(--gray-medium);
}

h5{
    font-size: 18px;
    line-height: 34px;
    font-weight: 300;
    color: var(--gray-medium);
}

h6{
    font-size: 12px;
    line-height: 16px;
    font-weight: 300;
    color: var(--gray-medium);
}

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

button:focus:not(:focus-visible){
    outline: 0;
    border: 0;
    box-shadow: none;
}

.v-align{
    display: table-cell;
    vertical-align: middle;
}


/* BUTTONS */

a.button-default{
    padding: 0 30px;
    display: inline-block;
    font-size: 14px;
    font-weight: 300;
    line-height: 50px;
    text-transform: uppercase;
    border: 1px solid var(--gold);
    color: var(--gold);
}

a.button-default:hover{
    color: var(--white);
    background: var(--gold);
}

button.button-default{
    padding: 0 30px;
    display: inline-block;
    font-size: 14px;
    font-weight: 300;
    line-height: 50px;
    text-transform: uppercase;
    border: 1px solid var(--gold);
    color: var(--gold);
}

button.button-default:hover{
    color: var(--white);
    background: var(--gold);
}

.button-all, .button-download-pdf{
    font-size: 14px;
    font-weight: 400;
    text-transform: uppercase;
    border-bottom: 2px solid var(--gold);
    color: var(--gold);
}

.button-all:hover, .button-download-pdf:hover{
    border-bottom: 2px solid var(--gray-medium);
    color: var(--gray-medium);
}

.symbol {
    margin-top: 10px;
}

.symbol img {
    width: 26px;
    height: auto;
}

input{
    height: 50px;
    padding-left: 10px;
    padding-right: 10px;
    font-weight: 300;
    border: 1px solid #ddd;
    color: var(--gray-medium);
    background: var(--gold-light);
}

textarea{
    padding-left: 10px;
    padding-right: 10px;
    font-weight: 300;
    border: 1px solid #ddd;
    color: var(--gray-medium);
    background: var(--gold-light);
}

input:focus,
textarea:focus{
    outline: 0;
}

input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: auto;
    min-width: 18px;
    min-height: 18px;
    margin: 0;
    padding: 0;
    aspect-ratio: 1 / 1;
    display: inline-block;
    cursor: pointer;
    box-sizing: border-box;
    line-height: 1;
    border-radius: 0;
    border: 1px solid #ddd;
    background: transparent;
}

input[type="checkbox"]:checked {
    background-color: var(--gold);
    border-color: var(--gold);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath fill='white' d='M4.2 7.4L1.3 4.6 0 5.9 4.2 10 12 1.7 10.7 0.4z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 12px 10px;
}

.custom-select{
    width: 100%;
    min-width: 140px;
    position: relative;
    cursor: pointer;
    pointer-events: auto !important;
    z-index: 10001;
    user-select: none;
    font-family: inherit;
}

/* Esconder select nativo quando existe custom-select */
/*select.native-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    opacity: 0 !important;
    pointer-events: none !important;
}*/

/* Esconder por completo (mais simples e eficaz) */
select.native-hidden {
    display: none !important;
}

.custom-select-wrapper {
    position: relative;
    width: 100%;
}

/* Selected */
.custom-select .selected{
    height: 50px;
    padding: 0 10px;
    position: relative;
    cursor: pointer;
    pointer-events: auto !important;
    user-select: none;
    box-sizing: border-box;
    z-index: 10002; /* ainda acima */
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 16px;
    line-height: 50px;
    border-radius: 0;
    border: 1px solid #ddd;
    color: var(--gray-medium);
    background: var(--gold-light);
}

/* Arrow */
.custom-select .selected::after {
    content: '';
    width: 0; height: 0;
    margin-left: 10px;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid var(--gray-medium);
}

/* Options dropdown */
.custom-select .options {
    width: 100%;
    max-height: 220px;
    margin: 0;
    padding: 0;
    display: none;
    position: absolute;
    top: calc(100% + 0px);
    left: 0;
    overflow-y: auto;
    z-index: 10003;
    font-size: 16px;
    list-style: none;
    box-shadow: none;
    border-radius: 0;
    border: 1px solid #ddd;
    border-top: none;
    background: var(--white);
}

/* Option item */
.custom-select .options li {
    height: 44px;
    padding: 0 10px;
    cursor: pointer;
    line-height: 44px;
    border-bottom: 1px solid var(--white);
    color: var(--gray-medium);
}

.custom-select .options li:first-child {
    border-bottom: none;
    background: var(--white);
}

/* Hover / selected */
.custom-select .options li:hover,
.custom-select .options li.selected {
    border: none;
    border-bottom: 1px solid var(--white);
    background: var(--gold-light);
}

/*.custom-select .options li:hover:first-child,
.custom-select .options li.selected:first-child {
    cursor: default;
    pointer-events: none;
    border: none;
    background: var(--white);
}*/

.custom-select .options li.selected::after {
    display: none;
}

/* Force visible when open */
.custom-select.open .options {
    display: block;
}

/* Pequenas adaptações responsive */
@media (max-width: 600px) {
    .custom-select .selected,
    .custom-select .options li {
        height: 44px;
        line-height: 44px;
    }
}


/* OUTROS CSS GERAIS */

/* Esconde <span> do formulário de pesquisa */
.elementor-screen-only,
.screen-reader-text,
.screen-reader-text span,
.ui-helper-hidden-accessible{
    position: absolute;
    top: -10000em;
    width: 1px;
    heigt: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0,0,0,0);
    border: 0;
}

.content-area{
    min-height: 500px;
    padding: 0;
}

.page-template-template-home-php .content-area{
    padding: 0;
}


/******************
 HOMEPAGE TEMPLATE
*******************/

/*******
 HEADER
********/

body #page > header{
    z-index: 10010;
    border-bottom: 1px solid var(--gray-light);
    background: var(--white);
}

/* HEADER - SEARCH FORM */

header .search{
    padding: 8px 0;
    background: var(--gold-light);
}

.search-topbar{
    width: 100%;
    display: flex;
}

.search-form button{
    border: none; 
    color: var(--gray-dark);
    background: transparent;
}

.search-form input[type="search"]{
    width: 250px;
    height: 30px;
    padding: 6px 10px;
    margin-right: 5px;
    font-size: 14px;
    font-weight: 300;
    border: none;
    color: var(--gray-medium);
    background: var(--white);
}

.search-form input:focus-visible{
    outline: 0;
}

.free-shipping{
    margin: 0;
    text-align: right;
}

.free-shipping h6{
    margin: 0;
}

.free-shipping span{
    font-weight: 500;
}


/* HEADER - TOP BAR - BRAND AND NAV */

header .top-bar{
    height: 90px;
}

/* Header - Brand */
header .brand{
    padding-top: 15px;
    padding-bottom: 15px;
    word-break: break-word;
    -ms-word-wrap: break-word;
}

header .brand a{
    display: inline-block;
    line-height: 0;
}

header .brand a img{
    max-width: 195px;
    height: auto;
    display: block;
    pointer-events: none;
}

/* Header - Nav */

.menu-content{
    height: 90px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 0;
    position: relative;
}

.main-menu{
    height: 100%;
    padding: 0;
    position: relative;
    z-index: 10;
    /*background: orange;*/
}

.main-menu ul{  
    padding: 0; 
    margin: 0; 
    font-size: 16px;
    font-weight: 300;
    border-radius: 0;
}

.main-menu ul li{ 
    display: inline;  
    margin: 0 20px 0 0;
}

.main-menu > ul li a,
.navbar-light .navbar-nav .nav-link{  
    display: flex;
    align-items: center;
    padding-top: 33px;
    padding-bottom:33px;
    text-decoration: none;
    color: var(--gray-medium);
}

.main-menu ul li a.nav-link:first-child{ 
    padding-left: 0 !important;
}

.main-menu ul li ul{
    z-index: 20;
    border: 1px solid var(--gray-light);
    background: var(--white);
}

.main-menu ul li ul li{
    margin: 0;
}

.main-menu ul li ul li a{
    padding: 0.5rem;
    font-size: 16px;
    font-weight: 300;
    color: var(--gray-medium);
}

.main-menu .navbar-nav .active>.nav-link{ 
    color: var(--gold); 
}

.main-menu .dropdown-item:focus, 
.main-menu .dropdown-item:hover{
    color: var(--gold);
    background: var(--gold-light);
}

.main-menu .dropdown:hover>.dropdown-menu, 
.main-menu .dropup:hover>.dropdown-menu{
    display: block;
}

.main-menu .dropdown-item.active, 
.main-menu .dropdown-item:active{
    color: var(--gold);
    background: var(--gold-light);
}

.main-menu .dropdown-menu .active>.dropdown-item{ 
    color: var(--gold);
    background: var(--gold-light);
}

.main-menu .navbar-toggler{
    padding-right: 0;   
    border: none; 
}

.main-menu .dropdown-toggle::after{
    vertical-align: 0.155em;
    display: none;
}

.dropdown-toggle-btn{
    display: none !important;
}

.navbar-light .navbar-toggler-icon{
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23534b49' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}



/* Cart - Nav */

.cart{
    height: 100%;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 10000;
}


.cart a.cart-button{
    height: 100%;
    display: flex;
    align-items: center;
    padding: 0 15px;
    position: relative;
    z-index: 10001;
}

.cart .fa-cart-shopping{
    font-size: 20px;
    color: var(--gray-medium);
}

.cart a.cart-button:hover .fa-cart-shopping,
.cart a.cart-button:active .fa-cart-shopping,
.cart a.cart-button.active .fa-cart-shopping{
    color: var(--gold);
}

.cart .items{
    min-width: 20px;
    height: 20px;
    margin-left: 5px;
    display: inline-block;
    font-size: 12px;
    font-weight: 400;
    text-align: center;
    line-height: 20px;
    border-radius: 50%;
    color: var(--white);
    background: var(--gold);
}

.navbar-collapse{
    position: static;
}

.cart .dropdown-toggle{
    pointer-events: auto !important;
}

/* Dropdown Cart */
.cart .dropdown-menu{
    min-width: 350px;
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    left: auto;
    padding: 20px;
    margin: 0;
    z-index: 9999;
    border: 1px solid var(--gray-light);
    border-radius: 0;
    background: var(--white);
}

.cart:hover .dropdown-menu{
    display: block;
}

/* remove seta default do bootstrap se estiveres a usar .dropdown-toggle */
.cart .dropdown-toggle::after{
    display: none;
}

/* Remove bullets e padding das listas */
.cart-dropdown ul,
.cart-dropdown li{
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Dropdown Cart */
/*.cart-dropdown li.mini-cart-item{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 0;
}

.cart-item-thumb img{
    width: 50px;
    height: 50px;
    border: 1px solid var(--gray-light);
}

.cart-item-info{
    flex: 1;
    margin-left: 10px;
}

.cart-item-title{
    font-size: 14px;
    font-weight: 600;
    margin: 0;
}
.cart-item-meta{
    font-size: 13px;
    color: #666;
}
.cart-item-remove{
    color: #999;
    text-decoration: none;
    font-size: 18px;
}

.cart-dropdown .woocommerce-mini-cart__buttons{
    text-align: center;
    padding: 0;
    margin: 0;
}

.cart-dropdown .woocommerce-mini-cart__buttons.buttons{
    margin-bottom: 0;
    padding: 0;
}

.cart-dropdown .woocommerce-mini-cart__buttons.buttons a:hover{
    color: var(--white);
    background: var(--gray-medium);
}

.cart-dropdown .woocommerce-mini-cart__buttons a{
    height: 40px;
    display: inline-block;
    padding: 0px 10px;
    margin: 5px;
    font-size: 14px;
    font-weight: 400;
    text-transform: uppercase;
    text-decoration: none;
    line-height: 40px;
    border-radius: 0;
    color: var(--white);
    background: var(--gold);
}

.cart-dropdown .woocommerce-mini-cart__buttons a.wc-forward, .cart-dropdown .woocommerce-mini-cart__buttons a.checkout{
    height: 40px;
    font-size: 14px;
    font-weight: 400;
    text-transform: uppercase;
    line-height: 40px;
    border-radius: 0;
    background: var(--gold);
}

.cart-dropdown .woocommerce-mini-cart__buttons a:hover{
    background: var(--gray-medium);
}

.cart-dropdown .woocommerce-mini-cart-item a{
    text-decoration: none;
    color: var(--gray-medium);
}*/


/* User - Nav */

.user-menu{
    height: 100%;
    display: inline-block;
    display: flex;
    align-items: center;
}

.user-menu a.user-button{
    height: 100%;
    display: flex;
    align-items: center;
    padding: 0 5px 0 15px;
}

.user-menu .fa-user{
    cursor: pointer;
    font-size: 20px;
    color: var(--gray-medium);
}

.user-menu a.user-button:hover .fa-user,
.user-menu a.user-button:active .fa-user,
.user-menu a.user-button.active .fa-user{
    color: var(--gold);
}

.user-menu .dropdown-menu{
    min-width: 170px; /* ajusta conforme precisares */
    position: absolute;
    top: 100%;
    right: 0;
    left: auto;
    padding: 0;
    margin: 0;
    display: none;
    z-index: 1000;
    border: 1px solid var(--gray-light);
    border-radius: 0;
    background: var(--white);
}

.user-menu:hover .dropdown-menu,
.user-menu .dropdown-menu:hover{
    display: block;
}

.user-menu .dropdown-menu li{
    display: block;
    margin: 0;
    padding: 0;
}

.user-menu .dropdown-menu .dropdown-item{
    padding: 10px 14px;
    display: block;
    font-size: 14px;
    text-align: left;
    white-space: nowrap;
    color: var(--gray-medium);
}

/* hover dos itens */
.user-menu .dropdown-menu .dropdown-item:hover,
.user-menu .dropdown-menu .dropdown-item:focus{
    background: var(--gold-light);
    color: var(--gray-medium);
}

.user-menu .dropdown-menu .dropdown-menu{
    min-width: 160px;
    position: absolute;
    top: -1px;
    right: 100%;
    left: auto;
    margin: 0;
    display: none;
    border: 1px solid var(--gray-light);
    background: var(--white);
}

/* mostra submenu quando o item pai está em hover */
.user-menu .dropdown-menu li:hover > .dropdown-menu{
    display: block;
}

.user-menu .dropdown-toggle::after{
    display: none;
}

.user-menu.dropdown:hover .dropdown-menu{
    display: block;
    margin-top: 0;
}

/* Language - Nav */

.language-menu{
    background: pink;
}

.language-menu .trp-shortcode-switcher{
    overflow: initial;
}

.language-menu .trp-language-item{
    padding-right: 5px;
}

/*.language-menu{
    height: 100%;
    display: inline-block;
    display: flex;
    align-items: center;
}

.language-menu a.language-button{
    height: 100%;
    display: flex;
    align-items: center;
    padding: 0 5px 0 15px;
}

.language-menu span{
    font-size: 16px;
    color: var(--gray-medium);
}

.language-menu a.language-button:hover span,
.language-menu a.language-button:active span,
.language-menu a.language-button.active span{
    color: var(--gold);
}

.language-menu .dropdown-menu{
    min-width: 40px;
    position: absolute;
    top: 100%;
    right: 0;
    left: auto;
    padding: 0;
    margin: 0;
    display: none;
    z-index: 1000;
    border: 1px solid var(--gray-light);
    border-radius: 0;
    background: var(--white);
}

.language-menu:hover .dropdown-menu,
.language-menu .dropdown-menu:hover{
    display: block;
}

.language-menu .dropdown-menu li{
    display: block;
    margin: 0;
    padding: 0;
}

.language-menu .dropdown-menu .dropdown-item{
    padding: 10px 14px;
    display: block;
    font-size: 14px;
    text-align: center;
    white-space: nowrap;
    color: var(--gray-medium);
}

.language-menu .dropdown-menu .dropdown-item:hover,
.language-menu .dropdown-menu .dropdown-item:focus,
.language-menu .dropdown-menu .dropdown-item.active{
    background: var(--gold-light);
    color: var(--gray-medium);
}

.language-menu .dropdown-menu .dropdown-menu{
    min-width: 40px;
    position: absolute;
    top: -1px;
    right: 100%;
    left: auto;
    margin: 0;
    display: none;
    border: 1px solid var(--gray-light);
    background: var(--white);
}

.language-menu .dropdown-menu li:hover > .dropdown-menu{
    display: block;
}

.language-menu .dropdown-toggle::after{
    display: none;
}

.language-menu .language-button:hover::after,
.language-menu .language-button.active::after{
    color: var(--gold);
}

.language-menu.dropdown:hover .dropdown-menu{
    display: block;
    margin-top: 0;
}*/


/**********
 AGE-MODAL
***********/

#age-modal{
  display: none;
}

body.age-locked{
  overflow: hidden;
}

.age-modal {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.7);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 99999;
}

.age-box{
  max-width: 550px;
  padding: 30px;
  text-align: center;
  color: var(--gray-light);
  background: var(--gray-dark);
}

.age-box .symbol{
    margin-top: 0;
    margin-bottom: 20px;
}

.age-box h2{
    margin-bottom: 30px;
    color: var(--gold);
}

.age-modal p{
    margin-bottom: 30px;
    color: var(--gray-light);
}

.age-box button.button-default{
    margin: 0 10px;
    background: transparent;
    border: 1px solid var(--gray-light);
    color: var(--gray-light);
}

.age-box button.button-default:hover{
    border: 1px solid var(--gold);
    color: var(--gray-light);
    background: var(--gold);
}

.age-box #age-message{
  margin-top: 20px;
  font-weight: 300;
  color: var(--red);
}

.age-box .age-disclaimer {
  display: block;
  margin-top: 30px;
  font-size: 12px;
  color: #777;
}


/***************
 COOKIES BANNER
****************/

#cookie-banner {
    padding: 10px;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 99999;
    font-size: 12px;
    background: var(--gray-dark);
}

.cookie-box {
    margin: auto;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

.cookie-box p {
    margin: 0;
    font-size: 14px;
    color: var(--gray-light);
}

.cookie-box a {
    text-decoration: underline;
    color: var(--gray-light);
}

.cookie-box a:hover {
    color: var(--gold);
}

.cookie-box #accept-cookies,
.cookie-box #reject-cookies{
    background: transparent;
    border: 1px solid var(--gray-light);
    color: var(--gray-light);
}

.cookie-box #accept-cookies:hover,
.cookie-box #reject-cookies:hover{
    background: var(--gold);
    border: 1px solid var(--gold);
    color: var(--gray-light);
}

.cookie-box #accept-cookies{
    margin: 10px 10px 10px 0;
}

.cookie-box #reject-cookies{
    margin: 10px 0 10px 10px;
}


/***************
 PAGE ERROR 404
****************/

.error-404{
    padding: 150px 0;
}

.error-404 h1{
    margin: 0;
    font-size: 100px;
    letter-spacing: 5px;
}

.error-404 h2{
    margin: 30px 0 0 0;
}

.error-404 p{
    margin: 20px 0 0 0;
}

.error-404 a{
    margin-top: 50px;
}


/*******
 BANNERS
********/

.banner{
    width: 100%;
    position: relative;
    overflow: hidden;
}

.banner-image{
    width: 100%;
    height: 700px;
    overflow: hidden;
}

.banner-image img{
    width: 100%;
    height: 700px;
    object-fit: cover; /* preenche o espaço, mantendo proporção */
    object-position: center center; /* centra horizontal e verticalmente */
    display: block;
}

.banner-image.contacts{
    width: 100%;
    height: 500px;
    overflow: hidden;
}

.banner-image.contacts img{
    width: 100%;
    height: 500px;
    object-fit: cover; /* preenche o espaço, mantendo proporção */
    object-position: center center; /* centra horizontal e verticalmente */
    display: block;
}

.banner-content{
    position: absolute;
    top: 50%;
    transform: translate(0%, -50%);
    left: 0;
    z-index: 3;
    text-align: center;
    color: var(--gray-dark);
}

.banner::before{
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
}


/* Container interno sobre a imagem de fundo */
.banner-inner{
    position: absolute;
    inset: 0; /* equivale a top:0; left:0; right:0; bottom:0 */
    padding: 0;
    z-index: 2;
}

.banner-side-image{
    height: 650px;
}

.banner-side-image img{
    width: auto;
    height: 650px;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* Alinhamentos Opcionais */
.banner-content.pos-left{
    text-align: left;
}

.banner-content.pos-right{
    text-align: right;
}

/*.banner-content h5, .banner-content p{
    margin-bottom: 5px;
}*/

.banner-content p.banner-tagline{
    margin-bottom: 15px;
    font-weight: 500;
    text-transform: uppercase;
    color: var(--gold);
}

.banner-content p.banner-description{
    margin-top: 10px;
    color: var(--gray-medium);
}

.banner-content h5.banner-subtitle{
    margin-top: 10px;
    font-weight: 300;
    color: var(--gray-dark);
}

.banner-content p.banner-button{
    height: 50px;
    margin-top: 20px;
}

.banner-content p.banner-button a{
    height: 100%;
    padding: 0 30px;
    display: inline-block;
    font-size: 14px;
    font-weight: 400;
    line-height: 50px;
    text-transform: uppercase;
    color: var(--white);
    background: var(--gold);
}

.banner-content p.banner-button a:hover{
    background: var(--gray-medium);
}


/************
 BREADCRUMBS
*************/

.content-breadcrumbs {
    padding-top: 40px;
    padding-bottom: 40px;
    font-size: 12px;
    color: var(--gray-medium);
}

.content-breadcrumbs a{
    font-weight: 500;
    color: var(--gray-medium);
}


/*********
 HOMEPAGE
**********/


/* ABOUT US AND NEW ARRIVALS (PRODUCTS) */

.about-us {
    padding-top: 150px;
    padding-bottom: 75px;
    text-align: center;
}

.about-us h2 {
    margin-bottom: 30px;
}

.about-us p{
    color: var(--gray-medium);
    margin: 0;
}

.about-us .buttons{
    margin-top: 30px;
}

.about-us .buttons .button-default{
    width: 150px;
    padding: 0;
    margin: 0 10px;
}

.new-arrivals {
    padding-top: 75px;
    padding-bottom: 150px;
    text-align: center;
}

.new-arrivals .section-title {
    margin-bottom: 50px;
}

.new-arrivals .woocommerce ul.products {
    padding-top: 0;
}


/* CATEGORIES PRODUCTS */

.products-categories{
    width: 100%;
    padding: 150px 0;
    position: relative;
    overflow: hidden;
    text-align: center;
    color: var(--white);
    background-size: cover;
    background-position: center;
}

.products-categories .overlay{
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
}

.products-categories .container{
    position: relative;
    z-index: 2;
}

.products-categories .title{
    color: var(--white);
    margin-bottom: 50px;
}

.products-categories .products-grid{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 100px;
}

.products-categories .product-item{
  text-align: center;
}

.products-categories .product-item img{
  width: 70px;
  height: auto;
  margin-bottom: 10px;
}

.products-categories .product-item h5{
  margin: 0;
  color: var(--white);
}


/* BRANDS PRODUCTS */

.brands-products {
    padding: 150px 0;
    text-align: center;
    background: var(--gold-light);
}

.brands-products .brand{
    margin-bottom: 10px!important;
    margin-top: 10px!important;
}

.brands-products .brand .brand-item {
    transition: all 0.3s ease;
}

.brands-products .brand .brand-item:hover {
    transform: scale(1.15);
}

.brands-products .brand .brand-item img {
    max-width: 140px;
    height: auto;
    transition: all 0.3s ease;
}


/*************************
 PÁGINA GAMA
 Página de Todas as Gamas
**************************/

.gama-title {
    padding-top: 150px;
    padding-bottom: 150px;
    text-align: center;
}

.gama-title h1{
    color: var(--gold);
}

.gama-title h5 {
    margin-top: 30px;
}

.gama-section {
    width: 100%;
    min-height: 400px; 
    padding: 0;
    margin-bottom: 150px;
    display: flex;
    position: relative;
    background: var(--gold-light);
    overflow-x: hidden;
}

.gama-bg-white {
    width: 50%;
    position: absolute;
    top: 0;
    bottom: 0;
    background: var(--white);
}

.gama-section.impar .gama-bg-white {
    left: 0;
}

.gama-section.par .gama-bg-white {
    right: 0;
}

.gama-section.impar .gama-flex {
    flex-direction: row;
}

.gama-section.par .gama-flex {
    flex-direction: row-reverse;
}

.image-content {
    width: 50%;
    display: flex;
}

.info-content {
    width: 50%;  
    display: flex; 
}

.gama {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: row;
}

.image-inner {
    display: flex;
    align-items: center;   /* centra verticalmente */
    justify-content: center; /* opcional: centra horizontalmente */
    text-align: center;
    background: var(--white);
}

.image-inner img{
    width: 100%;
    max-width: 450px;
    height: auto;
}

.tax-container .image-inner{
    padding: 50px 0;
}

.tax-container .image-inner img{
    max-width: 340px;
}

.info-inner{
    padding: 100px 60px;
}

.gama-section.impar .info-inner{
    padding-right: 0;
}

.gama-section.par .info-inner{
    padding-left: 0;
    text-align: right;
}

.info-inner h2{
    color: var(--gold);
}

.info-inner p {
    margin-top: 20px;
    margin-bottom: 30px;
    color: var(--gray-medium);
}

.buttons-inner {
    display: inline-flex;
    gap: 20px;
}

.gama-section.impar .buttons-inner{
    text-align: left;
}

.gama-section.par .buttons-inner{
    text-align: right;
}


/***************************
 TAXONOMY GAMA
 Página de cada 1 das Gamas
****************************/

.tax-image{
    margin-top: 50px;
    text-align: center;
}

.tax-image img {
    max-width: 450px;
    height: auto;
}

.tax-button {
    margin-top: 30px;
    text-align: center;
}


/*****************************************
 SINGLE WINE - GAMA
 Página de cada 1 dos Vinhos da Área Gama
******************************************/

.single-wine .gama-section{
    margin-bottom: 0;
}

.single-wine-container .info-inner{
    padding-top: 150px;
    padding-bottom: 150px;
}

.single-wine-container .image-inner{
    display: block;
    padding: 150px 0;
}

.single-wine-container .image-inner img{
    max-width: 550px;
}


/* Awards */

.single-wine-container .wine-awards{
    margin-top: 40px;
    margin-bottom: 40px;
}

.single-wine-container .wine-awards ul li.award{
    margin-bottom: 40px;
    list-style: none;
    display: block;
}

.single-wine-container .wine-awards ul li.award:last-child{
    margin-bottom: 100px;
}

.single-wine-container .wine-awards ul li.award .image-award{
    padding-top: 6px;
    /*display: inline-block;*/
    display: table-cell;
    vertical-align: top;
}

.single-wine-container .wine-awards ul li.award .image-award img{
    width: 84px;
    height: auto;
    vertical-align: top;
}

.single-wine-container .wine-awards ul li.award .info-award{
    /*display: inline-block;*/
    display: table-cell;
    vertical-align: top;
    padding-left: 20px;
}

.single-wine-container .wine-awards ul li.award .info-award h4{
    margin: 0;
    font-family: 'EBGaramond', sans-serif;
}

.single-wine-container .wine-awards ul li.award .info-award p{
    margin: 0;
    line-height: 24px;
}

.single-wine-container .wine-awards ul li.award .info-award p.award-name{
    font-style: italic;
}

.single-wine-container .wine-awards ul li.award .info-award h6.award-colheita{
    margin-top: 4px;
    margin-bottom: 0;
}


/* Description */

.single-wine-container .wine-description{
    margin-top: 40px;
    margin-bottom: 40px;
}

.single-wine-container .wine-description p{
    margin: 0;
}

.single-wine-container .wine-description p:first-child{
    margin-bottom: 20px;
}

.single-wine-container .wine-info{
    margin-top: 100px;
}

.single-wine-container .wine-info h3{
    margin: 0;
    margin-bottom: 10px;
    color: var(--gold);
}

.single-wine-container .wine-info p{
    margin: 0;
}

.single-wine-container .wine-info h5{
    margin-top: 30px;
    font-weight: 500;
    font-size: 16px;
}

.single-wine-container .wine-info h6{
    padding-bottom: 6px;
    font-size: 14px;
    text-align: right;
    font-weight: 500; 
    border-bottom: 2px solid #ccc;
    color: var(--gray-medium);
}


/* Ficha Técnica */

.single-wine-container .wine-info .td-left,
.single-wine-container .wine-info .td-right,
.single-wine-container .wine-info .td-center{
    padding: 8px 0;
    font-size: 14px;
    border-bottom: 1px solid #ccc;
}

.single-wine-container .wine-info .td-right{
    text-align: right;
}

.single-wine-container .wine-info .td-left{
    text-align: left;
}

.single-wine-container .wine-info .td-center{
    text-align: center;
}

.single-wine-container .wine-info.items h5{
    /*margin-bottom: 10px;*/
}

.single-wine-container .wine-info .wine-info-item p{
    font-size: 14px;
    margin: 0;
}

.single-wine-container .wine-info table{
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    text-align: center;
}

.single-wine-container .wine-info .note{
    margin-top: 5px;
    font-size: 12px;
    color:var(--gray-medium);
}

.single-wine-container .wine-button-download{
    margin-top: 100px;
    text-align: center;
}

/*.single-wine-container .wine-button-download .symbol img{
    width: 28px;
}*/


/*****************************************
 SOBRE NÒS
 Página de cada 1 dos Itens do Sobre Nós
******************************************/

.sobrenos-page {
    width: 100%;
}

.sobrenos-page .bloco{
    width: 100%;
    padding: 150px 0;
}

/*.sobrenos-page img{
    width:100%;
    height:auto;
    display:block;
}*/

.sobrenos-page .titulo-texto h2{
    margin-bottom: 30px;
}


/* Full Image */

.sobrenos-page .imagem-full img{
    width: 80%;
    height: auto;
    display: block;
    margin: 0 auto;
}

.sobrenos-page.terroir .imagem-full,
.sobrenos-page.historia .imagem-full{
    padding-top: 0;
    padding-bottom: 0;
}

.sobrenos-page.historia .titulo-texto{
    padding-bottom: 60px;
}

.sobrenos-page.terroir .titulo-texto{
    padding-bottom: 30px;
}


/* Template Dividido */

.sobrenos-page.terroir .img-esq,
.sobrenos-page.terroir .img-dir{
    padding-top: 0;
}

.sobrenos-page .split{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: start;   /* ou stretch */
}

.sobrenos-page .split.reverse{
    direction: rtl;
}

.sobrenos-page .split.reverse > *{
    direction: ltr;
}

.sobrenos-page .texto-full,
.sobrenos-page .titulo-texto{
    width: 100%;
    margin: 0 auto;
    text-align: center;
}

/*.container-fluid{
    width:100%;
}*/

.sobrenos-page .txt-col{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: lex-start;
}

.sobrenos-page.sobrenos .img-esq .img-col img{
    width: 100%;
    height: auto;
    display: block;
    float: right;
}

.sobrenos-page.sobrenos .img-dir .img-col img{
    width: 100%;
    height: auto;
    display: block;
    float: left;
}

.sobrenos-page.sobrenos .img-esq .txt-col h2,
.sobrenos-page.terroir .img-esq .txt-col h2
{
    text-align: left;
    margin-bottom: 30px;
}

.sobrenos-page.terroir .img-esq .img-col img{
    width: 70%;
    height: auto;
    display: block;
    float: right;
}

.sobrenos-page.sobrenos .img-dir .txt-col h2,
.sobrenos-page.terroir .img-dir .txt-col h2{
    text-align: right;
    margin-bottom: 30px;
}

.sobrenos-page.sobrenos .img-dir .txt-col,
.sobrenos-page.terroir .img-dir .txt-col{
    text-align: right;
}

.sobrenos-page.terroir .img-dir .img-col img{
    width: 70%;
    height: auto;
    display: block;
    float: left;
}

.sobrenos-page.sobrenos .img-esq{
    padding-bottom: 75px;
}

.sobrenos-page.sobrenos .img-dir{
    padding-top: 75px;
}

.sobrenos-page.sobrenos .img-esq a.button-default{
    margin-top: 20px;
    display: inline-block;
    margin-left: 0;
    margin-right: auto;
}

.sobrenos-page.sobrenos .img-dir a.button-default{
    margin-top: 20px;
    display: inline-block;
    margin-left: auto;
    margin-right: 0;
}


/* Template Texto - Background Color */

.sobrenos-page .bloco-titulo{
    width: 100%;
    margin: 0 auto;
    text-align: center;
}

.sobrenos-page .bloco-texto{
    width: 100%;
    margin: 0 auto;
    text-align: center;
}

.sobrenos-page .bloco-bg-cor{
    width: 100%;
    padding: 150px 0;
}

.sobrenos-page.sobrenos .bloco-bg-cor a.button-default{
    display: table;
    margin: 30px auto 0 auto;
}

.sobrenos-page .bloco-bg-cor .bloco-titulo{
    margin-bottom: 30px;
}

.sobrenos-page .bloco-bg-cor .bloco-texto{
    width: 100%; /* opcional p/ melhor leitura */
    text-align: center;
}


/* Template Background Image */

.sobrenos-page .bloco-bg-img{
    width: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 150px 0;
    position: relative;
}

.sobrenos-page .bloco-bg-img .overlay{
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.4); /* ajustável */
    z-index: 1;
}

.sobrenos-page .bloco-bg-img .container{
    position: relative;
    z-index: 2;
}

.sobrenos-page .img-fundador {
    width: auto;
    height: 200px;
    position: absolute;
    bottom: -100px;
    left: 50%;
    transform: translateY(-50%);
    transform: translateX(-50%);
    z-index: 3;
    margin: 0 auto;
}

.sobrenos-page .img-fundador img{
    width: auto;
    height: 100%;
}

.sobrenos-page .bloco-bg-img h2{
    color: #f2f2f2;
}

.sobrenos-page .bloco-bg-img h6{
    margin-top: 20px;
    color: #f2f2f2;
    text-align: center;
}

.sobrenos-page .texto-2col{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    margin-top: 40px;
    color: #f2f2f2;
}

.sobrenos-page .texto-2col .col-texto:first-child{
    text-align: right;
}

.sobrenos-page .texto-2col .col-texto p{
    color: white; /* se bg for escuro */
    font-weight: 300;
}


/* Imagem Extra */

.sobrenos-page .bloco-imagem-extra{
    width: 100%;
    margin: 40px 0;
}

.sobrenos-page .bloco-imagem-extra.bloco-imagem-top{
    margin-top: 0;
}

.sobrenos-page .bloco-imagem-extra.bloco-imagem-bottom{
    margin-bottom: 0;
}

.sobrenos-page .bloco-imagem-extra img{
    width: auto;
    height: 45px;
    display: block;
    margin: 0 auto;
}


/**************
 CONTACTS PAGE
***************/

.contacts-text {
    padding-top: 150px;
    padding-bottom: 75px;
    text-align: center;
}

.contacts-text h2 {
    margin-bottom: 30px;
}

.contacts-text p{
    color: var(--gray-medium);
    margin: 0;
}

.contacts-form {
    padding-top: 75px;
    padding-bottom: 150px;
}

.contacts-form .contacts-box-address{
    padding-top: 20px;
    padding-right: 20px;
    background: var(--gold-light);
}

.contacts-form .contacts-box-address h3 {
    margin-bottom: 20px;
    color: var(--gold);
}

.contacts-form .contacts-box-address p {
    color: var(--gray-medium);
}

.contacts-form .contacts-box-address a {
    color: var(--gray-medium);
}

.contacts-form .contacts-box-address a:hover {
    color: var(--gold);
}

.contacts-form .contacts-box-address .contacts-icon{
    width: 22px;
    height: auto;
    margin-right: 6px;
    color: var(--gold);
}

.contacts-form .contacts-border {
    width: 100px;
    margin-bottom: 1rem;
    border-top: 1px solid var(--gold);
}

.contacts-form .contacts-box-form{
    padding-left: 40px;
}

.contacts-form .contacts-box-address .box-others p{
    margin-bottom: 0;
}

.mapa-full {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
}

.mapa-full iframe {
    width: 100%;
    height: 500px;
    border: 0;
    display: block;
}


/*************************
 FORMULÁRIOS - FORMINATOR
**************************/

/* Labels */
.forminator-ui .forminator-label {
    font-size: 16px !important;
    font-weight: 400 !important;
}

/* Inputs / Textarea / Select */
.forminator-ui input,
.forminator-ui textarea,
.forminator-ui select {
    border-radius: 0 !important;
}

/* Placeholder */
.forminator-ui input::placeholder,
.forminator-ui textarea::placeholder {
    font-size: 14px !important;
    font-weight: 400 !important;
}

/* Compatibilidade browsers */
.forminator-ui input::-webkit-input-placeholder,
.forminator-ui textarea::-webkit-input-placeholder {
    font-size: 14px !important;
    font-weight: 400 !important;
}

.forminator-ui input:-ms-input-placeholder,
.forminator-ui textarea:-ms-input-placeholder {
    font-size: 14px !important;
    font-weight: 400 !important;
}

.forminator-ui input::-ms-input-placeholder,
.forminator-ui textarea::-ms-input-placeholder {
    font-size: 14px !important;
    font-weight: 400 !important;
}


/* Checkbox */

.forminator-ui .forminator-checkbox-label a {
    font-weight: 600;
    color: var(--gray);
}

.forminator-ui .forminator-checkbox-label a:hover {
    color: var(--gold);
}


/* Botões */
.forminator-ui .forminator-button,
.forminator-ui button,
.forminator-ui input[type="submit"] {
    border-radius: 0 !important;   /* remove cantos redondos */
    height: 50px !important;       /* altura do botão */
    text-transform: uppercase !important; /* texto em uppercase */
    font-weight: 300;
}

.forminator-ui .forminator-button:hover,
.forminator-ui button:hover,
.forminator-ui input[type="submit"]:hover,
.forminator-ui .forminator-button:focus,
.forminator-ui button:focus,
.forminator-ui input[type="submit"]:focus {
    box-shadow: none !important;
    outline: none !important;
}

/* Erros */
.forminator-ui .forminator-error-message,
.forminator-ui .forminator-response-message,
.forminator-ui .forminator-field-error {
    font-size: 14px !important;
    font-weight: 400 !important;
    font-family: inherit !important;
}


/*****************************
 AWARDS AND DISTINCTIONS PAGE
******************************/

.filtros-premios-wrapper{
    /*margin:150px auto 40px auto;*/
    padding: 50px 0;
    opacity:0;
    transition: opacity .25s ease;
    border-bottom: 1px solid var(--gray-light);
}

.filtros-premios-wrapper.ready{
    opacity:1;
}

.filtros-premios-wrapper .filtros-grid{
    display: grid;
    grid-template-columns: 1fr 1fr; /* 50% / 50% */
    gap: 20px;
}

.filtros-premios-wrapper .filtros-grid .filtro-col{
    display: flex;
    flex-direction: column;
}

.filtros-premios-wrapper .filtros-grid .filtro-col label{
    margin-bottom: 5px;
    display: block;
    font-size: 14px;
    font-weight: 400;
    color: var(--gray-medium);
}

.filtros-premios-wrapper .filtros-grid .filtro-col .custom-select-wrapper{
    height: 50px;
    position: relative;
    font-size: 14px;
    line-height: 50px;   
    border-radius: 0;
    cursor: pointer;
    color: var(--gray-medium);
    background: var(--gold-light);
}

.filtros-premios-wrapper .filtros-grid .filtro-col select{
    appearance:none;
    background-repeat: no-repeat;
    background-image: url("data:image/svg+xml;utf8,<svg fill='black' height='20' viewBox='0 0 24 24' width='20' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/></svg>");
}

.filtros-premios-wrapper .filtros-grid .filtro-col .custom-select{
    height: 50px;
    position: relative;
    font-size: 14px;
    line-height: 50px;   
    border-radius: 0;
    cursor: pointer;
    color: var(--gray-medium);
    background: var(--gold-light);
}

.premios-container .sem-resultados{
    padding-top: 100px;
}

.premios-container .row-content{
    padding: 100px 0;
}

.premios-container .ano-bloco{
    padding-bottom: 100px;
}

.premios-container .ano-bloco:last-child{
    padding-bottom: 0;
}

.premios-container .ano-bloco .ano-title{
    margin-bottom: 10px;
}

.premios-container .ano-bloco ul.lista-premios{
    padding: 0;
    margin: 0;
}

.premios-container .ano-bloco ul.lista-premios li.premio-li{
    margin-bottom:10px;
    padding: 20px;
    display: flex;
    align-items: top;
    gap: 20px;
    transition: .2s;
    list-style: none;
    opacity: 0;
    transform:translateY(14px);
    transition: opacity .35s ease, transform .35s ease;
    background: var(--gold-light);
}

.premios-container .ano-bloco ul.lista-premios li.premio-li:hover{
    transform: translateX(4px);
}

.premios-container .ano-bloco ul.lista-premios li.premio-li.show{
    opacity:1;
    transform:translateY(0);
}

.premios-container .ano-bloco ul.lista-premios li.premio-li .medalha-wrap{
    width: 106px;
    height: 106px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.premios-container .ano-bloco ul.lista-premios li.premio-li .medalha-wrap img{
    width: 100%;
    height: auto;
    object-fit: contain;
}

.premios-container .ano-bloco ul.lista-premios li.premio-li .premio-info{
    display: flex;
    flex-direction: column;
}

.premios-container .ano-bloco ul.lista-premios li.premio-li .premio-info .linha-topo{
    display: flex;
    gap: 20px;
    align-items: center;
}

.premios-container .ano-bloco ul.lista-premios li.premio-li .premio-info h4.vinho{
    margin: 0;
    font-family: 'EBGaramond', sans-serif;
}

.premios-container .ano-bloco ul.lista-premios li.premio-li .premio-info .texto{
    font-style: italic;
}

.premios-container .ano-bloco ul.lista-premios li.premio-li .premio-info .colheita{
    margin-top: 2px;
}


/**************
 QR-CODE PAGES
***************/

.qr-page a{
    pointer-events:none;
    text-decoration:none;
    color:inherit;
}

.single-qr-wine .wine-title .wine-text-pt{
    margin:0;
    font-family: 'EBGaramond', sans-serif;
    font-size: 42px;
    line-height: 48px;
    font-weight: 400;
    color: var(--gold);
}

.single-qr-wine .wine-title .wine-text-en{
    margin:0;
    margin-bottom: 40px;
    font-family: 'EBGaramond', sans-serif;
    font-size: 32px;
    line-height: 38px;
    font-weight: 400;
    font-style: italic;
    color: var(--gold);
}

.single-qr-wine .wine-description .wine-text-pt{
    margin-top: 0;
    margin-bottom:10px!important;
}

.single-qr-wine .wine-description .wine-text-en{
    margin-top: 0;
    font-style:italic;
    font-size:15px;
    color:#777;
}

.single-qr-wine .wine-meta{
    margin-top: 40px;
    margin-bottom: 40px;
}

.single-qr-wine .wine-meta p{
    margin-top: 0;
    margin-bottom: 0;
}

.single-qr-wine .wine-meta-label{
    font-weight:500;
}

.wine-meta-en{
    font-size: 15px;
    font-style: italic;
    color: #777;
}

.wine-tech-en{
    font-style: italic;
    color: #777;
}

.single-qr-wine .wine-info.items p{
    font-size: 14px;
}

.single-qr-wine .wine-info.items .wine-tech-en{
    font-size: 14px;
    font-style: italic;
    color: #777;
}

.single-qr-wine .wine-info .wine-info-pt{
    margin: 0;
    font-family: 'EBGaramond', sans-serif;
    font-size: 32px;
    line-height: 38px;
    font-weight: 400;
    color: var(--gold);
}

.single-qr-wine .wine-info .wine-info-en{
    font-family: 'EBGaramond', sans-serif;
    font-size: 22px;
    line-height: 34px;
    font-weight: 400;
    font-style: italic;
    margin-top:0;
    margin-bottom:10px;
    color: var(--gold);
}

.wine-text-pt{
    margin-bottom:5px;
}

.wine-text-en {
    font-style: italic;
    font-size: 15px;
    color: #777!important;
}


/**************
 PÁGINAS LEGAIS
***************/

.legal-page {
    padding-top: 150px;
    padding-bottom: 150px;
}

.legal-page h1{
    margin-bottom: 50px;
    color: var(--gold);
}

.legal-page h3{
    margin-top: 50px;
    margin-bottom: 20px;
    color: var(--gold);
}

.legal-page p{
    margin-bottom: 20px;
}

.legal-page h6{
    margin-top: 50px;
}

.legal-page a{
    font-weight: 400;
}

.legal-page a:hover{
    color: var(--gold);
}

.legal-page ul li {
    list-style: disc;
    padding-bottom: 15px;
    margin-left: 20px;
}



/*******
 FOOTER
********/

footer{
    border-top: 1px solid var(--gray-light);
    color: var(--gray-medium);
    background: var(--white);
}

.footer-widgets{
    padding: 100px 0;
}

.footer-social p{
    margin: 0 5px 0 0;
    font-size: 16px;
    line-height: 34px;
    text-transform: uppercase;
    color: var(--gray-medium);
}

.footer-social a{
    padding-left: 10px;
    font-size: 22px;
    color: var(--gray-medium);
}

.footer-social a:hover{
    color: var(--gold);
}

.footer-social span{
    padding-left: 10px;
    font-size: 22px;
    color: var(--gray-medium);
}

.footer-info {
    margin-top: 40px;
}

.footer-info h3{
    margin-bottom: 1rem;
    font-weight: 300;
    color: var(--gold);
}

.footer-info p{
    color: var(--gray-medium);
}


.footer-info p a{
    color: var(--gray-medium);
}

.footer-info p a:hover{
    color:var(--gold);
}

.footer-info a.button-default{
    margin-top: 20px;
}

.footer-border {
    width: 100px;
    margin-bottom: 1rem;
    border-top: 1px solid var(--gold);
}

.footer-menu{
    text-align: left;
}

.footer-menu ul, .footer-widgets ul{
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 16px;
}

.footer-menu ul li{
    margin: 0 0 5px 0;
}

.footer-menu ul li:last-child{
    margin: 0;
}

.footer-menu ul li a{
    color: var(--gray-medium);
    text-decoration: none;
}

.footer-menu ul li a:hover{
    color: var(--gold);
}

.footer-menu ul li.current-menu-item a{
    color: var(--gold);
}

.footer-nav .footer-border{
    margin-top: 1rem;
}


/* Copyright */

.copyright{
    padding-top: 20px;
    padding-bottom: 20px;
    background: var(--gold-light);
}

.copyright img{
    width: auto;
    /*height: 30px;*/
    height: 42px;
}

.copyright h6{
    margin: 0;
    padding: 0;
}

.copyright-logos ul{
    font-size: 0;
}

.copyright-logos ul li{
    display: inline-block;
    /*margin-top: 10px;*/
    margin-right: 20px;
}

/*.copyright-logos ul li:last-child{
    border-left: 1px solid var(--gold);
    padding-left: 15px;
    margin-right: 0;
}*/

.copyright a{
    font-weight: 500;
    color: var(--gray-medium);
}

.copyright a:hover{
    color: var(--gold);
}

.copyright-text{
    display: table;
}



/************
 WOOCOMMERCE
*************/

/* Grid System */

.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2{
    flex: 0 0 50%;
    max-width: 50%;
}

@media all and (max-width: 767px){

    .woocommerce .col2-set .col-1,
    .woocommerce .col2-set .col-2{
        flex: 0 0 100%;
        max-width: 100%;
    }

}

.woocommerce table.shop_table thead {
    background: var(--gold)!important;
}

.woocommerce table.shop_table th {
    font-weight: 500;
}

.woocommerce table.shop_table td {
    border-top: 1px solid var(--gray-light);
}

.woocommerce table.shop_table tfoot th,
.woocommerce table.shop_table tfoot td {
    font-weight: 500;
}

.woocommerce table.shop_table tbody th,
.woocommerce table.shop_table tfoot td,
.woocommerce table.shop_table tfoot th {
    border-top: 1px solid var(--gray-light);
}

.woocommerce form .form-row {
    padding: 0;
    margin-bottom: 20px;
}

.woocommerce form .form-row .input-text{
    height: 50px;
    border: 1px solid #ddd;
    border-radius: 0;
    background: var(--gold-light);
    color: var(--gray-medium);
    font-weight: 300;
    padding: 10px;
}

.woocommerce form .form-row .input-text:focus{
    border: 1px solid #ddd;
    background: var(--gold-light);
}

.woocommerce button.button {
    height: 50px;
    padding: 0 30px;
    font-size: 14px;
    font-weight: 300;
    text-transform: uppercase;
    border-radius: 0;
    color: var(--white);
    background: var(--gold);
}

.woocommerce button:hover.button {
    color: var(--white);
    background: var(--gray-medium);
}

/*button:disabled,
button[disabled],
button[aria-disabled="true"],
button.is-loading,
button.processing {
    padding: 0 30px !important;
    background: var(--gray-medium) !important;
    color: var(--white) !important;
    opacity: 1 !important;
    cursor: wait !important;
}*/


/* Breadcrumbs */

.woocommerce .woocommerce-breadcrumb{
    padding-top: 40px;
    padding-bottom: 40px;
    font-size: 12px;
    color: var(--gray-medium);
}

.woocommerce .woocommerce-breadcrumb a{
    font-weight: 500;
    color: var(--gray-medium);
}

.woocommerce ins {
  text-decoration: none !important;
}


/* SHOP - LIST PRODUCTS */

.woocommerce .banner-image{
    width: 100%;
    height: 500px;
    overflow: hidden;
}

.woocommerce .woocommerce-products-header{
    display: none;
}

.shop-content{
    padding: 0;
    padding-bottom: 50px;
}

.shop-content .row{
    margin-left: 0;
    margin-right: 0;
}

.post-type-archive-product .content-area, 
.product-template-default .content-area,
.tax-product_cat .content-area{
    padding: 0;
}


/* ===== FILTROS LOJA ===== */

/* Container do filtro */
.filter-wines{
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 50px;
    border-bottom: 1px solid var(--gray-light);
}

.filter-wines .filter-content{
    padding: 0 10px;
    margin-bottom: 20px;
}

.filter-wines .filter-content:nth-child(1){
    padding-left: 0;
}

.filter-wines .filter-content:nth-child(3){
    padding-right: 0;
}

.filter-wines label{
    margin-bottom: 5px;
    display: block;
    font-size: 14px;
    font-weight: 400;
    color: var(--gray-medium);
}

/* Dropdown custom */
.filter-content .custom-select{
    position: relative;
    min-width: 140px;
    cursor: pointer;
}

.filter-content .custom-select .selected{
    height: 50px;
    padding: 0 10px;
    position: relative;
    font-size: 14px;
    line-height: 50px;
    border: 1px solid var(--gray-light);
    border-radius: 0;
    color: var(--gray-medium);
    background: var(--gold-light);
}

.filter-content .custom-select .selected::after {
    content: '';
    position: absolute;
    right: 10px;
    top: 50%;
    margin-top: 2px;
    transform: translateY(-50%);
    border: 5px solid transparent;
    border-top-color: var(--gray-medium);
}

.filter-content .custom-select .options {
    width: 100%;
    max-height: 200px;
    margin: 0;
    padding: 0;
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    overflow-y: auto;
    z-index: 10;
    list-style: none;
    font-size: 14px;
    border: 1px solid var(--gray-light);
    border-top: 1px solid var(--white);
    border-radius: 0;
    background: var(--white);
    color: var(--gray-medium);
}

.filter-content .custom-select .options li {
    height: 40px;
    padding: 0 10px;
    line-height: 40px;
    border-bottom: 1px solid var(--white);
    cursor: pointer;
    pointer-events: auto;
}

.filter-content .custom-select .options li:last-child {
    border-bottom: 0;
}

.filter-content .custom-select .options li:hover,
.filter-content .custom-select .options li.selected {
    background: var(--gold-light);
}

.filter-content .custom-select .options li.selected {
    padding: 0 10px;
}

.filter-content .custom-select .options li.selected::after {
    display: none;
}

/* Botões */
.filter-wines button[type="submit"] {
    height: 50px;
    padding: 0 30px;
    display: inline-block;
    font-size: 14px;
    font-weight: 400;
    line-height: 50px;
    text-transform: uppercase;
    border: 1px solid var(--gold);
    border-radius: 0;
    color: var(--white);
    background: var(--gold);
}

.filter-wines button[type="submit"]:hover{
    background: var(--gray-medium);
}

.filter-wines a button{
    height: 50px;
    margin-left: 20px;
    padding: 0 30px;
    display: inline-block;
    font-size: 14px;
    font-weight: 400;
    line-height: 50px;
    text-transform: uppercase;
    border: 1px solid var(--gold);
    border-radius: 0;
    color: var(--gold);
    background: var(--white);
}

.filter-wines a button:hover{
    color: var(--white);
    background: var(--gold);
}


/* Result Count */

.woocommerce .woocommerce-result-count {
    height: 50px;
    line-height: 50px;
    margin: 0;
}

/* ORDERING */

/* Esconder select nativo */
.woocommerce .woocommerce-ordering select.orderby {
    display: none;
}

.woocommerce .woocommerce-ordering {
    width: 100%;
    display: flex;
    align-items: center;
    margin-bottom: 0;
}

.shop-top-bar{
    padding-top: 50px;
}

.shop-top-bar .filter-results{
    padding-left: 0;
}

.shop-top-bar .form-ordering{
    padding-right: 0;
}

.shop-top-bar .custom-orderby{
    width: 100%;
    position: relative;
    min-width: 140px;
    cursor: pointer;
}

.shop-top-bar .custom-orderby .selected{
    height: 50px;
    padding: 0 10px;
    position: relative;
    font-size: 14px;
    line-height: 50px;
    border: 1px solid var(--gray-light);
    border-radius: 0;
    color: var(--gray-medium);
    background: var(--gold-light);
}

.shop-top-bar .custom-orderby .selected::after {
    content: '';
    position: absolute;
    right: 10px;
    top: 50%;
    margin-top: 2px;
    transform: translateY(-50%);
    border: 5px solid transparent;
    border-top-color: var(--gray-medium);
}

.shop-top-bar .custom-orderby .options {
    width: 100%;
    max-height: 150px;
    margin: 0;
    padding: 0;
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    overflow-y: auto;
    z-index: 10;
    list-style: none;
    font-size: 14px;
    border: 1px solid var(--gray-light);
    border-top: 1px solid var(--white);
    border-radius: 0;
    background: var(--white);
    color: var(--gray-medium);
}

.shop-top-bar .custom-orderby .options li {
    padding: 10px 10px;
    line-height: 16px;
    border-bottom: 1px solid var(--white);
}

.shop-top-bar .custom-orderby .options li:last-child {
    border-bottom: 0;
}

.shop-top-bar .custom-orderby .options li:hover,
.shop-top-bar .custom-orderby .options li.selected {
    background: var(--gold-light);
}

.shop-top-bar .custom-select .options li.selected {
    height: initial;
    padding: 10px 10px;
}

.shop-top-bar .custom-select .options li.selected::after {
    display: none;
}


/* Products List */

.woocommerce ul.products.columns-1 li.product:first-child, 
.woocommerce-page ul.products.columns-1 li.product:first-child{
    margin-top: 20px;
}

.woocommerce .products ul, .woocommerce ul.products{
    text-align: center;
    border-top: 0;
}

.woocommerce ul.products {
    padding-top: 100px;
    margin-bottom: 0;
}

.woocommerce ul.products li.product {
    padding: 0;
    margin-bottom: 100px;
}

.woocommerce ul.products li.product a img{
    width: 100%;
    height: auto;
    display: block;
    margin: 0 0 10px 0;
    box-shadow: none;
}

.woocommerce ul.products li.product a h2.woocommerce-loop-product__title{
    margin: 0;
    padding: 0;
    display: block;
    font-size: 24px;
    line-height: 32px;
    font-weight: 400;
    color: var(--gray-medium);
}

.woocommerce ul.products li.product a h2.woocommerce-loop-product__title{
    margin-bottom: 5px !important;
}

.woocommerce ul.products li.product a .custom-product-year-cat{
    font-size: 14px;
    margin-bottom: 5px;
    color: #888;
}

.woocommerce ul.products li.product a .price{
    font-size: 16px;
    font-weight: 400;
    color: var(--gold);
}

.woocommerce div.product p.price del, 
.woocommerce div.product span.price del,
.woocommerce ul.products li.product .price del .woocommerce-Price-amount{
    font-size: 16px;
    font-weight: 400;
    color: var(--gold);
}

.woocommerce ul.products li.product a .price ins{
    font-weight: 400;
}

.woocommerce ul.products li.product .button{
    margin-top: 5px;
    padding: 0 30px;
    font-size: 14px;
    font-weight: 400;
    line-height: 50px;
    text-transform: uppercase;
    border: 1px solid var(--gold);
    border-radius: 0;
    color: var(--gold);
    background: var(--white);
}

.woocommerce ul.products li.product .button:hover{
    color: var(--white);
    background: var(--gold);
}

.woocommerce ul.products li.product a.wc-forward{
    font-size: 14px;
    text-transform: uppercase;
    color: var(--gray-medium);
}

.woocommerce ul.products li.product a.wc-forward:hover{
    color: var(--gold);
}

.woocommerce ul.products li.product .onsale,
.woocommerce .product span.onsale{
    width: 96px;
    top: 26px;
    right: 0;
    left: 0;
    padding: 0 10px;
    margin: 0 -10px;
    text-transform: uppercase;
    font-weight: 300;
    border-radius: 0;   
    transform: rotate(90deg);
    background: var(--gold);
}

.woocommerce ul.products li.product .onsale:before,
.woocommerce .product span.onsale:before{
    content: "";
    width: 0;
    height: 0;
    top: 0;
    left: 95px;
    position: absolute;
    border-style: solid;
    border-width: 24px 22px 0 0;
    border-color: var(--gold) transparent transparent transparent;
}

.woocommerce ul.products li.product .onsale:after,
.woocommerce .product span.onsale:after{
    content: "";
    width: 0;
    height: 0;
    bottom: 0;
    left: 95px;
    position: absolute;
    border-style: solid;
    border-width: 0 22px 24px 0;
    border-color: transparent transparent var(--gold) transparent;
}

.woocommerce ul.products li.product .badge-esgotado{
    width: 96px;
    top: 26px;
    right: 0;
    left: 0;
    padding: 0 10px;
    margin: 0 -10px;
    position: absolute;
    transform: rotate(90deg);
    font-size: 14px;
    line-height: 44px;
    font-weight: 300;
    text-align: center;
    text-transform: uppercase;
    border-radius: 0;
    color: var(--white);
    background: var(--red);
}

.woocommerce ul.products li.product .badge-esgotado:before{
    content: "";
    width: 0;
    height: 0;
    top: 0;
    left: 96px;
    position: absolute;
    border-style: solid;
    border-width: 24px 22px 0 0;
    border-color: var(--red) transparent transparent transparent;
}

.woocommerce ul.products li.product .badge-esgotado:after{
    content: "";
    width: 0;
    height: 0;
    bottom: 0;
    left: 96px;
    position: absolute;
    border-style: solid;
    border-width: 0 22px 24px 0;
    border-color: transparent transparent var(--red) transparent;
}

.woocommerce ul.products li.product.outofstock .button{
    border: 1px solid var(--red);
    color: var(--red);
    background: var(--white);
}

.woocommerce ul.products li.product.outofstock .button:hover{
    color: var(--white);
    background: var(--red);
}

.woocommerce ul.products li.product.outofstock a .price{
    color: var(--red);
}


/* Pagination */

.woocommerce nav.woocommerce-pagination ul{
    margin-bottom: 100px;
    border: 1px solid var(--white);
} 

.woocommerce nav.woocommerce-pagination ul li{
    width: 50px;
    height: 50px;
    border-right: 1px solid var(--white);
}

.woocommerce nav.woocommerce-pagination ul li:last-child{
    border-right: 0;
} 

.woocommerce nav.woocommerce-pagination ul li span,
.woocommerce nav.woocommerce-pagination ul li a{
    padding: 0;
    line-height: 50px;
}

.woocommerce nav.woocommerce-pagination ul li a{
    color: var(--gray-medium);
    background: var(--gold-light);
}

.woocommerce nav.woocommerce-pagination ul li a:hover{
    color: var(--white);
    background: var(--gold);
}

.woocommerce nav.woocommerce-pagination ul li span.current{
    color: var(--white);
    background: var(--gold);
}


/* SHOP - SINGLE PRODUCT */
/* Image Product */

.woocommerce div.product div.images {
    margin-bottom: 100px;
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger::before{
    border-color: var(--gray-medium);
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger::after{
    background: var(--gray-medium);
}


/* Summary Product */

.woocommerce div.product div.summary{
    margin-bottom: 100px;
}

.woocommerce div.product div.summary h1.product-title{
    margin-bottom: 30px;
}

.woocommerce div.product .woocommerce-product-rating {
    margin-top: 30px;
    margin-bottom: 0;
    display: inline-flex;
}

.woocommerce div.product .woocommerce-product-rating .star-rating {
    margin: 6px 10px 0 0;
    color: var(--gold);
}

.woocommerce div.product .woocommerce-product-rating a.woocommerce-review-link:hover {
    color: var(--gold);
}

.woocommerce div.product div.summary p.price{
    margin-top: 30px;
    margin-bottom: 30px;
    color: var(--gold);
}

.woocommerce div.product div.summary p.price ins{
    font-weight: 400;
}

.woocommerce div.product div.summary p.price del, 
.woocommerce div.product div.summary span.price del{
    font-size: 20px;
    font-weight: 400;
}

.woocommerce div.product div.summary .woocommerce-product-details__short-description{
    margin-bottom: 20px;
}

.woocommerce div.product div.summary form.cart{
    margin-bottom: 30px;
    z-index: 1000;
}

.woocommerce div.product form.cart div.quantity input{
    width: 60px;
    height: 50px;
    padding-right: 20px;
    border: 1px solid var(--white);
    background: var(--gold-light);
    color: var(--gray-medium);
}

.woocommerce div.product form.cart div.quantity input:focus{
    outline: 0;
}

/* Setas Quantity Product */

/* Chrome, Edge, Safari */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield;
}

.quantity {
    position: relative;
    display: inline-block;
}

/* Espaço para as setas */
.quantity input.qty {
    padding-right: 42px;
    height: 40px;
    font-size: 16px;
}

.quantity::before,
.quantity::after {
    content: "";
    position: absolute;
    right: 8px;
    width: 18px;
    height: 16px;
    cursor: pointer;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 10px 10px;
    cursor: pointer;
}

.quantity::before {
    top: 6px;
    background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'>\
<polygon points='5,0 10,6 0,6' fill='%23534b49'/>\
</svg>");
}

.quantity::after {
    bottom: 6px;
    background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'>\
<polygon points='0,0 10,0 5,6' fill='%23534b49'/>\
</svg>");
}

.quantity:hover::before{
    background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'>\
<polygon points='5,0 10,6 0,6' fill='%23534b49'/>\
</svg>");
}

.quantity:hover::after {
    background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'>\
<polygon points='0,0 10,0 5,6' fill='%23534b49'/>\
</svg>");
}

.woocommerce div.product div.summary form.cart button.single_add_to_cart_button{
    height: 50px;
    padding: 0 30px;
    display: inline-block;
    font-size: 14px;
    font-weight: 400;
    line-height: 50px;
    text-transform: uppercase;
    border-radius: 0;
    background: var(--gold);
    color: var(--white);
}

.woocommerce div.product div.summary form.cart button.single_add_to_cart_button:hover{
    background: var(--gray-medium);
}

.woocommerce div.product div.product_meta span.posted_in{
    margin-bottom: 5px;
    display: block;
    font-size: 14px;
    font-weight: 400;
}

.woocommerce div.product div.product_meta span.posted_in:last-child{
    margin-bottom: 0;
}

.woocommerce div.product div.product_meta span.posted_in a{
    font-weight: 300;
}

.woocommerce div.product div.product_meta span.posted_in a:hover{
    color: var(--gold);
}


/* Tabs */

.woocommerce div.product .woocommerce-tabs ul.tabs{
    height: 50px;
    padding: 0;
    margin-bottom: 50px;
    text-align: center;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li{
    margin: 0;
    border: 1px solid var(--gold-light);
    border-radius: 0;
    background: var(--gold-light);
    color: var(--gray-medium);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active{
    border: 1px solid var(--gray-light);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{
    color: var(--gold);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a{
    padding: 0;
    font-weight: 300;
    line-height: 50px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{
    color: var(--gold);
}

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

.woocommerce div.product .woocommerce-tabs ul.tabs::after, 
.woocommerce div.product .woocommerce-tabs ul.tabs::before{
    border-bottom: 1px solid var(--gray-light);
}

.woocommerce div.product .woocommerce-tabs .panel {
    margin: 0 0 150px 0;
}

.woocommerce div.product .woocommerce-tabs .panel h2{
    font-size: 32px;
    line-height: 38px;
    color: var(--gold);
    margin-bottom: 40px;
}

.woocommerce div.product .woocommerce-tabs .panel p{
    margin-bottom: 20px;
}


/* Tab Ficha Técnica */

.woocommerce-Tabs-panel .wine-info{
    margin-top: 40px;
}

.woocommerce-Tabs-panel .wine-info h5{
    margin-top: 30px;
    font-weight: 500;
    font-size: 16px;
}

.woocommerce-Tabs-panel .wine-info h6{
    padding-bottom: 6px;
    font-size: 14px;
    text-align: right;
    font-weight: 500; 
    border-bottom: 2px solid var(--gray-light);
    color: var(--gray-medium);
}

.woocommerce-Tabs-panel .wine-info table{
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    text-align: center;
}

.woocommerce-Tabs-panel .wine-info .td-left,
.woocommerce-Tabs-panel .wine-info .td-right,
.woocommerce-Tabs-panel .wine-info .td-center{
    padding: 8px 0;
    font-size: 14px;
    border-bottom: 1px solid var(--gray-light);
}

.woocommerce-Tabs-panel .wine-info .td-right{
    text-align: right;
}

.woocommerce-Tabs-panel .wine-info .td-left{
    text-align: left;
}

.woocommerce-Tabs-panel .wine-info .td-center{
    text-align: center;
}

.woocommerce-Tabs-panel .wine-info .wine-info-item p{
    font-size: 14px;
    margin: 0!important;
}

.woocommerce-Tabs-panel .wine-info .note{
    margin-top: 5px;
    font-size: 12px;
    color:var(--gray-medium);
}


/* Tab Prémios */

.woocommerce-Tabs-panel--premios .wine-awards{
    margin-top: 40px;
}

.woocommerce-Tabs-panel .wine-awards li.award{
    margin-bottom: 40px;
    list-style: none;
    display: block;
}

.woocommerce-Tabs-panel .wine-awards li.award .image-award{
    padding-top: 6px;
    display: table-cell;
    vertical-align: top;
}

.woocommerce-Tabs-panel .wine-awards li.award .image-award img{
    width: 84px;
    height: auto;
    vertical-align: top;
}

.woocommerce-Tabs-panel .wine-awards li.award .info-award{
    display: table-cell;
    vertical-align: top;
    padding-left: 20px;
}

.woocommerce-Tabs-panel .wine-awards li.award .info-award h4{
    margin: 0;
    font-family: 'EBGaramond', sans-serif;
}

.woocommerce-Tabs-panel .wine-awards li.award .info-award p{
    margin: 0;
    line-height: 24px;
}

.woocommerce-Tabs-panel .wine-awards li.award .info-award p.award-name{
    font-style: italic;
}

.woocommerce-Tabs-panel .wine-awards li.award .info-award h6.award-colheita{
    margin-top: 4px;
    margin-bottom: 0;
}


/* Tab Avaliações */

.woocommerce-Tabs-panel .comment-respond .comment-reply-title{
    font-size: 20px;
}

.woocommerce-Tabs-panel .comment-respond .comment-notes span{
    font-size: 14px;
}

.woocommerce-Tabs-panel .comment-respond .required{
    color: var(--red);
}

.woocommerce-Tabs-panel .comment-respond .comment-form .comment-form-rating label{
    margin-bottom: 10px;
}

.woocommerce p.stars a{
    margin-right: 10px;
    color: var(--gold);
}

.woocommerce #review_form #respond p {
    margin: 0 0 30px 0;
}

.woocommerce-Tabs-panel .comment-respond .comment-form textarea{
    padding-left: 10px;
    padding-right: 10px;
    font-weight: 300;
    border: 1px solid #ddd;
    color: var(--gray-medium);
    background: var(--gold-light);
}

.woocommerce-Tabs-panel .comment-respond .comment-form input{
    width: 100%;
    height: 50px;
    padding-left: 10px;
    padding-right: 10px;
    font-weight: 300;
    border: 1px solid #ddd;
    color: var(--gray-medium);
    background: var(--gold-light);
}

.woocommerce-Tabs-panel .comment-respond .comment-form textarea:focus,
.woocommerce-Tabs-panel .comment-respond .comment-form input:focus{
    outline: 0;
}

.woocommerce-Tabs-panel .comment-respond .comment-form .comment-form-comment label,
.woocommerce-Tabs-panel .comment-respond .comment-form .comment-form-author label,
.woocommerce-Tabs-panel .comment-respond .comment-form .comment-form-email label{
    display: flex;
    margin-top: 30px;
}

.woocommerce-Tabs-panel .comment-respond .comment-form .comment-form-cookies-consent{
    display: inline-flex;
    align-items: center;
}

.woocommerce-Tabs-panel .comment-respond .comment-form .comment-form-cookies-consent input{
    width: auto;
    height: auto;
    margin: 0;
}

.woocommerce-Tabs-panel .comment-respond .comment-form .comment-form-cookies-consent label{
    margin: 0 0 0 10px;
    line-height: 1.4;
}

.comment-form-cookies-consent input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: auto;
    min-width: 18px;
    min-height: 18px;
    margin: 0;
    padding: 0;
    aspect-ratio: 1 / 1;
    display: inline-block;
    cursor: pointer;
    box-sizing: border-box;
    line-height: 1;
    border-radius: 0;
    border: 1px solid #ddd;
    background: transparent;
}

.comment-form-cookies-consent input[type="checkbox"]:checked {
    background-color: var(--gold);
    border-color: var(--gold);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath fill='white' d='M4.2 7.4L1.3 4.6 0 5.9 4.2 10 12 1.7 10.7 0.4z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 12px 10px;
}

.woocommerce #review_form #respond .form-submit input{
    width: auto;
    height: 50px;
    padding: 0 30px;
    font-weight: 300;
    text-transform: uppercase;
    border-radius: 0;
    color: var(--white);
    background: var(--gold);
}

.woocommerce #review_form #respond .form-submit input:hover{
    background: var(--gray-medium);
}

.woocommerce #reviews #comments ol.commentlist {
    padding-left: 0;
}

.woocommerce #reviews #comments ol.commentlist li {
    margin-bottom: 40px;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text {
    padding: 10px;
    border: 1px solid var(--gray-light);
    border-radius: 0;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text p {
    margin: 0;
    color: var(--gray-medium);
}

.woocommerce #reviews #comments ol.commentlist li .comment-text .star-rating{
    color: var(--gold);
}

.woocommerce .related h2{
    text-align: center;
}


/* CARRINHO DE COMPRAS */

/* 1 - Produtos do Carrinho */

.wp-block-woocommerce-cart{
    margin-top: 40px;
}

.wc-block-components-sidebar-layout .wc-block-components-main {
    padding: 20px 0 0 0;
}

.wc-block-components-sidebar-layout.wc-block-cart {
    margin-bottom: 150px;
}

table.wc-block-cart-items .wc-block-cart-items__row{
    border-top: 1px solid var(--gray-light);
}

table.wc-block-cart-items .wc-block-cart-items__row:first-child{
    border-top: 2px solid var(--gray-light);
}

table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image,
table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product,
table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total{
    border-top: none;
}

table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__wrap a{
    font-family: 'EBGaramond', sans-serif;
    font-size: 22px;
    line-height: 26px;
    font-weight: 400;
    color: var(--gray-medium);
}

table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices{
    color: var(--gold);
}

table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-badge{
    height: 24px;
    line-height: 24px;
    border-radius: 0;
    border: 1px solid #ddd;
    color: var(--gold);
    background: var(--gold-light);
}

table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-metadata{
    display: none;
}

table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-components-quantity-selector{
    border-radius: 0;
    border: 1px solid var(--gray-light);
    background: var(--white);
    color: var(--gray-medium);
}

table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link{
    text-decoration: none;
    color: var(--gray-medium);
}

table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link:hover{
    color: var(--gold);
}

table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total{
    padding-top: 4px;
    font-weight: 500;
}

.wc-block-cart__main .wc-block-cart-items {
    border-bottom: none;
}


/* 2 - Sidebar - Total Encomenda */

.wc-block-cart .wp-block-woocommerce-cart-order-summary-block {
    padding: 20px;
    border-bottom: none;
    background: var(--gray-light);
}

.wc-block-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-wrapper {
    padding: 20px 0;
    border-top: 1px solid #ddd;
}

.wc-block-cart .wc-block-components-sidebar .wc-block-cart__submit {
    margin: 0 0 20px 0;
}

.wc-block-cart .wc-block-components-sidebar .wc-block-cart__submit a{
    height: 50px;
    min-height: 50px;
    font-size: 14px;
    font-weight: 300;
    text-transform: uppercase;
    color: var(--white);
    background: var(--gold);
}

.wc-block-cart .wc-block-components-sidebar .wc-block-cart__submit a:hover{
    background: var(--gray-medium);
}

.wc-block-cart .wc-block-components-sidebar .wc-block-cart__submit a:focus{
    outline: 0;
    box-shadow: none;
}

.wc-block-components-button:not(.is-link):focus{
    box-shadow: none;
    outline: 0;
}


/* NOTICES - ALERTS */

.woocommerce-notices-wrapper {
    margin-top: 50px;
}

.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
    display: flex;
    align-items: center;
    gap: 0;
    padding: 20px 20px 20px 50px;
    margin: 0 0 50px 0;
    outline: 0;
    text-align: left;
    color: var(--gray-medium);
    background: var(--gold-light);
}

.woocommerce-error{
    background: #ffeef0;
}

.woocommerce-info::before,
.woocommerce-message::before,
.woocommerce-error::before{
    content: "\e015";
    display: inline-block;
    margin-right: 10px;
    padding-top: 20px;
    font-family: WooCommerce;
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    color: #8fae1b;
}

.woocommerce-message::before{
    color: #8fae1b;
}

.woocommerce-error::before {
    padding-top: 8px;
    color: var(--red);
}

.woocommerce-page .woocommerce-message .button,
.woocommerce-page .woocommerce-info .button {
    height: 50px;
    margin-left: auto;
    flex-shrink: 0;
    padding: 0 30px;
    font-size: 14px;
    font-weight: 300;
    line-height: 50px;
    text-transform: uppercase;
    border-radius: 0;
    color: var(--white);
    background: var(--gold);
}

.woocommerce-page .woocommerce-message .button:hover,
.woocommerce-page .woocommerce-info .button:hover {
    color: var(--white);
    background: var(--gray-medium);
}


/* CHECKOUT */

.wp-block-woocommerce-checkout {
    padding-top: 40px;
    padding-bottom: 150px;
}

.wc-block-components-title.wc-block-components-title{
    font-family: 'Poppins', sans-serif;
}

.wp-block-woocommerce-checkout a:hover{
    color: var(--gold);
}

.wp-block-woocommerce-checkout .wc-block-components-address-form__address_2-toggle:hover{
    text-decoration: none;
    color: var(--gold);
}

.wc-block-checkout__shipping-option .wc-block-components-shipping-rates-control__no-shipping-address-message{
    border-radius: 0;
    background: var(--gray-light);
}

/* 1) Caixa externa: border verde, cantos 0, sem shadow */
.wc-block-checkout__shipping-option {
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important; /* ajusta se necessário */
  margin-bottom: 12px !important;
  overflow: visible !important;
}

/* 2) Garantir que os blocos internos não tenham box-shadow / bordas / radius */
.wc-block-checkout__shipping-option .wc-block-components-shipping-rates-control,
.wc-block-checkout__shipping-option .wc-block-components-shipping-rates-control__package,
.wc-block-checkout__shipping-option .wc-block-components-radio-control,
.wc-block-checkout__shipping-option .wc-block-components-radio-control__option,
.wc-block-checkout__shipping-option .wc-block-components-radio-control__option-layout,
.wc-block-checkout__shipping-option .wc-block-components-radio-control__label-group {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* 3) Remover sombras / decorações vindas de classes 'highlight' */
.wc-block-checkout__shipping-option .wc-block-components-radio-control--highlight-checked,
.wc-block-checkout__shipping-option .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option,
.wc-block-checkout__shipping-option .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option-layout {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  border-radius: 0 !important;
}

/* 4) Remover pseudo-elementos que desenhem linhas/ornamentos */
.wc-block-checkout__shipping-option::before,
.wc-block-checkout__shipping-option::after,
.wc-block-checkout__shipping-option *::before,
.wc-block-checkout__shipping-option *::after {
  display: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* 5) Se quiseres borda apenas à volta de cada opção, em vez do fieldset */
.wc-block-checkout__shipping-option .wc-block-components-radio-control {
  border: 1px solid #ddd !important;
  border-radius: 0 !important;
  padding: 10px !important;
  margin-bottom: 8px !important;
}

/* 6) Garantir aparência limpa quando focado / hovered */
.wc-block-checkout__shipping-option .wc-block-components-radio-control__option:focus,
.wc-block-checkout__shipping-option .wc-block-components-radio-control__option:active,
.wc-block-checkout__shipping-option .wc-block-components-radio-control__option:hover {
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* 7) Forçar prioridade extra (usar apenas se necessário) */
form.checkout .wc-block-checkout__shipping-option { border: 1px solid #28a745 !important; }

/* Remover completamente o input radio e não desenhar substituto (não recomendado se precisares de feedback visual) */
.wc-block-components-radio-control__input {
  display: none !important;
}

/* Opcional: ajustar padding do label para que o conteúdo fique alinhado sem espaço do rádio */
.wc-block-components-radio-control__option .wc-block-components-radio-control__label-group {
  padding-left: 0 !important;
}

/* Garantir cantos 0 e borda verde na wrapper (se ainda quiseres) */
.wc-block-checkout__shipping-option .wc-block-components-radio-control {
  border-radius: 0 !important;
}


/* Checkout – inputs e textareas */

.wc-block-components-form .wc-block-components-text-input input[type=text],
.wc-block-components-form .wc-block-components-text-input input[type=email],
.wc-block-components-form .wc-block-components-text-input input[type=tel],
.wc-block-components-form .wc-block-components-text-input input[type=password],
.wc-block-components-form .wc-block-components-text-input input[type=number]{
    height: 50px;
    padding: 0 10px;
    font-weight: 300;
    border-radius: 0;
    border: 1px solid #ddd;
    color: var(--gray-medium);
    background: var(--gold-light);
}

.wc-block-components-form .wc-block-components-text-input.is-active input[type=text],
.wc-block-components-form .wc-block-components-text-input.is-active input[type=email],
.wc-block-components-form .wc-block-components-text-input.is-active input[type=tel],
.wc-block-components-form .wc-block-components-text-input.is-active input[type=password],
.wc-block-components-form .wc-block-components-text-input.is-active input[type=number]{
    border: 1px solid #ddd;
    color: var(--gray-medium);
    background: var(--gold-light);
}

.wc-block-components-form .wc-block-components-text-input.has-error input[type=text],
.wc-block-components-form .wc-block-components-text-input.has-error input[type=email],
.wc-block-components-form .wc-block-components-text-input.has-error input[type=tel],
.wc-block-components-form .wc-block-components-text-input.has-error input[type=password],
.wc-block-components-form .wc-block-components-text-input.has-error input[type=number]{
    border: 1px solid var(--red);
    color: var(--gray-medium);
    background: var(--gold-light);
}

.wc-block-components-form .wc-block-components-text-input input[type=text]:focus,
.wc-block-components-form .wc-block-components-text-input input[type=email]:focus,
.wc-block-components-form .wc-block-components-text-input input[type=tel]:focus,
.wc-block-components-form .wc-block-components-text-input input[type=password]:focus,
.wc-block-components-form .wc-block-components-text-input input[type=number]:focus{
    border: 1px solid #ddd;
    outline: 0;
    box-shadow: none;
}

.wc-block-components-form .wc-block-components-textarea{
    max-height: 100px;
    padding: 10px;
    font-weight: 300;
    border-radius: 0;
    border: 1px solid #ddd;
    color: var(--gray-medium);
    background: var(--gold-light);
}

.wc-block-components-form .wc-block-components-textarea.is-active{
    border: 1px solid #ddd;
    color: var(--gray-medium);
    background: var(--gold-light);
}

.wc-block-components-form .wc-block-components-textarea:focus{
    border: 1px solid #ddd;
    outline: 0;
    box-shadow: none;
}

.wc-block-components-form .wc-block-components-text-input.has-error label,
.wc-block-components-text-input.has-error label{
    color: var(--red);
}

.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]{
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: auto;
    min-width: 18px;
    min-height: 18px;
    margin: 0;
    padding: 0;
    aspect-ratio: 1 / 1;
    display: inline-block;
    cursor: pointer;
    box-sizing: border-box;
    line-height: 1;
    border-radius: 0;
    border: 1px solid #ddd;
    background: transparent;
}

.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked {
    background-color: var(--gold);
    border-color: var(--gold);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath fill='white' d='M4.2 7.4L1.3 4.6 0 5.9 4.2 10 12 1.7 10.7 0.4z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 12px 10px;
}

/* retira o visto preto default do checkbox */
.wc-block-components-checkbox__mark,
.wc-block-components-checkbox svg {
    display: none !important;
}

.wc-blocks-components-select {
    position: relative;
    width: 100%;
    min-height: 50px;
    pointer-events: none;
}


/* Select Personalizado */

/* manter wrapper posicionado */
.wc-blocks-components-select {
    position: relative;
}

.wc-blocks-components-select select.native-hidden {
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    position: absolute !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important; /* compatibilidade antiga */
    clip-path: inset(50%) !important; /* compatível com browsers modernos */
    white-space: nowrap !important;
    pointer-events: none !important;
    z-index: 0 !important;
    border: 0 !important;
    color: transparent !important;
    background: transparent !important;
}

/* Remover seta nativa em browsers específicos (fallbacks) */
.wc-blocks-components-select select.native-hidden::-ms-expand {
    display: none !important; /* IE/Edge antigo */
}
.wc-blocks-components-select select.native-hidden {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: none !important;
}

/* Custom select base */
.wc-blocks-components-select .custom-select{
    width: 100%;
    min-width: 140px;
    position: relative;
    cursor: pointer;
    pointer-events: auto !important;
    user-select: none;
    font-family: inherit;
}

.custom-select.select-marca{
    z-index: 10003;
}

.custom-select.select-ano{
    z-index: 10002;
}

.custom-select.select-tipo{
    z-index: 10001;
}

/* Selected */
.wc-blocks-components-select .custom-select .selected{
    height: 50px;
    padding: 0 10px;
    position: relative;
    cursor: pointer;
    pointer-events: auto !important;
    user-select: none;
    box-sizing: border-box;
    z-index: 10002; /* ainda acima */
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 16px;
    line-height: 50px;
    border-radius: 0;
    border: 1px solid #ddd;
    color: var(--gray-medium);
    background: var(--gold-light);
}

.wc-blocks-components-select, 
.wc-blocks-components-select * {
    -webkit-tap-highlight-color: transparent;
    pointer-events: auto !important;
}

.wc-blocks-components-select .custom-select .selected::after {
    content: '';
    width: 0; height: 0;
    margin-left: 10px;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid var(--gray-medium);
}

.wc-blocks-components-select .wc-blocks-components-select__expand,
.wc-blocks-components-select .wc-blocks-components-select__expand svg {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

.wc-blocks-components-select .custom-select .options {
    width: 100%;
    max-height: 220px;
    margin: 0;
    padding: 0;
    display: none;
    position: absolute;
    top: calc(100% + 0px);
    left: 0;
    overflow-y: auto;
    z-index: 10003;
    font-size: 16px;
    list-style: none;
    box-shadow: none;
    border-radius: 0;
    border: 1px solid #ddd;
    border-top: none;
    background: var(--white);
}

.wc-blocks-components-select .custom-select .options li {
    height: 44px;
    padding: 0 10px;
    cursor: pointer;
    pointer-events: auto;
    line-height: 44px;
    border-bottom: 1px solid var(--white);
    color: var(--gray-medium);
}

.wc-blocks-components-select .custom-select .options li:first-child {
    border-bottom: none;
    background: var(--white);
}

.wc-blocks-components-select .custom-select .options li:hover,
.wc-blocks-components-select .custom-select .options li.selected {
    border: none;
    border-bottom: 1px solid var(--white);
    background: var(--gold-light);
}

.wc-blocks-components-select .custom-select .options li:hover:first-child,
.wc-blocks-components-select .custom-select .options li.selected:first-child {
    cursor: pointer;
    pointer-events: auto;
    background: var(--gold-light);
}

.wc-blocks-components-select .custom-select .options li.selected::after {
    display: none;
}

.wc-blocks-components-select .custom-select.open .options {
    display: block;
}

/* Pequenas adaptações responsive */
@media (max-width: 600px) {
    .wc-blocks-components-select .custom-select .selected,
    .wc-blocks-components-select .custom-select .options li {
        height: 44px;
        line-height: 44px;
    }
}

.wc-block-components-validation-error {
    margin-bottom: 40px;
}

.wc-block-components-validation-error p{
    font-size: 12px;
    color: var(--red);
}

/* Botão Finalizar Encomenda — estilo principal */
button.wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button.contained {
  height: 50px !important;
  min-height: 50px !important;
  padding: 0 30px !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  line-height: 50px !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--white, #fff) !important;
  background: var(--gold, #b8860b) !important;
  border: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 150ms ease !important;
}

/* Texto interior */
button.wc-block-components-button .wc-block-components-checkout-place-order-button__text {
  font-size: 14px !important;
}

/* Hover / active */
button.wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button.contained:hover,
button.wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button.contained:active {
  background: var(--gray-medium)!important; /* ligeiro escurecimento */
  box-shadow: none !important;
  transform: translateY(0) !important;
}

/* Focus acessibilidade */
button.wc-block-components-button:focus {
  outline: 0 !important;
  box-shadow: none !important; /* substitui o outline por anel sutil */
}

/* Estado desactivo (quando o botão está disabled) */
button.wc-block-components-button[disabled],
button.wc-block-components-button.is-disabled,
button.wc-block-components-checkout-place-order-button.contained[disabled] {
  opacity: 0.6 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}


/* Resumo da Encomenda */
.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
    border-radius: 0;
}

.wp-block-woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__quantity{
    box-shadow: none;
    border: none;
    color: var(--white);
    background: var(--gold);
}

.wp-block-woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__description h3{
    font-family: 'EBGaramond', sans-serif;
    font-size: 18px;
    line-height: 22px;
}

.wp-block-woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__description .wc-block-components-product-price{
    color: var(--gold);
}

.wp-block-woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__description .wc-block-components-product-metadata{
    display: none;
}


/* Detalhes da Encomenda - Último Passo */

.woocommerce-order{
    margin-top: 20px;
    padding-bottom: 150px;
}

.woocommerce .woocommerce-order-details {
    margin-bottom: 75px;
}

.woocommerce-order-details h2{
    margin-bottom: 20px;
}

.woocommerce-customer-details h2 {
    margin-bottom: 20px;
}

.woocommerce .woocommerce-customer-details address {
    padding: 10px;
    border: 1px solid var(--gray-light);
    border-bottom-width: 1px;
    border-right-width: 1px;
    border-radius: 0;
}


/* Login - Register */

#customer_login{
    padding-bottom: 150px;
}

#customer_login .woocommerce-form-login,
#customer_login .woocommerce-form-register {
    margin: 0;
    margin-top: 40px;
}

.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register{
    border: 1px solid var(--gray-light);
    padding: 20px;
    border-radius: 0;
    background: var(--gold-light);
}

.woocommerce form.login .input-text,
.woocommerce form.register .input-text,
.woocommerce form.login .input-text:focus,
.woocommerce form.register .input-text:focus {
    background: var(--white);
}

.lost_password a{
    font-size: 14px;
}

.lost_password a:hover{
    color: var(--gold);
}

.lost_reset_password {
    padding-bottom: 150px;
}


/* My Account */

.woocommerce-MyAccount-content{
    margin-bottom: 150px;
}

nav.woocommerce-MyAccount-navigation {
    padding: 20px 0;
}

li.woocommerce-MyAccount-navigation-link {
    height: 40px;
    margin-bottom: 1px;
    padding-left: 10px;
    padding-right: 10px;
    line-height: 40px;
}

li.woocommerce-MyAccount-navigation-link.is-active {
    background: var(--gold-light);
}

li.woocommerce-MyAccount-navigation-link:hover.is-active {
    background: var(--gold-light);
}

li.woocommerce-MyAccount-navigation-link:hover {
    background: var(--gold-light);
}

li.woocommerce-MyAccount-navigation-link a {
    display: block;
}

.woocommerce-Address h2{
    margin-bottom: 20px; 
}

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

.woocommerce-Address a{
    float: left;
    padding: 0 30px;
    font-size: 14px;
    font-weight: 300;
    line-height: 50px;
    text-transform: uppercase;
    border: 1px solid var(--gold);
    color: var(--gold);
}

.woocommerce-Address a:hover{
    color: var(--white);
    background: var(--gold);
}

.woocommerce-Address-title.title {
    margin-bottom: 20px;
}

.woocommerce-Address address{
    font-size: 14px;
    color: var(--gray-medium);
}


/* Cart */

.woocommerce-cart table.cart td.actions .coupon .input-text{
    width: 150px;
}

/* Checkout */

.woocommerce form .form-row{
    display: block;
}
.woocommerce-checkout #customer_details{
    margin-bottom: 20px;
}
.woocommerce table.shop_table{
    border-collapse: collapse;
}
.woocommerce table.shop_table thead{
    background: #D2335B;
    color: var(--white);
}

/* General */
.size-auto,
.size-full,
.size-large,
.size-medium,
.size-thumbnail{
    max-width: 100%;
    height: auto;
}


/**************
 MEDIA QUERIES
***************/


/*******
 TABLET
********/

@media (max-width: 991.98px) {

    /* BUTTONS */

    a.button-default:hover{
        color: var(--gold);
        background: transparent;
    }

    .button-all:hover, .button-download-pdf:hover{
        border-bottom: 2px solid var(--gold);
        color: var(--gold);
    }

    button.button-default:hover{
        color: var(--gold);
        background: transparent;
    }


    /* HEADER - TOP BAR - BRAND AND NAV */

    header .top-bar{
        height: 100%;
    }

    /* Header - Nav */

    header .navbar{
        position: relative; /* para servir de referência ao posicionamento absoluto */
    }

    .menu-content{
        height: auto;
        padding-top: 26px;
        padding-bottom: 26px;
    }

    /*.navbar-collapse{
        display: none;
        position: absolute;
        top: 100%;
        right: -205px;
        width: 250px;
        padding: 10px 0;
        z-index: 9999;
        border-bottom: 1px solid var(--gray-light);
        border-left: 1px solid var(--gray-light);
        border-right: 1px solid var(--gray-light);
    }*/

    .navbar-collapse {
        display: none; /* controlado pelo JS */
        position: absolute; /* abaixo do header */
        top: 100%;
        right: 0;
        left: 0;
        width: 250px;
        margin-top: 34px;
        background: var(--white);
        z-index: 9999;
        padding-top: 26px;
        padding-bottom: 26px;
        border-left: 1px solid var(--gray-light);
        border-right: 1px solid var(--gray-light);
        border-bottom: 1px solid var(--gray-light);
    }

    /*.navbar-collapse.show{
        display: block;
        margin-top: 28px;
        background: var(--white);
    }*/

    /*.navbar-collapse.show{
        display: block;
        height: auto;
        overflow: visible;
    }*/

     .navbar-collapse.show {
        display: block; /* controlado pelo JS */
    }

    .main-menu .navbar-toggler{
        padding-right: 20px;
    }

    .main-menu ul{  
        display: flex;
        align-items: end;
    }

    .main-menu ul li:last-child{ 
        margin-right: 20px; 
    }

    .main-menu > ul li a,
    .navbar-light .navbar-nav .nav-link{  
        justify-content: end;
        padding-top: 5px;
        padding-bottom: 5px;
    }

    /* Submenus continuam dentro do menu */
    .main-menu .dropdown-menu {
        display: block; /* submenus continuam internos */
        position: relative;
        width: 100%;
        padding: 0;
        border: 0;
    }

    .main-menu .dropdown>.dropdown-menu, 
    .main-menu .dropup>.dropdown-menu{
        display: block;
        text-align: end;
        border: 0;
    }

    /*.main-menu .dropdown-menu {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        overflow-y: auto;
        display: none;
        background: var(--white);
        z-index: 99999;
        padding-top: 26px;
        padding-bottom: 26px;
    }*/

    /*.main-menu .dropdown>.dropdown-menu, 
    .main-menu .dropup>.dropdown-menu{
        display: none;
        text-align: end;
        border: 0;
    }*/

    /*.main-menu .dropdown.open > .dropdown-menu {
        display: block;
    }*/

    /*.main-menu .dropdown:hover > .dropdown-menu,
    .main-menu .dropup:hover > .dropdown-menu {
        display: none;
    }*/

    /* aberto por JS */
    /*.main-menu .dropdown.open > .dropdown-menu{
        display: block;
    }*/

    .main-menu .dropdown>.dropdown-menu li:last-child, 
    .main-menu .dropup>.dropdown-menu li:last-child{
        margin-right: 0;
    }

    .main-menu .dropdown:hover>.dropdown-menu, 
    .main-menu .dropup:hover>.dropdown-menu{
        text-align: end;
    }

    .main-menu .dropdown-item:focus, 
    .main-menu .dropdown-item:hover{
        color: #888;
        background: var(--white);
    }

    .main-menu .dropdown-item.active, 
    .main-menu .dropdown-item:active{
        color: var(--gold);
        background: var(--white);
    }

    .main-menu .dropdown-item{
        font-size: 14px;
        padding-top: 5px;
        padding-bottom: 5px;
        color: #999;
    }

    .main-menu .dropdown-item.active, 
    .main-menu .dropdown-item:active{
        color: var(--gold);
        background: var(--white);
    }

    .main-menu .dropdown-menu .active>.dropdown-item{ 
        color: var(--gold);
        background: var(--white);
    }

    /* opcional: botão de fechar no topo */
    .dropdown-toggle-btn {
        display: inline-block;
        margin-left: 10px;
        cursor: pointer;
        background: none;
        border: none;
    }


    /* Cart and User - Main Menu */

    .cart a.cart-button, .user-menu a.user-button{
        /*padding-top: 10px;*/
        align-items: start;
    }

    .cart:hover .dropdown-menu{
        display: none;
    }

    /* esconde o dropdown menu */
    .cart .dropdown-menu{
        display: none !important;
    }

    /* garante que o botão se comporta como link normal */
      .cart .dropdown-toggle{
        pointer-events: auto;
    }

    .user-menu:hover .dropdown-menu{
        display: none;
    }

    /* esconde dropdown no mobile */
    .user-menu .dropdown-menu{
        display: none !important;
    }

    /* permite clique normal no link */
    .user-menu .dropdown-toggle{
        pointer-events: auto;
    }


    /* BANNERS */

    .banner-image {
      height: 550px;
    }

    .banner-image img{
      max-height: 550px;
    }

    .banner-side-image{
      height: 550px;
    }

    .banner-side-image img{
      height: 550px;
    }

    .banner-content p.banner-button a:hover{
        background: var(--gold);
    }


    /* HOMEPAGE */

    /* Categories Products */

    .products-categories .products-grid {
        gap: 50px;
    }


    /* Categories Products */

    .brands-products .brand .brand-item:hover {
        transform: scale(1);
    }


    /* GAMA */
    /* Página de Todas as Gamas */

    .info-inner {
        padding: 100px 40px;
    }


    /* SOBRE NÒS */


    .sobrenos-page .imagem-full img{
        width: 100%;
    }

    .sobrenos-page.terroir .img-esq .img-col img,
    .sobrenos-page.terroir .img-dir .img-col img{
        width: 100%;
    }

    .sobrenos-page .split{
        gap: 30px;
    }

    .sobrenos-page .texto-2col{
        gap: 30px;
    }


    /* COOKIES BANNER */

    .cookie-box p {
        margin: 0 auto;
        text-align: center;
    }

    .cookie-box a:hover {
        color: var(--gray-light);
    }

    .cookie-buttons {
        margin: 0 auto;
    }


    /* FOOTER */

    .footer-menu ul li a:hover,
    .footer-info p a:hover,
    .footer-social a:hover{
        color: var(--gray-medium);
    }

    .copyright-logos ul li:last-child{
        display: table;
        padding-left: 0;
        /*padding-top: 10px;
        border-top: 1px solid var(--gold);*/
        border-left: 0;
    }


    /* WOOCOMMERCE */

    .woocommerce ul.products li.product .button:hover{
        border: 1px solid var(--gold);
        color: var(--gold);
        background: var(--white);
    }

    .woocommerce ul.products li.product a.wc-forward:hover{
        color: var(--gray-medium);
    }

    .woocommerce ul.products li.product.outofstock .button:hover{
        border: 1px solid var(--red);
        color: var(--red);
        background: var(--white);
    }


    /* LOGIN - REGISTER */

    .woocommerce .form-row button:hover{
        background: var(--gold);
    }


    /* FILTROS LOJA */

    /* Container do filtro */

    .filter-wines .filter-content{
        padding: 0;
    }

    /* Botões */

    .filter-wines .filter-buttons {
        text-align: center;
    }

    .filter-wines button[type="submit"]:hover{
        border: 1px solid var(--gold);
        color: var(--white);
        background: var(--gold);
    }

    .filter-wines a button:hover{
        border: 1px solid var(--gold);
        color: var(--gold);
        background: var(--white);
    }


    /* Ordering */

    .shop-top-bar .filter-results{
        padding: 0;
        text-align: center;
    }

    .shop-top-bar .filter-results p.woocommerce-result-count{
        float: none;
        display: inline-block;
        width: auto;
        text-align: center;
    }

    .shop-top-bar .form-ordering{
        padding: 0;
    }


    /* Summary Product */

    .woocommerce div.product div.summary form.cart button.single_add_to_cart_button:hover{
        background: var(--gold);
    }


    /* CARRINHO DE COMPRAS */

    .wc-block-components-sidebar-layout .wc-block-components-main {
        padding: 0 0 50px 0;
    }

    table.wc-block-cart-items .wc-block-cart-items__row:first-child{
        border-top: none;
    }

    table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link:hover{
        color: var(--gray-medium);
    }

    .wc-block-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-wrapper {
        padding: 0;
        border-top: none;
    }

}


/*******************************
 LANDSCAPE PHONES, 576PX AND UP
********************************/

@media (min-width: 576px) and (max-width: 767.98px) {

    p{
        font-size: 14px;
        line-height: 24px;
    }

    h1{
        font-size: 42px;
        line-height: 46px;
    }

    h2{
        font-family: 'EBGaramond', sans-serif;
        font-size: 34px;
        line-height: 44px;
    }

    h3{
        font-size: 24px;
        line-height: 34px;
    }

    h4{
        font-size: 18px;
        line-height: 28px;
    }

    h5{
        font-size: 16px;
        line-height: 28px;
    }


    /* BUTTONS */

    a.button-default{
        padding: 0 20px;
        font-size: 12px;
        line-height: 40px;
    }

    .button-all, .button-download-pdf{
        font-size: 12px;
    }

    button.button-default{
        padding: 0 20px;
        font-size: 12px;
        line-height: 40px;
    }

    .symbol {
        margin-top: 5px;
    }

    .symbol img {
        width: 22px;
    }


    /* HEADER - SEARCH FORM */

    .search-topbar{
        width: 100%;
        display: block;
    }

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

    .free-shipping{
        margin-top: 8px;
        text-align: center;
    }


    /* BANNERS */

    .banner-image, .banner-image.contacts{
      height: 420px;
    }

    .banner-image img, .banner-image.contacts img{
      max-height: 420px;
    }

    .banner-side-image{
      height: 420px;
    }

    .banner-side-image img{
      height: 420px;
    }

    /*.banner-content h5{
        display: none;
    }*/

    .banner-content p.banner-tagline{
        margin-bottom: 10px;
        font-size: 13px;
        line-height: 16px;
    }

    .banner-content h1.banner-title{
        font-size: 42px;
        line-height: 46px;
        margin-bottom: 0;
    }

    /*.banner-content p.banner-description{
        display: none;
    }*/

    .banner-content p.banner-button{
        height: 40px;
        margin-top: 15px;
    }

    .banner-content p.banner-button a{
        padding: 0 20px;
        font-size: 12px;
        line-height: 40px;
    }


    /* HOMEPAGE */

    .about-us h2{
        margin-bottom: 20px;
    }


    /* Categories Products */

    .products-categories .products-grid {
        gap: 40px 70px;
    }


    /* GAMA */
    /* Página de Todas as Gamas */

    .gama-title h5{
        margin-top: 20px;
        font-size: 16px!important;
        line-height: 28px;
    }

    /*.gama-title p.has-medium-font-size {
        font-size: 16px !important;
    }*/

    .gama-section .container{
        width: 100%;
    }

    .gama{
        width: 100%;
        position: static !important;
        height: auto !important;
        transform: none !important;
        flex-direction: column !important;
    }

    .gama-flex{
        flex-direction: column !important;
    }

    .container.gama{
        padding: 0;
    }

    .container.gama.gama-flex{
        padding: 0!important;
    }

    .image-inner,
    .info-inner {
        padding: 0;
        width: 100% !important;
    }

    .gama-section .container .image-inner{
        width: 100%;
        background: var(--white);
    }

    /* Elimina o fundo dividido a 50% */
    .gama-bg-white{
        display: none !important;
    }

    /* Cada bloco ocupa 100% */
    .image-content,
    .info-content,
    .image-inner,
    .info-inner {
        width: 100% !important;
    }

    .image-content{
        display: none;
    }

    .info-content{
        display: none;
    }

    .image-inner img{
        width: 100%;
        padding: 0 20px;
        margin: 0 auto;
        background: var(--white);
    }

    /* Ajustes visuais */
    .info-inner {
        padding: 80px 20px;
        text-align: center;
    }

    .gama-section.impar .info-inner{
        padding-right: 20px;
        text-align: center;
    }

    .gama-section.par .info-inner{
        padding-left: 20px;
        text-align: center;
    }


    /* TAXONOMY GAMA */
    /* Página de cada 1 das Gamas */

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

    
    /* SINGLE WINE - GAMA */
    /* Página de cada 1 dos Vinhos da Área Gama */

    .single-wine-container .info-inner{
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .single-wine-container .image-inner{
        display: block;
        padding: 60px 0;
    }

    .single-wine-container .image-inner img{
        max-width: 400px;
    }

    /* Awards */

    .single-wine-container .wine-awards ul li.award{
        text-align: left;
    }

    .single-wine-container .wine-awards ul li.award .info-award{
        text-align: left;
    }


    /* CONTACTS PAGE */

    .contacts-text {
        padding-top: 80px;
        padding-bottom: 40px;
    }

    .contacts-form {
        padding-top: 40px;
        padding-bottom: 100px;
    }

    .contacts-form .contacts-box-address{
        padding: 20px 12px;
        margin-bottom: 50px;
        text-align: center;
        border-right: 12px solid var(--white);
        border-left: 12px solid var(--white);
    }

    .contacts-form .contacts-border {
        margin: 0 auto 1rem auto;
    }

    .contacts-form .contacts-box-form{
        padding-left: 12px;
        padding-right: 12px;
    }

    .contacts-form .contacts-box-form .forminator-row-last{
        margin-bottom: 0 !important;
    }



    /* FORMULÁRIOS - FORMINATOR */

    /* Labels */
    .forminator-ui .forminator-label {
        font-size: 14px !important;
    }

    /* Placeholder */
    .forminator-ui input::placeholder,
    .forminator-ui textarea::placeholder {
        font-size: 12px !important;
    }

    /* Compatibilidade browsers */
    .forminator-ui input::-webkit-input-placeholder,
    .forminator-ui textarea::-webkit-input-placeholder {
        font-size: 12px !important;
    }

    .forminator-ui input:-ms-input-placeholder,
    .forminator-ui textarea:-ms-input-placeholder {
        font-size: 12px !important;
    }

    .forminator-ui input::-ms-input-placeholder,
    .forminator-ui textarea::-ms-input-placeholder {
        font-size: 12px !important;
    }


    /* Checkbox */

    .forminator-ui .forminator-checkbox span{
        font-size: 14px !important;
    }


    /* Botões */
    .forminator-ui .forminator-button{
        margin-bottom: 0;
    }

    /* Erros */
    .forminator-ui .forminator-error-message,
    .forminator-ui .forminator-response-message,
    .forminator-ui .forminator-field-error {
        font-size: 12px !important;
    }


    /* FOOTER */

    footer {
        text-align: center;
    }

    .footer-social{
        display: block!important;
    }

    .footer-border {
        margin: 0 auto 1rem auto;
    }

    .footer-nav{
        margin-top: 50px;
    }

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

    .copyright-text{
        margin-top: 30px;
    }

    .copyright-logos ul li{
        display: block;
        margin-top: 20px;
        margin-right: 0;
    }

    .copyright-logos ul li:last-child{
        display: inline-block;
    }


    /* WOOCOMMERCE */

    .woocommerce .banner-image{
      height: 320px;
    }

    .woocommerce .banner-image img{
      max-height: 320px;
    }

    .woocommerce ul.products li.product a.wc-forward{
        font-size: 12px;
    }

    .woocommerce ul.products li.product .button{
        padding: 0 20px;
        font-size: 12px;
        line-height: 40px;
    }


    /* FILTROS LOJA */

    /* Container do filtro */

    .filter-wines button[type="submit"] {
        height: 40px;
        padding: 0 20px;
        font-size: 12px;
        line-height: 40px;
    }

    .filter-wines a button{
        height: 40px;
        padding: 0 20px;
        font-size: 12px;
        line-height: 40px;
    }


    /* Summary Product */

    .woocommerce div.product div.summary{
        text-align: center;
    }

    .woocommerce div.product .woocommerce-product-rating {
        font-size: 14px;
        text-align: center;
    }

    .woocommerce div.product .woocommerce-product-rating a.woocommerce-review-link:hover {
        color: var(--gray-medium);
    }

    .woocommerce div.product div.summary form.cart{
        justify-content: center;
    }

    .woocommerce div.product form.cart div.quantity input{
        width: 60px;
        height: 40px;
    }

    /* Espaço para as setas */
    .quantity input.qty {
        font-size: 14px;
    }

    .woocommerce div.product div.summary form.cart button.single_add_to_cart_button{
        height: 40px;
        padding: 0 20px;
        font-size: 12px;
        line-height: 40px;
    }

    .woocommerce div.product div.summary form.cart button.single_add_to_cart_button:hover{
        background: var(--gold);
    }


    /* Tabs */

    .woocommerce div.product .woocommerce-tabs ul.tabs{
        height: 40px;
    }

    .woocommerce div.product .woocommerce-tabs ul.tabs li a{
        font-size: 14px;
        line-height: 40px;
    }

    .woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{
        color: var(--gray-medium);
    }

    .woocommerce div.product .woocommerce-tabs .panel{
        text-align: center;
    }

    .woocommerce-Tabs-panel .wine-awards{
        text-align: left;
    }

    .woocommerce-Tabs-panel .wine-awards li.award .image-award img{
        width: 84px;
        min-width: 84px;
    }

    .woocommerce-Tabs-panel .wine-awards li.award .info-award h4{
        font-size: 22px;
    }

    .woocommerce-Tabs-panel .wine-awards li.award .info-award p{
        margin-bottom: 0;
    }


    /* Tab Avaliações */

    .woocommerce #reviews #comments ol.commentlist {
        text-align: left;
    }

    .woocommerce-Tabs-panel .comment-respond .comment-form .comment-form-rating{
        font-size: 14px;
    }

    .woocommerce-Tabs-panel .comment-respond .comment-form .comment-form-cookies-consent{
        text-align: left;
    }

    .woocommerce #review_form #respond .form-submit input{
        height: 40px;
        padding: 0 20px;
        font-size: 12px;
    }

    .woocommerce #review_form #respond .form-submit input:hover{
        background: var(--gold);
    }


    /* NOTICES - ALERTS */
    .woocommerce-error,
    .woocommerce-info,
    .woocommerce-message {
        font-size: 14px;
        line-height: 24px;
    }

    .woocommerce-page .woocommerce-message .button {
        height: 40px;
        padding: 0 20px;
        font-size: 12px;
        line-height: 40px;
    }

    .woocommerce-page .woocommerce-message .button:hover {
        background: var(--gold);
    }

}


/***************************************************
 X-SMALL DEVICES (PORTRAIT PHONES, LESS THAN 576PX)
****************************************************/

@media (max-width: 575.98px) {

    p{
        font-size: 14px;
        line-height: 24px;
    }

    h1{
        font-size: 42px;
        line-height: 46px;
    }

    h2{
        font-family: 'EBGaramond', sans-serif;
        font-size: 34px;
        line-height: 44px;
    }

    h3{
        font-size: 24px;
        line-height: 34px;
    }

    h4{
        font-size: 18px;
        line-height: 28px;
    }

    h5{
        font-size: 16px;
        line-height: 28px;
    }


    /* BUTTONS */

    a.button-default{
        padding: 0 20px;
        font-size: 12px;
        line-height: 40px;
    }

    .button-all, .button-download-pdf{
        font-size: 12px;
    }

    button.button-default{
        padding: 0 20px;
        font-size: 12px;
        line-height: 40px;
    }

    .symbol {
        margin-top: 5px;
    }

    .symbol img {
        width: 22px;
    }


    /* HEADER - SEARCH FORM */

    .search-topbar{
        width: 100%;
        display: block;
    }

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

    .free-shipping{
        margin-top: 8px;
        text-align: center;
    }

    /* Header - Brand */

    header .brand{
        padding-top: 26px;
    }

    header .brand img{
        max-width: 150px;
    }

    /* Header - Nav */

    .main-menu .navbar-toggler{
        padding-right: 5px;
    }

    .cart a.cart-button{
        padding: 0 5px;
    }

    .user-menu a.user-button{
        padding: 0 5px;
    }

    .navbar-collapse {
        left: -20px;
    }


    /* BANNERS */

    .banner-image, .banner-image.contacts{
      height: 420px;
    }

    .banner-image img, .banner-image.contacts img{
      max-height: 420px;
    }

    .banner-side-image{
      height: 420px;
    }

    .banner-side-image img{
      height: 420px;
    }

    /*.banner-content h5{
        display: none;
    }*/

    .banner-content p.banner-tagline{
        margin-bottom: 10px;
        font-size: 13px;
        line-height: 16px;
    }

    .banner-content h1.banner-title{
        font-size: 42px;
        line-height: 46px;
        margin-bottom: 0;
    }

    /*.banner-content p.banner-description{
        display: none;
    }*/

    .banner-content p.banner-button{
        height: 40px;
        margin-top: 15px;
    }

    .banner-content p.banner-button a{
        padding: 0 20px;
        font-size: 12px;
        line-height: 40px;
    }


    /* HOMEPAGE */

    .about-us h2{
        margin-bottom: 20px;
    }

    .about-us .buttons .button-default{
        width: 130px;
        padding: 0;
        margin: 0 5px;
    }


    /* Categories Products */

    .products-categories .products-grid {
        gap: 40px 70px;
    }


    /* GAMA */
    /* Página de Todas as Gamas */

    .gama-title h5{
        margin-top: 20px;
        font-size: 16px!important;
        line-height: 28px;
    }

    /*.gama-title p.has-medium-font-size {
        font-size: 16px !important;
    }*/

    .gama-section .container{
        width: 100%;
    }

    .gama{
        width: 100%;
        position: static !important;
        height: auto !important;
        transform: none !important;
        flex-direction: column !important;
    }

    .gama-flex{
        flex-direction: column !important;
    }

    .container.gama{
        padding: 0;
    }

    .container.gama.gama-flex{
        padding: 0!important;
    }

    .image-inner,
    .info-inner {
        padding: 0;
        width: 100% !important;
    }

    .gama-section .container .image-inner{
        width: 100%;
        background: var(--white);
    }

    /* Elimina o fundo dividido a 50% */
    .gama-bg-white{
        display: none !important;
    }

    /* Cada bloco ocupa 100% */
    .image-content,
    .info-content,
    .image-inner,
    .info-inner {
        width: 100% !important;
    }

    .image-content{
        display: none;
    }

    .info-content{
        display: none;
    }

    .image-inner img{
        width: 100%;
        padding: 0 20px;
        margin: 0 auto;
        background: var(--white);
    }

    /* Ajustes visuais */
    .info-inner {
        padding: 80px 20px;
        text-align: center;
    }

    .gama-section.impar .info-inner{
        padding-right: 20px;
        text-align: center;
    }

    .gama-section.par .info-inner{
        padding-left: 20px;
        text-align: center;
    }


    /* TAXONOMY GAMA */
    /* Página de cada 1 das Gamas */

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

    
    /* SINGLE WINE - GAMA */
    /* Página de cada 1 dos Vinhos da Área Gama */

    .single-wine-container .info-inner{
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .single-wine-container .image-inner{
        display: block;
        padding: 60px 0;
    }

    .single-wine-container .image-inner img{
        max-width: 400px;
    }

    /* Awards */

    .single-wine-container .wine-awards ul li.award{
        text-align: left;
    }

    .single-wine-container .wine-awards ul li.award .info-award{
        text-align: left;
    }


    /* SOBRE NÓS */

    .sobrenos-page .split{
        gap: 20px;
    }

    .sobrenos-page.historia .titulo-texto{
        padding-bottom: 30px;
    }

    .sobrenos-page .texto-2col{
        gap: 20px;
    }

    .sobrenos-page .img-fundador {
        height: 150px;
        bottom: -75px;
    }

    .sobrenos-page .bloco-imagem-extra img{
        height: 38px;
    }

    .sobrenos-page .split{
        grid-template-columns: 1fr;
        margin: 0 auto;
    }

    .sobrenos-page.terroir .img-esq .txt-col{
        text-align: center;
    }

    .sobrenos-page.terroir .img-esq .txt-col h2{
        text-align: center;
    }

    .sobrenos-page.terroir .img-esq .img-col img{
        width: 70%;
        margin: 0 auto;
        padding-bottom: 20px;
        float: none;
    }

    .sobrenos-page.sobrenos .img-esq .txt-col,
    .sobrenos-page.sobrenos .img-dir .txt-col{
        text-align: center;
    }

    .sobrenos-page.sobrenos .img-esq .txt-col h2,
    .sobrenos-page.sobrenos .img-dir .txt-col h2{
        text-align: center;
    }

    .sobrenos-page.sobrenos .img-dir .img-col{
        width: 100%;
        margin: 0 auto;
        order: -1; 
        text-align: center;
    }

    .sobrenos-page.sobrenos .img-dir .txt-col{
        width: 100%;
        margin: 0 auto;
        order: 0; 
        text-align: center;
    }

    .sobrenos-page.sobrenos .img-dir a.button-default,
    .sobrenos-page.sobrenos .img-esq a.button-default{
        margin: 10px auto 0 auto;
    }


    /* AGE-MODAL */

    .age-box{
      max-width: 90%;
      padding: 10px;
    }

    .age-box h2{
        display: none;
    }

    .age-modal p{
        margin-bottom: 10px;
    }

    .age-box button.button-default{
        margin: 10px 5px;
        background: transparent;
        border: 1px solid var(--gray-light);
        color: var(--gray-light);
    }

    .age-box button.button-default:hover{
        background: transparent;
        border: 1px solid var(--gray-light);
        color: var(--gray-light);
    }

    .age-box #age-message{
      margin-top: 10px;
    }

    .age-box .age-disclaimer {
      margin-top: 10px;
    }


    /* COOKIES BANNER */

    .cookie-box p {
        font-size: 12px;
    }

    .cookie-box #accept-cookies:hover,
    .cookie-box #reject-cookies:hover{
        background: transparent;
        border: 1px solid var(--gray-light);
        color: var(--gray-light);
    }

    .cookie-box #accept-cookies{
        margin-right: 5px;
    }

    .cookie-box #reject-cookies{
        margin-left: 5px;
    }


    /* CONTACTS PAGE */

    .contacts-text {
        padding-top: 80px;
        padding-bottom: 40px;
    }

    .contacts-form {
        padding-top: 40px;
        padding-bottom: 100px;
    }

    .contacts-form .contacts-box-address{
        padding: 20px 12px;
        margin-bottom: 50px;
        text-align: center;
        border-right: 12px solid var(--white);
        border-left: 12px solid var(--white);
    }

    .contacts-form .contacts-border {
        margin: 0 auto 1rem auto;
    }

    .contacts-form .contacts-box-form{
        padding-left: 12px;
        padding-right: 12px;
    }

    .contacts-form .contacts-box-form .forminator-row-last{
        margin-bottom: 0 !important;
    }



    /* FORMULÁRIOS - FORMINATOR */

    /* Labels */
    .forminator-ui .forminator-label {
        font-size: 14px !important;
    }

    /* Placeholder */
    .forminator-ui input::placeholder,
    .forminator-ui textarea::placeholder {
        font-size: 12px !important;
    }

    /* Compatibilidade browsers */
    .forminator-ui input::-webkit-input-placeholder,
    .forminator-ui textarea::-webkit-input-placeholder {
        font-size: 12px !important;
    }

    .forminator-ui input:-ms-input-placeholder,
    .forminator-ui textarea:-ms-input-placeholder {
        font-size: 12px !important;
    }

    .forminator-ui input::-ms-input-placeholder,
    .forminator-ui textarea::-ms-input-placeholder {
        font-size: 12px !important;
    }


    /* Checkbox */

    .forminator-ui .forminator-checkbox span{
        font-size: 14px !important;
    }


    /* Botões */
    .forminator-ui .forminator-button{
        margin-bottom: 0;
    }

    /* Erros */
    .forminator-ui .forminator-error-message,
    .forminator-ui .forminator-response-message,
    .forminator-ui .forminator-field-error {
        font-size: 12px !important;
    }


    /* FOOTER */

    footer {
        text-align: center;
    }

    .footer-social{
        display: block!important;
    }

    .footer-border {
        margin: 0 auto 1rem auto;
    }

    .footer-nav{
        margin-top: 50px;
    }

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

    .copyright-text{
        margin-top: 30px;
    }

    .copyright-logos ul li{
        display: block;
        margin-top: 20px;
        margin-right: 0;
    }

    .copyright-logos ul li:last-child{
        display: inline-block;
    }


    /* WOOCOMMERCE */

    .woocommerce .banner-image{
      height: 320px;
    }

    .woocommerce .banner-image img{
      max-height: 320px;
    }

    .woocommerce ul.products li.product a.wc-forward{
        font-size: 12px;
    }

    .woocommerce ul.products li.product .button{
        padding: 0 20px;
        font-size: 12px;
        line-height: 40px;
    }


    /* FILTROS LOJA */

    /* Container do filtro */

    .filter-wines button[type="submit"] {
        height: 40px;
        padding: 0 20px;
        font-size: 12px;
        line-height: 40px;
    }

    .filter-wines a button{
        height: 40px;
        padding: 0 20px;
        font-size: 12px;
        line-height: 40px;
    }


    /* Summary Product */

    .woocommerce div.product div.summary{
        text-align: center;
    }

    .woocommerce div.product .woocommerce-product-rating {
        font-size: 14px;
        text-align: center;
    }

    .woocommerce div.product .woocommerce-product-rating a.woocommerce-review-link:hover {
        color: var(--gray-medium);
    }

    .woocommerce div.product div.summary form.cart{
        justify-content: center;
    }

    .woocommerce div.product form.cart div.quantity input{
        width: 60px;
        height: 40px;
    }

    /* Espaço para as setas */
    .quantity input.qty {
        font-size: 14px;
    }

    .woocommerce div.product div.summary form.cart button.single_add_to_cart_button{
        height: 40px;
        padding: 0 20px;
        font-size: 12px;
        line-height: 40px;
    }

    .woocommerce div.product div.summary form.cart button.single_add_to_cart_button:hover{
        background: var(--gold);
    }


    /* Tabs */

    .woocommerce div.product .woocommerce-tabs ul.tabs{
        height: 40px;
    }

    .woocommerce div.product .woocommerce-tabs ul.tabs li a{
        font-size: 14px;
        line-height: 40px;
    }

    .woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{
        color: var(--gray-medium);
    }

    .woocommerce div.product .woocommerce-tabs .panel{
        text-align: center;
    }

    .woocommerce-Tabs-panel .wine-awards{
        text-align: left;
    }

    .woocommerce-Tabs-panel .wine-awards li.award .image-award img{
        width: 84px;
        min-width: 84px;
    }

    .woocommerce-Tabs-panel .wine-awards li.award .info-award h4{
        font-size: 22px;
    }

    .woocommerce-Tabs-panel .wine-awards li.award .info-award p{
        margin-bottom: 0;
    }


    /* Tab Avaliações */

    .woocommerce #reviews #comments ol.commentlist {
        text-align: left;
    }

    .woocommerce-Tabs-panel .comment-respond .comment-form .comment-form-rating{
        font-size: 14px;
    }

    .woocommerce-Tabs-panel .comment-respond .comment-form .comment-form-cookies-consent{
        text-align: left;
    }

    .woocommerce #review_form #respond .form-submit input{
        height: 40px;
        padding: 0 20px;
        font-size: 12px;
    }

    .woocommerce #review_form #respond .form-submit input:hover{
        background: var(--gold);
    }


    /* Login - Register */

    #customer_login .woocommerce-form-login,
    #customer_login .woocommerce-form-register {
        margin-top: 20px;
    }

    .woocommerce .u-column1 {
        margin-bottom: 60px;
    }


    /* NOTICES - ALERTS */
    .woocommerce-error,
    .woocommerce-info,
    .woocommerce-message {
        font-size: 14px;
        line-height: 24px;
    }

    .woocommerce-page .woocommerce-message .button {
        height: 40px;
        padding: 0 20px;
        font-size: 12px;
        line-height: 40px;
    }

    .woocommerce-page .woocommerce-message .button:hover {
        background: var(--gold);
    }

}