/*
 * goodstore — jaunais izskats (gaišais), 08.11.2026. Bērnu tēma gdm-new virs gdm.
 * Sākumlapa B, katalogs K2, preces kartīte P2, pasūtījums O1. Fonts — veikala Qanelas (jau ielādēts vecāku tēmā).
 * Telefonā (< 992 px) apakšējā josla un meklēšana ir mu-plugin gs-mobile-nav.php; šeit tikai galvene un saturs.
 */

:root {
	--gsn-ink: #1F2329;
	--gsn-text: #3A3F47;
	--gsn-text2: #4F5560;
	--gsn-muted: #646B76;
	--gsn-faint: #6E757F; /* 09.11: was #9AA0A8 (2.6:1 on white, WCAG 1.4.3 needs 4.5:1 for text: counts, «(nav obligāts)», search placeholder) */
	--gsn-line: #ECEEF1;
	--gsn-line2: #DDE1E6;
	--gsn-line3: #E3E6EA;
	--gsn-soft: #F6F7F9;
	--gsn-soft2: #F1F3F5;
	--gsn-red: #D93A2B;
	--gsn-red-d: #B42318;
	--gsn-tint: #FDEEEC;
	--gsn-tint-b: #E3BFBA;
	--gsn-tint2: #FFF8F7;
	--gsn-green: #1E7A4C;
	--gsn-font: 'Qanelas', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	--gsn-shadow: 0 12px 32px rgba(31, 35, 41, .12);
}

/* ------------------------------------------------------------------ base -------------------------------------------------------- */

body.gsn {
	background: #fff;
	color: var(--gsn-text);
	font-family: var(--gsn-font);
	font-size: 15px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}
.gsn a { color: var(--gsn-ink); font-family: inherit; font-weight: inherit; text-decoration: none; }
.gsn a:hover { color: var(--gsn-red-d); }
.gsn h1, .gsn h2, .gsn h3, .gsn h4, .gsn h5, .gsn .h4, .gsn .h5 { font-family: var(--gsn-font); color: var(--gsn-ink); letter-spacing: 0; text-transform: none; }
.gsn button, .gsn input, .gsn select, .gsn textarea { font-family: var(--gsn-font); }
.gsn img { max-width: 100%; }
/* keyboard focus (WCAG 2.4.7): the parent theme has «:focus-visible { outline: none !important }», so without !important no
   link or button showed where the focus was (09.11); fields that show focus by their red border keep only the border */
