/*
Theme Name: Mahdy Group Directory
Theme URI: https://mahdy-group.com/
Author: Mahdy Group
Description: Responsive RTL directory theme for agricultural, poultry, livestock and farming companies.
Version: 1.0.0
Text Domain: mahdy-directory
*/

/* =============================================================
   Mahdy Group Directory Theme — Organized Stylesheet
   RTL / Responsive / WordPress
   ============================================================= */

/* =============================================================
   01. Base & Design Tokens
   ============================================================= */
:root {
    --green:#0b5a3b;
    --green2:#146d49;
    --gold:#d7a032;
    --ink:#173b2d;
    --muted:#71847a;
    --light:#f5f9f6;
    --line:#e1ebe5;
}

* {
    box-sizing:border-box;
}

html {
    scroll-behavior:smooth;
}

body {
    margin:0;
    font-family:Cairo,Arial,sans-serif;
    color:var(--ink);
    background:#fff;
    line-height:1.7;
}

a {
    text-decoration:none;
    color:inherit;
}

/* =============================================================
   02. Header & Navigation
   ============================================================= */
.site-header {
    position:sticky;
    top:0;
    z-index:50;
    background:#fffffff2;
    backdrop-filter:blur(12px);
    border-bottom:1px solid var(--line);
}

.nav-wrap {
    min-height:76px;
    display:flex;
    align-items:center;
    gap:20px;
}

.brand {
    display:flex;
    gap:10px;
    align-items:center;
    min-width:210px;
}

.brand-mark {
    width:43px;
    height:43px;
    border-radius:12px;
    background:var(--green);
    color:#fff;
    display:grid;
    place-items:center;
    font-weight:800;
    font-size:23px;
}

.brand strong {
    display:block;
}

.brand small {
    display:block;
    font:9px Inter,sans-serif;
    letter-spacing:1.5px;
    color:#84958c;
}

.main-nav {
    display:flex;
    gap:15px;
    justify-content:center;
    flex:1;
    font-size:12px;
    font-weight:700;
}

.main-nav a:hover {
    color:var(--gold);
}

.nav-actions {
    display:flex;
    gap:8px;
    align-items:center;
}

.menu-toggle {
    display:none;
    border:0;
    background:none;
    font-size:25px;
}

.main-nav {
    display:none;
}

.menu-toggle {
    display:block;
}

.nav-wrap {
    justify-content:space-between;
}

.main-nav.mobile-open {
    display:flex;
    position:absolute;
    top:76px;
    right:12px;
    left:12px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:12px;
    padding:15px;
    flex-direction:column;
    box-shadow:0 15px 30px #0b5a3b15;
}

/* =============================================================
   03. Hero Banner
   ============================================================= */
