/*
 * Necchi Srbija — brand layer (02_ODLUKE_I_PRAVILA.md §3)
 * Colors: red #D71920, black #000000, text #202020, white #FFFFFF, light grey #F5F5F5
 * Type:   Gloock (display) / Nunito Sans (body)
 * Buttons: rectangular (radius 0), red, white uppercase text
 */

:root {
	--necchi-red: #d71920;
	--necchi-red-dark: #b0141a;
	--necchi-black: #000000;
	--necchi-text: #202020;
	--necchi-muted: #6b6b6b;
	--necchi-white: #ffffff;
	--necchi-grey: #f5f5f5;
	--necchi-line: #e3e3e3;
	--necchi-font-display: "Gloock", Georgia, "Times New Roman", serif;
	--necchi-font-body: "Nunito Sans", "Segoe UI", Arial, sans-serif;
	--necchi-container: 1200px;
}

/* ---- Base typography ---- */

body {
	font-family: var(--necchi-font-body);
	font-size: 16px;
	line-height: 1.6;
	color: var(--necchi-text);
	background: var(--necchi-white);
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--necchi-font-display);
	font-weight: 400;
	line-height: 1.15;
	color: var(--necchi-black);
	margin: 0 0 0.5em;
}

h1 { font-size: 3rem; }
h2 { font-size: 2.25rem; }
h3 { font-size: 1.5rem; }
h4 { font-size: 1.25rem; font-family: var(--necchi-font-body); font-weight: 700; }

a {
	color: var(--necchi-red);
	text-decoration: none;
}
a:hover, a:focus {
	color: var(--necchi-red-dark);
	text-decoration: underline;
}

.necchi-eyebrow {
	font-family: var(--necchi-font-body);
	font-weight: 800;
	font-size: 14px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--necchi-red);
}

/* ---- Buttons ---- */

.necchi-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	display: inline-block;
	font-family: var(--necchi-font-body);
	font-weight: 700;
	font-size: 15px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	line-height: 1;
	padding: 16px 32px;
	border: 2px solid var(--necchi-red);
	border-radius: 0;
	background: var(--necchi-red);
	color: var(--necchi-white);
	text-decoration: none;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.necchi-button:hover,
.necchi-button:focus,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
	background: var(--necchi-red-dark);
	border-color: var(--necchi-red-dark);
	color: var(--necchi-white);
	text-decoration: none;
}
.necchi-button--outline {
	background: transparent;
	color: var(--necchi-red);
}
.necchi-button--outline:hover,
.necchi-button--outline:focus {
	background: var(--necchi-red);
	color: var(--necchi-white);
}
.necchi-button--black {
	background: var(--necchi-black);
	border-color: var(--necchi-black);
}
.necchi-button--black:hover,
.necchi-button--black:focus {
	background: var(--necchi-red);
	border-color: var(--necchi-red);
}

/* ---- Theme header / footer (Hello dynamic header) ---- */

.site-header {
	font-family: var(--necchi-font-body);
}
.site-header .site-title a,
.site-footer .site-title a {
	font-family: var(--necchi-font-display);
	color: var(--necchi-black);
	text-decoration: none;
}
.site-header .site-navigation ul.menu li a,
.site-header .site-navigation-dropdown ul.menu li a {
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--necchi-black);
}
.site-header .site-navigation ul.menu li a:hover,
.site-header .site-navigation ul.menu li.current-menu-item > a {
	color: var(--necchi-red);
	text-decoration: none;
}
.site-navigation-toggle-icon,
.site-navigation-toggle-icon::before,
.site-navigation-toggle-icon::after {
	background: var(--necchi-black);
}
.site-footer {
	background: var(--necchi-black);
	color: var(--necchi-white);
	font-size: 14px;
}
.site-footer a,
.site-footer .site-title a,
.site-footer .site-navigation ul.menu li a {
	color: var(--necchi-white);
}
.site-footer a:hover {
	color: var(--necchi-red);
}
.site-footer .copyright p {
	color: #bdbdbd;
}

/* ---- Page shell for non-Elementor content (product pages) ---- */

.site-main {
	max-width: var(--necchi-container);
	margin: 0 auto;
	padding: 40px 20px;
}
.page-header .entry-title {
	font-size: 2.25rem;
}

/* ---- WooCommerce: presentation-only ---- */

.necchi-wc-presentation .woocommerce-breadcrumb {
	font-size: 13px;
	color: var(--necchi-muted);
	margin-bottom: 24px;
}
.necchi-wc-presentation .woocommerce-breadcrumb a {
	color: var(--necchi-muted);
}

