/*
 * Gavafuté by XAD — the store, finished (October 2026).
 *
 * Loaded on every front-end page after gavafute.css and gavafute-woo.css.
 * One quiet ground (#FAFAFA) with white cards on it, softer corners on
 * every photograph, the real logo, and the pieces this update adds: the
 * product cards, grids and carousel, the reviews, the brand's story, the
 * shop with its filters, the search page, "Mi cuenta", and the help lines.
 *
 * NO HEADING TAG IS SELECTED (the client's rule): looks come from classes.
 */

/* ═══════════════════════════════════════════════════════════════════
   TOKENS — softer corners, everywhere the design draws one
   ═══════════════════════════════════════════════════════════════════ */

.gv,
body.gv-woo {
	--r-press: 10px;
	--r-card: 16px;
	--r-media: 20px;
	--card: #FFFFFF;
	--shadow-soft: 0 1px 2px rgba(14, 22, 40, .04), 0 12px 32px -20px rgba(14, 22, 40, .22);
	--shadow-lift: 0 2px 4px rgba(14, 22, 40, .05), 0 24px 48px -28px rgba(14, 22, 40, .38);
	--ok: #1F7A3D;
	--ok-soft: #E7F4EC;
	/* One ground for every section: a slightly tighter rhythm keeps them distinct. */
	--section-y: clamp(56px, 7vw, 108px);
}

/* Isolation for what this update adds: bold is bold whatever the theme says,
   and a checkbox is the browser's own, coloured blue (Chemist draws its own
   box over every checkbox with ::before and turns its appearance off). */
.gv strong,
.gv b { font-weight: 700; }
.gv input[type="checkbox"],
.gv input[type="radio"] { -webkit-appearance: auto; appearance: auto; accent-color: var(--blue); }
.gv input[type="checkbox"]::before,
.gv input[type="checkbox"]::after { content: none; display: none; }
.gv input[type="text"],
.gv input[type="email"],
.gv input[type="password"],
.gv input[type="search"],
.gv input[type="number"],
.gv input[type="tel"],
.gv textarea { -webkit-appearance: none; appearance: none; }
.gv select { -webkit-appearance: auto; appearance: auto; white-space: nowrap; }
.gv select option { background-color: var(--card); color: var(--ink); }
.gv legend { background: none; }
.gv .gv-check input[type="checkbox"] { display: inline-block; }
body.gv-woo .woocommerce .gv-auth .button,
body.gv-woo .woocommerce button.button { vertical-align: middle; }

/* ═══════════════════════════════════════════════════════════════════
   THE GROUND — #FAFAFA behind everything (the colour itself comes from the
   panel's palette; Chemist's own variables are set in an inline block)
   ═══════════════════════════════════════════════════════════════════ */