.hero {
    height:570px;
    background:linear-gradient(110deg,#073d29,#0d6845);
    color:#fff;
    position:relative;
    overflow:hidden;
}

.hero-slide {
    position:absolute;
    inset:0;
    display:grid;
    align-items:center;
    opacity:0;
    transition:.6s;
}

.hero-slide.active {
    opacity:1;
}

.hero-copy {
    position:relative;
    z-index:2;
}

.hero h1 {
    font-size:46px;
    line-height:1.25;
    max-width:680px;
    margin:12px 0;
}

.hero h1 em {
    font-style:normal;
    color:#e7b43f;
}

.hero p {
    max-width:600px;
    color:#d2e4dc;
}

.hero-buttons {
    display:flex;
    gap:9px;
    margin-top:22px;
}

.hero-art {
    position:absolute;
    right:4%;
    top:7%;
    width:50%;
    height:90%;
    opacity:.95;
}

.orb {
    position:absolute;
    width:410px;
    height:410px;
    border-radius:50%;
    right:8%;
    top:65px;
    border:1px solid #ffffff18;
    background:#ffffff06;
    box-shadow:0 0 0 70px #ffffff04;
}

.hero-card {
    position:absolute;
    background:#fffffff0;
    color:var(--ink);
    padding:17px;
    border-radius:16px;
    box-shadow:0 25px 60px #002a1b40;
}

.hero-card.one {
    right:23%;
    top:160px;
}

.hero-card.two {
    right:42%;
    bottom:120px;
}

.hero-controls {
    position:absolute;
    bottom:22px;
    left:0;
    right:0;
    z-index:5;
    display:flex;
    gap:8px;
    align-items:center;
}

.hero-dot {
    width:28px;
    height:4px;
    border:0;
    border-radius:5px;
    background:#ffffff45;
}

.hero-dot.active {
    background:var(--gold);
}

.hero-arrows {
    margin-right:auto;
    display:flex;
    gap:6px;
}

.hero-arrows button {
    background:#ffffff14;
    border:1px solid #ffffff33;
    color:#fff;
    width:36px;
    height:36px;
    border-radius:9px;
}

.hero h1 {
    font-size:36px;
}

.hero-art {
    opacity:.3;
}

.hero {
    height:610px;
}

.hero h1 {
    font-size:29px;
}

.hero-slide {
    background-size:cover;
    background-repeat:no-repeat;
}

.hero-placeholder {
    background:linear-gradient(110deg,#073d29,#0d6845);
}

/* =============================================================
   04. Search
   ============================================================= */
.quick-search {
    margin-top:-1px;
}

.search-box {
    padding:22px 25px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:0 0 16px 16px;
    box-shadow:0 12px 35px #0b5a3b10;
    display:grid;
    grid-template-columns:1fr 1.5fr;
    gap:20px;
    align-items:center;
}

.search-box strong {
    display:block;
}

.search-form {
    display:flex;
    background:var(--light);
    padding:5px;
    border-radius:11px;
}

.search-form input {
    flex:1;
    border:0;
    background:transparent;
    padding:10px;
    outline:0;
}

.search-form button {
    border:0;
    background:var(--green);
    color:#fff;
    border-radius:8px;
    padding:8px 18px;
}

.search-box {
    grid-template-columns:1fr;
}

/* =============================================================
   05. Global Sections & Buttons
   ============================================================= */
.eyebrow,.section-kicker {
    font:800 10px Inter,Cairo,sans-serif;
    letter-spacing:1.2px;
    color:var(--gold);
}

.btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 18px;
    border-radius:10px;
    border:1px solid transparent;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
}

.btn-primary {
    background:var(--gold);
    color:#fff;
}

.btn-light {
    background:#fff;
    color:var(--green);
}

.btn-outline {
    border-color:var(--line);
    background:#fff;
    color:var(--green);
}

.section {
    padding:78px 0;
}

.section-head {
    display:flex;
    justify-content:space-between;
    align-items:end;
    margin-bottom:26px;
}

.section-head h2 {
    margin:4px 0;
    font-size:30px;
}

.section-head p {
    color:var(--muted);
    font-size:12px;
}

.section {
    padding:58px 0;
}

.section-head {
    display:block;
}

.profile-actions .btn {
    flex:1;
}

.cta-inner .btn {
    margin-top:18px;
}

/* =============================================================
   06. Market / Price Exchange
   ============================================================= */
.price-grid,.category-grid,.featured-grid,.article-grid {
    display:grid;
    gap:15px;
}

.price-grid {
    grid-template-columns:repeat(4,1fr);
}

.price-card,.category-card,.company-card,.article-card {
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
}

.price-card {
    padding:20px;
}

.price-card .emoji {
    font-size:28px;
}

.price-card strong {
    display:block;
    font-size:22px;
}

.price-card small {
    color:var(--muted);
}

.market-status {
    font-size:9px;
    color:#278052;
}

.price-grid {
    grid-template-columns:repeat(2,1fr);
}

.price-grid,.category-grid,.farmer-grid,.footer-grid {
    grid-template-columns:1fr;
}

.mahdy-market-empty,.market-filter-card {
    background:#fff;
    border:1px solid var(--line);
    border-radius:14px;
    padding:22px;
}

.market-filter {
    display:flex;
    gap:10px;
    align-items:end;
    flex-wrap:wrap;
}

.market-filter label {
    font-size:10px;
    color:var(--muted);
}

.market-filter input,.market-filter select {
    display:block;
    margin-top:5px;
    border:1px solid var(--line);
    border-radius:8px;
    padding:9px;
    min-width:190px;
    background:#fff;
}

.price-detail-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:15px;
}

.price-detail-grid>div {
    background:var(--light);
    padding:20px;
    border-radius:13px;
}

.price-detail-grid small,.price-detail-grid span {
    display:block;
    color:var(--muted);
}

.price-detail-grid strong {
    display:block;
    font-size:26px;
}

.market-big-price {
    font-size:38px!important;
}

.market-filter {
    display:grid;
    grid-template-columns:1fr;
}

.market-filter input,.market-filter select {
    width:100%;
    min-width:0;
}

.price-detail-grid {
    grid-template-columns:1fr;
}

/* =============================================================
   07. Company Directory
   ============================================================= */
