/* Ordination Dr. Lindpointner – Design nach Vorlage der bisherigen Joomla-Seite */
:root{
  --blau:#4584b8;
  --blau-dunkel:#3c73a0;
  --hellblau:#92c1e9;
  --orange:#fca654;
  --text:#5c6773;
  --dunkel:#23263d;
  --link:#29246a;
  --grau-bg:#e6eaf0;
  --grau-hell:#f2f4f7;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--grau-bg);color:var(--text);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.7143}
img{max-width:100%;height:auto;vertical-align:middle;border:0}
a{color:var(--link);text-decoration:none}
a:hover,a:focus{text-decoration:underline}
h1,h2,h3,h4,h5{color:var(--dunkel);font-weight:500;line-height:1.3;margin:24px 0 12px}
h1{font-size:36px}h2{font-size:28px}h3{font-size:22px}h4{font-size:18px}
p{margin:0 0 12px}
ul{margin:0 0 12px;padding-left:20px}
table{border-collapse:collapse;margin-bottom:12px}
td{padding:4px 0;vertical-align:top}

.site{max-width:1920px;margin:0 auto;background:#fff}
.container{max-width:1200px;margin:0 auto;padding:0 12px}
@media(min-width:768px){.container{padding:0 24px}}

/* Kopfzeile oben */
.top-bar{border-bottom:1px solid var(--grau-bg);font-size:12px;line-height:12px}
.top-bar .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}
.top-bar p{margin:12px 0}
.top-bar ul{list-style:none;margin:0;padding:0;display:flex}
.top-bar li{padding:12px 0 12px 12px;margin-left:12px;border-left:1px solid var(--grau-bg)}
.top-bar li:first-child{border-left:0;margin-left:0}
.top-bar a{color:var(--hellblau)}
.top-bar .label{margin-right:4px}

/* Logo + Termin-Button */
.header .container{display:flex;justify-content:space-between;align-items:center;padding-top:24px;padding-bottom:24px}
.logo img{width:300px;height:80px;object-fit:contain;object-position:left center}
.logo .sr{position:absolute;left:-9999px}
.btn{display:inline-block;font-weight:700;font-size:14px;line-height:24px;padding:6px 12px;border-radius:3px;color:#fff;text-decoration:none;text-align:center;white-space:normal}
.btn:hover,.btn:focus{text-decoration:none;filter:brightness(.95);color:#fff}
.btn-lg{padding:11px 24px}
.btn-orange{background:var(--orange)}
.btn-hellblau{background:var(--hellblau)}

/* Hauptmenü */
.mainnav{background:var(--blau);border-top:1px solid var(--blau-dunkel);border-bottom:1px solid var(--blau-dunkel);padding:12px 0;position:sticky;top:0;z-index:50}
.mainnav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0 4px}
.mainnav a{display:block;color:#fff;font-weight:600;padding:6px 15px;border-radius:3px;line-height:24px}
.mainnav a:hover,.mainnav a:focus,.mainnav li.active a{background:rgba(255,255,255,.15);text-decoration:none}
.nav-toggle{display:none;background:var(--hellblau);color:#fff;border:0;border-radius:3px;padding:6px 12px;font-size:18px;line-height:24px;cursor:pointer}
.mainnav .nav-mobile-cta{display:none;background:var(--orange);padding:6px 12px}

/* Startseite: Slideshow */
.slideshow{position:relative;overflow:hidden;background:var(--blau);height:688px}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1s ease}
.slide.on{opacity:1}
.slide img{position:absolute;left:50%;top:0;height:100%;width:auto;max-width:none;transform:translateX(-50%)}
.slide .content{position:absolute;top:142px;left:0;right:0}
.slide .inner{max-width:330px}
.slide h1,.slide .slide-title{color:#fff;font-size:36px;font-weight:700;line-height:48px;margin:0 0 24px}
.slide p{color:rgba(255,255,255,.8);font-size:18px;font-weight:500;line-height:1.7}
.slide-dots{position:absolute;left:0;right:0;bottom:130px}
.slide-dots .container{display:flex;gap:8px}
.slide-dots button{width:40px;height:3px;border:0;padding:0;background:rgba(255,255,255,.5);cursor:pointer}
.slide-dots button.on{background:#fff}

/* Startseite: drei Kästen */
.spotlight{position:relative;margin-top:-96px;padding-bottom:96px}
.spotlight .row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.box{border-radius:3px;padding:12px 24px 24px;color:#fff}
.box h3{color:#fff;font-size:18px;font-weight:400;line-height:36px;margin:12px 0}
.box p{margin:0 0 24px}
.box .btn{width:100%}
.box-blau{background:var(--blau)}
.box-hell{background:var(--hellblau)}
.box img.portrait{float:left;width:125px;margin:0 10px 10px 0}
.box h4{clear:both;margin:0}

/* Kundenbewertungen */
.reviews{background:var(--grau-hell);padding:96px 0}
.reviews .row{display:grid;grid-template-columns:1fr 3fr;gap:24px}
.reviews-title{color:var(--dunkel);font-size:26px;font-weight:400;line-height:36px;margin:0 0 12px}
.reviews-intro a{color:var(--hellblau)}
.review-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc(50% - 12px);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-width:thin}
.review{background:#fff;border-radius:3px;padding:24px;scroll-snap-align:start}
.review h4{font-size:18px;font-weight:500;line-height:25px;margin:12px 0}
.review small{font-size:12px}
.review-nav{display:flex;gap:8px;margin-top:12px}
.review-nav button{background:#fff;border:0;border-radius:3px;width:40px;height:36px;color:var(--blau);font-size:18px;cursor:pointer}

/* Unterseiten */
.mainbody{padding:48px 0}
.mainbody .row{display:grid;grid-template-columns:3fr 1fr;gap:48px}
.mainbody .row.full{grid-template-columns:1fr}
.content h2.item-title{margin-top:0}
.item-image{margin-bottom:24px}
.item-image img{width:100%}
.item-image .caption{display:block;font-size:12px;margin-top:6px}
.item-category{display:block;margin:-6px 0 18px;font-size:13px}
.item-nav{margin-top:24px;padding-top:12px;border-top:1px solid var(--grau-bg);font-size:13px}
.item-nav a{margin-right:12px}
.sidebar h3{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-top:0}
.sidebar ul{list-style:none;padding:0}
.sidebar li{padding:8px 0;border-bottom:1px solid var(--grau-bg)}

/* Aufklappbare Fragen */
.accordion details{border:1px solid var(--grau-bg);border-radius:3px;margin-bottom:8px;background:#fff}
.accordion summary{cursor:pointer;list-style:none;padding:12px 16px 12px 44px;position:relative;color:var(--dunkel);font-size:16px;font-weight:500}
.accordion summary::-webkit-details-marker{display:none}
.accordion summary::before{content:"+";position:absolute;left:16px;top:10px;width:18px;height:18px;line-height:17px;text-align:center;border-radius:2px;background:var(--hellblau);color:#fff;font-weight:700}
.accordion details[open] summary::before{content:"\2212"}
.accordion .panel{padding:0 16px 16px 44px}
.accordion img{display:block;margin:12px 0}

/* Kontaktseite */
.feature{padding:48px 0}
.feature .row{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}

/* Auszeichnungen / Fotos */
.stack img{display:block;margin:0 0 12px}

/* Kategorie FAQ */
.category-head img{float:left;margin:0 24px 12px 0;width:200px}
.category-head::after{content:"";display:block;clear:both}
.faq-item{border-top:1px solid var(--grau-bg);padding-top:12px;margin-top:12px}

/* Fußbereich */
.footer{background:var(--blau);color:rgba(255,255,255,.88)}
.footer .row{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:48px 0}
.footer h3{color:#fff;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;line-height:36px;margin:0 0 12px}
.footer a{color:#fff}
.map-placeholder{display:flex;align-items:center;justify-content:center;text-align:center;min-height:200px;border-radius:3px;background:rgba(255,255,255,.15);color:#fff;padding:12px}
.copyright{border-top:1px solid rgba(255,255,255,.1);padding:24px 0;font-size:12px}

/* Handy und Tablet */
@media(max-width:991px){
  .spotlight .row{grid-template-columns:1fr 1fr}
  .spotlight .col:last-child{grid-column:1 / -1}
  .reviews .row{grid-template-columns:1fr}
  .mainbody .row{grid-template-columns:1fr}
  .footer .row{grid-template-columns:1fr 1fr}
}
@media(max-width:767px){
  .top-bar .container{justify-content:center}
  .top-bar .left,.top-bar .label{display:none}
  .header .container{padding-top:12px;padding-bottom:12px}
  .header .btn-orange{display:none}
  .logo img{width:220px;height:59px}
  .nav-toggle{display:block}
  .mainnav .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}
  .mainnav .nav-mobile-cta{display:inline-block}
  .mainnav ul{display:none;width:100%;flex-direction:column;margin-top:12px}
  .mainnav.open ul{display:flex}
  .slideshow{height:420px}
  .slide .content{top:60px}
  .slide h1,.slide .slide-title{font-size:28px;line-height:36px}
  .slide-dots{bottom:110px}
  .spotlight .row{grid-template-columns:1fr}
  .review-track{grid-auto-columns:90%}
  .feature .row{grid-template-columns:1fr}
  .footer .row{grid-template-columns:1fr}
  .footer .hide-xs{display:none}
  .category-head img{float:none;margin:0 0 12px}
}

/* Hauptüberschriften optisch wie bisher */
h1.item-title{font-size:28px;font-weight:500;margin-top:0}
h1.feature-title{font-size:22px;font-weight:500}
/* Karte im Fußbereich */
.map-card{display:block;border-radius:3px;overflow:hidden;background:#fff;color:var(--blau)!important;text-decoration:none}
.map-card img{display:block;width:100%}
.map-card span{display:block;padding:8px 12px;font-weight:700;font-size:13px}
.map-card:hover span{text-decoration:underline}

/* Impressum-Tabelle */
table.impressum td{padding:4px 16px 4px 0}
table.impressum td:first-child{white-space:nowrap;font-weight:700}
@media(max-width:767px){table.impressum td{display:block;padding:0}table.impressum td:first-child{padding-top:8px}}

/* ===== Feinschliff (nur Optik, Inhalte unverändert) ===== */
:root{--radius:8px;--schatten:0 6px 22px rgba(23,48,80,.09);--schatten-hover:0 10px 28px rgba(23,48,80,.15)}
body{font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-weight:600;letter-spacing:-.01em}
.btn{border-radius:6px;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}
.btn:hover,.btn:focus{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.12)}
.header .btn-orange{box-shadow:0 4px 14px rgba(252,166,84,.35)}
.mainnav a{border-radius:6px;transition:background .15s ease}

/* Startseite: Text auf dem großen Bild besser lesbar */
.slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(35,70,110,.55) 0%,rgba(35,70,110,.25) 35%,rgba(35,70,110,0) 60%);pointer-events:none}
.slide .content{z-index:1}
.slide h1,.slide .slide-title{text-shadow:0 2px 12px rgba(0,0,0,.18)}
.slide p{color:rgba(255,255,255,.92)}

/* Kästen und Bewertungen */
.box{border-radius:var(--radius);box-shadow:var(--schatten)}
.box img.portrait{border-radius:6px}
.review{border-radius:var(--radius);box-shadow:var(--schatten);display:flex;flex-direction:column}
.review h4{color:var(--dunkel)}
.review-nav button{border-radius:6px;box-shadow:var(--schatten)}
.reviews{background:linear-gradient(180deg,#f4f6f9 0%,#eef2f7 100%)}

/* Unterseiten */
.mainbody{padding:56px 0}
.item-image img,.feature img{border-radius:var(--radius);box-shadow:var(--schatten)}
.accordion details{border-radius:var(--radius);border-color:#e3e8ef;transition:box-shadow .15s ease}
.accordion details:hover,.accordion details[open]{box-shadow:var(--schatten)}
.accordion summary{font-size:17px}
.accordion summary::before{border-radius:4px}
.accordion img{border-radius:6px;max-width:520px}
.sidebar{background:#f4f6f9;border-radius:var(--radius);padding:20px 22px;align-self:start}
.sidebar li:last-child{border-bottom:0}
.faq-item{background:#fff;border:1px solid #e3e8ef;border-radius:var(--radius);padding:8px 22px 14px;margin-top:16px}
.faq-item img{border-radius:6px;max-width:520px}
.category-head img{border-radius:var(--radius)}

/* Galerien: Urkunden und Ordinationsfotos */
.gallery{display:grid;gap:18px;margin:24px 0}
.gallery.awards{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
.gallery.photos{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.gallery a.zoom{display:block;position:relative;border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:var(--schatten);transition:transform .2s ease,box-shadow .2s ease;text-decoration:none}
.gallery a.zoom:hover,.gallery a.zoom:focus{transform:translateY(-3px);box-shadow:var(--schatten-hover)}
.gallery img{display:block;width:100%;height:100%;object-fit:cover}
.gallery.awards img{aspect-ratio:1/1.414;object-fit:contain;background:#fff}
.gallery.photos img{aspect-ratio:4/3}
.gallery.awards span{position:absolute;left:10px;top:10px;background:var(--blau);color:#fff;font-weight:700;font-size:13px;padding:2px 10px;border-radius:20px}
.content a[href*="docfinder"] img{width:100%;max-width:440px;border-radius:6px}

/* Vergrößerte Ansicht */
.lightbox{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;background:rgba(15,25,40,.88);padding:24px;cursor:zoom-out}
.lightbox.open{display:flex}
.lightbox img{max-width:min(1100px,100%);max-height:calc(100vh - 48px);border-radius:6px;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.lb-close{position:absolute;top:12px;right:16px;background:none;border:0;color:#fff;font-size:40px;line-height:1;cursor:pointer}

/* Fußbereich */
.footer h3{opacity:.95}
.map-card{border-radius:var(--radius);box-shadow:0 6px 20px rgba(0,0,0,.15)}

@media(max-width:767px){
  body{font-size:15.5px}
  .gallery.awards{grid-template-columns:repeat(2,1fr);gap:12px}
  .gallery.photos{grid-template-columns:1fr}
  .sidebar{padding:16px 18px}
  .accordion img,.faq-item img{max-width:100%}
}
.content{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}
@media(max-width:767px){.content h1{font-size:26px}.content h2{font-size:22px}}

/* ===== Anfahrt & Parken ===== */
.address-card{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#f4f6f9;border-radius:var(--radius);padding:16px 20px;margin:8px 0 24px}
.address-card svg{width:34px;height:34px;fill:var(--blau);flex:none}
.address-card p{margin:0;font-size:18px;color:var(--dunkel);flex:1}
.travel{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:28px}
.travel-card{background:#fff;border:1px solid #e3e8ef;border-radius:var(--radius);padding:20px 22px;box-shadow:var(--schatten)}
.travel-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.travel-head svg{width:40px;height:40px;padding:8px;border-radius:50%;background:var(--blau);fill:#fff;flex:none}
.travel-head h2{font-size:19px;margin:0}
.warn{display:flex;gap:10px;background:#fff6e8;border-left:4px solid var(--orange);border-radius:6px;padding:10px 12px;margin-top:12px}
.warn svg{width:22px;height:22px;fill:#e08a2c;flex:none;margin-top:2px}
.tour-card{position:relative;display:block;border-radius:12px;overflow:hidden;min-height:260px;margin:8px 0 36px;box-shadow:var(--schatten-hover);text-decoration:none!important;color:#fff}
.tour-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.tour-card::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(35,70,110,.92) 0%,rgba(35,70,110,.75) 45%,rgba(35,70,110,.25) 100%)}
.tour-card:hover .tour-bg img{transform:scale(1.04)}
.tour-text{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:32px 36px;max-width:560px}
.tour-icon{display:inline-flex;width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.18);align-items:center;justify-content:center}
.tour-icon svg{width:34px;height:34px;fill:#fff}
.tour-title{font-size:26px;line-height:1.25;color:#fff}
.tour-sub{color:rgba(255,255,255,.9)}
.tour-card .btn{margin-top:6px;padding:10px 22px}
.gallery-title{font-size:20px;margin:8px 0 0}
@media(max-width:767px){
  .travel{grid-template-columns:1fr}
  .tour-text{padding:24px 22px}
  .tour-title{font-size:22px}
  .address-card .btn{width:100%}
}

/* Plus-Symbol der aufklappbaren Fragen mittig zur Textzeile */
.accordion summary{display:flex;align-items:center;gap:12px;padding:12px 16px}
.accordion summary::before{position:static;flex:none;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;line-height:1;font-size:16px}
.accordion .panel{padding:0 16px 16px 50px}

/* Geprüft-Hinweis, Weiterführende Links, Termin-Kasten, Qualifikation */
.reviewed{display:flex;align-items:center;gap:10px;margin:22px 0 0;padding:10px 14px;border-radius:6px;background:#f1f6fb;font-size:14px;color:var(--text)}
.reviewed svg{width:22px;height:22px;fill:var(--blau);flex:none}
.related{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0}
.related a{display:inline-block;padding:9px 14px;border-radius:6px;border:1px solid #cfdcea;background:#fff;font-weight:600;color:var(--blau)}
.related a:hover{background:#f1f6fb;text-decoration:none}
.cta-box{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;margin:32px 0 8px;padding:24px 28px;border-radius:var(--radius);background:var(--blau);color:#fff;box-shadow:var(--schatten)}
.cta-box h2{color:#fff;margin:0 0 4px;font-size:22px}
.cta-box p{margin:0;color:rgba(255,255,255,.92)}
.cta-box>div:first-child{min-width:0;flex:1 1 280px}
.cta-actions{display:flex;flex-wrap:wrap;gap:10px}
.btn-outline{background:transparent;border:2px solid rgba(255,255,255,.85);padding:9px 20px}
.btn-outline:hover{background:rgba(255,255,255,.12)}
.feature .cta-box{grid-column:1 / -1}
.feature .row{row-gap:8px}
.qual-title{font-size:19px;margin:20px 0 8px}
.qual{list-style:none;padding:0;margin:0}
.qual li{position:relative;padding:5px 0 5px 26px}
.qual li::before{content:"";position:absolute;left:4px;top:13px;width:10px;height:10px;border-radius:50%;background:var(--hellblau)}
.item-nav{margin-top:18px}
@media(max-width:767px){.cta-box{padding:20px}.cta-actions,.cta-actions .btn{width:100%}}

/* Gutschein-Hinweis auf der Startseite */
.gutschein{padding:0 0 32px}
.gutschein-box{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;padding:22px 26px;border-radius:var(--radius);background:#fdf3ea;border:1px solid #f3d6bb;box-shadow:var(--schatten)}
.gutschein-icon{width:52px;height:52px;flex:none;fill:var(--orange)}
.gutschein-text{flex:1 1 300px;min-width:0}
.gutschein-text h2{margin:0 0 4px;font-size:22px;color:var(--blau)}
.gutschein-text p{margin:0}
@media(max-width:767px){.gutschein-box{padding:20px}.gutschein-icon{width:44px;height:44px}.gutschein-box .btn{width:100%;text-align:center}}
.gutschein-text a{font-weight:600;white-space:nowrap}
.gutschein-intro{margin:8px 0 24px;box-shadow:none}
.steps{list-style:none;counter-reset:s;padding:0;margin:0 0 8px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.steps li{counter-increment:s;position:relative;padding:18px 18px 18px 64px;border-radius:var(--radius);background:#f1f6fb}
.steps li::before{content:counter(s);position:absolute;left:18px;top:16px;width:32px;height:32px;border-radius:50%;background:var(--blau);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center}
.steps strong{display:block;margin-bottom:2px;color:var(--blau)}

/* Grundsatz: natürliches Aussehen */
.natur-band{margin-top:-40px;padding:0 0 28px}
.natur{position:relative;padding:28px 32px;border-radius:var(--radius);background:#fff;border:1px solid #dbe6f1;border-left:6px solid var(--hellblau);box-shadow:var(--schatten)}
.mainbody .natur{margin:24px 0}
.natur-kicker{margin:0 0 4px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#5a7f9f}
.natur h2{margin:0 0 8px;font-size:26px;color:var(--blau)}
.natur-lead{margin:0;font-size:17px;max-width:62em}
.natur ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px 24px}
.natur li{display:flex;gap:10px;align-items:flex-start}
.natur li svg{width:22px;height:22px;flex:none;fill:var(--blau);margin-top:1px}
@media(max-width:767px){.natur{padding:22px 20px}.natur h2{font-size:22px}}

.content .lead{font-size:17px}
.maps-link{margin:16px 0 22px}