html { background-color: var(--gv-ground, #FAFAFA); }
body.gv-chrome,
body.gv-page,
body.gv-woo { background-color: var(--gv-ground, #FAFAFA); background-image: none; }

/* What was the white tile behind the cut-out photographs is now a white card. */
.gv .gv-tile,
.gv .gv-pcard__media,
.gv .gv-mega__img,
.gv .gv-search__img,
.gv .gv-cart__img,
.gv .gv-minicard__img { background: var(--card); box-shadow: inset 0 0 0 1px var(--line); }

/* Every photograph keeps rounded corners. */
.gv .gv-shot img,
.gv .gv-tm__media img,
.gv .gv-ingr img,
.gv .gv-video__frame,
.gv .gv-video__frame img,
.gv .gv-thumb,
.gv .gv-thumb img,
.gv .gv-prose img,
.gv .gv-cta__shot img { border-radius: var(--r-media); }
.gv .gv-thumb img { border-radius: calc(var(--r-press) - 2px); }
body.gv-woo .woocommerce img { border-radius: var(--r-press); }
body.gv-woo .woocommerce table.shop_table img,
body.gv-woo .woocommerce .product-thumbnail img { border-radius: var(--r-press); background: var(--card); }

/* Blue bands become blue cards on the ground — the page itself stays #FAFAFA. */
.gv .gv-sec--blue {
	background: var(--paper);
	color: var(--ink);
	padding-block: clamp(20px, 3vw, 40px);
}
.gv .gv-sec--blue > .gv-wrap {
	width: calc(100% - 2 * var(--gutter));
	max-width: var(--wrap);
	padding: clamp(40px, 6vw, 88px) clamp(22px, 5vw, 72px);
	border-radius: calc(var(--r-media) + 8px);
	background: var(--blue-btn);
	color: var(--on-blue);
	box-shadow: var(--shadow-lift);
}

.gv .gv-footer { background: var(--paper); border-top: 1px solid var(--line); }
.gv .gv-footer__cta { padding-block: clamp(28px, 4vw, 56px) 0; background: transparent; }
.gv .gv-footer__cta-in {
	width: calc(100% - 2 * var(--gutter));
	max-width: var(--wrap);
	padding: clamp(28px, 4vw, 48px) clamp(22px, 4vw, 56px);
	border-radius: calc(var(--r-media) + 8px);
	background: var(--blue-btn);
	color: var(--on-blue);
}

/* Chemist's own title bar never shows above the store's screens. */
body.gv-store-screen .gv-chemist-title,
body.gv-store-screen .top_panel .sc_layouts_title { display: none !important; }

/* One "back to top": the site's own (it rises above the product page's buy
   bar). Chemist's add-on draws a second one that sat on "Comprar ahora". When
   the page scrolls it gets the class "show", and Chemist's own grid utilities
   say .show { display: block !important } — equal weight, loaded later on
   phones, so it came back (owner, 23 October 2026). This weighs more. */
html body .trx_addons_scroll_to_top,
html body .trx_addons_scroll_to_top.show { display: none !important; }

/* reCAPTCHA (inc/captcha.php): Google's badge would cover the buy bar and the
   arrow; its required notice is printed under each protected form instead. */
.grecaptcha-badge { visibility: hidden; }
.gv-captcha-note { margin: 0; padding: 8px 0 12px; color: var(--muted, #5E5F6B); font-size: 12px; line-height: 1.5; }
.gv-captcha-note a { color: inherit; text-decoration: underline; }

/* Under the store's own head, Chemist's tall content margin would leave a
   gap; and inside Chemist's content column the store's pages need no second
   gutter, so they line up with the head. */
body.gv-store-screen .page_content_wrap { padding-top: clamp(4px, 1vw, 12px); padding-bottom: clamp(48px, 6vw, 88px); }
body.gv-chrome .content .gv-shop > .gv-wrap,
body.gv-chrome .content .gv-searchpage > .gv-wrap { padding-inline: 0; max-width: none; }

/* ═══════════════════════════════════════════════════════════════════
   THE LOGO — the real one, its white box blended into the ground
   ═══════════════════════════════════════════════════════════════════ */

.gv .gv-header__logo img { height: 52px; max-width: 220px; }
.gv.gv-site-head.is-scrolled .gv-header__logo img { height: 44px; }
.gv .gv-header__logo.is-flat img,
.gv .gv-footer__logo.is-flat img,
.gv .gv-menu__logo.is-flat img { mix-blend-mode: multiply; }
.gv .gv-footer__logo img { display: block; width: auto; height: 64px; max-width: 240px; }
.gv .gv-menu__logo img { display: block; width: auto; height: 40px; }

/* ═══════════════════════════════════════════════════════════════════
   THE OPENING
   ═══════════════════════════════════════════════════════════════════ */

.gv .gv-hero__stage {
	padding: clamp(14px, 2vw, 24px);
	border-radius: calc(var(--r-media) + 8px);
	background: linear-gradient(160deg, #FFFFFF 0%, #FFFFFF 55%, var(--blue-soft) 100%);
	box-shadow: var(--shadow-lift);
}
.gv .gv-hero__stage .gv-hero__shot img { border-radius: var(--r-media); }
.gv .gv-hero__tag {
	border-radius: var(--r-card);
	box-shadow: var(--shadow-soft);
}
.gv .gv-hero__note {
	position: absolute;
	top: clamp(18px, 3vw, 36px);
	right: clamp(-20px, -1.6vw, -8px);
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 12px 16px;
	border-radius: var(--r-card);
	background: var(--card);
	box-shadow: var(--shadow-lift);
	transform: translateZ(60px);
	line-height: 1.25;
}
.gv .gv-hero__note .gv-i { color: var(--blue); }
.gv .gv-hero__note strong { display: block; font-size: 14px; font-weight: 700; }
.gv .gv-hero__note span { font-size: 13px; color: var(--muted); }
.gv .gv-hero__note span strong { color: var(--ink); }
.gv .gv-chips li { border-radius: 999px; }
/* The slides waiting their turn sit 48px to the side (gavafute.css): never a sideways scroll. */
.gv .gv-hero { overflow-x: clip; }

/* ═══════════════════════════════════════════════════════════════════
   THE PRODUCT CARD — shop, grids, carousel, search
   ═══════════════════════════════════════════════════════════════════ */

.gv .gv-grid2 {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr));
	gap: clamp(14px, 2vw, 24px);
}
.gv .gv-grid2--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.gv .gv-grid2--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gv .gv-grid2--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 760px; }
.gv .gv-grid2--1 { grid-template-columns: minmax(0, 380px); }

.gv .gv-card2 {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	height: 100%;
	border: 1px solid var(--line);
	border-radius: var(--r-card);
	background: var(--card);
	box-shadow: var(--shadow-soft);
	transition: box-shadow .25s var(--ease), transform .25s var(--ease), border-color .25s var(--ease);
}
.gv .gv-card2:hover { transform: translateY(-3px); border-color: var(--line-strong); box-shadow: var(--shadow-lift); }

.gv .gv-card2__media {
	position: relative;
	display: block;
	margin: 10px 10px 0;
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: calc(var(--r-card) - 6px);
	background: #FFFFFF;
	text-decoration: none;
}
.gv .gv-card2__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform .5s var(--ease);
}
.gv .gv-card2:hover .gv-card2__media img { transform: scale(1.05); }
.gv .gv-card2__media .gv-badge { position: absolute; top: 10px; left: 10px; }
.gv .gv-card2.is-out .gv-card2__media img { opacity: .5; filter: grayscale(.4); }

.gv .gv-card2__body { display: flex; flex-direction: column; gap: 12px; flex: 1 1 auto; padding: 14px 18px 18px; }
.gv .gv-card2__size { margin: 0; color: var(--muted); font-size: 11.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.gv .gv-card2__title { margin: 0; }
.gv .gv-card2__title a { display: inline-flex; align-items: center; min-height: 32px; color: inherit; text-decoration: none; }
.gv .gv-card2__title a:hover { color: var(--blue); }
.gv .gv-card2__price { margin-top: 2px; font-size: 19px; }
.gv .gv-card2__actions { display: flex; align-items: stretch; gap: 8px; }
.gv .gv-card2__actions .gv-btn { flex: 1 1 auto; min-height: 46px; padding: 0 14px; font-size: 12px; }
.gv .gv-card2__more {
	display: grid;
	place-items: center;
	flex: none;
	width: 46px;
	border: 1.5px solid var(--line);
	border-radius: var(--r-press);
	color: var(--ink);
	text-decoration: none;
	transition: border-color .2s var(--ease), color .2s var(--ease);
}
.gv .gv-card2__more:hover { border-color: var(--ink); color: var(--blue); }
/* WooCommerce's "Ver carrito" link, after an in-place add. */
.gv .gv-card2 .added_to_cart {
	position: absolute;
	left: 18px;
	right: 18px;
	bottom: -14px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 28px;
	border-radius: 999px;
	background: var(--ok);
	color: #FFFFFF;
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
	z-index: 2;
}

/* Stars, filled to the rating. */
.gv-stars5 {
	position: relative;
	display: inline-block;
	color: #D6DAE2;
	font-size: 15px;
	line-height: 1;
	letter-spacing: 2px;
	white-space: nowrap;
}
.gv-stars5::before {
	content: "★★★★★";
	position: absolute;
	top: 0;
	left: 0;
	width: var(--gv-fill, 0%);
	overflow: hidden;
	color: var(--orange, #E2560F);
}
.gv .gv-rating { display: flex; align-items: center; gap: 6px; margin: 0; color: var(--muted); font-size: 13px; }
.gv .gv-rating__num { color: var(--ink); font-weight: 700; }

/* ═══════════════════════════════════════════════════════════════════
   SECTIONS — product grid, carousel, about, reviews
   ═══════════════════════════════════════════════════════════════════ */

.gv .gv-pgrid__head,
.gv .gv-pcar__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px 32px;
	padding-bottom: clamp(28px, 3.5vw, 48px);
}
.gv .gv-pgrid__head > .gv-head,
.gv .gv-pcar__head > .gv-head { padding-bottom: 0; }
.gv .gv-pgrid__all .gv-btn { min-height: 46px; }

/* The carousel: a row that snaps, three at a time on a wide screen. */
.gv .gv-pcar__nav { display: flex; gap: 10px; }
.gv .gv-pcar__btn {
	display: grid;
	place-items: center;
	width: 50px;
	height: 50px;
	border: 1.5px solid var(--ink);
	border-radius: var(--r-press);
	background: var(--card);
	color: var(--ink);
	transition: background-color .2s var(--ease), color .2s var(--ease), opacity .2s var(--ease);
}
.gv .gv-pcar__btn:hover:not([aria-disabled="true"]) { background: var(--ink); color: var(--card); }
.gv .gv-pcar__btn[aria-disabled="true"] { opacity: .3; cursor: default; }
.gv .gv-pcar__track {
	--gap: clamp(14px, 2vw, 24px);
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 2 * var(--gap)) / 3);
	gap: var(--gap);
	margin: 0;
	padding: 4px 2px 18px;
	list-style: none;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
}
.gv .gv-pcar__track::-webkit-scrollbar { display: none; }
.gv .gv-pcar__track:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; }
.gv .gv-pcar__item { display: flex; flex-direction: column; gap: 10px; min-width: 0; scroll-snap-align: start; }
.gv .gv-pcar__item > .gv-card2 { height: auto; flex: 1 1 auto; }
.gv .gv-pcar__when { display: flex; align-items: flex-start; gap: 8px; margin: 0; padding: 0 6px; color: var(--muted); font-size: 13.5px; line-height: 1.45; }
.gv .gv-pcar__when .gv-i { flex: none; margin-top: 2px; color: var(--blue); }
.gv .gv-pcar__dots { display: flex; justify-content: center; gap: 8px; padding-top: 8px; }
.gv .gv-pcar__dots span { width: 8px; height: 8px; border-radius: 999px; background: var(--line-strong); transition: width .25s var(--ease), background-color .25s var(--ease); }
.gv .gv-pcar__dots span.is-on { width: 24px; background: var(--ink); }

/* About the brand. */
.gv .gv-about__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
	align-items: center;
	gap: clamp(36px, 6vw, 96px);
}
.gv .gv-about__media { position: relative; }
.gv .gv-about__shot { display: block; overflow: hidden; border-radius: calc(var(--r-media) + 8px); background: var(--card); box-shadow: var(--shadow-lift); }
.gv .gv-about__shot img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.gv .gv-about__badge {
	position: absolute;
	right: clamp(-18px, -1.5vw, -8px);
	bottom: clamp(20px, 4vw, 48px);
	display: flex;
	flex-direction: column;
	gap: 2px;
	max-width: 220px;
	margin: 0;
	padding: 18px 22px;
	border-radius: var(--r-card);
	background: var(--blue-btn);
	color: var(--on-blue);
	box-shadow: var(--shadow-lift);
	line-height: 1.3;
}
.gv .gv-about__badge strong { font-family: var(--font-display); font-size: 44px; font-weight: 700; line-height: 1; letter-spacing: -.04em; }
.gv .gv-about__badge span { font-size: 14px; opacity: .9; }
.gv .gv-about__copy > .gv-head { padding-bottom: 24px; }
.gv .gv-about__body { display: flex; flex-direction: column; gap: 1em; max-width: 36em; color: var(--muted); font-size: 17px; line-height: 1.7; }
.gv .gv-about__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 28px 0; padding: 0; list-style: none; }
.gv .gv-about__facts li { display: flex; flex-direction: column; gap: 4px; padding: 18px 20px; border: 1px solid var(--line); border-radius: var(--r-card); background: var(--card); }
.gv .gv-about__facts strong { font-family: var(--font-display); font-size: 36px; font-weight: 700; line-height: 1; letter-spacing: -.04em; color: var(--blue); }
.gv .gv-about__facts span { color: var(--muted); font-size: 14px; }

