/* Theme 2 — Services
   Direction : portail municipal inspiré d'une logique type Malakoff.
   Utilise les partials dédiés services-header.php / services-footer.php. */

.theme-services{
  --bg:#f2efea;
  --paper:#fbfaf7;
  --paper-2:#e8e3dc;
  --ink:#222634;
  --muted:rgba(34,38,52,.72);
  --border:rgba(34,38,52,.18);
  --border-soft:rgba(34,38,52,.10);
  --container:1240px;
  --section-pad:34px;
  --header-h:164px;
  --hero-min:280px;
  --hero-max:420px;
  --services-plum:#6f1f57;
  --services-teal:#0f8ba0;
  background:var(--bg);
  color:var(--ink);
  overflow-x:hidden;
}

body.theme-services{
  max-width:100%;
  overflow-x:hidden;
}

.theme-services,
.theme-services *{
  box-sizing:border-box;
}

.theme-services main{
  max-width:100%;
  overflow-x:clip;
  background:transparent;
}
.theme-services .container{
  width:min(100%, var(--container));
  max-width:var(--container);
}
.theme-services .muted,
.theme-services .footer-muted{ color:var(--muted); }
.theme-services .section{ padding:var(--section-pad) 0; }

.theme-services .services-visually-hidden{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0, 0, 0, 0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

.theme-services .card,
.theme-services .panel,
.theme-services .widget-card,
.theme-services .news-card,
.theme-services .agenda-event{
  background:var(--paper);
  border:1px solid var(--border-soft);
  border-radius:0;
  box-shadow:none;
}

.theme-services .btn{
  min-height:48px;
  padding:.8rem 1.1rem;
  border-radius:2px;
  box-shadow:none;
  font-weight:900;
}
.theme-services .btn.secondary,
.theme-services .btn.outline{
  background:#fff;
  color:var(--ink);
  border-color:var(--border);
}

/* =====================================================
   HEADER SERVICES
   ===================================================== */
.theme-services .site-header--services{
  position:sticky;
  top:0;
  z-index:90;
  background:rgba(251,250,247,.98);
  border-bottom:1px solid rgba(34,38,52,.12);
  backdrop-filter:blur(10px);
}
.theme-services .services-header__top{ padding:18px 0 12px; }
.theme-services .services-header__top-inner{
  display:grid;
  grid-template-columns:minmax(300px, 1fr) minmax(520px, 700px);
  gap:28px;
  align-items:start;
  position:relative;
}
.theme-services .brand--services{
  display:flex;
  align-items:flex-start;
  gap:16px;
  min-width:0;
  text-decoration:none;
  color:var(--ink);
}
.theme-services .brand--services .brand-logo{
  width:auto;
  height:88px;
  max-width:460px;
  object-fit:contain;
  background:transparent;
  box-shadow:none;
  border-radius:0;
  border:0;
  transform:none;
}
.theme-services .brand-title--services{
  display:none;
  min-width:0;
  max-width:260px;
  padding-top:8px;
  font-size:18px;
  font-weight:800;
  letter-spacing:-.02em;
}

.theme-services .services-header__tools{
  display:flex;
  flex-direction:column;
  gap:12px;
  min-width:0;
}
.theme-services .services-header__utility{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:12px;
  min-height:24px;
  flex-wrap:wrap;
  color:var(--muted);
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.theme-services .services-header__utility a{
  color:inherit;
  text-decoration:none;
}
.theme-services .services-header__utility a:hover{ color:var(--services-plum); }
.theme-services .services-header__divider{
  width:1px;
  height:12px;
  background:rgba(34,38,52,.20);
}
.theme-services .services-header__social{
  width:28px;
  height:28px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border:1px solid rgba(34,38,52,.10);
  color:var(--services-plum) !important;
}
.theme-services .services-header__social svg{
  width:14px;
  height:14px;
  display:block;
  fill:currentColor;
}

.theme-services .services-search-hidden,
.theme-services .services-search-hidden[hidden]{
  display:none !important;
}
.theme-services .services-header__actions{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 270px;
  gap:16px;
  align-items:stretch;
}
.theme-services .services-header__search-form{
  width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0, 1fr) 176px;
  gap:0;
  margin:0;
}
.theme-services .services-header__search-form input[type="search"]{
  width:100%;
  min-width:0;
  min-height:62px;
  padding:0 20px;
  border:1px solid rgba(34,38,52,.12);
  border-right:0;
  border-radius:0;
  background:var(--paper-2);
  color:var(--ink);
  font:inherit;
  font-size:15px;
  font-weight:800;
  letter-spacing:.01em;
  box-shadow:none;
  outline:none;
}
.theme-services .services-header__search-form input[type="search"]::placeholder{
  color:rgba(34,38,52,.72);
}
.theme-services .services-header__search-form button{
  min-height:62px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:0 18px;
  border:1px solid rgba(34,38,52,.12);
  border-radius:0;
  background:var(--paper-2);
  color:var(--ink);
  font:inherit;
  font-size:15px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  box-shadow:none;
  cursor:pointer;
}
.theme-services .services-header__search-form button:hover{
  background:#e4dfd7;
}
.theme-services .services-header__search-form button svg{
  width:20px;
  height:20px;
  display:block;
  fill:currentColor;
  flex:0 0 20px;
}
.theme-services .services-header__search-form button span{
  white-space:nowrap;
}
.theme-services .services-header__portal-btn{
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:0 20px;
  background:var(--services-teal);
  color:#fff;
  text-decoration:none;
  font-size:15px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.theme-services .services-header__portal-btn:hover{ filter:brightness(.98); }
.theme-services .services-header__portal-arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  line-height:1;
  transition:transform .18s ease;
}
.theme-services .services-header__portal-arrow svg{
  width:12px;
  height:8px;
  display:block;
}

.theme-services .services-header__portal{
  position:relative;
  width:270px;
  justify-self:end;
}
.theme-services .services-header__portal-btn{
  width:100%;
  border:0;
  cursor:pointer;
}
.theme-services .services-header__portal-btn[aria-expanded="true"] .services-header__portal-arrow{
  transform:rotate(180deg);
}
.theme-services .services-header__quick-menu{
  position:absolute;
  top:100% !important;
  left:0 !important;
  right:auto !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  box-sizing:border-box;
  background:var(--services-teal);
  color:#fff;
  box-shadow:0 16px 32px rgba(34,38,52,.18);
  z-index:25;
  overflow:hidden;
}
.theme-services .services-header__quick-links{
  display:grid;
  gap:0;
}
.theme-services .services-header__quick-link{
  display:block;
  padding:14px 20px;
  color:#fff;
  text-decoration:none;
  font-size:14px;
  font-weight:900;
  text-transform:uppercase;
  border-top:1px solid rgba(255,255,255,.18);
}
.theme-services .services-header__quick-link:first-child{
  border-top:0;
}
.theme-services .services-header__quick-link:hover,
.theme-services .services-header__quick-link:focus-visible{
  background:rgba(255,255,255,.10);
}

.theme-services .nav-toggle{
  display:none;
  width:46px;
  height:46px;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(34,38,52,.12);
  background:#fff;
  border-radius:2px;
  color:var(--ink);
  box-shadow:none;
}
.theme-services .nav-toggle__bars{ display:flex; flex-direction:column; gap:4px; }
.theme-services .nav-toggle__bars span{ display:block; width:18px; height:2px; background:currentColor; }

.theme-services .services-header__nav{
  border-top:1px solid rgba(34,38,52,.16);
  border-bottom:1px solid rgba(34,38,52,.16);
}
.theme-services .services-header__nav-inner{ position:relative; }
.theme-services .site-nav--services{ display:block; }
.theme-services .site-nav--services .nav-primary{
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:stretch;
  justify-content:space-between;
  gap:0;
  width:100%;
}
.theme-services .site-nav--services .nav-primary > a,
.theme-services .site-nav--services .nav-group{
  position:relative;
  flex:1 1 0;
  min-width:0;
}
.theme-services .site-nav--services .nav-primary > a,
.theme-services .site-nav--services .nav-group-link{
  min-height:76px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  gap:2px;
  padding:10px 12px 8px;
  color:var(--ink);
  background:transparent;
  border-radius:0;
  border:0;
  text-decoration:none;
  overflow:hidden;
  text-align:center;
}
.theme-services .site-nav--services .nav-primary > a::after,
.theme-services .site-nav--services .nav-group-link::after{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:-1px;
  height:3px;
  background:transparent;
}
.theme-services .site-nav--services .nav-primary > a:hover::after,
.theme-services .site-nav--services .nav-primary > a.is-active::after,
.theme-services .site-nav--services .nav-group-link:hover::after,
.theme-services .site-nav--services .nav-group-link.is-active::after,
.theme-services .site-nav--services .nav-group.is-active > .nav-group-link::after{
  background:var(--services-plum);
}
.theme-services .site-nav--services .nav-primary > a:hover,
.theme-services .site-nav--services .nav-primary > a.is-active,
.theme-services .site-nav--services .nav-group-link:hover,
.theme-services .site-nav--services .nav-group-link.is-active,
.theme-services .site-nav--services .nav-group.is-active > .nav-group-link{
  color:var(--services-plum);
}
.theme-services .site-nav--services .nav-label{
  display:block;
  width:100%;
  max-width:100%;
  font-family:"Arial Narrow", "Roboto Condensed", "Helvetica Neue", Arial, sans-serif;
  font-size:clamp(16px, 1.45vw, 20px);
  line-height:.98;
  font-weight:900;
  letter-spacing:.03em;
  text-transform:uppercase;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
  text-wrap:balance;
  text-align:center;
}
.theme-services .site-nav--services .nav-label--compact{
  font-size:clamp(14px, 1.2vw, 17px);
  letter-spacing:.02em;
}
.theme-services .site-nav--services .nav-subtitle{
  display:block;
  width:100%;
  max-width:100%;
  color:rgba(34,38,52,.78);
  font-size:11px;
  line-height:1.12;
  letter-spacing:0;
  text-transform:none;
  white-space:normal;
  overflow-wrap:anywhere;
  text-align:center;
}
.theme-services .site-nav--services .nav-group-link{
  padding-left:28px;
  padding-right:28px;
}
.theme-services .site-nav--services .nav-group-caret{
  position:absolute;
  right:10px;
  bottom:14px;
  width:12px;
  height:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  opacity:.72;
}
.theme-services .site-nav--services .nav-group-caret svg{
  width:12px;
  height:8px;
  display:block;
}
.theme-services .site-nav--services .nav-submenu{
  --submenu-cols:1;
  --submenu-rows:1;
  --submenu-col-width:220px;
  --submenu-gap-x:10px;
  --submenu-gap-y:4px;
  position:absolute;
  left:0;
  top:100%;
  min-width:240px;
  width:min(calc((var(--submenu-cols) * var(--submenu-col-width)) + ((var(--submenu-cols) - 1) * var(--submenu-gap-x)) + 20px), calc(100vw - 24px));
  max-width:calc(100vw - 24px);
  max-height:min(72dvh, calc(100dvh - var(--header-h) - 18px));
  padding:10px;
  display:grid;
  grid-auto-flow:column;
  grid-template-columns:repeat(var(--submenu-cols), minmax(0, 1fr));
  grid-template-rows:repeat(var(--submenu-rows), minmax(0, auto));
  gap:var(--submenu-gap-y) var(--submenu-gap-x);
  align-content:start;
  background:var(--paper);
  border:1px solid rgba(34,38,52,.14);
  border-radius:0;
  box-shadow:0 18px 40px rgba(34,38,52,.10);
  z-index:30;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(8px);
  transition:opacity .14s ease, transform .14s ease, visibility 0s linear .14s;
}
@media (min-width: 961px){
  .theme-services .site-nav--services .nav-submenu{
    position:absolute;
    left:var(--submenu-local-left, 0px);
    top:100%;
    right:auto;
    max-width:calc(100vw - 32px);
  }
}
.theme-services .site-nav--services .nav-submenu.nav-submenu--cols-2{ --submenu-cols:2; }
.theme-services .site-nav--services .nav-submenu.nav-submenu--cols-3{ --submenu-cols:3; }
.theme-services .site-nav--services .nav-submenu.is-align-right{
  left:auto;
  right:0;
}
.theme-services .site-nav--services .nav-group:hover > .nav-submenu,
.theme-services .site-nav--services .nav-group:focus-within > .nav-submenu,
.theme-services .site-nav--services .nav-group.is-open > .nav-submenu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
  transition:opacity .14s ease, transform .14s ease, visibility 0s linear 0s;
}
.theme-services .site-nav--services .nav-submenu a{
  display:block;
  padding:10px 12px;
  color:var(--ink);
  text-decoration:none;
  font-size:14px;
  font-weight:700;
  line-height:1.35;
  min-width:0;
  white-space:normal;
  overflow-wrap:anywhere;
  break-inside:avoid;
}
.theme-services .site-nav--services .nav-submenu a:hover,
.theme-services .site-nav--services .nav-submenu a.is-active{
  background:rgba(111,31,87,.08);
  color:var(--services-plum);
}

