/*
Theme Name: Bleu Longévité
Theme URI: https://bleulongevite.fr
Description: Thème enfant de Nutritius pour Bleu Longévité — personnalisation des couleurs et styles.
Author: Adevweb
Author URI: https://adevweb.com
Template: nutritius
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bleulongevite
Requires PHP: 7.4
Requires at least: 5.0
*/

/* ==========================================================================
   Bleu Longévité — Palette
   Bleu doux  : #89ADC9 (logo texte + feuille)
   Bleu foncé : #5E8BA8 (hover / accents appuyés)
   Beige chaud: #C4AA82 (cercle logo + baseline)
   Beige clair: #D9CBAF (hover beige)
   ========================================================================== */

/* ── Override des variables Nutritius ── */
:root {
    --primary-color: #89ADC9;
    --dark-color: #2C3E50;
    --secondary-color: #5A6B7A;
    --grey-color: #F5F3EF;
}

/* ── Liens ── */
a:hover,
a:focus {
    color: #5E8BA8;
}

/* ── Boutons theme (gardé pour .pt-button legacy uniquement — PAS de [type=button] global) ── */
.pt-button.pt-btn-flat .pt-btn-cover-bgrnd,
.pt-button.pt-btn-flat.btn-bg-primary .pt-btn-cover-bgrnd {
    background-color: #89ADC9;
    border-color: #89ADC9;
}
.pt-button.pt-btn-flat:hover .pt-btn-cover-bgrnd,
.pt-button.pt-btn-flat.btn-bg-primary:hover .pt-btn-cover-bgrnd {
    background-color: #5E8BA8;
    border-color: #5E8BA8;
}
/* Search form submit : couleur de marque (non global) */
.widget.widget_search .wp-block-search__button,
.search-submit {
    background-color: #2C3E50;
    border-color: #2C3E50;
    color: #fff;
}
.widget.widget_search .wp-block-search__button:hover,
.search-submit:hover {
    background-color: #1F2D3D;
    border-color: #1F2D3D;
}

/* ── Boutons outline / liens ── */
.pt-button.pt-btn-link {
    color: #89ADC9;
}
.pt-button.pt-btn-link:hover {
    color: #5E8BA8;
}

/* ── Back to top ── */
#pt-back-to-top > span {
    background-color: #89ADC9;
}
#pt-back-to-top > span:hover {
    background-color: #5E8BA8;
}

/* ── Section titles — accent beige ── */
.pt-section-title .pt-sub-title,
.pt-section-title .pt-sub-title span {
    color: #C4AA82;
}

/* ── Service box icons ── */
.pt-service-box .pt-service-icon i,
.pt-service-style-1 .pt-service-icon i {
    color: #89ADC9;
}
.pt-service-style-1:hover .pt-service-icon {
    background: #5E8BA8;
    color: #ffffff;
}
.pt-service-style-1:hover .pt-service-icon i {
    color: #ffffff;
}
.pt-service-box:hover {
    border-color: #89ADC9;
}

/* ── Process steps ── */
.pt-process-step .pt-step-number {
    color: #89ADC9;
}

/* ── Pricing active / hover ── */
.pt-pricing-box.active .pt-price-head,
.pt-pricing-box:hover .pt-price-head {
    background-color: #89ADC9;
}
.pt-pricing-box .pt-price-btn a {
    background-color: #89ADC9;
    border-color: #89ADC9;
}
.pt-pricing-box .pt-price-btn a:hover {
    background-color: #5E8BA8;
    border-color: #5E8BA8;
}

/* ── Testimonials ── */
.pt-testimonial-box .pt-star-rating i {
    color: #C4AA82;
}

/* ── Counter icons ── */
.pt-counter-box .pt-counter-icon i {
    color: #89ADC9;
}

/* ── Progress bar ── */
.pt-progressbar .pt-progress-inner {
    background-color: #89ADC9;
}