/* Reviews: the summary beside the cards, the form under them. */
.gv .gv-reviews2__grid {
	display: grid;
	grid-template-columns: minmax(250px, 330px) minmax(0, 1fr);
	align-items: start;
	gap: clamp(20px, 3vw, 40px);
}
.gv .gv-reviews2__summary {
	position: sticky;
	top: calc(var(--header-h) + 24px);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	padding: clamp(22px, 2.5vw, 30px);
	border: 1px solid var(--line);
	border-radius: var(--r-card);
	background: var(--card);
	box-shadow: var(--shadow-soft);
}
.gv .gv-reviews2__summary .gv-stars5 { font-size: 22px; }
.gv .gv-reviews2__avg { display: flex; align-items: baseline; gap: 8px; margin: 0; }
.gv .gv-reviews2__avg strong { font-family: var(--font-display); font-size: 56px; font-weight: 700; line-height: 1; letter-spacing: -.04em; }
.gv .gv-reviews2__avg span { color: var(--muted); font-weight: 600; }
.gv .gv-reviews2__count { margin: 0; color: var(--muted); font-size: 14.5px; }
.gv .gv-reviews2__invite { margin: 0; font-size: 15px; line-height: 1.55; }
.gv .gv-reviews2__bars { display: grid; gap: 6px; width: 100%; margin: 4px 0 0; padding: 0; list-style: none; }
.gv .gv-reviews2__bars li { display: grid; grid-template-columns: 34px minmax(0, 1fr) 28px; align-items: center; gap: 10px; color: var(--muted); font-size: 13px; }
.gv .gv-reviews2__bar { display: block; height: 8px; overflow: hidden; border-radius: 999px; background: var(--line); }
.gv .gv-reviews2__bar span { display: block; height: 100%; border-radius: inherit; background: var(--orange); }
.gv .gv-reviews2__write { width: 100%; margin-top: 6px; }
.gv .gv-reviews2__more .gv-btn { min-height: 40px; }
.gv .gv-reviews2__thanks {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 14px 18px;
	border-radius: var(--r-card);
	background: var(--ok-soft);
	color: var(--ok);
	font-weight: 700;
}
.gv .gv-reviews2__thanks + .gv-reviews2__grid { margin-top: 24px; }
.gv .gv-reviews2__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.gv .gv-rcard {
	display: flex;
	flex-direction: column;
	gap: 14px;
	min-width: 0;
	padding: clamp(20px, 2.2vw, 26px);
	border: 1px solid var(--line);
	border-radius: var(--r-card);
	background: var(--card);
}
.gv .gv-rcard__top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.gv .gv-rcard__verified { display: inline-flex; align-items: center; gap: 4px; color: var(--ok); font-size: 12px; font-weight: 700; }
.gv .gv-rcard__quote { font-size: 16.5px; line-height: 1.6; }
.gv .gv-rcard__quote p + p { margin-top: .8em; }
.gv .gv-rcard__who { display: flex; flex-direction: column; gap: 2px; margin-top: auto; font-size: 15px; }
.gv .gv-rcard__who span { color: var(--muted); font-size: 13.5px; }
.gv .gv-rcard--empty { grid-column: 1 / -1; align-items: flex-start; justify-content: center; min-height: 200px; border-style: dashed; background: transparent; }
.gv .gv-rcard--empty p:last-child { max-width: 34em; color: var(--muted); }
.gv .gv-rcard__icon { color: var(--sky-text); }

.gv .gv-rform-wrap { margin-top: clamp(24px, 3vw, 40px); }
.gv .gv-rform {
	display: grid;
	gap: 18px;
	max-width: 780px;
	padding: clamp(22px, 3vw, 36px);
	border: 1px solid var(--line);
	border-radius: var(--r-card);
	background: var(--card);
	box-shadow: var(--shadow-soft);
}
.gv .gv-rform__note { margin: 0; padding: 12px 14px; border-radius: var(--r-press); background: var(--blue-soft); font-size: 14.5px; }
.gv .gv-rform__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.gv .gv-rform__stars legend { margin-bottom: 8px; font-size: 14px; font-weight: 700; }
.gv .gv-rform__err { margin: 6px 0 0; color: var(--danger); font-size: 14px; font-weight: 600; }
.gv .gv-rform__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.gv .gv-rform__fine { margin: 0; color: var(--muted); font-size: 13.5px; }
.gv .gv-req { color: var(--danger); }

