/*
 * Krisko Trading brand layer — CSS tokens + brand chrome (child JS forbidden).
 * Values extracted 1:1 from the current Oxygen design (kriskotrading.com):
 *   CTA red #af3c3f · text #231f20 · body #404040 · footer #2d2d2d
 *   fonts: Open Sans (body/nav) + Source Sans 3 (headings) · pill buttons.
 * Maps to the parent token contract (same names as blankpage-disainmet/brand.css).
 */

:root {
  /* Core palette */
  --color-bg: #ffffff;
  --color-surface: #f5f5f5;
  --color-fg: #231f20;      /* near-black brand text */
  --surface-dark: #2d2d2d;  /* footer / dark surfaces */
  --wash: #cdcdcd;

  /* Borders & focus */
  --border-color: #dddddd;
  --border-divider: #e6e6e6;
  --border-shell: #231f20;
  --border-dark-color: #f5f5f5;
  --color-focus: #af3c3f;

  /* Buttons & states */
  --btn-primary-bg: #af3c3f;      /* red CTA */
  --btn-primary-hover: #97292c;   /* darker red hover */
  --badge-success: #2f8f4e;
  --badge-info: #0e7490;
  --badge-danger: #ef4444;
  --badge-clearance: #af3c3f;

  /* Geometry — Krisko cards are near-square; buttons are pills (handled below) */
  --radius: 6px;

  /* Typography — override parent AlbertSans */
  --font-sans: "Open Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;
  --font-heading: "Source Sans 3", "Open Sans", ui-sans-serif, system-ui, sans-serif;
}

html.dark {
  --color-bg: #1a1a1a;
  --color-surface: #232323;
  --color-fg: #f5f5f5;
  --wash: #2a2a2a;
  --border-color: #3a3a3a;
  --border-divider: #333333;
  --border-shell: #f5f5f5;
  --btn-primary-bg: #c24a4d;
  --btn-primary-hover: #af3c3f;
  --color-focus: #c24a4d;
}

body.brand-kriskotrading {
  background-color: var(--color-bg);
  color: var(--color-fg);
  font-family: var(--font-sans);
}

/* GLOBAL surface token → white. `--color-surface` drives ~90 backgrounds across
   the theme (.container-page, cards, panels, modals, my-account). Krisko is a
   clean white design, so fix it at the TOKEN level (set on body.brand-* for
   specificity over :root/parent) — this stops the recurring grey everywhere. */
body.brand-kriskotrading {
  --color-surface: #ffffff;
  --bp-paper-400: #ffffff;
  --surface-light: #ffffff;
}

/* Headings in Source Sans 3 (matches Oxygen h-tags) */
body.brand-kriskotrading h1,
body.brand-kriskotrading h2,
body.brand-kriskotrading h3,
body.brand-kriskotrading h4,
body.brand-kriskotrading .bp-mega-title,
body.brand-kriskotrading .product-summary h1 {
  font-family: var(--font-heading);
  font-weight: 700;
}

/* Pill primary buttons (Krisko CTA style) */
body.brand-kriskotrading .btn-primary,
body.brand-kriskotrading .button.add_to_cart_button,
body.brand-kriskotrading .single_add_to_cart_button,
body.brand-kriskotrading .wp-block-button:not(.is-style-outline) .wp-block-button__link {
  background-color: var(--btn-primary-bg);
  color: #fff !important;
  border-radius: 999px;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.02em;
}

body.brand-kriskotrading .btn-primary:hover,
body.brand-kriskotrading .button.add_to_cart_button:hover,
body.brand-kriskotrading .single_add_to_cart_button:hover {
  background-color: var(--btn-primary-hover);
  color: #fff !important;
}

/* Outline pill (secondary / partner CTA) */
body.brand-kriskotrading .btn-secondary,
body.brand-kriskotrading .wp-block-button.is-style-outline .wp-block-button__link {
  border-radius: 999px;
  border: 1px solid var(--color-fg);
  color: var(--color-fg);
  text-transform: uppercase;
  font-weight: 700;
}

/* Nav links: uppercase bold (Oxygen header style) */
body.brand-kriskotrading #bp-mega-desktop .bp-header-cat-link,
body.brand-kriskotrading #bp-mega-desktop .bp-header-cat-btn,
body.brand-kriskotrading .site-topbar nav a {
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.02em;
}

/* Krisko header nav — centered horizontal list, uppercase bold links */
body.brand-kriskotrading .krisko-nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: clamp(20px, 2.2vw, 40px);
}
body.brand-kriskotrading .krisko-nav-list > li > a {
  color: var(--color-fg);
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.02em;
  font-size: clamp(0.9rem, 0.6vw + 0.75rem, 1.05rem);
  white-space: nowrap;
  text-decoration: none;
}
/* Nav underline: hover = red + underline; current page = underline (1:1 original) */
body.brand-kriskotrading .krisko-nav-list > li:not(.bp-header-cta) > a:hover {
  color: var(--btn-primary-bg);
  text-decoration: underline;
  text-underline-offset: 6px;
  text-decoration-thickness: 2px;
}
body.brand-kriskotrading .krisko-nav-list > li.current-menu-item:not(.bp-header-cta) > a,
body.brand-kriskotrading .krisko-nav-list > li.current-menu-ancestor:not(.bp-header-cta) > a,
body.brand-kriskotrading .krisko-nav-list > li.current_page_item:not(.bp-header-cta) > a {
  text-decoration: underline;
  text-underline-offset: 6px;
  text-decoration-thickness: 2px;
}

/* Logged-out header: "Logi sisse" inline link + "Hakka koostööpartneriks" outline pill */
body.brand-kriskotrading .krisko-login-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--color-fg);
  text-decoration: none;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
body.brand-kriskotrading .krisko-login-link svg { width: 22px; height: 22px; }
body.brand-kriskotrading .krisko-login-link:hover { color: var(--btn-primary-bg); }

body.brand-kriskotrading .krisko-partner-btn {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--color-fg);
  border-radius: 999px;
  padding: 9px 22px;
  color: var(--color-fg);
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-decoration: none;
  white-space: nowrap;
}
body.brand-kriskotrading .krisko-partner-btn:hover {
  background: var(--color-fg);
  color: #fff;
}
/* Red pill for the "Tellimuste keskkond" nav item (menu class bp-header-cta) */
body.brand-kriskotrading .krisko-nav-list li.bp-header-cta > a {
  background: var(--btn-primary-bg);
  color: #fff;
  border-radius: 999px;
  padding: 9px 22px;
}
body.brand-kriskotrading .krisko-nav-list li.bp-header-cta > a:hover {
  background: var(--btn-primary-hover);
  color: #fff;
}
/* Icon-cluster hover — all three (Otsing, Minu konto, cart) turn red uniformly.
   !important beats the cart's !important base colour; svg stroke follows currentColor. */
body.brand-kriskotrading .krisko-icons .krisko-icon-btn:hover,
body.brand-kriskotrading .krisko-icons .krisko-icon-btn:hover svg,
body.brand-kriskotrading .krisko-login-link:hover,
body.brand-kriskotrading .krisko-login-link:hover svg,
body.brand-kriskotrading #bp-mini-cart-btn.krisko-cart-btn:hover,
body.brand-kriskotrading #bp-mini-cart-btn.krisko-cart-btn:hover .krisko-cart-icon,
body.brand-kriskotrading #bp-mini-cart-btn.krisko-cart-btn:hover .krisko-cart-total,
body.brand-kriskotrading #bp-mini-cart-btn.krisko-cart-btn:hover .krisko-cart-count {
  color: var(--btn-primary-bg) !important;
}
/* Cart button — override parent's red #bp-mini-cart-btn to clean 1:1:
   [total] [N toode(t)] [icon], dark, no background. */
body.brand-kriskotrading #bp-mini-cart-btn.krisko-cart-btn {
  background: none !important;
  color: var(--color-fg) !important;
  border: 0;
  padding: 0;
  cursor: pointer;
  position: static;
}
body.brand-kriskotrading .krisko-cart-inner {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  position: static;
}
body.brand-kriskotrading .krisko-cart-iconwrap {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  order: 1;
}
body.brand-kriskotrading .krisko-cart-icon { width: 24px; height: 24px; stroke-width: 2; }

