/*!
Theme Name: WGH Starter
Theme URI: https://webgraphicshub.com/
Author: Web Graphics Hub
Author URI: https://webgraphicshub.com/
Description: WGH Starter is a blank scaffold WordPress theme by Web Graphics Hub — used as the base for all new site builds. Bundles Bootstrap, Font Awesome, Owl Carousel, Superfish and Responsive Slides. Write project styles in this file.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 7.4
License: Private
License URI: Private
Text Domain: wgh-starter
Tags: custom-logo, custom-menu, featured-images, threaded-comments
*/

/* ── BASE ─────────────────────────────────────────────────────────────────── */

*,
*::before,
*::after { box-sizing: border-box; }

img,
svg,
video,
iframe { max-width: 100%; height: auto; }

/* ── ACCESSIBILITY HELPERS ────────────────────────────────────────────────── */

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0; border: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	word-wrap: normal !important;
}

.skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 100000;
	padding: 10px 16px;
	background: #fff;
	color: #000;
}
.skip-link:focus { left: 0; }

/* ── HEADER / NAV ─────────────────────────────────────────────────────────── */

.menu-toggle {
	display: none;
	border: 0;
	background: none;
	padding: 10px;
	font-size: 17px;
	cursor: pointer;
}

@media (max-width: 991px) {
	.menu-toggle { display: inline-block; }
	#navigation .sf-menu { display: none; }
	#navigation.is-open .sf-menu { display: block; }
	.sf-menu > li { float: none; }
}


/* ── NOSOTROS / CONTACTO (Elementor form widget skin) ────────────────────── */

.elementor-field-group .elementor-field,
.elementor-field-textual {
	border: 1px solid #d8d8d2 !important;
	border-radius: 8px !important;
	font-family: Poppins, sans-serif !important;
	padding: 14px 16px !important;
}
.elementor-button.elementor-size-md { border-radius: 8px !important; font-family: Montserrat, sans-serif !important; font-weight: 800 !important; }


/* ── HOVERS & TRANSITIONS (site-wide) ─────────────────────────────────────── */

a, button, .elementor-button, .vasini-btn { transition: all 0.25s ease; }

.elementor-button:hover,
.vasini-btn:hover {
	filter: brightness(1.08);
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}

/* Header nav links + toggle */
#vasini-header .elementor-nav-menu a { transition: color 0.2s ease; }
#vasini-header .elementor-menu-toggle { color: #252a24 !important; transition: color 0.2s ease; }
#vasini-header .elementor-menu-toggle:hover { color: #62815d !important; }

/* Footer links */
.elementor-widget-text-editor a { transition: opacity 0.2s ease, color 0.2s ease; }
footer .elementor-widget-text-editor a:hover { opacity: 0.75; }







/* ── WOOCOMMERCE — cart / checkout / my-account theming ──────────────────── */

.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-account .entry-content { max-width: 1200px; margin: 0 auto; padding: 60px 40px; font-family: Poppins, sans-serif; }

.woocommerce table.shop_table {
	border: none;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 0 0 1px #ede9e0;
}
.woocommerce table.shop_table th {
	background: #3b4d48;
	color: #fff;
	font-family: Poppins, sans-serif;
	font-weight: 600;
	padding: 16px;
}
.woocommerce table.shop_table td { border-top: 1px solid #ede9e0; padding: 16px; }
.woocommerce table.shop_table td.product-remove a.remove {
	background: #d8604f !important;
	color: #fff !important;
	border-radius: 50%;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-cart table.cart td.actions .button,
.woocommerce #payment #place_order {
	background: #62815d !important;
	color: #fff !important;
	border-radius: 8px !important;
	font-family: Montserrat, sans-serif !important;
	font-weight: 800 !important;
	padding: 14px 28px !important;
	border: none !important;
	transition: all 0.25s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce #payment #place_order:hover {
	filter: brightness(1.08);
	transform: translateY(-2px);
}

.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review {
	background: #f8f7f4;
	border-radius: 14px;
	padding: 30px;
}
.woocommerce-cart .cart_totals h2,
.woocommerce-checkout #order_review h3 { font-family: Poppins, sans-serif; font-weight: 700; color: #252a24; }

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
	border: 1px solid #d8d8d2;
	border-radius: 8px;
	padding: 12px 14px;
	font-family: Poppins, sans-serif;
}