.directory-section {
    background:var(--light);
}

.directory-layout {
    display:grid;
    grid-template-columns:250px 1fr;
    gap:20px;
}

.filters {
    background:#fff;
    border:1px solid var(--line);
    padding:18px;
    border-radius:15px;
    height:max-content;
    position:sticky;
    top:92px;
}

.filters label {
    display:block;
    font-size:10px;
    color:var(--muted);
    margin:12px 0;
}

.filters input,.filters select {
    width:100%;
    margin-top:5px;
    border:1px solid var(--line);
    border-radius:8px;
    padding:8px;
    background:#fff;
}

.company-grid {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:15px;
}

.company-card {
    padding:18px;
    transition:.25s;
}

.company-card:hover {
    transform:translateY(-3px);
    box-shadow:0 15px 30px #0b5a3b0d;
}

.company-top {
    display:flex;
    gap:12px;
    align-items:center;
}

.company-logo {
    width:55px;
    height:55px;
    border-radius:13px;
    background:#edf6f0;
    display:grid;
    place-items:center;
    font-size:27px;
    overflow:hidden;
}

.company-logo img {
    width:100%;
    height:100%;
    object-fit:cover;
}

.company-card h3 {
    margin:0;
    font-size:15px;
}

.company-meta,.company-desc {
    font-size:10px;
    color:var(--muted);
}

.verified {
    display:inline-block;
    background:#e8f6ee;
    color:#24734c;
    border-radius:15px;
    padding:2px 7px;
    font-size:8px;
    font-weight:800;
}

.premium {
    display:inline-block;
    background:#fff2d5;
    color:#9a6c16;
    border-radius:15px;
    padding:2px 7px;
    font-size:8px;
    font-weight:800;
}

.tags {
    display:flex;
    flex-wrap:wrap;
    gap:5px;
}

.tag {
    font-size:8px;
    background:#f1f5f2;
    padding:3px 7px;
    border-radius:15px;
    color:#5e766a;
}

.card-bottom {
    border-top:1px solid var(--line);
    margin-top:14px;
    padding-top:11px;
    display:flex;
    justify-content:space-between;
    font-size:10px;
}

.directory-layout {
    grid-template-columns:1fr;
}

.filters {
    position:static;
}

.company-grid {
    grid-template-columns:1fr;
}

/* =============================================================
   08. Categories
   ============================================================= */
.category-grid {
    grid-template-columns:repeat(5,1fr);
}

.category-card {
    padding:20px;
    text-align:center;
}

.category-card .emoji {
    font-size:30px;
}

.category-card h3 {
    font-size:12px;
}

.category-grid {
    grid-template-columns:repeat(3,1fr);
}

/* =============================================================
   09. Map
   ============================================================= */
.map-wrap {
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:35px;
    align-items:center;
}

.map-box {
    height:360px;
    border-radius:20px;
    background:#0d5b3b;
    position:relative;
    overflow:hidden;
}

.map-box:before {
    content:"";
    position:absolute;
    inset:0;
    background-image:linear-gradient(#ffffff09 1px,transparent 1px),linear-gradient(90deg,#ffffff09 1px,transparent 1px);
    background-size:34px 34px;
}

.map-box:after {
    content:"مصر";
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    color:#ffffff16;
    font-size:90px;
    font-weight:800;
}

.map-pin {
    position:absolute;
    color:#e0aa3c;
    font-size:25px;
    z-index:2;
}

.map-pin:nth-child(1) {
    right:35%;
    top:35%;
}

.map-pin:nth-child(2) {
    right:53%;
    top:50%;
}

.map-pin:nth-child(3) {
    right:65%;
    top:28%;
}

.map-pin:nth-child(4) {
    right:43%;
    top:68%;
}

.map-wrap,.profile-body {
    grid-template-columns:1fr;
}

/* =============================================================
   10. Farmer Guide
   ============================================================= */
.farmer-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:15px;
}

.farmer-card {
    padding:22px;
    border:1px solid var(--line);
    border-radius:15px;
}

.farmer-grid {
    grid-template-columns:repeat(2,1fr);
}

/* =============================================================
   11. Company Profile
   ============================================================= */
.profile-card {
    margin-top:25px;
    border:1px solid var(--line);
    border-radius:18px;
    overflow:hidden;
    background:#fff;
}

.profile-head {
    padding:25px;
    display:flex;
    gap:16px;
    align-items:center;
    border-bottom:1px solid var(--line);
}