/* Densité menu : on garde une seule ligne de rubriques */
.theme-services .site-header--services.services-nav--dense .site-nav--services .nav-primary > a,
.theme-services .site-header--services.services-nav--dense .site-nav--services .nav-group-link{
  min-height:70px;
  padding:8px 10px 7px;
}
.theme-services .site-header--services.services-nav--dense .site-nav--services .nav-label{
  font-size:clamp(15px, 1.25vw, 18px);
}
.theme-services .site-header--services.services-nav--dense .site-nav--services .nav-label--compact{
  font-size:clamp(13px, 1.05vw, 16px);
}
.theme-services .site-header--services.services-nav--dense .site-nav--services .nav-subtitle{
  font-size:10px;
}

.theme-services .site-header--services.services-nav--x-dense .site-nav--services .nav-primary > a,
.theme-services .site-header--services.services-nav--x-dense .site-nav--services .nav-group-link{
  min-height:64px;
  justify-content:center;
  padding:8px 10px 9px;
}
.theme-services .site-header--services.services-nav--x-dense .site-nav--services .nav-label{
  font-size:clamp(13px, 1.05vw, 16px);
  line-height:1.02;
}
.theme-services .site-header--services.services-nav--x-dense .site-nav--services .nav-label--compact{
  font-size:clamp(12px, .92vw, 14px);
}
.theme-services .site-header--services.services-nav--x-dense .site-nav--services .nav-subtitle{
  display:none;
}
.theme-services .site-header--services.services-nav--x-dense .site-nav--services .nav-group-caret{
  bottom:10px;
  width:10px;
  height:7px;
}
.theme-services .site-header--services.services-nav--x-dense .site-nav--services .nav-group-caret svg{
  width:10px;
  height:7px;
}

/* =====================================================
   HOME HERO + SERVICES + SEARCH
   ===================================================== */
.theme-services .home-hero{
  width:min(calc(100% - 40px), var(--container));
  margin:24px auto 0;
  min-height:clamp(260px, 31vw, 430px);
  height:clamp(260px, 31vw, 430px);
  border:1px solid rgba(34,38,52,.12);
  border-radius:0;
  overflow:hidden;
  background:#dcd7d0;
  box-shadow:none;
}
.theme-services .home-hero .hero-img,
.theme-services .home-hero .hero-media{
  transform:none;
  filter:saturate(.92) contrast(.98) brightness(.97);
}
.theme-services .home-hero .hero-overlay{
  background:linear-gradient(90deg, rgba(34,38,52,.42), rgba(34,38,52,.16) 48%, rgba(34,38,52,.03));
}
.theme-services .home-hero .hero-content{
  min-height:inherit;
  padding:22px 0;
  align-items:flex-end;
}
.theme-services .home-hero .hero-panel{
  max-width:min(420px, 100%);
}
.theme-services .home-hero .hero-panel.is-card{
  padding:18px 20px;
  background:rgba(251,250,247,.92);
  border:1px solid rgba(255,255,255,.58);
  border-radius:0;
  box-shadow:none;
}
.theme-services .hero-kicker{
  display:inline-block;
  margin-bottom:10px;
  color:var(--services-plum);
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.theme-services .hero-title{
  margin:0 0 8px;
  font-size:clamp(30px, 4vw, 54px);
  line-height:1.02;
  letter-spacing:-.045em;
  color:var(--ink);
}
.theme-services .hero-text{
  margin:0 0 14px;
  color:rgba(34,38,52,.80);
  font-size:16px;
}
.theme-services .hero-actions{ display:flex; gap:10px; flex-wrap:wrap; }

.theme-services .home-hero.hero-pos-below{
  background:transparent;
  border:0;
  box-shadow:none;
  overflow:visible;
  height:auto;
}
.theme-services .home-hero.hero-pos-below .hero-media,
.theme-services .home-hero.hero-pos-below .hero-img{
  height:clamp(260px, 31vw, 430px);
  border:1px solid rgba(34,38,52,.12);
  border-bottom:0;
  border-radius:0;
}
.theme-services .hero-below{
  width:min(calc(100% - 40px), var(--container));
  margin:0 auto;
  background:transparent !important;
  color:var(--ink) !important;
}
.theme-services .hero-below .container{
  background:var(--paper);
  border:1px solid rgba(34,38,52,.12);
  border-top:0;
  border-radius:0;
  padding:18px 20px !important;
}
.theme-services .hero-below .hero-actions{ justify-content:flex-start !important; }
.theme-services .hero-below .hero-title,
.theme-services .hero-below .hero-text,
.theme-services .hero-below .hero-kicker{ color:inherit !important; }

.theme-services .sr-shell--home,
.theme-services .sr-shell--page,
.theme-services .sr-shell--sidebar{
  background:transparent;
}
.theme-services .home-hero + .sr-shell--home,
.theme-services .hero-below + .sr-shell--home,
.theme-services .home-hero + .search-section,
.theme-services .hero-below + .search-section{
  margin-top:24px;
}
.theme-services .sr-container,
.theme-services .search-wrap,
.theme-services .search-block,
.theme-services .search-card,
.theme-services .home-agenda,
.theme-services .section > .container,
.theme-services .section.tight > .container{
  width:min(calc(100% - 40px), var(--container));
}

/* services rapides */
.theme-services .sr-shell--home .sr-container,
.theme-services .sr-shell--page .sr-container{
  background:var(--paper);
  border:1px solid rgba(34,38,52,.12);
  border-radius:0;
  box-shadow:none;
  padding:18px 20px 20px;
}
.theme-services .sr-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
  flex-wrap:wrap;
}
.theme-services .sr-head__title{
  margin:0;
  color:var(--services-plum);
  font-family:Georgia, "Times New Roman", serif;
  font-size:clamp(28px, 3vw, 44px);
  line-height:1;
  letter-spacing:-.03em;
  font-style:italic;
  font-weight:400;
}
.theme-services .sr-head__subtitle{
  margin:6px 0 0;
  color:var(--muted);
  font-size:15px;
}
.theme-services .sr-head__button{
  min-height:40px;
  padding:0 14px;
  background:#fff;
  border:1px solid rgba(34,38,52,.12);
  color:var(--ink);
  text-decoration:none;
  font-size:13px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.theme-services .sr-grid--cards{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(165px, 1fr));
  gap:10px 14px;
}
.theme-services .sr-grid--chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.theme-services .sr-item{ text-decoration:none; color:inherit; }
.theme-services .sr-item--card{
  min-height:118px;
  padding:14px 12px 12px;
  border:1px solid rgba(34,38,52,.10);
  border-radius:0;
  background:transparent;
  box-shadow:none;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:center;
  transition:background .14s ease, border-color .14s ease;
}
.theme-services .sr-item--card:hover,
.theme-services .sr-item--card:focus-visible{
  background:#fff;
  border-color:rgba(111,31,87,.28);
}
.theme-services .sr-item__icon{
  width:44px;
  height:44px;
  border-radius:0;
  background:transparent;
  color:#8e8e8e;
}
.theme-services .sr-item__icon svg{ width:28px; height:28px; }
.theme-services .sr-item__label{
  margin:0;
  color:var(--ink);
  font-size:15px;
  line-height:1.2;
  font-weight:800;
}
.theme-services .sr-item__subtitle{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.35;
}
.theme-services .sr-item--chip{
  min-height:40px;
  padding:8px 12px;
  border-radius:0;
  background:#fff;
  border:1px solid rgba(34,38,52,.10);
  font-weight:800;
}

