.booking-form{background:#fff;border:1px solid var(--line);border-radius:28px;padding:32px;box-shadow:var(--shadow);display:grid;gap:0}.form-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid var(--line)}.form-header h3{margin:0 0 6px;font-size:1.9rem}.form-header p{margin:0;color:var(--muted);font-size:.9rem}.form-required{font-size:.76rem;font-weight:900;white-space:nowrap;background:var(--pink-light);padding:8px 11px;border-radius:999px;color:var(--brown)}.form-section{border:0;border-top:1px solid var(--line);padding:24px 0 0;margin:0 0 24px}.form-section:first-of-type{border-top:0;padding-top:0}.form-section legend{font-weight:900;font-size:1.02rem;margin-bottom:16px;padding:0}.booking-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.booking-form label{display:block;font-weight:800;font-size:.86rem;color:var(--brown)}.booking-form label small{display:block;font-weight:500;color:var(--muted);margin-top:5px;line-height:1.45}.booking-form input:not([type=checkbox]):not([type=radio]),.booking-form select,.booking-form textarea{width:100%;box-sizing:border-box;margin-top:7px;border:1px solid var(--line);border-radius:13px;background:var(--soft);padding:13px 14px;color:var(--brown);outline:none;transition:.2s}.booking-form input:not([type=checkbox]):not([type=radio]):hover,.booking-form select:hover,.booking-form textarea:hover{border-color:#cdbdb2}.booking-form input:not([type=checkbox]):not([type=radio]):focus,.booking-form select:focus,.booking-form textarea:focus{border-color:var(--pink-dark);box-shadow:0 0 0 4px rgba(239,160,189,.18);background:#fff}.edition-options{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.edition-option,.edition-option-card{position:relative}.edition-option input,.edition-option-card input{position:absolute;opacity:0;pointer-events:none}.edition-option span,.edition-option-card .edition-option-content{display:block;height:100%;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--soft);cursor:pointer;transition:.2s}.edition-option span:hover,.edition-option-card .edition-option-content:hover{transform:translateY(-2px);border-color:var(--pink)}.edition-option strong,.edition-option-card strong{display:block;margin-bottom:5px;font-size:.9rem}.edition-option small,.edition-option-card small{display:block;color:var(--muted);font-size:.74rem;line-height:1.45}.edition-option input:checked+span,.edition-option-card input:checked+.edition-option-content,.edition-option-card.selected .edition-option-content{border-color:var(--pink-dark);background:var(--pink-light);box-shadow:0 0 0 2px var(--pink-dark)}.edition-option input:focus-visible+span,.edition-option-card input:focus-visible+.edition-option-content{outline:3px solid rgba(239,160,189,.4);outline-offset:2px}.extra-panel{margin:0 0 24px;padding:20px;border-radius:18px;background:#f8eee5;border:1px solid var(--line)}.extra-panel[hidden]{display:none}.extra-panel h4{margin:0 0 6px;font-size:1rem}.extra-intro{margin:0 0 14px;color:var(--muted);font-size:.86rem}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.check-line{display:flex!important;align-items:center;gap:9px;background:#fff;padding:11px 12px;border-radius:11px;border:1px solid transparent}.check-line input{width:18px;height:18px;accent-color:var(--pink-dark);flex:none}.check-line span{margin-left:auto;font-weight:900;font-size:.76rem;color:var(--muted);text-align:right}.bag-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.extra-note{margin:15px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:.8rem;line-height:1.6;color:var(--muted)}.form-help{padding:15px 17px;background:#f7f0e8;border-radius:14px;font-size:.84rem;line-height:1.6;margin:0 0 18px;color:var(--muted)}.form-bottom{display:flex;align-items:center;gap:18px;justify-content:space-between;padding-top:7px}.form-note{font-size:.76rem;color:var(--muted);line-height:1.5;margin:0}.submit-button{min-width:220px}.booking-form textarea{resize:vertical;min-height:130px}.booking-form select{cursor:pointer}.toast{position:fixed;right:24px;bottom:24px;z-index:9999;max-width:430px;padding:14px 18px;background:var(--brown);color:#fff;border-radius:13px;box-shadow:0 15px 40px rgba(0,0,0,.18);opacity:0;transform:translateY(12px);pointer-events:none;transition:.25s;font-size:.86rem}.toast.show{opacity:1;transform:translateY(0)}.field-focused>input,.field-focused>select,.field-focused>textarea{border-color:var(--pink-dark)!important}.is-disabled{opacity:.52;pointer-events:none}.validation-message{margin-top:8px;padding:9px 11px;background:#fff1f1;border:1px solid #f1cccc;color:#8c3939;border-radius:10px;font-size:.77rem;font-weight:800}.success-note{padding:13px 15px;background:#edf6ef;border:1px solid #cfe2d3;color:var(--green);border-radius:12px;font-size:.8rem;font-weight:800}.live-estimate strong{color:var(--brown)}@media(max-width:1000px){.edition-options{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.booking-form{padding:22px;border-radius:22px}.booking-form .form-row,.edition-options,.check-grid,.bag-grid{grid-template-columns:1fr}.form-header{display:block}.form-required{display:inline-block;margin-top:12px}.form-bottom{display:block}.submit-button{width:100%;margin-top:14px}.check-line span{margin-left:auto}.toast{left:16px;right:16px;bottom:16px}}

/* Duidelijke formulekaarten in de Hummie Bear-stijl. */
.edition-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.edition-option span{position:relative;overflow:hidden;min-height:210px;padding:22px;background:linear-gradient(145deg,#fff 0%,#fff7fa 100%);border-radius:20px}
.edition-option span::after{content:"Kies deze formule";position:absolute;right:17px;bottom:16px;color:var(--pink-dark);font-size:.72rem;font-weight:900;letter-spacing:.04em}
.edition-option-kicker{margin:0 0 12px;padding:0!important;border:0!important;background:transparent!important;color:var(--pink-dark);font-size:.66rem;font-weight:900;letter-spacing:.13em}
.edition-option strong{font-family:"Playfair Display",serif;font-size:1.45rem;margin-bottom:8px}
.edition-option small{min-height:43px;font-size:.82rem;line-height:1.5}
.edition-option b{display:block;margin-top:15px;font-size:1.35rem}
.edition-option em{display:block;margin-top:4px;color:var(--muted);font-size:.74rem;font-style:normal;font-weight:700}
.edition-option input:checked+span{background:linear-gradient(145deg,#fff 0%,var(--pink-light) 100%);border-color:var(--pink-dark);box-shadow:0 0 0 3px var(--pink-dark),0 14px 28px rgba(207,94,137,.14)}
.edition-option input:checked+span::after{content:"✓ Geselecteerd";color:var(--brown)}
.edition-option--combo span{background:linear-gradient(145deg,#fff8ef 0%,#ffe6f0 100%)}
.edition-option--bags span{background:linear-gradient(145deg,#fff 0%,#f8eee5 100%)}
@media(max-width:760px){.edition-options{grid-template-columns:1fr}.edition-option span{min-height:185px}}


/* =========================================================
   FIX FORMULEKAARTEN
   De kaart heeft een buitenste <span>. De kleine kicker is
   een geneste <span> en mag dus NIET dezelfde kaartstijl krijgen.
   ========================================================= */

.edition-option {
  display: block;
}

.edition-option > span {
  position: relative;
  display: flex !important;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  overflow: hidden;
  min-height: 210px;
  height: auto !important;
  padding: 22px !important;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: linear-gradient(145deg,#fff 0%,#fff7fa 100%);
  cursor: pointer;
  transition: transform .2s, border-color .2s, box-shadow .2s, background .2s;
}

.edition-option > span:hover {
  transform: translateY(-2px);
  border-color: var(--pink);
}

.edition-option > span::after {
  content: "Kies deze formule";
  position: absolute;
  right: 17px;
  bottom: 16px;
  color: var(--pink-dark);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .04em;
}

.edition-option .edition-option-kicker {
  display: block !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--pink-dark);
  font-size: .66rem;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.edition-option > span > strong {
  display: block !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--brown);
  font-family: "Playfair Display", serif;
  font-size: 1.45rem;
  line-height: 1.1;
}

.edition-option > span > small {
  display: block !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.5;
  font-weight: 500;
}

.edition-option > span > b {
  display: block !important;
  margin-top: 15px !important;
  color: var(--brown);
  font-size: 1.35rem;
  line-height: 1;
}

.edition-option > span > em {
  display: block !important;
  margin-top: 5px !important;
  color: var(--muted);
  font-size: .74rem;
  line-height: 1.4;
  font-style: normal;
  font-weight: 700;
}

.edition-option input:checked + span {
  background: linear-gradient(145deg,#fff 0%,var(--pink-light) 100%);
  border-color: var(--pink-dark);
  box-shadow:
    0 0 0 3px var(--pink-dark),
    0 14px 28px rgba(207,94,137,.14);
}

.edition-option input:checked + span::after {
  content: "✓ Geselecteerd";
  color: var(--brown);
}

.edition-option--combo > span {
  background: linear-gradient(145deg,#fff8ef 0%,#ffe6f0 100%);
}

.edition-option--bags > span {
  background: linear-gradient(145deg,#fff 0%,#f8eee5 100%);
}

@media(max-width:760px) {
  .edition-options {
    grid-template-columns: 1fr;
  }

  .edition-option > span {
    min-height: 185px;
  }
}


/* =========================================================
   FINAL FORMULA CARD FIX
   ========================================================= */

.edition-options {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  align-items: stretch !important;
}

.edition-option {
  position: relative !important;
  display: block !important;
  min-width: 0 !important;
  height: auto !important;
}

.edition-option input {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Reset ALL nested span styling from earlier generic rules. */
.edition-option span {
  box-sizing: border-box !important;
}

.edition-option span::after {
  content: none !important;
}

/* The outer card only. */
.edition-option > span {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-height: 230px !important;
  height: auto !important;
  padding: 23px !important;
  margin: 0 !important;
  overflow: hidden !important;

  border: 1px solid var(--line) !important;
  border-radius: 20px !important;

  background: #fff !important;
  color: var(--brown) !important;

  cursor: pointer !important;

  box-shadow: none !important;

  transition:
    transform .2s ease,
    border-color .2s ease,
    box-shadow .2s ease,
    background .2s ease !important;
}

/* Decorative corner accent. */
.edition-option > span::before {
  content: "" !important;
  position: absolute !important;
  width: 95px !important;
  height: 95px !important;
  right: -38px !important;
  top: -38px !important;
  border-radius: 50% !important;
  background: var(--pink-soft) !important;
  pointer-events: none !important;
}

/* Small uppercase label. */
.edition-option > span > .edition-option-kicker {
  position: static !important;
  display: block !important;
  width: auto !important;
  min-height: 0 !important;
  height: auto !important;

  margin: 0 0 11px !important;
  padding: 0 !important;

  border: 0 !important;
  border-radius: 0 !important;

  background: transparent !important;
  color: var(--pink-dark) !important;

  font-family: inherit !important;
  font-size: .66rem !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;

  z-index: 1 !important;
}

/* Main title. */
.edition-option > span > strong {
  position: static !important;
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;

  margin: 0 0 8px !important;
  padding: 0 !important;

  border: 0 !important;
  border-radius: 0 !important;

  background: transparent !important;
  color: var(--brown) !important;

  font-family: "Playfair Display", Georgia, serif !important;
  font-size: 1.45rem !important;
  line-height: 1.12 !important;
  font-weight: 800 !important;
  letter-spacing: -.01em !important;

  z-index: 1 !important;
}

/* Description. */
.edition-option > span > small {
  position: static !important;
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  border-radius: 0 !important;

  background: transparent !important;
  color: var(--muted) !important;

  font-family: inherit !important;
  font-size: .82rem !important;
  line-height: 1.5 !important;
  font-weight: 500 !important;

  z-index: 1 !important;
}

/* Price. */
.edition-option > span > b {
  position: static !important;
  display: block !important;

  margin: 16px 0 0 !important;
  padding: 0 !important;

  border: 0 !important;
  background: transparent !important;
  color: var(--brown) !important;

  font-size: 1.28rem !important;
  line-height: 1.05 !important;
  font-weight: 900 !important;

  z-index: 1 !important;
}

/* Minimum / duration line. */
.edition-option > span > em {
  position: static !important;
  display: block !important;

  margin: 5px 0 0 !important;
  padding: 0 !important;

  border: 0 !important;
  background: transparent !important;
  color: var(--muted) !important;

  font-family: inherit !important;
  font-size: .73rem !important;
  line-height: 1.4 !important;
  font-style: normal !important;
  font-weight: 700 !important;

  z-index: 1 !important;
}

/* Bottom action text. */
.edition-option > span {
  padding-bottom: 52px !important;
}

.edition-option > span::after {
  content: "Kies deze formule" !important;

  position: absolute !important;
  right: 18px !important;
  bottom: 17px !important;

  color: var(--pink-dark) !important;

  font-family: inherit !important;
  font-size: .72rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;

  pointer-events: none !important;
  z-index: 2 !important;
}

/* Hover. */
.edition-option > span:hover {
  transform: translateY(-2px) !important;
  border-color: var(--pink) !important;
  box-shadow: 0 10px 25px rgba(61,42,32,.07) !important;
}

/* Waffle. */
.edition-option--waffle > span {
  background: linear-gradient(145deg,#fff 0%,#fff7fa 100%) !important;
}

/* Candy. */
.edition-option--candy > span {
  background: linear-gradient(145deg,#fff 0%,#fffaf2 100%) !important;
}

/* Combo. */
.edition-option--combo > span {
  background: linear-gradient(145deg,#fff8ef 0%,#ffe9f1 100%) !important;
}

/* Bags. */
.edition-option--bags > span {
  background: linear-gradient(145deg,#fff 0%,#f8eee5 100%) !important;
}

/* Selected. */
.edition-option input:checked + span {
  border-color: var(--pink-dark) !important;

  background: linear-gradient(
    145deg,
    #fff 0%,
    var(--pink-light) 100%
  ) !important;

  box-shadow:
    0 0 0 3px var(--pink-dark),
    0 15px 30px rgba(207,94,137,.13) !important;
}

.edition-option input:checked + span::after {
  content: "✓ Geselecteerd" !important;
  color: var(--brown) !important;
}

.edition-option input:focus-visible + span {
  outline: 3px solid rgba(239,160,189,.4) !important;
  outline-offset: 3px !important;
}

@media (max-width: 760px) {
  .edition-options {
    grid-template-columns: 1fr !important;
  }

  .edition-option > span {
    min-height: 205px !important;
  }
}


/* =========================================================
   CLEAN FORMULA CARD SYSTEM
   Uses .edition-option-content so nested spans are never
   mistaken for the card itself.
   ========================================================= */

.edition-options {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
  min-width: 0 !important;
  align-items: stretch !important;
}

.edition-option {
  position: relative !important;
  display: block !important;
  min-width: 0 !important;
  width: 100% !important;
}

.edition-option > input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.edition-option-content {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 230px !important;
  padding: 22px !important;
  padding-bottom: 53px !important;
  overflow: hidden !important;

  box-sizing: border-box !important;

  border: 1px solid var(--line) !important;
  border-radius: 20px !important;

  background: #fff !important;
  color: var(--brown) !important;

  cursor: pointer !important;

  transition:
    transform .2s ease,
    border-color .2s ease,
    box-shadow .2s ease,
    background .2s ease !important;
}

.edition-option-content::before {
  content: "" !important;

  position: absolute !important;
  width: 90px !important;
  height: 90px !important;

  right: -35px !important;
  top: -35px !important;

  border-radius: 50% !important;
  background: var(--pink-soft) !important;

  pointer-events: none !important;
}

.edition-option-content:hover {
  transform: translateY(-2px) !important;
  border-color: var(--pink) !important;
  box-shadow: 0 9px 24px rgba(61,42,32,.07) !important;
}

/* Small uppercase kicker */
.edition-option-content .edition-option-kicker {
  position: static !important;
  display: block !important;

  width: 100% !important;
  min-width: 0 !important;

  margin: 0 0 10px !important;
  padding: 0 !important;

  color: var(--pink-dark) !important;
  background: transparent !important;
  border: 0 !important;

  font-family: inherit !important;
  font-size: .65rem !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;

  z-index: 1 !important;
}

/* Card title */
.edition-option-content > strong {
  display: block !important;

  width: 100% !important;
  min-width: 0 !important;

  margin: 0 0 8px !important;
  padding: 0 !important;

  color: var(--brown) !important;
  background: transparent !important;
  border: 0 !important;

  font-family: "Playfair Display", Georgia, serif !important;
  font-size: 1.4rem !important;
  line-height: 1.12 !important;
  font-weight: 800 !important;

  z-index: 1 !important;
}

/* Description */
.edition-option-content > small {
  display: block !important;

  width: 100% !important;
  min-width: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  color: var(--muted) !important;
  background: transparent !important;
  border: 0 !important;

  font-family: inherit !important;
  font-size: .8rem !important;
  line-height: 1.5 !important;
  font-weight: 500 !important;

  z-index: 1 !important;
}

/* Price */
.edition-option-content > b {
  display: block !important;

  margin: 15px 0 0 !important;
  padding: 0 !important;

  color: var(--brown) !important;

  font-size: 1.25rem !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;

  z-index: 1 !important;
}

/* Small practical line */
.edition-option-content > em {
  display: block !important;

  margin: 4px 0 0 !important;
  padding: 0 !important;

  color: var(--muted) !important;

  font-size: .72rem !important;
  line-height: 1.4 !important;
  font-style: normal !important;
  font-weight: 700 !important;

  z-index: 1 !important;
}

/* Bottom action */
.edition-option-content .edition-choice-text {
  position: absolute !important;

  right: 17px !important;
  bottom: 16px !important;

  width: auto !important;
  min-width: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  color: var(--pink-dark) !important;
  background: transparent !important;
  border: 0 !important;

  font-family: inherit !important;
  font-size: .7rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: .03em !important;

  z-index: 2 !important;
}

.edition-option input:checked + .edition-option-content {
  border-color: var(--pink-dark) !important;

  background:
    linear-gradient(
      145deg,
      #fff 0%,
      var(--pink-light) 100%
    ) !important;

  box-shadow:
    0 0 0 3px var(--pink-dark),
    0 14px 28px rgba(207,94,137,.13) !important;
}

.edition-option input:checked + .edition-option-content .edition-choice-text {
  color: var(--brown) !important;
}

.edition-option--waffle .edition-option-content {
  background:
    linear-gradient(
      145deg,
      #fff 0%,
      #fff7fa 100%
    ) !important;
}

.edition-option--candy .edition-option-content {
  background:
    linear-gradient(
      145deg,
      #fff 0%,
      #fffaf2 100%
    ) !important;
}

.edition-option--combo .edition-option-content {
  background:
    linear-gradient(
      145deg,
      #fff8ef 0%,
      #ffe9f1 100%
    ) !important;
}

.edition-option--bags .edition-option-content {
  background:
    linear-gradient(
      145deg,
      #fff 0%,
      #f8eee5 100%
    ) !important;
}

/* =========================================================
   MOBILE FORM FIX
   Prevents label/input overlap on narrow screens.
   ========================================================= */

.booking-form,
.booking-form *,
.form-section,
.form-grid,
.booking-form .form-row,
.booking-form label {
  min-width: 0;
}

.booking-form .form-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

.booking-form .form-grid > label {
  width: 100% !important;
  min-width: 0 !important;
}

.booking-form label > span,
.booking-form label > small {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

.booking-form input:not([type="checkbox"]):not([type="radio"]),
.booking-form select,
.booking-form textarea {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

@media (max-width: 760px) {
  .booking-form {
    padding: 20px !important;
  }

  .booking-form .form-grid,
  .booking-form .form-row,
  .edition-options,
  .check-grid,
  .bag-grid {
    grid-template-columns: 1fr !important;
  }

  .booking-form .form-grid > label,
  .booking-form .form-row > label {
    width: 100% !important;
  }

  .edition-option-content {
    min-height: 205px !important;
    padding: 20px !important;
    padding-bottom: 52px !important;
  }

  .edition-option-content > strong {
    font-size: 1.3rem !important;
  }

  .edition-option-content > small {
    font-size: .79rem !important;
    line-height: 1.5 !important;
  }
}


/* =========================================================
   OFFERTEFORMULIER — EENVOUDIGER FORMULE KIEZEN
========================================================= */

.edition-help{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 14px;
  padding:12px 15px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fffaf6;
  color:var(--muted);
  font-size:.82rem;
  line-height:1.45;
}
.edition-help strong{color:var(--brown)}

.edition-options{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
}
.edition-option > .edition-option-content{
  min-height:235px !important;
  padding:22px !important;
  border-radius:20px !important;
}
.edition-option.selected > .edition-option-content{
  border-color:var(--pink-dark) !important;
  background:linear-gradient(145deg,#fff 0%,var(--pink-light) 100%) !important;
  box-shadow:0 0 0 3px var(--pink-dark),0 14px 30px rgba(207,94,137,.14) !important;
}
.edition-option.selected > .edition-option-content::after{
  content:"✓ Gekozen";
}
.edition-price-row{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin-top:14px;
}
.edition-price-row b{
  margin:0 !important;
  font-size:1.35rem !important;
}
.edition-price-row em{
  margin:0 !important;
}
.edition-extra-row{
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:.72rem;
  line-height:1.5;
}
.edition-extra-row strong{font-weight:900;color:var(--brown)}
.edition-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:14px;
  padding:13px 16px;
  border:1px dashed var(--line);
  border-radius:14px;
  background:#fff;
  color:var(--muted);
  font-size:.78rem;
}
.edition-summary strong{color:var(--brown)}
.edition-summary.has-selection{
  border-style:solid;
  border-color:var(--pink);
  background:var(--pink-light);
}
@media(max-width:760px){
  .edition-help{display:block}
  .edition-help span{display:block;margin-top:3px}
  .edition-option > .edition-option-content{min-height:0 !important}
  .edition-summary{display:block}
  .edition-summary strong{display:block;margin-top:3px}
}


/* =========================================================
   FORMULEKAARTEN — MOBILE FINAL FIX
   Op kleine schermen krijgt elke formule de volle breedte.
   Zo blijft alle tekst rustig leesbaar en valt niets buiten
   de kaart.
========================================================= */

@media (max-width: 760px){
  .edition-options{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .edition-option{
    width:100% !important;
    min-width:0 !important;
  }

  .edition-option > .edition-option-content{
    width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    height:auto !important;
    box-sizing:border-box !important;
    padding:22px !important;
  }

  .edition-option strong,
  .edition-option small,
  .edition-option em,
  .edition-option b,
  .edition-option .edition-extra-row,
  .edition-option .edition-price-row{
    max-width:100% !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
  }

  .edition-option .edition-price-row{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:baseline !important;
    gap:6px 10px !important;
  }

  .edition-option .edition-price-row b{
    white-space:nowrap !important;
  }

  .edition-option .edition-extra-row{
    line-height:1.55 !important;
  }

  .edition-option > .edition-option-content::after{
    right:18px !important;
    bottom:16px !important;
  }
}

/* Op iets bredere telefoons/tablets blijft de kaart leesbaar. */
@media (min-width:761px) and (max-width:1000px){
  .edition-options{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .edition-option > .edition-option-content{
    min-width:0 !important;
  }
}


/* =========================================================
   FORMULEKAARTEN — DEFINITIVE RESPONSIVE BREAKPOINT
   Twee kaarten naast elkaar worden te smal op compacte
   schermen. Vanaf 900px gaan ze bewust onder elkaar.
========================================================= */

@media (max-width: 900px){
  .edition-options{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    width:100% !important;
    max-width:100% !important;
    gap:16px !important;
  }

  .edition-option{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
  }

  .edition-option > .edition-option-content{
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    height:auto !important;
    box-sizing:border-box !important;
    padding:24px !important;
  }

  .edition-option .edition-option-kicker{
    width:auto !important;
    max-width:100% !important;
  }

  .edition-option > .edition-option-content > strong{
    width:100% !important;
    max-width:100% !important;
    font-size:1.55rem !important;
    line-height:1.08 !important;
  }

  .edition-option > .edition-option-content > small{
    width:100% !important;
    max-width:100% !important;
    min-height:0 !important;
    font-size:.9rem !important;
    line-height:1.55 !important;
    overflow-wrap:break-word !important;
  }

  .edition-price-row{
    width:100% !important;
    max-width:100% !important;
    flex-wrap:wrap !important;
  }

  .edition-extra-row{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    overflow-wrap:break-word !important;
  }
}

/* Compact phone: make the cards even cleaner. */
@media (max-width: 520px){
  .edition-option > .edition-option-content{
    padding:22px !important;
    border-radius:20px !important;
  }

  .edition-option > .edition-option-content > strong{
    font-size:1.45rem !important;
  }

  .edition-option > .edition-option-content > small{
    font-size:.86rem !important;
  }
}


/* Quote-only detail for the Lollywafel price estimate. */
.price-estimate-breakdown {
  margin: 0.55rem 0 0;
  color: #756b66;
  font-size: 0.88rem;
  line-height: 1.55;
  white-space: pre-line;
}

.package-choice-grid {
  margin-bottom: 1rem;
}

.drink-quantity-label {
  display: grid;
  gap: 0.45rem;
  width: 100%;
}
