/*
Theme Name: ZFP Brod Child
Theme URI: https://zfpbrod.cz
Description: Child theme pro Divi - web finanční a realitní kanceláře ZFP Brod (Uherský Brod / Brno)
Author: X Production
Template: Divi
Version: 1.0.0
Text Domain: zfpbrod
*/

/* ==========================================================================
   1) DESIGN TOKENY - barevná paleta vychází z loga ZFP GROUP
   ========================================================================== */
:root {
    --zfp-black: #181818;
    --zfp-black-soft: #232323;
    --zfp-orange: #EE7203;
    --zfp-orange-dark: #C95E00;
    --zfp-gray-dark: #4D4D4D;
    --zfp-gray: #8A8A8A;
    --zfp-gray-light: #F4F4F4;
    --zfp-white: #FFFFFF;

    --zfp-font-heading: 'Poppins', sans-serif;
    --zfp-font-body: 'Inter', sans-serif;

    --zfp-radius: 10px;
    --zfp-shadow: 0 10px 30px rgba(0,0,0,0.08);
}

body, .et_pb_module {
    font-family: var(--zfp-font-body);
    color: var(--zfp-gray-dark);
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--zfp-font-heading);
    color: var(--zfp-black);
    letter-spacing: -0.01em;
}

/* ==========================================================================
   2) HERO SEKCE (Domů)
   ========================================================================== */
.zfp-hero {
    background: linear-gradient(135deg, var(--zfp-black) 0%, var(--zfp-black-soft) 100%);
    color: var(--zfp-white);
    padding: 110px 0;
    text-align: center;
}

.zfp-hero h1 {
    color: var(--zfp-white);
    font-size: 46px;
    font-weight: 800;
    margin-bottom: 20px;
}

.zfp-hero h1 .zfp-highlight {
    color: var(--zfp-orange);
}

.zfp-hero p {
    color: #D9D9D9;
    font-size: 19px;
    max-width: 640px;
    margin: 0 auto 34px;
}

/* ==========================================================================
   3) TLAČÍTKA / CTA
   ========================================================================== */
.zfp-btn,
.et_pb_button.zfp-btn-orange,
.wpcf7-submit {
    display: inline-block;
    background: var(--zfp-orange) !important;
    color: var(--zfp-white) !important;
    border: none !important;
    border-radius: var(--zfp-radius) !important;
    padding: 15px 36px !important;
    font-family: var(--zfp-font-heading);
    font-weight: 600;
    font-size: 16px;
    text-transform: none !important;
    letter-spacing: 0;
    transition: all 0.25s ease;
    cursor: pointer;
}

.zfp-btn:hover,
.et_pb_button.zfp-btn-orange:hover,
.wpcf7-submit:hover {
    background: var(--zfp-orange-dark) !important;
    transform: translateY(-2px);
}

/* ==========================================================================
   4) PILÍŘE (Komplexnost / Dlouhodobý servis / Týmová spolupráce)
   ========================================================================== */
.zfp-pillars {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
    justify-content: center;
    padding: 80px 5% 90px;
    background: var(--zfp-white);
}

.zfp-pillar {
    flex: 1 1 280px;
    max-width: 340px;
    text-align: center;
    background: var(--zfp-gray-light);
    border-radius: var(--zfp-radius);
    padding: 40px 28px;
    transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.zfp-pillar:hover {
    box-shadow: var(--zfp-shadow);
    transform: translateY(-4px);
}

.zfp-pillar__icon {
    font-size: 34px !important;
    width: 34px;
    height: 34px;
    color: var(--zfp-orange);
    margin-bottom: 16px;
}

.zfp-pillar__title {
    font-size: 21px;
    font-weight: 700;
    margin-bottom: 12px;
}

.zfp-pillar__text {
    font-size: 15px;
    line-height: 1.6;
    color: var(--zfp-gray-dark);
}

/* ==========================================================================
   5) TÝMOVÉ KARTY (O nás / Tým Brod / Tým Brno)
   ========================================================================== */
.zfp-team-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 32px;
    padding: 20px 5% 80px;
}

.zfp-team-card {
    background: var(--zfp-white);
    border: 1px solid #ECECEC;
    border-radius: var(--zfp-radius);
    overflow: hidden;
    transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.zfp-team-card:hover {
    box-shadow: var(--zfp-shadow);
    transform: translateY(-4px);
}

.zfp-team-card__photo img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    display: block;
    filter: grayscale(15%);
}

.zfp-team-card__body {
    padding: 20px 22px 26px;
    border-top: 3px solid var(--zfp-orange);
}

.zfp-team-card__name {
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 4px;
}

.zfp-team-card__role {
    font-size: 14px;
    color: var(--zfp-orange);
    font-weight: 600;
    margin: 0;
}

