/* ============================================================
   Антим Клима — static content pages (v2)
   Two modes (see tpl-navy-page.php):
   - .ak-page-content (Elementor untouched): every page
     not opted into document mode — DSK, service subpages, any
     landing/payment-return page. Rules directly below.
   - .ak-page-doc: document pages (ak_is_doc_page()), coded Контакти /
     За нас, blog, 404 — "DOCUMENT MODE" section at the end.
   Loaded after pages.css. RESKIN ONLY: keep the real content
   (Elementor body + CF7) intact — this file just seats it
   cleanly under the v2 chrome and keeps plain
   (non-Elementor) content readable. Everything is scoped to
   .ak.ak-page-content. Do NOT override Elementor section
   backgrounds/colours/widths.

   Guard technique: plain content from the_content() lands as
   DIRECT children of .ak-content-main; Elementor wraps all of
   its content inside a single `.elementor` child. So styling
   `.ak-content-main > p`, `> h2`, `> ul` … (child combinator)
   reaches plain pages while never touching Elementor content.
   ============================================================ */

/* ---- content area rhythm ---- */
.ak.ak-page-content .ak-content-main { padding: 20px 0 56px; }

/* ============================================================
   PLAIN (non-Elementor) content only — readable text column.
   The `>` combinator keeps every rule below off Elementor.
   ============================================================ */

/* readable centred column for unwrapped classic/block content
   and for the standard .entry-content wrapper if one is present */
.ak.ak-page-content .ak-content-main > .entry-content,
.ak.ak-page-content .ak-content-main > p,
.ak.ak-page-content .ak-content-main > h1,
.ak.ak-page-content .ak-content-main > h2,
.ak.ak-page-content .ak-content-main > h3,
.ak.ak-page-content .ak-content-main > h4,
.ak.ak-page-content .ak-content-main > ul,
.ak.ak-page-content .ak-content-main > ol,
.ak.ak-page-content .ak-content-main > blockquote,
.ak.ak-page-content .ak-content-main > figure,
.ak.ak-page-content .ak-content-main > table {
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
}

/* side gutter so plain text never touches the viewport edge
   (kept on the text blocks themselves, NOT on .ak-content-main,
   so Elementor full-bleed sections keep their own widths) */
.ak.ak-page-content .ak-content-main > .entry-content,
.ak.ak-page-content .ak-content-main > p,
.ak.ak-page-content .ak-content-main > h1,
.ak.ak-page-content .ak-content-main > h2,
.ak.ak-page-content .ak-content-main > h3,
.ak.ak-page-content .ak-content-main > h4,
.ak.ak-page-content .ak-content-main > ul,
.ak.ak-page-content .ak-content-main > ol,
.ak.ak-page-content .ak-content-main > blockquote {
  padding-left: 16px;
  padding-right: 16px;
}

/* body text + lists: dark ink, comfortable line-height */
.ak.ak-page-content .ak-content-main > .entry-content,
.ak.ak-page-content .ak-content-main > .entry-content p,
.ak.ak-page-content .ak-content-main > .entry-content li,
.ak.ak-page-content .ak-content-main > p,
.ak.ak-page-content .ak-content-main > ul,
.ak.ak-page-content .ak-content-main > ol {
  color: var(--ink);
  line-height: 1.7;
  font-size: 16px;
}

.ak.ak-page-content .ak-content-main > ul,
.ak.ak-page-content .ak-content-main > ol {
  padding-left: 36px; /* keep room for markers on top of the gutter */
}

.ak.ak-page-content .ak-content-main > ul > li,
.ak.ak-page-content .ak-content-main > ol > li,
.ak.ak-page-content .ak-content-main > .entry-content li {
  margin-bottom: 6px;
}

/* headings: dark ink + a touch more line-height than the tight
   home-hero default (.ak h1..h4 sets line-height 1.05) */
