/* Maison Ilé Ifè — V9.2 footer MOBILE FIRST
   Conçu pour 280–430 px en priorité, puis élargi vers tablette et ordinateur.
   Aucune source extérieure; logos et icônes SVG locaux, fonds unis. */
.footer.footer--v91 {
  --foot-bg:#071f16; --foot-surface:#103528; --foot-text:#f9fcf9;
  --foot-muted:#d2dfd6; --foot-dim:#b9cbbf;
  --foot-rule:#365649; --foot-accent:#b65238; --foot-orange:#ffb59c;
  position:relative; background:var(--foot-bg)!important; color:var(--foot-text);
  padding:0 0 calc(106px + env(safe-area-inset-bottom, 0px));
  text-align:left;
}
.footer--v91 *, .footer--v91 *::before, .footer--v91 *::after{box-sizing:border-box}
.footer--v91 .wrap{width:100%;max-width:calc(1200px + var(--gutter) * 2);min-width:0}
.footer--v91 .footer__lattice{height:19px;opacity:1;pointer-events:none}
.footer--v91 .ui-icon{width:19px;height:19px;flex:0 0 19px;stroke-width:1.8}
.footer--v91 a{text-decoration:none;color:var(--foot-text)}
.footer--v91 a:hover{color:#fff;text-decoration:none}
.footer--v91 a:focus-visible{outline:3px solid #ffc2a7;outline-offset:3px}

/* Small phone first: project statement and two clear calls to action. */
.footer--v91 .footer__intro{
  display:grid;grid-template-columns:minmax(0,1fr);gap:21px;
  padding:30px 0 29px;border-bottom:1px solid var(--foot-rule);
}
.footer--v91 .footer__intro-copy{min-width:0}
.footer--v91 .footer__eyebrow{
  display:flex;align-items:center;gap:9px;margin:0 0 9px;
  font-size:.76rem;line-height:1.45;letter-spacing:.11em;
  font-weight:800;color:var(--foot-orange);
}
.footer--v91 .footer__eyebrow .ui-icon{color:var(--foot-orange)}
.footer--v91 .footer__intro-title{
  font-family:var(--f-display,Georgia,serif);font-size:clamp(1.65rem,7.1vw,2.15rem);
  font-weight:400;letter-spacing:-.023em;line-height:1.14;
  color:#fff;overflow-wrap:break-word;
}
.footer--v91 .footer__intro-sub{margin:9px 0 0;color:var(--foot-muted);font-size:.95rem;line-height:1.55}
.footer--v91 .footer__actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0}
.footer--v91 .footer__action{
  display:flex;align-items:center;justify-content:center;gap:11px;
  width:100%;min-width:0;min-height:50px;padding:12px 16px;
  border:1px solid transparent;border-radius:7px;
  line-height:1.4;font-size:.92rem;font-weight:750;text-align:center;
  overflow-wrap:anywhere;white-space:normal;
  transition:background-color .2s ease,border-color .2s ease;
}
.footer--v91 .footer__action span{min-width:0}
.footer--v91 .footer__action--primary{background:var(--foot-accent);border-color:var(--foot-accent);color:#fff}
.footer--v91 .footer__action--primary:hover{background:#9b432d;border-color:#9b432d;color:#fff}
.footer--v91 .footer__action--outline{background:#123a2b;border-color:#668171;color:#fff}
.footer--v91 .footer__action--outline:hover{background:#194b38;border-color:#b4cebc;color:#fff}

/* Real semantic reading order on a phone: brand → contact → project → documents. */
.footer--v91 .footer__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0;padding:26px 0 21px}
.footer--v91 .footer__grid > *{min-width:0;max-width:100%}
.footer--v91 :is(.footer__identity,.footer__contact,.footer__nav,.footer__resources){padding:0 0 24px;margin:0 0 24px;border-bottom:1px solid var(--foot-rule)}
.footer--v91 .footer__resources{margin:0;padding-bottom:0;border:0}
.footer--v91 .footer__identity{display:flex;flex-direction:column;align-items:flex-start}
.footer--v91 .footer__logo{display:block;width:164px;max-width:100%;height:auto;object-fit:contain;object-position:left center}
.footer--v91 .footer__tag{max-width:42ch;margin:11px 0 10px;line-height:1.55;font-size:.92rem;color:var(--foot-muted)}
.footer--v91 .footer__brand-site{display:inline-flex;align-items:center;gap:9px;min-height:48px;max-width:100%;font-size:.86rem;line-height:1.45;font-weight:750;color:var(--foot-orange)}
.footer--v91 .footer__brand-site:hover{color:#fff}
.footer--v91 .footer__brand-site .ui-icon{width:16px;height:16px;flex:0 0 16px;color:var(--foot-orange)}
.footer--v91 .footer__brand-site span{min-width:0;overflow-wrap:anywhere}
.footer--v91 .footer__h{margin:0 0 12px;font-family:var(--f-text,system-ui,sans-serif);font-weight:800;font-size:1.03rem;line-height:1.45;color:#fff}

/* Contact details are the primary utility of the footer on mobile. */
.footer--v91 .footer__contacts{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;font-style:normal}
.footer--v91 .footer__contact-item{
  display:flex!important;align-items:center!important;gap:12px;
  min-height:49px;padding:8px 0;font-size:.91rem;line-height:1.5;
  color:var(--foot-muted);min-width:0;
}
.footer--v91 .footer__contact-item > span:last-child{min-width:0;overflow-wrap:anywhere}
.footer--v91 a.footer__contact-item:hover{color:#fff}
.footer--v91 .footer__contact-icon{
  display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;
  border:1px solid #446653;border-radius:8px;background:var(--foot-surface);color:var(--foot-orange)
}
.footer--v91 .footer__contact-icon .ui-icon{width:17px;height:17px;flex-basis:17px}

/* No compressed mini-columns: grid adapts to available inline space. */
.footer--v91 .footer__links{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));gap:2px 15px;padding:0;margin:0;list-style:none}
.footer--v91 .footer__links li{margin:0;padding:0;min-width:0}
.footer--v91 .footer__links a{display:flex;align-items:center;gap:11px;min-height:48px;padding:11px 0;font-size:.9rem;line-height:1.5;color:var(--foot-muted);overflow-wrap:anywhere}
.footer--v91 .footer__links a .ui-icon{width:18px;height:18px;flex:0 0 18px;color:var(--foot-orange)}
.footer--v91 .footer__links a span{min-width:0}
.footer--v91 .footer__links a:hover{color:#fff}

/* Complete original legal text, readable on phone. */
.footer--v91 .footer__disclaimer{
  display:flex;align-items:flex-start;gap:12px;padding:17px 15px;
  background:#0c2e22;border:1px solid var(--foot-rule);border-left:3px solid #df8162;
  border-radius:7px;
}
.footer--v91 .footer__disclaimer > .ui-icon{flex:0 0 19px;color:var(--foot-orange);margin-top:3px}
.footer--v91 .footer__disclaimer p{min-width:0;max-width:100%;margin:0;color:#e1eee4;font-size:.86rem;line-height:1.72;overflow-wrap:anywhere}
.footer--v91 .footer__bottom{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-top:22px;padding:22px 0 0;border-top:1px solid var(--foot-rule)}
.footer--v91 .footer__bottom-copy{min-width:0}
.footer--v91 .footer__bottom-copy p{margin:0;color:var(--foot-dim);font-size:.82rem;line-height:1.7;overflow-wrap:anywhere}
.footer--v91 .footer__bottom-copy p+p{margin-top:7px}
.footer--v91 .footer__backtop{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:11px 14px;border:1px solid #6b8a78;border-radius:6px;line-height:1.35;font-size:.87rem;font-weight:750;color:#fff}
.footer--v91 .footer__backtop .ui-icon{width:17px;height:17px;flex:0 0 17px;color:var(--foot-orange)}
.footer--v91 .footer__backtop:hover{background:#164331;color:#fff}

/* Wider small phones: actions can share a row only when both labels fit. */
@media(min-width:510px){
  .footer--v91 .footer__actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer--v91 .footer__bottom{flex-direction:row;justify-content:space-between;align-items:flex-end}
}

/* Tablets: two editorial columns, consistent reading order. */
@media(min-width:700px){
  .footer.footer--v91{padding-bottom:32px}
  .footer--v91 .footer__intro{padding:37px 0 34px}
  .footer--v91 .footer__intro-title{font-size:clamp(2rem,3.5vw,2.65rem)}
  .footer--v91 .footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(25px,4vw,56px);row-gap:30px;padding:38px 0}
  .footer--v91 :is(.footer__identity,.footer__contact,.footer__nav,.footer__resources){margin:0;padding:0;border:0}
  .footer--v91 .footer__identity{grid-column:1}
  .footer--v91 .footer__contact{grid-column:2}
  .footer--v91 .footer__nav{grid-column:1}
  .footer--v91 .footer__resources{grid-column:2}
  .footer--v91 .footer__links{grid-template-columns:minmax(0,1fr)}
  .footer--v91 .footer__logo{width:184px}
}

/* Desktop: four intentional columns; do not force this layout on tablets. */
@media(min-width:1160px){
  .footer--v91 .footer__intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:32px;padding:48px 0 42px}
  .footer--v91 .footer__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:11px}
  .footer--v91 .footer__action{width:auto}
  .footer--v91 .footer__grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr) minmax(0,1.18fr) minmax(0,.98fr);gap:clamp(22px,2.7vw,44px);padding:43px 0}
  .footer--v91 .footer__identity{grid-column:1;grid-row:1}
  .footer--v91 .footer__nav{grid-column:2;grid-row:1}
  .footer--v91 .footer__contact{grid-column:3;grid-row:1}
  .footer--v91 .footer__resources{grid-column:4;grid-row:1}
  .footer--v91 .footer__logo{width:180px}
}
@media(prefers-reduced-motion:reduce){.footer--v91 .footer__action{transition:none}}
