/* === Landing page Deuil Urgence — Le Pouvoir des Fleurs Paris === */

* { box-sizing: border-box; margin: 0; padding: 0; }
    body {
      font-family: 'Open Sans', Arial, sans-serif;
      font-size: 14px;
      color: #222;
      background: #fff;
      line-height: 1.6;
    }
    a { color: inherit; text-decoration: none; }
    img { max-width: 100%; height: auto; display: block; }

    :root {
      --pink: #eb3f93;
      --pink-dark: #d92f82;
      --text: #222;
      --muted: #666;
      --line: #ececec;
      --soft: #faf8f9;
      --container: 1100px;
    }

    .container {
      max-width: var(--container);
      margin: 0 auto;
      padding: 0 20px;
    }

    .site-header { border-bottom: 1px solid var(--line); background: #fff; }
    .header-logo { display: flex; justify-content: center; align-items: center; padding: 18px 0 10px; }
    .logo-mark { width: 74px; height: 74px; border: 2px solid #8e302f; border-radius: 999px; display: flex; align-items: center; justify-content: center; color: #8e302f; font-size: 30px; font-weight: 700; }
    .main-nav { display: flex; justify-content: center; gap: 42px; align-items: center; padding: 14px 20px 16px; font-size: 14px; border-top: 1px solid #f3f3f3; }
    .main-nav a { text-transform: uppercase; letter-spacing: .02em; white-space: nowrap; }
    .main-nav a.active, .main-nav a:hover { color: var(--pink-dark); }

    .breadcrumb { color: #666; font-size: 13px; padding: 14px 0; }
    .breadcrumb span { color: #999; margin: 0 6px; }

    /* Hero */
    .hero { position: relative; min-height: 360px; display: flex; align-items: center; overflow: hidden; background: #1a1a1a; }
    .hero::before {
      content: "";
      position: absolute;
      inset: 0;
      background-image:
        linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.32)),
        url('/img/cms/hero-deuil.jpg');
      background-size: cover;
      background-position: center;
      opacity: 1;
      mix-blend-mode: normal;
    }
    .hero .container { position: relative; z-index: 2; width: 100%; }
    .hero-content { max-width: 580px; color: #fff; padding: 54px 0; font-weight: 700; text-shadow: 0 1px 4px rgba(0,0,0,.5); }
    .hero-kicker { display: inline-block; margin-bottom: 14px; background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.35); border-radius: 999px; padding: 8px 14px; font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
    .hero, .hero *, .hero h1, .hero h2, .hero p, .hero a, .hero span, .hero div { color: #fff !important; }
    .hero h1 { font-size: 42px; line-height: 1.15; margin-bottom: 14px; font-weight: 800; color: #fff !important; text-shadow: 0 2px 8px rgba(0,0,0,.6); }
    .hero p { font-size: 15px; max-width: 520px; color: rgba(255,255,255,.95); margin-bottom: 22px; font-weight: 700; }
    .hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
    .btn-primary, .btn-secondary { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 22px; border-radius: 999px; font-weight: 700; transition: .2s ease; }
    .btn-primary { background: var(--pink); color: #fff; }
    .btn-primary:hover { background: var(--pink-dark); }
    .btn-secondary { color: #fff; border: 1px solid rgba(255,255,255,.5); background: rgba(255,255,255,.08); }
    .btn-secondary:hover { background: rgba(255,255,255,.16); }

    .category-intro { padding: 34px 0 8px; }
    .category-intro h2 { font-size: 22px; font-weight: 800; margin-bottom: 14px; }
    .category-intro p { color: #333; max-width: 800px; margin-bottom: 10px; }
    .category-intro ul { list-style: none; margin-top: 10px; color: #555; }
    .category-intro li { margin-bottom: 4px; }

    .catalog-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 20px 0 16px; color: #555; font-size: 13px; }
    .toolbar-icons { display: flex; gap: 10px; align-items: center; }
    .toolbar-icon { width: 14px; height: 14px; border: 1px solid #888; display: inline-block; position: relative; }
    .toolbar-icon::before, .toolbar-icon::after { content:""; position:absolute; background:#888; }
    .toolbar-icon::before { left:4px; top:0; bottom:0; width:1px; }
    .toolbar-icon::after { top:4px; left:0; right:0; height:1px; }

    #products, #reassurance, #info-text, #zone, #form-section { padding-left: 0 !important; padding-right: 0 !important; }

    #products .inner, #reassurance .inner, #info-text .inner, #zone .inner, #form-section .inner, #footer .inner, #footer .footer-bottom {
      max-width: var(--container);
      margin: 0 auto;
      padding-left: 20px;
      padding-right: 20px;
    }

    #products { padding-top: 0; padding-bottom: 42px; }
    #products h2 { display: none; }
    #products .subtitle { display: none; }

    .product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
    .product-card { border: 1px solid #f0f0f0; border-radius: 10px; background: #fff; overflow: hidden; box-shadow: 0 4px 16px rgba(0,0,0,.04); transition: transform .18s ease, box-shadow .18s ease; cursor: default; }
    .product-card:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0,0,0,.08); }
    .product-card .img-wrap { aspect-ratio: 1 / 1; background: #f6f2f3 !important; }
    .product-card .badge { top: 12px; left: 12px; border-radius: 999px; padding: 6px 10px; background: rgba(255,255,255,.92) !important; color: var(--pink-dark); font-size: 10px; letter-spacing: .03em; box-shadow: 0 2px 8px rgba(0,0,0,.08); }
    .product-card .card-body { padding: 14px 14px 16px; }
    .product-card .card-name { font-size: 15px; line-height: 1.35; font-weight: 700; margin-bottom: 6px; min-height: 40px; }
    .product-card .card-desc { color: #666; font-size: 12px; line-height: 1.55; margin-bottom: 12px; min-height: 58px; }
    .product-card .card-price { color: #111; font-size: 24px; font-weight: 700; margin-bottom: 12px; }
    .product-card .card-price small { display: block; margin-top: 2px; color: #888; font-size: 11px; font-weight: 400; }
    .btn-card { display: inline-flex; justify-content: center; align-items: center; min-height: 40px; width: 100%; border-radius: 999px; background: var(--pink); color: #fff; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; }
    .btn-card:hover { background: var(--pink-dark); color: #fff; }

    #reassurance { background: #fff; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding-top: 0; padding-bottom: 0; margin-bottom: 42px; }
    #reassurance .inner { display: grid; grid-template-columns: repeat(4, 1fr); }
    .r-item { padding: 18px 16px; border-right: 1px solid var(--line); display: flex; align-items: center; gap: 12px; background: #fff; }
    .r-item:last-child { border-right: none; }
    .r-item .r-icon { font-size: 24px; }
    .r-item strong { display: block; font-size: 14px; color: #111; margin-bottom: 2px; }
    .r-item span { color: #666; font-size: 12px; }

    #info-text, #zone, #form-section { padding-top: 18px; padding-bottom: 42px; }

    #info-text .inner {
      display: grid;
      grid-template-columns: 1.2fr .8fr;
      gap: 28px;
      align-items: start;
    }

    /* ── FORM SECTION : colonne unique pleine largeur ── */
    #form-section .inner {
      display: flex;
      flex-direction: column;
      gap: 28px;
    }

    #info-text h2, #zone h2, #form-section h2 { font-size: 24px; line-height: 1.2; margin-bottom: 12px; font-weight: 800; }
    #info-text p, #zone .sub, #form-section p, #form-section .sub { color: #555; font-size: 14px; line-height: 1.8; text-align: justify; }

    #info-text .contact-box, .form-box {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 12px;
      padding: 24px;
      box-shadow: 0 4px 16px rgba(0,0,0,.04);
      width: 100%;
    }
    #info-text .contact-box h3, .form-box h3 { font-size: 16px; border-bottom: 1px solid var(--line); padding-bottom: 10px; margin-bottom: 12px; }
    .contact-line { padding: 12px 0; border-bottom: 1px solid var(--line); }
    .contact-line:last-child { border-bottom: none; }
    .contact-line a { color: var(--pink-dark); font-weight: 700; }

    /* ── FORMULAIRE 3 COLONNES ── */
    .form-row-2 {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      gap: 14px;
    }
    .form-group { width: 100%; margin-bottom: 14px; }
    .form-group input,
    .form-group select,
    .form-group textarea { width: 100%; display: block; }

    #zone { background: #fff; border-top: none; }
    .zone-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
    .zone-chip { border: 1px solid #ead5df; background: #fff; color: #7a4458; border-radius: 999px; padding: 8px 14px; font-size: 12px; }
    .zone-chip.highlight { background: #fff1f7; border-color: #f5bdd6; color: var(--pink-dark); font-weight: 700; }

    .form-group label { font-size: 11px; color: #666; display: block; margin-bottom: 5px; }
    .form-group input, .form-group select, .form-group textarea { border-radius: 8px; border: 1px solid #ddd; padding: 10px 12px; font-size: 14px; }
    .form-group input:focus, .form-group select:focus, .form-group textarea:focus { outline: none; border-color: #eaa2c2; box-shadow: 0 0 0 3px rgba(235,63,147,.08); }
    .form-submit { border-radius: 999px; background: var(--pink); color: #fff; min-height: 44px; width: 100%; border: none; cursor: pointer; font-size: 14px; font-weight: 700; margin-top: 8px; }
    .form-submit:hover { background: var(--pink-dark); }

    #footer { margin-top: 12px; background: #fafafa; border-top: 1px solid var(--line); color: #666; padding-top: 32px; }
    #footer .inner { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 28px; padding-bottom: 26px; }
    .footer-brand { color: #111; font-size: 16px; }
    #footer h5 { font-size: 12px; color: #111; margin-bottom: 10px; text-transform: uppercase; letter-spacing: .05em; }
    #footer ul { list-style: none; display: flex; flex-direction: column; gap: 8px; }
    #footer p, #footer ul li a { font-size: 13px; color: #666; }
    #footer .footer-bottom { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid var(--line); padding-top: 14px; padding-bottom: 18px; font-size: 12px; }

    @media (max-width: 980px) {
      .main-nav { gap: 20px; font-size: 12px; overflow-x: auto; justify-content: flex-start; }
      .hero h1 { font-size: 34px; }
      .product-grid { grid-template-columns: repeat(2,1fr); }
      #reassurance .inner { grid-template-columns: repeat(2,1fr); }
      #info-text .inner, #footer .inner { grid-template-columns: 1fr 1fr; }
      .form-row-2 { grid-template-columns: 1fr 1fr; }
    }

    @media (max-width: 640px) {
      .header-logo { padding: 14px 0 8px; }
      .logo-mark { width: 58px; height: 58px; font-size: 24px; }
      .hero { min-height: 300px; }
      .hero h1 { font-size: 28px; }
      .hero p { font-size: 14px; }
      .catalog-toolbar { flex-direction: column; align-items: flex-start; }
      .product-grid { grid-template-columns: 1fr; }
      #reassurance .inner, #info-text .inner, #footer .inner { grid-template-columns: 1fr; }
      .form-row-2 { grid-template-columns: 1fr; }
      .r-item { border-right: none; border-bottom: 1px solid var(--line); }
      .r-item:last-child { border-bottom: none; }
      #footer .footer-bottom { flex-direction: column; }
    }
