
/* ========================================
   TINY MAJESTY
   Main stylesheet
   ======================================== */


/* ---------- ZÁKLADNÍ NASTAVENÍ ---------- */

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: Arial, sans-serif;
    color: #292323;
    background-color: #fbf7f6;
    line-height: 1.6;
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    display: block;
    max-width: 100%;
}


/* ---------- KONTEJNER ---------- */

.container {
    width: min(1200px, 90%);
    margin: 0 auto;
}

.narrow {
    max-width: 850px;
}


/* ========================================
   HLAVIČKA
   ======================================== */

.site-header {
    background-color: #fbf7f6;
    border-bottom: 1px solid #eee3e1;
    position: relative;
    z-index: 10;
}

.header-inner {
    min-height: 105px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 35px;
}


/* ---------- LOGO ---------- */

.logo {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
}

.logo-name {
    font-family: Georgia, serif;
    font-size: 29px;
    font-weight: normal;
    letter-spacing: 1px;
}

.logo-subtitle {
    margin-top: 2px;

    font-size: 10px;
    letter-spacing: 4px;
    text-transform: uppercase;

    color: #8d7775;
}


/* ---------- NAVIGACE ---------- */

.main-nav {
    display: flex;
    align-items: center;
    gap: 30px;
}

.main-nav a {
    position: relative;

    font-size: 12px;
    letter-spacing: 1.5px;
    text-transform: uppercase;

    color: #403737;

    padding: 8px 0;

    transition: color 0.3s ease;
}

.main-nav a:hover {
    color: #b56f7b;
}

.main-nav a.active {
    color: #b56f7b;
}

.main-nav a.active::after {
    content: "";

    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;

    height: 1px;

    background-color: #b56f7b;
}


/* ---------- JAZYKY ---------- */

.language-switch {
    display: flex;
    align-items: center;
    gap: 7px;

    font-size: 11px;
    letter-spacing: 1px;

    white-space: nowrap;
}

.language-active {
    color: #b56f7b;
    font-weight: bold;
}

.language-disabled {
    color: #999;
}


/* ========================================
   HERO
   ======================================== */

.hero {
    min-height: 680px;

    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    text-align: center;

    background:
        linear-gradient(
            rgba(55, 37, 38, 0.18),
            rgba(55, 37, 38, 0.28)
        ),
        linear-gradient(
            135deg,
            #d8b9b9,
            #ead6d2
        );

    overflow: hidden;
}


/* ---------- HERO OVERLAY ---------- */

.hero-overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            to bottom,
            rgba(0, 0, 0, 0.02),
            rgba(0, 0, 0, 0.12)
        );
}


/* ---------- HERO TEXT ---------- */

.hero-content {
    position: relative;
    z-index: 2;

    color: white;

    padding: 40px;
}

.hero-small {
    margin-bottom: 15px;

    font-size: 12px;
    letter-spacing: 5px;
}

.hero h1 {
    font-family: Georgia, serif;

    font-size: clamp(55px, 8vw, 105px);
    font-weight: normal;

    letter-spacing: 2px;

    line-height: 1.1;
}

.hero-text {
    margin-top: 8px;

    font-size: 14px;
    letter-spacing: 6px;
    text-transform: uppercase;
}

.hero-motto {
    margin-top: 35px;

    font-family: Georgia, serif;

    font-size: 20px;
    font-style: italic;
}


/* ========================================
   ÚVOD
   ======================================== */

.intro {
    padding: 120px 0;
    text-align: center;
}

.section-label {
    margin-bottom: 20px;

    color: #b56f7b;

    font-size: 11px;
    font-weight: bold;

    letter-spacing: 4px;
}

.intro h2,
.dogs-intro h2,
.puppies-intro h2 {
    font-family: Georgia, serif;

    font-size: clamp(35px, 5vw, 58px);
    font-weight: normal;

    line-height: 1.2;

    color: #493b3b;
}

.intro-text {
    max-width: 720px;

    margin: 25px auto 0;

    font-size: 16px;

    color: #655858;
}


/* ---------- TLAČÍTKO ---------- */

.button {
    display: inline-block;

    margin-top: 35px;

    padding: 14px 30px;

    border: 1px solid #b56f7b;

    color: #b56f7b;

    font-size: 11px;
    letter-spacing: 2px;
    text-transform: uppercase;

    transition:
        background-color 0.3s ease,
        color 0.3s ease;
}

.button:hover {
    background-color: #b56f7b;
    color: white;
}


/* ========================================
   PSI
   ======================================== */

.dogs-intro {
    padding: 110px 0;

    background-color: #f3e7e5;

    text-align: center;
}

.dog-links {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 25px;

    margin-top: 55px;
}

.dog-link {
    min-height: 230px;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    border: 1px solid #dfceca;

    background-color: #fbf7f6;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.dog-link:hover {
    transform: translateY(-5px);

    box-shadow: 0 15px 35px rgba(60, 40, 40, 0.08);
}

.dog-link span {
    font-family: Georgia, serif;

    font-size: 36px;

    color: #493b3b;
}

.dog-link small {
    margin-top: 10px;

    color: #8d7775;

    font-size: 12px;
    letter-spacing: 2px;
    text-transform: uppercase;
}


/* ========================================
   ŠTĚŇÁTKA
   ======================================== */

.puppies-intro {
    padding: 120px 0;

    text-align: center;
}


/* ========================================
   PATIČKA
   ======================================== */

.site-footer {
    padding: 45px 0;

    background-color: #3e3333;

    color: #eee4e2;

    text-align: center;

    font-size: 11px;

    letter-spacing: 1px;
}

.site-footer p + p {
    margin-top: 5px;

    color: #bfaead;
}


/* ========================================
   MOBIL
   ======================================== */

@media (max-width: 1000px) {

    .header-inner {
        flex-wrap: wrap;

        padding: 25px 0;
    }

    .main-nav {
        order: 3;

        width: 100%;

        justify-content: center;

        flex-wrap: wrap;

        gap: 18px 25px;
    }

    .language-switch {
        margin-left: auto;
    }

}


@media (max-width: 600px) {

    .container {
        width: 88%;
    }

    .header-inner {
        min-height: auto;
    }

    .logo-name {
        font-size: 24px;
    }

    .logo-subtitle {
        font-size: 8px;
        letter-spacing: 3px;
    }

    .main-nav {
        justify-content: flex-start;

        gap: 12px 18px;
    }

    .main-nav a {
        font-size: 10px;
    }

    .hero {
        min-height: 550px;
    }

    .hero-content {
        padding: 25px;
    }

    .hero h1 {
        font-size: 55px;
    }

    .hero-small {
        font-size: 9px;
        letter-spacing: 3px;
    }

    .hero-text {
        font-size: 10px;
        letter-spacing: 4px;
    }

    .hero-motto {
        font-size: 17px;
    }

    .intro,
    .puppies-intro {
        padding: 80px 0;
    }

    .dogs-intro {
        padding: 80px 0;
    }

    .dog-links {
        grid-template-columns: 1fr;
    }

}

/* ========================================
   PODSTRÁNKY
   ======================================== */

.page-intro {
    padding: 140px 0 120px;

    text-align: center;

    background-color: #f3e7e5;
}

.page-intro h1 {
    font-family: Georgia, serif;

    font-size: clamp(50px, 7vw, 80px);
    font-weight: normal;

    color: #493b3b;

    line-height: 1.1;
}

.page-intro p:not(.section-label) {
    max-width: 650px;

    margin: 25px auto 0;

    color: #655858;

    font-size: 16px;
}
/* ========================================
   STRÁNKA O NÁS
   ======================================== */


/* ---------- HERO ---------- */

.about-hero {
    min-height: 620px;
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    text-align: center;

    overflow: hidden;
}

.about-hero-placeholder {
    position: absolute;
    inset: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    background:
        linear-gradient(
            135deg,
            #d9c0bf,
            #eadbd7
        );

    color: rgba(255, 255, 255, 0.65);

    font-size: 13px;
    letter-spacing: 2px;
}

.about-hero-content {
    position: relative;
    z-index: 2;

    padding: 40px;

    color: white;
}

.about-hero h1 {
    font-family: Georgia, serif;

    font-size: clamp(55px, 8vw, 95px);
    font-weight: normal;

    line-height: 1.1;
}

.about-hero-content > p:last-child {
    margin-top: 20px;

    font-family: Georgia, serif;

    font-size: 20px;
    font-style: italic;
}


/* ---------- SPOLEČNÉ TEXTOVÉ SEKCE ---------- */

.about-story,
.about-pairing {
    padding: 120px 0;
}

.about-grid {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 90px;

    align-items: center;
}


/* ---------- PLACEHOLDERY FOTEK ---------- */

.about-image-placeholder {
    min-height: 560px;

    display: flex;
    align-items: center;
    justify-content: center;

    background:
        linear-gradient(
            135deg,
            #dfc9c6,
            #f0e3df
        );

    color: rgba(80, 55, 55, 0.55);

    font-size: 12px;
    letter-spacing: 2px;
}

.about-image-placeholder.large {
    min-height: 600px;
}


/* ---------- TEXT ---------- */

.about-text h2,
.about-breeding h2,
.about-puppies h2,
.about-closing h2,
.about-dogs h2 {
    margin-bottom: 35px;

    font-family: Georgia, serif;

    font-size: clamp(38px, 5vw, 60px);
    font-weight: normal;

    line-height: 1.2;

    color: #493b3b;
}

.about-text p {
    margin-bottom: 20px;

    color: #655858;

    font-size: 16px;
}


/* ========================================
   CHOV
   ======================================== */

.about-breeding {
    padding: 130px 0;

    background-color: #f3e7e5;
}

.about-breeding h2 {
    text-align: center;
}

.about-large-text {
    margin-top: 55px;
}

.about-large-text p {
    margin-bottom: 25px;

    color: #655858;

    font-size: 17px;

    line-height: 1.8;
}


/* ========================================
   CITÁT
   ======================================== */

.quote-section {
    padding: 110px 0;

    background-color: #493b3b;

    text-align: center;
}

.quote-section blockquote {
    max-width: 850px;

    margin: 0 auto;

    font-family: Georgia, serif;

    color: #ffffff;

    font-size: clamp(32px, 5vw, 55px);
    font-style: italic;

    line-height: 1.3;
}


/* ========================================
   PSI
   ======================================== */

.about-dogs {
    padding: 130px 0;

    background-color: #fbf7f6;
}

.about-dogs-heading {
    max-width: 750px;

    margin-bottom: 70px;
}

.about-dogs-content {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 80px;

    align-items: center;
}


/* ========================================
   ZDRAVÍ
   ======================================== */

.about-health {
    padding: 120px 0;

    background-color: #f3e7e5;
}

.center-heading {
    max-width: 700px;

    margin: 0 auto;

    text-align: center;
}

.center-heading h2 {
    margin-bottom: 25px;

    font-family: Georgia, serif;

    font-size: clamp(40px, 5vw, 60px);
    font-weight: normal;

    color: #493b3b;
}

.center-heading > p:last-child {
    color: #655858;
}

.health-grid {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 20px;

    margin-top: 65px;
}

.health-item {
    padding: 35px 25px;

    background-color: #fbf7f6;

    border: 1px solid #dfceca;

    text-align: center;
}

.health-item h3 {
    margin-bottom: 15px;

    font-family: Georgia, serif;

    font-size: 24px;
    font-weight: normal;

    color: #493b3b;
}

.health-item p {
    color: #766666;

    font-size: 14px;
}


/* ========================================
   ŠTĚŇÁTKA
   ======================================== */

.about-puppies {
    padding: 130px 0;

    text-align: center;
}

.about-puppies h2 {
    margin-bottom: 35px;
}

.about-puppies p:not(.section-label) {
    margin-bottom: 20px;

    color: #655858;

    font-size: 16px;
}


/* ========================================
   ZÁVĚR
   ======================================== */

.about-closing {
    padding: 130px 0;

    background-color: #eadbd7;

    text-align: center;
}

.about-closing p:not(.section-label) {
    margin-bottom: 20px;

    color: #5f5151;

    font-size: 16px;
}

.about-closing blockquote {
    margin-top: 55px;

    font-family: Georgia, serif;

    color: #493b3b;

    font-size: clamp(27px, 4vw, 42px);

    font-style: italic;

    line-height: 1.4;
}


/* ========================================
   ODKAZY
   ======================================== */

.about-links {
    padding: 80px 0;
}

.about-links .container {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 20px;
}

.about-link {
    padding: 35px;

    border: 1px solid #dfceca;

    text-align: center;

    font-family: Georgia, serif;

    font-size: 25px;

    color: #493b3b;

    transition:
        background-color 0.3s ease,
        color 0.3s ease;
}

.about-link:hover {
    background-color: #b56f7b;

    color: white;
}


/* ========================================
   MOBIL
   ======================================== */

