/* ==========================================================================
   Flying Persian Carpets — Design tokens (Nain-inspired redesign)
   Phase 1: foundation. Refined iteratively against screenshots.
   ========================================================================== */

:root {
	--fpc-ink: #1E1B17;
	--fpc-ink-soft: #4A443C;
	--fpc-muted: #857C6E;
	--fpc-cream: #F4EFE7;
	--fpc-cream-2: #EDE6DA;
	--fpc-white: #FFFFFF;
	--fpc-line: #DAD2C4;
	--fpc-line-strong: #C3B8A4;
	--fpc-gold: #A9803E;
	--fpc-gold-deep: #8A6630;
	--fpc-accent-cart: #B5453F;
	--fpc-sale: #C0392B;
}

/* --- Surface: warm cream everywhere the theme paints a default background --- */
html,
body,
body.woocommerce,
.page-wrapper,
.main-page-wrapper {
	background-color: var(--fpc-cream);
	background-image: none !important;
}

/* --- Buttons: square (2px), the ink primary comes from theme options --- */
.btn,
.button,
button,
input[type="submit"],
.wd-buttons .wd-add-btn > a,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce .button {
	border-radius: 2px !important;
}

/* --- Add-to-Cart: the ONLY red on a non-sale page (demoted brick) --- */
.woocommerce a.add_to_cart_button,
.woocommerce a.button.add_to_cart_button,
.woocommerce button.single_add_to_cart_button,
.single_add_to_cart_button,
.wd-buttons .wd-add-btn-replace > a,
.product-grid-button .add_to_cart_button {
	background-color: var(--fpc-accent-cart) !important;
	border-color: var(--fpc-accent-cart) !important;
	color: #fff !important;
}
.woocommerce a.add_to_cart_button:hover,
.woocommerce button.single_add_to_cart_button:hover,
.single_add_to_cart_button:hover,
.wd-buttons .wd-add-btn-replace > a:hover {
	background-color: #9D3A35 !important;
	border-color: #9D3A35 !important;
}

/* --- Prices: ink by default; red reserved for sale price + add-to-cart --- */
.price,
.price .woocommerce-Price-amount,
.woocommerce-Price-amount.amount,
.wd-product .price,
.summary .price {
	color: var(--fpc-ink) !important;
	/* match the product title typeface */
	font-family: var(--wd-title-font, "Libre Baskerville", Georgia, serif) !important;
}
.price del,
.price del .woocommerce-Price-amount {
	color: var(--fpc-muted) !important;
}
.price ins,
.price ins .woocommerce-Price-amount {
	color: var(--fpc-sale) !important;
	text-decoration: none;
}
.onsale,
.product-label.onsale {
	background-color: var(--fpc-sale) !important;
	color: #fff !important;
}

/* --- Hairlines: replace heavy/coloured borders with warm stone --- */
.wd-product .product-grid-button,
.product-element-bottom,
hr,
.wd-divider {
	border-color: var(--fpc-line);
}

/* --- Links: ink, gold underline on hover for text links --- */
a {
	text-decoration-color: transparent;
}
.entry-content a:hover,
.wd-single-content a:hover {
	text-decoration: underline;
	text-decoration-color: var(--fpc-gold);
	text-underline-offset: 4px;
}

/* --- Utility / top bar: warm stone, muted ink text (was the loud red bar) --- */
.whb-row.whb-top-bar.whb-with-bg,
.whb-row.whb-top-bar {
	background-color: var(--fpc-cream-2) !important;
	border-bottom: 1px solid var(--fpc-line) !important;
}
.whb-top-bar .wd-header-text,
.whb-top-bar .wd-header-text p,
.whb-top-bar .wd-header-text span {
	color: var(--fpc-ink-soft) !important;
}

