/* conesenfolie.ca — CSS V4 "Candy Studio"
   100% nouveau style (différent du V2/V3 et PAS corporate)
   - fun / jeune / chaleureux, mais premium
   - beaucoup de blanc, accents pastel "jujubes"
   - rond, cartes propres, ombres très soft
   - pas de Google Fonts (system stack)
   - animations subtiles
   Bonus: thème crème via body.theme-cream
*/

/* -----------------------------
   Base + Reset
------------------------------ */
*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  color: var(--ink);
  background: var(--bg);
  font-family: ui-rounded, system-ui, -apple-system, "SF Pro Display", "SF Pro Text",
               "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  line-height: 1.6;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}



/* -----------------------------
   Ambient candy glow (plus de couleur sans être "too much")
------------------------------ */
body::before{
  content:"";
  position: fixed;
  inset: -80px;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(520px 420px at 14% 12%, color-mix(in oklab, var(--pink) 55%, transparent) 0 58%, transparent 72%),
    radial-gradient(520px 420px at 86% 18%, color-mix(in oklab, var(--sky) 55%, transparent) 0 56%, transparent 72%),
    radial-gradient(560px 460px at 22% 86%, color-mix(in oklab, var(--mint) 50%, transparent) 0 56%, transparent 74%),
    radial-gradient(560px 460px at 86% 86%, color-mix(in oklab, var(--lemon) 50%, transparent) 0 55%, transparent 74%);
  filter: blur(18px) saturate(1.15);
  opacity: .55;
}
@media (prefers-reduced-motion: no-preference){
  body::before{ animation: candyfloat 14s ease-in-out infinite alternate; }
  @keyframes candyfloat{
    from{ transform: translate3d(0,0,0) scale(1); }
    to  { transform: translate3d(0,-14px,0) scale(1.02); }
  }
}
img, svg, video { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
a:hover { text-decoration: underline; text-underline-offset: 4px; }

:focus-visible {
  outline: 3px solid color-mix(in oklab, var(--sky) 55%, white);
  outline-offset: 3px;
  border-radius: 14px;
}

::selection { background: color-mix(in oklab, var(--pink) 22%, white); }

/* -----------------------------
   Tokens
------------------------------ */
:root{
  /* Surfaces */
  --bg: #fffefe;
  --bg2:#f7f7ff;      /* très léger violet froid */
  --card:#ffffff;
  --line: rgba(18, 22, 34, 0.10);

  /* Texte */
  --ink: #161a26;
  --muted: rgba(22, 26, 38, 0.72);
  --soft: rgba(22, 26, 38, 0.56);

  /* Pastels */
  --pink: #f7a3c4;
  --lemon:#ffe39b;
  --sky:  #a7dbff;
  --mint: #a8f1dd;
  --grape:#cdbbff;
  --peach:#ffd2b5;

  /* CTA */
  --cta: linear-gradient(145deg,
    color-mix(in oklab, var(--peach) 72%, white),
    color-mix(in oklab, var(--pink) 72%, white),
    color-mix(in oklab, var(--sky) 68%, white)
  );

  /* Radius */
  --r1: 14px;
  --r2: 18px;
  --r3: 26px;
  --r4: 38px;

  /* Shadows */
  --s1: 0 10px 22px rgba(18, 22, 34, 0.08);
  --s2: 0 18px 44px rgba(18, 22, 34, 0.10);

  /* Layout */
  --max: 1120px;
  --px: clamp(16px, 4vw, 28px);

  /* Motion */
  --t1: 150ms;
  --t2: 260ms;
  --ease: cubic-bezier(.2,.9,.2,1);
}

/* Bonus thème crème */
body.theme-cream{
  --bg:#fff8ef;
  --bg2:#fff2e6;
  --line: rgba(34, 24, 14, 0.10);
  --s2: 0 18px 44px rgba(255, 168, 190, 0.12);
}

/* -----------------------------
   Container alignment (classes existantes)
------------------------------ */
.container, .wrap, .inner, .nav, .hero, .section {
  width: min(var(--max), 100%);
  margin-inline: auto;
  padding-inline: var(--px);
}

/* -----------------------------
   Background: "candy paper" (unique)
------------------------------ */
body::before{
  content:"";
  position: fixed;
  inset: -30%;
  z-index: -1;
  pointer-events: none;
  background:
    /* ruban diagonal super léger */
    repeating-linear-gradient(
      135deg,
      color-mix(in oklab, var(--bg2) 45%, transparent) 0 14px,
      transparent 14px 34px
    ),
    /* blobs */
    radial-gradient(480px 340px at 8% 6%,
      color-mix(in oklab, var(--sky) 14%, transparent),
      transparent 70%
    ),
    radial-gradient(520px 360px at 98% 18%,
      color-mix(in oklab, var(--pink) 13%, transparent),
      transparent 72%
    ),
    radial-gradient(560px 400px at 50% 108%,
      color-mix(in oklab, var(--mint) 12%, transparent),
      transparent 72%
    );
  filter: saturate(1.02);
}

/* -----------------------------
   Topbar / Nav (style pill + underline fun)
------------------------------ */
.topbar{
  position: sticky;
  top: 0;
  z-index: 50;
  background: color-mix(in oklab, var(--card) 86%, transparent);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid color-mix(in oklab, var(--line) 85%, transparent);
}

.topbar .nav{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding-block: 12px;
}

.brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight: 1000;
  letter-spacing: -0.03em;
  color: var(--ink);
  white-space: nowrap;
}

