/*
Theme Name: Forte Co
Theme URI: https://forte-co-preview.vercel.app
Author: Forte Co Investment - FZCO
Description: Block theme for Forte Co — consumer tech store. Light showroom layout: each category has its own soft tint, products sit on a white panel inside the colour, pill controls, Unbounded + Figtree. Built for WooCommerce blocks.
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: forte-co
Tags: e-commerce, block-theme, full-site-editing, rtl-language-support, wide-blocks
*/

/* Layout: showroom — every category has its own light tint, products sit on a
   white panel inside it, no shadows. Light only, by choice. Mirrors the
   storefront preview one to one. */
:root {
	--bg: #FFFFFF;
	--bg-soft: #F5F7FA;
	--ink: #0E1A2B;
	--ink-2: #4A5668;
	--line: #E4E8EE;
	--mint: #00C9A7;
	--mint-hover: #14DDB9;
	--mint-deep: #007A66;
	--sun: #FFD23F;
	--coral: #E5484D;
	--display: "Unbounded", "Figtree", ui-sans-serif, system-ui, sans-serif;
	--sans: "Figtree", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
	--r-lg: 22px;
	--r-md: 14px;
	--gutter: max(16px, env(safe-area-inset-left, 0px));
	--gutter-r: max(16px, env(safe-area-inset-right, 0px));
	color-scheme: light;
}

