/* Mio Decor 8.64.19 — CTA w kolorach marki. Jedyny arkusz odpowiedzialny za komponent.
   Czysta forma: biel, błękit i grafit; bez dekoracyjnych gradientów i aureoli. */
.gallery-cta { padding:26px 0 50px; background:#fff; }
.gallery-cta > .container { width:min(1280px,calc(100% - 64px)); margin-inline:auto; }
.gallery-cta__panel {
  position:relative; border:1px solid #dce8ef; border-radius:16px;
  padding:34px 40px 22px; background:#f5f9fb; color:#1c2c38;
  box-shadow:0 5px 20px rgba(35,78,108,.055);
}
.gallery-cta__main {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(250px,310px);
  gap:36px; align-items:center;
}
.gallery-cta__eyebrow {
  display:flex; align-items:center; gap:10px; margin:0 0 14px;
  font:700 11px/1.35 var(--mio-font-body); letter-spacing:.11em; color:#286f9c;
}
.gallery-cta__dot {
  width:17px; height:2px; flex:0 0 17px; border-radius:2px; background:#5691b8;
}
.gallery-cta__title {
  max-width:680px; margin:0 0 12px;
  font:700 clamp(26px,2.75vw,38px)/1.2 var(--mio-font-heading);
  letter-spacing:-.03em; color:#16232d; text-wrap:balance;
}
.gallery-cta__description {
  max-width:620px; margin:0; color:#516475;
  font:400 15px/1.65 var(--mio-font-body);
}
.gallery-cta__action { display:flex; flex-direction:column; gap:10px; align-items:stretch; }
.gallery-cta__button {
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:14px 19px 14px 21px; min-height:58px; min-width:0;
  background:#387da7; color:#fff; text-decoration:none; border-radius:8px;
  font:700 15px/1.35 var(--mio-font-body);
  transition:background .18s ease;
}
.gallery-cta__button-icon {
  display:grid; place-items:center; flex:0 0 22px; width:22px; height:22px;
  color:#fff; font:400 24px/1 var(--mio-font-body);
}
.gallery-cta__button:hover { background:#286f9c; }
.gallery-cta__benefit {
  margin:0; text-align:center;
  font:400 11px/1.5 var(--mio-font-body); color:#617589;
}
.gallery-cta__footer {
  display:flex; align-items:center; gap:16px 27px; flex-wrap:wrap;
  margin-top:27px; padding-top:17px; border-top:1px solid #d9e5eb;
}
.gallery-cta__footer-label { font:500 12px/1.4 var(--mio-font-body); color:#637584; }
.gallery-cta__contact {
  display:inline-flex; align-items:center; gap:9px; min-width:0;
  text-decoration:none; font:600 14px/1.4 var(--mio-font-body);
  color:#286f9c; overflow-wrap:anywhere;
}
.gallery-cta__contact .mio-icon { width:18px; height:18px; flex:none; stroke:#5691b8; }
.gallery-cta__contact:hover { color:#174c70; text-decoration:underline; text-underline-offset:3px; }
.gallery-cta__experience { margin-left:auto; font:500 12px/1.4 var(--mio-font-body); color:#657b8c; }
.gallery-cta a:focus-visible { outline:3px solid #247ab3; outline-offset:4px; }
@media (min-width:761px) and (max-width:1100px) {
  .gallery-cta > .container { width:calc(100% - 48px); }
  .gallery-cta__panel { padding:28px 28px 21px; }
  .gallery-cta__main { grid-template-columns:minmax(0,1fr) minmax(210px,260px); gap:24px; }
  .gallery-cta__title { font-size:clamp(25px,3vw,34px); }
  .gallery-cta__button { font-size:13px; padding-inline:16px; }
  .gallery-cta__experience { display:none; }
}
@media (max-width:760px) {
  .gallery-cta { padding:22px 0 40px; }
  .gallery-cta > .container { width:calc(100% - 32px); max-width:430px; }
  .gallery-cta__panel { padding:27px 22px 21px; border-radius:13px; }
  .gallery-cta__main { grid-template-columns:minmax(0,1fr); gap:23px; }
  .gallery-cta__eyebrow { font-size:10px; letter-spacing:.09em; margin-bottom:13px; }
  .gallery-cta__title { font-size:clamp(25px,7vw,30px); line-height:1.2; margin-bottom:11px; }
  .gallery-cta__description { font-size:13px; line-height:1.6; }
  .gallery-cta__button { min-height:54px; font-size:13px; padding:11px 15px; }
  .gallery-cta__button-icon { flex-basis:20px; width:20px; height:20px; font-size:21px; }
  .gallery-cta__benefit { font-size:10px; }
  .gallery-cta__footer {
    margin-top:23px; padding-top:16px; gap:12px;
    align-items:flex-start; flex-direction:column;
  }
  .gallery-cta__footer-label { font-size:11px; }
  .gallery-cta__contact { font-size:13px; }
  .gallery-cta__experience { display:none; }
}
@media (max-width:359px) {
  .gallery-cta__panel { padding:23px 17px 20px; }
  .gallery-cta__button { font-size:12px; }
}
@media (prefers-reduced-motion:reduce) {
  .gallery-cta__button { transition:none; }
}
