/*
Theme Name: Canil Pedigree Premium
Theme URI: https://example.com/canil-pedigree-premium
Author: Codex
Description: Tema WordPress para criadores de pets de raça, com cadastro rápido de filhotes, páginas por raça, integração com WhatsApp e blog.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: canil-pedigree-premium
*/

:root {
    --kennel-primary: #d08c60;
    --kennel-primary-dark: #a36237;
    --kennel-secondary: #2f5d50;
    --kennel-dark: #1f2a26;
    --kennel-light: #fffaf6;
    --kennel-muted: #6f6f6f;
    --kennel-border: rgba(31, 42, 38, 0.12);
    --kennel-radius: 24px;
    --kennel-shadow: 0 18px 45px rgba(31, 42, 38, 0.08);
}

body {
    background: #fffdf9;
}

.site-main {
    min-height: 55vh;
}

#preloader {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.35s ease, visibility 0.35s ease;
}

#preloader.preloader-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.ls-slide .header-text h1,
.ls-slide .header-text .header-p {
    color: #fff;
}

.puppy-status-tag {
    display: inline-block;
    padding: 6px 14px;
    border-radius: 999px;
    color: #fff;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.puppy-status-tag.status-disponivel {
    background: #3f8d5d;
}

.puppy-status-tag.status-reservado {
    background: #d08c60;
}

.puppy-status-tag.status-vendido {
    background: #9a4853;
}

.theme-card-note {
    padding: 22px 24px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08);
}

.theme-card-note p:last-child,
.puppy-sidebar-card p:last-child {
    margin-bottom: 0;
}

.puppy-cta-box {
    padding: 18px 22px;
    border-radius: 18px;
    background: #f8f3ef;
}

.puppy-sidebar-card {
    margin-bottom: 26px;
    padding: 24px;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 25px rgba(0, 0, 0, 0.06);
}

.puppy-parent-mini {
    display: flex;
    gap: 16px;
    align-items: center;
}

.puppy-parent-mini img {
    width: 92px;
    height: 92px;
    border-radius: 18px;
    object-fit: cover;
}

.puppy-gallery-carousel img,
.home-gallery-carousel img,
.home-post-image img {
    border-radius: 10px;
}

.home-diff-copy {
    max-width: 760px;
    margin: 0 auto 34px;
}

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

.section-heading .subtitle {
    color: var(--kennel-primary-dark);
}

.kennel-hero {
    position: relative;
    overflow: hidden;
    padding: 180px 0 120px;
    background:
        linear-gradient(120deg, rgba(31, 42, 38, 0.8), rgba(31, 42, 38, 0.42)),
        url("./assets/img/jumbotron.jpg") center/cover no-repeat;
}

.kennel-hero::after {
    content: "";
    position: absolute;
    inset: auto -10% -120px auto;
    width: 340px;
    height: 340px;
    border-radius: 50%;
    background: rgba(208, 140, 96, 0.2);
    filter: blur(10px);
}

.kennel-hero h1,
.kennel-hero p,
.kennel-hero .lead,
.kennel-hero .hero-badge {
    color: #fff;
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    margin-bottom: 22px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    font-family: "Montserrat", sans-serif;
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.hero-card {
    padding: 28px;
    border-radius: var(--kennel-radius);
    background: rgba(255, 250, 246, 0.96);
    box-shadow: var(--kennel-shadow);
}

.hero-card ul,
.kennel-list {
    padding-left: 0;
    list-style: none;
}

.hero-card li,
.kennel-list li {
    margin-bottom: 10px;
}

.hero-card li::before,
.kennel-list li::before {
    content: "\f058";
    margin-right: 10px;
    color: var(--kennel-primary);
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

.kennel-card,
.puppy-card,
.info-card,
.filter-card,
.archive-hero-card {
    height: 100%;
    border: 1px solid var(--kennel-border);
    border-radius: var(--kennel-radius);
    background: #fff;
    box-shadow: var(--kennel-shadow);
}

.kennel-card,
.info-card,
.filter-card,
.archive-hero-card {
    padding: 28px;
}

.puppy-card .card-body {
    padding: 26px;
}

.puppy-card .card-img-top,
.parent-gallery img,
.gallery-grid img,
.breed-card-image {
    border-top-left-radius: var(--kennel-radius);
    border-top-right-radius: var(--kennel-radius);
    object-fit: cover;
}

.puppy-card .card-img-top,
.breed-card-image {
    height: 260px;
}

.status-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 999px;
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.status-badge.status-disponivel {
    color: #17643a;
    background: rgba(23, 100, 58, 0.12);
}

.status-badge.status-reservado {
    color: #8c5c12;
    background: rgba(208, 140, 96, 0.18);
}

.status-badge.status-vendido {
    color: #7a1f2b;
    background: rgba(122, 31, 43, 0.12);
}

.meta-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.meta-item {
    padding: 16px 18px;
    border: 1px solid var(--kennel-border);
    border-radius: 18px;
    background: var(--kennel-light);
}

.meta-item strong {
    display: block;
    margin-bottom: 6px;
    color: var(--kennel-dark);
    font-family: "Montserrat", sans-serif;
}

.breed-card {
    position: relative;
    overflow: hidden;
}

.breed-card .breed-card-image {
    width: 100%;
}

.breed-card .breed-card-body {
    padding: 24px;
}

.timeline {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
}

.timeline-step {
    position: relative;
    padding: 18px 14px;
    text-align: center;
    border-radius: 18px;
    background: #fff;
    border: 1px solid var(--kennel-border);
}

.timeline-step.is-active {
    color: #fff;
    background: linear-gradient(135deg, var(--kennel-primary), var(--kennel-primary-dark));
}

.single-gallery-grid,
.gallery-grid,
.parent-gallery {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.single-gallery-grid img,
.gallery-grid img,
.parent-gallery img {
    width: 100%;
    height: 220px;
    border-radius: 18px;
    object-fit: cover;
}

.kennel-contact-strip {
    padding: 24px 0;
    color: #fff;
    background: linear-gradient(90deg, var(--kennel-secondary), var(--kennel-dark));
}

.kennel-contact-strip a {
    color: #fff;
}

.archive-hero {
    padding: 150px 0 70px;
    background:
        linear-gradient(135deg, rgba(31, 42, 38, 0.82), rgba(47, 93, 80, 0.6)),
        url("./assets/img/about/aboutbg.jpg") center/cover no-repeat;
}

.archive-hero h1,
.archive-hero p {
    color: #fff;
}

.whatsapp-button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.kennel-empty {
    padding: 28px;
    text-align: center;
    border: 1px dashed var(--kennel-border);
    border-radius: var(--kennel-radius);
    background: rgba(255, 250, 246, 0.7);
}

.entry-content iframe,
.video-embed iframe {
    width: 100%;
    min-height: 360px;
    border: 0;
    border-radius: 18px;
}

.footer-races a {
    display: inline-block;
    margin: 0 8px 8px 0;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(208, 140, 96, 0.1);
}

.kennel-admin-note {
    padding: 16px 18px;
    border-left: 4px solid var(--kennel-primary);
    background: #fff;
}

@media (max-width: 991px) {
    .kennel-hero,
    .archive-hero {
        padding-top: 140px;
    }

    .top-bar {
        display: none;
    }
}

@media (max-width: 767px) {
    .section-spacing {
        padding: 70px 0;
    }

    .kennel-hero {
        padding-bottom: 90px;
    }

    .hero-card,
    .kennel-card,
    .info-card,
    .filter-card,
    .archive-hero-card {
        padding: 22px;
    }
}