/* Text profilu pod kartou (volitelně, textový modul pod shortcode) */
.zfp-team-bio {
    font-size: 15px;
    line-height: 1.7;
    color: var(--zfp-gray-dark);
    padding: 0 22px 26px;
    background: var(--zfp-white);
    margin-top: -26px;
    border: 1px solid #ECECEC;
    border-top: none;
    border-radius: 0 0 var(--zfp-radius) var(--zfp-radius);
}

/* ==========================================================================
   6) SEKCE POBOČEK (Domů / Kontakt)
   ========================================================================== */
.zfp-branches {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
    justify-content: center;
    padding: 70px 5%;
    background: var(--zfp-gray-light);
}

.zfp-branch-card {
    flex: 1 1 340px;
    max-width: 460px;
    background: var(--zfp-white);
    border-radius: var(--zfp-radius);
    padding: 34px;
    border-left: 4px solid var(--zfp-orange);
}

.zfp-branch-card h3 {
    font-size: 20px;
    margin-bottom: 6px;
}

.zfp-branch-card p {
    font-size: 15px;
    margin: 4px 0;
}

.zfp-branch-card a {
    color: var(--zfp-orange);
    font-weight: 600;
    text-decoration: none;
}

/* ==========================================================================
   7) CONTACT FORM 7 - branding
   ========================================================================== */
.zfp-contact-form {
    max-width: 620px;
    margin: 0 auto;
}

.zfp-contact-form label {
    display: block;
    font-family: var(--zfp-font-heading);
    font-weight: 600;
    font-size: 14px;
    color: var(--zfp-black);
    margin-bottom: 6px;
}

.zfp-contact-form input[type="text"],
.zfp-contact-form input[type="email"],
.zfp-contact-form input[type="tel"],
.zfp-contact-form select,
.zfp-contact-form textarea {
    width: 100%;
    padding: 13px 16px;
    margin-bottom: 20px;
    border: 1px solid #DCDCDC;
    border-radius: var(--zfp-radius);
    font-family: var(--zfp-font-body);
    font-size: 15px;
    background: var(--zfp-white);
    transition: border-color 0.2s ease;
}

.zfp-contact-form input:focus,
.zfp-contact-form select:focus,
.zfp-contact-form textarea:focus {
    outline: none;
    border-color: var(--zfp-orange);
}

.zfp-contact-form .wpcf7-not-valid-tip {
    color: #D93025;
    font-size: 13px;
    margin: -14px 0 14px;
}

.zfp-contact-form .wpcf7-response-output {
    border-radius: var(--zfp-radius) !important;
    margin-top: 20px !important;
}

/* ==========================================================================
   9) BLOG (Divi Blog modul + jednotlivé příspěvky)
   ========================================================================== */
.et_pb_blog_grid .et_pb_post {
    background: var(--zfp-white);
    border-radius: var(--zfp-radius);
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0,0,0,0.05);
    transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.et_pb_blog_grid .et_pb_post:hover {
    box-shadow: var(--zfp-shadow);
    transform: translateY(-4px);
}

.et_pb_blog_grid .et_pb_post .entry-featured-image-url img {
    border-radius: 0;
}

.et_pb_blog_grid .et_pb_post h2 a {
    color: var(--zfp-black);
    font-family: var(--zfp-font-heading);
    font-weight: 700;
}

.et_pb_blog_grid .et_pb_post h2 a:hover {
    color: var(--zfp-orange);
}

.et_pb_blog_grid .post-meta,
.et_pb_blog_grid .post-meta a {
    color: var(--zfp-gray) !important;
    font-size: 13px;
}

.et_pb_blog_grid .et_pb_post .more-link,
.et_pb_blog_grid a.more-link {
    color: var(--zfp-orange) !important;
    font-weight: 600;
}

/* stránkování */
.pagination .alignleft a,
.pagination .alignright a {
    color: var(--zfp-black) !important;
    font-weight: 600;
}
.pagination .alignleft a:hover,
.pagination .alignright a:hover {
    color: var(--zfp-orange) !important;
}

/* detail příspěvku - single.php */
.single-post .entry-title {
    font-family: var(--zfp-font-heading);
    color: var(--zfp-black);
}

.single-post .et_pb_post_content_wrapper {
    font-family: var(--zfp-font-body);
    line-height: 1.75;
    color: var(--zfp-gray-dark);
}

.single-post .et_pb_post_content_wrapper a {
    color: var(--zfp-orange);
}

.single-post .post-meta,
.single-post .post-meta a {
    color: var(--zfp-gray);
}

/* ==========================================================================
   10) KOMENTÁŘE - skryté (blog je jen na jednosměrný obsah, bez diskuze)
   ========================================================================== */
.comments-area {
    display: none !important;
}

/* ==========================================================================
   11) RESPONZIVITA
   ========================================================================== */
@media (max-width: 767px) {
    .zfp-hero { padding: 70px 0; }
    .zfp-hero h1 { font-size: 32px; }
    .zfp-pillars, .zfp-branches { padding: 50px 5%; }
}
