/* ==========================================================================
   INDIAN-TILE theme styles
   Based on the React design — palette, layout patterns, components.
   ========================================================================== */

:root {
	--it-orange:        #E05A1B;
	--it-orange-hover:  #C8431A;
	--it-orange-dark:   #A83510;
	--it-dark:          #1C1C1C;
	--it-darker:        #0D0D0D;
	--it-dark-2:        #2C2C2C;
	--it-bg-light:      #F7F4F0;
	--it-bg-stone:      #EEEAE4;
	--it-text:          #1C1C1C;
	--it-text-muted:    #6B7280;
	--it-text-faint:    #9CA3AF;
	--it-border:        #E5E7EB;
	--it-border-soft:   #F3F4F6;
	--it-white:         #FFFFFF;
	--it-success:       #16A34A;
	--it-amber:         #FFFBEB;
	--it-amber-border:  #FCD34D;
	--it-amber-text:    #92400E;
	--it-shadow-sm:     0 1px 2px 0 rgba(0, 0, 0, 0.05);
	--it-shadow-md:     0 4px 6px -1px rgba(0, 0, 0, 0.07), 0 2px 4px -2px rgba(0, 0, 0, 0.05);
	--it-shadow-lg:     0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.06);
	--it-shadow-xl:     0 20px 40px -10px rgba(0, 0, 0, 0.15);
	--it-radius:        6px;
	--it-radius-lg:     12px;
	--it-container:     1280px;
	--it-header-h:      64px;
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	font-size: 14px;
	color: var(--it-text);
	background: var(--it-white);
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s;
}

button {
	font-family: inherit;
	cursor: pointer;
	border: 0;
	background: transparent;
	color: inherit;
}

h1, h2, h3, h4, h5, h6, p {
	margin: 0;
}

/* Layout helpers ----------------------------------------------------------- */
.container {
	width: 100%;
	max-width: var(--it-container);
	margin-left: auto;
	margin-right: auto;
	padding-left: 16px;
	padding-right: 16px;
}
@media (min-width: 640px) {
	.container { padding-left: 24px; padding-right: 24px; }
}
@media (min-width: 1024px) {
	.container { padding-left: 32px; padding-right: 32px; }
}

.site-content {
	padding-top: var(--it-header-h);
}

/* Header ------------------------------------------------------------------ */
.site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 50;
	background: rgba(255, 255, 255, 0.96);
	box-shadow: var(--it-shadow-sm);
	backdrop-filter: blur(6px);
	transition: box-shadow 0.3s, background 0.3s;
}
.site-header.is-scrolled {
	background: #fff;
	box-shadow: var(--it-shadow-md);
}
/* WP admin bar offset: push the fixed header below #wpadminbar so it
   doesn't get covered. WP itself shifts html by margin-top to reserve
   space for the bar, so .site-content padding already lines up — we
   only need to move the fixed header itself. */
body.admin-bar .site-header { top: 32px; }
@media screen and (max-width: 782px) {
	body.admin-bar .site-header { top: 46px; }
}
.site-header__accent {
	height: 2px;
	background: linear-gradient(90deg, var(--it-orange-hover), var(--it-orange), var(--it-orange-hover));
}
.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: var(--it-header-h);
}
.site-logo {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-shrink: 0;
}
.site-logo__img {
	display: block;
	flex-shrink: 0;
	object-fit: contain;
	filter: drop-shadow(0 0 6px rgba(251, 191, 36, 0.35));
}
.site-logo__text {
	display: flex;
	flex-direction: column;
	line-height: 1.1;
}
.site-logo__name {
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: var(--it-dark);
}
.site-logo__tagline {
	font-size: 10px;
	color: #888;
	letter-spacing: 0.08em;
}

.site-nav {
	display: none;
	align-items: center;
	gap: 24px;
}
@media (min-width: 768px) {
	.site-nav { display: flex; }
}
.site-nav a {
	font-size: 14px;
	color: #374151;
	font-weight: 500;
	position: relative;
	padding: 4px 0;
	white-space: nowrap;
}
.site-nav a::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 0;
	height: 2px;
	background: var(--it-orange);
	transition: width 0.2s;
}
.site-nav a:hover {
	color: var(--it-orange);
}
.site-nav a:hover::after {
	width: 100%;
}

.site-header__actions {
	display: none;
	align-items: center;
	gap: 16px;
}
@media (min-width: 768px) {
	.site-header__actions { display: flex; }
}
.site-header__actions .icon-wa { color: #25D366; }
.site-header__actions .icon-tg { color: #29B6F6; }
.site-header__actions .icon-link {
	transition: opacity 0.2s, color 0.2s;
}
.site-header__actions .icon-link:hover { opacity: 0.85; }
.site-header__sep {
	width: 1px;
	height: 20px;
	background: var(--it-border);
}
.site-header__phone {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--it-dark);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.02em;
	white-space: nowrap;
}
.site-header__phone > span { white-space: nowrap; }
.site-header__phone:hover { color: var(--it-orange); }
.site-header__phone .icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	line-height: 0;
	color: var(--it-orange);
}
.site-header__phone .icon svg {
	display: block;
}

.site-header__burger {
	display: inline-flex;
	padding: 8px;
	color: #374151;
}
@media (min-width: 768px) {
	.site-header__burger { display: none; }
}
.site-header__burger:hover { color: var(--it-orange); }