/* The star picker: five radios, painted up to the one chosen or hovered. */
.gv .gv-starpick { display: inline-flex; flex-direction: row-reverse; justify-content: flex-end; gap: 2px; }
.gv .gv-starpick input { position: absolute; display: block; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.gv .gv-starpick label {
	position: static;
	display: grid;
	place-items: center;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
	width: 46px;
	height: 46px;
	border-radius: var(--r-press);
	color: #D6DAE2;
	font-size: 34px;
	line-height: 1;
	cursor: pointer;
	transition: color .15s ease, transform .15s ease;
}
.gv .gv-starpick label:hover,
.gv .gv-starpick label:hover ~ label,
.gv .gv-starpick input:checked ~ label { color: var(--orange); }
.gv .gv-starpick label:hover { transform: scale(1.12); }
/* Chemist draws its own radio before every radio's label: not on the stars. */
.gv .gv-starpick label::before,
.gv .gv-starpick label::after { content: none; display: none; }
.gv .gv-starpick input:focus-visible + label { outline: 2px solid var(--blue); outline-offset: 2px; }

/* Shared fields (reviews, filters, search). */
.gv .gv-field { display: flex; flex-direction: column; gap: 8px; margin: 0; }
.gv .gv-field > label { font-size: 14px; font-weight: 700; }
.gv .gv-field input,
.gv .gv-field select,
.gv .gv-field textarea,
.gv .gv-filters input[type="number"],
.gv .gv-shop__sort select {
	width: 100%;
	min-height: 50px;
	margin: 0;
	padding: 12px 14px;
	border: 1.5px solid var(--line);
	border-radius: var(--r-press);
	background: var(--card);
	color: var(--ink);
	font-size: 16px;
	line-height: 1.4;
	box-shadow: none;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.gv .gv-field textarea { min-height: 120px; resize: vertical; }
.gv .gv-field input:focus,
.gv .gv-field select:focus,
.gv .gv-field textarea:focus,
.gv .gv-filters input:focus,
.gv .gv-shop__sort select:focus { outline: none; border-color: var(--blue); box-shadow: 0 0 0 3px var(--blue-soft); }
.gv .gv-check { display: flex; align-items: center; gap: 10px; min-height: 40px; margin: 0; font-size: 15px; cursor: pointer; }
.gv .gv-check input[type="checkbox"] { width: 20px; height: 20px; margin: 0; vertical-align: middle; accent-color: var(--blue); }

/* ═══════════════════════════════════════════════════════════════════
   HELP — both phone lines and WhatsApp
   ═══════════════════════════════════════════════════════════════════ */

.gv .gv-helplist { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.gv .gv-helplist--row { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.gv .gv-helplist a {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 52px;
	padding: 10px 14px;
	border: 1px solid var(--line);
	border-radius: var(--r-press);
	background: var(--card);
	color: var(--ink);
	text-decoration: none;
	transition: border-color .2s var(--ease), color .2s var(--ease);
}
.gv .gv-helplist--compact a { min-height: 46px; padding: 8px 12px; }
.gv .gv-helplist a:hover { border-color: var(--blue); color: var(--blue); }
.gv .gv-helplist .gv-i { color: var(--blue); }
.gv .gv-helplist span { display: flex; flex-direction: column; line-height: 1.25; }
.gv .gv-helplist small { color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.gv .gv-helplist strong { font-size: 15px; font-weight: 700; }

.gv .gv-footer__phones { display: grid; gap: 10px; margin: 18px 0 0; padding: 0; list-style: none; }
.gv .gv-footer__phones a,
.gv .gv-menu__phones a { display: flex; align-items: center; gap: 10px; min-height: 40px; color: var(--ink); text-decoration: none; }
.gv .gv-footer__phones a:hover,
.gv .gv-menu__phones a:hover { color: var(--blue); }
.gv .gv-footer__phones .gv-i,
.gv .gv-menu__phones .gv-i { flex: none; color: var(--blue); }
.gv .gv-menu__phones span { display: flex; flex-direction: column; line-height: 1.25; font-weight: 600; }
.gv .gv-menu__phones small { color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
/* The footer's lines read "Teléfono: 55 4491 2724", label first, on one line. */
.gv .gv-footer__phones span { min-width: 0; line-height: 1.35; font-weight: 600; overflow-wrap: anywhere; }
.gv .gv-footer__label { font-weight: 700; }
.gv .gv-menu__phones { display: grid; gap: 6px; margin: 16px 0 0; padding: 0; list-style: none; }

/* ═══════════════════════════════════════════════════════════════════
   A PRODUCT'S PAGE — the extra lines in the buy box
   ═══════════════════════════════════════════════════════════════════ */

.gv .gv-pbox__stage { border: 1px solid var(--line); background: var(--card); box-shadow: var(--shadow-soft); }
.gv .gv-pbox__rating { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 10px; min-height: 36px; color: var(--muted); font-size: 14px; text-decoration: none; }
.gv .gv-pbox__rating > span:last-child { text-decoration: underline; text-underline-offset: .2em; }
.gv .gv-pbox__rating:hover { color: var(--blue); }
.gv .gv-pbox__rating .gv-stars5 { font-size: 17px; }
.gv .gv-pbox__help { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line); }
.gv .gv-pbox__help > p { margin: 0; padding-bottom: 10px; color: var(--muted); font-size: 14px; }

/* ═══════════════════════════════════════════════════════════════════
   THE STORE'S SCREENS — their head
   ═══════════════════════════════════════════════════════════════════ */

.gv .gv-storehead { padding: clamp(28px, 4vw, 56px) 0 clamp(20px, 3vw, 36px); background: var(--paper); }
.gv .gv-storehead .gv-crumbs { margin-bottom: 14px; }
.gv .gv-storehead__title { color: var(--ink); }
.gv .gv-storehead__lead { margin-top: 12px; }

/* ═══════════════════════════════════════════════════════════════════
   THE SHOP
   ═══════════════════════════════════════════════════════════════════ */

.gv.gv-shop { padding-bottom: var(--section-y); }
.gv .gv-shop__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 16px;
	margin-bottom: 24px;
	padding: 12px 0;
	border-bottom: 1px solid var(--line);
}
.gv .gv-shop__open { display: none; min-height: 46px; padding: 0 16px; }
.gv .gv-shop__n { color: var(--orange-text); }
.gv .gv-shop__count { flex: 1 1 auto; margin: 0; color: var(--muted); font-weight: 600; }
.gv .gv-shop__sort { display: flex; align-items: center; gap: 10px; }
.gv .gv-shop__sort label { color: var(--muted); font-size: 14px; white-space: nowrap; }
.gv .gv-shop__sort select { width: auto; min-height: 46px; padding-right: 36px; }
.gv .gv-shop__layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); align-items: start; gap: clamp(24px, 3vw, 44px); }
.gv .gv-shop__filters {
	position: sticky;
	top: calc(var(--header-h) + 16px);
	display: flex;
	flex-direction: column;
	gap: 22px;
	padding: 22px;
	border: 1px solid var(--line);
	border-radius: var(--r-card);
	background: var(--card);
	box-shadow: var(--shadow-soft);
}
.gv .gv-shop__filters-head { display: none; }
.gv .gv-shop__scrim { display: none; }
.gv .gv-filters { display: flex; flex-direction: column; gap: 22px; margin: 0; }
.gv .gv-filters__group { display: flex; flex-direction: column; gap: 10px; }
.gv .gv-filters__title { display: block; margin: 0; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ink); }
.gv .gv-filters__search { display: flex; align-items: center; gap: 8px; padding: 0 12px; border: 1.5px solid var(--line); border-radius: var(--r-press); background: var(--card); }
.gv .gv-filters__search:focus-within { border-color: var(--blue); box-shadow: 0 0 0 3px var(--blue-soft); }
.gv .gv-filters__search .gv-i { color: var(--muted); }
.gv .gv-filters__search input { flex: 1 1 auto; min-width: 0; min-height: 46px; padding: 0; border: 0; background: transparent; font-size: 15.5px; box-shadow: none; outline: none; }
.gv .gv-filters__list { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.gv .gv-filters__list a { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 42px; padding: 0 12px; border-radius: var(--r-press); color: var(--ink); font-size: 15px; text-decoration: none; }
.gv .gv-filters__list a:hover { background: var(--paper); color: var(--blue); }
.gv .gv-filters__list a.is-on { background: var(--blue-soft); color: var(--blue); font-weight: 700; }
.gv .gv-filters__list a span { color: var(--muted); font-size: 13px; font-weight: 500; }
.gv .gv-filters__range { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.gv .gv-filters__range label { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.gv .gv-filters__range label span { color: var(--muted); font-size: 12.5px; font-weight: 600; }
.gv .gv-filters input[type="number"] { min-height: 46px; padding: 10px 12px; font-size: 15px; }
.gv .gv-filters__chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.gv .gv-filters__chips a { display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); font-size: 13.5px; text-decoration: none; }
.gv .gv-filters__chips a:hover { border-color: var(--ink); }
.gv .gv-filters__chips a.is-on { border-color: var(--ink); background: var(--ink); color: var(--card); }
.gv .gv-filters__actions { display: flex; flex-direction: column; gap: 10px; }
.gv .gv-filters__actions .gv-btn { width: 100%; min-height: 50px; }
.gv .gv-filters__clear { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; font-size: 14px; font-weight: 600; }
.gv .gv-filters__help { display: flex; flex-direction: column; gap: 10px; padding-top: 18px; border-top: 1px solid var(--line); }

.gv .gv-shop__chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 20px; padding: 0; list-style: none; }
.gv .gv-shop__chips a { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 12px; border-radius: 999px; background: var(--blue-soft); color: var(--blue); font-size: 13.5px; font-weight: 600; text-decoration: none; }
.gv .gv-shop__chips a:hover { background: var(--blue-btn); color: var(--on-blue); }
.gv .gv-shop__chips a.gv-shop__clear { background: transparent; color: var(--muted); text-decoration: underline; }

.gv .gv-pages ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: clamp(32px, 4vw, 48px) 0 0; padding: 0; list-style: none; }
.gv .gv-pages .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 46px;
	min-height: 46px;
	padding: 0 14px;
	border: 1px solid var(--line);
	border-radius: var(--r-press);
	background: var(--card);
	color: var(--ink);
	font-weight: 700;
	text-decoration: none;
}
.gv .gv-pages a.page-numbers:hover { border-color: var(--ink); }
.gv .gv-pages .page-numbers.current { border-color: var(--ink); background: var(--ink); color: var(--card); }
.gv .gv-pages .page-numbers.dots { border: 0; background: transparent; }

