.mfm-form-wrap{width:100%}
.mfm-form{position:relative}
.mfm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.mfm-field{display:flex;flex-direction:column;gap:8px}
.mfm-field.mfm-full{grid-column:1/-1}
.mfm-field label,.mfm-time-picker-label{font-size:14px;font-weight:600;line-height:1.3;color:#302821}
.mfm-field label span{color:#c95c21}
.mfm-field input,.mfm-field select,.mfm-field textarea{width:100%;min-height:52px;border:1px solid #ddd6d0;background:#fff;color:#302821;padding:12px 14px;font:inherit;line-height:1.4;box-shadow:none;transition:border-color .2s ease,box-shadow .2s ease}
.mfm-field input,.mfm-field select{border-radius:50px}
.mfm-field textarea{min-height:130px;resize:vertical;border-radius:18px}
.mfm-field input:focus,.mfm-field select:focus,.mfm-field textarea:focus{outline:0;border-color:#c95c21;box-shadow:0 0 0 3px rgba(201,92,33,.10)}
.mfm-reservation-details{margin-bottom:24px}
.mfm-reservation-basics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding-bottom:22px;border-bottom:1px solid #e5e1dd}
.mfm-reservation-basics.is-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.mfm-time-picker{padding-top:18px}
.mfm-time-picker-label{margin-bottom:10px}
.mfm-time-status{margin-top:10px;font-size:13px;line-height:1.4;color:#746b64}
.mfm-time-status:empty{display:none}
.mfm-time-status.is-warning{color:#9a3d1d}
.mfm-time-slots{gap:8px}
.mfm-time-slots--compact{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start}
.mfm-time-slots--grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.mfm-time-slot{appearance:none;min-height:34px;border:1px solid #37363e;border-radius:999px;background:#37363e;color:#fff;padding:5px 8px;font-family:inherit;font-size:14px;font-weight:500;line-height:1;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.mfm-time-slots--compact .mfm-time-slot{flex:0 0 72px;width:72px!important;min-width:72px!important;max-width:72px!important}
.mfm-time-slots--grid .mfm-time-slot{width:100%;border-radius:8px}
.mfm-time-slot:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(38,32,28,.10)}
.mfm-time-slot.is-active{background:#fff;color:#302821;border-color:#c95c21;box-shadow:inset 0 0 0 1px #c95c21}
.mfm-reservation-contact-grid{margin-top:0}
.mfm-submit-wrap{margin-top:20px}
/* The submit button intentionally keeps the active theme/Elementor button styling.
   We only add inline layout for the icon/loading indicator. */
.mfm-submit{display:inline-flex;align-items:center;justify-content:center;gap:9px}
.mfm-submit-icon{display:inline-flex;align-items:center;justify-content:center;line-height:0;flex:0 0 auto}
.mfm-submit-icon svg{width:18px;height:18px;display:block}
.mfm-submit:disabled{opacity:.65;cursor:wait}
.mfm-spinner{display:none;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;opacity:.75;animation:mfmspin .7s linear infinite;flex:0 0 16px}
.mfm-submit.is-loading .mfm-spinner{display:block}
.mfm-submit.is-loading .mfm-submit-icon{display:none}
@keyframes mfmspin{to{transform:rotate(360deg)}}
.mfm-feedback{display:none;margin-top:18px;padding:12px 14px;border-radius:9px;font-size:14px;line-height:1.5}
.mfm-feedback.is-success,.mfm-feedback.is-error{display:block}
.mfm-feedback.is-success{background:#eef8ef;color:#22652d;border:1px solid #cae8ce}
.mfm-feedback.is-error{background:#fff1f0;color:#9c2f27;border:1px solid #f0c8c4}
.mfm-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.mfm-recaptcha-wrap{margin-top:20px;max-width:100%;overflow:hidden}
.mfm-recaptcha-note{margin-top:12px;color:#8d8279;font-size:11px;line-height:1.4;max-width:620px}
@media(max-width:900px){.mfm-time-slots--grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:767px){.mfm-grid,.mfm-reservation-basics,.mfm-reservation-basics.is-two{grid-template-columns:1fr;gap:16px}.mfm-field.mfm-full{grid-column:auto}.mfm-time-slots{gap:7px}.mfm-time-slots--grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mfm-time-slots--compact .mfm-time-slot{flex-basis:68px;width:68px!important;min-width:68px!important;max-width:68px!important;padding:5px 6px}}
@media(max-width:480px){.mfm-time-slots--grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:360px){.mfm-recaptcha{transform:scale(.90);transform-origin:left top;margin-bottom:-8px}}

/* Success popup */
html.mfm-modal-open{overflow:hidden}
.mfm-success-modal{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:20px}
.mfm-success-modal.is-open{display:flex}
.mfm-success-backdrop{position:absolute;inset:0;background:rgba(24,21,19,.58);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.mfm-success-dialog{position:relative;z-index:1;width:min(100%,560px);background:#fff;border-radius:24px;padding:34px;box-shadow:0 18px 50px rgba(29,24,20,.18);text-align:center;color:#302821}
.mfm-success-close{position:absolute;top:14px;right:14px;width:38px;height:38px;border:0;border-radius:50%;background:#c95c21;color:#fff;font-size:28px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:transform .2s ease,opacity .2s ease}
.mfm-success-close:hover{transform:scale(1.04);opacity:.9}
.mfm-success-icon{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;background:#f8ece6;color:#c95c21}
.mfm-success-icon svg{width:30px;height:30px}
.mfm-success-dialog h3{margin:0 42px 10px;font-size:30px;line-height:1.15;font-weight:500;color:#302821}
.mfm-success-message{margin:0 auto;max-width:450px;font-size:16px;line-height:1.55;color:#6f655e}
.mfm-success-fast{margin:18px 0 14px;font-size:14px;line-height:1.45;font-weight:600;color:#302821}
.mfm-success-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px;row-gap:12px;margin-top:18px}
.mfm-success-btn{min-width:0;min-height:52px;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:12px 16px;text-decoration:none!important;font-size:15px;line-height:1.2;font-weight:600;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}
.mfm-success-btn:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(38,32,28,.09);opacity:.96}
.mfm-success-btn svg{width:18px;height:18px;flex:0 0 18px}
.mfm-success-whatsapp,.mfm-success-phone{background:#c95c21;color:#fff!important}
.mfm-success-instagram{grid-column:1/-1;background:#302c29;color:#fff!important}
@media(max-width:560px){
  .mfm-success-modal{padding:14px}
  .mfm-success-dialog{padding:30px 20px 22px;border-radius:20px}
  .mfm-success-dialog h3{font-size:26px;margin-left:36px;margin-right:36px}
  .mfm-success-actions{grid-template-columns:1fr;column-gap:0;row-gap:10px;margin-top:16px}
  .mfm-success-instagram{grid-column:auto}
  .mfm-success-btn{min-height:50px}
}

/* v1.5.2 reservation layout: when time is selected with chips, the header only contains group size + date. */
.mfm-reservation-basics.is-two{grid-template-columns:repeat(2,minmax(0,1fr))!important}

/* Reservation Tajine quantities: compact multi-select cards, two columns on desktop. */
.mfm-tagine-field{grid-column:1/-1;border:0;padding:0;margin:0;min-width:0}
.mfm-tagine-field legend{font-size:14px;font-weight:600;line-height:1.3;color:#302821;padding:0;margin:0 0 8px}
.mfm-tagine-field legend span{color:#c95c21}
.mfm-tagine-help{margin:0 0 12px;color:#746b64;font-size:13px;line-height:1.45}
.mfm-tagine-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mfm-tagine-option{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;border:1px solid #e2dcd6;border-radius:16px;background:#fff}
.mfm-tagine-name{font-size:14px;line-height:1.35;color:#302821;min-width:0}
.mfm-tagine-qty-label{display:flex;align-items:center;gap:7px;margin:0;font-size:12px!important;font-weight:500!important;color:#746b64!important}
.mfm-tagine-qty-label span{color:inherit!important}
.mfm-tagine-qty-label .mfm-tagine-qty{width:96px!important;min-width:96px!important;max-width:96px!important;min-height:40px!important;height:40px;box-sizing:border-box;padding:5px 38px 5px 14px!important;border-radius:999px;font-variant-numeric:tabular-nums;line-height:1.2}
@media(max-width:767px){.mfm-tagine-options{grid-template-columns:1fr}.mfm-tagine-option{gap:10px;padding:10px}.mfm-tagine-qty-label .mfm-tagine-qty{width:92px!important;min-width:92px!important;max-width:92px!important;padding-right:36px!important}}


/* Cooking workshop form */
.mfm-workshop-grid .mfm-field-note{margin-top:2px;font-size:13px;line-height:1.45;color:#786e66}
@media (max-width:767px){.mfm-workshop-grid{grid-template-columns:1fr}}
