/*
Theme Name: Four Star Signs
Theme URI: https://fourstarkw.com/
Author: Four Star Digital Advertising
Description: Premium Arabic-first WooCommerce catalogue theme for custom metal and acrylic signs in Kuwait.
Version: 1.0.6
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: four-star-signs
*/

:root {
	--fs-yellow: #ffd000;
	--fs-yellow-deep: #f1b900;
	--fs-black: #050505;
	--fs-charcoal: #101010;
	--fs-ink: #111318;
	--fs-muted: #666a73;
	--fs-line: #e8e8e8;
	--fs-surface: #f7f7f7;
	--fs-white: #fff;
	--fs-shadow: 0 16px 40px rgba(0, 0, 0, .09);
	--fs-shadow-strong: 0 24px 70px rgba(0, 0, 0, .2);
	--fs-radius: 11px;
	--fs-container: 1320px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--fs-white);
	color: var(--fs-ink);
	font-family: "Inter", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
body.fs-rtl { font-family: "Cairo", Tahoma, Arial, sans-serif; }
body.fs-rtl svg.fs-directional,
body.fs-rtl .fs-button svg:not(:first-child),
body.fs-rtl .fs-card-arrow svg,
body.fs-rtl .fs-catalog-card__arrow svg { transform: scaleX(-1); }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
svg { width: 1em; height: 1em; fill: currentColor; }
[hidden] { display: none !important; }
.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0);
	white-space: nowrap; border: 0;
}
.fs-skip-link { position: fixed; top: -100px; inset-inline-start: 20px; z-index: 9999; background: var(--fs-yellow); padding: 10px 16px; font-weight: 800; }
.fs-skip-link:focus { top: 12px; }
.fs-container { width: min(calc(100% - 48px), var(--fs-container)); margin-inline: auto; }
.fs-main { min-height: 50vh; }
.fs-section { padding: 64px 0; }
.fs-section-heading { max-width: 760px; margin: 0 auto 30px; text-align: center; }
.fs-section-heading > p,
.fs-kicker { display: block; margin: 0 0 6px; color: #62656b; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.fs-section-heading h2 { position: relative; margin: 0; font-size: clamp(26px, 3vw, 38px); line-height: 1.18; letter-spacing: -.035em; }
.fs-section-heading h2::after { content: ""; display: block; width: 42px; height: 3px; margin: 11px auto 0; background: var(--fs-yellow); border-radius: 99px; }
.fs-section-heading--dark > p { color: #b8b8b8; }
.fs-section-heading--dark h2 { color: #fff; }
.fs-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 48px;
	padding: 12px 22px;
	border: 2px solid transparent;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
	cursor: pointer;
	transition: transform .22s ease, box-shadow .22s ease, background .22s ease, border-color .22s ease;
}
.fs-button:hover { transform: translateY(-2px); }
.fs-button svg { width: 18px; height: 18px; flex: 0 0 auto; }
.fs-button--primary { color: #060606; background: var(--fs-yellow); box-shadow: 0 10px 26px rgba(255, 208, 0, .2); }
.fs-button--primary:hover { background: #ffe04e; box-shadow: 0 14px 34px rgba(255, 208, 0, .3); }
.fs-button--dark { color: #fff; background: #050505; }
.fs-button--outline { color: #fff; border-color: var(--fs-yellow); background: rgba(0, 0, 0, .35); }
.fs-button--outline:hover { color: #050505; background: var(--fs-yellow); }
.fs-button--outline-dark { color: #050505; border-color: #050505; background: transparent; }
.fs-button--small { min-height: 42px; padding: 10px 17px; font-size: 13px; }
.fs-ltr-text, .fs-ltr-input { direction: ltr; unicode-bidi: embed; }

/* Announcement and header */
.fs-announcement { position: relative; z-index: 102; color: #050505; background: var(--fs-yellow); font-size: 12px; font-weight: 700; }
.fs-announcement__inner { min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.fs-announcement__items { display: flex; align-items: center; justify-content: center; gap: 38px; flex: 1; }
.fs-announcement__location { display: flex; align-items: center; gap: 5px; white-space: nowrap; }
.fs-announcement__location svg { width: 14px; height: 14px; }
.fs-site-header { position: sticky; top: 0; z-index: 100; color: #fff; background: rgba(2, 2, 2, .96); border-bottom: 1px solid rgba(255, 255, 255, .06); backdrop-filter: blur(16px); }
.admin-bar .fs-site-header { top: 32px; }
.fs-site-header__inner { min-height: 82px; display: grid; grid-template-columns: 275px 1fr auto; align-items: center; gap: 26px; }
.fs-brand { display: inline-flex; align-items: center; gap: 12px; min-width: 0; }
.fs-brand__image { width: auto; max-width: 248px; max-height: 66px; object-fit: contain; }
.fs-brand__mark { position: relative; display: inline-grid; place-items: center; width: 61px; height: 61px; color: var(--fs-yellow); border: 3px solid currentColor; border-radius: 50%; transform: rotate(-8deg); }
.fs-brand__mark::before, .fs-brand__mark::after { content: ""; position: absolute; inset: -8px 12px auto; height: 3px; background: currentColor; transform: rotate(22deg); }
.fs-brand__mark::after { inset: auto 8px -6px 16px; transform: rotate(-18deg); }
.fs-brand__mark b { font-size: 34px; line-height: 1; }
.fs-brand__mark i { position: absolute; inset-inline-end: -8px; top: 5px; font-style: normal; font-size: 21px; text-shadow: 0 0 12px #000; }
.fs-brand__words { display: grid; line-height: 1.1; }
.fs-brand__words strong { font-size: 18px; letter-spacing: .04em; }
.fs-brand__words small { margin-top: 4px; color: #b8b8b8; font-size: 9px; letter-spacing: .08em; }
.fs-primary-nav { justify-self: center; }
.fs-primary-nav > ul { display: flex; align-items: center; justify-content: center; gap: 38px; margin: 0; padding: 0; list-style: none; }
.fs-primary-nav a { position: relative; display: inline-flex; align-items: center; gap: 5px; padding: 28px 0; font-size: 14px; font-weight: 700; white-space: nowrap; }
.fs-primary-nav > ul > li > a::after { content: ""; position: absolute; inset-inline: 50%; bottom: 18px; height: 2px; background: var(--fs-yellow); transition: inset .2s ease; }
.fs-primary-nav > ul > li:hover > a::after, .fs-primary-nav > ul > li:focus-within > a::after { inset-inline: 0; }
.fs-has-submenu { position: relative; }
.fs-submenu-caret { color: var(--fs-yellow); }
.fs-submenu-toggle { display: none; }
.fs-submenu {
	position: absolute;
	top: calc(100% - 8px);
	inset-inline-start: 50%;
	z-index: 20;
	min-width: 260px;
	margin: 0;
	padding: 10px;
	list-style: none;
	background: #111;
	border: 1px solid #2a2a2a;
	border-radius: 10px;
	box-shadow: var(--fs-shadow-strong);
	opacity: 0;
	visibility: hidden;
	transform: translate(-50%, 10px);
	transition: .2s ease;
}
.fs-rtl .fs-submenu { transform: translate(50%, 10px); }
.fs-has-submenu:hover .fs-submenu, .fs-has-submenu:focus-within .fs-submenu { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.fs-rtl .fs-has-submenu:hover .fs-submenu, .fs-rtl .fs-has-submenu:focus-within .fs-submenu { transform: translate(50%, 0); }
.fs-submenu a { display: block; padding: 10px 13px; border-radius: 7px; color: #e8e8e8; font-size: 13px; }
.fs-submenu a:hover { color: #050505; background: var(--fs-yellow); }
.fs-header-actions { display: flex; align-items: center; gap: 10px; }
.fs-language-switch { display: grid; place-items: center; min-width: 74px; height: 34px; padding-inline: 12px; color: #fff; border: 1px solid #555; border-radius: 6px; font-size: 12px; font-weight: 800; white-space: nowrap; }
.fs-language-switch:hover { color: #050505; background: var(--fs-yellow); border-color: var(--fs-yellow); }
.fs-menu-toggle { display: none; width: 42px; height: 40px; padding: 9px; border: 1px solid #333; border-radius: 7px; color: #fff; background: transparent; }
.fs-menu-toggle > span:not(.screen-reader-text) { display: block; width: 100%; height: 2px; margin: 4px 0; background: currentColor; transition: .2s ease; }
.fs-drawer-header, .fs-menu-backdrop { display: none; }

/* Hero */
.fs-hero { position: relative; overflow: hidden; background: #030303; isolation: isolate; }
.fs-hero--placeholder { min-height: 520px; }
.fs-hero__media { position: relative; z-index: 0; display: block; width: 100%; }
.fs-hero__media img { display: block; width: 100%; height: auto; }
.fs-hero__art { position: absolute; z-index: 0; inset: 0; width: 100%; overflow: hidden; background: linear-gradient(120deg, #070707 0%, #15100a 48%, #060606 100%); }
.fs-hero__art::before { content: ""; position: absolute; inset: 0; opacity: .75; background: repeating-linear-gradient(90deg, transparent 0 76px, rgba(255, 200, 80, .11) 77px 78px), linear-gradient(160deg, transparent 46%, rgba(255, 194, 62, .22) 46.2%, transparent 47%), radial-gradient(circle at 50% 42%, rgba(255, 182, 48, .25), transparent 34%); }
.fs-hero__art::after { content: ""; position: absolute; top: 50%; left: 50%; width: 420px; height: 280px; background: linear-gradient(145deg, #302a23, #171512); box-shadow: inset 0 0 0 2px #413a31, 0 50px 100px #000; transform: translate(-50%, -50%) perspective(650px) rotateY(-7deg); }
.fs-rtl .fs-hero__art::after { transform: translate(-50%, -50%) perspective(650px) rotateY(7deg); }
.fs-banner-hitarea { position: absolute; inset: 0; z-index: 2; cursor: pointer; }
.fs-banner-hitarea:focus-visible { outline: 3px solid var(--fs-yellow); outline-offset: -3px; }

/* Carousels and homepage cards */
.fs-collections-section { background: #fff; }
.fs-carousel-wrap { position: relative; }
.fs-scroll-track { scrollbar-width: none; overscroll-behavior-inline: contain; }
.fs-scroll-track::-webkit-scrollbar { display: none; }
.fs-collection-track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc(16.6667% - 10px);
	gap: 12px;
	overflow-x: auto;
	padding: 4px 2px 14px;
	scroll-snap-type: inline mandatory;
	scroll-behavior: smooth;
}
.fs-collection-card { min-width: 0; scroll-snap-align: start; }
.fs-collection-card > a { display: block; height: 100%; overflow: hidden; background: #f5f5f5; border: 1px solid #ebebeb; border-radius: 10px; transition: transform .22s ease, box-shadow .22s ease; }
.fs-collection-card > a:hover { transform: translateY(-5px); box-shadow: var(--fs-shadow); }
.fs-collection-card__image { height: 164px; overflow: hidden; background: #111; }
.fs-collection-card__image img { width: 100%; height: 100%; object-fit: cover; }
.fs-preview-art { position: relative; display: grid; place-items: center; width: 100%; height: 100%; overflow: hidden; color: #ffdc86; background: radial-gradient(circle at 50% 55%, #553312, #17100a 40%, #080808 73%); }
.fs-preview-art::before, .fs-preview-art::after { content: ""; position: absolute; inset: 10% 8%; border: 1px solid rgba(255, 209, 98, .2); transform: perspective(300px) rotateX(8deg); }
.fs-preview-art::after { inset: auto 10% 8%; height: 18%; border: 0; background: linear-gradient(90deg, transparent, rgba(81, 140, 44, .45), transparent); filter: blur(7px); }
.fs-preview-art span { position: relative; z-index: 1; max-width: 90%; font-family: Georgia, "Cairo", serif; font-size: clamp(22px, 2.5vw, 45px); font-weight: 700; text-align: center; line-height: 1.05; text-shadow: 0 0 4px #fff3bd, 0 0 15px #ffb120, 0 0 28px #c66b00; }
.fs-preview-art--business-signage span, .fs-preview-art--outdoor-signs span { font-size: 22px; letter-spacing: .05em; }
.fs-collection-card__body { position: relative; min-height: 154px; padding: 15px 40px 16px 14px; }
.fs-rtl .fs-collection-card__body { padding: 15px 14px 16px 40px; }
.fs-collection-card__body h3 { margin: 0 0 7px; font-size: 14px; line-height: 1.25; }
.fs-collection-card__body p { margin: 0; color: #555a63; font-size: 11px; line-height: 1.5; }
.fs-card-arrow { position: absolute; inset-inline-end: 12px; bottom: 14px; display: grid; place-items: center; width: 24px; height: 24px; color: #050505; background: var(--fs-yellow); border-radius: 50%; }
.fs-card-arrow svg { width: 14px; height: 14px; }
.fs-carousel-arrow { position: absolute; top: 50%; z-index: 3; display: grid; place-items: center; width: 38px; height: 38px; padding: 0; color: #111; background: #fff; border: 1px solid #d9d9d9; border-radius: 50%; box-shadow: 0 8px 24px rgba(0, 0, 0, .12); font-size: 27px; line-height: 1; transform: translateY(-50%); cursor: pointer; }
.fs-carousel-arrow:hover { background: var(--fs-yellow); border-color: var(--fs-yellow); }
.fs-carousel-arrow--prev { inset-inline-start: -19px; }
.fs-carousel-arrow--next { inset-inline-end: -19px; }

.fs-products-section { background: linear-gradient(180deg, #fafafa, #f2f2f2); }
.fs-product-filters { display: flex; flex-wrap: nowrap; justify-content: center; gap: 10px; margin: 0 auto 22px; overflow-x: auto; padding: 2px 4px 8px; scrollbar-width: none; }
.fs-product-filters::-webkit-scrollbar { display: none; }
.fs-product-filters button { flex: 0 0 auto; min-width: 94px; padding: 9px 18px; color: #31343a; background: #fff; border: 1px solid #e2e2e2; border-radius: 99px; font-size: 12px; cursor: pointer; }
.fs-product-filters button:hover, .fs-product-filters button.is-active { color: #050505; background: var(--fs-yellow); border-color: var(--fs-yellow); font-weight: 800; }
.fs-products-track {
	display: grid;
	grid-template-rows: repeat(2, auto);
	grid-auto-flow: column;
	grid-auto-columns: calc(16.6667% - 10px);
	gap: 12px;
	overflow-x: auto;
	padding: 4px 2px 16px;
	scroll-snap-type: inline mandatory;
	scroll-behavior: smooth;
}
.fs-product-carousel-wrap .fs-carousel-arrow { top: 48%; }
.fs-product-card { min-width: 0; scroll-snap-align: start; }
.fs-product-card > a { display: block; height: 100%; overflow: hidden; background: #fff; border: 1px solid #eaeaea; border-radius: 9px; transition: transform .22s ease, box-shadow .22s ease; }
.fs-product-card > a:hover { transform: translateY(-4px); box-shadow: var(--fs-shadow); }
.fs-product-card__image { height: 190px; overflow: hidden; background: #121212; }
.fs-product-card__image > img { width: 100%; height: 100%; object-fit: cover; image-rendering: auto; }
.fs-product-card__body { min-height: 92px; padding: 11px 14px 14px; }
.fs-product-card__name-ar { margin: 0 0 4px; color: #17191d; font-family: "Cairo", sans-serif; font-size: 14px; font-weight: 800; line-height: 1.35; text-align: right; }
.fs-product-card__name-en { margin: 0; color: #686c73; font-family: "Inter", sans-serif; font-size: 10px; font-weight: 600; line-height: 1.35; text-align: left; }
.fs-custom-price { margin: 0; color: #7a5a00; font-size: 11px; font-weight: 700; line-height: 1.35; }
.fs-product-preview, .fs-product-placeholder { position: relative; display: grid; place-items: center; width: 100%; height: 100%; overflow: hidden; color: #ffe08e; background: radial-gradient(circle at 55% 48%, #6c4316, #17100b 42%, #050505 72%); }
.fs-product-preview::before { content: ""; position: absolute; inset: 0; background: linear-gradient(130deg, transparent 28%, rgba(255, 255, 255, .07) 29%, transparent 31%), repeating-linear-gradient(90deg, transparent 0 52px, rgba(255, 204, 82, .08) 53px 54px); }
.fs-product-preview > span { position: relative; z-index: 1; max-width: 90%; padding: 8px; font-family: Georgia, "Cairo", serif; font-size: clamp(20px, 2.3vw, 40px); font-weight: 700; text-align: center; line-height: 1.05; text-shadow: 0 0 5px #fff0b1, 0 0 18px #f3a91e; }
.fs-product-preview > small { position: absolute; inset-inline-end: 9px; bottom: 8px; z-index: 2; padding: 3px 6px; color: #d9d9d9; background: rgba(0, 0, 0, .55); border-radius: 4px; font-size: 8px; }
.fs-product-preview--1 { background: radial-gradient(circle, #55350c, #0a0a0a 65%); }
.fs-product-preview--2 { background: radial-gradient(circle at 70% 40%, #8d5916, #13100c 38%, #050505 70%); }
.fs-product-preview--3 { background: radial-gradient(circle at 45% 40%, #5c310e, #100b07 50%, #020202); }
.fs-product-preview--4 { background: radial-gradient(circle at 70% 75%, #36492a, #151710 28%, #050505 68%); }
.fs-product-preview--5 { background: radial-gradient(circle at 50% 50%, #643b0b, #120b05 42%, #050505); }
.fs-section-action { margin-top: 22px; text-align: center; }

/* Process and reviews */
.fs-process-section { padding: 50px 0 44px; color: #fff; background: radial-gradient(circle at 50% 10%, #171717, #050505 60%); }
.fs-process-section .fs-section-heading { margin-bottom: 24px; }
.fs-process-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 34px; }
.fs-process-step { position: relative; display: grid; grid-template-columns: 72px 1fr; align-items: center; gap: 16px; min-width: 0; }
.fs-process-step:not(:last-child)::after { content: "⟶"; position: absolute; top: 27px; inset-inline-end: -27px; color: #a7a7a7; font-size: 22px; }
.fs-rtl .fs-process-step:not(:last-child)::after { transform: scaleX(-1); }
.fs-process-step__icon { position: relative; display: grid; place-items: center; width: 66px; height: 66px; color: #050505; background: var(--fs-yellow); border-radius: 50%; font-size: 27px; }
.fs-process-step__icon span { position: absolute; top: -3px; inset-inline-end: -3px; display: grid; place-items: center; min-width: 23px; height: 20px; padding: 0 3px; background: #090909; border: 1px solid var(--fs-yellow); color: var(--fs-yellow); border-radius: 4px; font-size: 10px; font-weight: 800; }
.fs-process-step h3 { margin: 0 0 4px; font-size: 15px; line-height: 1.25; }
.fs-process-step p { margin: 0; color: #c5c5c5; font-size: 11px; line-height: 1.5; }

.fs-reviews-section { background: #fff; }
.fs-review-slider { position: relative; padding-inline: 28px; }
.fs-review-track { display: flex; gap: 16px; overflow: hidden; scroll-behavior: smooth; scroll-snap-type: inline mandatory; }
.fs-review-card { flex: 0 0 calc((100% - 32px) / 3); display: grid; grid-template-columns: 1.35fr .82fr; min-height: 190px; overflow: hidden; background: #fff; border: 1px solid #dfdfdf; border-radius: 10px; box-shadow: 0 7px 20px rgba(0, 0, 0, .05); scroll-snap-align: start; }
.fs-review-card__copy { display: flex; flex-direction: column; padding: 18px; }
.fs-stars { color: var(--fs-yellow-deep); letter-spacing: 2px; font-size: 15px; }
.fs-review-card blockquote { margin: 10px 0 13px; font-size: 12px; line-height: 1.55; }
.fs-review-card strong { margin-top: auto; font-size: 11px; }
.fs-review-card small { color: #6c6c6c; font-size: 9px; }
.fs-review-card__image { min-height: 100%; padding: 12px; }
.fs-review-card__image img, .fs-review-placeholder { width: 100%; height: 100%; min-height: 160px; object-fit: cover; border-radius: 7px; }
.fs-review-placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 10px; color: #f8ca63; background: radial-gradient(circle at 50% 40%, #51300c, #070707 62%); text-align: center; }
.fs-review-placeholder span { font-family: Georgia, "Cairo", serif; font-size: clamp(20px, 2.4vw, 34px); text-shadow: 0 0 15px #e69711; }
.fs-review-placeholder small { color: #aaa; font-size: 7px; }
.fs-review-arrow { position: absolute; top: 50%; z-index: 3; display: grid; place-items: center; width: 34px; height: 34px; padding: 0; color: #111; background: #fff; border: 1px solid #bcbcbc; border-radius: 50%; transform: translateY(-50%); cursor: pointer; }
.fs-review-arrow--prev { inset-inline-start: -10px; }
.fs-review-arrow--next { inset-inline-end: -10px; }
.fs-review-dots { display: flex; justify-content: center; gap: 7px; margin-top: 20px; }
.fs-review-dots button { width: 8px; height: 8px; padding: 0; background: #c7c7c7; border: 0; border-radius: 50%; cursor: pointer; }
.fs-review-dots button.is-active { width: 10px; height: 10px; background: var(--fs-yellow); }

/* Bottom banner */
.fs-bottom-banner { position: relative; min-height: 245px; overflow: hidden; background: #16100a; isolation: isolate; }
.fs-bottom-banner--has-image { min-height: 0; }
.fs-bottom-banner__media { position: relative; z-index: 0; display: block; width: 100%; }
.fs-bottom-banner__media img { display: block; width: 100%; height: auto; }

/* Footer */
.fs-site-footer { color: #d3d3d3; background: #030303; }
.fs-footer-grid { display: grid; grid-template-columns: 1.42fr .82fr 1fr .95fr .95fr; gap: 32px; padding-top: 48px; padding-bottom: 38px; border-bottom: 1px solid #282828; }
.fs-footer-brand { padding-inline-end: 25px; border-inline-end: 1px solid #2a2a2a; }
.fs-brand--footer { color: #fff; }
.fs-brand--footer .fs-brand__image { max-height: 65px; }
.fs-footer-brand > p { margin: 16px 0 0; color: #b7b7b7; font-size: 12px; line-height: 1.6; }
.fs-footer-brand .fs-footer-address { display: flex; align-items: flex-start; gap: 8px; color: #e0e0e0; }
.fs-footer-address svg { flex: 0 0 auto; width: 15px; height: 15px; margin-top: 3px; color: var(--fs-yellow); }
.fs-socials { display: flex; flex-wrap: nowrap; align-items: center; gap: 8px; width: max-content; max-width: 100%; margin-top: 15px; direction: ltr; }
.fs-socials a { display: grid; flex: 0 0 34px; place-items: center; width: 34px; height: 34px; overflow: hidden; border: 1px solid rgba(255, 255, 255, .26); border-radius: 50%; color: #fff; box-shadow: 0 5px 14px rgba(0, 0, 0, .22); transition: transform .2s ease, filter .2s ease, box-shadow .2s ease; }
.fs-socials a svg { width: 16px; height: 16px; }
.fs-social-link--facebook { background: #1877f2; }
.fs-social-link--instagram { background: radial-gradient(circle at 30% 105%, #ffd600 0 18%, #ff7a00 34%, #ff0169 58%, #d300c5 78%, #7638fa 100%); }
.fs-social-link--tiktok { background: #090909; box-shadow: -1px -1px 0 #25f4ee, 1px 1px 0 #fe2c55, 0 5px 14px rgba(0, 0, 0, .22); }
.fs-social-link--linkedin { background: #0a66c2; }
.fs-social-link--snapchat { color: #050505 !important; background: #fffc00; }
.fs-socials a:hover,
.fs-socials a:focus-visible { color: #fff; filter: brightness(1.1); transform: translateY(-3px); box-shadow: 0 8px 20px rgba(0, 0, 0, .32); outline: none; }
.fs-social-link--snapchat:hover,
.fs-social-link--snapchat:focus-visible { color: #050505; }
.fs-footer-column h2 { margin: 3px 0 15px; color: #fff; font-size: 13px; }
.fs-footer-column ul { margin: 0; padding: 0; list-style: none; }
.fs-footer-column li { margin: 0 0 7px; color: #b8b8b8; font-size: 11px; line-height: 1.45; }
.fs-footer-column a:hover { color: var(--fs-yellow); }
.fs-footer-column li svg { width: 12px; height: 12px; color: var(--fs-yellow); vertical-align: -2px; }
.fs-footer-hours p { margin: 0 0 16px; color: #bbb; font-size: 11px; }
.fs-footer-bottom { min-height: 54px; display: flex; align-items: center; }
.fs-footer-bottom p { margin: 0; color: #777; font-size: 10px; }
.fs-floating-whatsapp { position: fixed; inset-inline-end: 22px; bottom: 22px; z-index: 80; display: grid; place-items: center; width: 52px; height: 52px; color: #fff; background: #25d366; border: 3px solid #fff; border-radius: 50%; box-shadow: 0 12px 30px rgba(0, 0, 0, .25); transition: transform .2s ease; }
.fs-floating-whatsapp:hover { transform: translateY(-4px) scale(1.03); }
.fs-floating-whatsapp svg { width: 25px; height: 25px; }

/* Inner pages */
.fs-page-hero { position: relative; overflow: hidden; padding: 86px 0; color: #fff; background: radial-gradient(circle at 75% 25%, #382409 0, #12100c 23%, #050505 62%); }
.fs-rtl .fs-page-hero { background: radial-gradient(circle at 25% 25%, #382409 0, #12100c 23%, #050505 62%); }
.fs-page-hero::before { content: ""; position: absolute; inset: 0; opacity: .18; background: repeating-linear-gradient(90deg, transparent 0 99px, #ffd15a 100px 101px); }
.fs-page-hero__inner { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.fs-page-hero__inner > div:first-child { max-width: 820px; }
.fs-page-hero p { margin: 0 0 10px; color: var(--fs-yellow); font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.fs-page-hero h1 { margin: 0; font-size: clamp(40px, 6vw, 76px); line-height: 1.05; letter-spacing: -.045em; }
.fs-page-hero__inner > div > div { max-width: 650px; margin-top: 15px; color: #d2d2d2; }
.fs-page-hero__badge { position: relative; flex: 0 0 auto; display: grid; place-items: center; width: 142px; height: 142px; color: var(--fs-yellow); border: 7px solid currentColor; border-radius: 50%; box-shadow: 0 0 30px rgba(255, 208, 0, .22); transform: rotate(-8deg); }
.fs-page-hero__badge b { font-size: 90px; line-height: 1; }
.fs-page-hero__badge i { position: absolute; inset-inline-end: -20px; top: 11px; font-style: normal; font-size: 48px; }
.fs-page-hero--compact { padding: 58px 0; }
.fs-page-hero--compact h1 { font-size: clamp(34px, 5vw, 58px); }
.fs-prose { max-width: 900px; }
.fs-prose > *:first-child { margin-top: 0; }
.fs-prose h2, .fs-prose h3 { line-height: 1.25; }
.fs-prose a { color: #856600; text-decoration: underline; }
.fs-post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.fs-post-card { overflow: hidden; padding-bottom: 20px; border: 1px solid var(--fs-line); border-radius: 10px; }
.fs-post-card img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.fs-post-card h2, .fs-post-card p { margin-inline: 18px; }
.fs-post-card h2 { font-size: 20px; }
.fs-empty-state { min-height: 62vh; display: grid; place-items: center; padding: 80px 0; text-align: center; }
.fs-empty-state span { display: block; color: var(--fs-yellow-deep); font-size: clamp(80px, 18vw, 190px); font-weight: 900; line-height: .9; }
.fs-empty-state h1 { margin: 15px 0 6px; font-size: 38px; }
.fs-empty-state p { margin: 0 auto 22px; color: var(--fs-muted); }

/* About */
.fs-about-grid { display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: clamp(44px, 7vw, 100px); }
.fs-about-copy h2, .fs-contact-form-card h2, .fs-contact-details h2 { margin: 6px 0 18px; font-size: clamp(31px, 4vw, 49px); line-height: 1.1; letter-spacing: -.04em; }
.fs-rich-text { color: #535861; font-size: 16px; }
.fs-about-signature { display: inline-block; margin: 22px 0 0; padding: 12px 17px; color: #050505; background: var(--fs-yellow); border-radius: 7px; font-size: 13px; font-weight: 800; }
.fs-about-visual { position: relative; min-height: 480px; }
.fs-about-sign-preview { position: absolute; inset: 0 40px 58px 0; display: flex; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; color: #ffd878; background: radial-gradient(circle at 50% 44%, #533613, #16100b 42%, #050505 70%); border-radius: 14px; box-shadow: var(--fs-shadow-strong); }
.fs-rtl .fs-about-sign-preview { inset: 0 0 58px 40px; }
.fs-about-sign-preview::before { content: ""; position: absolute; inset: 8%; border: 1px solid rgba(255, 214, 113, .2); }
.fs-about-sign-preview span { position: relative; font-family: Georgia, serif; font-size: 110px; line-height: 1; text-shadow: 0 0 7px #fff2c0, 0 0 25px #d89119; }
.fs-about-sign-preview strong { position: relative; padding: 4px 12px; color: #ffd878; border: 1px solid #7d602f; background: #080808; }
.fs-about-sign-preview small { position: relative; margin-top: 15px; color: #a9a9a9; }
.fs-about-location-card { position: absolute; inset-inline-end: 0; bottom: 0; width: min(390px, 88%); display: grid; grid-template-columns: 44px 1fr; gap: 13px; padding: 18px; background: #fff; border-inline-start: 5px solid var(--fs-yellow); border-radius: 8px; box-shadow: var(--fs-shadow); }
.fs-about-location-card > svg { width: 31px; height: 31px; color: var(--fs-yellow-deep); }
.fs-about-location-card strong { display: block; font-size: 13px; }
.fs-about-location-card p { margin: 3px 0 0; color: #555a63; font-size: 11px; line-height: 1.5; }
.fs-about-values { background: #f5f5f5; }
.fs-value-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.fs-value-grid article { position: relative; padding: 28px 23px; overflow: hidden; background: #fff; border: 1px solid #e6e6e6; border-radius: 10px; }
.fs-value-grid article::after { content: ""; position: absolute; inset-inline: 0; bottom: 0; height: 4px; background: var(--fs-yellow); transform: scaleX(.25); transition: transform .25s ease; }
.fs-value-grid article:hover::after { transform: scaleX(1); }
.fs-value-grid article > span { display: grid; place-items: center; width: 54px; height: 54px; background: var(--fs-yellow); border-radius: 50%; font-size: 24px; }
.fs-value-grid h3 { margin: 17px 0 7px; font-size: 17px; }
.fs-value-grid p { margin: 0; color: #676b72; font-size: 13px; }
.fs-inline-cta { color: #050505; background: var(--fs-yellow); }
.fs-inline-cta__inner { min-height: 195px; display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.fs-inline-cta p { margin: 0; font-weight: 800; }
.fs-inline-cta h2 { margin: 3px 0 0; font-size: clamp(27px, 4vw, 45px); line-height: 1.1; }

/* Contact */
.fs-contact-section { background: #f5f5f5; }
.fs-contact-grid { display: grid; grid-template-columns: 1.22fr .78fr; align-items: start; gap: 28px; }
.fs-contact-form-card, .fs-contact-details { padding: clamp(26px, 4vw, 48px); background: #fff; border: 1px solid #e6e6e6; border-radius: 12px; box-shadow: var(--fs-shadow); }
.fs-contact-form-card h2, .fs-contact-details h2 { font-size: clamp(28px, 3vw, 39px); }
.fs-form-notice { margin: 0 0 19px; padding: 13px 15px; border-radius: 7px; font-size: 13px; font-weight: 700; }
.fs-form-notice--success { color: #155e31; background: #e4f8eb; border: 1px solid #a9e0bb; }
.fs-form-notice--error { color: #8b2323; background: #fff0f0; border: 1px solid #f2baba; }
.fs-contact-form { display: grid; gap: 16px; }
.fs-form-row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.fs-contact-form label { display: grid; gap: 7px; color: #34363b; font-size: 12px; font-weight: 700; }
.fs-contact-form input, .fs-contact-form textarea { width: 100%; padding: 13px 14px; color: #17191d; background: #fafafa; border: 1px solid #d8d8d8; border-radius: 7px; outline: 0; transition: border-color .18s ease, box-shadow .18s ease; }
.fs-contact-form textarea { resize: vertical; min-height: 150px; }
.fs-contact-form input:focus, .fs-contact-form textarea:focus { border-color: var(--fs-yellow-deep); box-shadow: 0 0 0 3px rgba(255, 208, 0, .16); }
.fs-honeypot { position: absolute; inset-inline-start: -10000px; }
.fs-submit-button { width: 100%; margin-top: 3px; }
.fs-contact-details > p { margin: -5px 0 25px; color: #666a72; }
.fs-contact-detail { display: grid; grid-template-columns: 50px 1fr; align-items: center; gap: 13px; margin-top: 12px; padding: 14px; background: #f7f7f7; border: 1px solid #e7e7e7; border-radius: 8px; }
a.fs-contact-detail:hover { border-color: var(--fs-yellow-deep); box-shadow: 0 8px 20px rgba(0, 0, 0, .06); }
.fs-contact-detail > span { display: grid; place-items: center; width: 44px; height: 44px; color: #050505; background: var(--fs-yellow); border-radius: 50%; }
.fs-contact-detail > span svg { width: 21px; height: 21px; }
.fs-contact-detail small, .fs-contact-detail strong { display: block; }
.fs-contact-detail small { color: #73767b; font-size: 10px; }
.fs-contact-detail strong { color: #121418; font-size: 13px; line-height: 1.4; }
.fs-contact-detail--whatsapp > span { color: #fff; background: #25d366; }
.fs-contact-hours { margin-top: 18px; padding: 18px; color: #fff; background: #0b0b0b; border-radius: 8px; }
.fs-contact-hours p { margin: 5px 0 0; color: #c5c5c5; font-size: 12px; }

/* WooCommerce archives */
.fs-shop-hero { position: relative; min-height: 330px; display: flex; align-items: center; overflow: hidden; color: #fff; background: radial-gradient(circle at 82% 50%, #4f3210, #17100a 29%, #040404 66%); }
.fs-rtl .fs-shop-hero { background: radial-gradient(circle at 18% 50%, #4f3210, #17100a 29%, #040404 66%); }
.fs-shop-hero__background, .fs-shop-hero__background img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.fs-shop-hero__background::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.93), rgba(0,0,0,.62), rgba(0,0,0,.15)); }
.fs-rtl .fs-shop-hero__background::after { background: linear-gradient(-90deg, rgba(0,0,0,.93), rgba(0,0,0,.62), rgba(0,0,0,.15)); }
.fs-shop-hero__inner { position: relative; display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; padding-block: 60px; }
.fs-shop-hero__inner > div { max-width: 760px; }
.fs-shop-hero__inner span { color: var(--fs-yellow); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.fs-shop-hero h1 { margin: 6px 0 8px; font-size: clamp(43px, 6vw, 72px); line-height: 1; letter-spacing: -.045em; }
.fs-shop-hero p { max-width: 680px; margin: 0; color: #d7d7d7; }
.fs-shop-content { padding: 25px 0 76px; background: #f6f6f6; }
.fs-breadcrumb { margin: 0 0 18px !important; padding: 0 !important; color: #74777d !important; font-size: 11px !important; }
.fs-breadcrumb a:hover { color: #755a00; }
.fs-breadcrumb-separator { padding-inline: 8px; color: #aaa; }
.fs-archive-collections { display: flex; flex-wrap: nowrap; gap: 9px; margin-bottom: 25px; overflow-x: auto; padding: 2px 1px 8px; scrollbar-width: none; }
.fs-archive-collections::-webkit-scrollbar { display: none; }
.fs-archive-collections a { flex: 0 0 auto; padding: 9px 16px; color: #383b40; background: #fff; border: 1px solid #ddd; border-radius: 99px; font-size: 11px; }
.fs-archive-collections a:hover, .fs-archive-collections a.is-active { color: #050505; background: var(--fs-yellow); border-color: var(--fs-yellow); font-weight: 800; }
.fs-shop-toolbar { min-height: 45px; }
.fs-shop-toolbar::after { content: ""; display: table; clear: both; }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { margin-bottom: 18px; font-size: 12px; }
.woocommerce .woocommerce-ordering select { padding: 9px 34px 9px 12px; background: #fff; border: 1px solid #d9d9d9; border-radius: 6px; }
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin: 0 !important; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product.fs-catalog-card { float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; }
.fs-catalog-card { min-width: 0; overflow: hidden; background: #fff; border: 1px solid #e5e5e5; border-radius: 9px; transition: transform .22s ease, box-shadow .22s ease; }
.fs-catalog-card:hover { transform: translateY(-5px); box-shadow: var(--fs-shadow); }
.fs-catalog-card__link { display: block; height: 100%; }
.fs-catalog-card__image { position: relative; height: 260px; overflow: hidden; background: #111; }
.fs-catalog-card__image img { width: 100% !important; height: 100% !important; margin: 0 !important; object-fit: cover; image-rendering: auto; transition: transform .35s ease; }
.fs-catalog-card:hover .fs-catalog-card__image img { transform: scale(1.025); }
.fs-catalog-card__view { position: absolute; inset-inline: 12px; bottom: 12px; padding: 8px 12px; color: #050505; background: var(--fs-yellow); border-radius: 6px; opacity: 0; transform: translateY(7px); transition: .2s ease; text-align: center; font-size: 11px; font-weight: 800; }
.fs-catalog-card:hover .fs-catalog-card__view { opacity: 1; transform: translateY(0); }
.fs-catalog-card__body { position: relative; min-height: 106px; padding: 15px 44px 16px 16px; }
.fs-rtl .fs-catalog-card__body { padding: 15px 16px 16px 44px; }
.woocommerce ul.products li.product .fs-catalog-card__body h2 { margin: 0 0 8px !important; padding: 0 !important; color: #15171a; font-size: 15px !important; line-height: 1.35; }
.fs-catalog-card__arrow { position: absolute; inset-inline-end: 14px; bottom: 17px; display: grid; place-items: center; width: 26px; height: 26px; color: #050505; background: var(--fs-yellow); border-radius: 50%; }
.fs-catalog-card__arrow svg { width: 14px; height: 14px; }
.woocommerce nav.woocommerce-pagination { margin-top: 35px; }
.woocommerce nav.woocommerce-pagination ul { border: 0 !important; display: inline-flex; gap: 7px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0 !important; }
.woocommerce nav.woocommerce-pagination ul li span, .woocommerce nav.woocommerce-pagination ul li a { display: grid !important; place-items: center; min-width: 38px; height: 38px; padding: 0 10px !important; background: #fff !important; border: 1px solid #ddd; border-radius: 6px; }
.woocommerce nav.woocommerce-pagination ul li span.current, .woocommerce nav.woocommerce-pagination ul li a:hover { color: #050505 !important; background: var(--fs-yellow) !important; border-color: var(--fs-yellow); }
.fs-no-products { padding: 70px 25px; background: #fff; border: 1px dashed #cfcfcf; border-radius: 12px; text-align: center; }
.fs-no-products > span { display: grid; place-items: center; width: 86px; height: 86px; margin: 0 auto 18px; color: var(--fs-yellow); background: #090909; border-radius: 50%; font-size: 31px; font-weight: 800; }
.fs-no-products h2 { margin: 0 0 8px; font-size: 27px; }
.fs-no-products p { max-width: 650px; margin: 0 auto 20px; color: #686c73; }

/* WooCommerce single product */
.fs-product-page { padding: 26px 0 76px; background: #f5f5f5; }
.fs-single-product__shell { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr); gap: clamp(30px, 5vw, 72px); padding: clamp(22px, 4vw, 48px); background: #fff; border: 1px solid #e3e3e3; border-radius: 13px; box-shadow: var(--fs-shadow); }
.fs-single-product__gallery, .fs-single-product__summary { min-width: 0; }
.woocommerce div.product div.images { float: none !important; width: 100% !important; margin: 0 !important; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { overflow: hidden; background: #f2f2f2; border: 1px solid #e3e3e3; border-radius: 10px; }
.woocommerce div.product div.images img { width: 100%; height: auto; image-rendering: auto; }
.woocommerce div.product div.images .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 9px; margin-top: 10px !important; }
.woocommerce div.product div.images .flex-control-thumbs li { float: none !important; width: auto !important; overflow: hidden; border: 2px solid transparent; border-radius: 6px; }
.woocommerce div.product div.images .flex-control-thumbs li img { aspect-ratio: 1; object-fit: cover; }
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active { border: 2px solid var(--fs-yellow-deep); }
.fs-single-product__summary { display: flex; flex-direction: column; align-items: stretch; padding-top: 7px; }
.woocommerce div.product .fs-single-product__summary .product_title { margin: 8px 0 12px; font-size: clamp(31px, 4vw, 49px); line-height: 1.08; letter-spacing: -.04em; }
.woocommerce div.product .fs-single-product__summary .price { margin: 0 0 14px; color: #765a00; }
.woocommerce div.product .fs-single-product__summary .price .fs-custom-price { display: inline-flex; padding: 9px 13px; color: #4f3d00; background: #fff7cf; border: 1px solid #ead063; border-radius: 6px; font-size: 13px; }
.woocommerce-product-details__short-description { color: #60646c; font-size: 15px; }
.woocommerce-product-details__short-description p:last-child { margin-bottom: 0; }
.woocommerce div.product form.cart { margin: 18px 0 0; }
.woocommerce div.product form.cart:not(.variations_form) { display: none; }
.woocommerce div.product form.cart .variations { margin: 0; }
.woocommerce div.product form.cart .variations tr { display: grid; grid-template-columns: 1fr; margin-bottom: 14px; }
.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 { display: block; margin-bottom: 7px; color: #25272b; font-size: 13px; }
.woocommerce div.product form.cart .variations select { width: 100%; min-height: 48px; padding: 10px 13px; color: #1c1d20; background: #fafafa; border: 1px solid #d4d4d4; border-radius: 7px; outline: 0; }
.woocommerce div.product form.cart .variations select:focus { border-color: var(--fs-yellow-deep); box-shadow: 0 0 0 3px rgba(255, 208, 0, .15); }
.woocommerce div.product form.cart .variations select.fs-pill-source { 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; white-space: nowrap !important; border: 0 !important; }
.woocommerce div.product form.cart .reset_variations { display: inline-block; margin-top: 7px; color: #786000; font-size: 11px; text-decoration: underline; }
.woocommerce div.product .single_variation_wrap .woocommerce-variation-price, .woocommerce div.product .single_variation_wrap .woocommerce-variation-availability, .woocommerce div.product form.cart .quantity, .woocommerce div.product form.cart .single_add_to_cart_button { display: none !important; }
.fs-variation-pills { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 2px; }
.fs-variation-pill { min-height: 38px; padding: 8px 13px; color: #33363b; background: #fff; border: 1px solid #cfcfcf; border-radius: 6px; cursor: pointer; }
.fs-variation-pill:hover, .fs-variation-pill.is-selected { color: #050505; background: var(--fs-yellow); border-color: var(--fs-yellow-deep); font-weight: 800; }
.fs-variation-pill:disabled { opacity: .4; cursor: not-allowed; }
.fs-product-quote-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; margin-top: 22px; }
.fs-product-promises { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin-top: 20px; padding-top: 18px; border-top: 1px solid #e5e5e5; }
.fs-product-promises > div { display: flex; align-items: center; gap: 7px; color: #4f535a; font-size: 10px; font-weight: 700; line-height: 1.3; }
.fs-product-promises span { display: grid; place-items: center; flex: 0 0 auto; width: 28px; height: 28px; color: #050505; background: var(--fs-yellow); border-radius: 50%; }
.fs-single-product__details { margin-top: 26px; }
.woocommerce div.product .woocommerce-tabs { padding: clamp(24px, 4vw, 42px); background: #fff; border: 1px solid #e3e3e3; border-radius: 12px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { margin: 0 0 22px !important; padding: 0 !important; border-bottom: 1px solid #ddd; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0 0 -1px !important; padding: 0 !important; background: transparent !important; border: 0 !important; border-bottom: 3px solid transparent !important; border-radius: 0 !important; }
.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.active { border-bottom-color: var(--fs-yellow-deep) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 10px 16px !important; font-size: 13px; }
.woocommerce div.product .woocommerce-tabs .panel { color: #53575e; }
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { display: none; }
.fs-product-attributes { margin-top: 25px; padding-top: 22px; border-top: 1px solid #e3e3e3; }
.fs-product-attributes h3 { color: #17191d; font-size: 20px; }
.woocommerce table.shop_attributes { border: 0; }
.woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td { padding: 11px 13px; border: 1px solid #e3e3e3; font-style: normal; }
.woocommerce table.shop_attributes th { width: 32%; background: #f4f4f4; }
.woocommerce table.shop_attributes tr:nth-child(even) td, .woocommerce table.shop_attributes tr:nth-child(even) th { background: #fafafa; }
.woocommerce .related.products { margin-top: 28px; padding: clamp(24px, 4vw, 42px); background: #fff; border: 1px solid #e3e3e3; border-radius: 12px; }
.woocommerce .related.products > h2 { margin: 0 0 22px; font-size: 28px; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-color: var(--fs-yellow-deep) !important; }
.woocommerce-message::before, .woocommerce-info::before { color: #8d6a00 !important; }

/* Responsive */
@media (max-width: 1180px) {
	.fs-site-header__inner { grid-template-columns: 230px 1fr auto; gap: 16px; }
	.fs-primary-nav > ul { gap: 22px; }
	.fs-primary-nav a { font-size: 13px; }
	.fs-brand__image { max-width: 210px; }
	.fs-collection-track, .fs-products-track { grid-auto-columns: calc(25% - 9px); }
	.fs-process-grid { grid-template-columns: repeat(2, 1fr); gap: 28px 44px; }
	.fs-process-step:nth-child(2)::after { display: none; }
	.fs-review-card { flex-basis: calc((100% - 16px) / 2); }
	.fs-footer-grid { grid-template-columns: 1.35fr repeat(4, 1fr); gap: 20px; }
	.woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 980px) {
	body.fs-menu-lock { overflow: hidden; }
	.admin-bar .fs-site-header { top: 32px; }
	.fs-announcement__items { justify-content: flex-start; gap: 24px; overflow-x: auto; scrollbar-width: none; }
	.fs-site-header__inner { min-height: 72px; grid-template-columns: 1fr auto auto; }
	.fs-brand__mark { width: 50px; height: 50px; }
	.fs-brand__mark b { font-size: 29px; }
	.fs-brand__words strong { font-size: 16px; }
	.fs-menu-toggle { display: block; order: 3; }
	.fs-header-actions { order: 2; }
	.fs-site-header.is-menu-open { z-index: 110; backdrop-filter: none; }
	.fs-menu-backdrop { position: fixed; inset: 0; z-index: 98; display: block; padding: 0; background: rgba(0, 0, 0, .7); border: 0; opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility .25s ease; cursor: pointer; }
	.fs-site-header.is-menu-open .fs-menu-backdrop { opacity: 1; visibility: visible; }
	.fs-primary-nav { position: fixed; top: 0; bottom: 0; inset-inline-start: 0; z-index: 99; width: min(88vw, 380px); max-height: none; padding: 0 22px 30px; overflow-y: auto; color: #fff; background: #070707; border-inline-end: 1px solid #2b2b2b; box-shadow: 16px 0 60px rgba(0, 0, 0, .45); opacity: 1; visibility: hidden; transform: translateX(-105%); transition: transform .28s ease, visibility .28s ease; }
	.fs-rtl .fs-primary-nav { transform: translateX(105%); box-shadow: -16px 0 60px rgba(0, 0, 0, .45); }
	.admin-bar .fs-primary-nav { top: 32px; }
	.fs-site-header.is-menu-open .fs-primary-nav { visibility: visible; transform: translateX(0); }
	.fs-drawer-header { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; min-height: 76px; margin-inline: -22px; padding-inline: 22px; color: #fff; background: #070707; border-bottom: 1px solid #292929; }
	.fs-drawer-header strong { font-size: 17px; }
	.fs-menu-close { display: grid; place-items: center; width: 38px; height: 38px; padding: 0 0 3px; color: #fff; background: #171717; border: 1px solid #383838; border-radius: 7px; font-size: 30px; line-height: 1; cursor: pointer; }
	.fs-primary-nav > ul { display: block; }
	.fs-primary-nav a { width: 100%; padding: 13px 2px; border-bottom: 1px solid #202020; }
	.fs-primary-nav > ul > li > a::after { display: none; }
	.fs-has-submenu > a { padding-inline-end: 42px; }
	.fs-submenu-toggle { position: absolute; top: 7px; inset-inline-end: 0; display: grid; place-items: center; width: 36px; height: 36px; padding: 0; color: var(--fs-yellow); background: #171717; border: 0; border-radius: 6px; }
	.fs-submenu { position: static; display: none; min-width: 0; margin: 0; padding: 4px 12px 7px; border: 0; border-radius: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none !important; }
	.fs-has-submenu.is-submenu-open .fs-submenu { display: block; }
	.fs-submenu a { padding: 9px 10px; border-bottom: 0; }
	.fs-footer-grid { grid-template-columns: repeat(2, 1fr); }
	.fs-footer-brand { grid-column: 1 / -1; padding-inline-end: 0; padding-bottom: 25px; border-inline-end: 0; border-bottom: 1px solid #292929; }
	.fs-footer-hours { grid-column: span 2; }
	.fs-about-grid, .fs-contact-grid { grid-template-columns: 1fr; }
	.fs-about-visual { max-width: 680px; width: 100%; margin-inline: auto; }
	.fs-value-grid { grid-template-columns: repeat(2, 1fr); }
	.fs-shop-hero__inner { align-items: flex-start; flex-direction: column; }
	.fs-single-product__shell { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
	body { font-size: 15px; }
	.admin-bar .fs-site-header { top: 46px; }
	.fs-container { width: min(calc(100% - 28px), var(--fs-container)); }
	.fs-section { padding: 48px 0; }
	.fs-section-heading { margin-bottom: 23px; }
	.fs-section-heading > p, .fs-kicker { font-size: 9px; }
	.fs-announcement { font-size: 9px; }
	.fs-announcement__inner { min-height: 31px; width: 100%; padding-inline: 12px; }
	.fs-announcement__items { gap: 20px; }
	.fs-announcement__items span { flex: 0 0 auto; }
	.fs-announcement__location { display: none; }
	.fs-site-header__inner { min-height: 65px; width: calc(100% - 24px); grid-template-columns: 1fr auto auto; gap: 8px; }
	.fs-primary-nav { top: 0; bottom: 0; max-height: none; padding-inline: 18px; }
	.admin-bar .fs-primary-nav { top: 46px; }
	.fs-drawer-header { margin-inline: -18px; padding-inline: 18px; }
	.fs-brand { gap: 7px; }
	.fs-brand__image { max-width: 158px; max-height: 48px; }
	.fs-brand__mark { width: 43px; height: 43px; border-width: 2px; }
	.fs-brand__mark b { font-size: 25px; }
	.fs-brand__mark i { font-size: 15px; }
	.fs-brand__words strong { font-size: 13px; }
	.fs-brand__words small { font-size: 6px; }
	.fs-menu-toggle { width: 38px; height: 36px; padding: 7px; order: 3; }
	.fs-header-actions { order: 2; }
	.fs-language-switch { min-width: 65px; height: 32px; padding-inline: 9px; font-size: 10px; }
	.fs-hero--placeholder { min-height: 420px; }
	.fs-hero__art { inset: 0; width: 100%; height: 100%; }
	.fs-hero__art::after { width: 78%; height: 220px; }
	.fs-collection-track, .fs-products-track { grid-auto-columns: calc(66.6667% - 8px); gap: 12px; margin-inline: -1px; padding-inline: 1px; scroll-padding-inline: 1px; }
	.fs-collection-card__image { height: 168px; }
	.fs-collection-card__body { min-height: 145px; }
	.fs-carousel-arrow { display: none; }
	.fs-product-filters { justify-content: flex-start; margin-inline: -14px; padding-inline: 14px; }
	.fs-product-filters button { min-width: auto; padding: 8px 14px; font-size: 10px; }
	.fs-product-card__image { height: 190px; }
	.fs-products-track { grid-template-rows: repeat(2, auto); }
	.fs-process-section { padding: 43px 0; }
	.fs-process-grid { grid-template-columns: 1fr; gap: 22px; }
	.fs-process-step { grid-template-columns: 61px 1fr; }
	.fs-process-step:not(:last-child)::after { content: "↓"; top: auto; bottom: -25px; inset-inline-start: 25px; inset-inline-end: auto; transform: none; font-size: 16px; }
	.fs-process-step__icon { width: 56px; height: 56px; font-size: 22px; }
	.fs-review-slider { padding-inline: 0; }
	.fs-review-track { overflow-x: auto; }
	.fs-review-card { flex-basis: 88%; grid-template-columns: 1.25fr .75fr; min-height: 184px; }
	.fs-review-arrow { display: none; }
	.fs-review-card__image { padding: 10px; }
	.fs-bottom-banner:not(.fs-bottom-banner--has-image) { min-height: 220px; }
	.fs-footer-grid { grid-template-columns: 1fr 1fr; gap: 27px 17px; padding-top: 38px; }
	.fs-footer-brand { grid-column: 1 / -1; }
	.fs-footer-hours { grid-column: 1 / -1; }
	.fs-footer-column h2 { font-size: 12px; }
	.fs-socials { gap: 7px; }
	.fs-socials a { flex-basis: 32px; width: 32px; height: 32px; }
	.fs-footer-bottom { min-height: 62px; justify-content: center; text-align: center; }
	.fs-floating-whatsapp { width: 47px; height: 47px; inset-inline-end: 13px; bottom: 13px; }
	.fs-page-hero { padding: 58px 0; }
	.fs-page-hero__badge { display: none; }
	.fs-page-hero h1 { font-size: 42px; }
	.fs-about-grid { gap: 35px; }
	.fs-about-visual { min-height: 390px; }
	.fs-about-sign-preview { inset: 0 18px 55px 0; }
	.fs-rtl .fs-about-sign-preview { inset: 0 0 55px 18px; }
	.fs-about-sign-preview span { font-size: 85px; }
	.fs-value-grid { grid-template-columns: 1fr; }
	.fs-inline-cta__inner { min-height: 235px; align-items: flex-start; flex-direction: column; justify-content: center; gap: 20px; }
	.fs-contact-form-card, .fs-contact-details { padding: 23px 18px; }
	.fs-form-row { grid-template-columns: 1fr; }
	.fs-shop-hero { min-height: 390px; }
	.fs-shop-hero__inner { padding-block: 45px; }
	.fs-shop-hero h1 { font-size: 45px; }
	.fs-shop-content { padding-top: 18px; }
	.woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.fs-catalog-card__image { height: 190px; }
	.fs-catalog-card__view { display: none; }
	.fs-catalog-card__body { min-height: 101px; padding: 12px 36px 13px 12px; }
	.fs-rtl .fs-catalog-card__body { padding: 12px 12px 13px 36px; }
	.woocommerce ul.products li.product .fs-catalog-card__body h2 { font-size: 12px !important; }
	.fs-catalog-card__arrow { inset-inline-end: 9px; bottom: 13px; width: 23px; height: 23px; }
	.fs-single-product__shell { padding: 14px; border-radius: 9px; }
	.woocommerce div.product .fs-single-product__summary .product_title { font-size: 32px; }
	.fs-product-quote-actions { grid-template-columns: 1fr; }
	.fs-product-promises { grid-template-columns: 1fr; }
	.woocommerce div.product .woocommerce-tabs, .woocommerce .related.products { padding: 18px 14px; }
	.woocommerce .related.products > h2 { font-size: 23px; }
}

@media (max-width: 380px) {
	.fs-brand__words { display: none; }
	.fs-review-card { flex-basis: 94%; grid-template-columns: 1fr; }
	.fs-review-card__image { min-height: 130px; }
	.woocommerce ul.products { grid-template-columns: 1fr; }
	.fs-catalog-card__image { height: 250px; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
