/* Homepage section rhythm follows the treatment pages. */
#main-content>.trust{background:#dce9e4;border-color:#c8dcd1}
#main-content>#kezelesek{background:#fff}
#main-content>#rendelo{background:#dce9e4}
#main-content>#velemenyek{background:#fff}
#main-content>#lepesek{background:#dce9e4}
#velemenyek .patient-review{background:#f3f8f5;border-color:#cbded3}
#lepesek .steps article{border-color:#bed3c8}

/* Primary actions match the implant page. */
body>header>.button,#main-content .button,.site-footer .footer-intro .button,.mobile-book>a:last-child,#sd-navigation .sd-mobile-book{background:#c8501e;color:#fff;border-color:#c8501e;border-radius:9px}
body>header>.button:hover,#main-content .button:hover,.site-footer .footer-intro .button:hover,.mobile-book>a:last-child:hover{background:#ad4117;color:#fff}
#main-content a:focus-visible,#main-content summary:focus-visible{outline:3px solid #c8501e;outline-offset:5px}
#main-content>.hero .note{line-height:1.7;font-size:13px;color:#e3f3ed}
#main-content>#velemenyek{background:#fbefe5}
#main-content>#lepesek{background:#fff}
#main-content>#kapcsolat{background:#195fbb}
#kezelesek .services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
#kezelesek .service{background:#f3f8f5;border:1px solid #ccded4;border-radius:20px;padding:26px;display:flex;flex-direction:column;box-shadow:0 8px 24px #173a4208;transition:transform .2s,box-shadow .2s}
#kezelesek .service:hover{transform:translateY(-4px);box-shadow:0 15px 30px #173a4215;background:#eaf3ee}
#kezelesek .service .number{display:flex;justify-content:space-between;color:#168b80}
#kezelesek .service .label{font-size:11px;color:#47646b;margin-top:22px}
#kezelesek .service h3{font-size:25px;line-height:1.2;letter-spacing:-.035em;color:#173a42;margin:12px 0 16px}
#kezelesek .service p{font-size:15px;line-height:1.75;color:#47646b;margin-bottom:24px}
#kezelesek .service .more{margin-top:auto;color:#a83e14;font-size:13px;font-weight:600}
.home-other{display:flex;gap:14px;flex-wrap:wrap;margin-top:25px}.home-other a{padding:12px 16px;border:1px solid #cadfd3;border-radius:9px;color:#175953;font-size:14px;background:white}
#rendelo{align-items:start;gap:7%}#rendelo h2{font-size:clamp(34px,3.6vw,50px);line-height:1.15;max-width:470px}.home-clinic-photo{margin:0 0 28px}.home-clinic-photo img{display:block;width:100%;height:auto;border-radius:20px;aspect-ratio:1.65;object-fit:cover}.home-clinic-photo figcaption{font-size:12px;color:#47646b;margin-top:9px}
#velemenyek .patient-review{background:#fff;border-color:#eadbd0}.home-more-reviews{margin-top:24px}.home-more-reviews summary{display:flex;justify-content:space-between;cursor:pointer;padding:18px 22px;border:1px solid #dfc9b8;border-radius:10px;color:#713d26;font-size:15px;list-style:none}.home-more-reviews summary::-webkit-details-marker{display:none}.home-more-reviews[open] summary{margin-bottom:20px}
#lepesek .steps article{background:#eef5f1;border:1px solid #cddfd4;border-radius:18px;padding:26px}.home-step-action{margin-top:32px;text-align:center}.home-step-action p{font-size:13px;color:#47646b;margin-top:12px}#kapcsolat .home-phone-hours{font-size:13px;margin-top:8px;color:#e0edff}
@media(max-width:1050px){#kezelesek .services{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){#kezelesek .services{grid-template-columns:1fr}#kezelesek .service{padding:24px}#kezelesek .service .label{margin-top:14px}.home-other{display:grid}.home-clinic-photo{margin-top:12px}.home-step-action .button{width:100%;justify-content:center}#lepesek .steps{display:grid;grid-template-columns:1fr;gap:18px}#rendelo h2{font-size:36px}}
@media(prefers-reduced-motion:reduce){#kezelesek .service{transition:none}#kezelesek .service:hover{transform:none}}


#kezelesek .service{min-height:0;justify-content:flex-start}#kezelesek .service .number{margin-bottom:0}#kezelesek .service .label{margin-top:26px}

/* Accessibility: WCAG AA contrast fixes (Lighthouse color-contrast audit).
   Colors darkened just enough to clear 4.5:1 on their actual backgrounds;
   scoped narrowly so the wider teal/muted-text palette is untouched. */
#kezelesek .service .number{color:#0f6c63}
#rendelo .text-link{color:#0f6c63}
#rendelo .about-copy p{color:#3f5b63}
.signature small{color:#3f5b63}
#velemenyek .patient-review small{color:#3f5b63}
.review-source{color:#3f5b63}

/* Small, non-dominant keyword line — present in the HTML for search engines
   without competing visually with the emotional H1/H2 headings. */
.seo-caption{font-size:12px;font-weight:400;color:#6b8a91;opacity:.75;margin:6px 0 0;letter-spacing:.01em}

/* H1/vizuális szlogen szétválasztás: a H1 a "Fogászat Sopron" szöveget hordozza,
   kis méretben (SEO/szemantika). A nagy, érzelmi szlogen egy nem-H1 elem
   (.hero-slogan) lett, ezért nem kapja meg automatikusan az extracted-home.css
   bare "h1{text-transform:uppercase;letter-spacing:-.045em;font-weight:600;
   line-height:1.04;margin:23px 0 25px}" és "h1 em{color:#d9fff0}" szabályait —
   ezeket itt tételesen megismételjük, hogy a nagy cím megjelenése (nagybetűs,
   betűköz, vastagság, sormagasság, margó, az <em> színe) változatlan maradjon. */
.hero h1.hero-h1{font-size:13px;font-weight:600;letter-spacing:.04em;line-height:1.4;margin:0 0 8px;color:inherit}
.hero .hero-slogan{text-transform:uppercase;letter-spacing:-.045em;font-weight:600;line-height:1.04;margin:23px 0 25px;font-size:64px}
.hero .hero-slogan em{color:#d9fff0}
@media(max-width:1100px){.hero .hero-slogan{font-size:59px}}
@media(max-width:760px){.hero .hero-slogan{font-size:clamp(43px,10.5vw,69px)}}


/* Reception hero and mint treatment cards. */
.hero .home-hero-visual{position:relative;margin:auto;padding-bottom:24px}
.hero .home-hero-kicker{font-size:12px;line-height:1.5;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#e6fff5;margin:0 0 14px 4px}
.hero .home-hero-location{position:relative;z-index:1;display:flex;align-items:center;gap:14px;margin:-24px 20px 0;padding:20px 22px;border:1px solid #c4e5d8;border-radius:16px;background:#f0fbf5;color:#173a42;box-shadow:0 12px 30px #063c4b20;text-align:left}
.home-hero-location-icon{display:flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:#d2f0e2;color:#175953}
.home-hero-location strong{display:block;font-size:17px;line-height:1.4;font-weight:600;letter-spacing:-.02em}
.home-hero-location-address{display:block;margin-top:5px;font-size:12px;line-height:1.65;color:#3f5b53}
#kezelesek .service{background:#d4f1e3;border-color:#b3dcc8}
#kezelesek .service:hover{background:#c3e9d6}
@media(max-width:760px){.hero .home-hero-visual{padding-bottom:0}.hero .home-hero-location{margin:12px 0 0;padding:18px;gap:12px}.hero .home-hero-kicker{margin-left:0}.home-hero-location strong{font-size:16px}}

/* Unified reception card follows the implant hero card. */
.hero .home-reception-card{width:100%;max-width:540px;align-self:center;margin:auto;background:#fff;color:#173a42;border-radius:28px;overflow:hidden;box-shadow:0 25px 70px #063c4b25}
.home-reception-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:21px 24px;font-size:14px;line-height:1.5;font-weight:600;background:#fff}
.home-reception-top>span{display:flex;align-items:center;gap:10px}.home-reception-top i{display:block;width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#00977c}.home-reception-top>svg{color:#008677;flex-shrink:0}
.home-reception-card>img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:50% 27%}
.home-reception-card>figcaption{background:#f3f9f6}
.home-reception-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:24px 18px 20px;text-align:center;font-size:14px;line-height:1.5}
.home-reception-details b{display:block;margin-bottom:10px;color:#006e60;font-size:12px;font-weight:500}
.home-reception-details a{color:inherit;text-decoration:none}
.home-reception-details a:hover{text-decoration:underline}
.home-reception-caption{text-align:center;padding:0 18px 22px;color:#3f5b63;font-size:12px;line-height:1.6}
@media(max-width:760px){.hero .home-reception-card{max-width:440px;border-radius:22px}.home-reception-top{padding:18px;font-size:13px}.home-reception-details{padding:18px 12px;font-size:12px;gap:6px}.home-reception-caption{padding-bottom:20px}}
