:root{--mg-navy:#12375f;--mg-blue:#0b8bd8;--mg-gold:#f2a51f;--mg-muted:#60758b;--mg-shadow:0 20px 55px rgba(12,45,80,.16)}
html{scroll-behavior:smooth}html,body{margin:0;padding:0;width:100%;min-height:100%;font-family:Arial,Helvetica,sans-serif;color:var(--mg-navy);background:#fff}*{box-sizing:border-box}a{text-decoration:none;color:inherit}button,input,select{font:inherit}
/* HEADER — fixed white background and controlled logo size */
.mg-header{display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;height:142px!important;min-height:142px!important;background:#fff!important;background-color:#fff!important;border-bottom:1px solid #e7edf3!important;position:relative!important;z-index:9999!important;overflow:hidden!important;box-sizing:border-box!important;margin:0!important;padding:0!important}
.mg-header-inner{display:grid!important;visibility:visible!important;width:min(1320px,calc(100% - 70px))!important;height:142px!important;min-height:142px!important;margin:0 auto!important;padding:0!important;grid-template-columns:280px minmax(420px,1fr) 390px;align-items:center;gap:20px}
.mg-logo-link{display:flex!important;visibility:visible!important;opacity:1!important;width:220px!important;height:142px!important;align-items:center;justify-content:center;margin:0!important;padding:0!important;overflow:hidden}
.mg-logo{display:block!important;width:205px!important;height:132px!important;max-width:205px!important;max-height:132px!important;min-width:0!important;object-fit:contain!important;object-position:center!important;margin:0!important;padding:0!important}
.mg-nav{display:flex!important;visibility:visible!important;opacity:1!important;align-items:center;justify-content:center;gap:38px;height:142px;white-space:nowrap}.mg-nav a{display:block;font-size:17px;color:#102f52;padding:55px 0 13px;border-bottom:3px solid transparent}.mg-nav a:hover,.mg-nav a.is-active{color:var(--mg-blue);font-weight:800;border-color:var(--mg-blue)}
.mg-contact{display:flex!important;visibility:visible!important;opacity:1!important;height:142px!important;display:flex;align-items:center;justify-content:flex-end;gap:30px}.mg-phone{display:flex;align-items:center;gap:11px}.mg-phone-icon{font-size:31px;color:var(--mg-blue);line-height:1}.mg-phone strong{display:block;font-size:20px;line-height:1.15}.mg-phone small{display:block;color:#61758b;font-size:13px;margin-top:4px}.mg-heart{display:flex;align-items:center;gap:9px}.mg-heart>span{font-size:35px;line-height:1;color:var(--mg-gold)}.mg-heart p{font-size:14px;line-height:1.35;margin:0}
/* HERO */
.mg-hero{height:485px;position:relative;background:linear-gradient(90deg,rgba(7,39,67,.42),rgba(7,39,67,.08) 65%,rgba(7,39,67,.02)),url('hero.jpg') center/cover no-repeat}.mg-hero-inner{width:min(1320px,calc(100% - 70px));margin:0 auto;padding:70px 0;color:#fff}.mg-script{font-family:'Segoe Print','Bradley Hand',cursive;font-size:64px;line-height:1;font-weight:600;text-shadow:0 2px 16px rgba(0,0,0,.25)}.mg-hero h1{font-size:56px;line-height:1;margin:7px 0 20px;font-weight:800;text-shadow:0 2px 16px rgba(0,0,0,.28)}.mg-location{font-size:22px;font-weight:700;text-shadow:0 2px 8px rgba(0,0,0,.25)}.mg-subtitle{font-size:18px;margin-top:10px}.mg-eyebrow{font-size:13px;letter-spacing:4px;font-weight:900;color:var(--mg-gold)}
/* BOOKING CARD */
.mg-booking{position:absolute;z-index:40;left:50%;top:385px;transform:translateX(-50%);width:min(1240px,calc(100% - 70px));background:#fff;border-radius:24px;padding:32px 34px 38px;box-shadow:var(--mg-shadow)}.mg-booking-head{text-align:center;margin-bottom:28px}.mg-booking-head h2{font-size:38px;line-height:1.1;margin:7px 0 0;color:var(--mg-navy)}.mg-fields{display:grid;grid-template-columns:1.25fr 1fr 1fr .82fr 1.2fr;gap:15px;align-items:end}.mg-field label{display:block;font-size:14px;font-weight:800;margin:0 0 8px}.mg-control{width:100%;height:54px;border:1px solid #d4dfe8;border-radius:11px;padding:0 15px;background:#fff;color:#29435e;outline:none}.mg-control:focus{border-color:#1686d1;box-shadow:0 0 0 3px rgba(8,125,204,.1)}.mg-button{height:54px;border:0;border-radius:28px;background:linear-gradient(90deg,#087dcc,#1598df);color:#fff;font-weight:900;font-size:14px;cursor:pointer;box-shadow:0 10px 25px rgba(8,125,204,.24);white-space:nowrap}.mg-button span{font-size:22px;margin-left:7px}
.mg-benefits{margin-top:155px;background:#fff;border-bottom:1px solid #e4ebf2}.mg-benefit-row{width:min(1240px,calc(100% - 70px));margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr)}.mg-benefit{min-height:90px;display:flex;align-items:center;gap:13px;padding:14px 22px;border-right:1px solid #dce5ee}.mg-benefit:last-child{border-right:0}.mg-benefit-icon{width:42px;text-align:center;font-size:31px;color:var(--mg-navy)}.mg-benefit b{display:block;font-size:15px}.mg-benefit small{display:block;color:var(--mg-muted);font-size:13px;margin-top:5px}
.mg-apartments{padding:55px 30px 75px;background:#fff}.mg-section-title{text-align:center}.mg-section-title h2{font-size:36px;margin:8px 0 30px}.mg-cards{width:min(1240px,100%);margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.mg-card{border:1px solid #d8e2ec;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 7px 20px rgba(20,50,75,.07)}.mg-photo{height:175px;background:#eef4f8;display:flex;align-items:center;justify-content:center;color:#718398}.mg-card h3{font-size:18px;margin:13px 14px 8px}.mg-meta{display:flex;justify-content:space-between;padding:0 14px 15px;color:#536b84;font-size:13px}.mg-more{display:inline-flex!important;width:max-content!important;max-width:max-content!important;min-width:0!important;height:48px!important;min-height:48px!important;max-height:48px!important;box-sizing:border-box!important;grid-column:auto!important;justify-self:auto!important;align-self:auto!important;align-items:center;gap:8px;margin:18px auto 0!important;border:1px solid var(--mg-blue);color:#0873b9;padding:0 18px!important;border-radius:24px;font-size:13px;font-weight:800;white-space:nowrap;line-height:1!important;float:none!important}.mg-more span{font-size:17px;margin-left:0}.mg-footer{background:#0b2f52;color:#fff;text-align:center;padding:28px}.mg-footer b{color:#ffd06b}
/* MOBILE/TABLET */
@media(max-width:1100px){.mg-header-inner{grid-template-columns:220px 1fr 280px}.mg-logo-link{width:205px!important}.mg-logo{width:190px!important;height:132px!important;max-width:190px!important}.mg-nav{gap:22px}.mg-contact{gap:14px}.mg-heart{display:none}.mg-fields{grid-template-columns:1fr 1fr 1fr}.mg-button{grid-column:1/-1}.mg-benefits{margin-top:235px}.mg-cards{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.mg-header{height:95px!important}.mg-header-inner{width:calc(100% - 24px);height:95px;display:flex;justify-content:center}.mg-logo-link{width:175px!important;height:95px!important}.mg-logo{width:175px!important;height:90px!important;max-width:175px!important;max-height:90px!important}.mg-nav,.mg-contact{display:none}.mg-hero{height:540px}.mg-hero-inner{width:calc(100% - 36px);padding:60px 0}.mg-script{font-size:42px}.mg-hero h1{font-size:40px}.mg-location{font-size:18px}.mg-booking{top:300px;width:calc(100% - 24px);padding:23px}.mg-booking-head h2{font-size:30px}.mg-fields{grid-template-columns:1fr}.mg-button{grid-column:auto}.mg-benefits{margin-top:405px}.mg-benefit-row{width:calc(100% - 24px);grid-template-columns:1fr 1fr}.mg-benefit{border:0;border-bottom:1px solid #e4ebf2;padding:12px 5px}.mg-apartments{padding:42px 18px}.mg-cards{grid-template-columns:1fr}.mg-section-title h2{font-size:30px}}


/* V12 - stała kolejność i numeracja apartamentów */
.mg-photo{position:relative;}
.mg-card-number{position:absolute;left:12px;top:12px;width:34px;height:34px;border-radius:50%;background:#0b3156;color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;box-shadow:0 4px 12px rgba(0,0,0,.18);z-index:2;}

/* V14 — zdjęcia apartamentów */
.mg-photo{position:relative;overflow:hidden;background:#eef4f8;height:175px}
.mg-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .35s ease}
.mg-card:hover .mg-photo img{transform:scale(1.035)}
.mg-card-number{z-index:3}
@media(max-width:760px){.mg-photo{height:210px}}


/* V15 — galerie zdjęć nowych apartamentów */
.mg-gallery-open{position:absolute;right:12px;bottom:12px;border:0;border-radius:20px;background:rgba(8,47,80,.92);color:#fff;padding:9px 13px;font-size:11px;font-weight:900;letter-spacing:.4px;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.2)}
.mg-gallery-open:hover{background:#087dcc}
.mg-gallery{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;padding:30px}
.mg-gallery.is-open{display:flex}
.mg-gallery-backdrop{position:absolute;inset:0;background:rgba(5,25,43,.78);backdrop-filter:blur(3px)}
.mg-gallery-box{position:relative;z-index:2;width:min(1050px,96vw);max-height:90vh;overflow:auto;background:#fff;border-radius:22px;padding:25px;box-shadow:0 25px 80px rgba(0,0,0,.35)}
.mg-gallery-title{font-size:24px;font-weight:900;color:var(--mg-navy);margin:0 45px 18px 0}
.mg-gallery-close{position:absolute;right:17px;top:13px;width:40px;height:40px;border:0;border-radius:50%;background:#edf5fb;color:#12375f;font-size:30px;line-height:1;cursor:pointer}
.mg-gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.mg-gallery-grid img{display:block;width:100%;height:300px;object-fit:cover;border-radius:13px;background:#eef4f8}
.mg-gallery-grid img:first-child{grid-column:1/-1;height:390px}
.mg-no-scroll{overflow:hidden}
@media(max-width:760px){
  .mg-gallery{padding:12px}
  .mg-gallery-box{padding:16px;border-radius:17px;max-height:94vh}
  .mg-gallery-grid{grid-template-columns:1fr}
  .mg-gallery-grid img,.mg-gallery-grid img:first-child{height:220px}
}

/* V23: DEFINITIVE SMALL AVAILABILITY BUTTON */
.mg-apartments > .mg-more{display:flex!important;width:max-content!important;height:48px!important;min-height:48px!important;max-height:48px!important;box-sizing:border-box!important;margin:18px auto 0!important;padding:0 18px!important;grid-column:auto!important;}

/* V24: availability button is outside the apartment grid */
.mg-apartments > .mg-more{
  display:flex!important;
  width:max-content!important;
  max-width:none!important;
  min-width:0!important;
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  align-items:center!important;
  justify-content:center!important;
  justify-self:center!important;
  margin:20px auto 0!important;
  padding:0 18px!important;
  box-sizing:border-box!important;
  border:1px solid var(--mg-blue)!important;
  border-radius:24px!important;
  line-height:1!important;
}


/* V20 — miesięczny kalendarz dostępności przy rezerwacji */
.mg-calendar{margin-top:20px;padding:22px 24px;background:#fff;border:1px solid #dbe5ee;border-radius:18px;box-shadow:0 8px 24px rgba(20,50,75,.06)}
.mg-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:13px}
.mg-calendar-title{font-size:18px;font-weight:900;color:var(--mg-navy)}
.mg-calendar-sub{font-size:12px;color:var(--mg-muted);margin-top:4px}
.mg-calendar-nav{display:flex;align-items:center;gap:13px;color:var(--mg-navy);min-width:210px;justify-content:flex-end}
.mg-calendar-nav strong{text-transform:capitalize;font-size:16px;min-width:120px;text-align:center}
.mg-calendar-arrow{width:34px;height:34px;border:1px solid #d4e0e8;border-radius:50%;background:#fff;color:var(--mg-navy);font-size:25px;line-height:1;cursor:pointer}
.mg-calendar-arrow:hover:not(:disabled){background:#eef7fd;border-color:#9ccbea;color:var(--mg-blue)}
.mg-calendar-arrow:disabled{opacity:.35;cursor:not-allowed}
.mg-calendar-legend{display:flex;flex-wrap:wrap;gap:18px;margin:8px 0 14px;font-size:12px;color:#60758b}
.mg-calendar-legend span{display:inline-flex;align-items:center;gap:7px}
.mg-dot{display:inline-block;width:12px;height:12px;border-radius:50%;border:1px solid #cbd9e4}.mg-dot.free{background:#eaf7ee;border-color:#93cda5}.mg-dot.busy{background:#fdeaea;border-color:#e4a1a1}.mg-dot.selected{background:#dff1ff;border-color:#70b9e7}
.mg-calendar-weekdays,.mg-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.mg-calendar-weekdays{margin-bottom:6px}.mg-calendar-weekdays span{text-align:center;font-size:11px;font-weight:900;color:#7890a5;padding:5px 0}
.mg-cal-day{min-height:40px;border:1px solid #e0e8ef;border-radius:9px;background:#f8fbfd;color:#244766;font-weight:800;font-size:13px;cursor:pointer;position:relative}
.mg-cal-day.free:hover{border-color:#1591d5;background:#eef8ff;transform:translateY(-1px)}
.mg-cal-day.busy{background:#fdeeee;border-color:#efc4c4;color:#b36a6a;cursor:not-allowed;text-decoration:line-through}
.mg-cal-day.selected{background:#dff1ff;border-color:#51a8dd;color:#075f91}
.mg-cal-day.arrival:after,.mg-cal-day.departure:after{position:absolute;bottom:3px;left:50%;transform:translateX(-50%);font-size:8px;font-weight:900;text-transform:uppercase;color:#0878c9}
.mg-cal-day.arrival:after{content:'przyjazd'}.mg-cal-day.departure:after{content:'wyjazd'}
.mg-cal-day.empty{border:0;background:transparent;cursor:default}.mg-cal-day.no-apartment{opacity:.45;cursor:not-allowed}
.mg-calendar-status{margin-top:14px;padding:11px 13px;border-radius:10px;background:#f4f9fd;color:#587087;font-size:13px;font-weight:700;text-align:center}
.mg-calendar-help{font-size:11px;color:#71869a;text-align:center;margin-top:9px}
@media(max-width:760px){.mg-calendar{padding:17px 12px}.mg-calendar-head{align-items:flex-start;flex-direction:column}.mg-calendar-nav{width:100%;min-width:0;justify-content:space-between}.mg-calendar-nav strong{flex:1}.mg-calendar-weekdays,.mg-calendar-grid{gap:4px}.mg-cal-day{min-height:37px;font-size:12px}.mg-cal-day.arrival:after,.mg-cal-day.departure:after{font-size:6px}.mg-calendar-legend{gap:10px}}
