:root{
    --sea:#123B47;        /* deep Aegean */
    --sea-2:#0C2A33;      /* darker */
    --wash:#F7F3EC;       /* whitewashed */
    --sand:#E9DDC7;       /* warm sand */
    --gold:#B9884A;       /* olive-gold accent */
    --ink:#1B2A2E;
    --muted:#5E6B6E;
    --line:rgba(27,42,46,.14);
    --serif:Georgia, 'Times New Roman', serif;
    --sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:var(--sans);
    color:var(--ink);
    background:var(--wash);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  .wrap{max-width:1160px;margin:0 auto;padding:0 24px}
  h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08;letter-spacing:-.01em}
  a{color:inherit;text-decoration:none}

  /* ---------- Nav ---------- */
  header.nav{
    position:fixed;top:0;left:0;right:0;z-index:50;
    display:flex;align-items:center;justify-content:space-between;gap:18px;
    min-height:68px;padding:11px 24px;
    transition:background .3s, box-shadow .3s;
  }
  header.nav.scrolled{padding:10px 24px;background:rgba(247,243,236,.94);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line)}
  header.nav.scrolled .logo-mark{width:40px;height:40px}
  .brand{display:flex;align-items:center;gap:11px;font-family:var(--serif);font-size:26px;color:var(--wash);letter-spacing:.02em;transition:color .3s}
  header.nav.scrolled .brand{color:var(--sea)}
  .brand b{font-weight:600}
  .brand-text{display:flex;flex-direction:column;line-height:1.05}
  .brand small{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.34em;text-transform:uppercase;opacity:.8;margin-top:1px}
  .logo-mark{flex:none;width:46px;height:46px;object-fit:cover;display:block;transition:width .25s,height .25s,opacity .3s}
  .logo-mark .lg-gold{color:var(--gold)}
  .logo-mark .lg-ring{color:var(--sand)}
  header.nav.scrolled .logo-mark .lg-ring{color:var(--sea)}
  .langs{display:flex;flex-wrap:nowrap;gap:2px;align-items:center;max-width:60vw;justify-content:flex-end;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:4px}
  header.nav.scrolled .langs{background:#fff;border-color:var(--line)}
  .langs button{
    font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.04em;
    border:0;background:transparent;color:var(--wash);
    min-width:44px;min-height:44px;padding:6px 9px;border-radius:999px;cursor:pointer;transition:.2s;text-transform:uppercase;
    display:inline-flex;align-items:center;justify-content:center
  }
  header.nav.scrolled .langs button{color:var(--muted)}
  .langs button.active{background:var(--gold);color:#fff}
  header.nav.scrolled .langs button.active{color:#fff}

  /* ---------- Hero ---------- */
  .hero{
    position:relative;min-height:100svh;display:flex;align-items:center;
    color:var(--wash);overflow:hidden;
    background:linear-gradient(180deg, rgba(12,42,51,.55) 0%, rgba(12,42,51,.35) 40%, rgba(12,42,51,.72) 100%),
      url('../images/hero-chalkidiki.jpg') center/cover no-repeat,
      linear-gradient(160deg,var(--sea),var(--sea-2));
  }
  .hero .wrap{padding-top:120px;padding-bottom:60px}
  .eyebrow{
    display:inline-flex;align-items:center;gap:10px;
    font-size:12px;letter-spacing:.28em;text-transform:uppercase;font-weight:500;
    color:var(--sand);margin-bottom:22px
  }
  .eyebrow::before{content:"";width:34px;height:1px;background:var(--gold)}
  .hero h1{font-size:clamp(40px,7vw,82px);max-width:15ch;margin-bottom:22px}
  .hero h1 em{font-style:italic;color:var(--sand)}
  .hero p.lead{font-size:clamp(17px,2.2vw,21px);max-width:52ch;color:rgba(247,243,236,.9);margin-bottom:34px;font-weight:400}
  .cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
  .btn{
    display:inline-flex;align-items:center;gap:9px;
    font-family:var(--sans);font-weight:600;font-size:15px;letter-spacing:.01em;
    padding:15px 28px;border-radius:2px;cursor:pointer;border:1px solid transparent;transition:.2s
  }
  .btn-gold{background:var(--gold);color:#fff}
  .btn-gold:hover{background:#a5773d;transform:translateY(-2px)}
  .btn-ghost{background:transparent;color:var(--wash);border-color:rgba(247,243,236,.5)}
  .btn-ghost:hover{background:rgba(247,243,236,.12)}
  .hero-meta{margin-top:52px;display:flex;flex-wrap:wrap;gap:34px;font-size:13px;letter-spacing:.02em;color:rgba(247,243,236,.85)}
  .hero-meta span{display:flex;align-items:center;gap:9px}
  .hero-meta span::before{content:"";width:6px;height:6px;background:var(--gold);border-radius:50%}

  /* ---------- Section base ---------- */
  section{padding:96px 0}
  .sec-head{max-width:640px;margin-bottom:54px}
  .sec-eyebrow{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:16px;display:flex;align-items:center;gap:10px}
  .sec-eyebrow::before{content:"";width:28px;height:1px;background:var(--gold)}
  .sec-head h2{font-size:clamp(30px,4.4vw,48px);margin-bottom:18px}
  .sec-head p{color:var(--muted);font-size:17px}

  /* ---------- Services ---------- */
  .services{position:relative;background:var(--sea);color:var(--wash);overflow:hidden}
  .services::before{content:"";position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(18,59,71,.92),rgba(12,42,51,.96)),
      url('../images/services-chalkidiki.jpg') center/cover no-repeat;
    opacity:1;z-index:0}
  .services .wrap{position:relative;z-index:1}
  .services .sec-eyebrow{color:var(--sand)}
  .services .sec-eyebrow::before{background:var(--sand)}
  .services .sec-head h2{color:var(--wash)}
  .services .sec-head p{color:rgba(247,243,236,.8)}
  .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
  .card{position:relative;background:rgba(247,243,236,.06);border:1px solid rgba(247,243,236,.16);
    padding:34px 30px;border-radius:4px;transition:.28s;overflow:hidden;backdrop-filter:blur(2px)}
  .card::after{content:"";position:absolute;left:0;top:0;height:100%;width:3px;background:var(--gold);
    transform:scaleY(0);transform-origin:top;transition:transform .3s}
  .card:hover{background:rgba(247,243,236,.11);transform:translateY(-4px);border-color:rgba(233,221,199,.4)}
  .card:hover::after{transform:scaleY(1)}
  .card .svc-ic{width:44px;height:44px;color:var(--gold);margin-bottom:16px}
  .card .svc-ic svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.5}
  .card h3{font-size:23px;margin:0 0 10px;color:var(--wash)}
  .card p{color:rgba(247,243,236,.78);font-size:15px}

  /* separation above services */
  .services{border-top:4px solid var(--gold)}

  
/* ---------- Schritt 5.7: Services-Sektion veredelt ---------- */
.services .grid{gap:22px;align-items:stretch}
.services .grid > .wp-block-column{margin:0;display:flex}
.services .card{
  position:relative;
  isolation:isolate;
  width:100%;
  min-height:100%;
  padding:30px 28px 28px;
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.085) 0%,rgba(255,255,255,.055) 100%);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 12px 28px rgba(4,18,26,.18);
  backdrop-filter:blur(10px);
  overflow:hidden;
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease;
}
.services .card::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at top right, rgba(185,136,74,.18), transparent 42%);
  opacity:.7;
  z-index:0;
  transition:opacity .28s ease, transform .28s ease;
}
.services .card::after{
  content:"→";
  position:absolute;
  right:22px;
  top:22px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  color:rgba(233,221,199,.92);
  font-size:17px;
  line-height:1;
  opacity:0;
  transform:translateY(6px);
  transition:opacity .28s ease, transform .28s ease, background .28s ease;
  z-index:1;
}
.services .card > *{position:relative;z-index:1}
.services .card:hover,
.services .card:focus-within{
  transform:translateY(-8px);
  border-color:rgba(233,221,199,.38);
  background:linear-gradient(180deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,.075) 100%);
  box-shadow:0 24px 46px rgba(3,15,24,.28);
}
.services .card:hover::before,
.services .card:focus-within::before{opacity:1;transform:scale(1.03)}
.services .card:hover::after,
.services .card:focus-within::after{opacity:1;transform:translateY(0)}
.services .card .svc-ic{
  width:62px;
  height:62px;
  margin:0 0 22px;
  border-radius:18px;
  display:grid;
  place-items:center;
  color:var(--gold);
  font-size:28px;
  line-height:1;
  background:linear-gradient(180deg,rgba(185,136,74,.18) 0%, rgba(185,136,74,.09) 100%);
  border:1px solid rgba(233,221,199,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 10px 18px rgba(4,18,26,.18);
  transition:transform .28s ease, box-shadow .28s ease, background .28s ease;
}
.services .grid > .wp-block-column:nth-child(1) .svc-ic{color:#d7b47c}
.services .grid > .wp-block-column:nth-child(2) .svc-ic{color:#e6c788}
.services .grid > .wp-block-column:nth-child(3) .svc-ic{color:#dcb473}
.services .grid > .wp-block-column:nth-child(4) .svc-ic{color:#e9cf98}
.services .card:hover .svc-ic,
.services .card:focus-within .svc-ic{
  transform:translateY(-3px) scale(1.06) rotate(-4deg);
  background:linear-gradient(180deg,rgba(185,136,74,.26) 0%, rgba(185,136,74,.14) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10), 0 16px 28px rgba(4,18,26,.24);
}
.services .card h3{
  font-size:clamp(28px,2.2vw,34px);
  line-height:1.1;
  margin:0 0 12px;
  max-width:14ch;
}
.services .card p{
  color:rgba(247,243,236,.84);
  font-size:16px;
  line-height:1.6;
  max-width:30ch;
}
@media(max-width:980px){
  .services .card{padding:26px 24px 24px}
  .services .card h3{font-size:30px;max-width:none}
}
@media(max-width:720px){
  .services .grid{gap:16px}
  .services .card{border-radius:18px}
  .services .card::after{opacity:1;transform:none;right:18px;top:18px}
  .services .card .svc-ic{width:56px;height:56px;font-size:25px;margin-bottom:18px}
  .services .card p{max-width:none}
}

/* ---------- Steps ---------- */
  .steps{background:var(--wash);color:var(--ink)}
  .steps .sec-eyebrow{color:var(--gold)}
  .steps .sec-head h2{color:var(--ink)}
  .steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px;margin-top:20px}
  .step{position:relative;background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;
    transition:.3s;box-shadow:0 1px 2px rgba(27,42,46,.04)}
  .step:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(18,59,71,.16)}
  .step-img{position:relative;aspect-ratio:16/10;background-size:cover;background-position:center}
  .step-img .n{position:absolute;left:16px;bottom:-22px;width:52px;height:52px;border-radius:50%;
    background:var(--gold);color:#fff;font-family:var(--serif);font-size:26px;
    display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(18,59,71,.3)}
  .step-body{padding:34px 26px 28px}
  .step h3{font-size:23px;color:var(--sea);margin-bottom:8px}
  .step p{color:var(--muted);font-size:15px}

  /* ---------- Why / local ---------- */
  .why{background:var(--sea);color:var(--wash)}
  .why .sec-eyebrow{color:var(--sand)}
  .why .sec-eyebrow::before{background:var(--sand)}
  .why-inner{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center}
  .why h2{font-size:clamp(30px,4.4vw,48px);color:var(--wash);margin-bottom:8px}
  .why-media{
    aspect-ratio:4/5;border-radius:6px;box-shadow:0 24px 60px rgba(0,0,0,.35);
    background:linear-gradient(180deg,rgba(12,42,51,.08),rgba(12,42,51,.28)),
      url('../images/local-care.jpg') center/cover no-repeat,
      var(--sea);
  }
  .why-list{list-style:none;margin-top:26px;display:grid;gap:14px}
  .why-list li{display:flex;gap:16px;align-items:flex-start;padding:18px 20px;
    background:rgba(247,243,236,.06);border:1px solid rgba(247,243,236,.14);border-radius:6px;
    font-size:16px;color:rgba(247,243,236,.92);transition:.25s}
  .why-list li:hover{background:rgba(247,243,236,.11);border-color:rgba(233,221,199,.4);transform:translateX(4px)}
  .why-list li .wl-ic{flex:none;width:30px;height:30px;color:var(--gold)}
  .why-list li .wl-ic svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.6}

  /* ---------- Earnings band ---------- */
  .band{background:var(--sea-2);color:var(--wash);text-align:center}
  .band h2{font-size:clamp(28px,4vw,44px);max-width:20ch;margin:0 auto 18px}
  .band p{color:rgba(247,243,236,.82);max-width:52ch;margin:0 auto 30px;font-size:17px}

  /* ---------- Contact ---------- */
  .contact{background:var(--wash)}
  .contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px}
  .contact-side p{color:var(--muted);margin-bottom:28px}
  .direct{display:flex;flex-direction:column;gap:14px;margin-top:24px}
  .direct a{display:flex;align-items:center;gap:14px;padding:16px 20px;border:1px solid var(--line);border-radius:2px;background:#fff;font-weight:500;transition:.2s}
  .direct a:hover{border-color:var(--gold);transform:translateX(4px)}
  .direct a .ic{font-size:20px}
  form label{display:block;font-size:13px;font-weight:600;letter-spacing:.02em;margin-bottom:6px;color:var(--ink)}
  form input,form textarea{
    width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:2px;
    background:#fff;font-family:var(--sans);font-size:15px;color:var(--ink);margin-bottom:18px
  }
  form input:focus,form textarea:focus{outline:2px solid var(--gold);outline-offset:0;border-color:transparent}
  form textarea{min-height:120px;resize:vertical}
  .form-note{font-size:12px;color:var(--muted);margin-top:6px}
  .form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
  .form-status{margin-top:12px;font-size:13px;font-weight:600}
  .form-success{color:#567642}
  .form-error{color:#A23A2E}
  form button[disabled]{opacity:.62;cursor:wait;transform:none!important}

  /* ---------- Footer ---------- */
  footer{background:var(--sea-2);color:rgba(247,243,236,.7);padding:48px 0;font-size:14px}
  .foot-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;align-items:center}
  .foot-brand{font-family:var(--serif);font-size:22px;color:var(--wash)}

  /* Floating chat buttons */
  .wa-float,.vb-float{position:fixed;right:20px;z-index:60;width:56px;height:56px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.25);transition:.2s}
  .vb-float{bottom:86px;background:#7360F2}
  .wa-float{bottom:20px;background:#25D366}
  .wa-float:hover,.vb-float:hover{transform:scale(1.08)}
  .wa-float svg,.vb-float svg{width:30px;height:30px;fill:#fff}
  .direct .ic-viber{color:#7360F2}
  .direct .ic-wa{color:#25D366}
  .direct a .ic svg{width:22px;height:22px;display:block}

  /* ---------- Showcase (example homes) ---------- */
  .showcase{background:var(--wash)}
  .show-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:10px}
  .show-card{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;
    box-shadow:0 1px 2px rgba(27,42,46,.04);transition:.3s;display:flex;flex-direction:column}
  .show-card:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(18,59,71,.15)}
  .show-gallery{display:grid;grid-template-columns:1.6fr 1fr;gap:3px;aspect-ratio:16/10}
  .show-gallery .g-main{background-size:cover;background-position:center}
  .show-gallery .g-side{background-size:cover;background-position:center}
  .show-body{padding:26px 26px 28px}
  .show-tag{display:inline-block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;
    color:var(--gold);font-weight:600;margin-bottom:10px}
  .show-body h3{font-size:25px;color:var(--sea);margin-bottom:8px}
  .show-body p{color:var(--muted);font-size:15px;margin-bottom:16px}
  .show-feats{display:flex;flex-wrap:wrap;gap:8px}
  .show-feats span{font-size:12.5px;color:var(--ink);background:var(--sand);
    padding:6px 12px;border-radius:999px}
  .show-note{max-width:640px;margin:34px auto 0;text-align:center;font-size:13px;color:var(--muted);font-style:italic}


  @media(max-width:820px){
    .why-inner,.contact-inner,.show-grid{grid-template-columns:1fr;gap:24px}
    .why-media{aspect-ratio:16/11;order:-1}
    section{padding:70px 0}
    .brand small{display:none}
  }
  @media(prefers-reduced-motion:reduce){*{scroll-behavior:auto;transition:none!important}}

  /* ---------- Story ---------- */
  .story{background:var(--wash)}
  .story-inner{display:grid;grid-template-columns:1fr 1.05fr;gap:60px;align-items:center}
  .story-media{aspect-ratio:4/5;border-radius:3px;overflow:hidden;box-shadow:0 24px 60px rgba(18,59,71,.22)}
  .story-media img{width:100%;height:100%;object-fit:cover;display:block}
  .story-text p{color:var(--muted);font-size:17px;line-height:1.75;margin-bottom:18px;max-width:52ch}
  .story-text .lead{font-family:var(--serif);font-size:clamp(22px,2.6vw,30px);color:var(--sea);line-height:1.3;margin-bottom:26px}
  .story-sign{margin-top:26px;font-family:var(--serif);font-size:22px;color:var(--sea)}
  .story-sign small{display:block;font-family:inherit;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-top:6px}
  /* ---------- FAQ ---------- */
  .faq{background:var(--sand)}
  .faq-list{margin-top:36px;max-width:820px}
  .faq-item{border-bottom:1px solid var(--line)}
  .faq-q{width:100%;text-align:left;background:none;border:0;cursor:pointer;padding:24px 40px 24px 0;position:relative;
    font-family:var(--serif);font-size:clamp(19px,2.2vw,23px);color:var(--sea);line-height:1.25}
  .faq-q::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font-family:var(--sans,inherit);
    font-size:26px;color:var(--gold);transition:transform .25s;line-height:1}
  .faq-item.open .faq-q::after{content:"−"}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
  .faq-a p{color:var(--muted);font-size:16px;line-height:1.7;padding:0 30px 24px 0;margin:0}
  .faq-item.open .faq-a{max-height:400px}
  /* ---------- Legal ---------- */
  .legal{background:var(--sea);color:var(--wash)}
  .legal .sec-eyebrow{color:var(--sand)}.legal .sec-eyebrow::before{background:var(--sand)}
  .legal .sec-head h2{color:var(--wash)}
  .legal-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:20px}
  .legal-grid h3{color:var(--sand);font-size:22px;margin-bottom:14px}
  .legal-grid p{color:rgba(247,243,236,.8);font-size:15px;line-height:1.7;margin-bottom:10px}
  @media(max-width:820px){
    .story-inner,.legal-grid{grid-template-columns:1fr;gap:34px}
    .story-media{aspect-ratio:4/4}
  }


  .mk{color:var(--gold);font-style:italic;font-weight:600;white-space:nowrap}
  .story-meraki{margin-top:18px;padding:16px 20px;border-left:3px solid var(--gold);
    background:rgba(198,160,94,.08);border-radius:0 12px 12px 0;font-size:15px;line-height:1.6;color:var(--cream)}
  .detail-strip{margin-top:40px}
  .detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
  .detail-grid figure{margin:0;border-radius:14px;overflow:hidden;position:relative;aspect-ratio:4/3;
    box-shadow:0 10px 30px rgba(0,0,0,.25)}
  .detail-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
  .detail-grid figure:hover img{transform:scale(1.06)}
  .detail-cap{text-align:center;margin-top:22px;font-size:15px;color:var(--muted)}
  @media(max-width:900px){.detail-grid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:520px){.detail-grid{grid-template-columns:1fr 1fr}}
  .consent-row{display:flex;gap:10px;align-items:flex-start;margin:4px 0 14px;font-size:13px;line-height:1.5;color:var(--muted)}
  .consent-row input{margin-top:3px;flex:none;width:20px;height:20px;accent-color:var(--gold)}
  .consent-row label{display:inline;margin:0;font:inherit;letter-spacing:0;color:inherit}


/* ---------- Accessibility and reusable utilities ---------- */
.skip-link{position:fixed;left:16px;top:12px;z-index:10050;transform:translateY(-160%);background:#fff;color:var(--sea);padding:10px 14px;border-radius:8px;font-weight:700;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.skip-link:focus{transform:translateY(0)}
button,a,input,textarea{font:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.story-title{font-size:clamp(28px,4vw,44px);margin-bottom:22px}
.contact-title{font-size:clamp(28px,4vw,42px);margin-bottom:16px}
.submit-full{width:100%;justify-content:center}
.footer-button{border:0;background:transparent;color:inherit;text-decoration:underline;cursor:pointer;padding:4px 0}
[hidden]{display:none!important}

/* Extracted image classes */
.step-img-1{background-image:url('../images/step-consultation.jpg')}
.step-img-2{background-image:url('../images/step-setup.jpg')}
.step-img-3{background-image:url('../images/step-management.jpg')}
.showcase-villa-main{background-image:url('../images/showcase-villa-main.jpg')}
.showcase-villa-side{background-image:url('../images/showcase-villa-side.jpg')}
.showcase-apartment-main{background-image:url('../images/showcase-apartment-main.jpg')}
.showcase-apartment-side{background-image:url('../images/showcase-apartment-side.jpg')}

/* ---------- Consent management ---------- */
.consent-banner{position:fixed;inset:auto 16px 16px;z-index:10000;max-width:920px;margin:0 auto;background:var(--sea-2);color:var(--wash);border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:20px;box-shadow:0 18px 70px rgba(0,0,0,.35)}
.consent-banner h2,.consent-modal h2{font-family:var(--serif);font-size:28px;margin:0 0 8px}
.consent-banner p{margin:0;color:rgba(255,255,255,.9)}
.consent-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.consent-btn{min-height:44px;border:2px solid var(--gold);border-radius:10px;padding:10px 16px;font-weight:700;cursor:pointer;background:transparent;color:var(--wash)}
.consent-btn:hover{background:rgba(255,255,255,.08)}
.consent-btn-primary,.consent-btn-secondary{background:var(--gold);color:#20281f}
.consent-btn-primary:hover,.consent-btn-secondary:hover{background:#c99a5d}
.consent-link{color:var(--sand);text-decoration:underline}
.consent-backdrop{position:fixed;inset:0;z-index:10010;background:rgba(4,18,22,.7);display:grid;place-items:center;padding:16px}
.consent-modal{width:min(680px,100%);max-height:min(86vh,760px);overflow:auto;background:var(--wash);color:var(--ink);border-radius:16px;padding:24px;box-shadow:0 24px 90px rgba(0,0,0,.45)}
.consent-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:10px}
.consent-close{border:0;background:transparent;font-size:30px;line-height:1;cursor:pointer;color:var(--ink);padding:0 4px}
.consent-category{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:16px 0;border-top:1px solid var(--line)}
.consent-category input{width:20px;height:20px;margin-top:3px;accent-color:var(--gold)}
.consent-category strong{display:block;margin-bottom:3px}
.consent-category p{margin:0;color:var(--muted);font-size:14px}
.consent-category.is-disabled{opacity:.64}
.consent-status{min-height:1.5em;margin-top:10px;font-size:14px;color:var(--muted)}
body.consent-open{overflow:hidden}

@media(max-width:620px){
  .consent-banner{inset:auto 8px 8px;padding:16px}
  .consent-actions{display:grid;grid-template-columns:1fr}
  .consent-btn{width:100%}
  .consent-modal{padding:18px}
}

.inline-legal-link{color:var(--sea);text-decoration:underline;font-weight:600}
noscript{display:block;background:#fff3cd;color:#3d3418;padding:12px 20px;text-align:center}

@media(max-width:620px){
  header.nav{padding:10px 12px;flex-wrap:wrap;gap:8px}
  .brand{font-size:22px;gap:8px}
  .logo-mark{width:38px;height:38px}
  header.nav.scrolled .logo-mark{width:36px;height:36px}
  .langs{order:2;width:100%;max-width:none;flex-wrap:nowrap;justify-content:space-between;gap:0;padding:3px}
  .langs button{flex:0 0 44px;padding:6px 4px}
}


/* ---------- SEO v3: static locale navigation and local landing pages ---------- */
.langs a{
  font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.04em;
  border:0;background:transparent;color:var(--wash);padding:6px 11px;border-radius:999px;
  cursor:pointer;transition:.2s;text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center
}
header.nav.scrolled .langs a{color:var(--muted)}
.langs a.active{background:var(--gold);color:#fff}
header.nav.scrolled .langs a.active{color:#fff}
.owner-seo{padding:88px 0;background:#fff}
.owner-seo-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:52px;align-items:start}
.owner-seo h2{font-size:clamp(36px,5vw,58px);color:var(--sea);margin-bottom:20px}
.owner-seo p{color:var(--muted);margin-bottom:16px}
.owner-seo .trust-list{display:grid;gap:12px;margin-top:24px}
.owner-seo .trust-list li{list-style:none;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--wash)}
.local-card-grid{display:grid;gap:14px}
.local-card{display:block;padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--wash);transition:transform .2s,box-shadow .2s}
.local-card:hover,.local-card:focus-visible{transform:translateY(-2px);box-shadow:0 14px 32px rgba(12,42,51,.12)}
.local-card strong{display:block;color:var(--sea);font-family:var(--serif);font-size:25px;margin-bottom:6px}
.local-card span{color:var(--muted)}
.page-hero{padding:170px 0 90px;color:var(--wash);background:linear-gradient(180deg,rgba(12,42,51,.74),rgba(12,42,51,.88)),url('../images/hero-chalkidiki.jpg') center/cover no-repeat}
.page-hero .breadcrumbs{font-size:14px;margin-bottom:22px;color:rgba(255,255,255,.82)}
.page-hero .breadcrumbs a{text-decoration:underline;text-underline-offset:3px}
.page-hero h1{font-size:clamp(44px,7vw,76px);max-width:950px;margin-bottom:22px}
.page-hero .lead{max-width:850px}
.content-section{padding:82px 0}
.content-section.alt{background:#fff}
.content-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.7fr);gap:54px;align-items:start}
.content-copy h2{font-size:clamp(34px,4.7vw,54px);color:var(--sea);margin:0 0 20px}
.content-copy h3{font-size:30px;color:var(--sea);margin:30px 0 12px}
.content-copy p{color:var(--muted);margin-bottom:16px}
.content-copy ul{display:grid;gap:12px;margin:20px 0 28px;padding:0}
.content-copy li{list-style:none;padding:14px 16px;border-left:3px solid var(--gold);background:var(--wash);border-radius:0 12px 12px 0}
.sticky-cta{position:sticky;top:120px;padding:28px;border-radius:18px;background:var(--sea);color:#fff}
.sticky-cta h2,.sticky-cta h3{color:#fff;font-size:34px;margin-bottom:12px}
.sticky-cta p{color:rgba(255,255,255,.82);margin-bottom:20px}
.related-links{display:grid;gap:12px;margin-top:24px}
.related-links a{padding:13px 14px;border:1px solid rgba(255,255,255,.25);border-radius:10px}
.related-links a:hover,.related-links a:focus-visible{background:rgba(255,255,255,.1)}
.article-faq{padding:82px 0;background:var(--wash)}
.article-faq h2{font-size:clamp(34px,4.7vw,54px);color:var(--sea);margin-bottom:28px}
@media(max-width:780px){
  .langs a{flex:0 0 44px;padding:9px 4px;min-height:44px}
  .owner-seo-grid,.content-grid{grid-template-columns:1fr}
  .owner-seo,.content-section,.article-faq{padding:64px 0}
  .page-hero{padding:155px 0 70px}
  .sticky-cta{position:static}
}

/* SEO-v4 content hub and editorial trust */
.service-hub{background:var(--wash)}
.service-hub .local-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.page-review{margin-top:36px;padding-top:18px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.footer-nav{display:flex;flex-wrap:wrap;gap:10px 18px;justify-content:center}
.footer-nav a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:720px){.service-hub .local-card-grid{grid-template-columns:1fr}.footer-nav{justify-content:flex-start}}


/* ---------- v4.2: restored imagery and clear card interaction ---------- */
.section-visual{
  position:relative;margin:28px 0 4px;border-radius:18px;overflow:hidden;
  min-height:250px;background:var(--sea);box-shadow:0 18px 42px rgba(12,42,51,.16)
}
.section-visual img{display:block;width:100%;height:100%;aspect-ratio:16/9;object-fit:cover}
.section-visual::after{content:"";position:absolute;inset:auto 0 0;height:48%;background:linear-gradient(transparent,rgba(12,42,51,.88));pointer-events:none}
.section-visual figcaption{position:absolute;z-index:1;left:20px;right:20px;bottom:17px;color:#fff;font-size:14px;line-height:1.45;text-shadow:0 1px 10px rgba(0,0,0,.35)}
.local-card{position:relative;padding-right:50px}
.local-card::before{content:"→";position:absolute;right:19px;top:50%;transform:translateY(-50%);font-size:24px;color:var(--gold);transition:transform .2s}
.local-card:hover::before,.local-card:focus-visible::before{transform:translate(4px,-50%)}
@media(max-width:780px){
  .section-visual{min-height:210px;margin-top:22px}
  .section-visual figcaption{left:16px;right:16px;bottom:14px}
}


/* ---------- v4.3: premium direct-contact cards ---------- */
.direct{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:26px}
.contact-action-card{display:grid;grid-template-columns:minmax(0,1fr) 46px;min-width:0;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 5px 18px rgba(12,42,51,.055);transition:border-color .2s,box-shadow .2s,transform .2s}
.contact-action-card:hover,.contact-action-card:focus-within{border-color:rgba(185,136,74,.62);box-shadow:0 14px 30px rgba(12,42,51,.12);transform:translateY(-2px)}
.direct .contact-action{display:flex;align-items:center;gap:12px;min-width:0;min-height:84px;padding:14px 12px 14px 16px;border:0;border-radius:0;background:transparent;font-weight:500;transition:background .2s}
.direct .contact-action:hover{border-color:transparent;transform:none;background:rgba(247,243,236,.55)}
.contact-action .ic{flex:0 0 38px;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--wash);font-size:19px}
.contact-action .ic svg{width:21px;height:21px}
.contact-action-text{display:block;min-width:0;line-height:1.25}
.contact-action-text strong{display:block;color:var(--sea);font-size:14px;margin-bottom:5px}
.contact-action-text small{display:block;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.contact-action-arrow{margin-left:auto;color:var(--gold);font-size:18px;transform:translate(-2px,-2px)}
.contact-copy-btn{display:grid;place-items:center;width:46px;border:0;border-left:1px solid var(--line);background:#fff;color:var(--muted);cursor:pointer;transition:background .2s,color .2s}
.contact-copy-btn:hover,.contact-copy-btn:focus-visible{background:var(--sea);color:#fff;outline:none}
.contact-copy-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7}
.contact-copy-status{grid-column:1/-1;margin:0;padding:10px 14px;border-radius:10px;background:rgba(86,118,66,.11);color:#466136;font-size:13px;font-weight:600}
.contact-copy-status[hidden]{display:none}
@media(max-width:980px){.direct{grid-template-columns:1fr}}
@media(max-width:780px){.direct{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.direct{grid-template-columns:1fr}.direct .contact-action{min-height:76px}}


/* ---------- v4.4: functional floating quick-contact controls ---------- */
.quick-contact-floats{position:fixed;right:20px;bottom:20px;z-index:160;display:flex;flex-direction:column;gap:10px;align-items:flex-end}
.quick-contact-floats .wa-float,.quick-contact-floats .vb-float{position:relative;right:auto;bottom:auto;z-index:auto;display:grid;place-items:center;width:58px;height:58px;border:2px solid rgba(255,255,255,.9);border-radius:50%;box-shadow:0 10px 30px rgba(0,0,0,.28);transition:transform .2s,box-shadow .2s,filter .2s;touch-action:manipulation}
.quick-contact-floats .vb-float{order:1;background:#7360F2}
.quick-contact-floats .wa-float{order:2;background:#25D366}
.quick-contact-floats .wa-float:hover,.quick-contact-floats .vb-float:hover,.quick-contact-floats .wa-float:focus-visible,.quick-contact-floats .vb-float:focus-visible{transform:translateY(-2px) scale(1.07);box-shadow:0 14px 34px rgba(0,0,0,.32);filter:saturate(1.08);outline:3px solid rgba(185,136,74,.55);outline-offset:3px}
.quick-contact-floats svg{width:30px;height:30px;fill:#fff;pointer-events:none}
.float-tooltip{position:absolute;right:70px;top:50%;transform:translate(8px,-50%);padding:8px 11px;border-radius:8px;background:var(--sea-2);color:#fff;font-size:12px;font-weight:700;line-height:1;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;box-shadow:0 8px 24px rgba(0,0,0,.2);transition:opacity .18s,transform .18s,visibility .18s}
.float-tooltip::after{content:"";position:absolute;left:100%;top:50%;margin-top:-5px;border:5px solid transparent;border-left-color:var(--sea-2)}
.quick-contact-floats a:hover .float-tooltip,.quick-contact-floats a:focus-visible .float-tooltip{opacity:1;visibility:visible;transform:translate(0,-50%)}
.quick-contact-status{position:fixed;right:92px;bottom:24px;z-index:170;display:flex;align-items:flex-start;gap:12px;max-width:min(420px,calc(100vw - 122px));padding:14px 14px 14px 17px;border:1px solid rgba(185,136,74,.5);border-radius:13px;background:#fff;color:var(--ink);box-shadow:0 18px 46px rgba(12,42,51,.22);font-size:13px;line-height:1.45}
.quick-contact-status[hidden]{display:none}
.quick-contact-status button{flex:none;width:28px;height:28px;border:0;border-radius:50%;background:var(--wash);color:var(--sea);font-size:20px;line-height:1;cursor:pointer}
.quick-contact-status button:hover,.quick-contact-status button:focus-visible{background:var(--sea);color:#fff;outline:2px solid var(--gold);outline-offset:2px}
@media(max-width:620px){.quick-contact-floats{right:14px;bottom:14px;gap:8px}.quick-contact-floats .wa-float,.quick-contact-floats .vb-float{width:54px;height:54px}.float-tooltip{display:none}.quick-contact-status{left:14px;right:78px;bottom:16px;max-width:none}}
@media(prefers-reduced-motion:reduce){.quick-contact-floats .wa-float,.quick-contact-floats .vb-float,.float-tooltip{transition:none}}


/* ---------- v4.6: visible Viber action panel ---------- */
.viber-action-panel{position:fixed;right:92px;bottom:92px;z-index:175;width:min(410px,calc(100vw - 122px));display:grid;grid-template-columns:52px minmax(0,1fr);gap:15px;padding:20px;border:1px solid rgba(115,73,166,.25);border-radius:18px;background:#fff;color:var(--ink);box-shadow:0 22px 60px rgba(12,42,51,.28)}
.viber-action-panel[hidden]{display:none}
.viber-panel-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,#8f5db7,#665cac);color:#fff;font-family:var(--serif);font-size:25px;font-weight:700;box-shadow:0 10px 22px rgba(102,92,172,.25)}
.viber-panel-content{min-width:0}.viber-panel-content strong{display:block;color:var(--sea);font-family:var(--serif);font-size:24px;line-height:1.05;margin:1px 32px 5px 0}.viber-panel-number{display:block;color:#7350a5;font-weight:800;letter-spacing:.02em;margin-bottom:9px}.viber-panel-content p{font-size:13px;line-height:1.5;color:var(--muted);margin:0 0 14px}
.viber-panel-actions{display:flex;flex-wrap:wrap;gap:9px}.viber-open-app,.viber-copy-number{min-height:42px;border-radius:999px;padding:10px 15px;font-family:var(--sans);font-size:12px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px}.viber-open-app{background:#7350a5;color:#fff;border:1px solid #7350a5}.viber-copy-number{background:var(--wash);color:var(--sea);border:1px solid var(--line)}.viber-open-app:hover,.viber-open-app:focus-visible{background:#5c3d89;outline:2px solid var(--gold);outline-offset:2px}.viber-copy-number:hover,.viber-copy-number:focus-visible{background:var(--sea);color:#fff;outline:2px solid var(--gold);outline-offset:2px}
.viber-panel-close{position:absolute;right:12px;top:12px;width:32px;height:32px;border:0;border-radius:50%;background:var(--wash);color:var(--sea);font-size:23px;line-height:1;cursor:pointer}.viber-panel-close:hover,.viber-panel-close:focus-visible{background:var(--sea);color:#fff;outline:2px solid var(--gold);outline-offset:2px}
@media(max-width:620px){.viber-action-panel{left:14px;right:14px;bottom:82px;width:auto;grid-template-columns:44px minmax(0,1fr);padding:17px;gap:12px}.viber-panel-icon{width:44px;height:44px;border-radius:13px;font-size:21px}.viber-panel-content strong{font-size:21px}.viber-panel-actions{flex-direction:column}.viber-open-app,.viber-copy-number{width:100%}}


/* ===== WordPress block-theme integration: Schritt 5 ===== */
.wp-site-blocks{padding:0!important}.wp-site-blocks>main{margin-block-start:0}.entry-content{margin-block-start:0}
.meraki-site-header{position:sticky;top:0;z-index:100;background:rgba(247,243,236,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);min-height:82px}
.admin-bar .meraki-site-header{top:32px}.meraki-brand-row{min-height:82px}.meraki-site-header .wp-block-site-logo img{border-radius:50%;width:46px;height:46px;object-fit:cover}
.meraki-site-header .wp-block-navigation-item__content{color:var(--sea);font-weight:600;text-decoration:none}.meraki-site-header .wp-block-navigation__responsive-container-open,.meraki-site-header .wp-block-navigation__responsive-container-close{min-width:44px;min-height:44px}
.wp-block-group.alignfull.hero,.wp-block-group.alignfull.services,.wp-block-group.alignfull.steps,.wp-block-group.alignfull.showcase,.wp-block-group.alignfull.why,.wp-block-group.alignfull.owner-seo,.wp-block-group.alignfull.story,.wp-block-group.alignfull.band,.wp-block-group.alignfull.contact,.wp-block-group.alignfull.faq,.wp-block-group.alignfull.page-hero,.wp-block-group.alignfull.content-section,.wp-block-group.alignfull.article-faq{margin-block-start:0}
.wp-block-group.wrap{max-width:1160px;margin-inline:auto;padding-inline:24px}.wp-block-group.wrap>*{max-width:none}
.hero{background-image:linear-gradient(180deg,rgba(12,42,51,.55) 0%,rgba(12,42,51,.35) 40%,rgba(12,42,51,.72) 100%),url('../images/hero-chalkidiki.jpg')!important}
.owner-seo-grid.wp-block-columns,.why-inner.wp-block-columns,.story-inner.wp-block-columns,.contact-inner.wp-block-columns,.content-grid.wp-block-columns{gap:52px;align-items:center}
.grid.wp-block-columns,.steps-grid.wp-block-columns,.show-grid.wp-block-columns,.local-card-grid.wp-block-columns,.detail-grid.wp-block-columns{gap:18px}
.grid>.wp-block-column,.steps-grid>.wp-block-column,.show-grid>.wp-block-column,.local-card-grid>.wp-block-column,.detail-grid>.wp-block-column{margin:0}
.card.wp-block-group,.step.wp-block-group,.show-card.wp-block-group,.local-card.wp-block-group{height:100%}
.local-card a,.local-card .wp-block-button__link{display:block;color:inherit;text-decoration:none;background:transparent;padding:0;text-align:left}
.section-visual img,.story-media img,.why-media img,.step-img img,.show-gallery img,.detail-grid img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}
.step-img{position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:3px}.step-img .n{position:absolute;left:16px;top:16px;z-index:2}
.show-gallery{display:grid;grid-template-columns:2fr 1fr;gap:6px;aspect-ratio:16/9}.show-gallery figure{margin:0;height:100%;overflow:hidden}.show-gallery figure:first-child{grid-row:1}.show-gallery figure img{border-radius:0}
.detail-grid figure{margin:0;aspect-ratio:1/1;overflow:hidden}.detail-grid img{border-radius:0}
.why-media{aspect-ratio:4/5;overflow:hidden;border-radius:3px}.story-media{aspect-ratio:4/5;overflow:hidden}
.contact-placeholder{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 14px 40px rgba(12,42,51,.08)}
.contact-placeholder .fake-field{height:48px;border:1px solid var(--line);background:var(--wash);border-radius:10px;margin:.4rem 0 1rem}.contact-placeholder .fake-field.is-message{height:120px}
.owner-trust-note{position:relative;border:1px solid rgba(184,146,77,.34);background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(233,221,199,.42));padding:17px 18px 17px 24px;border-radius:14px;font-size:14px;line-height:1.68;color:var(--ink);margin:20px 0 24px;box-shadow:0 10px 28px rgba(54,43,28,.08)}
.owner-trust-note::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:4px;border-radius:0 4px 4px 0;background:var(--gold)}
.owner-trust-note strong{display:block;margin-bottom:3px;color:var(--gold-dark, #8b6a2f);font-size:15px}
.wp-block-details{border-bottom:1px solid var(--line);padding:0}.wp-block-details summary{font-family:var(--serif);font-size:21px;color:var(--sea);padding:22px 4px;cursor:pointer}.wp-block-details p{padding:0 4px 22px;color:var(--muted)}
.page-hero{padding:150px 0 80px;background:linear-gradient(135deg,var(--sea-2),var(--sea));color:var(--wash)}.page-hero h1{font-size:clamp(38px,6vw,68px);max-width:17ch;color:var(--wash)}.page-hero .lead{color:rgba(247,243,236,.85);max-width:62ch;font-size:19px}.page-hero .breadcrumbs{color:var(--sand);font-size:14px;margin-bottom:28px}.page-hero .breadcrumbs a{color:var(--sand)}
.content-section{padding:88px 0;background:var(--wash)}.content-section.alt{background:#fff}.content-copy h2{font-size:clamp(30px,4vw,45px);color:var(--sea);margin-top:44px;margin-bottom:18px}.content-copy h2:first-child{margin-top:0}.content-copy p,.content-copy li{color:var(--muted);font-size:17px}.content-copy ul{padding-left:1.25rem}.sticky-cta{position:sticky;top:115px;background:var(--sea);color:var(--wash);padding:30px;border-radius:18px;box-shadow:0 18px 50px rgba(12,42,51,.16)}.sticky-cta h2{color:var(--wash);font-size:30px}.sticky-cta p{color:rgba(247,243,236,.82)}
.article-faq{padding:88px 0;background:var(--sand)}.article-faq .faq-list{max-width:860px}.related-links{display:grid;gap:8px;margin-top:24px;border-top:1px solid rgba(247,243,236,.18);padding-top:20px}.related-links a{color:var(--sand)}
.meraki-footer-nav a{color:var(--wash);text-decoration:none}.meraki-footer-nav a:hover{color:var(--sand)}
@media(max-width:900px){.owner-seo-grid.wp-block-columns,.why-inner.wp-block-columns,.story-inner.wp-block-columns,.contact-inner.wp-block-columns,.content-grid.wp-block-columns{display:block}.owner-seo-grid>.wp-block-column,.why-inner>.wp-block-column,.story-inner>.wp-block-column,.contact-inner>.wp-block-column,.content-grid>.wp-block-column{margin-bottom:30px}.sticky-cta{position:static}.why-media,.story-media{aspect-ratio:16/11}.admin-bar .meraki-site-header{top:46px}}
@media(max-width:720px){.grid.wp-block-columns,.steps-grid.wp-block-columns,.show-grid.wp-block-columns,.local-card-grid.wp-block-columns,.detail-grid.wp-block-columns{display:block}.grid>.wp-block-column,.steps-grid>.wp-block-column,.show-grid>.wp-block-column,.local-card-grid>.wp-block-column,.detail-grid>.wp-block-column{margin-bottom:18px}.hero .wrap{padding-top:100px}.page-hero{padding-top:120px}}
/* Schritt-5 QA corrections */
.wp-block-group[id]{scroll-margin-top:105px}
.local-card .wp-block-button__link,
.local-card .wp-block-button.is-style-outline .wp-block-button__link{
  display:inline-flex!important;align-items:center!important;width:auto!important;
  padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;
  background:transparent!important;color:var(--sea)!important;font-size:14px!important;font-weight:700!important;
}
.local-card .wp-block-button__link::after{content:" →";color:var(--gold);font-size:17px;margin-left:5px}


/* ---------- Schritt 5.1: korrigierte Direktkontakt-Karten ---------- */
.contact-side > p:not(.sec-eyebrow):not(.owner-trust-note){margin-bottom:22px}
.contact-action-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"title action" "value action";
  align-items:center;
  column-gap:18px;
  row-gap:4px;
  min-width:0;
  margin:12px 0 0;
  padding:16px 16px 16px 18px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  overflow:visible;
  box-shadow:0 5px 18px rgba(12,42,51,.055);
  transition:border-color .2s,box-shadow .2s,transform .2s;
}
.contact-action-card h3{
  grid-area:title;
  margin:0;
  color:var(--sea);
  font-family:Inter,Arial,sans-serif;
  font-size:15px;
  font-weight:700;
  line-height:1.25;
}
.contact-action-card > p{
  grid-area:value;
  min-width:0;
  margin:0!important;
  color:var(--muted);
  font-size:14px;
  line-height:1.4;
  overflow-wrap:anywhere;
}
.contact-action-card > .wp-block-buttons{
  grid-area:action;
  align-self:center;
  justify-content:flex-end;
  margin:0;
}
.contact-action-card .wp-block-button__link{
  min-width:112px;
  padding:.68rem 1rem;
  text-align:center;
  white-space:nowrap;
}
@media(max-width:580px){
  .contact-action-card{
    grid-template-columns:1fr;
    grid-template-areas:"title" "value" "action";
    row-gap:7px;
  }
  .contact-action-card > .wp-block-buttons{justify-content:flex-start;margin-top:4px}
  .contact-action-card .wp-block-button__link{min-width:0}
}

/* ---------- Schritt 5.2: hochwertige Direktkontakt-Karten ---------- */
.contact-side > p:not(.sec-eyebrow):not(.owner-trust-note){margin-bottom:22px}
.contact-action-card{
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-width:0;
  margin:14px 0 0;
  padding:16px 18px;
  background:linear-gradient(180deg,#ffffff 0%,#fcfbf8 100%);
  border:1px solid rgba(18,59,71,.12);
  border-radius:18px;
  box-shadow:0 10px 28px rgba(12,42,51,.07);
  overflow:visible;
  transition:border-color .2s,box-shadow .2s,transform .2s;
}
.contact-action-card:hover,.contact-action-card:focus-within{
  border-color:rgba(185,136,74,.5);
  box-shadow:0 16px 34px rgba(12,42,51,.12);
  transform:translateY(-2px);
}
.contact-card-main{
  min-width:0;
  flex:1 1 auto;
  display:flex;
  align-items:center;
  gap:14px;
}
.contact-card-badge{
  flex:0 0 46px;
  width:46px;
  height:46px;
  border-radius:14px;
  display:grid;
  place-items:center;
  color:#fff;
  font-family:var(--serif);
  font-size:20px;
  font-weight:700;
  box-shadow:0 10px 18px rgba(12,42,51,.14);
}
.contact-card-badge.is-viber{background:linear-gradient(135deg,#8c64c7,#6b4ea8)}
.contact-card-badge.is-whatsapp{background:linear-gradient(135deg,#34d266,#139c47)}
.contact-card-badge.is-phone{background:linear-gradient(135deg,#1f5667,#123b47)}
.contact-card-badge.is-email{background:linear-gradient(135deg,#c79a5e,#b9884a)}
.contact-card-copy{min-width:0}
.contact-card-copy h3{
  margin:0 0 3px;
  color:var(--sea);
  font-family:Inter,Arial,sans-serif;
  font-size:16px;
  font-weight:700;
  line-height:1.25;
}
.contact-card-copy p{
  margin:0!important;
  color:var(--muted);
  font-size:15px;
  line-height:1.45;
  word-break:break-word;
}
.contact-action-card > .wp-block-buttons{
  flex:0 0 auto;
  margin:0;
}
.contact-action-card .wp-block-button{margin:0}
.contact-action-card .wp-block-button__link{
  min-width:132px;
  padding:.72rem 1rem;
  text-align:center;
  white-space:nowrap;
}
@media(max-width:640px){
  .contact-action-card{
    flex-direction:column !important;
    align-items:flex-start;
    padding:15px 16px;
  }
  .contact-card-main{width:100%}
  .contact-action-card > .wp-block-buttons{width:100%}
  .contact-action-card .wp-block-button,
  .contact-action-card .wp-block-button__link{width:100%; min-width:0}
}

/* Schritt 5.6 – ausschließlich Sektion 3: 3 Karten links / 3 rechts */
.service-hub .balanced-card-grid,
.service-hub .balanced-card-grid.wp-block-columns{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  grid-auto-flow:row;
  grid-auto-rows:1fr;
  gap:16px 18px !important;
  align-items:stretch;
}
.service-hub .balanced-card-grid > .wp-block-column{
  display:flex;
  min-width:0;
  margin:0 !important;
}
.service-hub .balanced-card-grid .local-card{
  position:relative;
  display:flex;
  flex-direction:column;
  width:100%;
  min-height:174px;
  padding:21px 22px 19px;
  border:1px solid rgba(18,59,71,.13);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(247,243,236,.88));
  box-shadow:0 8px 22px rgba(12,42,51,.055);
  overflow:hidden;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.service-hub .balanced-card-grid .local-card::before{
  content:"" !important;
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:3px;
  background:linear-gradient(180deg,var(--gold),rgba(185,136,74,.2));
  transform:none !important;
}
.service-hub .balanced-card-grid .local-card:hover,
.service-hub .balanced-card-grid .local-card:focus-within{
  transform:translateY(-2px);
  border-color:rgba(185,136,74,.42);
  box-shadow:0 14px 30px rgba(12,42,51,.10);
}
.service-hub .balanced-card-grid .local-card h3{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin:0 0 8px;
  color:var(--sea);
  font-size:clamp(20px,1.45vw,25px);
  line-height:1.12;
}
.service-hub .balanced-card-grid .local-card h3::before{
  content:"";
  flex:0 0 8px;
  width:8px;
  height:8px;
  margin-top:.42em;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 0 5px rgba(185,136,74,.12);
}
.service-hub .balanced-card-grid .local-card > p{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.5;
}
.service-hub .balanced-card-grid .local-card .wp-block-buttons{
  margin-top:auto;
  padding-top:14px;
}
.service-hub .balanced-card-grid .local-card .wp-block-button__link,
.service-hub .balanced-card-grid .local-card .wp-block-button.is-style-outline .wp-block-button__link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  color:var(--sea);
  font-size:13px;
  font-weight:700;
}
.service-hub .balanced-card-grid .local-card .wp-block-button__link::after{
  content:"→";
  color:var(--gold);
  font-size:16px;
  line-height:1;
  margin-left:0;
  transition:transform .2s ease;
}
.service-hub .balanced-card-grid .local-card:hover .wp-block-button__link::after,
.service-hub .balanced-card-grid .local-card:focus-within .wp-block-button__link::after{
  transform:translateX(3px);
}
@media(max-width:720px){
  .service-hub .balanced-card-grid,
  .service-hub .balanced-card-grid.wp-block-columns{
    grid-template-columns:1fr !important;
  }
  .service-hub .balanced-card-grid .local-card{min-height:auto}
}


/* ---------- Step 6: multilingual header, switcher, footer ---------- */
.meraki-header-actions{gap:16px;align-items:center}.meraki-primary-nav{display:flex;align-items:center;gap:24px}.meraki-primary-nav a{font-size:14px;font-weight:700;text-decoration:none;color:var(--sea)}.meraki-site-header.is-scrolled .meraki-primary-nav a{color:var(--sea)}
.meraki-language-switcher{position:relative}.meraki-language-switcher summary{list-style:none;width:54px;height:54px;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:3px;background:var(--gold);color:#fff;font-weight:800;cursor:pointer;box-shadow:0 10px 24px rgba(12,42,51,.16)}.meraki-language-switcher summary::-webkit-details-marker{display:none}.meraki-lang-chevron{font-size:12px}.meraki-language-switcher ul{position:absolute;right:0;top:calc(100% + 10px);z-index:9999;width:220px;margin:0;padding:8px;list-style:none;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 22px 58px rgba(12,42,51,.23)}.meraki-language-switcher li{margin:0}.meraki-language-switcher a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;color:var(--sea);text-decoration:none}.meraki-language-switcher a:hover,.meraki-language-switcher a:focus-visible,.meraki-language-switcher a[aria-current="page"]{background:var(--wash)}.meraki-language-switcher small{color:var(--gold);font-weight:800}.meraki-mobile-nav{display:none}.meraki-mobile-nav summary{list-style:none;width:46px;height:46px;border:1px solid var(--line);border-radius:12px;display:grid;place-content:center;gap:4px;cursor:pointer}.meraki-mobile-nav summary::-webkit-details-marker{display:none}.meraki-mobile-nav summary span{display:block;width:20px;height:2px;background:currentColor}.meraki-mobile-nav nav{position:absolute;left:16px;right:16px;top:78px;padding:14px;border-radius:16px;background:#fff;box-shadow:0 20px 52px rgba(12,42,51,.24);display:grid;gap:4px}.meraki-mobile-nav nav a{padding:11px 12px;border-radius:9px;color:var(--sea);font-weight:700;text-decoration:none}.meraki-mobile-nav nav a:hover{background:var(--wash)}
.meraki-dynamic-footer{padding:56px 28px 24px}.meraki-footer-inner{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:42px}.meraki-footer-brand{display:block;font-family:var(--serif);font-size:32px;margin-bottom:8px}.meraki-footer-inner p{color:var(--sand);margin:4px 0}.meraki-footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;align-content:start}.meraki-footer-links a{color:var(--wash);text-decoration:none}.meraki-footer-links a:hover{text-decoration:underline}.meraki-footer-bottom{max-width:1160px;margin:34px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);text-align:center;color:var(--sand);font-size:13px}.meraki-404-shell{padding:150px 24px 100px}.meraki-404{text-align:center}.meraki-404 .sec-eyebrow{justify-content:center}.meraki-404 h1{font-size:clamp(42px,7vw,76px);color:var(--sea)}.meraki-404 p{color:var(--muted);margin-bottom:26px}
@media(max-width:920px){.meraki-primary-nav{display:none}.meraki-mobile-nav{display:block;position:relative}.meraki-language-switcher summary{width:48px;height:48px}.meraki-footer-inner{grid-template-columns:1fr}.meraki-footer-links{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.meraki-header-actions{gap:8px}.meraki-language-switcher ul{position:fixed;left:12px;right:12px;top:76px;width:auto}.meraki-footer-links{grid-template-columns:1fr}}

/* ---------- Schritt 9: Consent- und Datenschutz-Integration ---------- */
.meraki-footer-privacy,
.meraki-privacy-settings{
  appearance:none;border:0;background:transparent;color:inherit;font:inherit;
  padding:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer;
}
.meraki-footer-privacy:hover,.meraki-footer-privacy:focus-visible,
.meraki-privacy-settings:hover,.meraki-privacy-settings:focus-visible{color:var(--sand);outline:2px solid transparent}
#cmplz-cookiebanner-container .cmplz-cookiebanner{
  font-family:Inter,Arial,sans-serif;border-radius:18px!important;
  box-shadow:0 24px 70px rgba(4,18,26,.34)!important;
  border:1px solid rgba(185,136,74,.28)!important;
}
#cmplz-cookiebanner-container .cmplz-title{font-family:"Cormorant Garamond",Georgia,serif!important}
#cmplz-cookiebanner-container .cmplz-btn{min-height:44px!important;font-weight:700!important;border-radius:10px!important}
#cmplz-cookiebanner-container .cmplz-accept,
#cmplz-cookiebanner-container .cmplz-deny{font-size:inherit!important;font-weight:700!important}
#cmplz-cookiebanner-container .cmplz-accept{background:var(--gold)!important;border-color:var(--gold)!important;color:#17262b!important}
#cmplz-cookiebanner-container .cmplz-deny{background:transparent!important;border:2px solid var(--gold)!important;color:inherit!important}
#cmplz-cookiebanner-container .cmplz-view-preferences,
#cmplz-cookiebanner-container .cmplz-save-preferences{border:1px solid currentColor!important;background:transparent!important}


/* ---------- Schritt 10: Performance und Barrierefreiheit ---------- */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:3px solid #fff;
  outline-offset:2px;
  box-shadow:0 0 0 5px #795521;
}
#main-content:focus{outline:none}
.meraki-mobile-nav nav a:focus-visible{background:var(--wash)}
#cmplz-cookiebanner-container :is(button,a,input):focus-visible{
  outline:3px solid #fff!important;
  outline-offset:2px!important;
  box-shadow:0 0 0 5px #795521!important;
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
  .detail-grid figure:hover img,
  .services .card:hover .svc-ic,
  .services .card:focus-within .svc-ic{transform:none!important}
}

/* ---------- Schritt 10: Kontrastkorrekturen ---------- */
:root{--gold-text:#8A602C}
.sec-eyebrow,
.story-sign small,
.mk,
.meraki-language-switcher small{color:var(--gold-text)}
.services .sec-eyebrow,
.why .sec-eyebrow,
.legal .sec-eyebrow,
.band .sec-eyebrow{color:var(--sand)}
.btn-gold,
.btn-gold .wp-block-button__link,
.langs button.active,
.langs a.active,
header.nav.scrolled .langs button.active,
header.nav.scrolled .langs a.active,
.meraki-language-switcher summary{
  background:var(--gold);
  color:var(--sea-2);
}
.btn-gold:hover,
.btn-gold .wp-block-button__link:hover,
.btn-gold:focus-within,
.btn-gold .wp-block-button__link:focus-visible{background:#C49A61;color:var(--sea-2)}

/* ---------- Staging-Hotfix 1.0.2: Unterseiten-Hero und Kontaktlayout ---------- */
/* Die HTML-Unterseiten verwenden die kompakte Direktkontakt-Variante. */
.direct .contact-action-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 54px;
  grid-template-areas:none;
  align-items:stretch;
  justify-content:initial;
  gap:0;
  margin:0;
  padding:0;
  overflow:hidden;
}
.direct .contact-action-card > .contact-action{
  width:100%;
  min-width:0;
  padding:15px 12px 15px 16px;
}
.direct .contact-action-card .contact-action-arrow{display:none}
.direct .contact-action-card > .contact-copy-btn{
  width:42px;
  min-height:42px;
  align-self:stretch;
  margin:10px 10px 10px 2px;
  border:0;
  border-radius:11px;
  background:var(--wash);
}
.direct .contact-action-card > .contact-copy-btn:hover,
.direct .contact-action-card > .contact-copy-btn:focus-visible{
  background:var(--sea);
  color:#fff;
}

/* Bei mittleren Breiten brauchen Kontaktoptionen und Formular volle Breite. */
@media(min-width:1181px){
  .contact-inner .direct{
    grid-template-columns:1fr;
  }
}
@media(max-width:1180px){
  .contact-inner{
    display:block;
  }
  .contact-inner > *{
    margin-bottom:30px;
  }
  .contact-inner > *:last-child{
    margin-bottom:0;
  }
  .direct{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:680px){
  .direct{grid-template-columns:1fr}
}

/* ---------- Staging polish 1.0.3: contact privacy, form balance, service wrapping, subpage home route ---------- */

/* A clear language-aware route back to the matching homepage on subpages. */
.meraki-back-home{
  display:inline-flex;
  align-items:center;
  gap:9px;
  width:max-content;
  max-width:100%;
  margin:0 0 24px;
  padding:10px 15px;
  border:1px solid rgba(233,221,199,.36);
  border-radius:999px;
  background:rgba(247,243,236,.08);
  color:var(--wash);
  font-size:14px;
  font-weight:700;
  line-height:1.2;
  text-decoration:none;
  backdrop-filter:blur(8px);
  transition:background .2s,border-color .2s,transform .2s;
}
.meraki-back-home:hover,.meraki-back-home:focus-visible{
  background:rgba(247,243,236,.15);
  border-color:rgba(233,221,199,.7);
  color:var(--wash);
  transform:translateX(-2px);
  outline:3px solid rgba(185,136,74,.45);
  outline-offset:3px;
}
.meraki-back-home + .breadcrumbs{margin-top:0}

/* Keep direct phone details discreet until the visitor explicitly reveals them. */
.direct .contact-action-card:has(.d-viber):not(.is-contact-revealed) .contact-action-text small,
.direct .contact-action-card:has(.d-wa):not(.is-contact-revealed) .contact-action-text small,
.direct .contact-action-card:has(.d-phone):not(.is-contact-revealed) .contact-action-text small,
.contact-action-card:has(.contact-card-badge.is-viber):not(.is-contact-revealed) .contact-card-copy p,
.contact-action-card:has(.contact-card-badge.is-whatsapp):not(.is-contact-revealed) .contact-card-copy p,
.contact-action-card:has(.contact-card-badge.is-phone):not(.is-contact-revealed) .contact-card-copy p{
  display:none!important;
}
.direct .contact-action-card:has(.d-viber):not(.is-contact-revealed) .contact-action-text::after,
.direct .contact-action-card:has(.d-wa):not(.is-contact-revealed) .contact-action-text::after,
.direct .contact-action-card:has(.d-phone):not(.is-contact-revealed) .contact-action-text::after,
.contact-action-card:has(.contact-card-badge.is-viber):not(.is-contact-revealed) .contact-card-copy::after,
.contact-action-card:has(.contact-card-badge.is-whatsapp):not(.is-contact-revealed) .contact-card-copy::after,
.contact-action-card:has(.contact-card-badge.is-phone):not(.is-contact-revealed) .contact-card-copy::after{
  content:attr(data-meraki-reveal-hint);
  display:block;
  margin-top:4px;
  color:var(--gold-dark,#8A602C);
  font-size:12px;
  font-weight:650;
  line-height:1.35;
}
.direct .contact-action .ic,
.contact-card-badge.is-viber,
.contact-card-badge.is-whatsapp,
.contact-card-badge.is-phone{
  cursor:pointer;
  transition:transform .2s,box-shadow .2s,filter .2s;
}
.direct .contact-action .ic:hover,
.direct .contact-action .ic:focus-visible,
.contact-card-badge.is-viber:hover,
.contact-card-badge.is-whatsapp:hover,
.contact-card-badge.is-phone:hover,
.contact-card-badge.is-viber:focus-visible,
.contact-card-badge.is-whatsapp:focus-visible,
.contact-card-badge.is-phone:focus-visible{
  transform:scale(1.07);
  filter:saturate(1.08);
  outline:3px solid rgba(185,136,74,.34);
  outline-offset:3px;
}

/* Give the contact section and form enough breathing room at every breakpoint. */
.contact .contact-inner{
  width:min(100%,1160px);
  max-width:1160px;
  margin-inline:auto;
  padding-inline:24px;
  box-sizing:border-box;
  align-items:start;
}
@media(min-width:1181px){
  .contact .contact-inner{
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    gap:64px;
  }
}
.contact .contact-inner > *{min-width:0}
.contact .meraki-form-shell{
  width:100%;
  max-width:780px;
  box-sizing:border-box;
  padding:clamp(28px,3.4vw,42px);
  border-radius:28px;
  box-shadow:0 22px 58px rgba(12,42,51,.11);
}
.contact .meraki-form-heading{margin-bottom:28px}
.contact .meraki-form-heading h3{
  max-width:none;
  font-size:clamp(34px,3.25vw,46px);
  line-height:1.02;
  letter-spacing:-.015em;
  text-wrap:balance;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.contact .meraki-form-heading > p:last-child{max-width:54ch}
.contact .meraki-form-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 20px;
}
.contact .meraki-field input,
.contact .meraki-field select,
.contact .meraki-field textarea{min-width:0}
@media(max-width:1180px){
  .contact .contact-inner > *:last-child{
    width:100%;
    max-width:780px;
    margin:34px auto 0!important;
  }
}
@media(max-width:760px){
  .contact .contact-inner{padding-inline:18px}
  .contact .meraki-form-shell{padding:24px 20px;border-radius:22px}
  .contact .meraki-form-grid{grid-template-columns:1fr;gap:13px}
  .contact .meraki-field-wide{grid-column:auto}
}

/* Service cards: preserve whole words and use more generous column widths. */
.services .wrap{max-width:1320px}
.services .grid,
.services .grid.wp-block-columns{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:22px!important;
}
.services .grid > .wp-block-column{min-width:0}
.services .card h3{
  max-width:none;
  font-size:clamp(25px,1.85vw,30px);
  line-height:1.12;
  text-wrap:balance;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.services .card p{max-width:none}
@media(max-width:1220px){
  .services .grid,
  .services .grid.wp-block-columns{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .services .card h3{font-size:clamp(27px,3vw,32px)}
}
@media(max-width:720px){
  .services .grid,
  .services .grid.wp-block-columns{
    grid-template-columns:1fr!important;
  }
  .services .card h3{font-size:clamp(27px,7vw,32px)}
}


/* ---------- Staging polish 1.0.4: header brand + hero consistency ---------- */
.meraki-brand-link{
  display:inline-flex;align-items:center;gap:12px;min-height:58px;
  color:var(--sea);text-decoration:none;font-family:var(--serif);
}
.meraki-brand-logo{
  display:block;width:52px;height:52px;object-fit:cover;border-radius:4px;
  box-shadow:0 1px 0 rgba(12,42,51,.08);
}
.meraki-brand-name{
  display:block;font-size:clamp(20px,2vw,26px);font-weight:600;line-height:1;
  letter-spacing:.01em;white-space:nowrap;color:var(--sea);
}

.hero .cta-row .wp-block-button{
  margin:0!important;background:transparent!important;border:0!important;
  border-radius:4px!important;overflow:visible!important;
}
.hero .cta-row .wp-block-button__link{
  box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;
  min-height:52px;padding:14px 26px!important;border-radius:4px!important;
  border:1px solid transparent;font-family:var(--sans);font-size:15px;font-weight:600;
  line-height:1.2;text-decoration:none;box-shadow:none!important;
}
.hero .cta-row .btn-gold .wp-block-button__link{
  background:var(--gold)!important;color:var(--sea-2)!important;border-color:var(--gold)!important;
}
.hero .cta-row .btn-ghost .wp-block-button__link{
  background:transparent!important;color:var(--wash)!important;border-color:rgba(247,243,236,.62)!important;
}
.hero .cta-row .btn-gold .wp-block-button__link:hover,
.hero .cta-row .btn-gold .wp-block-button__link:focus-visible{
  background:#C49A61!important;color:var(--sea-2)!important;
}
.hero .cta-row .btn-ghost .wp-block-button__link:hover,
.hero .cta-row .btn-ghost .wp-block-button__link:focus-visible{
  background:rgba(247,243,236,.12)!important;color:var(--wash)!important;
}
.hero-meta{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:start;gap:18px 30px;margin-top:44px!important;
  font-size:15px!important;line-height:1.45;font-weight:500;
  letter-spacing:.01em;color:rgba(247,243,236,.92)!important;
}
.hero-meta > p{
  display:flex;align-items:flex-start;gap:10px;margin:0!important;min-width:0;
}
.hero-meta > p::before{
  content:"";display:block;flex:0 0 7px;width:7px;height:7px;margin-top:.48em;
  background:var(--gold);border-radius:50%;
}
@media(max-width:760px){
  .meraki-brand-name{font-size:20px}
  .meraki-brand-logo{width:46px;height:46px}
  .hero-meta{grid-template-columns:1fr!important;gap:10px!important;font-size:15px!important;margin-top:34px!important}
  .hero .cta-row .wp-block-button,.hero .cta-row .wp-block-button__link{width:100%}
}

/* ---------- Staging polish 1.0.5: stronger brand, robust service headings, CTA emphasis, subpage home rail ---------- */

/* Header brand: the square lockup itself contains fine detail, so give it enough physical size. */
.meraki-site-header{min-height:96px}
.meraki-brand-row{min-height:96px}
.meraki-brand-link{
  gap:14px;
  min-height:82px;
}
.meraki-brand-logo{
  width:76px!important;
  height:76px!important;
  flex:0 0 76px;
  border-radius:7px;
  box-shadow:0 3px 14px rgba(12,42,51,.14);
}
.meraki-brand-name{
  font-size:clamp(24px,2.1vw,30px)!important;
  font-weight:650;
  letter-spacing:.005em;
}

/* Services: keep 4 / 2 / 1 logic, but reserve enough inner width for long translated headings.
   Do not split words artificially; instead use slightly tighter type and padding on wide grids. */
.services .wrap{max-width:1400px!important}
.services .card{padding:28px 24px 26px!important}
.services .card h3{
  font-size:clamp(23px,1.55vw,27px)!important;
  line-height:1.12!important;
  letter-spacing:-.018em;
  max-width:100%!important;
  overflow:visible!important;
  text-wrap:balance;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
html[lang="de"] .services .card h3{
  font-size:clamp(22px,1.45vw,25px)!important;
  letter-spacing:-.025em;
}
@media(max-width:1220px){
  .services .card{padding:28px 26px 26px!important}
  .services .card h3,
  html[lang="de"] .services .card h3{font-size:clamp(26px,3vw,31px)!important;letter-spacing:-.012em}
}
@media(max-width:720px){
  .services .card h3,
  html[lang="de"] .services .card h3{font-size:clamp(27px,7vw,32px)!important;letter-spacing:-.01em}
}

/* Hero secondary CTA: keep the same geometry, but make the service route clearly visible. */
.hero .cta-row .btn-ghost .wp-block-button__link{
  background:rgba(247,243,236,.15)!important;
  color:#fff!important;
  border:2px solid rgba(233,221,199,.94)!important;
  font-weight:700!important;
  box-shadow:0 8px 24px rgba(4,18,26,.18)!important;
}
.hero .cta-row .btn-ghost .wp-block-button__link::after{
  content:"→";
  margin-left:10px;
  color:var(--sand);
  font-size:18px;
  line-height:1;
  transition:transform .2s ease;
}
.hero .cta-row .btn-ghost .wp-block-button__link:hover,
.hero .cta-row .btn-ghost .wp-block-button__link:focus-visible{
  background:rgba(247,243,236,.24)!important;
  border-color:#fff!important;
  box-shadow:0 12px 30px rgba(4,18,26,.25)!important;
}
.hero .cta-row .btn-ghost .wp-block-button__link:hover::after,
.hero .cta-row .btn-ghost .wp-block-button__link:focus-visible::after{transform:translateX(3px)}

/* Normal subpages: put the direct home route in its own left rail, aligned with the header brand edge.
   The content column starts to its right; on smaller screens it returns above the text. */
.page-hero .wrap:has(.meraki-back-home){
  display:grid!important;
  grid-template-columns:minmax(150px,190px) minmax(0,1fr);
  column-gap:36px;
  align-items:start;
}
.page-hero .wrap:has(.meraki-back-home) > .meraki-back-home{
  grid-column:1;
  grid-row:1 / span 6;
  align-self:start;
  justify-self:start;
  margin:2px 0 0!important;
  padding:12px 16px!important;
  background:rgba(247,243,236,.14)!important;
  border:1px solid rgba(233,221,199,.72)!important;
  box-shadow:0 8px 22px rgba(4,18,26,.18);
  font-size:14px!important;
}
.page-hero .wrap:has(.meraki-back-home) > :not(.meraki-back-home){grid-column:2}
.page-hero .wrap:has(.meraki-back-home) > .breadcrumbs{margin-top:0!important}
@media(max-width:900px){
  .page-hero .wrap:has(.meraki-back-home){display:block!important}
  .page-hero .wrap:has(.meraki-back-home) > .meraki-back-home{margin:0 0 24px!important}
}
@media(max-width:760px){
  .meraki-site-header,.meraki-brand-row{min-height:82px}
  .meraki-brand-link{min-height:70px;gap:10px}
  .meraki-brand-logo{width:60px!important;height:60px!important;flex-basis:60px}
  .meraki-brand-name{font-size:21px!important}
}



/* ---------- Staging polish 1.0.6: larger visible brand + independent subpage home rail ---------- */
/* The supplied logo artwork contains both symbol and small wordmark. At ~76px the artwork itself
   is still too fine to read, therefore the desktop lockup receives real physical size. */
.meraki-site-header{min-height:132px!important}
.meraki-brand-row{min-height:132px!important}
.meraki-brand-link{min-height:116px!important;gap:16px!important}
.meraki-brand-logo{
  width:110px!important;
  height:110px!important;
  flex:0 0 110px!important;
  border-radius:8px!important;
  object-fit:cover!important;
}
.meraki-brand-name{font-size:clamp(27px,2.2vw,32px)!important}

/* v1.0.6: the home route is no longer injected into .page-hero .wrap.
   The rail is a zero-height sibling immediately before the hero. Its absolute child sits on the
   header/brand axis, while the green hero and every text element retain their original geometry. */
.meraki-subpage-home-rail{
  position:relative;
  z-index:12;
  height:0;
  width:100%;
  max-width:1160px;
  margin:0 auto;
  padding:0 24px;
  box-sizing:border-box;
  pointer-events:none;
}
.meraki-subpage-home-rail .meraki-back-home{
  position:absolute;
  top:44px;
  left:24px;
  pointer-events:auto;
  margin:0!important;
  padding:12px 16px!important;
  background:var(--wash,#f7f3ec)!important;
  color:var(--sea,#143844)!important;
  border:1px solid rgba(20,56,68,.22)!important;
  box-shadow:0 8px 24px rgba(4,18,26,.16)!important;
}
.meraki-subpage-home-rail .meraki-back-home:hover,
.meraki-subpage-home-rail .meraki-back-home:focus-visible{
  background:#fff!important;
  color:var(--sea-2,#0c2a33)!important;
  border-color:rgba(20,56,68,.46)!important;
}
/* Disable the v1.0.5 internal grid treatment if stale cached markup is ever present. */
.page-hero .wrap:has(.meraki-back-home){display:block!important}
.page-hero .wrap:has(.meraki-back-home) > :not(.meraki-back-home){grid-column:auto!important}

@media(min-width:1220px){
  .meraki-subpage-home-rail .meraki-back-home{
    left:-168px;
    top:48px;
  }
}
@media(max-width:1219px) and (min-width:901px){
  /* Keep the button outside the text column without changing hero text measurements. */
  .meraki-subpage-home-rail .meraki-back-home{
    left:24px;
    top:24px;
    transform:translateY(-86px);
  }
}
@media(max-width:900px){
  .meraki-subpage-home-rail{
    height:auto;
    padding:18px 24px 0;
    background:var(--sea-2,#0c2a33);
  }
  .meraki-subpage-home-rail .meraki-back-home{
    position:static;
    transform:none;
    margin:0!important;
  }
}
@media(max-width:760px){
  .meraki-site-header,.meraki-brand-row{min-height:106px!important}
  .meraki-brand-link{min-height:94px!important;gap:10px!important}
  .meraki-brand-logo{width:82px!important;height:82px!important;flex-basis:82px!important}
  .meraki-brand-name{font-size:22px!important}
}

/* ---------- Staging polish 1.0.7: collision-safe back rail + stronger brand/footer lockup ---------- */
/* Header artwork: moderately larger than 1.0.6 without changing navigation hierarchy. */
.meraki-site-header{min-height:150px!important}
.meraki-brand-row{min-height:150px!important}
.meraki-brand-link{min-height:134px!important;gap:18px!important}
.meraki-brand-logo{
  width:128px!important;
  height:128px!important;
  flex:0 0 128px!important;
}
.meraki-brand-name{font-size:clamp(29px,2.35vw,34px)!important}

/* Desktop subpages use the theme's real 760px content width as their positioning reference.
   The button's RIGHT edge is pinned outside that column, so labels in all languages grow leftward
   and can never overlap the green page hero. */
@media(min-width:1200px){
  .meraki-subpage-home-rail{
    max-width:760px!important;
    padding:0!important;
  }
  .meraki-subpage-home-rail .meraki-back-home{
    left:auto!important;
    right:calc(100% + 22px)!important;
    top:48px!important;
    transform:none!important;
    white-space:nowrap!important;
    max-width:none!important;
  }
}
/* Below 1200px there is not enough guaranteed side gutter for every translated label.
   Keep it outside the green block by giving it its own row instead of allowing overlap. */
@media(max-width:1199px) and (min-width:901px){
  .meraki-subpage-home-rail{
    height:auto!important;
    max-width:760px!important;
    padding:18px 24px 0!important;
    margin:0 auto!important;
  }
  .meraki-subpage-home-rail .meraki-back-home{
    position:static!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    transform:none!important;
    white-space:normal!important;
  }
}
@media(max-width:760px){
  .meraki-site-header,.meraki-brand-row{min-height:116px!important}
  .meraki-brand-link{min-height:104px!important}
  .meraki-brand-logo{width:92px!important;height:92px!important;flex-basis:92px!important}
  .meraki-brand-name{font-size:23px!important}
}

/* Footer repeats the actual Meraki artwork rather than a text-only brand. */
.meraki-footer-logo-lockup{
  display:inline-flex;
  align-items:center;
  gap:16px;
  color:var(--wash);
  text-decoration:none;
  margin-bottom:14px;
}
.meraki-footer-logo{
  width:92px;
  height:92px;
  flex:0 0 92px;
  object-fit:cover;
  border-radius:8px;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
}
.meraki-footer-logo-lockup .meraki-footer-brand{
  margin:0;
  font-size:32px;
}
@media(max-width:720px){
  .meraki-footer-logo{width:76px;height:76px;flex-basis:76px}
  .meraki-footer-logo-lockup .meraki-footer-brand{font-size:27px}
}

/* ---------- Staging polish 1.0.8: footer alignment + larger header brand ---------- */
/* Slightly larger header artwork; brand text/navigation geometry stays unchanged. */
.meraki-site-header{min-height:166px!important}
.meraki-brand-row{min-height:166px!important}
.meraki-brand-link{min-height:150px!important}
.meraki-brand-logo{
  width:144px!important;
  height:144px!important;
  flex:0 0 144px!important;
}

/* Keep the consent/privacy-settings control on the same left edge as footer links. */
.meraki-footer-privacy{
  justify-self:start!important;
  align-self:start!important;
  text-align:left!important;
  margin:0!important;
  width:auto!important;
}

/* Visually merge the blue logo tile into the dark sea footer instead of showing a hard blue card. */
.meraki-footer-logo{
  box-shadow:none!important;
  opacity:.84;
  mix-blend-mode:luminosity;
  filter:saturate(.65) brightness(.92) contrast(1.06);
  border:1px solid rgba(210,176,105,.20);
}

@media(max-width:760px){
  .meraki-site-header,.meraki-brand-row{min-height:124px!important}
  .meraki-brand-link{min-height:112px!important}
  .meraki-brand-logo{width:100px!important;height:100px!important;flex-basis:100px!important}
}


/* ---------- Staging polish 1.0.9: footer colour integration + contact reveal controls ---------- */
/* Match the footer field to the artwork's sampled blue/sea background instead of fading the logo. */
.meraki-dynamic-footer{
  background:#2d5f76!important;
}
.meraki-footer-logo{
  opacity:1!important;
  mix-blend-mode:normal!important;
  filter:none!important;
  border-color:rgba(233,221,199,.22)!important;
}
.meraki-footer-bottom{
  border-top-color:rgba(255,255,255,.18)!important;
}

/* Contact CTA is a reveal control first: prevent it looking like an immediate external-app launch. */
.contact-action-card:not(.is-contact-revealed) .wp-block-button__link[data-meraki-contact-reveal]{
  cursor:pointer;
}
.contact-action-card.is-contact-revealed .contact-card-copy p{
  display:block!important;
}

/* ---------- Staging polish 1.0.10: final visual consistency pass ---------- */
/* Footer: restore the original dark Aegean field and remove any residual logo artwork. */
.meraki-dynamic-footer{background:#0C2A33!important}
.meraki-footer-logo-lockup{display:none!important}
.meraki-footer-brand{display:block!important;color:var(--wash)!important;margin:0 0 8px!important}

/* Homepage hero: both CTAs use one geometry and one baseline in every language. */
.hero .cta-row{display:flex!important;align-items:stretch!important;gap:14px!important}
.hero .cta-row .wp-block-button{
  display:flex!important;align-items:stretch!important;margin:0!important;
  background:transparent!important;border:0!important;border-radius:4px!important;
}
.hero .cta-row .wp-block-button__link{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-height:52px!important;height:100%!important;padding:13px 24px!important;
  border-radius:4px!important;line-height:1.2!important;box-sizing:border-box!important;
}

/* Normal subpages: primary/secondary actions share the same physical geometry.
   Local service-card text links retain their deliberately text-only treatment. */
:where(.page-hero,.content-section,.article-faq,.sticky-cta) .wp-block-button:not(.local-card .wp-block-button){
  margin:0!important;border-radius:4px!important;overflow:visible!important;
}
:where(.page-hero,.content-section,.article-faq,.sticky-cta) .wp-block-button__link{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-height:48px!important;padding:12px 22px!important;border-radius:4px!important;
  line-height:1.2!important;box-sizing:border-box!important;
}
.local-card .wp-block-button__link{min-height:0!important;border-radius:0!important;padding:0!important}

/* Contact cards: never let the badge/icon disappear because of imported block variations. */
.contact-card-main{display:flex!important;align-items:center!important;gap:14px!important;min-width:0!important}
.contact-card-badge{
  display:grid!important;place-items:center!important;visibility:visible!important;opacity:1!important;
  flex:0 0 46px!important;width:46px!important;height:46px!important;min-width:46px!important;
}
.contact-card-badge.is-viber,.contact-card-badge.is-whatsapp,.contact-card-badge.is-phone,.contact-card-badge.is-email{
  color:#fff!important;
}
/* Hide phone values only after the interaction script has successfully initialised.
   Without JS, visitors see the number rather than an empty/broken card. */
html:not(.meraki-contact-js) .contact-card-copy p{display:block!important}
html.meraki-contact-js .contact-action-card:not(.is-contact-revealed):has(.contact-card-badge.is-viber) .contact-card-copy p,
html.meraki-contact-js .contact-action-card:not(.is-contact-revealed):has(.contact-card-badge.is-whatsapp) .contact-card-copy p,
html.meraki-contact-js .contact-action-card:not(.is-contact-revealed):has(.contact-card-badge.is-phone) .contact-card-copy p{
  display:none!important;
}
html.meraki-contact-js .contact-action-card.is-contact-revealed .contact-card-copy p{display:block!important}
.contact-action-card .wp-block-button__link[data-meraki-contact-reveal]{cursor:pointer!important}

@media(max-width:640px){
  .hero .cta-row{flex-direction:column!important;align-items:stretch!important}
  .hero .cta-row .wp-block-button,.hero .cta-row .wp-block-button__link{width:100%!important}
}

/* ---------- Staging polish 1.0.11: stacked contact area + clearer hero trust line ---------- */
/* Give the direct-contact panel and property form their own full-width rows.
   This deliberately removes the narrow side-by-side form treatment. */
.contact .contact-inner,
.contact .contact-inner.wp-block-columns{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-items:start!important;
  gap:34px!important;
  width:min(100%,960px)!important;
  max-width:960px!important;
  margin-inline:auto!important;
}
.contact .contact-inner > .wp-block-column,
.contact .contact-inner > *{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
}
.contact .contact-side{
  width:100%!important;
  max-width:860px!important;
  margin-inline:auto!important;
}
.contact .meraki-form-shell{
  width:100%!important;
  max-width:960px!important;
  margin-inline:auto!important;
}
@media(max-width:760px){
  .contact .contact-inner,
  .contact .contact-inner.wp-block-columns{gap:24px!important}
}

/* Hero proof points: larger, tighter, no orange bullet dots. */
.hero-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  column-gap:22px!important;
  row-gap:10px!important;
  margin-top:38px!important;
  font-size:16px!important;
  line-height:1.4!important;
  font-weight:600!important;
  letter-spacing:.005em!important;
  color:rgba(247,243,236,.97)!important;
}
.hero-meta > p{
  display:block!important;
  width:auto!important;
  flex:0 1 auto!important;
  margin:0!important;
  padding:0 0 0 22px!important;
  border-left:1px solid rgba(247,243,236,.38)!important;
}
.hero-meta > p:first-child{
  padding-left:0!important;
  border-left:0!important;
}
.hero-meta > p::before{content:none!important;display:none!important}
@media(max-width:760px){
  .hero-meta{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    margin-top:30px!important;
    font-size:16px!important;
  }
  .hero-meta > p,
  .hero-meta > p:first-child{
    padding:0!important;
    border-left:0!important;
  }
}

/* ---------- Staging polish 1.0.12: Greek sidebar robustness + guaranteed contact badges ---------- */
/* Greek copy needs a little more breathing room. Never force words into narrow fragments. */
html[lang^="el"] .sticky-cta,
html[lang^="el"] .related-links{
  min-width:0!important;
}
html[lang^="el"] .sticky-cta h2,
html[lang^="el"] .sticky-cta h3,
html[lang^="el"] .related-links h2,
html[lang^="el"] .related-links h3,
html[lang^="el"] .related-links a{
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  text-wrap:pretty;
}
html[lang^="el"] .related-links h3{
  font-size:clamp(25px,2.3vw,31px)!important;
  line-height:1.12!important;
}
html[lang^="el"] .related-links a{
  display:block!important;
  width:100%!important;
  box-sizing:border-box!important;
  font-size:14px!important;
  line-height:1.35!important;
  padding:13px 14px!important;
}
/* Collapse the two-column editorial layout earlier when translated sidebar copy would become cramped. */
@media(max-width:1040px){
  html[lang^="el"] .content-grid{
    grid-template-columns:1fr!important;
  }
  html[lang^="el"] .sticky-cta{
    position:static!important;
    width:100%!important;
    max-width:none!important;
  }
}

/* Make all four contact badges self-contained. This is a rendering fallback as well as a visual icon. */
.contact-card-badge{
  position:relative!important;
  overflow:hidden!important;
  text-indent:-9999px!important;
  font-size:0!important;
}
.contact-card-badge::before{
  text-indent:0!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:19px!important;
  line-height:1!important;
  font-weight:800!important;
  color:#fff!important;
  display:block!important;
}
.contact-card-badge.is-viber::before{content:"V"!important}
.contact-card-badge.is-whatsapp::before{content:"W"!important}
.contact-card-badge.is-phone::before{content:"☎"!important;font-size:18px!important}
.contact-card-badge.is-email::before{content:"✉"!important;font-size:18px!important}
/* Explicit Greek safeguard: badges remain visible even if imported block styles differ. */
html[lang^="el"] .contact-card-badge{
  display:grid!important;
  place-items:center!important;
  visibility:visible!important;
  opacity:1!important;
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  flex:0 0 46px!important;
}


/* v1.0.14 — runtime contact cards must mirror the stable stacked contact-card geometry. */
.meraki-contact-cards-runtime{
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  width:100%!important;
  max-width:680px!important;
  margin:0 0 28px!important;
}
.meraki-contact-cards-runtime .contact-action-card{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  width:100%!important;
  min-width:0!important;
  min-height:82px!important;
  box-sizing:border-box!important;
  padding:14px 16px!important;
  border:1px solid rgba(12,42,51,.12)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 10px 26px rgba(12,42,51,.08)!important;
}
.meraki-contact-cards-runtime .contact-card-main{
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
}
.meraki-contact-cards-runtime .contact-card-copy{
  flex:1 1 auto!important;
  min-width:0!important;
}
.meraki-contact-cards-runtime .contact-card-copy h3,
.meraki-contact-cards-runtime .contact-card-copy p{
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}
.meraki-contact-cards-runtime .contact-card-copy h3{
  margin:0 0 3px!important;
  font-size:16px!important;
  line-height:1.25!important;
}
.meraki-contact-cards-runtime .contact-card-copy p{
  margin:0!important;
  font-size:14px!important;
  line-height:1.35!important;
  white-space:nowrap!important;
}
.meraki-contact-cards-runtime > .contact-action-card > .wp-block-buttons{
  flex:0 0 auto!important;
  width:auto!important;
  margin:0!important;
}
.meraki-contact-cards-runtime .wp-block-button,
.meraki-contact-cards-runtime .wp-block-button__link{
  width:auto!important;
  max-width:100%!important;
}
.meraki-contact-cards-runtime .wp-block-button__link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:164px!important;
  min-height:44px!important;
  box-sizing:border-box!important;
  padding:10px 14px!important;
  border-radius:8px!important;
  line-height:1.2!important;
  text-align:center!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
@media (max-width:700px){
  .meraki-contact-cards-runtime{max-width:none!important}
  .meraki-contact-cards-runtime .contact-action-card{
    align-items:stretch!important;
    flex-direction:column!important;
  }
  .meraki-contact-cards-runtime > .contact-action-card > .wp-block-buttons,
  .meraki-contact-cards-runtime .wp-block-button,
  .meraki-contact-cards-runtime .wp-block-button__link{width:100%!important}
}

/* v1.0.14: never allow the injected e-mail value to collapse letter-by-letter. */
.meraki-contact-cards-runtime .contact-card-badge.is-email + .contact-card-copy p,
.meraki-contact-cards-runtime .contact-card-copy p a{
  word-break:normal!important;
  overflow-wrap:normal!important;
}


/* ---------- Staging polish 1.0.15: regional section containment + reliable direct-contact reveal ---------- */
/* The regional management section must stay inside the viewport. WordPress column
   flex-basis values are ignored here in favour of a stable two-column grid. */
#regions.owner-seo{
  overflow:hidden!important;
}
#regions > .owner-seo-grid,
#regions .owner-seo-grid.wp-block-columns{
  width:min(calc(100% - 48px),1160px)!important;
  max-width:1160px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;
  gap:48px!important;
  align-items:start!important;
}
#regions .owner-seo-grid > .wp-block-column{
  min-width:0!important;
  width:auto!important;
  flex-basis:auto!important;
  margin:0!important;
}
#regions .local-card-grid.wp-block-columns{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:16px!important;
  width:100%!important;
  margin:0!important;
}
#regions .local-card-grid > .wp-block-column{
  min-width:0!important;
  width:100%!important;
  flex-basis:auto!important;
  margin:0!important;
}
#regions .local-card{width:100%!important;box-sizing:border-box!important}
#regions .section-visual{width:100%!important;max-width:100%!important}
@media(max-width:900px){
  #regions > .owner-seo-grid,
  #regions .owner-seo-grid.wp-block-columns{
    width:min(calc(100% - 32px),760px)!important;
    grid-template-columns:1fr!important;
    gap:28px!important;
  }
}

/* Direct contact rows on imported subpages are reveal controls, not app launchers. */
.direct .contact-action.d-viber,
.direct .contact-action.d-wa,
.direct .contact-action.d-phone{
  cursor:pointer!important;
}
.direct .contact-action-card.is-contact-revealed .contact-action-text small{
  display:block!important;
}

/* ---------- Staging polish 1.0.17: subpage hero headline containment ---------- */
/* Long translated headings must wrap inside the actual hero column rather than
   sizing only from the viewport. Keep words intact where possible; German may
   use native hyphenation for very long compounds instead of clipping. */
.page-hero .wrap{min-width:0!important}
.page-hero h1{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  font-size:clamp(38px,4.4vw,58px)!important;
  line-height:1.02!important;
  overflow:visible!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  text-wrap:balance;
}
html[lang^="de"] .page-hero h1{
  font-size:clamp(38px,3.8vw,50px)!important;
  hyphens:auto!important;
  -webkit-hyphens:auto!important;
}
@media(max-width:760px){
  .page-hero h1{font-size:clamp(36px,10vw,48px)!important;text-wrap:pretty}
}


/* ---------- Staging polish 1.0.18: deterministic German hero wrapping ---------- */
/* Chrome does not always hyphenate long German compounds even with hyphens:auto.
   Keep the title inside its real column and allow an emergency line break only
   when the compound would otherwise clip. */
html[lang^="de"] .page-hero .wrap > h1,
html[lang^="de"] .page-hero h1{
  display:block!important;
  inline-size:100%!important;
  max-inline-size:100%!important;
  min-inline-size:0!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  hyphens:manual!important;
  -webkit-hyphens:manual!important;
  text-wrap:pretty!important;
  font-size:clamp(36px,3.35vw,46px)!important;
  line-height:1.08!important;
}
