.elementor-2702 .elementor-element.elementor-element-4d618c0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family );font-weight:var( --e-global-typography-text-font-weight );}.elementor-2702 .elementor-element.elementor-element-058eaa2{--display:flex;}.elementor-2702 .elementor-element.elementor-element-058eaa2.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2702 .elementor-element.elementor-element-54545eb{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2702 .elementor-element.elementor-element-54545eb.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2702 .elementor-element.elementor-element-a0ae1be{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2702 .elementor-element.elementor-element-a0ae1be.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2702 .elementor-element.elementor-element-861e3bc{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2702 .elementor-element.elementor-element-861e3bc.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2702 .elementor-element.elementor-element-3548bec{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2702 .elementor-element.elementor-element-3548bec.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2702 .elementor-element.elementor-element-4387183{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2702 .elementor-element.elementor-element-985ecbe{--display:flex;--min-height:0px;--gap:0px 30px;--row-gap:0px;--column-gap:30px;--padding-top:0px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-2702 .elementor-element.elementor-element-51274b0 .wpr-highlighted-text svg path{-webkit-animation-duration:5s;animation-duration:5s;-webkit-animation-delay:2s;animation-delay:2s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;}.elementor-2702 .elementor-element.elementor-element-51274b0 .wpr-highlighted-text svg.wpr-highlight-x path:first-child{-webkit-animation-delay:-webkit-calc(2s + 0.3s);animation-delay:calc(2s + 0.3s);}.elementor-2702 .elementor-element.elementor-element-51274b0 .wpr-highlighted-text svg.wpr-highlight-double path:last-child{-webkit-animation-delay:-webkit-calc(2s + 0.3s);animation-delay:calc(2s + 0.3s);}.elementor-2702 .elementor-element.elementor-element-51274b0 .wpr-highlighted-text svg.wpr-highlight-double-underline path:last-child{-webkit-animation-delay:-webkit-calc(2s + 0.3s);animation-delay:calc(2s + 0.3s);}.elementor-2702 .elementor-element.elementor-element-51274b0 .wpr-advanced-text{text-align:center;}.elementor-2702 .elementor-element.elementor-element-51274b0 .wpr-advanced-text a{text-align:center;}.elementor-2702 .elementor-element.elementor-element-51274b0 .wpr-advanced-text-preffix{color:#C96C3B;font-size:24px;padding-top:10px;padding-bottom:10px;}.elementor-2702 .elementor-element.elementor-element-51274b0 .wpr-anim-text{color:#187C46;padding:10px 10px 10px 0px;}.elementor-2702 .elementor-element.elementor-element-51274b0 .wpr-highlighted-text{color:#187C46;padding:10px 10px 10px 0px;}.elementor-2702 .elementor-element.elementor-element-51274b0 .wpr-anim-text b, .elementor-2702 .elementor-element.elementor-element-51274b0 .wpr-anim-text b i,.elementor-2702 .elementor-element.elementor-element-51274b0 .wpr-anim-text,.elementor-2702 .elementor-element.elementor-element-51274b0 .wpr-highlighted-text{font-size:24px;}.elementor-2702 .elementor-element.elementor-element-51274b0 .wpr-advanced-text-suffuix{padding-top:10px;padding-bottom:10px;}.elementor-2702 .elementor-element.elementor-element-51274b0 .wpr-highlighted-text svg{width:100%;height:90%;z-index:1;}.elementor-2702 .elementor-element.elementor-element-51274b0 .wpr-highlighted-text path{stroke-width:10px;}.elementor-2702 .elementor-element.elementor-element-51274b0 .wpr-advanced-text-suffix{color:#333333;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family );font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-2702 .elementor-element.elementor-element-91ed58b{width:var( --container-widget-width, 75% );max-width:75%;--container-widget-width:75%;--container-widget-flex-grow:0;text-align:center;font-family:"Montserrat";font-weight:400;color:#000000;}.elementor-2702 .elementor-element.elementor-element-91ed58b.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-2702 .elementor-element.elementor-element-a894d4d{--display:grid;--e-con-grid-template-columns:repeat(5, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-2702 .elementor-element.elementor-element-0d626c6 > .elementor-widget-container{--e-transform-translateX:0px;}.elementor-2702 .elementor-element.elementor-element-0d626c6:hover img{filter:brightness( 100% ) contrast( 100% ) saturate( 100% ) blur( 0px ) hue-rotate( 0deg );}.elementor-2702 .elementor-element.elementor-element-8d52ac5 > .elementor-widget-container{--e-transform-translateX:0px;}.elementor-2702 .elementor-element.elementor-element-8d52ac5:hover img{filter:brightness( 100% ) contrast( 100% ) saturate( 100% ) blur( 0px ) hue-rotate( 0deg );}.elementor-2702 .elementor-element.elementor-element-4e3aaf9 > .elementor-widget-container{--e-transform-translateX:0px;}.elementor-2702 .elementor-element.elementor-element-4e3aaf9:hover img{filter:brightness( 100% ) contrast( 100% ) saturate( 100% ) blur( 0px ) hue-rotate( 0deg );}.elementor-2702 .elementor-element.elementor-element-947904a > .elementor-widget-container{--e-transform-translateX:0px;}.elementor-2702 .elementor-element.elementor-element-947904a:hover img{filter:brightness( 100% ) contrast( 100% ) saturate( 100% ) blur( 0px ) hue-rotate( 0deg );}.elementor-2702 .elementor-element.elementor-element-ffe2224 > .elementor-widget-container{--e-transform-translateX:0px;}.elementor-2702 .elementor-element.elementor-element-ffe2224:hover img{filter:brightness( 100% ) contrast( 100% ) saturate( 100% ) blur( 0px ) hue-rotate( 0deg );}.elementor-2702 .elementor-element.elementor-element-35acf4c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2702 .elementor-element.elementor-element-35acf4c.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2702 .elementor-element.elementor-element-af20159{width:var( --container-widget-width, 104.842% );max-width:104.842%;--container-widget-width:104.842%;--container-widget-flex-grow:0;}.elementor-2702 .elementor-element.elementor-element-af20159.elementor-element{--flex-grow:0;--flex-shrink:0;}@media(max-width:1024px){.elementor-2702 .elementor-element.elementor-element-a894d4d{--grid-auto-flow:row;}}@media(min-width:768px){.elementor-2702 .elementor-element.elementor-element-058eaa2{--width:127.648%;}.elementor-2702 .elementor-element.elementor-element-54545eb{--width:137.7%;}.elementor-2702 .elementor-element.elementor-element-a0ae1be{--width:91.952%;}.elementor-2702 .elementor-element.elementor-element-861e3bc{--width:108.752%;}.elementor-2702 .elementor-element.elementor-element-3548bec{--width:141.951%;}.elementor-2702 .elementor-element.elementor-element-35acf4c{--width:132.729%;}}@media(max-width:767px){.elementor-2702 .elementor-element.elementor-element-51274b0 .wpr-advanced-text-preffix{font-size:24px;}.elementor-2702 .elementor-element.elementor-element-51274b0 .wpr-anim-text b, .elementor-2702 .elementor-element.elementor-element-51274b0 .wpr-anim-text b i,.elementor-2702 .elementor-element.elementor-element-51274b0 .wpr-anim-text,.elementor-2702 .elementor-element.elementor-element-51274b0 .wpr-highlighted-text{font-size:25px;}.elementor-2702 .elementor-element.elementor-element-91ed58b > .elementor-widget-container{padding:0px 8px 0px 8px;}.elementor-2702 .elementor-element.elementor-element-91ed58b{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;font-size:15px;}.elementor-2702 .elementor-element.elementor-element-a894d4d{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--grid-auto-flow:row;--padding-top:10px;--padding-bottom:10px;--padding-left:0px;--padding-right:0px;}.elementor-2702 .elementor-element.elementor-element-0d626c6.elementor-element{--flex-grow:0;--flex-shrink:1;}.elementor-2702 .elementor-element.elementor-element-0d626c6 img{width:100%;max-width:100%;}.elementor-2702 .elementor-element.elementor-element-8d52ac5.elementor-element{--flex-grow:0;--flex-shrink:1;}.elementor-2702 .elementor-element.elementor-element-8d52ac5 img{width:100%;max-width:100%;}.elementor-2702 .elementor-element.elementor-element-4e3aaf9.elementor-element{--flex-grow:0;--flex-shrink:1;}.elementor-2702 .elementor-element.elementor-element-4e3aaf9 img{width:100%;max-width:100%;}.elementor-2702 .elementor-element.elementor-element-947904a.elementor-element{--flex-grow:0;--flex-shrink:1;}.elementor-2702 .elementor-element.elementor-element-947904a img{width:100%;max-width:100%;}.elementor-2702 .elementor-element.elementor-element-ffe2224.elementor-element{--flex-grow:0;--flex-shrink:1;}.elementor-2702 .elementor-element.elementor-element-ffe2224 img{width:100%;max-width:100%;}}/* Start custom CSS for html, class: .elementor-element-d98bf69 *//* ======= LAYOUT 4 CỘT GIỐNG HÌNH ======= */
.stats-section {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  padding: 10px 0;
}

.stat-card {
  font-family: 'Roboto', sans-serif;
  border: 1px solid #ccc;
  border-radius: 12px;
  padding: 12px 5px;
  text-align: center;
  background: #fff;
  transition: all 0.3s ease;
}

/* ======= HOVER LẤY TỪ CODE CỦA BẠN ======= */
.stat-card:hover {
  box-shadow: 0 5px 15px rgba(0, 128, 0, 0.2);
  border-color: #00a651;
  transform: translateY(-1px);
  background-color: #f9fff9;
}

.stat-card h2 {
  font-size: 25px;
  font-weight: 700;
  margin: 0 0 1px 0;
  color: #317c48;
}

.stat-card p {
  margin: 0;
  font-size: 15px;
  color: #444;
}

/* ======= RESPONSIVE ======= */

/* Tablet → 2 cột */
@media (max-width: 900px) {
  .stats-section {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Mobile → vẫn giữ 2 cột (2x2) */
@media (max-width: 480px) {
  .stats-section {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .stat-card h2 {
    font-size: 20px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d416b6 */:root{
      --bg: #fafbf9;
      --card-bg: #ffffff;
      --text: #21342b;
      --muted: #6b6f6b;
      --accent: #2f6b44;     /* green premium accent */
      --border: #e9efe9;
      --radius: 14px;
      --gap: 24px;
      --container-max: 1200px;
      --shadow-subtle: 0 6px 18px rgba(31,43,42,0.06);
    }
    
    /* Utility */
    .container{ max-width:var(--container-max); margin:0 auto; padding:0 16px; }
    
    /* Section */
    .core-values-section{
      background:var(--bg);
      padding:36px 0;
    }
    .core-values-inner{ text-align:center; }
    
    /* Header */
    .cv-header{ max-width:820px; margin:0 auto 18px; }
    .section-title{
      font-family:"Lora", serif;
      font-size:28px;
      font-weight:700;
      color:var(--text);
      margin:0 0 6px;
      line-height:1.05;
    }
    .section-subtitle{
      font-family:"Roboto", sans-serif;
      font-size:15px;
      color:var(--muted);
      margin:0;
      line-height:1.4;
    }
    
    /* Grid */
    .core-values-grid{
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap:var(--gap);
      margin-top:26px;
      align-items:stretch;
      gap: 15px;
    }
    
    /* Card */
    .core-card{
      background:var(--card-bg);
      border-radius:var(--radius);
      padding:24px;
      border:1px solid var(--border);
      box-shadow:var(--shadow-subtle);
      text-align:center;
      display:flex;
      flex-direction:column;
      gap:12px;
      transition: transform .18s ease, box-shadow .18s ease;
      min-height:200px;
    }
    
    @media (hover: hover){
      .core-card:hover{
        transform:translateY(-6px);
        box-shadow:0 18px 40px rgba(31,43,42,0.08);
        border-color: rgba(47,107,68,0.12);
      }
    }
    
    /* Icon */
    .icon-wrap{
      width:72px;
      height:72px;
      border-radius:50%;
      background:linear-gradient(180deg, rgba(47,107,68,0.06), rgba(255,255,255,0.3));
      display:flex;
      align-items:center;
      justify-content:center;
      margin:0 auto;
      flex:0 0 auto;
    }
    .icon-wrap img{ width:65%; height:auto; display:block; }
    
    /* Title & text */
    .core-card h3{
      font-family:"Lora", serif;
      font-size:18px;
      color:var(--text);
      margin:0;
      line-height:1.15;
    }
    .core-card p{
      font-family:"Roboto", sans-serif;
      font-size:14px;
      color:var(--muted);
      margin:0;
      line-height:1.5;
      flex:1 0 auto;
    }
    
    /* Accessibility: focus */
    .core-card:focus-within, .core-card:focus{
      outline:3px solid rgba(47,107,68,0.08);
      outline-offset:6px;
    }
    
    /* Responsive: tablet -> 2 cols, mobile -> 1 col, tighter spacing */
    @media (max-width: 1024px){
      .core-values-grid{ grid-template-columns: repeat(2, 1fr); gap:20px; }
      .section-title{ font-size:26px; }
    }
    @media (max-width: 600px){
      .core-values-grid{ grid-template-columns: 1fr; gap:16px; padding:0 8px; }
      .core-card{ padding:18px; border-radius:12px; min-height:auto; }
      .icon-wrap{ width:60px; height:60px; }
      .section-title{ font-size:22px; margin-bottom:4px; }
      .section-subtitle{ font-size:13px; }
      .core-card h3{ font-size:17px; }
      .core-card p{ font-size:14px; }
    }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0b9d1b6 *//* =========================
   FEATURED PRODUCTS – CLEAN FINAL
   - Square images
   - PC larger, Mobile compact (swipe)
   ========================= */

:root{
  --container-max:1200px;
  --green:#0F7A43;
  --text:#21342b;
  --muted:#565a56;
  --card-bg:#fff;
  --border:#e9efe9;
  --radius:14px;
  --gap:10px;
}

/* container util */
.container{ max-width:var(--container-max); margin:0 auto; padding:0 16px; box-sizing:border-box; }

/* wrapper + layout */
.featured-wrapper{ padding:12px 0 32px; background:transparent; }
.featured-layout{ display:grid; grid-template-columns:1.2fr 2.0fr; gap:20px; align-items:center; }

/* left content */
.featured-content h2{
  font-family:'Lora',serif; font-size:34px; color:var(--green); margin:0 0 12px; line-height:1.05;
}
.featured-content p{
  font-family:Roboto,system-ui; color:var(--muted); font-size:14px; line-height:1.6; margin:0 0 18px; max-width:460px;
}
.btn-view-all{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 14px; font-weight:600; font-size:13px; color:var(--green);
  border:1.5px solid var(--green); border-radius:999px; text-decoration:none;
}
.btn-view-all:hover{ background:var(--green); color:#fff; }

/* product grid (PC default) */
.featured-products{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--gap);
  align-items:start;
  /* make product area visually larger */
  margin-left: -24px;           /* gentle left overlap to balance text block */
  padding-left: 12px;
}

/* product card */
.product-card{
  display:block; background:var(--card-bg); border:1px solid var(--border);
  border-radius:var(--radius); padding:12px; text-decoration:none; overflow:hidden;
  transition:transform .22s ease, box-shadow .22s ease;
}
.product-card:hover{ transform:translateY(-4px); box-shadow:0 14px 36px rgba(15,40,30,0.06); }

/* image – force square and preserve aspect */
.product-card img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:contain;
  display:block;
  background:#fafcf9;
  border-radius:10px;
}

/* ============ Responsive ============ */
/* Tablet: stack left + 2-column products */
@media (max-width:1024px){
  .featured-layout{ grid-template-columns:1fr; gap:18px; }
  .featured-products{
    margin-left:0; padding-left:0;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
  }
  .featured-content h2{ font-size:30px; }
}

/* Mobile: single column; products become horizontal swipe list */
@media (max-width:768px){
  .featured-layout{ grid-template-columns:1fr; gap:14px; padding:6px 12px; }
  .featured-content h2{ font-size:24px; margin-bottom:6px; }
  .featured-content p{ font-size:14px; }

  .featured-products{
    display:flex;
    gap:12px;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory;
    padding-bottom:8px;
    margin:0 -10px;
  }

  .product-card{
    flex:0 0 72%;                /* mobile card width (compact) */
    min-width:200px;
    scroll-snap-align:center;
    padding:10px;
    border-radius:12px;
    box-shadow:0 8px 20px rgba(0,0,0,0.04);
  }

  .product-card img{ aspect-ratio:1/1; height:auto; border-radius:8px; }
}

/* Small phones */
@media (max-width:420px){
  .product-card{ flex:0 0 82%; min-width:170px; }
  .featured-content h2{ font-size:20px; }
  .featured-content p{ font-size:13px; }
}

/* Accessibility focus */
.product-card:focus, .btn-view-all:focus{ outline:3px solid rgba(15,122,67,0.12); outline-offset:4px; }

/* Optional: hide mobile scroll bar (subtle) */
.featured-products::-webkit-scrollbar{ height:6px; }
.featured-products::-webkit-scrollbar-thumb{ background:rgba(0,0,0,0.08); border-radius:6px; }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6a8b453 */:root{
  --max-width:1200px;

  --frame-size:120px;
  --frame-offset:10px;
  --dot-size:18px;
  --line-thickness:2px;
  --step-gap:32px;
}

.life-cycle{
  padding:20px 70px 10px;
  font-family:'Roboto', sans-serif;  
  position:relative;
}
.life-cycle .container{
  max-width:var(--max-width);
  margin:0 auto;
  position:relative;
}
.timeline-line{
  position:absolute;
  left:5%;
  right:5%;
  top: calc(var(--frame-size) + var(--frame-offset));
  height:var(--line-thickness);
  background:#e5e7eb;
  border-radius:2px;
  z-index:1;
}

.steps{
  display:flex;
  justify-content:space-between;
  gap:var(--step-gap);
  position:relative;
  z-index:2;
}
.step{
  width:calc((100% - 3*var(--step-gap)) / 4);
  text-align:center;
  position:relative;
}

/* ===============================
   FRAME
================================*/
.frame{
  width:var(--frame-size);
  height:var(--frame-size);
  border-radius:50%;
  overflow:hidden;
  margin:0 auto;
  position:relative;

  transform:translateY(calc(-1 * var(--frame-offset)));
  background:linear-gradient(180deg,#f7fbf7,#eef7ee);
  border:3px solid white;
  box-shadow:0 8px 20px rgba(0,0,0,0.08);
}
.frame img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* ===============================
   DOT
================================*/
.step .dot{
  width:var(--dot-size);
  height:var(--dot-size);
  border-radius:50%;
  background:#774104; /* default -> Step 1 color */
  border:3px solid #fff;

  position:absolute;
  left:50%;
  transform:translateX(-50%);
  top: calc(var(--frame-size) + var(--frame-offset) - var(--dot-size)/2);

  box-shadow:0 5px 14px rgba(0,0,0,0.15);
  z-index:3;
}

.step:nth-child(1) .dot{ background:#774104; }  
.step:nth-child(2) .dot{ background:#a2d34f; }  
.step:nth-child(3) .dot{ background:#E8B7A3; }  
.step:nth-child(4) .dot{ background:#F2C94C; }  

.title{
  margin-top: calc(var(--frame-size) + var(--frame-offset) - 90px);
  font-family:'Lora', serif;   /* title dùng Lora */
  font-size:18px;
  font-weight:700;
  color:#1f2937;
}
.desc{
  margin-top:6px;
  font-family:'Roboto', sans-serif;  /* nội dung dùng Roboto */
  font-size:14px;
  color:#4b5563;
  line-height:1.45;
}

/* ===============================
   RESPONSIVE 900PX → 2 CỘT
================================*/
@media (max-width:900px){
  :root{
    --frame-size:90px;
    --frame-offset:20px;
    --dot-size:14px;
  }
  .steps{
    flex-wrap:wrap;
    gap:20px;
  }
  .step{
    width:calc(50% - 10px);
  }
  .timeline-line{
    top: calc(var(--frame-size) + var(--frame-offset));
  }
}

.steps:hover .step{
  opacity:0.05;
  transition:0.3s;
}

/* Step đang hover được trả về sáng 100% */
.steps:hover .step:hover{
  opacity:1;
}

/* Tăng sáng FRAME khi hover vào step */
.step:hover .frame{
  filter:brightness(1.15);
  transform:scale(1.05);
  transition:0.3s ease;
  box-shadow:0 10px 24px rgba(0,0,0,0.15);
  border-color:currentColor;
}

.step:nth-child(1):hover .frame{
  box-shadow:0 10px 24px rgba(119,65,4,0.45);
  border-color:#774104;
}
.step:nth-child(2):hover .frame{
  box-shadow:0 10px 24px rgba(162,211,79,0.45);
  border-color:#a2d34f;
}
.step:nth-child(3):hover .frame{
  box-shadow:0 10px 24px rgba(232,183,163,0.55);
  border-color:#E8B7A3;
}
.step:nth-child(4):hover .frame{
  box-shadow:0 10px 24px rgba(242,201,76,0.45);
  border-color:#F2C94C;
}

@media (max-width:480px){

  :root{
    --frame-size:58px;
    --frame-offset:10px;
    --dot-size:10px;
  }

  .life-cycle{
    padding:22px 14px;
  }

  .steps{
    flex-direction:column;
    gap:18px;
  }

  .step{
    width:100%;
    display:flex;
    text-align:left;
    align-items:center;
    gap:12px;
    padding:0;
  }

  .frame{
    width:var(--frame-size);
    height:var(--frame-size);
    flex-shrink:0;
    border-radius:50%;
    overflow:hidden;
    transform:none;
    margin:0;
    box-shadow:0 4px 10px rgba(0,0,0,0.08);
  }

  .frame img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  .timeline-line,
  .step .dot{
    display:none;
  }

  .title{
    margin-top:0;
    font-size:15px;
    font-weight:700;
    line-height:1.25;
  }

  .desc{
    margin-top:4px;
    font-size:12.5px;
    line-height:1.35;
    max-width:100%;
    word-break:break-word;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-605fbd5 */:root{
  --green-dark: #134e36; 
  --green-mid:  #2f6b44;  
  --green-soft: #eaf6f0;
  --white:      #ffffff;
  --muted:      #6b6f6b;
  --card-border: #e6efe9;
  --radius: 12px;
  --container: 1200px;
  --shadow: 0 10px 24px rgba(18,45,34,0.06);
}

/* container utility */
.container { max-width:var(--container); margin:0 auto; padding:0 16px; }

/* wrapper */
.feedback-wrapper { padding:25px 0 40px; }

/* header */
.section-head { text-align:center; margin-bottom:14px; }
.section-head h2 { margin:0; font-family:"Lora", serif; font-size:26px; color:var(--green-dark); }
.section-head .lead { margin:6px 0 0; color:var(--muted); font-size:13px; }

/* --- Feedback slider / grid --- */
.feedback-slider {
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
  align-items:stretch;
  margin-top:10px;
}

/* card */
.card{
  background: linear-gradient(180deg, var(--white), #fbfffb);
  border:1px solid var(--card-border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height:220px;
  transition: box-shadow .18s ease, transform .18s ease;
}

/* subtle hover for desktop */
@media (min-width: 769px){
  .card:hover{ transform: translateY(-6px); box-shadow: 0 18px 40px rgba(20,60,44,0.06); }
}

.card-top{ display:flex; gap:12px; align-items:center; padding:14px; }
.avatar{ width:56px; height:56px; border-radius:50%; object-fit:cover; border:1px solid rgba(0,0,0,0.04); }
.meta{ overflow:hidden; min-width:0; }
.name{ margin:0; font-family:"Lora",serif; font-size:15px; color:var(--green-dark); font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.location{ color:var(--muted); font-size:13px; margin-top:4px; }

.rating{ margin-left:auto; color:#d4b04a; font-size:14px; }

/* body */
.card-body{ padding:12px 14px 16px; color:#2f2f2f; font-size:14px; line-height:1.55; display:flex; flex-direction:column; justify-content:space-between; }
.card-body p{ margin:0 0 8px; color:#424242; }
.fruit{ width:52px; height:52px; align-self:flex-end; opacity:0.95; object-fit:contain; }

/* dots */
.dots{ display:flex; gap:8px; justify-content:center; margin-top:12px; }
.dot{ width:9px; height:9px; border-radius:50%; background:#e6e6e6; border:0; }
.dot.is-active{ background:var(--green-mid); }

/* --- Results --- */
.results{ margin-top:30px; padding:18px; border-radius:14px; background:linear-gradient(180deg,var(--green-soft), #f8fff8); border:1px solid #e6f1e9; }
.results-title{ font-family:"Lora",serif; margin:0; text-align:center; color:var(--green-dark); font-size:18px; }
.results-sub{ text-align:center; color:var(--muted); margin:8px 0 12px; font-size:13px; }

.results-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap:14px; margin-top:6px; }
.stat{ background:var(--white); border-radius:10px; padding:14px; border:1px solid #eef6ee; text-align:center; min-height:100px; display:flex; flex-direction:column; justify-content:center; }
.stat-num{ font-family:"Lora",serif; font-size:26px; color:var(--green-dark); font-weight:700; }
.stat-label{ font-size:13px; color:#657060; margin-top:6px; }

/* responsive */
@media (max-width:1024px){
  .feedback-slider{ grid-template-columns: repeat(2,1fr); }
  .results-grid{ grid-template-columns: repeat(2,1fr); }
}
@media (max-width:768px){
  /* slider -> horizontal scroll */
  .feedback-slider{
    display:flex; gap:14px; overflow-x:auto; padding-bottom:8px; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
  }
  .card{ flex:0 0 86%; scroll-snap-align:center; min-height:200px; }
  .results-grid{ grid-template-columns: repeat(2,1fr); }
}
@media (max-width:540px){
  .container{ padding:0 12px; }
  .section-head h2{ font-size:20px; }
  .feedback-slider{ gap:12px; }
  .card-top{ padding:12px; }
  .avatar{ width:48px; height:48px; }
  .results-grid{ grid-template-columns:1fr; }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-0d626c6 */.elementor-2702 .elementor-element.elementor-element-0d626c6 img {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

@media (max-width: 480px) {
   .elementor-2702 .elementor-element.elementor-element-0d626c6 {
       height: 50px;
       width: 50px;
   }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-8d52ac5 */.elementor-2702 .elementor-element.elementor-element-8d52ac5 img {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

@media (max-width: 480px) {
   .elementor-2702 .elementor-element.elementor-element-8d52ac5 {
       height: 50px;
       width: 50px;
   }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-4e3aaf9 */.elementor-2702 .elementor-element.elementor-element-4e3aaf9 img {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

@media (max-width: 480px) {
   .elementor-2702 .elementor-element.elementor-element-4e3aaf9 {
       height: 50px;
       width: 50px;
   }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-947904a */.elementor-2702 .elementor-element.elementor-element-947904a img {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

@media (max-width: 480px) {
   .elementor-2702 .elementor-element.elementor-element-947904a {
       height: 50px;
       width: 50px;
   }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-ffe2224 */.elementor-2702 .elementor-element.elementor-element-ffe2224 img {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

@media (max-width: 480px) {
   .elementor-2702 .elementor-element.elementor-element-ffe2224 {
       height: 50px;
       width: 50px;
   }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-301ab20 *//* Import font */
@import url('https://fonts.googleapis.com/css2?family=Lora:wght@400;600;700&family=Roboto:wght@300;400;500;700&display=swap');

.features-title {
  font-family: 'Lora', serif !important;
  text-align: center;
  font-size: 22px;
  font-weight: 600;
  color: #4a3b27;
  margin-bottom: 20px;
}

/* GRID */
.features-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
}

/* === CARD GOLD PREMIUM === */
.feature-card.premium {
  background: #fffdf7;
  border: 1px solid #e4d5b6;  
  border-radius: 14px;
  padding: 25px;
  box-shadow: 0 2px 6px rgba(180, 140, 60, 0.08);
  text-decoration: none;
  display: block;
  cursor: pointer;
  transition: 0.3s ease;
}

/* Hover GOLD EFFECT */
.feature-card.premium:hover {
  transform: translateY(-6px);
  border-color: #d4a64c;
  background: #fffaf0;
  box-shadow: 0 12px 28px rgba(212, 166, 76, 0.22);
}

/* === ICON GOLD PREMIUM === */
.premium-icon {
  width: 55px;
  height: 55px;
  border-radius: 12px;
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  justify-content: center;

  box-shadow: 0 6px 18px rgba(205, 162, 82, 0.25);
  transition: 0.25s ease;
}

/* Icon Hover */
.feature-card.premium:hover .premium-icon {
  transform: scale(1.08);
  box-shadow: 0 10px 25px rgba(205, 162, 82, 0.35);
}

.premium-icon img {
  width: 40px;
  height: 40px;
}

/* TEXT – PREMIUM */
.feature-card h3 {
  font-family: 'Lora', serif;
  font-size: 20px;
  font-weight: 600;
  color: #4AA956;
  margin-bottom: 8px;
}

.feature-card p {
  font-family: 'Roboto', sans-serif;
  font-size: 15px;
  color: #6b5a45;
  line-height: 1.5;
}

/* MOBILE */
@media (max-width: 480px) {
  .features-title {
    font-size: 18px;
    margin-bottom: 18px;
  }
  .features-grid {
    grid-template-columns: 1fr;
  }
  .feature-card.premium {
    padding: 16px;
  }
  .premium-icon {
    width: 42px;
    height: 42px;
  }
  .premium-icon img {
    width: 22px;
  }
  .feature-card h3 {
    font-size: 16px;
  }
  .feature-card p {
    font-size: 13px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-af20159 *//* Font import */
.cta-section {
  padding: 40px;
  text-align: center;
  color: white;
  background: linear-gradient(
    90deg,
    #0F7A43 0%,
    #8cbc45 40%,
    #4AA956 100%
  );
}

/* Heading → Lora */
.cta-section h2 {
  font-family: 'Lora', serif;
  font-size: 36px;
  font-weight: 700;
  margin-bottom: 5px;
}

/* Body → Roboto */
.cta-section p {
  font-family: 'Roboto', sans-serif;
  font-size: 18px;
  max-width: 800px;
  margin: 0 auto 20px;
  line-height: 1.6;
}

.cta-buttons {
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
}

/* Nút */
.btn-primary,
.btn-outline {
  font-family: 'Roboto', sans-serif;
  padding: 14px 28px;
  border-radius: 8px;
  display: inline-block;
  font-weight: 600;
  text-decoration: none;
  transition: 0.25s ease;
  cursor: pointer;
}

.btn-primary {
  background: white;
  color: #317c48;
  border: 2px solid white;
}

.btn-outline {
  background: transparent;
  color: white;
  border: 2px solid white;
}

/* Hover */
.btn-primary:hover,
.btn-outline:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(255, 255, 255, 0.35);
  opacity: 0.95;
}

/* 📱 Mobile */
@media (max-width: 600px) {
  .cta-buttons {
    flex-direction: column;
    gap: 15px;
  }

  .btn-primary,
  .btn-outline {
    width: 100%;
    max-width: 260px;
    margin: 0 auto;
    text-align: center;
  }
}/* End custom CSS */