/* =====================================================
   MODULE FARMS — STYLE PRO UNIFIÉ
===================================================== */

/* =====================================================
   RESET LOCAL POUR NE PAS SUBIR style.css GLOBAL
===================================================== */

.farms-wrapper,
.farm-shell,
.farm-container,
.farm-panel,
.farm-card,
.farm-head,
.farm-body {
    all: unset;
    box-sizing: border-box;
    display: block;
}

/* =====================================================
   VARIABLES
===================================================== */

:root{
    --farm-green:#8FD83A;
    --farm-dark:#101010;
    --farm-light:#f5f6f3;
    --farm-card:#ffffff;
    --farm-border:#e2e2e2;
    --farm-text:#1e1e1e;
}

/* =====================================================
   CONTAINERS
===================================================== */

.farms-wrapper,
.farm-shell {
    max-width:1200px;
    margin:30px auto;
    padding:24px;
    background:var(--farm-card);
    color:var(--farm-text);
    border-radius:18px;
    box-shadow:0 18px 45px rgba(0,0,0,.12);
    font-family:Segoe UI,system-ui,-apple-system,sans-serif;
}

.farm-container{
    max-width:1200px;
    margin:30px auto;
    background:var(--farm-card);
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 18px 45px rgba(0,0,0,.15);
}

/* =====================================================
   HEADER
===================================================== */

.farms-header,
.farm-head {
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px;
    margin-bottom:20px;
}

.farms-title,
.farm-title {
    font-size:1.8rem;
    font-weight:800;
}

.farms-subtitle,
.farm-sub {
    font-size:.9rem;
    color:#666;
}

.farms-badge {
    display:inline-block;
    margin-bottom:18px;
    padding:6px 16px;
    background:#8FD83A22;
    border-radius:999px;
    color:#305010;
    font-size:.75rem;
}

/* =====================================================
   BOUTONS
===================================================== */

.btn,
.btn-farm {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:8px 16px;
    border-radius:999px;
    font-weight:700;
    text-decoration:none;
    background:var(--farm-green);
    color:#1c3602;
    border:none;
    cursor:pointer;
    transition:.2s;
}

.btn:hover,
.btn-farm:hover {
    background:#a7f85e;
    transform:translateY(-1px);
}

.btn.gray,
.btn.secondary {
    background:#ececec;
    color:#333;
}

.btn.red,
.btn-farm.danger {
    background:#ff6b6b;
    color:#fff;
}

.btn.small {
    padding:5px 10px;
    font-size:.8rem;
}

/* =====================================================
   GRID + CARTES
===================================================== */

.farms-grid {
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
    gap:18px;
}

.farm-card {
    background:#fafafa;
    border:1px solid var(--farm-border);
    border-radius:14px;
    overflow:hidden;
    transition:.2s;
}

.farm-card:hover {
    transform:translateY(-4px);
    box-shadow:0 10px 25px rgba(0,0,0,.1);
}

.farm-thumb {
    position:relative;
    aspect-ratio:16/9;
    background:#dceac1;
}

.farm-thumb img {
    width:100%;
    height:100%;
    object-fit:cover;
}

.farm-status {
    position:absolute;
    top:10px;
    left:10px;
    padding:4px 10px;
    border-radius:999px;
    font-size:.7rem;
    color:#fff;
}
.farm-status.active { background:#2f7c1f }
.farm-status.inactive { background:#555 }

.farm-body {
    padding:14px;
}

.farm-name {
    font-weight:700;
    font-size:1.1rem;
    color:#222;
}

.farm-meta {
    font-size:.8rem;
    color:#555;
}

.farm-stats {
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    font-size:.85rem;
    color:#333;
}

.farm-actions {
    margin-top:10px;
    text-align:right;
}

/* =====================================================
   VIEW FERME
===================================================== */

.farm-hero {
    border-radius:16px;
    overflow:hidden;
    position:relative;
}
.farm-hero img { width:100% }

.farm-hero-overlay {
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    padding:16px;
    background:linear-gradient(to top,rgba(0,0,0,.75),transparent);
    color:#fff;
}

.farm-layout {
    margin-top:20px;
    display:grid;
    grid-template-columns:2fr 1.2fr;
    gap:20px;
}
@media(max-width:900px){
    .farm-layout{grid-template-columns:1fr;}
}

/* =====================================================
   PANELS
===================================================== */

.farm-panel {
    background:#fafafa;
    border:1px solid var(--farm-border);
    border-radius:14px;
    padding:16px;
    margin-bottom:14px;
}

.farm-panel h2 {
    margin:0 0 10px;
}

/* =====================================================
   TABLES
===================================================== */

.farm-table,
.table {
    width:100%;
    border-collapse:collapse;
    font-size:.9rem;
}

.farm-table th,
.table th {
    background:#f0f0f0;
    padding:10px;
    font-weight:700;
    text-align:left;
}

.farm-table td,
.table td {
    padding:10px;
    border-bottom:1px solid #ddd;
    color:#111;
}

/* =====================================================
   BADGES
===================================================== */

.badge-req {
    padding:4px 10px;
    border-radius:999px;
    font-size:.75rem;
    font-weight:700;
}
.badge-req.pending { background:#ffe18a }
.badge-req.approved { background:#9df38b }
.badge-req.refused  { background:#f7a3a3 }

/* =====================================================
   FORMULAIRE
===================================================== */

.form-row {
    margin-bottom:12px;
}

.form-row label {
    display:block;
    font-weight:700;
    margin-bottom:4px;
}

.input,
.input-text,
select,
textarea {
    width:100%;
    padding:8px;
    border:1px solid #ddd;
    border-radius:8px;
    font-family:inherit;
}

/* =====================================================
   MANAGER PANEL
===================================================== */

.farm-header {
    background:linear-gradient(to right,#121212,#1e1e1e);
    color:#fff;
    padding:20px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.farm-header h1 { color:var(--farm-green); }

.farm-back {
    background:#fff;
    color:#111;
    padding:6px 14px;
    border-radius:999px;
    text-decoration:none;
    font-weight:700;
}

.farm-nav {
    padding:20px;
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
    gap:12px;
}

.farm-nav a {
    background:#111;
    color:white;
    padding:14px;
    border-radius:14px;
    text-align:center;
    font-weight:700;
    transition:.2s;
}
.farm-nav a:hover {
    background:var(--farm-green);
    color:#000;
}

.farm-content {
    padding:20px;
}

.farm-thumb img{
    filter: brightness(96%) contrast(105%);
}