/* Category tints — index assigned alphabetically by forte_co_groups(). */
.fc-tint-0 { --tint: #DDF6EE; } .fc-tint-1 { --tint: #ECE6FF; } .fc-tint-2 { --tint: #E1EEFF; }
.fc-tint-3 { --tint: #FFF3CC; } .fc-tint-4 { --tint: #EAF7D6; } .fc-tint-5 { --tint: #FFE6DA; }
.fc-tint-6 { --tint: #FFE3EC; } .fc-tint-7 { --tint: #DDF3F7; } .fc-tint-8 { --tint: #E6E9FF; }
.fc-tint-9 { --tint: #FFF0D9; } .fc-tint-10 { --tint: #E8F1F8; } .fc-tint-11 { --tint: #F3E8FF; }
.fc-tint-12 { --tint: #E5F6E8; }

body { background: var(--bg); color: var(--ink); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
body .wp-site-blocks { padding-left: 0; padding-right: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.fc-main { margin-block-start: 0; }
h1, h2 { font-family: var(--display); font-weight: 600; letter-spacing: -0.02em; line-height: 1.08; text-wrap: balance; }
h3 { font-family: var(--sans); font-weight: 700; line-height: 1.25; letter-spacing: 0; }
a { color: var(--mint-deep); }
:where(a, button, input, select, textarea, [tabindex]):focus-visible { outline: 3px solid var(--mint); outline-offset: 2px; border-radius: 6px; }

/* Gutters for every constrained band */
.fc-banner, .fc-head, .fc-hero, .fc-shop-wrap, .fc-foot, .fc-main.is-layout-constrained, .fc-strip__inner {
	padding-left: var(--gutter);
	padding-right: var(--gutter-r);
}

/* ---------- pills, buttons ---------- */
.fc-pill { display: inline-flex; align-items: center; gap: 6px; font-size: .8rem; font-weight: 600; padding: 6px 12px; border-radius: 999px; background: var(--bg-soft); color: var(--ink-2); white-space: nowrap; margin: 0; }
.fc-pill--tint { background: var(--tint, var(--bg-soft)); color: var(--ink); }
.wp-element-button, .wp-block-button__link, .wc-block-components-button:not(.is-link), .woocommerce button.button, .single_add_to_cart_button {
	font-family: var(--sans) !important; font-weight: 700 !important; font-size: 1rem;
	background: var(--mint) !important; color: var(--ink) !important;
	border: 0 !important; border-radius: 999px !important;
	padding: 12px 22px !important; min-height: 48px;
	transition: transform .16s ease, background .16s ease; cursor: pointer;
}
.wp-element-button:hover, .wp-block-button__link:hover, .wc-block-components-button:not(.is-link):hover, .single_add_to_cart_button:hover { background: var(--mint-hover) !important; transform: translateY(-1px); }
.is-style-ink .wp-block-button__link { background: var(--ink) !important; color: #fff !important; }
.is-style-ink .wp-block-button__link:hover { background: #1E3350 !important; }

/* ---------- banner + header ---------- */
.fc-banner { background: var(--sun); }
.fc-banner p { margin: 0; padding-block: 9px; font-size: .85rem; }
.fc-banner strong { font-weight: 800; margin-right: 8px; }
.fc-head { background: rgba(255,255,255,.92); backdrop-filter: saturate(1.4) blur(8px); border-bottom: 1px solid var(--line); }
/* The template-part wrapper is what can stick: the header alone is only as tall as itself. */
.wp-site-blocks > .wp-block-template-part:has(.fc-head) { position: sticky; top: 0; z-index: 31; }
.admin-bar .wp-site-blocks > .wp-block-template-part:has(.fc-head) { top: var(--wp-admin--admin-bar--height, 32px); }
.fc-head__row { padding-block: 12px; gap: 14px; }
.fc-wordmark { margin: 0; font-family: var(--display); font-weight: 700; font-size: 1.35rem; letter-spacing: -.03em; }
.fc-wordmark a { color: var(--ink); text-decoration: none; }
.fc-wordmark span { color: var(--mint); }
.fc-wordmark--small { font-size: 1.15rem; }
.fc-head__controls { gap: 10px; }

/* Mini cart as the "Cart [n]" pill */
.wc-block-mini-cart__button { display: inline-flex !important; align-items: center; background: var(--bg-soft) !important; border-radius: 999px !important; padding: 8px 16px !important; min-height: 44px; gap: 8px; color: var(--ink) !important; font-weight: 700; transition: background .16s ease; }
.wc-block-mini-cart__button:hover { background: var(--line) !important; opacity: 1 !important; }
.wc-block-mini-cart__button::before { content: "Cart"; font-family: var(--sans); font-size: 1rem; font-weight: 700; margin-right: 2px; }
.wc-block-mini-cart__quantity-badge { display: inline-flex; align-items: center; }
.wc-block-mini-cart__icon { display: none !important; }
.wc-block-mini-cart__badge { position: static !important; transform: none !important; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: var(--ink) !important; color: #fff !important; font-size: .75rem; font-weight: 800; border: 0 !important; display: inline-grid !important; place-items: center; visibility: visible !important; }
@keyframes fc-bump { 0% { transform: scale(1); } 35% { transform: scale(1.12) rotate(-4deg); } 65% { transform: scale(.97) rotate(2deg); } 100% { transform: scale(1); } }
.wc-block-mini-cart__button.fc-bump { animation: fc-bump .5s ease; }
.wc-block-mini-cart__button.fc-bump .wc-block-mini-cart__badge { background: var(--mint) !important; color: var(--ink) !important; }
.fc-fly { position: fixed; z-index: 100000; border-radius: 16px; background: #fff; box-shadow: 0 0 0 3px var(--mint); overflow: hidden; pointer-events: none; }
.fc-fly img { width: 100%; height: 100%; object-fit: contain; padding: 10%; display: block; }

/* Currency switcher (plugin output) as a segmented pill */
.fc-currency--seg > :not(.fc-seg) { display: none !important; }
.fc-seg { display: flex; background: var(--bg-soft); border-radius: 999px; padding: 4px; }
.fc-seg button { background: transparent; border: 0; border-radius: 999px; padding: 6px 12px; min-height: 36px; font: inherit; font-weight: 700; font-size: .8rem; color: var(--ink-2); cursor: pointer; transition: background .16s ease, color .16s ease; }
.fc-seg button[aria-pressed="true"] { background: #fff; color: var(--ink); box-shadow: 0 0 0 1px var(--line); }
.fc-seg button:hover:not([aria-pressed="true"]) { color: var(--ink); }

/* ---------- hero ---------- */
.fc-hero__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(20px, 4vw, 56px); align-items: center; padding-block: clamp(28px, 5vw, 64px) clamp(20px, 4vw, 40px); }
@media (max-width: 900px) { .fc-hero__grid { grid-template-columns: 1fr; } }
.fc-hero__title { font-size: clamp(2.1rem, 5.2vw, 3.9rem); margin: 0; }
.fc-hero__title em { font-style: normal; background: linear-gradient(transparent 62%, var(--sun) 62%); padding-inline: 4px; }
.fc-lede { margin-top: 16px; max-width: 52ch; color: var(--ink-2); font-size: clamp(1.02rem, 1.8vw, 1.18rem); }
.fc-hero__row { margin-top: 22px; gap: 10px; align-items: center; }
.fc-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.fc-tile { background: var(--tint); border-radius: var(--r-lg); padding: 18px; min-height: 118px; display: grid; align-content: space-between; gap: 10px; text-decoration: none; color: var(--ink); transition: transform .18s ease; }
.fc-tile:hover { transform: translateY(-2px); }
.fc-tile strong { font-family: var(--display); font-weight: 600; font-size: 1.05rem; letter-spacing: -.01em; }
.fc-tile span { font-size: .82rem; font-weight: 600; color: var(--ink-2); }
.fc-tile:first-child { grid-row: span 2; min-height: 248px; }

/* ---------- category strip ---------- */
.fc-strip { border-block: 1px solid var(--line); background: var(--bg); position: sticky; top: 69px; z-index: 20; }
.admin-bar .fc-strip { top: calc(69px + var(--wp-admin--admin-bar--height, 32px)); }
@media (max-width: 640px) { .fc-strip { position: static; } }
.fc-strip__inner { max-width: 1320px; margin-inline: auto; display: flex; gap: 8px; overflow-x: auto; padding-block: 10px; scrollbar-width: none; box-sizing: content-box; }
.fc-strip__inner::-webkit-scrollbar { display: none; }
.fc-strip a { flex: none; border-radius: 999px; padding: 8px 14px; min-height: 40px; box-sizing: border-box; display: inline-flex; align-items: center; background: var(--bg-soft); font-weight: 700; font-size: .88rem; color: var(--ink); text-decoration: none; transition: background .16s ease; }
.fc-strip a:hover { background: var(--line); }
.fc-strip a[aria-current="page"] { background: var(--ink); color: #fff; }

/* ---------- shop layout ---------- */
.fc-shop { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 32px; padding-block: 26px 64px; align-items: start; }
@media (max-width: 900px) { .fc-shop { grid-template-columns: 1fr; gap: 18px; } }
.fc-aside { display: grid; gap: 18px; position: sticky; top: 140px; }
@media (max-width: 900px) { .fc-aside { position: static; } }
.fc-field { display: grid; gap: 6px; }
.fc-field label { font-size: .82rem; font-weight: 700; color: var(--ink-2); }
.fc-field input[type="search"],
.wc-block-components-text-input input, .wc-blocks-components-select select, .wc-block-components-combobox .components-combobox-control input,
.woocommerce .quantity .qty, .wc-block-components-textarea {
	font: inherit; font-size: 1rem; background: var(--bg-soft) !important; color: var(--ink);
	border: 2px solid transparent !important; border-radius: var(--r-md) !important; min-height: 48px; box-sizing: border-box;
	transition: border-color .16s ease, background .16s ease; box-shadow: none !important;
}
.fc-field input[type="search"] { padding: 11px 14px; width: 100%; }
.fc-field input[type="search"]:focus, .wc-block-components-text-input input:focus { border-color: var(--mint) !important; background: #fff !important; outline: none; }
.fc-catlist { display: grid; gap: 2px; }
.fc-catlist__grp { font-size: .74rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-2); margin: 12px 0 0; display: flex; align-items: center; gap: 8px; }
.fc-catlist__grp i { width: 10px; height: 10px; border-radius: 3px; display: inline-block; background: var(--tint); }
.fc-catlist a { display: flex; justify-content: space-between; gap: 8px; border-radius: 10px; padding: 6px 10px; min-height: 36px; box-sizing: border-box; align-items: center; color: var(--ink); text-decoration: none; font-size: .94rem; }
.fc-catlist a b { font-weight: 600; color: var(--ink-2); font-size: .82rem; }
.fc-catlist a:hover { background: var(--bg-soft); }
.fc-catlist a[aria-current="page"] { background: var(--ink); color: #fff; }
.fc-catlist a[aria-current="page"] b { color: #C9D3E0; }

.fc-toolbar { gap: 12px; margin-bottom: 20px; }
.fc-toolbar > .wp-block-group { margin: 0; }
.fc-toolbar__title { font-size: clamp(1.3rem, 2.6vw, 1.75rem) !important; margin: 0; }
.fc-toolbar .woocommerce-result-count, .wc-block-product-results-count p { font-size: .9rem; color: var(--ink-2); font-weight: 600; margin: 4px 0 0; }
.fc-toolbar .woocommerce-ordering { margin: 0; }
.fc-toolbar .woocommerce-ordering select { font: inherit; font-weight: 600; font-size: .9rem; background: var(--bg-soft); color: var(--ink); border: 0; border-radius: 999px; padding: 9px 14px; min-height: 42px; }

/* ---------- product grid ---------- */
.fc-grid .wc-block-product-template {
	display: grid !important; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
	gap: 22px 18px !important; grid-auto-flow: dense; margin: 0; padding: 0; list-style: none;
}
.fc-grid .wc-block-product-template > li { width: auto !important; max-width: none !important; margin: 0 !important; display: grid; gap: 10px; align-content: start; min-width: 0; text-align: left; }
.fc-grid .wc-block-product-template > li:nth-child(9n+1) { grid-column: span 2; }
@media (max-width: 560px) { .fc-grid .wc-block-product-template > li:nth-child(9n+1) { grid-column: auto; } }

/* Photo: white panel inside the category tint */
.wc-block-components-product-image {
	position: relative; margin: 0 !important; border-radius: var(--r-lg); background: var(--tint, var(--bg-soft));
	aspect-ratio: 1 / 1; padding: 10px; box-sizing: border-box; overflow: hidden;
}
.fc-grid li:nth-child(9n+1) .wc-block-components-product-image { aspect-ratio: 2 / 1; }
@media (max-width: 560px) { .fc-grid li:nth-child(9n+1) .wc-block-components-product-image { aspect-ratio: 1 / 1; } }
.wc-block-components-product-image a { display: block; height: 100%; border-radius: 16px; background: #fff; overflow: hidden; }
.wc-block-components-product-image img { width: 100% !important; height: 100% !important; object-fit: contain !important; padding: 7%; box-sizing: border-box; background: #fff; transition: transform .25s ease; aspect-ratio: auto !important; }
.wc-block-product:hover .wc-block-components-product-image img { transform: scale(1.02); }
.fc-grid li:nth-child(9n+1) .wc-block-components-product-image img { padding: 4% 26%; }
@media (max-width: 560px) { .fc-grid li:nth-child(9n+1) .wc-block-components-product-image img { padding: 7%; } }
.fc-chip-tag, .fc-chip-photos { position: absolute; z-index: 1; border-radius: 999px; font-weight: 700; pointer-events: none; }
.fc-chip-tag { top: 18px; left: 18px; font-size: .8rem; padding: 6px 12px; background: rgba(255,255,255,.75); color: var(--ink-2); }
.fc-chip-photos { bottom: 18px; right: 18px; font-size: .72rem; padding: 3px 9px; background: var(--bg-soft); color: var(--ink-2); }

.fc-grid .wp-block-post-title { font-family: var(--sans); font-size: .98rem !important; font-weight: 700; line-height: 1.3; margin: 0 !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-align: left; }
.fc-grid .wp-block-post-title a { color: var(--ink); text-decoration: none; }
.fc-grid .wp-block-post-title a:hover { color: var(--mint-deep); }
.fc-buyline { gap: 10px; align-items: center; margin: 0 !important; }
.fc-buyline .wc-block-components-product-price { font-weight: 800; font-size: 1.15rem !important; font-variant-numeric: tabular-nums; letter-spacing: -.01em; color: var(--ink); margin: 0 !important; }

/* Round "+" add button; the label stays for screen readers */
.fc-buyline .wp-block-button.wc-block-components-product-button { margin: 0 !important; flex: none; }
.fc-buyline .wc-block-components-product-button__button {
	width: 44px !important; height: 44px; min-height: 44px; padding: 0 !important; border-radius: 999px !important;
	font-size: 0 !important; position: relative; overflow: hidden; display: inline-grid !important; place-items: center;
	transition: transform .16s ease, background .16s ease;
}
.fc-buyline .wc-block-components-product-button__button::before {
	content: ""; width: 20px; height: 20px; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center / contain no-repeat;
}
.fc-buyline .wc-block-components-product-button__button:hover { transform: rotate(90deg); }
.fc-buyline .wc-block-components-product-button__button.added::before,
.fc-buyline .wc-block-components-product-button__button[data-added]::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E");
}
.fc-buyline .wc-block-components-product-button .added_to_cart, .fc-buyline .wc-block-components-product-button__button .wc-block-components-product-button__quantity-in-cart { display: none !important; }

/* Pagination as pills */
.fc-grid .wp-block-query-pagination { margin-top: 36px; gap: 6px; }
.fc-grid .wp-block-query-pagination a, .fc-grid .wp-block-query-pagination .page-numbers { display: inline-grid; place-items: center; min-width: 40px; min-height: 40px; padding: 0 12px; border-radius: 999px; background: var(--bg-soft); color: var(--ink); font-weight: 700; text-decoration: none; }
.fc-grid .wp-block-query-pagination .current { background: var(--ink); color: #fff; }
.fc-empty { background: var(--bg-soft); border-radius: var(--r-lg); padding: 48px 20px; text-align: center; color: var(--ink-2); }

/* ---------- single product ---------- */
.fc-back { margin: 0; padding-top: 22px; }
.fc-back a { display: inline-flex; background: var(--bg-soft); border-radius: 999px; padding: 8px 14px; min-height: 40px; box-sizing: border-box; align-items: center; font-weight: 700; font-size: .88rem; color: var(--ink); text-decoration: none; }
.fc-back a:hover { background: var(--line); }
.fc-detail { gap: clamp(20px, 4vw, 56px) !important; padding-block: 24px 64px; }
.fc-detail__media .woocommerce-product-gallery { background: var(--tint, var(--bg-soft)); border-radius: var(--r-lg); padding: 10px; margin: 0 !important; width: 100% !important; float: none !important; opacity: 1 !important; }
.fc-detail__media .woocommerce-product-gallery__wrapper { margin: 0; }
.fc-detail__media .woocommerce-product-gallery__image { background: #fff; border-radius: 16px; overflow: hidden; }
.fc-detail__media .woocommerce-product-gallery__image img { aspect-ratio: 1 / 1; object-fit: contain; padding: 7%; box-sizing: border-box; background: #fff; }
.fc-detail__media .flex-control-thumbs { display: flex; gap: 8px; margin: 10px 0 0 !important; padding: 0; overflow-x: auto; }
.fc-detail__media .flex-control-thumbs li { width: 64px !important; flex: none; float: none !important; margin: 0 !important; list-style: none; }
.fc-detail__media .flex-control-thumbs img { border-radius: 10px; background: #fff; padding: 4px; box-sizing: border-box; opacity: .7; cursor: pointer; }
.fc-detail__media .flex-control-thumbs img.flex-active { opacity: 1; outline: 2px solid var(--ink); }
.fc-detail__media .woocommerce-product-gallery__trigger { top: 20px !important; right: 20px !important; }
.fc-detail__body { display: grid; gap: 16px; align-content: start; }
.fc-detail__body > * { margin: 0 !important; }
.fc-product-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.fc-detail__title { font-size: clamp(1.35rem, 3vw, 2rem) !important; }
.fc-detail__price, .fc-detail__price .wc-block-components-product-price { font-weight: 800; font-size: 1.9rem !important; color: var(--ink); font-variant-numeric: tabular-nums; }
.fc-detail__body form.cart { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; margin: 0; }
.fc-detail__body .quantity .qty { width: 92px; text-align: center; font-weight: 700; border-radius: 999px !important; }
.fc-meta { font-size: .8rem; color: var(--ink-2); }
.fc-specs { display: grid; grid-template-columns: minmax(6rem, 12rem) minmax(0, 1fr); margin: 0; background: var(--bg-soft); border-radius: var(--r-md); padding: 6px 16px; }
.fc-specs dt { color: var(--ink-2); font-weight: 600; font-size: .88rem; padding-block: 9px; border-bottom: 1px solid var(--line); }
.fc-specs dd { margin: 0; font-size: .92rem; padding-block: 9px; border-bottom: 1px solid var(--line); min-width: 0; overflow-wrap: anywhere; }
.fc-specs dt:last-of-type, .fc-specs dd:last-of-type { border-bottom: 0; }
.fc-desc { color: var(--ink-2); }
.fc-desc h3 { color: var(--ink); font-size: 1.05rem; margin: 1.4em 0 .4em; }
.fc-desc ul { padding-left: 1.1em; margin: 0 0 1em; }
.fc-desc p { margin: 0 0 .7em; }

/* Store notices (e.g. "added to cart") */
.wc-block-components-notice-banner { border-radius: var(--r-md) !important; border: 0 !important; background: #D9F7F0 !important; }
.wc-block-components-notice-banner.is-error { background: #FFE8E8 !important; }

/* ---------- cart + checkout ---------- */
.fc-pane { padding-bottom: 64px; }
.fc-pane__title { font-size: clamp(1.5rem, 3.4vw, 2.3rem) !important; margin: 18px 0 22px !important; }
.wc-block-cart, .wc-block-checkout { font-family: var(--sans); }
.wc-block-cart-items { border: 0 !important; border-collapse: separate !important; border-spacing: 0 12px !important; }
.wc-block-cart-items__header { display: none; }
.wc-block-cart-items .wc-block-cart-items__row { background: var(--bg-soft); }
.wc-block-cart-items .wc-block-cart-items__row > td { border: 0 !important; padding: 12px !important; }
.wc-block-cart-items .wc-block-cart-items__row > td:first-child { border-radius: var(--r-lg) 0 0 var(--r-lg); }
.wc-block-cart-items .wc-block-cart-items__row > td:last-child { border-radius: 0 var(--r-lg) var(--r-lg) 0; }
.wc-block-cart-item__image img { border-radius: var(--r-md); background: #fff; padding: 6px; box-sizing: border-box; }
.wc-block-components-product-name { font-weight: 700; color: var(--ink) !important; text-decoration: none; }
.wc-block-components-quantity-selector { border-radius: 999px !important; background: #fff; border: 0 !important; overflow: hidden; }
.wc-block-components-quantity-selector::after { border: 0 !important; }
.wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block, .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block,
.wc-block-components-sidebar-layout .wc-block-components-sidebar > .wp-block-woocommerce-cart-totals-block {
	background: var(--bg-soft); border-radius: var(--r-lg); padding: 22px; border: 0 !important;
}
.wc-block-components-totals-wrapper { border-color: var(--line) !important; }
.wc-block-components-totals-footer-item { font-weight: 800; }
.wc-block-components-title, .wc-block-components-checkout-step__title { font-family: var(--display) !important; font-weight: 600 !important; font-size: 1.1rem !important; }
.wc-block-components-checkout-step__heading-container::before, .wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__title::before { background: var(--sun) !important; color: var(--ink) !important; }
.wc-block-components-radio-control-accordion-option, .wc-block-components-radio-control__option { border-radius: var(--r-md) !important; }
.wc-block-components-radio-control--highlight-checked::after, .wc-block-components-radio-control-accordion-option--checked-option-highlighted { box-shadow: inset 0 0 0 2px var(--mint) !important; }
.wc-block-components-checkout-place-order-button { width: 100%; }

/* ---------- footer ---------- */
.fc-foot { background: var(--bg-soft); padding-block: clamp(32px, 5vw, 56px); }
.fc-foot h3 { font-size: .95rem; margin: 0 0 8px; }
.fc-foot p { font-size: .9rem; color: var(--ink-2); margin: 0; line-height: 1.7; }
.fc-foot p a { color: var(--ink-2); text-decoration: none; }
.fc-foot p a:hover { color: var(--mint-deep); }
.fc-legal { font-size: .8rem !important; border-top: 1px solid var(--line); padding-top: 14px; margin-top: 22px !important; }

/* ---------- RTL ---------- */
body.rtl { font-family: var(--wp--preset--font-family--arabic, var(--sans)); }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
	.fc-tile:hover, .wc-block-product:hover .wc-block-components-product-image img, .wp-element-button:hover { transform: none !important; }
}

/* Cart lines: name and price only, as in the preview — no description excerpt */
.wc-block-components-product-metadata__description { display: none; }

/* ---------- order received ---------- */
.fc-pill--mint { background: #D9F7F0; color: var(--mint-deep); }
.fc-done { display: grid; gap: 18px; padding-top: 28px; }
.fc-done > * { margin-block: 0 !important; }
.fc-done__chip { justify-self: center; }
.wc-block-order-confirmation-status h1 { font-size: clamp(1.5rem, 3.4vw, 2.3rem) !important; margin: 0 0 8px; }
.wc-block-order-confirmation-status p { color: var(--ink-2); margin: 0; }
.wc-block-order-confirmation-summary ul { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 0; }
.wc-block-order-confirmation-summary-list-item { background: var(--bg-soft); border-radius: var(--r-md); padding: 10px 14px; font-size: .9rem; }
.wc-block-order-confirmation-summary-list-item__key { display: block; font-size: .74rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-2); }
.wc-block-order-confirmation-summary-list-item__value { font-weight: 700; }
.wc-block-order-confirmation-summary-list-item:first-child .wc-block-order-confirmation-summary-list-item__value { font-family: var(--display); }
.wc-block-order-confirmation-totals-wrapper h2 { font-size: 1.1rem; margin-bottom: 10px; }
.wc-block-order-confirmation-totals table { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--bg-soft); border-radius: var(--r-lg); overflow: hidden; border: 0 !important; }
.wc-block-order-confirmation-totals th, .wc-block-order-confirmation-totals td { border: 0 !important; border-bottom: 1px solid var(--line) !important; padding: 12px 16px !important; }
.wc-block-order-confirmation-totals tfoot tr:last-child th, .wc-block-order-confirmation-totals tfoot tr:last-child td { font-weight: 800; border-bottom: 0 !important; }
.wc-block-order-confirmation-totals a { color: var(--ink); font-weight: 700; text-decoration: none; }

/* Checkout: payments not open yet */
.fc-notice { margin: 0 0 24px; padding: 16px 20px; border-radius: var(--r-md); background: #FFF4CC; color: var(--ink); line-height: 1.5; }
.fc-notice strong { display: block; margin-bottom: 2px; }
.fc-notice a { color: inherit; text-decoration: underline; }