.gsn :focus-visible { outline: 2px solid var(--gsn-red) !important; outline-offset: 2px; }
.gsn .gsn-search input#gsn-s:focus-visible, .gsn .gsn-mob-sform input:focus-visible, .gsn .gsn-404-search input:focus-visible,
.gsn .gsn-co .input-text:focus-visible, .gsn .gsn-co .form-row select:focus-visible, .gsn .gsn-co .form-row textarea:focus-visible,
.gsn.woocommerce-account .woocommerce .input-text:focus-visible, .gsn .gs-ms input:focus-visible { outline: none !important; }
.gsn-wrap { width: 100%; max-width: 1280px; margin: 0 auto; padding-left: 32px; padding-right: 32px; box-sizing: border-box; }
.gsn-i { display: block; flex: 0 0 auto; }
.gsn-skip { position: absolute; left: 12px; top: 12px; z-index: 2000; padding: 10px 14px; border-radius: 10px; background: #fff; box-shadow: var(--gsn-shadow); }
.gsn-vh { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; border: 0 !important; }
.gsn [hidden] { display: none !important; }

.gsn-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	height: 48px; padding: 0 20px; border: 0; border-radius: 12px;
	background: var(--gsn-red); color: #fff !important; font: 600 15px/1 var(--gsn-font); cursor: pointer; text-decoration: none;
}
.gsn-btn:hover { background: var(--gsn-red-d); color: #fff; }
.gsn-btn[disabled], .gsn-btn.is-busy { opacity: .6; cursor: progress; }
.gsn-chip { display: inline-flex; align-items: center; padding: 8px 14px; border-radius: 999px; background: #fff; border: 1px solid var(--gsn-line3); font-size: 14px; font-weight: 500; color: var(--gsn-text); white-space: nowrap; }
.gsn-chip:hover { border-color: var(--gsn-tint-b); color: var(--gsn-red-d); }
.gsn-chip-red { display: inline-flex; align-self: flex-start; padding: 5px 10px; border-radius: 999px; background: var(--gsn-tint); color: var(--gsn-red-d); font-size: 12px; font-weight: 700; line-height: 1.2; }
.gsn-chip-grey { display: inline-flex; padding: 5px 12px; border-radius: 999px; background: var(--gsn-soft2); color: var(--gsn-ink); font-size: 13px; font-weight: 600; line-height: 1.3; }
.gsn-round { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 999px; background: #fff; border: 1px solid var(--gsn-line3); color: var(--gsn-red-d); flex: 0 0 auto; }
.gsn-round-red { width: 56px; height: 56px; border: 0; color: var(--gsn-red-d); }
.gsn-sub { font-size: 14px; color: var(--gsn-muted); }
.gsn-more { font-size: 15px; font-weight: 600; color: var(--gsn-red-d) !important; white-space: nowrap; }

/* prices (WooCommerce price_html) */
.gsn del, .gsn del .amount { color: var(--gsn-muted); font-weight: 400; text-decoration: line-through; }
.gsn ins { text-decoration: none; }

/* ------------------------------------------------------------------ header (computer) ------------------------------------------- */

.gsn-util { background: var(--gsn-soft); font-size: 13px; color: var(--gsn-muted); }
.gsn-util-row { display: flex; flex-wrap: wrap; gap: 8px 24px; align-items: center; justify-content: space-between; padding-top: 8px; padding-bottom: 8px; }
.gsn-lang { display: flex; gap: 12px; }
.gsn-lang a { color: var(--gsn-muted); font-weight: 500; }
.gsn-lang a.is-on { color: var(--gsn-ink); font-weight: 700; }
.gsn-util-contacts { display: flex; gap: 20px; flex-wrap: wrap; }
.gsn-util-contacts a { color: var(--gsn-text); font-weight: 600; }

.gsn-header { background: #fff; }
.gsn-header-row { display: flex; flex-wrap: nowrap; gap: 16px 28px; align-items: center; padding-top: 18px; padding-bottom: 18px; }
.gsn-logo { display: flex; align-items: center; flex: 0 0 auto; }
.gsn-logo img { display: block; width: 258px; height: 38px; }
.gsn-search { flex: 1 1 440px; display: flex; min-width: 0; margin: 0; position: relative; }
.gsn .gsn-search input#gsn-s {
	flex: 1 1 auto; min-width: 0; width: auto; height: 48px; box-sizing: border-box; margin: 0;
	border: 1px solid #D5D9DF; border-right: 0; border-radius: 12px 0 0 12px; padding: 0 18px;
	font: 500 16px/1 var(--gsn-font); color: var(--gsn-ink); background: #fff; box-shadow: none;
}
.gsn .gsn-search input#gsn-s:focus { border-color: var(--gsn-red); outline: none; }
.gsn-search-btn {
	display: flex; align-items: center; gap: 8px; height: 48px; padding: 0 22px; border: 0; border-radius: 0 12px 12px 0;
	background: var(--gsn-red); color: #fff; font: 600 15px/1 var(--gsn-font); cursor: pointer; flex: 0 0 auto;
}
.gsn-search-btn:hover { background: var(--gsn-red-d); }
.gsn-account { display: flex; gap: 8px; align-items: center; flex: 0 0 auto; }
.gsn-account a { display: flex; align-items: center; gap: 8px; height: 46px; padding: 0 12px; border-radius: 12px; font-weight: 600; color: var(--gsn-ink); white-space: nowrap; }
.gsn-account a:hover { background: var(--gsn-soft); color: var(--gsn-ink); }
.gsn-profile span { max-width: 140px; overflow: hidden; text-overflow: ellipsis; }
.gsn .gsn-cart { gap: 10px; padding: 0 16px; border: 1px solid var(--gsn-line2); }
.gsn .gsn-cart .cart-content { display: inline-flex; position: static !important; }
.gsn .gsn-cart .cart-content-count {
	position: static !important; transform: none !important; display: inline-flex; align-items: center; justify-content: center;
	min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: var(--gsn-red); color: #fff; font-size: 12px; font-weight: 700; line-height: 1;
}

/* category row: what does not fit in one line is cut (all categories are in «Katalogs»); Outlet always stays at the right */
.gsn-nav { position: relative; z-index: 60; background: #fff; border-top: 1px solid var(--gsn-line); border-bottom: 1px solid var(--gsn-line); }
.gsn-nav-row { display: flex; flex-wrap: nowrap; gap: 4px; align-items: center; height: 56px; padding-top: 8px; padding-bottom: 8px; }
.gsn-nav-links { flex: 1 1 auto; min-width: 0; display: flex; flex-wrap: wrap; gap: 4px; height: 40px; overflow: hidden; }
.gsn-nav-outlet { flex: 0 0 auto; }
.gsn-cat-btn {
	display: flex; align-items: center; gap: 8px; height: 40px; padding: 0 14px; margin-right: 8px; border: 0; border-radius: 10px;
	background: var(--gsn-soft2); color: var(--gsn-ink); font: 600 15px/1 var(--gsn-font); cursor: pointer;
}
.gsn-cat-btn:hover { background: #E9ECEF; }
.gsn-cat-btn[aria-expanded="true"] { background: var(--gsn-tint); color: var(--gsn-red-d); }
.gsn-cat-btn .gsn-i:last-child { transition: transform .15s; }
.gsn-cat-btn[aria-expanded="true"] .gsn-i:last-child { transform: rotate(180deg); }
.gsn-nav-link { display: flex; align-items: center; height: 40px; padding: 0 12px; border-radius: 10px; font-size: 15px; font-weight: 500; color: var(--gsn-text) !important; white-space: nowrap; }
.gsn-nav-link:hover { background: var(--gsn-soft); color: var(--gsn-ink) !important; }
.gsn-nav-link.is-on { color: var(--gsn-red-d) !important; font-weight: 700; }
.gsn-nav-outlet { gap: 6px; font-weight: 600; color: var(--gsn-red-d) !important; }

/* «Katalogs» menu */
.gsn-mega { position: absolute; left: 0; right: 0; top: 100%; height: 100vh; background: rgba(31, 35, 41, .30); }
.gsn-mega-in { display: flex; padding: 0; background: #fff; border-radius: 0 0 20px 20px; box-shadow: 0 18px 40px rgba(31, 35, 41, .16); overflow: hidden; max-height: calc(100vh - 200px); }
.gsn-mega-cats { list-style: none; margin: 0; padding: 12px 10px; width: 320px; flex: 0 0 320px; box-sizing: border-box; border-right: 1px solid var(--gsn-line); overflow-y: auto; display: flex; flex-direction: column; gap: 2px; }
.gsn-mega-cats a { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 38px; padding: 0 12px; border-radius: 10px; font-size: 14px; font-weight: 500; color: var(--gsn-ink); }
.gsn-mega-cats a:hover { background: var(--gsn-soft); }
.gsn-mega-cats a.is-on { background: var(--gsn-soft); font-weight: 700; color: var(--gsn-red-d); }
.gsn-mega-cats a.is-outlet { color: var(--gsn-red-d); font-weight: 600; }
.gsn-mega-cats small { font-size: 12px; font-weight: 500; color: var(--gsn-faint); }
/* some top category names are stored in capitals («PIEKĻUVES SISTĒMAS»): shown as a sentence (these twelve have no abbreviations);
   the text stays as it is for TranslatePress */
.gsn-mega-cats a > span, .gsn-oc-cats a > span, .gsn-mega-title, .gsn-rail-more-cat { text-transform: lowercase; }
.gsn-mega-cats a > span::first-letter, .gsn-oc-cats a > span::first-letter, .gsn-mega-title::first-letter, .gsn-rail-more-cat::first-letter { text-transform: uppercase; }
.gsn-mega-panels { flex: 1 1 auto; min-width: 0; display: flex; overflow-y: auto; }
.gsn-mega-panel { flex: 1 1 auto; display: flex; min-width: 0; }
.gsn-mega-main { flex: 1 1 auto; min-width: 0; padding: 24px 28px; display: flex; flex-direction: column; gap: 18px; }
.gsn-mega-head { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.gsn-mega-title { font-size: 22px; font-weight: 700; color: var(--gsn-ink); }
.gsn-mega-head > span { font-size: 14px; color: var(--gsn-muted); }
.gsn-mega-all { margin-left: auto; font-size: 14px; font-weight: 600; color: var(--gsn-red-d) !important; }
.gsn-mega-subs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 28px; }
.gsn-mega-subs a { display: flex; justify-content: space-between; align-items: center; gap: 10px; min-height: 42px; padding: 0 12px; border-radius: 10px; border: 1px solid var(--gsn-soft2); font-size: 15px; font-weight: 500; }
.gsn-mega-subs a:hover { border-color: var(--gsn-tint-b); background: var(--gsn-tint2); }
.gsn-mega-subs small { font-size: 13px; color: var(--gsn-faint); }
.gsn-mega-top { flex: 0 0 236px; align-self: flex-start; margin: 24px 24px 24px 0; padding: 16px; border-radius: 16px; background: var(--gsn-soft); display: flex; flex-direction: column; gap: 10px; color: var(--gsn-ink); }
.gsn-mega-top img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: contain; border-radius: 12px; mix-blend-mode: multiply; }
.gsn-mega-top-name { font-size: 14px; line-height: 1.4; font-weight: 500; }
.gsn-mega-top-price { font-size: 18px; font-weight: 700; }
.gsn-mega-top-price del { display: none; }

/* ------------------------------------------------------------------ header (phone, < 992 px) ------------------------------------ */

.gsn #mobile_menu.gsn-mob { background: #fff; border-bottom: 1px solid var(--gsn-line); box-shadow: none; }
.gsn-mob-row { display: flex; align-items: center; justify-content: space-between; height: 52px; padding: 0 6px 0 16px; }
.gsn .gsn-mob-logo { display: flex; align-items: center; width: auto; margin: 0 !important; }
.gsn #mobile_menu .top-cart { background: none !important; padding: 0 !important; margin: 0 !important; }
.gsn-mob-logo img { display: block; width: 163px; height: 24px; }
.gsn-mob-right { display: flex; align-items: center; }
.gsn-mob-user, .gsn-mob-cart, .gsn-mob .btn-nav { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border: 0; background: none; color: var(--gsn-ink); position: relative; padding: 0; }
.gsn-mob-cart .cart-content-count { font-size: 11px; background: var(--gsn-red) !important; color: #fff; min-width: 18px; height: 18px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; padding: 0 5px; top: 8px !important; }
body.gs-mnav-on .gsn-mob-cart, body.gs-mnav-on .gsn-mob .btn-nav { display: none !important; } /* the bottom bar has the cart and the catalogue */
.gsn-mob-lang { position: relative; }
.gsn-mob-lang summary { list-style: none; height: 44px; padding: 0 10px; display: flex; align-items: center; font-size: 14px; font-weight: 700; color: var(--gsn-text); cursor: pointer; }
.gsn-mob-lang summary::-webkit-details-marker { display: none; }
.gsn-mob-lang summary::after { content: ''; width: 6px; height: 6px; margin-left: 6px; border-right: 1.6px solid currentColor; border-bottom: 1.6px solid currentColor; transform: rotate(45deg) translateY(-2px); }
.gsn-mob-lang-list { position: absolute; right: 0; top: 44px; z-index: 1035; display: flex; flex-direction: column; min-width: 76px; padding: 6px; border-radius: 12px; background: #fff; box-shadow: var(--gsn-shadow); }
.gsn-mob-lang-list a { padding: 10px 12px; border-radius: 8px; font-size: 14px; font-weight: 600; color: var(--gsn-text); }
.gsn-mob-lang-list a.is-on { background: var(--gsn-soft); color: var(--gsn-red-d); }
.gsn-mob-search { padding: 4px 16px 10px; }
.gsn-mob-sbtn, .gsn-mob-sform { display: flex; align-items: center; gap: 10px; width: 100%; height: 44px; margin: 0; padding: 0 12px; border: 1px solid #D5D9DF; border-radius: 12px; background: #fff; box-sizing: border-box; color: var(--gsn-ink); text-align: left; }
.gsn-mob-sbtn span { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 16px; font-weight: 500; color: var(--gsn-faint); }
.gsn-mob-sform input { flex: 1 1 auto; min-width: 0; border: 0; outline: 0; background: transparent; font: 500 16px/1 var(--gsn-font); color: var(--gsn-ink); }
body.gs-mnav-on .gsn-mob-sform { display: none; }
body:not(.gs-mnav-on) .gsn-mob-sbtn { display: none; }

/* the phone menu (Bootstrap offcanvas, opened by «Katalogs» in the bottom bar) */
.gsn-offcanvas { --bs-offcanvas-width: min(360px, 88vw); }
.gsn #offcanvas-navbar.gsn-offcanvas { background-color: #fff !important; color: var(--gsn-ink); }
.gsn #mobile_menu .gsn-offcanvas .offcanvas-header { padding: 14px 10px 10px 18px !important; border-bottom: 1px solid var(--gsn-line); }
.gsn-offcanvas .offcanvas-title { margin: 0; font-size: 19px; font-weight: 700; color: var(--gsn-ink); }
.gsn-offcanvas .offcanvas-header .btn { width: 44px; height: 44px; padding: 0; display: flex; align-items: center; justify-content: center; color: var(--gsn-ink); }
.gsn-offcanvas .offcanvas-body { padding: 8px 10px 24px; }
.gsn-oc-cats { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.gsn-oc-cats a { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 46px; padding: 0 10px; border-radius: 10px; font-size: 15px; font-weight: 600; color: var(--gsn-ink); }
.gsn-oc-cats a:active, .gsn-oc-cats a:hover { background: var(--gsn-soft); }
.gsn-oc-cats a.is-outlet { color: var(--gsn-red-d); }
.gsn-oc-cats small { font-size: 12px; font-weight: 500; color: var(--gsn-faint); }
.gsn-oc-lang { display: flex; gap: 6px; flex-wrap: wrap; margin: 18px 10px 0; }
.gsn-oc-lang a { padding: 8px 12px; border-radius: 10px; border: 1px solid var(--gsn-line3); font-size: 14px; font-weight: 600; color: var(--gsn-text); }
.gsn-oc-lang a.is-on { border-color: var(--gsn-tint-b); background: var(--gsn-tint); color: var(--gsn-red-d); }
.gsn-oc-contacts { display: flex; flex-direction: column; gap: 6px; margin: 18px 10px 0; font-size: 15px; font-weight: 600; }

@media (max-width: 991.98px) {
	.gsn-util, .gsn-header, .gsn-nav { display: none !important; }
}
@media (min-width: 992px) {
	.gsn-mob { display: none !important; }
}

/* ------------------------------------------------------------------ page frame -------------------------------------------------- */

.gsn-main { display: block; min-height: 40vh; }
.gsn .breadcrumb, .gsn nav.woocommerce-breadcrumb {
	display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 16px 0 0 !important; padding: 0 !important;
	background: none !important; border-radius: 0 !important; font-size: 13px; line-height: 1.4; color: var(--gsn-muted);
}
/* pages from the theme's page.php (checkout, cart, account, information pages): the same width as the header */
.gsn main#site-main.container { max-width: 1280px; padding-left: 32px; padding-right: 32px; }
.gsn .page_heading { margin: 28px 0 18px; padding: 0 !important; font: 700 30px/1.2 var(--gsn-font) !important; color: var(--gsn-ink) !important; text-transform: none !important; }
.gsn .breadcrumb a { color: var(--gsn-muted); font-weight: 400; }
.gsn .breadcrumb a:hover { color: var(--gsn-red-d); }
.gsn .breadcrumb .fa-home { font-size: 13px; }
.gsn-sec { padding-top: 48px; }
.gsn-sec-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px 16px; margin-bottom: 16px; flex-wrap: wrap; }
.gsn-sec-head h2 { margin: 0; font-size: 24px; line-height: 1.25; font-weight: 700; }
.gsn-sec-head h2 + .gsn-sub { margin-right: auto; }

/* ------------------------------------------------------------------ cards ------------------------------------------------------- */

.gsn-card { position: relative; display: flex; flex-direction: column; gap: 8px; min-width: 0; padding: 14px; border: 1px solid var(--gsn-line); border-radius: 16px; background: #fff; transition: box-shadow .15s, border-color .15s; }
.gsn-card:hover { border-color: var(--gsn-line2); box-shadow: 0 6px 18px rgba(31, 35, 41, .07); }
.gsn-badge { position: absolute; top: 12px; left: 12px; z-index: 1; padding: 3px 7px; border-radius: 7px; background: var(--gsn-red); color: #fff; font-size: 12px; font-weight: 700; line-height: 1.3; }
.gsn-card-img { height: 150px; display: flex; align-items: center; justify-content: center; }
.gsn-card-img img { display: block; width: auto; height: auto; max-width: 100%; max-height: 150px; object-fit: contain; }
.gsn-card-brand, .gsn-loop-brand { font-size: 11px; font-weight: 600; letter-spacing: .8px; text-transform: uppercase; color: var(--gsn-muted); line-height: 1.3; }
.gsn-card-name { font-size: 14px; line-height: 1.4; font-weight: 500; color: var(--gsn-ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.8em; max-height: 2.8em; overflow-wrap: anywhere; } /* max-height: Safari showed a third line under the clamp */
.gsn-card-stock { display: flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 500; color: var(--gsn-green); }
.gsn-card-stock::before { content: ''; width: 6px; height: 6px; border-radius: 999px; background: currentColor; }
.gsn-card-foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; margin-top: auto; }
.gsn-card-price { display: flex; flex-direction: column; min-width: 0; font-size: 18px; font-weight: 700; color: var(--gsn-ink); line-height: 1.25; }
.gsn-card-price del, .gsn-card-price del .amount { font-size: 12px; }
.gsn-card-price ins { color: var(--gsn-red-d); }
.gsn-card-price .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.gsn-cart-btn { flex: 0 0 auto; width: 44px; height: 44px; display: flex !important; align-items: center; justify-content: center; padding: 0 !important; border: 0; border-radius: 12px; background: var(--gsn-soft2) !important; color: var(--gsn-ink) !important; }
.gsn-cart-btn:hover { background: var(--gsn-tint) !important; color: var(--gsn-red-d) !important; }
.gsn-cart-btn.loading { opacity: .55; pointer-events: none; }
.gsn-cart-btn.added { background: #E5F3EC !important; color: var(--gsn-green) !important; }
.gsn-card .added_to_cart, .gsn-hero-foot .added_to_cart { display: none !important; }
.gsn-only-mob { display: none !important; }
/* phone-only (.gsn-m) and computer-only (.gsn-d) pieces; each keeps its own display where it is shown */
@media (min-width: 768px) { .gsn-m { display: none !important; } }
@media (max-width: 767.98px) { .gsn-d { display: none !important; } }

/* the theme's catalogue cards (content-product.php: categories, search, related products) */
.gsn .card.product { position: relative; padding: 12px; border: 1px solid var(--gsn-line) !important; border-radius: 16px !important; background: #fff; text-align: left !important; transition: box-shadow .15s, border-color .15s; }
.gsn .card.product:hover { background: #fff; border-color: var(--gsn-line2) !important; box-shadow: 0 6px 18px rgba(31, 35, 41, .07); }
.gsn .card.product .shop-card-img { position: relative; height: auto; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 10px; }
.gsn .card.product .shop-card-img a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.gsn .card.product .shop-card-img img { display: block; width: auto !important; height: auto !important; max-width: 100%; max-height: 100% !important; padding: 0 !important; object-fit: contain; }
.gsn .gsn-mega-top img, .gsn .gsn-card-img img, .gsn .gsn-hero-img img { padding: 0 !important; }
.gsn .card.product .badge.sale { top: 0; left: 0; padding: 4px 8px; border-radius: 7px; background: var(--gsn-red); font-size: 11px; font-weight: 700; letter-spacing: 0; text-transform: none; }
.gsn .card.product .card-body { padding: 8px 0 0 !important; gap: 4px; }
.gsn .card.product .card-body > a { display: flex; flex-direction: column; gap: 4px; color: var(--gsn-ink); }
.gsn .card.product .woocommerce-loop-product__title { margin: 0; padding: 0; font: 500 14px/1.4 var(--gsn-font) !important; color: var(--gsn-ink); text-align: left; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.8em; max-height: 2.8em; overflow-wrap: anywhere; }
.gsn .card.product .price { margin: 4px 0 0 !important; padding-right: 52px; font-family: var(--gsn-font); color: var(--gsn-ink) !important; line-height: 1.25; }
.gsn .card .price .woocommerce-Price-amount.amount { font-size: 18px; line-height: 1.25; font-weight: 700; }
.gsn .card .price del { display: block; }
.gsn .card .price del .woocommerce-Price-amount.amount { display: inline; font-size: 12px !important; font-weight: 400; color: var(--gsn-muted) !important; }
.gsn .card .price ins .woocommerce-Price-amount.amount { font-size: 18px !important; color: var(--gsn-red-d); }
body.gsn:not(.gs-mnav-list) .card.product .add-to-cart-container { position: absolute; right: 12px; bottom: 12px; margin: 0 !important; }
body.gsn:not(.gs-mnav-list) .card.product .add-to-cart-container a.button,
body.gsn:not(.gs-mnav-list) .card.product .add-to-cart-container a {
	display: block !important; width: 44px; height: 44px; margin: 0 !important; padding: 0 !important; border: 0; border-radius: 12px; overflow: hidden;
	font-size: 0 !important; line-height: 0 !important; color: transparent !important;
	background: var(--gsn-soft2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F2329' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 11.2a2 2 0 0 0 2 1.6h7.7a2 2 0 0 0 2-1.5L21 8H6'/%3E%3Ccircle cx='10' cy='20' r='1.4'/%3E%3Ccircle cx='17' cy='20' r='1.4'/%3E%3C/svg%3E") center / 20px 20px no-repeat !important;
}
body.gsn:not(.gs-mnav-list) .card.product .add-to-cart-container a:not(.ajax_add_to_cart) {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F2329' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M13 6l6 6-6 6'/%3E%3C/svg%3E") !important;
}
body.gsn:not(.gs-mnav-list) .card.product .add-to-cart-container a:hover { background-color: var(--gsn-tint) !important; }
body.gsn:not(.gs-mnav-list) .card.product .add-to-cart-container a.loading { opacity: .55; }
body.gsn:not(.gs-mnav-list) .card.product .add-to-cart-container a.added { background-color: #E5F3EC !important; }
body.gsn:not(.gs-mnav-list) .card.product .add-to-cart-container a::before,
body.gsn:not(.gs-mnav-list) .card.product .add-to-cart-container a::after { display: none !important; }
/* computers: the same button on search results too (there the body has gs-mnav-list, which only lists cards on phones) */
@media (min-width: 992px) {
	body.gsn.gs-mnav-list .card.product .add-to-cart-container { position: absolute; right: 12px; bottom: 12px; margin: 0 !important; }
	body.gsn.gs-mnav-list .card.product .add-to-cart-container a {
		display: block !important; width: 44px; height: 44px; margin: 0 !important; padding: 0 !important; border: 0; border-radius: 12px; overflow: hidden;
		font-size: 0 !important; line-height: 0 !important; color: transparent !important;
		background: var(--gsn-soft2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F2329' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 11.2a2 2 0 0 0 2 1.6h7.7a2 2 0 0 0 2-1.5L21 8H6'/%3E%3Ccircle cx='10' cy='20' r='1.4'/%3E%3Ccircle cx='17' cy='20' r='1.4'/%3E%3C/svg%3E") center / 20px 20px no-repeat !important;
	}
	body.gsn.gs-mnav-list .card.product .add-to-cart-container a:not(.ajax_add_to_cart) {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F2329' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M13 6l6 6-6 6'/%3E%3C/svg%3E") !important;
	}
	body.gsn.gs-mnav-list .card.product .add-to-cart-container a:hover { background-color: var(--gsn-tint) !important; }
	body.gsn.gs-mnav-list .card.product .add-to-cart-container a.added { background-color: #E5F3EC !important; }
	body.gsn.gs-mnav-list .card.product .add-to-cart-container a::before,
	body.gsn.gs-mnav-list .card.product .add-to-cart-container a::after { display: none !important; }
}
.gsn .card.product .added_to_cart { display: none !important; }
.gsn .product-category .card { border: 1px solid var(--gsn-line) !important; border-radius: 16px !important; overflow: hidden; }
.gsn .product-category .woocommerce-loop-category__title { font-size: 15px !important; font-weight: 600; color: var(--gsn-ink); }

/* ------------------------------------------------------------------ home (B) ---------------------------------------------------- */

.gsn-hero { background: var(--gsn-soft); }
.gsn-hero-row { display: flex; flex-wrap: wrap; gap: 32px; align-items: center; padding-top: 44px; padding-bottom: 44px; }
.gsn-hero-txt { flex: 1 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.gsn-eyebrow { margin: 0; font-size: 13px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: var(--gsn-red-d); }
.gsn-hero h1 { margin: 0; font-size: 42px; line-height: 1.12; font-weight: 700; letter-spacing: -.4px; color: var(--gsn-ink); }
.gsn-hero-p { margin: 0; max-width: 620px; font-size: 17px; line-height: 1.6; color: var(--gsn-text2); }
.gsn-quick { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 4px; }
.gsn-quick-l { font-size: 14px; font-weight: 600; color: var(--gsn-muted); margin-right: 4px; }
.gsn-hero-card { flex: 0 1 380px; min-width: 280px; box-sizing: border-box; padding: 22px; border-radius: 18px; background: #fff; box-shadow: 0 1px 2px rgba(31, 35, 41, .06); display: flex; flex-direction: column; gap: 10px; }
.gsn-hero-card-top { display: flex; justify-content: space-between; align-items: center; }
.gsn-hero-img { height: 210px; display: flex; align-items: center; justify-content: center; }
.gsn-hero-img img { display: block; width: auto; height: auto; max-width: 100%; max-height: 210px; object-fit: contain; }
.gsn-hero-name { font-size: 17px; line-height: 1.4; font-weight: 600; color: var(--gsn-ink); }
.gsn-hero-foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 4px; }
.gsn-hero-price { display: flex; flex-direction: column; gap: 2px; font-size: 26px; font-weight: 700; color: var(--gsn-ink); line-height: 1.2; }
.gsn-hero-price del, .gsn-hero-price del .amount { font-size: 14px; }
.gsn-hero-price ins { color: var(--gsn-red-d); }
.gsn-hero-price .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.gsn-hero-foot .gsn-cart-btn { width: 52px; height: 52px; background: var(--gsn-red) !important; color: #fff !important; border-radius: 14px; }
.gsn-hero-foot .gsn-cart-btn:hover { background: var(--gsn-red-d) !important; color: #fff !important; }

.gsn-trust { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; padding-top: 24px; }
.gsn-trust-item { display: flex; gap: 14px; align-items: center; padding: 14px 18px; border: 1px solid var(--gsn-line); border-radius: 14px; }
.gsn-trust-item > span:last-child { display: flex; flex-direction: column; gap: 2px; font-size: 14px; color: var(--gsn-muted); }
.gsn-trust-item strong { font-size: 15px; font-weight: 600; color: var(--gsn-ink); }
.gsn-trust-item a { color: var(--gsn-muted); font-weight: 600; }
.gsn-trust-i { flex: 0 0 auto; width: 42px; height: 42px; border-radius: 999px; background: var(--gsn-soft); display: flex; align-items: center; justify-content: center; color: var(--gsn-red-d); }

.gsn-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
.gsn-tile { display: flex; align-items: center; justify-content: space-between; gap: 12px; height: 118px; padding: 0 10px 0 22px; border-radius: 16px; background: var(--gsn-soft); overflow: hidden; transition: background .15s; }
.gsn-tile:hover { background: #EEF0F3; }
.gsn-tile-txt { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.gsn-tile-txt strong { font-size: 16px; line-height: 1.3; font-weight: 600; color: var(--gsn-ink); }
.gsn-tile-txt > span { font-size: 14px; color: var(--gsn-muted); }
.gsn-tile img { flex: 0 0 auto; width: 104px; height: 104px; object-fit: contain; }

.gsn-rail { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 16px; }
.gsn-rail-more { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 12px; padding: 22px; border-radius: 16px; background: var(--gsn-soft); min-height: 300px; box-sizing: border-box; }
.gsn-rail-more:hover { background: #EEF0F3; }
.gsn-rail-more-cat { font-size: 13px; font-weight: 600; color: var(--gsn-muted); }
.gsn-rail-more strong { font-size: 20px; line-height: 1.3; font-weight: 700; color: var(--gsn-ink); }
.gsn-rail-more-n { font-size: 14px; color: var(--gsn-muted); }

.gsn-brands { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px; }
.gsn-brand { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; border: 1px solid var(--gsn-line); border-radius: 14px; }
.gsn-brand:hover { border-color: var(--gsn-tint-b); }
.gsn-brand strong { font-size: 17px; font-weight: 700; color: var(--gsn-ink); }
.gsn-brand span { font-size: 13px; color: var(--gsn-muted); }

.gsn-outlet-strip { display: flex; flex-wrap: wrap; gap: 16px 20px; align-items: center; padding: 24px 28px; border-radius: 18px; background: var(--gsn-tint); }
.gsn-outlet-txt { display: flex; flex-direction: column; gap: 4px; }
.gsn-outlet-txt strong { font-size: 19px; font-weight: 700; color: var(--gsn-ink); }
.gsn-outlet-txt span { font-size: 15px; line-height: 1.5; color: var(--gsn-text2); }
.gsn-outlet-btn { margin-left: auto; flex: 0 0 auto; display: flex; align-items: center; height: 44px; padding: 0 18px; border-radius: 12px; background: #fff; color: var(--gsn-red-d); font-size: 15px; font-weight: 600; }

/* ------------------------------------------------------------------ catalogue (K2) ---------------------------------------------- */

.gsn-k { display: flex; flex-direction: column; padding-top: 6px; }
.gsn-k > .col-md-4 { width: 100% !important; max-width: none !important; flex: 0 0 auto !important; padding: 0 !important; margin: 0 !important; }
.gsn-k-main { min-width: 0; }
.gsn-k-main h1.page-title, .gsn-main-k h1.page-title { display: inline-block; margin: 12px 12px 0 0; font: 700 30px/1.2 var(--gsn-font); color: var(--gsn-ink); text-transform: none; vertical-align: baseline; }
.gsn-k-count { display: inline-block; margin: 0; font-size: 15px; color: var(--gsn-muted); vertical-align: baseline; }
.gsn h1, .gsn h2 { overflow-wrap: anywhere; }
.gsn-k-main h1.page-title, .gsn-main-k h1.page-title { max-width: 100%; }
.gsn .display-4 { font-size: clamp(26px, 6vw, 44px); line-height: 1.2; font-weight: 700; }
.gsn-k-count:empty { display: none; }
.gsn-k-desc { max-width: 900px; margin: 8px 0 0; font-size: 15px; line-height: 1.55; color: var(--gsn-text2); }
.gsn-k-desc .term-description, .gsn-k-desc .page-description { margin: 0; }
.gsn-k-desc p { margin: 0 0 8px; }
.gsn-k-desc p:last-child { margin-bottom: 0; }
.gsn-k-desc a { color: var(--gsn-red-d); font-weight: 600; }
.gsn-k-desc.is-folded { max-height: 3.1em; overflow: hidden; -webkit-mask-image: linear-gradient(#000 45%, transparent); mask-image: linear-gradient(#000 45%, transparent); }
.gsn-k-more { display: inline-flex; align-items: center; height: 25px; margin: 2px 0 0; padding: 4px 0; border: 0; background: none; font: 600 14px/1.2 var(--gsn-font); color: var(--gsn-red-d); cursor: pointer; }
.gsn-k-desc.is-folded:not(.has-more) { margin-bottom: 27px; } /* room for «Lasīt vairāk» before the script adds it (ru 768 px: the products moved 26 px, CLS 0.04) */
/* FacetWP «Noņemt filtrus» (the theme made it a red upper-case block with a 20 px bottom margin) and the «per page» select */
.gsn #sidebar .widget.gsn-f-reset { align-self: center; }
.gsn #sidebar .facetwp-reset { display: inline-flex; align-items: center; gap: 6px; height: 42px; margin: 0 !important; padding: 0 12px !important; border: 0; border-radius: 999px; background: none !important; color: var(--gsn-red-d) !important; font: 600 14px/1 var(--gsn-font) !important; text-transform: none !important; cursor: pointer; }
.gsn #sidebar .facetwp-reset::before { content: '\00D7'; font-size: 20px; font-weight: 500; line-height: 1; }
.gsn #sidebar .facetwp-reset:hover { background: var(--gsn-tint) !important; }
.gsn .facetwp-per-page-select {
	width: 100%; height: 42px; padding: 0 34px 0 12px; border: 1px solid var(--gsn-line2); border-radius: 10px; background-color: #fff;
	font: 500 14px/1 var(--gsn-font); color: var(--gsn-ink); -webkit-appearance: none; appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23646B76' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 10px center; background-size: 16px;
}
.gsn .woocommerce-ordering select { width: 100%; }
.gsn .prod_skaits .facetwp-facet-skaits_lapa { margin: 0 !important; }
.gsn-k-main .term-description { max-width: 860px; margin-top: 8px; font-size: 15px; color: var(--gsn-text2); }
.gsn-k-main > .row:first-of-type, .gsn-k-main .woocommerce-notices-wrapper + .row { align-items: center; margin-top: 8px; }
.gsn .woocommerce-result-count { margin: 0; font-size: 14px; color: var(--gsn-muted); }
.gsn .prod_skaits { justify-content: flex-end; align-items: center; gap: 10px; margin-bottom: 16px !important; }
.gsn .woocommerce-ordering select, .gsn .orderby {
	height: 42px; padding: 0 34px 0 12px; border: 1px solid var(--gsn-line2); border-radius: 10px; background-color: #fff;
	font: 500 14px/1 var(--gsn-font); color: var(--gsn-ink); -webkit-appearance: none; appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23646B76' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 10px center; background-size: 16px;
}
.gsn .woocommerce-ordering { margin: 0; }
.gsn .facetwp-pager { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px; margin: 28px 0 0; }
.gsn .facetwp-page { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 12px; margin: 0 !important; border: 1px solid var(--gsn-line2); border-radius: 12px; background: #fff; font-size: 15px; font-weight: 600; color: var(--gsn-ink); }
.gsn .facetwp-page.active { background: var(--gsn-ink); border-color: var(--gsn-ink); color: #fff; }
.gsn .facetwp-page.dots { border-color: transparent; }

/* filters: the theme's sidebar (FacetWP in widgets) becomes a row of buttons above the products; each opens its list below it */
.gsn #secondary { margin: 0; }
.gsn #sidebar .offcanvas-header { display: none; }
.gsn #sidebar .widget { margin: 0; padding: 0; border: 0; }
.gsn #sidebar .widget.gsn-f-off { display: none !important; }
.gsn #sidebar .facet-collapse-link { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; }
.gsn #sidebar .facet-label { margin: 0; padding: 0; font: 600 14px/1.2 var(--gsn-font) !important; color: inherit !important; text-transform: none; }
.gsn #sidebar .collapse:not(.show) { display: block; } /* no collapsing in the new look */
.gsn #sidebar .collapse .facetwp-facet { margin: 0 !important; }
.gsn-pill-n { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: var(--gsn-red); color: #fff; font-size: 12px; font-weight: 700; line-height: 1; }
.gsn .facetwp-checkbox { position: relative; display: flex; align-items: center; gap: 8px; min-height: 36px; margin: 0 !important; padding: 0 0 0 28px !important; background: none !important; font-size: 14px !important; font-weight: 500 !important; line-height: 1.3 !important; color: var(--gsn-ink); cursor: pointer; }
.gsn .facetwp-checkbox::before { content: ''; position: absolute; left: 0; top: 50%; width: 18px; height: 18px; margin-top: -9px; box-sizing: border-box; border: 1.5px solid #C3C8CF; border-radius: 5px; background: #fff; }
.gsn .facetwp-checkbox.checked::before { border-color: var(--gsn-red); background: var(--gsn-red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 13px no-repeat; }
.gsn .facetwp-checkbox.checked { font-weight: 600 !important; }
.gsn .facetwp-checkbox.disabled { opacity: .45; }
.gsn .facetwp-counter { margin-left: auto; padding-left: 8px; font-size: 13px !important; font-weight: 400; color: var(--gsn-faint) !important; }
.gsn .facetwp-toggle { display: inline-block; margin-top: 6px; font-size: 13px !important; font-weight: 600; color: var(--gsn-red-d); cursor: pointer; }
.gsn .facetwp-toggle.facetwp-hidden, .gsn .facetwp-overflow.facetwp-hidden { display: none !important; }
.gsn .facetwp-reset { height: 42px; padding: 0 12px; border: 0; border-radius: 999px; background: none; font: 600 14px/1 var(--gsn-font); color: var(--gsn-muted); cursor: pointer; }
.gsn .facetwp-reset:hover { color: var(--gsn-red-d); }
.gsn .facetwp-slider-wrap { padding: 14px 10px 6px; }
.gsn .noUi-connect { background: var(--gsn-red); }
.gsn .noUi-horizontal .noUi-handle { border-radius: 999px; box-shadow: none; border: 2px solid var(--gsn-red); }
.gsn .facetwp-slider-label { font-size: 14px; font-weight: 600; color: var(--gsn-ink); }
.gsn .facetwp-slider-reset { margin-top: 8px; padding: 6px 12px; border: 1px solid var(--gsn-line2); border-radius: 10px; background: #fff; font: 600 13px/1 var(--gsn-font); color: var(--gsn-muted); }
.gsn-f-all { display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--gsn-line3); background: var(--gsn-soft); font: 600 14px/1 var(--gsn-font); color: var(--gsn-ink); cursor: pointer; }
.gsn-f-foot { display: none; }

@media (min-width: 768px) {
	/* no jump while loading: FacetWP first draws every filter as a full list (≈640 px) and the theme then folds them into
	   buttons, so the products went down and up again (CLS up to 1.5). Lists stay hidden until they are buttons, and the
	   row keeps the place of one line of buttons from the start. */
	.gsn #sidebar .widget > .facetwp-facet:not(.facetwp-type-reset) { display: none !important; }
	/* and the theme first shows a button for every filter with values (≈30 on «Veikals», 1 100 px) before newlook.js keeps six:
	   a widget is shown only once newlook.js has sorted it */
	.gsn #sidebar .widget:not(.gsn-f):not(.gsn-f-reset) { display: none !important; }
	.gsn #sidebar .offcanvas-body { min-height: 77px; }
	.gsn #secondary > .btn { display: none !important; }
	.gsn #sidebar { position: static; visibility: visible; transform: none; background: none; }
	.gsn #sidebar .offcanvas-body { display: flex !important; flex-direction: row !important; flex-wrap: wrap; align-items: center; gap: 8px; padding: 18px 0 16px !important; border-bottom: 1px solid var(--gsn-line); overflow: visible !important; }
	.gsn #sidebar .widget { position: relative; }
	.gsn #sidebar .widget.gsn-f-more { display: none; }
	.gsn #sidebar.gsn-f-showall .widget.gsn-f-more:not(.gsn-f-off) { display: block; }
	.gsn #sidebar .facet-collapse-link { height: 42px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--gsn-line3); background: #fff; color: var(--gsn-ink) !important; white-space: nowrap; }
	.gsn #sidebar .facet-collapse-link::after { content: ''; width: 7px; height: 7px; margin: -3px 0 0 2px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); }
	.gsn #sidebar .facet-collapse-link:hover { border-color: var(--gsn-tint-b); }
	.gsn #sidebar .widget.gsn-f-on .facet-collapse-link, .gsn #sidebar .widget.gsn-open .facet-collapse-link { border-color: var(--gsn-tint-b); background: var(--gsn-tint); color: var(--gsn-red-d) !important; }
	.gsn #sidebar .widget.gsn-open .facet-collapse-link::after { transform: rotate(225deg); margin-top: 4px; }
	.gsn #sidebar .widget .collapse { display: none !important; position: absolute; top: calc(100% + 8px); left: 0; z-index: 40; width: 300px; max-height: 380px; overflow-y: auto; padding: 14px 16px; box-sizing: border-box; border: 1px solid var(--gsn-line); border-radius: 16px; background: #fff; box-shadow: var(--gsn-shadow); }
	.gsn #sidebar .widget.gsn-open .collapse { display: block !important; }
	.gsn #sidebar .widget.gsn-f-reset { order: 99; }
	.gsn-f-all { order: 98; }
}

/* phones: the filter button and a panel from below */
@media (max-width: 767.98px) {
	.gsn #secondary > .btn { display: flex !important; align-items: center; justify-content: center; gap: 8px; height: 44px; margin: 14px 0 4px !important; border: 1px solid var(--gsn-line2); border-radius: 12px; background: #fff; color: var(--gsn-ink); font: 600 15px/1 var(--gsn-font); }
	.gsn #secondary > .btn .bi { color: var(--gsn-red); }
	.gsn #sidebar.offcanvas-md { top: auto !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: 100% !important; height: auto !important; max-height: 88vh; border: 0 !important; border-radius: 20px 20px 0 0; transform: translateY(100%); }
	.gsn #sidebar.offcanvas-md.showing, .gsn #sidebar.offcanvas-md.show:not(.hiding) { transform: none; }
	.gsn #sidebar .offcanvas-header { display: flex; align-items: center; justify-content: space-between; padding: 10px 8px 10px 18px; border-bottom: 1px solid var(--gsn-line); }
	.gsn #sidebar .offcanvas-title { margin: 0; font-size: 19px; font-weight: 700; color: var(--gsn-ink); }
	.gsn #sidebar .offcanvas-header .btn-close { width: 28px; height: 28px; margin: 0 6px 0 0; }
	.gsn #sidebar .offcanvas-body { display: block !important; overflow-y: auto; padding: 0 18px !important; }
	.gsn #sidebar .widget.gsn-f { padding: 12px 0; border-bottom: 1px solid var(--gsn-soft2); }
	.gsn #sidebar .facet-collapse-link { display: block; margin-bottom: 10px; pointer-events: none; color: var(--gsn-ink) !important; }
	.gsn #sidebar .facet-label { font-size: 15px !important; font-weight: 700 !important; }
	.gsn #sidebar .facetwp-type-checkboxes { display: flex; flex-wrap: wrap; gap: 8px; }
	.gsn #sidebar .facetwp-overflow { display: contents; }
	.gsn #sidebar .facetwp-overflow.facetwp-hidden { display: none; }
	.gsn #sidebar .facetwp-checkbox { min-height: 38px; padding: 0 12px !important; border: 1px solid var(--gsn-line3); border-radius: 999px; background: #fff !important; }
	.gsn #sidebar .facetwp-checkbox::before { display: none; }
	.gsn #sidebar .facetwp-checkbox.checked { border-color: var(--gsn-tint-b); background: var(--gsn-tint) !important; color: var(--gsn-red-d); }
	.gsn #sidebar .facetwp-counter { margin-left: 0; padding-left: 0; font-size: 12px !important; }
	.gsn #sidebar .facetwp-toggle { flex: 0 0 100%; }
	.gsn #sidebar .widget.gsn-f-reset { padding: 8px 0; }
	.gsn-f-all { display: none !important; }
	.gsn-f-foot { display: block; padding: 12px 18px calc(16px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--gsn-line); background: #fff; }
	.gsn-f-foot .gsn-btn { width: 100%; height: 50px; font-size: 16px; }
}

/* ------------------------------------------------------------------ product (P2) ------------------------------------------------ */

.gsn-p-head { display: flex; flex-direction: column; gap: 8px; padding-top: 14px; }
.gsn-p-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.gsn-p-chips .gsn-chip-red { font-size: 13px; font-weight: 600; padding: 5px 12px; }
.gsn .gsn-p-head .product_title { margin: 0; font: 700 28px/1.25 var(--gsn-font) !important; color: var(--gsn-ink) !important; overflow-wrap: anywhere; }
.gsn-p-main { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) 320px; gap: 28px; align-items: start; padding-top: 20px; }
.gsn-p-main-2 { grid-template-columns: minmax(0, 1.4fr) minmax(300px, 380px); }
.gsn-p-gallery { min-width: 0; position: relative; }
.gsn-p-gallery .onsale, .gsn-p-gallery .badge.sale { position: absolute; top: 12px; left: 12px; z-index: 5; padding: 4px 9px; border-radius: 8px; background: var(--gsn-red); color: #fff; font-size: 12px; font-weight: 700; text-transform: none; min-height: 0; min-width: 0; line-height: 1.3; }
.gsn .gsn-p-gallery .wpgs-wrapper, .gsn .gsn-p-gallery .woocommerce-product-gallery { margin: 0 !important; padding-bottom: 0 !important; }
.gsn .gsn-p-gallery .wpgs-image { margin-bottom: 0 !important; }
.gsn-p-gallery .wpgs-image, .gsn-p-gallery .woocommerce-product-gallery__wrapper { border-radius: 20px; background: var(--gsn-soft); overflow: hidden; }
.gsn-p-gallery .wpgs-image img, .gsn-p-gallery .woocommerce-product-gallery__image img { mix-blend-mode: multiply; }
.gsn-p-gallery .wpgs-thumb .slick-slide img, .gsn-p-gallery .flex-control-thumbs img { border-radius: 10px; }
/* the gallery plugin (WPGS, slick): its picture was held to 160 px; newlook.js also asks the browser for a bigger srcset file */
.gsn .gsn-p-gallery .wpgs-image img { width: auto !important; max-width: 100% !important; height: auto !important; max-height: 440px !important; margin: 0 auto !important; padding: 0 !important; }
.gsn .gsn-p-gallery .wpgs-image .slick-slide > div, .gsn .gsn-p-gallery .wpgs-image .woocommerce-product-gallery__image { display: flex !important; align-items: center; justify-content: center; min-height: 300px; }
.gsn-p-back { display: none; }
/* before slick starts, WPGS stacks all the photos (13 photos = 2 600 px) and the page jumped up when it started (CLS 0.46 on
   phones): only the first photo until then */
.gsn .gsn-p-gallery .wpgs-image:not(.slick-initialized) > *:not(:first-child) { display: none !important; }
.gsn-p-note { margin: 10px 0 0; font-size: 12px; color: var(--gsn-muted); }
.gsn-p-info { min-width: 0; display: flex; flex-direction: column; gap: 22px; }
.gsn-p-block h2 { margin: 0 0 10px; font-size: 18px; line-height: 1.3; font-weight: 700; }
.gsn-p-short-txt { font-size: 15px; line-height: 1.6; color: var(--gsn-text); }
.gsn-p-short-txt > :last-child { margin-bottom: 0; }
.gsn-p-short-txt ul { padding-left: 20px; }
.gsn-checks { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.gsn-checks li { display: flex; gap: 10px; font-size: 15px; line-height: 1.45; }
.gsn-checks .gsn-i { margin-top: 2px; color: var(--gsn-green); stroke-width: 2.2; }
.gsn-params { border: 1px solid var(--gsn-line); border-radius: 14px; overflow: hidden; }
.gsn-params > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 10px 14px; border-bottom: 1px solid var(--gsn-soft2); font-size: 14px; }
.gsn-params > div:last-child { border-bottom: 0; }
.gsn-params span { color: var(--gsn-muted); }
.gsn-params strong { font-weight: 600; color: var(--gsn-ink); overflow-wrap: anywhere; }

.gsn-p-buy { position: sticky; top: 16px; min-width: 0; box-sizing: border-box; padding: 22px; border: 1px solid var(--gsn-line); border-radius: 18px; background: #fff; display: flex; flex-direction: column; gap: 12px; }
.gsn .gsn-p-buy > .price { margin: 0 !important; padding: 0 !important; font: 700 32px/1.15 var(--gsn-font) !important; color: var(--gsn-ink) !important; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.gsn .gsn-p-buy > .price .woocommerce-Price-amount.amount { font-size: 32px !important; line-height: 1.15 !important; font-weight: 700 !important; }
.gsn .gsn-p-buy > .price del { display: inline !important; order: 2; font-size: 17px !important; line-height: 1.2 !important; }
.gsn .gsn-p-buy > .price del .woocommerce-Price-amount.amount { font-size: 17px !important; font-weight: 400 !important; color: var(--gsn-muted) !important; }
.gsn .gsn-p-buy > .price ins .woocommerce-Price-amount.amount { color: var(--gsn-red-d) !important; }
.gsn-p-buy .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.gsn-vat { margin-top: -10px; font-size: 13px; color: var(--gsn-muted); }
.gsn-p-buy .woocommerce-product-details__short-description { margin: 0; font-size: 14px; }
.gsn-p-buy .product-info-container { display: block; margin: 0; padding: 0; border: 0; }
.gsn-p-buy .product-meta { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; }
.gsn-p-buy .product-meta p { margin: 0; font-size: 13px; line-height: 1.45; color: var(--gsn-muted); }
.gsn-p-buy .product-meta a { color: var(--gsn-text); font-weight: 600; }
.gsn-p-buy .product-meta a .fa-file-pdf, .gsn-p-buy .product-meta a .fa-youtube { color: var(--gsn-red); margin-right: 4px; }
.gsn .gsn-p-buy .product_piegadatajs { display: flex !important; align-items: center; gap: 8px; order: -1; font-size: 14px !important; font-weight: 600; color: var(--gsn-green) !important; }
.gsn .gsn-p-buy .product_piegadatajs::before { content: ''; flex: 0 0 auto; width: 8px; height: 8px; border-radius: 999px; background: currentColor; }
.gsn .gsn-p-buy .delivery-calendar-container { display: none !important; }
.gsn-p-buy .avaible_stock { margin: 0; font-size: 13px; color: var(--gsn-muted); }
.gsn .gsn-p-buy form.cart { display: flex !important; gap: 10px; align-items: stretch; margin: 0 !important; }
/* WooCommerce's clearfix ::before/::after became flex items with their own gaps: the button was 20 px short of the edge */
.gsn .gsn-p-buy form.cart::before, .gsn .gsn-p-buy form.cart::after { display: none !important; content: none !important; }
/* the photo viewer (fancybox) above the WhatsApp/Telegram buttons; Tawk is hidden by newlook.js while it is open */
body.fancybox-active .sbuttons, body.fancybox-active .gs-chat { display: none !important; }
.gsn .gsn-p-buy form.cart .single_add_to_cart_button { flex: 1 1 auto !important; width: auto !important; max-width: none !important; float: none !important; }
.gsn-p-buy form.cart .quantity { flex: 0 0 auto; display: flex; align-items: center; margin: 0 !important; }
.gsn-p-buy form.cart .quantity input.qty { width: 74px; height: 50px; margin: 0; padding: 0 8px; border: 1px solid var(--gsn-line2); border-radius: 12px; text-align: center; font: 600 16px/1 var(--gsn-font); color: var(--gsn-ink); }
.gsn .gsn-p-buy .single_add_to_cart_button { flex: 1 1 auto; height: 50px; margin: 0 !important; padding: 0 16px !important; border: 0 !important; border-radius: 12px !important; background: var(--gsn-red) !important; color: #fff !important; font: 600 15px/1 var(--gsn-font) !important; text-transform: none !important; box-shadow: none !important; }
.gsn .gsn-p-buy .single_add_to_cart_button:hover { background: var(--gsn-red-d) !important; }
.gsn-p-onrequest { margin: 0; padding: 12px 14px; border-radius: 12px; background: var(--gsn-tint); font-size: 14px; color: var(--gsn-ink); }
.gsn-p-onrequest a { color: var(--gsn-red-d); font-weight: 600; }
.gsn-ship-list { display: flex; flex-direction: column; gap: 8px; padding-top: 12px; border-top: 1px solid var(--gsn-line); font-size: 14px; }
.gsn-ship-list > div { display: flex; justify-content: space-between; gap: 10px; }
.gsn-ship-list strong { font-weight: 600; white-space: nowrap; color: var(--gsn-ink); }
.gsn-ship-more { font-size: 13px; font-weight: 600; color: var(--gsn-red-d) !important; }
.gsn-ask { margin: 0; font-size: 14px; color: var(--gsn-muted); }
.gsn-ask a { font-weight: 600; color: var(--gsn-text); }
/* out of stock: the note of the gs-search-oos mu-plugin (Bootstrap alert in the old look: 19 px text, indented for an icon) */
.gsn .gsn-p-buy .gs-oos-card { margin: 4px 0 0 !important; padding: 16px 18px !important; border: 1px solid var(--gsn-line); border-radius: 14px; background: var(--gsn-soft); font-size: 14px; line-height: 1.5; color: var(--gsn-text); }
.gsn .gsn-p-buy .gs-oos-card::before { display: none !important; }
.gsn .gsn-p-buy .gs-oos-card.alert-warning { border-color: #F0DDA0; background: #FFF7E0; }
.gsn .gsn-p-buy .gs-oos-card p { margin: 0 0 6px !important; font-size: 14px !important; line-height: 1.5 !important; color: var(--gsn-text); }
.gsn .gsn-p-buy .gs-oos-card p.fw-bold { font-size: 15px !important; font-weight: 700; color: var(--gsn-ink); }
.gsn .gsn-p-buy .gs-oos-card p:last-child { margin-bottom: 0 !important; }
.gsn .gsn-p-buy .gs-oos-card .btn { display: inline-flex; align-items: center; height: 44px; margin-top: 6px; padding: 0 18px; border: 0; border-radius: 12px; background: var(--gsn-red); color: #fff !important; font: 600 15px/1 var(--gsn-font); }
.gsn .gsn-p-buy .gs-oos-card .btn:hover { background: var(--gsn-red-d); }
/* page not found: title, search, category tiles, contacts (404.php) */
.gsn-404-head { padding-top: 40px; max-width: 760px; margin-left: auto; margin-right: auto; text-align: center; }
.gsn-404-head h1 { margin: 8px 0 10px; font-size: clamp(28px, 4vw, 40px); line-height: 1.15; font-weight: 700; color: var(--gsn-ink); }
.gsn-404-p { margin: 0 auto 22px; max-width: 560px; font-size: 16px; line-height: 1.55; color: var(--gsn-text); }
.gsn-404-search { display: flex; max-width: 620px; margin: 0 auto; }
.gsn .gsn-404-search input[type="search"] { flex: 1 1 auto; min-width: 0; height: 52px; margin: 0; padding: 0 18px; border: 1px solid #D5D9DF; border-right: 0; border-radius: 12px 0 0 12px; font: 500 16px/1 var(--gsn-font); color: var(--gsn-ink); background: #fff; box-shadow: none; -webkit-appearance: none; appearance: none; }
.gsn .gsn-404-search input[type="search"]:focus { border-color: var(--gsn-red); outline: none; }
.gsn-404-search .gsn-search-btn { height: 52px; }
.gsn-404-ask { padding: 28px 0 8px; text-align: center; font-size: 15px; color: var(--gsn-muted); }
.gsn-404-ask a { font-weight: 600; color: var(--gsn-text); }
@media (max-width: 767.98px) {
	.gsn-404-head { padding-top: 24px; text-align: left; }
	.gsn-404-p { margin-left: 0; }
	.gsn-404-search .gsn-search-btn { padding: 0 16px; }
	.gsn-404-search .gsn-search-btn span { display: none; }
	.gsn-404-ask { text-align: left; }
}
/* «Mans konts» for a signed-in customer: the parent theme prints the sections as bare 23 px links; the current one marked by newlook.js */
.gsn .woocommerce-MyAccount-navigation .account-navigation-pages { display: flex; flex-direction: column; gap: 2px; margin: 0 0 24px !important; padding: 8px; border: 1px solid var(--gsn-line); border-radius: 16px; background: #fff; }
.gsn .woocommerce-MyAccount-navigation .account-navigation-pages a { display: flex; align-items: center; min-height: 44px; padding: 0 14px; border-radius: 10px; font-size: 15px; font-weight: 500; line-height: 1.25; color: var(--gsn-ink); text-decoration: none; }
.gsn .woocommerce-MyAccount-navigation .account-navigation-pages a:hover { background: var(--gsn-soft); }
.gsn .woocommerce-MyAccount-navigation .account-navigation-pages a.is-on { background: var(--gsn-soft); font-weight: 700; color: var(--gsn-red-d); }
.gsn .woocommerce-MyAccount-navigation .account-navigation-pages a[href*="customer-logout"] { color: var(--gsn-muted); }
@media (max-width: 767.98px) {
	.gsn .woocommerce-MyAccount-navigation .account-navigation-pages { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; padding: 6px; }
	.gsn .woocommerce-MyAccount-navigation .account-navigation-pages a { min-height: 44px; padding: 0 12px; font-size: 14px; background: var(--gsn-soft); }
}
/* «Mans konts» tables (orders, downloads): WooCommerce's small-screen rules sit in the minified bundle without their media query,
   so on computers every order was a stack of «Pasūtījums: …» lines. A real table from 768 px; the cart has its own card layout. */
.gsn .woocommerce-MyAccount-content table.shop_table { width: 100%; margin: 0 0 18px; border: 1px solid var(--gsn-line); border-radius: 14px; border-collapse: separate; border-spacing: 0; overflow: hidden; font-size: 14px; background: #fff; }
.gsn .woocommerce-MyAccount-content table.shop_table th { padding: 12px 14px; background: var(--gsn-soft); font-size: 13px; font-weight: 600; color: var(--gsn-muted); text-align: left; border: 0; border-bottom: 1px solid var(--gsn-line); }
.gsn .woocommerce-MyAccount-content table.shop_table td { padding: 12px 14px; border: 0; border-bottom: 1px solid var(--gsn-soft2); vertical-align: middle; color: var(--gsn-text); }
.gsn .woocommerce-MyAccount-content table.shop_table tbody tr:last-child td, .gsn .woocommerce-MyAccount-content table.shop_table tbody tr:last-child th { border-bottom: 0; }
.gsn .woocommerce-MyAccount-content table.shop_table a:not(.button) { font-weight: 600; color: var(--gsn-red-d); }
.gsn .woocommerce-MyAccount-content table.shop_table .button { display: inline-flex; align-items: center; height: 36px; margin: 2px 6px 2px 0; padding: 0 14px; border: 1px solid var(--gsn-line3) !important; border-radius: 10px !important; background: #fff !important; color: var(--gsn-ink) !important; font: 600 13px/1 var(--gsn-font) !important; text-transform: none; } /* !important: the account form buttons rule above paints every .button red */
.gsn .woocommerce-MyAccount-content table.shop_table .button:hover { border-color: var(--gsn-ink) !important; }
@media (min-width: 768px) {
	.gsn table.shop_table_responsive:not(.cart) thead { display: table-header-group !important; }
	.gsn table.shop_table_responsive:not(.cart) tbody tr { display: table-row !important; }
	.gsn table.shop_table_responsive:not(.cart) tbody th, .gsn table.shop_table_responsive:not(.cart) tbody td { display: table-cell !important; text-align: left !important; }
	.gsn table.shop_table_responsive:not(.cart) tbody td::before, .gsn table.shop_table_responsive:not(.cart) tbody th::before { display: none !important; content: none !important; }
}
@media (max-width: 767.98px) {
	.gsn .woocommerce-MyAccount-content table.shop_table_responsive { border: 0; background: none; }
	.gsn .woocommerce-MyAccount-content table.shop_table_responsive tbody tr { display: block; margin: 0 0 10px; padding: 6px 14px; border: 1px solid var(--gsn-line); border-radius: 14px; background: #fff; }
	.gsn .woocommerce-MyAccount-content table.shop_table_responsive tbody td, .gsn .woocommerce-MyAccount-content table.shop_table_responsive tbody th { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--gsn-soft2); text-align: right; }
	.gsn .woocommerce-MyAccount-content table.shop_table_responsive tbody td:last-child { border-bottom: 0; }
	.gsn .woocommerce-MyAccount-content table.shop_table_responsive tbody td::before { font-weight: 600; color: var(--gsn-muted); text-align: left; }
}
.gsn .gs-oos-alts > .h5 { margin: 0 0 14px !important; font: 700 20px/1.3 var(--gsn-font) !important; color: var(--gsn-ink); }
/* blog post: the parent theme fixed the title at 370 px (six lines of 44 px on a computer); less empty space around the header */
.gsn.single-post h1.blog-title { width: auto !important; max-width: 860px; margin-left: auto !important; margin-right: auto !important; font-size: clamp(26px, 3.1vw, 40px) !important; line-height: 1.2 !important; letter-spacing: -.3px; overflow-wrap: anywhere; }
.gsn.single-post .entry-header.my-5 { margin-top: 32px !important; margin-bottom: 24px !important; }
.gsn.single-post .entry-header .pb-6 { padding-bottom: 20px !important; }
.gsn.single-post .header-metas.my-5 { margin-top: 16px !important; margin-bottom: 0 !important; font-size: 14px; color: var(--gsn-muted); }
@media (max-width: 767.98px) { .gsn.single-post .entry-header.my-5 { margin-top: 16px !important; } }
.gsn-p-buy .product_meta { display: none; }

/* phones: price + button fixed above the bottom bar after the main button scrolled away (newlook.js) */
.gsn-sticky-buy { position: fixed; left: 0; right: 0; bottom: calc(62px + env(safe-area-inset-bottom, 0px)); z-index: 1028; display: flex; align-items: center; gap: 12px; padding: 10px 16px; background: #fff; border-top: 1px solid var(--gsn-line); box-shadow: 0 -4px 12px rgba(31, 35, 41, .06); }
body:not(.gs-mnav-on) .gsn-sticky-buy { bottom: 0; padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px)); }
.gsn-sticky-price { display: flex; flex-direction: column; min-width: 0; font-size: 19px; font-weight: 700; line-height: 1.15; color: var(--gsn-ink); white-space: nowrap; }
.gsn-sticky-price del, .gsn-sticky-price del .amount { font-size: 12px; }
.gsn-sticky-price ins { color: var(--gsn-red-d); }
.gsn-sticky-price .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.gsn-sticky-btn { flex: 1 1 auto; height: 48px; font-size: 16px; }
@media (min-width: 768px) { .gsn-sticky-buy { display: none !important; } }

/* bought together */
.gsn-fbt { margin-top: 36px; padding: 22px 24px; border-radius: 18px; background: var(--gsn-soft); }
.gsn-fbt-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 8px; margin-bottom: 14px; }
.gsn-fbt-head h2 { margin: 0; font-size: 20px; font-weight: 700; }
.gsn-fbt-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(440px, 1fr)); gap: 12px; }
.gsn-fbt-item { display: flex; align-items: center; gap: 12px; margin: 0; padding: 12px 14px; border-radius: 14px; background: #fff; border: 1px solid var(--gsn-line); cursor: pointer; min-width: 0; }
.gsn-fbt-item.is-on { border-color: var(--gsn-tint-b); }
.gsn-fbt-item input { flex: 0 0 auto; width: 24px; height: 24px; margin: 0; accent-color: var(--gsn-red); /* 09.11: 20 px was below the 24 px minimum (WCAG 2.5.8) */ }
.gsn-fbt-item img { flex: 0 0 56px; width: 56px !important; height: 56px !important; max-height: none !important; padding: 0 !important; object-fit: contain; border-radius: 10px; background: var(--gsn-soft); mix-blend-mode: multiply; }
.gsn-fbt-name { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; font-size: 14px; line-height: 1.35; color: var(--gsn-ink); overflow-wrap: anywhere; }
.gsn-fbt-name small { font-size: 12px; font-weight: 600; color: var(--gsn-muted); }
.gsn-fbt-price { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-end; font-size: 15px; font-weight: 600; color: var(--gsn-ink); white-space: nowrap; }
.gsn-fbt-price del, .gsn-fbt-price del .amount { font-size: 12px; }
.gsn-fbt-price .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.gsn-fbt-foot { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 16px; margin-top: 16px; }
.gsn-fbt-sum { font-size: 15px; color: var(--gsn-text2); }
.gsn-fbt-sum strong { font-size: 20px; font-weight: 700; color: var(--gsn-ink); }

/* description tabs, related products */
.gsn-main-p .woocommerce-tabs { margin-top: 40px; }
.gsn-main-p .woocommerce-tabs ul.tabs { display: flex !important; gap: 8px; flex-wrap: wrap; margin: 0 0 18px !important; padding: 0 0 12px !important; list-style: none; border-bottom: 1px solid var(--gsn-line); overflow: visible !important; } /* !important: WooCommerce .woocommerce div.product … is more specific */
.gsn-main-p .woocommerce-tabs ul.tabs::before, .gsn-main-p .woocommerce-tabs ul.tabs li::before, .gsn-main-p .woocommerce-tabs ul.tabs li::after { display: none !important; }
.gsn-main-p .woocommerce-tabs ul.tabs li { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
.gsn-main-p .woocommerce-tabs ul.tabs li a { display: inline-flex !important; align-items: center; height: 42px; padding: 0 16px !important; border-radius: 999px; border: 1px solid var(--gsn-line3); font-size: 15px; font-weight: 600; color: var(--gsn-ink); }
.gsn-main-p .woocommerce-tabs ul.tabs li.active a { border-color: var(--gsn-ink); background: var(--gsn-ink); color: #fff !important; }
.gsn-main-p .woocommerce-Tabs-panel { max-width: 980px; font-size: 16px; line-height: 1.7; color: var(--gsn-text); }
.gsn-main-p .woocommerce-Tabs-panel h2 { font-size: 20px; font-weight: 700; margin: 0 0 12px; }
.gsn-main-p .woocommerce-Tabs-panel h3 { font-size: 17px; font-weight: 700; }
/* the parent theme sets description paragraphs to 18 px with 24 px lines (bigger than the lists next to them, cramped on phones) */
.gsn-main-p .woocommerce-Tabs-panel .single_prod_page_desc p { font-size: inherit !important; line-height: 1.7 !important; margin: 0 0 12px; }
.gsn-main-p .woocommerce-Tabs-panel table { width: 100%; border-collapse: collapse; font-size: 14px; }
.gsn-main-p .woocommerce-Tabs-panel table th, .gsn-main-p .woocommerce-Tabs-panel table td { padding: 9px 12px; border-bottom: 1px solid var(--gsn-soft2); text-align: left; vertical-align: top; }
.gsn-main-p .woocommerce-Tabs-panel table th { width: 40%; font-weight: 500; color: var(--gsn-muted); }
.gsn-main-p .related, .gsn-main-p .upsells { margin-top: 44px; }
.gsn-main-p .related > h2, .gsn-main-p .upsells > h2, .gsn .product_list_widget_title { margin: 0 0 16px; font: 700 22px/1.3 var(--gsn-font) !important; color: var(--gsn-ink) !important; text-transform: none !important; text-align: left; }

/* ------------------------------------------------------------------ checkout (O1) ----------------------------------------------- */

body.gsn.woocommerce-checkout { background: var(--gsn-soft); }
.gsn.woocommerce-checkout .gsn-mob { background: #fff; }
.gsn form.gsn-co { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 400px); gap: 24px; align-items: start; margin-top: 8px; }
.gsn-co-box, .gsn-co-side { box-sizing: border-box; padding: 22px; border-radius: 16px; background: #fff; border: 1px solid var(--gsn-line); }
.gsn-co-side { position: sticky; top: 16px; }
.gsn .gsn-co-h { margin: 0 0 14px !important; font: 700 18px/1.3 var(--gsn-font) !important; color: var(--gsn-ink) !important; text-transform: none !important; }
.gsn .gsn-co .woocommerce-billing-fields > h3, .gsn .gsn-co .woocommerce-shipping-fields .shipping_address > h3 { display: none; }
.gsn .gsn-co .col2-set, .gsn .gsn-co .col-1, .gsn .gsn-co .col-2 { width: auto; float: none; max-width: none; padding: 0; }
.gsn-seg { display: inline-flex; padding: 4px; margin: 0 0 8px; border-radius: 12px; background: var(--gsn-soft2); }
.gsn-seg button { height: 40px; padding: 0 18px; border: 0; border-radius: 9px; background: transparent; font: 500 14px/1 var(--gsn-font); color: var(--gsn-text2); cursor: pointer; }
.gsn-seg button[aria-checked="true"] { background: #fff; box-shadow: 0 1px 2px rgba(31, 35, 41, .08); font-weight: 600; color: var(--gsn-ink); }
.gsn-seg-note { margin: 0 0 14px; font-size: 13px; color: var(--gsn-muted); }
.gsn .gsn-co .woocommerce-billing-fields__field-wrapper, .gsn .gsn-co .woocommerce-shipping-fields__field-wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.gsn .gsn-co .form-row { float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; gap: 6px; }
.gsn .gsn-co .form-row-wide, .gsn .gsn-co #billing_address_1_field, .gsn .gsn-co #billing_address_2_field, .gsn .gsn-co #company_billing_address_field, .gsn .gsn-co #billing_uznemums_field { grid-column: 1 / -1; }
.gsn .gsn-co .form-row label { margin: 0; font-size: 13px; font-weight: 600; line-height: 1.3; color: var(--gsn-text); }
.gsn .gsn-co .form-row .required { color: var(--gsn-red); text-decoration: none; }
.gsn .gsn-co .form-row .optional { font-weight: 400; color: var(--gsn-faint); }
.gsn .gsn-co .input-text, .gsn .gsn-co .form-row select, .gsn .gsn-co .form-row textarea {
	width: 100% !important; height: 46px !important; box-sizing: border-box; margin: 0 !important; padding: 0 14px !important; border: 1px solid var(--gsn-line2) !important; border-radius: 12px !important; background: #fff !important;
	font: 500 15px/1.2 var(--gsn-font) !important; color: var(--gsn-ink) !important; box-shadow: none !important;
}
.gsn .gsn-co .form-row textarea { height: auto !important; min-height: 90px; padding: 12px 14px !important; line-height: 1.45 !important; }
.gsn .gsn-co .create-account, .gsn .gsn-co .create-account label, .gsn .gsn-co .woocommerce-account-fields label { font-size: 14px !important; font-weight: 600; color: var(--gsn-text); }
.gsn .gsn-co .create-account.form-check { display: flex; align-items: center; gap: 10px; padding: 0; }
.gsn .gsn-co .input-text:focus, .gsn .gsn-co .form-row select:focus, .gsn .gsn-co .form-row textarea:focus { border-color: var(--gsn-red); outline: none; }
.gsn .gsn-co .woocommerce-invalid .input-text, .gsn .gsn-co .woocommerce-invalid select { border-color: var(--gsn-red); }
.gsn .gsn-co .select2-container .select2-selection--single { height: 46px; border: 1px solid var(--gsn-line2); border-radius: 12px; }
.gsn .gsn-co .select2-container .select2-selection--single .select2-selection__rendered { line-height: 44px; padding-left: 14px; font-size: 15px; font-weight: 500; color: var(--gsn-ink); }
.gsn .gsn-co .select2-container .select2-selection--single .select2-selection__arrow { height: 44px; right: 8px; }
.gsn .gsn-co .woocommerce-shipping-fields, .gsn .gsn-co .woocommerce-additional-fields, .gsn .gsn-co .woocommerce-account-fields { margin-top: 18px; }
.gsn .gsn-co #ship-to-different-address .form-check { display: flex; align-items: center; gap: 10px; margin: 0; padding: 0; }
.gsn .gsn-co .form-check-input { margin: 0; width: 20px; height: 20px; float: none; accent-color: var(--gsn-red); }
.gsn .gsn-co .form-check-input:checked { background-color: var(--gsn-red); border-color: var(--gsn-red); }

/* order review: products, shipping methods as cards, totals, payment */
.gsn .gsn-co-side table.shop_table { width: 100%; margin: 0; border: 0 !important; border-collapse: collapse; font-size: 14px; }
.gsn .gsn-co-side table.shop_table th, .gsn .gsn-co-side table.shop_table td { padding: 8px 0; border: 0 !important; background: none !important; vertical-align: top; }
.gsn .gsn-co-side table.shop_table thead { display: none; }
.gsn .gsn-co-side table.shop_table td.product-name { padding-right: 12px; color: var(--gsn-ink); line-height: 1.4; }
.gsn .gsn-co-side table.shop_table td.product-name .product-quantity { font-weight: 600; color: var(--gsn-muted); }
.gsn .gsn-co-side table.shop_table td.product-total, .gsn .gsn-co-side table.shop_table tfoot td { text-align: right; white-space: nowrap; font-weight: 600; color: var(--gsn-ink); }
.gsn .gsn-co-side table.shop_table tfoot tr.cart-subtotal th, .gsn .gsn-co-side table.shop_table tfoot tr.cart-subtotal td { padding-top: 14px; border-top: 1px solid var(--gsn-line) !important; }
.gsn .gsn-co-side table.shop_table tfoot th { font-weight: 500; text-align: left; color: var(--gsn-text); }
.gsn .gsn-co-side tr.woocommerce-shipping-totals td { text-align: left !important; white-space: normal !important; font-weight: 400 !important; }
.gsn .gsn-co-side .piegade-table-title { display: none; } /* «Shipment» (WooCommerce's package name): the column heading says it */
.gsn .gsn-co-side #shipping_method { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.gsn .gsn-co-side #shipping_method li { position: relative; margin: 0 !important; padding: 12px 14px 12px 44px !important; border: 1px solid var(--gsn-line); border-radius: 14px; background: #fff; }
.gsn .gsn-co-side #shipping_method li:has(input:checked) { border-color: var(--gsn-tint-b); background: var(--gsn-tint2); }
.gsn .gsn-co-side #shipping_method li input.shipping_method { position: absolute; left: 14px; top: 14px; width: 20px; height: 20px; margin: 0; accent-color: var(--gsn-red); }
.gsn .gsn-co-side #shipping_method li label { display: block; margin: 0; font-size: 14px; font-weight: 600; line-height: 1.4; color: var(--gsn-ink); cursor: pointer; }
.gsn .gsn-co-side #shipping_method li label .amount { white-space: nowrap; }
.gsn .gsn-co-side #shipping_method li select, .gsn .gsn-co-side #shipping_method li .select2-container { width: 100% !important; max-width: 100%; margin-top: 10px; }
.gsn .gsn-co-side #shipping_method li select { height: 44px; padding: 0 10px; border: 1px solid var(--gsn-line2); border-radius: 12px; background: #fff; font: 500 14px/1.2 var(--gsn-font); }
.gsn .gsn-co-side tr.order-total th, .gsn .gsn-co-side tr.order-total td { padding-top: 14px !important; border-top: 1px solid var(--gsn-line) !important; font-size: 16px; font-weight: 700 !important; color: var(--gsn-ink); }
.gsn .gsn-co-side tr.order-total td .amount { font-size: 22px; }
.gsn .gsn-co-side tr.order-total .includes_tax { display: block; font-size: 12px; font-weight: 400; color: var(--gsn-muted); }
.gsn .gsn-co-side tr.order-total .includes_tax .amount { font-size: 12px !important; font-weight: 600; }
.gsn .gsn-co-side .tax_label, .gsn .gsn-co-side small.includes_tax { font-size: 12px; font-weight: 400; color: var(--gsn-muted); }
.gsn .gsn-co-side #payment { margin-top: 14px; border: 0 !important; background: none !important; }
.gsn .gsn-co-side #payment > .card-body { padding: 0; }
.gsn .gsn-co-side #payment .wc_payment_methods { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0 0 14px !important; list-style: none; border-bottom: 1px solid var(--gsn-line) !important; }
.gsn .gsn-co-side #payment .wc_payment_method { margin: 0; padding: 12px 14px; border: 1px solid var(--gsn-line); border-radius: 14px; background: #fff; }
.gsn .gsn-co-side #payment .wc_payment_method:has(input:checked) { border-color: var(--gsn-tint-b); background: var(--gsn-tint2); }
.gsn .gsn-co-side #payment .wc_payment_method > .form-check { display: flex; align-items: center; gap: 10px; margin: 0 !important; padding: 0; }
.gsn .gsn-co-side #payment .wc_payment_method label { margin: 0; font-size: 14px; font-weight: 600; color: var(--gsn-ink); cursor: pointer; }
.gsn .gsn-co-side #payment .wc_payment_method label img { max-height: 24px; width: auto; vertical-align: middle; margin-left: 6px; }
.gsn .gsn-co-side #payment .payment_box { margin: 10px 0 0; padding: 0; background: none; font-size: 13px; line-height: 1.45; color: var(--gsn-text2); }
.gsn .gsn-co-side #payment .payment_box::before { display: none; }
.gsn .gsn-co-side #payment .place-order { padding: 14px 0 0 !important; }
.gsn .gsn-co-side .woocommerce-terms-and-conditions-wrapper { font-size: 13px; line-height: 1.5; }
.gsn .gsn-co-side .woocommerce-privacy-policy-text p { margin: 0 0 10px; font-size: 13px; color: var(--gsn-muted); }
.gsn .gsn-co-side .woocommerce-form__label-for-checkbox { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.5; }
.gsn .gsn-co-side .woocommerce-form__label-for-checkbox input { width: 20px; height: 20px; margin: 1px 0 0; flex: 0 0 auto; accent-color: var(--gsn-red); }
.gsn .gsn-co-side #place_order { width: 100%; height: 56px; margin-top: 12px; border: 0 !important; border-radius: 14px !important; background: var(--gsn-red) !important; color: #fff !important; font: 600 17px/1 var(--gsn-font) !important; box-shadow: none !important; }
.gsn .gsn-co-side #place_order:hover { background: var(--gsn-red-d) !important; }
.gsn-co-secure { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 14px 0 0; font-size: 14px; font-weight: 600; color: var(--gsn-green); }
.gsn .woocommerce-form-coupon-toggle .woocommerce-info, .gsn .woocommerce-form-login-toggle .woocommerce-info { margin: 12px 0; padding: 12px 16px; border: 1px solid var(--gsn-line); border-radius: 12px; background: #fff; font-size: 14px; color: var(--gsn-text); }
.gsn .woocommerce-form-coupon-toggle .woocommerce-info::before, .gsn .woocommerce-form-login-toggle .woocommerce-info::before { display: none; }
.gsn .woocommerce-form-coupon-toggle a, .gsn .woocommerce-form-login-toggle a { color: var(--gsn-red-d); font-weight: 600; }
.gsn form.checkout_coupon { padding: 16px; border: 1px solid var(--gsn-line); border-radius: 14px; background: #fff; }

/* ------------------------------------------------------------------ cart page (/grozs/) ---------------------------------------- */
/* WooCommerce's small-screen table rules reach the minified bundle without their media query, so the cart table was stacked on
   computers too. One card list on every width instead. */
.gsn .woocommerce-cart-form { margin: 8px 0 0; }
.gsn table.shop_table.cart { display: block; width: 100%; margin: 0; border: 0 !important; border-radius: 0 !important; background: none; }
.gsn table.shop_table.cart thead { display: none !important; }
.gsn table.shop_table.cart tbody { display: flex; flex-direction: column; gap: 10px; }
.gsn table.shop_table.cart tr.cart_item {
	display: grid; grid-template-columns: 76px minmax(0, 1fr) 96px 120px 44px;
	grid-template-areas: "img name qty sub rm" "img price qty sub rm"; align-items: center; gap: 2px 16px;
	padding: 12px 14px; border: 1px solid var(--gsn-line); border-radius: 14px; background: #fff;
}
.gsn table.shop_table.cart tr td { display: block; padding: 0 !important; border: 0 !important; background: none !important; text-align: left !important; }
.gsn table.shop_table.cart tr td::before { display: none !important; content: none !important; }
.gsn table.shop_table.cart td.product-thumbnail { grid-area: img; display: block !important; }
.gsn table.shop_table.cart td.product-thumbnail img { display: block; width: 76px !important; height: 76px !important; max-height: none !important; padding: 0 !important; object-fit: contain; border-radius: 10px; background: var(--gsn-soft); mix-blend-mode: multiply; }
.gsn table.shop_table.cart td.product-name { grid-area: name; align-self: end; font-size: 15px; line-height: 1.4; font-weight: 500; overflow-wrap: anywhere; }
.gsn table.shop_table.cart td.product-name a { color: var(--gsn-ink); }
.gsn table.shop_table.cart td.product-price { grid-area: price; align-self: start; font-size: 13px; color: var(--gsn-muted); }
.gsn table.shop_table.cart td.product-quantity { grid-area: qty; }
.gsn table.shop_table.cart td.product-quantity .quantity { margin: 0; }
.gsn table.shop_table.cart td.product-quantity input.qty { width: 84px; height: 44px; margin: 0 !important; padding: 0 8px; border: 1px solid var(--gsn-line2); border-radius: 12px; text-align: center; font: 600 15px/1 var(--gsn-font); color: var(--gsn-ink); }
.gsn table.shop_table.cart td.product-subtotal { grid-area: sub; text-align: right !important; font-size: 17px; font-weight: 700; color: var(--gsn-ink); white-space: nowrap; }
.gsn table.shop_table.cart td.product-subtotal small { display: block; font-size: 11px; font-weight: 400; color: var(--gsn-muted); }
.gsn table.shop_table.cart td.product-remove { grid-area: rm; justify-self: end; }
.gsn table.shop_table.cart td.product-remove a { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 10px; color: var(--gsn-muted) !important; font-size: 16px; }
.gsn table.shop_table.cart td.product-remove a:hover { background: var(--gsn-tint); color: var(--gsn-red-d) !important; }
.gsn table.shop_table.cart td.actions { display: flex !important; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-top: 4px; padding: 12px 14px !important; border-radius: 14px; background: var(--gsn-soft) !important; }
.gsn table.shop_table.cart td.actions .coupon { flex: 1 1 320px; max-width: 460px; margin: 0; }
.gsn table.shop_table.cart td.actions .coupon .input-group { flex-wrap: nowrap; }
.gsn table.shop_table.cart td.actions #coupon_code { height: 44px; border: 1px solid var(--gsn-line2); border-radius: 12px 0 0 12px !important; font: 500 15px/1 var(--gsn-font); }
.gsn table.shop_table.cart td.actions .btn { height: 44px; padding: 0 16px; border-radius: 12px; font: 600 14px/1 var(--gsn-font); }
.gsn table.shop_table.cart td.actions .coupon .btn { border-radius: 0 12px 12px 0 !important; background: var(--gsn-ink); border-color: var(--gsn-ink); color: #fff; }
.gsn table.shop_table.cart td.actions > .btn { border: 1px solid var(--gsn-line2); background: #fff; color: var(--gsn-ink); }
.gsn table.shop_table.cart td.actions > .btn:disabled { opacity: .5; }
.gsn .cart-collaterals { margin-top: 18px; }
.gsn .cart-collaterals .cart_totals { padding: 22px; border: 1px solid var(--gsn-line); border-radius: 16px; background: #fff; }
.gsn .cart_totals h2 { margin: 0 0 12px; font: 700 18px/1.3 var(--gsn-font) !important; color: var(--gsn-ink); text-transform: none; }
.gsn .cart_totals table.shop_table { width: 100%; margin: 0; border: 0 !important; }
.gsn .cart_totals table.shop_table tr { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--gsn-soft2); }
.gsn .cart_totals table.shop_table tr:last-child { border-bottom: 0; }
.gsn .cart_totals table.shop_table th, .gsn .cart_totals table.shop_table td { display: block; padding: 0 !important; border: 0 !important; background: none !important; font-size: 14px; }
.gsn .cart_totals table.shop_table td::before { display: none !important; }
.gsn .cart_totals table.shop_table th { font-weight: 500; color: var(--gsn-text); }
.gsn .cart_totals table.shop_table td { text-align: right; font-weight: 600; color: var(--gsn-ink); }
.gsn .cart_totals tr.order-total th, .gsn .cart_totals tr.order-total td { font-size: 16px; font-weight: 700; }
.gsn .cart_totals tr.order-total td .amount { font-size: 22px; }
.gsn .cart_totals tr.order-total .includes_tax { display: block; font-size: 12px; font-weight: 400; color: var(--gsn-muted); }
.gsn .cart_totals tr.order-total .includes_tax .amount { font-size: 12px; }
.gsn .cart_totals tr.woocommerce-shipping-totals { display: block; }
.gsn .cart_totals tr.woocommerce-shipping-totals td { text-align: left; font-weight: 400; }
.gsn .cart_totals .piegade-table-title { margin: 0 0 8px; font-weight: 700; }
.gsn .cart_totals #shipping_method { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 6px; }
.gsn .cart_totals #shipping_method li { display: flex; align-items: center; gap: 10px; margin: 0; padding: 0; }
.gsn .cart_totals #shipping_method li input { margin: 0; width: 18px; height: 18px; accent-color: var(--gsn-red); }
.gsn .wc-proceed-to-checkout { padding: 14px 0 0; }
.gsn .wc-proceed-to-checkout .btn, .gsn .wc-proceed-to-checkout .checkout-button { display: flex !important; align-items: center; justify-content: center; width: 100%; height: 54px; border: 0 !important; border-radius: 14px !important; background: var(--gsn-red) !important; color: #fff !important; font: 600 16px/1 var(--gsn-font) !important; text-transform: none; box-shadow: none !important; }
.gsn .wc-proceed-to-checkout .btn:hover { background: var(--gsn-red-d) !important; }
.gsn .wc-proceed-to-checkout .checkout-button.gsn-btn-off { background: var(--gsn-soft2) !important; color: var(--gsn-faint) !important; cursor: not-allowed; }

/* ------------------------------------------------------------------ minimum order note (side cart and cart page) ---------------- */
.gsn .gsn-min { margin: 0 0 12px; padding: 12px 14px; border: 1px solid #F0DDA0; border-radius: 12px; background: #FFF7E0; text-align: left; }
.gsn .gsn-min-t { margin: 0; font: 400 13.5px/1.45 var(--gsn-font) !important; color: var(--gsn-text); }
.gsn .gsn-min-t strong { font-weight: 700; color: var(--gsn-ink); }
.gsn .gsn-min-t .amount, .gsn .gsn-min-t bdi { font-size: inherit !important; font-weight: 700; color: var(--gsn-ink) !important; white-space: nowrap; }
.gsn .gsn-min-bar { height: 6px; margin-top: 9px; border-radius: 999px; background: rgba(31, 35, 41, .09); overflow: hidden; }
.gsn .gsn-min-bar span { display: block; height: 100%; border-radius: inherit; background: var(--gsn-red); }
.gsn .gsn-min.gsn-min-ping { animation: gsn-ping .45s ease; }
@keyframes gsn-ping { 0%, 100% { transform: none; } 25% { transform: translateX(-5px); } 75% { transform: translateX(5px); } }
@media (prefers-reduced-motion: reduce) { .gsn .gsn-min.gsn-min-ping { animation: none; outline: 2px solid var(--gsn-red); } }

/* ------------------------------------------------------------------ side cart «Pirkumu grozs» (Xoo Side Cart) ------------------- */
/* the plugin draws red theme buttons, a red «1 X 0,73 €» and a centred title; here it follows the new look */
.gsn .xoo-wsc-container { font-family: var(--gsn-font); background: #fff; }
.gsn .xoo-wsc-header { padding: 0 !important; background: #fff !important; border-bottom: 1px solid var(--gsn-line); }
.gsn .xoo-wsch-top { display: flex !important; align-items: center; justify-content: flex-start !important; gap: 10px; min-height: 64px; margin: 0; padding: 0 12px 0 22px; position: relative; }
.gsn span.xoo-wsch-text { order: 1; margin: 0 !important; font: 700 19px/1.2 var(--gsn-font) !important; color: var(--gsn-ink) !important; text-transform: none; }
.gsn .xoo-wsch-top .xoo-wsch-basket { order: 2; display: inline-flex !important; align-items: center; position: static !important; margin: 0 !important; }
.gsn .xoo-wsch-basket .xoo-wscb-icon { display: none !important; }
.gsn .xoo-wsch-basket .xoo-wscb-count { position: static !important; display: inline-block; min-width: 26px; height: 26px; padding: 0 8px; border-radius: 999px; background: var(--gsn-soft) !important; color: var(--gsn-ink) !important; font: 600 13px/26px var(--gsn-font) !important; text-align: center; transform: none !important; }
.gsn span.xoo-wsch-close { order: 3; position: static !important; margin-left: auto; width: 42px; height: 42px; display: grid !important; place-items: center; border-radius: 12px; font-size: 17px !important; line-height: 1 !important; color: var(--gsn-ink) !important; transform: none !important; cursor: pointer; }
.gsn span.xoo-wsch-close:hover { background: var(--gsn-soft); }
.gsn .xoo-wsc-body { background: #fff !important; }
.gsn .xoo-wsc-product { display: flex !important; align-items: flex-start; gap: 14px; margin: 0 !important; padding: 16px 22px !important; border-bottom: 1px solid var(--gsn-line); }
.gsn .xoo-wsc-img-col { flex: 0 0 64px; width: 64px !important; max-width: 64px; }
.gsn .xoo-wsc-img-col a { display: block; width: 64px; height: 64px; border-radius: 12px; background: var(--gsn-soft); overflow: hidden; }
.gsn .xoo-wsc-img-col img { display: block; width: 100% !important; height: 100% !important; max-height: none !important; object-fit: contain; padding: 5px !important; mix-blend-mode: multiply; }
.gsn .xoo-wsc-sum-col { flex: 1 1 auto; width: auto !important; min-width: 0; }
.gsn .xoo-wsc-sm-info { display: flex !important; gap: 8px; align-items: flex-start; }
.gsn .xoo-wsc-sm-left { flex: 1 1 auto; min-width: 0; display: grid; gap: 6px; }
.gsn .xoo-wsc-pname, .gsn .xoo-wsc-pname a { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font: 500 14px/1.4 var(--gsn-font) !important; color: var(--gsn-ink) !important; text-decoration: none; }
.gsn .xoo-wsc-qty-price { font: 400 13.5px/1.3 var(--gsn-font) !important; color: var(--gsn-muted) !important; }
.gsn .xoo-wsc-qty-price span, .gsn .xoo-wsc-qty-price .amount, .gsn .xoo-wsc-qty-price bdi { font-size: inherit !important; color: var(--gsn-muted) !important; }
.gsn .xoo-wsc-qty-price > span:last-child, .gsn .xoo-wsc-qty-price > span:last-child .amount, .gsn .xoo-wsc-qty-price > span:last-child bdi { font-weight: 700; color: var(--gsn-ink) !important; }
.gsn .xoo-wsc-sm-right { flex: 0 0 auto; }
.gsn span.xoo-wsc-smr-del { width: 34px; height: 34px; display: grid !important; place-items: center; margin: -6px -8px 0 0; border-radius: 10px; font-size: 16px !important; color: var(--gsn-faint) !important; cursor: pointer; }
.gsn span.xoo-wsc-smr-del:hover { background: var(--gsn-soft); color: var(--gsn-red-d) !important; }
.gsn .xoo-wsc-footer { padding: 16px 22px calc(16px + env(safe-area-inset-bottom, 0px)) !important; background: #fff !important; border-top: 1px solid var(--gsn-line); box-shadow: 0 -10px 24px rgba(31, 35, 41, .06); }
.gsn .xoo-wsc-ft-totals { display: grid; gap: 12px; margin: 0 0 14px; padding: 0; border: 0; }
.gsn .xoo-wsc-ft-amt { display: flex !important; justify-content: space-between; align-items: baseline; margin: 0; padding: 0 !important; }
.gsn .xoo-wsc-ft-amt-label { font: 500 15px/1.3 var(--gsn-font) !important; color: var(--gsn-muted) !important; }
.gsn .xoo-wsc-ft-amt-value, .gsn .xoo-wsc-ft-amt-value .amount, .gsn .xoo-wsc-ft-amt-value bdi { font: 700 22px/1.2 var(--gsn-font) !important; color: var(--gsn-ink) !important; }
.gsn .xoo-wsc-ft-totals .gsn-min { margin: 0; }
.gsn .xoo-wsc-ft-buttons-cont { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 8px; margin: 0; }
.gsn a.xoo-wsc-ft-btn { display: flex !important; align-items: center; justify-content: center; height: 44px; margin: 0 !important; padding: 0 12px !important; border: 1px solid var(--gsn-line3) !important; border-radius: 12px !important; background: #fff !important; color: var(--gsn-ink) !important; font: 600 14px/1.15 var(--gsn-font) !important; text-align: center; text-transform: none !important; letter-spacing: 0; box-shadow: none !important; }
.gsn a.xoo-wsc-ft-btn:hover { border-color: var(--gsn-ink) !important; }
.gsn a.xoo-wsc-ft-btn.xoo-wsc-ft-btn-checkout { order: -1; grid-column: 1 / -1; height: 52px; border: 0 !important; background: var(--gsn-red) !important; color: #fff !important; font-size: 16px !important; }
.gsn a.xoo-wsc-ft-btn.xoo-wsc-ft-btn-checkout:hover { background: var(--gsn-red-d) !important; }
.gsn a.xoo-wsc-ft-btn.xoo-wsc-ft-btn-checkout.gsn-btn-off { background: var(--gsn-soft2) !important; color: var(--gsn-faint) !important; cursor: not-allowed; }
.gsn .xoo-wsc-empty-cart { display: grid !important; justify-items: center; gap: 16px; padding: 48px 22px !important; text-align: center; }
.gsn .xoo-wsc-empty-cart > span { font: 600 17px/1.35 var(--gsn-font) !important; color: var(--gsn-ink) !important; }
.gsn .xoo-wsc-empty-cart a, .gsn .xoo-wsc-empty-cart .xoo-wsc-btn { display: inline-flex !important; align-items: center; height: 46px; margin: 0 !important; padding: 0 20px !important; border: 0 !important; border-radius: 12px !important; background: var(--gsn-red) !important; color: #fff !important; font: 600 15px/1 var(--gsn-font) !important; text-decoration: none; text-transform: none !important; }
.gsn .wc-empty-cart-message .woocommerce-info, .gsn .cart-empty.woocommerce-info { margin: 18px 0 12px; padding: 22px; border: 1px solid var(--gsn-line); border-radius: 16px; background: var(--gsn-soft); font-size: 16px; font-weight: 600; color: var(--gsn-ink); }
.gsn .wc-empty-cart-message .woocommerce-info::before, .gsn .cart-empty.woocommerce-info::before { display: none; }
.gsn .return-to-shop .btn { display: inline-flex; align-items: center; height: 48px; padding: 0 20px; border: 0; border-radius: 12px; background: var(--gsn-red); color: #fff !important; font: 600 15px/1 var(--gsn-font); }
@media (max-width: 767.98px) {
	.gsn table.shop_table.cart tr.cart_item { grid-template-columns: 64px minmax(0, 1fr) auto; grid-template-areas: "img name rm" "img price rm" "qty qty sub"; gap: 4px 12px; padding: 10px 12px; }
	.gsn table.shop_table.cart td.product-thumbnail img { width: 64px !important; height: 64px !important; }
	.gsn table.shop_table.cart td.product-name { font-size: 14px; }
	.gsn table.shop_table.cart td.product-quantity { margin-top: 6px; }
	.gsn table.shop_table.cart td.product-subtotal { align-self: end; }
	.gsn table.shop_table.cart td.actions .coupon { flex-basis: 100%; max-width: none; }
	.gsn table.shop_table.cart td.actions > .btn { flex: 1 1 100%; }
	.gsn .cart-collaterals .cart_totals { padding: 16px; }
}

/* ------------------------------------------------------------------ account: login, register, lost password ------------------- */
.gsn.woocommerce-account #customer_login { --bs-gutter-x: 24px; margin-top: 4px; }
.gsn.woocommerce-account #customer_login h2, .gsn.woocommerce-account .woocommerce > h2 { margin: 0 0 12px; font: 700 20px/1.3 var(--gsn-font) !important; color: var(--gsn-ink); text-transform: none; }
.gsn.woocommerce-account .woocommerce .card { margin-top: 0 !important; padding: 22px; border: 1px solid var(--gsn-line); border-radius: 16px; background: #fff; }
.gsn.woocommerce-account .woocommerce .card-body { padding: 0 !important; }
.gsn.woocommerce-account #customer_login p:not(.form-row):not(.form-check) { font-size: 14px; color: var(--gsn-text2); }
.gsn.woocommerce-account .woocommerce-form-row label, .gsn.woocommerce-account .form-row label { display: block; margin: 0 0 6px; font-size: 13px; font-weight: 600; color: var(--gsn-text); }
.gsn.woocommerce-account .woocommerce-form-row, .gsn.woocommerce-account form .form-row { margin: 0 0 14px; padding: 0; }
.gsn.woocommerce-account .woocommerce .input-text, .gsn.woocommerce-account .woocommerce input.form-control {
	width: 100%; height: 46px; padding: 0 14px; border: 1px solid var(--gsn-line2) !important; border-radius: 12px !important; background: #fff;
	font: 500 15px/1.2 var(--gsn-font); color: var(--gsn-ink); box-shadow: none !important;
}
.gsn.woocommerce-account .woocommerce .input-text:focus { border-color: var(--gsn-red) !important; outline: none; }
.gsn.woocommerce-account .woocommerce .form-check { display: flex; align-items: center; gap: 10px; padding: 0; }
.gsn.woocommerce-account .woocommerce .form-check-input { float: none; margin: 0; width: 20px; height: 20px; accent-color: var(--gsn-red); }
.gsn.woocommerce-account .woocommerce .form-check-input:checked { background-color: var(--gsn-red); border-color: var(--gsn-red); }
.gsn.woocommerce-account .woocommerce-form-login__submit, .gsn.woocommerce-account .woocommerce-form-register__submit, .gsn.woocommerce-account .woocommerce-Button, .gsn.woocommerce-account .woocommerce .button {
	height: 48px; padding: 0 22px; border: 0 !important; border-radius: 12px !important; background: var(--gsn-red) !important; color: #fff !important; font: 600 15px/1 var(--gsn-font) !important; text-transform: none;
}
.gsn.woocommerce-account .woocommerce-form-login__submit:hover, .gsn.woocommerce-account .woocommerce-form-register__submit:hover { background: var(--gsn-red-d) !important; }
.gsn.woocommerce-account .lost_password a { font-size: 14px; font-weight: 600; color: var(--gsn-red-d); }
/* «Pazaudēta parole»: the parent theme's form has a bootstrap outline button and 18 px text */
.gsn.woocommerce-account .woocommerce-ResetPassword { max-width: 520px; }
.gsn.woocommerce-account .woocommerce-ResetPassword > p:first-child { font-size: 15px !important; line-height: 1.55; color: var(--gsn-text); }
.gsn.woocommerce-account .woocommerce-ResetPassword .btn { height: 48px; padding: 0 22px; border: 0 !important; border-radius: 12px !important; background: var(--gsn-red) !important; color: #fff !important; font: 600 15px/1 var(--gsn-font) !important; }
.gsn.woocommerce-account .woocommerce-ResetPassword .btn:hover { background: var(--gsn-red-d) !important; }
.gsn.woocommerce-account .woocommerce-privacy-policy-text p { font-size: 13px; color: var(--gsn-muted); }

/* ------------------------------------------------------------------ notices, side cart ------------------------------------------ */

.gsn .woocommerce-message, .gsn .woocommerce-info, .gsn .woocommerce-error { border-radius: 12px; font-size: 14px; }
.gsn .woocommerce-message .button, .gsn .woocommerce-info .button { border-radius: 10px; }

.gsn .xoo-wsc-container, .gsn .xoo-wsc-slider { font-family: var(--gsn-font); }
.gsn .xoo-wsc-header { border-bottom: 1px solid var(--gsn-line); }
.gsn .xoo-wsc-product { border-bottom: 1px solid var(--gsn-soft2); }
.gsn .xoo-wsc-pname, .gsn .xoo-wsc-pname a { font-weight: 600; color: var(--gsn-ink); }
.gsn a.xoo-wsc-ft-btn, .gsn .xoo-wsc-ft-btn { border-radius: 12px !important; font-family: var(--gsn-font); font-weight: 600; text-transform: none; }
.gsn a.xoo-wsc-ft-btn-checkout { background-color: var(--gsn-red) !important; border-color: var(--gsn-red) !important; color: #fff !important; }

/* ------------------------------------------------------------------ footer ------------------------------------------------------ */

.gsn-footer { margin-top: 56px; background: var(--gsn-soft); color: var(--gsn-text2); }
.gsn.woocommerce-checkout .gsn-footer { margin-top: 40px; background: #fff; }
.gsn-footer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 28px; padding-top: 40px; padding-bottom: 40px; }
.gsn-f-brand { display: flex; flex-direction: column; gap: 10px; }
.gsn-f-brand img { display: block; width: 204px; height: 30px; }
.gsn-f-contacts { display: flex; flex-direction: column; gap: 6px; }
.gsn-f-contacts a { font-size: 15px; font-weight: 600; color: var(--gsn-text); }
.gsn-footer .widget-title, .gsn-footer .soc_media_heading, .gsn-footer .payment_title { margin: 0 0 12px; font: 700 13px/1.3 var(--gsn-font) !important; letter-spacing: .8px; text-transform: uppercase; color: var(--gsn-ink) !important; }
.gsn-footer .footer_widget, .gsn-footer .widget { margin: 0; }
.gsn-footer ul.menu { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.gsn-footer ul.menu a, .gsn-footer .footer_widget ul a { font-size: 14px !important; line-height: 1.45 !important; font-weight: 400; text-transform: none !important; color: var(--gsn-text2); }
.gsn-footer ul.menu a:hover { color: var(--gsn-red-d); }
.gsn-f-pay { display: block; margin-bottom: 12px; font-size: 14px; }
.gsn-f-badges { list-style: none; margin: 0; padding: 0; display: flex; gap: 8px; flex-wrap: wrap; }
.gsn-f-badges img { display: block; height: 31px; width: auto; border-radius: 4px; }
.gsn-footer .footer_payment { display: none !important; }
.gsn-footer .soc_media_list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.gsn-footer .soc_media_list li { display: block !important; margin: 0; padding: 0; background: none !important; }
.gsn-footer .soc_media_list { justify-content: flex-start !important; }
.gsn-footer .footer_widget, .gsn-footer .textwidget { text-align: left !important; }
.gsn-footer .soc_media_list a { width: 40px; height: 40px; border-radius: 999px; background: #fff; border: 1px solid var(--gsn-line); display: flex; align-items: center; justify-content: center; color: var(--gsn-ink); font-size: 18px; }
.gsn-footer .soc_media_list a:hover { border-color: var(--gsn-tint-b); color: var(--gsn-red-d); }
.gsn-f-bottom { border-top: 1px solid #E8EAEE; padding: 16px 0; font-size: 13px; color: var(--gsn-text2); /* 09.11: muted was 4.3:1 on the grey footer */ }

/* ------------------------------------------------------------------ narrower screens -------------------------------------------- */

@media (max-width: 1199.98px) {
	.gsn-p-main { grid-template-columns: minmax(0, 1fr) 320px; }
	.gsn-p-info { grid-column: 1 / -1; grid-row: 2; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 22px 28px; }
	.gsn-mega-top { display: none; }
}

@media (max-width: 991.98px) {
	.gsn form.gsn-co { grid-template-columns: minmax(0, 1fr); }
	.gsn-co-side { position: static; }
	.gsn-hero h1 { font-size: 34px; }
}

@media (max-width: 767.98px) {
	.gsn-wrap { padding-left: 16px; padding-right: 16px; }
	.gsn-sec { padding-top: 22px; }
	.gsn-sec-head { margin-bottom: 10px; }
	.gsn-sec-head h2 { font-size: 17px; font-weight: 800; }
	.gsn-sec-head .gsn-sub { display: none; }
	.gsn-more { font-size: 13px; font-weight: 700; }

	/* home on phones (08.11 night, the user's choice): who we are and why to trust on top (title, search, delivery / payment /
	   advice), then all eight categories as a 4×2 grid, then products as 2×2 grids — nothing cut at the screen edge */
	.gsn-hero { background: #fff; }
	.gsn-hero-row { display: block; padding-top: 14px; padding-bottom: 0; }
	.gsn-hero-txt { display: block; }
	.gsn-hero .gsn-eyebrow { margin: 0 0 6px; font-size: 11px; letter-spacing: 1px; }
	.gsn-hero h1 { margin: 0 0 4px; font-size: 22px; line-height: 1.22; letter-spacing: -.2px; }
	.gsn-h1-tail { display: none; }
	.gsn-hero .gsn-hero-p { margin: 0 0 12px; font-size: 14px; line-height: 1.4; color: var(--gsn-muted); }
	.gsn-quick-l { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.gsn-hero-card { display: none; }
	.gsn-hero .gsn-trust-top { margin: 12px 0 0; padding: 8px 4px; border-radius: 14px; background: var(--gsn-soft); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; }
	.gsn-trust-top .gsn-trust-item { flex-direction: column; align-items: center; gap: 3px; padding: 0; border: 0; text-align: center; }
	.gsn-trust-top .gsn-trust-i { width: auto; height: auto; background: none; color: var(--gsn-red-d); }
	.gsn-trust-top .gsn-trust-item > span:last-child { align-items: center; font-size: 11px; line-height: 1.3; }
	.gsn-trust-top .gsn-trust-item strong { font-size: 12px; font-weight: 700; }
	.gsn-quick { flex-wrap: wrap; gap: 6px; margin: 14px 0 0; padding: 0; }
	.gsn-quick .gsn-chip { padding: 8px 12px; border: 0; background: #F4F5F7; font-size: 13px; font-weight: 600; color: #2A2E35; }
	.gsn-quick .gsn-chip:nth-of-type(n+4) { display: none; }
	.gsn-home .gsn-sec { padding-top: 26px; }

	/* fixed picture size (not aspect-ratio in a flex column: older Safari got the height wrong and the rows ran into each other) */
	.gsn-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px 6px; align-items: start; }
	.gsn-tile { min-width: 0; flex-direction: column; justify-content: flex-start; align-items: center; gap: 6px; height: auto; padding: 0; background: none; text-align: center; overflow: visible; border-radius: 0; } /* the rounded corner cut the edge of a two-line label */
	.gsn-tile:hover { background: none; }
	.gsn-tile img { order: 1; flex: 0 0 auto; display: block; width: 72px; height: 72px; max-width: 100%; object-fit: contain; padding: 2px; box-sizing: border-box; border-radius: 18px; background: var(--gsn-soft); }
	.gsn-tile-txt { order: 2; width: 100%; align-items: center; }
	.gsn-tile-txt strong { max-width: 100%; font-size: 12px; line-height: 1.25; font-weight: 600; hyphens: auto; } /* max-width: a centred flex item does not wrap by itself («Barošanas avoti» was cut at both edges) */
	.gsn-tile-txt > span { display: none; }

	.gsn-rail { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 12px; }
	.gsn-rail > .gsn-card:nth-of-type(n+5) { display: none !important; }
	.gsn-card { gap: 4px; padding: 0; border: 0; border-radius: 0; background: none; }
	.gsn-card:hover { box-shadow: none; }
	.gsn-card-img { height: 150px; border-radius: 12px; background: #F4F5F7; }
	.gsn-card-img img { max-width: 124px; max-height: 124px; mix-blend-mode: multiply; }
	.gsn-badge { top: 6px; left: 6px; padding: 2px 6px; border-radius: 6px; font-size: 11px; font-weight: 800; }
	.gsn-card-brand { margin-top: 4px; }
	.gsn-card-stock { display: none; }
	.gsn-card-name { font-size: 13px; line-height: 1.35; font-weight: 600; min-height: 2.7em; max-height: 2.7em; }
	.gsn-card-foot { display: block; }
	.gsn-card-price { flex-direction: row-reverse; justify-content: flex-end; flex-wrap: wrap; align-items: baseline; gap: 0 6px; font-size: 16px; font-weight: 800; }
	.gsn-card-price del, .gsn-card-price del .amount { font-size: 11px; }
	.gsn-card .gsn-cart-btn { position: absolute; top: 108px; right: 6px; width: 36px; height: 36px; border-radius: 999px; background: #fff !important; border: 1px solid var(--gsn-line3); }
	.gsn-card .gsn-cart-btn .gsn-i { width: 17px; height: 17px; }
	.gsn-only-mob { display: flex !important; }
	.gsn-rail-more { grid-column: 1 / -1; flex-direction: row; align-items: center; justify-content: center; gap: 8px; min-height: 0; height: 48px; padding: 0 16px; border-radius: 12px; background: #fff; border: 1px solid var(--gsn-line2); }
	.gsn-rail-more:hover { background: var(--gsn-soft); }
	.gsn-rail-more-cat { display: none; }
	.gsn-rail-more strong { font-size: 15px; font-weight: 600; }
	.gsn-rail-more-n { font-size: 14px; }
	.gsn-rail-more .gsn-round { width: auto; height: auto; border: 0; background: none; }

	.gsn-brands { display: flex; flex-wrap: wrap; gap: 6px; }
	.gsn-brand { flex: 0 0 auto; padding: 9px 13px; border-color: #E5E7EB; border-radius: 10px; }
	.gsn-brand:nth-of-type(n+9) { display: none; }
	.gsn-brand strong { font-size: 13px; font-weight: 800; white-space: nowrap; }
	.gsn-brand span { display: none; }

	.gsn-outlet-strip { padding: 16px; gap: 12px; border-radius: 14px; }
	.gsn-outlet-strip .gsn-round-red { width: 44px; height: 44px; }
	.gsn-outlet-txt strong { font-size: 16px; }
	.gsn-outlet-txt span { font-size: 13px; }
	.gsn-outlet-btn { display: none; }

	/* catalogue */
	.gsn-k-main h1.page-title, .gsn-main-k h1.page-title { font-size: 22px; margin-right: 8px; }
	.gsn-k-count { display: block; margin-top: 2px; font-size: 13px; } /* its own line: next to the title it jumped when the font came */
	body.gs-mnav-res .gsn-k-count { display: none; } /* phone search results: the bar has its own count */
	.gsn-k-desc { font-size: 14px; }
	.gsn-k-desc.is-folded { max-height: 4.65em; }
	.gsn .prod_skaits { justify-content: flex-start; }
	.gsn .card.product { padding: 8px; border-radius: 12px !important; }
	.gsn .card.product .woocommerce-loop-product__title { font-size: 13px !important; min-height: 36px; }
	.gsn .card .price .woocommerce-Price-amount.amount, .gsn .card .price ins .woocommerce-Price-amount.amount { font-size: 16px !important; }
	body.gsn:not(.gs-mnav-list) .card.product .add-to-cart-container { right: 8px; bottom: 8px; }
	body.gsn:not(.gs-mnav-list) .card.product .add-to-cart-container a { width: 38px; height: 38px; border-radius: 999px; }

	/* product: a back link instead of the long breadcrumb, the picture, then name, price and button, then the rest */
	.gsn-main-p .breadcrumb { display: none !important; }
	.gsn-p-back { display: flex; align-items: center; gap: 6px; min-height: 40px; margin-top: 4px; font-size: 14px; font-weight: 500; color: var(--gsn-text2) !important; order: 0; }
	.gsn-p-back span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	.gsn-p { display: flex; flex-direction: column; }
	.gsn-p > * { order: 20; }
	.gsn-p > .gsn-p-back { order: 0; }
	.gsn-p-main, .gsn-p-main-2 { display: contents; }
	.gsn-p-gallery { order: 1; margin-top: 4px; }
	.gsn .gsn-p-gallery .wpgs-image img { max-height: 280px !important; }
	.gsn .gsn-p-gallery .wpgs-image .slick-slide > div, .gsn .gsn-p-gallery .wpgs-image .woocommerce-product-gallery__image { min-height: 240px; }
	.gsn-p-note { margin-top: 6px; }
	.gsn-p-head { order: 2; padding-top: 14px; }
	.gsn-p-buy { order: 3; margin-top: 12px; position: static; padding: 0; border: 0; border-radius: 0; }
	.gsn-p-info { order: 4; margin-top: 18px; display: flex; gap: 16px; }
	.gsn-fbt { order: 5; margin-top: 18px; padding: 14px; border-radius: 16px; }
	.gsn .gsn-p-head .product_title { font-size: 19px !important; line-height: 1.32 !important; font-weight: 600 !important; }
	.gsn .gsn-p-buy > .price { font-size: 27px; }
	.gsn-p-chips .gsn-chip-grey, .gsn-p-chips .gsn-chip-red { font-size: 12px; padding: 4px 10px; }
	.gsn-p-block h2, .gsn-fbt-head h2 { font-size: 16px; }
	.gsn-checks li { font-size: 14px; gap: 8px; }
	.gsn-params > div { display: flex; justify-content: space-between; gap: 12px; padding: 9px 12px; font-size: 13px; }
	.gsn-params strong { text-align: right; }
	.gsn-fbt-head .gsn-sub { display: none; }
	.gsn-fbt-list { display: flex; flex-direction: column; gap: 8px; }
	.gsn-fbt-item { gap: 10px; padding: 8px 10px; border-radius: 12px; }
	.gsn-fbt-item img { flex-basis: 44px; width: 44px !important; height: 44px !important; border-radius: 8px; }
	.gsn-fbt-name { font-size: 12.5px; line-height: 1.3; }
	.gsn-fbt-price { font-size: 13px; }
	.gsn-fbt-foot { justify-content: space-between; gap: 10px; }
	.gsn-fbt-foot .gsn-btn { flex: 1 1 100%; }
	.gsn-main-p .woocommerce-tabs { margin-top: 24px; }
	.gsn-main-p .woocommerce-tabs ul.tabs { flex-wrap: nowrap; overflow-x: auto !important; }
	.gsn-main-p .woocommerce-tabs ul.tabs li a { height: 38px; padding: 0 14px !important; font-size: 14px; white-space: nowrap; }
	.gsn-main-p .woocommerce-Tabs-panel { font-size: 15px; }
	.gsn-main-p .woocommerce-Tabs-panel h2 { font-size: 18px; }

	/* checkout */
	.gsn .gsn-co .woocommerce-billing-fields__field-wrapper, .gsn .gsn-co .woocommerce-shipping-fields__field-wrapper { grid-template-columns: minmax(0, 1fr); }
	.gsn-co-box, .gsn-co-side { padding: 16px; border-radius: 14px; }
	.gsn-seg { display: flex; }
	.gsn-seg button { flex: 1 1 0; padding: 0 10px; }

	.gsn main#site-main.container { padding-left: 16px; padding-right: 16px; }
	/* tap areas of at least ~40 px without moving anything (padding + the same negative margin) */
	.gsn .gsn-mob-logo { min-height: 44px; }
	.gsn-more { display: inline-block; padding: 10px 0; margin: -10px 0; }
	.gsn-trust-top a { display: inline-block; padding: 8px 6px; margin: -8px -6px; }
	.gsn-footer ul.menu a, .gsn-f-contacts a { display: inline-block; padding: 7px 0; margin: -4px 0; }
	.gsn-footer ul.menu { gap: 2px; }
	.gsn-p-chips .gsn-chip-grey { padding: 8px 12px; margin: -4px 0; }
	.gsn-ship-more { display: inline-block; padding: 8px 0; margin: -6px 0; }
	.gsn-p-back { min-height: 44px; }
	.gsn .page_heading { margin: 18px 0 12px; font-size: 24px !important; }
	.gsn-footer { margin-top: 32px; }
	.gsn-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 16px; padding-top: 28px; padding-bottom: 28px; }
	.gsn-f-brand { grid-column: 1 / -1; }
}

/* ---------------------------------------------------------------- 09.11.2026 QA: accessibility, motion, print (session «Вид и устройства») */
/* links inside running text were only a darker shade of the text (1.5–2:1 against it, WCAG 1.4.1): underlined */
.gsn main p a:not([class]), .gsn .entry-content li a:not([class]), .gsn .woocommerce-privacy-policy-text a, .gsn .term-description a,
.gsn .woocommerce-Tabs-panel a:not([class]) { text-decoration: underline; text-underline-offset: 2px; }
/* «Rādīt paroli» eye button: 22 px (WCAG 2.5.8 asks for 24 px) */
.gsn .show-password-input { min-width: 26px; min-height: 26px; }
/* the side cart's close cross is a span: made a keyboard button by newlook.js */
.gsn span.xoo-wsch-close:focus-visible { outline-offset: -2px; }
/* reduced motion asked by the system: no slides, fades or smooth scrolling (WCAG 2.3.3) */
@media (prefers-reduced-motion: reduce) {
	.gsn *, .gsn *::before, .gsn *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
}
/* print: the page content without the shop chrome (the fixed bottom bar was printed over the text, chat bubbles, menus) */
@media print {
	.gs-mnav, .gs-ms, .gsn-util, .gsn-nav, .gsn-search, .gsn-account, .gsn-mob-right, .gsn-offcanvas, .sbuttons, .xoo-wsc-modal, .xoo-wsc-basket,
	.gsn-sticky-buy, .gsn-fbt, .gsn-p-buy form.cart, .woocommerce-product-gallery__trigger, .gsn-f-col, .gsn-f-badges, .gsn-skip, iframe,
	#tawkchat-container, .gsn-mega, .gsn-k-filters, #sidebar, .facetwp-facet, .gsn-cart-btn, .add-to-cart-container, .gsn-min, .wc-proceed-to-checkout,
	.actions, .coupon { display: none !important; }
	body.gsn { padding-bottom: 0 !important; background: #fff !important; }
	.gsn-footer { background: #fff !important; margin-top: 16px !important; }
	.gsn a { color: #000 !important; text-decoration: none !important; }
	.gsn main p a[href^="http"]:not([class])::after { content: " (" attr(href) ")"; font-size: 85%; color: #444; }
	.gsn .card.product, .gsn .gsn-card, .gsn-p-box, .gsn .woocommerce-Tabs-panel { break-inside: avoid; box-shadow: none !important; }
	.gsn h1, .gsn h2, .gsn h3 { break-after: avoid; }
}
/* tablets and touch laptops (768 px and wider with a finger): the same larger tap areas as on phones (footer links were 16 px,
   «Viss katalogs →» 23 px, «Bieži pērk kopā» names 19 px; 09.11, G5) */
@media (pointer: coarse) and (min-width: 768px) {
	.gsn-more { display: inline-block; padding: 10px 0; margin: -10px 0; }
	.gsn-footer ul.menu a, .gsn-f-contacts a { display: inline-block; padding: 7px 0; margin: -4px 0; }
	.gsn-ship-more { display: inline-block; padding: 8px 0; margin: -6px 0; }
	.gsn-fbt-name { padding: 6px 0; margin: -6px 0; }
	.gsn-lang a { display: inline-block; padding: 6px 4px; margin: -6px -2px; }
	.gsn-util-contacts a { display: inline-block; padding: 6px 0; margin: -6px 0; }
}
/* checkout on laptops (992–1439 px): the floating WhatsApp/Telegram buttons and the chat bubble covered the bank list of the
   order column (1280 px: buttons at 1195–1255, the column ended at 1248); the form leaves that strip free (09.11, F2) */
@media (min-width: 992px) and (max-width: 1439.98px) {
	body.woocommerce-checkout form.gsn-co { margin-right: 76px; }
}
/* phones held sideways (852×393): the 36 px product title and the breadcrumb filled the whole first screen, no photo or
   price without scrolling (09.11, F1) */
@media (orientation: landscape) and (max-height: 500px) {
	.gsn h1, .gsn h1.product_title, .gsn h1.page-title { font-size: 22px !important; line-height: 1.25 !important; }
	.gsn .breadcrumb { margin-top: 4px !important; margin-bottom: 8px !important; }
}
/* queue H1 (09.11): slick's lazy-load fades the main gallery photo to opacity 0 and back when the slider starts, so the largest
   picture of a product page was painted again 5–15 s later on a slow phone (LCP 8–17 s); the photo stays visible */
.gsn .gsn-p-gallery .wpgs-image img { opacity: 1 !important; }
/* browser zoom 400 % (1280 px → 320×200 CSS px, WCAG 1.4.10 / 2.4.11): the fixed bottom bar and the header left ~85 px for the
   page and could hide the focused element; on such short windows the bar stays at the end of the page (09.11, F4) */
@media (max-height: 300px) {
	body.gsn .gs-mnav { position: static !important; }
	body.gsn.gs-mnav-on { padding-bottom: 0 !important; }
}

/* T1 (09.11.2026, the owner's choices) -------------------------------------------------------------------------------------- */
/* categories above the search results (functions.php gsn_search_cats_block): chips like the sorting row; one scrolling row on phones */
.gsn-scats { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 10px 0 14px; }
.gsn-scats-l { flex: 0 0 auto; font-size: 14px; color: var(--gsn-muted); margin-right: 2px; }
.gsn .gsn-scat { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border: 1px solid var(--gsn-line2); border-radius: 999px; background: #fff; color: var(--gsn-ink); font-size: 14px; line-height: 1.2; text-decoration: none; white-space: nowrap; }
.gsn a.gsn-scat:hover { border-color: var(--gsn-ink); color: var(--gsn-ink); }
.gsn .gsn-scat.is-on { background: var(--gsn-ink); border-color: var(--gsn-ink); color: #fff; }
.gsn-scat-n { color: var(--gsn-faint); font-size: 13px; }
.gsn a.gsn-scat:focus-visible { outline: 2px solid var(--gsn-red); outline-offset: 2px; }
@media (max-width: 767px) {
	.gsn-scats { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; margin: 8px -16px 12px; padding: 2px 16px; }
	.gsn-scats::-webkit-scrollbar { display: none; }
}
/* 5 columns on screens 1920 px and wider (on with body.gsn-t1): the page grows from 1280 to 1600 px, so the cards keep their
   width (≈300 px) and the catalogue and the search show 5 a row instead of 4 */
@media (min-width: 1920px) {
	.gsn-t1 .gsn-wrap, .gsn-t1 main#site-main.container { max-width: 1600px; }
	.gsn-t1 .gsn-main-k .gsn-k-main .row > .col-xxl-3 { flex: 0 0 20%; max-width: 20%; }
}