/* Accessibility layer (IS 5568 / WCAG 2.1 AA), 2026-10-11.
   Loaded last (inc/a11y.php). Presentation only. */

/* ---- Skip link: visible when focused (WCAG 2.4.1) ---- */
.skip-link.screen-reader-text:focus,
.skip-link.screen-reader-text:focus-visible{
	position:fixed!important; top:12px; inset-inline-start:12px; z-index:100000;
	width:auto!important; height:auto!important; clip:auto!important; clip-path:none!important;
	margin:0; padding:12px 18px; overflow:visible;
	background:#1f1a12; color:#fffdf7!important; font:600 1rem/1.3 var(--sans,'Rubik',sans-serif);
	border-radius:8px; text-decoration:underline;
}
#content:focus{ outline:none; }

/* ---- Visible keyboard focus everywhere (WCAG 2.4.7): dark ring + light halo, works on light and dark backgrounds ---- */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible,
summary:focus-visible, [tabindex]:not([tabindex="-1"]):focus-visible, [role="button"]:focus-visible{
	outline:3px solid #1f1a12!important; outline-offset:2px!important;
	box-shadow:0 0 0 5px #fffdf7!important;
}

/* ---- Text contrast at least 4.5:1 (WCAG 1.4.3); "html body" outranks template-level rules ---- */
html body .jmsb-skin .eyebrow{ color:var(--gold-deep,#78571f)!important; }
html body .jmsb-skin .bc-meta small, html body .jmsb-skin .fc-meta small, html body .jmsb-skin .art-date{ color:#6f6552!important; }
html body .jmsb-skin .fc-meta b{ color:#5f594d!important; }
html body .jmsb-skin .grev-date, html body .jmsb-skin .grev-sub, html body .jmsb-skin .grev-name, html body .jmsb-skin .grev-score{ color:#6b6455!important; }
html body .jmsb-skin .grev-text{ color:#4a4438!important; }
html body .woocommerce-breadcrumb, html body.woocommerce .woocommerce-breadcrumb{ color:#5f5a50!important; }
/* product-page WhatsApp button: same dark text as the site's other WhatsApp buttons */
html body .jmsb-pdp .btn-wa{ color:#04240f!important; }
html body .jmsb-pdp .btn-wa .gold-ic{ fill:#04240f!important; stroke:#04240f!important; color:#04240f!important; }
/* editor colours inside page content (About page gold-yellow; teal call-to-action) */
.elementor-widget-text-editor span[style*="b8a832"]{ color:#6e6420!important; }
a.jm-cta, a.jm-cta:visited{ color:#fff!important; }

/* ---- Links inside running text are underlined, not colour-only (WCAG 1.4.1) ---- */
.jmsb-pdp .pdp-short a, .jmsb-pdp .pdp-desc a, .jmsb-pdp .woocommerce-product-details__short-description a,
.arch-editorial p a, .arch-editorial li a,
.elementor-widget-text-editor p a:not(.jm-cta), .elementor-widget-text-editor li a,
.entry-content p a, .entry-content li a{
	text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px;
}

html body .woocommerce-breadcrumb a, html body.woocommerce .woocommerce-breadcrumb a{ text-decoration:underline!important; text-underline-offset:3px; }

/* ---- Moving content can be paused (WCAG 2.2.2) ---- */
.jmsb-skin .ticker{ position:relative; }
.jmsb-skin .ticker.is-paused .ticker-track,
.jmsb-skin .ticker:focus-within .ticker-track{ animation-play-state:paused; }
.jmsb-skin .ticker .tk-pause{
	position:absolute; top:50%; left:6px; transform:translateY(-50%); z-index:2;
	width:28px; height:28px; display:grid; place-items:center; padding:0; border-radius:50%;
	border:1px solid var(--line,#e7ddc9); background:var(--surface,#fffefb); color:#1f1a12; cursor:pointer;
}
.jmsb-skin .ticker .tk-pause svg, .jmsb-skin .hero-counter .hc-pause svg, .jmsb-skin .grev .grev-pause svg{ width:12px; height:12px; fill:currentColor; }
.jmsb-skin .hero-counter .hc-pause{
	width:30px; height:30px; display:grid; place-items:center; padding:0; border-radius:50%;
	border:1px solid rgba(255,254,251,.6); background:rgba(31,26,18,.55); color:#fffdf7; cursor:pointer; flex:0 0 auto;
}
.jmsb-skin .grev .grev-pause{
	display:inline-grid; place-items:center; width:34px; height:34px; padding:0; margin-top:10px; border-radius:50%;
	border:1px solid var(--line,#e7ddc9); background:var(--surface,#fffefb); color:#1f1a12; cursor:pointer;
}
@media (prefers-reduced-motion: reduce){
	.jmsb-skin .reveal{ opacity:1!important; transform:none!important; transition:none!important; }
	html{ scroll-behavior:auto!important; }
}

/* ---- Reflow at 320px (WCAG 1.4.10): the footer logo glow must not create a horizontal scrollbar ---- */
#jmsbFooterChrome > footer{ overflow-x:clip; }

/* ---- Statement link inside the accessibility panel ---- */
#access_container .jmsb-a11y-statement a{ display:block; padding:10px 12px; text-align:center; font-weight:700; color:#1f1a12; background:#f3ede1; border:1px solid #1f1a12; border-radius:6px; text-decoration:underline; }

/* ---- Floating buttons (WhatsApp, chat, deals) never hide the end of the page: room to scroll the last footer line above them ---- */
#jmsbFooterChrome > footer::after{ content:""; display:block; height:170px; }
@media (max-width:782px){ #jmsbFooterChrome > footer::after{ height:130px; } }

/* ---- Colours typed into old content (product descriptions, policy page): readable on the light background ---- */
#content [style*="cfb36f" i], #content [style*="deb373" i], #content [style*="d4af37" i], #content [style*="b8a832" i]{ color:#6e5418!important; }
.pdp-desc-body [style*="ffffff" i], .pdp-desc-body [style*="color: #fff;" i], .pdp-desc-body [style*="color:#fff;" i]{ color:#78571f!important; }
.pdp-desc-body a[style*="ffffff" i]{ text-decoration:underline!important; }
#content .jan-policy-subtitle, #content .jan-policy-footer{ color:#5c6667!important; }

/* ---- Every plain link inside running text is underlined (buttons and cards carry a class and keep their look) ---- */
#content p a:not([class]), #content li a:not([class]), #content td a:not([class]), #content dd a:not([class]){ text-decoration:underline; text-underline-offset:3px; }

/* ---- Greyscale view from the accessibility panel ---- */
html.jmsb-greyscale{ filter:grayscale(1); }