.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; }
.woocommerce-MyAccount-navigation li { margin-bottom: 4px; }
.woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 12px 16px;
	border-radius: 8px;
	color: #252a24;
	font-family: Poppins, sans-serif;
	font-weight: 500;
	text-decoration: none;
}
.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li a:hover { background: #62815d; color: #fff; }

.woocommerce-message, .woocommerce-info {
	border-top-color: #62815d !important;
}
.woocommerce-message::before, .woocommerce-info::before { color: #62815d !important; }

.select2-container--default .select2-selection--single { border: 1px solid #d8d8d2 !important; border-radius: 8px !important; height: 46px !important; padding: 8px 10px; }


/* ══ PIXEL-PERFECT HOMEPAGE / HEADER / FOOTER (Figma frame 1:2 @1920) ═════════
   Exact values below are measured from Figma. >=1641px renders 1:1; the media
   queries at the end fold the same layout down for laptops, tablets, phones. */

body { font-family: Poppins, sans-serif; }
.vh p { margin: 0; }
.vh > .elementor-container { width: calc(100% - 48px); }
.vh .elementor-heading-title { margin: 0; }
.vh { --kit-widget-spacing: 0px; --widgets-spacing: 0px; }
.vh .elementor-widget:not(:last-child) { margin-bottom: 0 !important; margin-block-end: 0 !important; }

/* buttons: exact boxes, centered content, no wrapping */
.vh-btn .elementor-button { display: inline-flex; align-items: center; justify-content: center; padding: 0; white-space: nowrap; border-radius: 10px; }
.vh-btn .elementor-button-content-wrapper { align-items: center; }
.vh-btn-arrow .elementor-button-icon svg,
.vh-btn-arrow .elementor-button-icon img { width: 25px !important; height: 25px !important; transform: scaleX(-1); }

/* absolutely positioned decorative widgets */
.vh-abs { position: absolute !important; width: auto !important; max-width: none !important; margin: 0 !important; }
.vh-abs img { max-width: none !important; }

/* header */
#vasini-header { position: relative; z-index: 100; transition: background-color .25s ease, box-shadow .25s ease; }
.vh-header .vh-btn-header .elementor-button { width: 292px !important; height: 64px !important; }
/* No shadow at the top of the page (Figma); shadow + solid bg only once scrolled (body.vh-scrolled set in footer JS). */
#vasini-header, #vasini-header.elementor-sticky--effects { box-shadow: none; }
body.home:not(.vh-scrolled) #vasini-header { background-color: transparent !important; }
body.vh-scrolled #vasini-header { box-shadow: 0 4px 20px rgba(0,0,0,.06); }

/* hero (0..780) — shortened from Figma 1048 at client request */
.vh-hero { position: relative; overflow: hidden; min-height: 780px; padding-top: 240px !important; }
body.home .vh-hero { margin-top: -149px; }
.vh-hero::before { content: ""; position: absolute; left: calc(50% - 842px); top: 49px; width: 1853px; height: 1234px; background: url('/wp-content/uploads/2026/10/vasini-hero-bg-photo.png') center / cover no-repeat; z-index: 0; }
.vh-hero::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background:
		linear-gradient(to bottom, #ede9e0 6.489%, rgba(237,233,224,0) 22.71%),
		linear-gradient(to right, #ede9e0 calc(50% - 292px), rgba(237,233,224,0) calc(50% + 530px)); }
.vh-hero > .elementor-container { position: relative; z-index: 2; }
.vh-hero-title .l1, .vh-hero-title .l2, .vh-hero-title .l3 { display: block; }
.vh-hero-title .l2 { color: #62815d; }
.vh-hero-title .l3 { font-size: 37px; line-height: 46px; }
.vh-hero-text { margin-top: 22px; }
.vh-hero-text p { max-width: 683px; }
.vh-btn-hero1, .vh-btn-hero2 { margin-top: 46px; }
.vh-btn-hero1 { margin-right: 24px; }
.vh-btn-hero1 .elementor-button { width: 356px !important; height: 66px !important; }
.vh-btn-hero2 .elementor-button { width: 232px !important; height: 66px !important; }
.vh-hero-cup { left: calc(50% + 258px); top: -120px; z-index: 2; }
.vh-hero-cup img { width: 293px !important; height: 590px !important; object-fit: fill; transform: rotate(-2.99deg); }
.vh-hero-shadow { left: calc(50% + 257px); top: 422px; z-index: 1; }
.vh-hero-shadow img { width: 437px; height: 52px; transform: rotate(-2.09deg); }

/* como funciona (1048..1810) */
.vh-process-title { margin-top: -18px; }
.vh-steps > .elementor-container { position: relative; }
.vh-steps-spacer, .vh-steps-spacer > .elementor-widget-wrap { position: static !important; }
.vh-conn img { width: 138px; height: 96px; }
.vh-conn-1 { left: 27.3125%; top: 53px; }
.vh-conn-2 { left: 57.375%; top: 46px; }
.vh-conn-2 img { transform: rotate(33.2deg); }
.elementor-widget.vh-step-tile { width: 138px !important; height: 138px; background: #ede9e0; border-radius: 30px; display: flex !important; align-items: center; justify-content: center; padding-top: 7px; }
.elementor-widget.vh-step-tile img { height: auto !important; max-width: none; object-fit: contain; }
.vh-step-title { margin-top: 47px; }
.vh-step-title .elementor-heading-title { position: relative; }
.vh-step-num { position: absolute; left: -63px; top: 1px; width: 44px; height: 44px; border-radius: 50%; background: #62815d; color: #fff; font: 700 18px/32px Montserrat, sans-serif; text-align: center; }
.vh-step-desc { margin-top: 25px; }
.vh-step-desc-333 p { max-width: 333px; }
.vh-step-desc-330 p { max-width: 330px; }

/* productos (1810..2916) */
.vh-products { position: relative; overflow: hidden; }
.vh-products::before { content: ""; position: absolute; left: calc(50% - 960px); top: 0; width: 1920px; height: 1106px; background: url('/wp-content/uploads/2026/10/vasini-products-texture.svg') 0 0 / 1920px 1106px no-repeat; pointer-events: none; }
.vh-products > .elementor-container { position: relative; z-index: 1; }
.vh-products-title { margin-top: 9px; }
.vh-products-sub { margin-top: 29px; }
.vh-products-sub p { max-width: 820px; margin: 0 auto; }
.vh-cards { margin-top: 62px; }
.vh-cards > .elementor-container { justify-content: space-between; padding-left: 2px; }
.vh-card { width: 360px !important; flex: 0 0 360px; }
.vh-card > .elementor-widget-wrap { background: #fff; border-radius: 21px; padding: 9px 10px 28px !important; min-height: 514px; align-content: flex-start; transition: transform .3s ease, box-shadow .3s ease; }
.vh-card:hover > .elementor-widget-wrap { box-shadow: 0 14px 44px rgba(0,0,0,.45); }
.vh-card:hover > .elementor-widget-wrap { transform: translateY(-6px); }
.vh-card-img { overflow: hidden; border-radius: 15px 15px 0 0; }
.vh-card-img img { width: 340px !important; height: 293px !important; max-width: none; display: block; object-fit: none; object-position: -88px -159px; transition: transform .4s ease; }
.vh-card:hover .vh-card-img img { transform: scale(1.05); }
.vh-card-title { margin: 17px 0 0 13px; }
.vh-card-price { margin: 21px 0 0 13px; }
.vh-card-btn { margin: 26px 0 0 15px; }
.vh-card-btn .elementor-button { width: 306px !important; height: 45px !important; border-radius: 5px; }
.vh-card:hover .vh-card-btn .elementor-button { background: #62815d; color: #fff; border-color: #62815d; }
.vh-btn-cta { margin-top: 68px; }
.vh-btn-cta .elementor-button { width: 385px !important; height: 78px !important; }

/* por que elegir (2916..3500) */
.vh-why-heading .elementor-heading-title { max-width: 715px; margin: 0 auto; }
.vh-why-sub { margin-top: 26px; }
.vh-why-sub p { max-width: 844px; margin: 0 auto; }
.vh-why-cards { margin-top: 52px; }
.vh-why-cards > .elementor-container { justify-content: space-between; padding-left: 1px; }
.vh-why-card { width: 508px !important; flex: 0 0 508px; }
.vh-why-card > .elementor-widget-wrap { background: #ede9e0; border-radius: 10px; height: 166px; padding: 28px 20px 0 140px !important; position: relative; align-content: flex-start; transition: transform .3s ease, box-shadow .3s ease; }
.vh-why-card:hover > .elementor-widget-wrap { transform: translateY(-4px); box-shadow: 0 10px 30px rgba(0,0,0,.08); }
.vh-why-desc { margin-top: 8px; }
.vh-why-desc p { max-width: 320px; }
.vh-why-icon-1 { left: 40px; top: 35px; }
.vh-why-icon-1 img { width: 76px; height: 76px; }
.vh-why-icon-2 { left: 41px; top: 33px; }
.vh-why-icon-2 img { width: 61px; height: 78px; }
.vh-why-icon-3 { left: 37px; top: 30px; }
.vh-why-icon-3 img { width: 80px; height: 84px; }

/* quienes somos (3500..4229) */
.vh-quienes { position: relative; overflow: hidden; min-height: 729px; }
.vh-quienes::before { content: ""; position: absolute; left: calc(50% - 1018px); top: 96px; width: 2172px; height: 724px; background: url('/wp-content/uploads/2026/10/vasini-quienes-photo.png') 0 0 / 2172px 724px no-repeat; z-index: 0; }
.vh-quienes::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background:
		linear-gradient(to left, #ede9e0 0%, rgba(237,233,224,0) 75.208%),
		linear-gradient(to left, #ede9e0 0%, rgba(237,233,224,0) 99.687%),
		linear-gradient(to top, rgba(237,233,224,0) 58.573%, #ede9e0 82.167%); }
.vh-quienes > .elementor-container { position: relative; z-index: 2; }
.vh-q-cup { left: -143px; top: 22px; z-index: 2; }
.vh-q-cup img { width: 923px !important; height: 686px !important; object-fit: fill; }
.vh-q-shadow { left: -162px; top: 645px; z-index: 1; }
.vh-q-title { margin-top: 27px; }
.vh-q-text { margin-top: 31px; }
.vh-q-text p { max-width: 544px; }

/* footer (4229..4749) */
.vh-footer { position: relative; overflow: hidden; }
.vh-footer::before { content: ""; position: absolute; left: calc(50% - 960px); top: 0; width: 1920px; height: 520px; background: url('/wp-content/uploads/2026/10/vasini-footer-mask.svg') 0 0 / 1920px 520px no-repeat; pointer-events: none; }
.vh-footer > .elementor-container { position: relative; z-index: 1; }
.vh-flogo { margin-left: 19px; }
.vh-ftag { margin-top: 21px; }
.vh-ftag p { max-width: 374px; }
.vh-fhead { margin-top: 3px; }
.vh-flinks { margin-top: 15px; }
.vh-flinks .elementor-nav-menu a.elementor-item { position: relative; padding: 0 0 0 28px !important; line-height: 40px; }
.vh-flinks .elementor-nav-menu a.elementor-item::before { content: ""; position: absolute; left: 0; top: 11px; width: 18px; height: 18px; background: url('/wp-content/uploads/2026/10/vasini-footer-arrow-active.svg') center / 18px no-repeat; transform: rotate(90deg); opacity: 0; transition: opacity .2s ease; }
.vh-flinks .elementor-nav-menu a.elementor-item.elementor-item-active::before,
.vh-flinks .elementor-nav-menu a.elementor-item:hover::before { opacity: 1; }
.vh-frows { list-style: none; margin: 0; padding: 0; }
.vh-frows li { position: relative; display: flex; align-items: center; }
.vh-frows--contact { margin-top: 7px; }
.vh-frows--contact li { height: 55px; padding-left: 42px; }
.vh-frows--social { margin-top: 10px; }
.vh-frows--social li { height: 45px; padding-left: 44px; }
.vh-fic { position: absolute; left: 0; top: 50%; transform: translateY(-50%); display: flex; }
.vh-fic img { max-width: none; }
.vh-frows--contact li:nth-child(3) .vh-fic { left: 1px; }
.vh-frows--social li:nth-child(2) .vh-fic { left: 1px; }
.vh-frows--social li:nth-child(3) .vh-fic,
.vh-frows--social li:nth-child(4) .vh-fic { left: 5px; }
.vh-frows a { color: #fff; text-decoration: none; transition: color .2s ease; }
.vh-frows a:hover { color: #86ae7f; }

/* laptops (<1641): same layout, fluid widths */
@media (max-width: 1640px) {
	.vh-cards > .elementor-container, .vh-why-cards > .elementor-container { gap: 24px; padding-left: 0 !important; }
	.vh-card { flex: 0 1 360px; width: auto !important; }
	.vh-card > .elementor-widget-wrap { min-height: 0 !important; }
	.vh-card-img img { width: 100% !important; height: auto !important; aspect-ratio: 340 / 293; object-fit: cover; object-position: center; }
	.vh-card-btn { margin-right: 15px; }
	.vh-card-btn .elementor-button { width: 100% !important; }
	.vh-why-card { flex: 0 1 508px; width: auto !important; }
	.vh-why-card > .elementor-widget-wrap { height: auto !important; min-height: 166px !important; padding-bottom: 25px !important; }
}
@media (max-width: 1280px) {
	.vh-header .elementor-nav-menu--main .elementor-nav-menu > li + li { margin-left: 32px !important; }
	.vh-hero-title .elementor-heading-title { font-size: 42px !important; line-height: 47px !important; }
	.vh-hero-title .l3 { font-size: 30px !important; line-height: 38px !important; }
	.vh-hero-cup { left: auto !important; right: 0; }
	.vh-hero-cup img { width: 280px !important; height: 563px !important; }
	.vh-hero-shadow { display: none; }
	.vh-why-card > .elementor-widget-wrap { padding-left: 120px !important; }
}

/* tablet (<=1024) */
@media (max-width: 1024px) {
	#vasini-header { padding: 14px 0 !important; }
	.vh-logo img { width: 200px !important; }
	.vh-header .vh-btn-header .elementor-button { width: auto !important; height: 48px !important; padding: 0 18px !important; font-size: 14px !important; }
	body.home .vh-hero { margin-top: 0; }
	body.home:not(.vh-scrolled) #vasini-header { background-color: #ede9e0 !important; }
	.vh-hero { min-height: 0 !important; padding: 70px 0 0 !important; }
	.vh-hero::after { background: linear-gradient(to bottom, rgba(237,233,224,.85), rgba(237,233,224,.6)); }
	.vh-hero-title .elementor-heading-title { font-size: 35px !important; line-height: 40px !important; }
	.vh-hero-title .l3 { font-size: 25px !important; line-height: 32px !important; }
	.vh-hero-text { font-size: 17px !important; }
	.vh-hero-cup { position: relative !important; left: auto !important; right: auto; top: auto !important; margin: 40px auto 0 !important; display: flex; justify-content: center; width: 100% !important; }
	.vh-hero-cup img { width: 240px !important; height: 483px !important; }
	.vh-process-title .elementor-heading-title,
	.vh-products-title .elementor-heading-title,
	.vh-why-heading .elementor-heading-title { font-size: 30px !important; line-height: 37px !important; }
	.vh-conn { display: none; }
	.vh-step-title .elementor-heading-title { font-size: 18px !important; line-height: 27px !important; }
	.vh-step-desc { font-size: 17px !important; line-height: 26px !important; }
	.vh-cards > .elementor-container { flex-wrap: wrap; justify-content: center; }
	.vh-card { flex: 0 1 calc(50% - 12px); max-width: 360px !important; }
	.vh-why-cards > .elementor-container { flex-direction: column; align-items: center; }
	.vh-why-card { flex: 0 0 auto; width: 100% !important; max-width: 560px !important; }
	.vh-quienes { min-height: 0 !important; }
	.vh-quienes > .elementor-container { flex-direction: column; }
	.vh-quienes > .elementor-container > .elementor-column { width: 100% !important; }
	.vh-q-media { min-height: 520px !important; }
	.vh-q-cup { left: 50% !important; transform: translateX(-50%); top: 20px !important; }
	.vh-q-cup img { width: 552px !important; height: 410px !important; }
	.vh-q-shadow { display: none; }
	.vh-quienes > .elementor-container > .elementor-column:last-child { padding: 20px 0 70px !important; }
	.vh-footer > .elementor-container { flex-wrap: wrap; }
	.vh-footer > .elementor-container > .elementor-column { width: 50% !important; margin-bottom: 36px; }
}

/* phone (<=767) */
@media (max-width: 767px) {
	.vh-header > .elementor-container { flex-wrap: nowrap; align-items: center; }
	.vh-header > .elementor-container > .elementor-column { width: auto !important; padding: 0 !important; }
	.vh-header > .elementor-container > .elementor-column:nth-child(2) { margin-left: auto !important; }
	.vh-header > .elementor-container > .elementor-column:nth-child(3) { display: none; }
	.vh-logo img { width: 160px !important; }
	.vh-hero { padding-top: 48px !important; }
	.vh-hero-title .elementor-heading-title { font-size: 26px !important; line-height: 31px !important; }
	.vh-hero-title .l3 { font-size: 19px !important; line-height: 25px !important; }
	.vh-hero-text { font-size: 16px !important; line-height: 26px !important; }
	.vh-btn-hero1, .vh-btn-hero2 { margin-top: 24px !important; }
	.vh-btn-hero1 .elementor-button, .vh-btn-hero2 .elementor-button { height: 54px !important; font-size: 15px !important; }
	.vh-btn-hero1 .elementor-button { width: 300px !important; }
	.vh-process-head { padding-top: 40px !important; }
	.vh-eyebrow .elementor-heading-title { font-size: 16px !important; line-height: 40px !important; }
	.vh-process-title { margin-top: 0 !important; }
	.vh-process-title .elementor-heading-title,
	.vh-products-title .elementor-heading-title,
	.vh-why-heading .elementor-heading-title { font-size: 22px !important; line-height: 28px !important; }
	.vh-steps { padding: 30px 0 60px !important; }
	.vh-steps-spacer { display: none; }
	.vh-steps .elementor-column:not(.vh-steps-spacer) { margin-bottom: 44px; }
	.vh-step-title { margin-top: 24px !important; }
	.vh-products { padding: 60px 0 70px !important; }
	.vh-products-sub { font-size: 17px !important; }
	.vh-cards { margin-top: 36px !important; }
	.vh-card { flex: 0 0 100%; max-width: 360px !important; }
	.vh-btn-cta { margin-top: 40px !important; }
	.vh-btn-cta .elementor-button { width: 100% !important; max-width: 340px !important; height: 62px !important; font-size: 16px !important; }
	.vh-why { padding: 60px 0 !important; }
	.vh-why-sub { font-size: 17px !important; line-height: 28px !important; }
	.vh-why-card > .elementor-widget-wrap { padding: 24px 20px 24px 104px !important; }
	.vh-why-icon { left: 22px !important; top: 26px !important; }
	.vh-why-icon img { width: 60px !important; height: auto !important; }
	.vh-why-title .elementor-heading-title { font-size: 17px !important; line-height: 26px !important; }
	.vh-why-desc { font-size: 16px !important; line-height: 24px !important; }
	.vh-q-media { min-height: 420px !important; }
	.vh-q-cup img { width: 460px !important; height: 342px !important; }
	.vh-q-title .elementor-heading-title { font-size: 30px !important; }
	.vh-q-text { font-size: 17px !important; line-height: 32px !important; }
	.vh-footer { padding: 56px 0 40px !important; }
	.vh-footer > .elementor-container > .elementor-column { width: 100% !important; }
	.vh-flogo { margin-left: 0 !important; }
	.vh-ftag { text-align: left; }
	.vh-copy { font-size: 15px !important; }
}


/* ══ SHOP + PRODUCT PAGES (Figma frames 30:2 and 47:508 @1920) ══════════════ */

body { overflow-x: clip; }
.vs-wrap { width: calc(100% - 48px); max-width: 1630px; margin-left: auto; margin-right: auto; }

.vs-btn, .vasini-btn { display: inline-flex; align-items: center; justify-content: center; width: 292px; height: 64px; background: #62815d; border-radius: 10px; font: 800 17px/33px Montserrat, sans-serif; color: #fff !important; text-decoration: none; transition: filter .25s ease, transform .25s ease, box-shadow .25s ease; }
.vs-btn:hover, .vasini-btn:hover { filter: brightness(1.08); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0,0,0,.15); }

.vs-crumb { margin: 0; font: 400 17px/73px Poppins, sans-serif; color: #000; }
.vs-crumb a { color: #000; text-decoration: none; transition: color .2s ease; }
.vs-crumb a:hover { color: #62815d; }
.vs-crumb strong { font-weight: 700; color: #62815d; text-decoration: underline; text-underline-offset: 4px; }

/* hero (frame 0..746; header takes the first 149px) */
.vs-shop-hero { position: relative; z-index: 1; height: 597px; background: #ede9e0; overflow-x: clip; }
.vs-shop-hero .vs-wrap { position: relative; z-index: 2; padding-top: 43px; }
.vs-shop-title { margin: 33px 0 0; max-width: 823px; font: 700 50px/56px Poppins, sans-serif; color: #62815d; }
.vs-shop-desc { margin: 21px 0 0; max-width: 767px; font: 500 18px/34px Poppins, sans-serif; color: #2e2e2e; }
.vs-collage { position: absolute; left: 50%; top: 0; width: 0; height: 100%; z-index: 1; pointer-events: none; }
.vs-collage img { position: absolute; max-width: none; height: auto; }
.vs-c-bucket { left: 124px; top: -45px; width: 591px; height: 617px !important; }
.vs-c-glass { left: 503px; top: 166px; width: 462px; height: 462px !important; object-fit: cover; }
.vs-c-cup { left: 441px; top: 133px; width: 380px; height: 571px !important; object-fit: cover; }
.vs-c-wine { left: 40px; top: 217px; width: 237px; height: 355px !important; object-fit: cover; }
.vs-c-wine--darken { mix-blend-mode: darken; }
.vs-c-wine--fade { opacity: .56; }

/* category tabs (y 838, 5 × 316×78) */
.vs-tabs { display: flex; gap: 12.75px; margin-top: 92px; }
.vs-tab { flex: 1 1 0; height: 78px; display: flex; align-items: center; justify-content: center; text-align: center; padding: 0 10px; background: #f9f9f9; border-radius: 9px; font: 500 17px/20px Poppins, sans-serif; color: #000; text-decoration: none; transition: background-color .2s ease, color .2s ease; }
.vs-tab:hover { background: #ede9e0; color: #000; }
.vs-tab.is-active { background: #3b4d48; color: #fff; }

/* product grid (cards 394×390, 18px gutters, 559px row pitch) */
.vs-grid-wrap { margin-top: 60px; padding-bottom: 91px; }
.vs-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 394px); column-gap: 18px; row-gap: 52px; justify-content: space-between; }
.vs-card__link { display: block; text-align: center; text-decoration: none; }
.vs-card__box { position: relative; display: flex; align-items: center; justify-content: center; height: 390px; background: #f8f7f4; border-radius: 14px; overflow: hidden; transition: transform .3s ease, box-shadow .3s ease; }
.vs-card__img { width: 340px !important; height: 340px !important; object-fit: contain; transition: transform .4s ease; }
.vs-card__badge { position: absolute; top: 22px; right: 0; z-index: 1; width: 113px; height: 33px; background: #3b4d48; border-radius: 8px 0 0 8px; font: 500 16px/31px Poppins, sans-serif; color: #fff; }
.vs-card__title { display: block; font: 700 20px/64px Poppins, sans-serif; color: #32393e; }
.vs-card__price { display: flex; width: fit-content; align-items: center; justify-content: center; min-width: 143px; height: 40px; margin: -13px auto 0; padding: 0 6px; background: #62815d; border-radius: 6px; font: 400 18px/33px Poppins, sans-serif; color: #fff; white-space: nowrap; transition: background-color .2s ease; }
.vs-card__price .amount, .vs-card__price bdi { color: inherit; font: inherit; }
.vs-card__link:hover .vs-card__box { transform: translateY(-6px); box-shadow: 0 16px 34px rgba(0,0,0,.12); }
.vs-card__link:hover .vs-card__img { transform: scale(1.05); }
.vs-card__link:hover .vs-card__price { background: #3b4d48; }
.vs-empty { font: 500 17px/27px Poppins, sans-serif; color: #4e4e4e; text-align: center; padding: 60px 0; }
.vs-grid-wrap .woocommerce-pagination { margin-top: 50px; text-align: center; }
.vs-grid-wrap .woocommerce-pagination ul { display: inline-flex; gap: 8px; border: 0 !important; }
.vs-grid-wrap .woocommerce-pagination li { border: 0 !important; }
.vs-grid-wrap .woocommerce-pagination a, .vs-grid-wrap .woocommerce-pagination span { display: inline-flex !important; align-items: center; justify-content: center; min-width: 44px; height: 44px; border-radius: 8px; background: #f8f7f4; color: #252a24; font: 600 16px Poppins, sans-serif; }
.vs-grid-wrap .woocommerce-pagination .current { background: #3b4d48 !important; color: #fff !important; }

/* promo (cream panel 1776×755 flush right; photo 1096×660 at x -174) */
.vs-promo { position: relative; height: 755px; margin-left: calc(50% - 816px); background: #ede9e0; }
.vs-promo__img { position: absolute; left: -318px; top: 95px; width: 1096px; height: 660px; max-width: none; object-fit: cover; }
.vs-promo__text { position: absolute; left: 842px; top: 55px; width: 767px; }
.vs-promo__text h2 { margin: 0; max-width: 752px; font: 700 43px/59px Poppins, sans-serif; color: #3b4d48; }
.vs-promo__text p { margin: 9px 0 0; font: 500 18px/34px Poppins, sans-serif; color: #2e2e2e; }
.vs-promo__text .vs-btn { margin-top: 25px; }

/* clients */
.vs-clients { width: calc(100% - 48px); max-width: 1643px; margin: 111px 0 0 max(24px, calc(50% - 827px)); padding-bottom: 85px; }
.vs-clients__title { margin: 0 0 0 11px; font: 700 37px/61px Poppins, sans-serif; color: #3b4d48; }
.vs-clients__logos { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 39px; }
.vs-clients__logos img { max-width: 100%; height: auto; filter: grayscale(.15); transition: filter .25s ease, transform .25s ease; }
.vs-clients__logos img:hover { filter: none; transform: translateY(-3px); }

/* ── product detail ── */
.vs-pd-wrap { padding-top: 33px; }
.vs-pd { display: grid; grid-template-columns: 794px minmax(0, 1fr); column-gap: 36px; margin-top: 6px; }
.vs-pd__main { height: 734px; display: flex; align-items: center; justify-content: center; background: #f8f7f4; border-radius: 20px; overflow: hidden; }
.vs-pd__main-img { width: 600px !important; height: 600px !important; object-fit: contain; }
.vs-pd__thumbs { display: flex; gap: 20px; margin-top: 34px; }
.vs-pd__thumb { width: 143px; height: 142px; padding: 12px; background: #f8f7f4; border: 2px solid transparent; border-radius: 20px; cursor: pointer; transition: border-color .2s ease, transform .2s ease; }
.vs-pd__thumb img { width: 100%; height: 100%; object-fit: contain; }
.vs-pd__thumb:hover { transform: translateY(-3px); }
.vs-pd__thumb.is-active { border-color: #62815d; }
.vs-pd__panel { max-width: 785px; }
.vs-pd__title { margin: -22px 0 0; font: 700 39px/61px Poppins, sans-serif; color: #62815d; }
.vs-pd__catalog { display: inline-flex; align-items: center; gap: 8px; margin-top: 8px; font: 500 15px/20px Poppins, sans-serif; color: #333; text-decoration: none; transition: color .2s ease; }
.vs-pd__catalog:hover { color: #62815d; }
.vs-pd form.cart { margin-top: 43px !important; margin-bottom: 0 !important; }
.vs-pd table.variations, .vs-pd table.variations tbody, .vs-pd table.variations tr, .vs-pd table.variations th, .vs-pd table.variations td { display: block; border: 0; padding: 0; margin: 0; background: none; }
.vs-pd table.variations { margin-bottom: 0 !important; }
.vs-pd table.variations th.label { line-height: 24px !important; padding: 0 !important; }
.vs-pd table.variations th.label label { display: block; margin: 0; font: 600 16px/24px Poppins, sans-serif; color: #333; }
.vs-pd table.variations td.value { line-height: normal !important; padding: 0 !important; }
.vs-pd table.variations th.label label::before { content: "1. "; }
.vs-pd table.variations th.label label::after { content: "*"; }
.vs-pd table.variations .reset_variations { display: none !important; }
.vs-opts { display: flex; flex-wrap: wrap; gap: 10px; max-width: 741px; margin-top: 14px; }
.vs-opts__select { display: none !important; }
.vs-opt { min-width: 92px; height: 50px; padding: 0 18px; border: 1.5px solid #d8d2c4; border-radius: 10px; background: #f8f7f4; font: 600 16px Poppins, sans-serif; color: #252a24; cursor: pointer; transition: border-color .2s, background .2s, color .2s; }
.vs-opt:hover { border-color: #62815d; }
.vs-opt.is-active { background: #3b4d48; border-color: #3b4d48; color: #fff; }
.vs-opt:focus-visible { outline: 2px solid #62815d; outline-offset: 2px; }
.vs-hint { margin: 12px 0 0; font: 400 13px/20px Poppins, sans-serif; color: #555; }
.vs-acc { max-width: 741px; margin-top: 44px; border-bottom: 1px solid #a9a9a9; }
.vs-acc__head { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 0 0 14px; border: 0; background: none; font: 600 16px/24px Poppins, sans-serif; color: #333; cursor: pointer; text-align: left; }
.vs-acc__head svg { flex: none; transition: transform .25s ease; }
.vs-acc.is-open .vs-acc__head svg { transform: rotate(180deg); }
.vs-acc__body { display: none; padding: 0 0 18px; font: 400 15px/26px Poppins, sans-serif; color: #4e4e4e; }
.vs-acc__body p { margin: 0 0 10px; }
.vs-acc__body a { color: #62815d; font-weight: 600; }
.vs-acc.is-open .vs-acc__body { display: block; }
.vs-pd .single_variation_wrap { max-width: 741px; margin-top: 60px; padding: 48px 33px 34px; background: #f8f7f4; border-radius: 10px; box-shadow: 0 -8px 16px -10px rgba(0,0,0,.12); }
.vs-pricebox__head > span { display: block; font: 700 17px/25px Poppins, sans-serif; color: #333; }
.vs-pricebox__head strong { display: block; font: 700 17px/26px Poppins, sans-serif; color: #333; }
.vs-pricebox__head .amount { color: inherit; }
.vs-pd .woocommerce-variation-description:empty { display: none; }
.vs-pd .woocommerce-variation-price { display: flex; align-items: baseline; justify-content: space-between; margin-top: 18px; padding-top: 16px; border-top: 1px solid #e2ddd1; font: 700 17px Poppins, sans-serif; color: #252a24; }
.vs-pd .woocommerce-variation-price::before { content: "Total del pack"; }
.vs-pd .woocommerce-variation-price .price { font-size: 19px; color: #3b4d48; }
.vs-pd .woocommerce-variation-add-to-cart { display: flex; align-items: center; gap: 12px; margin-top: 18px; }
.vs-pd .variations_form .quantity { display: none !important; }
.vs-pd .single_add_to_cart_button.button { min-width: 80px; height: 49px; padding: 0 22px !important; border: 0 !important; border-radius: 25px !important; background: #e8d088 !important; color: #333 !important; font: 600 15px Poppins, sans-serif !important; transition: filter .2s ease, transform .2s ease; }
.vs-pd .single_add_to_cart_button.button:hover { filter: brightness(.95); transform: translateY(-2px); }
.vs-pd .single_add_to_cart_button.disabled { opacity: .6; cursor: not-allowed; }
.vs-grid-wrap--related { margin-top: 236px; }

/* laptops */
@media (max-width: 1700px) {
	.vs-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.vs-card__box { height: auto; aspect-ratio: 394 / 390; }
	.vs-card__img { width: 86% !important; height: 86% !important; }
	.vs-collage { transform: scale(.8); transform-origin: 0 0; left: calc(50% + 40px); }
	.vs-promo__text { left: auto; right: 24px; width: min(767px, calc(100% - 640px)); }
	.vs-promo__img { left: calc(-1 * (50vw - 816px) - 174px); }
	.vs-pd { grid-template-columns: minmax(0, 794px) minmax(0, 1fr); }
	.vs-pd__main { height: auto; aspect-ratio: 794 / 734; }
	.vs-pd__main-img { width: 80% !important; height: 80% !important; }
}
@media (max-width: 1400px) {
	.vs-shop-title { font-size: 42px; line-height: 49px; max-width: 640px; }
	.vs-shop-desc { font-size: 17px; line-height: 31px; max-width: 600px; }
	.vs-collage { transform: scale(.66); left: calc(50% + 60px); }
	.vs-card__title { font-size: 18px; line-height: 57px; }
	.vs-promo { margin-left: 24px; }
	.vs-promo__img { left: -24px; width: 52%; }
	.vs-promo__text { width: 44%; }
	.vs-promo__text h2 { font-size: 32px; line-height: 41px; }
	.vs-promo__text p { font-size: 17px; line-height: 31px; }
}

/* tablet */
@media (max-width: 1024px) {
	.vs-shop-hero { height: auto; padding-bottom: 40px; }
	.vs-collage { position: relative; left: auto; width: 100%; height: 360px; transform: none; margin-top: 10px; }
	.vs-collage img { display: none; }
	.vs-collage .vs-c-bucket { display: block; left: 50%; top: 0; transform: translateX(-50%); width: 345px; height: 360px !important; }
	.vs-shop-title { font-size: 35px; line-height: 40px; }
	.vs-tabs { flex-wrap: wrap; margin-top: 40px; }
	.vs-tab { flex: 1 1 calc(33.33% - 10px); height: 60px; font-size: 16px; }
	.vs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vs-promo { height: auto; margin-left: 0; padding: 0 0 60px; }
	.vs-promo__img { position: static; width: 100%; height: 420px; }
	.vs-promo__text { position: static; width: auto; padding: 40px 24px 0; }
	.vs-clients__title { font-size: 27px; line-height: 38px; margin-left: 0; }
	.vs-clients__logos { flex-wrap: wrap; justify-content: center; gap: 30px 40px; }
	.vs-clients__logos img { max-width: 40%; }
	.vs-pd { grid-template-columns: 1fr; row-gap: 50px; }
	.vs-pd__title { margin-top: 0; font-size: 30px; line-height: 38px; }
}

/* phone */
@media (max-width: 767px) {
	.vs-crumb { font-size: 16px; line-height: 50px; }
	.vs-shop-hero .vs-wrap { padding-top: 16px; }
	.vs-shop-title { margin-top: 10px; font-size: 26px; line-height: 31px; }
	.vs-shop-desc { font-size: 16px; line-height: 28px; }
	.vs-collage { height: 260px; }
	.vs-collage .vs-c-bucket { width: 250px; height: 261px !important; }
	.vs-tab { flex-basis: calc(50% - 7px); height: 52px; font-size: 14px; }
	.vs-grid { column-gap: 14px; row-gap: 32px; }
	.vs-card__title { font-size: 16px; line-height: 47px; }
	.vs-card__price { min-width: 0; height: 34px; margin-top: -6px; font-size: 16px; }
	.vs-card__badge { width: 90px; height: 28px; top: 12px; font-size: 13px; line-height: 28px; }
	.vs-promo__img { height: 280px; }
	.vs-promo__text h2 { font-size: 24px; line-height: 31px; }
	.vs-promo__text p { font-size: 16px; line-height: 28px; }
	.vs-clients { margin-top: 60px; padding-bottom: 50px; }
	.vs-clients__title { font-size: 21px; line-height: 28px; }
	.vs-clients__logos img { max-width: 44%; }
	.vs-pd__thumbs { gap: 10px; }
	.vs-pd__thumb { width: 80px; height: 80px; border-radius: 12px; padding: 6px; }
	.vs-pd__title { font-size: 24px; line-height: 31px; }
	.vs-stepper { width: 100%; max-width: 320px; }
	.vs-pd .single_variation_wrap { padding: 30px 22px 26px; }
	.vs-grid-wrap--related { margin-top: 70px; }
}


/* ══ BLOG / POSTS / 404 (same language as the Figma shop page) ═════════════ */

.vs-page-hero { background: #ede9e0; padding: 43px 0 80px; }
.vs-page-hero .vs-shop-title { margin-top: 20px; }
.vs-blog { padding: 80px 0 120px; }
.vs-blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 30px; }
.vs-post-card__link { display: flex; flex-direction: column; height: 100%; background: #f8f7f4; border-radius: 20px; overflow: hidden; text-decoration: none; transition: transform .3s ease, box-shadow .3s ease; }
.vs-post-card__link:hover { transform: translateY(-6px); box-shadow: 0 16px 34px rgba(0,0,0,.1); }
.vs-post-card__img { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #ede9e0; }
.vs-post-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.vs-post-card__link:hover .vs-post-card__img img { transform: scale(1.05); }
.vs-post-card__body { display: flex; flex-direction: column; flex: 1; padding: 28px 30px 32px; }
.vs-post-card__meta { font: 600 14px/20px Poppins, sans-serif; color: #62815d; text-transform: uppercase; letter-spacing: .02em; }
.vs-post-card__title { margin-top: 12px; font: 700 18px/26px Poppins, sans-serif; color: #252a24; }
.vs-post-card__excerpt { margin-top: 12px; font: 400 16px/27px Poppins, sans-serif; color: #4e4e4e; }
.vs-post-card__more { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 22px; font: 700 15px/20px Poppins, sans-serif; color: #62815d; }
.vs-post-card__more svg { transition: transform .25s ease; }
.vs-post-card__link:hover .vs-post-card__more svg { transform: translateX(4px); }
.vs-blog-pagination { margin-top: 60px; text-align: center; }
.vs-blog-pagination .nav-links { display: inline-flex; gap: 8px; }
.vs-blog-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; border-radius: 8px; background: #f8f7f4; color: #252a24; font: 600 16px Poppins, sans-serif; text-decoration: none; }
.vs-blog-pagination .page-numbers.current { background: #3b4d48; color: #fff; }

.vs-page-hero--post { padding-bottom: 60px; }
.vs-post-meta { margin: 20px 0 0; font: 600 15px/22px Poppins, sans-serif; color: #62815d; text-transform: uppercase; }
.vs-post-title { margin: 12px 0 0; max-width: 1100px; font: 700 37px/45px Poppins, sans-serif; color: #252a24; }
.vs-post { width: calc(100% - 48px); max-width: 1000px; margin: 0 auto; padding-bottom: 100px; }
.vs-post__cover { margin-top: -10px; position: relative; top: 0; }
.vs-post__cover img { display: block; width: 100%; height: auto; max-height: 560px; object-fit: cover; border-radius: 20px; margin-top: 50px; }
.vs-post__content { max-width: 820px; margin: 50px auto 0; font: 400 17px/30px Poppins, sans-serif; color: #2d2d2d; }
.vs-post__content h2, .vs-post__content h3 { margin: 44px 0 14px; font-family: Poppins, sans-serif; font-weight: 700; color: #252a24; }
.vs-post__content h2 { font-size: 22px; line-height: 29px; }
.vs-post__content h3 { font-size: 18px; line-height: 26px; color: #3b4d48; }
.vs-post__content p { margin: 0 0 20px; }
.vs-post__content ul, .vs-post__content ol { margin: 0 0 24px; padding-left: 22px; }
.vs-post__content li { margin-bottom: 10px; }
.vs-post__content li::marker { color: #62815d; }
.vs-post__content strong { color: #252a24; }
.vs-post__content a { color: #62815d; font-weight: 600; }
.vs-post-cta { display: flex; align-items: center; justify-content: space-between; gap: 30px; max-width: 820px; margin: 60px auto 0; padding: 40px 44px; background: #3b4d48; border-radius: 20px; color: #fff; }
.vs-post-cta h2 { margin: 0; font: 700 21px/28px Poppins, sans-serif; color: #fff; }
.vs-post-cta p { margin: 8px 0 0; font: 400 16px/26px Poppins, sans-serif; color: #dfe6dc; }
.vs-post-cta .vs-btn { flex: none; }
.vs-more-posts { padding: 20px 0 120px; }
.vs-more-posts__title { margin: 0 0 40px; font: 700 32px/39px Poppins, sans-serif; color: #252a24; }

.vs-404 { padding: 80px 0 140px; text-align: center; }
.vs-404 .vs-shop-title, .vs-404 .vs-shop-desc { margin-left: auto; margin-right: auto; }
.vs-404__code { margin: 0; font: 800 90px/1 Montserrat, sans-serif; color: #62815d; opacity: .25; }
.vs-404__actions { display: flex; justify-content: center; gap: 20px; margin-top: 40px; flex-wrap: wrap; }
.vs-btn--ghost { background: #fff; color: #011b4b !important; border: 1px solid #011b4b; }

@media (max-width: 1024px) {
	.vs-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vs-post-title { font-size: 29px; line-height: 36px; }
	.vs-post-cta { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 767px) {
	.vs-page-hero { padding: 16px 0 50px; }
	.vs-blog { padding: 50px 0 80px; }
	.vs-blog-grid { grid-template-columns: 1fr; }
	.vs-post-title { font-size: 22px; line-height: 29px; }
	.vs-post__content { font-size: 16px; line-height: 28px; }
	.vs-post-cta { padding: 30px 24px; }
	.vs-more-posts__title { font-size: 22px; line-height: 29px; }
	.vs-404__code { font-size: 65px; }
}

/* WooCommerce utility pages (cart / checkout / account) */
.vs-page-hero--slim { padding-bottom: 50px; }
.vs-page-title { margin: 10px 0 0; font: 700 40px/47px Poppins, sans-serif; color: #252a24; }
.vs-wc-page { padding: 70px 0 120px; font-family: Poppins, sans-serif; }
.vs-wc-page .woocommerce { font-size: 16px; }
@media (max-width: 767px) { .vs-page-title { font-size: 25px; line-height: 31px; } .vs-wc-page { padding: 40px 0 80px; } }
.vs-wc-page a:not(.button):not(.remove) { color: #3b4d48; font-weight: 600; text-decoration: none; }
.vs-wc-page a:not(.button):not(.remove):hover { color: #62815d; }
.vs-wc-page table.cart td.product-thumbnail img { width: 72px !important; height: 72px; object-fit: contain; background: #f8f7f4; border-radius: 10px; }
.vs-wc-page .coupon #coupon_code { width: 220px !important; height: 46px; border: 1px solid #d8d8d2; border-radius: 8px; padding: 0 14px; margin-right: 8px; }
.vs-wc-page table.cart td.product-quantity input.qty { width: 70px; height: 42px; border: 1px solid #d8d8d2; border-radius: 8px; text-align: center; }
.page-id-46 .elementor-widget-image img { border-radius: 20px; }

/* ══ COOKIE BANNER (Complianz) — brand skin ═════════════════════════════════ */
.cmplz-cookiebanner {
	--cmplz_banner_background_color: #ede9e0;
	--cmplz_banner_border_color: #d8d2c4;
	--cmplz_banner_border_radius: 20px;
	--cmplz_text_color: #252a24;
	--cmplz_hyperlink_color: #62815d;
	--cmplz_button_border_radius: 8px;
	--cmplz_button_accept_background_color: #62815d;
	--cmplz_button_accept_border_color: #62815d;
	--cmplz_button_accept_text_color: #fff;
	--cmplz_button_deny_background_color: #fff;
	--cmplz_button_deny_border_color: #3b4d48;
	--cmplz_button_deny_text_color: #3b4d48;
	--cmplz_button_settings_background_color: transparent;
	--cmplz_button_settings_border_color: #3b4d48;
	--cmplz_button_settings_text_color: #3b4d48;
	--cmplz_slider_active_color: #62815d;
	--cmplz_category_header_always_active_color: #62815d;
	font-family: Poppins, sans-serif !important;
	box-shadow: 0 18px 50px rgba(0,0,0,.18) !important;
}
.cmplz-cookiebanner .cmplz-title { font-weight: 700 !important; }
.cmplz-cookiebanner .cmplz-btn { font-weight: 600 !important; font-family: Poppins, sans-serif !important; }
#cmplz-manage-consent .cmplz-manage-consent { background: #3b4d48 !important; color: #fff !important; font-family: Poppins, sans-serif; }

/* Header actions: mini-cart + quote button */
.vh-header-actions > .elementor-widget-wrap { justify-content: flex-end; align-items: center; gap: 22px; flex-wrap: nowrap; }
.vh-mcart .elementor-menu-cart__toggle .elementor-button { width: auto !important; height: auto !important; background: transparent !important; border: 0 !important; padding: 8px !important; color: #3b4d48 !important; }
.vh-mcart .elementor-menu-cart__toggle .elementor-button-icon { font-size: 21px; color: #3b4d48; }
.vh-mcart .elementor-menu-cart__toggle .elementor-button-text { display: none; }
.vh-mcart .elementor-button-icon-qty[data-counter] { background: #62815d !important; color: #fff !important; font: 700 11px Poppins, sans-serif; min-width: 20px; height: 20px; line-height: 20px; top: -6px; right: -8px; }
.vh-mcart .elementor-menu-cart__container .elementor-menu-cart__main { font-family: Poppins, sans-serif; background: #fff; }
.vh-mcart .elementor-menu-cart__product-name a { color: #252a24; font-weight: 600; }
.vh-mcart .elementor-menu-cart__product-price { color: #62815d; }
.vh-mcart .elementor-menu-cart__subtotal { font-weight: 700; color: #252a24; }
.vh-mcart .elementor-menu-cart__footer-buttons .elementor-button { border-radius: 8px; font: 700 15px Poppins, sans-serif; text-transform: uppercase; }
.vh-mcart .elementor-menu-cart__footer-buttons .elementor-button--view-cart { background: #fff; color: #3b4d48; border: 1.5px solid #3b4d48; }
.vh-mcart .elementor-menu-cart__footer-buttons .elementor-button--checkout { background: #62815d; color: #fff; }
.vh-mcart .elementor-menu-cart__close-button::before, .vh-mcart .elementor-menu-cart__close-button::after { background: #3b4d48; }
@media (max-width: 1024px) { .vh-header-actions > .elementor-widget-wrap { gap: 12px; } }

/* Mini-cart drawer: wider, editable quantities */
.vh-mcart { --cart-width: 440px; }
.vh-mcart .elementor-menu-cart__main { width: min(440px, 100vw) !important; max-width: 100vw; padding: 28px 28px 32px !important; }
.vh-mcart .elementor-menu-cart__product { grid-template-columns: 84px auto !important; padding: 18px 0 !important; border-bottom: 1px solid #ece8de; }
.vh-mcart .elementor-menu-cart__product-image img { width: 84px !important; height: 84px; object-fit: contain; background: #f8f7f4; border-radius: 10px; }
.vh-mcart .elementor-menu-cart__product-name { font-size: 16px; line-height: 1.4; }
.vh-mcart .elementor-menu-cart__product-name dl.variation { margin: 4px 0 0; font-size: 13px; color: #6b6b6b; }
.vh-mcart .elementor-menu-cart__product-price { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 10px; }
.vs-mc-qty { display: inline-flex; align-items: center; height: 36px; border: 1px solid #d8d2c4; border-radius: 8px; overflow: hidden; background: #fff; }
.vs-mc-qty__btn { width: 32px; height: 100%; border: 0; background: #f8f7f4; color: #3b4d48; font: 600 17px/1 Poppins, sans-serif; cursor: pointer; }
.vs-mc-qty__btn:hover { background: #ede9e0; }
.vs-mc-qty__input { width: 44px; height: 100%; border: 0; text-align: center; font: 600 15px Poppins, sans-serif; color: #252a24; -moz-appearance: textfield; }
.vs-mc-qty__input::-webkit-inner-spin-button, .vs-mc-qty__input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.vs-mc-line { font: 700 16px Poppins, sans-serif; color: #3b4d48; }
.vh-mcart .elementor-menu-cart__product-remove { width: 26px !important; height: 26px !important; border-color: #c9c3b5 !important; }
.vh-mcart .elementor-menu-cart__subtotal { font-size: 17px; padding: 20px 0 !important; }
.vh-mcart .elementor-menu-cart__footer-buttons { gap: 12px; }
.vh-mcart .elementor-menu-cart__footer-buttons .elementor-button { padding: 16px 10px !important; }
.vh-mcart .elementor-menu-cart__product-price { padding-right: 38px; }
.vh-mcart .elementor-menu-cart__product-remove { top: auto !important; bottom: 20px; right: 0; }
.vs-pd .woocommerce-variation-price .price, .vs-pd .woocommerce-variation-price .amount { color: #3b4d48 !important; }

/* Checkout: theme Bootstrap's .col-1/.col-2 grid classes collide with WooCommerce's — restore WC two-column layout */
.woocommerce .col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; width: 100%; }
.woocommerce .col2-set::before, .woocommerce .col2-set::after { display: none; }
.woocommerce .col2-set .col-1, .woocommerce .col2-set .col-2 { width: auto !important; max-width: none !important; flex: none !important; float: none !important; padding: 0 !important; }
.vs-wc-page form.checkout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 0 60px; align-items: start; }
.vs-wc-page form.checkout > .woocommerce-NoticeGroup, .vs-wc-page form.checkout > .wc-block-components-notices { grid-column: 1 / -1; }
.vs-wc-page form.checkout #customer_details { grid-column: 1; grid-row: 1 / span 3; }
.vs-wc-page form.checkout .col2-set { grid-template-columns: 1fr; gap: 30px; }
.vs-wc-page form.checkout #order_review_heading, .vs-wc-page form.checkout #order_review { grid-column: 2; }
.vs-wc-page #order_review { background: #f8f7f4; border-radius: 20px; padding: 28px; }
.vs-wc-page .woocommerce-billing-fields h3, .vs-wc-page .woocommerce-additional-fields h3, .vs-wc-page #order_review_heading { font: 700 20px/26px Poppins, sans-serif; color: #252a24; margin: 0 0 20px; }
.vs-wc-page .form-row input.input-text, .vs-wc-page .form-row textarea, .vs-wc-page .form-row select, .vs-wc-page .select2-container .select2-selection--single { width: 100% !important; height: 50px; border: 1px solid #d8d2c4; border-radius: 8px; padding: 0 14px; font: 400 16px Poppins, sans-serif; background: #fff; }
.vs-wc-page .form-row textarea { height: 120px; padding: 12px 14px; }
.vs-wc-page .select2-container .select2-selection--single .select2-selection__rendered { line-height: 48px; padding-left: 0; }
.vs-wc-page .select2-container .select2-selection--single .select2-selection__arrow { height: 48px; }
.vs-wc-page .form-row label { font: 600 14px/22px Poppins, sans-serif; color: #252a24; margin-bottom: 6px; }
.vs-wc-page .form-row-first, .vs-wc-page .form-row-last { width: 48% !important; }
.vs-wc-page #payment { background: transparent !important; }
.vs-wc-page #payment ul.payment_methods { border-bottom: 1px solid #e2ddd1 !important; padding: 0 0 16px !important; }
.vs-wc-page #payment ul.payment_methods li { font: 600 16px Poppins, sans-serif; padding: 10px 0; }
.vs-wc-page #payment div.payment_box { background: #fff !important; border-radius: 12px; }
.vs-wc-page #payment div.payment_box::before { border-bottom-color: #fff !important; }
.vs-wc-page #place_order { width: 100%; height: 60px; background: #62815d !important; border-radius: 10px !important; font: 800 17px Montserrat, sans-serif !important; text-transform: uppercase; }
@media (max-width: 1024px) {
	.vs-wc-page form.checkout { grid-template-columns: 1fr; }
	.vs-wc-page form.checkout #customer_details, .vs-wc-page form.checkout #order_review_heading, .vs-wc-page form.checkout #order_review { grid-column: 1; grid-row: auto; }
	.woocommerce .col2-set { grid-template-columns: 1fr; }
}
.vs-wc-page .form-row { display: block !important; margin: 0 0 18px !important; padding: 0 !important; }
.vs-wc-page .form-row label { display: block !important; }
.vs-wc-page .form-row .woocommerce-input-wrapper { display: block; width: 100%; }
.vs-wc-page .form-row-first { float: left; }
.vs-wc-page .form-row-last { float: right; }
.vs-wc-page .form-row-wide { clear: both; }
.vs-wc-page #billing_address_2_field label.screen-reader-text { display: none !important; }
.vs-wc-page #payment .payment_box .form-row label, .vs-wc-page #payment .payment_box input[type=checkbox] { display: inline-block !important; vertical-align: middle; margin: 0 6px 0 0; }

/* Legal pages */
.vs-legal { padding-top: 10px; }
.vs-legal .vs-post__content { font-size: 16px; line-height: 28px; }
.vs-legal__updated { color: #62815d; font-size: 15px; }
.vs-legal table { width: 100%; margin: 10px 0 24px; border-collapse: separate; border-spacing: 0; border: 1px solid #e2ddd1; border-radius: 12px; overflow: hidden; font-size: 15px; line-height: 24px; }
.vs-legal th { background: #3b4d48; color: #fff; text-align: left; padding: 12px 16px; font-weight: 600; }
.vs-legal td { padding: 12px 16px; border-top: 1px solid #e2ddd1; vertical-align: top; }
.vs-legal tr:nth-child(even) td { background: #f8f7f4; }
@media (max-width: 767px) { .vs-legal table, .vs-legal tbody, .vs-legal tr, .vs-legal td { display: block; } .vs-legal thead { display: none; } .vs-legal td:first-child { font-weight: 600; } }
.vh-legal-links { margin-left: 18px; }
.vh-legal-links a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.vh-legal-links a:hover { color: #e8d088; }
@media (max-width: 767px) { .vh-legal-links { display: block; margin: 6px 0 0; } }

/* Product description (live text) under the title */
.vs-pd__desc { max-width: 741px; margin: 26px 0 30px; font: 400 16px/27px Poppins, sans-serif; color: #4e4e4e; }
.vs-pd__desc h2, .vs-pd__desc > p:first-child { margin: 0 0 8px; font: 700 17px/26px Poppins, sans-serif; color: #252a24; }
.vs-pd__desc h3 { margin: 22px 0 8px; font: 700 17px/26px Poppins, sans-serif; color: #3b4d48; }
.vs-pd__desc p { margin: 0 0 12px; }

/* Simple products: unit quantity + price box */
.vs-simple-label { margin: 0 0 12px; font: 700 15px/24px Poppins, sans-serif; color: #252a24; }
.vs-pd form.cart:not(.variations_form) { display: block; }
.vs-pricebox--simple { max-width: 741px; }
.vs-simple-buy { display: flex; align-items: center; gap: 16px; margin-top: 22px; }
.vs-simple-buy .quantity input.qty { width: 110px; height: 49px; border: 1.5px solid #d8d2c4; border-radius: 10px; text-align: center; font: 600 16px Poppins, sans-serif; background: #fff; }
.vs-pd form.cart:not(.variations_form) + .vs-acc { margin-top: 34px; }
.vs-pd .single_variation_wrap.vs-pricebox--simple { margin-top: 0; }
.vs-acc--info { margin-top: 30px; } .vs-acc--info .vs-acc__body.vs-pd__desc { margin: 0; }

/* Blog post body: live inline images + CTA */
.vs-post__content .vs-post__img { margin: 36px 0; }
.vs-post__content .vs-post__img img { display: block; width: auto; max-width: 100%; max-height: 620px; height: auto; margin: 0 auto; border-radius: 16px; }
.vs-post__content a:has(> .vs-post__img) { display: block; }
.vs-post__content ul li { margin-bottom: 6px; }
.vs-post-btn { margin-top: 36px !important; }
.vs-post__content .vs-post-btn .vs-btn { color: #fff !important; text-decoration: none; }

/* Home product cards: real product photos */
.vh-card-img--product img { object-fit: contain !important; object-position: center !important; background: #f8f7f4; }
.vh-card-title a { color: inherit; }
.vh-card-from { font-size: 16px; font-weight: 500; }

/* No underlines on links anywhere */
a, a:hover, a:focus, a:active { text-decoration: none !important; }
.vh-card-title .elementor-heading-title { min-height: 50px; }

/* Complianz "Gestionar consentimiento" tab: bottom-left, fully visible, clear of the cart drawer */
#cmplz-manage-consent .cmplz-manage-consent { left: 20px !important; right: auto !important; bottom: 0 !important; transform: none !important; animation: none !important; }
/* Cart drawer below the WP admin bar when logged in */
.admin-bar .elementor-menu-cart__main { top: 32px !important; height: calc(100% - 32px) !important; }

/* ── Product page v2 (Figma "products details" 47:508) ───────────────────── */
.vs-pd__title { margin: -18px 0 0; font: 700 39px/61px Poppins, sans-serif; color: #62815d; }
.vs-pd__desc { max-width: 800px; margin: 0; font: 500 16px/26px Poppins, sans-serif; color: #5b5b5b; }
.vs-pd__desc h2, .vs-pd__desc > p:first-child { margin: 0 0 12px; font: 700 17px/27px Poppins, sans-serif; color: #343434; }
.vs-pd__desc p { margin: 0 0 4px; }
.vs-qty-label { margin: 26px 0 0; font: 700 17px/27px Poppins, sans-serif; color: #343434; text-transform: uppercase; }
.vs-pd form.cart { margin-top: 0 !important; }
.vs-pd table.variations th.label { display: none !important; }
.vs-opts { gap: 15px; max-width: 800px; margin-top: 14px; }
.vs-opt { min-width: 69px; height: 37px; padding: 0 9px; border: 0; border-radius: 5px; background: #f8f7f4; font: 600 17px/33px Poppins, sans-serif; color: #000; }
.vs-opt:hover { background: #ede9e0; }
.vs-opt.is-active { background: #62815d; color: #fff; }
.vs-pd .single_variation_wrap, .vs-pd .single_variation_wrap.vs-pricebox--simple { max-width: 800px; margin-top: 27px; padding: 22px 32px 36px; background: #f8f7f4; border-radius: 7px; box-shadow: none; }
.vs-pricebox__head { margin: 0; font: 500 16px/30px Poppins, sans-serif; color: #5b5b5b; }
.vs-pricebox__head strong, .vs-pricebox__head .amount { font: 700 19px/23px Poppins, sans-serif; color: #000 !important; }
.vs-pd .woocommerce-variation-description { display: none; }
.vs-pd .woocommerce-variation-price { margin-top: 6px; padding-top: 0; border: 0; justify-content: flex-start; gap: 8px; font: 500 16px/26px Poppins, sans-serif; color: #5b5b5b; }
.vs-pd .woocommerce-variation-price::before { content: "Total del pack:"; }
.vs-pd .woocommerce-variation-price .price, .vs-pd .woocommerce-variation-price .amount { font-size: 16px; font-weight: 700; color: #343434 !important; }
.vs-pd .woocommerce-variation-add-to-cart, .vs-simple-buy { margin-top: 18px; gap: 16px; }
.vs-pd .single_add_to_cart_button.button { display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-width: 193px; height: 64px; padding: 0 28px !important; border-radius: 10px !important; background: #62815d !important; color: #fff !important; font: 700 18px/1 Poppins, sans-serif !important; text-transform: uppercase; }
.vs-pd .single_add_to_cart_button.button::before { content: ""; width: 41px; height: 32px; background: url(assets/icon-buy.svg) center / contain no-repeat; }
.vs-pd .single_add_to_cart_button.button:hover { background: #3b4d48 !important; filter: none; }
.vs-simple-buy .quantity input.qty { height: 64px; }

.vs-pd-info { margin-top: 152px; background: #ede9e0; padding: 46px 0 76px; }
.vs-pd-info__inner { display: grid; grid-template-columns: 484px minmax(0, 1fr); column-gap: 125px; padding-left: 23px; }
.vs-pd-info__nav { display: flex; flex-direction: column; }
.vs-pd-info__title { margin: 0 0 4px; font: 700 21px/65px Poppins, sans-serif; color: #3b4d48; }
.vs-pd-info__tab { display: flex; align-items: center; gap: 22px; height: 80px; padding: 0 0 0 16px; border: 0; border-bottom: 1px solid #a9a9a9; background: none; text-align: left; font: 500 17px/1.3 Poppins, sans-serif; color: #4f4f4f; cursor: pointer; }
.vs-pd-info__tab:last-child { border-bottom: 0; }
.vs-pd-info__tab::before { content: ""; flex: none; width: 13px; height: 22px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12.5 22.1'%3E%3Cpath d='M12.1 12.1a1.5 1.5 0 0 0 0-2.1L2.6.4A1.5 1.5 0 0 0 .4 2.6l8.5 8.4-8.5 8.5a1.5 1.5 0 1 0 2.2 2.1z' fill='%234F4F4F'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform .2s ease; }
.vs-pd-info__tab.is-active { font-weight: 700; color: #434343; }
.vs-pd-info__tab:hover { color: #62815d; }
.vs-pd-info__panel { padding-top: 57px; font: 400 17px/31px Poppins, sans-serif; color: #000; }
.vs-pd-info__panel p { margin: 0 0 18px; }
.vs-pd-info__panel a { color: #62815d; font-weight: 600; }
.vs-grid-wrap--related { margin-top: 94px; }
.vs-related-title { margin: 0 0 22px; font: 700 43px/59px Poppins, sans-serif; color: #3b4d48; }
.vs-grid-wrap--related + * { margin-top: 0; }
@media (max-width: 1199px) {
	.vs-pd-info__inner { grid-template-columns: minmax(0, 360px) minmax(0, 1fr); column-gap: 50px; padding-left: 0; }
	.vs-pd-info { margin-top: 80px; }
}
@media (max-width: 767px) {
	.vs-pd-info__inner { grid-template-columns: 1fr; }
	.vs-pd-info__panel { padding-top: 24px; font-size: 16px; line-height: 28px; }
	.vs-pd-info__tab { height: 64px; font-size: 16px; }
	.vs-related-title { font-size: 27px; line-height: 38px; }
	.vs-pd .single_add_to_cart_button.button { min-width: 0; height: 54px; font-size: 17px !important; }
	.vs-opts { gap: 10px; }
}
.vs-pd .vs-pricebox__head strong { display: inline; } .vs-pd .single_variation:empty { display: none; }

/* ── Mobile / tablet header + menu (≤1024px) ─────────────────────────────── */
.vh-burger-wrap { display: none; }
.vh-burger { display: flex; flex-direction: column; justify-content: center; gap: 6px; width: 46px; height: 46px; padding: 0 11px; border: 0; border-radius: 10px; background: #62815d; cursor: pointer; }
.vh-burger span { display: block; height: 2px; border-radius: 2px; background: #fff; }
.vh-burger:hover, .vh-burger:focus-visible { background: #3b4d48; }
.vh-mnav { position: fixed; inset: 0; z-index: 100000; display: flex; flex-direction: column; padding: 18px 24px 32px; background: #ede9e0; overflow-y: auto; opacity: 0; transform: translateX(24px); transition: opacity .25s ease, transform .25s ease; }
.vh-mnav.is-open { opacity: 1; transform: none; }
.vh-mnav[hidden] { display: none; }
html.vh-mnav-open, html.vh-mnav-open body { overflow: hidden; }
.vh-mnav__top { display: flex; align-items: center; justify-content: space-between; }
.vh-mnav__logo img { display: block; width: 160px; height: auto; }
.vh-mnav__close { display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; border: 0; border-radius: 10px; background: #3b4d48; color: #fff; cursor: pointer; }
.vh-mnav__list { list-style: none; margin: 36px 0 0; padding: 0; }
.vh-mnav__list li { border-bottom: 1px solid rgba(59,77,72,.18); }
.vh-mnav__list a { display: flex; align-items: center; justify-content: space-between; padding: 18px 4px; font: 600 18px/1.2 Poppins, sans-serif; color: #282c2f; text-transform: uppercase; }
.vh-mnav__list a::after { content: "→"; font-weight: 400; color: #62815d; transition: transform .2s ease; }
.vh-mnav__list a:hover::after { transform: translateX(4px); }
.vh-mnav__list .current-menu-item > a, .vh-mnav__list a:hover { color: #62815d; }
.vh-mnav__cta { display: flex; align-items: center; justify-content: center; height: 58px; margin-top: 32px; border-radius: 10px; background: #62815d; font: 800 16px/1 Montserrat, sans-serif; color: #fff !important; text-transform: uppercase; }
.vh-mnav__cta:hover { background: #3b4d48; }
.vh-mnav__contact { display: flex; flex-direction: column; gap: 6px; margin: auto 0 0; padding-top: 32px; font: 500 16px/1.5 Poppins, sans-serif; }
.vh-mnav__contact a { color: #3b4d48; }
@media (max-width: 1024px) {
	.vh-header > .elementor-container { flex-wrap: nowrap !important; align-items: center; }
	.vh-header > .elementor-container > .elementor-column { width: auto !important; padding: 0 !important; }
	.vh-header > .elementor-container > .elementor-column > .elementor-widget-wrap { padding: 0 !important; }
	.vh-header > .elementor-container > .elementor-column:nth-child(2) { display: none !important; }
	.vh-header > .elementor-container > .elementor-column:nth-child(3) { display: flex !important; margin-left: auto !important; }
	.vh-header-actions > .elementor-widget-wrap { gap: 14px !important; }
	.vh-burger-wrap { display: block; }
	#vasini-header { padding: 12px 24px !important; }
	.vh-header > .elementor-container { padding: 0 !important; margin: 0 !important; width: 100% !important; max-width: none !important; }
}
@media (max-width: 767px) {
	.vh-header .vh-btn-header { display: none; }
	.vh-logo img { width: 150px !important; }
}

/* ── Contact Form 7 (contact page) ───────────────────────────────────────── */
.vs-cf7 p { margin: 0; }
.vs-cf7__row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.vs-cf7__field { margin-bottom: 18px !important; }
.vs-cf7__field label { display: block; margin-bottom: 6px; font: 600 14px/20px Poppins, sans-serif; color: #252a24; }
.vs-cf7 .wpcf7-form-control-wrap { display: block; }
.vs-cf7 input[type="text"], .vs-cf7 input[type="email"], .vs-cf7 input[type="tel"], .vs-cf7 textarea {
	width: 100%; padding: 13px 16px; border: 1.5px solid #d8d2c4; border-radius: 10px; background: #f8f7f4;
	font: 400 16px/24px Poppins, sans-serif; color: #252a24; transition: border-color .2s ease, background .2s ease; }
.vs-cf7 textarea { height: 150px; resize: vertical; }
.vs-cf7 input:focus, .vs-cf7 textarea:focus { outline: none; border-color: #62815d; background: #fff; }
.vs-cf7 ::placeholder { color: #8a8a8a; }
.vs-cf7__privacy { font: 400 14px/22px Poppins, sans-serif; color: #4e4e4e; }
.vs-cf7__privacy .wpcf7-list-item { margin: 0; }
.vs-cf7__privacy label { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; }
.vs-cf7__privacy input[type="checkbox"] { width: 18px; height: 18px; margin-top: 2px; accent-color: #62815d; flex: none; }
.vs-cf7__privacy a { color: #62815d; font-weight: 600; }
.vs-cf7__submit { position: relative; margin-top: 24px !important; }
.vs-cf7 .wpcf7-submit { min-width: 200px; height: 56px; padding: 0 36px; border: 0; border-radius: 10px; background: #62815d; color: #fff; font: 800 16px/1 Montserrat, sans-serif; letter-spacing: .02em; cursor: pointer; transition: background .2s ease; }
.vs-cf7 .wpcf7-submit:hover { background: #3b4d48; }
.vs-cf7 .wpcf7-submit:disabled { opacity: .55; cursor: not-allowed; }
.vs-cf7 .wpcf7-spinner { position: absolute; top: 18px; margin-left: 14px; }
.vs-cf7 .wpcf7-not-valid { border-color: #c0392b !important; }
.vs-cf7 .wpcf7-not-valid-tip { margin-top: 4px; font: 500 13px/18px Poppins, sans-serif; color: #c0392b; }
.vs-cf7 .wpcf7-response-output { margin: 20px 0 0 !important; padding: 12px 16px !important; border-radius: 10px; border-width: 1.5px !important; font: 500 14px/22px Poppins, sans-serif; }
.vs-cf7.sent .wpcf7-response-output { border-color: #62815d !important; background: #eef3ec; color: #3b4d48; }
@media (max-width: 767px) { .vs-cf7__row { grid-template-columns: 1fr; gap: 0; } }

/* "Gestionar consentimiento" tab only on the privacy and cookie policy pages */
#cmplz-manage-consent .cmplz-manage-consent { display: none !important; }
body.page-id-3 #cmplz-manage-consent .cmplz-manage-consent.cmplz-show,
body.page-id-369 #cmplz-manage-consent .cmplz-manage-consent.cmplz-show { display: block !important; }

/* ── Mobile fixes (review 2026-10-14) ────────────────────────────────────── */
@media (max-width: 767px) {
	/* Nosotros: desktop paddings (60px sides, 300px hero text inset) squeezed the content to 0 width */
	.page-id-46 .elementor-section.elementor-top-section, .page-id-48 .elementor-section.elementor-top-section { padding-left: 20px !important; padding-right: 20px !important; }
	.page-id-46 .elementor-column > .elementor-widget-wrap.elementor-element-populated, .page-id-48 .elementor-column:first-child > .elementor-widget-wrap.elementor-element-populated { padding-left: 0 !important; padding-right: 0 !important; }
	.page-id-48 .elementor-column:last-child > .elementor-widget-wrap.elementor-element-populated { padding: 28px 20px !important; }
	.page-id-46 h1.elementor-heading-title, .page-id-48 h1.elementor-heading-title { font-size: 27px !important; line-height: 1.15 !important; overflow-wrap: anywhere; }
	/* Product page: let the panel shrink (price box + buy row were forcing a 408px column) */
	.vs-pd { grid-template-columns: minmax(0, 1fr) !important; }
	.vs-pd .single_variation_wrap, .vs-pd .single_variation_wrap.vs-pricebox--simple { padding: 20px 18px 24px; }
	.vs-simple-buy, .vs-pd .woocommerce-variation-add-to-cart { flex-wrap: wrap; }
	.vs-simple-buy .quantity input.qty { width: 90px; }
	.vs-pd__main-img { width: 80% !important; height: auto !important; }
}

/* ── Header/footer without Elementor Pro ─────────────────────────────────── */
/* Sticky header (was Elementor Pro "Sticky"): the wrapper sticks, shadow comes from body.vh-scrolled */
.vh-site-header { position: sticky; top: 0; z-index: 1000; }
.admin-bar .vh-site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .vh-site-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .vh-site-header { top: 0; } }

/* Main menu (was Elementor Pro "Nav Menu") */
.vs-menu { display: flex; list-style: none; margin: 0; padding: 0; }
.vh-nav { justify-content: flex-end; gap: 56.5px; }
.vh-nav a { display: block; padding: 6px 0; font: 600 17px/1.2 Poppins, sans-serif; color: #282c2f; transition: color .2s ease; }
.vh-nav a:hover { color: #62815d; }
@media (max-width: 1280px) { .vh-nav { gap: 32px; } }
.vh-flinks-list { flex-direction: column; }
.vh-flinks-list a { position: relative; display: block; padding-left: 28px; font: 400 17px/38px Poppins, sans-serif; color: #fff; transition: color .2s ease; }
.vh-flinks-list a::before { content: ""; position: absolute; left: 0; top: 11px; width: 18px; height: 18px; background: url('/wp-content/uploads/2026/10/vasini-footer-arrow-active.svg') center / 18px no-repeat; transform: rotate(90deg); opacity: 0; transition: opacity .2s ease; }
.vh-flinks-list a:hover { color: #86ae7f; }
.vh-flinks-list .current-menu-item > a::before, .vh-flinks-list a:hover::before { opacity: 1; }

/* Cart icon (was Elementor Pro "Menu Cart") */
.vs-cart-toggle { position: relative; display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; padding: 0; border: 0; background: none; color: #3b4d48; cursor: pointer; transition: color .2s ease; }
.vs-cart-toggle:hover { color: #62815d; }
.vs-cart-count { position: absolute; top: 2px; right: 0; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 10px; background: #62815d; color: #fff; font: 700 11px/20px Poppins, sans-serif; text-align: center; }

/* Cart drawer */
.vs-cart-overlay { position: fixed; inset: 0; z-index: 99998; background: rgba(0,0,0,.45); opacity: 0; transition: opacity .3s ease; }
.vs-cart { position: fixed; top: 0; right: 0; bottom: 0; z-index: 99999; display: flex; flex-direction: column; width: min(440px, 100vw); padding: 24px 28px 28px; background: #fff; box-shadow: -10px 0 40px rgba(0,0,0,.15); font-family: Poppins, sans-serif; transform: translateX(100%); transition: transform .3s ease; overflow-y: auto; }
.vs-cart.is-open { transform: none; } .vs-cart-overlay.is-open { opacity: 1; }
.vs-cart[hidden], .vs-cart-overlay[hidden] { display: none; }
.admin-bar .vs-cart { top: 32px; }
html.vs-cart-open, html.vs-cart-open body { overflow: hidden; }
.vs-cart__head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 14px; border-bottom: 1px solid #ece8de; }
.vs-cart__title { margin: 0; font: 700 18px/1.2 Poppins, sans-serif; color: #252a24; }
.vs-cart__close { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 0; border-radius: 8px; background: #f8f7f4; color: #3b4d48; cursor: pointer; }
.vs-cart__close:hover { background: #ede9e0; }
.vs-cart .widget_shopping_cart_content { flex: 1; display: flex; flex-direction: column; }
.vs-cart .woocommerce-mini-cart { list-style: none; margin: 0; padding: 0; }
.vs-cart .woocommerce-mini-cart-item { position: relative; display: grid; grid-template-columns: 84px 1fr; column-gap: 16px; align-items: start; padding: 18px 34px 18px 0 !important; border-bottom: 1px solid #ece8de; }
.vs-cart .woocommerce-mini-cart-item > a:not(.remove) { display: contents; font: 600 16px/1.4 Poppins, sans-serif; color: #252a24; }
.vs-cart .woocommerce-mini-cart-item img { grid-row: 1 / span 3; width: 84px !important; height: 84px; margin: 0 !important; object-fit: contain; background: #f8f7f4; border-radius: 10px; float: none !important; }
.vs-cart .woocommerce-mini-cart-item dl.variation { grid-column: 2; margin: 4px 0 0; font-size: 13px; color: #6b6b6b; }
.vs-cart .woocommerce-mini-cart-item dl.variation dt, .vs-cart .woocommerce-mini-cart-item dl.variation dd, .vs-cart .woocommerce-mini-cart-item dl.variation p { display: inline; margin: 0; }
.vs-cart .woocommerce-mini-cart-item .quantity { grid-column: 2; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 10px; }
.vs-cart a.remove { position: absolute; top: 18px; right: 0; display: flex !important; align-items: center; justify-content: center; width: 26px; height: 26px; border: 1px solid #c9c3b5; border-radius: 50%; color: #8a8a8a !important; font-size: 17px; line-height: 1; }
.vs-cart a.remove:hover { background: #c0392b; border-color: #c0392b; color: #fff !important; }
.vs-cart .woocommerce-mini-cart__total { display: flex; justify-content: space-between; margin: 0; padding: 20px 0; border-bottom: 1px solid #ece8de; font: 700 17px Poppins, sans-serif; color: #252a24; }
.vs-cart .woocommerce-mini-cart__buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 20px 0 0; }
.vs-cart .woocommerce-mini-cart__buttons .button { display: flex; align-items: center; justify-content: center; margin: 0 !important; padding: 16px 10px; border-radius: 8px; font: 700 15px Poppins, sans-serif; text-transform: uppercase; text-align: center; }
.vs-cart .woocommerce-mini-cart__buttons .button:not(.checkout) { background: #fff; color: #3b4d48; border: 1.5px solid #3b4d48; }
.vs-cart .woocommerce-mini-cart__buttons .button.checkout { background: #62815d; color: #fff; border: 1.5px solid #62815d; }
.vs-cart .woocommerce-mini-cart__buttons .button:hover { filter: brightness(.95); }
.vs-cart .woocommerce-mini-cart__empty-message { margin: 40px 0; text-align: center; color: #4e4e4e; }
.vs-pd .single_add_to_cart_button.loading { opacity: .7; pointer-events: none; }

/* ── Cart drawer / product / checkout polish (2026-10-15) ────────────────── */
/* Drawer: quantity box hugs its buttons (a global input width:100% stretched it), line total on the right */
.vs-cart .woocommerce-mini-cart-item .quantity { flex-wrap: nowrap; }
.vs-cart .vs-mc-qty { flex: none; width: auto; }
.vs-cart .vs-mc-qty__input { width: 44px !important; min-width: 0; flex: none; padding: 0 !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: #fff !important; }
.vs-cart .vs-mc-line { white-space: nowrap; }
/* Product page: the drawer opens after adding, so hide WooCommerce's extra "Ver carrito" link and tick */
.vs-pd .added_to_cart { display: none !important; }
.vs-pd .single_add_to_cart_button.added::after { display: none !important; }
/* Checkout (desktop): fields in two columns */
@media (min-width: 768px) {
	.vs-wc-page .woocommerce-billing-fields__field-wrapper,
	.vs-wc-page .woocommerce-shipping-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; column-gap: 20px; align-items: end; }
	.vs-wc-page .woocommerce-billing-fields__field-wrapper .form-row,
	.vs-wc-page .woocommerce-shipping-fields__field-wrapper .form-row { width: auto !important; float: none !important; }
	.vs-wc-page .woocommerce-billing-fields__field-wrapper::before, .vs-wc-page .woocommerce-billing-fields__field-wrapper::after,
	.vs-wc-page .woocommerce-shipping-fields__field-wrapper::before, .vs-wc-page .woocommerce-shipping-fields__field-wrapper::after { display: none; }
	.vs-wc-page #billing_country_field, .vs-wc-page #shipping_country_field, .vs-wc-page #billing_email_field, .vs-wc-page .woocommerce-additional-fields .form-row { grid-column: 1 / -1; }
}
/* Drawer item: image left, name, then quantity + line total on one row */
.vs-cart .woocommerce-mini-cart-item { display: block !important; position: relative; min-height: 122px; padding: 18px 34px 18px 100px !important; }
.vs-cart .woocommerce-mini-cart-item > a:not(.remove) { display: block; }
.vs-cart .woocommerce-mini-cart-item img { position: absolute; left: 0; top: 18px; }
.vs-cart .woocommerce-mini-cart-item > dl.variation { margin-top: 4px; }
.vs-cart .vs-mc-row { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 12px; margin-top: 10px; }
.vs-cart .vs-mc-row .vs-mc-qty, .vs-cart .vs-mc-row .vs-mc-line { margin: 0; }

/* ── "¿Quiénes somos?" on tablet/phone: photo + cup in their own card, text below on plain cream ── */
@media (max-width: 1024px) {
	.vh-quienes { background: #ede9e0 !important; padding: 56px 24px 64px !important; }
	.vh-quienes::before, .vh-quienes::after { display: none; }
	.vh-q-media { position: relative; height: 420px; min-height: 0 !important; border-radius: 20px; overflow: hidden; background: url('/wp-content/uploads/2026/10/vasini-quienes-photo.png') 18% center / cover no-repeat; }
	.vh-q-media > .elementor-widget-wrap { position: static !important; }
	.vh-q-cup { left: 50% !important; top: 50% !important; transform: translate(-50%, -50%); width: 100% !important; }
	/* same proportions as the desktop design (923×686) */
	.vh-q-cup img { display: block; width: min(92%, 500px) !important; height: auto !important; aspect-ratio: 923 / 686; margin: 0 auto; max-width: none !important; object-fit: fill !important; }
	.vh-quienes > .elementor-container > .elementor-column:last-child { padding: 32px 0 0 !important; }
	.vh-quienes > .elementor-container > .elementor-column:last-child > .elementor-widget-wrap { padding: 0 !important; }
}
@media (max-width: 767px) {
	.vh-quienes { padding: 40px 20px 48px !important; }
	.vh-q-media { height: 300px; }
	.vh-q-title .elementor-heading-title { font-size: 26px !important; line-height: 1.15 !important; }
	.vh-q-text { font-size: 16px !important; line-height: 28px !important; }
}