/* ===== Shop / product-loop cards — tighten toward Nain's clean gallery grid ===== */
.products .wd-entities-title,
.products .product-grid-item .wd-entities-title {
	font-size: 14px !important;
	line-height: 1.4 !important;
	font-weight: 400 !important;
	letter-spacing: .2px;
	margin: 14px 0 2px !important;
}
.products .wd-entities-title a { color: var(--fpc-ink) !important; }
.products li.product .price,
.products .product-grid-item .price {
	font-size: 14px !important;
	font-weight: 400 !important;
	letter-spacing: .2px;
	margin: 2px 0 0 !important;
}
.products .product-element-bottom { padding-top: 4px !important; }
.products .product-grid-item { margin-bottom: 8px; }
.products .product-grid-item .product-image-link img { background: var(--fpc-white); }

/* Add-to-Cart hidden until hover — let the rugs breathe like Nain */
.products .wd-add-btn.wd-add-btn-replace {
	opacity: 0;
	transition: opacity .18s ease;
}
.products .product-grid-item:hover .wd-add-btn.wd-add-btn-replace {
	opacity: 1;
}

/* Shop archive: hide the grey category circles (no images) — go straight to filters+grid like Nain */
.post-type-archive-product .elementor-widget-wd_product_categories,
.tax-product_cat .elementor-widget-wd_product_categories {
	display: none;
}
/* breathing room: shop title + filter bar spacing */
.post-type-archive-product .wd-page-title-element,
.tax-product_cat .wd-page-title-element { margin-bottom: 8px; }

/* ===== Uniform product image cells — every rug centred in the same-size plate ===== */
.products .product-image-link,
.products .product-element-top .hover-img,
.products .product-element-top > a {
	display: flex !important;
	align-items: center;
	justify-content: center;
	aspect-ratio: 3 / 4;
	background: var(--fpc-white);
	overflow: hidden;
	padding: 10px;
}
.products .product-image-link img,
.products .product-element-top img {
	width: auto !important;
	height: auto !important;
	max-width: 100% !important;
	max-height: 100% !important;
	margin: 0 auto !important;
	object-fit: contain !important;
}

/* ===== Single product page — calmer, image fits above the fold ===== */
/* Gallery: cap height so the whole rug is visible at once */
.single-product .woocommerce-product-gallery img,
.single-product .woocommerce-product-gallery__image img,
.single-product .wd-carousel-item img {
	max-height: 560px !important;
	width: auto !important;
	margin: 0 auto !important;
	object-fit: contain !important;
}
.single-product .woocommerce-product-gallery__wrapper,
.single-product .wd-carousel-inner { max-height: 580px; }

/* Title smaller + tighter */
.single-product .product_title,
.single-product .elementor-widget-woocommerce-product-title h1,
.single-product .elementor-widget-woocommerce-product-title h2,
.single-product .elementor-widget-woocommerce-product-title .product_title {
	font-size: clamp(22px, 2.2vw, 28px) !important;
	line-height: 1.18 !important;
	margin-bottom: 10px !important;
}

/* Price smaller */
.single-product .summary .price,
.single-product .summary .price .woocommerce-Price-amount,
.single-product div.product .price {
	font-size: 22px !important;
}

/* Spec / summary text: smaller + much tighter line rhythm */
.single-product .entry-summary,
.single-product .summary,
.single-product .wd-single-content,
.single-product .elementor-widget-woocommerce-product-data-tabs,
.single-product .wd-single-info { font-size: 14px; }
.single-product .summary p,
.single-product .entry-summary p,
.single-product .summary li,
.single-product .wd-single-info p { margin: 0 0 5px !important; line-height: 1.45 !important; }

/* Single product: quiet the secondary actions (compare / wishlist / size guide) */
.single-product .wd-single-product-compare-button a,
.single-product .wd-single-product-wishlist-button a,
.single-product .wd-single-product-size-guide-button a,
.single-product .wd-action-btn > a {
	font-size: 12px !important;
	color: var(--fpc-muted) !important;
}
.single-product .wd-action-btn > a:hover { color: var(--fpc-ink) !important; }
/* tidy the description heading + spacing */
.single-product .wd-single-content,
.single-product .woocommerce-Tabs-panel { font-size: 14px; line-height: 1.6; }