.gv .gv-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	padding: clamp(36px, 6vw, 64px) 24px;
	border: 1.5px dashed var(--line-strong);
	border-radius: var(--r-card);
	background: var(--card);
	text-align: center;
}
.gv .gv-empty > p:not(.gv-t-m) { max-width: 34em; margin: 0; color: var(--muted); }
.gv .gv-empty .gv-btns--center { padding-top: 12px; }
.gv .gv-empty .gv-helplist { width: min(100%, 560px); margin-top: 8px; text-align: left; }
.gv .gv-empty__icon { display: grid; place-items: center; width: 64px; height: 64px; border-radius: var(--r-card); background: var(--blue-soft); color: var(--blue); }

/* ═══════════════════════════════════════════════════════════════════
   THE SEARCH PAGE
   ═══════════════════════════════════════════════════════════════════ */

.gv.gv-searchpage { padding-bottom: var(--section-y); }
.gv .gv-searchpage__form {
	display: flex;
	align-items: center;
	gap: 12px;
	max-width: 760px;
	margin: 0 0 clamp(32px, 4vw, 48px);
	padding: 8px 8px 8px 18px;
	border: 1.5px solid var(--line);
	border-radius: var(--r-card);
	background: var(--card);
	box-shadow: var(--shadow-soft);
}
.gv .gv-searchpage__form:focus-within { border-color: var(--blue); }
.gv .gv-searchpage__form .gv-i { color: var(--muted); }
.gv .gv-searchpage__form input { flex: 1 1 auto; min-width: 0; min-height: 50px; padding: 0; border: 0; background: transparent; font-size: 17px; outline: none; box-shadow: none; }
.gv .gv-searchpage__form .gv-btn { min-height: 50px; }
.gv .gv-searchpage__group { margin-bottom: clamp(36px, 5vw, 56px); }
.gv .gv-searchpage__group > .gv-t-m { margin-bottom: 18px; }
.gv .gv-searchpage__list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.gv .gv-searchpage__list li { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 4px; border-bottom: 1px solid var(--line); }
.gv .gv-searchpage__list a { display: flex; flex-direction: column; justify-content: center; gap: 4px; min-height: 44px; color: var(--ink); text-decoration: none; }
.gv .gv-searchpage__list a:hover strong { color: var(--blue); }
.gv .gv-searchpage__list strong { font-size: 17px; }
.gv .gv-searchpage__list span { color: var(--muted); font-size: 14.5px; }

/* ═══════════════════════════════════════════════════════════════════
   THE SEARCH LAYER AND THE CART SLIDER — the new parts
   ═══════════════════════════════════════════════════════════════════ */