/* Language switcher — Weglot-style flag dropdown */
body.brand-kriskotrading .krisko-lang { position: relative; }
body.brand-kriskotrading .krisko-lang-toggle {
  display: inline-flex; align-items: center; gap: 6px;
  background: none; border: 0; cursor: pointer;
  color: var(--color-fg); font-weight: 700; text-transform: uppercase;
  font-size: 0.85rem; letter-spacing: 0.02em; padding: 4px 6px;
}
body.brand-kriskotrading .krisko-flag {
  display: block; width: 20px; height: 15px; object-fit: cover;
  border-radius: 2px; box-shadow: 0 0 0 1px rgba(0,0,0,.08);
}
body.brand-kriskotrading .krisko-lang-caret { width: 12px; height: 12px; stroke-width: 2.5; }
body.brand-kriskotrading .krisko-lang-menu {
  position: absolute; top: 100%; right: 0; margin-top: 6px;
  background: var(--color-bg); border: 1px solid var(--border-color);
  border-radius: 8px; box-shadow: 0 10px 28px rgba(0,0,0,.14);
  list-style: none; margin-left: 0; margin-bottom: 0; padding: 4px;
  min-width: 96px; z-index: 1001;
}
body.brand-kriskotrading .krisko-lang-menu li { margin: 0; }
body.brand-kriskotrading .krisko-lang-menu li a {
  display: flex; align-items: center; gap: 8px; padding: 7px 12px;
  text-decoration: none; color: var(--color-fg); border-radius: 5px;
  font-weight: 700; text-transform: uppercase; font-size: 0.85rem;
}
body.brand-kriskotrading .krisko-lang-menu li a:hover { background: var(--color-surface); }
body.brand-kriskotrading .krisko-lang-menu li a[aria-current="true"] { color: var(--btn-primary-bg); }
body.brand-kriskotrading .krisko-cart-total { font-weight: 700; font-size: 1rem; white-space: nowrap; order: 2; }
body.brand-kriskotrading .krisko-cart-count {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  line-height: 1;
  font-weight: 400;
  white-space: nowrap;
  position: static !important;
  background: none !important;
  color: var(--color-fg) !important;
  min-width: 0;
  height: auto;
  padding: 0;
  border-radius: 0;
  transform: none !important;
  inset: auto !important;
}

/* Footer logo: dark PNG on dark footer → invert to white silhouette */
body.brand-kriskotrading .footer-logo img {
  filter: brightness(0) invert(1);
}

/* Footer contact block (child bpv2_footer_after_logo) — white on dark footer */
body.brand-kriskotrading .krisko-footer-contact,
body.brand-kriskotrading .krisko-footer-contact a {
  color: #ffffff;
}
body.brand-kriskotrading .krisko-footer-contact a {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Header icons: slightly thicker stroke */
body.brand-kriskotrading .krisko-header svg {
  stroke-width: 2;
}

/* Header logo hover — scale up from CENTER + rotate -10deg (matches original Krisko) */
body.brand-kriskotrading .krisko-brand img {
  transition: transform 0.25s ease;
  transform-origin: center center;
  will-change: transform;
}
body.brand-kriskotrading .krisko-brand:hover img {
  transform: scale(1.06) rotate(-5deg);
}

/* Header logo (child-supplied img via bpv2_header_brand_html) */
body.brand-kriskotrading .bp-header-brand .krisko-logo {
  display: block;
  width: auto;
  height: clamp(38px, 3vw, 52px);
  max-width: 100%;
}
/* Two logos: wide wordmark (desktop) vs circular badge (mobile <=767px), 1:1 original */
body.brand-kriskotrading .krisko-brand .krisko-logo-mobile { display: none; }
@media (max-width: 767px) {
  body.brand-kriskotrading .krisko-header .krisko-brand .krisko-logo-desktop { display: none; }
  body.brand-kriskotrading .krisko-header .krisko-brand .krisko-logo-mobile { display: block; height: 48px; width: auto; max-width: 60px; }
}

/* Mobile header: tighter horizontal spacing + cart = icon-only with absolute count bubble */
@media (max-width: 767px) {
  body.brand-kriskotrading .krisko-icons { gap: 14px !important; }
  body.brand-kriskotrading .krisko-cart-total,
  body.brand-kriskotrading .krisko-cart-unit { display: none !important; }
  body.brand-kriskotrading .krisko-cart-inner { gap: 0 !important; }
  body.brand-kriskotrading .krisko-cart-iconwrap { position: relative; gap: 0; }
  body.brand-kriskotrading .krisko-cart-count { position: static !important; }
  body.brand-kriskotrading .krisko-cart-num {
    position: absolute; top: -7px; right: -9px;
    min-width: 17px; height: 17px; padding: 0 4px; box-sizing: border-box;
    background: var(--btn-primary-bg); color: #fff !important; border-radius: 999px;
    font-size: 10px; font-weight: 700; line-height: 17px; text-align: center;
  }
  body.brand-kriskotrading .krisko-lang-toggle { padding: 4px 2px; gap: 4px; }
  /* Hide flag on the toggle (mobile) — dropdown keeps flags */
  body.brand-kriskotrading .krisko-lang-toggle .krisko-flag { display: none; }
}

/* Header: white bg, dark text (Oxygen) */
body.brand-kriskotrading .site-topbar,
body.brand-kriskotrading .site-topbar .bp-header-top {
  background-color: #ffffff;
  color: var(--color-fg);
}

body.brand-kriskotrading #bp-mega-desktop {
  background-color: #ffffff;
  color: var(--color-fg);
  border-bottom: 1px solid var(--border-color);
}

/* Footer: dark #2d2d2d, light text (Oxygen) */
body.brand-kriskotrading .site-footer {
  background-color: var(--surface-dark);
  color: #ffffff;
  margin-top: 60px;
}

body.brand-kriskotrading .site-footer a,
body.brand-kriskotrading .site-footer .widget-title,
body.brand-kriskotrading .site-footer p,
body.brand-kriskotrading .site-footer span,
body.brand-kriskotrading .site-footer li,
body.brand-kriskotrading .site-footer h3,
body.brand-kriskotrading .site-footer h4 {
  color: #ffffff;
}

body.brand-kriskotrading .site-footer a:hover {
  opacity: 0.75;
}

/* ── Modals: same design, but WHITE panel everywhere — no grey surface.
   Grey came from var(--color-surface) on panels/headers; force --color-bg (white).
   Dim backdrops (bg-black/50 overlay) stay untouched. Toomas: hall taust mitte kuskil. */
body.brand-kriskotrading .bp-modal-panel,
body.brand-kriskotrading .bp-modal-header,
body.brand-kriskotrading .bp-modal-body,
body.brand-kriskotrading .bp-center-modal .bp-modal-panel,
body.brand-kriskotrading .bp-mobile-modal,
body.brand-kriskotrading #bp-search-modal .bp-modal-panel,
body.brand-kriskotrading #bp-search-modal .bp-modal-header,
body.brand-kriskotrading #bp-mini-cart-drawer > aside,
body.brand-kriskotrading #bp-mini-cart-drawer > aside > header,
body.brand-kriskotrading #bp-mini-cart-drawer .bp-modal-panel,
body.brand-kriskotrading #bp-mini-cart-drawer .bp-modal-body {
  background: var(--color-bg) !important;
}

/* ── Content pages: exact typography from live original (Source Sans headings, Open Sans body) ── */

/* Section vertical rhythm */
body.brand-kriskotrading .krisko-sec { padding: 56px 0; }
body.brand-kriskotrading .krisko-sec-intro { padding-top: 74px; }
body.brand-kriskotrading .krisko-center { text-align: center; }
body.brand-kriskotrading .krisko-ta-left { text-align: left; }
body.brand-kriskotrading .krisko-ta-right { text-align: right; }

