/*
Theme Name: Compuland
Theme URI: http://127.0.0.1:8088/
Author: Compuland
Description: Κατάστημα συστημάτων ασφαλείας, καμερών και smart home.
Version: 1.0.0
Text Domain: compuland
*/

:root {
  --bg: #f5f5f5;
  --ink: #2b2b2b;
  --muted: #6d6d6d;
  --line: #e4e4e4;
  --card: #fff;
  --navy: #313c8b;
  --blue: #313c8b;
  --sky: #d7f0fb;
  --green: #157a45;
  --amber: #9a6700;
  --red: #313c8b;
  --radius: 8px;
}
* { box-sizing: border-box; }
body { margin: 0; font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif; background: var(--bg); color: var(--ink); }
a { color: inherit; }
img { max-width: 100%; height: auto; }
.wrap { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }
.site-head { position: sticky; top: 0; z-index: 40; background: #fff; box-shadow: 0 1px 0 var(--line); }
.topstrip { border-bottom: 1px solid #eee; font-size: 14px; }
.topstrip .wrap { display: flex; align-items: center; justify-content: space-between; min-height: 48px; gap: 12px; }
.top-phones { display: flex; gap: 16px; }
.top-phones a { color: var(--navy); font-weight: 700; text-decoration: none; }
.top-actions { display: flex; align-items: center; gap: 10px; }
.join, .top-cart { display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 16px; border-radius: 8px; font-size: 14px; font-weight: 700; text-decoration: none; }
.join { background: var(--navy); color: #fff; }
.top-cart { background: #eef6fd; color: var(--navy); border: 1px solid #c5ddf3; }
.top-cart small { display: inline-grid; place-items: center; min-width: 20px; height: 20px; border-radius: 99px; background: var(--navy); color: #fff; font-size: 12px; }
header.site { background: #fff; }
.bar { display: flex; align-items: center; gap: 28px; min-height: 72px; }
.logo { display: flex; align-items: center; gap: 10px; text-decoration: none; flex: 0 0 auto; min-width: 0; }
.logo-img { display: block; height: 52px; width: auto; max-width: 150px; max-height: 52px; }
.logo b { display: block; font-size: 20px; letter-spacing: -0.03em; color: var(--navy); }
.logo span { display: block; color: var(--muted); font-size: 12px; }
.head-nav { display: flex; align-items: center; gap: 22px; }
.head-nav a { color: #333; text-decoration: none; font-size: 15px; font-weight: 600; }
.head-nav a:hover { color: var(--navy); }
.finder { background: var(--navy); }
.finder-bar { display: grid; grid-template-columns: 268px minmax(0, 1fr); gap: 16px; align-items: center; min-height: 52px; }
.finder-label { display: flex; align-items: center; gap: 10px; height: 44px; padding: 0 14px; background: #fff; color: #222; font-size: 13px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
.finder-label span { width: 16px; height: 2px; background: #222; box-shadow: 0 5px 0 #222, 0 10px 0 #222; }
.search { display: flex; min-width: 0; }
.finder .search input { width: 100%; height: 40px; border: 0; border-radius: 0; padding: 0 14px; background: #283274; color: #fff; }
.finder .search input::placeholder { color: #c9d0ef; }
.search button, .btn { height: 40px; border: 0; background: #fff; color: var(--navy); border-radius: 0; padding: 0; width: 42px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; }
.btn { width: auto; padding: 0 16px; background: var(--navy); color: #fff; border-radius: 6px; text-decoration: none; }
.shop-shell { width: min(1440px, calc(100% - 24px)); margin: 0 auto; display: grid; grid-template-columns: 268px minmax(0, 1fr); gap: 16px; align-items: start; }
.shop-main { min-width: 0; }
.shop-shell .wrap { width: 100%; }
.site-head .wrap, footer.site .wrap { width: min(1440px, calc(100% - 24px)); }
nav.primary { position: sticky; top: 172px; align-self: start; z-index: 35; background: transparent; }
nav.primary > .wrap { display: none; }
nav.primary ul.menu { display: none; list-style: none; margin: 0; padding: 0; }
nav.primary ul.menu > li { position: relative; }
nav.primary ul.menu > li > a { display: block; color: #fff; text-decoration: none; padding: 13px 12px; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
nav.primary ul.menu > li:hover > a, nav.primary ul.menu > li:focus-within > a, nav.primary ul.menu > li.is-on > a { background: #283274; }
.mega { display: none; position: absolute; top: 100%; left: 0; z-index: 50; min-width: 280px; max-height: 70vh; overflow: auto; background: #fff; border-top: 3px solid var(--red); box-shadow: 0 14px 30px rgba(0,0,0,.16); padding: 8px 0; }
nav.primary li.end > .mega { left: auto; right: 0; }
nav.primary li:hover > .mega, nav.primary li:focus-within > .mega { display: block; }
.mega a { display: block; color: #222; text-decoration: none; text-transform: none; letter-spacing: 0; font-weight: 700; font-size: 14px; padding: 7px 16px; white-space: normal; }
.mega a.grand { font-weight: 400; color: #555; padding-left: 28px; font-size: 13px; }
.mega a:hover { color: var(--red); }
.keeper { display: block; position: relative; }
.keeper-ready nav.primary li:hover > .mega,
.keeper-ready nav.primary li:focus-within > .mega { display: none; }
.keeper-box { display: block; }
.keeper-side { background: #f4f6fb; border: 1px solid #e6e8ef; border-top: 0; max-height: calc(100vh - 190px); overflow: auto; padding: 8px; }
.keeper-main { display: none; position: absolute; z-index: 60; left: 100%; top: 0; width: min(1040px, calc(100vw - 310px)); min-height: 100%; overflow: visible; background: #fff; border: 1px solid #e6e8ef; border-radius: 0 12px 12px 0; box-shadow: 0 18px 40px rgba(28, 36, 88, .16); }
.keeper-main::before { content: ""; position: absolute; top: 0; bottom: 0; left: -16px; width: 16px; }
nav.primary.is-open .keeper-main { display: block; }
.keeper-title { display: none; }
.keeper-title span { width: 16px; height: 2px; background: #222; box-shadow: 0 5px 0 #222, 0 10px 0 #222; }
.keeper-side a { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0 0 8px; padding: 8px 8px 8px 12px; background: #fff; border: 1px solid #e3e6f0; border-radius: 10px; color: #243056; text-decoration: none; font-size: 13px; font-weight: 700; line-height: 1.25; }
.keeper-side a span { min-width: 0; }
.keeper-side a img { width: 52px; height: 40px; object-fit: contain; flex: 0 0 auto; }
.keeper-side a.is-on, .keeper-side a:hover { color: var(--navy); border-color: var(--navy); background: #f7fbff; }
.keeper-main { min-width: 0; }
.keeper-panel { display: none; }
.keeper-panel.is-on { display: block; padding: 22px 22px 26px; }
.keeper-panel.has-promo.is-on { display: grid; grid-template-columns: minmax(0, 1fr) 200px; gap: 22px; align-items: start; }
.keeper-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 28px; align-content: start; }
.keeper-head { display: block; margin: 0 0 8px; color: var(--navy); font-size: 14px; font-weight: 800; text-decoration: none; }
.keeper-link { display: block; padding: 3px 0; color: #4a5168; font-size: 13px; line-height: 1.35; text-decoration: none; }
.keeper-link:hover, .keeper-head:hover { color: #1d4ed8; }
.keeper-promo { display: block; border-radius: 12px; overflow: hidden; background: #f4f7fb; }
.keeper-promo img { display: block; width: 100%; height: 240px; object-fit: contain; background: #f4f7fb; }
.trustbar { background: #fff; border-bottom: 1px solid var(--line); }
.trustbar .wrap { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; padding: 14px 0; }
.trustbar p { margin: 0; }
.trustbar strong { display: block; font-size: 13px; }
.trustbar span, .trustbar a { color: var(--muted); font-size: 12px; text-decoration: none; }
.pay-safe { margin: 0 0 16px; padding: 12px 14px; border: 1px solid #c5d4ea; border-radius: 10px; background: #f4f8ff; }
.pay-safe strong { display: block; color: var(--navy); }
.pay-safe p { margin: 6px 0 0; font-size: 13px; line-height: 1.45; }
.hero { display: grid; grid-template-columns: 1.4fr .8fr; gap: 18px; padding: 28px 0 8px; }
.hero-main, .hero-side, .card, .product, .trust article { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); }
.hero-main { padding: 36px; background: var(--navy); color: #fff; }
.hero-main h1 { margin: 0 0 10px; font-size: 42px; letter-spacing: -0.04em; }
.hero-main p { margin: 0 0 18px; color: #d7eef8; max-width: 520px; }
.hero-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.hero-actions a { text-decoration: none; background: #fff; color: var(--navy); border-radius: 6px; padding: 10px 14px; font-weight: 700; }
.offers-head p { margin: -6px 0 12px; }
.offers-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.offers-grid.count-1 { grid-template-columns: 1fr; }
.offers-grid.count-2 { grid-template-columns: 1fr 1fr; }
.offer { position: relative; display: flex; flex-direction: column; min-height: 0; border-radius: var(--radius); overflow: hidden; text-decoration: none; color: var(--ink); background: #fff; border: 1px solid var(--line); }
.offers-grid.count-1 .offer { min-height: 0; }
.offer img { position: static; width: 100%; height: 220px; object-fit: contain; background: #f7f9fb; }
.offer-badge { position: absolute; top: 14px; left: 14px; background: var(--sky); color: var(--navy); border-radius: 4px; padding: 6px 11px; font-size: 12px; font-weight: 700; }
.offer-body { position: static; display: flex; flex-direction: column; gap: 4px; padding: 14px 16px 16px; background: #fff; }
.offer-body strong { font-size: 20px; letter-spacing: -0.03em; color: var(--navy); }
.offer-body span { color: var(--muted); }
.offer-body em { font-style: normal; font-weight: 700; margin-top: 4px; color: var(--ink); }
.home-banners { display: grid; grid-template-columns: 1.15fr .85fr; gap: 14px; }
.banner-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.banner { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; text-decoration: none; color: var(--ink); }
.banner img { width: 100%; height: 150px; object-fit: contain; background: #f7f9fb; }
.banner-main img { height: 340px; }
.banner span { display: block; padding: 12px 14px 14px; }
.banner strong { display: block; color: var(--navy); }
.banner em { font-style: normal; font-weight: 700; }
.hero-side { padding: 22px; display: flex; flex-direction: column; justify-content: center; }
.hero-side strong { font-size: 18px; }
.cats, .grid, .trust { display: grid; gap: 14px; }
.cats { grid-template-columns: repeat(4, 1fr); margin: 18px 0; }
.cat, .pcard { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); text-decoration: none; overflow: hidden; }
.cat { padding: 16px; min-height: 110px; }
.cat b { display: block; margin-bottom: 4px; }
.cat span, .muted { color: var(--muted); font-size: 13px; }
section { margin: 22px 0 8px; }
h2 { margin: 0 0 12px; letter-spacing: -0.03em; }
.grid { grid-template-columns: repeat(4, 1fr); }
.pcard img, .ph { width: 100%; aspect-ratio: 1; object-fit: contain; background: #f7f9fb; }
.ph { display: grid; place-items: center; color: var(--muted); }
.pcard div { padding: 12px; }
.price { font-weight: 700; margin: 8px 0 0; }
.stock.in { color: var(--green); }
.stock.wait { color: var(--amber); }
.stock.out { color: var(--red); }
.trust { grid-template-columns: repeat(4, 1fr); }
.trust article { padding: 16px; }
.brands-strip { margin: 28px 0 6px; padding-top: 16px; border-top: 1px solid #e3eaf6; }
.brands-strip h2 { margin: 0 0 10px; color: var(--navy); font-size: 13px; font-weight: 700; }
.brands { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.brands a { background: var(--brand, #eef6fd); border: 1px solid var(--brand, #cfe4f6); color: var(--brand-ink, var(--navy)); border-radius: 999px; text-decoration: none; padding: 3px 9px; font-size: 12px; font-weight: 700; }
.brands a.has-logo { background: #fff; border: 1px solid #e3eaf6; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; height: 48px; min-width: 88px; padding: 6px 12px; }
.brands a.has-logo img { display: block; max-height: 32px; max-width: 148px; width: auto; height: auto; object-fit: contain; }
.brands a:hover { filter: brightness(.96); border-color: #313c8b; }
.catalog-layout { display: grid; grid-template-columns: 250px 1fr; gap: 20px; }
.filters, .woocommerce ul.products li.product { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); }
.filters { padding: 14px; align-self: start; position: sticky; top: 190px; }
.filters h3 { margin: 12px 0 8px; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.filters label { display: flex; gap: 8px; margin: 6px 0; font-size: 14px; }
.chips { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 14px; }
.chips a { background: #fff; border: 1px solid var(--line); border-radius: 999px; text-decoration: none; padding: 7px 12px; font-size: 13px; }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; padding: 12px; }
.woocommerce div.product { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 16px; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width: auto !important; float: none !important; }
.single-image { width: 100%; aspect-ratio: 1; object-fit: contain; background: #f7f9fb; border-radius: 12px; }
.eu-strip { background: #fff; padding: 8px 0 6px; }
.eu-strip .wrap { display: flex; justify-content: center; }
.eu-strip a { line-height: 0; }
.eu-strip img { display: block; height: 62px; width: auto; max-width: 100%; }
footer.site { margin-top: 0; background: #283274; border-top: 0; padding: 12px 0 10px; color: #d7eef8; font-size: 12.5px; line-height: 1.35; }
footer.site p { margin: 0 0 4px; }
footer.site strong { color: #fff; display: block; margin: 0 0 3px; font-size: 13px; }
.legal-name { margin: 0 0 3px; font-size: 10px; line-height: 1.3; }
.foot { display: grid; grid-template-columns: 1.4fr 1.1fr .9fr; gap: 8px 22px; }
footer a { text-decoration: none; }
body.home { background: #fff; }
.promo { display: grid; gap: 12px; margin: 18px 0 8px; }
.promo > a, .promo-2 a { display: block; line-height: 0; }
.promo img { display: block; width: 100%; height: auto; }
.promo-lead { width: 100%; }
.promo > a.kit-banner { display: grid; grid-template-columns: .78fr 1.22fr; align-items: center; gap: 4px 16px; width: 100%; aspect-ratio: auto; min-height: 340px; padding: 16px 22px; background: linear-gradient(135deg, #f7fcfe 0%, var(--sky) 62%, #fff 100%); border: 0; border-radius: 0; text-decoration: none; color: #1c2458; line-height: 1.2; overflow: hidden; }
.kit-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; min-width: 0; max-width: 560px; }
.kit-kicker { color: var(--navy); font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.kit-banner strong { margin: 0 0 2px; font-size: 24px; line-height: 1.05; color: #283274; }
.kit-lead { font-size: 13px; font-weight: 700; }
.kit-label { margin: 4px 0 0; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--navy); }
.kit-banner ul { margin: 0 0 4px; padding: 0; list-style: none; }
.kit-banner li { position: relative; padding-left: 12px; font-size: 13px; line-height: 1.25; }
.kit-banner li::before { content: ""; position: absolute; left: 0; top: .55em; width: 7px; height: 2px; background: #c4161c; }
.kit-price, .kit-month { display: inline-flex; align-items: center; background: var(--navy); color: #fff; border-radius: 999px; padding: 3px 12px; font-size: 18px; font-weight: 800; }
.kit-month { margin-top: 4px; background: #fff; color: var(--navy); border: 1px solid var(--navy); font-size: 15px; }
.kit-note { margin: 1px 0 0; font-size: 12px; font-weight: 700; }
.kit-text { margin: 4px 0 0; color: #3d466b; font-size: 12px; }
.promo > a.kit-banner img { width: 100%; height: 300px; object-fit: contain; background: transparent; border-radius: 0; }
.promo-2, .promo-3 { display: grid; gap: 12px; }
.promo-2 { grid-template-columns: 1fr 1fr; }
.promo-pair a { background: #111; }
.promo-pair img { height: 360px; object-fit: contain; background: #111; }
.promo-3 { grid-template-columns: repeat(3, 1fr); margin: 22px 0; }
.promo-tile { display: block; text-align: center; text-decoration: none; line-height: normal; }
.promo-tile img { width: 100%; height: 190px; object-fit: cover; }
.promo-tile strong { display: block; margin-top: 10px; font-size: 14px; letter-spacing: .04em; }
.promo-tile span { display: block; margin-top: 4px; color: var(--muted); font-size: 13px; }
.campaign-rail { position: relative; }
.campaign-track { display: flex; gap: 12px; overflow: hidden; scroll-behavior: smooth; }
.campaign-track a { flex: 0 0 calc((100% - 24px) / 3); line-height: 0; background: #f4f7fb; border-radius: 12px; overflow: hidden; }
.campaign-track img { width: 100%; height: 168px; object-fit: contain; background: #f4f7fb; }
.campaign-next, .deal-next { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); width: 42px; height: 42px; border: 0; border-radius: 999px; background: #fff; color: var(--navy); box-shadow: 0 2px 12px rgba(28, 36, 88, .18); font-size: 26px; line-height: 1; cursor: pointer; z-index: 2; }
.deal-rail { margin: 22px 0; padding: 18px 18px 20px; background: #f4f7fb; border-radius: 16px; }
.deal-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.deal-head h2 { margin: 0; }
.deal-all { color: var(--navy); font-weight: 800; text-decoration: none; }
.deal-chips { display: flex; gap: 8px; overflow-x: auto; margin: 0 0 14px; scrollbar-width: none; }
.deal-chips::-webkit-scrollbar { display: none; }
.deal-chip { flex: 0 0 auto; border: 1px solid #d5dced; background: #fff; color: var(--navy); border-radius: 999px; padding: 7px 14px; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.deal-chip.is-on { background: var(--navy); border-color: var(--navy); color: #fff; }
.deal-viewport { position: relative; overflow: hidden; }
.deal-track { display: flex; transition: transform .55s ease; }
.deal-slide { flex: 0 0 100%; width: 100%; min-width: 0; box-sizing: border-box; }
.deal-products { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.deal-products .pcard { background: #fff; }
.deal-products .pcard strong { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.6em; }
@media (prefers-reduced-motion: reduce) { .deal-track, .campaign-track { transition: none; scroll-behavior: auto; } }
.stores { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.store { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 16px; }
.store strong { color: var(--navy); }
.store p { margin: 8px 0 0; }
.page-copy { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 22px 24px; margin: 18px 0 28px; }
.page-copy h1 { margin: 0 0 12px; }
.page-copy h2 { font-size: 18px; margin-top: 22px; }
.offer-lead { display: grid; grid-template-columns: .85fr 1.15fr; gap: 22px; align-items: start; }
.offer-summary { background: linear-gradient(135deg, #f7fcfe 0%, var(--sky) 70%, #fff 100%); border-radius: 12px; padding: 16px; }
.offer-summary img { display: block; width: 100%; height: 180px; object-fit: contain; }
.offer-summary ul { margin: 8px 0; padding: 0; list-style: none; }
.offer-summary li { position: relative; padding-left: 14px; line-height: 1.4; }
.offer-summary li::before { content: ""; position: absolute; left: 0; top: .55em; width: 7px; height: 2px; background: #c4161c; }
.offer-form label { display: block; margin: 12px 0 4px; font-size: 13px; font-weight: 700; }
.offer-form input[type="text"], .offer-form input[type="email"], .offer-form input[type="tel"], .offer-form textarea { width: 100%; border: 1px solid #cfd6e6; border-radius: 6px; padding: 8px 12px; font: inherit; }
.offer-form input[type="text"], .offer-form input[type="email"], .offer-form input[type="tel"] { height: 40px; }
.offer-form input[readonly] { background: #f4f7fb; color: #1c2458; font-weight: 700; }
.offer-form textarea { min-height: 88px; resize: vertical; }
.offer-form .check { display: flex; gap: 8px; align-items: flex-start; margin-top: 14px; font-size: 13px; font-weight: 400; }
.offer-form button { margin-top: 16px; height: 42px; border: 0; border-radius: 6px; background: var(--navy); color: #fff; padding: 0 18px; font-weight: 800; cursor: pointer; }
.offer-ok, .offer-err { margin: 0 0 14px; padding: 12px 14px; border-radius: 8px; }
.offer-ok { background: #e8f6ee; border: 1px solid #b7e0c6; }
.offer-err { background: #fff4f4; border: 1px solid #f0c2c2; }
.offer-hp { position: absolute; left: -9999px; }
.trust { text-align: center; }
.trust article { background: transparent; border: 0; }
@media (max-width: 900px) {
  .hero, .cats, .grid, .trust, .catalog-layout, .woocommerce ul.products, .woocommerce div.product, .foot, .offers-grid, .home-banners, .promo-3, .stores, .deal-products { grid-template-columns: 1fr 1fr; }
  .campaign-track a { flex-basis: calc((100% - 12px) / 2); }
  .promo > a.kit-banner { grid-template-columns: 1fr; aspect-ratio: auto; min-height: 0; padding: 18px; }
  .kit-banner strong { font-size: 26px; }
  .promo > a.kit-banner img { height: 220px; }
  .offers-grid.count-1 { grid-template-columns: 1fr; }
  .hero-main h1 { font-size: 32px; }
  .trustbar .wrap { grid-template-columns: 1fr 1fr; }
  .filters { position: static; }
  .head-nav { display: none; }
  .finder-bar, .topstrip .wrap { display: flex; flex-wrap: wrap; }
  .finder-label { display: none; }
  .finder .search { flex: 1 1 100%; }
  .shop-shell { display: block; width: min(1180px, calc(100% - 32px)); }
  .keeper-side, .keeper-main, nav.primary.is-open .keeper-main { display: none; }
  nav.primary { position: static; background: var(--navy); }
  nav.primary > .wrap, nav.primary ul.menu { display: block; }
  nav.primary ul.menu > li > a { border-top: 1px solid #555; }
  .mega, nav.primary li.end > .mega { position: static; max-height: none; box-shadow: none; }
  .keeper-ready nav.primary li:hover > .mega, .keeper-ready nav.primary li:focus-within > .mega { display: block; }
}
@media (max-width: 680px) {
  .bar { flex-wrap: wrap; }
  .search { order: 3; flex-basis: 100%; }
  .keeper, .keeper-side, .keeper-main, nav.primary.is-open .keeper-main { display: none; }
  .home-banners, .banner-grid, .cats, .grid, .trust, .catalog-layout, .woocommerce ul.products, .woocommerce div.product, .hero, .foot, .offers-grid, .offers-grid.count-1, .offers-grid.count-2, .promo-2, .promo-3, .stores, .offer-lead, .deal-products { grid-template-columns: 1fr; }
  .campaign-track a { flex-basis: 86%; }
  .deal-head { align-items: flex-start; flex-direction: column; }
  .banner-main img, .promo-pair img { height: auto; }
}
.boxnow-fields { margin: 8px 0 4px 28px; }
.boxnow-fields label { display: block; margin: 8px 0 4px; font-size: 13px; font-weight: 700; }
.boxnow-fields input, .boxnow-fields select { width: 100%; max-width: 420px; height: 40px; border: 1px solid #cfd6e6; border-radius: 6px; padding: 0 12px; font: inherit; background: #fff; }
.boxnow-fields p { margin: 6px 0 0; font-size: 12px; color: #5c6b8a; }
.compuland-boxnow-map { margin: 0 0 16px; }
.compuland-boxnow-map label { display: block; margin: 0 0 4px; font-size: 13px; font-weight: 700; }
.compuland-boxnow-map .row { display: flex; gap: 8px; align-items: center; }
.compuland-boxnow-map input { width: 140px; height: 40px; border: 1px solid #cfd6e6; border-radius: 6px; padding: 0 12px; font: inherit; }
.compuland-boxnow-map button { height: 40px; border: 0; border-radius: 6px; background: #283274; color: #fff; padding: 0 14px; font-weight: 700; cursor: pointer; }
.compuland-boxnow-map .hint, #compuland-boxnow-chosen { margin: 8px 0 0; font-size: 13px; color: #5c6b8a; }
#boxnowmap { height: 560px; margin-top: 12px; border: 1px solid #cfd6e6; border-radius: 8px; overflow: hidden; background: #f4f7fb; }
#boxnowmap iframe { width: 100%; height: 560px; border: 0; }
.cookie-bar { position: fixed; z-index: 40; left: 12px; right: 12px; bottom: 12px; display: flex; gap: 12px; align-items: center; justify-content: space-between; background: #283274; color: #fff; border-radius: 10px; padding: 12px 14px; }
.cookie-bar[hidden] { display: none; }
.cookie-bar p { margin: 0; }
.cookie-bar a { color: #fff; }
.cookie-bar button { height: 36px; border: 0; border-radius: 6px; background: #fff; color: #283274; font-weight: 800; padding: 0 14px; cursor: pointer; }
