/* ======================================================
   meeting EDITOR — ACF-driven 40 / 60 layout
   Canonical version (Album parity)
====================================================== */

body.meeting-editor-page .softform-frame {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

/* Editor frame spacing */
body.meeting-editor-page .meeting-editor-form-area {
  margin-top: 20px;
}

/* ------------------------------------------------------
   CORE: ACF grid layout (THIS is the key)
------------------------------------------------------ */

body.meeting-editor-page .acf-form-fields.-top {
  display: grid;
grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);

  grid-template-areas:
    "hero title title title title"
    "hero date date date date"
    "hero estart eend eend eend"
    "hero price price price price"
    "hero seriesnum seriesday seriescol ."
    "hero statustxt statustxt statuscol statuscol"
    "venue description description description description"
    "city description description description description"
    "county description description description description"
    "country description description description description"
    "post description description description description"
    "extract extract extract extract extract";
  column-gap: 32px;
  row-gap: 6px;
  padding: 0 28px 10px 28px !important;
}

body.meeting-editor-page .acf-fields > .acf-field {
  padding: 6px;
}

/* ------------------------------------------------------
   Field → grid-area mapping
------------------------------------------------------ */

/* Series Management */
body.meeting-editor-page
.acf-field[data-name="meeting_series_number"] {
  grid-area: seriesnum;
}
body.meeting-editor-page
.acf-field[data-name="meeting_series_day"] {
  grid-area: seriesday;
}
body.meeting-editor-page
.acf-field[data-name="meeting_series_colour"] {
  grid-area: seriescol;
}

/* Status Management */
body.meeting-editor-page
.acf-field[data-name="meeting_status_text"] {
  grid-area: statustxt;
}
body.meeting-editor-page
.acf-field[data-name="meeting_status_colour"] {
  grid-area: statuscol;
}


/* Hero photo */
body.meeting-editor-page
.acf-field[data-name="meeting_hero_photo"] {
  grid-area: hero;
}

/* Title */
body.meeting-editor-page
.acf-field[data-name="meeting_title"] {
  grid-area: title;
}

/* Date & time */
body.meeting-editor-page
.acf-field[data-name="meeting_date"] {
  grid-area: date;
}
body.meeting-editor-page
.acf-field[data-name="meeting_start_time"] {
  grid-area: estart;
}
body.meeting-editor-page
.acf-field[data-name="meeting_end_time"] {
  grid-area: eend;
}

/* Price */

body.meeting-editor-page
.acf-field[data-name="meeting_price"] {
  grid-area: price;
}

/* Location */
body.meeting-editor-page
.acf-field[data-name="meeting_venue"] {
  grid-area: venue;
}
body.meeting-editor-page
.acf-field[data-name="meeting_city"] {
  grid-area: city;
}
body.meeting-editor-page
.acf-field[data-name="meeting_county"] {
  grid-area: county;
}
body.meeting-editor-page
.acf-field[data-name="meeting_country"] {
  grid-area: country;
}
body.meeting-editor-page
.acf-field[data-name="meeting_postcode"] {
  grid-area: post;
}
/* Description */
body.meeting-editor-page
.acf-field[data-name="meeting_description"] {
  grid-area: description;
}
}
/* Full Description */
body.meeting-editor-page
.acf-field[data-name="meeting_extract"] {
  grid-area: extract;
}
/* ------------------------------------------------------
   Hero behaviour
------------------------------------------------------ */

body.gallery-editor-page
.acf-field[data-name="meeting_hero_photo"] .acf-image-uploader {
  /* hero handled by softlayout.css */
}
/* Gallery hero placeholder text */
body.gallery-editor-page
.acf-field[data-name="meeting_hero_photo"].softtops-hero {
  --soft-hero-placeholder: "Add your meeting Photo";
}

/* ------------------------------------------------------
   Field width tuning
------------------------------------------------------ */

body.meeting-editor-page
.acf-field[data-name="meeting_title"] input {
  max-width: 42ch;
}

body.meeting-editor-page
.acf-field[data-name="meeting_date"] input {
  max-width: 18ch;
}

body.meeting-editor-page
.acf-field[data-name="meeting_start_time"] input,
body.meeting-editor-page
.acf-field[data-name="meeting_end_time"] input {
  max-width: 12ch;
}

body.meeting-editor-page
.acf-field[data-name="meeting_price"] input {
  max-width: 15ch;
  max-width: 110px;
}


body.meeting-editor-page
.acf-field[data-name="meeting_country"] select {
  height: 38px;
}




.meeting-editor-page .topic-title {
  margin: 0 0 4px 0;
  font-size: 1.15rem;
  line-height: 1.35;
}
/* ------------------------------------------------------
   Mobile: single column
------------------------------------------------------ */

