/* Maison Bellanov Casablanca professional request system */
:root{--ease:cubic-bezier(.22,1,.36,1);--black:#111;--soft:#f7f7f4}
*{box-sizing:border-box}
html,body{margin:0;width:100%;min-height:100%;font-family:Arial,Helvetica,sans-serif;color:#111;background:#fff}
body{overflow:hidden}
.pro-page,.pro-form-page{
  position:relative;
  width:100vw;
  height:100svh;
  min-height:620px;
  overflow:hidden;
  background:#fff;
  color:#111;
}
.pro-page::before,.pro-page::after,.pro-form-page::before,.pro-form-page::after{
  content:"";
  position:absolute;
  inset:-15%;
  z-index:0;
  pointer-events:none;
  opacity:.22;
  background-image:
    radial-gradient(circle at 14% 18%, rgba(17,17,17,.20) 0 1.3px, transparent 2px),
    radial-gradient(circle at 34% 82%, rgba(17,17,17,.12) 0 1.3px, transparent 2px),
    linear-gradient(45deg, transparent 0 49%, rgba(17,17,17,.12) 49% 51%, transparent 51% 100%);
  background-size:230px 230px,300px 300px,180px 180px;
  animation:proBg 30s linear infinite;
}
.pro-page::after,.pro-form-page::after{opacity:.12;animation-direction:reverse;animation-duration:42s}
@keyframes proBg{to{background-position:0 -520px,80px -420px,20px -480px}}
.pro-lang{position:fixed;top:24px;left:24px;z-index:10;display:flex;gap:8px}
.pro-lang a{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:999px;background:#fff;border:1px solid rgba(17,17,17,.10);box-shadow:0 14px 34px rgba(0,0,0,.08);color:#111;text-decoration:none;font-weight:800;font-size:13px}
body.lang-en .pro-lang-en,body.lang-fr .pro-lang-fr{background:#111;color:#fff}
.pro-note{position:fixed;top:46px;left:50%;transform:translateX(-50%);z-index:5;margin:0;color:#aaa;letter-spacing:.28em;text-transform:uppercase;font-size:12px;white-space:nowrap}
.pro-signature{position:fixed;right:46px;top:34px;z-index:6;width:150px;height:auto}
.pro-home-mark{position:fixed;left:64px;bottom:32px;z-index:5;display:block;width:150px;line-height:0}
.pro-home-mark img{display:block;width:100%;height:auto}
.pro-footer{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:5;margin:0;font-family:"TT Ramillas","Times New Roman",Georgia,serif;font-size:14px;white-space:nowrap}
.pro-shell{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:92px 42px 118px}
.pro-card{text-align:center;width:min(920px,78vw);margin:-2svh auto 0}
.pro-kicker{margin:0 0 18px;color:#999;letter-spacing:.22em;text-transform:uppercase;font-size:12px}
.pro-title{font-family:"TT Ramillas","Times New Roman",Georgia,serif;font-weight:400;font-size:58px;line-height:.96;letter-spacing:-.035em;margin:0 0 22px}
.pro-copy{font-family:"TT Ramillas","Times New Roman",Georgia,serif;font-size:30px;line-height:1.12;max-width:820px;margin:0 auto 18px}
.pro-subcopy{font-size:16px;line-height:1.45;color:#666;max-width:760px;margin:0 auto 34px}
.pro-buttons{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;width:min(430px,88vw);margin:0 auto}
.pro-image-button{display:block;width:min(410px,86vw);line-height:0;text-decoration:none;transition:transform .22s var(--ease),filter .22s var(--ease)}
.pro-image-button:hover{transform:translateY(-2px);filter:drop-shadow(0 16px 34px rgba(0,0,0,.12))}
.pro-image-button img{display:block;width:100%;height:auto;pointer-events:none}
.pro-process-trigger{
  position:fixed;right:28px;bottom:82px;z-index:20;display:inline-flex;align-items:center;justify-content:center;
  min-width:142px;height:48px;padding:0 22px;border-radius:999px;border:1px solid rgba(17,17,17,.18);
  background:rgba(255,255,255,.54);box-shadow:0 18px 42px rgba(0,0,0,.10), inset 0 1px 1px rgba(255,255,255,.8);
  backdrop-filter:blur(14px);color:#111;font-weight:800;letter-spacing:.02em;text-transform:uppercase;font-size:12px
}
.pro-popup{position:fixed;inset:0;z-index:50;opacity:0;pointer-events:none;transition:opacity .28s var(--ease)}
.pro-popup.is-open{opacity:1;pointer-events:auto}
.pro-dim{position:absolute;inset:0;background:rgba(255,255,255,.52);backdrop-filter:blur(10px)}
.pro-panel{
  position:absolute;right:36px;bottom:36px;width:min(820px,calc(100vw - 72px));max-height:calc(100svh - 72px);overflow:auto;
  border-radius:36px;padding:28px;border:1px solid rgba(17,17,17,.14);background:rgba(255,255,255,.86);
  box-shadow:0 34px 80px rgba(0,0,0,.16), inset 0 1px 1px rgba(255,255,255,.9);backdrop-filter:blur(22px);
  transform:translateY(18px) scale(.98);transition:transform .32s var(--ease)
}
.pro-popup.is-open .pro-panel{transform:translateY(0) scale(1)}
.pro-close{position:absolute;top:18px;right:18px;z-index:2;width:44px;height:44px;border:0;border-radius:999px;background:#111;color:#fff;font-size:28px;line-height:1}
.pro-process-image{display:block;width:100%;aspect-ratio:16/8;object-fit:cover;border-radius:26px;margin:38px 0 20px}
.pro-panel h2{font-family:"TT Ramillas","Times New Roman",Georgia,serif;font-size:42px;line-height:1;margin:0 0 14px;font-weight:400}
.pro-panel p{font-size:16px;line-height:1.55;color:#333;margin:0}
.form-shell{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:92px 42px 120px}
.form-card{width:min(850px,70vw);margin:-2svh auto 0;transition:opacity .25s var(--ease),transform .25s var(--ease)}
.form-kicker{margin:0 0 12px;color:#999;letter-spacing:.22em;text-transform:uppercase;font-size:12px}
.form-title{font-family:"TT Ramillas","Times New Roman",Georgia,serif;font-size:48px;line-height:1;margin:0 0 16px;font-weight:400}
.form-question{font-family:"TT Ramillas","Times New Roman",Georgia,serif;font-size:34px;line-height:1.08;margin:0 0 24px}
.form-input,.form-textarea,.form-select{width:100%;border:1.5px solid #111;border-radius:16px;background:rgba(255,255,255,.86);color:#111;padding:0 18px;font-size:18px;outline:none}
.form-input,.form-select{height:62px}.form-textarea{height:160px;padding:18px;resize:none}
.choice-list{display:grid;gap:10px}
.pro-choice{width:100%;min-height:52px;border:1.5px solid #111;border-radius:16px;background:rgba(255,255,255,.64);color:#111;padding:12px 18px;text-align:left;font-size:16px}
.pro-choice.is-selected{background:#111;color:#fff}
.form-nav{position:fixed;left:50%;bottom:70px;z-index:10;transform:translateX(-50%);display:flex;gap:20px}
.form-nav button{width:210px;height:56px;background:transparent;border:0;background-size:contain;background-position:center;background-repeat:no-repeat;text-indent:-9999px;opacity:.92}
body.lang-fr .form-prev{background-image:url('/assets/professional-request/buttons/question-precedente.svg')}
body.lang-fr .form-next{background-image:url('/assets/professional-request/buttons/question-suivante.svg')}
body.lang-en .form-prev{background-image:url('/assets/professional-request/buttons/previous-question.svg')}
body.lang-en .form-next{background-image:url('/assets/professional-request/buttons/next-question.svg')}
.form-nav button:disabled{opacity:.28}
.form-counter{position:fixed;right:58px;bottom:36px;z-index:6;font-family:"TT Ramillas","Times New Roman",Georgia,serif;font-size:32px}
.form-message{font-size:18px;line-height:1.5;color:#333}
.form-submit{margin-top:16px;min-width:230px;height:54px;border-radius:999px;border:1px solid #111;background:#111;color:#fff;font-weight:800;font-size:16px}
.summary-box{border:1.5px solid #111;border-radius:18px;padding:18px;background:rgba(255,255,255,.72);max-height:260px;overflow:auto}
.summary-box p{margin:0 0 10px;color:#111;font-size:15px;line-height:1.4}
@media (max-width:900px){
  body{overflow:hidden}
  .pro-page,.pro-form-page{min-height:0}
  .pro-lang{top:18px;left:18px}.pro-lang a{width:46px;height:46px}
  .pro-note{top:120px;font-size:10px;letter-spacing:.22em}
  .pro-signature{right:18px;top:34px;width:124px}
  .pro-home-mark{left:28px;bottom:28px;width:86px}.pro-footer{bottom:28px;font-size:11px;width:210px;text-align:center;white-space:normal;line-height:1.05}
  .pro-shell{padding:94px 28px 132px}.pro-card{width:min(380px,92vw);margin:-2svh auto 0}
  .pro-title{font-size:42px}.pro-copy{font-size:26px;line-height:1.06}.pro-subcopy{font-size:14px;margin-bottom:26px}
  .pro-buttons{width:min(330px,88vw);gap:10px}.pro-image-button{width:min(318px,86vw)}
  .pro-process-trigger{right:18px;bottom:48px;min-width:112px;height:40px;padding:0 14px;font-size:9.5px}
  .pro-panel{left:16px;right:16px;bottom:16px;width:auto;max-height:calc(100svh - 32px);border-radius:28px;padding:18px}
  .pro-process-image{border-radius:20px;margin:38px 0 16px;aspect-ratio:16/10}.pro-panel h2{font-size:29px}.pro-panel p{font-size:13.5px}
  .form-shell{align-items:center;padding:96px 28px 140px}.form-card{width:100%;max-width:390px;margin:-4svh auto 0}
  .form-title{font-size:38px}.form-question{font-size:28px;line-height:1.06}
  .form-input,.form-select{height:56px}.form-textarea{height:128px}
  .pro-choice{min-height:48px;font-size:15px}
  .form-nav{bottom:92px;gap:8px}.form-nav button{width:150px;height:44px}
  .form-counter{right:26px;bottom:38px;font-size:28px}
}


/* === Professional request final layout polish === */

/* Landing note under the professional buttons */
.pro-talent-note{
  margin:18px auto 0;
  max-width:520px;
  color:#555;
  font-size:13px;
  line-height:1.45;
}
.pro-talent-note a{
  color:#111;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
}

/* PC: process button aligned vertically with the M, slightly lower on request pages */
.pro-process-trigger{
  bottom:70px !important;
}
.application-request-page .pathway-trigger{
  bottom:70px !important;
}

/* Mobile: process button slightly higher, M slightly more left */
@media (max-width:900px){
  .pro-process-trigger{
    bottom:58px !important;
    min-width:108px !important;
    height:38px !important;
    padding:0 14px !important;
    font-size:9px !important;
  }
  .application-request-page .pathway-trigger{
    bottom:58px !important;
    min-width:108px !important;
    height:38px !important;
    padding:0 14px !important;
    font-size:9px !important;
  }

  .pro-page .pro-home-mark,
  .pro-form-page .pro-home-mark{
    left:18px !important;
  }
  .application-request-page .application-home-mark{
    left:18px !important;
  }

  .pro-talent-note{
    margin-top:13px !important;
    max-width:330px !important;
    font-size:11.5px !important;
    line-height:1.35 !important;
  }
}

/* Professional form: allow controlled scrolling on mobile when a long question needs space */
@media (max-width:900px){
  .pro-form-page{
    height:100svh !important;
    min-height:100svh !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
  }

  .pro-form-page .form-shell{
    position:relative !important;
    inset:auto !important;
    min-height:100svh !important;
    height:auto !important;
    display:flex !important;
    align-items:flex-start !important;
    justify-content:center !important;
    padding:190px 28px 178px !important;
  }

  .pro-form-page .form-card{
    width:min(404px,88vw) !important;
    max-height:none !important;
    margin:0 auto !important;
  }

  .pro-form-page .form-kicker{
    font-size:11px !important;
    letter-spacing:.22em !important;
    margin-bottom:10px !important;
  }

  .pro-form-page .form-title{
    font-size:30px !important;
    line-height:1 !important;
    margin-bottom:12px !important;
  }

  .pro-form-page .form-question{
    font-size:21px !important;
    line-height:1.06 !important;
    margin-bottom:17px !important;
  }

  .pro-form-page .choice-list{
    gap:8px !important;
  }

  .pro-form-page .pro-choice{
    min-height:44px !important;
    padding:9px 14px !important;
    font-size:12.6px !important;
    line-height:1.18 !important;
    border-radius:12px !important;
  }

  .pro-form-page .form-input,
  .pro-form-page .form-select{
    height:56px !important;
    font-size:15px !important;
    padding:14px 18px !important;
  }

  .pro-form-page .form-textarea{
    height:124px !important;
    font-size:15px !important;
    padding:14px 18px !important;
  }

  .pro-form-page .summary-box{
    max-height:260px !important;
    overflow:auto !important;
    font-size:12px !important;
    line-height:1.34 !important;
    -webkit-overflow-scrolling:touch !important;
  }

  .pro-form-page .form-nav{
    position:fixed !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    bottom:88px !important;
    gap:10px !important;
    z-index:35 !important;
  }

  .pro-form-page .form-nav button{
    width:150px !important;
    height:44px !important;
  }

  /* The top moving professional note is placed below the navigation zone on mobile */
  .pro-form-page .pro-note{
    position:fixed !important;
    top:auto !important;
    bottom:62px !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    width:230px !important;
    text-align:center !important;
    font-size:7.6px !important;
    line-height:1.05 !important;
    letter-spacing:.16em !important;
    white-space:normal !important;
    z-index:6 !important;
  }

  /* Numbers slightly lower on mobile */
  .pro-form-page .form-counter{
    right:20px !important;
    bottom:26px !important;
    font-size:24px !important;
  }

  .pro-form-page .pro-home-mark{
    width:78px !important;
    bottom:26px !important;
  }

  .pro-form-page .pro-footer{
    bottom:14px !important;
    font-size:7.3px !important;
    width:210px !important;
    max-width:62vw !important;
    line-height:1.05 !important;
  }
}

@media (max-width:900px) and (max-height:720px){
  .pro-form-page .form-shell{
    padding-top:150px !important;
    padding-bottom:168px !important;
  }
  .pro-form-page .form-title{
    font-size:27px !important;
  }
  .pro-form-page .form-question{
    font-size:18.4px !important;
    line-height:1.04 !important;
  }
  .pro-form-page .pro-choice{
    min-height:39px !important;
    padding:7px 12px !important;
    font-size:11.5px !important;
  }
  .pro-form-page .form-input,
  .pro-form-page .form-select{
    height:50px !important;
  }
  .pro-form-page .form-textarea{
    height:100px !important;
  }
  .pro-form-page .summary-box{
    max-height:228px !important;
  }
  .pro-form-page .form-nav{
    bottom:78px !important;
  }
  .pro-form-page .form-counter{
    bottom:22px !important;
  }
  .pro-form-page .pro-note{
    bottom:52px !important;
  }
}

/* Professional process image: mobile file has different internal logo placement */
@media (max-width:900px){
  .pro-process-image{
    content:url('/assets/professional-request/maison-bellanov-casablanca-processus-mobile.png');
  }
}

/* Mobile protection: no long-press download, no copy selection, no tap outlines.
   Inputs/textareas remain usable for typing and pasting. */
@media (max-width:900px){
  .pro-page,
  .pro-form-page,
  .pro-page *:not(input):not(textarea):not(select),
  .pro-form-page *:not(input):not(textarea):not(select){
    -webkit-touch-callout:none !important;
    -webkit-user-select:none !important;
    user-select:none !important;
    -webkit-tap-highlight-color:transparent !important;
  }

  .pro-page img,
  .pro-form-page img,
  .pro-page a,
  .pro-form-page a,
  .pro-page button,
  .pro-form-page button{
    -webkit-user-drag:none !important;
    user-drag:none !important;
    touch-action:manipulation;
    outline:none !important;
  }
}


/* === Google Sheet / Drive migration + final professional form polish === */

/* Remove the duplicated fixed professional note on form pages. */
.pro-form-page .pro-note{
  display:none !important;
}

/* PC: compact professional form questions so choices never collide with navigation. */
.pro-form-page .form-shell{
  position:absolute !important;
  inset:0 !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  padding:58px 46px 160px !important;
  overflow:hidden !important;
}

.pro-form-page .form-card{
  width:min(880px,62vw) !important;
  max-height:none !important;
  margin:0 auto !important;
}

.pro-form-page .form-kicker{
  font-size:11px !important;
  letter-spacing:.22em !important;
  margin:0 0 10px !important;
}

.pro-form-page .form-title{
  font-size:42px !important;
  line-height:.98 !important;
  margin:0 0 12px !important;
}

.pro-form-page .form-question{
  font-size:25px !important;
  line-height:1.06 !important;
  margin:0 0 18px !important;
}

.pro-form-page .choice-list{
  width:min(880px,100%) !important;
  gap:7px !important;
}

.pro-form-page .pro-choice{
  min-height:43px !important;
  padding:9px 18px !important;
  font-size:15px !important;
  line-height:1.12 !important;
  border-radius:14px !important;
}

.pro-form-page .form-input,
.pro-form-page .form-select{
  width:min(880px,100%) !important;
  height:66px !important;
  font-size:18px !important;
  padding:15px 20px !important;
}

.pro-form-page .form-textarea{
  width:min(880px,100%) !important;
  height:132px !important;
  font-size:18px !important;
  padding:15px 20px !important;
}

.pro-form-page .summary-box{
  width:min(880px,100%) !important;
  max-height:260px !important;
  overflow:auto !important;
  padding:18px 24px !important;
  font-size:14px !important;
  line-height:1.33 !important;
}

.pro-form-page .form-nav{
  position:fixed !important;
  bottom:70px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  z-index:36 !important;
  gap:22px !important;
}

.pro-form-page .form-nav button{
  width:205px !important;
  height:54px !important;
}

.pro-form-page .form-counter{
  bottom:38px !important;
  right:58px !important;
  font-size:31px !important;
}

.pro-form-page .pro-home-mark{
  left:64px !important;
  bottom:32px !important;
  width:146px !important;
}

.pro-form-page .pro-footer{
  bottom:22px !important;
}

/* Landing professional request remains scrollable on mobile because it is a longer intro page. */
@media (max-width:900px){
  .pro-page{
    height:100svh !important;
    min-height:100svh !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
  }

  .pro-page .pro-shell{
    position:relative !important;
    inset:auto !important;
    min-height:100svh !important;
    height:auto !important;
    padding:116px 28px 166px !important;
    align-items:flex-start !important;
  }

  .pro-page .pro-card{
    width:min(390px,92vw) !important;
    margin:0 auto !important;
  }

  .pro-page .pro-title{
    font-size:37px !important;
    line-height:.96 !important;
  }

  .pro-page .pro-copy{
    font-size:23px !important;
    line-height:1.08 !important;
  }

  .pro-page .pro-subcopy{
    font-size:13px !important;
    line-height:1.4 !important;
  }

  .pro-talent-note{
    max-width:330px !important;
    font-size:11.2px !important;
    line-height:1.36 !important;
    margin-top:13px !important;
  }
}

/* Mobile professional forms: no scrolling, centered as a single screen. */
@media (max-width:900px){
  .pro-form-page{
    height:100svh !important;
    min-height:100svh !important;
    overflow:hidden !important;
  }

  .pro-form-page .form-shell{
    position:absolute !important;
    inset:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:112px 28px 184px !important;
    overflow:hidden !important;
  }

  .pro-form-page .form-card{
    width:min(404px,88vw) !important;
    max-height:none !important;
    margin:0 auto !important;
  }

  .pro-form-page .form-kicker{
    font-size:10.2px !important;
    letter-spacing:.2em !important;
    margin-bottom:8px !important;
  }

  .pro-form-page .form-title{
    font-size:27px !important;
    line-height:1 !important;
    margin-bottom:10px !important;
  }

  .pro-form-page .form-question{
    font-size:18.8px !important;
    line-height:1.04 !important;
    margin-bottom:14px !important;
  }

  .pro-form-page .choice-list{
    gap:6px !important;
  }

  .pro-form-page .pro-choice{
    min-height:37px !important;
    padding:7px 12px !important;
    font-size:11.5px !important;
    line-height:1.12 !important;
    border-radius:10px !important;
  }

  .pro-form-page .form-input,
  .pro-form-page .form-select{
    height:49px !important;
    font-size:14px !important;
    padding:12px 16px !important;
  }

  .pro-form-page .form-textarea{
    height:92px !important;
    font-size:14px !important;
    padding:12px 16px !important;
  }

  .pro-form-page .summary-box{
    max-height:224px !important;
    overflow:auto !important;
    font-size:11.1px !important;
    line-height:1.28 !important;
    padding:14px 16px !important;
    -webkit-overflow-scrolling:touch !important;
  }

  .pro-form-page .form-nav{
    bottom:102px !important;
    gap:10px !important;
  }

  .pro-form-page .form-nav button{
    width:150px !important;
    height:43px !important;
  }

  .pro-form-page .form-counter{
    right:18px !important;
    bottom:34px !important;
    font-size:23px !important;
  }

  .pro-form-page .pro-home-mark{
    width:72px !important;
    left:16px !important;
    bottom:34px !important;
  }

  .pro-form-page .pro-footer{
    bottom:16px !important;
    font-size:7.3px !important;
    width:220px !important;
    max-width:62vw !important;
    line-height:1.06 !important;
  }
}

@media (max-width:900px) and (max-height:720px){
  .pro-form-page .form-shell{
    padding:94px 26px 158px !important;
  }

  .pro-form-page .form-title{
    font-size:24px !important;
  }

  .pro-form-page .form-question{
    font-size:16.4px !important;
    line-height:1.03 !important;
    margin-bottom:10px !important;
  }

  .pro-form-page .form-kicker{
    font-size:9px !important;
    margin-bottom:6px !important;
  }

  .pro-form-page .pro-choice{
    min-height:32px !important;
    padding:6px 10px !important;
    font-size:10.6px !important;
  }

  .pro-form-page .choice-list{
    gap:5px !important;
  }

  .pro-form-page .form-input,
  .pro-form-page .form-select{
    height:44px !important;
  }

  .pro-form-page .form-textarea{
    height:76px !important;
  }

  .pro-form-page .summary-box{
    max-height:184px !important;
  }

  .pro-form-page .form-nav{
    bottom:86px !important;
  }

  .pro-form-page .form-counter{
    bottom:24px !important;
  }

  .pro-form-page .pro-home-mark{
    bottom:26px !important;
    width:66px !important;
  }

  .pro-form-page .pro-footer{
    bottom:10px !important;
    font-size:6.8px !important;
  }
}

/* Keep first landing page protection and prevent mobile long-press download. */
@media (max-width:900px){
  .pro-page,
  .pro-form-page,
  .pro-page *:not(input):not(textarea):not(select),
  .pro-form-page *:not(input):not(textarea):not(select){
    -webkit-touch-callout:none !important;
    -webkit-user-select:none !important;
    user-select:none !important;
    -webkit-tap-highlight-color:transparent !important;
  }

  .pro-page img,
  .pro-form-page img,
  .pro-page a,
  .pro-form-page a,
  .pro-page button,
  .pro-form-page button{
    -webkit-user-drag:none !important;
    user-drag:none !important;
    touch-action:manipulation;
    outline:none !important;
  }
}


/* Final professional request cleanup */
.pro-page .pro-note{
  display:none !important;
}

/* Same mobile M placement/size as the blue request page */
@media (max-width:900px){
  .pro-page .pro-home-mark{
    left:18px !important;
    bottom:30px !important;
    width:70px !important;
  }
}

/* === GOGOGO patch: professional upload question + stricter form spacing === */
.pro-upload-zone{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:64px;
  border:1.5px solid #111;
  border-radius:16px;
  background:rgba(255,255,255,.72);
  color:#111;
  font-weight:800;
  text-align:center;
  cursor:pointer;
  box-shadow:0 12px 30px rgba(0,0,0,.035);
}
.pro-upload-zone input{
  position:absolute;
  opacity:0;
  pointer-events:none;
  width:1px;
  height:1px;
}
.form-help,
.form-error{
  margin:10px 0 0;
  font-size:13px;
  line-height:1.35;
  color:#777;
}
.form-error{color:#a42222;font-weight:700}
.upload-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.upload-chip{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  padding:8px 12px;
  border:1px solid rgba(17,17,17,.18);
  border-radius:999px;
  background:rgba(255,255,255,.78);
  color:#111;
  font-size:12px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media (min-width:901px){
  .form-card{margin:-4svh auto 0!important}
  .form-title{font-size:44px!important;margin-bottom:12px!important}
  .form-question{font-size:30px!important;line-height:1.04!important;margin-bottom:20px!important}
  .pro-choice{min-height:48px!important}
  .choice-list{gap:8px!important}
}
@media (max-width:900px){
  .form-card{margin:-5svh auto 0!important}
  .form-title{font-size:34px!important;margin-bottom:10px!important}
  .form-question{font-size:25px!important;margin-bottom:18px!important}
  .pro-upload-zone{min-height:58px}
  .upload-list{gap:6px;margin-top:10px}
  .upload-chip{font-size:11px;padding:7px 10px}
}

/* === GLOBAL MBC APP-LIKE MOTION POLISH | 2026-05-11 === */
@media (prefers-reduced-motion: no-preference) {
  .pro-shell,
  .pro-card,
  .pro-lang,
  .pro-home-mark,
  .pro-image-button,
  .pro-talent-note,
  .pro-process-trigger,
  .pro-form-shell,
  .pro-form-card {
    animation: mbcAppRevealSoft 1.1s cubic-bezier(.2,.72,.18,1) both;
  }
  .pro-image-button:nth-child(2) { animation-delay: .05s; }
  .pro-image-button:nth-child(3) { animation-delay: .09s; }
  .pro-image-button:nth-child(4) { animation-delay: .13s; }
  .pro-popup.is-open .pro-panel { animation: mbcPanelUpSoft .42s cubic-bezier(.2,.72,.18,1) both; }
  .pro-popup.is-open .pro-dim { animation: mbcOverlaySoft .24s ease both; }
  .pro-card,
  .pro-image-button,
  .pro-home-mark,
  .pro-lang a,
  .pro-process-trigger,
  .pro-choice,
  .form-submit,
  .pro-nav button {
    transition: transform .26s cubic-bezier(.2,.72,.18,1), opacity .26s ease, filter .26s ease, box-shadow .26s ease, border-color .26s ease;
  }
}
@keyframes mbcAppRevealSoft {
  from { opacity: 0; transform: translate3d(0,16px,0) scale(.994); filter: blur(8px); }
  to { opacity: 1; transform: translate3d(0,0,0) scale(1); filter: blur(0); }
}
@keyframes mbcPanelUpSoft {
  from { opacity: 0; transform: translate3d(0,20px,0) scale(.985); filter: blur(10px); }
  to { opacity: 1; transform: translate3d(0,0,0) scale(1); filter: blur(0); }
}
@keyframes mbcOverlaySoft { from { opacity: 0; } to { opacity: 1; } }

/* =====================================================
   FIX — Clic du M strictement limité à l'icône (pages pro / request)
   ===================================================== */
.pro-home-mark,
.pro-page .pro-home-mark,
.pro-form-page .pro-home-mark,
.application-request-page .application-home-mark {
  display: inline-block !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  line-height: 0 !important;
  font-size: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
.pro-home-mark img,
.application-request-page .application-home-mark .application-m {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  pointer-events: none;
}


/* =====================================================
   MBC — Système universel d entrée scénique
   ─────────────────────────────────────────────────────
   Tout élément avec [data-enter] arrive en douceur :
   translation 38px + scale .982 + blur 12px → settle.
   • Auto-stagger via JS (--enter-delay basé sur l ordre)
   • IntersectionObserver : déclenche au scroll dans la vue
   • Respecte prefers-reduced-motion
   • Exclu : cadres vidéo + images landscape (par sécurité)
   ===================================================== */
@media (prefers-reduced-motion: no-preference) {
  [data-enter] {
    opacity: 0;
    transform: translate3d(0, 38px, 0) scale(.982);
    filter: blur(12px);
    will-change: opacity, transform, filter;
    transition:
      opacity     1.1s cubic-bezier(.2,.72,.18,1),
      transform   1.1s cubic-bezier(.2,.72,.18,1),
      filter      1.1s cubic-bezier(.2,.72,.18,1);
    transition-delay: var(--enter-delay, 0ms);
  }
  [data-enter].is-entered {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    filter: blur(0);
  }
}

/* Exclusions explicites : cadres vidéo + landscape */
[data-no-enter],
.video-stage[data-enter],
.video-stage [data-enter],
.bg-video-loop[data-enter],
.bg-video-poster[data-enter],
.le-m-shell[data-enter],
.le-m-shell [data-enter],
.le-m-frame-overlay[data-enter],
.le-m-slider[data-enter],
.le-m-video[data-enter],
.vision-video-wrap[data-enter],
.vision-video-wrap [data-enter],
.vision-video[data-enter],
.vision-slideshow[data-enter],
.vision-slideshow [data-enter],
.vision-slide[data-enter] {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  transition: none !important;
}