.mobile-menu {
	display: none;
	background: #fff;
	border-top: 1px solid var(--it-border-soft);
	box-shadow: var(--it-shadow-lg);
}
.mobile-menu.is-open { display: block; }
@media (min-width: 768px) {
	.mobile-menu, .mobile-menu.is-open { display: none !important; }
}
.mobile-menu__inner {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 12px 16px 16px;
}
.mobile-menu__inner a {
	font-weight: 500;
	color: #374151;
	padding: 6px 0;
}
.mobile-menu__inner a:hover { color: var(--it-orange); }
.mobile-menu__actions {
	display: flex;
	align-items: center;
	gap: 12px;
	border-top: 1px solid var(--it-border-soft);
	padding-top: 12px;
}
.mobile-menu__actions .icon-link {
	color: var(--it-text-muted);
}
.mobile-menu__actions .icon-wa { color: #25D366; }
.mobile-menu__actions .icon-tg { color: #29B6F6; }
.mobile-menu__phone {
	margin-left: auto;
	color: var(--it-orange);
	font-weight: 600;
	font-size: 14px;
}

/* Tablet header tightening: keep logo + nav + actions on a single row
   between 768px and 1023px without touching the desktop layout. */
@media (min-width: 768px) and (max-width: 1023px) {
	.site-header__inner { gap: 12px; }
	.site-logo { gap: 8px; }
	.site-logo__name { font-size: 14px; letter-spacing: 0.04em; }
	.site-logo__tagline { display: none; }
	.site-nav { gap: 16px; }
	.site-nav a { font-size: 13px; }
	.site-header__actions { gap: 10px; }
	.site-header__sep { display: none; }
	.site-header__phone { font-size: 13px; gap: 4px; }
}

/* Hero --------------------------------------------------------------------- */
.hero {
	position: relative;
	min-height: 92vh;
	display: flex;
	align-items: center;
	overflow: hidden;
	color: #fff;
}
.hero__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
}
.hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(13,13,13,0.85), rgba(26,26,26,0.75), rgba(13,13,13,0.6));
}
.hero__pattern {
	position: absolute;
	inset: 0;
	opacity: 0.1;
	background-image: repeating-linear-gradient(45deg, transparent, transparent 40px, rgba(255,255,255,0.03) 40px, rgba(255,255,255,0.03) 80px);
}
.hero__inner {
	position: relative;
	width: 100%;
	padding-top: 80px;
	padding-bottom: 140px;
}
.hero__content {
	max-width: 640px;
}
.hero__badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 24px;
}
.hero__dots { display: inline-flex; gap: 4px; }
.hero__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
}
.hero__dot--1 { background: var(--it-orange); }
.hero__dot--2 { background: var(--it-orange-hover); }
.hero__dot--3 { background: var(--it-orange-dark); }
.hero__badge-text {
	color: var(--it-orange);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}
.hero__title {
	font-size: clamp(32px, 5vw, 56px);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.01em;
	margin-bottom: 20px;
}
.hero__title-accent { color: var(--it-orange); }
.hero__subtitle {
	color: #D1D5DB;
	font-size: 17px;
	line-height: 1.6;
	margin-bottom: 32px;
	max-width: 520px;
}
.hero__stats {
	display: flex;
	gap: 24px;
	margin-bottom: 40px;
}
.hero__stat-val {
	display: block;
	color: #fff;
	font-size: 22px;
	font-weight: 700;
}
.hero__stat-label {
	color: #9CA3AF;
	font-size: 12px;
}
.hero__ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

/* Buttons ----------------------------------------------------------------- */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 14px 28px;
	border-radius: var(--it-radius);
	font-size: 15px;
	font-weight: 600;
	transition: all 0.2s;
	cursor: pointer;
	border: 0;
	line-height: 1;
}
.btn--primary {
	background: var(--it-orange);
	color: #fff;
	box-shadow: var(--it-shadow-lg);
}
.btn--primary:hover {
	background: var(--it-orange-hover);
	box-shadow: 0 12px 28px -6px rgba(224, 90, 27, 0.5);
}
.btn--ghost {
	background: transparent;
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.3);
	backdrop-filter: blur(4px);
}
.btn--ghost:hover {
	background: rgba(255, 255, 255, 0.1);
	border-color: rgba(255, 255, 255, 0.6);
}
.btn--dark {
	background: var(--it-dark);
	color: #fff;
}
.btn--dark:hover { background: var(--it-dark-2); }
.btn--outline {
	background: transparent;
	color: var(--it-orange);
	border: 1px solid var(--it-orange);
	box-shadow: none;
}
.btn--outline:hover {
	background: rgba(224, 90, 27, 0.08);
	color: var(--it-orange-hover);
	border-color: var(--it-orange-hover);
}
.btn--block { width: 100%; }
.btn--lg { padding: 16px 32px; font-size: 16px; }
.btn--sm { padding: 10px 18px; font-size: 13px; }

/* Scroll indicator -------------------------------------------------------- */
.hero__scroll {
	position: absolute;
	bottom: 32px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 0;
	color: rgba(255, 255, 255, 0.5);
	cursor: pointer;
	animation: it-float 1.8s ease-in-out infinite;
}
.hero__scroll-mouse {
	display: block;
	overflow: visible;
}
.hero__scroll-wheel {
	transform-origin: center;
	animation: it-scroll-wheel 1.8s ease-in-out infinite;
}
@keyframes it-float {
	0%, 100% { transform: translate(-50%, 0); }
	50% { transform: translate(-50%, 6px); }
}
@keyframes it-scroll-wheel {
	0%, 100% { transform: translateY(0); opacity: 0.75; }
	50%      { transform: translateY(4px); opacity: 0.35; }
}
@media (prefers-reduced-motion: reduce) {
	.hero__scroll,
	.hero__scroll-wheel { animation: none; }
}

/* Advantages strip -------------------------------------------------------- */
.advantages {
	background: var(--it-dark);
	padding: 40px 0;
}
.advantages__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
}
@media (min-width: 1024px) {
	.advantages__grid { grid-template-columns: repeat(4, 1fr); }
}
.advantage {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}
.advantage__icon {
	width: 40px;
	height: 40px;
	border-radius: 4px;
	background: rgba(224, 90, 27, 0.2);
	color: var(--it-orange);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	margin-top: 2px;
}
.advantage__title {
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	margin-bottom: 4px;
}
.advantage__desc {
	color: #9CA3AF;
	font-size: 12px;
	line-height: 1.5;
}

/* Section heading --------------------------------------------------------- */
.section-heading {
	background: #fff;
	padding: 40px 0;
	text-align: center;
}
.section-heading__overline {
	color: #9CA3AF;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	font-size: 11px;
	font-weight: 600;
	margin-bottom: 8px;
}
.section-heading__title {
	color: var(--it-dark);
	font-size: clamp(24px, 3.5vw, 36px);
	font-weight: 700;
}
.section-heading__accent {
	width: 48px;
	height: 4px;
	background: var(--it-orange);
	border-radius: 4px;
	margin: 16px auto 0;
}