.gv .gv-search__subtitle { margin-top: 24px; }
.gv .gv-search__products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 12px 0 0; padding: 0; list-style: none; }
.gv .gv-search__products a {
	display: flex;
	flex-direction: column;
	gap: 6px;
	height: 100%;
	padding: 10px 10px 14px;
	border: 1px solid var(--line);
	border-radius: var(--r-card);
	background: var(--card);
	color: var(--ink);
	text-decoration: none;
	transition: border-color .2s var(--ease), box-shadow .2s var(--ease);
}
.gv .gv-search__products a:hover { border-color: var(--line-strong); box-shadow: var(--shadow-soft); }
.gv .gv-search__pimg { display: block; overflow: hidden; aspect-ratio: 1; border-radius: calc(var(--r-card) - 6px); background: #FFFFFF; }
.gv .gv-search__pimg img { display: block; width: 100%; height: 100%; object-fit: contain; }
.gv .gv-search__products strong { padding: 0 4px; font-size: 14.5px; line-height: 1.3; }
.gv .gv-search__products .gv-price { padding: 0 4px; font-size: 14px; }
.gv .gv-search__all { display: inline-flex; align-items: center; gap: 6px; margin-top: 16px; font-weight: 700; }

.gv .gv-cart__line { padding: 12px; margin-bottom: 10px; border: 1px solid var(--line); border-radius: var(--r-card); background: var(--card); }
.gv .gv-cart__empty { text-align: center; }
.gv .gv-cart__empty .gv-cart__suggest { text-align: left; }
.gv .gv-cart__empty-icon { display: grid; place-items: center; width: 64px; height: 64px; margin: 0 auto 8px; border-radius: var(--r-card); background: var(--blue-soft); color: var(--blue); }
.gv .gv-cart__empty > .gv-btn { margin-top: 18px; }
.gv .gv-cart__more { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }
.gv .gv-cart__more-title { margin: 0; padding-bottom: 10px; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.gv .gv-cart__more .gv-btn--sm { gap: 6px; }
.gv .gv-cart__help { margin-top: 18px; padding: 14px; border-radius: var(--r-card); background: var(--card); border: 1px solid var(--line); }
.gv .gv-cart__help > p { margin: 0; padding-bottom: 8px; color: var(--muted); font-size: 13.5px; }
.gv .gv-cart__saved { display: flex; align-items: center; gap: 8px; margin: 0; padding-bottom: 8px; color: var(--ok); font-size: 14px; font-weight: 700; }

/* ═══════════════════════════════════════════════════════════════════
   WOOCOMMERCE'S SCREENS ON THE GROUND — white panels, white fields
   ═══════════════════════════════════════════════════════════════════ */

body.gv-woo .woocommerce form .input-text,
body.gv-woo .woocommerce form select,
body.gv-woo .woocommerce form textarea,
body.gv-woo .woocommerce .coupon .input-text,
body.gv-woo .woocommerce .quantity .qty,
body.gv-woo .select2-container--default .select2-selection--single { background: var(--card); border-radius: var(--r-press); }
body.gv-woo .woocommerce form .input-text:focus,
body.gv-woo .woocommerce form select:focus,
body.gv-woo .woocommerce form textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px var(--blue-soft); }

body.gv-woo .woocommerce .cart_totals,
body.gv-woo .woocommerce-checkout-review-order,
body.gv-woo .woocommerce table.shop_table,
body.gv-woo .woocommerce-checkout #payment,
body.gv-woo .woocommerce-order,
body.gv-woo .woocommerce-MyAccount-content .woocommerce-Address { background: var(--card); border-radius: var(--r-card); }
body.gv-woo .woocommerce table.shop_table { overflow: hidden; border: 1px solid var(--line); }
body.gv-woo .woocommerce .cart_totals { padding: clamp(18px, 2.4vw, 28px); border: 1px solid var(--line); box-shadow: var(--shadow-soft); }
body.gv-woo .woocommerce-checkout #payment { border: 1px solid var(--line); }

/* ═══════════════════════════════════════════════════════════════════
   MI CUENTA — visitors: log in or create an account
   ═══════════════════════════════════════════════════════════════════ */

body.gv-woo .gv-auth {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	max-width: 1080px;
	margin: 0 auto clamp(32px, 5vw, 64px);
	overflow: hidden;
	border: 1px solid var(--line);
	border-radius: calc(var(--r-media) + 4px);
	background: var(--card);
	box-shadow: var(--shadow-lift);
}
body.gv-woo .gv-auth__side {
	display: flex;
	flex-direction: column;
	gap: 22px;
	padding: clamp(28px, 4vw, 52px);
	background: linear-gradient(165deg, var(--blue-btn) 0%, var(--blue-hover) 100%);
	color: var(--on-blue);
}
body.gv-woo .gv-auth__eyebrow { margin: 0; color: var(--on-blue); opacity: .75; font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
body.gv-woo .gv-auth__title { margin: 0; color: var(--on-blue); }
body.gv-woo .gv-auth__perks { display: grid; gap: 18px; margin: 4px 0 0; padding: 0; list-style: none; }
body.gv-woo .gv-auth__perks li { display: flex; align-items: flex-start; gap: 14px; }
body.gv-woo .gv-auth__perks .gv-i { flex: none; box-sizing: content-box; padding: 10px; border-radius: var(--r-press); background: rgba(255, 255, 255, .12); }
body.gv-woo .gv-auth__perks span { display: flex; flex-direction: column; gap: 2px; font-size: 14.5px; line-height: 1.5; opacity: .9; }
body.gv-woo .gv-auth__perks strong { font-size: 15.5px; opacity: 1; }
body.gv-woo .gv-auth__help { display: flex; flex-direction: column; gap: 10px; margin-top: auto; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, .2); }
body.gv-woo .gv-auth__help > p { margin: 0; font-size: 14px; opacity: .85; }
body.gv-woo .gv-auth__help .gv-helplist a { border-color: rgba(255, 255, 255, .22); background: rgba(255, 255, 255, .08); color: var(--on-blue); }
body.gv-woo .gv-auth__help .gv-helplist a:hover { border-color: var(--on-blue); background: rgba(255, 255, 255, .14); color: var(--on-blue); }
body.gv-woo .gv-auth__help .gv-helplist .gv-i { color: var(--on-blue); }
body.gv-woo .gv-auth__help .gv-helplist small { color: var(--on-blue); opacity: .7; }

body.gv-woo .gv-auth__card { display: flex; flex-direction: column; gap: 18px; padding: clamp(28px, 4vw, 52px); }
body.gv-woo .gv-auth__tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; padding: 4px; border: 1px solid var(--line); border-radius: calc(var(--r-press) + 4px); background: var(--paper); }
body.gv-woo .gv-auth__tabs button { min-height: 46px; border-radius: var(--r-press); color: var(--muted); font-size: 15px; font-weight: 700; transition: background-color .2s var(--ease), color .2s var(--ease), box-shadow .2s var(--ease); }
body.gv-woo .gv-auth__tabs button[aria-selected="true"] { background: var(--card); color: var(--ink); box-shadow: 0 1px 2px rgba(14, 22, 40, .08), 0 4px 12px -6px rgba(14, 22, 40, .25); }
body.gv-woo .gv-auth__panel { display: flex; flex-direction: column; gap: 6px; }
body.gv-woo .gv-auth__panel + .gv-auth__panel { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--line); }
body.gv-woo .gv-auth.is-tabbed .gv-auth__panel + .gv-auth__panel { margin-top: 0; padding-top: 0; border-top: 0; }
body.gv-woo .gv-auth .gv-auth__lead { margin: 0; padding-bottom: 12px; color: var(--muted); }
body.gv-woo .woocommerce .gv-auth form.login,
body.gv-woo .woocommerce .gv-auth form.register { display: grid; gap: 16px; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; }
body.gv-woo .woocommerce .gv-auth form .form-row { margin: 0; }
body.gv-woo .woocommerce .gv-auth form .form-row label { font-size: 14px; }
body.gv-woo .woocommerce .gv-auth form .input-text { min-height: 54px; border-color: var(--line); }
body.gv-woo .gv-pass { position: relative; display: block; }
body.gv-woo .woocommerce .gv-auth .gv-pass .input-text { padding-right: 112px; }
body.gv-woo .gv-pass__show {
	position: absolute;
	top: 50%;
	right: 6px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 42px;
	padding: 0 12px;
	border-radius: var(--r-press);
	color: var(--blue);
	font-size: 13px;
	font-weight: 700;
	transform: translateY(-50%);
}
body.gv-woo .gv-pass__show:hover { background: var(--blue-soft); }
body.gv-woo .gv-pass__show[aria-pressed="true"] { color: var(--ink); }
body.gv-woo .gv-auth__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; }
body.gv-woo .woocommerce .gv-auth .woocommerce-form-login__rememberme { margin: 0 !important; font-weight: 600 !important; }
body.gv-woo .gv-auth__lost { display: inline-flex; align-items: center; min-height: 40px; font-size: 14px; font-weight: 600; }
body.gv-woo .woocommerce .gv-auth .gv-auth__submit { width: 100%; min-height: 56px; margin: 4px 0 0; border-radius: var(--r-press); }
body.gv-woo .woocommerce .gv-auth .gv-btn--solid { border-color: var(--blue-btn); background: var(--blue-btn); color: var(--on-blue); }
body.gv-woo .woocommerce .gv-auth .gv-btn--solid:hover { border-color: var(--blue-hover); background: var(--blue-hover); color: var(--on-blue); }
body.gv-woo .woocommerce .gv-auth .gv-btn--buy { border-color: var(--orange-btn); background: var(--orange-btn); color: var(--on-orange); }
body.gv-woo .woocommerce .gv-auth .gv-btn--buy:hover { border-color: var(--orange-hover); background: var(--orange-hover); color: var(--on-orange); }
body.gv-woo .gv-auth__switch { margin: 14px 0 0; color: var(--muted); font-size: 15px; text-align: center; }
body.gv-woo .gv-auth__switch a { color: var(--blue); font-weight: 700; }
body.gv-woo .gv-auth__note { display: flex; align-items: flex-start; gap: 10px; margin: 0; padding: 12px 14px; border-radius: var(--r-press); background: var(--blue-soft); font-size: 14.5px; }
body.gv-woo .gv-auth .woocommerce-privacy-policy-text { color: var(--muted); font-size: 13.5px; line-height: 1.55; }