.ak.ak-page-content .ak-content-main > h1,
.ak.ak-page-content .ak-content-main > h2,
.ak.ak-page-content .ak-content-main > h3,
.ak.ak-page-content .ak-content-main > h4,
.ak.ak-page-content .ak-content-main > .entry-content h1,
.ak.ak-page-content .ak-content-main > .entry-content h2,
.ak.ak-page-content .ak-content-main > .entry-content h3,
.ak.ak-page-content .ak-content-main > .entry-content h4 {
  color: var(--ink);
  line-height: 1.25;
  letter-spacing: -0.01em;
  margin: 1.4em 0 0.5em;
}
.ak.ak-page-content .ak-content-main > h1:first-child,
.ak.ak-page-content .ak-content-main > h2:first-child,
.ak.ak-page-content .ak-content-main > .entry-content > :first-child {
  margin-top: 0;
}

.ak.ak-page-content .ak-content-main > h1,
.ak.ak-page-content .ak-content-main > .entry-content h1 { font-size: 30px; }
.ak.ak-page-content .ak-content-main > h2,
.ak.ak-page-content .ak-content-main > .entry-content h2 { font-size: 24px; }
.ak.ak-page-content .ak-content-main > h3,
.ak.ak-page-content .ak-content-main > .entry-content h3 { font-size: 19px; }

/* links inside plain content (Elementor links are left alone) */
.ak.ak-page-content .ak-content-main > .entry-content a,
.ak.ak-page-content .ak-content-main > p a,
.ak.ak-page-content .ak-content-main > ul a,
.ak.ak-page-content .ak-content-main > ol a {
  color: var(--cyan-deep);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.ak.ak-page-content .ak-content-main > .entry-content a:hover,
.ak.ak-page-content .ak-content-main > p a:hover,
.ak.ak-page-content .ak-content-main > ul a:hover,
.ak.ak-page-content .ak-content-main > ol a:hover {
  color: var(--night);
}

/* narrower seam padding on mobile */
@media (max-width: 1023px) {
  .ak.ak-page-content .ak-content-main { padding-top: 14px; }
}

/* ============================================================
   Complianz legal documents (cookie policy / privacy statement).
   The Gutenberg block renders <div id="cmplz-document"> inside the
   document paper (.ak-doc). The paper gives the column + gutter; this
   only adds the Complianz-specific typography and cards.
   Scoped to the Complianz ID: nothing else on the site is touched.
   ============================================================ */
.ak.ak-page-doc .ak-doc > #cmplz-document {
  max-width: none;
  margin: 0;
  padding: 0;
  color: var(--ink-2);
  font-size: 16px;
  line-height: 1.7;
}

/* "last updated on …" intro line */
.ak.ak-page-doc #cmplz-document > p:first-child {
  color: var(--muted);
  font-size: 14px;
  margin: 0 0 28px;
}

/* section headings */
.ak.ak-page-doc #cmplz-document h2 {
  font-family: var(--font-head);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.01em;
  color: var(--navy);
  margin: 1.6em 0 0.5em;
}
.ak.ak-page-doc #cmplz-document > h3 {
  font-size: 19px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--ink);
  margin: 1.4em 0 0.4em;
}
.ak.ak-page-doc #cmplz-document h2:first-of-type { margin-top: 0; }

.ak.ak-page-doc #cmplz-document p,
.ak.ak-page-doc #cmplz-document li { color: var(--ink-2); }
.ak.ak-page-doc #cmplz-document a {
  color: var(--cyan-deep);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.ak.ak-page-doc #cmplz-document a:hover { color: var(--night); }