/* search module */
.theme-services .search-section{ padding:0 0 26px; }
.theme-services .search-wrap,
.theme-services .search-block,
.theme-services .search-card{
  width:min(calc(100% - 40px), var(--container));
  margin-inline:auto;
  background:var(--paper);
  border:1px solid rgba(34,38,52,.12);
  border-radius:0;
  box-shadow:none;
  padding:16px 18px 18px;
}
.theme-services .search-wrap h2,
.theme-services .search-block h2,
.theme-services .search-card h2,
.theme-services .search-wrap .section-title,
.theme-services .search-block .section-title,
.theme-services .search-card .section-title,
.theme-services .search-wrap > label,
.theme-services .search-block > label,
.theme-services .search-card > label{
  display:block;
  margin:0 0 12px;
  color:var(--ink);
  font-size:14px;
  font-weight:900;
}
.theme-services .search-wrap form,
.theme-services .search-block form,
.theme-services .search-card form,
.theme-services .search-wrap .search-form,
.theme-services .search-block .search-form,
.theme-services .search-card .search-form{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:10px;
  align-items:center;
}
.theme-services .search-wrap input[type="search"],
.theme-services .search-wrap input[type="text"],
.theme-services .search-block input[type="search"],
.theme-services .search-block input[type="text"],
.theme-services .search-card input[type="search"],
.theme-services .search-card input[type="text"],
.theme-services .search-wrap .search-input,
.theme-services .search-block .search-input,
.theme-services .search-card .search-input{
  width:100%;
  min-height:52px;
  padding:0 16px;
  border:1px solid rgba(34,38,52,.12);
  border-radius:0;
  background:var(--paper-2);
  color:var(--ink);
  font:inherit;
  box-shadow:none;
}
.theme-services .search-wrap button,
.theme-services .search-wrap .btn,
.theme-services .search-block button,
.theme-services .search-block .btn,
.theme-services .search-card button,
.theme-services .search-card .btn{
  min-height:52px;
  padding:0 20px;
  border-radius:0;
  background:var(--services-teal);
  color:#fff;
  box-shadow:none;
}

/* =====================================================
   OTHER HOME MODULES
   ===================================================== */
.theme-services .section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.theme-services .section-title,
.theme-services .card-title,
.theme-services .home-agenda__title{
  margin:0;
  color:var(--services-plum);
  font-family:Georgia, "Times New Roman", serif;
  font-size:clamp(26px, 2.6vw, 40px);
  line-height:1;
  letter-spacing:-.03em;
  font-style:italic;
  font-weight:400;
}
.theme-services .section .card,
.theme-services .section.tight .card{
  border:1px solid rgba(34,38,52,.12);
  border-radius:0;
}
.theme-services .section .grid .card{ height:100%; }

.theme-services .news-card{
  grid-template-columns:minmax(240px, 40%) 1fr;
  border:1px solid rgba(34,38,52,.12);
  border-radius:0;
}
.theme-services .news-card__body{ padding:16px 18px; }
.theme-services .news-card__title{
  margin:0;
  color:var(--ink);
  font-family:"Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  font-size:20px;
  line-height:1.06;
  font-weight:900;
  letter-spacing:.01em;
  text-transform:uppercase;
}
.theme-services .news-card__meta{ color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.06em; }
.theme-services .news-card__excerpt{ color:var(--muted); }
.theme-services .news-card__more a{ color:var(--services-plum); font-weight:900; text-transform:uppercase; font-size:12px; letter-spacing:.06em; }

.theme-services .home-agenda{ margin-inline:auto; padding:0; }
.theme-services .home-agenda__hd{ margin-bottom:14px; }
.theme-services .agenda-event{ border:1px solid rgba(34,38,52,.12); }
.theme-services .agenda-event__date{
  background:#fff !important;
  border-right:1px solid rgba(34,38,52,.12) !important;
}
.theme-services .agenda-event__date .d{ color:var(--services-plum); }
.theme-services .agenda-event__title{
  color:var(--ink);
  font-family:"Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  font-size:18px;
  line-height:1.1;
  font-weight:900;
  letter-spacing:.01em;
  text-transform:uppercase;
}

/* =====================================================
   INTERNAL PAGE HEAD
   ===================================================== */
.theme-services .page-head{
  width:min(calc(100% - 40px), var(--container));
  min-height:0 !important;
  height:auto !important;
  margin:14px auto 0;
  border:0;
  border-radius:0;
  overflow:visible;
  box-shadow:none;
  background:transparent;
}
.theme-services .page-head__media,
.theme-services .page-head__overlay{
  display:none !important;
}
.theme-services .page-head__inner{
  min-height:0 !important;
  padding:8px 0 2px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:4px;
}
.theme-services .page-head__title{
  margin:0;
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  max-width:fit-content;
  font-size:clamp(25px, 2.8vw, 35px);
  line-height:1.05;
  letter-spacing:-.035em;
  color:var(--ink);
  text-shadow:none;
}
.theme-services .page-head__title::after{
  content:"";
  display:block;
  width:52px;
  height:2px;
  border-radius:999px;
  background:rgba(34,38,52,.22);
}
.theme-services .page-head__lead{
  margin:0;
  max-width:68ch;
  font-size:15px;
  line-height:1.5;
  color:var(--muted);
  text-shadow:none;
}
.theme-services .breadcrumb-bar{
  background:transparent;
  border:0;
}
.theme-services .breadcrumb-bar .container{
  max-width:var(--container);
  padding-top:0;
  padding-bottom:0;
}
.theme-services .breadcrumb{
  padding:0 0 4px;
  font-size:12px;
  line-height:1.35;
  color:rgba(34,38,52,.62);
}
.theme-services .breadcrumb ol{
  align-items:center;
  gap:6px;
}
.theme-services .breadcrumb li{
  gap:6px;
}
.theme-services .sc-site-shell{
  margin-top:6px;
}
.theme-services .sc-site-shell--home{
  margin-top:28px;
}

/* =====================================================
   FOOTER SERVICES
   ===================================================== */
.theme-services .site-footer--services{
  margin-top:84px;
  background:#202534;
  color:#f8f5ef;
  padding:34px 0 0;
  border-top:0;
}
.theme-services .site-footer--services .container{ max-width:var(--container); }
.theme-services .services-footer__topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding-bottom:22px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.theme-services .services-footer__nav{
  padding:18px 0 14px;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.theme-services .services-footer__nav-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(170px, 220px));
  justify-content:start;
  gap:14px 20px;
}
.theme-services .services-footer__nav-section{
  min-width:0;
}
.theme-services .services-footer__nav-section--compact{
  min-width:min(100%, 280px);
}
.theme-services .services-footer__nav-title{
  display:block;
  margin:0 0 8px;
  color:#fff;
  text-decoration:none;
  font-size:14px;
  font-weight:900;
  line-height:1.2;
  letter-spacing:-.01em;
}
.theme-services .services-footer__nav-title:hover{
  color:#fff;
  text-decoration:underline;
}
.theme-services .services-footer__nav-links{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.theme-services .services-footer__nav-section--compact .services-footer__nav-links{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:6px 18px;
}
.theme-services .services-footer__nav-links a{
  color:rgba(248,245,239,.88);
  text-decoration:none;
  line-height:1.25;
}
.theme-services .services-footer__nav-links a:hover{
  color:#fff;
  text-decoration:underline;
}
.theme-services .services-footer__nav-more{
  margin-top:4px;
  color:#fff !important;
  font-weight:900;
  font-size:13px;
  letter-spacing:.01em;
}
.theme-services .services-footer__nav-all{
  display:flex;
  justify-content:flex-start;
  margin-top:18px;
}
.theme-services .services-footer__nav-all a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 16px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.06);
  color:#fff;
  text-decoration:none;
  font-size:13px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.theme-services .services-footer__nav-all a:hover{
  background:rgba(255,255,255,.10);
  text-decoration:none;
}
.theme-services .services-footer__identity{
  display:flex;
  align-items:center;
  gap:18px;
  min-width:0;
}
.theme-services .services-footer__logo img{
  display:block;
  width:auto;
  max-width:120px;
  max-height:78px;
  object-fit:contain;
}
.theme-services .services-footer__site-name{
  color:#fff;
  font-size:22px;
  font-weight:900;
  letter-spacing:-.02em;
}
.theme-services .services-footer__site-text{
  margin:6px 0 0;
  max-width:46ch;
  color:rgba(248,245,239,.74);
}
.theme-services .services-footer__quick-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.theme-services .services-footer__quick-btn{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 16px;
  border:1px solid transparent;
  background:var(--services-teal);
  color:#fff;
  text-decoration:none;
  font-size:13px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.theme-services .services-footer__quick-btn--ghost{
  background:transparent;
  border-color:rgba(255,255,255,.18);
  color:#fff;
}

.theme-services .services-footer__grid{
  display:grid;
  grid-template-columns:minmax(260px, 1.2fr) minmax(220px, 0.95fr) minmax(180px, 0.8fr);
  gap:26px;
  padding:26px 0 28px;
}
.theme-services .services-footer__col{ min-width:0; }
.theme-services .services-footer__col--tools{ justify-self:start; }
.theme-services .site-footer--services .footer-title{
  margin-bottom:12px;
  color:rgba(248,245,239,.66);
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.theme-services .services-footer__links{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.theme-services .services-footer__links a,
.theme-services .services-footer__line{
  color:#f8f5ef;
  text-decoration:none;
}
.theme-services .services-footer__links a:hover{
  color:#fff;
  text-decoration:underline;
}
.theme-services .services-footer__main-link,
.theme-services .services-footer__group-label{
  color:#fff;
  font-weight:900;
}
.theme-services .services-footer__search form,
.theme-services .services-footer__search .search-form,
.theme-services .services-footer__search .search-module__form,
.theme-services .services-footer__search .search-module-form{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 52px;
  gap:0;
}
.theme-services .services-footer__search input[type="search"],
.theme-services .services-footer__search input[type="text"],
.theme-services .services-footer__search .search-input{
  min-height:48px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.16);
  border-right:0;
  border-radius:0;
  background:rgba(255,255,255,.08);
  color:#fff;
}
.theme-services .services-footer__search button,
.theme-services .services-footer__search .btn,
.theme-services .services-footer__search [type="submit"]{
  min-height:48px;
  width:52px;
  padding:0;
  border:1px solid rgba(255,255,255,.16);
  border-left:0;
  border-radius:0;
  background:rgba(255,255,255,.08) !important;
  color:#fff !important;
}
.theme-services .services-footer__search-icon{
  width:52px;
  min-width:52px;
  height:48px;
  min-height:48px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.16);
  border-radius:0;
  background:rgba(255,255,255,.08);
  color:#fff;
  box-sizing:border-box;
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
}
.theme-services .services-footer__search-icon:hover,
.theme-services .services-footer__search-icon:focus-visible{
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.26);
}
.theme-services .services-footer__search-icon svg{
  width:18px;
  height:18px;
  display:block;
  fill:currentColor;
}
.theme-services .footer-social{ display:flex; gap:10px; flex-wrap:wrap; }
.theme-services .footer-social__link{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
}
.theme-services .site-footer__bottom--services{
  border-top:1px solid rgba(255,255,255,.10);
  padding:16px 0 18px;
}

