/* ==========================================================================
   ALUMINATE — Redesign design layer (canonical, consolidated)
   Design ONLY. Loads last, maps the new tokens/materials onto the theme's
   portal-*/site-* classes. No two blocks style the same component.
   RTL enforcement lives in the separate infra plugin `aluminate-i18n-rtl.php`.
   Related-block markup comes from `aluminate-content-enrich.php` (styled in §11).
   ========================================================================== */

/* ---------- 1. Heebo (modern Hebrew web font, served locally) ---------- */
@font-face{font-family:'Heebo';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/heebo-he-400.woff2') format('woff2');unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F;}
@font-face{font-family:'Heebo';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/heebo-latin-400.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Heebo';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/heebo-he-500.woff2') format('woff2');unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F;}
@font-face{font-family:'Heebo';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/heebo-latin-500.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Heebo';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/heebo-he-700.woff2') format('woff2');unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F;}
@font-face{font-family:'Heebo';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/heebo-latin-700.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Heebo';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/heebo-he-800.woff2') format('woff2');unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F;}
@font-face{font-family:'Heebo';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/heebo-latin-800.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

/* ---------- 2. Design tokens (remap theme variables to the new palette) ---------- */
:root{
  --alu-navy:#0C3058; --alu-blue:#075CC9; --alu-blue-2:#0f4bb0;
  --alu-sky:#EAF2FE;  --alu-gold:#F4C400; --alu-gold-2:#E5B800; --alu-gold-ink:#3a2c00;
  --alu-glass:rgba(255,255,255,.9); --alu-glass-line:rgba(255,255,255,.65);
  /* override the theme's own variable families so colors update site-wide */
  --al-blue:#075CC9; --al-blue-dark:#0C3058; --al-navy:#0C3058; --al-sky:#EAF2FE;
  --gov-blue:#075CC9; --gov-blue-dark:#0C3058; --gov-navy:#0C3058; --gov-surface:#EAF2FE;
  --shell-blue:#075CC9; --shell-deep:#0C3058; --shell-navy:#0C3058; --shell-sky:#EAF2FE;
  --portal-blue:#075CC9; --portal-blue-deep:#0C3058; --portal-blue-dark:#0C3058;
  --portal-navy:#0C3058; --portal-sky:#EAF2FE; --portal-ink:#0C3058;
}

/* ---------- 3. Typography: Heebo everywhere (FontAwesome preserved) ---------- */
html, body, input, select, textarea, button,
h1,h2,h3,h4,h5,h6, p, a, span, li, label, strong,
[class*="portal-"], [class*="site-"], [class*="header-"],
[class*="lead-"], [class*="mega-"], [class*="global-"]{
  font-family:'Heebo','Segoe UI',Arial,sans-serif !important;
}
h1,h2,h3,.portal-section__head h2,.portal-service h3{ letter-spacing:-.01em; }
/* CRITICAL: never override FontAwesome icon glyphs — restore their font family */
.fa, .fas, .far, .fab, .fal, .fad,
.fa-solid, .fa-regular, .fa-brands, .fa-light, .fa-duotone,
[class^="fa-"], [class*=" fa-"],
.fa::before, .fa-solid::before, .fa-regular::before, .fa-brands::before,
[class^="fa-"]::before, [class*=" fa-"]::before{
  font-family:"Font Awesome 6 Free","Font Awesome 6 Brands","Font Awesome 6 Pro","FontAwesome" !important;
}
.fa-brands, .fab, .fa-brands::before, .fab::before{ font-family:"Font Awesome 6 Brands" !important; }

/* ---------- 4. Header: clean white bar, navy nav, gold primary CTA ---------- */
body.wp-theme-aluminate-rebuild .site-header{
  background:#fff !important; border-bottom:1px solid #e7e1d5 !important;
  box-shadow:0 2px 16px rgba(12,48,88,.08) !important;
}
body.wp-theme-aluminate-rebuild .site-nav a,
body.wp-theme-aluminate-rebuild .mega-menu > li > a,
body.wp-theme-aluminate-rebuild .mega-menu__toggle,
body.wp-theme-aluminate-rebuild .site-brand__text,
body.wp-theme-aluminate-rebuild .header-actions,
body.wp-theme-aluminate-rebuild .header-phone,
body.wp-theme-aluminate-rebuild .header-phone span,
body.wp-theme-aluminate-rebuild .language-toggle,
body.wp-theme-aluminate-rebuild .header-search{ color:#0C3058 !important; }
body.wp-theme-aluminate-rebuild .mega-menu__toggle:hover,
body.wp-theme-aluminate-rebuild .site-nav a:hover{ color:#075CC9 !important; }
body.wp-theme-aluminate-rebuild .header-quote{
  background:linear-gradient(135deg,var(--alu-gold),var(--alu-gold-2)) !important;
  color:var(--alu-gold-ink) !important; border-color:var(--alu-gold) !important;
  box-shadow:0 8px 20px rgba(244,196,0,.35) !important;
}

/* ---------- 5. Gold accent — other primary CTAs (WhatsApp, form submit) ---------- */
.js-track-whatsapp, a.js-track-whatsapp,
.lead-form button[type="submit"], .lead-form input[type="submit"],
.portal-contact__form button[type="submit"],
.button--gold, .portal-button--gold{
  background:linear-gradient(135deg,var(--alu-gold),var(--alu-gold-2)) !important;
  color:var(--alu-gold-ink) !important; border-color:var(--alu-gold) !important;
  box-shadow:0 10px 24px rgba(244,196,0,.40) !important; font-weight:800 !important;
}
.js-track-whatsapp:hover, .lead-form button[type="submit"]:hover,
.header-quote:hover{ filter:brightness(1.03); transform:translateY(-1px); }

/* ---------- 6. Hero: navy→blue gradient + brushed texture + 3-part layout ---------- */
.portal-hero{
  position:relative; overflow:hidden;
  background:linear-gradient(120deg,#0C3058 0%,#0f4bb0 55%,#075CC9 100%) !important;
  padding-block-end:clamp(64px,7vw,104px) !important; /* room for card overlap (§8) */
}
.portal-hero::before{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.10;
  background:repeating-linear-gradient(125deg,#fff 0 1px,transparent 1px 6px);
}
.portal-hero > *{ position:relative; z-index:1; }
.portal-hero h1{ font-size:clamp(30px,3.6vw,48px) !important; font-weight:800 !important; line-height:1.14 !important; color:#fff; margin-inline:auto; }
.portal-hero__lead{ color:rgba(255,255,255,.88) !important; }
.portal-hero__grid{
  display:grid !important; grid-template-columns:.85fr 1.3fr .85fr !important;
  align-items:stretch !important; gap:0 !important; min-height:430px;
  padding:0 !important; max-width:none !important; width:100% !important;
}
.portal-hero__media{ position:relative; overflow:hidden; min-height:100%; }
.portal-hero__media img{ position:absolute; inset:0; width:100% !important; height:100% !important; object-fit:cover; transform:none !important; }
.portal-hero__media--start::after{ content:""; position:absolute; inset:0; background:linear-gradient(to left,transparent 40%,#0C3058); }
.portal-hero__media--end::after{ content:""; position:absolute; inset:0; background:linear-gradient(to right,transparent 40%,#075CC9); }
.portal-hero__content{
  align-self:center !important; text-align:center !important;
  width:auto !important; max-width:none !important;
  padding:clamp(28px,3.5vw,56px) clamp(20px,2.6vw,40px) !important;
}
.portal-hero__content .portal-kicker{ color:#fff !important; opacity:.9; }
.portal-hero__note{
  position:absolute; inset-block-end:16px; inset-inline-start:16px; left:auto !important;
  background:rgba(255,255,255,.14); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.3); border-radius:12px; padding:10px 14px; color:#fff; z-index:2;
}

/* ---------- 7. Hero search bar + popular chips ---------- */
.portal-search{
  background:#fff !important; border-radius:14px !important; border:none !important;
  box-shadow:0 16px 40px rgba(9,31,61,.22) !important; max-width:520px !important; margin-inline:auto !important;
}
.portal-search button[type="submit"]{
  background:linear-gradient(135deg,var(--alu-gold),var(--alu-gold-2)) !important;
  color:var(--alu-gold-ink) !important; border:none !important; border-radius:11px !important;
}
.portal-quick{ justify-content:center !important; }
.portal-quick, .portal-quick span, .portal-quick a{ color:rgba(255,255,255,.9) !important; }
.portal-search-suggestions{ text-align:start; }

/* ---------- 8. Services: frosted-glass cards overlapping the hero (per 111.jpg) ---------- */
/* Recomposition: the first services section (right after hero) is pulled up to overlap. */
.portal-section[aria-labelledby="popular-title"]{ background:transparent !important; padding-top:0 !important; }
.portal-section[aria-labelledby="popular-title"] > .container{ position:relative; display:flex; flex-direction:column; }
.portal-section[aria-labelledby="popular-title"] .portal-service-grid{
  order:1; position:relative; z-index:6; margin-top:clamp(-96px,-6vw,-56px);
}
.portal-section[aria-labelledby="popular-title"] .portal-section__head{
  order:2; margin-top:26px; justify-content:center; text-align:center;
}
.portal-service{
  background:var(--alu-glass) !important; /* frosted white .9 */
  -webkit-backdrop-filter:blur(16px) saturate(180%); backdrop-filter:blur(16px) saturate(180%);
  border:1px solid var(--alu-glass-line) !important; border-radius:16px !important;
  box-shadow:0 12px 32px rgba(12,48,88,.10) !important;
  transition:transform .2s ease, box-shadow .2s ease !important;
}
.portal-service:hover{ transform:translateY(-6px); box-shadow:0 22px 50px rgba(12,48,88,.18) !important; }
.portal-service h3{ color:#0C3058 !important; font-weight:800 !important; }
.portal-service__more{ color:#075CC9 !important; font-weight:700 !important; }
/* uniform navy line icons (overrides the theme's per-card nth-child colour palette) */
body.wp-theme-aluminate-rebuild .portal-service-grid .portal-service__icon{
  display:grid !important; place-items:center !important;
  background:#eef4fd !important; background-image:none !important;
  color:#0C3058 !important; border:1px solid #d8e6fb !important; border-radius:13px !important;
}
body.wp-theme-aluminate-rebuild .portal-service-grid .portal-service__icon svg{
  width:26px; height:26px; display:block; margin:auto; stroke:#0C3058 !important; color:#0C3058 !important;
}

/* ---------- 9. Situation tiles (01–04) ---------- */
.portal-situation-grid > *{
  background:#fff !important; border:1px solid #e6eef8 !important; border-radius:14px !important;
  box-shadow:0 8px 22px rgba(12,48,88,.08) !important;
}

/* ---------- 10. Section headings + blue band + footer ---------- */
.portal-section__head h2{ color:#0C3058 !important; font-weight:800 !important; }
.portal-section--blue{ background:linear-gradient(135deg,#0C3058,#075CC9) !important; }
.site-footer{ background:linear-gradient(180deg,#0C3058,#081f3d) !important; }

/* ---------- 11. Related-pages block (markup from aluminate-content-enrich) ---------- */
.alu-related{margin:32px 0 8px;padding:20px 22px;border:1px solid var(--alu-glass-line);border-radius:16px;background:linear-gradient(160deg,#fff,var(--alu-sky));box-shadow:0 10px 28px rgba(12,48,88,.08)}
.alu-related h2{margin:0 0 12px;font-size:1.2rem;font-weight:800;color:#0C3058}
.alu-related ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.alu-related li{margin:0}
.alu-related a{display:inline-block;padding:8px 14px;background:#fff;border:1px solid #d8e6fb;border-radius:999px;color:#075CC9;font-weight:700;font-size:.92rem;text-decoration:none;transition:.15s}
.alu-related a:hover{background:#075CC9;color:#fff;border-color:#075CC9}

/* ---------- 12. Compact bottom band (markup from template-service-portal) ----------
   The reference composition ends the page with one dense band instead of four
   full-width sections: trust figures on top, then projects and FAQ side by side,
   with the contact form held alongside them. Nothing is hidden — the same blocks
   are laid out tighter. */
.portal-compact-band{ padding-block:clamp(36px,4vw,64px) !important; }
.portal-compact{
  display:grid !important; grid-template-columns:minmax(0,1.55fr) minmax(320px,.95fr) !important;
  gap:clamp(20px,2.2vw,34px) !important; align-items:start !important;
  max-width:1240px !important; width:100% !important; margin-inline:auto !important;
}
.portal-compact__main{ display:flex; flex-direction:column; gap:clamp(16px,1.8vw,26px); min-width:0; }
.portal-compact__split{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(16px,1.8vw,26px); align-items:start;
}
/* Neutralise the inherited .container widths — these blocks are now grid cells. */
.portal-compact .container{ max-width:none !important; width:auto !important; padding:0 !important; margin:0 !important; }

/* Card shell shared by the four cells */
.portal-compact__trust,.portal-compact__projects,.portal-compact__faq,.portal-compact__contact{
  background:#fff; border:1px solid #e3ecf9; border-radius:18px;
  padding:clamp(16px,1.6vw,24px); box-shadow:0 10px 30px rgba(12,48,88,.07);
}
.portal-compact h2{ font-size:clamp(1.05rem,1.35vw,1.35rem) !important; margin-block:0 8px !important; }
.portal-compact .portal-kicker{ margin-block-end:2px !important; }
.portal-compact p{ font-size:.95rem; }

/* Trust figures: one row of three, like the reference strip */
.portal-compact__trust{ display:grid !important; grid-template-columns:minmax(0,1fr) auto !important; gap:clamp(14px,1.6vw,28px) !important; align-items:center !important; padding-block:14px !important; }
.portal-compact__trust > div p:not(.portal-kicker){ font-size:.85rem; line-height:1.5; color:#5b6b80; margin-block-end:0; }
.portal-compact__trust h2{ margin-block-end:4px !important; }
.portal-compact__trust ul{ display:flex !important; gap:10px !important; list-style:none !important; margin:0 !important; padding:0 !important; flex-wrap:wrap; }
.portal-compact__trust li{
  display:flex; flex-direction:column; gap:2px; min-width:120px;
  padding:10px 16px; border:1px solid #e3ecf9; border-radius:14px;
  background:linear-gradient(160deg,#fff,var(--alu-sky));
}
.portal-compact__trust strong{ font-size:1.35rem; font-weight:800; color:var(--alu-navy); line-height:1.1; }
.portal-compact__trust span{ font-size:.78rem; color:#5b6b80; }

/* Projects: the theme already builds these as absolutely-filled cards with a caption
   overlay (.home-projects a{min-height:360px}). Only the card height and the caption
   scale change here — the structure, gradient and hover stay the theme's. */
.portal-compact__projects .home-projects{ gap:10px !important; }
.portal-compact__projects .home-projects a{ min-height:132px !important; border-radius:12px !important; }
.portal-compact__projects .home-projects span{ inset-inline:.5rem !important; inset-block-end:.5rem !important; gap:.1rem !important; }
.portal-compact__projects .home-projects small{ font-size:.64rem; opacity:.88; }
.portal-compact__projects .home-projects strong{ font-size:.74rem; font-weight:700; line-height:1.2; }
.portal-compact__projects .portal-section__head,.portal-compact__faq > div:first-child{ margin-block-end:10px; }
.portal-compact__projects .portal-section__head{ display:flex; justify-content:space-between; align-items:baseline; gap:10px; }
.portal-compact__faq > div:first-child p{ font-size:.82rem; color:#5b6b80; margin-block-end:0; }
.portal-compact__faq .portal-faq__list{ display:flex; flex-direction:column; gap:6px; }
.portal-compact__faq details{ border:1px solid #e7eefb; border-radius:10px; background:#fbfdff; }
.portal-compact__faq summary{ cursor:pointer; padding:9px 12px; font-weight:700; font-size:.9rem; color:var(--alu-navy); }
.portal-compact__faq details p{ margin:0; padding:0 12px 10px; font-size:.86rem; color:#4b5b70; }

/* Contact: the full form, in a narrower column. The theme lays this out as
   details | form side by side, which cannot breathe at this width, so the two
   stack here. Every field, guard and consent is untouched. */
.portal-compact__contact{ position:sticky; top:96px; grid-template-columns:1fr !important; gap:14px !important; background:#fff !important; }
.portal-compact__contact .portal-contact__details{ margin-block-end:0; }
.portal-compact__contact .portal-contact__details > p:not(.portal-kicker){ font-size:.86rem; line-height:1.5; }
.portal-compact__contact .portal-contact__details > a{ margin-top:.6rem !important; }
.portal-compact__contact .portal-contact__details strong{ font-size:1.15rem !important; white-space:nowrap; }
.portal-compact__contact form{ display:grid; gap:9px; }
.portal-compact__contact label{ font-size:.83rem; font-weight:600; }
.portal-compact__contact input,.portal-compact__contact select,.portal-compact__contact textarea{ width:100%; font-size:.92rem; }
.portal-compact__contact textarea{ min-height:84px; }

@media (max-width:1180px){
  .portal-compact{ grid-template-columns:1fr !important; }
  .portal-compact__contact{ position:static; }
}
@media (max-width:760px){
  .portal-compact__split{ grid-template-columns:1fr; }
  .portal-compact__trust{ grid-template-columns:1fr !important; }
  .portal-compact__projects .home-projects{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  .portal-compact__projects .home-projects img{ height:76px !important; }
}

/* ---------- 13. Responsive ---------- */
@media (max-width:900px){
  .portal-hero__grid{ grid-template-columns:1fr !important; }
  .portal-hero__media{ display:none !important; }
}