/* per-service dropdowns: light cards instead of naked <details> */
.ak.ak-page-doc #cmplz-document .cmplz-dropdown {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 14px 16px;
  margin: 0 0 10px;
}
.ak.ak-page-doc #cmplz-document .cmplz-dropdown[open] { background: var(--surface); }
.ak.ak-page-doc #cmplz-document .cmplz-dropdown summary h3 {
  font-family: var(--font-head);
  font-size: 16px;
  font-weight: 700;
  color: var(--navy);
}
.ak.ak-page-doc #cmplz-document .cmplz-dropdown summary p {
  color: var(--muted);
  font-size: 13px;
  margin: 0;
}
.ak.ak-page-doc #cmplz-document .cmplz-dropdown summary:focus-visible {
  outline: 3px solid var(--cold);
  outline-offset: 4px;
  border-radius: 8px;
}
.ak.ak-page-doc #cmplz-document .cmplz-dropdown h4 {
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: none;
  color: var(--muted);
  margin: 14px 0 4px;
}
.ak.ak-page-doc #cmplz-document .cmplz-dropdown p { font-size: 14px; line-height: 1.6; }

/* cookie table inside a service card. Complianz builds the "borders" out of
   the grid gap showing through the container background — keep that trick,
   just recolour it to the theme hairline instead of #dadada. */
.ak.ak-page-doc #cmplz-document .cookies-per-purpose {
  gap: 1px;
  background: var(--line);
  border-radius: 8px;
  overflow: hidden;
  margin-top: 14px;
  font-size: 14px;
}
.ak.ak-page-doc #cmplz-document .cookies-per-purpose > div { padding: 10px 12px; }
.ak.ak-page-doc #cmplz-document .cookies-per-purpose .purpose,
.ak.ak-page-doc #cmplz-document .cookies-per-purpose .name,
.ak.ak-page-doc #cmplz-document .cookies-per-purpose .retention,
.ak.ak-page-doc #cmplz-document .cookies-per-purpose .function { background: var(--white); }
.ak.ak-page-doc #cmplz-document .cookies-per-purpose .name-header,
.ak.ak-page-doc #cmplz-document .cookies-per-purpose .retention-header,
.ak.ak-page-doc #cmplz-document .cookies-per-purpose .function-header { background: var(--surface); }
.ak.ak-page-doc #cmplz-document .cookies-per-purpose h5 {
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: none;
  color: var(--muted);
  margin: 0;
}
.ak.ak-page-doc #cmplz-document .cookies-per-purpose .purpose h4 { margin-top: 0; }

@media (max-width: 767px) {
  .ak.ak-page-doc .ak-doc > #cmplz-document { font-size: 15px; }
  .ak.ak-page-doc #cmplz-document h2 { font-size: 21px; }
  .ak.ak-page-doc #cmplz-document > h3 { font-size: 17px; }
  .ak.ak-page-doc #cmplz-document .cmplz-dropdown { padding: 12px 14px; }
}

/* ============================================================
   DOCUMENT MODE (.ak-page-doc) — legal / policy / order tracking /
   demo-leftover pages opted in by ak_is_doc_page(), plus
   the single blog post. H1 under the breadcrumb, the real page content
   on a white "paper" column (~840px) — DB content carries inline colours
   (black spans, #00ccff links) and plugin forms/tables assume white.

   Elementor pages: the_content() still renders Elementor (source of
   truth = _elementor_data, so wp-admin edits keep showing), but its
   section/column/container layout + per-widget typography are
   flattened here into one text column. Elementor's own per-post CSS
   uses (0,3,0)–(0,4,0) selectors, hence the !importants below.
   ============================================================ */

/* gutters on phones/tablets (dwrap is 40px for desktop) */
@media (max-width: 1023px) {
  .ak.ak-page-doc .dwrap { padding-left: 16px; padding-right: 16px; }
}
@media (max-width: 359px) {
  .ak.ak-page-doc .dwrap { padding-left: 12px; padding-right: 12px; }
}

/* H1 block on the band */
.ak.ak-page-doc .ak-page-head { padding-bottom: 6px; }
.ak .ak-doc-headwrap { max-width: 840px; margin: 0 auto; padding-top: 10px; padding-bottom: 26px; }
.ak .ak-doc-h1 {
  font-family: var(--ak-font-d); font-weight: 800; color: var(--ink);
  font-size: 44px; line-height: 1.05; letter-spacing: -.02em; margin: 0;
  overflow-wrap: anywhere;
}
.ak .ak-doc-meta { margin-top: 10px; font-size: 15px; font-weight: 600; color: var(--muted); }

