.voucher-section {
  display:grid;
  grid-template-columns:minmax(0, .42fr) minmax(0, .58fr);
  grid-template-areas:"intro widget" "info widget";
  grid-template-rows:auto 1fr;
  gap:1.5rem clamp(1.5rem, 4vw, 4rem);
  align-items:start;
}
.voucher-section-intro { grid-area:intro; }
.voucher-section-info { grid-area:info; }
.voucher-section-widget { grid-area:widget; min-width:0; }
.voucher-section-intro h2 { margin-top:0; }
.voucher-section-info h3 { margin:0 0 .75rem; }
.voucher-section-info h3:not(:first-child) { margin-top:2rem; }
.voucher-section-info ol { padding-left:1.4rem; }
.voucher-section-info li { margin-bottom:.8rem; padding-left:.4rem; }
.voucher-section-info li::marker { color:var(--accent, #176b5b); font-weight:700; }
.voucher-section-widget .akomio-voucher { margin:0; max-width:none; }

.akomio-voucher {
  --av-accent:var(--akomio-voucher-accent, var(--accent, #176b5b));
  box-sizing:border-box;
  font:16px/1.55 system-ui,sans-serif;
  color:#18302b; background:#fff;
  border:1px solid #dce6e1; border-radius:16px;
  padding:clamp(1rem, 3vw, 2rem); max-width:780px; margin:1rem auto;
  overflow-wrap:anywhere; box-shadow:0 8px 30px #18302b08;
}
.akomio-voucher * { box-sizing:border-box; }
.akomio-voucher [hidden] { display:none!important; }
.akomio-voucher fieldset { border:0; padding:0; margin:0; min-width:0; }
.akomio-voucher legend { font-size:1.3rem; font-weight:700; margin-bottom:1rem; }
.akomio-voucher label { display:block; margin:.65rem 0; }
.akomio-voucher input, .akomio-voucher select, .akomio-voucher textarea {
  display:block; width:100%; min-height:44px; border:1px solid #bbcfc5;
  border-radius:8px; padding:.65rem; font:inherit; background:#fff; color:inherit;
}
.akomio-voucher input[type=checkbox] { width:20px; min-height:20px; flex:none; accent-color:var(--av-accent); }
.akomio-voucher .av-check { display:flex; gap:.6rem; align-items:center; }
.akomio-voucher .av-extra-row {
  display:grid; grid-template-columns:auto minmax(0, 1fr) auto;
  gap:.75rem; align-items:center; min-width:0;
}
.akomio-voucher .av-extra-name { min-width:0; overflow-wrap:normal; word-break:normal; }
.akomio-voucher .av-extra-quantity { width:6rem; max-width:6rem; margin:0; }
.akomio-voucher button {
  border:0; border-radius:8px; background:var(--av-accent); color:#fff;
  padding:.8rem 1rem; font:inherit; font-weight:650; cursor:pointer; margin-top:1rem; min-height:44px;
}
.akomio-voucher button:hover { background:color-mix(in srgb, var(--av-accent), #000 12%); }
.akomio-voucher button:disabled { opacity:.6; cursor:wait; }
.akomio-voucher :focus-visible { outline:3px solid var(--av-accent); outline-offset:3px; }
.akomio-voucher .av-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:0 1rem; }
.akomio-voucher .av-review { border-top:1px solid #dce6e1; margin-top:1.75rem; padding-top:1.25rem; }
.akomio-voucher .av-review h3 { margin:0 0 1rem; font-size:1.25rem; }
.akomio-voucher .av-summary { margin:0; }
.akomio-voucher .av-summary-row { padding:.65rem 0; }
.akomio-voucher .av-summary dt { font-size:.82rem; color:#5b6b65; margin-bottom:.2rem; }
.akomio-voucher .av-summary dd { margin:0; font-weight:650; min-width:0; }
.akomio-voucher .av-summary-value, .akomio-voucher .av-summary-email { display:block; }
.akomio-voucher .av-summary-email { color:var(--av-accent); font-size:.9rem; font-weight:400; }
.akomio-voucher .av-summary ul { margin:0; padding-left:1.2rem; }
.akomio-voucher .av-summary-note {
  border-left:3px solid var(--av-accent); background:color-mix(in srgb, var(--av-accent) 5%, white);
  padding:1rem; margin:.75rem 0 1rem; border-radius:0 8px 8px 0;
}
.akomio-voucher .av-summary-note dd { white-space:pre-wrap; font-size:1.05rem; }
.akomio-voucher .av-summary-total { border-top:1px solid #bbcfc5; margin-top:.75rem; padding-top:1rem; }
.akomio-voucher .av-summary-total dd { font-size:1.7rem; font-weight:750; }
.akomio-voucher .av-summary-delivery { color:#5b6b65; font-size:.9rem; }
.akomio-voucher .av-review button { width:100%; }
.akomio-voucher [role=alert] { color:#a42a27; }
.akomio-voucher [data-voucher-unavailable] { color:#5b6b65; margin:.8rem 0; }
.akomio-voucher .av-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
@media(max-width:900px) {
  .voucher-section { grid-template-columns:minmax(0, 1fr); grid-template-areas:"intro" "widget" "info"; }
}
@media(max-width:540px) {
  .akomio-voucher .av-grid { grid-template-columns:1fr; }
}
