/* ==========================================================================
   ArztFix home page.

   Loaded by pages/index.html alone. It redefines .af-hero, .af-section,
   .af-step and .af-faq, so it must never be served together with
   arztfix-pages.css.

   The asset URLs below are absolute on purpose. The importer stores this
   file at /uploads/cms/css/ but the images at /uploads/cms/, and it only
   rewrites src and href in markup - never url() inside a stylesheet. A
   relative path would resolve one level too deep.
   ========================================================================== */

/* ===== ArztFix home — faithful rebuild of arztfix.com ===== */
.af-wrap { color:#1a1a1a; }
.af-wrap h1,.af-wrap h2,.af-wrap h3,.af-wrap h4 { font-weight:700; }
.af-btn { display:inline-flex; align-items:center; gap:.5rem; padding:.7rem 1.5rem; border-radius:999px; font-weight:600; text-decoration:none; border:0; cursor:pointer; line-height:1.2; transition:.2s; }
.af-btn-teal { background:#0E7164; color:#fff; }
.af-btn-teal:hover { background:#0C6357; color:#fff; }
.af-btn-ghost { background:transparent; color:#fff; border:2px solid rgba(255,255,255,.7); }
.af-btn-ghost:hover { background:#fff; color:#0E7164; }
.af-eyebrow { display:inline-block; color:#0E7164; font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.13em; margin-bottom:.6rem; }
.af-teal-word { color:#0E7164; }

/* HERO */
.af-hero { position:relative; min-height:560px; display:flex; align-items:center; color:#123c34;
  background:#BFE3DC url('/uploads/cms/Header_sm.jpg') right top/cover no-repeat; }
.af-hero .container { position:relative; z-index:2; }
.af-hero-rating { display:flex; align-items:center; gap:.85rem; margin-bottom:1.1rem; }
.af-hero-avatars { display:flex; }
.af-hero-avatars img { width:40px; height:40px; border-radius:50%; object-fit:cover; border:2px solid #fff; margin-left:-12px; box-shadow:0 2px 6px rgba(0,0,0,.15); }
.af-hero-avatars img:first-child { margin-left:0; }
.af-hero-rating-meta { display:flex; flex-direction:column; line-height:1.2; }
.af-hero-stars { color:#fff; letter-spacing:2px; font-size:.95rem; }
.af-hero-rating-text { color:#fff; font-size:.85rem; opacity:.95; }
.af-hero-eyebrow { font-weight:600; font-size:1rem; color:#123c34; margin-bottom:.6rem; }
.af-hero h1 { font-size:clamp(2.2rem,4.6vw,3.4rem); font-weight:800; line-height:1.1; margin-bottom:1.5rem; max-width:36rem; color:#123c34; }
.af-hero h1 .hl { color:#fff; }
.af-hero-checks { display:flex; flex-direction:column; gap:.6rem; font-size:1rem; font-weight:600; }
.af-hero-checks span { display:inline-flex; align-items:center; gap:.7rem; color:#123c34; }
.af-hero-checks i { color:#0E7164; }
@media (max-width:767.98px){ .af-hero{ background:linear-gradient(rgba(191,227,220,.6),rgba(191,227,220,.6)), url('/uploads/cms/Header-mobile-sm.jpg') right top/cover no-repeat; min-height:460px; } }

/* SECTION SHELL */
.af-sec { padding:5rem 0; }
.af-sec-tight { padding:3rem 0; }
.af-grey { background:#EEEEEE; }
.af-mint { background:#EFF6F4; }
.af-soft { background:#F4F8F7; }
.af-teal { background:#0E7164; color:#fff; }
.af-teal h2,.af-teal h3,.af-teal h4 { color:#fff; }
.af-dark { background:#0b1512; color:#fff; }
.af-head { text-align:center; margin-bottom:3rem; }
.af-head h2 { font-size:clamp(1.7rem,2.8vw,2.4rem); }

/* TREATMENT TILES */
.af-tiles { display:grid; grid-template-columns:repeat(1,1fr); gap:1.25rem; }
@media (min-width:576px){ .af-tiles{ grid-template-columns:repeat(2,1fr);} }
@media (min-width:992px){ .af-tiles{ grid-template-columns:repeat(3,1fr);} }
.af-tile { position:relative; display:flex; align-items:stretch; min-height:165px; border-radius:22px; overflow:hidden; text-decoration:none; box-shadow:0 8px 24px rgba(14,64,47,.08); transition:transform .25s, box-shadow .25s; background:#F4EFE7; }
.af-tile:hover { transform:translateY(-4px); box-shadow:0 18px 40px rgba(14,113,100,.18); }
.af-tile-body { flex:1; padding:1.4rem 1.4rem 3.4rem; display:flex; flex-direction:column; }
.af-tile-title { font-weight:700; font-size:1.18rem; line-height:1.25; color:#1a1a1a; }
.af-tile img { width:42%; min-width:120px; object-fit:cover; }
.af-tile-arrow { position:absolute; left:1.4rem; bottom:1.2rem; width:40px; height:40px; border-radius:50%; background:#0E7164; color:#fff; display:inline-flex; align-items:center; justify-content:center; box-shadow:0 6px 14px rgba(14,113,100,.35); }
.af-tile-cannabis { background:#0E7164; }
.af-tile-cannabis .af-tile-title { color:#fff; }
.af-tile-cannabis .af-tile-arrow { background:#fff; color:#0E7164; }

/* PARTNERS */
.af-partners { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:2.5rem; }
.af-partners img { max-height:54px; width:auto; filter:grayscale(1); opacity:.7; transition:.2s; }
.af-partners img:hover { filter:none; opacity:1; }

/* APP BAND */
.af-app { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1.5rem; }
.af-app h3 { font-size:clamp(1.3rem,2vw,1.8rem); margin:0; max-width:30rem; }
.af-app .b { color:#0E7164; }
.af-app-badges { display:flex; gap:1rem; }
.af-app-badges img { height:54px; width:auto; }

/* DARUM cards (solid teal) */
.af-darum { display:grid; grid-template-columns:repeat(1,1fr); gap:1.25rem; }
@media (min-width:576px){ .af-darum{ grid-template-columns:repeat(2,1fr);} }
@media (min-width:992px){ .af-darum{ grid-template-columns:repeat(4,1fr);} }
.af-flip { height:220px; perspective:1200px; }
.af-flip-inner { position:relative; width:100%; height:100%; transition:transform .6s; transform-style:preserve-3d; }
.af-flip:hover .af-flip-inner, .af-flip:focus-within .af-flip-inner { transform:rotateY(180deg); }
.af-flip-face { position:absolute; inset:0; backface-visibility:hidden; -webkit-backface-visibility:hidden; border-radius:18px; padding:1.8rem 1.4rem; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.af-flip-front { background:#0E7164; color:#fff; }
.af-flip-front i { font-size:2.3rem; margin-bottom:1rem; }
.af-flip-front h3 { font-size:1.12rem; margin:0; color:#fff; }
.af-flip-back { background:#0C6357; color:#fff; transform:rotateY(180deg); font-size:.96rem; line-height:1.6; }

/* REVIEWS */
.af-reviews { display:grid; grid-template-columns:repeat(1,1fr); gap:1.25rem; }
@media (min-width:768px){ .af-reviews{ grid-template-columns:repeat(3,1fr);} }
.af-review { background:#fff; border:1px solid #e6efed; border-radius:18px; padding:1.5rem 1.6rem; box-shadow:0 4px 14px rgba(14,64,47,.05); }
.af-review .s { color:#F7B500; letter-spacing:2px; }
.af-review-head { display:flex; align-items:center; gap:.75rem; margin-bottom:.7rem; }
.af-review-head img { width:46px; height:46px; border-radius:50%; object-fit:cover; flex-shrink:0; }
.af-review-name { font-weight:600; line-height:1.2; }
.af-review-sub { font-size:.78rem; color:#8a9794; display:flex; align-items:center; gap:.3rem; }
.af-review-sub .fa-google { color:#4285F4; }

/* MODERNE MEDIZIN cards */
.af-cards { display:grid; grid-template-columns:repeat(1,1fr); gap:1.4rem; }
@media (min-width:576px){ .af-cards{ grid-template-columns:repeat(2,1fr);} }
@media (min-width:992px){ .af-cards{ grid-template-columns:repeat(4,1fr);} }
.af-card { background:#fff; border-radius:18px; overflow:hidden; display:flex; flex-direction:column; height:100%; box-shadow:0 10px 26px rgba(0,0,0,.12); }
.af-card img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.af-card-body { padding:1.2rem 1.3rem 1.5rem; display:flex; flex-direction:column; flex:1; }
.af-card-body h3 { font-size:1.08rem; color:#0E7164; margin-bottom:1rem; flex:1; }
.af-card .af-btn { align-self:flex-start; }
.af-btn-card { background:#fff; color:#0E7164; border:2px solid #0E7164; }
.af-btn-card:hover { background:#0E7164; color:#fff; }

/* STEPS */
.af-steps-row { display:grid; grid-template-columns:1fr; gap:2.5rem; align-items:center; }
@media (min-width:992px){ .af-steps-row{ grid-template-columns:.9fr 1.1fr;} }
.af-steps-img img { width:100%; border-radius:18px; box-shadow:0 16px 40px rgba(0,0,0,.14); }
.af-step { display:flex; gap:1.2rem; padding:1.4rem 0; border-bottom:1px solid #e7ecea; }
.af-step:last-child { border-bottom:0; }
.af-step-num { flex-shrink:0; width:42px; height:42px; border-radius:50%; border:2px solid #0E7164; color:#0E7164; font-weight:700; display:inline-flex; align-items:center; justify-content:center; }
.af-step h4 { font-size:1.1rem; margin-bottom:.35rem; }
.af-step p { margin:0; color:#4a5b58; font-size:.94rem; line-height:1.6; }

/* WIR SCHÜTZEN (dark) */
.af-protect { display:grid; grid-template-columns:1fr; gap:2rem; align-items:center; }
@media (min-width:768px){ .af-protect{ grid-template-columns:1.4fr .6fr;} }
.af-protect p { color:rgba(255,255,255,.82); margin:0; max-width:34rem; }
.af-protect-badges { display:flex; gap:1.5rem; justify-content:flex-start; }
.af-protect-badges img { height:84px; width:auto; background:#fff; border-radius:14px; padding:.6rem; }

/* FAQ */
.af-faq-row { display:grid; grid-template-columns:1fr; gap:2.5rem; }
@media (min-width:992px){ .af-faq-row{ grid-template-columns:.8fr 1.2fr;} }
.af-faq-intro p { color:#4a5b58; margin:.8rem 0 1.4rem; }
.af-faq details { background:#fff; border:1px solid #e6eceb; border-radius:14px; padding:1.1rem 1.4rem; margin-bottom:.8rem; box-shadow:0 2px 8px rgba(14,64,47,.04); }
.af-faq details[open] { border-color:#0E7164; box-shadow:0 10px 24px rgba(14,113,100,.12); }
.af-faq summary { font-weight:600; cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:1rem; color:#1a1a1a; }
.af-faq summary::-webkit-details-marker { display:none; }
.af-faq summary::after { content:'+'; width:28px; height:28px; border-radius:50%; background:#F4F8F7; color:#0E7164; display:inline-flex; align-items:center; justify-content:center; font-size:1.2rem; font-weight:700; flex-shrink:0; }
.af-faq details[open] summary::after { content:'\2212'; background:#0E7164; color:#fff; }
.af-faq-answer { padding-top:.85rem; margin-top:.85rem; border-top:1px solid #f0f3f2; color:#4a5b58; line-height:1.65; font-size:.95rem; }

/* KOOPERATIONSARZT */
.af-koop { display:grid; grid-template-columns:1fr; gap:2.5rem; align-items:center; }
@media (min-width:992px){ .af-koop{ grid-template-columns:1fr 1fr;} }
.af-koop-list { list-style:none; padding:0; margin:1.2rem 0 1.6rem; }
.af-koop-list li { display:flex; align-items:center; gap:.6rem; padding:.35rem 0; font-weight:500; }
.af-koop-list i { color:#0E7164; }
.af-koop p { color:#4a5b58; max-width:34rem; }
.af-koop-img img { width:100%; border-radius:18px; box-shadow:0 16px 40px rgba(0,0,0,.12); }

/* BLOG */
.af-filter { display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem; margin-bottom:2.2rem; }
.af-filter span { background:rgba(255,255,255,.14); color:#fff; border-radius:999px; padding:.4rem 1.1rem; font-size:.85rem; font-weight:600; }
.af-filter span.active { background:#fff; color:#0E7164; }
.af-blog { display:grid; grid-template-columns:repeat(1,1fr); gap:1.4rem; }
@media (min-width:576px){ .af-blog{ grid-template-columns:repeat(2,1fr);} }
@media (min-width:992px){ .af-blog{ grid-template-columns:repeat(3,1fr);} }
.af-blog-card { background:#fff; border-radius:16px; overflow:hidden; text-decoration:none; color:#1a1a1a; display:flex; flex-direction:column; box-shadow:0 10px 26px rgba(0,0,0,.14); transition:transform .25s; }
.af-blog-card:hover { transform:translateY(-4px); }
.af-blog-card img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.af-blog-body { padding:1rem 1.2rem 1.3rem; display:flex; flex-direction:column; flex:1; }
.af-blog-tags { display:flex; gap:.4rem; flex-wrap:wrap; margin-bottom:.5rem; }
.af-blog-tags span { background:#EFF6F4; color:#0E7164; border-radius:999px; padding:.15rem .65rem; font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.af-blog-body h3 { font-size:1rem; line-height:1.35; margin-bottom:.6rem; flex:1; }
.af-blog-date { color:#8a9794; font-size:.82rem; }

/* NEWSLETTER */
.af-news { display:grid; grid-template-columns:1fr; gap:2.5rem; align-items:center; }
@media (min-width:992px){ .af-news{ grid-template-columns:1fr 1fr;} }
.af-news-form { display:flex; flex-direction:column; gap:.9rem; max-width:30rem; }
.af-news-form input[type=email] { padding:.85rem 1.1rem; border:1px solid #cdd8d5; border-radius:10px; font-size:1rem; }
.af-news-consent { display:flex; gap:.6rem; font-size:.8rem; color:#4a5b58; line-height:1.5; }
.af-news-img img { width:100%; border-radius:18px; box-shadow:0 16px 40px rgba(0,0,0,.12); }
