/* FLEXIBLE RENTAL & PURCHASE OPTIONS */
.section--flexible{
  background:#f7fbf8;
  padding:10px 0 24px;
}

/* wrapper (NO persistent shine) */
.flexopts .flex-wrap{
  position:relative;
  padding:16px;
  border:1px solid #d9e9df;
  border-radius:12px;
  background:#fff;
  box-shadow:0 6px 14px rgba(15,23,42,.06), 0 1px 2px rgba(15,23,42,.05);
}

/* HARD RESET: kill any old always-on shine overlays */
.flexopts .flex-wrap::before,
.flexopts .flex-wrap::after{
  content:none !important;
  display:none !important;
}

/* title */
.flexopts .flex-title{
  text-align:center;
  color:#0f5a22;
  font-weight:900;
  font-size:clamp(18px,1.2vw + 12px,22px);
  margin:2px 0 12px;
}

/* grid */
.flexopts .flex-grid{
  display:grid;
  gap:12px;
  grid-template-columns:repeat(4,1fr);
}
@media (max-width:1024px){ .flexopts .flex-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){  .flexopts .flex-grid{ grid-template-columns:1fr; } }

/* tile */
.flexopts .flex-box{
  position:relative;
  background:#e9f3ec;
  border-radius:10px;
  padding:18px 16px;
  text-align:center;
  border:1px solid #d7ece2;
  box-shadow:0 6px 14px rgba(15,23,42,.06), 0 1px 2px rgba(15,23,42,.05);
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease;
}

/* hover sweep ONLY (hidden by default) */
.flexopts .flex-box::before{
  content:"";
  position:absolute;
  inset:-2px;
  pointer-events:none;
  transform:translateX(-120%);
  background:linear-gradient(115deg, rgba(255,255,255,0) 30%, rgba(255,255,255,.75) 50%, rgba(255,255,255,0) 70%);
  mix-blend-mode:screen;
  opacity:0;                    /* <- invisible until hover */
  will-change:transform,opacity;
}
.flexopts .flex-box:hover::before{
  opacity:1;
  animation:flex-sweep 1.05s ease;
}
@keyframes flex-sweep{ to{ transform:translateX(120%);} }

.flexopts .flex-box:hover{
  transform:translateY(-2px) scale(1.01);
  background:#f3fbf6;
  border-color:#cfe9dc;
  box-shadow:0 18px 42px rgba(15,23,42,.10), 0 4px 12px rgba(15,23,42,.07);
}

/* icons (SVG/Lucide) */
.flexopts .flex-ico{
  color:#0d4c23;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:8px;
}
.flexopts .flex-ico svg{
  width:26px; height:26px;
  stroke:#0d4c23; stroke-width:2; fill:none;
}

/* text */
.flexopts .flex-label{ font-weight:700; color:#163b23; margin-bottom:6px; font-size:14px; }
.flexopts .flex-price{ font-weight:900; color:#0f172a; font-size:16px; margin-bottom:6px; }
.flexopts .flex-note{ margin:0; color:#5a6b62; font-size:12.4px; }
