:root{
  --wine:#7b1f2a;
  --ink:#111;
  --muted:#666;
  --line:#e6e6e6;
  --bg:#fafafa;
}

.alco-ab{
  max-width:980px;
  margin:0 auto;
  padding:12px;
  /* Versuche die Headline-Font des Themes zu uebernehmen (Block-Themes),
     sonst einfach die Standard-Font. */
  font-family:var(--wp--preset--font-family--heading, inherit);
}

/* Einheitliche Schrift fuer ALLES im Formular (Themes ueberschreiben Inputs/Buttons gern separat) */
#alco-ab-root, #alco-ab-root *{font-family:inherit !important;}
.alco-ab-form{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}
.alco-ab-title{margin:0 0 14px 0;font-size:32px;color:var(--wine)}

.alco-ab-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.alco-ab-col2{grid-column:1 / span 2}

.alco-ab-field label{display:block;font-size:19px;color:var(--ink);font-weight:700;margin:0 0 8px 0}
.alco-ab-field input,
.alco-ab-field select,
.alco-ab-field textarea{width:100%;border:1px solid #dbc9cd;border-radius:16px;padding:14px 16px;font-size:16px;outline:none;background:#fff;transition:border-color .2s ease, box-shadow .2s ease}
.alco-ab-field input:focus,
.alco-ab-field select:focus,
.alco-ab-field textarea:focus{border-color:rgba(123,31,42,.55);box-shadow:0 0 0 4px rgba(123,31,42,.12)}
.alco-ab-field textarea{min-height:90px;resize:vertical}

/* grosses Anfragefeld */
.alco-ab-field textarea[name="anfrage"]{min-height:160px}

/* Auftrittsart als breite Auswahlkarten */
#alco-ab-root .alco-ab-radio{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#alco-ab-root .alco-ab-choice{display:block !important;margin:0 !important;padding:0 !important}
#alco-ab-root .alco-ab-choice input[type="radio"]{position:absolute !important;opacity:0 !important;pointer-events:none !important;width:1px !important;height:1px !important;margin:0 !important}
#alco-ab-root .alco-ab-choice-card{display:flex;flex-direction:column;justify-content:center;gap:8px;min-height:132px;padding:22px 24px;border-radius:8px;border:6px solid var(--wine);background:#fff;color:var(--ink);box-shadow:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;cursor:pointer}
#alco-ab-root .alco-ab-choice-card strong{display:block;font-size:26px;line-height:1.15;font-weight:800;color:var(--wine)}
#alco-ab-root .alco-ab-choice-card small{display:block;font-size:17px;line-height:1.35;color:var(--ink);opacity:.88}
#alco-ab-root .alco-ab-choice-card em{display:block;font-style:normal;font-size:16px;font-weight:700;color:var(--ink);opacity:.7}
#alco-ab-root .alco-ab-choice input[type="radio"]:checked + .alco-ab-choice-card{border-color:var(--wine);background:#f8eef0;box-shadow:inset 0 0 0 2px rgba(123,31,42,.18)}
#alco-ab-root .alco-ab-choice input[type="radio"]:focus + .alco-ab-choice-card{box-shadow:0 0 0 3px rgba(123,31,42,.14)}

.alco-ab-hint{font-size:12px;color:var(--muted);margin-top:6px}

/* Öffentlich: Ersatz fuer Paketliste */
.alco-ab-public-hint{
  border:1px dashed var(--line);
  border-radius:12px;
  padding:12px;
  font-size:16px;
  line-height:1.35;
  color:var(--ink);
}

/* Google Places Autocomplete Dropdown sichtbar machen (z-index/overflow Konflikte in Themes/Pagebuildern) */
.pac-container{z-index:999999 !important;}

.alco-ab-price{background:var(--bg);border:1px dashed var(--line);border-radius:14px;padding:12px 14px}
.alco-ab-price-row{display:flex;justify-content:space-between;gap:14px;padding:4px 0}
.alco-ab-price-row strong{color:var(--wine)}

.alco-ab-actions{display:flex;align-items:center;gap:12px;margin-top:10px}
#alco-ab-submit{background:var(--wine);color:#fff;border:1px solid var(--wine);border-radius:6px;padding:16px 30px;font-size:18px;font-weight:800;cursor:pointer;box-shadow:none}
#alco-ab-submit:disabled{opacity:.6;cursor:not-allowed}

#alco-ab-msg{display:none;margin-top:12px;padding:10px 12px;border-radius:12px;font-size:14px}
#alco-ab-msg.ok{display:block;background:#f1fbf6;border:1px solid #cfe9da;color:#0b5133}
#alco-ab-msg.err{display:block;background:#fff2f2;border:1px solid #f0caca;color:#7a1b1b}


.alco-ab-field-time input{max-width:220px}
.alco-ab-field-zip input{max-width:140px}
.alco-ab-field-venue-name input{max-width:420px}
.alco-ab-field-street input{max-width:420px}
.alco-ab-field-city input{max-width:280px}
.alco-ab-field-personen input{max-width:220px}
.alco-ab-field-language select{max-width:260px}

@media (max-width:820px){
  .alco-ab-grid{grid-template-columns:1fr}

  .alco-ab-field-time input,
  .alco-ab-field-zip input,
  .alco-ab-field-venue-name input,
  .alco-ab-field-street input,
  .alco-ab-field-city input,
  .alco-ab-field-personen input,
  .alco-ab-field-language select{max-width:none}
  .alco-ab-col2{grid-column:auto}
  .alco-ab-actions{flex-direction:column;align-items:stretch}
  #alco-ab-submit{width:100%}
}


/* Anlass-Hinweise (ohne graue Hinterlegung) */
.alco-ab-anlass-info{display:none;border:0;background:#faf3f5;padding:16px 18px;border-radius:8px;font-size:16px;line-height:1.55;color:var(--ink)}
.alco-ab-anlass-info .alco-ab-anlass-block{margin:0 0 8px 0}
.alco-ab-anlass-info .alco-ab-anlass-block:last-child{margin-bottom:0}

/* Zusatzfeld unterhalb der Auftrittsart (Freitext + datalist Vorschlaege) */
#alco-ab-root .alco-ab-arttext{margin:8px 0 12px}
#alco-ab-root .alco-ab-arttext input{width:100%}


.alco-ab-steps-head{margin:0 0 18px 0}
.alco-ab-steps-progress{width:100%;height:10px;background:#f2e8ea;border-radius:999px;overflow:hidden}
.alco-ab-steps-progress span{display:block;height:100%;width:33.333%;background:var(--wine);transition:width .25s ease}
.alco-ab-steps-label{margin-top:12px;font-size:15px;color:var(--muted);font-weight:700;letter-spacing:.02em}
.alco-ab-step{display:block}
.alco-ab-step-title{font-size:28px;line-height:1.2;margin:0 0 18px 0;color:var(--wine);font-weight:800}
.alco-ab-actions-step{justify-content:space-between}
.alco-ab-back,
.alco-ab-next{border:1px solid var(--wine);background:var(--wine);color:#fff;border-radius:6px;padding:16px 28px;font-size:18px;font-weight:800;cursor:pointer;min-width:200px;box-shadow:none}
.alco-ab-back{background:#fff;color:var(--wine);border:1px solid var(--wine);box-shadow:none}
.alco-ab-back:hover,
.alco-ab-next:hover,
#alco-ab-submit:hover{opacity:.92}

@media (max-width:820px){
  .alco-ab-actions-step{gap:10px}
  .alco-ab-back,
  .alco-ab-next,
  #alco-ab-submit{width:100%}
}

@media (max-width:820px){
  #alco-ab-root .alco-ab-radio{grid-template-columns:1fr;}
  #alco-ab-root .alco-ab-choice-card strong{font-size:20px;}
}

#alco-ab-root .alco-ab-choice{width:100%}
#alco-ab-root .alco-ab-choice-card:hover{border-color:var(--wine);background:#fbf2f4}

.alco-ab-success{padding:28px 24px;border:1px solid #dbc9cd;border-radius:6px;background:#faf3f5;color:var(--wine);font-size:24px;line-height:1.4;font-weight:800;text-align:center;margin:18px 0}

#alco-ab-root .alco-ab-radio-offers{grid-template-columns:1fr;}
#alco-ab-root .alco-ab-radio-offers .alco-ab-choice-card{min-height:150px;}

#alco-ab-root .alco-ab-choice-card em{display:none !important;}


/* Schritt 2: klare Zeilen ohne kollidierende Labels */
@media (min-width: 821px){
  #alco-ab-root .alco-ab-step[data-step="2"] .alco-ab-grid{
    display:grid;
    grid-template-columns: minmax(180px, 0.95fr) minmax(150px, 0.8fr) minmax(260px, 1.55fr);
    gap: 22px 22px;
    align-items: start;
  }

  /* Zeile 1 */
  #alco-ab-root .alco-ab-step[data-step="2"] .alco-ab-field-date{grid-column:1;}
  #alco-ab-root .alco-ab-step[data-step="2"] .alco-ab-field-time{grid-column:2;}
  #alco-ab-root .alco-ab-step[data-step="2"] .alco-ab-field-venue-name{grid-column:3;}

  /* Zeile 2 */
  #alco-ab-root .alco-ab-step[data-step="2"] .alco-ab-field-street{grid-column:1;}
  #alco-ab-root .alco-ab-step[data-step="2"] .alco-ab-field-zip{grid-column:2;}
  #alco-ab-root .alco-ab-step[data-step="2"] .alco-ab-field-city{grid-column:3;}

  /* Zeile 3 */
  #alco-ab-root .alco-ab-step[data-step="2"] .alco-ab-field-anlass{grid-column:1;}
  #alco-ab-root .alco-ab-step[data-step="2"] .alco-ab-field-personen{grid-column:2;}
  #alco-ab-root .alco-ab-step[data-step="2"] .alco-ab-field-language{grid-column:3;}

  /* Zeile 4 */
  #alco-ab-root .alco-ab-step[data-step="2"] .alco-ab-field-anfrage{grid-column:1 / -1;}

  /* Labels lesbar halten */
  #alco-ab-root .alco-ab-step[data-step="2"] .alco-ab-field label{
    white-space: normal;
    overflow-wrap: break-word;
    line-height: 1.22;
    min-height: 2.7em;
    display: block;
  }

  /* Inputs über volle Spaltenbreite */
  #alco-ab-root .alco-ab-step[data-step="2"] .alco-ab-field input,
  #alco-ab-root .alco-ab-step[data-step="2"] .alco-ab-field select,
  #alco-ab-root .alco-ab-step[data-step="2"] .alco-ab-field textarea{
    width: 100%;
    max-width: none;
    box-sizing: border-box;
  }

  /* Zahlenfelder schmaler, Textfelder breiter */
  #alco-ab-root .alco-ab-step[data-step="2"] .alco-ab-field-time input,
  #alco-ab-root .alco-ab-step[data-step="2"] .alco-ab-field-zip input,
  #alco-ab-root .alco-ab-step[data-step="2"] .alco-ab-field-personen input{
    min-width: 150px;
  }

  /* Anfrage wirklich über volle Breite */
  #alco-ab-root .alco-ab-step[data-step="2"] .alco-ab-field-anfrage,
  #alco-ab-root .alco-ab-step[data-step="2"] .alco-ab-field-anfrage textarea{
    width: 100%;
    max-width: none;
  }
  #alco-ab-root .alco-ab-step[data-step="2"] .alco-ab-field-anfrage textarea{
    min-height: 170px;
  }
}

@media (max-width: 820px){
  #alco-ab-root .alco-ab-step[data-step="2"] .alco-ab-grid{
    grid-template-columns: 1fr;
    gap: 16px;
  }
  #alco-ab-root .alco-ab-step[data-step="2"] .alco-ab-field,
  #alco-ab-root .alco-ab-step[data-step="2"] .alco-ab-field-anlass,
  #alco-ab-root .alco-ab-step[data-step="2"] .alco-ab-field-anfrage,
  #alco-ab-root .alco-ab-step[data-step="2"] .alco-ab-col2{
    grid-column:auto;
  }
  #alco-ab-root .alco-ab-step[data-step="2"] .alco-ab-field label{
    white-space: normal;
    min-height: 0;
  }
}

#alco-ab-root #alco-ab-price-total,
#alco-ab-root #alco-ab-price-total-label{display:none;}
