/* Generated route CSS — v1990. Source: tools/css-source/page-specializations/public-specializations.css. */
/* MapMyStaff public specializations — v1786. Loaded only by pages that use these specializations. */
/* ===== Page specialization 01: en/architecture-confiance-validations-serveur.html | fr/architecture-confiance-validations-serveur.html ===== */
/* Architecture page v1692 — real-time booking updates */
.mms-architecture-page{--arch-ink:#123a3a;--arch-muted:#536c6c;--arch-teal:#0b7f7b;--arch-teal-2:#12aaa4;--arch-deep:#0a4f4c;--arch-gold:#dba919;--arch-pale:#edf8f7;--arch-pale-2:#f7fbfb;--arch-line:rgba(13,111,107,.17);--arch-card:rgba(255,255,255,.96);--arch-shadow:0 24px 55px rgba(18,58,58,.10);}
.mms-architecture-page .mms-architecture-hero{}
.mms-architecture-page .mms-architecture-hero .mms-hero__veil{background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.94) 44%,rgba(255,255,255,.50) 67%,rgba(255,255,255,.13) 100%);}
.mms-architecture-page .mms-architecture-hero .mms-hero__grid{grid-template-columns:minmax(0,.92fr) minmax(430px,.82fr);gap:clamp(42px,6vw,90px);}
.mms-architecture-page .mms-architecture-hero .mms-hero__copy{max-width:700px;}
.mms-architecture-page .mms-architecture-hero h1{color:var(--arch-ink);text-shadow:none;max-width:760px;}
.mms-architecture-page .mms-architecture-hero p{color:var(--arch-muted);text-shadow:none;max-width:660px;}
.mms-architecture-page .mms-architecture-hero .mms-eyebrow{color:#946d00;}
.mms-architecture-page .mms-architecture-hero .mms-actions{flex-wrap:wrap;}
/* Hero architecture map */
.mms-architecture-page .arch-hero-map{position:relative;z-index:2;padding:26px;border:1px solid rgba(11,127,123,.18);border-radius:28px;background:rgba(255,255,255,.93);box-shadow:0 30px 70px rgba(18,58,58,.15);backdrop-filter:blur(14px);}
.mms-architecture-page .arch-hero-map__label{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;}
.mms-architecture-page .arch-hero-map__label span{color:var(--arch-muted);font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;}
.mms-architecture-page .arch-hero-map__label em{padding:6px 10px;border-radius:var(--mms-control-shape-radius);background:#fff6d9;color:#846100;font-size:.72rem;font-style:normal;font-weight:900;}
.mms-architecture-page .arch-flow{display:grid;gap:10px;}
.mms-architecture-page .arch-flow__node{position:relative;display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;padding:13px 14px;border:1px solid var(--arch-line);border-radius:16px;background:#fff;}
.mms-architecture-page .arch-flow__node:not(:last-child)::after{content:"";position:absolute;left:34px;bottom:-11px;width:2px;height:11px;background:linear-gradient(var(--arch-teal-2),rgba(18,170,164,.25));}
.mms-architecture-page .arch-flow__index{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:var(--arch-pale);color:var(--arch-teal);font-weight:900;}
.mms-architecture-page .arch-flow__node strong{display:block;color:var(--arch-ink);font-size:.93rem;}
.mms-architecture-page .arch-flow__node small{display:block;margin-top:2px;color:var(--arch-muted);font-size:.78rem;line-height:1.35;}
/* Route nav */
/* Shared sections */
.mms-architecture-page .arch-section{position:relative;overflow:hidden;scroll-margin-top:calc(var(--mms-header-height,74px) + 82px);}
.mms-architecture-page .arch-section::before{content:"";position:absolute;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle,rgba(18,170,164,.08),transparent 70%);pointer-events:none;}
.mms-architecture-page .arch-section:nth-of-type(odd)::before{right:-240px;top:-40px;}
.mms-architecture-page .arch-section:nth-of-type(even)::before{left:-270px;bottom:-160px;}
.mms-architecture-page .arch-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(520px,1.12fr);gap:clamp(48px,6vw,92px);align-items:center;}
.mms-architecture-page .arch-grid--cards-full{grid-template-columns:minmax(0,1fr);align-items:start;gap:clamp(28px,4vw,48px);}
.mms-architecture-page .arch-grid--cards-full .arch-copy,.mms-architecture-page .arch-grid--cards-full .arch-visual{order:initial;}
.mms-architecture-page .arch-grid--cards-full .arch-copy{max-width:52rem;}
.mms-architecture-page .arch-grid--cards-full .arch-visual{width:100%;}
.mms-architecture-page .arch-grid--cards-full .arch-lanes{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
/* Firestore compatibility — keep section 02 full-width even when an older stored structure omits the auxiliary modifier class. */
.mms-architecture-page #section-02 > .mms-container.arch-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:clamp(28px,4vw,48px);}
.mms-architecture-page #section-02 > .mms-container.arch-grid > .arch-copy,
.mms-architecture-page #section-02 > .mms-container.arch-grid > .arch-visual{order:initial;min-width:0;}
.mms-architecture-page #section-02 > .mms-container.arch-grid > .arch-copy{max-width:52rem;}
.mms-architecture-page #section-02 > .mms-container.arch-grid > .arch-visual{width:100%;}
.mms-architecture-page #section-02 .arch-lanes{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,22px);}
/* v1901 — dense editorial architecture sections use copy-first rows on desktop. */
.mms-architecture-page .mms-section--visual-below .arch-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:clamp(28px,4vw,48px);}
.mms-architecture-page .mms-section--visual-below .arch-copy,.mms-architecture-page .mms-section--visual-below .arch-visual{order:initial;}
.mms-architecture-page .mms-section--visual-below .arch-copy{width:100%;max-width:none;}
.mms-architecture-page .mms-section--visual-below .arch-copy>p{max-width:72ch;}
.mms-architecture-page .mms-section--visual-below .arch-visual{width:100%;max-width:none;}
.mms-architecture-page .arch-copy,.mms-architecture-page .arch-visual{position:relative;z-index:2;}
.mms-architecture-page .arch-copy > p{color:var(--arch-muted);}
.mms-architecture-page .arch-kicker{display:inline-flex;align-items:center;gap:10px;margin-bottom:16px;color:var(--arch-teal);font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;}
.mms-architecture-page .arch-kicker::before{content:"";width:28px;height:2px;background:var(--arch-teal-2);}
.mms-architecture-page .arch-visual{padding:clamp(22px,3vw,38px);border:1px solid var(--arch-line);border-radius:28px;background:var(--arch-card);box-shadow:var(--arch-shadow);}
.mms-architecture-page .arch-demo-label{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;color:#627777;font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;}
.mms-architecture-page .arch-demo-label::before{content:"";width:8px;height:8px;border-radius:50%;background:#f2c94c;box-shadow:0 0 0 5px rgba(242,201,76,.18);}
.mms-architecture-page .arch-limit{margin-top:22px;padding:16px 18px;border-left:3px solid var(--arch-teal-2);border-radius:0 12px 12px 0;background:rgba(237,248,247,.92);color:var(--arch-muted);font-size:.94rem;}
.mms-architecture-page .arch-link{margin-top:22px;}
/* Validation example */
.mms-architecture-page .arch-validation{display:grid;gap:14px;}
.mms-architecture-page .arch-validation__row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:13px;align-items:center;padding:16px;border:1px solid var(--arch-line);border-radius:17px;background:#fff;}
.mms-architecture-page .arch-validation__step{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:var(--arch-pale);color:var(--arch-teal);font-weight:900;}
.mms-architecture-page .arch-validation__row small{display:block;color:#6a8080;}
.mms-architecture-page .arch-validation__row strong{display:block;margin-top:3px;color:var(--arch-ink);}
.mms-architecture-page .arch-validation__value{white-space:nowrap;padding:8px 11px;border-radius:var(--mms-control-shape-radius);background:#eef8f7;color:var(--arch-teal);font-weight:900;}
/* Compact access lanes */
.mms-architecture-page .arch-lanes{display:grid;gap:10px;}
.mms-architecture-page .arch-lane{padding:13px 16px 14px;border:1px solid var(--arch-line);border-radius:17px;background:linear-gradient(145deg,#fff,#f5fbfa);}
.mms-architecture-page .arch-lane__head{display:flex;align-items:center;gap:11px;min-width:0;}
.mms-architecture-page .arch-lane__icon{flex:0 0 auto;width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:var(--arch-pale);color:var(--arch-teal);font-size:.86rem;font-weight:900;}
.mms-architecture-page .arch-lane__icon .mms-mini-icon{width:1.08rem;height:1.08rem;display:block;fill:currentColor;}
.mms-architecture-page .arch-lane strong{color:var(--arch-ink);line-height:1.25;}
.mms-architecture-page .arch-lane p{margin:7px 0 0;padding-left:45px;color:var(--arch-muted);font-size:.88rem;line-height:1.45;}
/* External service flow */
/* Real-time booking updates */



/* Operational benefits */
.mms-architecture-page .arch-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.mms-architecture-page .arch-benefit{padding:22px;border:1px solid var(--arch-line);border-radius:21px;background:#fff;box-shadow:0 14px 35px rgba(18,58,58,.07);}

.mms-architecture-page .arch-benefit h3{margin:0;color:var(--arch-ink);font-size:1.03rem;}
.mms-architecture-page .arch-benefit p{margin:0;color:var(--arch-muted);font-size:.92rem;line-height:1.58;}
.mms-architecture-page .arch-config-note{margin-top:18px;display:grid;grid-template-columns:46px 1fr;gap:14px;align-items:start;padding:20px 22px;border:1px solid rgba(219,169,25,.30);border-radius:20px;background:linear-gradient(135deg,#fff9e8,#fff);}
.mms-architecture-page .arch-config-note__icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#fff0b8;color:#846100;font-weight:900;}
.mms-architecture-page .arch-config-note h3{margin:0 0 7px;color:var(--arch-ink);font-size:1.02rem;}
.mms-architecture-page .arch-config-note p{margin:0;color:var(--arch-muted);font-size:.92rem;line-height:1.55;}
/* FAQ and CTA */
.mms-architecture-page .arch-faq-list{margin-top:34px;}
.mms-architecture-page .arch-cta{background:linear-gradient(135deg,#0a5451,#0b3b38);}
.mms-architecture-page .arch-cta .mms-final-cta__inner{align-items:center;}
.mms-architecture-page .arch-cta__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;}
@media (max-width:1180px){
.mms-architecture-page .arch-grid--cards-full .arch-lanes,
.mms-architecture-page #section-02 .arch-lanes{grid-template-columns:repeat(2,minmax(0,1fr));}
.mms-architecture-page .mms-architecture-hero .mms-hero__grid,
  .mms-architecture-page .arch-grid{grid-template-columns:1fr;}
.mms-architecture-page .arch-hero-map{max-width:720px;}
}
@media (max-width:760px){
.mms-architecture-page .arch-grid--cards-full .arch-lanes,
.mms-architecture-page #section-02 .arch-lanes{grid-template-columns:1fr;}
.mms-architecture-page .mms-architecture-hero{}
.mms-architecture-page .mms-architecture-hero .mms-hero__veil{background:linear-gradient(180deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.95) 60%,rgba(255,255,255,.36) 83%,rgba(255,255,255,.10) 100%);}
.mms-architecture-page .arch-visual,.mms-architecture-page .arch-hero-map{padding:18px;border-radius:22px;}
.mms-architecture-page .arch-validation__row{grid-template-columns:38px 1fr;}
.mms-architecture-page .arch-validation__value{grid-column:2;justify-self:start;}
.mms-architecture-page .arch-lane p{padding-left:45px;}
.mms-architecture-page .arch-benefits{grid-template-columns:1fr;}
.mms-architecture-page .arch-config-note{grid-template-columns:40px 1fr;}
.mms-architecture-page .arch-cta__actions{justify-content:flex-start;}
}
@media (max-width:430px){
.mms-architecture-page .arch-lane{padding-inline:14px;}
.mms-architecture-page .arch-lane p{padding-left:45px;}
.mms-architecture-page .arch-config-note{grid-template-columns:1fr;}
}

/* ===== Public-page coherence — v1916: Architecture ===== */
.mms-architecture-page .mms-section--visual-below .arch-copy>p,
.mms-architecture-page #section-02 > .mms-container.arch-grid > .arch-copy>p{max-width:none;}
.mms-architecture-page #section-02 > .mms-container.arch-grid > .arch-copy{width:100%;max-width:none;}
.mms-architecture-page .mms-section--visual-below .arch-visual,
.mms-architecture-page #section-02 > .mms-container.arch-grid > .arch-visual{width:min(100%,72rem);margin-inline:auto;}
.mms-architecture-page .arch-visual{padding:clamp(18px,2.4vw,30px);border-radius:22px;box-shadow:0 14px 36px rgba(18,58,58,.075);}
.mms-architecture-page .arch-benefit{padding:18px;border-radius:17px;box-shadow:0 8px 24px rgba(18,58,58,.055);}
.mms-architecture-page .arch-config-note{padding:17px 18px;border-radius:17px;}