/* Category section -------------------------------------------------------- */
.tile-category {
	padding: 64px 0;
}
@media (min-width: 768px) {
	.tile-category { padding: 80px 0; }
}
.tile-category--white { background: #fff; }
.tile-category--light { background: var(--it-bg-light); }
.tile-category--stone { background: var(--it-bg-stone); }

.tile-category__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
}
@media (min-width: 1024px) {
	.tile-category__inner {
		flex-direction: row;
		gap: 64px;
	}
	.tile-category--reverse .tile-category__inner {
		flex-direction: row-reverse;
	}
}
.tile-category__content {
	flex: 1;
	min-width: 0;
}
.tile-category__label {
	display: inline-block;
	padding: 4px 12px;
	background: rgba(224, 90, 27, 0.1);
	color: var(--it-orange);
	border-radius: var(--it-radius);
	text-transform: uppercase;
	letter-spacing: 0.16em;
	font-size: 11px;
	font-weight: 700;
	margin-bottom: 12px;
}
.tile-category__title {
	color: var(--it-dark);
	font-size: clamp(22px, 3vw, 30px);
	font-weight: 700;
	line-height: 1.25;
	margin-bottom: 24px;
}
.tile-category__accent {
	width: 48px;
	height: 4px;
	background: var(--it-orange);
	border-radius: 4px;
	margin-bottom: 32px;
}
.size-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 24px;
}
.size-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 16px;
	border: 2px solid var(--it-dark-2);
	color: var(--it-dark-2);
	border-radius: var(--it-radius);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.02em;
	transition: all 0.2s;
	position: relative;
}
.size-btn:hover {
	background: var(--it-orange);
	border-color: var(--it-orange);
	color: #fff;
}
.size-btn .icon {
	opacity: 0;
	margin-left: -2px;
	transition: opacity 0.2s;
}
.size-btn:hover .icon { opacity: 1; }
.size-btn--empty {
	opacity: 0.55;
	cursor: not-allowed;
}
.size-btn--empty:hover {
	background: transparent;
	color: var(--it-dark-2);
	border-color: var(--it-dark-2);
}

.tile-category__special {
	display: inline-flex;
	align-items: flex-start;
	gap: 8px;
	padding: 12px 16px;
	background: var(--it-amber);
	border: 1px solid var(--it-amber-border);
	border-radius: var(--it-radius);
	color: var(--it-amber-text);
	max-width: 380px;
	font-size: 13px;
	line-height: 1.5;
	margin-top: 16px;
}
.tile-category__hint {
	margin-top: 20px;
	color: #9CA3AF;
	font-size: 12px;
}
.tile-category__image-wrap {
	flex-shrink: 0;
	width: 100%;
	max-width: 480px;
}
@media (min-width: 1024px) {
	.tile-category__image-wrap { width: 420px; }
}
@media (min-width: 1280px) {
	.tile-category__image-wrap { width: 480px; }
}
.tile-category__image {
	position: relative;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: var(--it-shadow-xl);
	aspect-ratio: 5 / 4;
}
.tile-category__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.tile-category__image-grad {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.2), transparent);
}
.tile-category__image-badge {
	position: absolute;
	bottom: 16px;
	left: 16px;
	padding: 6px 12px;
	background: rgba(255, 255, 255, 0.9);
	color: var(--it-dark);
	font-size: 12px;
	font-weight: 600;
	border-radius: var(--it-radius);
	backdrop-filter: blur(6px);
	box-shadow: var(--it-shadow-sm);
}

/* CTA banner -------------------------------------------------------------- */
.cta-banner {
	position: relative;
	padding: 80px 0;
	overflow: hidden;
	color: #fff;
	text-align: center;
}
.cta-banner__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
}
.cta-banner__overlay {
	position: absolute;
	inset: 0;
	background: rgba(28, 28, 28, 0.8);
}
.cta-banner__inner {
	position: relative;
	max-width: 760px;
	margin: 0 auto;
	padding: 0 16px;
}
.cta-banner__title {
	font-size: clamp(26px, 4vw, 40px);
	font-weight: 700;
	margin-bottom: 16px;
}
.cta-banner__subtitle {
	color: #D1D5DB;
	font-size: 16px;
	line-height: 1.6;
	margin-bottom: 32px;
}

/* Footer ------------------------------------------------------------------ */
.site-footer {
	background: var(--it-dark);
	color: #fff;
}
.site-footer__main {
	padding: 56px 0;
}
.site-footer__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
}
@media (min-width: 768px) {
	.site-footer__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
	.site-footer__grid {
		grid-template-columns: 1fr 2fr 1fr;
	}
}
.site-footer .site-logo {
	color: inherit;
	text-decoration: none;
}
.site-footer .site-logo:hover {
	opacity: 0.9;
}
.site-footer .site-logo__name {
	color: #fff;
}
.site-footer .site-logo__tagline {
	color: #888;
}

