/* Contact page – hero, get in touch, map, enquiry + catering forms */
:root{--mm-ink:#1a2420;--mm-mute:#5b6b63;--mm-line:#e3e9e5;--mm-soft:#eef2ef;--mm-gold:#c9a24a;--mm-gold-d:#b8862b;--mm-orange:#d2691e}
.mm-gold{color:var(--mm-gold)}
/* hero: compact, image full-bleed */
.kd-contact-hero-header-component{position:relative;overflow:hidden;height:auto;min-height:clamp(520px,66vh,720px);justify-content:flex-end;color:#fff}
.kd-contact-hero-header-image-wrapper{position:absolute;inset:0;flex:none}
.kd-contact-hero-header-component>.kd-padding-global{position:relative;z-index:1}
.kd-contact-hero-header-content-left h1,.kd-contact-hero-header-content-right p{color:#fff}
.kd-contact-hero-header-background-image-wrapper{background-image:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.35) 50%,rgba(0,0,0,.6) 100%)}
.kd-contact-hero-header-background-image{object-position:50% 50%;transform:scale(1.04);animation:mmCHero 18s ease-in-out infinite alternate}
@keyframes mmCHero{from{transform:scale(1.04)}to{transform:scale(1.1)}}
.kd-section-contact-hero-header .kd-padding-vertical.padding-xxlarge{padding-top:8.5rem;padding-bottom:3.5rem}
.kd-contact-hero-header-content-wrapper{align-items:end}
.kd-contact-hero-header-content-left h1{font-size:clamp(3rem,6.2vw,5.6rem);line-height:.92;margin:0}
.kd-contact-hero-header-content-right p{font-size:1.1rem;line-height:1.6;max-width:34rem}
.kd-section-contact-hero-header .kd-button-group{display:flex;gap:.9rem;flex-wrap:wrap}
.kd-section-contact-hero-header .kd-button-group a{min-width:220px;height:52px;display:inline-flex;align-items:center;justify-content:center;padding:0 1.5rem;border-radius:6px;font-family:var(--heading);font-size:1.2rem;letter-spacing:.09em;text-transform:uppercase;line-height:1;text-decoration:none;box-sizing:border-box;border:2px solid #fff;transition:transform .2s,background .2s,color .2s}
.kd-section-contact-hero-header .kd-button-group a.kd-button{background:#fff;color:var(--urban-green);box-shadow:0 10px 24px rgba(0,0,0,.3)}
.kd-section-contact-hero-header .kd-button-group a.kd-button-secondary{background:rgba(255,255,255,.08);color:#fff}
.kd-section-contact-hero-header .kd-button-group a:hover{transform:translateY(-2px)}
.kd-section-contact-hero-header .kd-button-group a.kd-button-secondary:hover{background:#fff;color:var(--urban-green)}
/* get in touch */
.kd-section-contact-contact .kd-padding-section-large{padding-top:4rem;padding-bottom:3rem}
.kd-contact-content{grid-template-columns:.6fr 1fr;align-items:stretch}
.kd-contact-list{grid-row-gap:1.8rem}
.kd-contact-item .kd-heading-style-h6{font-family:var(--heading);letter-spacing:.06em;text-transform:uppercase;font-size:1.35rem;color:var(--urban-green)}
.kd-contact-item .kd-text-style-link{font-size:1.1rem;color:var(--mm-ink)}
.kd-contact-item .kd-margin-bottom.margin-xsmall{margin-bottom:.3rem}
.mm-hours{display:grid;gap:.25rem;font-size:.95rem;max-width:22rem}
.mm-hours div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px dotted #cfd8d2;padding:.2rem 0}
.mm-hours div:last-child{border-bottom:0}
.mm-hours b{font-weight:600;color:var(--mm-ink)}
.mm-hours-lunch{margin-top:.35rem;color:var(--mm-gold-d)}
.mm-hours-lunch b{color:var(--mm-gold-d)}
.kd-contact-map-wrapper{position:relative;min-height:380px;border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,.1)}
.mm-map{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;filter:saturate(.9)}
/* forms */
.mm-cf{background:var(--mm-soft);border-top:1px solid var(--mm-line)}
.mm-cf .kd-padding-section-large{padding-top:4rem;padding-bottom:4.5rem}
.mm-cf-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem 4rem;align-items:start}
.mm-cf-side{position:sticky;top:calc(var(--mm-navh,88px) + 20px)}
.mm-cf-side .kd-text-style-tagline{color:var(--mm-gold-d);margin-bottom:.5rem}
.mm-cf-side h2{color:var(--urban-green);font-size:clamp(2.4rem,4vw,3.4rem);line-height:.95;margin:0 0 1rem}
.mm-cf-side>p{color:var(--mm-mute)}
.mm-cf-points{list-style:none;margin:1.25rem 0 0;padding:0;display:grid;gap:.75rem}
.mm-cf-points li{position:relative;padding-left:1.4rem;font-size:.97rem;line-height:1.55;color:var(--mm-ink)}
.mm-cf-points li::before{content:"";position:absolute;left:0;top:.55em;width:.6rem;height:.6rem;border-radius:50%;background:var(--mm-gold)}
.mm-cf-points b{color:var(--urban-green)}
.mm-cf-direct{margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--mm-line);display:flex;flex-direction:column;gap:.15rem}
.mm-cf-direct span{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mm-mute)}
.mm-cf-direct a{font-family:var(--heading);font-size:1.7rem;letter-spacing:.04em;color:var(--urban-green);text-decoration:none}
.mm-cf-card{background:#fff;border:1px solid var(--mm-line);border-radius:16px;padding:1.75rem 2rem 2rem;box-shadow:0 20px 50px rgba(20,40,30,.08);position:relative;overflow:hidden}
.mm-cf-card::before{content:"";position:absolute;left:0;top:0;right:0;height:5px;background:linear-gradient(90deg,var(--urban-green),var(--mm-gold))}
.mm-cf-tabs{display:flex;gap:.4rem;background:var(--mm-soft);padding:.35rem;border-radius:10px;margin-bottom:1.5rem}
.mm-cf-tabs button{flex:1;border:0;background:transparent;border-radius:8px;padding:.7rem .9rem;font-family:var(--heading);font-size:1.15rem;letter-spacing:.07em;text-transform:uppercase;color:var(--mm-mute);cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}
.mm-cf-tabs button.is-on{background:var(--urban-green);color:#fff;box-shadow:0 6px 16px rgba(31,69,20,.25)}
.mm-cf-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1.25rem}
.mm-cf-field{display:flex;flex-direction:column;gap:.35rem;margin:0}
.mm-cf-full{grid-column:1/-1}
.mm-cf-field>span{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mm-mute);font-weight:600}
.mm-cf-field em{color:var(--mm-orange);font-style:normal;margin-left:.15rem}
.mm-cf-field input,.mm-cf-field select,.mm-cf-field textarea{width:100%;box-sizing:border-box;border:1px solid #d6ded9;border-radius:8px;background:#fbfcfb;padding:.75rem .85rem;font-family:var(--body-text);font-size:1rem;color:var(--mm-ink);line-height:1.3;min-height:48px;transition:border-color .2s,box-shadow .2s;margin:0;appearance:none;-webkit-appearance:none}
.mm-cf-field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235b6b63' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .85rem center;padding-right:2.4rem}
.mm-cf-field textarea{min-height:130px;resize:vertical}
.mm-cf-field input:focus,.mm-cf-field select:focus,.mm-cf-field textarea:focus{outline:0;border-color:var(--urban-green);box-shadow:0 0 0 3px rgba(31,69,20,.12);background:#fff}
.mm-cf-field input::placeholder,.mm-cf-field textarea::placeholder{color:#9aa7a0}
.mm-cf-field.is-bad input,.mm-cf-field.is-bad select,.mm-cf-field.is-bad textarea{border-color:#d33;box-shadow:0 0 0 3px rgba(221,51,51,.12)}
.mm-cf-hp{position:absolute;left:-9999px;top:-9999px;height:0;overflow:hidden}
.mm-cf-foot{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;margin-top:1.4rem}
.mm-cf-foot .kd-button{min-width:220px;height:52px;display:inline-flex;align-items:center;justify-content:center;padding:0 1.6rem;border-radius:8px;border:0;background:var(--urban-green);color:#fff;font-family:var(--heading);font-size:1.2rem;letter-spacing:.09em;text-transform:uppercase;line-height:1;cursor:pointer;transition:transform .2s,box-shadow .2s,opacity .2s;box-shadow:0 10px 24px rgba(31,69,20,.25)}
.mm-cf-foot .kd-button:hover{transform:translateY(-2px)}
.mm-cf-foot .kd-button[disabled]{opacity:.6;cursor:wait;transform:none}
.mm-cf-note{font-size:.85rem;color:var(--mm-mute)}
.mm-cf-err{margin-top:1rem;background:#fff2f2;border:1px solid #f1b8b8;color:#8a1f1f;border-radius:8px;padding:.7rem .9rem;font-size:.92rem}
.mm-cf-done{text-align:center;padding:2.5rem 1rem 1.5rem}
.mm-cf-done-ic{width:64px;height:64px;border-radius:50%;background:var(--urban-green);color:#fff;display:grid;place-items:center;font-size:2rem;margin:0 auto 1rem}
.mm-cf-done h3{font-family:var(--heading);font-size:2.2rem;letter-spacing:.03em;color:var(--urban-green);margin:0 0 .5rem}
.mm-cf-done p{color:var(--mm-mute);margin:0 0 .4rem}
.mm-cf-ref{font-size:.85rem}
.mm-cf-ref b{color:var(--mm-ink);letter-spacing:.08em}
.mm-cf-done .kd-button-secondary{margin-top:1.25rem;min-width:220px;height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid var(--urban-green);color:var(--urban-green);background:#fff;font-family:var(--heading);font-size:1.1rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
@media (max-width:991px){
 .kd-contact-hero-header-component{min-height:clamp(480px,60vh,640px)}
 .kd-contact-hero-header-content-wrapper{grid-template-columns:1fr;grid-row-gap:1.5rem}
 .kd-contact-content{grid-template-columns:1fr;grid-row-gap:2rem}
 .kd-contact-list{grid-template-columns:1fr 1fr;grid-row-gap:1.6rem}
 .kd-contact-map-wrapper{min-height:320px}
 .mm-cf-wrap{grid-template-columns:1fr;gap:2rem}
 .mm-cf-side{position:static}
}
@media (max-width:767px){
 .kd-section-contact-hero-header .kd-padding-vertical.padding-xxlarge{padding-top:7.5rem;padding-bottom:2.5rem}
 .kd-contact-hero-header-content-left h1{font-size:2.9rem}
 .kd-section-contact-hero-header .kd-button-group a{width:100%}
 .kd-contact-list{grid-template-columns:1fr}
 .kd-contact-map-wrapper{min-height:260px}
 .mm-cf-card{padding:1.25rem 1.1rem 1.5rem;border-radius:12px}
 .mm-cf-tabs button{font-size:1rem;padding:.65rem .5rem}
 .mm-cf-grid{grid-template-columns:1fr;gap:.9rem}
 .mm-cf-foot .kd-button{width:100%}
}