/* =====================================================
   RESPONSIVE
   ===================================================== */
@media (max-width: 1100px){
  .theme-services .services-header__top-inner{
    grid-template-columns:minmax(260px, 1fr) minmax(420px, 1fr);
    gap:22px;
  }
  .theme-services .services-header__actions{
    grid-template-columns:minmax(0, 1fr) 200px;
  }
  .theme-services .site-nav--services .nav-label{ font-size:18px; }
  .theme-services .services-footer__nav-grid{ grid-template-columns:repeat(3, minmax(160px, 1fr)); }
  .theme-services .services-footer__grid{ grid-template-columns:1fr 1fr; }
}

@media (max-width: 900px){
  .theme-services .home-hero,
  .theme-services .hero-below,
  .theme-services .sr-container,
  .theme-services .search-wrap,
  .theme-services .search-block,
  .theme-services .search-card,
  .theme-services .home-agenda,
  .theme-services .section > .container,
  .theme-services .section.tight > .container,
  .theme-services .page-head{
    width:min(calc(100% - 28px), var(--container));
  }
  .theme-services .news-card{ grid-template-columns:1fr; }
  .theme-services .services-footer__topline{
    flex-direction:column;
    align-items:flex-start;
  }
  .theme-services .services-footer__nav-grid{
    grid-template-columns:repeat(2, minmax(150px, 1fr));
  }
  .theme-services .services-footer__nav-section--compact .services-footer__nav-links{
    grid-template-columns:1fr;
  }
}

@media (max-width: 960px){
  .theme-services .services-header__top-inner{
    grid-template-columns:1fr auto;
    gap:16px;
    align-items:center;
  }
  .theme-services .brand--services{ align-items:center; }
  .theme-services .brand--services .brand-logo{
    height:64px;
    max-width:260px;
  }
  .theme-services .brand-title--services{
    display:block;
    font-size:17px;
    max-width:min(46vw, 220px);
  }
  .theme-services .services-header__tools{ display:none; }
  .theme-services .nav-toggle{ display:inline-flex; justify-self:end; }

  .theme-services .services-header__nav{
    border-top:1px solid rgba(34,38,52,.12);
  }
  .theme-services .site-nav--services{
    display:none;
  }
  .theme-services .site-header--services.is-open .site-nav--services{
    display:block;
    position:absolute;
    left:14px;
    right:14px;
    top:calc(100% + 8px);
    padding:14px;
    background:var(--paper);
    border:1px solid rgba(34,38,52,.14);
    box-shadow:0 18px 36px rgba(34,38,52,.12);
    z-index:40;
  }
  .theme-services .site-nav--services .nav-primary{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }
  .theme-services .site-nav--services .nav-primary > a,
  .theme-services .site-nav--services .nav-group-link{
    min-height:auto;
    padding:12px 14px;
    border:1px solid rgba(34,38,52,.12);
    background:#fff;
  }
  .theme-services .site-nav--services .nav-primary > a::after,
  .theme-services .site-nav--services .nav-group-link::after{
    display:none;
  }
  .theme-services .site-nav--services .nav-label{ font-size:17px; }
  .theme-services .site-nav--services .nav-submenu{
    position:static;
    min-width:0;
    width:auto;
    max-width:none;
    max-height:none;
    display:none;
    margin-top:8px;
    overflow:visible;
    gap:8px 10px;
    grid-auto-flow:row;
    grid-template-columns:1fr;
    grid-template-rows:none;
    box-shadow:none;
  }
  .theme-services .site-nav--services .nav-group.is-open > .nav-submenu{ display:grid; }
}