/* the paper */
.ak .ak-doc-main { padding-bottom: 56px; }
.ak .ak-doc {
  max-width: 840px; margin: 0 auto; box-sizing: border-box;
  background: #fff; color: var(--ink-2); border: 1px solid var(--line); border-radius: var(--r-card);
  padding: 40px; box-shadow: var(--shadow-card);
  font-size: 17px; line-height: 1.7; text-align: left;
  overflow-wrap: break-word; overflow-x: clip;
}
.ak .ak-doc > :first-child,
.ak .ak-doc .elementor > :first-child { margin-top: 0 !important; }
.ak .ak-doc > :last-child { margin-bottom: 0 !important; }
/* editor leftovers (empty <p>, &nbsp; headings) add phantom gaps */
.ak .ak-doc p:empty { display: none; }
.ak .ak-doc > p:empty:first-child + * { margin-top: 0 !important; }

/* typography */
.ak .ak-doc p { margin: 0 0 1em; }
.ak .ak-doc :is(h2, h3, h4, h5, h6) {
  font-family: var(--ak-font-d); color: var(--ink); line-height: 1.2;
  letter-spacing: -.01em; margin: 1.6em 0 .5em; font-weight: 800;
}
.ak .ak-doc h2 { font-size: 26px; }
.ak .ak-doc h3 { font-size: 21px; }
.ak .ak-doc h4 { font-size: 18px; }
.ak .ak-doc :is(h5, h6) { font-size: 16px; }
.ak .ak-doc :is(ul, ol) { margin: 0 0 1em; padding-left: 1.4em; }
.ak .ak-doc li { margin-bottom: .4em; }
.ak .ak-doc li::marker { color: var(--cyan-deep); }
.ak .ak-doc strong, .ak .ak-doc b { color: var(--ink); }
.ak .ak-doc a { color: var(--cyan-deep); text-decoration: underline; text-underline-offset: 2px; }
.ak .ak-doc a:hover { color: var(--night); }
.ak .ak-doc blockquote { margin: 1.2em 0; padding: 4px 0 4px 18px; border-left: 3px solid var(--cyan); color: var(--ink); }
.ak .ak-doc hr { border: 0; border-top: 1px solid var(--line); margin: 2em 0; }
.ak .ak-doc img { max-width: 100%; height: auto; border-radius: 12px; }
.ak .ak-doc figure { margin: 0 0 1.2em; }
.ak .ak-doc .ak-doc-fig { margin: -40px -40px 32px; }
.ak .ak-doc .ak-doc-fig img { width: 100%; border-radius: 20px 20px 0 0; }
.ak .ak-doc iframe, .ak .ak-doc video { max-width: 100%; }

/* tables scroll inside the paper instead of widening the page */
.ak .ak-doc table {
  display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch;
  border-collapse: collapse; margin: 0 0 1.2em; font-size: 15px;
}
.ak .ak-doc :is(th, td) { border: 1px solid var(--line); padding: 10px 12px; text-align: left; vertical-align: top; }
.ak .ak-doc th { background: var(--surface); color: var(--ink); font-weight: 700; }

