/*
Theme Name:   GeneratePress Child - Agence Digitale Yan
Theme URI:    https://agence.yan.africa
Description:  Child theme custom v5.0. CPT Services, templates single/archive, JSON-LD, silo SEO, footer custom, sticky mobile CTA, security hardening.
Author:       Agence Digitale Yan
Template:     generatepress
Version:      5.0.0
License:      GNU General Public License v2 or later
Text Domain:  generatepress-child
*/

:root{
    --navy:#1a237e;
    --navy-dark:#0d1654;
    --teal:#00897b;
    --teal-cta:#00bfa5;
    --gold:#c9a84c;
    --grey-bg:#f0f4f8;
    --white:#ffffff;
    --radius:12px;
    --shadow:0 2px 12px rgba(0,0,0,.07);
    --shadow-hover:0 6px 20px rgba(0,0,0,.12);
    --transition:transform .2s ease,box-shadow .2s ease;
}

/* === SECTION ALTERNATION === */
.section-alt{background:var(--grey-bg);padding:50px 20px;margin:0 -20px}
.section-white{background:var(--white);padding:50px 20px;margin:0 -20px}

/* === SERVICE GRID === */
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;margin:30px 0}
.service-card{background:#fff;border-radius:var(--radius);padding:0;box-shadow:var(--shadow);transition:var(--transition);overflow:hidden;display:flex;flex-direction:column}
.service-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)}
.service-card .card-img{width:100%;height:357px;object-fit:cover;display:block}
.service-card .card-img-placeholder{width:100%;height:357px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--navy),var(--teal));font-size:3.5em;color:#fff}
.service-card .card-body{padding:24px;flex:1;display:flex;flex-direction:column}
.service-card h3{color:var(--navy);margin-bottom:10px;font-size:1.15em}
.service-card h3 a{color:var(--navy);text-decoration:none}
.service-card h3 a:hover{color:var(--teal)}
.service-card .price{color:var(--gold);font-weight:800;font-size:1.5em;margin:12px 0 8px}
.service-card .card-excerpt{font-size:.92em;color:#555;line-height:1.5;margin-bottom:12px}
.service-card .cta-link{color:var(--teal-cta);font-weight:600;text-decoration:none;margin-top:auto}
.service-card .cta-link:hover{text-decoration:underline}

/* === SINGLE SERVICE === */
.service-single-hero{background:var(--navy);color:#fff;padding:50px 30px;border-radius:var(--radius);margin-bottom:30px;position:relative;overflow:hidden}
.service-single-hero h1{color:#fff;font-size:2em;margin-bottom:10px}
.service-single-hero .service-price-badge{display:inline-block;background:var(--gold);color:var(--navy);padding:8px 24px;border-radius:20px;font-weight:800;font-size:1.2em;margin-top:15px}
.service-single-hero .service-delivery{color:#e0e0e0;font-size:.95em;margin-top:8px}
.service-single-img{width:100%;max-height:400px;object-fit:cover;border-radius:var(--radius);margin-bottom:30px}
.service-content{line-height:1.8;font-size:1.05em}
.service-content h2{color:var(--navy);font-size:1.5em;margin-top:35px;margin-bottom:15px;padding-bottom:8px;border-bottom:2px solid var(--grey-bg)}
.service-content h3{color:var(--teal);font-size:1.2em;margin-top:25px}
.service-content ul{padding-left:20px}
.service-content ul li{margin-bottom:8px}
.service-content ul li::marker{color:var(--teal-cta)}

/* === FAQ === */
.service-faq{margin:40px 0;background:var(--grey-bg);padding:30px;border-radius:var(--radius)}
.service-faq h2{color:var(--navy);margin-bottom:20px}
.faq-item{border-bottom:1px solid #ddd;padding:15px 0}
.faq-item:last-child{border-bottom:none}
.faq-item h3{color:var(--navy);font-size:1.05em;margin-bottom:8px}
.faq-item p{color:#444;line-height:1.6;font-size:.95em}

/* === RELATED SERVICES === */
.related-services{margin:40px 0;padding:30px;background:#f9f9fb;border-radius:var(--radius)}
.related-services h2{color:var(--navy);margin-bottom:20px}
.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.related-card{background:#fff;padding:20px;border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;transition:var(--transition)}
.related-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)}
.related-card h4{color:var(--navy);font-size:.95em;margin-bottom:8px}
.related-card a{color:var(--teal-cta);font-weight:600;text-decoration:none;font-size:.9em}

/* === BREADCRUMBS === */
.adyan-breadcrumbs{font-size:.9em;color:#666;margin-bottom:20px;padding:10px 0}
.adyan-breadcrumbs a{color:var(--teal);text-decoration:none}
.adyan-breadcrumbs a:hover{text-decoration:underline}
.adyan-breadcrumbs span{color:#999;margin:0 6px}

/* === PACK SPECIAL === */
.pack-special{background:var(--navy-dark);color:#fff;padding:50px 30px;text-align:center;border-top:3px solid var(--gold);border-bottom:3px solid var(--gold);border-radius:var(--radius);margin:40px 0}
.pack-special .badge{display:inline-block;background:var(--gold);color:var(--navy);padding:6px 20px;border-radius:20px;font-weight:700;font-size:.9em;margin-bottom:15px}
.pack-special .pack-price{font-size:2.2em;font-weight:800;color:var(--gold)}
.pack-special h2,.pack-special h3{color:#fff}

/* === CONSULTATION === */
.consultation-section{background:#f9f9fb;border-radius:var(--radius);padding:40px 30px;margin:40px 0}
.consultation-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:20px}
.consultation-card{border:1px solid #e0e0e0;border-radius:var(--radius);padding:24px;background:#fff;transition:var(--transition)}
.consultation-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)}
.consultation-card h4{color:var(--navy);margin-bottom:8px}

/* === TRUST & WHY === */
.trust-bar{background:rgba(0,137,123,.08);border:1px solid rgba(0,137,123,.2);padding:16px 20px;text-align:center;font-size:.9em;border-radius:8px;margin:20px 0;line-height:1.8}
.trust-bar strong{color:var(--navy)}
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin-top:30px}
.why-block{text-align:center;padding:20px;border-radius:var(--radius);transition:var(--transition)}
.why-block:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);background:#fff}
.why-block .icon{font-size:2em;margin-bottom:10px}
.why-block h3{color:var(--navy);font-size:1.1em;margin-bottom:8px}

/* === PROCESS STEPS === */
.process-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:30px 0;padding:20px 0}
.process-step{text-align:center;padding:16px 8px;border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);transition:var(--transition)}
.process-step:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}
.process-step .step-num{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--teal-cta);color:#fff;font-weight:700;font-size:.9em;margin-bottom:8px}
.process-step .step-label{font-size:.82em;color:var(--navy);font-weight:600;line-height:1.3}
.process-step .step-icon{font-size:1.3em;margin-bottom:4px}

/* === FORMS === */
.adyan-form{max-width:650px;margin:30px auto;background:var(--grey-bg);padding:30px;border-radius:var(--radius)}
.adyan-form label{display:block;font-weight:600;color:var(--navy);margin-bottom:6px;margin-top:16px}
.adyan-form select,.adyan-form input[type="text"],.adyan-form input[type="tel"],.adyan-form textarea{width:100%;padding:12px 16px;border:1px solid #ccc;border-radius:8px;font-size:1em;box-sizing:border-box}
.adyan-form select:focus,.adyan-form input:focus,.adyan-form textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(0,137,123,.1)}
.adyan-form .submit-btn{display:inline-block;background:var(--teal-cta);color:#fff;padding:14px 36px;border:none;border-radius:8px;font-weight:700;font-size:1.05em;cursor:pointer;margin-top:20px;transition:background .2s}
.adyan-form .submit-btn:hover{background:#00a892}

/* === WHATSAPP FLOAT === */
.wa-float{position:fixed;bottom:24px;right:24px;z-index:9998;width:60px;height:60px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(37,211,102,.4);transition:transform .2s;text-decoration:none}
.wa-float:hover{transform:scale(1.1)}
.wa-float svg{width:32px;height:32px;fill:#fff}

/* === STICKY MOBILE CTA BAR === */
.mobile-cta-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:9999;background:var(--navy);padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));box-shadow:0 -2px 10px rgba(0,0,0,.15)}
.mobile-cta-bar a{display:flex;align-items:center;justify-content:center;gap:8px;background:#25D366;color:#fff;padding:12px 20px;border-radius:8px;text-decoration:none;font-weight:700;font-size:1em;width:100%}
.mobile-cta-bar a:hover{background:#1da851}
@media(max-width:768px){
    .mobile-cta-bar{display:block}
    .wa-float{bottom:80px}
    body{padding-bottom:70px}
}

/* === BUTTONS === */
.btn-primary{display:inline-block;background:var(--teal-cta);color:#fff;padding:16px 40px;border-radius:8px;text-decoration:none;font-weight:700;font-size:1.1em;transition:background .2s}
.btn-primary:hover{background:#00a892;color:#fff}
.btn-outline{display:inline-block;border:2px solid #fff;color:#fff;padding:14px 36px;border-radius:8px;text-decoration:none;font-weight:600;transition:background .2s}
.btn-outline:hover{background:rgba(255,255,255,.1);color:#fff}
.btn-wa-service{display:inline-block;background:#25D366;color:#fff;padding:14px 32px;border-radius:8px;text-decoration:none;font-weight:700;font-size:1em;margin-top:20px;transition:background .2s}
.btn-wa-service:hover{background:#1da851;color:#fff}

/* === HERO & CTA === */
.hero-section{background:var(--navy);color:#fff;padding:80px 20px 60px;text-align:center}
.hero-section h1{color:#fff;font-size:2.4em;margin-bottom:10px}
.hero-section p{color:#e0e0e0;font-size:1.2em}
.hero-section .hero-trust{margin-top:25px;font-size:.88em;color:#b0bec5;line-height:1.9}
.hero-section .hero-trust strong{color:#fff}
.hero-section .availability-note{margin-top:18px;font-size:.92em;color:var(--teal-cta);font-weight:600}
.cta-section{background:var(--navy);color:#fff;padding:60px 20px;text-align:center;border-radius:var(--radius);margin:40px 0}
.cta-section h2{color:#fff}
.cta-section p{color:#e0e0e0}
.cta-section .availability-note{color:var(--teal-cta);font-size:.9em;margin-top:12px}

/* === SPEED BADGE === */
.speed-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);padding:6px 14px;border-radius:20px;font-size:.82em;color:#e0e0e0;margin-top:12px}

/* === MISC === */
.comparison-table{width:100%;border-collapse:collapse;margin:20px 0}
.comparison-table th{background:var(--navy);color:#fff;padding:12px;text-align:left}
.comparison-table td{padding:10px 12px;border-bottom:1px solid #e0e0e0}
.info-box{background:#fff3cd;padding:16px;border-radius:8px;border-left:4px solid var(--gold);margin:15px 0}

/* === CUSTOM FOOTER === */
.adyan-footer{background:var(--navy-dark);color:#e0e0e0;padding:40px 20px 20px;margin-top:60px}
.adyan-footer a{color:var(--teal-cta);text-decoration:none}
.adyan-footer a:hover{text-decoration:underline}
.adyan-footer .footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:30px;max-width:1200px;margin:0 auto}
.adyan-footer .footer-col h4{color:#fff;margin-bottom:12px;font-size:1em}
.adyan-footer .footer-col ul{list-style:none;padding:0}
.adyan-footer .footer-col ul li{margin-bottom:8px;font-size:.9em}
.adyan-footer .footer-bottom{text-align:center;margin-top:30px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);font-size:.85em;color:#aaa}

/* === RESPONSIVE === */
@media(max-width:768px){
    .hero-section h1{font-size:1.8em}
    .hero-section{padding:50px 15px 40px}
    .services-grid{grid-template-columns:1fr}
    .why-grid{grid-template-columns:1fr}
    .consultation-grid{grid-template-columns:1fr}
    .related-grid{grid-template-columns:1fr}
    .service-single-hero h1{font-size:1.5em}
    .adyan-footer .footer-grid{grid-template-columns:1fr}
    .process-steps{grid-template-columns:repeat(2,1fr)}
}