.site-footer__brand-text {
	color: #9CA3AF;
	font-size: 13px;
	line-height: 1.7;
	margin: 20px 0;
}
.site-footer__socials {
	display: flex;
	gap: 12px;
}
.site-footer__socials a {
	width: 36px;
	height: 36px;
	border-radius: 4px;
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s;
}
.site-footer__socials a.icon-wa:hover { background: #16A34A; }
.site-footer__socials a.icon-tg:hover { background: #0EA5E9; }
.site-footer__socials a.icon-max:hover {
	background: linear-gradient(135deg, #0077FF 0%, #7B42F6 50%, #FF2D55 100%);
}

.site-footer__title {
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	margin-bottom: 20px;
}
.site-footer__sizes {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px 24px;
}
@media (min-width: 640px) {
	.site-footer__sizes { grid-template-columns: 1fr 1fr; }
}
.site-footer__size-cat {
	color: #9CA3AF;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	margin-bottom: 8px;
}
.site-footer__size-list {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.site-footer__size-list a {
	color: #D1D5DB;
	font-size: 12px;
}
.site-footer__size-list a:hover { color: var(--it-orange); }
.site-footer__size-list .sep {
	margin-left: 6px;
	color: #4B5563;
}
.site-footer__contacts {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.site-footer__contacts a, .site-footer__contacts > div {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	color: #D1D5DB;
	font-size: 14px;
}
.site-footer__contacts a:hover { color: var(--it-orange); }
.site-footer__contacts .icon { color: var(--it-orange); flex-shrink: 0; margin-top: 1px; }
.site-footer__address-extra {
	color: #6B7280;
	display: block;
	margin-top: 4px;
	font-size: 13px;
}

.site-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.site-footer__bottom-inner {
	padding: 20px 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
@media (min-width: 640px) {
	.site-footer__bottom-inner { flex-direction: row; }
}
.site-footer__copyright {
	color: #6B7280;
	font-size: 12px;
}
.site-footer__legal {
	display: flex;
	gap: 20px;
}
.site-footer__legal a {
	color: #6B7280;
	font-size: 12px;
}
.site-footer__legal a:hover { color: #D1D5DB; }

/* Breadcrumbs ------------------------------------------------------------ */
.breadcrumbs {
	background: #fff;
	border-bottom: 1px solid var(--it-border-soft);
}
.breadcrumbs__inner {
	padding: 12px 0;
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	color: var(--it-text-muted);
	font-size: 13px;
}
.breadcrumbs a:hover { color: var(--it-orange); }
.breadcrumbs__current {
	color: var(--it-dark);
	font-weight: 600;
}

/* Catalog page (single brochure) ----------------------------------------- */
.catalog-page {
	background: var(--it-bg-light);
}
.catalog-hero {
	background: var(--it-dark);
	color: #fff;
	padding: 56px 0;
}
.catalog-hero__back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #9CA3AF;
	font-size: 14px;
	margin-bottom: 24px;
}
.catalog-hero__back:hover { color: #fff; }
.catalog-hero__label {
	display: inline-block;
	padding: 4px 10px;
	background: rgba(224, 90, 27, 0.2);
	color: var(--it-orange);
	border-radius: var(--it-radius);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	margin-bottom: 12px;
}
.catalog-hero__title {
	color: #fff;
	font-size: clamp(28px, 5vw, 48px);
	font-weight: 700;
	line-height: 1.15;
	margin-bottom: 12px;
}
.catalog-hero__desc {
	color: #9CA3AF;
	font-size: 15px;
	max-width: 760px;
}

.catalog-body {
	padding: 48px 0;
}
.catalog-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 32px;
}
@media (min-width: 1024px) {
	.catalog-grid { grid-template-columns: 2fr 1fr; }
}

.card {
	background: #fff;
	border-radius: var(--it-radius-lg);
	box-shadow: var(--it-shadow-sm);
	overflow: hidden;
}
.card--dark {
	background: var(--it-dark);
	color: #fff;
}
.card__pad { padding: 24px; }
.card__pad--lg { padding: 32px; }

.tile-visual {
	text-align: center;
	padding: 32px;
}
.tile-visual__box {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #F3F4F6, #FAFAFA, #E5E7EB);
	border: 2px solid #D1D5DB;
	border-radius: 4px;
	box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.06);
}
.tile-visual__label {
	color: #4B5563;
	font-weight: 700;
	font-size: clamp(14px, 3vw, 22px);
}
.tile-visual__unit {
	color: #9CA3AF;
	font-size: 11px;
}
.tile-visual__caption {
	color: #9CA3AF;
	font-size: 11px;
	margin-top: 12px;
}
.tile-units {
	display: flex;
	gap: 32px;
	justify-content: center;
	margin-top: 24px;
	padding-top: 16px;
	border-top: 1px solid var(--it-border-soft);
	flex-wrap: wrap;
}
.tile-units__item { text-align: center; }
.tile-units__label {
	color: #9CA3AF;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
.tile-units__val {
	color: var(--it-dark);
	font-weight: 600;
	font-size: 15px;
	margin-top: 2px;
}

.specs__head {
	padding: 16px 24px;
	border-bottom: 1px solid var(--it-border-soft);
	display: flex;
	align-items: center;
	gap: 8px;
}
.specs__head .icon { color: var(--it-orange); }
.specs__head h2 {
	color: var(--it-dark);
	font-size: 16px;
	font-weight: 700;
}
.specs__row {
	display: flex;
	align-items: center;
	padding: 14px 24px;
	border-bottom: 1px solid var(--it-border-soft);
}
.specs__row:last-child { border-bottom: 0; }
.specs__label {
	color: var(--it-text-muted);
	width: 200px;
	flex-shrink: 0;
	font-size: 14px;
}
.specs__value {
	color: var(--it-dark);
	font-weight: 500;
	font-size: 14px;
}

.other-sizes h3 {
	color: var(--it-dark);
	font-size: 15px;
	font-weight: 700;
	margin-bottom: 16px;
}
.other-sizes__list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.other-sizes__list a {
	display: inline-flex;
	align-items: center;
	padding: 8px 12px;
	border: 1px solid var(--it-border);
	color: var(--it-text-muted);
	border-radius: var(--it-radius);
	font-size: 13px;
	font-weight: 600;
	transition: all 0.2s;
}
.other-sizes__list a:hover {
	border-color: var(--it-orange);
	color: var(--it-orange);
}

.brochure-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
}
@media (min-width: 600px) {
	.brochure-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 900px) {
	.brochure-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.brochure-card {
	background: #fff;
	border-radius: var(--it-radius-lg);
	box-shadow: var(--it-shadow-sm);
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
	transition: box-shadow 0.2s, transform 0.2s;
	border: 1px solid transparent;
}
.brochure-card:hover {
	box-shadow: var(--it-shadow-lg);
	transform: translateY(-2px);
	border-color: rgba(224, 90, 27, 0.2);
}
.brochure-card__icon {
	width: 44px;
	height: 44px;
	border-radius: 10px;
	background: rgba(224, 90, 27, 0.1);
	color: var(--it-orange);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.brochure-card__title {
	color: var(--it-dark);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.35;
	min-width: 0;
	overflow-wrap: anywhere;
	word-break: break-word;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden;
}
.brochure-card__meta {
	color: var(--it-text-muted);
	font-size: 12px;
	min-width: 0;
	overflow-wrap: anywhere;
	word-break: break-word;
}
.brochure-card__cta {
	margin-top: auto;
}

/* Sidebar cards ----------------------------------------------------------- */
.download-card__icon {
	width: 48px;
	height: 48px;
	border-radius: 10px;
	background: rgba(224, 90, 27, 0.1);
	color: var(--it-orange);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 16px;
}
.download-card h3 {
	color: var(--it-dark);
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 4px;
}
.download-card p {
	color: var(--it-text-muted);
	font-size: 13px;
	line-height: 1.6;
	margin-bottom: 20px;
}
.download-card__actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.download-card__note {
	color: #9CA3AF;
	text-align: center;
	font-size: 11px;
	margin-top: 12px;
}

.consult-card h3 {
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	margin-bottom: 8px;
}
.consult-card > .card__pad > p {
	color: #9CA3AF;
	font-size: 13px;
	line-height: 1.6;
	margin-bottom: 20px;
}
.consult-card__actions {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.consult-card__phone {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	background: rgba(255, 255, 255, 0.1);
	border-radius: 10px;
	color: #fff;
	font-size: 14px;
}
.consult-card__phone .icon { color: var(--it-orange); }
.consult-card__phone:hover { background: rgba(255, 255, 255, 0.2); }

.lead-form {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.lead-form input {
	width: 100%;
	padding: 12px 14px;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 10px;
	color: #fff;
	font-size: 13px;
	outline: 0;
	transition: border-color 0.2s;
	font-family: inherit;
}
.lead-form input::placeholder { color: #6B7280; }
.lead-form input:focus { border-color: var(--it-orange); }
.lead-form button[type="submit"] {
	padding: 12px;
	background: var(--it-orange);
	color: #fff;
	font-weight: 600;
	font-size: 14px;
	border-radius: 10px;
	transition: background 0.2s;
}
.lead-form button[type="submit"]:hover { background: var(--it-orange-hover); }
.lead-form .lead-form__cancel {
	background: transparent;
	color: #6B7280;
	padding: 8px;
	font-size: 13px;
}
.lead-form .lead-form__cancel:hover { color: #D1D5DB; }
.lead-form__success {
	text-align: center;
	padding: 20px 0;
	color: #4ADE80;
}
.lead-form__success p:first-child { font-weight: 600; }
.lead-form__success p:last-child {
	color: #9CA3AF;
	font-size: 13px;
	margin-top: 4px;
}
.lead-form__error {
	background: rgba(220, 38, 38, 0.15);
	color: #FCA5A5;
	padding: 8px 12px;
	border-radius: 8px;
	font-size: 12px;
}

.quick-nav h3 {
	color: var(--it-dark);
	font-size: 14px;
	font-weight: 700;
	margin-bottom: 16px;
}
.quick-nav__list { display: flex; flex-direction: column; gap: 6px; }
.quick-nav__list a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 8px 12px;
	color: var(--it-text-muted);
	border-radius: 10px;
	font-size: 13px;
	transition: background 0.2s, color 0.2s;
}
.quick-nav__list a:hover { background: #F9FAFB; }
.quick-nav__list a.is-current {
	background: rgba(224, 90, 27, 0.1);
	color: var(--it-orange);
}

/* Archive (category / size) ---------------------------------------------- */
.archive-hero {
	background: var(--it-dark);
	color: #fff;
	padding: 56px 0;
}
.archive-hero__label {
	display: inline-block;
	padding: 4px 10px;
	background: rgba(224, 90, 27, 0.2);
	color: var(--it-orange);
	border-radius: var(--it-radius);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	margin-bottom: 12px;
}
.archive-hero__title {
	color: #fff;
	font-size: clamp(28px, 4vw, 40px);
	font-weight: 700;
	margin-bottom: 12px;
}
.archive-hero__desc {
	color: #9CA3AF;
	font-size: 15px;
	max-width: 720px;
	line-height: 1.6;
}

.archive-section {
	padding: 48px 0;
	background: var(--it-bg-light);
}
.archive-section + .archive-section { padding-top: 0; }

.size-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 24px;
}
.size-pill {
	padding: 8px 14px;
	border: 1px solid var(--it-border);
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	color: var(--it-text-muted);
	background: #fff;
	transition: all 0.2s;
}
.size-pill:hover { border-color: var(--it-orange); color: var(--it-orange); }
.size-pill.is-active { background: var(--it-orange); color: #fff; border-color: var(--it-orange); }
.size-pill--empty {
	opacity: 0.55;
	cursor: not-allowed;
}
.size-pill--empty:hover {
	border-color: var(--it-border);
	color: inherit;
}

.archive-empty {
	background: #fff;
	border-radius: var(--it-radius-lg);
	padding: 48px 24px;
	text-align: center;
	color: var(--it-text-muted);
}
.archive-empty h3 {
	color: var(--it-dark);
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 8px;
}

/* 404 ----------------------------------------------------------------- */
.page-404 {
	min-height: 70vh;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--it-bg-light);
	padding: 80px 16px;
	text-align: center;
}
.page-404__big {
	color: var(--it-orange);
	font-size: 80px;
	font-weight: 800;
	line-height: 1;
	margin-bottom: 12px;
}
.page-404 h1 {
	color: var(--it-dark);
	font-size: 28px;
	font-weight: 700;
	margin-bottom: 16px;
}
.page-404 p {
	color: var(--it-text-muted);
	font-size: 16px;
	margin-bottom: 32px;
}

/* Generic archive helper -------------------------------------------------- */
.archive { padding: 48px 0 0 0; }
.archive__title {
	font-size: 28px;
	font-weight: 700;
	margin-bottom: 24px;
}
.archive__list { display: grid; gap: 16px; }

/* About page ------------------------------------------------------------- */
.about-hero {
	position: relative;
	background: var(--it-dark);
	color: #fff;
	overflow: hidden;
}
.about-hero__bg {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 18% 28%, rgba(224, 90, 27, 0.22), transparent 55%),
		radial-gradient(circle at 82% 8%, rgba(224, 90, 27, 0.10), transparent 55%),
		linear-gradient(135deg, #1C1C1C 0%, #0D0D0D 70%);
}
.about-hero__pattern {
	position: absolute;
	inset: 0;
	opacity: 0.08;
	background-image: repeating-linear-gradient(45deg, transparent, transparent 40px, rgba(255,255,255,0.04) 40px, rgba(255,255,255,0.04) 80px);
}
.about-hero__inner {
	position: relative;
	padding: 56px 16px 64px;
}
@media (min-width: 768px) {
	.about-hero__inner { padding: 80px 32px 96px; }
}
.about-hero__crumbs {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: #9CA3AF;
	margin-bottom: 32px;
}
.about-hero__crumbs a { color: #9CA3AF; }
.about-hero__crumbs a:hover { color: var(--it-orange); }
.about-hero__crumbs .sep { color: #4B5563; }
.about-hero__crumbs span:last-child { color: #fff; font-weight: 600; }
.about-hero__content {
	max-width: 880px;
}
.about-hero__label {
	display: inline-block;
	padding: 6px 14px;
	background: rgba(224, 90, 27, 0.18);
	color: var(--it-orange);
	border-radius: var(--it-radius);
	text-transform: uppercase;
	letter-spacing: 0.18em;
	font-size: 11px;
	font-weight: 700;
	margin-bottom: 20px;
}
.about-hero__title {
	font-size: clamp(28px, 4.4vw, 48px);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.01em;
	margin-bottom: 20px;
}
.about-hero__subtitle {
	color: #D1D5DB;
	font-size: clamp(15px, 1.4vw, 18px);
	line-height: 1.65;
	max-width: 760px;
}

.about-stats {
	position: relative;
	margin-top: 48px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
@media (min-width: 768px) {
	.about-stats {
		grid-template-columns: repeat(4, 1fr);
		gap: 20px;
		margin-top: 64px;
	}
}
.about-stats__item {
	position: relative;
	padding: 24px 20px;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: var(--it-radius-lg);
	backdrop-filter: blur(4px);
	display: flex;
	flex-direction: column;
	gap: 6px;
	transition: border-color 0.2s, background 0.2s, transform 0.2s;
}
.about-stats__item:hover {
	border-color: rgba(224, 90, 27, 0.35);
	background: rgba(255, 255, 255, 0.06);
	transform: translateY(-2px);
}
.about-stats__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: rgba(224, 90, 27, 0.18);
	color: var(--it-orange);
	margin-bottom: 6px;
}
.about-stats__val {
	font-size: clamp(28px, 3.4vw, 36px);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.02em;
	color: #fff;
}
.about-stats__label {
	color: #9CA3AF;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.4;
}

.about-history {
	background: #fff;
	padding: 64px 0;
}
@media (min-width: 768px) {
	.about-history { padding: 96px 0; }
}
.about-history__inner {
	max-width: 880px;
}
.about-history__head { text-align: center; margin-bottom: 40px; }
.about-history__title {
	color: var(--it-dark);
	font-size: clamp(22px, 2.8vw, 32px);
	font-weight: 700;
	line-height: 1.25;
	margin-top: 8px;
}
.about-history__body {
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.about-history__p {
	color: #374151;
	font-size: 15px;
	line-height: 1.75;
}
.about-history__p--lead {
	font-size: 17px;
	color: var(--it-dark);
	font-weight: 500;
	padding-left: 20px;
	border-left: 3px solid var(--it-orange);
}

.about-features {
	background: var(--it-bg-light);
	padding: 64px 0;
}
@media (min-width: 768px) {
	.about-features { padding: 96px 0; }
}
.about-features__head { text-align: center; margin-bottom: 48px; }
.about-features__title {
	color: var(--it-dark);
	font-size: clamp(22px, 3vw, 34px);
	font-weight: 700;
	margin-top: 8px;
}
.about-features__head .section-heading__accent { margin-top: 16px; }
.about-features__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
}
@media (min-width: 640px) {
	.about-features__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
	.about-features__grid { grid-template-columns: repeat(3, 1fr); gap: 24px; }
}
.about-feature {
	background: #fff;
	border-radius: var(--it-radius-lg);
	padding: 28px 24px;
	box-shadow: var(--it-shadow-sm);
	border: 1px solid var(--it-border-soft);
	transition: box-shadow 0.2s, transform 0.2s, border-color 0.2s;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.about-feature:hover {
	box-shadow: var(--it-shadow-lg);
	transform: translateY(-3px);
	border-color: rgba(224, 90, 27, 0.25);
}
.about-feature__icon {
	width: 52px;
	height: 52px;
	border-radius: 12px;
	background: rgba(224, 90, 27, 0.1);
	color: var(--it-orange);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 4px;
	transition: background 0.2s, color 0.2s;
}
.about-feature:hover .about-feature__icon {
	background: var(--it-orange);
	color: #fff;
}
.about-feature__title {
	color: var(--it-dark);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3;
}
.about-feature__desc {
	color: var(--it-text-muted);
	font-size: 14px;
	line-height: 1.65;
}

.about-values {
	position: relative;
	background: var(--it-dark);
	color: #fff;
	padding: 64px 0;
	overflow: hidden;
}
@media (min-width: 768px) {
	.about-values { padding: 96px 0; }
}
.about-values__pattern {
	position: absolute;
	inset: 0;
	opacity: 0.07;
	background-image: repeating-linear-gradient(135deg, transparent, transparent 40px, rgba(255,255,255,0.05) 40px, rgba(255,255,255,0.05) 80px);
}
.about-values .container { position: relative; }
.about-values__head { text-align: center; margin-bottom: 48px; }
.about-values__overline {
	color: var(--it-orange);
	text-transform: uppercase;
	letter-spacing: 0.18em;
	font-size: 11px;
	font-weight: 700;
}
.about-values__title {
	color: #fff;
	font-size: clamp(22px, 3vw, 34px);
	font-weight: 700;
	margin-top: 8px;
}
.about-values__accent {
	width: 48px;
	height: 4px;
	background: var(--it-orange);
	border-radius: 4px;
	margin: 16px auto 0;
}
.about-values__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
}
@media (min-width: 768px) {
	.about-values__grid { grid-template-columns: repeat(3, 1fr); gap: 28px; }
}
.about-value {
	position: relative;
	padding: 36px 28px;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: var(--it-radius-lg);
	text-align: center;
	transition: transform 0.25s, border-color 0.25s, background 0.25s;
}
.about-value:hover {
	transform: translateY(-4px);
	border-color: rgba(224, 90, 27, 0.4);
	background: rgba(255, 255, 255, 0.06);
}
.about-value__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: linear-gradient(135deg, rgba(224, 90, 27, 0.18), rgba(224, 90, 27, 0.05));
	color: var(--it-orange);
	margin-bottom: 20px;
	transition: background 0.25s, color 0.25s, box-shadow 0.25s;
}
.about-value:hover .about-value__icon {
	background: var(--it-orange);
	color: #fff;
	box-shadow: 0 14px 32px -8px rgba(224, 90, 27, 0.5);
}
.about-value__title {
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	margin-bottom: 12px;
}
.about-value__desc {
	color: #9CA3AF;
	font-size: 14px;
	line-height: 1.65;
}

/* Contacts page ---------------------------------------------------------- */
.contacts-hero {
	position: relative;
	background: var(--it-dark);
	color: #fff;
	overflow: hidden;
}
.contacts-hero__bg {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 12% 30%, rgba(224, 90, 27, 0.20), transparent 55%),
		radial-gradient(circle at 88% 18%, rgba(224, 90, 27, 0.10), transparent 55%),
		linear-gradient(135deg, #1C1C1C 0%, #0D0D0D 75%);
}
.contacts-hero__pattern {
	position: absolute;
	inset: 0;
	opacity: 0.07;
	background-image: repeating-linear-gradient(135deg, transparent, transparent 40px, rgba(255,255,255,0.04) 40px, rgba(255,255,255,0.04) 80px);
}
.contacts-hero__inner {
	position: relative;
	padding: 56px 16px 64px;
}
@media (min-width: 768px) {
	.contacts-hero__inner { padding: 72px 32px 80px; }
}
.contacts-hero__crumbs {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: #9CA3AF;
	margin-bottom: 24px;
}
.contacts-hero__crumbs a { color: #9CA3AF; }
.contacts-hero__crumbs a:hover { color: var(--it-orange); }
.contacts-hero__crumbs .sep { color: #4B5563; }
.contacts-hero__crumbs span:last-child { color: #fff; font-weight: 600; }
.contacts-hero__label {
	display: inline-block;
	padding: 6px 14px;
	background: rgba(224, 90, 27, 0.18);
	color: var(--it-orange);
	border-radius: var(--it-radius);
	text-transform: uppercase;
	letter-spacing: 0.18em;
	font-size: 11px;
	font-weight: 700;
	margin-bottom: 16px;
}
.contacts-hero__title {
	font-size: clamp(28px, 4.2vw, 44px);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.01em;
	margin-bottom: 16px;
	max-width: 760px;
}
.contacts-hero__subtitle {
	color: #D1D5DB;
	font-size: clamp(15px, 1.3vw, 17px);
	line-height: 1.65;
	max-width: 680px;
}

.contacts-body {
	background: var(--it-bg-light);
	padding: 56px 0;
}
@media (min-width: 768px) {
	.contacts-body { padding: 80px 0; }
}
.contacts-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 28px;
}
@media (min-width: 1024px) {
	.contacts-grid {
		grid-template-columns: 5fr 7fr;
		gap: 40px;
		align-items: start;
	}
}

.contacts-info {
	background: #fff;
	border-radius: var(--it-radius-lg);
	box-shadow: var(--it-shadow-sm);
	padding: 32px;
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.contacts-info__title {
	color: var(--it-dark);
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 4px;
}
.contacts-info__item {
	display: flex;
	align-items: flex-start;
	gap: 14px;
}
.contacts-info__icon {
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: rgba(224, 90, 27, 0.1);
	color: var(--it-orange);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.contacts-info__label {
	color: var(--it-text-muted);
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin-bottom: 4px;
}
.contacts-info__value {
	display: block;
	color: var(--it-dark);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.45;
	word-break: break-word;
}
a.contacts-info__value { transition: color 0.2s; }
a.contacts-info__value:hover { color: var(--it-orange); }
.contacts-info__hint {
	color: var(--it-text-muted);
	font-size: 13px;
	margin-top: 4px;
	line-height: 1.5;
}
.contacts-info__hint--legal {
	color: var(--it-dark);
	font-weight: 500;
	margin-top: 6px;
}
.contacts-info__socials {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 6px;
}
.contacts-info__social {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	background: #F3F4F6;
	border: 1px solid var(--it-border-soft);
	color: var(--it-dark);
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	transition: all 0.2s;
}
.contacts-info__social:hover {
	transform: translateY(-1px);
	box-shadow: var(--it-shadow-sm);
}
.contacts-info__social--wa { color: #16A34A; }
.contacts-info__social--wa:hover { background: rgba(22, 163, 74, 0.1); border-color: rgba(22, 163, 74, 0.4); }
.contacts-info__social--tg { color: #0EA5E9; }
.contacts-info__social--tg:hover { background: rgba(14, 165, 233, 0.1); border-color: rgba(14, 165, 233, 0.4); }
.contacts-info__social--max:hover {
	color: #fff;
	background: linear-gradient(135deg, #0077FF 0%, #7B42F6 50%, #FF2D55 100%);
	border-color: unset;
}

.contacts-form {
	background: #fff;
	border-radius: var(--it-radius-lg);
	box-shadow: var(--it-shadow-md);
}
.contacts-form__title {
	color: var(--it-dark);
	font-size: clamp(22px, 2vw, 26px);
	font-weight: 700;
	margin-bottom: 8px;
}
.contacts-form__desc {
	color: var(--it-text-muted);
	font-size: 14px;
	line-height: 1.6;
	margin-bottom: 24px;
}

.contact-form {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.contact-form__row {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.contact-form__label {
	color: var(--it-dark);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.01em;
}
.contact-form__req {
	color: var(--it-orange);
	margin-left: 2px;
}
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form textarea {
	width: 100%;
	padding: 12px 14px;
	background: #fff;
	border: 1px solid var(--it-border);
	border-radius: 10px;
	color: var(--it-dark);
	font-size: 14px;
	font-family: inherit;
	outline: 0;
	transition: border-color 0.2s, box-shadow 0.2s;
}
.contact-form input::placeholder,
.contact-form textarea::placeholder {
	color: #9CA3AF;
}
.contact-form input:focus,
.contact-form textarea:focus {
	border-color: var(--it-orange);
	box-shadow: 0 0 0 3px rgba(224, 90, 27, 0.12);
}
.contact-form textarea {
	resize: vertical;
	min-height: 120px;
	line-height: 1.55;
}
.contact-form__consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 13px;
	color: var(--it-text-muted);
	line-height: 1.5;
	cursor: pointer;
}
.contact-form__consent input[type="checkbox"] {
	margin-top: 3px;
	width: 16px;
	height: 16px;
	accent-color: var(--it-orange);
	flex-shrink: 0;
}
.contact-form__consent a {
	color: var(--it-orange);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.contact-form__submit {
	margin-top: 4px;
}
.contact-form__success {
	text-align: center;
	padding: 32px 16px;
}
.contact-form__success-icon {
	color: var(--it-success);
	display: inline-flex;
	margin-bottom: 12px;
}
.contact-form__success-title {
	color: var(--it-dark);
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 6px;
}
.contact-form__success-sub {
	color: var(--it-text-muted);
	font-size: 14px;
}
.contacts-form .lead-form__error {
	background: rgba(220, 38, 38, 0.08);
	color: #B91C1C;
	border: 1px solid rgba(220, 38, 38, 0.25);
	padding: 10px 14px;
	border-radius: 10px;
	font-size: 13px;
}

.contacts-map {
	line-height: 0;
	background: var(--it-bg-light);
}
.contacts-map iframe {
	display: block;
	width: 100%;
	border: 0;
}

/* Utility ---------------------------------------------------------------- */
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
}

/* Legal / text pages (WP Pages) ------------------------------------------ */
.legal-hero {
	position: relative;
	background: var(--it-dark);
	color: #fff;
	overflow: hidden;
}
.legal-hero__bg {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 12% 30%, rgba(224, 90, 27, 0.20), transparent 55%),
		radial-gradient(circle at 88% 18%, rgba(224, 90, 27, 0.10), transparent 55%),
		linear-gradient(135deg, #1C1C1C 0%, #0D0D0D 75%);
}
.legal-hero__pattern {
	position: absolute;
	inset: 0;
	opacity: 0.07;
	background-image: repeating-linear-gradient(135deg, transparent, transparent 40px, rgba(255,255,255,0.04) 40px, rgba(255,255,255,0.04) 80px);
}
.legal-hero__inner {
	position: relative;
	padding: 56px 16px 64px;
}
@media (min-width: 768px) {
	.legal-hero__inner { padding: 72px 32px 80px; }
}
.legal-hero__crumbs {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: #9CA3AF;
	margin-bottom: 24px;
}
.legal-hero__crumbs a { color: #9CA3AF; }
.legal-hero__crumbs a:hover { color: var(--it-orange); }
.legal-hero__crumbs .sep { color: #4B5563; }
.legal-hero__crumbs span:last-child { color: #fff; font-weight: 600; }
.legal-hero__title {
	font-size: clamp(28px, 4.2vw, 44px);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.01em;
	max-width: 900px;
}
.legal-hero__subtitle {
	margin-top: 16px;
	color: #D1D5DB;
	font-size: clamp(15px, 1.3vw, 17px);
	line-height: 1.65;
	max-width: 720px;
}

.legal-body {
	background: var(--it-bg-light);
	padding: 56px 0 80px;
}
@media (min-width: 768px) {
	.legal-body { padding: 80px 0 96px; }
}
.legal-content {
	max-width: 800px;
	margin: 0 auto;
	background: #fff;
	border-radius: var(--it-radius-lg);
	box-shadow: var(--it-shadow-sm);
	padding: 32px 24px;
}
@media (min-width: 768px) {
	.legal-content { padding: 48px 56px; }
}
.legal-content > *:first-child { margin-top: 0; }
.legal-content > *:last-child { margin-bottom: 0; }
.legal-content h2,
.legal-content h3,
.legal-content h4 {
	color: var(--it-dark);
	font-weight: 700;
	line-height: 1.3;
	margin: 2em 0 0.75em;
}
.legal-content h2 { font-size: 1.35rem; }
.legal-content h3 { font-size: 1.15rem; }
.legal-content p,
.legal-content li {
	color: #4B5563;
	font-size: 15px;
	line-height: 1.75;
}
.legal-content p { margin: 0 0 1em; }
.legal-content ul,
.legal-content ol {
	margin: 0 0 1.25em 1.25em;
	padding: 0;
}
.legal-content li { margin-bottom: 0.35em; }
.legal-content a {
	color: var(--it-orange);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.legal-content a:hover { color: #c44d12; }
.legal-content blockquote {
	margin: 1.5em 0;
	padding: 16px 20px;
	border-left: 3px solid var(--it-orange);
	background: #F9FAFB;
	color: #374151;
}

/* Customizer: anchor blue edit-shortcut buttons to editable regions */
body.customize-partial-edit-shortcuts-shown [data-customize-partial-id],
body.customize-partial-edit-shortcuts-shown .site-logo {
	position: relative;
}

.contacts-map__edit-marker {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 1px;
	height: 1px;
}