/* ── Blog ── */
.pt-blog-box .pt-blog-category a,
.pt-blog-box .pt-blog-meta a:hover {
    color: #89ADC9;
}
.pt-blog-box .pt-blog-btn a {
    color: #89ADC9;
}
.pt-blog-box .pt-blog-btn a:hover {
    color: #5E8BA8;
}

/* ── Pagination ── */
.page-links .post-page-numbers.current,
.pt-blog-contain .page-links > span.page-number {
    background-color: #89ADC9;
    border-color: #89ADC9;
}

/* ── Input focus ── */
input:focus,
input:hover,
textarea:focus,
textarea:hover,
.form-control:focus {
    border-color: #89ADC9 !important;
}

/* ── Selection ── */
::-moz-selection {
    background: #89ADC9;
    color: #fff;
}
::selection {
    background: #89ADC9;
    color: #fff;
}

/* ── Header top bar — beige subtil ── */
header#pt-header .pt-top-header {
    background-color: #2C3E50;
}

/* ── Footer — ton sombre cohérent ── */
footer#pt-footer .pt-footer-subscribe {
    background-color: #89ADC9;
}

/* ── Widget calendar today ── */
.widget_calendar .calendar_wrap td#today {
    background-color: #89ADC9;
}

/* ── Breadcrumb active ── */
.pt-breadcrumb .pt-breadcrumb-item.active {
    color: #89ADC9;
}

/* ── Team social hover ── */
.pt-team-box .pt-team-social a:hover {
    background-color: #89ADC9;
    border-color: #89ADC9;
}

/* ── Portfolio filter active ── */
.pt-portfolio-filter li.active,
.pt-portfolio-filter li:hover {
    color: #89ADC9;
}

/* ── Fancy box hover ── */
.pt-fancybox:hover .pt-fancy-icon i {
    color: #89ADC9;
}

/* ── Header CTA button ── */
.pt-header-action-btn {
    display: inline-flex;
    align-items: center;
    margin-left: 15px;
}
.pt-header-action-btn .pt-btn-text img {
    width: 18px;
    height: auto;
    filter: brightness(0) invert(1);
}

/* ── White text on colored background sections ── */
.elementor-6689 .elementor-element-84924c7 .pt-section-title,
.elementor-6689 .elementor-element-84924c7 .pt-section-sub-title,
.elementor-6689 .elementor-element-2b21a79 .pt-section-title,
.elementor-6689 .elementor-element-2b21a79 .pt-section-sub-title {
    color: #ffffff;
}

/* ── Calendly inline embed in Elementor sections ── */
.elementor-widget-shortcode .calendly-inline-widget {
    border-radius: 8px;
    overflow: hidden;
    background: #ffffff;
    min-height: 580px;
}
.elementor-6689 .elementor-element.elementor-element-11fc7be > .elementor-element-populated {
    padding: 40px 45px;
}
.elementor-6689 .elementor-element.elementor-element-520e345 {
    width: 100%;
}
.elementor-6689 .elementor-element.elementor-element-520e345 .elementor-widget-container {
    width: 100%;
}

/* ── Remove forced capitalize ── */
body,
body * {
    text-transform: none !important;
}
.pt-section-sub-title,
.pt-button .pt-btn-text {
    text-transform: uppercase !important;
}

/* ── Slider Revolution buttons — same effect as theme .pt-button ── */
a.sr7-layer[href] {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    padding: 14px 28px !important;
    background: var(--primary-color) !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    position: relative;
    overflow: hidden;
    cursor: pointer;
    z-index: 20;
}
/* Icon leaf */
a.sr7-layer[href]::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    background: url("/wp-content/uploads/2022/08/Group-1-1.svg") no-repeat center / contain;
    filter: brightness(0) invert(1);
    flex-shrink: 0;
    position: relative;
    z-index: 3;
}
/* Cover background (slide-in effect) */
a.sr7-layer[href]::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--dark-color, #2C3E50);
    transform-origin: 100% 50%;
    transform: scaleX(0);
    transition: transform .5s cubic-bezier(.86, 0, .07, 1);
    will-change: transform;
    z-index: -1;
}
/* Hover: deploy cover */
a.sr7-layer[href]:hover::after {
    transform-origin: 0 50%;
    transform: scaleX(1);
}
a.sr7-layer[href]:hover {
    color: #ffffff !important;
}

