/* CMAAG – Standort Obernau. Diese Datei NACH cmaag.css laden. */

.cma-location-hero {
  position: relative;
  min-height: clamp(28rem, 50vw, 38rem);
  overflow: hidden;
  color: var(--cma-white);
  background:
    linear-gradient(90deg, rgba(12,13,16,.93) 0%, rgba(12,13,16,.60) 48%, rgba(12,13,16,.16) 100%),
    url("../images/obernau-hero.jpg") center / cover,
    var(--cma-ink);
}
.cma-location-hero .cma-wrap { display:grid; align-content:center; min-height:inherit; padding-block:clamp(4.5rem,7vw,6.4rem); }
.cma-location-hero .cma-eyebrow { color:#ff7c85; }
.cma-location-hero h1 { max-width:48rem; margin:0; font-size:clamp(2.7rem,5.7vw,5rem); line-height:.98; letter-spacing:-.055em; }
.cma-location-hero h1 strong { color:#f43b48; }
.cma-location-hero p:not(.cma-eyebrow) { max-width:38rem; margin:1.2rem 0 0; color:rgba(255,255,255,.89); font-size:clamp(1rem,1.7vw,1.17rem); }
.cma-location-hero-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.9rem; }

.cma-location-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(20rem,.95fr); gap:clamp(2rem,6vw,7rem); align-items:center; }
.cma-location-intro-copy h2 { max-width:35rem; margin:0; color:var(--cma-ink); font-size:clamp(2rem,4vw,3.15rem); line-height:1.06; letter-spacing:-.045em; }
.cma-location-intro-copy > p:not(.cma-eyebrow) { max-width:39rem; margin:1.2rem 0 0; color:var(--cma-steel); }
.cma-location-image { position:relative; min-height:29rem; overflow:hidden; border-radius:var(--cma-radius); background:linear-gradient(0deg,rgba(14,15,18,.42),rgba(14,15,18,.03)),url("../images/obernau-main.jpg") center / cover,#2e3036; box-shadow:var(--cma-shadow); }
.cma-location-image-label { position:absolute; right:1.2rem; bottom:1.2rem; left:1.2rem; padding:.95rem 1rem; color:rgba(255,255,255,.9); font-size:.84rem; border-left:3px solid #f43b48; background:rgba(14,15,18,.7); backdrop-filter:blur(8px); }

.cma-location-services { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.cma-location-service { position:relative; min-height:16rem; padding:1.8rem; overflow:hidden; color:var(--cma-white); border-radius:.78rem; background:#2a2c31; box-shadow:0 11px 26px rgba(17,18,21,.08); }
.cma-location-service::before { position:absolute; inset:0; content:""; background:linear-gradient(135deg,rgba(177,15,27,.42),transparent 62%),var(--location-service-image) center / cover,linear-gradient(135deg,#545860,#202227); opacity:.72; transition:transform .4s ease; }
.cma-location-service:hover::before { transform:scale(1.05); }
.cma-location-service::after { position:absolute; inset:0; content:""; background:linear-gradient(0deg,rgba(10,11,13,.9),rgba(10,11,13,.1)); }
.cma-location-service > * { position:relative; z-index:1; }
.cma-location-service-number { display:block; color:#ff7c85; font-size:.78rem; font-weight:800; letter-spacing:.11em; }
.cma-location-service h3 { margin:3rem 0 0; font-size:1.45rem; line-height:1.1; letter-spacing:-.03em; }
.cma-location-service p { margin:.78rem 0 0; color:rgba(255,255,255,.8); }
.cma-location-service a { display:inline-flex; align-items:center; gap:.45rem; margin-top:1rem; color:var(--cma-white); font-size:.78rem; font-weight:800; letter-spacing:.055em; text-transform:uppercase; }
.cma-location-service a::after { content:"→"; color:#ff7c85; font-size:1.15rem; transition:transform .18s ease; }
.cma-location-service:hover a::after { transform:translateX(.25rem); }

.cma-location-details { display:grid; grid-template-columns:minmax(18rem,.78fr) minmax(0,1.22fr); gap:1.3rem; }
.cma-location-address-card,.cma-location-hours-card { min-height:100%; border-radius:var(--cma-radius); box-shadow:var(--cma-shadow); }
.cma-location-address-card { padding:clamp(1.6rem,3vw,2.35rem); color:var(--cma-white); background:var(--cma-ink); }
.cma-location-address-card .cma-eyebrow { color:#ff7d86; }
.cma-location-address-card h2,.cma-location-hours-card h2 { margin:0; line-height:1.1; letter-spacing:-.035em; }
.cma-location-address-card h2 { font-size:clamp(1.8rem,3vw,2.45rem); }
.cma-location-address-card address { margin:1.1rem 0 0; color:rgba(255,255,255,.86); font-size:1.03rem; font-style:normal; }
.cma-location-address-card ul { padding:0; margin:1.4rem 0 0; list-style:none; }
.cma-location-address-card li + li { margin-top:.48rem; }
.cma-location-address-card a { color:var(--cma-white); font-weight:800; }
.cma-location-address-card a:hover { color:#ff7d86; }
.cma-location-route { display:inline-flex; align-items:center; justify-content:center; min-height:2.8rem; margin-top:1.6rem; padding:.72rem 1rem; color:var(--cma-ink); font-size:.78rem; font-weight:800; letter-spacing:.055em; text-transform:uppercase; border-radius:.28rem; background:var(--cma-white); }
.cma-location-route:hover { color:var(--cma-white); background:var(--cma-red); }
.cma-location-hours-card { padding:clamp(1.6rem,3vw,2.35rem); border:1px solid rgba(27,28,31,.08); background:var(--cma-white); }
.cma-location-hours-card .cma-eyebrow { margin-bottom:.65rem; }
.cma-location-hours-card h2 { color:var(--cma-ink); font-size:clamp(1.7rem,3vw,2.3rem); }
.cma-location-hours { width:100%; margin-top:1.1rem; border-collapse:collapse; color:var(--cma-steel); }
.cma-location-hours th,.cma-location-hours td { padding:.62rem 0; text-align:left; border-bottom:1px solid var(--cma-line); }
.cma-location-hours th { color:var(--cma-ink); font-size:.89rem; }
.cma-location-hours tr:last-child th,.cma-location-hours tr:last-child td { border-bottom:0; }

.cma-location-map { position:relative; min-height:22rem; overflow:hidden; color:var(--cma-white); border-radius:var(--cma-radius); background:linear-gradient(120deg,rgba(12,13,16,.84),rgba(12,13,16,.28)),url("../images/obernau-map.jpg") center / cover,#2d3035; box-shadow:var(--cma-shadow); }
.cma-location-map .cma-wrap { display:grid; align-content:center; min-height:inherit; padding-block:3rem; }
.cma-location-map h2 { max-width:34rem; margin:0; font-size:clamp(1.85rem,3.7vw,3rem); line-height:1.08; letter-spacing:-.045em; }
.cma-location-map p { max-width:31rem; margin:.95rem 0 0; color:rgba(255,255,255,.84); }

@media (max-width:900px) {
  .cma-location-services { grid-template-columns:1fr; }
  .cma-location-service { min-height:13rem; }
  .cma-location-service h3 { margin-top:1.55rem; }
}
@media (max-width:820px) {
  .cma-location-intro,.cma-location-details { grid-template-columns:1fr; }
  .cma-location-image { min-height:23rem; }
}
@media (max-width:610px) {
  .cma-location-hero { min-height:32rem; }
  .cma-location-hero-actions { display:grid; grid-template-columns:1fr; }
}
