/* ===== plan 10: content pages =====
   About, Payment & delivery, Wholesale, Contacts, legal.
   Markup: WPBakery rows/columns/text blocks from porto-child/content/*.txt.
   Body classes mk-page / mk-page--<key> come from inc/pages.php. */
.mk-page .main-content { padding-top: 0; padding-bottom: 0; }
.mk-page .porto-inner-container > .porto-wrap-container.container { max-width: 1180px; padding-left: 24px; padding-right: 24px; }
@media (max-width: 575px) {
	.mk-page .porto-inner-container > .porto-wrap-container.container { padding-left: 16px; padding-right: 16px; }
}
.mk-page .wpb_content_element,
.mk-page .wpb_text_column { margin-bottom: 0; }
.mk-page .wpb_text_column p:empty { display: none; }
.mk-page a:focus-visible { outline: 2px solid var(--mk-ink); outline-offset: 2px; }

/* Section rhythm (el_class on vc_row) */
.mk-page .mk-sec { padding: 40px 0 56px; }
.mk-page .mk-sec--head { padding: 40px 0 0; }
.mk-page .mk-sec--part { padding: 0 0 44px; }
.mk-page .mk-sec--flush-top { padding-top: 0; }
.mk-page .mk-sec--last { padding-bottom: 72px; }
.mk-page .mk-sec--band { padding: 48px 0; background: #fff; border-top: 1px solid var(--mk-line); border-bottom: 1px solid var(--mk-line); }
/* A --part row continues the section above; after a white band it opens a new one (About: «Умови замовлення»). */
.mk-page .mk-sec--band + .mk-sec--part { padding-top: 40px; }
@media (max-width: 767px) {
	.mk-page .mk-sec { padding: 28px 0 40px; }
	.mk-page .mk-sec--head { padding: 28px 0 0; }
	.mk-page .mk-sec--part { padding: 0 0 32px; }
	.mk-page .mk-sec--flush-top { padding-top: 0; }
	.mk-page .mk-sec--band { padding: 32px 0; }
	.mk-page .mk-sec--band + .mk-sec--part { padding-top: 28px; }
}

/* Type */
.mk-page .mk-h1 { margin: 0 0 14px; }
@media (min-width: 768px) { .mk-page .mk-h1--xl { font-size: 44px; line-height: 1.08; } }
.mk-page .mk-h2 { margin: 0 0 20px; }
.mk-page .mk-lead { margin: 0; font-size: 18px; }
@media (max-width: 767px) { .mk-page .mk-lead { font-size: 16px; } }
.mk-page--about .mk-mark { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 14px; font-size: 14px; font-weight: 500; color: var(--mk-ink-2); }
.mk-page--about .mk-mark::before { content: ""; flex: 0 0 18px; width: 18px; height: 18px; box-sizing: border-box; border: 2px solid var(--mk-red); border-radius: var(--mk-radius-sm); }

/* Grids */
.mk-page .mk-grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--mk-min, 260px)), 1fr)); }
.mk-page .mk-grid--features { --mk-min: 240px; gap: 28px; }
.mk-page .mk-grid--kinds { --mk-min: 170px; }
.mk-page .mk-grid--tiers { --mk-min: 260px; }
.mk-page .mk-grid--contacts { --mk-min: 260px; }
.mk-page .mk-grid--pay { --mk-min: 300px; }
.mk-page .mk-grid--ship { --mk-min: 300px; }