@media (max-width: 800px) {

    .about-grid,
    .about-dogs-content {
        grid-template-columns: 1fr;

        gap: 50px;
    }

    .about-image-placeholder,
    .about-image-placeholder.large {
        min-height: 400px;
    }

    .health-grid {
        grid-template-columns: 1fr 1fr;
    }

    .about-links .container {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 600px) {

    .about-hero {
        min-height: 500px;
    }

    .about-story,
    .about-pairing,
    .about-breeding,
    .about-dogs,
    .about-health,
    .about-puppies,
    .about-closing {
        padding: 80px 0;
    }

    .about-image-placeholder,
    .about-image-placeholder.large {
        min-height: 320px;
    }

    .health-grid {
        grid-template-columns: 1fr;
    }

}

/* ========================================
   STRÁNKA NAŠI PSI
   ======================================== */


/* ---------- ÚVOD ---------- */

.dogs-intro {
    padding: 130px 0;
    text-align: center;
}

.dogs-intro h2 {
    margin-bottom: 40px;

    font-family: Georgia, serif;
    font-size: clamp(40px, 5vw, 65px);
    font-weight: normal;

    line-height: 1.2;

    color: #493b3b;
}

.dogs-intro p:not(.section-label) {
    max-width: 750px;

    margin: 0 auto 20px;

    color: #655858;

    font-size: 17px;
    line-height: 1.8;
}


/* ---------- HLAVNÍ MYŠLENKA ---------- */

.dogs-principle {
    max-width: 750px;

    margin: 60px auto 0;
    padding: 35px;

    background-color: #f3e7e5;

    border: 1px solid #dfceca;
}

.dogs-principle span {
    display: block;

    margin-bottom: 12px;

    font-size: 11px;

    letter-spacing: 2px;
    text-transform: uppercase;

    color: #8b7070;
}

.dogs-principle strong {
    display: block;

    font-family: Georgia, serif;

    font-size: 25px;
    font-weight: normal;

    line-height: 1.4;

    color: #493b3b;
}


/* ========================================
   PROFILY
   ======================================== */

.dogs-list {
    padding: 120px 0;

    background-color: #f3e7e5;
}

.dog-profile {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 90px;

    align-items: center;

    margin-bottom: 130px;
}

.dog-profile:last-child {
    margin-bottom: 0;
}


/* ---------- FOTKA ---------- */

.dog-photo-placeholder {
    min-height: 620px;

    display: flex;

    align-items: center;
    justify-content: center;

    background:
        linear-gradient(
            135deg,
            #dfc9c6,
            #f0e3df
        );

    color: rgba(80, 55, 55, 0.55);

    font-size: 12px;

    letter-spacing: 2px;
}


/* ---------- PROFIL ---------- */

.dog-info {
    padding: 20px 0;
}

.dog-info h2 {
    margin-bottom: 30px;

    font-family: Georgia, serif;

    font-size: clamp(48px, 6vw, 75px);

    font-weight: normal;

    line-height: 1.1;

    color: #493b3b;
}

.dog-description {
    margin-bottom: 35px;

    color: #655858;

    font-size: 16px;

    line-height: 1.8;
}


/* ---------- ÚDAJE ---------- */

.dog-details {
    display: flex;

    gap: 50px;

    margin-bottom: 40px;

    padding: 25px 0;

    border-top: 1px solid #dfceca;
    border-bottom: 1px solid #dfceca;
}

.dog-details div {
    display: flex;

    flex-direction: column;

    gap: 5px;
}

.dog-details span {
    font-size: 11px;

    letter-spacing: 2px;

    text-transform: uppercase;

    color: #8b7070;
}

.dog-details strong {
    font-family: Georgia, serif;

    font-size: 22px;

    font-weight: normal;

    color: #493b3b;
}


/* ---------- KRYTÍ ---------- */

.dog-breeding {
    padding: 25px;

    background-color: #fbf7f6;

    border: 1px solid #dfceca;
}

.dog-breeding > span {
    display: block;

    margin-bottom: 10px;

    font-size: 11px;

    letter-spacing: 2px;

    color: #8b7070;
}

.dog-breeding p {
    color: #655858;

    font-size: 14px;

    line-height: 1.7;
}


/* ========================================
   ZÁVĚR
   ======================================== */

.dogs-closing {
    padding: 130px 0;

    text-align: center;
}

.dogs-closing h2 {
    margin-bottom: 35px;

    font-family: Georgia, serif;

    font-size: clamp(40px, 5vw, 60px);

    font-weight: normal;

    line-height: 1.2;

    color: #493b3b;
}

.dogs-closing p:not(.section-label) {
    margin-bottom: 20px;

    color: #655858;

    font-size: 16px;

    line-height: 1.8;
}

.dogs-closing blockquote {
    margin-top: 55px;

    font-family: Georgia, serif;

    font-size: clamp(27px, 4vw, 42px);

    font-style: italic;

    line-height: 1.4;

    color: #493b3b;
}


/* ========================================
   MOBIL
   ======================================== */

@media (max-width: 800px) {

    .dog-profile {
        grid-template-columns: 1fr;

        gap: 50px;

        margin-bottom: 90px;
    }

    .dog-photo-placeholder {
        min-height: 450px;
    }

    .dog-profile.reverse .dog-photo-placeholder {
        order: 0;
    }

    .dog-profile.reverse .dog-info {
        order: 1;
    }

}


@media (max-width: 600px) {

    .dogs-intro,
    .dogs-list,
    .dogs-closing {
        padding: 80px 0;
    }

    .dog-photo-placeholder {
        min-height: 350px;
    }

    .dogs-principle {
        padding: 25px 20px;
    }

    .dog-details {
        gap: 30px;
    }

}
/* ========================================
   GALERIE PSŮ
   ======================================== */

.dog-gallery {
    width: 100%;
}


/* ---------- HLAVNÍ FOTOGRAFIE ---------- */

.dog-main-photo {
    min-height: 570px;

    display: flex;

    align-items: center;
    justify-content: center;

    background:
        linear-gradient(
            135deg,
            #dfc9c6,
            #f0e3df
        );

    color: rgba(80, 55, 55, 0.55);

    font-size: 12px;

    letter-spacing: 2px;
}


/* ---------- NÁHLEDY ---------- */

.dog-gallery-thumbs {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 12px;

    margin-top: 12px;
}


.dog-thumb {
    min-height: 130px;

    display: flex;

    align-items: center;
    justify-content: center;

    background:
        linear-gradient(
            135deg,
            #e7d5d2,
            #f4e9e6
        );

    color: rgba(80, 55, 55, 0.5);

    font-size: 10px;

    letter-spacing: 1px;
}


/* ========================================
   ÚDAJE O PSOVI
   ======================================== */

.dog-details {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 20px;

    margin: 35px 0 20px;

    padding: 25px 0;

    border-top: 1px solid #dfceca;
    border-bottom: 1px solid #dfceca;
}


.dog-details div,
.dog-health div {
    display: flex;

    flex-direction: column;

    gap: 5px;
}


.dog-details span,
.dog-health span {

    font-size: 10px;

    letter-spacing: 2px;

    text-transform: uppercase;

    color: #8b7070;

}


.dog-details strong,
.dog-health strong {

    font-family: Georgia, serif;

    font-size: 18px;

    font-weight: normal;

    color: #493b3b;

}


/* ========================================
   DALŠÍ ZDRAVOTNÍ INFORMACE
   ======================================== */

.dog-health {

    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 20px;

    margin-bottom: 45px;

}


.dog-health div {

    padding: 18px 20px;

    background-color: #fbf7f6;

    border: 1px solid #dfceca;

}


/* ========================================
   TEXT O PSOVI
   ======================================== */

.dog-description {

    margin-bottom: 45px;

}


.dog-description h3 {

    margin-bottom: 20px;

    font-family: Georgia, serif;

    font-size: 28px;

    font-weight: normal;

    color: #493b3b;

}


.dog-description p {

    margin-bottom: 18px;

    color: #655858;

    font-size: 15px;

    line-height: 1.8;

}


.dog-description strong {

    color: #493b3b;

}


/* ========================================
   KRYTÍ
   ======================================== */

.dog-breeding {

    padding: 28px;

    background-color: #fbf7f6;

    border: 1px solid #dfceca;

}


.dog-breeding > span {

    display: block;

    margin-bottom: 12px;

    font-size: 10px;

    letter-spacing: 2px;

    text-transform: uppercase;

    color: #8b7070;

}


.dog-breeding p {

    margin-bottom: 12px;

    color: #655858;

    font-size: 14px;

    line-height: 1.7;

}


.dog-breeding p:last-child {

    margin-bottom: 0;

}


/* ========================================
   MOBIL
   ======================================== */

@media (max-width: 800px) {

    .dog-profile {

        grid-template-columns: 1fr;

        gap: 55px;

    }


    .dog-main-photo {

        min-height: 480px;

    }

}


@media (max-width: 600px) {

    .dog-main-photo {

        min-height: 380px;

    }


    .dog-gallery-thumbs {

        gap: 7px;

    }


    .dog-thumb {

        min-height: 90px;

    }


    .dog-details {

        grid-template-columns: 1fr;

        gap: 18px;

    }


    .dog-health {

        grid-template-columns: 1fr;

    }


    .dog-description h3 {

        font-size: 25px;

    }

}
/* ========================================
   STRÁNKA FENY
   ======================================== */

.females-hero {
    min-height: 620px;
}

.females-hero .about-hero-placeholder {
    background:
        linear-gradient(
            135deg,
            #d9c0bf,
            #eadbd7
        );
}


/* ---------- ÚVOD ---------- */

.females-intro {
    padding: 130px 0;
    text-align: center;
    background-color: #fbf7f6;
}

.females-intro h2 {
    max-width: 850px;
    margin: 0 auto 40px;

    font-family: Georgia, serif;
    font-size: clamp(40px, 5vw, 65px);
    font-weight: normal;
    line-height: 1.2;

    color: #493b3b;
}

.females-intro p:not(.section-label) {
    max-width: 750px;
    margin: 0 auto 20px;

    color: #655858;
    font-size: 17px;
    line-height: 1.8;
}


/* ---------- HLAVNÍ MYŠLENKA ---------- */

.females-principle {
    max-width: 750px;
    margin: 60px auto 0;
    padding: 35px;

    background-color: #f3e7e5;
    border: 1px solid #dfceca;
}

.females-principle span {
    display: block;
    margin-bottom: 12px;

    font-size: 11px;
    letter-spacing: 2px;
    text-transform: uppercase;

    color: #8b7070;
}

.females-principle strong {
    display: block;

    font-family: Georgia, serif;
    font-size: 25px;
    font-weight: normal;
    line-height: 1.4;

    color: #493b3b;
}


/* ========================================
   PROFILY FEN
   ======================================== */

.females-list {
    padding: 120px 0;
    background-color: #f3e7e5;
}


/* ---------- ZÁKLAD PROFILU ---------- */

.female-profile {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 90px;
    align-items: center;

    margin-bottom: 130px;
}

.female-profile:last-child {
    margin-bottom: 0;
}


/* ---------- OBRÁZEK ---------- */

.female-photo-placeholder {
    min-height: 620px;

    display: flex;
    align-items: center;
    justify-content: center;

    background:
        linear-gradient(
            135deg,
            #dfc9c6,
            #f0e3df
        );

    color: rgba(80, 55, 55, 0.55);

    font-size: 12px;
    letter-spacing: 2px;
}


/* ---------- INFORMACE ---------- */

.female-info {
    padding: 20px 0;
}

.female-info h2 {
    margin-bottom: 30px;

    font-family: Georgia, serif;
    font-size: clamp(48px, 6vw, 75px);
    font-weight: normal;
    line-height: 1.1;

    color: #493b3b;
}

.female-description {
    margin-bottom: 35px;

    color: #655858;
    font-size: 16px;
    line-height: 1.8;
}


/* ---------- ÚDAJE ---------- */

.female-details {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;

    margin: 35px 0 20px;
    padding: 25px 0;

    border-top: 1px solid #dfceca;
    border-bottom: 1px solid #dfceca;
}

.female-details div {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.female-details span {
    font-size: 10px;
    letter-spacing: 2px;
    text-transform: uppercase;

    color: #8b7070;
}

.female-details strong {
    font-family: Georgia, serif;
    font-size: 18px;
    font-weight: normal;

    color: #493b3b;
}


/* ---------- ZDRAVÍ ---------- */

.female-health {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;

    margin-bottom: 45px;
}

.female-health div {
    padding: 18px 20px;

    background-color: #fbf7f6;
    border: 1px solid #dfceca;
}

.female-health span {
    display: block;
    margin-bottom: 5px;

    font-size: 10px;
    letter-spacing: 2px;
    text-transform: uppercase;

    color: #8b7070;
}

.female-health strong {
    font-family: Georgia, serif;
    font-size: 18px;
    font-weight: normal;

    color: #493b3b;
}


/* ---------- KONEC CHOVNÉ KARIÉRY ---------- */

.female-retirement {
    padding: 28px;

    background-color: #fbf7f6;
    border: 1px solid #dfceca;
}

.female-retirement > span {
    display: block;
    margin-bottom: 12px;

    font-size: 10px;
    letter-spacing: 2px;
    text-transform: uppercase;

    color: #8b7070;
}

.female-retirement p {
    margin-bottom: 12px;

    color: #655858;
    font-size: 14px;
    line-height: 1.7;
}

.female-retirement p:last-child {
    margin-bottom: 0;
}


/* ========================================
   ZÁVĚR
   ======================================== */

.females-closing {
    padding: 130px 0;

    text-align: center;
    background-color: #eadbd7;
}

.females-closing h2 {
    max-width: 850px;
    margin: 0 auto 35px;

    font-family: Georgia, serif;
    font-size: clamp(40px, 5vw, 60px);
    font-weight: normal;
    line-height: 1.2;

    color: #493b3b;
}

.females-closing p:not(.section-label) {
    max-width: 700px;
    margin: 0 auto 20px;

    color: #5f5151;
    font-size: 16px;
    line-height: 1.8;
}

.females-closing blockquote {
    max-width: 850px;
    margin: 55px auto 0;

    font-family: Georgia, serif;
    font-size: clamp(27px, 4vw, 42px);
    font-style: italic;
    line-height: 1.4;

    color: #493b3b;
}


/* ========================================
   MOBIL
   ======================================== */

@media (max-width: 800px) {

    .female-profile {
        grid-template-columns: 1fr;
        gap: 55px;
        margin-bottom: 90px;
    }

    .female-photo-placeholder {
        min-height: 450px;
    }

}

@media (max-width: 600px) {

    .females-hero {
        min-height: 500px;
    }

    .females-intro,
    .females-list,
    .females-closing {
        padding: 80px 0;
    }

    .female-photo-placeholder {
        min-height: 350px;
    }

    .female-details {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .female-health {
        grid-template-columns: 1fr;
    }

    .females-principle {
        padding: 25px 20px;
    }

}
/* ========================================
   GALERIE FEN
   ======================================== */

.female-gallery {
    width: 100%;
}

.female-main-photo {
    min-height: 570px;

    display: flex;
    align-items: center;
    justify-content: center;

    background:
        linear-gradient(
            135deg,
            #dfc9c6,
            #f0e3df
        );

    color: rgba(80, 55, 55, 0.55);

    font-size: 12px;
    letter-spacing: 2px;
}

.female-gallery-thumbs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);

    gap: 12px;
    margin-top: 12px;
}

.female-thumb {
    min-height: 130px;

    display: flex;
    align-items: center;
    justify-content: center;

    background:
        linear-gradient(
            135deg,
            #e7d5d2,
            #f4e9e6
        );

    color: rgba(80, 55, 55, 0.5);

    font-size: 10px;
    letter-spacing: 1px;
}


/* ---------- MOBIL ---------- */

@media (max-width: 800px) {

    .female-main-photo {
        min-height: 480px;
    }

}

@media (max-width: 600px) {

    .female-main-photo {
        min-height: 380px;
    }

    .female-gallery-thumbs {
        gap: 7px;
    }

    .female-thumb {
        min-height: 90px;
    }

}
/* ========================================
   ŠTĚŇÁTKA – HLAVNÍ STRÁNKA
   ======================================== */

.puppies-hero {
    padding: 110px 0 100px;
    text-align: center;

    background:
        linear-gradient(
            135deg,
            #f3e5e1,
            #f8efec
        );
}

.puppies-hero h1 {
    margin-bottom: 18px;
}

.puppies-hero-text {
    max-width: 620px;
    margin: 0 auto;

    font-family: Georgia, serif;
    font-size: 22px;
    line-height: 1.6;

    color: #6f5955;
}


.puppies-intro-section {
    padding: 100px 0;
}

.puppies-intro-section h2 {
    max-width: 700px;
    margin-bottom: 30px;
}

.puppies-intro-section p:not(.section-label) {
    max-width: 760px;
    margin-bottom: 20px;
}


/* ========================================
   AKTUÁLNÍ A PLÁNOVANÉ VRHY
   ======================================== */

.puppies-feature {
    padding: 90px 0;

    background: #f8f1ee;
}

.puppies-feature-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;

    gap: 70px;
    align-items: center;
}

