/* Pető Pont styles are scoped to its pages and activity entry. */
.peto-hero:not(.peto-home-hero) .single-hero-post-mini { min-height: 520px; height: auto; }
.peto-hero:not(.peto-home-hero) .slide-img::after { content: ''; position: absolute; inset: 0; background: rgba(0, 30, 55, .55); }
.peto-hero-inner { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; padding-top: 150px; padding-bottom: 45px; }
.peto-logo { width: 260px; max-width: 70vw; background: rgba(255,255,255,.95); border-radius: 12px; padding: 12px; margin-bottom: 18px; }
.peto-hero:not(.peto-home-hero) .hero-slides-content h2 { font-size: 38px; }
.peto-content { padding: 10px 0 65px; }
.peto-content h1 { font-size: 32px; }
.peto-content h2 { font-size: 24px; line-height: 1.4; }
.peto-intro { max-width: 900px; margin: 0 auto 35px; }
.peto-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.peto-card { text-align: center; background: #f4f8fb; border: 1px solid #dce6ee; border-radius: 10px; padding: 25px 12px; transition: background .2s; }
.peto-card:hover { background: #e6f0f7; }
.peto-card img { width: 110px; height: 110px; margin-bottom: 16px; }
.peto-card h2 { margin-bottom: 0; font-size: 22px; }
.peto-back { display: inline-block; margin-bottom: 18px; }
.peto-nav { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0 35px; }
.peto-nav a, .peto-social a { padding: 10px 18px; border: 1px solid #dce6ee; border-radius: 5px; color: #174b70; }
.peto-nav a[aria-current], .peto-nav a:hover, .peto-social a:hover { background: #174b70; color: white; }
.peto-section { margin-bottom: 30px; }
.peto-team { display: grid; grid-template-columns: repeat(2, 1fr); gap: 35px; }
.peto-team article { background: #f4f8fb; padding: 24px; border-radius: 10px; }
.peto-team img { width: 240px; max-width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 8px; margin-bottom: 20px; }
.peto-role { color: #174b70; font-weight: 600; }
.peto-prices { width: 100%; border-collapse: collapse; margin-top: 16px; }
.peto-prices th, .peto-prices td { padding: 12px 16px; border-bottom: 1px solid #dce6ee; text-align: left; }
.peto-prices thead { background: #174b70; color: white; }
.peto-prices tbody th { font-weight: 400; }
.peto-prices tbody tr:nth-child(even) { background: #f4f8fb; }
.peto-prices td { white-space: nowrap; }
.peto-content address { font-style: normal; line-height: 2; overflow-wrap: anywhere; }
.peto-social { display: flex; flex-wrap: wrap; gap: 12px; }
.peto-activity { margin: 35px 0; }
.peto-activity .column img { object-fit: contain; background: #fff; }
.peto-partner img { max-width: 180px; max-height: 100px; object-fit: contain; background: transparent; padding: 8px; margin-top: 16px; }
a.peto-card:focus-visible, .peto-content a:focus-visible { outline: 3px solid #2678b0; outline-offset: 4px; }
@media (max-width: 767px) {
 .peto-cards { grid-template-columns: repeat(2, 1fr); gap: 14px; }
 .peto-card { padding: 18px 8px; }
 .peto-card h2 { font-size: 18px; }
 .peto-card img { width: 85px; height: 85px; }
 .peto-team { grid-template-columns: 1fr; }
 .peto-hero:not(.peto-home-hero) .hero-slides-content h2 { font-size: 28px; }
 .peto-content h1 { font-size: 28px; }
 .peto-content h2 { font-size: 21px; }
 .peto-prices th, .peto-prices td { padding: 10px 7px; font-size: 14px; }
 .peto-prices td { white-space: normal; width: 28%; }
 .peto-nav a { padding: 9px 12px; }
}

/* Keep the decorative waves above the image tint. */
.peto-hero .slide-img .layer { z-index: 1; pointer-events: none; }

/* Main-page logo and navigation precede the introduction. */
.peto-content-logo { text-align: center; margin-bottom: 25px; }
.peto-content-logo .peto-logo { width: 300px; padding: 0; margin: 0; background: transparent; }
.peto-content .peto-cards + .peto-intro { margin-top: 35px; margin-bottom: 0; }

.peto-cards { margin-bottom: 30px; }
.peto-card[aria-current="page"] { border-color: #174b70; background: #e6f0f7; }

/* Keep menu labels the same size when hovered or focused. */
.peto-cards { --peto-menu-font-size: 22px; }
.peto-content .container a.peto-card h2,
.peto-content .container a.peto-card h2:hover,
.peto-content .container a.peto-card h2:focus {
    font-size: var(--peto-menu-font-size);
}
@media (max-width: 767px) {
    .peto-cards { --peto-menu-font-size: 18px; }
}

/* Center subpage titles and navigation while preserving the back link. */
.peto-content .peto-back + h1 { text-align: center; }
.peto-content .peto-nav { justify-content: center; }

/* Preserve readable labels over filled buttons and navigation states. */
.peto-content .container a.medicopus-btn,
.peto-content .container a.medicopus-btn:visited,
.peto-content .container a.medicopus-btn:hover,
.peto-content .container a.medicopus-btn:focus,
.peto-content .container .peto-nav a[aria-current="page"],
.peto-content .container .peto-nav a:hover,
.peto-content .container .peto-nav a:focus,
.peto-content .container .peto-social a:hover,
.peto-content .container .peto-social a:focus {
    color: #fff;
}
.peto-content .container .peto-nav a:focus,
.peto-content .container .peto-social a:focus {
    background: #174b70;
}

.peto-content .container a.medicopus-btn.peto-directions:hover,
.peto-content .container a.medicopus-btn.peto-directions:focus {
    color: #174b70;
}

/* Lift the main-page logo into the white edge of the hero. */
.peto-home-hero + .peto-content .peto-content-logo {
    position: relative;
    z-index: 4;
    margin-top: -45px;
}

/* Center contact details and actions; keep the back link on the left. */
.peto-contact-content .peto-section { text-align: center; }
.peto-contact-content .peto-section p { text-align: center; }
.peto-contact-content .peto-social { justify-content: center; }