/* ---- Elementor layout flattened into the column ---- */
.ak .ak-doc :is(.elementor-section, .elementor-container, .elementor-column, .elementor-widget-wrap, .e-con, .e-con-inner, .elementor-row, .elementor-column-wrap) {
  display: block !important; width: auto !important; max-width: none !important; min-height: 0 !important;
  margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important;
  box-shadow: none !important; position: static !important; transform: none !important;
}
.ak .ak-doc .elementor-element:not(.elementor-section):not(.e-con):not(.elementor-column) { margin: 0 0 1em !important; padding: 0 !important; }
.ak .ak-doc .elementor-widget-container { margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; }
.ak .ak-doc .elementor-element,
.ak .ak-doc .elementor-element :is(p, li, span, div) { font-family: var(--ak-font) !important; }
.ak .ak-doc .elementor-element :is(p, li, div, span) { font-size: inherit !important; line-height: inherit !important; }
.ak .ak-doc .elementor-element :is(p, li) { color: var(--ink-2) !important; }
.ak .ak-doc [style*="text-align"] { text-align: left !important; }
/* heading widgets: the real tag keeps its size from the scale above */
.ak .ak-doc .elementor-heading-title { font-family: var(--ak-font-d) !important; color: var(--ink) !important; line-height: 1.2 !important; letter-spacing: -.01em !important; font-weight: 800 !important; margin: 1.4em 0 .5em !important; font-style: normal !important; text-shadow: none !important; }
.ak .ak-doc h2.elementor-heading-title { font-size: 26px !important; }
.ak .ak-doc h3.elementor-heading-title { font-size: 21px !important; }
.ak .ak-doc h4.elementor-heading-title { font-size: 18px !important; }
/* "header_size: p" heading widgets are body copy */
.ak .ak-doc :is(p, div, span).elementor-heading-title { font-family: var(--ak-font) !important; font-size: inherit !important; font-weight: 400 !important; color: var(--ink-2) !important; line-height: inherit !important; letter-spacing: 0 !important; margin: 0 !important; }
.ak .ak-doc .elementor > :first-child .elementor-widget:first-child .elementor-heading-title { margin-top: 0 !important; }
.ak .ak-doc .elementor-image img, .ak .ak-doc .elementor-widget-image img { width: auto; max-width: 100% !important; height: auto !important; }