/* ═══════════════════════════════════════════════════════════════════
   MI CUENTA — customers: the menu beside the page
   ═══════════════════════════════════════════════════════════════════ */

body.gv-woo .gv-account { display: grid; grid-template-columns: 280px minmax(0, 1fr); align-items: start; gap: clamp(20px, 3vw, 40px); margin-bottom: clamp(32px, 5vw, 64px); }
body.gv-woo .woocommerce-MyAccount-navigation.gv-account__nav {
	position: sticky;
	top: calc(var(--header-h, 100px) + 16px);
	padding: 16px;
	border: 1px solid var(--line);
	border-radius: var(--r-card);
	background: var(--card);
	box-shadow: var(--shadow-soft);
}
body.gv-woo .gv-account__who { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; padding: 4px 4px 16px; border-bottom: 1px solid var(--line); }
body.gv-woo .gv-account__who > span:last-child { display: flex; flex-direction: column; min-width: 0; line-height: 1.3; }
body.gv-woo .gv-account__who strong { font-size: 16px; }
body.gv-woo .gv-account__who small { overflow: hidden; color: var(--muted); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
body.gv-woo .gv-account__avatar { display: grid; place-items: center; flex: none; width: 44px; height: 44px; border-radius: var(--r-press); background: var(--blue-btn); color: var(--on-blue); font-family: var(--font-display); font-size: 19px; font-weight: 700; }
body.gv-woo .woocommerce-MyAccount-navigation.gv-account__nav ul { display: grid; gap: 2px; margin: 0; padding: 0; border: 0; }
body.gv-woo .woocommerce-MyAccount-navigation.gv-account__nav li { border: 0; }
body.gv-woo .woocommerce-MyAccount-navigation.gv-account__nav a {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 46px;
	padding: 0 12px;
	border: 0;
	border-radius: var(--r-press);
	color: var(--muted);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
}
body.gv-woo .woocommerce-MyAccount-navigation.gv-account__nav a:hover { background: var(--paper); color: var(--ink); }
body.gv-woo .woocommerce-MyAccount-navigation.gv-account__nav .is-active a { background: var(--blue-soft); color: var(--blue); }
body.gv-woo .woocommerce-MyAccount-navigation.gv-account__nav .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--line); }
body.gv-woo .gv-account__content {
	min-width: 0;
	padding: clamp(20px, 3vw, 36px);
	border: 1px solid var(--line);
	border-radius: var(--r-card);
	background: var(--card);
	box-shadow: var(--shadow-soft);
}

