/* ==========================================================================
   exhibitsolutions – "ipari katalógus" arculat Blocksy + WooCommerce alá
   Színek: alap #F4F3EF · tinta #16181B · kiemelés #E8590C
   A kiemelőszínt itt elég átírni: --exs-accent
   ========================================================================== */

:root:root {
	--exs-ink: #16181B;
	--exs-paper: #F4F3EF;
	--exs-white: #FFFFFF;
	--exs-muted: #44474D;
	--exs-line: #D4D2CB;
	--exs-accent: #E8590C;

	--exs-display: 'Archivo', 'Arial Narrow', 'Helvetica Neue', sans-serif;
	--exs-body: 'IBM Plex Sans', 'Segoe UI', 'Helvetica Neue', sans-serif;
	--exs-mono: 'IBM Plex Mono', ui-monospace, 'Consolas', monospace;

	/* Blocksy palette and theme variables */
	--theme-palette-color-1: var(--exs-ink);
	--theme-palette-color-2: #000000;
	--theme-palette-color-3: var(--exs-muted);
	--theme-palette-color-4: var(--exs-ink);
	--theme-palette-color-5: var(--exs-line);
	--theme-palette-color-6: #E8E6E0;
	--theme-palette-color-7: var(--exs-paper);
	--theme-palette-color-8: var(--exs-white);

	--theme-font-family: var(--exs-body);
	--theme-text-color: var(--exs-ink);
	--theme-headings-color: var(--exs-ink);
	--theme-heading-color: var(--exs-ink);
	--theme-link-initial-color: var(--exs-ink);
	--theme-link-hover-color: #000000;
	--theme-selection-background-color: var(--exs-accent);
	--theme-selection-text-color: var(--exs-ink);
	--theme-border-color: var(--exs-line);
	--theme-border-radius: 0px;

	--theme-button-font-family: var(--exs-body);
	--theme-button-font-weight: 600;
	--theme-button-text-transform: none;
	--theme-button-min-height: 48px;
	--theme-button-padding: 0 24px;
	--theme-button-border-radius: 0px;
	--theme-button-shadow: none;
	--theme-button-transform: none;
	--theme-button-text-initial-color: var(--exs-paper);
	--theme-button-text-hover-color: var(--exs-paper);
	--theme-button-background-initial-color: var(--exs-ink);
	--theme-button-background-hover-color: #000000;
	--theme-button-border: 2px solid var(--exs-ink);
	--theme-button-border-hover-color: #000000;

	--theme-form-field-height: 48px;
	--theme-form-field-border-width: 2px;
	--theme-form-field-border-radius: 0px;
	--theme-form-field-border-initial-color: var(--exs-ink);
	--theme-form-field-border-focus-color: var(--exs-accent);
	--theme-form-field-background-initial-color: var(--exs-white);
	--theme-form-field-background-focus-color: var(--exs-white);
	--theme-form-checkbox-border-radius: 0px;
	--theme-form-selection-field-active-color: var(--exs-ink);

	--theme-table-border-color: var(--exs-line);
}

html body {
	background-color: var(--exs-paper);
	color: var(--exs-ink);
	font-family: var(--exs-body);
}

/* ---------- Typography ---------- */

h1, h2, h3,
.page-title,
.entry-title,
.product_title,
.woocommerce-products-header__title {
	font-family: var(--exs-display);
	font-stretch: 72%;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: -0.01em;
	line-height: 0.95;
}

h1, .page-title, .woocommerce-products-header__title { font-size: clamp(40px, 6vw, 72px); }
h2 { font-size: clamp(32px, 4.2vw, 52px); }
h3 { font-size: clamp(24px, 2.6vw, 32px); }

.sku, .sku_wrapper, .woocommerce-price-suffix, .woocommerce-breadcrumb, .ct-breadcrumbs {
	font-family: var(--exs-mono);
	font-size: 13px;
}

/* ---------- Top bar ---------- */

.exs-topbar {
	background: var(--exs-ink);
	color: var(--exs-paper);
	font-size: 13px;
}
.exs-topbar__inner {
	max-width: var(--theme-normal-container-max-width, 1290px);
	margin: 0 auto;
	padding: 8px 24px;
	display: flex;
	flex-wrap: wrap;
	gap: 6px 24px;
}

/* ---------- Header & footer ---------- */

#header { border-bottom: 2px solid var(--exs-ink); }
#footer { border-top: 2px solid var(--exs-ink); }

/* Blocksy stores its own colours for the header rows, logo text and headings
   in the Customizer – these override them so the design stays consistent. */
#header [data-row],
#header [data-row] > .ct-container,
#header .ct-header [data-row] {
	background-color: var(--exs-paper) !important;
}
#header .site-title,
#header .site-title a,
#header .site-title a:hover {
	color: var(--exs-ink) !important;
}
#header .site-title a span,
#header .site-description {
	color: var(--exs-muted) !important;
}
#header .ct-menu-link,
#header [data-id="cart"] .ct-label,
#header .ct-header-search {
	color: var(--exs-ink) !important;
}
#header .ct-menu-link:hover {
	text-decoration: underline;
	text-decoration-color: var(--exs-accent);
	text-decoration-thickness: 3px;
	text-underline-offset: 6px;
}

h1, h2, h3, h4, h5, h6,
.page-title, .entry-title, .product_title {
	color: var(--exs-ink) !important;
}