/* Framed product photo */
.mk-page--about .mk-photo { display: flex; align-items: center; justify-content: center; box-sizing: border-box; height: 260px; padding: 10px; background: #fff; border: 1px solid var(--mk-line); border-radius: var(--mk-radius); }
.mk-page--about .mk-photo--tall { height: 360px; }
.mk-page--about .mk-photo img { width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
@media (max-width: 575px) { .mk-page--about .mk-photo { height: 200px; } .mk-page--about .mk-photo--tall { height: 260px; } }

/* Payment logos ([mk_pay_logos]) */
.mk-page .mk-pay-logos { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.mk-page .mk-pay-logo { display: block; width: auto; max-width: none; height: 22px; }
.mk-page .mk-pay-logo--liqpay { height: 18px; }
.mk-page .mk-pay-logo--plata { height: 20px; }

/* --- About (page 55) --- */
.mk-page--about .mk-about-media { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: end; }
.mk-page--about .mk-feature__title { margin-bottom: 6px; font-size: 18px; font-weight: 700; color: var(--mk-ink); }
.mk-page--about .mk-feature__text { color: var(--mk-ink-2); }
.mk-page--about .mk-feature__text a { color: var(--mk-ink); text-decoration: underline; }
.mk-page--about .mk-feature__text a:hover { color: var(--mk-red); }
.mk-page--about .mk-kind { position: relative; display: flex; flex-direction: column; overflow: hidden; background: #fff; border: 1px solid var(--mk-line); border-radius: var(--mk-radius); } /* the image well runs edge to edge */
.mk-page--about .mk-kind__img { display: flex; align-items: center; justify-content: center; box-sizing: border-box; height: 180px; padding: 14px; background: var(--mk-paper-2); }
.mk-page--about .mk-kind__img img { width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
.mk-page--about .mk-kind__body { padding: 12px 14px; }
.mk-page--about .mk-kind__link { font-weight: 700; color: var(--mk-ink); text-decoration: none; }
.mk-page--about .mk-kind__link::after { content: ""; position: absolute; inset: 0; } /* whole card is the link target */
.mk-page--about .mk-kind:hover .mk-kind__link { color: var(--mk-red); }
.mk-page--about .mk-kind__link:focus-visible { outline: none; }
.mk-page--about .mk-kind:focus-within { outline: 2px solid var(--mk-ink); outline-offset: 2px; }
.mk-page--about .mk-kind:focus-within:not(:has(:focus-visible)) { outline: none; } /* no ring after a mouse click */
.mk-page--about .mk-kind__desc { font-size: 13px; color: var(--mk-ink-2); }
@media (max-width: 767px) { .mk-page--about .mk-about-hero .vc_column_container + .vc_column_container { margin-top: 24px; } }
.mk-page--about .mk-sec-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 20px; }
.mk-page--about .mk-sec-head__note { font-size: 14px; color: var(--mk-ink-2); }
/* «Умови замовлення» (old «Чому саме ми» facts): the Delivery page's info cards. */
.mk-page .mk-grid--terms { --mk-min: 220px; }
.mk-page--about .mk-info-card { padding: 22px; border-radius: var(--mk-radius); }
.mk-page--about .mk-info-card__title { margin-bottom: 6px; font-size: 18px; font-weight: 700; color: var(--mk-ink); }
.mk-page--about .mk-info-card__text { font-size: 14px; color: var(--mk-ink-2); }
.mk-page--about .mk-about-terms__links { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 16px; }
.mk-page--about .mk-about-terms__links a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 500; color: var(--mk-red); text-decoration: none; }
.mk-page--about .mk-about-terms__links a:hover { text-decoration: underline; }
/* ===== end plan 10 ===== */

/* ===== plan 10 · Payment, delivery, returns (page 4228) ===== */
.mk-page--delivery .porto-inner-container > .porto-wrap-container.container { max-width: 1080px; }
.mk-page--delivery .mk-anchor { scroll-margin-top: 110px; }
.mk-page--delivery .mk-toc { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 20px; margin: 0 0 36px; padding: 14px 18px; background: #fff; border: 1px solid var(--mk-line); border-radius: var(--mk-radius); }
.mk-page--delivery .mk-toc__label { font-size: 14px; color: var(--mk-ink-2); }
.mk-page--delivery .mk-toc a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-weight: 500; color: var(--mk-ink); text-decoration: underline; text-underline-offset: 4px; }
.mk-page--delivery .mk-toc a::after { content: "↓" / ""; }
.mk-page--delivery .mk-toc a:hover { color: var(--mk-red); }
.mk-page--delivery .mk-sec-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 16px; }
.mk-page .mk-sec-head .mk-h2 { margin: 0; }
.mk-page--delivery .mk-sec-head__note { font-size: 14px; color: var(--mk-ink-2); }

.mk-page--delivery .mk-pay-card { display: flex; flex-direction: column; gap: 14px; }
.mk-page--delivery .mk-pay-card__head { display: flex; align-items: center; gap: 14px; }
.mk-page--delivery .mk-pay-card__head::before {
	content: ""; flex: 0 0 44px; height: 44px; box-sizing: border-box;
	border: 1px solid var(--mk-line); background: var(--mk-paper) center / 22px 22px no-repeat;
}
.mk-page--delivery .mk-pay-card__head--liqpay::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23302a28' stroke-width='1.7'%3E%3Crect x='3' y='6' width='18' height='12'/%3E%3Cpath d='M3 10h18M7 15h4'/%3E%3C/svg%3E"); }
.mk-page--delivery .mk-pay-card__head--mono::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23302a28' stroke-width='1.7'%3E%3Crect x='7' y='3' width='10' height='18'/%3E%3Cpath d='M11 18h2'/%3E%3C/svg%3E"); }
.mk-page--delivery .mk-pay-card__head--cash::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23302a28' stroke-width='1.7'%3E%3Crect x='3' y='7' width='18' height='10'/%3E%3Ccircle cx='12' cy='12' r='2.5'/%3E%3C/svg%3E"); }
.mk-page--delivery .mk-pay-card__head--transfer::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23302a28' stroke-width='1.7'%3E%3Cpath d='M4 9h13l-3-3M20 15H7l3 3'/%3E%3C/svg%3E"); }
.mk-page--delivery .mk-pay-card__head--invoice::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23302a28' stroke-width='1.7'%3E%3Cpath d='M6 3h9l3 3v15H6z'/%3E%3Cpath d='M9 10h6M9 14h6M9 18h4'/%3E%3C/svg%3E"); }
.mk-page--delivery .mk-pay-card__title { margin-bottom: 4px; font-size: 19px; font-weight: 700; line-height: 1.2; color: var(--mk-ink); }
.mk-page--delivery .mk-pay-card .mk-badge { height: 24px; font-size: 12px; }
.mk-page--delivery .mk-pay-card__text { font-size: 14px; }
.mk-page--delivery .mk-pay-card__logos { padding-top: 4px; }

.mk-page--delivery .mk-steps { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; counter-reset: mk-step; font-size: 14px; }
.mk-page--delivery .mk-steps li { display: flex; align-items: flex-start; gap: 12px; counter-increment: mk-step; }
.mk-page--delivery .mk-steps li::before {
	content: counter(mk-step); flex: 0 0 24px; height: 24px; display: inline-flex; align-items: center; justify-content: center;
	background: #f1ece8; font-size: 12px; font-weight: 700; color: var(--mk-ink);
}
.mk-page--delivery .mk-dots { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; list-style: none; font-size: 14px; }
.mk-page--delivery .mk-dots li { display: flex; align-items: center; gap: 10px; }
.mk-page--delivery .mk-dots li::before { content: ""; flex: 0 0 8px; width: 8px; height: 8px; background: var(--mk-ink-2); }

.mk-page--delivery .mk-info-card { padding: 22px; border-radius: var(--mk-radius); } /* board: shipping cards rounded, payment cards square */
.mk-page--delivery .mk-info-card__title { margin-bottom: 6px; font-size: 18px; font-weight: 700; color: var(--mk-ink); }
.mk-page--delivery .mk-info-card__text { font-size: 14px; color: var(--mk-ink-2); }
.mk-page--delivery .mk-callout { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 16px; padding: 16px 20px; background: #fff; border: 2px solid var(--mk-red); border-radius: var(--mk-radius); }
.mk-page--delivery .mk-callout__title { font-size: 18px; font-weight: 700; white-space: nowrap; color: var(--mk-ink); }
.mk-page--delivery .mk-callout__text { font-size: 14px; color: var(--mk-ink-2); }
.mk-page--delivery .mk-callout--prepay { border: 1px solid var(--mk-line); } /* a condition, not an offer: no red frame */

.mk-page--delivery .mk-return { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 28px; padding: 26px; background: #fff; border: 1px solid var(--mk-line); border-radius: var(--mk-radius); }
.mk-page--delivery .mk-return__lead { margin-bottom: 12px; font-size: 17px; }
.mk-page--delivery .mk-return__text { font-size: 14px; color: var(--mk-ink-2); }
.mk-page--delivery .mk-return__aside { padding: 18px 20px; background: var(--mk-paper); border-radius: var(--mk-radius); }
.mk-page--delivery .mk-return__aside-title { margin-bottom: 8px; font-weight: 500; }
.mk-page--delivery .mk-return__aside ul { display: flex; flex-direction: column; gap: 4px; margin: 0; padding-left: 20px; font-size: 14px; color: var(--mk-ink-2); }
.mk-page--delivery .mk-question { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 36px; }
.mk-page--delivery .mk-question__label { color: var(--mk-ink-2); }
@media (max-width: 575px) { .mk-page--delivery .mk-return { padding: 18px; } .mk-page--delivery .mk-return__aside { padding: 16px; } }
/* WPBakery zeroes the margin of the last element in a text block (#content .wpb_text_column :last-child),
   so the space under the TOC comes from the head row instead. */
.mk-page--delivery .mk-sec--head { padding-bottom: 36px; }
@media (max-width: 767px) { .mk-page--delivery .mk-sec--head { padding-bottom: 28px; } }
/* ===== end plan 10 · Payment, delivery, returns ===== */

/* ===== plan 10 · Legal pages (Task 6) =====
   Any page with the legal key (inc/pages.php: the offer, the site terms, the Settings → Privacy page).
   Content is untouched; Porto's page title is the visible <h1>; one readable 820px column. */
.mk-page--legal .page-top { background: transparent; border: 0; min-height: 0; margin: 0; padding: 32px 0 0; }
.mk-page--legal .page-top > .container { max-width: 868px; padding: 0 24px; }
.mk-page--legal .page-top .page-title { margin: 0 0 8px; padding: 0; font-size: 32px; font-weight: 700; line-height: 1.15; letter-spacing: 0; color: var(--mk-ink); text-transform: none; }
.mk-page--legal .page-content { max-width: 820px; margin: 0 auto; padding: 24px 0 64px; font-size: 15px; line-height: 1.7; color: var(--mk-ink); overflow-wrap: anywhere; }
.mk-page--legal .page-content p { margin: 0 0 14px; font-size: inherit; line-height: inherit; color: inherit; }
.mk-page--legal .page-content h2,
.mk-page--legal .page-content .vc_custom_heading { margin: 28px 0 10px; font-size: 20px; font-family: inherit !important; font-weight: 700 !important; /* beat WPBakery inline Abril Fatface */ line-height: 1.3; letter-spacing: 0; color: var(--mk-ink); text-transform: none; }
.mk-page--legal .page-content blockquote { margin: 0 0 16px; padding: 4px 0 4px 16px; border-left: 2px solid var(--mk-line); font-style: normal; font-size: inherit; color: var(--mk-ink); }
.mk-page--legal .vc_message_box { border-radius: 0; }
.mk-page--legal .page-content a { color: var(--mk-ink); text-decoration: underline; }
.mk-page--legal .page-content a:hover { color: var(--mk-red); }
@media (max-width: 767px) {
	.mk-page--legal .page-top { padding-top: 24px; }
	.mk-page--legal .page-top .page-title { font-size: 24px; }
	.mk-page--legal .page-content { padding: 16px 0 48px; }
}
@media (max-width: 575px) { .mk-page--legal .page-top > .container { padding: 0 16px; } }
/* ===== end plan 10 · Legal pages ===== */

/* ===== plan 10 · Wholesale (page 67) ===== */
/* pages.css loads on every page: every rule here is scoped under .mk-page--wholesale. */
.mk-page--wholesale .mk-ws-media { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.mk-page--wholesale .mk-ws-media img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; background: #fff; border: 1px solid var(--mk-line); border-radius: var(--mk-radius); }
@media (max-width: 767px) { .mk-page--wholesale .mk-ws-hero .vc_column_container + .vc_column_container { margin-top: 24px; } }
/* «Показувати оптові умови» off: [mk_wholesale_if] drops the cards; the empty row goes too. */
.mk-page--wholesale .mk-ws-tiers:not(:has(.mk-tier)) { display: none; }
.mk-page--wholesale .mk-tier { padding: 26px; background: #fff; border: 1px solid var(--mk-line); border-radius: var(--mk-radius); }
.mk-page--wholesale .mk-tier__key { display: inline-block; margin-bottom: 14px; padding: 4px 12px; border: 2px solid var(--mk-red); border-radius: var(--mk-radius-sm); font-size: 22px; font-weight: 700; white-space: nowrap; color: var(--mk-ink); }
.mk-page--wholesale .mk-tier__key:empty { display: none; }
.mk-page--wholesale .mk-tier__title { margin-bottom: 4px; font-size: 17px; font-weight: 500; }
.mk-page--wholesale .mk-tier__text { font-size: 14px; color: var(--mk-ink-2); }
.mk-page--wholesale .mk-howto { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 32px; padding: 32px; background: #fff; border: 1px solid var(--mk-line); border-radius: var(--mk-radius); }
.mk-page--wholesale .mk-howto .mk-h2 { margin-bottom: 14px; }
.mk-page--wholesale .mk-howto__lead { margin-bottom: 12px; font-size: 17px; }
.mk-page--wholesale .mk-howto__text { color: var(--mk-ink-2); }
.mk-page--wholesale .mk-howto__text + .mk-howto__text { margin-top: 8px; }
.mk-page--wholesale .mk-manager { display: flex; flex-direction: column; gap: 10px; padding: 26px; background: var(--mk-ink); border-radius: var(--mk-radius); color: #fff; }
.mk-page--wholesale .mk-manager__title { font-size: 20px; font-weight: 700; }
.mk-page--wholesale .mk-manager a { color: #fff; }
.mk-page--wholesale .mk-manager a:hover { color: #fff; text-decoration-thickness: 2px; }
.mk-page--wholesale .mk-manager a:focus-visible { outline-color: #fff; }
.mk-page--wholesale .mk-manager__phone a { display: inline-flex; align-items: center; min-height: 44px; font-size: 24px; font-weight: 700; text-decoration: none; }
.mk-page--wholesale .mk-manager__email a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; overflow-wrap: anywhere; }
.mk-page--wholesale .mk-manager__muted { color: var(--mk-line); }
.mk-page--wholesale .mk-manager__hours { font-size: 14px; }
@media (max-width: 575px) { .mk-page--wholesale .mk-howto, .mk-page--wholesale .mk-manager, .mk-page--wholesale .mk-tier { padding: 20px; } }
.mk-page--wholesale .mk-linkbar-wrap p { margin: 0; }
.mk-page--wholesale .mk-linkbar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; min-height: 44px; padding: 22px 26px; background: #fff; border: 1px solid var(--mk-line); border-radius: var(--mk-radius); color: var(--mk-ink); text-decoration: none; }
.mk-page--wholesale .mk-linkbar b { font-size: 18px; font-weight: 700; }
.mk-page--wholesale .mk-linkbar__muted { color: var(--mk-ink-2); }
.mk-page--wholesale .mk-linkbar__cta { font-weight: 500; color: var(--mk-red); }
.mk-page--wholesale .mk-linkbar:hover .mk-linkbar__cta { color: var(--mk-red-700); text-decoration: underline; }
/* ===== end plan 10 · Wholesale ===== */

/* ===== plan 10 · Contacts (page 73) + CF7 form #74 — every rule scoped to .mk-page--contacts (pages.css loads site-wide) ===== */
.mk-page--contacts .mk-contacts-lead { margin-bottom: 32px; }
.mk-page--contacts .mk-contacts-head { padding-bottom: 24px; }
.mk-page--contacts .mk-contact-card { position: relative; display: flex; flex-direction: column; gap: 4px; padding: 22px; background: #fff; border: 1px solid var(--mk-line); border-radius: var(--mk-radius); }
.mk-page--contacts .mk-contact-card__label { font-size: 13px; color: var(--mk-ink-2); }
.mk-page--contacts .mk-contact-card__value { font-size: 18px; font-weight: 700; color: var(--mk-ink); overflow-wrap: anywhere; }
.mk-page--contacts .mk-contact-card__value--lg { font-size: 20px; }
.mk-page--contacts .mk-contact-card__value--sm { font-size: 16px; }
.mk-page--contacts .mk-contact-card__value a { color: inherit; text-decoration: none; }
.mk-page--contacts .mk-contact-card__value a::after { content: ""; position: absolute; inset: 0; } /* whole card is the tap target */
.mk-page--contacts .mk-contact-card:hover .mk-contact-card__value a { color: var(--mk-red); }
.mk-page--contacts .mk-contact-card__value a:focus-visible { outline: none; } /* the card shows the ring instead */
.mk-page--contacts .mk-contact-card:focus-within { outline: 2px solid var(--mk-ink); outline-offset: 2px; }
.mk-page--contacts .mk-contact-card:focus-within:not(:has(:focus-visible)) { outline: none; } /* no ring after a mouse click */
.mk-page--contacts .mk-contact-card__note { font-size: 14px; color: var(--mk-ink-2); }

.mk-page--contacts .mk-form-col > .vc_column-inner { box-sizing: border-box; height: 100%; padding: 28px; background: #fff; border: 1px solid var(--mk-line); border-radius: var(--mk-radius); }
.mk-page--contacts .mk-form__title { margin: 0 0 18px; font-size: 26px; font-weight: 700; line-height: 1.2; color: var(--mk-ink); }
.mk-page--contacts .mk-form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 14px 16px; }
.mk-page--contacts .mk-form-grid p { margin: 0; }
.mk-page--contacts .mk-field--wide { grid-column: 1 / -1; }
.mk-page--contacts .mk-field label { display: block; margin-bottom: 4px; font-size: 14px; font-weight: 500; color: var(--mk-ink); }
.mk-page--contacts .mk-field .wpcf7-form-control-wrap { display: block; }
.mk-page--contacts .mk-field input:not([type="submit"]), .mk-page--contacts .mk-field textarea { width: 100%; box-sizing: border-box; }
.mk-page--contacts .mk-field textarea { min-height: 140px; padding: 12px 14px; }
.mk-page--contacts .mk-form-col .wpcf7-submit { height: 52px; padding: 0 30px; font-size: 16px; }
@media (max-width: 575px) { .mk-page--contacts .mk-form-col > .vc_column-inner { padding: 20px; } }

.mk-page--contacts .mk-map-col > .vc_column-inner,
.mk-page--contacts .mk-map-col .wpb_gmaps_widget,
.mk-page--contacts .mk-map-col .wpb_gmaps_widget .wpb_wrapper,
.mk-page--contacts .mk-map-col .wpb_map_wraper { height: 100%; }
.mk-page--contacts .mk-map-col iframe { display: block; width: 100%; height: 100%; min-height: 380px; border: 1px solid var(--mk-line) !important; border-radius: var(--mk-radius); }
@media (max-width: 767px) { .mk-page--contacts .mk-map-col { margin-top: 16px; } }
/* Board: 24 px between the cards and the form/map row; the form panel has its padding on all four sides
   (Porto's .vc_row .vc_column_container > .wpb_wrapper.vc_column-inner zeroes the top); the map fills its
   column edge to edge (WPBakery gives the map wrapper 5 px padding). */
.mk-page--contacts .mk-contacts-main { padding-top: 0; }
.mk-page--contacts .vc_row .mk-form-col > .vc_column-inner { padding-top: 28px; }
@media (max-width: 575px) { .mk-page--contacts .vc_row .mk-form-col > .vc_column-inner { padding-top: 20px; } }
.mk-page--contacts .mk-map-col .wpb_gmaps_widget .wpb_wrapper { padding: 0; }
/* ===== end plan 10 · Contacts ===== */

/* ==========================================================================
   Service pages: search results, 404 (plan 08). Board: ServicePages.dc.html, blocks 1–2
   ========================================================================== */

/* Search form (search results, 404) */
.mk-search-form { display: flex; flex-wrap: wrap; gap: 8px; max-width: 640px; margin: 0 0 20px; }
.mk-search-form .screen-reader-text { position: absolute !important; display: block !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.mk-search-form__input { flex: 1 1 260px; min-width: 0; height: 48px; padding: 0 14px; border: 1.5px solid #cfc5be; border-radius: var(--mk-radius); background: #fff; color: var(--mk-ink); font: inherit; box-sizing: border-box; -webkit-appearance: none; appearance: none; }
.mk-search-form__input:focus { border-color: var(--mk-ink); outline: 2px solid var(--mk-ink); outline-offset: 1px; }
.mk-search-form .mk-btn { flex: 0 0 auto; }

/* Search results */
.mk-search { padding: 32px 0 72px; }
.mk-search__title { margin: 0 0 6px; }
.mk-search__count { margin: 0 0 18px; color: var(--mk-ink-2); }
.mk-search__results ul.products { margin-bottom: 0; }
.mk-search .woocommerce-pagination { margin-top: 24px; }
.mk-search__help { margin-top: 20px; padding: 20px; display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }
.mk-search__help-title { font-weight: 700; color: var(--mk-ink); }
.mk-search__help-text { flex: 1 1 260px; font-size: 14px; color: var(--mk-ink-2); }
.mk-search__help .mk-search__chips { flex: 1 1 100%; margin: 0; }
.mk-search__chips .mk-chip { background: var(--mk-paper); }
@media (max-width: 575px) { .mk-search__help { padding: 16px; } }

/* 404 */
.mk-404 { padding: 32px 0 72px; }
.mk-404__box { display: flex; flex-wrap: wrap; gap: 48px; align-items: center; justify-content: center; padding: 56px 32px; background: #fff; border: 1px solid var(--mk-line); }
.mk-404__art { position: relative; flex: 0 0 180px; width: 180px; height: 180px; display: flex; flex-direction: column; border: 2px solid var(--mk-ink); box-sizing: border-box; }
.mk-404__art-head { height: 40px; display: flex; align-items: center; justify-content: center; background: var(--mk-ink); color: #fff; font-size: 15px; line-height: 1; font-weight: 500; letter-spacing: .08em; }
.mk-404__art-num { flex: 1; display: flex; align-items: center; justify-content: center; font-size: 64px; line-height: 1; font-weight: 700; color: var(--mk-ink); }
.mk-404__art-ring { position: absolute; left: 22px; right: 22px; top: 62px; bottom: 18px; border: 2px solid var(--mk-red); border-radius: 50%; } /* «circled date» motif */
.mk-404__body { flex: 1 1 360px; max-width: 520px; display: flex; flex-direction: column; gap: 14px; }
.mk-404__title { margin: 0; }
.mk-404__text { margin: 0; color: var(--mk-ink-2); }
.mk-404 .mk-search-form { max-width: none; margin: 0; }
.mk-404__actions { display: flex; flex-wrap: wrap; gap: 10px; }
@media (max-width: 575px) {
	.mk-404__box { gap: 28px; padding: 32px 16px; }
	.mk-404__art { flex-basis: 140px; width: 140px; height: 140px; }
	.mk-404__art-head { height: 32px; font-size: 13px; }
	.mk-404__art-num { font-size: 48px; }
	.mk-404__art-ring { left: 16px; right: 16px; top: 48px; bottom: 14px; }
}

/* Search results are full width (board block 1): shop.css reserves 312 px for the filter panel on every
   body.woocommerce.archive page from 1200 px, and the product search is one of them. */
@media (min-width: 1200px) {
	body.search.woocommerce.archive .main-content-wrap > .main-content { flex: 1 1 100%; max-width: 100%; }
}

/* 404 on the content grid like the catalog and search (shop.css): 1280 px between 24 px gutters (x = 80 at 1440), 16 px on phones.
   Porto's own container is 1404 px with 20 px gutters. */
body.error404 #main > .container { max-width: 1328px; padding-left: 24px; padding-right: 24px; }
@media (max-width: 575px) { body.error404 #main > .container { padding-left: 16px; padding-right: 16px; } }
.mk-search__title + .mk-search-form { margin-top: 18px; } /* blank query: no count line between them */

/* Breadcrumbs on content pages (About, Contacts, Delivery, Wholesale boards): plain line on the 1180 px content grid,
   40 px from the header (28 px on phones). Look in base.css; legal pages keep their own 868 px column above. */
.mk-page:not(.mk-page--legal) .page-top { background: transparent; border: 0; min-height: 0; margin: 0; padding: 40px 0 0; }
.mk-page:not(.mk-page--legal) .page-top > .container { max-width: 1180px; padding: 0 24px; }
@media (max-width: 767px) { .mk-page:not(.mk-page--legal) .page-top { padding-top: 28px; } }
.mk-page.mk-page--delivery .page-top > .container { max-width: 1080px; } /* the page's 1080 px column */
/* Breadcrumbs → H1: 12 px (Contacts, Delivery), 20 px above the hero grid (About, Wholesale) instead of the section's 40 px. */
.mk-page .mk-sec.top-row.mk-sec--head { padding-top: 12px; }
.mk-page .mk-sec.top-row.mk-about-hero,
.mk-page .mk-sec.top-row.mk-ws-hero { padding-top: 20px; }
@media (max-width: 575px) { .mk-page:not(.mk-page--legal) .page-top > .container { padding: 0 16px; } }