body.gv-woo .gv-dash { display: grid; gap: 24px; }
body.gv-woo .gv-dash__hello > p { margin: 6px 0 0; color: var(--muted); }
body.gv-woo .gv-dash__orders { padding: 20px; border: 1px solid var(--line); border-radius: var(--r-card); background: var(--paper); }
body.gv-woo .gv-dash__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
body.gv-woo .gv-dash__head a { display: inline-flex; align-items: center; min-height: 40px; font-size: 14px; font-weight: 700; }
body.gv-woo .gv-dash__list { margin: 0; padding: 0; list-style: none; }
body.gv-woo .gv-dash__list li { display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; align-items: center; gap: 12px 16px; padding: 14px 0; border-top: 1px solid var(--line); }
body.gv-woo .gv-dash__list li:first-child { border-top: 0; }
body.gv-woo .gv-dash__num { display: flex; flex-direction: column; line-height: 1.3; }
body.gv-woo .gv-dash__num small { color: var(--muted); font-size: 13px; }
body.gv-woo .gv-dash__status { padding: 4px 10px; border-radius: 999px; background: var(--blue-soft); color: var(--blue); font-size: 12.5px; font-weight: 700; white-space: nowrap; }
body.gv-woo .gv-dash__status--completed { background: var(--ok-soft); color: var(--ok); }
body.gv-woo .gv-dash__status--on-hold,
body.gv-woo .gv-dash__status--pending { background: var(--orange-soft, #FCEEE7); color: var(--orange-text); }
body.gv-woo .gv-dash__status--cancelled,
body.gv-woo .gv-dash__status--failed,
body.gv-woo .gv-dash__status--refunded { background: var(--danger-soft); color: var(--danger); }
body.gv-woo .gv-dash__total { font-weight: 700; }
body.gv-woo .gv-dash__view { display: inline-flex; align-items: center; gap: 4px; font-size: 14px; font-weight: 700; }
body.gv-woo .gv-dash__empty { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
body.gv-woo .gv-dash__empty > p { margin: 0; max-width: 32em; color: var(--muted); }
body.gv-woo .gv-dash__tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; }
body.gv-woo .gv-dash__tile {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 18px;
	border: 1px solid var(--line);
	border-radius: var(--r-card);
	background: var(--paper);
	color: var(--ink);
	text-decoration: none;
	transition: border-color .2s var(--ease), box-shadow .2s var(--ease);
}
body.gv-woo .gv-dash__tile:hover { border-color: var(--blue); box-shadow: var(--shadow-soft); }
body.gv-woo .gv-dash__tile .gv-i { color: var(--blue); }
body.gv-woo .gv-dash__tile span { color: var(--muted); font-size: 14px; line-height: 1.45; }
body.gv-woo .gv-dash__help { display: flex; flex-direction: column; gap: 10px; padding: 20px; border-radius: var(--r-card); background: var(--blue-soft); }
body.gv-woo .gv-dash__help > p { margin: 0; color: var(--muted); }

/* ═══════════════════════════════════════════════════════════════════
   PHONES AND TABLETS
   ═══════════════════════════════════════════════════════════════════ */

@media (max-width: 1100px) {
	.gv .gv-grid2--4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.gv .gv-pcar__track { grid-auto-columns: calc((100% - var(--gap)) / 2.15); }
}

@media (max-width: 980px) {
	.gv .gv-shop__layout { grid-template-columns: minmax(0, 1fr); }
	.gv .gv-shop__open { display: inline-flex; }
	.gv .gv-shop__filters {
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		z-index: 100001;
		width: min(380px, 90vw);
		overflow-y: auto;
		overscroll-behavior: contain;
		border-radius: 0 var(--r-card) var(--r-card) 0;
		transform: translateX(-105%);
		visibility: hidden;
		transition: transform .3s var(--ease), visibility 0s linear .3s;
	}
	.gv .gv-shop__filters.is-open { transform: none; visibility: visible; transition-delay: 0s; }
	.gv .gv-shop__filters-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
	.gv .gv-shop__close { display: grid; place-items: center; width: 44px; height: 44px; border-radius: var(--r-press); }
	.gv .gv-shop__scrim:not([hidden]) { display: block; position: fixed; inset: 0; z-index: 100000; background: rgba(14, 22, 40, .45); }

	.gv .gv-reviews2__grid { grid-template-columns: minmax(0, 1fr); }
	.gv .gv-reviews2__summary { position: static; }
	.gv .gv-about__grid { grid-template-columns: minmax(0, 1fr); }
	.gv .gv-about__media { max-width: 560px; }

	body.gv-woo .gv-account { grid-template-columns: minmax(0, 1fr); }
	body.gv-woo .woocommerce-MyAccount-navigation.gv-account__nav { position: static; }
	body.gv-woo .woocommerce-MyAccount-navigation.gv-account__nav ul { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
	body.gv-woo .woocommerce-MyAccount-navigation.gv-account__nav li { flex: none; }
	body.gv-woo .woocommerce-MyAccount-navigation.gv-account__nav a { border: 1px solid var(--line); }
	body.gv-woo .woocommerce-MyAccount-navigation.gv-account__nav .woocommerce-MyAccount-navigation-link--customer-logout { margin: 0; padding: 0; border: 0; }
}

@media (max-width: 860px) {
	body.gv-woo .gv-auth { grid-template-columns: minmax(0, 1fr); }
	body.gv-woo .gv-auth__side { order: 2; }
	.gv .gv-reviews2__list { grid-template-columns: minmax(0, 1fr); }
	.gv .gv-search__products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
	.gv .gv-grid2,
	.gv .gv-grid2--4,
	.gv .gv-grid2--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.gv .gv-card2__body { padding: 10px 12px 14px; }
	.gv .gv-card2__media { margin: 6px 6px 0; }
	.gv .gv-card2__price { font-size: 16px; }
	.gv .gv-card2__actions .gv-btn { min-height: 42px; padding: 0 10px; font-size: 11px; letter-spacing: .05em; }
	.gv .gv-card2__more { width: 42px; }
	.gv .gv-pcar__track { grid-auto-columns: 74%; }
	.gv .gv-pcar__nav { display: none; }
	.gv .gv-rform__row { grid-template-columns: minmax(0, 1fr); }
	.gv .gv-about__facts { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.gv .gv-about__badge { right: 12px; }
	.gv .gv-hero__note { top: 10px; right: 10px; padding: 10px 12px; }
	.gv .gv-shop__bar { justify-content: space-between; }
	.gv .gv-shop__sort label { display: none; }
	.gv .gv-shop__sort select { max-width: 180px; }
	.gv .gv-shop__count { flex-basis: 100%; order: 3; font-size: 14px; }
	body.gv-woo .gv-dash__list li { grid-template-columns: minmax(0, 1fr) auto; }
	body.gv-woo .gv-dash__total,
	body.gv-woo .gv-dash__view { justify-self: start; }
	.gv .gv-header__logo img,
	.gv.gv-site-head.is-scrolled .gv-header__logo img { height: 40px; }
}

@media (max-width: 420px) {
	.gv .gv-card2__more { display: none; }
}

/* ── Preferences ──────────────────────────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
	.gv .gv-card2,
	.gv .gv-card2__media img,
	.gv .gv-pcar__track,
	.gv .gv-shop__filters,
	.gv .gv-starpick label { transition: none; scroll-behavior: auto; }
	.gv .gv-card2:hover { transform: none; }
	.gv .gv-card2:hover .gv-card2__media img { transform: none; }
}

@media print {
	.gv .gv-shop__filters,
	.gv .gv-shop__bar,
	.gv .gv-pcar__nav,
	.gv .gv-rform-wrap { display: none !important; }
	.gv .gv-sec--blue > .gv-wrap { box-shadow: none; }
}
