/* ===== Floria – Erweiterungen (Termin, Fahrzeugservice, Referenzen) ===== */
a.tile{text-decoration:none;color:inherit;display:flex}
.tile-cta{position:absolute;top:16px;right:16px;z-index:3;background:rgba(255,255,255,.95);color:var(--c-blue-dark);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:7px 12px;border-radius:var(--r-pill);opacity:0;transform:translateY(-6px);transition:all .3s}
a.tile:hover .tile-cta,a.tile:focus-visible .tile-cta{opacity:1;transform:none}
@media (hover:none){.tile-cta{opacity:1;transform:none}}

.svc2-section{background:var(--c-bg-alt)}
.svc2-grid{display:grid;gap:24px;grid-template-columns:1fr}
@media(min-width:620px){.svc2-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.svc2-grid{grid-template-columns:repeat(4,1fr)}}
.svc2-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--c-border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-sm);text-decoration:none;color:inherit;transition:transform .3s,box-shadow .3s}
.svc2-card:hover{transform:translateY(-6px);box-shadow:var(--sh-lg)}
.svc2-card img{width:100%;height:190px;object-fit:cover;display:block}
.svc2-body{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1}
.svc2-body h3{font-size:1.1rem;color:var(--c-blue-darker);margin:0}
.svc2-body p{color:var(--c-text-soft);font-size:.92rem;margin:0;flex:1}
.svc2-body .btn{margin-top:10px;align-self:flex-start}

.fz-hero{display:grid;grid-template-columns:1fr;background:linear-gradient(135deg,#eef4fb,#f7fbff)}
@media(min-width:900px){.fz-hero{grid-template-columns:1.05fr 1fr}}
.fz-hero-img{min-height:300px;background-size:cover;background-position:center}
.fz-hero-txt{padding:56px 24px;max-width:640px}
@media(min-width:900px){.fz-hero-txt{padding:64px 56px}}
.fz-hero-txt .section-eyebrow{display:block;margin-bottom:10px}
.fz-hero-txt h2{color:var(--c-blue-darker);margin-bottom:14px}
.fz-hero-txt p{color:var(--c-text-soft);margin-bottom:24px}
.fz-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:28px}
.fz-book{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:560px){.fz-book{grid-template-columns:1fr 1fr}}
.fz-book-card{background:#fff;border:1px solid var(--c-border);border-radius:var(--r-lg);padding:18px;box-shadow:var(--sh-sm);display:flex;flex-direction:column;gap:6px}
.fz-book-card strong{color:var(--c-blue-darker);font-size:.95rem}
.fz-book-card .btn{margin-top:6px;justify-content:center;text-align:center}
.fz-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;max-width:860px;margin:0 auto}
.fz-gallery img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r-md);box-shadow:var(--sh-md);display:block}
@media(min-width:700px){.fz-gallery{gap:24px}}

.ref-grid{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}
@media(min-width:700px){.ref-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1100px){.ref-grid{grid-template-columns:repeat(4,1fr)}}
.ref-item{padding:0;border:0;background:none;cursor:zoom-in;border-radius:var(--r-md);overflow:hidden;box-shadow:var(--sh-sm);display:block}
.ref-item img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;transition:transform .4s}
.ref-item:hover img{transform:scale(1.05)}
.vn-grid{display:grid;gap:20px;grid-template-columns:1fr;margin-bottom:28px}
@media(min-width:760px){.vn-grid{grid-template-columns:repeat(2,1fr)}}
.vn-item{margin:0;background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-md);border:1px solid var(--c-border)}
.vn-item img{width:100%;display:block;aspect-ratio:16/10;object-fit:cover;cursor:zoom-in}
.vn-item figcaption{padding:12px 16px;font-weight:600;color:var(--c-blue-darker);font-size:.92rem}
.fl-lightbox{position:fixed;inset:0;background:rgba(6,16,31,.92);display:none;align-items:center;justify-content:center;z-index:9999;padding:20px}
.fl-lightbox.open{display:flex}
.fl-lightbox img{max-width:100%;max-height:92vh;border-radius:8px}
.fl-lightbox button{position:absolute;top:14px;right:18px;background:none;border:0;color:#fff;font-size:34px;cursor:pointer;line-height:1}

.price-table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--r-md);overflow:hidden;box-shadow:var(--sh-sm);margin:18px 0}
.price-table th,.price-table td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--c-border)}
.price-table th{background:var(--c-blue-dark);color:#fff;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}
.price-table td:last-child{font-weight:800;color:var(--c-blue-dark);white-space:nowrap}
.price-table tr:nth-child(even) td{background:var(--c-bg-alt)}
.fz-block{background:#fff;border:1px solid var(--c-border);border-radius:var(--r-xl);padding:32px 22px;box-shadow:var(--sh-sm);margin-bottom:36px}
@media(min-width:700px){.fz-block{padding:44px}}
.fz-block h2{color:var(--c-blue-darker);margin-bottom:10px}
.fz-note{color:var(--c-text-soft);font-size:.92rem;margin:10px 0 22px}
.check-list{list-style:none;padding:0;margin:14px 0 22px;display:grid;gap:10px}
.check-list li{position:relative;padding-left:32px;color:var(--c-text)}
.check-list li::before{content:"✓";position:absolute;left:0;top:0;width:22px;height:22px;border-radius:50%;background:var(--grad-green);color:#fff;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center}
.two-col{display:grid;gap:28px;grid-template-columns:1fr}
@media(min-width:800px){.two-col{grid-template-columns:1fr 1fr}}
.narrow{max-width:900px;margin:0 auto}
.lead-text{font-size:1.08rem;color:var(--c-text-soft);margin-bottom:18px}
.contact-strip{background:var(--c-bg-darker);color:#fff;border-radius:var(--r-xl);padding:36px 26px;text-align:center}
.contact-strip h3{color:#fff;margin-bottom:6px}
.contact-strip p{color:rgba(255,255,255,.85);margin:4px 0}
.contact-strip a{color:#fff;font-weight:700}
.contact-strip .fz-actions{justify-content:center;margin:18px 0 0}
.hero-banner-img{width:100%;border-radius:var(--r-xl);box-shadow:var(--sh-lg);display:block;margin:0 0 36px}

.termin-badge{display:inline-block;background:var(--grad-mix);color:#fff;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:6px 14px;border-radius:var(--r-pill);margin-bottom:12px}
.termin-wrap{max-width:820px;margin:0 auto}
.termin-wrap .contact-form-wrap h2{color:var(--c-blue-darker);margin-bottom:6px}
.form-hint{font-size:.85rem;color:var(--c-text-light)}
.hp-field{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
[hidden]{display:none!important}