.puppies-feature-text h2 {
    margin-bottom: 24px;
}

.puppies-feature-text p:not(.section-label) {
    max-width: 500px;
    margin-bottom: 32px;
}

.puppies-feature-photo {
    min-height: 480px;

    display: flex;
    align-items: center;
    justify-content: center;

    background:
        linear-gradient(
            135deg,
            #dfc9c6,
            #f0e3df
        );

    color: rgba(80, 55, 55, 0.55);

    font-size: 11px;
    letter-spacing: 2px;
}


/* ========================================
   INFORMAČNÍ KARTY
   ======================================== */

.puppies-info-section {
    padding: 110px 0;
}

.puppies-info-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);

    gap: 20px;
}

.puppies-info-card {
    display: block;

    padding: 45px;

    text-decoration: none;

    background: #faf7f5;

    border: 1px solid #eee2de;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease;
}

.puppies-info-card:hover {
    transform: translateY(-4px);

    background: #ffffff;

    box-shadow:
        0 15px 40px rgba(80, 55, 55, 0.08);
}

.puppies-info-card h2 {
    margin-bottom: 18px;
}

.puppies-info-card p:not(.section-label) {
    margin-bottom: 28px;

    color: #6f625f;

    line-height: 1.7;
}

.puppies-card-link {
    font-size: 12px;
    letter-spacing: 1.5px;
    text-transform: uppercase;

    color: #8d6f6b;
}


/* ========================================
   PODPORA PO ODCHODU
   ======================================== */

.puppies-support {
    padding: 110px 0;

    text-align: center;

    background:
        linear-gradient(
            135deg,
            #ead9d5,
            #f5eae7
        );
}

.puppies-support h2 {
    margin-bottom: 30px;
}

.puppies-support p:not(.section-label) {
    max-width: 700px;
    margin: 0 auto 20px;

    line-height: 1.8;
}


/* ========================================
   MOBIL
   ======================================== */

@media (max-width: 800px) {

    .puppies-hero {
        padding: 80px 0;
    }

    .puppies-feature-inner {
        grid-template-columns: 1fr;

        gap: 40px;
    }

    .puppies-feature-photo {
        min-height: 400px;
    }

    .puppies-info-grid {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 600px) {

    .puppies-hero {
        padding: 65px 0;
    }

    .puppies-hero-text {
        font-size: 19px;
    }

    .puppies-intro-section,
    .puppies-info-section,
    .puppies-support {
        padding: 75px 0;
    }

    .puppies-feature {
        padding: 70px 0;
    }

    .puppies-feature-photo {
        min-height: 350px;
    }

    .puppies-info-card {
        padding: 30px;
    }

}

/* ========================================
   ŠTĚŇÁTKA – HLAVNÍ NADPIS SEKCE
   ======================================== */

.puppies-feature-text h2 {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 46px;
    line-height: 1.15;
    font-weight: 400;
    letter-spacing: -0.5px;
}

@media (max-width: 800px) {

    .puppies-feature-text h2 {
        font-size: 38px;
    }

}

@media (max-width: 600px) {

    .puppies-feature-text h2 {
        font-size: 32px;
    }

}

/* ========================================
   ŠTĚŇÁTKA – MOTTO
   ======================================== */

.puppies-support {
    padding: 130px 0;
    text-align: center;
}

.puppies-support h2 {
    max-width: 1000px;
    margin: 0 auto 35px;

    font-family: Georgia, serif;
    font-size: clamp(42px, 6vw, 72px);
    font-weight: normal;
    line-height: 1.15;

    color: #493b3b;
}

@media (max-width: 600px) {

    .puppies-support {
        padding: 90px 0;
    }

    .puppies-support h2 {
        font-size: 38px;
    }

}
/* =========================================================
   VRHY
   ========================================================= */

.litters-intro {
    padding: 110px 0;
    text-align: center;
    background-color: #f3e7e5;
}

.litters-intro h2 {
    max-width: 850px;
    margin: 0 auto 35px;
    font-family: Georgia, serif;
    font-size: clamp(40px, 5vw, 65px);
    font-weight: normal;
    line-height: 1.2;
    color: #493b3b;
}

.litters-intro p:not(.section-label) {
    max-width: 750px;
    margin: 0 auto 20px;
    color: #655858;
    line-height: 1.8;
}


/* ---------------------------------------------------------
   NADPIS SEKCE
   --------------------------------------------------------- */

.litters-section-heading {
    text-align: center;
    margin-bottom: 65px;
}

.litters-section-heading h2 {
    margin-top: 10px;
    font-family: Georgia, serif;
    font-size: clamp(42px, 5vw, 65px);
    font-weight: normal;
    line-height: 1.2;
    color: #493b3b;
}


/* ---------------------------------------------------------
   AKTUÁLNÍ VRHY
   --------------------------------------------------------- */

.litters-current {
    padding: 120px 0;
    background-color: #faf7f5;
}

.litter-card {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    background-color: white;
    border: 1px solid #eee2de;
}

.litter-card-photo {
    min-height: 520px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(
        135deg,
        #eadbd8,
        #f7efec
    );
    color: #8c7773;
    letter-spacing: 2px;
    font-size: 11px;
}

.litter-card-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 70px;
}

.litter-card-content h3 {
    margin: 10px 0 10px;
    font-family: Georgia, serif;
    font-size: clamp(40px, 5vw, 60px);
    font-weight: normal;
    color: #493b3b;
}

.litter-date {
    margin-bottom: 25px;
    color: #8a7470;
    font-size: 15px;
}

.litter-card-content > p:not(.section-label):not(.litter-date) {
    max-width: 420px;
    margin-bottom: 30px;
    color: #655858;
    line-height: 1.8;
}


/* ---------------------------------------------------------
   DETAIL VRHU
   --------------------------------------------------------- */

.litter-detail {
    padding: 120px 0;
    background-color: #fff;
}

.litter-detail-archive {
    background-color: #faf7f5;
}

.litter-detail-heading {
    text-align: center;
    margin-bottom: 65px;
}

.litter-detail-heading h2 {
    margin: 10px 0 15px;
    font-family: Georgia, serif;
    font-size: clamp(45px, 6vw, 75px);
    font-weight: normal;
    color: #493b3b;
}

.litter-detail-heading > p:last-child {
    color: #8a7470;
}


/* ---------------------------------------------------------
   GALERIE VRHU
   --------------------------------------------------------- */

.litter-gallery {
    width: 100%;
}

.litter-main-photo {
    min-height: 570px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(
        135deg,
        #eadbd8,
        #f7efec
    );
    color: #8c7773;
    letter-spacing: 2px;
    font-size: 11px;
}

.litter-gallery-thumbs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-top: 12px;
}

.litter-thumb {
    min-height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(
        135deg,
        #f2e7e4,
        #faf5f2
    );
    color: #927e79;
    letter-spacing: 1px;
    font-size: 10px;
}


/* ---------------------------------------------------------
   RODIČE
   --------------------------------------------------------- */

.litter-parents {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    margin-top: 80px;
}

.litter-parent {
    text-align: center;
}

.litter-parent-photo {
    min-height: 430px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 30px;
    background: linear-gradient(
        135deg,
        #eadbd8,
        #f7efec
    );
    color: #8c7773;
    letter-spacing: 2px;
    font-size: 10px;
}

.litter-parent h3 {
    margin: 8px auto;
    font-family: Georgia, serif;
    font-size: 32px;
    font-weight: normal;
    color: #493b3b;
}

.litter-parent p:not(.section-label) {
    color: #766563;
}


/* ---------------------------------------------------------
   ŠTĚŇÁTKA VE VRHU
   --------------------------------------------------------- */

.puppies-list {
    margin-top: 110px;
}

.puppies-list-heading {
    text-align: center;
    margin-bottom: 50px;
}

.puppies-list-heading h3 {
    margin-top: 8px;
    font-family: Georgia, serif;
    font-size: 42px;
    font-weight: normal;
    color: #493b3b;
}

.puppy-card {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    background-color: #faf7f5;
    border: 1px solid #eee2de;
}

.puppy-photo {
    min-height: 480px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(
        135deg,
        #eadbd8,
        #f7efec
    );
    color: #8c7773;
    letter-spacing: 2px;
    font-size: 10px;
}

