/*
 * Franking Machine Guide: "Zakra 1 look" (child theme v2.1.0, 2026-10-12).
 * Zakra 4 changed the base typography and WooCommerce styling. These rules
 * restore the look the site had on Zakra 1.2.4 (values taken from the old
 * theme's stylesheet and measured on the live site before the update).
 * Loaded after Zakra 4's own styles, so it wins.
 */

/* Base text: 90% root size, system font, 1.8 line height (Zakra 1 base). */
html { font-size: 90%; }
body, button, input, select, optgroup, textarea {
	font-family: -apple-system, blinkmacsystemfont, "segoe ui", roboto, "oxygen-sans", ubuntu, cantarell, "helvetica neue", helvetica, arial, sans-serif;
}
body { font-size: 1rem; color: #51585f; line-height: 1.8; letter-spacing: normal; }
p { margin-bottom: 1.6em; }
h1, h2, h3, h4, h5, h6 { font-family: "Work Sans", sans-serif; color: #16181a; line-height: 1.3; font-weight: 500; margin: 0 0 20px; }
h1 { font-size: 2.5rem; }
h2 { font-size: 2.25rem; }
h3 { font-size: 1.75rem; }
h4 { font-size: 1.5rem; }
h5 { font-size: 1.313rem; }
h6 { font-size: 1.125rem; }
ul, ol { margin: 0 0 1.6rem 1.6rem; padding-left: 0; }
li > ul, li > ol { margin-bottom: 0; margin-left: 1.6rem; }
table { margin: 0 0 1.5em; width: 100%; }
table th, table td { text-align: left; border: 1px solid #e9ecef; padding: 1em; }
a { color: #16181a; }
:where(a:hover, a:focus), :where(.entry-content) a { color: #4ac6d6; }
:where(.entry-content) a:hover { color: #00bdd6; }
label { margin-bottom: 0.5rem; display: inline-block; }
button, input[type="button"], input[type="reset"], input[type="submit"] { border: none; background-color: #4ac6d6; color: #fff; padding: 0.7rem 1rem; border-radius: 0; }
button:hover, input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover { background-color: #00bdd6; }
input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="date"], select, textarea { color: #16181a; border: 1px solid #dee2e6; padding: 0.7rem 1rem; border-radius: 0; }
select { padding: 0.5rem; }

/* Header: top bar, menu (Zakra 1 sizes and colours). */
.zak-top-bar { font-size: 1rem; line-height: 1.8; padding: 0.5rem 0; }
.zak-top-bar .zak-row { display: flex; flex-wrap: nowrap; }
.zak-top-bar .zak-top-bar__1, .zak-top-bar .zak-top-bar__2 { flex: 0 0 50%; max-width: 50%; }
.zak-top-bar .zak-top-bar__1, .zak-top-bar .zak-row > div:first-child { text-align: left; }
.zak-top-bar .zak-top-bar__2, .zak-top-bar .zak-row > div:last-child { text-align: right; }
#zak-primary-menu > li > a, .zak-primary-nav ul li a { font-family: "Work Sans", sans-serif; font-size: 15px; line-height: 1.8; font-weight: 400; color: #16181a; }
#zak-primary-menu > li.current-menu-ancestor > a, #zak-primary-menu > li.current-menu-parent > a { color: #16181a; }
#zak-primary-menu li:hover > a, #zak-primary-menu > li.current-menu-item > a, #zak-primary-menu > li.current_page_item > a { color: #4ac6d6; }
.zak-header-actions .cart-page-link { font-family: "Work Sans", sans-serif; font-size: 15px; line-height: 1.8; }
#zak-primary-menu .sub-menu a { font-size: 1rem; }

/* Page title bar. */
.zak-page-header { padding: 20px 0; }
.zak-page-header .zak-page-title, .zak-page-header h1 { font-family: "Work Sans", sans-serif; font-size: 2.5rem; font-weight: 500; line-height: 1.3; color: #5b5b5b; margin: 0; }

/* WooCommerce colours and buttons (Zakra 1 inline styles). */
.woocommerce ul.products li.product .woocommerce-loop-product__title:hover,
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span,
.woocommerce div.product p.price, .woocommerce div.product span.price,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #4ac6d6; }
.woocommerce span.onsale, .woocommerce ul.products a.button, .woocommerce a.button, .woocommerce a.button.alt,
.woocommerce button.button, .woocommerce button.button.alt, .woocommerce div.product form.cart .button,
.woocommerce nav.woocommerce-pagination ul li span.current { background-color: #4ac6d6; color: #fff; border-radius: 0; }
.woocommerce a.button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button:hover,
.woocommerce button.button.alt:hover, .woocommerce ul.products a.button:hover, .woocommerce div.product form.cart .button:hover { background-color: #00bdd6; color: #fff; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-color: #4ac6d6; }
.woocommerce ul.products li.product .price, .woocommerce .star-rating span { color: #54595f; }

/* Header details. */
@media (min-width: 1025px) { .zak-header-col--1 { flex: 0 0 auto; } .site-branding .custom-logo { width: 422px; max-width: none; height: auto; } }
.cart-page-link .count { background-color: #343a40 !important; color: #fff !important; }

/* Product page details. */
.zak-qty-controller { display: none !important; }
.woocommerce div.product .woocommerce-Tabs-panel p { margin-bottom: 1.4em; }
.woocommerce div.product .woocommerce-Tabs-panel ul { margin-top: 1.5em; }
.star-rating strong { font-weight: 700; }

/* Footer (Zakra 1 widget typography). */
.zak-footer { font-size: 15px; }
.zak-footer .widget { font-family: "Work Sans", sans-serif; font-size: 15px; line-height: 1.8; margin-bottom: 36px; }
.zak-footer .widget-title { font-size: 1.2rem; font-weight: 500; margin-bottom: 1rem; padding-bottom: 0; }
.zak-footer-bar { font-size: 1rem; line-height: 1.8; }

/* Layout spacing (Zakra 1 measurements). */
.zak-main-header { padding: 1rem 0; }
@media (min-width: 1200px) {
	.zak-container { max-width: 1160px; padding-left: 0; padding-right: 0; }
	.fmg-breadcrumb .tg-container { max-width: 1160px; padding: 0; }
}
#zak-primary { padding-top: 0; padding-bottom: 0; }
/* Shop + category listings: the old #primary rule gave 60px on the right. */
@media (min-width: 1025px) { body.woocommerce_only #zak-primary { padding-right: 60px; } }
/* Page-builder pages that were not set to "stretched" were boxed on Zakra 1. */
body.fmg-boxed-builder #primary.pagebuilder-content { max-width: 1160px; margin-left: auto; margin-right: auto; }
/* Page-builder content: Zakra 4 colours every link blue, which also overrode Elementor's white button text. */
.pagebuilder-content a { color: #4ac6d6; }
.pagebuilder-content .elementor-button, .pagebuilder-content a.elementor-button { color: #fff; }
/* Footer menus: Zakra 1 list spacing. */
.zak-footer .widget ul li { padding: 7.2px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.05); }
.zak-footer .widget ul li a { display: inline; }
/* Round 4 fixes (measured against live). */
.has-page-header .zak-page-header, .zak-page-header { padding: 20px 0; }
.woocommerce .woocommerce-ordering select { color: #16181a; }
.zak-footer .widget ul { margin: 0; padding: 0; }
.zak-footer-bar { padding: 0; }
.zak-footer-bar .zak-container { padding-top: 1rem; padding-bottom: 1rem; }
.zak-footer-bar .zak-footer-bar__1 { flex: 1 1 auto; }
/* Round 5. */
.zak-footer .widget, .zak-footer .widget ul { gap: 0; row-gap: 0; }
.zak-footer-bar .zak-footer-bar__1 { width: 100%; }
body.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #4ac6d6; }
/* Zakra 1 footer columns 270px wide (stops the text wrapping onto an extra line). */
@media (min-width: 1200px) { .zak-footer-cols .zak-row { grid-template-columns: repeat(4, 270px); column-gap: calc((100% - 1080px) / 3); } }
/* Footer widgets: last paragraph spacing collapsed into the widget gap on Zakra 1. */
.zak-footer .widget p:last-child { margin-bottom: 0; }
/* Footer area spacing (Zakra 1: 60px above the widgets, 15px below, no line above the copyright bar). */
.zak-footer-cols { padding-top: 60px; padding-bottom: 15px; }
.zak-footer-bar { border-top-width: 0; }
body.woocommerce-cart .zak-header-actions .cart-page-link { color: #4ac6d6; }
/* Menu spacing (Zakra 1: 1rem either side of each item). */
@media (min-width: 1025px) { #zak-primary-menu { column-gap: 0; gap: 0; } #zak-primary-menu > li { margin: 0 1rem; } #zak-primary-menu > li:first-child { margin-left: 1rem; } }
/* Header widths (Zakra 1: menu area runs right up to the logo). */
@media (min-width: 1025px) { #zak-masthead .zak-main-header .zak-row { column-gap: 0 !important; gap: 0 !important; } #zak-masthead .zak-header-col--1 .site-branding { margin-left: 0 !important; } #zak-masthead .zak-header-actions { margin-left: 1rem !important; } #zak-masthead .zak-header-actions .zak-header-action + .zak-header-action { margin-left: 1.6rem; } }

/* Coupon button text (Zakra 4 inline sets it teal on teal). */
.woocommerce-cart .coupon button.button, .woocommerce-checkout .checkout_coupon button.button { color: #fff; }
.woocommerce-cart .coupon button.button:hover, .woocommerce-checkout .checkout_coupon button.button:hover { color: #fff; }

/* Mobile header: logo left, cart + menu button right; plain menu icon. */
.fmg-mob-cart, .fmg-mob-shopbar { display: none; }
@media (max-width: 1024px) {
	#zak-masthead .zak-main-header .zak-row { display: flex; flex-direction: row !important; align-items: center; flex-wrap: nowrap; }
	#zak-masthead .zak-header-col--1 { order: 1; flex: 1 1 auto; min-width: 0; justify-content: flex-start; }
	#zak-masthead .zak-header-col--1 .site-branding { margin: 0; max-width: 100%; }
	#zak-masthead .zak-header-col--1 .custom-logo { max-width: 100%; height: auto; }
	#zak-masthead .zak-header-col--2 { order: 2; flex: 0 0 auto; margin-left: 12px; }
	#zak-masthead .zak-toggle-menu { display: flex; align-items: center; gap: 18px; }
	#zak-masthead .zak-menu-toggle { order: 2; }
	#zak-masthead .zak-menu-toggle svg { display: none; }
	#zak-masthead .zak-menu-toggle::before { content: ""; display: block; width: 26px; height: 26px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2316181a' d='M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z'/%3E%3C/svg%3E") center / contain no-repeat; }
	.fmg-mob-cart { display: inline-flex; position: relative; order: 1; color: #16181a; line-height: 1; }
	.fmg-mob-cart svg { width: 24px; height: 24px; fill: currentColor; }
	.fmg-mob-cart-count { position: absolute; top: -7px; right: -9px; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 9px; background: #343a40; color: #fff; font-size: 11px; line-height: 17px; text-align: center; }
	.fmg-mob-shopbar { display: block; background: #343a40; color: #fff !important; text-align: center; padding: 10px 15px; font-family: "Work Sans", sans-serif; font-size: 14px; font-weight: 500; letter-spacing: .3px; text-decoration: none; }
	.fmg-mob-shopbar:hover, .fmg-mob-shopbar:focus { background: #4ac6d6; color: #fff; }
}
/* Desktop header icons: Zakra 1 sizes and spacing (smaller icons, room before the logo). */
@media (min-width: 1025px) {
	#zak-masthead .zak-header-actions .zak-header-search__toggle svg, #zak-masthead .zak-header-actions .cart-page-link svg { width: 16px !important; height: 16px !important; }
	#zak-masthead .zak-header-actions .zak-header-action + .zak-header-action { margin-left: 1rem !important; }
	#zak-masthead .zak-header-actions { transform: translateX(-16px); }
}