.profile-logo-large {
    width:90px;
    height:90px;
    border-radius:17px;
    background:#edf6f0;
    display:grid;
    place-items:center;
    font-size:42px;
}

.profile-actions {
    margin-right:auto;
    display:flex;
    gap:7px;
}

.profile-body {
    padding:28px;
    display:grid;
    grid-template-columns:1fr 300px;
    gap:30px;
}

.contact-box {
    background:var(--light);
    padding:20px;
    border-radius:13px;
}

.profile-head {
    flex-wrap:wrap;
}

.profile-actions {
    width:100%;
    margin-right:0;
}

/* =============================================================
   12. Blog
   ============================================================= */
/* v1.3 homepage components */
.blog-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}

.blog-card {
    border:1px solid var(--line);
    border-radius:16px;
    overflow:hidden;
    background:#fff;
    transition:.25s;
}

.blog-card:hover {
    transform:translateY(-4px);
    box-shadow:0 15px 35px #0b5a3b12;
}

.blog-image {
    display:block;
    height:190px;
    background:var(--light);
    overflow:hidden;
}

.blog-image img {
    width:100%;
    height:100%;
    object-fit:cover;
}

.blog-image span {
    height:100%;
    display:grid;
    place-items:center;
    color:var(--green);
    font-weight:800;
}

.blog-content {
    padding:17px;
}

.blog-content small {
    font-size:9px;
    color:var(--muted);
}

.blog-content h3 {
    font-size:15px;
    line-height:1.5;
    margin:7px 0;
}

.blog-content p {
    font-size:10px;
    color:var(--muted);
    margin:0 0 10px;
}

.read-more {
    font-size:10px;
    color:var(--green);
    font-weight:800;
}

.blog-grid {
    grid-template-columns:repeat(2,1fr);
}

.blog-grid,.gallery-grid {
    grid-template-columns:1fr;
}

/* =============================================================
   13. Gallery
   ============================================================= */
.gallery {
    padding:0 28px 28px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
}

.gallery div {
    height:130px;
    background:#edf5ef;
    border-radius:12px;
    display:grid;
    place-items:center;
    color:var(--muted);
}

.gallery {
    grid-template-columns:1fr;
}

.gallery-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
}

.gallery-item {
    position:relative;
    height:190px;
    overflow:hidden;
    border-radius:14px;
    background:var(--light);
    display:block;
}

.gallery-item img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.35s;
}

.gallery-item:hover img {
    transform:scale(1.06);
}