/* Hero: full-bleed photo + red overlay, 60vh, bg-position 50% 40% (#div_block-9-6) */
body.brand-kriskotrading .krisko-hero {
  min-height: 60vh;
  background-size: cover;
  background-position: 50% 40%;
  background-repeat: no-repeat;
}
@media (max-width: 768px) { body.brand-kriskotrading .krisko-hero { min-height: 37vh; background-position: 50% 50%; } }

/* Section / hero title: 36px/700 Source Sans #231f20, lh 1.6, mb 23px (#headline-20-6 et al) */
body.brand-kriskotrading .krisko-h-title {
  font-family: var(--font-heading); font-size: 36px; font-weight: 700;
  line-height: 1.6; color: #231f20; margin: 0 0 23px;
}
@media (max-width: 640px) { body.brand-kriskotrading .krisko-h-title { font-size: 28px; line-height: 1.3; } }

/* Intro 3 blurbs: centered. Title 24px/900 Open Sans red uppercase mb18; body 18px/400 #404040 lh1.3 mb7 */
body.brand-kriskotrading .krisko-blurbs { margin-bottom: 27px; }
body.brand-kriskotrading .krisko-blurb { text-align: center; }
body.brand-kriskotrading .krisko-blurb-title {
  font-family: var(--font-sans); font-size: 24px; font-weight: 900; line-height: 1.6;
  text-transform: uppercase; color: #af3c3f; margin: 0 0 18px;
}
body.brand-kriskotrading .krisko-blurb-body { font-family: var(--font-sans); font-size: 18px; font-weight: 400; line-height: 1.3; color: #404040; margin: 0 0 7px; }

/* Body copy (split sections): 18px/400 Open Sans #404040 */
body.brand-kriskotrading .krisko-body { font-family: var(--font-sans); font-size: 18px; font-weight: 400; line-height: 1.3; color: #404040; margin: 0 0 20px; }
body.brand-kriskotrading .krisko-col-text { display: flex; flex-direction: column; }
body.brand-kriskotrading .krisko-col-text.krisko-ta-right { align-items: flex-end; }
body.brand-kriskotrading .krisko-col-text.krisko-ta-left { align-items: flex-start; }

/* Section media images */
body.brand-kriskotrading .krisko-media { display: block; width: 100%; height: auto; }

/* CTA button: red pill, uppercase, 16px/700, padding 10px 25px, radius 100px */
body.brand-kriskotrading .krisko-btn,
body.brand-kriskotrading .bp-btn.bp-btn-primary {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; vertical-align: middle;
  background-color: #af3c3f !important; color: #fff !important;
  font-family: var(--font-sans); font-size: 16px; font-weight: 700; text-transform: uppercase;
  text-decoration: none; padding: 12px 28px; border-radius: 100px !important; border: 1px solid #af3c3f !important; line-height: 1.2;
  transition: background-color 0.2s ease;
}
body.brand-kriskotrading .krisko-btn:hover,
body.brand-kriskotrading .bp-btn.bp-btn-primary:hover { background-color: #93282b !important; border-color: #93282b !important; }
/* Secondary = outline pill, same shape/size as primary so paired buttons match. */
body.brand-kriskotrading .bp-btn.bp-btn-secondary {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; vertical-align: middle;
  background: transparent !important; color: #af3c3f !important;
  font-family: var(--font-sans); font-size: 16px; font-weight: 700; text-transform: uppercase;
  text-decoration: none; padding: 12px 28px; border-radius: 100px !important; border: 1px solid #af3c3f !important; line-height: 1.2;
  transition: all 0.2s ease;
}
body.brand-kriskotrading .bp-btn.bp-btn-secondary:hover { background: #af3c3f !important; color: #fff !important; }
/* Reorder button icon: size + align with label (was misaligned by inline-block). */
body.brand-kriskotrading .bp-myacc-order__reorder svg,
body.brand-kriskotrading .bp-btn svg { width: 18px; height: 18px; flex: 0 0 auto; }
body.brand-kriskotrading .krisko-cta-wrap { margin-top: 20px; }

/* Why-us: 4 features, row bottom border #d3ced2 (#new_columns-15-6) */
body.brand-kriskotrading .krisko-features {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
  border-bottom: 1px solid #d3ced2; padding-bottom: 40px;
}
body.brand-kriskotrading .krisko-feature { text-align: center; }
body.brand-kriskotrading .krisko-feature-num { font-family: var(--font-sans); font-size: 67px; font-weight: 800; color: #af3c3f; line-height: 1.2; height: 87px; display: flex; align-items: center; justify-content: center; }
body.brand-kriskotrading .krisko-feature-num span { font-size: 40px; font-weight: 800; align-self: flex-end; margin-bottom: 13px; }
body.brand-kriskotrading .krisko-feature-ico { height: 87px; display: flex; align-items: center; justify-content: center; }
body.brand-kriskotrading .krisko-feature-ico svg { width: 60px; height: 60px; color: #af3c3f; }
body.brand-kriskotrading .krisko-feature-ico.krisko-stars { gap: 3px; }
body.brand-kriskotrading .krisko-feature-ico.krisko-stars svg { width: 28px; height: 28px; }
body.brand-kriskotrading .krisko-feature-title { font-family: var(--font-heading); font-size: 20px; font-weight: 700; color: #231f20; margin: 8px 0 6px; }
body.brand-kriskotrading .krisko-feature-body { font-family: var(--font-sans); font-size: 15px; font-weight: 400; line-height: 1.6; color: #231f20; margin: 0; }
@media (max-width: 780px) { body.brand-kriskotrading .krisko-features { grid-template-columns: repeat(2, 1fr); } }

/* ── Ettevõttest: banner + intro box + 3 columns + bordered contact box (1:1) ── */
body.brand-kriskotrading .krisko-banner { min-height: 350px; display: flex; align-items: flex-end; background-size: cover; background-position: center; background-repeat: no-repeat; padding: 40px 0; }
/* Reklaam brand banners are eyewear campaign shots — bias upward so the glasses
   stay in frame (client: Tom Tailor showed only the mouth). Content-page banners
   (About/Contact/partner) keep default center so their flat-lay photos sit right. */
body.brand-kriskotrading .krisko-reklaam-hero { background-position: center 22%; }
body.brand-kriskotrading .krisko-banner-title { font-family: var(--font-heading); color: #fff; font-size: 69px; font-weight: 900; line-height: 1; margin: 0; text-align: left; }
@media (max-width: 991px) { body.brand-kriskotrading .krisko-banner-title { font-size: 48px; } }
@media (max-width: 640px) { body.brand-kriskotrading .krisko-banner { min-height: 220px; } body.brand-kriskotrading .krisko-banner-title { font-size: 32px; } }

body.brand-kriskotrading .krisko-intro-box { background: #f7f7f7; padding: 38px 15px 47px; margin-top: 16px; }
body.brand-kriskotrading .krisko-h-red-sm { font-family: var(--font-heading); font-size: 36px; font-weight: 700; color: #af3c3f; text-align: center; margin: 0 0 36px; line-height: 1.3; }
body.brand-kriskotrading .krisko-body-wide { max-width: 1000px; margin-inline: auto; text-align: center; line-height: 1.6; }

body.brand-kriskotrading .krisko-col { padding: 30px 0; }
body.brand-kriskotrading .krisko-col-title { font-family: var(--font-sans); font-size: 22px; font-weight: 800; color: #af3c3f; text-align: center; text-transform: uppercase; letter-spacing: 0.02em; margin: 0 0 12px; }
body.brand-kriskotrading .krisko-col-body { font-family: var(--font-sans); font-size: 16px; font-weight: 400; line-height: 1.5; color: #231f20; text-align: center; margin: 0; }

/* Bordered contact box: 3 equal items, each a dark-circle icon + number + label. */
body.brand-kriskotrading .krisko-contact-box { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px; border: 1px solid #e5e5e5; padding: 44px 24px; }
body.brand-kriskotrading .krisko-contact-item { flex: 1 1 220px; display: flex; flex-direction: column; align-items: center; text-align: center; }
body.brand-kriskotrading .krisko-contact-icon { width: 72px; height: 72px; border-radius: 50%; background: #231f20; color: #fff; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 18px; flex: 0 0 auto; }
body.brand-kriskotrading .krisko-contact-icon svg { width: 32px; height: 32px; }
body.brand-kriskotrading .krisko-contact-num { font-family: var(--font-sans); font-size: 18px; font-weight: 600; color: #231f20; }
body.brand-kriskotrading .krisko-contact-num a { color: inherit; text-decoration: none; }
body.brand-kriskotrading .krisko-contact-num a:hover { color: #af3c3f; }
body.brand-kriskotrading .krisko-contact-label { font-family: var(--font-sans); font-size: 14px; color: #666; margin-top: 4px; }
body.brand-kriskotrading .krisko-contact-label a { color: inherit; text-decoration: none; }

body.brand-kriskotrading .krisko-sec-tight { padding-top: 0; }
/* Contact form + info box: two EQUAL columns (form | info), 1:1 original. The
   .krisko-box wrapper supplies the border + padding; a vertical divider sits
   between the columns (info border-left below). */
body.brand-kriskotrading .krisko-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; align-items: stretch; }
@media (max-width: 782px) { body.brand-kriskotrading .krisko-form-grid { grid-template-columns: 1fr; } }

/* ── Shop/category 1:1 — category-tree sidebar (left) + grid (right) ── */
@media (min-width: 1024px) {
  body.brand-kriskotrading .bp-shop-layout { display: grid !important; grid-template-columns: 220px minmax(0,1fr); gap: 34px; align-items: start; }
  body.brand-kriskotrading .bp-shop-sidebar { width: auto !important; max-width: none; }
}
body.brand-kriskotrading .krisko-cat-nav { margin-bottom: 22px; }
body.brand-kriskotrading .krisko-cat-nav-title { font-family: var(--font-heading); font-size: 20px; font-weight: 700; color: #231f20; margin: 0 0 14px; }
body.brand-kriskotrading .krisko-cat-list { list-style: none; margin: 0; padding: 0; }
body.brand-kriskotrading .krisko-cat-list .krisko-cat-list { padding-left: 14px; }
body.brand-kriskotrading .krisko-cat-list a { display: block; padding: 4px 0; font-family: var(--font-sans); font-size: 14px; color: #404040; text-decoration: none; line-height: 1.4; }
body.brand-kriskotrading .krisko-cat-list a:hover { color: #af3c3f; }
/* All top-level categories carry equal weight (bold + dark), whether or not they
   have a toggle — so leaf top-levels (Aksessuaarid, Toosid, Tom Tailor) don't
   look secondary next to the collapsible ones. Subcategories stay lighter. */
body.brand-kriskotrading .krisko-cat-list.krisko-cat-level-0 > li > a { font-weight: 700; color: #231f20; }
body.brand-kriskotrading .krisko-cat-list li.is-current > a { color: #af3c3f; font-weight: 700; }

/* ── Category archive 1:1 — 3 products per row (original) ── */
@media (min-width: 1024px) {
  body.brand-kriskotrading .bp-products.ds-primary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (min-width: 560px) and (max-width: 1023px) {
  body.brand-kriskotrading .bp-products.ds-primary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* Remove top subcategory-cards scroller (sidebar tree handles category nav now) */
body.brand-kriskotrading .bp-subcats,
body.brand-kriskotrading .bp-shop-main-categories { display: none !important; }

/* Krisko page title (archive / cart / checkout) 1:1 original .poe-h1:
   Source Sans, 45px, weight 300, UPPERCASE, #231f20. */
body.brand-kriskotrading.archive .entry-title,
body.brand-kriskotrading.post-type-archive-product .entry-title,
body.brand-kriskotrading.tax-product_cat .entry-title,
body.brand-kriskotrading .bp-cart-title,
body.brand-kriskotrading.woocommerce-checkout .entry-title,
body.brand-kriskotrading .bp-checkout-title {
  text-transform: uppercase !important; font-weight: 300 !important; font-size: clamp(28px, 4vw, 45px) !important;
  font-family: var(--font-heading) !important; color: #231f20; letter-spacing: 0.01em; line-height: 1.15;
}
/* Archive title also has a rule below (1:1 category page). */
body.brand-kriskotrading.archive .entry-title,
body.brand-kriskotrading.post-type-archive-product .entry-title,
body.brand-kriskotrading.tax-product_cat .entry-title {
  border-bottom: 1px solid #d3ced2; padding-bottom: 18px; margin: 6px 0 30px;
}

/* Checkout: billing + order notes (left) | order summary + place order (right).
   Order-summary model — no shipping-method section. Stacks on mobile. */
body.brand-kriskotrading .krisko-checkout-grid { display: grid; grid-template-columns: 1fr; gap: 40px; margin-top: 24px; }
@media (min-width: 900px) {
  body.brand-kriskotrading .krisko-checkout-grid { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 56px; align-items: start; }
  body.brand-kriskotrading .krisko-checkout-right { position: sticky; top: 110px; }
}
/* Billing fields: robust 2-col. WC's float-based form-row-first/last breaks when
   the country <select> height differs, dropping fields into empty gaps ("lampi
   tühjad kohad"). Flex-wrap pairs first|last reliably; single/wide fields span
   full width. Full width on mobile, 2-col from 640px. */
body.brand-kriskotrading .krisko-checkout .woocommerce-billing-fields__field-wrapper {
  display: flex;
  flex-wrap: wrap;
  column-gap: 20px;
}
body.brand-kriskotrading .krisko-checkout .woocommerce-billing-fields__field-wrapper > .form-row {
  float: none;
  width: 100%;
  margin: 0 0 16px;
}
@media (min-width: 640px) {
  body.brand-kriskotrading .krisko-checkout .woocommerce-billing-fields__field-wrapper > .form-row-first,
  body.brand-kriskotrading .krisko-checkout .woocommerce-billing-fields__field-wrapper > .form-row-last {
    width: calc(50% - 10px);
  }
}
body.brand-kriskotrading .krisko-checkout .woocommerce-additional-fields h3,
body.brand-kriskotrading .krisko-checkout #order_review_heading { font-family: var(--font-sans); font-size: 20px; font-weight: 700; color: #231f20; margin: 0 0 14px; }
/* Review-order table alignment. Browser default centres <th> (product headers +
   totals labels) and left-aligns the totals <td> values — looked broken in the
   narrow checkout column (client "kassa kokkuvõte lappes" 2026-07-10). Names +
   labels left, amounts right. */
body.brand-kriskotrading .krisko-checkout .woocommerce-checkout-review-order-table { width: 100%; }
body.brand-kriskotrading .krisko-checkout .woocommerce-checkout-review-order-table th,
body.brand-kriskotrading .krisko-checkout .woocommerce-checkout-review-order-table td { text-align: left; padding: 6px 0; vertical-align: top; }
body.brand-kriskotrading .krisko-checkout .woocommerce-checkout-review-order-table .product-total,
body.brand-kriskotrading .krisko-checkout .woocommerce-checkout-review-order-table tfoot td { text-align: right; white-space: nowrap; }
/* Divider between the cart items and the totals so it is clear where the final
   calculation starts (client 2026-07-06). */
body.brand-kriskotrading .krisko-checkout .woocommerce-checkout-review-order-table tfoot tr:first-child th,
body.brand-kriskotrading .krisko-checkout .woocommerce-checkout-review-order-table tfoot tr:first-child td { border-top: 1px solid #d3ced2; padding-top: 12px; }

/* Order-summary note (the BACS "This is an order summary…" text): bold + a rule
   above it to set it apart from the totals (client 2026-07-10). */
body.brand-kriskotrading .krisko-checkout .payment_box.payment_method_bacs { border-top: 1px solid #d3ced2; margin-top: 14px; padding-top: 14px; }
body.brand-kriskotrading .krisko-checkout .payment_box.payment_method_bacs p { font-weight: 700; color: #231f20; margin: 0; }
/* Privacy text: smaller + muted; make the policy link clearly a link (red + underline). */
body.brand-kriskotrading .krisko-checkout .woocommerce-privacy-policy-text { font-size: 13px; line-height: 1.5; color: #8a8a8a; }
body.brand-kriskotrading .krisko-checkout .woocommerce-privacy-policy-text a { color: #af3c3f; text-decoration: underline; }

/* Hide-prices B2B users see quantities only — drop every price/total display
   (client 2026-07-06). Cart line totals + summary, checkout review totals column,
   and the thank-you/order-details totals column + footer. */
body.brand-kriskotrading.user-hide-prices .krisko-cart-total,
body.brand-kriskotrading.user-hide-prices [data-bp-mini-total],
body.brand-kriskotrading.user-hide-prices [data-bp-mini-total-footer],
body.brand-kriskotrading.user-hide-prices .bp-mini-cart-footer .bp-mini-total,
body.brand-kriskotrading.user-hide-prices [data-bp-line-total-wrap],
body.brand-kriskotrading.user-hide-prices [data-bp-cart-summary],
body.brand-kriskotrading.user-hide-prices .woocommerce-checkout-review-order-table thead .product-total,
body.brand-kriskotrading.user-hide-prices .woocommerce-checkout-review-order-table td.product-total,
body.brand-kriskotrading.user-hide-prices .woocommerce-checkout-review-order-table tfoot,
body.brand-kriskotrading.user-hide-prices table.woocommerce-table--order-details thead .woocommerce-table__product-table-product-total,
body.brand-kriskotrading.user-hide-prices table.woocommerce-table--order-details td.woocommerce-table__product-total,
body.brand-kriskotrading.user-hide-prices table.woocommerce-table--order-details tfoot,
body.brand-kriskotrading.user-hide-prices [data-bp-order-price] { display: none !important; }

/* Remove shop filters (sort/hide-out-of-stock/discount/more) — 1:1 original had none */
body.brand-kriskotrading .bp-shop-filters { display: none !important; }

/* Product card 1:1 (original grid): centered image + name + price + qty + outline button */
body.brand-kriskotrading .krisko-card { text-align: center; display: flex; flex-direction: column; align-items: center; height: 100%; box-shadow: none !important; border: 0 !important; background: transparent !important; padding: 0 !important; }
body.brand-kriskotrading .bp-products.ds-primary-grid > .krisko-card,
body.brand-kriskotrading .bp-products.ds-primary-grid > li,
body.brand-kriskotrading .related.products .krisko-card { box-shadow: none !important; border: 0 !important; }
/* Media box height = image height (auto), capped at 300px — no forced 1:1, no
   wasted whitespace on uniform rows. flex:1 lets the box grow only to equalise
   card heights, so images stay bottom-aligned and every card's title/price/ATC
   line up across a row of differing image heights. A tall 20x1000 image scales
   to 300px, centered. */
body.brand-kriskotrading .krisko-card-media { display: flex; align-items: flex-end; justify-content: center; width: 100%; flex: 1 1 auto; overflow: hidden; background: #fff; }
body.brand-kriskotrading .krisko-card-img { width: auto !important; height: auto !important; max-width: 100% !important; max-height: 300px !important; object-fit: contain !important; display: block; }
/* Product name (card) 1:1 original: Oswald 20px/400, centered, 10px below. */
body.brand-kriskotrading .krisko-card-title { font-family: "Oswald", var(--font-sans); font-size: 20px; font-weight: 400; text-align: center; margin: 14px 0 10px; line-height: 1.3; }
body.brand-kriskotrading .krisko-card-title a { color: #231f20; text-decoration: none; }
body.brand-kriskotrading .krisko-card-title a:hover { color: #af3c3f; }
/* Product price 1:1 original: Oswald (matches the name), ~20px/500, "+ KM" smaller. */
body.brand-kriskotrading .krisko-card-price { font-family: "Oswald", var(--font-sans); font-size: 20px; font-weight: 500; color: #231f20; margin-bottom: 16px; }
body.brand-kriskotrading .krisko-card-price .woocommerce-price-suffix { font-family: var(--font-sans); font-size: 13px; font-weight: 400; color: #777; }
body.brand-kriskotrading .krisko-card-atc { display: flex; align-items: stretch; justify-content: center; gap: 8px; margin-bottom: 44px; }
body.brand-kriskotrading .krisko-card-qty { width: 58px; text-align: center; border: 1px solid #d3ced2; border-radius: 0; padding: 8px 4px; font-size: 15px; background: #fff; }
body.brand-kriskotrading .krisko-card-atc .add_to_cart_button,
body.brand-kriskotrading .krisko-card-atc a.button {
  display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; height: 46px;
  background: #fff !important; color: #5a5a5a !important; border: 1px solid #cfcfcf !important;
  border-radius: 0 !important; text-transform: uppercase; font-weight: 400; letter-spacing: 0.5px; padding: 0 16px; box-shadow: none !important; font-size: 13px; white-space: nowrap;
}
body.brand-kriskotrading .krisko-card-atc .add_to_cart_button:hover,
body.brand-kriskotrading .krisko-card-atc a.button:hover { background: #231f20 !important; color: #fff !important; border-color: #231f20 !important; }
body.brand-kriskotrading .krisko-card-atc .add_to_cart_button svg,
body.brand-kriskotrading .krisko-card-atc .add_to_cart_button .icon,
body.brand-kriskotrading .krisko-card-atc .btn-label + svg { display: none !important; }
body.brand-kriskotrading .krisko-card-oos { color: #999; font-size: 14px; padding: 10px; }

/* Category sidebar toggle (details/summary) */
body.brand-kriskotrading .krisko-cat-details { }
body.brand-kriskotrading .krisko-cat-summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 4px 0; font-family: var(--font-sans); font-size: 14px; font-weight: 700; color: #231f20; }
body.brand-kriskotrading .krisko-cat-summary::-webkit-details-marker { display: none; }
/* Title = real link (navigates); only the +/- area toggles. */
body.brand-kriskotrading .krisko-cat-parent-link { flex: 1 1 auto; color: inherit; text-decoration: none; }
body.brand-kriskotrading .krisko-cat-parent-link:hover { color: #af3c3f; }
body.brand-kriskotrading .krisko-cat-summary::after { content: "+"; font-weight: 400; font-size: 22px; line-height: 1; color: #af3c3f; margin-left: 8px; padding: 0 4px; }
body.brand-kriskotrading .krisko-cat-details[open] > .krisko-cat-summary::after { content: "\2013"; }
body.brand-kriskotrading .krisko-cat-details[open] > .krisko-cat-summary .krisko-cat-parent-link { color: #af3c3f; }

/* ── PDP 1:1 (Oxygen layout + our functionality) — child woocommerce/single-product.php ── */
body.brand-kriskotrading .krisko-pdp { max-width: 940px; margin-inline: auto; }
/* Image box: thin border, white bg, centered (WC gallery + lightbox) */
body.brand-kriskotrading .krisko-pdp-gallery { border: 1px solid #d3ced2; background: #fff; padding: 24px; margin: 16px 0 30px; }
body.brand-kriskotrading .krisko-pdp-main { display: block; max-width: 620px; margin: 0 auto; cursor: zoom-in; }
/* Fit within the box: never upscale past the source (max-width:100% + width:auto),
   cap tall portraits at 480px so the buybox stays reachable. 480px keeps landscape
   eyewear shots unaffected while a 328x1000 bottle scales to ~157x480, centered. */
body.brand-kriskotrading .krisko-pdp-main img { display: block; width: auto; height: auto; max-width: 100%; max-height: 480px; margin: 0 auto; }
body.brand-kriskotrading .krisko-pdp-thumbs { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 16px; }
body.brand-kriskotrading .krisko-pdp-thumb { display: block; width: 72px; height: 72px; border: 1px solid #d3ced2; padding: 2px; cursor: zoom-in; }
body.brand-kriskotrading .krisko-pdp-thumb img { width: 100%; height: 100%; object-fit: contain; display: block; }
body.brand-kriskotrading .krisko-pdp-thumb:hover { border-color: #231f20; }
/* Title */
body.brand-kriskotrading .krisko-pdp-title { font-family: var(--font-heading); font-size: 32px; font-weight: 700; color: #231f20; text-align: center; margin: 0 0 18px; }
/* Attribute list (Model/Brand/Variant/...), centered, bold muted labels */
body.brand-kriskotrading .krisko-pdp-attrs { text-align: center; margin: 0 auto 26px; }
body.brand-kriskotrading .krisko-pdp-attr { margin: 0 0 4px; font-size: 15px; color: #404040; }
body.brand-kriskotrading .krisko-pdp-attr-label { font-weight: 700; color: #6b6b6b; }
/* Description */
body.brand-kriskotrading .krisko-pdp-desc { max-width: 760px; margin: 0 auto 26px; font-size: 16px; line-height: 1.7; color: #404040; text-align: center; }
/* Buy box: light-grey bordered — price + VAT note left, qty + DARK button right */
body.brand-kriskotrading .krisko-pdp-buybox { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; background: #f7f7f7; border: 1px solid #e5e0e3; padding: 26px 30px; }
body.brand-kriskotrading .krisko-pdp-price { font-family: "Oswald", var(--font-sans); font-size: 34px; font-weight: 700; color: #231f20; line-height: 1.1; }
body.brand-kriskotrading .krisko-pdp-price .woocommerce-price-suffix { font-family: var(--font-sans); font-size: 15px; font-weight: 400; color: #777; }
body.brand-kriskotrading .krisko-pdp-vat { display: block; font-family: var(--font-sans); font-size: 12px; font-weight: 400; color: #777; margin-top: 6px; }
body.brand-kriskotrading .krisko-pdp-atc form.cart { display: flex; align-items: center; gap: 12px; margin: 0; }
body.brand-kriskotrading .krisko-pdp-atc .quantity input.qty { height: 48px; }
body.brand-kriskotrading .krisko-pdp-atc .single_add_to_cart_button,
body.brand-kriskotrading .krisko-pdp-atc button.single_add_to_cart_button {
  background: #231f20 !important; color: #fff !important; border: 0 !important; border-radius: 0 !important;
  text-transform: uppercase; font-weight: 700; letter-spacing: 0.03em; padding: 15px 34px; font-size: 15px;
}
body.brand-kriskotrading .krisko-pdp-atc .single_add_to_cart_button:hover { background: #000 !important; }
@media (max-width: 640px) {
  body.brand-kriskotrading .krisko-pdp-buybox { flex-direction: column; align-items: stretch; text-align: center; }
  body.brand-kriskotrading .krisko-pdp-atc form.cart { justify-content: center; }
}
/* Related products (SEOTUD TOOTED): spacing + centered uppercase heading + 3-col */
body.brand-kriskotrading .krisko-pdp .related.products { margin-top: 56px; }
body.brand-kriskotrading .krisko-pdp .related.products > h2 { text-align: center; text-transform: uppercase; font-family: var(--font-heading); font-size: 24px; font-weight: 700; color: #231f20; margin: 0 0 30px; letter-spacing: 0.02em; }
body.brand-kriskotrading .krisko-pdp .related.products ul.products,
body.brand-kriskotrading .krisko-pdp .related.products .products { display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 28px; }
@media (max-width: 560px) { body.brand-kriskotrading .krisko-pdp .related.products ul.products { grid-template-columns: repeat(2, minmax(0,1fr)); } }

/* ── Visibilia Titan (reklaam): posters ── */
body.brand-kriskotrading .krisko-posters { margin-top: 32px; }
body.brand-kriskotrading .krisko-poster { display: block; width: 100%; height: auto; }

/* ── Kontakt: team cards + contact info + form ── */
/* Shared bordered box wrapping a section group (contact cards, team, form). */
body.brand-kriskotrading .krisko-box { border: 1px solid #d3ced2; padding: 40px; margin-top: 28px; }
@media (max-width: 640px) { body.brand-kriskotrading .krisko-box { padding: 24px; } }
/* Contact cards: 3 columns (2 phones + email) with round black icon. */
body.brand-kriskotrading .krisko-cc-box { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 0; }
body.brand-kriskotrading .krisko-cc { text-align: center; }
body.brand-kriskotrading .krisko-cc-ico { width: 72px; height: 72px; border-radius: 50%; background: #231f20; color: #fff; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 18px; }
body.brand-kriskotrading .krisko-cc-ico svg { width: 30px; height: 30px; }
body.brand-kriskotrading .krisko-cc-value { font-family: var(--font-heading); font-size: 35px; font-weight: 700; color: #231f20; margin-bottom: 6px; line-height: 1; }
@media (max-width: 991px) { body.brand-kriskotrading .krisko-cc-value { font-size: 25px; } }
body.brand-kriskotrading .krisko-cc-value a { color: #231f20; text-decoration: none; }
body.brand-kriskotrading .krisko-cc-value a:hover { color: #af3c3f; }
body.brand-kriskotrading .krisko-cc-label { font-size: 14px; color: #777; }
@media (max-width: 640px) { body.brand-kriskotrading .krisko-cc-box { grid-template-columns: 1fr; gap: 32px; } }
/* Team: 3 columns inside one bordered box (no per-card border). */
body.brand-kriskotrading .krisko-team { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 0; }
@media (max-width: 640px) { body.brand-kriskotrading .krisko-team { grid-template-columns: 1fr; gap: 24px; } }
body.brand-kriskotrading .krisko-team-card { text-align: center; padding: 8px 20px; border: 0; }
body.brand-kriskotrading .krisko-team-name { font-family: var(--font-heading); font-size: 35px; font-weight: 700; color: #231f20; margin: 0 0 8px; line-height: 1; }
@media (max-width: 991px) { body.brand-kriskotrading .krisko-team-name { font-size: 25px; } }
body.brand-kriskotrading .krisko-team-role { font-family: var(--font-sans); font-size: 14px; color: #af3c3f; font-weight: 700; margin: 0 0 14px; text-transform: uppercase; letter-spacing: 0.03em; }
body.brand-kriskotrading .krisko-team-line { font-size: 15px; margin: 0 0 4px; }
body.brand-kriskotrading .krisko-team-line a { color: #404040; text-decoration: none; }
body.brand-kriskotrading .krisko-team-line a:hover { color: #af3c3f; }
body.brand-kriskotrading .krisko-contact-info { display: flex; flex-direction: column; justify-content: center; }
body.brand-kriskotrading .krisko-contact-info-logo { width: 200px; max-width: 60%; height: auto; margin: 0 auto 18px; }
body.brand-kriskotrading .krisko-contact-info-title { font-family: var(--font-heading); font-size: 24px; font-weight: 700; color: #231f20; margin: 0 0 16px; }
body.brand-kriskotrading .krisko-contact-info p { margin: 0 0 8px; font-size: 16px; color: #404040; }
body.brand-kriskotrading .krisko-contact-info p span { color: #af3c3f; font-weight: 600; }
body.brand-kriskotrading .krisko-contact-info a { color: #404040; text-decoration: none; }
body.brand-kriskotrading .krisko-contact-info a:hover { color: #af3c3f; }
body.brand-kriskotrading .krisko-contact-form-wrap .bp-form-control { width: 100%; }
body.brand-kriskotrading .krisko-contact-form-wrap .bp-form-field { margin-bottom: 14px; }
/* Contact submit button 1:1 original: "Saada kiri" title-case, 20px, radius 50px. */
body.brand-kriskotrading .krisko-contact-form-wrap .krisko-btn { text-transform: none; font-size: 20px; border-radius: 50px !important; padding: 10px 24px; }
/* Partner page: INFO box + single-column application form (grey). */
body.brand-kriskotrading .krisko-info-box { background: #f4f4f4; padding: 28px 32px; }
body.brand-kriskotrading .krisko-info-box-title { font-family: var(--font-sans); font-size: 16px; font-weight: 800; color: #af3c3f; text-transform: uppercase; letter-spacing: 0.03em; margin: 0 0 10px; }
body.brand-kriskotrading .krisko-info-box p { margin: 0; font-size: 16px; line-height: 1.6; color: #404040; }
body.brand-kriskotrading .krisko-partner-form { background: #f7f7f7; padding: 40px; }
@media (max-width: 640px) { body.brand-kriskotrading .krisko-partner-form { padding: 24px; } }
body.brand-kriskotrading .krisko-partner-form .bp-form-field { margin-bottom: 16px; }
body.brand-kriskotrading .krisko-partner-form .bp-form-control { width: 100%; }
body.brand-kriskotrading .krisko-form-hint { display: block; font-size: 13px; color: #777; margin-top: 4px; }
/* Partner application form + status notes */
body.brand-kriskotrading .krisko-partner-form .bp-form-field { margin-bottom: 14px; }
body.brand-kriskotrading .krisko-partner-form .bp-form-control { width: 100%; }
body.brand-kriskotrading .krisko-form-note { padding: 12px 16px; margin: 16px 0; border-radius: 6px; font-size: 15px; }
body.brand-kriskotrading .krisko-form-ok { background: #eaf6ea; color: #256029; border: 1px solid #b6ddb6; }
body.brand-kriskotrading .krisko-form-err { background: #fdeaea; color: #a12626; border: 1px solid #f0b6b6; }

/* ── Legal pages (privaatsus / müügitingimused): readable text column ── */
body.brand-kriskotrading .krisko-legal-wrap { max-width: 900px; margin-inline: auto; }
body.brand-kriskotrading .krisko-legal-title { font-family: var(--font-heading); font-size: 36px; font-weight: 700; color: #231f20; text-align: center; margin: 0 0 32px; line-height: 1.3; }
body.brand-kriskotrading .krisko-legal-h { font-family: var(--font-heading); font-size: 24px; font-weight: 700; color: #af3c3f; margin: 34px 0 12px; }
body.brand-kriskotrading .krisko-legal-h3 { font-family: var(--font-heading); font-size: 19px; font-weight: 700; color: #231f20; margin: 22px 0 8px; }
body.brand-kriskotrading .krisko-legal-p { font-family: var(--font-sans); font-size: 16px; line-height: 1.7; color: #404040; margin: 0 0 14px; }
body.brand-kriskotrading .krisko-legal-list { margin: 0 0 16px; padding-left: 22px; }
body.brand-kriskotrading .krisko-legal-list li { font-family: var(--font-sans); font-size: 16px; line-height: 1.7; color: #404040; margin: 0 0 6px; }

/* ── Footer 1:1 (extracted from Oxygen universal.css: #section-27-8, #div_block-*-8) ── */

/* Brand logo slider (page content on home + ettevottest): 220px white band, 20% slides,
   logos natural aspect centered, infinite loop. (Oxygen .oxel_logo_slider) */
body.brand-kriskotrading .krisko-logos { background: #fff; overflow: hidden; margin: clamp(28px, 4vw, 56px) 0 14px; }
body.brand-kriskotrading .krisko-logos-viewport { max-width: 1600px; margin-inline: auto; overflow: hidden; }
body.brand-kriskotrading .krisko-logos-track { display: flex; align-items: center; width: max-content; animation: krisko-marquee 32s linear infinite; }
body.brand-kriskotrading .krisko-logos-slide { flex: 0 0 auto; width: 18vw; max-width: 300px; height: 104px; display: flex; align-items: center; justify-content: center; padding: 8px clamp(36px, 5vw, 80px); box-sizing: border-box; }
body.brand-kriskotrading .krisko-logos-slide img { max-width: 100%; max-height: 88px; width: auto; height: auto; object-fit: contain; }
@keyframes krisko-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { body.brand-kriskotrading .krisko-logos-track { animation: none; } }

/* Dark footer section (#section-27-8: bg #2d2d2d, inner padding-top 35px, padding-bottom 0) */
body.brand-kriskotrading .site-footer { background-color: #2d2d2d; color: #f9f9fa; margin-top: 60px; }
body.brand-kriskotrading .site-footer > div { padding-top: 35px; padding-bottom: 0; }
/* Top row: [logo 30%] [content 70%] (#new_columns-68-8, margin-bottom 56px) */
body.brand-kriskotrading .krisko-footer-top { display: flex; flex-direction: row; align-items: center; margin-bottom: 56px; }
body.brand-kriskotrading .krisko-footer-logo { width: 30%; display: flex; align-items: center; justify-content: center; }
body.brand-kriskotrading .krisko-footer-logo img { width: 100%; max-width: 388px; height: auto; margin-top: 15px; transform: rotate(-10deg); }
/* Content 70% -> KASULIKUD 35% + KONTAKT 65% (#div_block-74/85/86), both hug right, text left */
body.brand-kriskotrading .krisko-footer-content { width: 70%; display: flex; flex-direction: row; }
body.brand-kriskotrading .krisko-footer-links { width: 35%; }
body.brand-kriskotrading .krisko-footer-contact { width: 65%; }
body.brand-kriskotrading .krisko-footer-col { display: flex; flex-direction: column; align-items: flex-end; text-align: left; justify-content: center; }
/* Headings: KASULIKUD 17px/700 mb13; KRISKO TRADING OÜ 31px/700 mb5 (#headline-88/91) */
body.brand-kriskotrading .krisko-footer-col h4 { color: #f9f9fa; text-transform: uppercase; font-weight: 700; margin: 0; }
body.brand-kriskotrading .krisko-footer-links h4 { font-size: 17px; margin-bottom: 13px; }
body.brand-kriskotrading .krisko-footer-contact h4 { font-size: 31px; margin-bottom: 5px; }
/* Links: 16px/300, hug right; current + hover red (#_nav_menu-90-8) */
body.brand-kriskotrading .krisko-footer-links ul { list-style: none; margin: 0; padding: 0; text-align: right; }
body.brand-kriskotrading .krisko-footer-links ul li { margin: 0; }
body.brand-kriskotrading .krisko-footer-links ul a { color: #f9f9fa; text-decoration: none; font-weight: 300; font-size: 16px; line-height: 1.6; display: block; }
body.brand-kriskotrading .krisko-footer-links ul a:hover,
body.brand-kriskotrading .krisko-footer-links ul a.is-current { color: var(--btn-primary-bg); }
/* Contact: value 18px/600 white; label 14px/300 muted (#text_block-93-8 / #span-96-8) */
body.brand-kriskotrading .krisko-footer-contact p { margin: 0; display: flex; align-items: center; justify-content: flex-end; color: #f9f9fa; font-weight: 600; font-size: 18px; letter-spacing: 0.01em; line-height: 1.9; }
body.brand-kriskotrading .krisko-footer-contact p span { color: rgba(249,249,250,0.6); font-weight: 300; font-size: 14px; }
body.brand-kriskotrading .krisko-footer-contact a { color: #f9f9fa; text-decoration: none; }

/* Copyright: separate dark bar below footer (#div_block-131-8: bg #231f20; #text_block-133-8: 12px muted) */
body.brand-kriskotrading .krisko-copyright { background-color: #231f20; padding: 15px 20px; display: flex; justify-content: center; }
body.brand-kriskotrading .krisko-copyright-inner { color: rgba(255,255,255,0.69); font-size: 12px; padding: 5px 0; }

@media (max-width: 860px) {
  body.brand-kriskotrading .krisko-footer-top { flex-direction: column; align-items: center; gap: 32px; }
  body.brand-kriskotrading .krisko-footer-logo,
  body.brand-kriskotrading .krisko-footer-content { width: 100%; }
  body.brand-kriskotrading .krisko-footer-content { flex-direction: column; gap: 28px; }
  body.brand-kriskotrading .krisko-footer-links,
  body.brand-kriskotrading .krisko-footer-contact { width: 100%; }
  body.brand-kriskotrading .krisko-footer-col { align-items: center; }
  body.brand-kriskotrading .krisko-footer-links ul { text-align: center; }
  body.brand-kriskotrading .krisko-footer-contact p { justify-content: center; }
  body.brand-kriskotrading .krisko-logos-slide { width: 40vw; height: 150px; }
}

/* ---------------------------------------------------------------------------
   Reklaammaterjalid (Faas 9): masonry gallery + overlaid .jpg/.pdf downloads.
   --------------------------------------------------------------------------- */
body.brand-kriskotrading .krisko-reklaam-grid { columns: 4; column-gap: 16px; }
@media (max-width: 1100px) { body.brand-kriskotrading .krisko-reklaam-grid { columns: 3; } }
@media (max-width: 780px)  { body.brand-kriskotrading .krisko-reklaam-grid { columns: 2; } }
@media (max-width: 480px)  { body.brand-kriskotrading .krisko-reklaam-grid { columns: 1; } }
body.brand-kriskotrading .krisko-reklaam-item { position: relative; break-inside: avoid; margin: 0 0 16px; }
body.brand-kriskotrading .krisko-reklaam-img { display: block; }
body.brand-kriskotrading .krisko-reklaam-img img { display: block; width: 100%; height: auto; }
body.brand-kriskotrading .krisko-reklaam-dl { position: absolute; top: 8px; right: 8px; display: flex; flex-direction: column; gap: 6px; }
body.brand-kriskotrading .krisko-reklaam-btn {
  display: inline-block; background: #af3c3f; color: #fff; text-decoration: none;
  font-family: var(--font-sans); font-size: 12px; font-weight: 600; line-height: 1;
  padding: 7px 10px; border-radius: 3px; white-space: nowrap; box-shadow: 0 1px 3px rgba(0,0,0,0.25);
  transition: background-color 0.15s ease;
}
body.brand-kriskotrading .krisko-reklaam-btn:hover { background: #93282b; }

/* Reklaammaterjalid landing: brand-campaign cards. */
body.brand-kriskotrading .krisko-reklaam-brands { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
@media (max-width: 780px) { body.brand-kriskotrading .krisko-reklaam-brands { grid-template-columns: 1fr; } }
body.brand-kriskotrading .krisko-reklaam-brand { position: relative; display: block; aspect-ratio: 3 / 2; overflow: hidden; text-decoration: none; }
body.brand-kriskotrading .krisko-reklaam-brand-media { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform 0.3s ease; }
body.brand-kriskotrading .krisko-reklaam-brand:hover .krisko-reklaam-brand-media { transform: scale(1.05); }
body.brand-kriskotrading .krisko-reklaam-brand::after { content: ""; position: absolute; inset: 0; background: linear-gradient(rgba(35,31,32,0.15), rgba(35,31,32,0.55)); }
body.brand-kriskotrading .krisko-reklaam-brand-title { position: absolute; left: 0; right: 0; bottom: 20px; z-index: 1; text-align: center; color: #fff; font-family: var(--font-heading); font-size: 26px; font-weight: 800; letter-spacing: 0.03em; }


/* My-account order-card actions (Telli uuesti, PDF arve) — outline pill to match
   the site's pill design (was a plain rectangle, clashing with the red view pill). */
body.brand-kriskotrading .bp-myacc-order-card__action {
  display: inline-flex; align-items: center; gap: 8px;
  border: 1px solid #cfcfcf; border-radius: 100px; padding: 9px 20px;
  font-family: var(--font-sans); font-weight: 600; text-transform: uppercase; letter-spacing: 0.02em; font-size: 13px;
  color: #231f20; background: #fff; text-decoration: none; line-height: 1.2;
}
body.brand-kriskotrading .bp-myacc-order-card__action:hover { border-color: #231f20; background: #231f20; color: #fff; }
body.brand-kriskotrading .bp-myacc-order-card__action svg { width: 16px; height: 16px; flex: 0 0 auto; }
body.brand-kriskotrading .bp-myacc-order-card__action--danger { border-color: var(--badge-danger); color: var(--badge-danger); }
body.brand-kriskotrading .bp-myacc-order-card__action--danger:hover { background: var(--badge-danger); border-color: var(--badge-danger); color: #fff; }

/* Contact box: vertical divider between the form (left) and info (right) columns,
   1:1 original. Info column vertically centred (logo + company details). */
body.brand-kriskotrading .krisko-form-grid .krisko-contact-form-wrap { padding-right: 48px; }
body.brand-kriskotrading .krisko-form-grid .krisko-contact-info {
  border-left: 1px solid #d3ced2; padding-left: 48px;
}
@media (max-width: 782px) {
  body.brand-kriskotrading .krisko-form-grid .krisko-contact-form-wrap { padding-right: 0; }
  body.brand-kriskotrading .krisko-form-grid .krisko-contact-info {
    border-left: 0; padding-left: 0; border-top: 1px solid #d3ced2; padding-top: 32px; margin-top: 8px;
  }
}

/* Header drop shadow 1:1 original (#div_block-143-8). position:relative keeps the
   shadow above the content below at rest. */
body.brand-kriskotrading .site-topbar.krisko-header {
  box-shadow: 0 2px 5px 2px rgba(35, 31, 32, 0.17);
  position: relative;
  z-index: 50;
}
/* Sticky reveal: the base rule above out-specifies the parent's .bp-header-fixed,
   so restore position:fixed for the scroll-reveal state (parent stickyHeader()
   toggles .bp-header-fixed / .bp-header-hidden / .bp-header-visible; body.bp-sticky
   adds the compensating padding). */
body.brand-kriskotrading .site-topbar.krisko-header.bp-header-fixed {
  position: fixed;
  inset-inline: 0;
  top: 0;
  z-index: 1000;
}

/* PDP quantity stepper (−/value/+) in Krisko colours, RR-style. */
body.brand-kriskotrading .krisko-pdp-atc .quantity.bp-qty-host { display: inline-flex; align-items: stretch; border: 1px solid #d3ced2; border-radius: 4px; overflow: hidden; height: 48px; vertical-align: middle; }
body.brand-kriskotrading .krisko-pdp-atc .bp-qty-host input.qty { width: 54px; height: 100%; border: 0; text-align: center; font-family: var(--font-sans); font-size: 16px; color: #231f20; background: #fff; -moz-appearance: textfield; padding: 0; }
body.brand-kriskotrading .krisko-pdp-atc .bp-qty-host input.qty::-webkit-outer-spin-button,
body.brand-kriskotrading .krisko-pdp-atc .bp-qty-host input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
body.brand-kriskotrading .krisko-pdp-atc .bp-qty-btn { width: 42px; height: 100%; border: 0; background: #f5f5f5; color: #231f20; font-size: 22px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background-color 0.15s ease, color 0.15s ease; }
body.brand-kriskotrading .krisko-pdp-atc .bp-qty-btn:hover { background: #af3c3f; color: #fff; }

/* Product-card quantity stepper (archive/shop) — compact version of the PDP one. */
body.brand-kriskotrading .krisko-card-atc .bp-qty-host { display: inline-flex; align-items: stretch; height: 46px; box-sizing: border-box; border: 1px solid #d3ced2; border-radius: 4px; overflow: hidden; }
body.brand-kriskotrading .krisko-card-atc .bp-qty-host .krisko-card-qty { width: 28px; border: 0; text-align: center; font-family: var(--font-sans); font-size: 14px; color: #231f20; background: #fff; -moz-appearance: textfield; padding: 0; }
body.brand-kriskotrading .krisko-card-atc .bp-qty-host .krisko-card-qty::-webkit-outer-spin-button,
body.brand-kriskotrading .krisko-card-atc .bp-qty-host .krisko-card-qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
body.brand-kriskotrading .krisko-card-atc .bp-qty-btn { width: 26px; border: 0; background: #f5f5f5; color: #231f20; font-size: 16px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background-color 0.15s ease, color 0.15s ease; }
body.brand-kriskotrading .krisko-card-atc .bp-qty-btn:hover { background: #af3c3f; color: #fff; }

/* Archive/shop content container has 0 horizontal padding while the header + the
   content-page container use 32px — so the logo sat 32px right of the shop content.
   Give the shop container the same edge padding so everything left-aligns. */
body.brand-kriskotrading .container-page.is-simple { padding-left: clamp(16px, 1.429vw + 11.429px, 32px); padding-right: clamp(16px, 1.429vw + 11.429px, 32px); }