/* loop */
.necchi-wc-presentation ul.products {
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px 24px;
}
.necchi-wc-presentation ul.products li.product {
	width: auto;
	margin: 0;
	float: none;
	display: flex;
	flex-direction: column;
	text-align: center;
	background: var(--necchi-white);
	border: 1px solid var(--necchi-line);
	padding: 24px 20px 28px;
	transition: box-shadow .2s ease, border-color .2s ease;
}
.necchi-wc-presentation ul.products li.product:hover {
	border-color: var(--necchi-black);
	box-shadow: 0 12px 32px rgba(0, 0, 0, .08);
}
.necchi-wc-presentation ul.products li.product img {
	width: 100%;
	height: auto;
	margin: 0 0 16px;
	background: var(--necchi-grey);
}
.necchi-wc-presentation ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--necchi-font-display);
	font-size: 1.25rem;
	color: var(--necchi-black);
	padding: 0;
	margin: 0 0 12px;
}
.necchi-wc-presentation ul.products li.product .necchi-loop-details {
	margin-top: auto;
	align-self: center;
	padding: 12px 24px;
	font-size: 13px;
}
@media (max-width: 1024px) {
	.necchi-wc-presentation ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 600px) {
	.necchi-wc-presentation ul.products {
		grid-template-columns: 1fr;
	}
}

/* single */
.necchi-wc-presentation div.product .product_title {
	font-size: 2.5rem;
	margin-bottom: 12px;
}
.necchi-wc-presentation div.product .woocommerce-product-details__short-description {
	font-size: 17px;
	margin-bottom: 28px;
}
.necchi-wc-presentation .necchi-buy {
	margin: 0 0 28px;
}
.necchi-wc-presentation .necchi-buy__note {
	display: block;
	margin-top: 12px;
	font-size: 13px;
	color: var(--necchi-muted);
}
.necchi-wc-presentation div.product .product_meta {
	font-size: 13px;
	color: var(--necchi-muted);
	border-top: 1px solid var(--necchi-line);
	padding-top: 16px;
}
.necchi-wc-presentation .woocommerce-tabs ul.tabs {
	padding: 0;
	margin: 0 0 24px;
	border-bottom: 2px solid var(--necchi-line);
}
.necchi-wc-presentation .woocommerce-tabs ul.tabs::before,
.necchi-wc-presentation .woocommerce-tabs ul.tabs::after {
	border: 0;
	box-shadow: none;
}
.necchi-wc-presentation .woocommerce-tabs ul.tabs li {
	background: transparent;
	border: 0;
	border-radius: 0;
	margin: 0 24px 0 0;
	padding: 0;
	box-shadow: none;
}
.necchi-wc-presentation .woocommerce-tabs ul.tabs li::before,
.necchi-wc-presentation .woocommerce-tabs ul.tabs li::after {
	display: none;
}
.necchi-wc-presentation .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 12px 0;
	font-weight: 800;
	font-size: 14px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--necchi-muted);
	border-bottom: 2px solid transparent;
	margin-bottom: -2px;
}
.necchi-wc-presentation .woocommerce-tabs ul.tabs li.active a {
	color: var(--necchi-black);
	border-bottom-color: var(--necchi-red);
}
.necchi-wc-presentation .woocommerce-tabs .panel h2:first-child {
	display: none;
}
.necchi-wc-presentation table.woocommerce-product-attributes th,
.necchi-wc-presentation table.woocommerce-product-attributes td {
	border: 0;
	border-bottom: 1px solid var(--necchi-line);
	padding: 10px 12px;
	font-size: 15px;
	line-height: 1.5;
	font-style: normal;
}
.necchi-wc-presentation table.woocommerce-product-attributes th {
	font-weight: 700;
	color: var(--necchi-black);
	width: 40%;
}
.necchi-wc-presentation table.woocommerce-product-attributes tr:nth-child(even) th,
.necchi-wc-presentation table.woocommerce-product-attributes tr:nth-child(even) td {
	background: var(--necchi-grey);
}
.necchi-wc-presentation section.related > h2 {
	text-align: center;
	margin-bottom: 32px;
}
.necchi-wc-presentation .woocommerce-message,
.necchi-wc-presentation .woocommerce-info {
	border-top-color: var(--necchi-red);
}
.necchi-wc-presentation .woocommerce-message::before,
.necchi-wc-presentation .woocommerce-info::before {
	color: var(--necchi-red);
}