.gallery-item span {
    position:absolute;
    right:0;
    left:0;
    bottom:0;
    padding:10px;
    color:#fff;
    font-size:10px;
    background:linear-gradient(transparent,#000b);
    opacity:0;
    transition:.25s;
}

.gallery-item:hover span {
    opacity:1;
}

.gallery-grid {
    grid-template-columns:repeat(2,1fr);
}

.gallery-item {
    height:230px;
}

/* =============================================================
   14. Call To Action
   ============================================================= */
.cta {
    background:linear-gradient(110deg,var(--green),#16754e);
    color:#fff;
    padding:55px 0;
}

.cta-inner {
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.cta-inner {
    display:block;
}

/* =============================================================
   15. Inner Page Hero
   ============================================================= */
.inner-hero {
    background:linear-gradient(110deg,var(--green),#18734e);
    color:#fff;
    padding:55px 0;
}

.inner-hero h1 {
    font-size:36px;
    margin:5px 0;
}

/* =============================================================
   16. Footer & Widgets
   ============================================================= */
.footer {
    background:#082f21;
    color:#c9ded4;
    padding:55px 0 0;
}

.footer-grid {
    display:grid;
    grid-template-columns:1.5fr 1fr 1fr 1fr;
    gap:30px;
}

.footer h4 {
    color:#fff;
}

.footer a {
    display:block;
    font-size:10px;
    margin:7px 0;
}

.footer-bottom {
    text-align:center;
    border-top:1px solid #ffffff10;
    margin-top:35px;
    padding:18px;
    font-size:9px;
}

.footer-grid {
    grid-template-columns:repeat(2,1fr);
}

.footer-column .widget {
    margin:0 0 15px;
}

.footer-column .widget-title {
    margin-top:0;
}

.footer-column p {
    font-size:10px;
}

.footer-column ul {
    list-style:none;
    padding:0;
    margin:0;
}

.footer-column li {
    margin:6px 0;
    font-size:10px;
}

/* =============================================================
   17. Dynamic Forms
   ============================================================= */
.mahdy-dynamic-form {
    display:grid;
    gap:12px;
}

.mahdy-dynamic-form label {
    display:block;
    font-size:11px;
    margin-bottom:4px;
}

.mahdy-dynamic-form input:not([type=checkbox]):not([type=radio]),.mahdy-dynamic-form textarea,.mahdy-dynamic-form select {
    width:100%;
    padding:10px;
    border:1px solid var(--line);
    border-radius:9px;
    font-family:inherit;
}

.mahdy-dynamic-form textarea {
    min-height:120px;
}

.mahdy-form-success {
    padding:12px;
    background:#eaf7ef;
    color:#226c45;
    border-radius:10px;
    margin-bottom:15px;
}

/* =============================================================
   18. Utilities & Misc.
   ============================================================= */
.container {
    width:min(1180px,calc(100% - 32px));
    margin:auto;
}

.login-btn,.icon-btn {
    border:1px solid var(--line);
    background:#fff;
    border-radius:9px;
    padding:8px 12px;
    font-size:11px;
}

.filter-head {
    display:flex;
    justify-content:space-between;
    border-bottom:1px solid var(--line);
    padding-bottom:10px;
}

.container {
    width:calc(100% - 24px);
}

.mahdy-market-wrap {
    margin-top:5px;
}

.mahdy-market-head {
    display:flex;
    justify-content:space-between;
    align-items:end;
    margin-bottom:20px;
}

.mahdy-market-table-scroll {
    overflow-x:auto;
    background:#fff;
    border:1px solid var(--line);
    border-radius:14px;
}

.mahdy-market-table {
    width:100%;
    min-width:720px;
    border-collapse:collapse;
}

.mahdy-market-table th,.mahdy-market-table td {
    padding:13px 15px;
    border-bottom:1px solid var(--line);
    text-align:right;
    font-size:11px;
}

.mahdy-market-table th {
    background:var(--light);
}

.mahdy-market-table .up {
    color:#1b7a4a;
    font-weight:800;
}

.mahdy-market-table .down {
    color:#b54a3e;
    font-weight:800;
}

.mahdy-market-table .flat {
    color:#71847a;
}

.mahdy-market-head {
    display:block;
}

/* =============================================================
   19. Responsive Breakpoints
   ============================================================= */

@media(max-width:900px) {
    .main-nav {
        display:none;
    }
    .menu-toggle {
        display:block;
    }
    .nav-wrap {
        justify-content:space-between;
    }
    .hero h1 {
        font-size:36px;
    }
    .hero-art {
        opacity:.3;
    }
    .price-grid {
        grid-template-columns:repeat(2,1fr);
    }
    .category-grid {
        grid-template-columns:repeat(3,1fr);
    }
    .directory-layout {
        grid-template-columns:1fr;
    }
    .filters {
        position:static;
    }
    .company-grid {
        grid-template-columns:1fr;
    }
    .map-wrap,.profile-body {
        grid-template-columns:1fr;
    }
    .farmer-grid {
        grid-template-columns:repeat(2,1fr);
    }
    .footer-grid {
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:560px) {
    .container {
        width:calc(100% - 24px);
    }
    .hero {
        height:610px;
    }
    .hero h1 {
        font-size:29px;
    }
    .search-box {
        grid-template-columns:1fr;
    }
    .price-grid,.category-grid,.farmer-grid,.footer-grid {
        grid-template-columns:1fr;
    }
    .section {
        padding:58px 0;
    }
    .section-head {
        display:block;
    }
    .profile-head {
        flex-wrap:wrap;
    }
    .profile-actions {
        width:100%;
        margin-right:0;
    }
    .profile-actions .btn {
        flex:1;
    }
    .gallery {
        grid-template-columns:1fr;
    }
    .cta-inner {
        display:block;
    }
    .cta-inner .btn {
        margin-top:18px;
    }
}

@media(max-width:650px) {
    .mahdy-market-head {
        display:block;
    }
    .market-filter {
        display:grid;
        grid-template-columns:1fr;
    }
    .market-filter input,.market-filter select {
        width:100%;
        min-width:0;
    }
    .price-detail-grid {
        grid-template-columns:1fr;
    }
}

@media(max-width:900px) {
    .blog-grid {
        grid-template-columns:repeat(2,1fr);
    }
    .gallery-grid {
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:560px) {
    .blog-grid,.gallery-grid {
        grid-template-columns:1fr;
    }
    .gallery-item {
        height:230px;
    }
}
