/*
 * IRPRO (child of Corporate, Kumo 3.5.5): a Thai shop for uniforms and safety equipment that sells by LINE and phone.
 * mockup-v3 / HANDOFF-v3: pale ground, white cards with big corners, a banner panel with product photos in circles,
 * arch-topped category tiles in the six category colours, centred headings with a yellow bar, steps on a pale blue
 * band, a dark navy footer under a wave. LINE Seed 400/700/800 (the core's own files, OFL).
 * Rules: colours come from the variables below (no fixed colours on core selectors); the LINE button keeps LINE's
 * own colours (.kx-line, core rule); words on pastels are always ink; motion stops for prefers-reduced-motion.
 */
:root {
	/* palette roles (theme.json defaults.colors) */
	--sk-bg: #F6F7F5;
	--sk-surface: #FFFFFF;
	--sk-soft: #EEF3FB;
	--sk-ink: #1E2748;
	--sk-text: #1E2748;
	--sk-muted: #4B5578;
	--sk-border: #E3E6EE;
	--sk-border-strong: #CDD2DE;
	--sk-btn: var(--primary, #1E2748);
	--sk-btn-ink: var(--primary-inverse, #FFFFFF);
	--sk-btn-hover: #2B3563;
	--sk-accent: var(--secondary, #2C57CC);
	--sk-accent-ink: #FFFFFF;
	--sk-link: #1E2748;
	/* the dark parts keep the theme's own navy whatever the palette */
	--sk-dark: #1B2342;
	--sk-dark-surface: #273056;
	--sk-dark-border: rgba(255, 255, 255, .14);
	--sk-dark-ink: #FFFFFF;
	--sk-dark-text: #C9D0EA;
	/* pastels of the design kit = the category colours of the mockup */
	--sk-pastel-mint: #DDF3E8;
	--sk-pastel-blue: #DCEBFF;
	--sk-pastel-cream: #FFF1C2;
	--sk-pastel-pink: #FFDDE8;
	--sk-pastel-lavender: #E8E1FF;
	--sk-radius-card: 24px;
	--sk-radius-media: 18px;
	--sk-radius-sm: 16px;
	--sk-radius-btn: 999px;
	--sk-card-padding: 28px;
	--sk-card-border: 0;
	--sk-shadow: none;
	--sk-shadow-hover: 0 14px 30px -18px rgba(30, 39, 72, .35);
	--sk-shadow-media: none;
	--sk-font-display: var(--cms-font-heading, 'LINE Seed', Tahoma, sans-serif);
	--sk-font-body: var(--cms-font-body, 'LINE Seed', Tahoma, sans-serif);
	--sk-font-mono: 'LINE Seed', Tahoma, sans-serif;
	--sk-heading-weight: 800;
	--sk-tracking: 0;
	--sk-hero-size: clamp(2rem, 1.3rem + 2.2vw, 2.65rem);
	--sk-display-size: clamp(1.75rem, 1.3rem + 1.4vw, 2.4rem);
	--sk-h2-size: clamp(1.625rem, 1.25rem + 1.2vw, 2.25rem);
	--sk-body-size: 16px;
	--sk-section-y: 80px;
	--sk-section-y-compact: 44px;
	--sk-header-bg: rgba(246, 247, 245, .92);
	--sk-header-border: rgba(30, 39, 72, .10);
	--sk-page-header-bg: #F6F7F5;
	/* IRPRO's own */
	--ir-tint: #EEF3FB;               /* the pale blue bands */
	--ir-bar: #FFC93C;                /* the yellow bar under headings, the hazard stripe */
	--ir-blue: #2C57CC;               /* way-finding: eyebrow, step 1 (white on it 6.28:1) */
	--ir-night: #1B2342;
	--ir-hair: rgba(30, 39, 72, .10);
	--ir-ease: cubic-bezier(.22, .8, .3, 1);
	--ir-gradient: linear-gradient(135deg, #CFE2FF, #DDF3E8);
}

/* The category colours (Products › Categories › colour): the mockup's pastels, the core's inks (≥ 4.5:1 on them);
   --ir-tone-line is the darker edge of the arch tiles (decoration only) */
.kx-tone-sky { --kx-tone: #DCEBFF; --ir-tone-line: #9CC0F5; }
.kx-tone-peach { --kx-tone: #FFE1D3; --ir-tone-line: #F5B49A; }
.kx-tone-mint { --kx-tone: #DDF3E8; --ir-tone-line: #8FD4AE; }
.kx-tone-butter { --kx-tone: #FFF1C2; --ir-tone-line: #F0CF6B; }
.kx-tone-lilac { --kx-tone: #E8E1FF; --ir-tone-line: #B9A6F0; }
.kx-tone-rose { --kx-tone: #FFDDE8; --ir-tone-line: #F2A2BC; }

/* 3.5.5 (HANDOFF 20.6): a colour palette repaints the page. Kumo writes the palette's paper, words, card, button
   and accent on :root; the rest follows from them here (the same values as above with the theme's own colours).
   The navy footer, the pastels and the product blocks keep the theme's own colours (readable on every palette). */
body.cms-theme-irpro {
	/* Kumo writes the palette's card colour into --sk-soft and the page colour into --sk-surface: cards use the card colour */
	--sk-surface: var(--sk-soft);
	--sk-text: var(--sk-ink);
	--sk-muted: color-mix(in srgb, var(--sk-ink) 80%, var(--sk-bg));
	--sk-border: color-mix(in srgb, var(--sk-ink) 10%, var(--sk-bg));
	--sk-border-strong: color-mix(in srgb, var(--sk-ink) 18%, var(--sk-bg));
	--sk-header-bg: rgb(from var(--sk-bg) r g b / .92);
	--sk-page-header-bg: var(--sk-bg);
	--sk-link: var(--sk-ink);
	--sk-btn-hover: color-mix(in srgb, var(--sk-btn) 86%, #FFFFFF);
	--sk-accent-ink: #FFFFFF;
	--sk-accent-ink: rgb(from var(--sk-accent) calc(255 - 225 * clamp(0, (0.2126 * r + 0.7152 * g + 0.0722 * b - 150) * 999, 1)) calc(255 - 216 * clamp(0, (0.2126 * r + 0.7152 * g + 0.0722 * b - 150) * 999, 1)) calc(255 - 183 * clamp(0, (0.2126 * r + 0.7152 * g + 0.0722 * b - 150) * 999, 1)));
	--primary-inverse: #FFFFFF;
	--primary-inverse: rgb(from var(--primary) calc(255 - 225 * clamp(0, (0.2126 * r + 0.7152 * g + 0.0722 * b - 150) * 999, 1)) calc(255 - 216 * clamp(0, (0.2126 * r + 0.7152 * g + 0.0722 * b - 150) * 999, 1)) calc(255 - 183 * clamp(0, (0.2126 * r + 0.7152 * g + 0.0722 * b - 150) * 999, 1)));
	--sk-on-ink: #FFFFFF;
	--sk-card-border: 0;
	--sk-dark: #1B2342;
	--sk-dark-surface: #273056;
	--sk-dark-ink: #FFFFFF;
	--sk-dark-text: #C9D0EA;
	--sk-footer-bg: var(--ir-night);
	--sk-footer-ink: #FFFFFF;
	--sk-footer-text: #C9D0EA;
	--sk-footer-border: rgba(255, 255, 255, .14);
	--sk-nav-ink: var(--sk-ink);
	--kx-link: var(--sk-ink);
	background-color: var(--sk-bg);
	color: var(--sk-text);
	font-size: var(--sk-body-size);
}
/* pastel cards and bands keep ink words on every palette */
.cms-theme-irpro :is([class*="sk-card-pastel-"], [class*="sk-tone-pastel-"], .sk-category-text, .ir-tint) { --sk-ink: #1E2748; --sk-text: #1E2748; --sk-muted: #4B5578; --sk-link: #1E2748; color: var(--sk-text); }
/* the product blocks still write some words in fixed colours (kumo.css, core work for 3.5.6): theme paper under them */
.cms-theme-irpro :is(.cms-product-title, .cms-product-buy-box, .cms-product-tiers, .cms-product-highlights, .cms-product-specs, .cms-shipping-info, .cms-sales-contact, .cms-share-links, .cms-product-faq, .cms-product-tabs, .cms-product-featured, .cms-product-tabs-group, .cms-product-ranking) { --sk-ink: #1E2748; --sk-bg: #F6F7F5; --sk-surface: #FFFFFF; --sk-soft: #EEF3FB; --pc-surface: var(--sk-surface); --pc-soft: var(--sk-soft); --sk-text: #1E2748; --sk-muted: #4B5578; --sk-border: #E3E6EE; --sk-link: #1E2748; --pc-ink: var(--sk-ink); --pc-text: var(--sk-text); --pc-muted: var(--sk-muted); --pc-border: var(--sk-border); --kx-link: var(--sk-link); color: var(--sk-text); }

/* ---------- type ---------- */
.cms-theme-irpro :is(h1, h2, h3, h4) { font-family: var(--sk-font-display); font-weight: 800; line-height: 1.3; color: var(--sk-ink); }
.cms-theme-irpro h2.cms-heading { font-size: var(--sk-h2-size); }
.cms-theme-irpro h3.cms-heading { font-size: 1.1875rem; }
.cms-theme-irpro .cms-text p, .cms-theme-irpro .cms-text li { line-height: 1.7; }
.cms-theme-irpro .sk-text-muted, .cms-theme-irpro .cms-text.sk-text-muted { color: var(--sk-muted); }
.cms-theme-irpro .sk-badge-eyebrow { color: var(--ir-blue); font-weight: 800; font-size: 15px; letter-spacing: .02em; text-transform: none; }
/* the emphasised words of a heading: a hand-drawn yellow line under them */
.cms-theme-irpro .cms-heading .sk-em { font-style: normal; color: inherit; display: inline; padding-bottom: .05em; background: url("../img/swash.svg") no-repeat 0 92% / 100% .32em; }
/* centred heading + yellow bar (heading look "bar") */
.cms-theme-irpro .cms-heading[data-look="bar"]::after { width: 64px; height: 6px; margin-top: 12px; border-radius: 6px; background: var(--ir-bar); }
.cms-theme-irpro .cms-heading[data-look="bar"].text-center + .cms-text { max-width: 720px; margin-left: auto; margin-right: auto; }

/* ---------- header ---------- */
.cms-theme-irpro #header.sk-header .header-body { background: var(--sk-header-bg); border-bottom: 1px solid var(--sk-header-border); }
.cms-theme-irpro #header .cms-logo-text { color: var(--sk-ink); font-weight: 800; letter-spacing: .02em; }
.cms-theme-irpro #header .header-nav.header-nav-links nav > ul > li > a { font-size: 15px; font-weight: 700; color: var(--sk-nav-ink); border-radius: 999px; padding: 8px 14px; }
.cms-theme-irpro #header .header-nav.header-nav-links nav > ul > li > a:is(.active, :hover) { background: rgba(30, 39, 72, .07); color: var(--sk-ink); }
.cms-theme-irpro #header .sk-header-link { font-weight: 700; font-size: 15px; }
.cms-theme-irpro #header .dropdown-menu { border: 0; border-radius: 18px; box-shadow: 0 18px 40px -20px rgba(30, 39, 72, .45); padding: 8px; }
.cms-theme-irpro #header .dropdown-menu .dropdown-item { border-radius: 12px; padding: 10px 14px; font-weight: 700; }

/* ---------- buttons ---------- */
.cms-theme-irpro .sk-btn, .cms-theme-irpro .btn { border-radius: var(--sk-radius-btn); font-weight: 700; min-height: 48px; }
.cms-theme-irpro .sk-btn:not(.kx-line) { transition: transform .2s var(--ir-ease), background-color .2s; }
.cms-theme-irpro .sk-btn:not(.kx-line):hover { transform: translateY(-2px); }
/* the call button: the pastel butter of the mockup, ink words (11.31:1) */
.cms-theme-irpro :is(.sk-btn-tel, .kb-btn-tel, .hf-btn-tel) { --ir-tel: #FFE08A; background: var(--ir-tel); border-color: var(--ir-tel); color: #1E2748; }
.cms-theme-irpro :is(.sk-btn-tel, .kb-btn-tel, .hf-btn-tel):is(:hover, :focus-visible) { background: #FFD45C; border-color: #FFD45C; color: #1E2748; }

/* ---------- banner (home) ---------- */
.cms-theme-irpro .ir-hero { padding-top: 20px; }
.cms-theme-irpro .ir-hero > .container > .row { position: relative; overflow: hidden; border-radius: 28px; background: var(--ir-gradient); min-height: 440px; }
.cms-theme-irpro .ir-hero-panel { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; gap: 12px; padding: 44px 40px 44px 44px; background: var(--sk-surface); border-radius: 0 280px 280px 0 / 0 100% 100% 0; }
.cms-theme-irpro .ir-hero-panel > .cms-block { margin-bottom: 0; }
.cms-theme-irpro .ir-hero-panel h1 { font-size: var(--sk-hero-size); margin: 0; }
.cms-theme-irpro .ir-hero-panel .cms-text { max-width: 440px; }
.cms-theme-irpro .ir-hero-panel .kb-list a { text-decoration: underline; text-underline-offset: 3px; display: inline-flex; min-height: 28px; align-items: center; }
.cms-theme-irpro .ir-hero-pics { position: relative; min-height: 440px; }
.cms-theme-irpro .ir-hero-pics::before { content: ""; position: absolute; inset: 24px 40px; border: 2px dotted rgba(255, 255, 255, .9); border-radius: 50%; }
.cms-theme-irpro .ir-hero-pics > figure { position: absolute; margin: 0; width: var(--ir-c, 120px); aspect-ratio: 1; border-radius: 50%; overflow: hidden; background: #FFFFFF; box-shadow: 0 0 0 5px #FFFFFF; }
.cms-theme-irpro .ir-hero-pics > figure img { width: 100%; height: 100%; object-fit: contain; padding: 12%; border-radius: 0; mix-blend-mode: multiply; }
.cms-theme-irpro .ir-hero-pics > figure:nth-of-type(1) { --ir-c: 190px; left: 14%; top: 16%; }
.cms-theme-irpro .ir-hero-pics > figure:nth-of-type(2) { --ir-c: 130px; right: 9%; top: 6%; }
.cms-theme-irpro .ir-hero-pics > figure:nth-of-type(3) { --ir-c: 120px; right: 5%; top: 40%; }
.cms-theme-irpro .ir-hero-pics > figure:nth-of-type(4) { --ir-c: 110px; left: 7%; bottom: 7%; }
.cms-theme-irpro .ir-hero-pics > figure:nth-of-type(5) { --ir-c: 130px; left: 41%; bottom: 5%; }
.cms-theme-irpro .ir-hero-pics > figure:nth-of-type(6) { --ir-c: 100px; right: 8%; bottom: 8%; }
/* the circles float once, under five seconds (WCAG 2.2.2), after they come in */
.cms-theme-irpro .ir-hero-pics.is-in > figure { animation: ir-drift 2.4s ease-in-out 1.2s 2 alternate; }
.cms-theme-irpro .ir-hero-pics.is-in > figure:nth-of-type(even) { animation-delay: 1.6s; }
@keyframes ir-drift { to { translate: 0 -10px; } }
.cms-theme-irpro .ir-welcome p { color: var(--sk-muted); padding: 14px 0 0; margin: 0; }

/* ---------- section bands ---------- */
.cms-theme-irpro .ir-tint { background-color: var(--ir-tint) !important; }
.cms-theme-irpro .ir-narrow { max-width: 792px; margin-left: auto; margin-right: auto; }
.cms-theme-irpro .ir-hazard .kb-div { opacity: .9; }

/* ---------- category tiles: an arch with the photo, the name on a band in the category colour ---------- */
.cms-theme-irpro .sk-category-cards { gap: 20px; }
.cms-theme-irpro .sk-category-card.has-image { justify-content: flex-start; min-height: 0; padding: 0; border-radius: 44px 44px 0 0; background: #FFFFFF; color: var(--sk-ink); box-shadow: inset 0 0 0 1.5px var(--ir-tone-line, var(--sk-border-strong)); transition: transform .25s var(--ir-ease); }
.cms-theme-irpro .sk-category-card.has-image img { position: relative; inset: auto; display: block; width: 100%; height: auto; aspect-ratio: 5 / 4; object-fit: contain; padding: 10px; mix-blend-mode: multiply; }
.cms-theme-irpro .sk-category-card.has-image .sk-category-text { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 64px; margin: auto 0 0; padding: 10px; text-align: center; background: var(--kx-tone, var(--sk-soft)); background-image: none; line-height: 1.3; }
.cms-theme-irpro .sk-category-card.has-image .sk-category-name { font-size: 1.03rem; font-weight: 800; color: #1E2748; }
.cms-theme-irpro .sk-category-card.has-image .sk-category-count { font-size: .8125rem; color: var(--kx-tone-ink, #4B5578); }
.cms-theme-irpro .sk-category-card.has-image:hover { color: var(--sk-ink); transform: translateY(-3px); }
.cms-theme-irpro .sk-category-card.has-image:focus-visible { outline: 3px solid var(--ir-blue); outline-offset: 3px; }
.cms-theme-irpro .ir-cats .sk-buttons { margin-top: 28px; }

/* ---------- product cards: white, big corners, photo on the category colour, the LINE button full width ---------- */
.cms-theme-irpro .sk-product-card--standard { padding: 10px; border-radius: var(--sk-radius-card); background: var(--sk-surface); transition: transform .25s var(--ir-ease), box-shadow .25s; }
.cms-theme-irpro .sk-product-card--standard:hover { transform: translateY(-2px); box-shadow: var(--sk-shadow-hover); }
.cms-theme-irpro .sk-product-card--standard .sk-product-media { border-radius: var(--sk-radius-media); }
.cms-theme-irpro .sk-product-card--standard .sk-product-media img { object-fit: contain; padding: 8px; }
.cms-theme-irpro .sk-product-card--standard .sk-product-body { padding: 12px 8px 6px; display: flex; flex-direction: column; flex: 1; }
.cms-theme-irpro .sk-product-title { font-size: 1.03rem; line-height: 1.35; }
.cms-theme-irpro .sk-product-excerpt { font-size: .875rem; color: var(--sk-muted); line-height: 1.5; }
.cms-theme-irpro .sk-price-text { font-weight: 700; font-size: .9375rem; }
.cms-theme-irpro .sk-product-card--standard .sk-product-actions { margin-top: auto; display: flex; flex-direction: column-reverse; align-items: stretch; gap: 6px; }
.cms-theme-irpro .sk-product-card--standard .kx-ask { justify-content: center; min-height: 44px; }
.cms-theme-irpro .sk-product-card--standard .sk-product-more { align-self: center; }
.cms-theme-irpro .sk-product-badge--best { background: var(--ir-bar); color: #1E2748; }
.cms-theme-irpro .sk-product-badge--new { background: #BDEBCB; color: #0D4A2A; }
.cms-theme-irpro .ir-tint .row > .cms-column { min-width: 0; }

/* ---------- cards, icons, chips ---------- */
.cms-theme-irpro .sk-col-card { border: 0; border-radius: var(--sk-radius-card); box-shadow: none; }
.cms-theme-irpro [class*="sk-card-pastel-"] { transition: transform .25s var(--ir-ease); }
.cms-theme-irpro [class*="sk-card-pastel-"]:hover { transform: translateY(-2px); }
.cms-theme-irpro [class*="sk-card-pastel-"] .cms-text { color: #4B5578; }
.cms-theme-irpro [class*="sk-card-pastel-"] .cms-icon[data-look="soft"] i, .cms-theme-irpro [class*="sk-card-pastel-"] .cms-icon[data-look="soft"] .kb-ic { background: rgba(255, 255, 255, .7); color: #1E2748; border-radius: 16px; }
.cms-theme-irpro .ir-chips { margin-top: 32px; }
.cms-theme-irpro .ir-chips .sk-chip { border: 0; font-weight: 700; font-size: 14px; min-height: 40px; color: #1E2748; }
.cms-theme-irpro .ir-chips li:nth-child(5n+1) .sk-chip { background: var(--sk-pastel-mint); }
.cms-theme-irpro .ir-chips li:nth-child(5n+2) .sk-chip { background: var(--sk-pastel-blue); }
.cms-theme-irpro .ir-chips li:nth-child(5n+3) .sk-chip { background: var(--sk-pastel-pink); }
.cms-theme-irpro .ir-chips li:nth-child(5n+4) .sk-chip { background: var(--sk-pastel-lavender); }
.cms-theme-irpro .ir-chips li:nth-child(5n) .sk-chip { background: var(--sk-pastel-cream); }

/* ---------- steps ---------- */
.cms-theme-irpro .sk-steps[data-look="cards"] .sk-step { padding: 28px; border-radius: var(--sk-radius-card); background: var(--sk-surface); }
.cms-theme-irpro .sk-steps[data-look="cards"] .sk-step::before { display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: 8px; border-radius: 50%; background: var(--ir-blue); color: #FFFFFF; font-weight: 800; }
.cms-theme-irpro .sk-steps[data-look="cards"] .sk-step:nth-child(3n+2)::before { background: #BDEBCB; color: #0D4A2A; }
.cms-theme-irpro .sk-steps[data-look="cards"] .sk-step:nth-child(3n)::before { background: #FFE08A; color: #1E2748; }
.cms-theme-irpro .sk-step-text { color: var(--sk-muted); }
.cms-theme-irpro .sk-steps[data-look="line"] .sk-step { padding-bottom: 20px; }
.cms-theme-irpro .sk-steps[data-look="line"] .sk-step::before { background: var(--ir-blue); color: #FFFFFF; width: 40px; height: 40px; }
.cms-theme-irpro .sk-steps[data-look="line"] .sk-step:nth-child(5n+2)::before { background: #BDEBCB; color: #0D4A2A; }
.cms-theme-irpro .sk-steps[data-look="line"] .sk-step:nth-child(5n+3)::before { background: #FFE08A; color: #1E2748; }
.cms-theme-irpro .sk-steps[data-look="line"] .sk-step:nth-child(5n+4)::before { background: #FFE1D3; color: #1E2748; }
.cms-theme-irpro .sk-steps[data-look="line"] .sk-step:nth-child(5n)::before { background: #E8E1FF; color: #1E2748; }
.cms-theme-irpro .sk-steps[data-look="line"] .sk-step:not(:last-child)::after { left: 19px; top: 44px; }

/* ---------- text looks ---------- */
.cms-theme-irpro .cms-text[data-look="quote"] { padding-left: 0; border-left: 0; font-size: 1.375rem; font-weight: 800; line-height: 1.5; color: var(--ir-blue); }
.cms-theme-irpro .cms-text[data-look="note"] { padding: 20px 24px; border: 0; border-radius: 18px 18px 18px 4px; background: #BDEBCB; color: #0D4A2A; font-weight: 700; }
.cms-theme-irpro .ir-about .cms-text.sk-text-lead, .cms-theme-irpro .ir-about .cms-text p { color: var(--sk-muted); }

/* ---------- inner pages ---------- */
.cms-theme-irpro .ir-pagehead { padding-top: 48px; }
.cms-theme-irpro .ir-pagehead h1 { font-size: var(--sk-display-size); }
.cms-theme-irpro .ir-pagehead .cms-text p { color: var(--sk-muted); }
.cms-theme-irpro .ir-about-hero > .container > .row { padding: 36px; border-radius: 28px; background: var(--sk-surface); }
.cms-theme-irpro .ir-about-pics { position: relative; min-height: 340px; border-radius: 22px; background: var(--ir-gradient); }
.cms-theme-irpro .ir-about-pics > figure { position: absolute; margin: 0; width: var(--ir-c, 150px); aspect-ratio: 1; border-radius: 50%; overflow: hidden; background: #FFFFFF; box-shadow: 0 0 0 5px #FFFFFF, 0 0 0 6px var(--ir-hair); }
.cms-theme-irpro .ir-about-pics > figure img { width: 100%; height: 100%; object-fit: contain; padding: 12%; border-radius: 0; mix-blend-mode: multiply; }
.cms-theme-irpro .ir-about-pics > figure:nth-of-type(1) { --ir-c: 190px; left: 6%; top: 6%; }
.cms-theme-irpro .ir-about-pics > figure:nth-of-type(2) { --ir-c: 140px; right: 4%; top: 4%; }
.cms-theme-irpro .ir-about-pics > figure:nth-of-type(3) { --ir-c: 150px; right: 20%; bottom: 4%; }
.cms-theme-irpro :is(.ir-facts, .ir-hours) { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--sk-surface); border-radius: 20px; overflow: hidden; }
.cms-theme-irpro :is(.ir-facts, .ir-hours) :is(th, td) { padding: 12px 18px; border-bottom: 1px solid var(--ir-hair); vertical-align: top; text-align: left; }
.cms-theme-irpro :is(.ir-facts, .ir-hours) tr:last-child :is(th, td) { border-bottom: 0; }
.cms-theme-irpro .ir-facts th { width: 34%; font-weight: 700; color: var(--sk-muted); }
.cms-theme-irpro .ir-hours { background: rgba(255, 255, 255, .7); margin-bottom: 12px; }
.cms-theme-irpro .ir-hours th { font-weight: 700; }
.cms-theme-irpro .ir-oa { font-size: 1.25rem; font-weight: 800; color: #0D4A2A; }
.cms-theme-irpro .ir-cta > .container > .row { margin: 0; padding: 28px 32px; border-radius: 28px; background: var(--sk-surface); }
.cms-theme-irpro .ir-cta h2.cms-heading { font-size: clamp(1.25rem, 1rem + .8vw, 1.625rem); margin: 0; }
@media (min-width: 992px) { .cms-theme-irpro .ir-sticky > .cms-block:first-child { margin-top: 0; } .cms-theme-irpro .ir-sticky { position: sticky; top: 96px; align-self: flex-start; } }

/* payment: the account number and its copy button (js/irpro.js) */
.cms-theme-irpro .ir-bank { position: relative; overflow: hidden; }
.cms-theme-irpro .ir-bank::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 8px; background: var(--ir-bank, var(--ir-blue)); }
.cms-theme-irpro .ir-bank-bbl { --ir-bank: #1E3A8A; }
.cms-theme-irpro .ir-bank-kbank { --ir-bank: #138F2D; }
.cms-theme-irpro .ir-acct-l { margin: 8px 0 0; color: var(--sk-muted); font-size: .875rem; }
.cms-theme-irpro .ir-acct-no { margin: 0 0 12px; font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); font-weight: 800; letter-spacing: .04em; font-feature-settings: "tnum"; color: var(--sk-ink); }
.cms-theme-irpro .ir-copy { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 20px; border: 1.5px solid rgba(30, 39, 72, .28); background: transparent; color: var(--sk-ink); }
.cms-theme-irpro .ir-copy:hover { background: rgba(30, 39, 72, .05); }
.cms-theme-irpro .ir-copy :is(.ir-copy-ok, .ir-copy-no) { display: none; }
.cms-theme-irpro .ir-acct.is-ok .ir-copy-t, .cms-theme-irpro .ir-acct.is-no .ir-copy-t { display: none; }
.cms-theme-irpro .ir-acct.is-ok .ir-copy-ok, .cms-theme-irpro .ir-acct.is-no .ir-copy-no { display: inline; }
.cms-theme-irpro .ir-acct.is-ok .ir-copy { border-color: #1F8A52; color: #14603E; }

/* ---------- footer: navy under a wave ---------- */
.cms-theme-irpro #footer.sk-footer { position: relative; margin-top: 90px; background: var(--ir-night); color: var(--sk-footer-text); }
.cms-theme-irpro #footer.sk-footer::before { content: ""; position: absolute; left: 0; right: 0; bottom: calc(100% - 1px); height: 90px; background: url("../img/wave.svg") no-repeat center bottom / 100% 100%; pointer-events: none; }
.cms-theme-irpro #footer .sk-footer-top { padding-top: 40px; }
.cms-theme-irpro #footer :is(.sk-footer-heading, .cms-logo-text) { color: #FFFFFF; font-weight: 800; }
.cms-theme-irpro #footer .sk-footer-links a { display: inline-flex; align-items: center; min-height: 32px; color: #C9D0EA; }
.cms-theme-irpro #footer .sk-footer-links a:hover { color: #FFFFFF; }
.cms-theme-irpro #footer .sk-footer-tagline, .cms-theme-irpro #footer .sk-footer-copy, .cms-theme-irpro #footer .sk-footer-contact li { color: #C9D0EA; }
.cms-theme-irpro #footer .sk-footer-bottom { border-top-color: rgba(255, 255, 255, .14); }
.cms-theme-irpro #footer .sk-footer-cta-title { color: #FFFFFF; font-weight: 700; }

/* ---------- products pages ---------- */
.cms-theme-irpro .cms-product-buy-box[data-look="card"] { border-radius: var(--sk-radius-card); }
.cms-theme-irpro .kx-zones [data-zone="left"] .cms-product-filter { border-radius: var(--sk-radius-card); }

/* ---------- phones and tablets ---------- */
@media (max-width: 991.98px) {
	.cms-theme-irpro .ir-hero > .container > .row { min-height: 0; }
	.cms-theme-irpro .ir-hero-panel { border-radius: 0 0 120px 0; padding: 32px 28px 40px; }
	.cms-theme-irpro .ir-hero-pics { min-height: 300px; }
	.cms-theme-irpro .ir-hero-pics > figure:nth-of-type(1) { left: 10%; top: 10%; }
	.cms-theme-irpro .ir-hero-pics > figure:nth-of-type(5) { left: 46%; }
	.cms-theme-irpro .ir-about-hero > .container > .row { padding: 22px; }
	.cms-theme-irpro .ir-cta .sk-buttons-row { justify-content: flex-start; }
}
@media (max-width: 767.98px) {
	.cms-theme-irpro .sk-category-cards { gap: 14px; }
	.cms-theme-irpro .sk-category-card.has-image { border-radius: 32px 32px 0 0; }
	.cms-theme-irpro .sk-category-card.has-image .sk-category-name { font-size: .9375rem; }
	.cms-theme-irpro .ir-cta > .container > .row { padding: 22px; }
	.cms-theme-irpro #footer.sk-footer { margin-top: 56px; }
	.cms-theme-irpro #footer.sk-footer::before { height: 56px; }
}
@media (max-width: 575.98px) {
	.cms-theme-irpro .ir-hero-panel { padding: 28px 22px 36px; border-radius: 0 0 70px 0; }
	.cms-theme-irpro .ir-hero-pics { min-height: 240px; }
	.cms-theme-irpro .ir-hero-pics::before { inset: 16px 20px; }
	.cms-theme-irpro .ir-hero-pics > figure:nth-of-type(n+4) { display: none; }
	.cms-theme-irpro .ir-hero-pics > figure:nth-of-type(1) { --ir-c: 130px; left: 6%; top: 14%; }
	.cms-theme-irpro .ir-hero-pics > figure:nth-of-type(2) { --ir-c: 100px; left: 44%; right: auto; top: 40%; }
	.cms-theme-irpro .ir-hero-pics > figure:nth-of-type(3) { --ir-c: 90px; right: 6%; top: 6%; }
	.cms-theme-irpro .ir-about-pics { min-height: 260px; }
	.cms-theme-irpro .ir-about-pics > figure:nth-of-type(1) { --ir-c: 140px; }
	.cms-theme-irpro .ir-about-pics > figure:nth-of-type(2) { --ir-c: 100px; }
	.cms-theme-irpro .ir-about-pics > figure:nth-of-type(3) { --ir-c: 110px; }
	.cms-theme-irpro .ir-facts th { width: 40%; }
	.cms-theme-irpro :is(.ir-facts, .ir-hours) :is(th, td) { padding: 10px 12px; }
}

/* ---------- motion off ---------- */
@media (prefers-reduced-motion: reduce) {
	.cms-theme-irpro .ir-hero-pics > figure, .cms-theme-irpro .ir-hero-pics.is-in > figure { animation: none; }
	.cms-theme-irpro :is(.sk-category-card, .sk-product-card, [class*="sk-card-pastel-"], .sk-btn) { transition: none; }
	.cms-theme-irpro :is(.sk-category-card, .sk-product-card, [class*="sk-card-pastel-"], .sk-btn):hover { transform: none; }
}

/* ---------- links that are whole tiles, cards and chips: no underline (the core underlines links in content) ---------- */
.cms-theme-irpro :is(.sk-category-card, .sk-chip, .sk-product-title a, .sk-product-more, .kx-ask, .kx-float-b, .kx-bar a, .sk-btn) { text-decoration: none; }
.cms-theme-irpro :is(.sk-category-card, .sk-chip):hover .sk-category-name, .cms-theme-irpro .sk-product-title a:hover { text-decoration: underline; text-underline-offset: 3px; }
.cms-theme-irpro .ir-hero.sk-space-compact { padding-bottom: 8px; }
.cms-theme-irpro :is(.kl-catbar a, .sk-filter-chip, .sk-product-media, .page-link, .cms-product-buy-box a, .cms-sales-contact a.btn) { text-decoration: none; }
.cms-theme-irpro :is(.ir-facts, .ir-hours), .cms-theme-irpro :is(.ir-facts, .ir-hours) :is(tbody, tr, th, td) { border-left: 0; border-right: 0; border-top: 0; }
.cms-theme-irpro .ir-cta .sk-buttons-row { flex-wrap: wrap; gap: 10px; }
.cms-theme-irpro :is([class*="sk-card-pastel-"], .sk-card-card) h2.cms-heading { font-size: clamp(1.25rem, 1.05rem + .6vw, 1.5rem); }
/* targets of at least 24 px (WCAG 2.5.8): list links and the breadcrumbs */
.cms-theme-irpro .kb-list a, .cms-theme-irpro .post-meta a, .cms-theme-irpro :is(.breadcrumb, .breadcrumbs, [aria-label="breadcrumb"]) a { display: inline-flex; align-items: center; min-height: 28px; }
