/* Dedicated MINVODY contact page. The shared shell, bubbles, type and footer
   are inherited from product-polish.css. */

body{background:#fff}

.contact-intro{
  position:relative;
  padding:72px 0 60px;
  overflow:hidden;
  background:#fff;
}
.contact-intro__content{max-width:1240px}
.contact-intro h1{
  width:100%;max-width:none;margin:0;
  font-family:var(--font-display);font-size:clamp(45px,4.1vw,58px);
  font-weight:300;line-height:1.1;letter-spacing:-.02em;color:var(--navy)
}
.contact-intro h1 i{font-style:italic;color:var(--blue)}
.contact-intro p{max-width:88ch;margin:22px 0 0;font-size:16.5px;line-height:1.72;color:var(--ink)}

.map-section{position:relative;padding:18px 0 0;background:#fff}
.map-stage{position:relative;--panel-straddle:102px;margin-bottom:var(--panel-straddle)}
.map-frame{
  position:relative;z-index:0;height:580px;overflow:hidden;border-radius:30px;
  border:1px solid rgba(14,32,56,.08);background:#DCE9F1;
  box-shadow:0 20px 48px rgba(14,32,56,.07)
}
.map-frame .leaflet-container{font-family:var(--font-body);background:#DCE9F1}
.map-frame .leaflet-tile-pane{filter:grayscale(.62) saturate(.72) sepia(.04) hue-rotate(166deg) brightness(1.08) contrast(.88)}
.map-frame .leaflet-control-zoom{margin:20px 20px 0 0;border:0!important;box-shadow:0 10px 24px rgba(14,32,56,.13)!important}
.map-frame .leaflet-control-zoom a{width:38px;height:38px;line-height:38px;border:0!important;color:var(--navy);background:rgba(255,255,255,.93)}
.map-frame .leaflet-control-attribution{font-size:9px;background:rgba(255,255,255,.8)}
.mv-map-marker{background:transparent;border:0}
.mv-map-marker span{display:block;width:24px;height:24px;border:6px solid #fff;border-radius:50% 50% 50% 0;background:var(--blue);box-shadow:0 9px 20px rgba(14,32,56,.27);transform:rotate(-45deg)}
.leaflet-popup-content-wrapper{border-radius:15px;box-shadow:0 14px 30px rgba(14,32,56,.15)}
.leaflet-popup-content{font-family:var(--font-body);font-size:12.5px;line-height:1.55;color:var(--ink);margin:14px 17px}
.leaflet-popup-content strong{display:block;font-family:var(--font-display);font-size:17px;font-weight:400;color:var(--navy);margin-bottom:2px}

.locations-panel{
  position:absolute;z-index:6;left:32px;right:32px;bottom:calc(0px - var(--panel-straddle));display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0;width:auto;margin:0;padding:13px;
  border:1px solid rgba(14,32,56,.09);border-radius:24px;background:rgba(255,255,255,.94);
  box-shadow:0 18px 44px rgba(14,32,56,.11);backdrop-filter:blur(16px) saturate(1.12)
}
.location-item{position:relative;min-width:0;padding:20px 20px 18px;border:0;border-radius:16px;text-align:left;background:transparent;color:var(--ink);cursor:pointer;transition:background .35s ease,transform .4s cubic-bezier(.16,1,.3,1)}
.location-item+ .location-item::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:1px;background:rgba(14,32,56,.09)}
.location-item:hover,.location-item.is-active{background:#F1F7FB;transform:translateY(-2px)}
.location-item__type{display:block;margin-bottom:7px;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.location-item strong{display:block;margin-bottom:7px;font-family:var(--font-display);font-size:19px;font-weight:400;line-height:1.25;color:var(--navy)}
.location-item address{font-style:normal;font-size:12.5px;line-height:1.55;color:var(--ink)}
.location-item__contact{display:block;margin-top:7px;font-size:11.5px;line-height:1.5;color:var(--blue)}

.primary-contact{position:relative;padding:116px 0 120px;background:#fff}
.section-head{max-width:900px;margin:0 auto 58px;text-align:center}
.section-head h2{margin:0;font-family:var(--font-display);font-size:clamp(35px,4vw,54px);font-weight:300;line-height:1.12;letter-spacing:-.016em;color:var(--navy);text-wrap:balance}
.section-head h2 i{font-style:italic;color:var(--blue)}
.contact-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:1080px;margin:0 auto}
.contact-detail{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;padding:0 38px;text-align:center}
.contact-detail+ .contact-detail::before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:1px;background:rgba(14,32,56,.11)}
.contact-detail__icon{width:50px;height:50px;margin-bottom:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--blue);background:#EAF3FA}
.contact-detail__icon svg{width:22px;height:22px}
.contact-detail__label{margin-bottom:9px;font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.contact-detail strong{font-family:var(--font-display);font-size:20px;font-weight:400;line-height:1.4;color:var(--navy)}
.contact-detail span,.contact-detail a{font-size:14.5px;line-height:1.7;color:var(--ink)}
.contact-detail a{transition:color .25s ease}.contact-detail a:hover{color:var(--blue)}

.contact-form-section{position:relative;padding:112px 0 126px;overflow:hidden;background:#EAF1F7}
.contact-form-section::before,.contact-form-section::after{content:"";position:absolute;border:1px solid rgba(112,187,232,.25);border-radius:50%;background:radial-gradient(circle at 31% 27%,rgba(255,255,255,.8) 0 5%,rgba(188,228,249,.25) 34%,rgba(90,163,230,.03) 74%);box-shadow:inset -10px -12px 20px rgba(58,137,197,.1),inset 6px 6px 12px rgba(255,255,255,.45),0 14px 28px rgba(44,107,166,.07);animation:minvodyWaterFloat 16s var(--ease-premium) infinite alternate;pointer-events:none}
.contact-form-section::before{width:86px;height:86px;left:6%;top:16%}.contact-form-section::after{width:48px;height:48px;right:8%;bottom:17%;animation-duration:12s;animation-delay:-7s}
.form-wrap{position:relative;z-index:2;max-width:1120px}
.form-intro{max-width:700px;margin:0 auto 50px;text-align:center}
.form-intro h2{margin:0 0 16px;font-family:var(--font-display);font-size:clamp(35px,4vw,54px);font-weight:300;line-height:1.12;color:var(--navy)}
.form-intro p{margin:0;font-size:16px;line-height:1.75;color:var(--ink)}
.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 26px}
.form-field{display:flex;min-width:0;flex-direction:column;gap:9px}
.form-field--wide{grid-column:1/-1}
.form-field label{font-size:12px;font-weight:800;letter-spacing:.07em;color:var(--navy)}
.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid rgba(14,32,56,.12);border-radius:14px;background:#fff;color:var(--navy);font-family:var(--font-body);font-size:15px;box-shadow:0 7px 18px rgba(14,32,56,.025);outline:0;transition:border-color .3s ease,box-shadow .3s ease}
.form-field input,.form-field select{height:58px;padding:0 17px}
.form-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--blue) 50%),linear-gradient(135deg,var(--blue) 50%,transparent 50%);background-position:calc(100% - 21px) 25px,calc(100% - 16px) 25px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:44px}
.form-field textarea{min-height:190px;padding:17px;resize:vertical;line-height:1.65}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(44,120,184,.12)}
.form-actions{grid-column:1/-1;display:flex;justify-content:center;padding-top:10px}
.form-actions .btn{min-width:190px;justify-content:center}

.contact-reveal{opacity:0;transform:translateY(18px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
.contact-reveal.is-visible{opacity:1;transform:none}

@media(max-width:1100px){
  .map-stage{--panel-straddle:189px}
  .locations-panel{left:24px;right:24px;grid-template-columns:repeat(3,minmax(0,1fr));width:auto}
  .location-item:nth-child(4)::before{display:none}
}

@media(max-width:900px){
  .contact-intro{padding:64px 0 54px}
  .map-frame{height:520px;border-radius:24px}
  .primary-contact{padding:104px 0 106px}
  .contact-detail{padding:0 24px}
  .contact-form-section{padding:100px 0 112px}
}

@media(max-width:700px){
  .contact-intro{padding:52px 0 48px}
  .contact-intro h1{font-size:36px}
  .contact-intro p{font-size:15px;line-height:1.72}
  .map-section{padding-top:4px}
  .map-frame{height:930px;border-radius:22px}
  .map-stage{--panel-straddle:435px}
  .locations-panel{left:12px;right:12px;grid-template-columns:1fr;width:auto;margin:0;padding:9px;border-radius:20px}
  .location-item{padding:17px 17px 16px}
  .location-item+ .location-item::before{left:17px;right:17px;top:0;bottom:auto;width:auto;height:1px}
  .primary-contact{padding:86px 0 92px}
  .section-head{margin-bottom:43px}.section-head h2{font-size:31px}
  .contact-details{grid-template-columns:1fr;gap:35px}
  .contact-detail{padding:0 18px}
  .contact-detail+ .contact-detail::before{left:50%;top:-18px;bottom:auto;width:54px;height:1px;transform:translateX(-50%)}
  .contact-form-section{padding:84px 0 94px}
  .contact-form-section::before{width:60px;height:60px;left:-18px}.contact-form-section::after{display:none}
  .form-intro{margin-bottom:39px}.form-intro h2{font-size:31px}.form-intro p{font-size:15px}
  .contact-form{grid-template-columns:1fr;gap:20px}
  .form-field--wide,.form-actions{grid-column:auto}
  .form-field input,.form-field select{height:56px}
  .form-field textarea{min-height:170px}
  .form-actions{justify-content:stretch}.form-actions .btn{width:100%}
}

@media(prefers-reduced-motion:reduce){
  .contact-reveal{opacity:1;transform:none}
  .contact-form-section::before,.contact-form-section::after{animation:none}
}
