/*
 * 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: #9AA0A8;
	--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%; }
.gsn :focus-visible { outline: 2px solid var(--gsn-red); outline-offset: 2px; }
.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; 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; }
/* 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); }
.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: 20px; height: 20px; margin: 0; accent-color: var(--gsn-red); }
.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; }
.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-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); }
.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-muted); }

/* ------------------------------------------------------------------ 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; }
	.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 { font-size: 12px; line-height: 1.25; font-weight: 600; hyphens: auto; }
	.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; }

	/* 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; }
}
