/*
Theme Name: Rosegana Child
Template: twentytwentyfive
Version: 1.0
*/

/* ==========================================================================
   1. GLOBAL STYLES & RESET
   ========================================================================== */
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family: 'Segoe UI', Tahoma, Arial, sans-serif; direction:rtl; background:#f7f6f2; color:#222; }

/* ==========================================================================
   2. NAVIGATION HEADER
   ========================================================================== */
.nav { 
    background: linear-gradient(225deg, #2d4234 0%, #959c97 40%, #cbb17b 80%, #fdfbf7 100%); 
    padding: 0 40px; 
    display: flex; 
    align-items: center; 
    justify-content: space-between; 
    height: 64px; 
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    z-index: 9999; 
    box-shadow: 0 3px 10px rgba(0,0,0,0.08);
    border-bottom: 1px solid rgba(203, 177, 123, 0.25);
}
.logo { color:#a8d85a; font-size:22px; font-weight:700; letter-spacing:1px; }
.logo span { color:#fff; }
.nav-links { display:flex; gap:28px; list-style:none; }
.nav-links a { 
    color: #1a3a1a; 
    font-size: 16px; 
    text-decoration: none; 
    font-weight: 700; 
    transition: all 0.2s ease; 
}
.nav-links a:hover { 
    color: #a8d85a; 
    background: rgba(255, 255, 255, 0.2); 
    border-radius: 4px;
    transform: scale(1.05);
}
.nav-cta { background:#a8d85a; color:#1a3a1a; border:none; padding:9px 22px; border-radius:6px; font-size:14px; font-weight:600; cursor:pointer; text-decoration:none; display:inline-block; }

/* ==========================================================================
   3. HERO SECTION
   ========================================================================== */
.hero { 
    background:linear-gradient(135deg, #f4f8f2 0%, #e3f1dc 50%, #eef3f0 100%);
    min-height:560px;
    display:flex;
    align-items:center;
    padding:60px 60px 60px 40px;
    position:relative;
    overflow:hidden;
}
.hero::before { 
    content:''; position:absolute; top:-60px; left:-60px; width:340px; height:340px; border-radius:50%; background:rgba(120,160,120,0.08);
}
.hero::after { 
    content:''; position:absolute; bottom:-80px; left:100px; width:220px; height:220px; border-radius:50%; background:rgba(120,160,120,0.06);
}
.hero-text { flex:1; z-index:2; }
.hero-badge { 
    display:inline-block; background:rgba(110,168,58,0.15); color:#6ea83a; padding:6px 16px; border-radius:20px; font-size:13px; margin-bottom:18px; border:1px solid rgba(110,168,58,0.25);
}
.hero h1 { font-size:42px; color:#2d3a2d; line-height:1.3; font-weight:700; margin-bottom:16px; }
.hero h1 span { color:#6ea83a; }
.hero p { color:#5f6f5f; font-size:16px; line-height:1.8; max-width:480px; margin-bottom:32px; }
.hero-btns { display:flex; gap:14px; }
.btn-primary { background:#6ea83a; color:#fff; padding:13px 28px; border-radius:8px; font-weight:700; font-size:15px; cursor:pointer; border:none; text-decoration:none; }
.btn-outline { background:transparent; color:#6ea83a; padding:13px 28px; border-radius:8px; font-weight:600; font-size:15px; cursor:pointer; border:2px solid #6ea83a; text-decoration:none; }
.hero-img { 
    width:340px; height:320px; background:linear-gradient(160deg,#eef6ea,#dcefd0); border-radius:20px; display:flex; align-items:center; justify-content:center; flex-shrink:0; z-index:2; position:relative; overflow:hidden;
}
.hero-img-inner { width:90%; height:auto; border-radius:14px; background:linear-gradient(135deg,#f4f8f2,#e3f1dc); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; }
.garden-icon { font-size:64px; }
.hero-img-label { color:#6b8f6b; font-size:14px; font-weight:600; }

/* ==========================================================================
   4. STATS BAR & SECTIONS
   ========================================================================== */
.stats-bar { background:#fff; padding:28px 60px; display:flex; justify-content:space-around; border-bottom:1px solid #e8e4de; }
.stat { text-align:center; }
.stat-num { font-size:30px; font-weight:700; color:#2d5a2d; }
.stat-label { font-size:16px; color:#292828; margin-top:4px; }

.section { padding:60px 60px; }
.section-header { text-align:center; margin-bottom:40px; }
.section-tag { display:inline-block; background:#eaf5d6; color:#3a7a20; padding:5px 16px; border-radius:20px; font-size:13px; margin-bottom:12px; }
.section-title { font-size:30px; font-weight:700; color:#1a3a1a; margin-bottom:10px; }
.section-sub { color:#666; font-size:15px; max-width:520px; margin:0 auto; line-height:1.7; }

/* ==========================================================================
   5. SERVICES GRID
   ========================================================================== */
.services-grid { 
    display: grid !important; 
    grid-template-columns: repeat(3, 1fr) !important; 
    gap: 20px; 
    direction: rtl;
}
.service-card { 
    background: #fff; 
    border-radius: 14px; 
    border: 1px solid #e8e4de; 
    transition: transform 0.3s ease, box-shadow 0.3s ease; 
    overflow: hidden; 
    padding: 0; 
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}
.service-card:hover { 
    transform: translateY(-8px); 
    box-shadow: 0 12px 35px rgba(45,90,45,0.15); 
    z-index: 10;
}
.img-container { width: 100%; aspect-ratio: 16 / 9; overflow: hidden; }
.service-img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block; transition: transform 0.5s ease; }
.service-card:hover .service-img { transform: scale(1.05); }
.service-content { padding: 20px; }

/* ==========================================================================
   6. PROCESS STEPS & PROJECTS
   ========================================================================== */
.process-steps-container { display: grid; grid-template-columns: repeat(5, 1fr); gap: 5px; padding: 5px; }
.process-steps { display:flex; justify-content:space-between; position:relative; }
.process-steps::before { content:''; position:absolute; top:34px; right:10%; left:10%; height:2px; background:linear-gradient(to left,#a8d85a,#2d5a2d); z-index:0; }
.step { flex:1; text-align:center; z-index:1; padding:0 10px; }
.step-num { width:68px; height:68px; border-radius:50%; background:#2d5a2d; color:#a8d85a; font-size:22px; font-weight:700; display:flex; align-items:center; justify-content:center; margin:0 auto 14px; border:4px solid #fff; box-shadow:0 0 0 2px #2d5a2d; }
.step h3 { font-size:15px; font-weight:600; color:#1a3a1a; margin-bottom:6px; }
.step p { font-size:13px; color:#333; line-height:1.6; }

.projects-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.project-card { border-radius:12px; overflow:hidden; position:relative; height:300px; cursor:pointer; }
.project-bg { width:100%; height:100%; display:flex; align-items:flex-end; padding:16px; aspect-ratio: 4 / 3; overflow: hidden; }
.project-bg img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block; }
.project-label { background:rgba(0,0,0,0.55); color:#fff; padding:6px 12px; border-radius:6px; font-size:13px; font-weight:600; backdrop-filter:blur(4px); }

/* ==========================================================================
   7. TESTIMONIALS & FAQ & MAP & FLOATING BUTTON
   ========================================================================== */
.testimonials-bg { background:linear-gradient(135deg,#1a3a1a,#2d5a2d); padding:60px; }
.testimonials-bg .section-title { color:#fff; }
.testimonials-bg .section-sub { color:#b8d4a0; }
.testimonials-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:36px; }
.testi-card { background:rgba(255,255,255,0.08); border:1px solid rgba(168,216,90,0.2); border-radius:14px; padding:24px; }
.stars { color:#a8d85a; font-size:16px; margin-bottom:10px; }
.testi-text { color:#d5e8c4; font-size:14px; line-height:1.8; margin-bottom:14px; }
.testi-author { display:flex; align-items:center; gap:10px; }
.author-avatar { width:40px; height:40px; border-radius:50%; background:#a8d85a; display:flex; align-items:center; justify-content:center; font-weight:700; color:#1a3a1a; font-size:15px; }
.author-name { color:#fff; font-size:14px; font-weight:600; }
.author-city { color:#8ab870; font-size:12px; }

.faq-list { max-width:700px; margin:0 auto; }
.faq-item { border-bottom:1px solid #e8e4de; padding:18px 0; }
.faq-q { font-size:16px; font-weight:600; color:#1a3a1a; margin-bottom:8px; }
.faq-a { font-size:14px; color:#666; line-height:1.8; }

.riyadh-map-section { padding: 80px 60px; background: #fff; }
.map-wrapper { display: flex; gap: 30px; max-width: 1100px; margin: 0 auto; background: #f7f6f2; padding: 20px; border-radius: 20px; border: 1px solid #e8e4de; box-shadow: 0 10px 40px rgba(0,0,0,0.03); }
.map-frame { flex: 2; height: 400px; border-radius: 15px; overflow: hidden; border: 1px solid rgba(203, 177, 123, 0.3); }
.map-info { flex: 1; display: flex; flex-direction: column; justify-content: center; gap: 25px; padding: 0 10px; }
.info-item { display: flex; gap: 15px; align-items: flex-start; }
.info-item h3 { font-size: 18px; color: #1a3a1a; margin-bottom: 5px; }
.info-item p { font-size: 15px; color: #666; }

.whatsapp-float { 
    position: fixed; 
    bottom: 28px; 
    left: 28px; 
    background: #128C7E; 
    width: 62px; 
    height: 62px; 
    border-radius: 50%; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    cursor: pointer; 
    box-shadow: 0 4px 15px rgba(0,0,0,0.25); 
    z-index: 9999; 
    animation: pulse 2.5s ease-in-out infinite; 
    text-decoration: none; 
    border: 2px solid #ffffff; 
}
.whatsapp-float svg { width: 34px; height: 34px; fill: #ffffff; }
@keyframes pulse { 
    0%, 100% { box-shadow: 0 0 0 0 rgba(18, 140, 126, 0.6); } 
    50% { box-shadow: 0 0 0 14px rgba(18, 140, 126, 0); } 
}

/* ==========================================================================
   8. FOOTER STYLES
   ========================================================================== */
.footer { background: linear-gradient(225deg, #2d4234 0%, #2d5a27 35%, #b8860b 85%, #f1d592 100%); padding: 48px 60px 24px; border-top: 1px solid rgba(203, 177, 123, 0.3); }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; margin-bottom:36px; }
.footer-logo { font-size: 28px; font-weight: 900; color: #a8d85a; margin-bottom: 15px; }
.footer-desc { color: #5bf08d; font-size: 16px; line-height: 1.8; }
.footer-col h3 { color: #d5e8c4; font-size: 19px; font-weight: 700; margin-bottom: 22px; border-bottom: 2px solid rgba(168,216,90,0.2); padding-bottom: 10px; display: inline-block; }
.footer-col a { color: #5bf08d; font-size: 16px; line-height: 1.8; text-decoration: none; margin-bottom: 12px; display: block; transition: 0.3s; }
.footer-col a:hover { color: #fff; padding-right: 5px; }
.footer-bottom { font-size: 15px; color: #ebf5e9; border-top: 1px solid rgba(255,255,255,0.05); padding-top: 25px; margin-top: 30px; text-align: center; }
.footer-bottom a { color: #a8d85a; text-decoration: none; }

/* ==========================================================================
   9. MEDIA QUERIES (TABLET & MOBILE) - CLEANED & FIXED
   ========================================================================== */
@media (min-width: 769px) and (max-width: 1024px) {
    .projects-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
    .project-card { height: 250px !important; }
}

@media (max-width: 768px) {
    .nav { padding: 10px 15px; height: auto; flex-direction: column; gap: 10px; }
    .nav-links { gap: 10px; flex-wrap: wrap; justify-content: center; }
    
    .hero { flex-direction: column; text-align: center; padding: 40px 20px; }
    .hero h1 { font-size: 28px; }
    .hero-img { width: 100%; height: 250px; margin-top: 30px; }
    
    .stats-bar { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 5px !important; padding: 5px !important; }
    .stat { padding: 15px 5px !important; background: #fafafa; border-radius: 10px; border: 1px solid #f0f0f0; }
    .stat-num { font-size: 24px !important; display: block; margin-bottom: 5px; }
    .stat-label { font-size: 12px !important; color: #666 !important; }

    #services { padding: 20px 16px !important; margin: 0 !important; overflow-x: hidden; background: #f7f6f2; }
    .services-grid { grid-template-columns: 1fr !important; gap: 12px; margin: 0 auto; width: 100%; padding: 0; }
    .service-card { width: 100% !important; margin: 0 auto; border-radius: 5px; }
    .img-container { width: 100%; aspect-ratio: 4 / 3; border-radius: 5px 5px 0 0; }
    .service-img { width: 100%; height: 100%; object-fit: cover; display: block; }
    .service-content { padding: 10px; text-align: center !important; }
    .service-content h3 { font-size: 22px !important; margin-bottom: 12px !important; }
    .service-content p { font-size: 16px !important; line-height: 1.8 !important; }
    .service-content span { font-size: 15px !important; display: block; margin-top: 10px; }

    .process-steps-container { grid-template-columns: repeat(2, 1fr) !important; gap: 10px; }
    .process-steps-container .step { width: 100% !important; margin: 0 !important; }
    .process-steps-container .fifth-step { grid-column: span 2; width: 50% !important; margin: 0 auto !important; }
    .process-steps { flex-direction: column; gap: 30px; }
    .process-steps::before { display: none; }

    #projects { padding: 20px 10px !important; }
    .projects-grid { grid-template-columns: 1fr !important; gap: 15px !important; padding: 0 !important; }
    .project-card { width: 100% !important; height: auto !important; margin: 0 0 10px 0 !important; border-radius: 8px !important; }
    .project-bg { height: auto !important; width: 100%; aspect-ratio: 4 / 3; margin: 0 !important; padding: 0 !important; overflow: hidden; border-radius: 4px; }
    .project-bg img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block; }

    .testimonials-grid { grid-template-columns: 1fr !important; gap: 20px; }

    .riyadh-map-section { padding: 40px 20px; }
    .map-wrapper { flex-direction: column; padding: 10px; }
    .map-frame { height: 250px; }
    .map-info { padding: 15px 5px; }

    .footer { padding: 40px 20px !important; }
    .footer-grid { display: block !important; }
    .footer-col, .footer-grid > div { width: 100% !important; margin-bottom: 35px !important; text-align: center !important; }
}

/* إصلاح انزياح المقالات على الموبايل */
@media (max-width: 768px) {

    body,
    html {
        overflow-x: hidden;
    }

    .single-post,
    .post,
    .entry-content,
    .wp-block-post-content {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    .entry-content img,
    .wp-block-post-content img {
        max-width: 100%;
        height: auto;
    }

    .entry-content iframe,
    .entry-content table,
    .entry-content pre,
    .entry-content code {
        max-width: 100%;
        overflow-x: auto;
    }

    .entry-content *,
    .wp-block-post-content * {
        max-width: 100%;
        box-sizing: border-box;
    }
}