.ct-header .site-title,
.ct-header .site-title a {
	font-family: var(--exs-display);
	font-stretch: 72%;
	font-weight: 800;
	text-transform: uppercase;
}

/* ---------- Buttons & fields ---------- */

.button, button[type="submit"], input[type="submit"], .wp-element-button, .ct-button, .added_to_cart {
	border-radius: 0 !important;
	box-shadow: none !important;
}

.button.alt, .single_add_to_cart_button, #place_order, .checkout-button {
	min-height: 56px;
	font-size: 17px;
}

input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="search"],
input[type="password"], select, textarea, .select2-container .select2-selection {
	border-radius: 0 !important;
}

:focus-visible {
	outline: 3px solid var(--exs-accent);
	outline-offset: 2px;
}

/* ---------- Product cards (shop, category) ---------- */

ul.products li.product {
	background: var(--exs-paper);
	border: 2px solid var(--exs-ink);
	padding: 0 0 16px;
	text-align: left;
}
ul.products li.product figure,
ul.products li.product .ct-media-container,
ul.products li.product a img {
	border-radius: 0 !important;
	margin-bottom: 0;
}
ul.products li.product .ct-media-container,
ul.products li.product figure {
	background: #E3E1DA;
	border-bottom: 2px solid var(--exs-ink);
}
ul.products li.product .woocommerce-loop-product__title,
ul.products li.product .price,
ul.products li.product .ct-woo-card-actions {
	padding-left: 16px;
	padding-right: 16px;
}
ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--exs-body);
	font-size: 17px;
	font-weight: 600;
	text-transform: none;
	line-height: 1.3;
	margin-top: 16px;
}
ul.products li.product .price {
	font-size: 18px;
	font-weight: 600;
	color: var(--exs-ink);
}
ul.products li.product .onsale,
.single-product .onsale {
	background: var(--exs-accent);
	color: var(--exs-ink);
	border-radius: 0;
	font-weight: 600;
}

/* ---------- Single product ---------- */

.single-product .product_title { font-size: clamp(40px, 5vw, 60px); }

.single-product .summary .price {
	display: block;
	border-top: 2px solid var(--exs-ink);
	border-bottom: 2px solid var(--exs-ink);
	padding: 18px 0;
	font-family: var(--exs-display);
	font-size: 40px;
	font-weight: 600;
	color: var(--exs-ink);
}
.single-product .summary .price .woocommerce-price-suffix {
	font-family: var(--exs-body);
	font-size: 15px;
	font-weight: 400;
	color: var(--exs-muted);
	margin-left: 10px;
}
.single-product .quantity .qty {
	width: 96px;
	height: 56px;
	border: 2px solid var(--exs-ink);
	font-size: 18px;
	text-align: center;
}
.single-product .woocommerce-product-gallery img { border-radius: 0 !important; }
.single-product .flex-control-thumbs .flex-active { outline: 2px solid var(--exs-ink); }

.woocommerce-tabs .tabs li a { font-weight: 600; }
.woocommerce-tabs .tabs li.active a {
	background: var(--exs-ink);
	color: var(--exs-paper);
}

/* Variation pills, if the shop uses button-style swatches */
.variations select,
.ct-variation-swatches [data-swatch-type] > * {
	border-radius: 0 !important;
}

/* ---------- Tables (variations, cart, order review) ---------- */

.shop_table, table.variations, .woocommerce-table {
	border-collapse: collapse;
	background: var(--exs-white);
}
.shop_table th, .shop_table td {
	border-color: var(--exs-line) !important;
}
.shop_table .order-total th, .shop_table .order-total td {
	border-top: 2px solid var(--exs-ink) !important;
	font-size: 20px;
}

/* ---------- Checkout ---------- */

.woocommerce-checkout h3 {
	font-size: 28px;
	margin-bottom: 18px;
}
.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading + #order_review {
	background: var(--exs-white);
	border: 2px solid var(--exs-ink);
	padding: 28px;
}
.woocommerce-checkout .form-row label {
	font-weight: 600;
	font-size: 14px;
}
#billing_vat_id_field .description {
	display: block;
	margin-top: 8px;
	padding: 10px 12px;
	background: var(--exs-white);
	border: 2px solid var(--exs-ink);
	font-size: 14px;
}
#billing_vat_id { font-family: var(--exs-mono); text-transform: uppercase; }
tr.exs-reverse-charge th, tr.exs-reverse-charge td { font-weight: 600; }
tr.exs-reverse-charge th::before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	margin-right: 8px;
	background: var(--exs-accent);
}

/* ---------- Notices ---------- */

.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner {
	background: var(--exs-white) !important;
	border: 2px solid var(--exs-ink) !important;
	border-radius: 0 !important;
	color: var(--exs-ink) !important;
}
.woocommerce-error { border-color: #B42318 !important; }

/* ---------- Quote-only and oversized products ---------- */

.exs-quote-price {
	font-family: var(--exs-body);
	font-size: 0.6em;
	font-weight: 600;
	color: var(--exs-ink);
}
ul.products li.product .exs-quote-price { font-size: 15px; }
.exs-oversize-note {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	font-size: 14px;
	color: var(--exs-muted);
}
.exs-oversize-note::before {
	content: "";
	flex: none;
	width: 10px;
	height: 10px;
	margin-top: 5px;
	background: var(--exs-accent);
}