@media (max-width: 900px) {

  body.meeting-editor-page .acf-form-fields.-top {
    grid-template-columns: 1fr;
    grid-template-areas:
      "hero"
      "title"
      "date"
      "estart"
      "eend"
      "currency"
      "price"
      "venue"
      "city"
      "county"
      "country"
      "post"
      "extract";
  }

  body.meeting-editor-page
  .acf-field[data-name="meeting_hero_photo"] {
    position: static;
  }
}

/* ------------------------------------------------------
   Remove native ACF submit row
------------------------------------------------------ */

.context-meeting-edit .acf-form-submit {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Time fields: constrain label width to match input */
body.meeting-editor-page
.acf-field[data-name="meeting_start_time"] .acf-label,
body.meeting-editor-page
.acf-field[data-name="meeting_end_time"] .acf-label {
  max-width: 20ch;
}

/* meeting hero placeholder text (public-facing UX) */
body.meeting-editor-page
.acf-field[data-name="meeting_hero_photo"].softtops-hero {
  --soft-hero-placeholder: "Add an meeting Hero Photo";
}

/* Description field: behave, stay within paper */
body.meeting-editor-page
.acf-field[data-name="meeting_description"] textarea {
  min-height: 400px;   /* tweak freely */
  resize: vertical;
  box-sizing: border-box;
}
/* Extract field: behave, stay within paper */
body.meeting-editor-page
.acf-field[data-name="meeting_extract"] textarea {
  min-height: 100px;   /* tweak freely */
  resize: vertical;
  box-sizing: border-box;
}

/* ============================================================
   ACF SELECT HEIGHT NORMALISATION
   (Currency + Country)
   ============================================================ */

/* Ensure wrapper participates in height */
body.meeting-editor-page
.acf-field[data-name="meeting_price_currency"] .acf-input,
body.meeting-editor-page
.acf-field[data-name="meeting_country"] .acf-input {
  height: 42px;
  display: flex;
  align-items: center;
}

/* Ensure select fills the wrapper */
body.meeting-editor-page
.acf-field[data-name="meeting_price_currency"] select,
body.meeting-editor-page
.acf-field[data-name="meeting_country"] select {
  height: 100%;
  min-height: 42px;
  line-height: 1.2;
  box-sizing: border-box;
}
.softtops-field-error {
    border-left: 3px solid #b7410e; /* your rust */
    padding-left: 0.5rem;
}

.softtops-validation-msg {
    margin-top: 0.35rem;
    font-size: 0.85rem;
    color: #b7410e;
    font-weight: 500;
}
/* ============================================================
   meeting Extract — Read-only display
============================================================ */

.acf-field[data-name="meeting_extract"] textarea {
    background: #f6f4ee;          /* softer than input */
    border: 1px dashed #2b5946;    /* visual cue */
    color: #555;
      max-height: 80px;   /* tweak freely */
    pointer-meetings: none;          /* blocks typing */
    resize: none;
}

/* Optional: make it feel intentional */
.acf-field[data-name="meeting_extract"] .acf-label label::after {
    content: " (automatically generated from your meeting Details)";
    font-weight: normal;
    color: #888;
}
/* ============================================================
   FORCE meeting_extract to full-width grid span
============================================================ */

body.meeting-editor-page
.acf-field[data-name="meeting_extract"] {
  grid-area: extract;
  grid-column: 1 / -1;   /* ← THIS is the missing piece */
}

body.meeting-editor-page
.acf-field[data-name="meeting_extract"] {
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px dashed #c9c4b5;
}
/* ============================================================
   Admin-only meeting Series fields
============================================================ */

body:not(.softtops-is-admin)
.acf-field[data-name="meeting_series_number"],
body:not(.softtops-is-admin)
.acf-field[data-name="meeting_series_day"],
body:not(.softtops-is-admin)
.acf-field[data-name="meeting_series_colour"], 
body:not(.softtops-is-admin)
.acf-field[data-name="meeting_status_text"], 
body:not(.softtops-is-admin)
.acf-field[data-name="meeting_status_colour"] {
    display: none !important;
}
/* =========================================================
   Create Topic — Help Paper (Album-style, cream text)
   ========================================================= */

.meeting-create-help {
  max-width: 1200px;
  margin: 0 auto 28px;
  background: #4f6a5c;
  color: #eae3d1;
  padding: 24px 28px;
  border-radius: 16px;
}

.meeting-create-help h4 {
  margin: 0 0 10px;
  font-size: 1.1rem;
  font-weight: 600;
  color: #f3efe4;             /* slightly brighter cream for heading */
}

.meeting-create-help p {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.45;
  color: #eae3d1;
}
.acf-required {
  color: #b7410e;      /* your rust */
  font-weight: 600;
}