/* Mobile Massages booking request form + thank-you popup. Scoped to .mmd-rf-wrap / .mmd-pop. */
.mmd-rf-wrap{
  --rf-bg:#181818; --rf-field:#181818; --rf-line:#333; --rf-line-focus:#e2a74f; --rf-fg:#f2ede4; --rf-ph:#9a9a9a;
  --rf-label:#c9bfae; --rf-err:#ff8a7a; --rf-err-line:#d9645a;
  --rf-gold:linear-gradient(90deg,#b97e33 0%,#e8b25a 50%,#b97e33 100%);
  font-family:inherit; color:var(--rf-fg); max-width:760px;
}
.mmd-rf-wrap.mmd-rf--light{--rf-bg:transparent;--rf-field:#fff;--rf-line:#d8cfc0;--rf-fg:#2a1e12;--rf-ph:#8a7d6c;--rf-label:#6d5d48;--rf-err:#b0352b;--rf-err-line:#c4473c}
.mmd-rf-wrap *{box-sizing:border-box}
.mmd-rf__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.mmd-rf__f{display:flex;flex-direction:column;gap:6px;min-width:0}
.mmd-rf__f.is-full{grid-column:1/-1}
.mmd-rf__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mmd-rf__f.has-label .mmd-rf__label{position:static;width:auto;height:auto;clip:auto;font-size:13px;color:var(--rf-label);padding-left:4px}
.mmd-rf input,.mmd-rf select,.mmd-rf textarea{
  width:100%; font:inherit; font-size:16px; color:var(--rf-fg); background:var(--rf-field);
  border:1.5px solid var(--rf-line); border-radius:10px; padding:16px 20px; min-height:58px; margin:0;
  box-shadow:none; outline:none; transition:border-color .15s, box-shadow .15s; -webkit-appearance:none; appearance:none;
}
.mmd-rf select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23999' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center;padding-right:44px;cursor:pointer}
.mmd-rf select:invalid,.mmd-rf select option[value=""]{color:var(--rf-ph)}
.mmd-rf select option{color:#222;background:#fff}
.mmd-rf textarea{min-height:160px;resize:vertical;line-height:1.5}
.mmd-rf input[type=date]{color-scheme:dark}
.mmd-rf--light .mmd-rf input[type=date]{color-scheme:light}
.mmd-rf ::placeholder{color:var(--rf-ph);opacity:1}
.mmd-rf input:focus,.mmd-rf select:focus,.mmd-rf textarea:focus{border-color:var(--rf-line-focus);box-shadow:0 0 0 3px rgba(226,167,79,.18)}
.mmd-rf .is-invalid{border-color:var(--rf-err-line)!important}
.mmd-rf__err{font-size:13px;color:var(--rf-err);min-height:0;padding-left:4px}
.mmd-rf__err:empty{display:none}
.mmd-rf__hp{position:absolute!important;left:-10000px!important;top:auto;width:1px;height:1px;overflow:hidden}
.mmd-rf__btn{
  margin-top:24px; border:0; cursor:pointer; background:var(--rf-gold); color:#fff; font:inherit; font-weight:700;
  font-size:16px; letter-spacing:.02em; text-transform:uppercase; padding:20px 44px; border-radius:999px;
  box-shadow:0 6px 18px rgba(185,126,51,.25); transition:filter .15s, transform .15s; display:inline-flex; align-items:center; gap:10px; line-height:1;
}
.mmd-rf__btn:hover{filter:brightness(1.08)}
.mmd-rf__btn:active{transform:translateY(1px)}
.mmd-rf__btn:focus-visible{outline:3px solid #f0be66;outline-offset:3px}
.mmd-rf__btn[disabled]{opacity:.75;cursor:wait}
.mmd-rf__btn.is-loading::before{content:"";width:16px;height:16px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:mmd-spin .7s linear infinite}
@keyframes mmd-spin{to{transform:rotate(360deg)}}
.mmd-rf__notice{border-radius:10px;padding:14px 18px;margin-bottom:18px;font-size:15px}
.mmd-rf__notice.is-ok{background:rgba(61,122,84,.15);border:1px solid #3d7a54}
.mmd-rf__notice.is-err{background:rgba(168,60,52,.15);border:1px solid #a83c34}
@media (max-width:600px){.mmd-rf__grid{grid-template-columns:1fr}.mmd-rf__btn{width:100%;justify-content:center}}

/* ---------- Popup ---------- */
.mmd-pop{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(8,6,4,.72);backdrop-filter:blur(3px);opacity:0;transition:opacity .2s}
.mmd-pop.is-open{opacity:1}
.mmd-pop[hidden]{display:none!important}
.mmd-pop__box{position:relative;width:min(440px,100%);background:#141210;color:#f2ede4;border:1px solid #5a4322;border-radius:18px;padding:40px 32px 32px;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.55);transform:translateY(12px) scale(.97);transition:transform .25s cubic-bezier(.2,.9,.3,1.2)}
.mmd-pop.is-open .mmd-pop__box{transform:none}
.mmd-pop__box::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;border-radius:18px 18px 0 0;background:linear-gradient(90deg,#b97e33,#f0be66,#b97e33)}
.mmd-pop__icon{width:72px;height:72px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#b5792e,#f0be66);box-shadow:0 0 0 8px rgba(226,167,79,.12)}
.mmd-pop__icon svg{width:34px;height:34px;stroke:#1e150d;stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}
.mmd-pop__icon path{stroke-dasharray:40;stroke-dashoffset:40;animation:mmd-tick .45s .15s ease-out forwards}
@keyframes mmd-tick{to{stroke-dashoffset:0}}
.mmd-pop.is-error .mmd-pop__icon{background:linear-gradient(135deg,#8a3a33,#d9645a);box-shadow:0 0 0 8px rgba(217,100,90,.12)}
.mmd-pop__title{font-size:26px;line-height:1.2;margin:0 0 10px;color:#f0be66;font-weight:600}
.mmd-pop__text{font-size:15px;line-height:1.6;margin:0 0 6px;color:#d8cfc0}
.mmd-pop__summary{margin:18px 0 0;padding:14px 16px;border-radius:10px;background:rgba(226,167,79,.08);border:1px solid rgba(226,167,79,.25);font-size:14px;line-height:1.6;text-align:left}
.mmd-pop__summary b{color:#f0be66;font-weight:600}
.mmd-pop__summary:empty{display:none}
.mmd-pop__ok{margin-top:24px;border:0;cursor:pointer;background:linear-gradient(90deg,#b97e33,#e8b25a,#b97e33);color:#fff;font:inherit;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:14px 40px;border-radius:999px}
.mmd-pop__ok:focus-visible,.mmd-pop__x:focus-visible{outline:3px solid #f0be66;outline-offset:3px}
.mmd-pop__x{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;border:0;background:transparent;color:#bbb;font-size:22px;line-height:1;cursor:pointer}
.mmd-pop__x:hover{background:rgba(255,255,255,.08);color:#fff}
@media (prefers-reduced-motion:reduce){.mmd-pop,.mmd-pop__box,.mmd-pop__icon path{transition:none;animation:none;stroke-dashoffset:0}}
