/*
 * Шапка и подвал. Порт CSS макета (files_harry/contacto.html, 52–77 и 177–179).
 * Правила идут в порядке макета. Отклонения — ровно эти:
 *  D1  каждый селектор ограничен .ita-hdr / .ita-ftr: голые header{}/nav{}/footer{}
 *      в WordPress зацепили бы навигацию пагинации и комментариев.
 *  D2  backdrop-filter перенесён с шапки на .ita-hdr::before. Принципиально:
 *      элемент с backdrop-filter становится containing block для своих
 *      position:fixed потомков, а мобильная панель nav — как раз такой потомок.
 *      При .stuck её inset начал бы считаться от коробки шапки, а не от окна.
 *      У псевдоэлемента потомков нет. НИКОГДА не вешать на .ita-hdr / .bar
 *      filter, backdrop-filter, transform, perspective, contain, will-change.
 *  D3  76px -> --ita-header-h; добавлен --ita-header-top под админ-бар.
 *      У каждого var() есть литеральный fallback: в канвасе редактора сайта
 *      селекторы :root могут быть переписаны, переменная бы не долетела.
 *  D4  'Archivo' / 'JetBrains Mono' -> пресеты theme.json (со стеком фолбэков).
 *  D5  добавлен scroll-padding-top: в макете его нет вовсе, якоря
 *      #servicios / #proceso уезжали под фиксированную шапку.
 *  D6  новый блок .langs — переключателя языков в макете нет.
 *  D7  закрытая мобильная панель получила visibility:hidden — в макете она
 *      оставалась в дереве доступности и ловила Tab.
 *  D8  у панели появились max-height/overflow-y и overscroll-behavior.
 * --ink/--gold/--shell объявлены в main.css как псевдонимы theme.json.
 * Брейкпоинт 1020px продублирован в assets/js/chrome.js — менять вместе.
 */

/* ---------- метрики ---------- */
:root{ --ita-header-h:76px; --ita-header-top:0px; }
/* :has() на html — чтобы значение видел и scroll-padding-top, который
   читается с корня. Переопределение на body сюда бы не поднялось. */
html:has(body.admin-bar){ --ita-header-top:32px; }
@media(max-width:782px){ html:has(body.admin-bar){ --ita-header-top:46px; } }
/* <=600px ядро делает админ-бар absolute — он уезжает при скролле,
   и фиксированная шапка «проскальзывает» на его высоту. Перенос со старого сайта. */