@media (min-width: 620px) and (max-width: 960px){
  .theme-services .site-nav--services .nav-submenu.nav-submenu--cols-2,
  .theme-services .site-nav--services .nav-submenu.nav-submenu--cols-3{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .theme-services .site-nav--services .nav-submenu.nav-submenu--cols-2 a,
  .theme-services .site-nav--services .nav-submenu.nav-submenu--cols-3 a{
    min-height:100%;
  }
}

@media (max-width: 960px){
  .theme-services .site-nav--services .nav-group-link{
    padding-left:40px;
    padding-right:40px;
  }
  .theme-services .site-nav--services .nav-group-caret{ right:14px; bottom:16px; }
}

@media (max-width: 640px){
  .theme-services .home-hero,
  .theme-services .hero-below,
  .theme-services .sr-container,
  .theme-services .search-wrap,
  .theme-services .search-block,
  .theme-services .search-card,
  .theme-services .home-agenda,
  .theme-services .section > .container,
  .theme-services .section.tight > .container,
  .theme-services .page-head{
    width:min(calc(100% - 20px), var(--container));
  }
  .theme-services .page-head__inner{
    padding:6px 0 0;
  }
  .theme-services .page-head__title{
    gap:8px;
    font-size:clamp(22px, 7.2vw, 29px);
  }
  .theme-services .page-head__title::after{
    width:42px;
  }
  .theme-services .home-hero{
    min-height:210px;
    height:210px;
    margin-top:18px;
  }
  .theme-services .home-hero .hero-panel.is-card,
  .theme-services .hero-below .container,
  .theme-services .sr-shell--home .sr-container,
  .theme-services .sr-shell--page .sr-container,
  .theme-services .search-wrap,
  .theme-services .search-block,
  .theme-services .search-card{
    padding:16px !important;
  }
  .theme-services .hero-title{ font-size:clamp(26px, 8.5vw, 40px); }
  .theme-services .search-wrap form,
  .theme-services .search-block form,
  .theme-services .search-card form,
  .theme-services .search-wrap .search-form,
  .theme-services .search-block .search-form,
  .theme-services .search-card .search-form,
  .theme-services .services-footer__search form,
  .theme-services .services-footer__search .search-form,
  .theme-services .services-footer__search .search-module__form,
  .theme-services .services-footer__search .search-module-form{
    grid-template-columns:1fr;
    gap:10px;
  }
  .theme-services .services-header__search-form{
    grid-template-columns:1fr;
    gap:10px;
  }
  .theme-services .services-header__search-form input[type="search"],
  .theme-services .services-header__search-form button,
  .theme-services .search-wrap button,
  .theme-services .search-wrap .btn,
  .theme-services .search-block button,
  .theme-services .search-block .btn,
  .theme-services .search-card button,
  .theme-services .search-card .btn,
  .theme-services .services-footer__search button,
  .theme-services .services-footer__search .btn,
  .theme-services .services-footer__search [type="submit"]{
    width:100%;
    border-left:1px solid rgba(34,38,52,.12);
    border-right:1px solid rgba(34,38,52,.12);
  }
  .theme-services .sr-grid--cards{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .theme-services .services-footer__nav-grid{ grid-template-columns:1fr; }
  .theme-services .services-footer__grid{ grid-template-columns:1fr; }
  .theme-services .services-footer__quick-actions{ width:100%; }
}

@media (max-width: 460px){
  .theme-services .brand-title--services{ display:none; }
  .theme-services .sr-grid--cards{ grid-template-columns:1fr; }
}

/* =====================================================
   FINAL PUSH — rapprocher la home du site source
   - hero à gauche
   - services rapides en colonne droite
   - on masque la recherche home doublon (la recherche header suffit)
   ===================================================== */
.theme-services{
  --services-gap:28px;
  --services-sidebar-min:320px;
}

.theme-services .services-header__top{ padding:16px 0 10px; }
.theme-services .services-header__top-inner{
  grid-template-columns:minmax(260px, 1fr) minmax(560px, 720px);
  gap:32px;
  align-items:center;
}
.theme-services .brand--services .brand-logo{ height:94px; max-width:480px; }
.theme-services .services-header__tools{ gap:14px; }
.theme-services .services-header__utility{ min-height:26px; }
.theme-services .services-header__actions{ grid-template-columns:minmax(0, 1fr) 270px; gap:16px; }
.theme-services .services-header__search-form input[type="search"],
.theme-services .services-header__search-form button,
.theme-services .services-header__portal-btn{ min-height:62px; }
.theme-services .services-header__portal-btn{ padding:0 22px; }
.theme-services .site-nav--services .nav-primary{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}
.theme-services .site-nav--services .nav-primary > a,
.theme-services .site-nav--services .nav-group-link{
  min-height:88px;
  padding:14px 12px 10px;
}
.theme-services .site-nav--services .nav-label{
  font-size:21px;
  letter-spacing:.02em;
}
.theme-services .site-nav--services .nav-subtitle{ font-size:12px; }

.theme-services .home-hero{
  min-height:clamp(300px, 29vw, 470px);
  height:clamp(300px, 29vw, 470px);
}
.theme-services .home-hero .hero-overlay{
  background:linear-gradient(90deg, rgba(34,38,52,.24), rgba(34,38,52,.08) 46%, rgba(34,38,52,0));
}
.theme-services .home-hero .hero-content{ padding:18px 0; }
.theme-services .home-hero .hero-panel{ max-width:min(390px, 100%); }
.theme-services .home-hero .hero-panel.is-card{
  padding:16px 18px;
  background:rgba(251,250,247,.88);
}

.theme-services .services-home-grid{
  width:min(calc(100% - 40px), var(--container));
  margin:26px auto 0;
}

@media (min-width: 1101px){
  .theme-services .services-home-grid{
    display:grid;
    grid-template-columns:minmax(0, 1.72fr) minmax(var(--services-sidebar-min), .96fr);
    gap:var(--services-gap);
    align-items:start;
  }

  .theme-services .services-home-grid > .home-hero,
  .theme-services .services-home-grid > .hero-below,
  .theme-services .services-home-grid > .sr-shell--home,
  .theme-services .services-home-grid > .search-section,
  .theme-services .services-home-grid > .section,
  .theme-services .services-home-grid > .section.tight,
  .theme-services .services-home-grid > .home-agenda{
    width:100%;
    margin:0;
  }

  .theme-services .services-home-grid > .home-hero{
    grid-column:1;
    grid-row:1;
    min-height:520px;
    height:520px;
  }

  .theme-services .services-home-grid > .hero-below{
    grid-column:1;
    grid-row:2;
  }

  .theme-services .services-home-grid > .sr-shell--home{
    grid-column:2;
    grid-row:1;
    align-self:start;
    padding:0;
  }

  .theme-services.services-home-page--has-search .services-home-grid > .search-section{
    display:none;
  }

  .theme-services .services-home-grid > :not(.home-hero):not(.hero-below):not(.sr-shell--home):not(.search-section){
    grid-column:1 / -1;
  }

  .theme-services .services-home-grid > .sr-shell--home .sr-container{
    width:100%;
    padding:20px 22px 22px;
    min-height:0;
  }

  .theme-services .services-home-grid > .sr-shell--home .sr-head{
    margin-bottom:14px;
    align-items:flex-start;
  }

  .theme-services .services-home-grid > .sr-shell--home .sr-head__title{
    font-size:clamp(26px, 2.4vw, 38px);
  }

  .theme-services .services-home-grid > .sr-shell--home .sr-head__subtitle{
    margin-top:8px;
    font-size:16px;
    line-height:1.35;
  }

  .theme-services .services-home-grid > .sr-shell--home .sr-grid--cards{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
  }

  .theme-services .services-home-grid > .sr-shell--home .sr-item--card{
    min-height:132px;
    padding:18px 12px 16px;
    background:#f5f2ed;
  }

  .theme-services .services-home-grid > .sr-shell--home .sr-item__icon{
    width:40px;
    height:40px;
  }

  .theme-services .services-home-grid > .sr-shell--home .sr-item__icon svg{
    width:26px;
    height:26px;
  }

  .theme-services .services-home-grid > .sr-shell--home .sr-item__label{
    font-size:14px;
    line-height:1.22;
  }

  .theme-services .services-home-grid > .sr-shell--home .sr-item__subtitle{
    font-size:12px;
  }
}

/* Quand le hero est posé dans la grille home, il ne doit plus se recentrer tout seul */
.theme-services .services-home-grid > .home-hero,
.theme-services .services-home-grid > .hero-below,
.theme-services .services-home-grid > .sr-shell--home,
.theme-services .services-home-grid > .search-section{
  margin-left:0;
  margin-right:0;
}

/* Le doublon de recherche home alourdit le rendu par rapport au modèle */
.theme-services.services-home-page .search-section{ padding-top:0; }
.theme-services.services-home-page .services-home-grid > .search-section,
.theme-services.services-home-page .services-home-grid > .search-wrap,
.theme-services.services-home-page .services-home-grid > .search-block,
.theme-services.services-home-page .services-home-grid > .search-card{
  display:none;
}

/* Si la home n'est pas mise en grille, on garde le bloc services plus compact */
.theme-services .sr-shell--home .sr-container{
  padding:18px 20px 20px;
}
.theme-services .sr-grid--cards{
  grid-template-columns:repeat(auto-fit, minmax(180px, 220px));
  justify-content:flex-start;
}
.theme-services .sr-item--card{
  min-height:104px;
  padding:14px 12px;
  background:#f7f4ef;
}
.theme-services .sr-item__icon{ width:40px; height:40px; }
.theme-services .sr-item__icon svg{ width:24px; height:24px; }

/* Un peu plus proche des modules éditoriaux du site source */
.theme-services .section-title,
.theme-services .card-title,
.theme-services .home-agenda__title,
.theme-services .sr-head__title{
  letter-spacing:-.04em;
}

.theme-services .news-card{
  background:#fcfbf8;
}
.theme-services .news-card__media{ background:#e9e4dc; }

/* Footer plus dense et plus propre */
.theme-services .site-footer--services{
  margin-top:54px;
  padding-top:26px;
}
.theme-services .services-footer__topline{
  padding-bottom:22px;
  border-bottom:1px solid rgba(34,38,52,.12);
}
.theme-services .services-footer__grid{
  padding-top:24px;
}
.theme-services .services-footer__quick-actions{
  gap:10px;
}
.theme-services .services-footer__quick-btn{
  min-height:42px;
  padding:0 16px;
}

@media (max-width: 1100px){
  .theme-services .services-header__top-inner{
    grid-template-columns:1fr;
    gap:18px;
  }

  .theme-services .services-header__actions{
    grid-template-columns:minmax(0, 1fr) 240px;
  }

  .theme-services .site-nav--services .nav-primary{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  .theme-services .services-home-grid{
    width:min(calc(100% - 40px), var(--container));
    margin:24px auto 0;
  }
}

@media (max-width: 900px){
  .theme-services .services-header__actions{
    grid-template-columns:1fr;
  }

  .theme-services .site-nav--services .nav-primary{
    grid-template-columns:1fr;
  }

  .theme-services .services-home-grid,
  .theme-services .sr-shell--home .sr-container,
  .theme-services .search-wrap,
  .theme-services .search-block,
  .theme-services .search-card,
  .theme-services .home-agenda,
  .theme-services .section > .container,
  .theme-services .section.tight > .container{
    width:min(calc(100% - 24px), var(--container));
  }

  .theme-services .home-hero{
    min-height:260px;
    height:260px;
  }
}


/* =====================================================
   HOME PORTAIL SERVICES — colonnes type source
   ===================================================== */
.theme-services .services-home{
  padding:28px 0 44px;
  max-width:100%;
  overflow-x:clip;
}
.theme-services .services-home__top,
.theme-services .services-home__columns{
  width:min(calc(100% - 40px), var(--container));
  max-width:calc(100% - 40px);
  margin:0 auto;
}
.theme-services .services-home__top{
  display:grid;
  grid-template-columns:minmax(0, 1.75fr) minmax(300px, .72fr);
  gap:28px;
  align-items:start;
}
.theme-services .services-home__top--single{
  grid-template-columns:minmax(0, 1fr);
}
.theme-services .services-home__columns{
  margin-top:22px;
}
.theme-services .services-home__columns-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:28px;
  align-items:start;
  min-width:0;
  max-width:100%;
}
.theme-services .services-home__columns-grid--cols-1{
  grid-template-columns:minmax(0, 1fr);
}
.theme-services .services-home__columns-grid--cols-2{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}
.theme-services .services-home__columns-grid--cols-3{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}
.theme-services .services-home__column{
  display:flex;
  flex-direction:column;
  gap:24px;
  min-width:0;
}
.theme-services .services-home__main,
.theme-services .services-home__side{
  display:flex;
  flex-direction:column;
  gap:24px;
  min-width:0;
}
.theme-services .services-home__column--cell{
  gap:0;
  align-self:start;
}

.theme-services .services-home-card{
  background:var(--paper);
  border:1px solid var(--border-soft);
}
.theme-services .services-home-card--news{
  min-height:430px;
}
.theme-services .services-home-card--news .services-home-card__inner{
  display:grid;
  grid-template-columns:minmax(0, 1.45fr) minmax(0, 1fr);
  min-height:430px;
}
.theme-services .services-news-portal__media{
  min-height:100%;
  overflow:hidden;
}
.theme-services .services-news-portal__cover{
  width:100%;
  height:100%;
  min-height:100%;
  aspect-ratio:auto;
  background:linear-gradient(135deg, rgba(34,38,52,.08), rgba(34,38,52,.03));
  overflow:hidden;
}
.theme-services .services-news-portal__cover.cover-4x3{
  aspect-ratio:auto;
}
.theme-services .services-news-portal__cover--empty{ min-height:100%; }
.theme-services .services-news-portal__cover img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.theme-services .services-news-portal__content{
  display:flex;
  flex-direction:column;
  min-width:0;
  background:var(--paper);
}
.theme-services .services-news-portal__head,
.theme-services .services-home-card__head{
  padding:18px 22px 12px;
  border-bottom:1px solid var(--border-soft);
}
.theme-services .services-script-title{
  margin:0;
  font-family:Georgia, 'Times New Roman', serif;
  font-style:italic;
  font-weight:500;
  font-size:clamp(26px, 2.5vw, 38px);
  letter-spacing:-.02em;
  color:var(--services-plum);
}
.theme-services .services-news-item{
  padding:18px 22px;
  border-bottom:1px solid var(--border-soft);
}
.theme-services .services-news-item.is-featured{
  background:var(--services-plum);
  color:#fff;
}
.theme-services .services-news-item__title{
  margin:0;
  font-size:22px;
  line-height:1.08;
  letter-spacing:-.03em;
  text-transform:uppercase;
}
.theme-services .services-news-item__title a{
  color:inherit;
  text-decoration:none;
}
.theme-services .services-news-item__meta{
  margin-top:12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-size:14px;
  color:rgba(34,38,52,.72);
}
.theme-services .services-news-item.is-featured .services-news-item__meta{
  color:rgba(255,255,255,.88);
}
.theme-services .services-news-item__meta a{
  color:inherit;
  text-decoration:none;
}
.theme-services .services-news-item__meta a:hover,
.theme-services .services-news-item__title a:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}
.theme-services .services-news-portal__all{
  margin-top:auto;
  padding:16px 22px 18px;
  text-align:right;
  font-size:13px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.theme-services .services-news-portal__all a{
  color:inherit;
  text-decoration:none;
}
.theme-services .services-news-portal__empty{
  padding:24px 22px;
  color:var(--muted);
}

.theme-services .services-home-card--quick{
  background:#f7f4ef;
}
.theme-services .services-home-card--quick .services-home-card__body{
  padding:14px 18px 18px;
}
.theme-services .services-home-card--quick .sr-shell--home{
  padding:0;
}
.theme-services .services-home-card--quick .sr-container{
  width:100%;
  padding:0;
  min-height:0;
}
.theme-services .services-home-card--quick .sr-head{
  display:none;
}
.theme-services .services-home-card--quick .sr-grid--cards{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}
.theme-services .services-home-card--quick .sr-item--card{
  min-height:132px;
  padding:16px 10px 14px;
  border:1px solid rgba(34,38,52,.12);
  background:#fff;
  align-items:center;
  text-align:center;
}
.theme-services .services-home-card--quick .sr-item__icon{
  width:40px;
  height:40px;
  margin-bottom:10px;
  color:rgba(34,38,52,.42);
}
.theme-services .services-home-card--quick .sr-item__icon svg{
  width:24px;
  height:24px;
}
.theme-services .services-home-card--quick .sr-item__label{
  font-size:14px;
  font-weight:700;
  line-height:1.25;
}
.theme-services .services-home-card--quick .sr-item__subtitle{
  display:none;
}
.theme-services .services-home-card__links{
  display:grid;
  gap:12px;
  padding:0 18px 18px;
}
.theme-services .services-home-card__links a{
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 14px;
  background:#dedbd5;
  color:var(--ink);
  text-decoration:none;
  font-weight:900;
  font-size:15px;
  text-transform:uppercase;
}
.theme-services .services-home-card__links a::after{
  content:'▾';
  font-size:14px;
  opacity:.72;
}

/* Colonnes secondaires */
.theme-services :is(.services-home__main, .services-home__side, .services-home__column) > .section,
.theme-services :is(.services-home__main, .services-home__side, .services-home__column) > .section.tight,
.theme-services :is(.services-home__main, .services-home__side, .services-home__column) > .home-agenda,
.theme-services :is(.services-home__main, .services-home__side, .services-home__column) > .sr-shell--home,
.theme-services :is(.services-home__main, .services-home__side, .services-home__column) > .services-home-card,
.theme-services :is(.services-home__main, .services-home__side, .services-home__column) > .card{
  width:100%;
  margin:0;
  padding:0;
}
.theme-services :is(.services-home__main, .services-home__side, .services-home__column) .section > .container,
.theme-services :is(.services-home__main, .services-home__side, .services-home__column) .section.tight > .container,
.theme-services :is(.services-home__main, .services-home__side, .services-home__column) .home-agenda,
.theme-services :is(.services-home__main, .services-home__side, .services-home__column) .sr-container{
  width:100%;
  max-width:none;
  padding:0;
}
.theme-services :is(.services-home__main, .services-home__side, .services-home__column) .section-head{
  margin:0 0 10px;
}
.theme-services :is(.services-home__main, .services-home__side, .services-home__column) .section-title,
.theme-services :is(.services-home__main, .services-home__side, .services-home__column) .home-agenda__title{
  margin:0;
  font-family:Georgia, 'Times New Roman', serif;
  font-style:italic;
  font-weight:500;
  font-size:clamp(24px, 2.2vw, 34px);
  letter-spacing:-.02em;
  color:var(--services-plum);
}
.theme-services :is(.services-home__main, .services-home__side, .services-home__column) .card,
.theme-services :is(.services-home__main, .services-home__side, .services-home__column) .panel,
.theme-services :is(.services-home__main, .services-home__side, .services-home__column) .widget-card,
.theme-services :is(.services-home__main, .services-home__side, .services-home__column) .news-card,
.theme-services :is(.services-home__main, .services-home__side, .services-home__column) .agenda-event{
  background:var(--paper);
  border:1px solid var(--border-soft);
}
.theme-services :is(.services-home__main, .services-home__side, .services-home__column) .home-agenda__hd{
  margin-bottom:12px;
}
.theme-services :is(.services-home__main, .services-home__side, .services-home__column) .home-agenda .agenda-event + .agenda-event{
  margin-top:10px;
}
.theme-services :is(.services-home__main, .services-home__side, .services-home__column) .news-list{
  grid-template-columns:1fr !important;
}
.theme-services :is(.services-home__main, .services-home__side, .services-home__column) .news-card{
  grid-template-columns:1fr;
}
.theme-services :is(.services-home__main, .services-home__side, .services-home__column) .news-card__body{
  padding:14px 16px 16px;
}

/* On ne garde pas la recherche home dans ce thème : la recherche vit dans le header */
.theme-services .services-home .search-section,
.theme-services .services-home .search-wrap,
.theme-services .services-home .search-block,
.theme-services .services-home .search-card{
  display:none !important;
}

/* Hero standalone masqué sur la home services : l'entrée se fait par les actus */
.theme-services .services-home .home-hero,
.theme-services .services-home .hero-below{
  display:none !important;
}

@media (max-width: 1100px){
  .theme-services .services-home__top,
  .theme-services .services-home__columns-grid{
    grid-template-columns:1fr;
  }
  .theme-services .services-home-card--news .services-home-card__inner{
    grid-template-columns:1fr;
    min-height:0;
  }
  .theme-services .services-news-portal__media{
    min-height:260px;
  }
  .theme-services .services-home-card--quick .sr-grid--cards{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 900px){
  .theme-services .services-header__quick-menu{
    min-width:0;
    width:100%;
  }
}

@media (max-width: 760px){
  .theme-services .services-home{
    padding:20px 0 36px;
  }
  .theme-services .services-home__top,
  .theme-services .services-home__columns{
    width:min(calc(100% - 24px), var(--container));
    max-width:calc(100% - 24px);
  }
  .theme-services .services-news-item__title{
    font-size:18px;
  }
  .theme-services .services-home-card--quick .sr-grid--cards{
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
  .theme-services .services-home-card__links{
    gap:10px;
  }
}


@media (max-width: 1180px){
  .theme-services .site-header--services .site-nav--services .nav-subtitle{
    display:none;
  }
  .theme-services .site-header--services .site-nav--services .nav-primary > a,
  .theme-services .site-header--services .site-nav--services .nav-group-link{
    min-height:62px;
    justify-content:center;
    padding:8px 10px 9px;
  }
  .theme-services .site-header--services .site-nav--services .nav-label{
    font-size:clamp(13px, 1.2vw, 16px);
    line-height:1.02;
  }
  .theme-services .site-header--services .site-nav--services .nav-label--compact{
    font-size:clamp(12px, 1vw, 14px);
  }
  .theme-services .site-header--services .site-nav--services .nav-group-caret{
    bottom:10px;
    width:10px;
    height:7px;
  }
  .theme-services .site-header--services .site-nav--services .nav-group-caret svg{
    width:10px;
    height:7px;
  }
}


/* === Final patch: news visual, quick actions, footer modal === */
.theme-services .services-header__portal{ position:relative; width:100%; }
.theme-services .services-header__portal-btn{ width:100%; }
.theme-services .services-header__quick-menu{
  left:0;
  right:0;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  top:100% !important;
  margin-top:0 !important;
  box-sizing:border-box;
}
.theme-services .services-header__quick-links{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
}
.theme-services .services-header__quick-link,
.theme-services .services-header__quick-link--button{
  width:100%;
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  align-items:center;
  gap:14px;
  padding:14px 18px;
  color:#fff;
  text-decoration:none;
  background:transparent;
  border:0;
  border-top:1px solid rgba(255,255,255,.18);
  appearance:none;
  -webkit-appearance:none;
  border-radius:0;
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.theme-services .services-header__quick-link:first-child,
.theme-services .services-header__quick-link--button:first-child{
  border-top:0;
}
.theme-services .services-header__quick-link-icon{
  width:38px;
  height:38px;
  flex:0 0 38px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.14);
  color:#fff;
}
.theme-services .services-header__quick-link-icon svg{
  width:24px;
  height:24px;
  display:block;
  fill:currentColor;
}
.theme-services .services-header__quick-link-text{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.theme-services .services-header__quick-link-label{
  display:block;
  font-size:15px;
  font-weight:900;
  line-height:1.1;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.theme-services .services-header__quick-link-subtitle{
  display:block;
  font-size:12px;
  line-height:1.2;
  color:rgba(255,255,255,.78);
  text-transform:none;
}
.theme-services .services-header__quick-link:hover,
.theme-services .services-header__quick-link:focus-visible,
.theme-services .services-header__quick-link--button:hover,
.theme-services .services-header__quick-link--button:focus-visible{
  background:rgba(255,255,255,.10);
}

.theme-services .services-news-portal__media{
  position:relative;
  min-height:100%;
  overflow:hidden;
}
.theme-services .services-news-portal__media-link{
  display:block;
  width:100%;
  height:100%;
  min-height:100%;
  color:inherit;
  text-decoration:none;
}
.theme-services .services-news-portal__cover{
  position:relative;
  width:100%;
  height:100%;
  min-height:100%;
  overflow:hidden;
  background:linear-gradient(135deg, rgba(34,38,52,.08), rgba(34,38,52,.03));
}
.theme-services .services-news-portal__cover-layer{
  position:absolute;
  inset:0;
  background-repeat:no-repeat;
  background-size:cover;
  background-position:50% 50%;
  opacity:0;
  transition:opacity .34s ease;
  will-change:opacity;
}
.theme-services .services-news-portal__cover-layer.is-current{ opacity:1; }
.theme-services .services-news-item{
  position:relative;
  overflow:hidden;
  transition:color .22s ease, border-color .22s ease;
}
.theme-services .services-news-item::before{
  content:"";
  position:absolute;
  inset:0;
  background:var(--services-plum);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .28s ease;
  z-index:0;
}
.theme-services .services-news-item > *{ position:relative; z-index:1; }
.theme-services .services-news-item.is-active::before,
.theme-services .services-news-item:hover::before,
.theme-services .services-news-item:focus-within::before{
  transform:scaleX(1);
}
.theme-services .services-news-item.is-featured{ background:transparent; }
.theme-services .services-news-item.is-featured .services-news-item__meta{ color:rgba(34,38,52,.72); }
.theme-services .services-news-item.is-active,
.theme-services .services-news-item:hover,
.theme-services .services-news-item:focus-within{ color:#fff; }
.theme-services .services-news-item.is-active .services-news-item__meta,
.theme-services .services-news-item:hover .services-news-item__meta,
.theme-services .services-news-item:focus-within .services-news-item__meta,
.theme-services .services-news-item.is-active .services-news-item__meta a,
.theme-services .services-news-item:hover .services-news-item__meta a,
.theme-services .services-news-item:focus-within .services-news-item__meta a,
.theme-services .services-news-item.is-active .services-news-item__title a,
.theme-services .services-news-item:hover .services-news-item__title a,
.theme-services .services-news-item:focus-within .services-news-item__title a{ color:#fff; }

.theme-services .services-quick-modal{
  position:fixed;
  inset:0;
  z-index:160;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.theme-services .services-quick-modal[hidden]{ display:none !important; }
.theme-services .services-quick-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(20,24,32,.58);
  backdrop-filter:blur(2px);
}
.theme-services .services-quick-modal__dialog{
  position:relative;
  z-index:1;
  width:min(860px, calc(100vw - 40px));
  background:var(--paper);
  border:1px solid rgba(34,38,52,.16);
  box-shadow:0 26px 60px rgba(20,24,32,.22);
}
.theme-services .services-quick-modal__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:22px 24px;
  border-bottom:1px solid rgba(34,38,52,.10);
}
.theme-services .services-quick-modal__title{
  margin:0;
  color:var(--ink);
  font-family:"Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  font-size:24px;
  font-weight:900;
  letter-spacing:-.02em;
}
.theme-services .services-quick-modal__close{
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(34,38,52,.12);
  background:transparent;
  color:var(--ink);
  font-size:32px;
  line-height:1;
  cursor:pointer;
}
.theme-services .services-quick-modal__body{ padding:24px; }
.theme-services .services-quick-modal__grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
}
.theme-services .services-quick-modal__item{
  min-height:180px;
  padding:20px 18px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:14px;
  background:var(--bg);
  border:1px solid rgba(34,38,52,.12);
  color:var(--ink);
  text-decoration:none;
  text-align:center;
  appearance:none;
  -webkit-appearance:none;
  border-radius:0;
  font:inherit;
  cursor:pointer;
  position:relative;
  overflow:hidden;
}
.theme-services .services-quick-modal__item::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(15,139,160,.08), rgba(15,139,160,0));
  opacity:0;
  transition:opacity .2s ease;
}
.theme-services .services-quick-modal__item:hover,
.theme-services .services-quick-modal__item:focus-visible{
  border-color:rgba(15,139,160,.34);
  transform:translateY(-1px);
}
.theme-services .services-quick-modal__item:hover::before,
.theme-services .services-quick-modal__item:focus-visible::before{ opacity:1; }
.theme-services .services-quick-modal__item > *{ position:relative; z-index:1; }
.theme-services .services-quick-modal__item-icon{
  width:72px;
  height:72px;
  flex:0 0 72px;
  border-radius:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(15,139,160,.12);
  color:var(--services-teal);
}
.theme-services .services-quick-modal__item-icon svg{
  width:38px;
  height:38px;
  display:block;
  fill:currentColor;
}
.theme-services .services-quick-modal__item-text{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
}
.theme-services .services-quick-modal__item-label{
  font-size:18px;
  line-height:1.12;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.theme-services .services-quick-modal__item-subtitle{
  font-size:13px;
  line-height:1.25;
  color:rgba(34,38,52,.72);
}
.theme-services.services-quick-modal-open,
body.theme-services.services-quick-modal-open{ overflow:hidden; }

@media (max-width: 900px){
  .theme-services .services-header__quick-menu{ width:100% !important; }
  .theme-services .services-quick-modal__grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px){
  .theme-services .services-quick-modal{ padding:14px; }
  .theme-services .services-quick-modal__dialog{ width:min(100%, calc(100vw - 20px)); }
  .theme-services .services-quick-modal__body{ padding:16px; }
  .theme-services .services-quick-modal__grid{ grid-template-columns:1fr; }
  .theme-services .services-quick-modal__item{ min-height:160px; }
  .theme-services .services-quick-modal__item-icon{ width:64px; height:64px; flex-basis:64px; }
  .theme-services .services-quick-modal__item-icon svg{ width:34px; height:34px; }
}


/* === Repair patch: news image fallback === */
.theme-services .services-news-portal__cover{
  background-repeat:no-repeat;
  background-size:cover;
  background-position:50% 50%;
}
.theme-services .services-news-portal__cover-layer{
  pointer-events:none;
}


/* === Services theme cleanup: current header search + exact quick menu === */
.theme-services .brand-title--services{ display:none !important; }

@media (max-width: 1100px){
  .theme-services .services-header__actions{
    grid-template-columns:minmax(0, 1fr) 240px;
  }
  .theme-services .services-header__search-form{
    grid-template-columns:minmax(0, 1fr) 160px;
  }
}

@media (max-width: 900px){
  .theme-services .services-header__top-inner{
    grid-template-columns:1fr;
    gap:18px;
  }
  .theme-services .services-header__tools{
    width:100%;
  }
  .theme-services .services-header__utility{
    justify-content:flex-start;
  }
  .theme-services .services-header__actions{
    grid-template-columns:1fr;
  }
  .theme-services .services-header__portal{
    width:100%;
  }
  .theme-services .services-header__search-form{
    grid-template-columns:minmax(0, 1fr) 150px;
  }
}

@media (max-width: 640px){
  .theme-services .services-header__search-form{
    grid-template-columns:1fr;
  }
  .theme-services .services-header__search-form input[type="search"]{
    border-right:1px solid rgba(34,38,52,.12);
  }
  .theme-services .services-header__search-form button{
    width:100%;
  }
  .theme-services .services-header__quick-menu{
    top:100% !important;
  }
}

.theme-services .services-header__search-form button span{ white-space:nowrap; }

/* =====================================================
   FINAL MOBILE TUNE — header compact + hamburger lisible
   ===================================================== */
@media (max-width: 960px){
  .theme-services .site-header--services{
    backdrop-filter:none;
  }

  .theme-services .services-header__top{
    padding:8px 0;
  }

  .theme-services .services-header__top-inner{
    grid-template-columns:minmax(0, 1fr) 48px;
    gap:12px;
    align-items:center;
  }

  .theme-services .brand--services{
    min-height:0;
    align-items:center;
  }

  .theme-services .brand--services .brand-logo{
    height:56px;
    max-width:min(240px, calc(100vw - 96px));
  }

  .theme-services .services-header__nav{
    display:none;
    border:0;
    position:absolute;
    left:0;
    right:0;
    top:100%;
    z-index:45;
    background:transparent;
  }

  .theme-services .site-header--services.is-open .services-header__nav{
    display:block;
  }

  .theme-services .nav-toggle{
    display:inline-flex;
    justify-self:end;
    width:48px;
    height:48px;
    padding:0;
    border:0;
    border-radius:0;
    background:var(--services-plum);
    color:#fff;
    box-shadow:0 10px 22px rgba(34,38,52,.16);
  }

  .theme-services .nav-toggle__bars{
    gap:5px;
    transition:transform .18s ease;
  }

  .theme-services .nav-toggle__bars span{
    width:22px;
    height:2.5px;
    border-radius:999px;
    transition:transform .18s ease, opacity .18s ease;
  }

  .theme-services .site-header--services.is-open .nav-toggle{
    background:var(--services-teal);
  }

  .theme-services .site-header--services.is-open .nav-toggle__bars span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
  }

  .theme-services .site-header--services.is-open .nav-toggle__bars span:nth-child(2){
    opacity:0;
  }

  .theme-services .site-header--services.is-open .nav-toggle__bars span:nth-child(3){
    transform:translateY(-8px) rotate(-45deg);
  }

  .theme-services .site-header--services.is-open .site-nav--services{
    display:block;
    position:static;
    margin:6px 10px 0;
    padding:10px;
    background:var(--paper);
    border:1px solid rgba(34,38,52,.12);
    box-shadow:0 16px 32px rgba(34,38,52,.14);
  }

  .theme-services .site-nav--services .nav-primary{
    gap:8px;
  }

  .theme-services .site-nav--services .nav-primary > a,
  .theme-services .site-nav--services .nav-group-link{
    min-height:0;
    padding:14px 12px;
    border:1px solid rgba(34,38,52,.12);
    background:#fff;
    color:var(--ink);
  }

  .theme-services .site-header--services.is-open .site-nav--services a,
  .theme-services .site-header--services.is-open .site-nav--services .nav-primary > a,
  .theme-services .site-header--services.is-open .site-nav--services .nav-group-link,
  .theme-services .site-header--services.is-open .site-nav--services .nav-primary > a .nav-label,
  .theme-services .site-header--services.is-open .site-nav--services .nav-group-link .nav-label,
  .theme-services .site-header--services.is-open .site-nav--services .nav-group-link .nav-group-caret{
    color:var(--ink) !important;
  }

  .theme-services .site-nav--services .nav-group-link.is-active,
  .theme-services .site-nav--services .nav-group.is-active > .nav-group-link,
  .theme-services .site-nav--services .nav-primary > a.is-active{
    color:var(--services-plum);
    border-color:rgba(111,31,87,.24);
    background:rgba(111,31,87,.04);
  }

  .theme-services .site-nav--services .nav-group.is-open > .nav-group-link{
    color:var(--services-plum) !important;
    border-color:rgba(111,31,87,.24);
    background:rgba(111,31,87,.04);
  }

  .theme-services .site-nav--services .nav-group.is-open > .nav-group-link .nav-label,
  .theme-services .site-nav--services .nav-group.is-open > .nav-group-link .nav-group-caret,
  .theme-services .site-nav--services .nav-group-link.is-active .nav-label,
  .theme-services .site-nav--services .nav-group.is-active > .nav-group-link .nav-label,
  .theme-services .site-nav--services .nav-group.is-active > .nav-group-link .nav-group-caret{
    color:var(--services-plum) !important;
  }

  .theme-services .site-nav--services .nav-label{
    font-size:15px;
    line-height:1.06;
  }

  .theme-services .site-nav--services .nav-subtitle{
    display:none;
  }

  .theme-services .site-nav--services .nav-submenu{
    margin-top:6px;
    padding:6px;
    background:#fff;
    border:1px solid rgba(34,38,52,.10);
  }

  .theme-services .site-nav--services .nav-submenu a{
    padding:10px 12px;
    font-size:13px;
    color:var(--ink) !important;
  }
}

@media (max-width: 640px){
  .theme-services .services-header__top{
    padding:6px 0;
  }

  .theme-services .services-header__top-inner{
    grid-template-columns:minmax(0, 1fr) 44px;
    gap:10px;
  }

  .theme-services .brand--services .brand-logo{
    height:52px;
    max-width:min(210px, calc(100vw - 82px));
  }

  .theme-services .nav-toggle{
    width:44px;
    height:44px;
  }

  .theme-services .site-header--services.is-open .site-nav--services{
    margin:4px 8px 0;
    padding:8px;
  }

  .theme-services .site-nav--services .nav-primary > a,
  .theme-services .site-nav--services .nav-group-link{
    padding:13px 10px;
  }
}

/* =====================================================
   WEATHER (services theme refinement)
   ===================================================== */
.theme-services .meteo-page__title{
  color:var(--services-plum);
  font-family:Georgia, "Times New Roman", serif;
  font-style:italic;
  font-size:clamp(44px, 5vw, 66px);
  letter-spacing:-.03em;
  line-height:1;
  font-weight:400;
}
.theme-services .meteo-page__location{
  margin-top:8px;
  color:var(--muted);
  font-size:16px;
  letter-spacing:.01em;
}
.theme-services .meteo-card{
  border:1px solid rgba(34,38,52,.14);
  border-radius:0;
  box-shadow:none;
}
.theme-services .meteo-card--current{
  border-left:6px solid var(--primary);
  border-right:6px solid var(--secondary);
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,240,232,.92));
}
.theme-services .meteo-current__status{
  color:var(--services-plum);
  font-family:Georgia, "Times New Roman", serif;
  font-style:italic;
  font-size:clamp(28px, 2.8vw, 42px);
  font-weight:400;
}
.theme-services .meteo-current__line{
  font-size:15px;
  line-height:1.3;
}
.theme-services .meteo-current__temp{
  gap:12px;
  color:var(--secondary);
}
.theme-services .meteo-current__value{
  font-family:"Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  font-size:clamp(38px, 4.2vw, 62px);
  letter-spacing:.01em;
  text-transform:uppercase;
}
.theme-services .meteo-current__icon{
  font-size:58px;
  width:88px;
  height:88px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(15,139,160,.12));
  border:2px solid rgba(15,139,160,.32);
  box-shadow:0 10px 22px rgba(34,38,52,.14);
}

.theme-services .meteo-card--forecast{
  border:1px solid rgba(34,38,52,.16);
}
.theme-services .meteo-forecast__title{
  padding:16px 18px 14px;
  background:linear-gradient(90deg, var(--primary), var(--secondary));
  color:rgb(var(--on-primary-rgb));
  font-family:"Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  font-size:21px;
  line-height:1;
  letter-spacing:.08em;
  font-weight:900;
  text-transform:uppercase;
}
.theme-services .meteo-forecast__grid{
  grid-template-columns:repeat(auto-fit, minmax(172px, 1fr));
}
.theme-services .meteo-day{
  min-height:270px;
  padding:18px 12px 16px;
  border-top:1px solid rgba(34,38,52,.12);
  border-right:1px solid rgba(34,38,52,.12);
  background:linear-gradient(180deg, #fff, rgba(15,139,160,.06));
}
.theme-services .meteo-day__label{
  color:var(--secondary);
  font-family:"Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  font-size:24px;
  line-height:1.04;
  letter-spacing:.01em;
  font-weight:900;
  text-transform:uppercase;
}
.theme-services .meteo-day__icon{
  margin:16px 0 14px;
  font-size:60px;
  width:94px;
  height:94px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(37,99,235,.14));
  border:2px solid rgba(37,99,235,.22);
  box-shadow:0 10px 20px rgba(34,38,52,.12);
}
.theme-services .meteo-day__max{
  color:var(--secondary);
  font-family:"Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  font-size:36px;
  line-height:1;
  letter-spacing:.01em;
  font-weight:900;
  text-transform:uppercase;
}
.theme-services .meteo-day__min{
  margin-top:6px;
  color:rgba(34,38,52,.72);
  font-size:24px;
  line-height:1.02;
  letter-spacing:.01em;
  font-weight:700;
}
.theme-services .meteo-day__desc{
  margin-top:12px;
  color:var(--muted);
  font-size:16px;
  line-height:1.2;
}
.theme-services .meteo-source{
  color:var(--muted);
  font-size:14px;
}

@media (max-width: 900px){
  .theme-services .meteo-day{
    min-height:232px;
    padding:16px 10px 14px;
  }
  .theme-services .meteo-day__label{ font-size:20px; }
  .theme-services .meteo-day__icon{
    width:80px;
    height:80px;
    font-size:50px;
  }
  .theme-services .meteo-day__max{ font-size:30px; }
  .theme-services .meteo-day__min{ font-size:20px; }
}

@media (max-width: 640px){
  .theme-services .meteo-page__title{
    font-size:clamp(34px, 9.5vw, 46px);
  }
  .theme-services .meteo-current__icon{
    width:72px;
    height:72px;
    font-size:46px;
  }
  .theme-services .meteo-current__value{
    font-size:clamp(32px, 8vw, 44px);
  }
}

/* =====================================================
   Mobile nav polish — compact drawer + submenu grids
   ===================================================== */
@media (max-width: 960px){
  .theme-services .services-header__nav{
    top:100%;
    z-index:160;
    background:transparent;
  }

  .theme-services .site-header--services.is-open .site-nav--services{
    position:static;
    display:block;
    width:auto;
    margin:0 16px;
    padding:8px;
    max-height:calc(100dvh - 84px);
    overflow:auto;
    overscroll-behavior:contain;
    background:#fff;
    border:1px solid rgba(34,38,52,.10);
    border-top:0;
    border-radius:0 0 20px 20px;
    box-shadow:0 18px 42px rgba(34,38,52,.16);
  }

  .theme-services .site-nav--services .nav-primary{
    gap:4px;
    align-items:stretch;
  }

  .theme-services .site-nav--services .nav-primary > a,
  .theme-services .site-nav--services .nav-group-link{
    position:relative;
    min-height:54px;
    padding:0 48px 0 18px;
    justify-content:flex-start;
    text-align:left;
    border:0;
    border-left:3px solid transparent;
    border-radius:14px;
    background:transparent;
    color:var(--ink);
  }

  .theme-services .site-nav--services .nav-primary > a:hover,
  .theme-services .site-nav--services .nav-group-link:hover{
    background:rgba(34,38,52,.035);
  }

  .theme-services .site-nav--services .nav-primary > a.is-active,
  .theme-services .site-nav--services .nav-group-link.is-active,
  .theme-services .site-nav--services .nav-group.is-active > .nav-group-link,
  .theme-services .site-nav--services .nav-group.is-open > .nav-group-link{
    background:rgba(111,31,87,.055);
    border-left-color:var(--services-plum);
    color:var(--services-plum) !important;
  }

  .theme-services .site-nav--services .nav-primary > a.is-active .nav-label,
  .theme-services .site-nav--services .nav-group-link.is-active .nav-label,
  .theme-services .site-nav--services .nav-group.is-active > .nav-group-link .nav-label,
  .theme-services .site-nav--services .nav-group.is-open > .nav-group-link .nav-label{
    color:var(--services-plum) !important;
  }

  .theme-services .site-nav--services .nav-label{
    width:100%;
    font-size:14px;
    line-height:1.12;
    letter-spacing:.055em;
    text-align:left;
    text-transform:uppercase;
  }

  .theme-services .site-nav--services .nav-label--compact{
    max-width:none;
    white-space:normal;
  }

  .theme-services .site-nav--services .nav-group-caret{
    position:absolute;
    right:16px;
    top:50%;
    bottom:auto;
    transform:translateY(-50%);
    width:18px;
    height:18px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:rgba(34,38,52,.72) !important;
  }

  .theme-services .site-nav--services .nav-group.is-open > .nav-group-link .nav-group-caret{
    color:var(--services-plum) !important;
  }

  .theme-services .site-nav--services .nav-submenu{
    position:static;
    display:none;
    width:100% !important;
    max-width:none;
    max-height:none !important;
    margin:4px 0 8px;
    padding:0 0 0 18px;
    overflow:visible;
    background:transparent;
    border:0;
    box-shadow:none;
    transform:none;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    grid-auto-flow:row;
    grid-template-rows:none;
    gap:8px;
  }

  .theme-services .site-nav--services .nav-group.is-open > .nav-submenu{
    display:grid;
  }

  .theme-services .site-nav--services .nav-submenu a{
    min-height:42px;
    padding:10px 12px;
    display:flex;
    align-items:flex-start;
    justify-content:flex-start;
    text-align:left;
    border:1px solid rgba(34,38,52,.09);
    border-radius:12px;
    background:#fafafa;
    color:var(--ink) !important;
    font-size:13px;
    font-weight:800;
    line-height:1.25;
    letter-spacing:0;
    text-transform:none;
    white-space:normal;
    overflow-wrap:anywhere;
    text-decoration:none;
  }

  .theme-services .site-nav--services .nav-submenu a:hover,
  .theme-services .site-nav--services .nav-submenu a:focus-visible,
  .theme-services .site-nav--services .nav-submenu a.is-active{
    background:rgba(111,31,87,.055);
    border-color:rgba(111,31,87,.18);
    color:var(--services-plum) !important;
  }
}

@media (min-width: 520px) and (max-width: 960px){
  .theme-services .site-nav--services .nav-submenu{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 519px){
  .theme-services .site-header--services.is-open .site-nav--services{
    margin:0 10px;
    max-height:calc(100dvh - 76px);
  }

  .theme-services .site-nav--services .nav-primary > a,
  .theme-services .site-nav--services .nav-group-link{
    min-height:50px;
    padding-left:16px;
    padding-right:44px;
  }

  .theme-services .site-nav--services .nav-submenu{
    grid-template-columns:1fr;
    padding-left:14px;
  }
}