/* ===== Header nav bar: compact Work Sans so all items fit one row ===== */
.whb-header-bottom a.woodmart-nav-link,
.whb-header-bottom a.woodmart-nav-link .nav-link-text,
.whb-header-bottom .wd-nav > li.item-level-0 > a {
	font-family: "Work Sans", "Helvetica Neue", Arial, sans-serif !important;
	font-size: 13.5px !important;
	font-weight: 500 !important;
	letter-spacing: .2px !important;
	text-transform: none !important;
}
.whb-header-bottom .wd-nav > li.item-level-0,
.whb-header-bottom .menu-item.item-level-0 { margin: 0 !important; }
.whb-header-bottom .wd-nav > li.item-level-0 > a,
.whb-header-bottom .menu-item.item-level-0 > a { padding-left: 12px !important; padding-right: 12px !important; }
/* mega panel column headings + links also Work Sans for crisp UI */
.whb-header-bottom .wd-sub-menu .menu-item-has-children > a,
.whb-header-bottom .wd-sub-menu a { font-family: "Work Sans", Arial, sans-serif !important; }





/* About: circular team portraits (Nain-style) */
.fpc-portrait img {
	width: 220px !important; height: 220px !important;
	object-fit: cover !important; border-radius: 50% !important;
	border: 3px solid var(--fpc-cream); box-shadow: 0 4px 18px rgba(30,27,23,.12);
}