@media(max-width:600px){ body.admin-bar #wpadminbar{ position:fixed !important; } }

html{ scroll-padding-top:calc(var(--ita-header-top,0px) + var(--ita-header-h,76px) + 12px); }

/* ---------- сбросы, которые в макете давали глобальные * / a / button ---------- */
.ita-hdr,.ita-hdr::before,.ita-hdr *,.ita-hdr *::before,.ita-hdr *::after,
.ita-ftr,.ita-ftr *{ box-sizing:border-box; }
.ita-hdr a{ color:inherit; text-decoration:none; }
.ita-hdr button{ font:inherit; cursor:pointer; }

/* ---------- шапка ---------- */
.ita-hdr{ position:fixed; top:var(--ita-header-top,0px); left:0; right:0; z-index:60; }
.ita-hdr::before{
	content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
	background:rgba(8,9,10,.85);
	-webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
	border-bottom:1px solid var(--line-soft);
	opacity:0; transition:opacity .35s;
}
.ita-hdr.stuck::before{ opacity:1; }

.ita-hdr .bar{ display:flex; align-items:center; gap:2rem; height:var(--ita-header-h,76px); }

.ita-hdr .brand{ display:flex; align-items:center; gap:.8rem; color:var(--bone); }
.ita-hdr .brand svg{ display:block; height:34px; width:auto; }
.ita-hdr .brand b{ font-family:var(--wp--preset--font-family--display); font-weight:800;
	font-size:1rem; letter-spacing:.07em; display:block; line-height:1.1; white-space:nowrap; }
.ita-hdr .brand i{ font-family:var(--wp--preset--font-family--mono); font-style:normal;
	font-size:.55rem; letter-spacing:.32em; color:var(--gold-lt); text-transform:uppercase;
	display:block; white-space:nowrap; }

.ita-hdr nav{ display:flex; gap:1.9rem; margin-left:auto; font-size:.86rem; }
.ita-hdr nav a{ color:#c6c3bd; padding-block:.4rem; position:relative; }
.ita-hdr nav a::after{ content:""; position:absolute; left:0; bottom:0; height:1px; width:0;
	background:var(--gold); transition:width .3s; }
.ita-hdr nav a:hover,.ita-hdr nav a[aria-current]{ color:var(--bone); }
.ita-hdr nav a[aria-current]::after,.ita-hdr nav a:hover::after{ width:100%; }

.ita-hdr .tel{ font-family:var(--wp--preset--font-family--mono); font-size:.8rem;
	color:var(--gold-lt); white-space:nowrap; }

.ita-hdr .burger{ display:none; position:relative; z-index:80; width:44px; height:44px;
	margin-left:auto; background:none; border:0; color:var(--bone); padding:0; }
/* Бургер рисуется CSS-линиями, чтобы плавно превращаться в крест при открытии. */
.ita-hdr .burger-ico{ position:absolute; left:9px; top:21px; width:26px; height:2px;
	background:currentColor; border-radius:2px; transition:background-color .2s; }
.ita-hdr .burger-ico::before,.ita-hdr .burger-ico::after{ content:""; position:absolute; left:0;
	width:26px; height:2px; background:currentColor; border-radius:2px;
	transition:transform .35s cubic-bezier(.2,.7,.3,1), top .35s; }
.ita-hdr .burger-ico::before{ top:-8px; }
.ita-hdr .burger-ico::after{ top:8px; }
.ita-hdr .burger[aria-expanded="true"] .burger-ico{ background:transparent; }
.ita-hdr .burger[aria-expanded="true"] .burger-ico::before{ top:0; transform:rotate(45deg); }
.ita-hdr .burger[aria-expanded="true"] .burger-ico::after{ top:0; transform:rotate(-45deg); }

/* ---------- D6: переключатель языков ---------- */
.ita-hdr .langs{ display:flex; align-items:center; gap:.6rem; flex-shrink:0;
	font-family:var(--wp--preset--font-family--mono); font-size:.7rem; letter-spacing:.14em; }
.ita-hdr .lang{ display:inline-flex; align-items:center; gap:.4rem;
	color:var(--slate); position:relative; padding-block:.4rem; transition:color .3s; }
.ita-hdr .lang:hover{ color:var(--bone); }
.ita-hdr .lang[aria-current]{ color:var(--gold-lt); }
.ita-hdr .lang[data-no-translation]{ opacity:.55; }
.ita-hdr .lang+.lang::before{ content:""; position:absolute; left:-.3rem; top:.55em; bottom:.55em;
	width:1px; background:var(--line-soft); }
/* включается фильтром itamas_lang_flags */
.ita-hdr .lang__flag{ display:block; width:18px; height:12px; border-radius:2px;
	box-shadow:0 0 0 1px rgba(246,244,241,.18) inset; opacity:.55; transition:opacity .3s; }
.ita-hdr .lang[aria-current] .lang__flag,.ita-hdr .lang:hover .lang__flag{ opacity:1; }

@media(max-width:1020px){
	.ita-hdr .bar{ gap:1.1rem; }
	/* Полноэкранное меню: перекрывает весь экран, ссылки въезжают каскадом. */
	.ita-hdr nav{
		position:fixed; inset:0; z-index:70;
		display:flex; flex-direction:column; justify-content:center; align-items:flex-start;
		gap:.2rem; margin:0; padding:max(6rem,16vh) 8vw 3rem;
		background:rgba(8,9,10,.98);
		-webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px);
		overflow-y:auto; overscroll-behavior:contain;
		opacity:0; visibility:hidden;
		transition:opacity .4s ease, visibility 0s .4s;
	}
	.ita-hdr nav.open{ opacity:1; visibility:visible; transition:opacity .4s ease; }
	.ita-hdr nav a{
		font-family:var(--wp--preset--font-family--display); font-weight:800; text-transform:uppercase;
		letter-spacing:-.02em; font-size:clamp(2rem,9vw,3.2rem); line-height:1.12; color:var(--bone);
		padding:.35rem 0; border:0;
		opacity:0; transform:translateY(24px);
		transition:opacity .5s ease, transform .5s cubic-bezier(.2,.7,.3,1), color .2s;
	}
	.ita-hdr nav a::after{ display:none; }
	.ita-hdr nav a:hover,.ita-hdr nav a[aria-current]{ color:var(--gold-lt); }
	.ita-hdr nav.open a{ opacity:1; transform:none; }
	.ita-hdr nav.open a:nth-child(1){ transition-delay:.10s; }
	.ita-hdr nav.open a:nth-child(2){ transition-delay:.16s; }
	.ita-hdr nav.open a:nth-child(3){ transition-delay:.22s; }
	.ita-hdr nav.open a:nth-child(4){ transition-delay:.28s; }
	.ita-hdr nav.open a:nth-child(5){ transition-delay:.34s; }
	.ita-hdr nav.open a:nth-child(6){ transition-delay:.40s; }

	.ita-hdr .brand{ order:1; position:relative; z-index:80; }
	.ita-hdr .langs{ order:2; margin-left:auto; position:relative; z-index:80; }
	.ita-hdr .burger{ display:block; order:3; margin-left:.25rem; }
	.ita-hdr .tel{ display:none; }
}

/* На узких экранах шапка тесная (бренд + флаги + бургер) — ужимаем бренд. */
@media(max-width:560px){
	.ita-hdr .brand svg{ height:28px; }
	.ita-hdr .brand b{ font-size:.85rem; }
	.ita-hdr .brand i{ display:none; }
	.ita-hdr .bar{ gap:.8rem; }
}

/* Блокируем фон, пока открыто полноэкранное меню. */
body.ita-nav-open{ overflow:hidden; }

@media(prefers-reduced-motion:reduce){
	.ita-hdr::before,.ita-hdr nav,.ita-hdr nav a,.ita-hdr nav a::after,
	.ita-hdr .lang,.ita-hdr .burger-ico,.ita-hdr .burger-ico::before,.ita-hdr .burger-ico::after{
		transition-duration:.01ms !important; }
}

/* ---------- подвал ---------- */
.ita-ftr{ border-top:1px solid var(--line-soft); padding:2.6rem 0;
	font-size:.82rem; color:var(--slate); }
.ita-ftr .foot{ display:flex; gap:1.5rem; flex-wrap:wrap; align-items:center; }
.ita-ftr .foot .sep{ margin-left:auto; }

/* ---------- отступ под фиксированную шапку ---------- */
.ita-main{ padding-top:calc(var(--ita-header-top,0px) + var(--ita-header-h,76px)); }
.ita-main--flush{ padding-top:0; }