.puppy-info {
    padding: 65px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.puppy-info h3 {
    margin: 8px 0 40px;
    font-family: Georgia, serif;
    font-size: 48px;
    font-weight: normal;
    color: #493b3b;
}

.puppy-info dl {
    margin: 0;
}

.puppy-info dl > div {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    padding: 15px 0;
    border-bottom: 1px solid #e7dcd8;
}

.puppy-info dt {
    color: #8a7470;
    font-size: 13px;
}

.puppy-info dd {
    margin: 0;
    color: #493b3b;
}


/* ---------------------------------------------------------
   ARCHIV
   --------------------------------------------------------- */

.litters-archive {
    padding: 120px 0;
    background-color: #f3e7e5;
}

.litter-archive-card {
    display: grid;
    grid-template-columns: 0.75fr 1.25fr;
    background-color: #fff;
    border: 1px solid #e5d6d2;
}

.litter-archive-photo {
    min-height: 430px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(
        135deg,
        #e7d9d6,
        #f7efec
    );
    color: #8c7773;
    letter-spacing: 2px;
    font-size: 10px;
}

.litter-archive-content {
    padding: 60px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.litter-archive-content h3 {
    margin: 8px 0 8px;
    font-family: Georgia, serif;
    font-size: 48px;
    font-weight: normal;
    color: #493b3b;
}

.litter-archive-content > .litter-date {
    margin-bottom: 35px;
}

.litter-parents-short {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 35px;
    margin-bottom: 30px;
}

.litter-parents-short span {
    display: block;
    margin-bottom: 7px;
    color: #9a817c;
    font-size: 10px;
    letter-spacing: 1.5px;
}

.litter-parents-short strong {
    display: block;
    font-family: Georgia, serif;
    font-size: 20px;
    font-weight: normal;
    color: #493b3b;
}

.litter-parents-short small {
    display: block;
    margin-top: 4px;
    color: #766563;
}

.litter-home {
    margin-bottom: 30px;
    color: #655858;
    line-height: 1.7;
}


/* ---------------------------------------------------------
   ZÁVĚR
   --------------------------------------------------------- */

.litters-closing {
    padding: 120px 0;
    text-align: center;
    background-color: #fff;
}

.litters-closing h2 {
    max-width: 800px;
    margin: 10px auto 30px;
    font-family: Georgia, serif;
    font-size: clamp(40px, 5vw, 62px);
    font-weight: normal;
    line-height: 1.2;
    color: #493b3b;
}

.litters-closing p:not(.section-label) {
    max-width: 650px;
    margin: 0 auto;
    color: #655858;
    line-height: 1.8;
}


/* ---------------------------------------------------------
   MOBIL
   --------------------------------------------------------- */

@media (max-width: 800px) {

    .litter-card,
    .puppy-card,
    .litter-archive-card {
        grid-template-columns: 1fr;
    }

    .litter-card-photo {
        min-height: 400px;
    }

    .litter-card-content {
        padding: 45px 30px;
    }

    .litter-main-photo {
        min-height: 480px;
    }

    .litter-gallery-thumbs {
        gap: 7px;
    }

    .litter-thumb {
        min-height: 100px;
    }

    .litter-parents {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .litter-parent-photo {
        min-height: 400px;
    }

    .puppy-photo {
        min-height: 400px;
    }

    .puppy-info {
        padding: 45px 30px;
    }

    .litter-archive-photo {
        min-height: 380px;
    }

    .litter-archive-content {
        padding: 45px 30px;
    }

}

@media (max-width: 600px) {

    .litters-intro,
    .litters-current,
    .litter-detail,
    .litters-archive,
    .litters-closing {
        padding: 85px 0;
    }

    .litter-card-photo {
        min-height: 320px;
    }

    .litter-main-photo {
        min-height: 380px;
    }

    .litter-parent-photo {
        min-height: 330px;
    }

    .puppy-photo {
        min-height: 330px;
    }

    .puppy-info dl > div {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    .litter-parents-short {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .litter-archive-photo {
        min-height: 300px;
    }

}
/* =========================================================
   LITTERS / VRHY
   ========================================================= */


.litters-intro {
    padding: 120px 0;
    text-align: center;
    background-color: #faf7f5;
}

.litters-intro h2 {
    margin-bottom: 35px;
    font-family: Georgia, serif;
    font-size: clamp(40px, 5vw, 65px);
    font-weight: normal;
    line-height: 1.2;
    color: #493b3b;
}

.litters-intro p:not(.section-label) {
    max-width: 760px;
    margin: 0 auto 20px;
    color: #655858;
    line-height: 1.8;
}



/* ---------------------------------------------------------
   LITTER SECTION
   --------------------------------------------------------- */

.litters-section {
    padding: 120px 0;
    background-color: #f3e7e5;
}

.litters-section-alt {
    background-color: #faf7f5;
}


.litter-heading {
    text-align: center;
    margin-bottom: 60px;
}

.litter-heading h2 {
    margin-bottom: 15px;
    font-family: Georgia, serif;
    font-size: clamp(42px, 5vw, 68px);
    font-weight: normal;
    line-height: 1.15;
    color: #493b3b;
}

.litter-heading > p:last-child {
    margin: 0;
    font-family: Georgia, serif;
    font-size: 20px;
    color: #655858;
}



/* ---------------------------------------------------------
   PUPPY CARDS
   --------------------------------------------------------- */

.puppies-list {
    max-width: 900px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 25px;
}


.puppy-card {
    display: grid;
    grid-template-columns: 320px 1fr;
    background-color: #faf7f5;
    border: 1px solid #e7d9d5;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}


.puppy-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 35px rgba(73, 59, 59, 0.08);
}


.puppy-card-photo {
    min-height: 280px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 25px;
    background: linear-gradient(
        135deg,
        #ead7d2,
        #f4e8e4
    );
    color: #8b7772;
    text-align: center;
    font-size: 13px;
    letter-spacing: 1px;
}


.puppy-card-content {
    padding: 45px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}


.puppy-card-content h3 {
    margin: 5px 0 30px;
    font-family: Georgia, serif;
    font-size: 42px;
    font-weight: normal;
    color: #493b3b;
}


.puppy-card-content dl {
    margin: 0;
}


.puppy-card-content dl > div {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    padding: 12px 0;
    border-bottom: 1px solid #eadeda;
}


.puppy-card-content dt {
    color: #8a7975;
    font-size: 14px;
}


.puppy-card-content dd {
    margin: 0;
    color: #493b3b;
    text-align: right;
}


.puppy-status {
    display: inline-block;
    align-self: flex-start;
    margin-top: 25px;
    padding: 9px 15px;
    border: 1px solid #d8c2bc;
    color: #725d58;
    font-size: 13px;
    letter-spacing: 0.5px;
}



/* ---------------------------------------------------------
   LITTER LINK
   --------------------------------------------------------- */

.litter-link {
    margin-top: 45px;
    text-align: center;
}



/* ---------------------------------------------------------
   PREVIOUS LITTER
   --------------------------------------------------------- */

.past-litter-card {
    max-width: 900px;
    margin: 0 auto;
    padding: 45px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    background-color: #f3e7e5;
    border: 1px solid #e4d4d0;
}


.past-litter-card h3 {
    margin: 5px 0 15px;
    font-family: Georgia, serif;
    font-size: 38px;
    font-weight: normal;
    color: #493b3b;
}


.past-litter-card p:not(.section-label) {
    max-width: 600px;
    margin: 0;
    color: #655858;
    line-height: 1.7;
}


.text-link {
    flex-shrink: 0;
    color: #493b3b;
    text-decoration: none;
    font-size: 14px;
    letter-spacing: 0.5px;
    white-space: nowrap;
}


.text-link:hover {
    text-decoration: underline;
}



/* ---------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------- */

@media (max-width: 800px) {

    .litters-intro {
        padding: 90px 0;
    }


    .litters-section {
        padding: 90px 0;
    }


    .puppy-card {
        grid-template-columns: 1fr;
    }


    .puppy-card-photo {
        min-height: 300px;
    }


    .puppy-card-content {
        padding: 35px;
    }


    .past-litter-card {
        flex-direction: column;
        align-items: flex-start;
    }

}


@media (max-width: 600px) {

    .litter-heading {
        margin-bottom: 40px;
    }


    .puppy-card-photo {
        min-height: 240px;
    }


    .puppy-card-content {
        padding: 28px;
    }


    .puppy-card-content h3 {
        font-size: 34px;
    }


    .puppy-card-content dl > div {
        flex-direction: column;
        gap: 4px;
    }


    .puppy-card-content dd {
        text-align: left;
    }


    .past-litter-card {
        padding: 30px;
    }

}
/* =========================================================
   NAŠE VRHY
   ========================================================= */


/* ---------------------------------------------------------
   PLÁNOVOVANÉ VRHY
   --------------------------------------------------------- */

.planned-litters {
    padding: 110px 0;
    background-color: #faf7f5;
}

.planned-litters-inner {
    max-width: 850px;
    margin: 0 auto;
    text-align: center;
}

.planned-litters h2 {
    margin-bottom: 30px;
    font-family: Georgia, serif;
    font-size: clamp(40px, 5vw, 62px);
    font-weight: normal;
    line-height: 1.2;
    color: #493b3b;
}

.planned-litters p:not(.section-label) {
    max-width: 720px;
    margin: 0 auto 20px;
    color: #655858;
    line-height: 1.8;
}


/* hlavní informační karta */

.planned-litter-card {
    max-width: 850px;
    margin: 50px auto 0;
    padding: 45px;
    background-color: #f3e7e5;
    border: 1px solid #dfceca;
    text-align: center;
}

.planned-litter-card h3 {
    margin: 5px 0 20px;
    font-family: Georgia, serif;
    font-size: 32px;
    font-weight: normal;
    color: #493b3b;
}

.planned-litter-card p {
    max-width: 650px;
    margin: 0 auto;
    color: #655858;
    line-height: 1.8;
}


/* ---------------------------------------------------------
   SEKCE VRHŮ
   --------------------------------------------------------- */

.litters-section {
    padding: 120px 0;
    background-color: #f3e7e5;
}

.litters-section-alt {
    background-color: #faf7f5;
}


/* nadpis konkrétního vrhu */

.litter-heading {
    margin-bottom: 60px;
    text-align: center;
}

.litter-heading h2 {
    margin-bottom: 15px;
    font-family: Georgia, serif;
    font-size: clamp(42px, 5vw, 68px);
    font-weight: normal;
    line-height: 1.15;
    color: #493b3b;
}

.litter-heading > p:last-child {
    margin: 0;
    font-family: Georgia, serif;
    font-size: 20px;
    color: #655858;
}


/* ---------------------------------------------------------
   KARTY ŠTĚŇÁTEK
   --------------------------------------------------------- */

.puppies-list {
    max-width: 900px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 25px;
}


/* jednotlivá karta */

.puppy-card {
    display: grid;
    grid-template-columns: 320px 1fr;
    background-color: #faf7f5;
    border: 1px solid #e7d9d5;
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.puppy-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 35px rgba(73, 59, 59, 0.08);
}


/* fotografie */

.puppy-card-photo {
    min-height: 280px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 25px;
    background: linear-gradient(
        135deg,
        #ead7d2,
        #f4e8e4
    );
    color: #8b7772;
    text-align: center;
    font-size: 13px;
    letter-spacing: 1px;
}


/* informace */

.puppy-card-content {
    padding: 45px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.puppy-card-content h3 {
    margin: 5px 0 30px;
    font-family: Georgia, serif;
    font-size: 42px;
    font-weight: normal;
    color: #493b3b;
}


/* údaje */

.puppy-card-content dl {
    margin: 0;
}

.puppy-card-content dl > div {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    padding: 12px 0;
    border-bottom: 1px solid #eadeda;
}

.puppy-card-content dt {
    color: #8a7975;
    font-size: 14px;
}

.puppy-card-content dd {
    margin: 0;
    color: #493b3b;
    text-align: right;
}


/* stav štěněte */

.puppy-status {
    display: inline-block;
    align-self: flex-start;
    margin-top: 25px;
    padding: 9px 15px;
    border: 1px solid #d8c2bc;
    color: #725d58;
    font-size: 13px;
    letter-spacing: 0.5px;
}


/* ---------------------------------------------------------
   ODKAZ NA DETAIL VRHU
   --------------------------------------------------------- */

.litter-link {
    margin-top: 45px;
    text-align: center;
}


/* ---------------------------------------------------------
   PŘEDCHOZÍ VRHY
   --------------------------------------------------------- */

.past-litter-card {
    max-width: 900px;
    margin: 0 auto;
    padding: 45px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    background-color: #f3e7e5;
    border: 1px solid #e4d4d0;
}

.past-litter-card h3 {
    margin: 5px 0 15px;
    font-family: Georgia, serif;
    font-size: 38px;
    font-weight: normal;
    color: #493b3b;
}

.past-litter-card p:not(.section-label) {
    max-width: 600px;
    margin: 0;
    color: #655858;
    line-height: 1.7;
}

.text-link {
    flex-shrink: 0;
    color: #493b3b;
    text-decoration: none;
    font-size: 14px;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.text-link:hover {
    text-decoration: underline;
}


/* ---------------------------------------------------------
   MOBIL
   --------------------------------------------------------- */

@media (max-width: 800px) {

    .planned-litters {
        padding: 90px 0;
    }

    .planned-litter-card {
        padding: 35px;
    }

    .litters-section {
        padding: 90px 0;
    }

    .puppy-card {
        grid-template-columns: 1fr;
    }

    .puppy-card-photo {
        min-height: 300px;
    }

    .puppy-card-content {
        padding: 35px;
    }

    .past-litter-card {
        flex-direction: column;
        align-items: flex-start;
    }

}


@media (max-width: 600px) {

    .planned-litter-card {
        padding: 30px;
    }

    .litter-heading {
        margin-bottom: 40px;
    }

    .puppy-card-photo {
        min-height: 240px;
    }

    .puppy-card-content {
        padding: 28px;
    }

    .puppy-card-content h3 {
        font-size: 34px;
    }

    .puppy-card-content dl > div {
        flex-direction: column;
        gap: 4px;
    }

    .puppy-card-content dd {
        text-align: left;
    }

    .past-litter-card {
        padding: 30px;
    }

}
/* =========================================================
   VRHY – UPRAVENÉ ROZLOŽENÍ
   ========================================================= */


/* ---------------------------------------------------------
   PLÁNOVANÉ VRHY – JEN JEMNÁ INFORMAČNÍ LIŠTA
   --------------------------------------------------------- */

.planned-litters-info {
    padding: 35px 0;
    background-color: #faf7f5;
}

.planned-info-inner {
    max-width: 900px;
    margin: 0 auto;
    padding: 22px 30px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 25px;

    border-top: 1px solid #e4d4d0;
    border-bottom: 1px solid #e4d4d0;
}

.planned-info-inner .section-label {
    margin: 0;
    flex-shrink: 0;
}

.planned-info-inner p:last-child {
    margin: 0;
    color: #655858;
    line-height: 1.6;
}



/* ---------------------------------------------------------
   AKTUÁLNÍ VRH – VĚTŠÍ A VÝRAZNĚJŠÍ
   --------------------------------------------------------- */

.litters-section {
    padding: 140px 0;
}

.litter-heading {
    margin-bottom: 70px;
}


/* ---------------------------------------------------------
   KARTY ŠTĚŇÁTEK
   --------------------------------------------------------- */

.puppies-list {
    max-width: 1050px;
    margin: 0 auto;

    display: flex;
    flex-direction: column;
    gap: 30px;
}


.puppy-card {
    grid-template-columns: 450px 1fr;
}


/* větší prostor pro fotografii */

.puppy-card-photo {
    min-height: 400px;
}


/* trochu vzdušnější informace */

.puppy-card-content {
    padding: 55px;
}


.puppy-card-content h3 {
    font-size: 48px;
    margin-bottom: 35px;
}



/* ---------------------------------------------------------
   ODKAZ NA DETAIL VRHU
   --------------------------------------------------------- */

.litter-link {
    margin-top: 55px;
}



/* ---------------------------------------------------------
   PŘEDCHOZÍ VRHY
   --------------------------------------------------------- */

.litters-section-alt {
    padding: 100px 0;
}



/* ---------------------------------------------------------
   MOBIL
   --------------------------------------------------------- */

@media (max-width: 800px) {

    .planned-litters-info {
        padding: 30px 0;
    }

    .planned-info-inner {
        flex-direction: column;
        gap: 10px;
        padding: 20px;
        text-align: center;
    }


    .litters-section {
        padding: 100px 0;
    }


    .puppy-card {
        grid-template-columns: 1fr;
    }


    .puppy-card-photo {
        min-height: 380px;
    }


    .puppy-card-content {
        padding: 40px;
    }

}


@media (max-width: 600px) {

    .litters-section {
        padding: 80px 0;
    }


    .litter-heading {
        margin-bottom: 45px;
    }


    .puppy-card-photo {
        min-height: 280px;
    }


    .puppy-card-content {
        padding: 30px;
    }


    .puppy-card-content h3 {
        font-size: 38px;
    }

}
/* =========================================================
   PLÁNOVANÉ VRHY
   ========================================================= */

.planned-litters {
    padding: 100px 0;
    background-color: #faf7f5;
}


.planned-litter-box {
    max-width: 850px;
    margin: 0 auto;
    padding: 60px 70px;

    text-align: center;

    border: 1px solid #dfceca;
    background-color: #f3e7e5;
}


/* výrazný nadpis sekce */

.planned-litter-box .section-label {
    margin-bottom: 25px;

    font-size: 14px;
    letter-spacing: 3px;
}


/* Jaro 2027 */

.planned-litter-box h2 {
    margin: 0 0 25px;

    font-family: Georgia, serif;
    font-size: clamp(45px, 5vw, 65px);
    font-weight: normal;
    line-height: 1.2;

    color: #493b3b;
}


/* text */

.planned-litter-box p:not(.section-label) {
    max-width: 680px;
    margin: 0 auto 18px;

    color: #655858;
    line-height: 1.8;
}


/* poslední odstavec */

.planned-litter-box p:last-child {
    margin-bottom: 0;
}


/* ---------------------------------------------------------
   MOBIL
   --------------------------------------------------------- */

@media (max-width: 600px) {

    .planned-litters {
        padding: 70px 0;
    }

    .planned-litter-box {
        padding: 40px 25px;
    }

    .planned-litter-box .section-label {
        font-size: 12px;
        letter-spacing: 2px;
    }

}
/* =========================================================
   DETAIL VRHU
   ========================================================= */


/* ---------------------------------------------------------
   INTRO
   --------------------------------------------------------- */

.litter-detail-intro {
    padding: 100px 0;
    text-align: center;
    background-color: #faf7f5;
}

.litter-detail-intro h2 {
    margin: 10px 0 25px;

    font-family: Georgia, serif;
    font-size: clamp(42px, 5vw, 62px);
    font-weight: normal;

    color: #493b3b;
}

.litter-detail-intro p:not(.section-label) {
    max-width: 650px;
    margin: 0 auto;

    color: #655858;
    line-height: 1.8;
}



/* ---------------------------------------------------------
   SECTION HEADINGS
   --------------------------------------------------------- */

.litter-section-heading {
    margin-bottom: 60px;
    text-align: center;
}

.litter-section-heading h2 {
    margin: 5px 0 15px;

    font-family: Georgia, serif;
    font-size: clamp(42px, 5vw, 65px);
    font-weight: normal;
    line-height: 1.2;

    color: #493b3b;
}

.litter-section-heading > p:last-child {
    margin: 0;

    font-family: Georgia, serif;
    font-size: 19px;

    color: #655858;
}



/* ---------------------------------------------------------
   PARENTS
   --------------------------------------------------------- */

.litter-parents {
    padding: 130px 0;
    background-color: #f3e7e5;
}

.parents-grid {
    max-width: 1100px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}


.parent-card {
    background-color: #faf7f5;
    border: 1px solid #e7d9d5;
}


.parent-photo {
    min-height: 420px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 30px;

    background: linear-gradient(
        135deg,
        #ead7d2,
        #f4e8e4
    );

    color: #8b7772;
    text-align: center;
    font-size: 13px;
    letter-spacing: 1px;
}


.parent-content {
    padding: 45px;
}


.parent-content h3 {
    margin: 5px 0 5px;

    font-family: Georgia, serif;
    font-size: 42px;
    font-weight: normal;

    color: #493b3b;
}


.parent-name {
    margin: 0 0 30px;

    font-family: Georgia, serif;
    font-style: italic;

    color: #806f6b;
}


.parent-content dl {
    margin: 0 0 30px;
}


.parent-content dl > div {
    display: flex;
    justify-content: space-between;
    gap: 30px;

    padding: 12px 0;

    border-bottom: 1px solid #eadeda;
}


.parent-content dt {
    color: #8a7975;
    font-size: 14px;
}


.parent-content dd {
    margin: 0;

    color: #493b3b;
    text-align: right;
}



/* ---------------------------------------------------------
   PUPPY
   --------------------------------------------------------- */

.litter-puppies {
    padding: 140px 0;
    background-color: #faf7f5;
}


.litter-puppy-detail {
    max-width: 1100px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 1.15fr 0.85fr;

    background-color: #f3e7e5;
    border: 1px solid #e4d4d0;
}


.litter-puppy-gallery {
    padding: 25px;
}


.litter-puppy-main-photo {
    min-height: 560px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: linear-gradient(
        135deg,
        #ead7d2,
        #f4e8e4
    );

    color: #8b7772;
    text-align: center;
    font-size: 13px;
    letter-spacing: 1px;
}


.litter-puppy-thumbs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;

    margin-top: 10px;
}


.litter-puppy-thumbs > div {
    min-height: 120px;

    display: flex;
    align-items: center;
    justify-content: center;

    background-color: #ead7d2;

    color: #8b7772;
    text-align: center;
    font-size: 11px;
}


.litter-puppy-info {
    padding: 60px 50px;

    display: flex;
    flex-direction: column;
    justify-content: center;
}


.litter-puppy-info h3 {
    margin: 5px 0 35px;

    font-family: Georgia, serif;
    font-size: 50px;
    font-weight: normal;

    color: #493b3b;
}


.litter-puppy-info dl {
    margin: 0;
}


.litter-puppy-info dl > div {
    display: flex;
    justify-content: space-between;
    gap: 25px;

    padding: 13px 0;

    border-bottom: 1px solid #dfceca;
}


.litter-puppy-info dt {
    color: #8a7975;
    font-size: 14px;
}


.litter-puppy-info dd {
    margin: 0;

    color: #493b3b;
    text-align: right;
}


.litter-puppy-status {
    align-self: flex-start;

    margin-top: 30px;
    padding: 10px 18px;

    border: 1px solid #cdb5ae;

    color: #725d58;
    font-size: 13px;
    letter-spacing: 0.5px;
}



/* ---------------------------------------------------------
   GALLERY
   --------------------------------------------------------- */

.litter-gallery {
    padding: 130px 0;
    background-color: #f3e7e5;
}


.litter-gallery-grid {
    max-width: 1100px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}


.litter-gallery-grid > div {
    min-height: 300px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: linear-gradient(
        135deg,
        #ead7d2,
        #f4e8e4
    );

    color: #8b7772;
    text-align: center;
    font-size: 12px;
    letter-spacing: 1px;
}



/* ---------------------------------------------------------
   CONTACT
   --------------------------------------------------------- */

.litter-contact {
    padding: 130px 0;

    text-align: center;

    background-color: #faf7f5;
}


.litter-contact h2 {
    margin: 5px 0 30px;

    font-family: Georgia, serif;
    font-size: clamp(38px, 5vw, 58px);
    font-weight: normal;
    line-height: 1.2;

    color: #493b3b;
}


.litter-contact p:not(.section-label) {
    max-width: 700px;
    margin: 0 auto 25px;

    color: #655858;
    line-height: 1.8;
}


.litter-contact-buttons {
    margin-top: 40px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 35px;
}



/* ---------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------- */

@media (max-width: 800px) {

    .litter-parents,
    .litter-puppies,
    .litter-gallery,
    .litter-contact {
        padding: 90px 0;
    }


    .parents-grid {
        grid-template-columns: 1fr;
    }


    .parent-photo {
        min-height: 350px;
    }


    .litter-puppy-detail {
        grid-template-columns: 1fr;
    }


    .litter-puppy-main-photo {
        min-height: 450px;
    }


    .litter-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


@media (max-width: 600px) {

    .litter-detail-intro {
        padding: 75px 0;
    }


    .parent-content {
        padding: 30px;
    }


    .parent-content dl > div {
        flex-direction: column;
        gap: 4px;
    }


    .parent-content dd {
        text-align: left;
    }


    .litter-puppy-gallery {
        padding: 15px;
    }


    .litter-puppy-main-photo {
        min-height: 350px;
    }


    .litter-puppy-info {
        padding: 35px 25px;
    }


    .litter-puppy-info h3 {
        font-size: 40px;
    }


    .litter-puppy-info dl > div {
        flex-direction: column;
        gap: 4px;
    }


    .litter-puppy-info dd {
        text-align: left;
    }


    .litter-puppy-thumbs > div {
        min-height: 80px;
    }


    .litter-gallery-grid {
        grid-template-columns: 1fr;
    }


    .litter-gallery-grid > div {
        min-height: 260px;
    }


    .litter-contact-buttons {
        flex-direction: column;
        gap: 25px;
    }

}


/* =========================================================
   OPRAVA GALERIE VRHŮ A + B
   ========================================================= */

.litter-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.litter-gallery-grid > div {
    min-height: 300px;
}

@media (max-width: 800px) {
    .litter-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .litter-gallery-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   VRH C – VLASTNÍ STYLY
   ========================================================= */


/* ---------------------------------------------------------
   HERO
   --------------------------------------------------------- */

.c-litter-hero {
    position: relative;
    min-height: 620px;
    display: flex;
    align-items: flex-end;
    background-color: #f3e7e5;
}

.c-litter-hero-photo {
    position: absolute;
    inset: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    background: linear-gradient(
        135deg,
        #eadbd8,
        #f7efec
    );

    color: #8c7773;
    font-size: 11px;
    letter-spacing: 2px;
}

.c-litter-hero-content {
    position: relative;
    z-index: 2;

    width: 100%;
    padding: 100px 8% 90px;

    background: linear-gradient(
        to top,
        rgba(73, 59, 59, 0.38),
        transparent
    );

    color: white;
    text-align: center;
}

.c-litter-hero-content .section-label {
    color: white;
}

.c-litter-hero-content h1 {
    margin: 15px 0 15px;

    font-family: Georgia, serif;
    font-size: clamp(55px, 7vw, 90px);
    font-weight: normal;
    line-height: 1.05;
}

.c-litter-parents-line {
    margin: 0;

    font-family: Georgia, serif;
    font-size: 21px;
}


/* ---------------------------------------------------------
   INTRO
   --------------------------------------------------------- */

.c-litter-intro {
    padding: 120px 0;

    text-align: center;

    background-color: #faf7f5;
}

.c-litter-intro h2 {
    max-width: 850px;

    margin: 10px auto 35px;

    font-family: Georgia, serif;
    font-size: clamp(42px, 5vw, 65px);
    font-weight: normal;
    line-height: 1.2;

    color: #493b3b;
}

.c-litter-intro p:not(.section-label) {
    max-width: 720px;

    margin: 0 auto 18px;

    color: #655858;
    line-height: 1.8;
}


/* ---------------------------------------------------------
   NADPISY SEKCE
   --------------------------------------------------------- */

.c-section-heading {
    margin-bottom: 65px;

    text-align: center;
}

.c-section-heading h2 {
    margin: 8px 0 15px;

    font-family: Georgia, serif;
    font-size: clamp(42px, 5vw, 65px);
    font-weight: normal;
    line-height: 1.2;

    color: #493b3b;
}

.c-section-heading > p:last-child {
    margin: 0;

    color: #655858;
    line-height: 1.8;
}


/* ---------------------------------------------------------
   RODIČE
   --------------------------------------------------------- */

.c-litter-parents {
    padding: 130px 0;

    background-color: #f3e7e5;
}

.c-parents-grid {
    max-width: 1100px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

.c-parent-card {
    background-color: #faf7f5;

    border: 1px solid #e7d9d5;
}

.c-parent-photo {
    min-height: 420px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: linear-gradient(
        135deg,
        #ead7d2,
        #f4e8e4
    );

    color: #8b7772;
    text-align: center;

    font-size: 12px;
    letter-spacing: 1px;
}

.c-parent-content {
    padding: 45px;
}

.c-parent-content h3 {
    margin: 5px 0;

    font-family: Georgia, serif;
    font-size: 42px;
    font-weight: normal;

    color: #493b3b;
}

.c-parent-name {
    margin: 0 0 30px;

    font-family: Georgia, serif;
    font-style: italic;

    color: #806f6b;
}

.c-parent-content dl {
    margin: 0 0 30px;
}

.c-parent-content dl > div {
    display: flex;
    justify-content: space-between;
    gap: 30px;

    padding: 12px 0;

    border-bottom: 1px solid #eadeda;
}

.c-parent-content dt {
    color: #8a7975;
    font-size: 14px;
}

.c-parent-content dd {
    margin: 0;

    color: #493b3b;
    text-align: right;
}

.c-parent-text {
    margin: 0 0 30px;

    color: #655858;
    line-height: 1.8;
}


/* ---------------------------------------------------------
   ŠTĚŇÁTKA
   --------------------------------------------------------- */

.c-litter-puppies {
    padding: 140px 0;

    background-color: #faf7f5;
}

.c-puppies-list {
    max-width: 1050px;
    margin: 0 auto;

    display: flex;
    flex-direction: column;
    gap: 30px;
}

.c-puppy-card {
    display: grid;
    grid-template-columns: 450px 1fr;

    background-color: #f3e7e5;

    border: 1px solid #e4d4d0;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.c-puppy-card:hover {
    transform: translateY(-3px);

    box-shadow:
        0 15px 35px rgba(73, 59, 59, 0.08);
}

.c-puppy-photo {
    min-height: 420px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: linear-gradient(
        135deg,
        #ead7d2,
        #f4e8e4
    );

    color: #8b7772;
    text-align: center;

    font-size: 12px;
    letter-spacing: 1px;
}

.c-puppy-content {
    padding: 55px;

    display: flex;
    flex-direction: column;
    justify-content: center;
}

.c-puppy-content h3 {
    margin: 5px 0 35px;

    font-family: Georgia, serif;
    font-size: 48px;
    font-weight: normal;

    color: #493b3b;
}

.c-puppy-content dl {
    margin: 0;
}

.c-puppy-content dl > div {
    display: flex;
    justify-content: space-between;
    gap: 30px;

    padding: 13px 0;

    border-bottom: 1px solid #dfceca;
}

.c-puppy-content dt {
    color: #8a7975;
    font-size: 14px;
}

.c-puppy-content dd {
    margin: 0;

    color: #493b3b;
    text-align: right;
}

.c-puppy-status {
    align-self: flex-start;

    margin-top: 30px;
    padding: 10px 18px;

    border: 1px solid #cdb5ae;

    color: #725d58;
    font-size: 13px;
}


/* ---------------------------------------------------------
   GALERIE
   --------------------------------------------------------- */

.c-litter-gallery {
    padding: 130px 0;

    background-color: #f3e7e5;
}

.c-gallery-grid {
    max-width: 1100px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.c-gallery-grid > div {
    min-height: 300px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: linear-gradient(
        135deg,
        #ead7d2,
        #f4e8e4
    );

    color: #8b7772;
    text-align: center;

    font-size: 12px;
    letter-spacing: 1px;
}


/* ---------------------------------------------------------
   ZÁVĚR
   --------------------------------------------------------- */

.c-litter-closing {
    padding: 130px 0;

    text-align: center;

    background-color: #faf7f5;
}

.c-litter-closing h2 {
    max-width: 800px;

    margin: 8px auto 30px;

    font-family: Georgia, serif;
    font-size: clamp(40px, 5vw, 62px);
    font-weight: normal;
    line-height: 1.2;

    color: #493b3b;
}

.c-litter-closing p:not(.section-label) {
    max-width: 650px;

    margin: 0 auto;

    color: #655858;
    line-height: 1.8;
}

.c-closing-buttons {
    margin-top: 40px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 35px;
}


/* ---------------------------------------------------------
   MOBIL
   --------------------------------------------------------- */

@media (max-width: 800px) {

    .c-litter-hero {
        min-height: 600px;
    }

    .c-litter-hero-content {
        padding: 80px 30px 60px;
    }

    .c-parents-grid {
        grid-template-columns: 1fr;
    }

    .c-parent-photo {
        min-height: 350px;
    }

    .c-puppy-card {
        grid-template-columns: 1fr;
    }

    .c-puppy-photo {
        min-height: 380px;
    }

    .c-puppy-content {
        padding: 40px;
    }

    .c-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .c-litter-parents,
    .c-litter-puppies,
    .c-litter-gallery,
    .c-litter-closing {
        padding: 90px 0;
    }

}


@media (max-width: 600px) {

    .c-litter-hero {
        min-height: 500px;
    }

    .c-litter-hero-content {
        padding: 60px 25px 45px;
    }

    .c-litter-intro {
        padding: 80px 0;
    }

    .c-parent-content {
        padding: 30px;
    }

    .c-parent-content dl > div,
    .c-puppy-content dl > div {
        flex-direction: column;
        gap: 4px;
    }

    .c-parent-content dd,
    .c-puppy-content dd {
        text-align: left;
    }

    .c-puppy-content {
        padding: 30px;
    }

    .c-puppy-content h3 {
        font-size: 38px;
    }

    .c-gallery-grid {
        grid-template-columns: 1fr;
    }

    .c-gallery-grid > div {
        min-height: 260px;
    }

    .c-closing-buttons {
        flex-direction: column;
        gap: 25px;
    }

}
/* =========================================================
   NAŠE ODCHOVY
   ========================================================= */


.offspring-hero {
    min-height: 620px;
}


/* ---------------------------------------------------------
   ÚVOD
   --------------------------------------------------------- */

.offspring-intro {
    padding: 120px 0;
    background-color: #fffdfc;
}

.offspring-intro h2 {
    max-width: 800px;
    margin-bottom: 40px;

    font-family: Georgia, serif;
    font-size: clamp(40px, 5vw, 65px);
    font-weight: normal;
    line-height: 1.2;
    color: #493b3b;
}

.offspring-intro p:not(.section-label) {
    max-width: 760px;
    color: #655858;
    line-height: 1.8;
}


/* ---------------------------------------------------------
   PROFILY ODCHOVŮ
   --------------------------------------------------------- */

.offspring-profile {
    padding: 120px 0;
    background-color: #faf7f5;
}

.offspring-profile-alt {
    background-color: #fffdfc;
}


.offspring-heading {
    max-width: 1100px;
    margin: 0 auto 55px;

    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
}

.offspring-heading h2 {
    margin: 10px 0 0;

    font-family: Georgia, serif;
    font-size: clamp(48px, 6vw, 72px);
    font-weight: normal;
    line-height: 1.1;
    color: #493b3b;
}

.offspring-status {
    margin: 0 0 8px;

    color: #655858;
    font-size: 14px;
    letter-spacing: 1px;
}


/* ---------------------------------------------------------
   ROZLOŽENÍ
   --------------------------------------------------------- */

.offspring-layout {
    max-width: 1100px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 70px;

    align-items: center;
}


/* ---------------------------------------------------------
   GALERIE
   --------------------------------------------------------- */

.offspring-gallery {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.offspring-photo {
    min-height: 230px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: linear-gradient(
        135deg,
        #eadbd8,
        #f7efec
    );

    color: #8c7773;
    font-size: 11px;
    letter-spacing: 2px;
    text-align: center;
}

.offspring-photo-large {
    grid-column: 1 / -1;
    min-height: 500px;
}


/* ---------------------------------------------------------
   TEXT
   --------------------------------------------------------- */

.offspring-content {
    max-width: 500px;
}

.offspring-content h3 {
    margin: 15px 0 30px;

    font-family: Georgia, serif;
    font-size: 42px;
    font-weight: normal;
    line-height: 1.2;
    color: #493b3b;
}

.offspring-content p:not(.section-label) {
    margin-bottom: 20px;

    color: #655858;
    line-height: 1.8;
}

.offspring-content .text-link {
    display: inline-block;
    margin-top: 15px;
}

.offspring-placeholder-text {
    padding: 20px 25px;

    background-color: #f3e7e5;
    border-left: 2px solid #dfceca;

    font-size: 14px;
}


/* ---------------------------------------------------------
   ZÁVĚR
   --------------------------------------------------------- */

.offspring-closing {
    padding: 120px 0;
    text-align: center;
    background-color: #f3e7e5;
}

.offspring-closing h2 {
    max-width: 850px;
    margin: 15px auto 30px;

    font-family: Georgia, serif;
    font-size: clamp(42px, 5vw, 62px);
    font-weight: normal;
    line-height: 1.2;
    color: #493b3b;
}

.offspring-closing p:not(.section-label) {
    max-width: 650px;
    margin: 0 auto;

    color: #655858;
    line-height: 1.8;
}


/* ---------------------------------------------------------
   MOBIL
   --------------------------------------------------------- */

@media (max-width: 800px) {

    .offspring-intro,
    .offspring-profile,
    .offspring-closing {
        padding: 90px 0;
    }

    .offspring-heading {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 40px;
    }

    .offspring-layout {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .offspring-content {
        max-width: none;
    }

    .offspring-photo-large {
        min-height: 400px;
    }

}


@media (max-width: 600px) {

    .offspring-intro,
    .offspring-profile,
    .offspring-closing {
        padding: 70px 0;
    }

    .offspring-gallery {
        grid-template-columns: 1fr;
    }

    .offspring-photo-large {
        grid-column: auto;
        min-height: 350px;
    }

    .offspring-photo {
        min-height: 220px;
    }

    .offspring-content h3 {
        font-size: 36px;
    }

}
/* =========================================================
   KONTAKT
   ========================================================= */


.contact-hero {
    min-height: 620px;
}


/* ---------------------------------------------------------
   HLAVNÍ KONTAKT
   --------------------------------------------------------- */

.contact-main {
    padding: 120px 0;
    background-color: #fffdfc;
}

.contact-layout {
    max-width: 1100px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 1fr 0.8fr;
    gap: 100px;

    align-items: center;
}


.contact-intro {
    max-width: 600px;
}

.contact-intro h2 {
    max-width: 600px;
    margin: 15px 0 35px;

    font-family: Georgia, serif;
    font-size: clamp(40px, 5vw, 65px);
    font-weight: normal;
    line-height: 1.2;
    color: #493b3b;
}

.contact-intro p:not(.section-label) {
    max-width: 560px;
    margin-bottom: 20px;

    color: #655858;
    line-height: 1.8;
}


/* ---------------------------------------------------------
   KONTAKTNÍ ÚDAJE
   --------------------------------------------------------- */

.contact-details {
    border-top: 1px solid #dfceca;
}

.contact-item {
    padding: 30px 0;
    border-bottom: 1px solid #dfceca;
}

.contact-item > span {
    display: block;
    margin-bottom: 12px;

    color: #9b7772;
    font-size: 11px;
    letter-spacing: 3px;
}

.contact-item > a {
    color: #493b3b;
    font-family: Georgia, serif;
    font-size: 21px;
    text-decoration: none;
}

.contact-item > a:hover {
    text-decoration: underline;
}

.contact-item p {
    margin: 8px 0 0;

    color: #8c7773;
    font-size: 14px;
}


.contact-socials {
    display: flex;
    gap: 30px;
}

.contact-socials .text-link {
    font-family: inherit;
    font-size: 14px;
}


/* ---------------------------------------------------------
   ŠTĚŇÁTKA
   --------------------------------------------------------- */

.contact-puppies {
    padding: 120px 0;
    background-color: #faf7f5;
    text-align: center;
}

.contact-puppies h2 {
    max-width: 800px;
    margin: 15px auto 30px;

    font-family: Georgia, serif;
    font-size: clamp(40px, 5vw, 65px);
    font-weight: normal;
    line-height: 1.2;
    color: #493b3b;
}

.contact-puppies p:not(.section-label) {
    max-width: 700px;
    margin: 0 auto 20px;

    color: #655858;
    line-height: 1.8;
}

.contact-puppies .button {
    display: inline-block;
    margin-top: 20px;
}


/* ---------------------------------------------------------
   ZÁVĚR
   --------------------------------------------------------- */

.contact-closing {
    padding: 120px 0;
    text-align: center;
    background-color: #f3e7e5;
}

.contact-closing h2 {
    max-width: 850px;
    margin: 15px auto 30px;

    font-family: Georgia, serif;
    font-size: clamp(42px, 5vw, 62px);
    font-weight: normal;
    line-height: 1.2;
    color: #493b3b;
}

.contact-closing p:not(.section-label) {
    color: #655858;
    line-height: 1.8;
}


/* ---------------------------------------------------------
   MOBIL
   --------------------------------------------------------- */

@media (max-width: 800px) {

    .contact-main,
    .contact-puppies,
    .contact-closing {
        padding: 90px 0;
    }

    .contact-layout {
        grid-template-columns: 1fr;
        gap: 60px;
    }

}


@media (max-width: 600px) {

    .contact-main,
    .contact-puppies,
    .contact-closing {
        padding: 70px 0;
    }

    .contact-socials {
        flex-direction: column;
        gap: 15px;
    }

}
/* ========================================
   KONTAKT – SOCIÁLNÍ SÍTĚ
   ======================================== */

.contact-socials {
    display: flex;
    gap: 18px;
    margin-top: 25px;
}

.contact-socials .text-link {
    display: inline-flex;
    align-items: center;
    padding: 13px 22px;
    border: 1px solid #d9c3be;
    color: #493b3b;
    font-family: Georgia, serif;
    font-size: 18px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.contact-socials .text-link:hover {
    background-color: #f3e7e5;
    border-color: #c9aaa4;
    text-decoration: none;
}

.contact-item:has(.contact-socials) {
    padding-top: 30px;
    padding-bottom: 35px;
}

@media (max-width: 600px) {
    .contact-socials {
        flex-direction: column;
        gap: 12px;
    }

    .contact-socials .text-link {
        justify-content: center;
    }
}
/* ========================================
   REZERVACE ŠTĚŇÁTKA
   ======================================== */

.reservation-hero {
    min-height: 620px;
}

.reservation-main {
    background-color: #fffdfc;
}

.reservation-intro {
    padding: 120px 0 100px;
    text-align: center;
}

.reservation-intro h2 {
    max-width: 850px;
    margin: 15px auto 35px;
    font-family: Georgia, serif;
    font-size: clamp(40px, 5vw, 65px);
    font-weight: normal;
    line-height: 1.2;
    color: #493b3b;
}

.reservation-intro p:not(.section-label) {
    max-width: 720px;
    margin: 0 auto 20px;
    color: #655858;
    line-height: 1.8;
}

.reservation-intro .highlight {
    max-width: 760px;
    margin: 35px auto 0;
    font-family: Georgia, serif;
    font-size: 21px;
    line-height: 1.7;
    color: #493b3b;
}


/* ========================================
   JEDNOTLIVÉ KROKY
   ======================================== */

.reservation-steps {
    padding: 110px 0;
    background-color: #faf7f5;
}

.reservation-step {
    max-width: 900px;
    margin: 0 auto;
    padding: 65px 0;
    border-top: 1px solid #dfceca;
}

.reservation-step:last-child {
    border-bottom: 1px solid #dfceca;
}

.reservation-step-number {
    margin-bottom: 18px;
    color: #9b7772;
    font-size: 11px;
    letter-spacing: 3px;
}

.reservation-step h2 {
    max-width: 700px;
    margin: 0 0 25px;
    font-family: Georgia, serif;
    font-size: clamp(32px, 4vw, 48px);
    font-weight: normal;
    line-height: 1.2;
    color: #493b3b;
}

.reservation-step p {
    max-width: 720px;
    margin-bottom: 20px;
    color: #655858;
    line-height: 1.8;
}

.reservation-step strong {
    color: #493b3b;
    font-weight: normal;
}


/* ========================================
   ZDŮRAZNĚNÁ ČÁST – REZERVAČNÍ POPLATEK
   ======================================== */

.reservation-fee {
    margin-top: 35px;
    padding: 30px 35px;
    border-left: 2px solid #c9aaa4;
    background-color: #fffdfc;
}

.reservation-fee p {
    margin-bottom: 12px;
}

.reservation-fee p:last-child {
    margin-bottom: 0;
}


/* ========================================
   VĚK ODCHODU
   ======================================== */

.reservation-age {
    padding: 120px 0;
    background-color: #f3e7e5;
    text-align: center;
}

.reservation-age h2 {
    max-width: 850px;
    margin: 15px auto 30px;
    font-family: Georgia, serif;
    font-size: clamp(40px, 5vw, 62px);
    font-weight: normal;
    line-height: 1.2;
    color: #493b3b;
}

.reservation-age p:not(.section-label) {
    max-width: 720px;
    margin: 0 auto 20px;
    color: #655858;
    line-height: 1.8;
}

.reservation-age .age-highlight {
    max-width: 700px;
    margin: 35px auto 0;
    font-family: Georgia, serif;
    font-size: 23px;
    line-height: 1.6;
    color: #493b3b;
}


/* ========================================
   ZÁVĚR
   ======================================== */

.reservation-closing {
    padding: 120px 0;
    text-align: center;
    background-color: #fffdfc;
}

.reservation-closing h2 {
    max-width: 850px;
    margin: 15px auto 30px;
    font-family: Georgia, serif;
    font-size: clamp(40px, 5vw, 62px);
    font-weight: normal;
    line-height: 1.2;
    color: #493b3b;
}

.reservation-closing p:not(.section-label) {
    max-width: 720px;
    margin: 0 auto 20px;
    color: #655858;
    line-height: 1.8;
}

.reservation-closing blockquote {
    max-width: 850px;
    margin: 55px auto 0;
    font-family: Georgia, serif;
    font-size: clamp(28px, 4vw, 42px);
    font-style: normal;
    line-height: 1.4;
    color: #493b3b;
}


/* ========================================
   ODKAZY NA DALŠÍ INFORMACE
   ======================================== */

.reservation-links {
    padding: 80px 0;
    background-color: #faf7f5;
}

.reservation-links-grid {
    max-width: 1000px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.reservation-link {
    display: block;
    padding: 35px 30px;
    border: 1px solid #dfceca;
    background-color: #fffdfc;
    text-decoration: none;
    transition: all 0.3s ease;
}

.reservation-link:hover {
    background-color: #f3e7e5;
    border-color: #c9aaa4;
}

.reservation-link span {
    display: block;
    margin-bottom: 12px;
    color: #9b7772;
    font-size: 10px;
    letter-spacing: 2.5px;
}

.reservation-link strong {
    font-family: Georgia, serif;
    font-size: 21px;
    font-weight: normal;
    color: #493b3b;
}


/* ========================================
   MOBIL
   ======================================== */

@media (max-width: 800px) {

    .reservation-intro,
    .reservation-steps,
    .reservation-age,
    .reservation-closing {
        padding: 90px 0;
    }

    .reservation-step {
        padding: 50px 0;
    }

    .reservation-links-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {

    .reservation-intro,
    .reservation-steps,
    .reservation-age,
    .reservation-closing {
        padding: 70px 0;
    }

    .reservation-fee {
        padding: 25px;
    }

    .reservation-links {
        padding: 60px 0;
    }
}
/* ========================================
   REZERVACE – VĚK ODCHODU
   ======================================== */

.reservation-age {
    padding: 0;
    background-color: #fffdfc;
    text-align: left;
}

.reservation-age .container {
    max-width: 900px;
    margin: 0 auto;
}

.reservation-age .reservation-age-inner {
    padding: 65px 0;
    border-top: 1px solid #dfceca;
}

.reservation-age h2 {
    max-width: 700px;
    margin: 0 0 25px;
    font-family: Georgia, serif;
    font-size: clamp(32px, 4vw, 48px);
    font-weight: normal;
    line-height: 1.2;
    color: #493b3b;
}

.reservation-age p:not(.section-label) {
    max-width: 720px;
    margin: 0 0 20px;
    color: #655858;
    line-height: 1.8;
}

.reservation-age .age-highlight {
    max-width: 700px;
    margin-top: 35px;
    font-family: Georgia, serif;
    font-size: 21px;
    line-height: 1.7;
    color: #493b3b;
}

@media (max-width: 800px) {
    .reservation-age .reservation-age-inner {
        padding: 50px 0;
    }
}

@media (max-width: 600px) {
    .reservation-age .reservation-age-inner {
        padding: 45px 0;
    }
}
/* =========================================================
   ČEKACÍ LISTINA
   ========================================================= */

.waitlist-hero {
    min-height: 620px;
}

.waitlist-intro {
    padding: 120px 0 100px;
    background-color: #fffdfc;
    text-align: center;
}

.waitlist-intro h2 {
    max-width: 850px;
    margin: 15px auto 35px;
    font-family: Georgia, serif;
    font-size: clamp(40px, 5vw, 65px);
    font-weight: normal;
    line-height: 1.2;
    color: #493b3b;
}

.waitlist-intro p:not(.section-label) {
    max-width: 720px;
    margin: 0 auto 20px;
    color: #655858;
    line-height: 1.8;
}

.waitlist-intro .highlight {
    max-width: 780px;
    margin: 35px auto 0;
    font-family: Georgia, serif;
    font-size: 21px;
    line-height: 1.7;
    color: #493b3b;
}


/* =========================================================
   KROKY
   ========================================================= */

.waitlist-steps {
    padding: 110px 0;
    background-color: #faf7f5;
}

.waitlist-step {
    max-width: 900px;
    margin: 0 auto;
    padding: 65px 0;
    border-top: 1px solid #dfceca;
}

.waitlist-step:last-child {
    border-bottom: 1px solid #dfceca;
}

.waitlist-step-number {
    margin-bottom: 18px;
    color: #9b7772;
    font-size: 11px;
    letter-spacing: 3px;
}

.waitlist-step h2 {
    max-width: 720px;
    margin: 0 0 25px;
    font-family: Georgia, serif;
    font-size: clamp(32px, 4vw, 48px);
    font-weight: normal;
    line-height: 1.2;
    color: #493b3b;
}

.waitlist-step p {
    max-width: 720px;
    margin-bottom: 20px;
    color: #655858;
    line-height: 1.8;
}

.waitlist-step strong {
    color: #493b3b;
    font-weight: normal;
}


/* =========================================================
   ZÁVĚR
   ========================================================= */

.waitlist-closing {
    padding: 120px 0;
    background-color: #fffdfc;
    text-align: center;
}

.waitlist-closing h2 {
    max-width: 850px;
    margin: 15px auto 30px;
    font-family: Georgia, serif;
    font-size: clamp(40px, 5vw, 62px);
    font-weight: normal;
    line-height: 1.2;
    color: #493b3b;
}

.waitlist-closing p:not(.section-label) {
    max-width: 720px;
    margin: 0 auto 20px;
    color: #655858;
    line-height: 1.8;
}


/* =========================================================
   CTA – CHCETE SE PŘIDAT?
   ========================================================= */

.waitlist-cta {
    padding: 100px 0;
    background-color: #f3e7e5;
    text-align: center;
}

.waitlist-cta h2 {
    max-width: 800px;
    margin: 15px auto 30px;
    font-family: Georgia, serif;
    font-size: clamp(38px, 5vw, 58px);
    font-weight: normal;
    line-height: 1.2;
    color: #493b3b;
}

.waitlist-cta p:not(.section-label) {
    max-width: 680px;
    margin: 0 auto 25px;
    color: #655858;
    line-height: 1.8;
}

.waitlist-cta .button {
    display: inline-block;
    margin-top: 15px;
}


/* =========================================================
   MOBIL
   ========================================================= */

@media (max-width: 800px) {

    .waitlist-intro,
    .waitlist-steps,
    .waitlist-closing {
        padding: 90px 0;
    }

    .waitlist-cta {
        padding: 80px 0;
    }

    .waitlist-step {
        padding: 50px 0;
    }
}


@media (max-width: 600px) {

    .waitlist-intro,
    .waitlist-steps,
    .waitlist-closing {
        padding: 70px 0;
    }

    .waitlist-cta {
        padding: 70px 0;
    }

    .waitlist-step {
        padding: 45px 0;
    }
}
/* =========================================================
   CENA ŠTĚŇÁTKA
   ========================================================= */

.price-hero {
    min-height: 620px;
}


/* ÚVOD */

.price-intro {
    padding: 120px 0 100px;
    background-color: #fffdfc;
    text-align: center;
}

.price-intro h2 {
    max-width: 850px;
    margin: 15px auto 35px;
    font-family: Georgia, serif;
    font-size: clamp(40px, 5vw, 65px);
    font-weight: normal;
    line-height: 1.2;
    color: #493b3b;
}

.price-intro p:not(.section-label) {
    max-width: 720px;
    margin: 0 auto 20px;
    color: #655858;
    line-height: 1.8;
}

.price-highlight {
    max-width: 760px;
    margin: 40px auto 0;
    padding: 35px;
    border-top: 1px solid #dfceca;
    border-bottom: 1px solid #dfceca;
}

.price-highlight span {
    display: block;
    margin-bottom: 12px;
    color: #9b7772;
    font-size: 11px;
    letter-spacing: 3px;
}

.price-highlight strong {
    display: block;
    font-family: Georgia, serif;
    font-size: 38px;
    font-weight: normal;
    color: #493b3b;
}


/* CO JE V CENĚ */

.price-included {
    padding: 110px 0;
    background-color: #faf7f5;
}

.price-section-heading {
    max-width: 800px;
    margin: 0 auto 70px;
    text-align: center;
}

.price-section-heading h2 {
    margin: 15px 0 0;
    font-family: Georgia, serif;
    font-size: clamp(40px, 5vw, 62px);
    font-weight: normal;
    line-height: 1.2;
    color: #493b3b;
}

.price-items {
    max-width: 1000px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1px;
    background-color: #dfceca;
}

.price-item {
    padding: 40px 45px;
    background-color: #fffdfc;
}

.price-item span {
    display: block;
    margin-bottom: 15px;
    color: #9b7772;
    font-size: 11px;
    letter-spacing: 2.5px;
}

.price-item h3 {
    margin: 0 0 15px;
    font-family: Georgia, serif;
    font-size: 26px;
    font-weight: normal;
    color: #493b3b;
}

.price-item p {
    margin: 0;
    color: #655858;
    line-height: 1.8;
}


/* HLEDÁTE NEJNIŽŠÍ CENU */

.price-choice {
    padding: 120px 0;
    background-color: #fffdfc;
    text-align: center;
}

.price-choice h2 {
    max-width: 850px;
    margin: 15px auto 30px;
    font-family: Georgia, serif;
    font-size: clamp(40px, 5vw, 62px);
    font-weight: normal;
    line-height: 1.2;
    color: #493b3b;
}

.price-choice p:not(.section-label) {
    max-width: 720px;
    margin: 0 auto 20px;
    color: #655858;
    line-height: 1.8;
}


/* JEDNOTLIVÉ ŠTĚNĚ */

.price-individual {
    padding: 110px 0;
    background-color: #faf7f5;
}

.price-individual-inner {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.price-individual h2 {
    max-width: 800px;
    margin: 15px auto 30px;
    font-family: Georgia, serif;
    font-size: clamp(40px, 5vw, 60px);
    font-weight: normal;
    line-height: 1.2;
    color: #493b3b;
}

.price-individual p {
    max-width: 720px;
    margin: 0 auto 20px;
    color: #655858;
    line-height: 1.8;
}


/* REZERVAČNÍ POPLATEK */

.price-reservation {
    padding: 110px 0;
    background-color: #fffdfc;
}

.price-reservation-inner {
    max-width: 900px;
    margin: 0 auto;
}

.price-reservation h2 {
    max-width: 800px;
    margin: 15px 0 30px;
    font-family: Georgia, serif;
    font-size: clamp(40px, 5vw, 60px);
    font-weight: normal;
    line-height: 1.2;
    color: #493b3b;
}

.price-reservation p {
    max-width: 720px;
    margin-bottom: 20px;
    color: #655858;
    line-height: 1.8;
}

.price-reservation-box {
    margin-top: 35px;
    padding: 30px 35px;
    border-left: 2px solid #c9aaa4;
    background-color: #faf7f5;
}

.price-reservation-box p {
    margin-bottom: 12px;
}

.price-reservation-box p:last-child {
    margin-bottom: 0;
}


/* ZÁVĚR */

.price-closing {
    padding: 120px 0;
    background-color: #f3e7e5;
    text-align: center;
}

.price-closing h2 {
    max-width: 850px;
    margin: 15px auto 30px;
    font-family: Georgia, serif;
    font-size: clamp(40px, 5vw, 62px);
    font-weight: normal;
    line-height: 1.2;
    color: #493b3b;
}

.price-closing p:not(.section-label) {
    max-width: 720px;
    margin: 0 auto 20px;
    color: #655858;
    line-height: 1.8;
}

.price-closing .button {
    display: inline-block;
    margin-top: 20px;
}


/* MOBIL */

@media (max-width: 800px) {

    .price-intro,
    .price-included,
    .price-choice,
    .price-individual,
    .price-reservation,
    .price-closing {
        padding: 90px 0;
    }

    .price-items {
        grid-template-columns: 1fr;
    }

    .price-item {
        padding: 35px 30px;
    }
}

@media (max-width: 600px) {

    .price-intro,
    .price-included,
    .price-choice,
    .price-individual,
    .price-reservation,
    .price-closing {
        padding: 70px 0;
    }

    .price-highlight {
        padding: 30px 20px;
    }

    .price-highlight strong {
        font-size: 32px;
    }
}
/* =========================================================
   PUPPY HOME / CO SI ŠTĚŇÁTKO ODNESE DOMŮ
   ========================================================= */

.puppy-home-hero {
    min-height: 620px;
}


/* INTRO */

.puppy-home-intro {
    padding: 120px 0 105px;
    background: #fffdfc;
    text-align: center;
}

.puppy-home-intro .container {
    max-width: 850px;
    margin: 0 auto;
}

.puppy-home-intro h2 {
    max-width: 850px;
    margin: 15px auto 35px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(40px, 5vw, 64px);
    line-height: 1.12;
    font-weight: 400;
    color: #493b3b;
}

.puppy-home-intro p:not(.section-label) {
    max-width: 720px;
    margin: 0 auto 20px;
    color: #655858;
    line-height: 1.8;
}


/* TEXT SECTIONS */

.puppy-home-routine,
.puppy-home-safety,
.puppy-home-place {
    padding: 110px 0;
}

.puppy-home-routine {
    background: #faf7f5;
}

.puppy-home-safety {
    background: #fffdfc;
}

.puppy-home-place {
    background: #f5ebe8;
}

.puppy-home-section-heading {
    max-width: 850px;
    margin: 0 auto 45px;
    text-align: center;
}

.puppy-home-section-heading h2 {
    max-width: 850px;
    margin: 15px auto 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(38px, 4.8vw, 60px);
    line-height: 1.15;
    font-weight: 400;
    color: #493b3b;
}

.puppy-home-text {
    max-width: 760px;
    margin: 0 auto;
}

.puppy-home-text p {
    margin: 0 0 22px;
    color: #655858;
    line-height: 1.85;
}

.puppy-home-text p:last-child {
    margin-bottom: 0;
}

.puppy-home-text strong {
    color: #493b3b;
    font-weight: 600;
}


/* WHAT THE PUPPY TAKES HOME */

.puppy-home-kit {
    padding: 115px 0;
    background: #fffdfc;
}

.puppy-home-kit .puppy-home-section-heading {
    margin-bottom: 65px;
}

.puppy-home-items {
    max-width: 950px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1px;
    background: #e8dcda;
}

.puppy-home-item {
    padding: 42px 45px;
    background: #fffdfc;
}

.puppy-home-item span {
    display: block;
    margin-bottom: 18px;
    font-size: 12px;
    letter-spacing: 0.18em;
    color: #a88987;
}

.puppy-home-item h3 {
    margin: 0 0 13px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 27px;
    font-weight: 400;
    color: #493b3b;
}

.puppy-home-item p {
    margin: 0;
    color: #655858;
    line-height: 1.75;
}


/* SUPPORT */

.puppy-home-support {
    padding: 125px 20px;
    background: linear-gradient(
        135deg,
        #f5e6e3 0%,
        #fbf2ef 50%,
        #f2e3df 100%
    );
    text-align: center;
}

.puppy-home-support .container {
    max-width: 760px;
    margin: 0 auto;
}

.puppy-home-support h2 {
    margin: 15px auto 35px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(42px, 5vw, 64px);
    line-height: 1.12;
    font-weight: 400;
    color: #493b3b;
}

.puppy-home-support p:not(.section-label) {
    max-width: 700px;
    margin: 0 auto 20px;
    color: #655858;
    line-height: 1.85;
}

.puppy-home-support-final {
    margin-top: 35px !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
    color: #493b3b !important;
}

.puppy-home-support .btn-primary {
    display: inline-block;
    margin-top: 30px;
}


/* RESPONSIVE */

@media (max-width: 768px) {

    .puppy-home-intro,
    .puppy-home-routine,
    .puppy-home-safety,
    .puppy-home-place,
    .puppy-home-kit {
        padding: 80px 20px;
    }

    .puppy-home-items {
        grid-template-columns: 1fr;
    }

    .puppy-home-item {
        padding: 35px 30px;
    }

    .puppy-home-support {
        padding: 90px 20px;
    }

}

@media (max-width: 480px) {

    .puppy-home-intro h2,
    .puppy-home-section-heading h2 {
        font-size: 38px;
    }

    .puppy-home-item h3 {
        font-size: 25px;
    }

    .puppy-home-support-final {
        font-size: 21px;
    }

}
/* =========================================================
   NOVINKY
   ========================================================= */

.news-hero {
    min-height: 620px;
}


/* INTRO */

.news-intro {
    padding: 120px 0 105px;
    background: #fffdfc;
    text-align: center;
}

.news-intro h2 {
    max-width: 850px;
    margin: 15px auto 35px;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(40px, 5vw, 64px);
    line-height: 1.12;
    font-weight: 400;

    color: #493b3b;
}

.news-intro p:not(.section-label) {
    max-width: 720px;
    margin: 0 auto 20px;

    color: #655858;
    line-height: 1.8;
}


/* NEWS LIST */

.news-list {
    padding: 110px 0;

    background: #faf7f5;
}

.news-article {
    max-width: 1100px;
    margin: 0 auto 100px;

    display: grid;
    grid-template-columns: 1fr 1fr;

    background: #fffdfc;
}

.news-article:last-child {
    margin-bottom: 0;
}

.news-article-reverse {
    direction: rtl;
}

.news-article-reverse > * {
    direction: ltr;
}


/* IMAGE */

.news-article-image {
    min-height: 520px;

    display: flex;
    align-items: center;
    justify-content: center;

    background:
        linear-gradient(
            135deg,
            #e9d5d2 0%,
            #f3e5e2 50%,
            #dfc7c4 100%
        );

    color: #ffffff;

    font-size: 11px;
    letter-spacing: 0.2em;
}


/* CONTENT */

.news-article-content {
    padding: 70px 65px;

    display: flex;
    flex-direction: column;
    justify-content: center;
}

.news-meta {
    display: flex;
    gap: 20px;
    margin-bottom: 25px;

    font-size: 10px;
    letter-spacing: 0.16em;
    text-transform: uppercase;

    color: #a88987;
}

.news-article-content h2 {
    margin: 0 0 30px;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(34px, 4vw, 50px);
    line-height: 1.15;
    font-weight: 400;

    color: #493b3b;
}

.news-article-content p {
    margin: 0 0 20px;

    color: #655858;
    line-height: 1.8;
}

.news-article-content .text-link {
    margin-top: 10px;
}


/* CLOSING */

.news-closing {
    padding: 120px 0;

    background: #f3e7e5;

    text-align: center;
}

.news-closing h2 {
    max-width: 850px;
    margin: 15px auto 30px;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(40px, 5vw, 62px);
    line-height: 1.12;
    font-weight: 400;

    color: #493b3b;
}

.news-closing p:not(.section-label) {
    max-width: 700px;
    margin: 0 auto;

    color: #655858;
    line-height: 1.8;
}


/* MOBILE */

@media (max-width: 800px) {

    .news-intro,
    .news-list,
    .news-closing {
        padding: 80px 20px;
    }

    .news-article,
    .news-article-reverse {
        grid-template-columns: 1fr;
        direction: ltr;
    }

    .news-article-image {
        min-height: 350px;
    }

    .news-article-content {
        padding: 45px 35px;
    }

}


@media (max-width: 600px) {

    .news-article-image {
        min-height: 280px;
    }

    .news-article-content {
        padding: 35px 25px;
    }

    .news-meta {
        flex-direction: column;
        gap: 8px;
    }

}
/* LOGO V HLAVIČCE */

.header-logo {
    width: 55px;
    height: 55px;
    object-fit: contain;
    display: block;
}

.logo {
    display: flex;
    align-items: center;
    gap: 12px;
}

.logo-name,
.logo-subtitle {
    display: block;
}
/* =========================================================
   HEADER LOGO – UPRAVENÁ VERZE
   ========================================================= */

.site-header .logo {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 18px !important;
}

.site-header .header-logo {
    width: 105px !important;
    height: 105px !important;
    object-fit: contain !important;
    flex-shrink: 0 !important;
}

.site-header .logo-text {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.site-header .logo-name {
    display: block !important;
}

.site-header .logo-subtitle {
    display: block !important;
}
/* NOVINKY – GALERIE V ČLÁNKU */

.news-article-gallery {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    margin-top: 30px;
}

.news-gallery-image {
    min-height: 260px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: linear-gradient(
        135deg,
        #e9d5d2 0%,
        #f3e5e2 50%,
        #dfc7c4 100%
    );

    color: #ffffff;

    font-size: 11px;
    letter-spacing: 0.2em;
}

@media (max-width: 600px) {

    .news-article-gallery {
        grid-template-columns: 1fr;
    }

}
/* =========================================================
   NOVINKA – ČLÁNEK S FOTOGRAFIEMI POD TEXTEM
   ========================================================= */

.news-article-single {
    display: block;
}

.news-article-single .news-article-content {
    padding: 70px 75px;
}

.news-article-single .news-article-content > p {
    max-width: 800px;
}


/* FOTOGRAFIE */

.news-article-single .news-article-gallery {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;

    margin-top: 45px;
}

.news-article-single .news-gallery-image {
    min-height: 420px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: linear-gradient(
        135deg,
        #e9d5d2 0%,
        #f3e5e2 50%,
        #dfc7c4 100%
    );

    color: #ffffff;

    font-size: 11px;
    letter-spacing: 0.2em;
}


/* MOBIL */

@media (max-width: 700px) {

    .news-article-single .news-article-content {
        padding: 45px 30px;
    }

    .news-article-single .news-article-gallery {
        grid-template-columns: 1fr;
    }

    .news-article-single .news-gallery-image {
        min-height: 320px;
    }

}

/* =========================================================
   LIGHTBOX – ZVĚTŠENÍ FOTOGRAFIÍ
   ========================================================= */

.lightbox {
    position: fixed;
    inset: 0;

    z-index: 9999;

    display: none;
    align-items: center;
    justify-content: center;

    background: rgba(35, 28, 28, 0.88);
}

.lightbox.active {
    display: flex;
}

.lightbox-content {
    max-width: 85vw;
    max-height: 90vh;

    display: flex;
    align-items: center;
    justify-content: center;
}

.lightbox-content img {
    display: block;

    max-width: 85vw;
    max-height: 88vh;

    width: auto;
    height: auto;

    object-fit: contain;
}


/* ZAVŘÍT */

.lightbox-close {
    position: absolute;

    top: 25px;
    right: 35px;

    width: 45px;
    height: 45px;

    border: none;
    background: transparent;

    color: #ffffff;

    font-size: 42px;
    font-weight: 300;

    line-height: 1;

    cursor: pointer;

    z-index: 2;
}


/* ŠIPKY */

.lightbox-prev,
.lightbox-next {
    position: absolute;

    top: 50%;
    transform: translateY(-50%);

    width: 55px;
    height: 70px;

    border: none;
    background: transparent;

    color: #ffffff;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 60px;
    font-weight: 300;

    line-height: 1;

    cursor: pointer;

    z-index: 2;
}

.lightbox-prev {
    left: 25px;
}

.lightbox-next {
    right: 25px;
}

.lightbox-prev:hover,
.lightbox-next:hover,
.lightbox-close:hover {
    opacity: 0.65;
}


/* MOBIL */

@media (max-width: 700px) {

    .lightbox-content {
        max-width: 90vw;
        max-height: 85vh;
    }

    .lightbox-content img {
        max-width: 90vw;
        max-height: 82vh;
    }

    .lightbox-prev,
    .lightbox-next {
        width: 40px;
        height: 55px;

        font-size: 45px;
    }

    .lightbox-prev {
        left: 5px;
    }

    .lightbox-next {
        right: 5px;
    }

    .lightbox-close {
        top: 15px;
        right: 15px;

        font-size: 35px;
    }

}



/* Oficiální jméno z rodokmenu */

.female-registered-name {
    margin-top: -8px;
    margin-bottom: 38px;
    font-family: Arial, sans-serif;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.8px;
    color: #a99a97;
    line-height: 1.6;
}


/* ========================================
   FOTOGALERIE PSŮ
   ======================================== */

.female-gallery {
    width: 100%;
    min-width: 0;
}

.female-main-photo {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    object-position: center;
    cursor: pointer;
}

.female-gallery-thumbs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 12px;
}

.female-gallery-thumbs img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    height: auto;
    object-fit: cover;
    object-position: center;
    cursor: pointer;
}


/* ========================================
   LIGHTBOX – ZVĚTŠENÁ FOTOGRAFIE
   ======================================== */

.gallery-lightbox {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(30, 20, 20, 0.92);
    align-items: center;
    justify-content: center;
    padding: 40px 70px;
}

.gallery-lightbox.is-open {
    display: flex;
}

.gallery-lightbox-full {
    display: block;
    max-width: 90%;
    max-height: 85vh;
    width: auto;
    height: auto;
    object-fit: contain;
}

.gallery-lightbox-close {
    position: absolute;
    top: 20px;
    right: 30px;
    border: none;
    background: transparent;
    color: white;
    font-size: 40px;
    cursor: pointer;
}

.gallery-lightbox-prev,
.gallery-lightbox-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border: none;
    background: transparent;
    color: white;
    font-size: 36px;
    cursor: pointer;
    padding: 15px;
}

.gallery-lightbox-prev {
    left: 20px;
}

.gallery-lightbox-next {
    right: 20px;
}

body.lightbox-open {
    overflow: hidden;
}


/* ========================================
   MOBIL
   ======================================== */

@media (max-width: 600px) {

    .gallery-lightbox {
        padding: 20px;
    }

    .gallery-lightbox-full {
        max-width: 100%;
        max-height: 80vh;
    }

    .gallery-lightbox-prev {
        left: 0;
    }

    .gallery-lightbox-next {
        right: 0;
    }

}


/* ========================================
   FOTOGRAFIE – STRÁNKA O NÁS
   ======================================== */

.about-image-placeholder {
    background: transparent;
    padding: 0;
    overflow: visible;
}

.about-image-placeholder img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}

.about-image-placeholder.large {
    background: transparent;
    padding: 0;
}

.about-image-placeholder.large img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}


/* ========================================
   O NÁS – PRVNÍ FOTOGRAFIE
   Zachování celého obrázku bez oříznutí
   ======================================== */

.about-story .female-gallery {
    height: auto;
    min-height: 0;
    max-height: none;
    aspect-ratio: auto;
    overflow: visible;
    background: transparent;
}

.about-story .female-gallery .female-main-photo {
    display: block;
    width: 100%;
    height: auto;
    min-height: 0;
    max-height: none;
    aspect-ratio: auto;
    object-fit: contain;
    object-position: center;
}


/* ========================================
   ŠTĚŇÁTKA – FOTOGRAFIE AKTUÁLNÍCH VRHŮ
   ======================================== */

.puppies-feature-photo {
    padding: 0;
    height: auto;
    min-height: 0;
    background: transparent;
    overflow: hidden;
}

.puppies-feature-photo img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    object-fit: contain;
    object-position: center;
}

/* ========================================
   ŠTĚŇÁTKA – ODKAZ NA VRHY
   ======================================== */

.puppies-feature-text .btn {
    display: inline-block;
    margin-top: 18px;
    padding: 14px 26px;

    background: #f8f1ef;
    border: 1px solid #dfc9c4;

    color: #51413f;
    text-decoration: none;

    font-family: Arial, sans-serif;
    font-size: 14px;
    letter-spacing: 0.4px;

    transition: background 0.3s ease,
                border-color 0.3s ease;
}

.puppies-feature-text .btn:hover {
    background: #efe1dd;
    border-color: #c9aaa3;
}


/* ========================================
   NOVINKY – FOTOGRAFIE
   ======================================== */

.news-hero-photo {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    object-fit: contain;
}

.news-article-image {
    overflow: hidden;
}

.news-article-image img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}

.news-article-gallery {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 24px;
}

.news-gallery-image {
    overflow: hidden;
}

.news-gallery-image img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    cursor: pointer;
}

.news-lightbox-image {
    cursor: pointer;
}

@media (max-width: 600px) {

    .news-article-gallery {
        grid-template-columns: 1fr;
    }

}
.news-article-image:has(img),
.news-gallery-image:has(img) {
    background: transparent !important;
}

/* ODCHOVY – FOTOGRAFIE */

.offspring-gallery .offspring-photo {
    background: transparent;
    overflow: hidden;
}

.offspring-gallery .offspring-photo img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    cursor: pointer;
}

/* Rozkliknutí fotografie Bellatrix */
.puppy-card-photo .gallery-lightbox-image {
    cursor: pointer;
}

.parent-photo {
    height: 420px;
    overflow: hidden;
}

.parent-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