/* ── Header full width on all pages ── */
header#pt-header .pt-top-header > .container,
header#pt-header .pt-bottom-header > .container {
    max-width: 100%;
    padding-left: 30px;
    padding-right: 30px;
}

/* ── Logo sizing ── */
header#pt-header .pt-header-logo img.logo {
    max-width: 100%;
    width: 100%;
    height: auto;
}
footer#pt-footer img.pt-footer-logo,
.pt-sidebar-content img.pt-sidebar-logo {
    max-width: 320px;
    width: 100%;
    height: auto;
}

/* ── Hardcoded greens from parent ── */
.pt-button.pt-btn-flat.btn-update-bg-primary:hover .pt-btn-cover-bgrnd {
    background: #5E8BA8 !important;
    border: 2px solid #5E8BA8 !important;
}
.pt-fancy-box.pt-style-2:hover .pt-fancy-box-content {
    border-color: rgba(137, 173, 201, 0.28);
}

/* ── Elementor button global overrides : retirés pour laisser les widget settings prendre effet ── */
/* (anti-pattern: force globale qui cassait Elementor settings. Utiliser les classes bl-cta-* au besoin.) */

/* ── Elementor CTA / Call to Action : retiré aussi pour même raison ── */
.elementor-cta__retired-placeholder {
    /* no-op */
}

/* ── Elementor icon colors ── */
.elementor-icon[style*="color: #7fb82d"],
.elementor-icon[style*="color: #7FB82D"],
.elementor-icon[style*="color:#7fb82d"],
.elementor-icon[style*="color:#7FB82D"] {
    color: #89ADC9 !important;
}

/* ── Header action button ── */
header#pt-header .pt-header-action .pt-action-btn a,
header#pt-header .pt-header-action .pt-action-btn {
    background-color: #89ADC9;
}
header#pt-header .pt-header-action .pt-action-btn a:hover,
header#pt-header .pt-header-action .pt-action-btn:hover {
    background-color: #5E8BA8;
}

/* ── Header info icons ── */
header#pt-header .pt-header-info-box .icon,
header#pt-header.pt-header-style-5 .pt-header-info-box .icon,
header#pt-header.pt-header-style-6 .pt-header-info-box .icon {
    color: #89ADC9;
}

/* ── Navigation active / hover ── */
header#pt-header .pt-main-nav ul li a:hover,
header#pt-header .pt-main-nav ul li.current-menu-item > a,
header#pt-header .pt-main-nav ul li.current-menu-ancestor > a {
    color: #89ADC9;
}

/* ── Top header social icons ── */
header#pt-header .pt-top-header .pt-header-social ul li a:hover {
    color: #89ADC9;
}

/* ── Footer links ── */
footer#pt-footer .widget ul li a:hover {
    color: #89ADC9;
}
footer#pt-footer .search-form .search-submit,
footer#pt-footer .widget.widget_search .wp-block-search__button {
    background-color: #89ADC9;
}
footer#pt-footer .search-form .search-submit:hover,
footer#pt-footer .widget.widget_search .wp-block-search__button:hover {
    background-color: #5E8BA8;
}

/* ── Blockquotes ── */
blockquote {
    border-left-color: #89ADC9;
}
blockquote cite,
blockquote strong {
    color: #89ADC9;
}

