/*
Theme Name: Ghurza Tailoring
Theme URI: https://seifweb.com
Author: SeifWeb
Author URI: https://seifweb.com
Description: موقع خياطة وتفصيل على WooCommerce: تفصيل الكندورة بنوع القماش، والعباية بالموديل، والجلابية وتعديل الملابس بعدد القطع مع إجمالي مباشر، وزيارة قياس منزلية بعدد الأشخاص، وإضافات الخدمة السريعة والتطريز وأزرار الكبك والكي والتغليف والقماش الاحتياطي، وموعد القياس ووقته وملاحظات المقاس وشروط التفصيل عند إتمام الطلب، والدفع عند الاستلام، وطلب عرض سعر للزي الموحد للشركات والمدارس. عربي أولًا ومصمَّم للهاتف. A tailoring house site for WooCommerce — kanduras by fabric, abayas by model, jalabiyas and alterations by the piece with a live total, a home measuring visit, extras, the measuring appointment, its time, size notes and the tailoring terms at checkout, payment on collection, and a uniforms quote form — Arabic first and built for phones.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ghurza
Tags: e-commerce, rtl-language-support, custom-logo, custom-menu
*/

/* ---------- Tokens: one deep ink navy, charcoal text, white and a warm light grey; a muted sand only for prices ---------- */
:root {
	--brand: #24344d;
	--brand-2: #1b283c;
	--deep: #1a2638;
	--soft: #ede9e2;
	--ink: #22262d;
	--ink-2: #3d434c;
	--muted: #5d636b;
	--line: #e7e3dc;
	--line-2: #d5cfc5;
	--field: #80858c;
	--paper: #ffffff;
	--panel: #f6f4f0;
	--price: #7c5f36;
	--price-light: #dcc9a6;
	--ok: #1d6b47;
	--error: #b42318;
	--dark: #1c222c;
	--on-dark: #e8eaee;
	--on-dark-2: #b9bfc9;
	--on-brand: #cfd6e2;
	--radius: 12px;
	--radius-sm: 8px;
	--shadow: 0 1px 2px rgba(34, 38, 45, .05), 0 8px 24px rgba(34, 38, 45, .07);
	--font: "Vazirmatn", "Segoe UI", Tahoma, Arial, sans-serif;
	--gutter: 16px;
	--header-h: 64px;
	--tabbar-h: 62px;
	--chev: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322262d' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 16px); }
body {
	margin: 0; font-family: var(--font); font-size: 17px; font-weight: 400; line-height: 1.75; color: var(--ink); background: var(--paper);
	-webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
	padding-bottom: calc(var(--tabbar-h) + env(safe-area-inset-bottom));
}
body.no-scroll { overflow: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--brand); }
h1, h2, h3, h4 { font-family: var(--font); line-height: 1.45; margin: 0 0 .5em; font-weight: 700; letter-spacing: 0; color: var(--ink); }
p { margin: 0 0 1em; }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; border-radius: 6px; }
.site-footer :focus-visible, .demo-bar :focus-visible, .brand-band :focus-visible, .toast :focus-visible { outline-color: #ffffff; }
.screen-reader-text, .skip-link:not(:focus) { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.skip-link:focus { position: fixed; inset-inline-start: 12px; top: 12px; z-index: 100; background: var(--brand); color: #fff; padding: 10px 16px; border-radius: 8px; }
.container { width: 100%; max-width: 1232px; margin-inline: auto; padding-inline: var(--gutter); }
.icon { flex: none; }
.muted { color: var(--muted); }
.only-desktop { display: none !important; }

/* ---------- Buttons ---------- */
.btn, .button, button.button, a.button, input[type="submit"],
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 48px; padding: 0 24px; border: 1px solid transparent; border-radius: var(--radius-sm);
	font-family: var(--font); font-weight: 700; font-size: 16px; line-height: 1.2; letter-spacing: 0; text-align: center;
	cursor: pointer; transition: background-color .2s, color .2s, border-color .2s;
	background: var(--brand); color: #fff; text-decoration: none;
}
.btn .icon { width: 19px; height: 19px; }
.btn:hover, .button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background: var(--brand-2); color: #fff; }
.btn-primary, .btn.btn-primary { background: var(--brand); color: #fff; border-color: var(--brand); }
.btn-primary:hover, .btn.btn-primary:hover { background: var(--brand-2); border-color: var(--brand-2); color: #fff; }
.btn-line, .btn.btn-line { background: #fff; color: var(--ink); border-color: var(--line-2); }
.btn-line:hover, .btn.btn-line:hover { background: var(--panel); color: var(--ink); border-color: var(--brand); }
.btn-light, .btn.btn-light { background: #fff; color: var(--brand); border-color: #fff; }
.btn-light:hover, .btn.btn-light:hover { background: var(--soft); color: var(--brand-2); border-color: var(--soft); }
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce button.single_add_to_cart_button { background: var(--brand); color: #fff; border-color: var(--brand); }
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce button.single_add_to_cart_button:hover { background: var(--brand-2); color: #fff; }
.btn-sm { min-height: 44px; padding: 0 16px; font-size: 15px; }
.btn-block { width: 100%; }
/* WooCommerce paints disabled buttons in its own purple: keep the brand colour. */
.woocommerce button.button.alt.disabled, .woocommerce button.button.alt:disabled, .woocommerce button.button.alt:disabled[disabled],
.woocommerce button.button.alt.disabled:hover, .woocommerce div.product form.cart .button.disabled {
	background: var(--brand) !important; color: #fff !important; opacity: .55; cursor: not-allowed;
}
.icon-btn { display: inline-grid; place-items: center; position: relative; width: 44px; height: 44px; border-radius: var(--radius-sm); background: transparent; border: 0; cursor: pointer; color: var(--ink); }
.icon-btn:hover { background: var(--panel); color: var(--brand); }
.lang-btn { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 36px; padding: 0 10px; margin-inline-end: 2px; border: 1px solid var(--line-2); border-radius: 8px; background: #fff; color: var(--ink); font-size: 14px; font-weight: 700; line-height: 1; }
.lang-btn:hover { border-color: var(--brand); color: var(--brand); }
.lang-btn[lang="en"] { letter-spacing: .04em; }
.lang-link .icon, .lang-foot .icon { width: 18px; height: 18px; }
.lang-foot { display: inline-flex; align-items: center; gap: 6px; }

/* ---------- Demo notice ---------- */
.demo-bar { background: var(--deep); color: #fff; font-size: 13.5px; }
.demo-bar-inner { display: flex; align-items: center; gap: 6px 16px; min-height: 40px; padding-block: 4px; }
.demo-bar p { margin: 0; flex: 1; min-width: 0; line-height: 1.55; }
.demo-bar a { color: #fff; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.demo-bar a:hover { color: var(--on-brand); }
.demo-bar-close { display: grid; place-items: center; flex: none; width: 36px; height: 36px; border: 0; border-radius: 8px; background: none; color: #fff; cursor: pointer; }
.demo-bar-close:hover { background: rgba(255, 255, 255, .14); }
.demo-bar-close .icon { width: 18px; height: 18px; }

/* ---------- Header ---------- */
.site-header { position: sticky; top: 0; z-index: 40; background: rgba(255, 255, 255, .98); border-bottom: 1px solid var(--line); }
.site-header.is-scrolled { box-shadow: 0 4px 16px rgba(34, 38, 45, .06); }
.admin-bar .site-header { top: 46px; }
.header-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 8px; min-height: var(--header-h); }
.brand { display: inline-flex; align-items: center; gap: 10px; justify-self: start; color: var(--ink); min-width: 0; }
.brand:hover { color: var(--ink); }
.brand-logo { max-height: 44px; width: auto; }
.brand-mark { width: 40px; height: 40px; flex: none; }
.brand-words { display: grid; line-height: 1.2; min-width: 0; }
.brand-name { font-weight: 700; font-size: 23px; line-height: 1.25; white-space: nowrap; }
.brand-sub { font-size: 13px; font-weight: 500; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html[lang^="en"] .brand-name { text-transform: uppercase; letter-spacing: .08em; font-size: 19px; }
html[lang^="en"] .brand-sub { text-transform: uppercase; letter-spacing: .1em; font-size: 10px; }
.header-actions { display: flex; align-items: center; gap: 2px; justify-self: end; }
.header-phone { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 10px; margin-inline-end: 4px; font-weight: 500; font-size: 15px; white-space: nowrap; font-variant-numeric: tabular-nums; color: var(--ink); }
.header-phone .icon { width: 19px; height: 19px; color: var(--brand); }
.ghurza-cart-count { position: absolute; top: 3px; inset-inline-end: 1px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9px; background: var(--brand); color: #fff; font-size: 11px; font-weight: 700; line-height: 18px; text-align: center; box-shadow: 0 0 0 2px #fff; }
.ghurza-cart-count.is-empty { display: none; }
.nav-list, .drawer-list { list-style: none; margin: 0; padding: 0; }
.main-nav { align-self: stretch; }
.main-nav .nav-list { display: flex; gap: 4px; height: 100%; }
.main-nav .nav-list > li { position: relative; display: flex; align-items: center; }
.main-nav .nav-list a { display: block; padding: 10px 12px; font-weight: 500; font-size: 15.5px; color: var(--ink-2); white-space: nowrap; }
.main-nav .nav-list a:hover, .main-nav .current-menu-item > a, .main-nav .current-menu-ancestor > a { color: var(--brand); }
.main-nav .nav-list > li > a { position: relative; }
.main-nav .nav-list > li > a::after { content: ""; position: absolute; inset-inline: 12px; bottom: 4px; height: 2px; border-radius: 2px; background: var(--brand); transform: scaleX(0); transition: transform .2s; }
.main-nav .nav-list > li:hover > a::after, .main-nav .current-menu-item > a::after, .main-nav .current-menu-ancestor > a::after { transform: scaleX(1); }
.main-nav .menu-item-has-children > a { padding-inline-end: 28px; }
.main-nav .menu-item-has-children > a::before { content: ""; position: absolute; inset-inline-end: 12px; top: 50%; width: 6px; height: 6px; margin-top: -5px; border-right: 1.6px solid currentColor; border-bottom: 1.6px solid currentColor; transform: rotate(45deg); }
.main-nav .sub-menu { list-style: none; margin: 0; padding: 8px; position: absolute; top: 100%; inset-inline-start: 0; min-width: 230px; background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .2s, transform .2s, visibility .2s; z-index: 5; }
.main-nav .sub-menu a { border-radius: 8px; padding: 8px 12px; }
.main-nav .sub-menu a::after { display: none; }
.main-nav .sub-menu a:hover { background: var(--panel); }
.main-nav li:hover > .sub-menu, .main-nav li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }

/* ---------- Drawer ---------- */
.drawer { position: fixed; inset: 0; z-index: 60; }
.drawer-backdrop { position: absolute; inset: 0; background: rgba(28, 34, 44, .5); opacity: 0; transition: opacity .25s; }
.drawer-panel { position: absolute; top: 0; bottom: 0; inset-inline-start: 0; width: min(86vw, 360px); background: #fff; display: flex; flex-direction: column; transform: translateX(100%); transition: transform .25s ease; padding-bottom: env(safe-area-inset-bottom); }
[dir="ltr"] .drawer-panel { transform: translateX(-100%); }
.drawer.is-open .drawer-backdrop { opacity: 1; }
.drawer.is-open .drawer-panel { transform: none; }
.drawer-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px var(--gutter); border-bottom: 1px solid var(--line); }
.drawer-head .brand-mark { width: 36px; height: 36px; }
.drawer-head .brand-name { font-size: 21px; }
.drawer-list { flex: 1; overflow: auto; padding: 8px var(--gutter); }
.drawer-list a { display: block; padding: 12px 2px; border-bottom: 1px solid var(--line); font-weight: 500; font-size: 17px; }
.drawer-list .sub-menu { list-style: none; padding-inline-start: 16px; margin: 0; }
.drawer-list .sub-menu a { font-size: 15.5px; color: var(--ink-2); padding-block: 10px; }
.drawer-foot { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; padding: 16px var(--gutter); border-top: 1px solid var(--line); }
.drawer-foot > :first-child, .drawer-foot .lang-link, .drawer-foot .drawer-account { grid-column: 1 / -1; }
.drawer-foot .btn { padding-inline: 12px; }

/* ---------- Sections ---------- */
.section { padding-block: 56px; }
.section.tint { background: var(--panel); }
/* Two white sections in a row do not add two full paddings. */
.section:not(.tint) + .section:not(.tint) { padding-top: 0; }
.section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.section-head > div { min-width: 0; }
.section-head h2 { font-size: clamp(24px, 5.6vw, 34px); margin: 0; }
.section-lead { margin: 8px 0 0; color: var(--ink-2); max-width: 620px; }
.eyebrow { display: inline-block; font-size: 14px; font-weight: 700; color: var(--brand); margin-bottom: 8px; }
.link-more { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-weight: 700; font-size: 15px; white-space: nowrap; color: var(--brand); }
.link-more:hover { color: var(--brand-2); text-decoration: underline; text-underline-offset: 5px; }
.link-more .icon { width: 18px; height: 18px; }
[dir="ltr"] .link-more .icon { transform: scaleX(-1); }

/* ---------- Home: hero with the price finder ---------- */
.hero { background: var(--panel); padding-block: 24px 48px; overflow: hidden; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: center; }
.hero-text { min-width: 0; }
.hero-title { font-size: clamp(30px, 7.4vw, 50px); font-weight: 700; line-height: 1.4; margin: 0 0 16px; max-width: 14em; }
.hero-lead { font-size: 17px; color: var(--ink-2); max-width: 560px; margin-bottom: 24px; }
.finder { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 16px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); max-width: 620px; }
.finder-title { margin: 0; font-weight: 700; font-size: 16px; color: var(--ink); }
.finder-fields { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; min-width: 0; }
.finder-field { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px; min-width: 0; }
.finder-field label { font-size: 14px; font-weight: 500; color: var(--ink-2); }
.finder-field select {
	appearance: none; -webkit-appearance: none; width: 100%; min-width: 0; min-height: 48px; padding: 0 14px; padding-inline-end: 40px;
	border: 1px solid var(--field); border-radius: var(--radius-sm); background: #fff var(--chev) no-repeat left 12px center / 18px;
	font-size: 16px; color: var(--ink); cursor: pointer; text-overflow: ellipsis;
}
[dir="ltr"] .finder-field select { background-position: right 12px center; }
.finder .btn { width: 100%; }
.hero-note { display: flex; align-items: flex-start; gap: 8px; margin: 16px 0 0; font-size: 14.5px; color: var(--ink-2); }
.hero-note .icon { width: 19px; height: 19px; margin-top: 4px; color: var(--ok); }
.hero-media { position: relative; margin: 0; min-width: 0; }
.hero-media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius); }
.hero-chip { position: absolute; bottom: 16px; inset-inline-start: 16px; display: grid; gap: 0; max-width: calc(100% - 32px); padding: 8px 14px; border-radius: 12px; background: #fff; box-shadow: var(--shadow); line-height: 1.45; }
.hero-chip span { font-size: 13.5px; color: var(--muted); }
.hero-chip strong { font-size: 17px; font-weight: 700; color: var(--price); font-variant-numeric: tabular-nums; }

/* ---------- Home: the strip of four promises ---------- */
.amenities { background: #fff; border-bottom: 1px solid var(--line); padding-block: 32px; }
.amenity-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.amenity { display: flex; gap: 14px; align-items: flex-start; min-width: 0; }
.amenity-icon, .point-icon, .included-icon, .extra-icon, .step-icon, .location-icon { display: grid; place-items: center; flex: none; width: 48px; height: 48px; border-radius: 12px; background: var(--soft); color: var(--brand); }
.amenity-icon .icon, .point-icon .icon, .included-icon .icon, .step-icon .icon, .location-icon .icon { width: 24px; height: 24px; }
.amenity-text, .location-text { display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0; font-size: 14.5px; line-height: 1.7; color: var(--ink-2); }
.amenity-text strong, .location-text strong { font-size: 16.5px; font-weight: 700; color: var(--ink); }

/* ---------- Service cards (WooCommerce loop) ---------- */
.woocommerce ul.products, .woocommerce-page ul.products { display: grid !important; grid-template-columns: minmax(0, 1fr); gap: 16px; margin: 0 !important; padding: 0; list-style: none; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
	width: auto !important; margin: 0 !important; float: none !important; clear: none !important; position: relative; display: flex; flex-direction: column; min-width: 0;
	padding: 0 0 16px; text-align: start; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; transition: border-color .2s, box-shadow .2s;
}
.woocommerce ul.products li.product:hover { border-color: var(--line-2); box-shadow: var(--shadow); }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; flex: 1; color: var(--ink); text-decoration: none; }
.card-media { position: relative; display: block; aspect-ratio: 4 / 3; margin-bottom: 16px; overflow: hidden; background: var(--panel); }
.woocommerce ul.products li.product .card-media img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; margin: 0; border-radius: 0; transition: transform .4s ease; }
.woocommerce ul.products li.product:hover .card-media img { transform: scale(1.03); }
.card-cat { display: block; padding-inline: 16px; font-size: 13.5px; font-weight: 500; color: var(--muted); margin-bottom: 2px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0 16px; font-family: var(--font); font-size: 18px; font-weight: 700; line-height: 1.5; margin: 0 0 8px; color: var(--ink); }
.card-text { margin: 0 0 16px; padding-inline: 16px; font-size: 14.5px; line-height: 1.7; color: var(--ink-2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.woocommerce ul.products li.product .price {
	display: flex; flex-wrap: wrap; align-items: baseline; align-content: center; gap: 2px 6px; margin: auto 0 0; padding: 12px 16px 0; padding-inline-end: 104px; min-height: 56px;
	border-top: 1px solid var(--line); color: var(--price); font-family: var(--font); font-weight: 700; font-size: 19px; font-variant-numeric: tabular-nums;
}
.woocommerce ul.products li.product .price del { color: var(--muted); font-weight: 500; font-size: 14px; opacity: 1; }
.woocommerce ul.products li.product .price ins { text-decoration: none; color: var(--price); }
.price-from, .price-unit { font-family: var(--font); font-size: .74em; font-weight: 500; color: var(--muted); }
.card-badges { position: absolute; top: 12px; inset-inline-start: 12px; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; pointer-events: none; max-width: calc(100% - 24px); }
.woocommerce span.onsale, .woocommerce .card-badges .onsale, .woocommerce ul.products li.product .card-badges .onsale {
	position: static; margin: 0; min-width: 0; min-height: 0; padding: 2px 10px; line-height: 1.7; border-radius: 8px;
	background: var(--deep); color: #fff; font-size: 13px; font-weight: 700; font-family: var(--font);
}
.woocommerce ul.products li.product .card-btn { position: absolute; bottom: 16px; inset-inline-end: 16px; z-index: 3; min-width: 80px; margin: 0; }
.woocommerce ul.products li.product .card-btn.loading { opacity: .6; pointer-events: none; }
.woocommerce ul.products li.product .card-btn.added { background: var(--ok); border-color: var(--ok); color: #fff; }
.woocommerce ul.products li.product .card-btn.loading::after, .woocommerce ul.products li.product .card-btn.added::after { display: none !important; }
.woocommerce ul.products li.product a.added_to_cart { display: none; }
.woocommerce .star-rating { display: none; }

/* ---------- Home: the extras, the steps ---------- */
.extras { margin: 0 0 24px; padding: 16px; border-radius: var(--radius); background: var(--panel); }
.extras-home { margin: 0; padding: 0; background: none; }
.extras-cart { margin-top: 32px; }
.extras-title { font-size: 19px; margin: 0 0 4px; }
.extras-note { margin: 0 0 16px; font-size: 14px; color: var(--ink-2); }
.extras-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
.extra { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 8px 12px; padding: 12px; background: #fff; border: 1px solid var(--line); border-radius: 12px; min-width: 0; color: var(--ink); }
.extra-icon { width: 44px; height: 44px; border-radius: 10px; }
.extra-icon .icon { width: 22px; height: 22px; }
.extra-img { display: block; width: 84px; aspect-ratio: 1; border-radius: 10px; overflow: hidden; background: var(--panel); }
.extra-img img { width: 100%; height: 100%; object-fit: cover; }
/* An extra without a photo keeps the same square on the home page, with its line icon. */
.extras-home .extra-icon { width: 84px; height: 84px; border-radius: 10px; }
.extras-home .extra-icon .icon { width: 32px; height: 32px; }
.extra-text { display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0; line-height: 1.55; }
.extra-name { font-weight: 700; font-size: 15.5px; color: var(--ink); }
.extra-name:hover { color: var(--brand); text-decoration: underline; text-underline-offset: 3px; }
.extra-price { font-size: 14.5px; font-weight: 700; color: var(--price); font-variant-numeric: tabular-nums; }
.extra-price .price-unit { font-size: 13px; }
.extra-form { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; margin: 0; }
.extra-qty-wrap { display: inline-flex; align-items: center; gap: 6px; font-size: 13.5px; font-weight: 500; color: var(--ink-2); }
.extra-qty { width: 64px; min-height: 44px; padding: 0 6px; border: 1px solid var(--field); border-radius: var(--radius-sm); background: #fff; text-align: center; font-weight: 700; font-size: 16px; }
.extra-add .icon { width: 17px; height: 17px; }
.extra-add.loading { opacity: .6; pointer-events: none; }
.extra-add.added { background: var(--ok); color: #fff; border-color: var(--ok); }
.extra-add.loading::after, .extra-add.added::after { display: none !important; }
.extra-form .added_to_cart { display: none !important; }
.extra-done { grid-column: 1 / -1; justify-self: end; display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-weight: 700; font-size: 14px; color: var(--ok); }
.extra-done .icon { width: 18px; height: 18px; }

.steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.step { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; align-content: start; padding: 24px; background: var(--panel); border-radius: var(--radius); min-width: 0; }
.step-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.step-num { display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--brand); color: #fff; font-weight: 700; font-size: 17px; line-height: 1; font-variant-numeric: tabular-nums; }
.step-icon { background: #fff; }
.step-title { font-size: 18px; font-weight: 700; line-height: 1.5; }
.step-text { color: var(--ink-2); font-size: 15px; line-height: 1.75; }

/* ---------- Home: the fabrics band, the uniforms band and the location (photo beside text) ---------- */
.split { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: center; }
.split-media { margin: 0; min-width: 0; }
.split-media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius); }
.split-text { min-width: 0; }
.split-text h2 { font-size: clamp(24px, 5.6vw, 34px); }
.split-text p { color: var(--ink-2); max-width: 560px; }
.feature-list { list-style: none; margin: 0 0 24px; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.feature-list li { display: flex; align-items: flex-start; gap: 12px; min-width: 0; font-weight: 500; line-height: 1.6; }
.feature-list li span { min-width: 0; }
.feature-list .icon { width: 22px; height: 22px; margin-top: 1px; color: var(--brand); }
.split-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.fabric-list { list-style: none; margin: 0 0 24px; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; border-top: 1px solid var(--line-2); }
.fabric-list li { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px; padding: 12px 0; border-bottom: 1px solid var(--line-2); min-width: 0; }
.fabric-list strong { font-size: 16.5px; font-weight: 700; color: var(--ink); }
.fabric-list span { font-size: 15px; line-height: 1.7; color: var(--ink-2); }
.split-text .split-price { margin: 0; max-width: none; color: var(--price); font-size: 22px; font-weight: 700; font-variant-numeric: tabular-nums; }
.split-text .split-price .price-from, .split-text .split-price .price-unit { color: var(--muted); }

.brand-band { background: var(--deep); color: #fff; padding-block: 56px; }
.brand-band .eyebrow { color: var(--on-brand); }
.brand-band h2 { color: #fff; }
.brand-band .split-text p { color: var(--on-brand); }
.brand-band .feature-list li { color: #fff; }
.brand-band .feature-list .icon { color: var(--on-brand); }
.brand-band .btn-light { color: var(--brand); }
.brand-band .btn-light:hover { color: var(--brand-2); }

.split-text .location-address { display: flex; align-items: flex-start; gap: 10px; font-weight: 700; color: var(--ink); }
.location-address .icon { width: 22px; height: 22px; margin-top: 3px; color: var(--brand); }
.location-address span { min-width: 0; overflow-wrap: anywhere; }
.location-list { list-style: none; margin: 0 0 24px; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.location-list li { display: flex; gap: 14px; align-items: flex-start; min-width: 0; }

/* ---------- Home: testimonials, questions, last call ---------- */
.voice-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.voice-card { display: flex; flex-direction: column; justify-content: space-between; gap: 16px; padding: 24px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); min-width: 0; color: var(--ink); }
.voice-card blockquote { margin: 0; }
.voice-card blockquote p { margin: 0; font-size: 16.5px; line-height: 1.8; color: var(--ink); }
.voice-by { display: flex; align-items: center; gap: 12px; margin: 0; }
.avatar { display: grid; place-items: center; flex: none; width: 48px; height: 48px; border-radius: 50%; background: var(--soft); color: var(--brand); font-size: 1.45rem; font-weight: 700; line-height: 1; }
.voice-who { display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0; line-height: 1.5; }
.voice-who strong { font-weight: 700; }
.voice-who span { font-size: 13.5px; color: var(--muted); }
.voices-note { margin: 16px 0 0; font-size: 13.5px; color: var(--muted); }

.faq-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
.faq-intro { min-width: 0; }
.faq-intro h2 { font-size: clamp(24px, 5.6vw, 34px); }
.faq-intro p { color: var(--ink-2); }
.faq-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; min-width: 0; }
.faq { background: var(--panel); border: 1px solid transparent; border-radius: 12px; min-width: 0; }
.faq[open] { background: #fff; border-color: var(--line-2); }
.faq summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 56px; padding: 12px 16px; font-weight: 700; font-size: 16.5px; line-height: 1.6; cursor: pointer; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; display: grid; place-items: center; flex: none; width: 28px; height: 28px; border-radius: 8px; background: var(--soft); color: var(--brand); font-size: 20px; font-weight: 500; line-height: 1; }
.faq[open] summary::after { content: "–"; }
.faq p { margin: 0; padding: 0 16px 16px; color: var(--ink-2); }
.faq-more { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 0; font-weight: 700; }

.cta-band { background: var(--soft); padding-block: 48px; }
.cta-inner { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: center; }
.cta-text { min-width: 0; }
.cta-text h2 { font-size: clamp(24px, 5.6vw, 32px); margin-bottom: 8px; }
.cta-text p { margin: 0; color: var(--ink-2); max-width: 620px; }
.cta-actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* ---------- The services page and its categories ---------- */
.shop-wrap { padding-block: 16px 64px; }
.shop-head { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; align-items: center; margin: 8px 0 24px; padding: 16px; background: var(--panel); border-radius: var(--radius); }
.shop-head-text { min-width: 0; }
.shop-head-title { font-size: clamp(28px, 6.8vw, 42px); margin: 0 0 8px; }
.shop-head-desc { color: var(--ink-2); max-width: 640px; }
.shop-head-desc p { margin: 0 0 12px; }
.shop-head-from { display: inline-block; margin: 0; padding: 4px 12px; border-radius: 8px; background: #fff; color: var(--price); font-weight: 700; font-variant-numeric: tabular-nums; }
.shop-head-img { margin: 0; min-width: 0; }
.shop-head-img img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--radius); }
.woocommerce-products-header { margin-bottom: 8px; }
.woocommerce-products-header__title.page-title { font-size: clamp(26px, 6.6vw, 38px); margin: 4px 0; }
.term-description { color: var(--ink-2); font-size: 15px; max-width: 760px; }
.breadcrumb, .woocommerce .woocommerce-breadcrumb { font-size: 13.5px; color: var(--muted); margin: 0 0 8px; }
.breadcrumb a, .woocommerce .woocommerce-breadcrumb a { color: var(--ink-2); }
.breadcrumb a:hover, .woocommerce .woocommerce-breadcrumb a:hover { color: var(--brand); }
.breadcrumb .sep { margin-inline: 6px; opacity: .6; }
.chips { display: flex; gap: 8px; overflow-x: auto; margin-bottom: 16px; padding: 4px 0 8px; scrollbar-width: none; }
.chips::-webkit-scrollbar { display: none; }
.chip { position: relative; flex: none; display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 16px; border-radius: var(--radius-sm); border: 1px solid var(--line-2); background: #fff; font-size: 15px; font-weight: 500; color: var(--ink-2); }
.chip:hover { border-color: var(--brand); color: var(--brand); }
.chip.is-active { background: var(--brand); color: #fff; border-color: var(--brand); }
.chip .icon { width: 16px; height: 16px; }
.shop-empty { margin: 0 0 24px; }
.woocommerce .woocommerce-result-count { margin: 0 0 16px; font-size: 13.5px; color: var(--muted); float: none; }
.woocommerce .woocommerce-ordering { float: none; margin: 0 0 16px; }
.woocommerce nav.woocommerce-pagination { margin-top: 32px; }
.woocommerce nav.woocommerce-pagination ul { border: 0; display: inline-flex; flex-wrap: wrap; gap: 6px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width: 44px; height: 44px; display: grid; place-items: center; border-radius: var(--radius-sm); border: 1px solid var(--line-2); background: #fff; padding: 0 10px; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--brand); color: #fff; border-color: var(--brand); }
.woocommerce-info, .woocommerce-message, .woocommerce-error, .woocommerce-noreviews, p.no-comments { border: 1px solid var(--line) !important; border-radius: 12px; background: #fff !important; color: var(--ink) !important; padding: 14px 18px !important; margin: 0 0 16px !important; list-style: none; }
.woocommerce-message { border-color: var(--line-2) !important; background: var(--panel) !important; }
.woocommerce-error { border-color: #f3c2bd !important; background: #fff5f4 !important; }
.woocommerce-info::before, .woocommerce-message::before, .woocommerce-error::before { display: none; }
.woocommerce-message .button, .woocommerce-info .button { float: none !important; min-height: 40px; margin-inline-start: 12px; }

/* ---------- The service's page ---------- */
.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; margin-top: 8px; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width: auto !important; float: none !important; margin: 0 !important; min-width: 0; }
.woocommerce div.product div.images { position: relative; margin-inline: calc(var(--gutter) * -1) !important; }
.woocommerce div.product div.images img { background: var(--panel); }
.woocommerce div.product div.images .flex-control-thumbs { display: flex; gap: 8px; margin-top: 8px; padding-inline: var(--gutter); }
.woocommerce div.product div.images .flex-control-thumbs li { width: 84px !important; }
.woocommerce div.product div.images .flex-control-thumbs img { border-radius: 8px; opacity: .6; aspect-ratio: 4 / 3; object-fit: cover; }
.woocommerce div.product div.images .flex-control-thumbs img.flex-active { opacity: 1; outline: 2px solid var(--brand); outline-offset: -2px; }
.woocommerce div.product div.images .woocommerce-product-gallery__trigger { top: 12px; background: rgba(255, 255, 255, .95); border-radius: var(--radius-sm); }
[dir="rtl"] .woocommerce div.product div.images .woocommerce-product-gallery__trigger { left: 12px; right: auto; }
.woocommerce div.product span.onsale { position: absolute; top: 12px; z-index: 3; }
[dir="rtl"] .woocommerce div.product span.onsale { right: 12px; left: auto; }
[dir="ltr"] .woocommerce div.product span.onsale { left: 12px; right: auto; }
.summary-kicker { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; margin-bottom: 4px; font-size: 14px; font-weight: 700; color: var(--brand); }
.summary-kicker:hover { color: var(--brand-2); text-decoration: underline; text-underline-offset: 4px; }
.woocommerce div.product .product_title { font-size: clamp(26px, 6.4vw, 36px); margin-bottom: 8px; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--price); font-family: var(--font); font-size: 26px; font-weight: 700; display: flex; align-items: baseline; gap: 4px 10px; flex-wrap: wrap; margin-bottom: 8px; font-variant-numeric: tabular-nums; }
.woocommerce div.product p.price del, .woocommerce div.product span.price del { color: var(--muted); font-size: 17px; font-weight: 500; opacity: 1; }
.woocommerce div.product p.price ins, .woocommerce div.product span.price ins { color: var(--price); text-decoration: none; }
.woocommerce-product-details__short-description { color: var(--ink-2); font-size: 16px; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; margin: 24px 0; padding: 16px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); }
.woocommerce div.product form.cart::before, .woocommerce div.product form.cart::after { display: none; }
.woocommerce div.product form.cart.variations_form { display: block; position: relative; }
.woocommerce div.product form.cart .variations { width: 100%; margin-bottom: 8px; border: 0; }
.woocommerce div.product form.cart .variations tr { display: block; }
.woocommerce div.product form.cart .variations th, .woocommerce div.product form.cart .variations td { display: block; padding: 0; text-align: start; line-height: 1.5; }
.woocommerce div.product form.cart .variations label { font-weight: 700; font-size: 15px; }
.woocommerce div.product form.cart .variations td.value { position: relative; margin: 8px 0 4px; }
.woocommerce div.product form.cart .variations select { min-height: 48px; border: 1px solid var(--field); border-radius: var(--radius-sm); padding: 0 14px; width: 100%; background: #fff; }
.woocommerce div.product form.cart .variations select.is-replaced { position: absolute !important; top: 0; inset-inline-start: 0; width: 1px !important; height: 1px !important; opacity: 0; pointer-events: none; }
.option-buttons { display: grid; grid-template-columns: repeat(auto-fit, minmax(88px, 1fr)); gap: 8px; }
.option-btn { display: grid; justify-items: center; align-content: center; gap: 0; min-width: 0; min-height: 60px; padding: 8px; border-radius: var(--radius-sm); border: 1px solid var(--line-2); background: #fff; font-family: var(--font); font-weight: 700; font-size: 15px; line-height: 1.4; color: var(--ink); cursor: pointer; transition: border-color .15s, background-color .15s, color .15s; text-align: center; overflow-wrap: anywhere; }
.option-btn small { font-size: 13px; font-weight: 500; color: var(--price); font-variant-numeric: tabular-nums; }
.option-btn:hover { border-color: var(--brand); }
.option-btn[aria-pressed="true"] { background: var(--brand); border-color: var(--brand); color: #fff; }
.option-btn[aria-pressed="true"] small { color: var(--price-light); }
.option-btn:disabled { opacity: .45; text-decoration: line-through; cursor: not-allowed; }
form.cart.needs-option .variations label { color: var(--error); }
form.cart.needs-option .option-buttons { outline: 2px solid var(--error); outline-offset: 4px; border-radius: var(--radius-sm); }
.woocommerce div.product form.cart .reset_variations { font-size: 13.5px; color: var(--muted); display: inline-block; margin-top: 8px; }
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart { display: flex; gap: 12px; flex-wrap: wrap; align-items: flex-end; }
.woocommerce div.product .woocommerce-variation-price { display: none; }
.woocommerce div.product .woocommerce-variation-description p { margin: 0 0 8px; color: var(--ink-2); }
.woocommerce div.product form.cart .quantity { order: 1; }
.qty-label { order: 2; flex: 1 1 180px; align-self: center; display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; min-width: 0; line-height: 1.55; }
.qty-label strong { font-size: 16px; font-weight: 700; }
.qty-help { font-size: 13.5px; color: var(--muted); }
.option-note { flex: 0 0 100%; order: 2; display: flex; align-items: flex-start; gap: 10px; margin: 0; padding: 12px 14px; border-radius: var(--radius-sm); background: var(--panel); font-size: 15px; line-height: 1.7; color: var(--ink-2); }
.option-note .icon { width: 20px; height: 20px; margin-top: 3px; color: var(--brand); }
.option-note span { min-width: 0; }
.book-total { flex: 0 0 100%; order: 3; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; margin: 0; padding: 12px 14px; background: var(--soft); border-radius: var(--radius-sm); font-size: 15px; font-weight: 500; color: var(--ink-2); font-variant-numeric: tabular-nums; }
.book-total output { font-size: 17px; font-weight: 700; color: var(--price); }
.woocommerce .quantity .qty { width: 92px; min-height: 52px; border: 1px solid var(--field); border-radius: var(--radius-sm); text-align: center; background: #fff; font-weight: 700; font-size: 17px; }
.woocommerce div.product form.cart .button { flex: 1 1 200px; min-height: 52px; font-size: 17px; }
.woocommerce div.product form.cart .single_add_to_cart_button { order: 4; }
.promise { list-style: none; padding: 16px; margin: 0 0 24px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.promise li { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; line-height: 1.65; }
.promise li span { min-width: 0; }
.promise a { font-weight: 700; color: var(--brand); text-decoration: underline; text-underline-offset: 4px; }
.promise .icon { color: var(--brand); width: 21px; height: 21px; margin-top: 2px; }
.woocommerce div.product .woocommerce-tabs { grid-column: 1 / -1; margin-top: 8px; min-width: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; gap: 24px; padding: 0; margin: 0 0 16px; border-bottom: 1px solid var(--line); overflow-x: auto; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { position: relative; flex: none; border: 0; background: none; border-radius: 0; margin: 0; padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 10px 0; font-weight: 700; font-size: 16px; color: var(--muted); white-space: nowrap; border-bottom: 2px solid transparent; display: block; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--brand); border-bottom-color: var(--brand); }
.woocommerce div.product .woocommerce-tabs .panel { padding: 0; margin: 0; background: none; border: 0; max-width: 860px; }
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { display: none; }
.woocommerce div.product .woocommerce-tabs .panel ul:not(.req-list), .woocommerce div.product .woocommerce-tabs .panel ol { padding-inline-start: 1.3em; }
.woocommerce div.product .woocommerce-tabs .panel h3 { font-size: 18px; margin-top: 1.2em; }
.table-scroll { max-width: 100%; overflow-x: auto; }
.option-table { width: 100%; min-width: 520px; border-collapse: collapse; }
.option-table th, .option-table td { padding: 12px; border-bottom: 1px solid var(--line); text-align: start; vertical-align: top; }
.option-table thead th { font-size: 14px; font-weight: 700; color: var(--muted); background: var(--panel); }
.option-table tbody th { font-weight: 700; white-space: nowrap; }
.option-table .option-price { font-weight: 700; color: var(--price); white-space: nowrap; font-variant-numeric: tabular-nums; }
.option-table td { color: var(--ink-2); font-size: 15px; }
.req-list { list-style: none; margin: 0 0 16px; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.req-list li { display: flex; gap: 10px; align-items: flex-start; }
.req-list li span { min-width: 0; }
.req-list .icon { width: 21px; height: 21px; margin-top: 3px; color: var(--brand); }
.woocommerce div.product .related, .woocommerce div.product .upsells { grid-column: 1 / -1; margin-top: 24px; min-width: 0; }
.woocommerce div.product .related > h2, .woocommerce div.product .upsells > h2 { font-size: 24px; margin-bottom: 16px; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { border: 1px solid var(--field); border-radius: var(--radius-sm); background: #fff; padding: 12px 14px; min-height: 48px; font-size: 16px; }
.woocommerce form .form-row label { font-weight: 700; }

/* Phone order bar */
.buybar { position: fixed; inset-inline: 0; bottom: 0; z-index: 46; display: flex; align-items: center; gap: 12px; padding: 10px var(--gutter) calc(10px + env(safe-area-inset-bottom)); background: rgba(255, 255, 255, .98); border-top: 1px solid var(--line); box-shadow: 0 -6px 20px rgba(34, 38, 45, .07); }
.buybar-info { flex: 1; min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr); line-height: 1.45; }
.buybar-name { font-size: 14px; color: var(--ink-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.buybar-price { font-weight: 700; font-size: 16px; color: var(--price); }
.buybar-price del { color: var(--muted); font-weight: 500; font-size: 12px; }
.buybar-price ins { text-decoration: none; }
.buybar .btn { flex: 0 0 auto; min-height: 46px; padding: 0 20px; }
body.single-product .tabbar { display: none; }
body.single-product { padding-bottom: 80px; }

/* Toast */
.toast { position: fixed; z-index: 70; inset-inline: 16px; bottom: calc(var(--tabbar-h) + 16px + env(safe-area-inset-bottom)); margin-inline: auto; max-width: 460px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 18px; border-radius: 12px; background: var(--deep); color: #fff; font-weight: 500; box-shadow: var(--shadow); opacity: 0; transform: translateY(10px); transition: opacity .25s, transform .25s; }
.toast span { min-width: 0; }
.toast.is-on { opacity: 1; transform: none; }
.toast a { color: #fff; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
body.single-product .toast { bottom: calc(88px + env(safe-area-inset-bottom)); }

/* ---------- Pages, cart, checkout, account ---------- */
.page-wrap { padding-block: 24px 64px; }
.page-wrap.narrow { max-width: 820px; }
.page-head h1 { font-size: clamp(28px, 6.8vw, 42px); margin-top: 4px; }
.page-lead { color: var(--ink-2); max-width: 700px; font-size: 17px; }
.page-cover { margin: 0 0 32px; }
.page-cover img { width: 100%; max-height: 440px; aspect-ratio: 21 / 9; object-fit: cover; border-radius: var(--radius); }
.entry { font-size: 16.5px; min-width: 0; }
.entry > :first-child { margin-top: 0; }
.entry h2 { font-size: 23px; margin-top: 1.4em; }
.entry h3 { font-size: 19px; margin-top: 1.2em; }
.entry ul, .entry ol { padding-inline-start: 1.3em; }
.entry li { margin-bottom: .4em; }
.narrow-entry { max-width: 820px; margin-top: 32px; }
.page-cta { display: flex; flex-wrap: wrap; gap: 12px; margin: 32px 0 0; }
:where(.page-wrap:not(.is-store-page)) .entry a:where(:not(.button):not(.btn):not(.wc-block-components-button)) { color: var(--brand); font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }
.is-store-page .entry a:where(:not(.button):not(.btn):not([class*="wc-block"])) { text-decoration: underline; text-underline-offset: 3px; }
.woocommerce-MyAccount-content a:where(:not(.button)) { color: var(--brand); }
.entry ul.products { padding: 0; }
.entry ul.products li { margin-bottom: 0; }
.entry ul.products a { color: var(--ink); text-decoration: none; }
.entry figure { margin: 0 0 1.4em; max-width: 100%; overflow-x: auto; }
.entry table { width: 100%; border-collapse: collapse; background: #fff; border-radius: 12px; overflow: hidden; }
.entry th, .entry td { padding: 12px; border-bottom: 1px solid var(--line); text-align: start; vertical-align: top; overflow-wrap: anywhere; }
.entry th { background: var(--panel); font-weight: 700; }
.credits-table { font-size: 14px; }
.credits-table small { display: block; margin-top: 4px; color: var(--muted); font-size: 12.5px; }
.store-note { display: flex; gap: 10px; align-items: flex-start; padding: 14px 16px; margin: 0 0 24px; border: 1px solid var(--line-2); border-radius: 12px; background: var(--panel); font-size: 15px; color: var(--ink); line-height: 1.75; }
.store-note span { min-width: 0; }
.store-note a { color: var(--brand); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.store-note .icon { color: var(--brand); width: 22px; height: 22px; margin-top: 2px; }
.block-title { font-size: 22px; margin: 40px 0 16px; }
.included-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.included-grid li { display: flex; align-items: center; gap: 12px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: #fff; min-width: 0; font-weight: 500; }
.included-grid li > span:last-child { min-width: 0; }
.service-page .steps { margin-top: 8px; }
.wc-block-components-button:not(.is-link), .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { background: var(--brand) !important; color: #fff !important; border-radius: var(--radius-sm) !important; min-height: 52px; font-family: var(--font); font-weight: 700; }
.wc-block-components-button:not(.is-link):hover { background: var(--brand-2) !important; color: #fff !important; }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-block-components-textarea, .wc-blocks-components-select .wc-blocks-components-select__select { border-radius: var(--radius-sm) !important; border-color: var(--field) !important; }
.wc-block-components-product-name { font-weight: 700; color: var(--ink) !important; }
.wc-block-components-product-details { font-size: 13.5px; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked { background: var(--brand) !important; border-color: var(--brand) !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: #fff !important; }
/* Friday's hours on a line under the appointment time box (the words come from the theme, in this page's language). */
.wc-block-components-address-form__ghurza-fitting-time::after { display: block; margin-top: 6px; font-size: 14px; line-height: 1.6; color: var(--muted); }
.woocommerce table.shop_table { border: 1px solid var(--line); border-radius: 12px; background: #fff; border-collapse: separate; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-top-color: var(--line); padding: 12px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0 0 24px; display: flex; gap: 6px; overflow-x: auto; }
.woocommerce-account .woocommerce-MyAccount-navigation li { position: relative; flex: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: flex; align-items: center; min-height: 40px; padding: 0 16px; border: 1px solid var(--line-2); border-radius: 8px; background: #fff; white-space: nowrap; font-size: 15px; text-decoration: none; color: inherit; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--brand); color: #fff; border-color: var(--brand); }
.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none; width: auto; min-width: 0; }
.woocommerce-account .woocommerce::before, .woocommerce-account .woocommerce::after { display: none; }
.woocommerce form.login, .woocommerce form.register { border: 1px solid var(--line) !important; border-radius: 12px !important; background: #fff; padding: 24px !important; margin: 0 0 16px !important; }
.order-next { margin: 0 0 24px; padding: 16px; border: 1px solid var(--line-2); border-radius: 12px; background: var(--panel); color: var(--ink); }
.order-next h2 { font-size: 21px; margin-bottom: 12px; }
.order-next h3 { font-size: 17px; margin: 16px 0 8px; }
.order-dates { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; margin: 0; }
.order-dates > div { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px; padding: 12px 14px; border-radius: var(--radius-sm); background: #fff; min-width: 0; }
.order-dates dt { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 500; color: var(--muted); }
.order-dates dt .icon { width: 19px; height: 19px; color: var(--brand); }
.order-dates dd { margin: 0; font-size: 16.5px; font-weight: 700; overflow-wrap: anywhere; }
.bring-list { list-style: none; margin: 0 0 16px; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
.bring-list li { display: flex; gap: 10px; align-items: flex-start; }
.bring-list li span { min-width: 0; overflow-wrap: anywhere; }
.bring-list .icon { color: var(--brand); width: 21px; height: 21px; margin-top: 3px; }
.empty-state { text-align: center; display: grid; grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 12px; min-width: 0; }
.empty-state > * { min-width: 0; max-width: 100%; }
.empty-mark { width: 80px; height: 80px; }
.empty-state .big { font-size: 56px; font-weight: 700; color: var(--brand); line-height: 1; font-variant-numeric: tabular-nums; }
.empty-state h1 { font-size: clamp(24px, 6vw, 34px); margin: 0; }
.empty-state p { color: var(--ink-2); max-width: 560px; margin: 0; }
.empty-state .search-form { width: 100%; }
.empty-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.post-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
.post-card img, .post-cover img { border-radius: 12px; margin-bottom: 12px; }
.faq-page { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; max-width: 900px; }

/* Search form */
.search-form { display: flex; align-items: center; gap: 8px; background: #fff; border: 1px solid var(--field); border-radius: 12px; padding: 4px; padding-inline-start: 14px; max-width: 640px; margin-inline: auto; min-width: 0; }
.search-form:focus-within { border-color: var(--brand); box-shadow: 0 0 0 2px var(--brand); }
.search-form .icon { color: var(--muted); width: 20px; height: 20px; }
.search-form input[type="search"] { flex: 1; min-width: 0; border: 0; background: transparent; padding: 8px 4px; outline: none; font-size: 16px; text-overflow: ellipsis; }
.search-form .btn { min-height: 44px; padding: 0 18px; }

/* ---------- Uniforms and the quote form ---------- */
.biz-head { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: center; margin-top: 8px; }
.biz-head-text { min-width: 0; }
.biz-head-text .page-lead { margin-bottom: 24px; }
.biz-head-img { margin: 0; min-width: 0; }
.biz-head-img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius); }
.point-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.point-card { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; align-content: start; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; min-width: 0; color: var(--ink); }
.point-card h3 { font-size: 18px; font-weight: 700; margin: 8px 0 0; }
.point-card p { margin: 0; color: var(--ink-2); font-size: 15px; line-height: 1.75; }
.quote-wrap { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; margin-top: 48px; align-items: start; }
.quote-info { min-width: 0; padding: 24px; border-radius: var(--radius); background: var(--panel); }
.quote-info h2 { font-size: 22px; }
.quote-steps { margin: 0 0 24px; padding-inline-start: 1.4em; display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; color: var(--ink-2); }
.quote-steps li::marker { color: var(--brand); font-weight: 700; }
.quote-contacts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
.quote-contacts li { display: flex; align-items: center; gap: 10px; min-width: 0; overflow-wrap: anywhere; }
.quote-contacts .icon { width: 20px; height: 20px; color: var(--brand); }
.quote-contacts a { display: inline-flex; align-items: center; min-height: 44px; color: var(--brand); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.quote-card { min-width: 0; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); }
.quote-fallback h3 { font-size: 20px; }
.quote-fallback p { color: var(--ink-2); }
.swl { min-width: 0; color: var(--ink); }
.swl-title { font-size: 21px; font-weight: 700; margin: 0 0 4px; }
.swl-intro { margin: 0 0 16px; color: var(--ink-2); font-size: 15px; }
.swl-form { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.swl-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.swl-field { display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; min-width: 0; margin: 0; padding: 0; border: 0; }
.swl-field label, .swl-channel legend { color: var(--ink-2); font-weight: 500; font-size: 14.5px; line-height: 1.45; }
.swl-field input, .swl-field select, .swl-field textarea { width: 100%; min-width: 0; min-height: 48px; padding: 10px 14px; border: 1px solid var(--field); border-radius: var(--radius-sm); background: #fff; color: var(--ink); font-size: 16px; }
.swl-field textarea { min-height: 112px; resize: vertical; }
.swl-field select { appearance: none; -webkit-appearance: none; padding-inline-end: 40px; background: #fff var(--chev) no-repeat left 12px center / 18px; }
[dir="ltr"] .swl-field select { background-position: right 12px center; }
.swl-field input:focus, .swl-field select:focus, .swl-field textarea:focus { border-color: var(--brand); outline: 2px solid var(--brand); outline-offset: 1px; }
.swl-channel { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.swl-channel legend { width: 100%; margin-bottom: 6px; }
.swl-channel label { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; }
.swl-channel input { width: 18px; height: 18px; min-height: 0; accent-color: var(--brand); }
.swl-actions { margin: 0; }
.swl-submit { width: 100%; min-height: 52px; border: 0; border-radius: var(--radius-sm); background: var(--brand); color: #fff; font-family: var(--font); font-weight: 700; font-size: 16.5px; cursor: pointer; transition: background-color .2s; }
.swl-submit:hover { background: var(--brand-2); }
.swl-privacy { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.swl-privacy a { color: var(--brand); text-decoration: underline; }
.swl-notice { margin: 0 0 16px; padding: 12px 16px; border-radius: var(--radius-sm); font-size: 15px; font-weight: 700; line-height: 1.65; }
.swl-notice.is-success { background: #e3f1e9; color: #17573a; }
.swl-notice.is-error { background: #fff1ef; color: #8b221d; }
.swl-trap { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; }

/* Contact page */
.contact-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: start; }
.contact-card { padding: 24px; border-radius: var(--radius); background: var(--panel); color: var(--ink); min-width: 0; }
.contact-card ul { list-style: none; margin: 0 0 24px; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.contact-card li { display: flex; gap: 12px; align-items: flex-start; }
.contact-card li > span { display: grid; min-width: 0; overflow-wrap: anywhere; }
.contact-card strong { font-weight: 500; font-size: 13.5px; color: var(--muted); }
.contact-card .icon { color: var(--brand); width: 22px; height: 22px; margin-top: 2px; }
.contact-card li a { color: var(--brand); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.contact-actions { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
.contact-actions .icon { color: currentColor; margin: 0; }
.contact-hint { margin: 16px 0 0; font-size: 14px; color: var(--ink-2); }
.contact-form { padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.swst-contact { display: block !important; margin: 0 !important; color: var(--ink); }
.swst-contact .swst-contact-form { padding: 0 !important; border: 0 !important; background: none !important; }
.swst-contact .swst-contact-details { display: none !important; }
.swst-contact h2 { margin-top: 0 !important; font-size: 22px !important; font-family: var(--font) !important; }
.swst-contact .swst-intro { color: var(--muted) !important; }
.swst-contact input:not([type=hidden]), .swst-contact textarea { background: #fff !important; border-color: var(--field) !important; }
.swst-contact .swst-submit { font-family: var(--font) !important; background: var(--brand) !important; color: #fff !important; border-radius: var(--radius-sm) !important; }
.swst-contact .swst-submit:hover { background: var(--brand-2) !important; }
.swst-contact a { color: var(--brand) !important; }
.swst-contact .swst-trap { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; }

/* ---------- Footer ---------- */
.site-footer { background: var(--dark); color: var(--on-dark); padding-top: 48px; font-size: 15px; }
.site-footer a { color: var(--on-dark-2); }
.site-footer a:hover { color: #fff; }
.site-footer .brand { color: #fff; }
.site-footer .brand-sub { color: var(--on-dark-2); }
.site-footer .mark-tile { stroke: rgba(255, 255, 255, .3); stroke-width: 1.2; }
.site-footer .btn-light, .site-footer .btn-light:hover { color: var(--brand); margin-bottom: 16px; }
.site-footer .btn-light:hover { color: var(--brand-2); }
.footer-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 24px; padding-bottom: 32px; }
.footer-brand, .footer-contact { grid-column: 1 / -1; min-width: 0; }
.footer-brand p { margin: 16px 0; color: var(--on-dark-2); max-width: 420px; }
.footer-title { margin: 0 0 12px; font-size: 16px; font-weight: 700; color: #fff; }
.footer-col { min-width: 0; }
.footer-col ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.footer-col li { color: var(--on-dark-2); min-width: 0; overflow-wrap: anywhere; }
.footer-contact li { display: flex; gap: 10px; align-items: flex-start; }
.footer-contact li > span, .footer-contact li > a { min-width: 0; }
.footer-contact .icon { width: 18px; height: 18px; margin-top: 5px; color: var(--on-dark-2); }
.socials { display: flex; gap: 8px; }
.socials a { position: relative; width: 44px; height: 44px; border-radius: var(--radius-sm); display: grid; place-items: center; background: rgba(255, 255, 255, .08); }
.socials a:hover { background: rgba(255, 255, 255, .16); color: #fff; }
.socials .icon { width: 19px; height: 19px; }
.footer-bottom { display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: space-between; align-items: center; border-top: 1px solid rgba(255, 255, 255, .14); padding-block: 16px; font-size: 13.5px; color: var(--on-dark-2); }
.footer-legal { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; }
.site-footer .footer-legal a { color: var(--on-dark); }
.pay-badge { display: inline-flex; align-items: center; gap: 6px; }
.pay-badge .icon { width: 18px; height: 18px; color: var(--on-dark-2); }

/* ---------- Phone tab bar ---------- */
.tabbar { position: fixed; inset-inline: 0; bottom: 0; z-index: 45; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); background: rgba(255, 255, 255, .98); border-top: 1px solid var(--line); padding-bottom: env(safe-area-inset-bottom); }
.tabbar a { position: relative; display: grid; justify-items: center; gap: 2px; padding: 8px 0 6px; font-size: 12.5px; font-weight: 500; color: var(--muted); min-width: 0; }
.tabbar a > span:last-child { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tabbar .icon { width: 22px; height: 22px; }
.tabbar [aria-current="page"] { color: var(--brand); }
.tabbar [aria-current="page"]::before { content: ""; position: absolute; top: 0; width: 28px; height: 3px; border-radius: 0 0 3px 3px; background: var(--brand); }
.tab-icon { position: relative; display: inline-grid; }
.tabbar .ghurza-cart-count { top: -6px; inset-inline-end: -10px; }

/* ---------- Light motion: a short fade on first view ---------- */
[data-reveal] { transition: opacity .5s ease, transform .5s ease; }
[data-reveal].is-pending { opacity: 0; transform: translateY(12px); }

/* ---------- Phones ---------- */
@media (max-width: 599px) {
	.demo-bar { font-size: 12.5px; }
	.demo-bar-inner { flex-wrap: wrap; }
	.hero { padding-top: 16px; }
	.hero-media { order: -1; }
	.hero-chip { bottom: 12px; inset-inline-start: 12px; max-width: calc(100% - 24px); padding: 6px 12px; }
	.section-head { flex-wrap: wrap; align-items: flex-end; }
}

@media (max-width: 380px) {
	.brand-name { font-size: 21px; }
	.brand-mark { width: 36px; height: 36px; }
	.brand { gap: 8px; }
	.brand-sub { font-size: 12px; }
	html[lang^="en"] .brand-name { font-size: 17px; letter-spacing: .06em; }
	.woocommerce ul.products li.product .price { font-size: 18px; padding-inline-end: 96px; }
	.woocommerce ul.products li.product .card-btn { min-width: 72px; padding-inline: 12px; }
	.extra-img, .extras-home .extra-icon { width: 72px; }
	.extras-home .extra-icon { height: 72px; }
}

@media (max-width: 1023px) {
	.header-actions .lang-btn { min-width: 38px; padding: 0 8px; margin-inline-end: 0; }
}

/* ---------- Larger screens ---------- */
@media (min-width: 560px) {
	.woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
	.amenity-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.finder-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.finder .btn { width: auto; justify-self: start; min-width: 200px; }
	.extras-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.order-dates { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.swl-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.included-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.feature-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.contact-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 600px) {
	:root { --gutter: 24px; }
	.woocommerce .woocommerce-ordering select { width: auto; }
	.steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.point-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.voice-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.woocommerce div.product div.images { margin-inline: 0 !important; }
	.woocommerce div.product div.images img { border-radius: var(--radius); }
	.woocommerce div.product div.images .flex-control-thumbs { padding-inline: 0; }
}

@media (min-width: 760px) {
	.shop-head { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); padding: 24px; gap: 32px; }
	.contact-grid { grid-template-columns: minmax(0, .85fr) minmax(0, 1.3fr); gap: 32px; }
	.contact-card, .contact-form { padding: 32px; }
	.contact-actions { grid-template-columns: minmax(0, 1fr); }
	.biz-head { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; }
	.cta-inner { grid-template-columns: minmax(0, 1fr) auto; gap: 32px; }
	.split { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; }
	.split-reverse .split-media { order: 2; }
	.split-solo { grid-template-columns: minmax(0, 1fr); max-width: 760px; }
}

@media (min-width: 960px) {
	.section { padding-block: 88px; }
	.section-head { margin-bottom: 32px; }
	.hero { padding-block: 56px 72px; }
	.hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; }
	.hero-lead { font-size: 18px; }
	.amenity-list { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
	.amenities { padding-block: 40px; }
	.woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
	/* The home page's five services: three in the first row, two wider ones in the second. */
	.services-grid ul.products { grid-template-columns: repeat(6, minmax(0, 1fr)); }
	.services-grid ul.products li.product { grid-column: span 2; }
	.services-grid ul.products li.product:nth-child(4), .services-grid ul.products li.product:nth-child(5) { grid-column: span 3; }
	.services-grid ul.products li.product:nth-child(4) .card-media, .services-grid ul.products li.product:nth-child(5) .card-media { aspect-ratio: 16 / 9; }
	.extras-home .extras-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
	.steps { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.point-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.voice-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.brand-band { padding-block: 88px; }
	.split { gap: 64px; }
	.faq-grid { grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: 56px; align-items: start; }
	.cta-band { padding-block: 64px; }
	.woocommerce div.product { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 48px; align-items: start; margin-top: 16px; }
	.included-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.quote-wrap { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 32px; }
	.footer-grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, .75fr) minmax(0, .75fr) minmax(0, 1.4fr); gap: 40px; padding-bottom: 48px; }
	.footer-brand, .footer-contact { grid-column: auto; }
	.woocommerce-account .woocommerce { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 32px; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul { display: grid; }
	.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
}

/* The header becomes the desktop one when the menu fits. */
@media (min-width: 1024px) {
	:root { --header-h: 76px; }
	body, body.single-product { padding-bottom: 0; }
	.only-mobile { display: none !important; }
	.main-nav.only-desktop { display: flex !important; }
	.icon-btn.only-desktop { display: inline-grid !important; }
	.admin-bar .site-header { top: 32px; }
	.header-row { gap: 20px; }
	.main-nav { justify-self: center; }
	.toast, body.single-product .toast { bottom: 24px; }
}

@media (min-width: 1200px) {
	.site-header .header-phone.only-desktop { display: inline-flex !important; }
}

@media (min-width: 1024px) and (max-width: 1199px) {
	.main-nav .nav-list a { padding-inline: 10px; font-size: 15px; }
	.main-nav .nav-list > li > a::after { inset-inline: 10px; }
}

/* Touch screens: every control is at least 44px (nothing here shows what another rule hides). */
@media (pointer: coarse) {
	.lang-btn { height: 44px; min-width: 44px; }
	.chip, .woocommerce-account .woocommerce-MyAccount-navigation li a { min-height: 44px; }
	.demo-bar-close { width: 44px; height: 44px; }
	.footer-col li a, .footer-legal a, .demo-bar a, .breadcrumb a, .extra-name, .promise a, .summary-kicker, .store-note a, .contact-card li a { display: inline-flex; align-items: center; min-height: 44px; }
	.footer-col ul { gap: 0; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
	[data-reveal].is-pending { opacity: 1; transform: none; }
	.woocommerce ul.products li.product:hover .card-media img { transform: none; }
}

/* English pages: the headline fits. */
html[lang^="en"] .hero-title { font-size: clamp(30px, 7vw, 48px); }