/* ===== Homepage category cards — Nain-style: image on top, colour label below ===== */
.fpc-cat-row { display:flex; gap:18px; overflow-x:auto; scroll-snap-type:x mandatory; padding:6px 2px 18px; -webkit-overflow-scrolling:touch; }
.fpc-cat-row::-webkit-scrollbar { height:6px; }
.fpc-cat-row::-webkit-scrollbar-thumb { background:var(--fpc-line); border-radius:3px; }
.fpc-cat-card { flex:0 0 clamp(230px, 21vw, 290px); scroll-snap-align:start; border-radius:10px; overflow:hidden; text-decoration:none; box-shadow:0 6px 22px rgba(30,27,23,.10); transition:transform .25s ease, box-shadow .25s ease; }
.fpc-cat-card:hover { transform:translateY(-4px); box-shadow:0 14px 32px rgba(30,27,23,.18); }
.fpc-cat-card .fpc-cat-img { display:block; aspect-ratio:4/5; background-size:cover; background-position:center; background-color:var(--fpc-white); }
.fpc-cat-card .fpc-cat-label { display:flex; align-items:center; justify-content:space-between; padding:16px 20px; font-family:"Work Sans","Helvetica Neue",sans-serif; font-weight:600; font-size:16px; color:#1E1B17; line-height:1.1; }
.fpc-cat-card .fpc-cat-arrow { font-size:18px; transition:transform .2s ease; }
.fpc-cat-card:hover .fpc-cat-arrow { transform:translateX(5px); }


/* ===== Category archive hero banner (per-category image + overlay) ===== */
.tax-product_cat .wd-page-title,
.tax-product_cat .page-title { display: none !important; }   /* hide the plain Woodmart title */

.fpc-cat-banner {
	position: relative;
	/* full-bleed: break out of the content container to the viewport edges */
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	margin-top: 0;
	margin-bottom: 20px;
	background-size: cover; background-position: center;
	background-color: var(--fpc-ink);
	min-height: 300px; display: flex; align-items: center;
}
/* Banner sits flush under the nav — drop the content wrapper's top gap on category pages */
.tax-product_cat main.wd-content-layout,
.tax-product_cat .content-layout-wrapper {
	padding-top: 0 !important;
}
.fpc-cat-banner::before {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(90deg, rgba(20,17,13,.84) 0%, rgba(20,17,13,.55) 55%, rgba(20,17,13,.35) 100%);
}
.fpc-cat-banner-inner {
	position: relative; z-index: 1; width: 100%;
	max-width: 1280px; margin: 0 auto;
	padding: 52px clamp(20px, 4vw, 44px); color: #fff;
}
.fpc-cat-crumb {
	font-family: "Work Sans", sans-serif; font-size: 13px; letter-spacing: .3px;
	color: rgba(255,255,255,.82); margin-bottom: 14px;
}
.fpc-cat-crumb a { color: rgba(255,255,255,.82); text-decoration: none; }
.fpc-cat-crumb a:hover { color: #fff; }
.fpc-cat-crumb span { margin: 0 8px; color: rgba(255,255,255,.45); }
.fpc-cat-title {
	font-family: "Libre Baskerville", Georgia, serif;
	font-size: clamp(30px, 4vw, 46px); line-height: 1.1; color: #fff; margin: 0 0 14px;
}
.fpc-cat-desc {
	max-width: 660px; font-size: 15px; line-height: 1.7; color: rgba(255,255,255,.92);
}
.fpc-cat-desc p { margin: 0; }

/* Definitive: kill the white "products-with-background" card box so rugs sit clean on the page */
.wd-products.wd-products-with-bg .product-grid-item,
.wd-products .product-grid-item,
.products .product-grid-item,
.wd-products-with-bg .wd-product {
	background-color: transparent !important;
	background: none !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}
/* keep the white image plate only (rug pops, no card box) */
.products .product-image-link { background: var(--fpc-white) !important; border-radius: 4px; }

/* THE fix: white card bg lives on .product-wrapper via --wd-prod-bg — clear it */
.wd-products-with-bg .product-wrapper,
.wd-products-with-bg .wd-cat-wrap,
.products .product-grid-item .product-wrapper {
	background-color: transparent !important;
	--wd-prod-bg: transparent !important;
	box-shadow: none !important;
	border: 0 !important;
}

/* Filters removed — category nav lives in the mega menu */
.elementor-widget-wd_product_filters,
.wd-product-filters { display: none !important; }

/* Remove ALL product filter UI (top bar, sidebar layered-nav, filter icon/drawer) */
.elementor-widget-wd_product_filters,
.wd-product-filters,
.woodmart-woocommerce-layered-nav,
.widget_layered_nav,
.wd-layered,
.wd-filter-icon,
.wd-toolbar-sidebar.wd-filter-icon,
.wd-filters-opener,
.product-filters-opener { display: none !important; }

/* ===== Single product gallery — clean, no frames; thumbnails uniform squares ===== */
.single-product .woocommerce-product-gallery__image,
.single-product .wd-carousel-item {
	border: 0 !important;
	background: transparent !important;
}
/* uniform thumbnail squares so they don't read as different-sized boxes */
.single-product .flex-control-thumbs li,
.single-product .wd-gallery-thumbnails li {
	aspect-ratio: 1 / 1;
	overflow: hidden;
}
.single-product .flex-control-thumbs img,
.single-product .wd-gallery-thumbnails img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

/* ===== Single product buy-box: trust list + full-width add-to-cart (Nain-style) ===== */
.fpc-trust { list-style:none; margin:22px 0 0; padding:20px 0 0; border-top:1px solid var(--fpc-line); display:grid; gap:14px; }
.fpc-trust li { display:flex; align-items:flex-start; gap:13px; font-size:13.5px; line-height:1.4; color:var(--fpc-ink-soft); }
.fpc-trust li strong { color:var(--fpc-ink); font-weight:600; }
.fpc-trust .fpc-trust-ic { width:22px; height:22px; flex:0 0 22px; color:var(--fpc-gold); margin-top:1px; }
.single-product .single_add_to_cart_button { width:100% !important; padding:16px 24px !important; font-size:14px !important; letter-spacing:.6px; }
.single-product .wd-buy-now-btn, .single-product .buy-now-button { display:none !important; }

/* Single product: Description + spec-table two-column row (template-driven layout) */
.elementor-element-fpcrow01 { flex-wrap: nowrap; align-items: flex-start; }
.elementor-element-fpcrow01 > .elementor-element-0d68bbe { flex: 1 1 58% !important; min-width: 0; }
.elementor-element-fpcrow01 > .elementor-element-97faa2f { flex: 0 0 38% !important; min-width: 0; }
@media (max-width: 768px) {
	.elementor-element-fpcrow01 { flex-wrap: wrap !important; }
	.elementor-element-fpcrow01 > .elementor-element { flex-basis: 100% !important; }
}

/* ===== Single product: curated spec table (the short description) — refined spec sheet ===== */
.single-product .woocommerce-product-details__short-description table {
	width: 100%;
	border-collapse: collapse;
	margin: 0;
	font-weight: 400;
}
.single-product .woocommerce-product-details__short-description td {
	padding: 12px 0;
	border-bottom: 1px solid var(--fpc-line);
	vertical-align: top;
	line-height: 1.5;
}
.single-product .woocommerce-product-details__short-description tr:first-child td { padding-top: 0; }
.single-product .woocommerce-product-details__short-description tr:last-child td { border-bottom: 0; }
/* label cell: small uppercase Work Sans, muted */
.single-product .woocommerce-product-details__short-description td:first-child {
	width: 40%;
	padding-right: 18px;
	font-family: "Work Sans", sans-serif;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--fpc-muted);
	line-height: 1.6;
}
/* value cell: ink, Libre Baskerville (inherits) */
.single-product .woocommerce-product-details__short-description td:nth-child(2) {
	color: var(--fpc-ink);
	font-size: 15px;
}

/* ===== Footer: trim type ~2px — it ran large vs the rest of the site ===== */
.wd-footer, .wd-footer p, .wd-footer li, .wd-footer a, .wd-footer span,
.wd-footer .widget li a, .wd-footer .menu a,
.wd-footer .widget-title, .wd-footer .widgettitle {
	font-size: 16px !important;
}
.wd-footer h1, .wd-footer h2, .wd-footer h3,
.wd-footer h4, .wd-footer h5, .wd-footer h6 {
	font-size: 18px !important;
}

/* ===== Rug Guide (#3020): hide default title bar so the editorial hero opens flush ===== */
.page-id-3020 .wd-page-title { display: none !important; }
.page-id-3020 main.wd-content-layout,
.page-id-3020 .content-layout-wrapper { padding-top: 0 !important; padding-bottom: 0 !important; }

/* ===== Showroom (#25): hide default title bar so the hero opens flush ===== */
.page-id-25 .wd-page-title { display: none !important; }
.page-id-25 main.wd-content-layout,
.page-id-25 .content-layout-wrapper { padding-top: 0 !important; padding-bottom: 0 !important; }

/* ===== Contact (#67): hide default title bar so the editorial hero opens flush ===== */
.page-id-67 .wd-page-title { display: none !important; }
.page-id-67 main.wd-content-layout,
.page-id-67 .content-layout-wrapper { padding-top: 0 !important; padding-bottom: 0 !important; }

/* ===== Mega menu: subtle "Shop all [Category] →" text link atop each dropdown ===== */
.wd-sub-menu .fpc-shopall.wd-col {
	flex-basis: 100% !important;
	max-width: 100% !important;
	width: 100% !important;
	order: -1;
	margin-bottom: 4px;
}
.wd-sub-menu .fpc-shopall > a.woodmart-nav-link {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	background: none !important;
	padding: 0 !important;
	border-radius: 0 !important;
	font-family: "Work Sans", sans-serif !important;
	font-weight: 500;
	font-size: 14px;
	letter-spacing: 0;
	text-transform: none;
}
.wd-sub-menu .fpc-shopall > a.woodmart-nav-link::after { content: "\2192"; font-size: 15px; color: var(--fpc-gold); }
.wd-sub-menu .fpc-shopall > a.woodmart-nav-link:hover { background: none !important; }

/* ===== Shop card: rug size between title and price ===== */
.products .fpc-card-size {
	font-family: "Work Sans", sans-serif;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .04em;
	color: var(--fpc-muted);
	margin: 3px 0 1px;
}