/* ---- forms inside documents (WC order tracking, CF7) ---- */
.ak .ak-doc label { display: block; font-size: 15px; font-weight: 700; color: var(--ink); margin-bottom: 6px; }
.ak .ak-doc :is(input[type="text"], input[type="email"], input[type="tel"], input[type="search"], input[type="number"], input[type="password"], select, textarea) {
  width: 100%; box-sizing: border-box; min-height: 48px; padding: 12px 14px;
  font: 16px/1.3 var(--ak-font); color: var(--ink);
  background: var(--surface); border: 1.5px solid var(--line); border-radius: 12px; outline: none;
  transition: border-color .14s, box-shadow .14s;
}
.ak .ak-doc textarea { min-height: 130px; }
.ak .ak-doc :is(input, select, textarea):focus { border-color: var(--cold); box-shadow: 0 0 0 3px var(--cold-50); background: #fff; }
/* form actions (track order, CF7 send): cyan */
.ak .ak-doc :is(button, .button, input[type="submit"], .wpcf7-submit) {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 48px; padding: 0 24px; border: 0; border-radius: var(--r-btn); cursor: pointer;
  background: var(--cold-ink); color: #fff !important; font: 800 16px/1 var(--ak-font);
  text-decoration: none; transition: background-color .15s;
}
.ak .ak-doc :is(button, .button, input[type="submit"], .wpcf7-submit):hover { background: var(--night); color: #fff !important; }
/* WC order-tracking form: two fields side by side on desktop, stacked on phones */
.ak .ak-doc .track_order .form-row { margin: 0 0 16px; padding: 0; width: 100%; float: none; }
@media (min-width: 768px) {
  .ak .ak-doc .track_order { display: flex; flex-wrap: wrap; gap: 0 16px; }
  .ak .ak-doc .track_order > p:first-of-type, .ak .ak-doc .track_order .clear, .ak .ak-doc .track_order .form-row:not(.form-row-first):not(.form-row-last) { flex: 1 1 100%; }
  .ak .ak-doc .track_order .form-row-first, .ak .ak-doc .track_order .form-row-last { flex: 1 1 0; }
}
/* WC notices (tracking errors / results) */
.ak .ak-doc :is(.woocommerce-error, .woocommerce-info, .woocommerce-message) {
  list-style: none; margin: 0 0 20px; padding: 14px 16px; border-radius: 12px;
  background: var(--surface); border: 1px solid var(--line); color: var(--ink); font-size: 15.5px;
}
.ak .ak-doc .woocommerce-error li { margin: 0; }
.ak .ak-doc :is(.woocommerce-error, .woocommerce-info, .woocommerce-message)::before { display: none; }
.ak .ak-doc .woocommerce-customer-details address { font-style: normal; padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; }
.ak .ak-doc mark { background: var(--cold-50); color: var(--ink); padding: 0 4px; border-radius: 4px; }
/* tracking result's order table: keep it a real table (it is narrow) */
.ak .ak-doc .woocommerce-table--order-details { display: table; width: 100%; }

@media (max-width: 1023px) {
  .ak .ak-doc-headwrap { padding-top: 4px; padding-bottom: 20px; }
  .ak .ak-doc-h1 { font-size: 34px; }
  .ak .ak-doc { padding: 24px 20px; font-size: 16px; }
  .ak .ak-doc .ak-doc-fig { margin: -24px -20px 24px; }
  .ak .ak-doc .ak-doc-fig img { border-radius: 18px 18px 0 0; }
  .ak .ak-doc h2, .ak .ak-doc h2.elementor-heading-title { font-size: 22px !important; }
  .ak .ak-doc h3, .ak .ak-doc h3.elementor-heading-title { font-size: 19px !important; }
  .ak .ak-doc-main { padding-bottom: 32px; }
}
@media (max-width: 359px) {
  .ak .ak-doc-h1 { font-size: 30px; }
  .ak .ak-doc { padding: 20px 16px; }
  .ak .ak-doc .ak-doc-fig { margin: -20px -16px 20px; }
}

/* ============================================================
   CODED CONTENT PAGES — Контакти (tpl-contact.php), в процес на изработка (tpl-wip.php), За нас
   (tpl-about.php); hero + buttons also used by blog/404 (blog.css)
   ============================================================ */
.ak .ak-cpage { padding-bottom: 20px; }
.ak .ak-cpage-hero { padding-top: 4px; padding-bottom: 28px; }
.ak .ak-cpage-eyebrow { display: inline-block; font-size: 15px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--cold-ink); }
.ak .ak-cpage-h1 {
  font-family: var(--ak-font-d); font-weight: 800; color: var(--ink); margin: 8px 0 0;
  font-size: 52px; line-height: 1; letter-spacing: -.02em; max-width: 820px; overflow-wrap: anywhere;
}
.ak .ak-cpage-sub { color: var(--ink-2); font-size: 18px; line-height: 1.55; margin-top: 14px; max-width: 640px; }

/* buttons (≥48px tap targets, 404 + blog): ghost by default, green = call */
.ak .ak-cbtn {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  min-height: 48px; padding: 0 20px; border-radius: var(--r-btn); box-sizing: border-box;
  font-weight: 800; font-size: 16px; line-height: 1.1; text-decoration: none;
  background: #fff; color: var(--ink); border: 1.5px solid var(--line);
  transition: background-color .15s, border-color .15s, color .15s;
}
.ak .ak-cbtn:hover { background: #fff; color: var(--ink); border-color: var(--ink-2); }
.ak .ak-cbtn svg { stroke: currentColor; flex: 0 0 auto; }
.ak .ak-cbtn.is-primary { background: var(--cold-ink); border-color: var(--cold-ink); color: #fff; }
.ak .ak-cbtn.is-primary:hover { background: var(--night); border-color: var(--night); color: #fff; }
.ak .ak-cbtn.is-call { background: var(--ok); border-color: var(--ok); color: #fff; }
.ak .ak-cbtn.is-call:hover { background: var(--ok-ink); border-color: var(--ok-ink); color: #fff; }
.ak .ak-cbtn.is-ghost { background: #fff; color: var(--ink); border-color: var(--line); }
.ak .ak-cbtn.is-ghost:hover { background: #fff; color: var(--ink); border-color: var(--ink-2); }

/* contact details as labelled rows (Контакти, «в процес на изработка», the За нас store
   block; owner 2026-11-13: no icons, pills or boxes): small uppercase label, value below,
   a thin line above each row */
.ak .ak-cinfo { margin: 0; }
.ak .ak-cinfo > div { padding: 12px 0 13px; border-top: 1px solid var(--line); }
.ak .ak-cinfo dt { color: var(--muted); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; line-height: 1.3; }
.ak .ak-cinfo dd { margin: 3px 0 0; color: var(--ink); font-size: 17px; font-weight: 700; line-height: 1.45; overflow-wrap: anywhere; }
.ak .ak-cinfo dd a { display: inline-block; padding: 3px 0; color: var(--cold-ink); text-decoration: none; }
.ak .ak-cinfo dd a:hover { text-decoration: underline; text-underline-offset: 3px; }
.ak .ak-cinfo dd a.ak-cinfo-more { display: block; width: fit-content; margin-top: 2px; font-size: 15.5px; text-decoration: underline; text-decoration-color: var(--cold-100); text-underline-offset: 3px; }
.ak .ak-cinfo dd a.ak-cinfo-more:hover { text-decoration-color: currentColor; }
.ak .ak-cinfo-phones { display: flex; flex-wrap: wrap; gap: 0 24px; }
.ak .ak-cinfo-mail dd { display: flex; flex-direction: column; align-items: flex-start; }
.ak .ak-cinfo-note { margin-top: 4px; color: var(--muted); font-size: 14.5px; font-weight: 500; }

/* store blocks (no card boxes) */
.ak .ak-stores { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.ak .ak-store { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); gap: 32px; align-items: stretch; }
.ak .ak-store-info { display: flex; flex-direction: column; gap: 16px; }
.ak .ak-store-map { min-height: 360px; max-height: 520px; border: 1px solid var(--line); } /* the map picture is 1000×520 */
/* Контакти: page intro in the text column, the map beside it (as tall as the text, up to
   the picture's 520px) */
.ak .ak-store.has-intro { gap: 48px; }
.ak .ak-store-intro { padding-top: 4px; margin-bottom: 12px; }
.ak .ak-store-intro .ak-cpage-sub { max-width: 560px; }
.ak .ak-store.has-intro .ak-store-map { min-height: 440px; }
.ak .ak-store-t { font-family: var(--ak-font-d); font-size: 26px; font-weight: 800; color: var(--ink); line-height: 1.15; }
.ak .ak-cform { margin-top: 20px; max-width: none; }

/* "в процес на изработка" note (tpl-wip.php) above the contact blocks: no box, a blue
   rule on the left (like p.ak-sp-line) */
.ak .ak-wip-note { max-width: 860px; padding: 2px 0 2px 20px; border-left: 3px solid var(--cold-ink); }
.ak .ak-wip-t { font-family: var(--ak-font-d); font-size: 24px; font-weight: 800; color: var(--ink); line-height: 1.15; margin: 0; }
.ak .ak-wip-txt p { color: var(--ink-2); font-size: 17px; line-height: 1.6; margin: 8px 0 0; }
.ak .ak-wip .ak-stores { margin-top: 40px; }

/* about */
.ak .ak-about { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 40px; align-items: start; }
.ak .ak-about-txt p { color: var(--ink-2); font-size: 17.5px; line-height: 1.75; margin: 0 0 1.1em; }
.ak .ak-about-txt .ak-about-lead { font-size: 19px; color: var(--ink); }
.ak .ak-about-txt strong { color: var(--ink); }
.ak .ak-about-txt a { color: var(--cold-ink); text-decoration: underline; text-decoration-color: var(--cold-100); text-underline-offset: 3px; }
.ak .ak-about-txt a:hover { text-decoration-color: currentColor; }
.ak .ak-about-fig { margin: 0; border-radius: var(--r-card); overflow: hidden; border: 1px solid var(--line); }
.ak .ak-about-fig img { width: 100%; height: auto; aspect-ratio: 4 / 4.2; object-fit: cover; }
/* facts strip: no card boxes, a thin line above each fact, straight on the page background */
.ak .ak-about-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 28px; margin-top: 36px; }
.ak .ak-about-fact { min-width: 0; padding: 14px 0 16px; border-top: 1px solid var(--line); }
.ak .ak-about-fact .num {
  font-family: var(--ak-font-d); font-weight: 800; font-size: 32px; line-height: 1.05;
  letter-spacing: -.01em; color: var(--cold-ink); overflow-wrap: anywhere;
}
.ak .ak-about-fact .lbl { font-size: 15px; color: var(--ink-2); margin-top: 6px; line-height: 1.35; }
/* «Заповядайте в магазина ни»: store map left, address / hours / phone right, no box
   (owner's pick of 3, 2026-11-13). Text comes first in the HTML; the map moves left via order. */
.ak .ak-about-visit { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; margin-top: 56px; }
.ak .ak-about-map { order: -1; } /* sizes: .ak-store-map */
.ak .ak-about-visit.no-map { grid-template-columns: minmax(0, 1fr); }
.ak .ak-about-visit h2 {
  font-family: var(--ak-font-d); font-weight: 800; font-size: 36px; line-height: 1.05;
  letter-spacing: -.01em; color: var(--ink); margin: 0;
}
.ak .ak-about-visit-txt > p { color: var(--ink-2); font-size: 17px; line-height: 1.55; margin: 12px 0 0; max-width: 460px; }
.ak .ak-about-visit .ak-cinfo { margin-top: 22px; }
.ak .ak-about-visit-btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.ak .ak-about-visit-btns .btn { text-decoration: none; }

@media (max-width: 1023px) {
  .ak .ak-cpage-hero { padding-top: 0; padding-bottom: 22px; }
  .ak .ak-cpage-h1 { font-size: 38px; }
  .ak .ak-cpage-sub { font-size: 16.5px; }
  .ak .ak-stores { gap: 14px; }
  .ak .ak-store { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .ak .ak-store-map { min-height: 0; height: 260px; }
  .ak .ak-store.has-intro { gap: 20px; }
  .ak .ak-store.has-intro .ak-store-map { min-height: 0; }
  .ak .ak-store-intro { padding-top: 0; margin-bottom: 6px; }
  .ak .ak-wip-note { padding-left: 16px; }
  .ak .ak-wip-t { font-size: 21px; }
  .ak .ak-wip-txt p { font-size: 16px; }
  .ak .ak-wip .ak-stores { margin-top: 28px; }
  .ak .ak-about { grid-template-columns: 1fr; gap: 24px; }
  .ak .ak-about-fig img { aspect-ratio: 4 / 3; }
  .ak .ak-about-txt p { font-size: 16.5px; }
  .ak .ak-about-txt .ak-about-lead { font-size: 17.5px; }
  .ak .ak-about-facts { margin-top: 24px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; }
  .ak .ak-about-fact .num { font-size: 26px; }
  .ak .ak-about-visit { grid-template-columns: minmax(0, 1fr); gap: 20px; margin-top: 36px; }
  .ak .ak-about-map { order: 0; }
  /* bigger tap targets for the phone / e-mail links */
  .ak .ak-cinfo dd a { padding: 9px 0; }
  .ak .ak-cinfo dd a.ak-cinfo-more { margin-top: -4px; }
  .ak .ak-about-visit h2 { font-size: 28px; }
  .ak .ak-about-visit-txt > p { font-size: 16px; }
  .ak .ak-about-visit-btns .btn { flex: 1 1 auto; }
}
@media (max-width: 420px) {
  .ak .ak-cpage-h1 { font-size: 32px; }
}
@media (max-width: 400px) {
  .ak .ak-about-fact .num { font-size: 22px; }
  .ak .ak-about-fact .lbl { font-size: 14px; }
}