/* ── Blog post meta ── */
.pt-blog-post .pt-post-meta {
    display: flex;
    align-items: center;
}
.pt-blog-post .pt-post-meta .pt-post-date a {
    background: #89ADC9;
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    margin-right: 15px;
    text-align: center;
}
.pt-blog-post .pt-post-meta .pt-post-date a span {
    background: #89ADC9;
    color: #ffffff;
}
.pt-blog-post .pt-post-meta ul {
    display: flex !important;
    align-items: center;
    margin: 0;
    padding: 0;
}
.pt-blog-post .pt-post-meta ul li {
    display: inline-flex;
    align-items: center;
}
.pt-blog-post .pt-post-meta ul li i {
    color: #5A6B7A;
}
.pt-blog-post .pt-post-meta ul li a:hover {
    color: #5E8BA8;
}
.pt-blog-post .pt-post-meta ul {
    display: none !important;
}

/* ── Breadcrumbs ── */
.pt-breadcrumb-container .breadcrumb li a:hover,
.pt-breadcrumb-container .breadcrumb li.active {
    color: #89ADC9;
}

/* ── Widget list markers ── */
.widget ul li a:hover,
.widget.widget_recent_comments #recentcomments li.recentcomments a:hover,
.widget.widget_rss ul li a:hover,
.widget.widget_rss ul li .rss-date,
footer#pt-footer ul li .rss-date {
    color: #89ADC9;
}

/* ── Sidebar active ── */
.widget.widget-port .menu li.current_page_item a {
    color: #89ADC9;
}

/* ── Tag cloud hover ── */
.widget_tag_cloud .tag-cloud-link:hover,
footer#pt-footer .widget_tag_cloud .tag-cloud-link:hover {
    background-color: #89ADC9;
    border-color: #89ADC9;
}

/* ==========================================================================
   Responsive — Header fix 1024px to 1280px
   ========================================================================== */
@media (max-width: 1280px) {
    /* Force all nav items + chevron on same line */
    header#pt-header .pt-main-nav > div > ul > li {
        display: inline-flex !important;
        align-items: center;
        flex-wrap: nowrap;
    }
    header#pt-header .pt-main-nav > div > ul > li > a {
        font-size: 13px;
        padding: 10px 7px;
    }
    header#pt-header .pt-main-nav > div > ul > li > i.pt-submenu-icon {
        position: static !important;
        display: inline-block !important;
        font-size: 10px;
        margin-left: 2px;
        margin-right: 5px;
    }

    /* Logo */
    header#pt-header .pt-header-logo {
        flex-shrink: 0;
    }
    header#pt-header .pt-header-logo img.logo {
        max-width: 150px;
    }

    /* Social icons */
    header#pt-header .pt-header-social ul {
        display: flex !important;
        flex-wrap: nowrap;
    }
    header#pt-header .pt-header-social ul li a {
        width: 30px;
        height: 30px;
        font-size: 12px;
    }

    /* CTA button */
    .pt-header-action-btn .pt-button {
        padding: 10px 14px !important;
        font-size: 12px;
        white-space: nowrap;
    }

    /* Tighten spacing */
    header#pt-header .pt-bottom-header > .container,
    header#pt-header .pt-bottom-header > .container-fluid {
        padding-left: 15px;
        padding-right: 15px;
    }

    /* Preserve toggle button */
    header#pt-header .pt-toggle-btn {
        flex-shrink: 0;
    }
    header#pt-header .pt-toggle-btn a {
        display: block !important;
        width: 30px;
        height: 2px;
        font-size: 0;
        padding: 0;
    }
    header#pt-header .navbar-toggler {
        flex-shrink: 0;
        width: auto;
        height: auto;
    }
}

@media (max-width: 1080px) {
    /* Hide social icons */
    header#pt-header .pt-header-social {
        display: none !important;
    }

    header#pt-header .pt-main-nav > div > ul > li > a {
        font-size: 12px;
        padding: 10px 5px;
    }

    header#pt-header .pt-header-logo img.logo {
        max-width: 120px;
    }

    .pt-header-action-btn .pt-button {
        padding: 8px 12px !important;
        font-size: 11px;
    }
}
