/* css/components/approach-cards.css */

:root {
   --agri-green: #2ecc71;
   --agri-dark: #27ae60;
   --agri-dark-blue: #0f172a;
   --bg-light: #f8fafc;
}

/* ========================================
   COMMUN
   ======================================== */
.intro-section {
   max-width: 900px;
   margin: 0 auto 50px;
   text-align: center;
}

.main-title {
    font-weight: 600;
    color: var(--agri-dark-blue);
    margin-bottom: 20px;
    FONT-SIZE: 24px;
}

.intro-text {
   font-size: 1.1rem;
   line-height: 1.7;
   color: #475569;
}

/* ========================================
   STYLE 1: 3D FLIP CARDS
   ======================================== */
.flip-card-wrap {
   perspective: 1000px;
   height: 400px;
}

.flip-card-inner {
   position: relative;
   width: 100%;
   height: 100%;
   text-align: center;
   transition: transform 0.8s;
   transform-style: preserve-3d;
   cursor: pointer;
   box-shadow: 0 10px 30px rgba(0,0,0,0.05);
   border-radius: 20px;
}

.flip-card-wrap:hover .flip-card-inner {
   transform: rotateY(180deg);
}

.flip-card-front, .flip-card-back {
   position: absolute;
   width: 100%;
   height: 100%;
   -webkit-backface-visibility: hidden;
   backface-visibility: hidden;
   border-radius: 20px;
   padding: 30px;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
}

/* RECTO */
.flip-card-front {
   background: white;
   border: 1px solid #f1f5f9;
}

.flip-icon {
   font-size: 3rem;
   color: var(--agri-green);
   margin-bottom: 20px;
   background: #f0fdf4;
   width: 80px;
   height: 80px;
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
}

.flip-title {
   font-weight: 800;
   font-size: 1.3rem;
   color: var(--agri-dark-blue);
}

.flip-hint {
   margin-top: 20px;
   font-size: 0.8rem;
   color: #94a3b8;
   text-transform: uppercase;
   letter-spacing: 1px;
}

/* VERSO */
.flip-card-back {
   background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
   color: white;
   transform: rotateY(180deg);
   overflow-y: auto;
   justify-content: flex-start;
   text-align: left;
}

.flip-card-back::-webkit-scrollbar {
   width: 4px;
}

.flip-card-back::-webkit-scrollbar-thumb {
   background: var(--agri-green);
   border-radius: 4px;
}

.back-text {
   font-size: 0.9rem;
   line-height: 1.6;
   opacity: 0.9;
}

/* ========================================
   STYLE 2: SLIDE UP OVERLAY
   ======================================== */
.slide-card {
   position: relative;
   background: white;
   border-radius: 24px;
   overflow: hidden;
   height: 450px;
   box-shadow: 0 10px 40px rgba(0,0,0,0.05);
   cursor: pointer;
   border-bottom: 5px solid var(--agri-green);
}

.slide-bg {
   position: absolute;
   inset: 0;
   background-size: cover;
   background-position: center;
   transition: 0.5s;
   filter: grayscale(100%) brightness(1.1);
}

.slide-card:hover .slide-bg {
   filter: grayscale(0%) brightness(0.4);
   transform: scale(1.1);
}

.slide-content {
   position: absolute;
   bottom: 0;
   left: 0;
   width: 100%;
   height: 100%;
   padding: 40px 30px;
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   transition: 0.5s;
   background: linear-gradient(to top, rgba(255,255,255,1) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.4) 100%);
}

.slide-card:hover .slide-content {
   background: transparent;
   justify-content: flex-start;
   padding-top: 60px;
}

.slide-icon {
   font-size: 2.5rem;
   color: var(--agri-green);
   margin-bottom: 15px;
   transition: 0.5s;
}

.slide-title {
   font-weight: 800;
   font-size: 1.4rem;
   color: var(--agri-dark-blue);
   text-align: center;
   transition: 0.5s;
   margin-bottom: 0;
}

.slide-text {
   font-size: 0.9rem;
   line-height: 1.6;
   color: white;
   text-align: center;
   opacity: 0;
   transform: translateY(20px);
   transition: 0.5s;
   max-height: 0;
   overflow: hidden;
}

.slide-card:hover .slide-title {
   color: white;
   margin-bottom: 20px;
}

.slide-card:hover .slide-icon {
   transform: scale(0.8);
   color: white;
}

.slide-card:hover .slide-text {
   opacity: 1;
   transform: translateY(0);
   max-height: 100%;
   overflow-y: auto;
}

.slide-text::-webkit-scrollbar {
   width: 4px;
}

.slide-text::-webkit-scrollbar-thumb {
   background: rgba(255,255,255,0.5);
   border-radius: 4px;
}

/* ========================================
   STYLE 3: EXPANDABLE GRID
   ======================================== */
.expand-card {
   background: white;
   border-radius: 16px;
   padding: 30px;
   border: 1px solid #e2e8f0;
   transition: 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
   position: relative;
   overflow: hidden;
   height: 100%;
   cursor: pointer;
}

.expand-card:hover {
   border-color: var(--agri-green);
   box-shadow: 0 10px 40px rgba(46, 204, 113, 0.15);
   transform: translateY(-5px);
}

.expand-header {
   display: flex;
   align-items: center;
   gap: 20px;
   margin-bottom: 20px;
}

.expand-num {
   font-size: 3rem;
   font-weight: 900;
   color: rgba(46, 204, 113, 0.2);
   line-height: 1;
   flex-shrink: 0;
}

.expand-title {
   font-weight: 800;
   color: var(--agri-dark-blue);
   font-size: 1.2rem;
   margin: 0;
}

.expand-body {
   font-size: 0.95rem;
   line-height: 1.7;
   color: #475569;
   max-height: 0;
   overflow: hidden;
   opacity: 0;
   transition: 0.4s;
}

.expand-card:hover .expand-body {
   max-height: 500px;
   opacity: 1;
   margin-top: 10px;
}

/* ========================================
   RESPONSIVE
   ======================================== */
@media (max-width: 992px) {
   .flip-card-wrap {
      height: 350px;
   }
   
   .slide-card {
      height: 400px;
   }
   
   .expand-body {
      max-height: 200px;
      opacity: 1;
   }
   
   .expand-card:hover .expand-body {
      max-height: none;
   }
}