.brand img, .brand svg{
  width: 42px; height: 42px;
  border-radius: 16px;
  background: color-mix(in oklab, var(--bg2) 85%, white);
  box-shadow: 0 14px 30px rgba(18,22,34,.08);
  border: 1px solid color-mix(in oklab, var(--line) 70%, transparent);
}

.navlinks{
  display:flex;
  gap: 6px;
  flex-wrap: wrap;
  align-items:center;
  justify-content:center;
}

.navlinks a{
  position: relative;
  display:inline-flex;
  align-items:center;
  padding: 10px 12px;
  border-radius: 999px;
  font-weight: 850;
  color: color-mix(in oklab, var(--ink) 88%, #000);
  transition: background var(--t1) var(--ease), transform var(--t1) var(--ease);
}

.navlinks a::after{
  content:"";
  position:absolute;
  left: 14px; right: 14px;
  bottom: 7px;
  height: 2px;
  border-radius: 99px;
  background: transparent;
  transform: scaleX(.4);
  opacity: 0;
  transition: transform var(--t2) var(--ease), opacity var(--t2) var(--ease), background var(--t2) var(--ease);
}

.navlinks a:hover{
  text-decoration:none;
  background: color-mix(in oklab, var(--bg2) 70%, white);
  transform: translateY(-1px);
}
.navlinks a:hover::after{
  opacity: 1;
  transform: scaleX(1);
  background: linear-gradient(90deg,
    color-mix(in oklab, var(--sky) 70%, white),
    color-mix(in oklab, var(--pink) 70%, white),
    color-mix(in oklab, var(--mint) 70%, white)
  );
}

.navlinks a.active,
.navlinks a[aria-current="page"]{
  background: color-mix(in oklab, var(--mint) 18%, white);
}

.topbar .cta{
  display:inline-flex;
  align-items:center;
  gap: 10px;
}

/* Mobile nav: stack clean */
@media (max-width: 860px){
  .topbar .nav{ flex-wrap: wrap; }
  .brand{ order: 1; margin-right: auto; }
  .cta{ order: 2; margin-left: auto; }
  .navlinks{ order: 3; width: 100%; justify-content: flex-start; }
}
@media (max-width: 520px){
  .navlinks a{ padding: 9px 10px; font-size: 14px; }
}

/* -----------------------------
   Hero (poster card + candy sticker)
------------------------------ */
.hero{
  padding-block: clamp(22px, 5vw, 54px);
}

.hero .card{
  position: relative;
  overflow: hidden;
  border-radius: var(--r4);
  padding: clamp(18px, 3.8vw, 38px);
  background:
    radial-gradient(120px 90px at 14% 18%, color-mix(in oklab, var(--lemon) 26%, transparent), transparent 70%),
    radial-gradient(140px 100px at 86% 24%, color-mix(in oklab, var(--grape) 22%, transparent), transparent 72%),
    radial-gradient(160px 110px at 55% 120%, color-mix(in oklab, var(--sky) 20%, transparent), transparent 72%),
    linear-gradient(180deg, color-mix(in oklab, var(--card) 94%, white), color-mix(in oklab, var(--card) 88%, var(--bg2)));
  border: 1px solid color-mix(in oklab, var(--line) 86%, transparent);
  box-shadow: var(--s2);
}

.hero .card::before{
  /* “sticker” rond en coin */
  content:"";
  position:absolute;
  width: 160px; height: 160px;
  right: -60px; top: -60px;
  border-radius: 999px;
  background: var(--cta);
  opacity: .55;
  filter: blur(0px);
}

.hero h1{
  margin: 0 0 10px;
  font-weight: 1100;
  letter-spacing: -0.06em;
  font-size: clamp(28px, 4.4vw, 52px);
  line-height: 1.02;
  color: var(--ink);
}

.hero .lead, .hero p{
  margin: 0 0 14px;
  color: var(--muted);
  max-width: 65ch;
  font-size: clamp(15px, 1.6vw, 18px);
}

.hero .cta{
  display:flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items:center;
  margin-top: 12px;
}

.pill{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  font-weight: 900;
  font-size: 13px;
  color: color-mix(in oklab, var(--ink) 88%, #000);
  background: color-mix(in oklab, var(--lemon) 28%, white);
  border: 1px solid color-mix(in oklab, var(--line) 75%, transparent);
  box-shadow: 0 12px 22px rgba(18,22,34,.07);
}

/* -----------------------------
   Buttons (vraie vibe candy, très CTA)
------------------------------ */
.btn, button.btn, a.btn, input[type="submit"].btn{
  appearance: none;
  border: 0;
  cursor: pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  padding: 12px 16px;
  border-radius: 999px;
  font-weight: 1000;
  letter-spacing: -0.01em;
  color: #151924;
  background: color-mix(in oklab, var(--bg2) 75%, white);
  box-shadow: var(--s1);
  transition: transform var(--t1) var(--ease), box-shadow var(--t2) var(--ease), filter var(--t2) var(--ease);
}

.btn:hover{
  transform: translateY(-2px);
  box-shadow: var(--s2);
  filter: saturate(1.03);
  text-decoration:none;
}

.btn:active{ transform: translateY(0) scale(.99); }

.btn.cta, .btn.primary{
  background: var(--cta);
  position: relative;
  overflow: hidden;
}

.btn.cta::after, .btn.primary::after{
  /* shine */
  content:"";
  position:absolute;
  inset: -60% -40%;
  background: radial-gradient(closest-side, rgba(255,255,255,.85), rgba(255,255,255,0) 68%);
  transform: translateX(-35%) rotate(12deg);
  opacity: 0;
  transition: opacity var(--t2) var(--ease), transform var(--t2) var(--ease);
}
.btn.cta:hover::after, .btn.primary:hover::after{
  opacity: .55;
  transform: translateX(8%) rotate(12deg);
}

.btn.secondary{
  background: linear-gradient(145deg,
    color-mix(in oklab, var(--mint) 70%, white),
    color-mix(in oklab, var(--sky) 66%, white)
  );
}

.btn.ghost{
  background: transparent;
  border: 1px solid color-mix(in oklab, var(--line) 92%, transparent);
  box-shadow: none;
  color: var(--ink);
}
.btn.ghost:hover{
  background: color-mix(in oklab, var(--pink) 10%, white);
  box-shadow: 0 14px 28px rgba(18,22,34,.08);
}

.btn.small{ padding: 9px 12px; }
.btn.block{ width: 100%; }

/* Mobile: éviter débordement avec CTA */
@media (max-width: 480px){
  .btn{ width: 100%; }
}

/* -----------------------------
   Sections / Cards / Features
------------------------------ */
.section{
  padding-block: clamp(26px, 6vw, 78px);
}

.section h2{
  margin: 0 0 12px;
  font-size: clamp(22px, 2.6vw, 34px);
  font-weight: 1100;
  letter-spacing: -0.04em;
  color: var(--ink);
}

.section .subtitle, .section .muted{
  color: var(--muted);
  max-width: 72ch;
}

.card{
  background: var(--card);
  border: 1px solid color-mix(in oklab, var(--line) 86%, transparent);
  border-radius: var(--r3);
  box-shadow: var(--s1);
}

.card.pad{ padding: 18px; }
@media (min-width: 720px){ .card.pad{ padding: 22px; } }

.card.soft{
  background: linear-gradient(180deg,
    color-mix(in oklab, var(--card) 92%, white),
    color-mix(in oklab, var(--card) 90%, var(--bg2))
  );
}

.grid{
  display:grid;
  gap: 14px;
}

@media (min-width: 720px){
  .grid{ gap: 18px; }
  .grid.cols-2{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid.cols-3{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px){
  .grid, .grid.cols-2, .grid.cols-3{ grid-template-columns: 1fr !important; }
}

.feature{
  position: relative;
  overflow: hidden;
  padding: 18px;
  border-radius: var(--r3);
  background: var(--card);
  border: 1px solid color-mix(in oklab, var(--line) 86%, transparent);
  box-shadow: var(--s1);
  transition: transform var(--t1) var(--ease), box-shadow var(--t2) var(--ease);
}

.feature::before{
  /* petit coin “sprinkles” */
  content:"";
  position:absolute;
  inset: 0;
  background:
    radial-gradient(8px 8px at 12% 18%, color-mix(in oklab, var(--pink) 50%, transparent) 0 60%, transparent 62%),
    radial-gradient(7px 7px at 22% 28%, color-mix(in oklab, var(--mint) 55%, transparent) 0 60%, transparent 62%),
    radial-gradient(6px 6px at 18% 36%, color-mix(in oklab, var(--sky) 55%, transparent) 0 60%, transparent 62%),
    radial-gradient(7px 7px at 30% 22%, color-mix(in oklab, var(--lemon) 60%, transparent) 0 60%, transparent 62%);
  opacity: .35;
  pointer-events:none;
  mask: radial-gradient(120px 90px at 0% 0%, #000 0 70%, transparent 80%);
}

.feature:hover{
  transform: translateY(-3px);
  box-shadow: var(--s2);
}

.feature h3{
  margin: 0 0 6px;
  font-size: 17px;
  font-weight: 1050;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.feature p{ margin: 0; color: var(--muted); }

/* Price style (si utilisé) */
.price{
  font-weight: 1150;
  letter-spacing: -0.03em;
  font-size: clamp(22px, 2.8vw, 36px);
  color: var(--ink);
}

/* -----------------------------
   Forms
------------------------------ */

/* Form card polish */
.form{
  display: grid;
  gap: 12px;
}
.form label{
  display: inline-block;
  margin-bottom: 6px;
}
.form input,
.form select,
.form textarea{
  border: 1px solid color-mix(in oklab, var(--line) 88%, transparent);
  background:
    linear-gradient(180deg, color-mix(in oklab, var(--card) 86%, white), color-mix(in oklab, var(--card) 96%, white));
}
.form input:focus,
.form select:focus,
.form textarea:focus{
  border-color: transparent;
  background:
    linear-gradient(180deg, color-mix(in oklab, var(--card) 84%, white), color-mix(in oklab, var(--card) 96%, white)) padding-box,
    linear-gradient(90deg, color-mix(in oklab, var(--pink) 55%, white), color-mix(in oklab, var(--sky) 55%, white), color-mix(in oklab, var(--mint) 50%, white)) border-box;
  box-shadow: 0 18px 44px rgba(18,22,34,.08);
}

.form{ display:grid; gap: 12px; }
label{ font-weight: 950; font-size: 14px; color: color-mix(in oklab, var(--ink) 92%, #000); }

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="search"],
input:not([type]),
select,
textarea{
  width: 100%;
  padding: 12px 14px;
  border-radius: var(--r2);
  border: 1px solid color-mix(in oklab, var(--line) 90%, transparent);
  background: color-mix(in oklab, var(--card) 92%, white);
  color: var(--ink);
  box-shadow: 0 12px 26px rgba(18,22,34,.06);
  transition: border-color var(--t1) var(--ease), box-shadow var(--t1) var(--ease), transform var(--t1) var(--ease);
}

textarea{ min-height: 120px; resize: vertical; }

input::placeholder, textarea::placeholder{
  color: color-mix(in oklab, var(--soft) 92%, #999);
}

input:focus, select:focus, textarea:focus{
  outline: none;
  border-color: color-mix(in oklab, var(--sky) 55%, var(--line));
  box-shadow: 0 16px 40px rgba(64, 125, 210, 0.14);
  transform: translateY(-1px);
}

.form .row{ display:grid; gap: 12px; }
@media (min-width: 720px){
  .form .row.cols-2{ grid-template-columns: 1fr 1fr; }
  .form .row.cols-3{ grid-template-columns: 1fr 1fr 1fr; }
}

.help, .hint{ font-size: 13px; color: var(--soft); }

h1,h2,h3,h4{ overflow-wrap: break-word; word-break: break-word; }
p,a,button,label{ overflow-wrap: break-word; word-break: break-word; }

/* -----------------------------
   Tables
------------------------------ */
table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid color-mix(in oklab, var(--line) 86%, transparent);
  border-radius: var(--r3);
  overflow: hidden;
  background: var(--card);
  box-shadow: var(--s1);
  display: block;
  overflow-x: auto;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}
th,td{ padding: 12px 14px; text-align:left; border-bottom: 1px solid color-mix(in oklab, var(--line) 72%, transparent); }
th{
  font-size: 13px;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--muted) 92%, #555);
  background: color-mix(in oklab, var(--bg2) 80%, white);
}
tr:last-child td{ border-bottom: 0; }

/* -----------------------------
   Footer
------------------------------ */
.footer, footer{
  margin-top: clamp(26px, 6vw, 60px);
  padding-block: 26px;
  border-top: 1px solid color-mix(in oklab, var(--line) 75%, transparent);
  background: color-mix(in oklab, var(--card) 86%, transparent);
}
.footer p, footer p{ color: var(--soft); }

/* -----------------------------
   Subtle motion
------------------------------ */
@media (prefers-reduced-motion: no-preference){
  .btn, .feature, .navlinks a, input, select, textarea { will-change: transform; }
  .hero .card{ animation: posterFloat 8s var(--ease) infinite; }
  @keyframes posterFloat{ 0%,100%{ transform: translateY(0); } 50%{ transform: translateY(-4px); } }
}
@media (prefers-reduced-motion: reduce){
  .hero .card{ animation:none !important; }
}

/* Utilities */
.center{ text-align:center; }
.right{ text-align:right; }
.mt-0{ margin-top:0 !important; }
.mb-0{ margin-bottom:0 !important; }
.hidden{ display:none !important; }

hr{
  border: 0;
  height: 1px;
  background: linear-gradient(90deg,
    transparent,
    color-mix(in oklab, var(--sky) 30%, var(--line)),
    color-mix(in oklab, var(--pink) 30%, var(--line)),
    color-mix(in oklab, var(--mint) 30%, var(--line)),
    transparent
  );
  margin: 22px 0;
}

.badge{
  display:inline-flex;
  align-items:center;
  padding: 6px 10px;
  border-radius: 999px;
  font-weight: 1000;
  font-size: 12px;
  border: 1px solid color-mix(in oklab, var(--line) 85%, transparent);
  background: color-mix(in oklab, var(--mint) 22%, white);
  color: color-mix(in oklab, var(--ink) 88%, #000);
}


/* =========================
   V5 FIXES (UI polish)
   - Fix input "Nom" tiny: handle inputs without type attribute
   - Prevent nav/CTA buttons from breaking words (Faceboo / Commande)
   - Better spacing for labels + fields
========================= */

/* 1) Inputs without type attribute should look like text inputs */
input:not([type]),
input[type=""],
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="search"],
input:not([type]),
select,
textarea{
  display: block;
  width: 100%;
  max-width: 100%;
}

/* 2) Forms: more breathing room + consistent label alignment */
.form { gap: 14px; }
.form > div { min-width: 0; }
label { display:block; margin: 0 0 6px; }
input, select, textarea { min-width: 0; }

/* 3) Stop awkward word breaks in nav & buttons */
.navlinks a,
.btn,
.topbar .cta a,
.topbar .cta .btn{
  white-space: nowrap;
  word-break: normal;
  overflow-wrap: normal;
}

/* 4) If an email address is long, allow wrapping ONLY inside the contact card */
.card a[href^="mailto:"],
.card a[href^="http"]{
  overflow-wrap: anywhere;
}

/* 5) Make the contact card and form align nicely (no overlap feeling) */
.section .card { margin-bottom: 14px; }


/* =========================
   V6 — Forms refresh + more color
   Objectif:
   - Formulaires plus "candy" (labels, champs, focus, séparations)
   - Plus de couleur globale (accents sur titres/sections, badge, CTA area)
========================= */

/* 0) Global accents: titles + subtle colorful underline */
.section h2,
.hero h1 {
  position: relative;
}

.section h2::after{
  content:"";
  display:block;
  width: 88px;
  height: 6px;
  margin-top: 10px;
  border-radius: 999px;
  background: linear-gradient(90deg,
    color-mix(in oklab, var(--sky) 80%, white),
    color-mix(in oklab, var(--pink) 78%, white),
    color-mix(in oklab, var(--mint) 78%, white)
  );
  opacity: .95;
}

.section.is-cta,
.section.cta {
  border-top: 1px solid color-mix(in oklab, var(--line) 70%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--line) 70%, transparent);
  background:
    radial-gradient(260px 180px at 15% 20%, color-mix(in oklab, var(--lemon) 22%, transparent), transparent 72%),
    radial-gradient(280px 200px at 90% 25%, color-mix(in oklab, var(--pink) 18%, transparent), transparent 72%),
    linear-gradient(180deg, transparent, color-mix(in oklab, var(--bg2) 55%, transparent), transparent);
}

/* 1) Form container (si le form est dans .card) */
.card:has(.form){
  border-color: color-mix(in oklab, var(--sky) 16%, var(--line));
}

/* 2) Labels: plus lisibles, petits “pills” */
label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin: 6px 0 8px;
  padding: 6px 10px;
  border-radius: 999px;
  font-weight: 1000;
  font-size: 13px;
  color: color-mix(in oklab, var(--ink) 92%, #000);
  background: color-mix(in oklab, var(--bg2) 70%, white);
  border: 1px solid color-mix(in oklab, var(--line) 78%, transparent);
}

/* 3) Champs: border + background “tint” + focus candy */
input:not([type]),
input[type=""],
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="search"],
input:not([type]),
select,
textarea{
  width: 100%;
  max-width: 100%;
  display:block;
  padding: 13px 14px;
  border-radius: 18px;
  border: 1px solid color-mix(in oklab, var(--line) 88%, transparent);
  background:
    radial-gradient(160px 120px at 10% 10%, color-mix(in oklab, var(--mint) 10%, transparent), transparent 70%),
    radial-gradient(180px 130px at 92% 30%, color-mix(in oklab, var(--pink) 10%, transparent), transparent 72%),
    color-mix(in oklab, var(--card) 92%, white);
  box-shadow: 0 14px 28px rgba(18,22,34,.06);
  transition:
    border-color var(--t1) var(--ease),
    box-shadow var(--t1) var(--ease),
    transform var(--t1) var(--ease),
    background var(--t2) var(--ease);
}

textarea{ min-height: 140px; }

input::placeholder,
textarea::placeholder{
  color: color-mix(in oklab, var(--soft) 92%, #9aa);
}

input:focus,
select:focus,
textarea:focus{
  outline: none;
  border-color: color-mix(in oklab, var(--sky) 55%, var(--line));
  box-shadow:
    0 18px 44px rgba(64,125,210,.16),
    0 0 0 6px color-mix(in oklab, var(--sky) 16%, transparent);
  transform: translateY(-1px);
  background:
    radial-gradient(180px 140px at 10% 10%, color-mix(in oklab, var(--mint) 14%, transparent), transparent 70%),
    radial-gradient(220px 160px at 92% 30%, color-mix(in oklab, var(--pink) 14%, transparent), transparent 72%),
    color-mix(in oklab, var(--card) 94%, white);
}

/* 4) Spacing: garde une ligne propre et évite l'effet “trop plat” */
.form{
  gap: 16px;
}
.form .row{
  gap: 16px;
}
.form > div{
  min-width: 0;
}

/* 5) Bouton submit dans les forms: plus “candy” et plus visible */
.form button.btn,
.form input[type="submit"].btn{
  background: linear-gradient(145deg,
    color-mix(in oklab, var(--lemon) 70%, white),
    color-mix(in oklab, var(--pink) 70%, white),
    color-mix(in oklab, var(--sky) 66%, white)
  );
  box-shadow: 0 18px 44px rgba(18,22,34,.12);
}

/* 6) Petits séparateurs colorés optionnels (si tu as des <hr>) */
.form hr{
  height: 2px;
  opacity: .9;
}

/* 7) “Helper text” plus doux */
.help, .hint, .small, small{
  color: color-mix(in oklab, var(--soft) 96%, #889);
}

/* 8) Accent sur la card au-dessus du form (la box “commande de jujubes”) */
.section .card.pad:first-of-type{
  border-color: color-mix(in oklab, var(--grape) 14%, var(--line));
  background:
    radial-gradient(220px 160px at 12% 18%, color-mix(in oklab, var(--lemon) 18%, transparent), transparent 70%),
    radial-gradient(240px 170px at 88% 22%, color-mix(in oklab, var(--grape) 14%, transparent), transparent 72%),
    color-mix(in oklab, var(--card) 96%, white);
}


/* =========================
   V7 — Boost couleur + Images
   - Hero media + product images
   - Accent plus punchy sans fluo
========================= */

/* Boost léger des pastels */
:root{
  --pink: #f58bb7;
  --lemon:#ffd56b;
  --sky:  #86cfff;
  --mint: #86edd0;
  --grape:#bda2ff;
  --peach:#ffc3a1;
}

/* Bande colorée derrière le hero */
.hero{ position: relative; }
.hero::before{
  content:"";
  position:absolute;
  inset: -18px 0 auto 0;
  height: 240px;
  z-index:-1;
  background:
    radial-gradient(420px 240px at 10% 30%, color-mix(in oklab, var(--lemon) 34%, transparent), transparent 70%),
    radial-gradient(420px 260px at 85% 20%, color-mix(in oklab, var(--pink) 30%, transparent), transparent 72%),
    radial-gradient(520px 300px at 55% 80%, color-mix(in oklab, var(--sky) 26%, transparent), transparent 72%);
  filter:saturate(1.08);
}

/* HERO IMAGE */
.hero-media{
  margin-top: 14px;
  border-radius: 26px;
  overflow: hidden;
  border: 1px solid color-mix(in oklab, var(--line) 80%, transparent);
  box-shadow: 0 18px 44px rgba(18,22,34,.12);
}
.hero-media img{
  width: 100%;
  height: clamp(180px, 28vw, 320px);
  object-fit: cover;
  display:block;
  transform: scale(1.01);
}

/* PRODUCT IMAGES */
.prod-img{
  width: 100%;
  height: 140px;
  object-fit: cover;
  border-radius: 18px;
  margin-bottom: 10px;
  border: 1px solid color-mix(in oklab, var(--line) 78%, transparent);
  box-shadow: 0 12px 26px rgba(18,22,34,.08);
}

/* Cards more candy edge */
.card, .feature{
  border-color: color-mix(in oklab, var(--sky) 16%, var(--line));
}
