/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

.elementor-sticky--effects {
    background: #f8f7ee !important;
    border-bottom: 1px solid #edebda;
}
.elementor-sticky--effects .menu-item a{
    color: #1c1b1b !important;
}
.elementor-sticky--effects .elementor-nav-menu--layout-horizontal .elementor-nav-menu > li:not(:last-child)::after {
    background-color: #b7995b !important;
}
.elementor-nav-menu--layout-horizontal .elementor-nav-menu > li:not(:last-child)::after {
    content: "";
    align-self: center;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background-color: var(--e-nav-menu-divider-color, #000);
    /* anulamos las propiedades del borde anterior */
    border: none;
}
.elementor-icon-box-icon a svg{
    margin-top: 6px !important;
}
.campos input, .campos textarea {
    padding-left: 0px !important;
}
p{
    line-height: 24px;
}
.faqs .e-n-accordion-item-title-text {
    font-family: 'GoogleSans' !important;
    text-transform: uppercase;
    font-weight: 400 !important;
    font-size: 15px;
}
/* HOVER sobre el título de la tab */
.e-n-accordion-item-title:hover .e-n-accordion-item-title-text {
    color: #fff; /* tu color */
}

/* HOVER: también puedes cambiar el icono */
.e-n-accordion-item-title:hover .e-n-accordion-item-title-icon svg {
    fill: #fff;
}

/* ACTIVO / ABIERTO (cuando la tab está expandida) */
.e-n-accordion-item[open] > .e-n-accordion-item-title .e-n-accordion-item-title-text {
    color: #fff;
}

.e-n-accordion-item[open] > .e-n-accordion-item-title .e-n-accordion-item-title-icon svg {
    fill: #fff;
}
.e-n-accordion-item-title-text,
.e-n-accordion-item-title-icon svg {
    transition: color 0.3s ease, fill 0.3s ease;
}
.titulo1{
    font-size: 17px;
}
.titulo2{
    margin-top: -30px;
    margin-bottom: 0px;
    line-height: 110px;
}
@media (max-width: 767px){
    .titulo2{
        line-height: 40px;
        font-size: 30px;
    }
    .header-resp{
        position: relative;
        background-color: #000000;
    }
    .primera-bg:before{
        background: #080808 !important;
    }

}
/* Terra Solei shop: tasting profile + pre-order notice */
.ts-profile{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:30px 60px;width:100%}
.ts-profile__oil{max-width:420px;display:flex;flex-direction:column;gap:12px}
.ts-profile__name{margin:0 0 4px;font-family:GoogleSans,sans-serif;font-size:18px;letter-spacing:1px;color:#B7995B}
.ts-profile__row{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:17px}
.ts-profile__dots{display:inline-flex;gap:6px}
.ts-dot{width:12px;height:12px;border-radius:50%;border:1px solid currentColor;box-sizing:border-box}
.ts-dot--full{background:currentColor}
.ts-dot--half{background:linear-gradient(90deg,currentColor 50%,transparent 50%)}
.ts-preorder-notice{padding:14px 18px;border:1px solid #B7995B;background:#F8F7EE;color:#1C1B1B;font-size:15px}
.ts-on-dark{color:#FFFFFF}
/* Single product: add to cart row */
.elementor-widget-woocommerce-product-add-to-cart form.cart{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
.elementor-widget-woocommerce-product-add-to-cart .quantity .qty{width:72px;height:100%;text-align:center}
.elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button{white-space:nowrap}
/* ts-atc */
/* One-page shop: product tabs */
.ts-field p{margin:0 0 12px;max-width:68ch}
.ts-field p:last-child{margin-bottom:0}
.ts-field--list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:40px;max-width:760px}
.ts-field--list li{position:relative;padding:11px 0 11px 20px;border-bottom:1px solid #E7E6DE;line-height:1.45}
.ts-field--list li::before{content:"";position:absolute;left:0;top:1.3em;width:8px;height:1px;background:#B7995B}
.ts-on-dark .ts-field{color:#FFFFFF}
.ts-on-dark .ts-field--list li{border-bottom-color:#383736}
@media (max-width:767px){.ts-field--list{grid-template-columns:1fr}}
.ts-field--list li.ts-field__organic{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.ts-organic__logo{width:58px;height:auto;flex:none;display:block;margin-top:3px}
.ts-field__organic small{display:block;margin-top:3px;font-size:12px;letter-spacing:.5px;opacity:.7}
#duo-set,#vibrant-hojiblanca,#balanced-picudo{scroll-margin-top:110px}
/* Explore: product not on sale this season (button without link) */
.ts-btn-unavailable .elementor-button{cursor:default;pointer-events:none}
/* Legal pages: terms, shipping, legal notice */
.ts-legal{max-width:880px;margin:0 auto}
.ts-legal__updated{color:#7A766C;font-size:14px;letter-spacing:.5px}
.ts-legal h2{font-family:Kalnia,serif;font-weight:400;font-size:26px;line-height:1.25;margin:48px 0 16px;color:#1C1B1B}
.ts-legal h3{font-family:GoogleSans,sans-serif;font-weight:400;font-size:15px;letter-spacing:1px;text-transform:uppercase;color:#B7995B;margin:32px 0 12px}
.ts-legal ul,.ts-legal ol{margin:0 0 16px 1.2em;padding:0}
.ts-legal li{margin:0 0 6px;line-height:1.5}
.ts-legal__table{width:100%;max-width:520px;border-collapse:collapse;margin:0 0 24px}
.ts-legal__table th,.ts-legal__table td{padding:10px 12px 10px 0;border:0;border-bottom:1px solid #E7E6DE;text-align:left;background:none}
.ts-legal__table th{font-family:GoogleSans,sans-serif;font-weight:400;font-size:13px;letter-spacing:1px;text-transform:uppercase;color:#B7995B}
.ts-legal__form{line-height:2.2}
.ts-legal a{color:#B7995B;text-decoration:underline;text-underline-offset:2px}
.ts-legal a:hover{color:#1C1B1B}
@media (max-width:767px){.ts-legal h2{font-size:22px;margin-top:36px}}
/* One-page shop: product photo gallery [ts_gallery] */
.ts-gallery{display:flex;flex-direction:column;gap:12px;width:100%}
.ts-gallery__stage{position:relative;aspect-ratio:1/1;background:#FFFFFF;border:1px solid #E7E6DE;box-sizing:border-box;overflow:hidden;touch-action:pan-y;user-select:none}
.ts-gallery__slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s ease;-webkit-user-drag:none}
.ts-gallery__slide.is-active{opacity:1}
.ts-gallery__arrow{position:absolute;top:50%;width:42px;height:42px;margin-top:-21px;padding:0;border:1px solid #E7E6DE;border-radius:50%;background:rgba(255,255,255,.85);cursor:pointer;opacity:0;transition:opacity .3s ease,background-color .3s ease,border-color .3s ease}
.ts-gallery__arrow::before{content:"";position:absolute;top:50%;left:50%;width:9px;height:9px;border-top:1px solid #1C1B1B;border-right:1px solid #1C1B1B;transform:translate(-65%,-50%) rotate(45deg)}
.ts-gallery__arrow--prev{left:14px}
.ts-gallery__arrow--prev::before{transform:translate(-35%,-50%) rotate(-135deg)}
.ts-gallery__arrow--next{right:14px}
.ts-gallery__stage:hover .ts-gallery__arrow,.ts-gallery__arrow:focus-visible{opacity:1}
.ts-gallery__arrow:hover{background:#B7995B;border-color:#B7995B}
.ts-gallery__arrow:hover::before{border-color:#FFFFFF}
.ts-gallery__thumbs{display:flex;flex-wrap:wrap;gap:10px}
.ts-gallery__thumb{width:76px;height:76px;padding:0;border:1px solid #E7E6DE;border-radius:0;background:#FFFFFF;cursor:pointer;opacity:.55;transition:opacity .3s ease,border-color .3s ease}
.ts-gallery__thumb img{display:block;width:100%;height:100%;object-fit:cover}
.ts-gallery__thumb:hover,.ts-gallery__thumb.is-active{opacity:1}
.ts-gallery__thumb.is-active{border-color:#B7995B}
@media (hover:none){.ts-gallery__arrow{opacity:1}}
@media (max-width:767px){.ts-gallery__thumb{width:62px;height:62px}}
/* Header: My account icon, drawn like the cart's bag-light (white, dark on sticky) */
.ts-account{display:inline-flex;padding:6px;margin-right:4px;color:#FFFFFF;line-height:0;transition:color .3s ease}
.ts-account svg{width:28px;height:28px;display:block}
.ts-account:hover,.ts-account:focus-visible{color:#B7995B}
.elementor-sticky--effects .ts-account{color:#1C1B1B}
.elementor-sticky--effects .ts-account:hover{color:#B7995B}
@media (max-width:767px){.ts-account{padding:4px;margin-right:2px}.ts-account svg{width:24px;height:24px}}
/* Header: language switcher (WPML) as a dropdown, next to the account icon */
.elementor-widget-html:has(.ts-lang),.elementor-widget-html:has(.ts-lang) .elementor-widget-container{display:flex;align-items:center;flex-wrap:nowrap;white-space:nowrap}
.ts-lang{position:relative;margin-right:8px;font-family:GoogleSans,sans-serif;font-weight:400;letter-spacing:1px}
.ts-lang__toggle{display:inline-flex;align-items:center;gap:6px;padding:6px;font-size:14px;line-height:28px;color:#FFFFFF;cursor:pointer;list-style:none;user-select:none;transition:color .3s ease}
.ts-lang__toggle::-webkit-details-marker{display:none}
.ts-lang__toggle::marker{content:""}
.ts-lang__toggle:hover,.ts-lang__toggle:focus-visible,.ts-lang[open] .ts-lang__toggle{color:#B7995B}
.ts-lang__chevron{width:6px;height:6px;margin-top:-3px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);transition:transform .25s ease,margin .25s ease}
.ts-lang[open] .ts-lang__chevron{transform:rotate(225deg);margin-top:3px}
.ts-lang__menu{position:absolute;top:calc(100% + 6px);right:0;z-index:120;min-width:140px;margin:0;padding:6px 0;list-style:none;background:#FFFFFF;border:1px solid #E7E6DE;box-shadow:0 10px 30px rgba(28,27,27,.12);animation:ts-lang-in .2s ease}
.ts-lang__menu li{margin:0;padding:0}
.ts-lang__item{display:block;padding:9px 18px;font-size:13px;line-height:1.4;letter-spacing:1px;text-transform:uppercase;color:#1C1B1B;text-decoration:none;transition:color .2s ease,background-color .2s ease}
button.ts-lang__item{width:100%;margin:0;border:0;border-radius:0;background:none;font-family:inherit;font-weight:400;text-align:left;cursor:pointer}
.ts-lang__menu{max-height:min(70vh,560px);overflow-y:auto;min-width:180px}
.ts-lang__menu .ts-lang__group{margin:6px 0 2px;padding:10px 18px 4px;border-top:1px solid #E7E6DE;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#A9A59A}
a.ts-lang__item:hover,a.ts-lang__item:focus-visible,button.ts-lang__item:hover,button.ts-lang__item:focus-visible{color:#B7995B;background:#F8F7EE}
.ts-lang__item.is-current{color:#B7995B}
.ts-lang__menu .ts-lang__item{display:flex;align-items:center;gap:10px}
.ts-lang img.ts-lang__flag{display:block;flex:none;width:16px;height:16px;max-width:none;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px rgba(28,27,27,.12)}
.ts-lang .ts-lang__toggle img.ts-lang__flag{box-shadow:0 0 0 1px rgba(255,255,255,.35)}
.elementor-sticky--effects .ts-lang .ts-lang__toggle img.ts-lang__flag{box-shadow:0 0 0 1px rgba(28,27,27,.12)}
/* The switcher + account widget and its container keep their natural width (no overlap with the cart) */
.elementor-widget-html:has(.ts-lang){flex-shrink:0}
.e-con:has(> .elementor-widget-html .ts-lang){gap:4px}
/* While the dropdown is open, lift the header containers that hold it above their siblings */
.e-con:has(details.ts-lang[open]){z-index:110}
.elementor-sticky--effects .ts-lang__toggle{color:#1C1B1B}
.elementor-sticky--effects .ts-lang__toggle:hover,.elementor-sticky--effects .ts-lang[open] .ts-lang__toggle{color:#B7995B}
@keyframes ts-lang-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media (max-width:767px){.ts-lang{margin-right:0}.ts-lang__toggle{font-size:13px;padding:4px;line-height:24px}.ts-lang__toggle .ts-lang__code,.ts-lang__toggle .ts-lang__chevron{display:none}.ts-lang .ts-lang__toggle img.ts-lang__flag{width:20px;height:20px}}
/* Header: while the side cart is open, lift its container above the logo (z-index 20) */
.elementor-element-3551b16:has(.elementor-menu-cart--shown){z-index:100}
/* Header cart: hide the bubble when the cart is empty */
.elementor-menu-cart__toggle .elementor-button-icon[data-counter="0"]::before{display:none}

/* ===== Responsive: header + home hero (tablet <=1200px, mobile <=767px) ===== */
@media (max-width:1200px){
	/* Safety net: hidden off-canvas elements or long translated words never create horizontal scroll */
	html,body{overflow-x:clip}
	/* Header icons (language, account, cart): keep them inside the screen, no horizontal scroll */
	.e-con:has(> .elementor-widget-html .ts-lang){margin-right:14px;position:relative;z-index:30}
	.e-con:has(> .elementor-widget-html .ts-lang) > .elementor-widget{flex-shrink:0}

	/* Home hero on tablet/mobile (the scroll animation is desktop only): solid dark background, full-width photo below the header */
	.primera-bg{background:#080808 !important;padding:150px 0 90px !important;min-height:0 !important;gap:0}
	.primera-bg::before{background:#080808 !important}
	.primera-bg .elementor-widget-image{display:block !important;width:100%;margin-bottom:56px}
	.primera-bg .elementor-widget-image img{display:block;width:100%;height:auto;max-height:62vh;object-fit:cover;object-position:center 40%}
	.primera-bg .elementor-widget-heading{width:100%;max-width:900px;margin:0 auto;padding:0 32px}
	.primera-bg .elementor-widget-heading .elementor-heading-title{font-size:inherit;line-height:1}
	.primera-bg .titulo1{display:block;margin-bottom:18px;font-size:16px;letter-spacing:1px}
	.primera-bg .titulo2{margin:0;font-size:60px;line-height:1.08;text-wrap:balance}
	.primera-bg .elementor-widget-text-editor{width:72% !important;max-width:640px;margin-top:28px}
	.primera-bg .elementor-widget-text-editor p{font-size:17px;line-height:1.75}
	.primera-bg .elementor-widget-button{margin-top:18px}
}
@media (max-width:1024px){
	/* Home hero (tablet): photo + text fit in one screen */
	.primera-bg{padding:104px 0 64px !important}
	.primera-bg .elementor-widget-image{margin-bottom:40px}
	.primera-bg .elementor-widget-image img{max-height:44vh}
	.primera-bg .titulo2{font-size:48px}
}
@media (max-width:767px){
	/* Home hero (mobile): shorter photo and tighter spacing so the button shows on the first screen */
	.primera-bg{padding:84px 0 48px !important}
	.primera-bg .elementor-widget-image{margin-bottom:28px}
	.primera-bg .elementor-widget-image img{max-height:270px;object-position:center 65%}
	.primera-bg .elementor-widget-heading{padding:0 20px}
	.primera-bg .elementor-widget-heading .elementor-heading-title{line-height:1 !important}
	.primera-bg .titulo1{margin-bottom:8px;font-size:14px}
	.primera-bg .titulo2{font-size:30px;line-height:1.12}
	.primera-bg .elementor-widget-text-editor{width:100% !important;margin-top:16px}
	.primera-bg .elementor-widget-text-editor p{font-size:15px;line-height:1.6}
	.primera-bg .elementor-widget-button{margin-top:12px}
	.e-con:has(> .elementor-widget-html .ts-lang){margin-right:10px}
	/* Long words (German, Scandinavian... via Google Translate) break with a hyphen instead of overflowing */
	h1,h2,h3,h4,.elementor-heading-title,.e-heading-base{overflow-wrap:break-word;hyphens:auto}
	.e-paragraph-base{overflow-wrap:break-word}
}
