/* Forms layer for form-specific styling.
   Allowed: form elements, form layout, form states.
   Not allowed: base vars, general layout helpers, components, features.
   Override policy: may override earlier layers; keep overrides scoped to forms.
   Notes for Codex: Edit only this file when changing form styles.
   Last updated: 2026-02-04 */

   /* ==========================================================
   NOMADS – EDIT LISTING FORM (Drupal vertical tabs + details)
   Scoped to: .field-group-tabs-wrapper
   Based on real markup:
   - .field-group-tabs-wrapper .vertical-tabs
   - .vertical-tabs__menu / .vertical-tabs__menu-item.is-selected
   - .vertical-tabs__panes
   - details.vertical-tabs__pane > summary + .details-wrapper
   ========================================================== */


.field--name-field-teaser-teaser input {
  width: auto !important;
  max-width: auto;
}

.vertical-tabs__pane .details-wrapper,
.vertical-tabs__pane .paragraphs-subform  {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

form {
  --vt-default: linear-gradient(135deg, #0575B1 40%, #012437);
  --vt-hover: linear-gradient(135deg, #0a8bd6, #035c8f);
  --vt-selected: linear-gradient(90deg, #52CEDE 30%, #eee);
  --vt-pane: #eee;
  --fieldset: #f8f8f8;
  --form-bg: #ffffff;
  --form-soft: #f6f8fb;
  --form-border: #ddd;
  --form-text: #1f2a3a;
  --form-label: #035c8f;
  --form-muted: #64748b;
  --form-accent: #2a7fff;
  --form-button: linear-gradient(135deg, #0575B1 40%, #012437);
  

  --radius-lg: 14px;
  --radius-md: 10px;
  --radius-sm: 8px;

  --shadow-sm: 0 1px 2px rgba(16, 24, 40, 0.06);
  --shadow-md: 0 10px 24px rgba(16, 24, 40, 0.08);

  color: var(--form-text);
}


/* #node-organizer-form {
  background: #eee;
  border-radius: 12px;
  max-width: 960px;
  margin: 0 auto;
  padding: 20px;
} */

/* ========== Cleaning ========== */

[id$="-format-help"] {  /* format info link below text fields */
  display: none;
}
.node-listing-form .edit-field-description-0-format-help-about {
  display: none;
}
.field--widget-magical-links .tabledrag-toggle-weight, /* magical links widget */
.magical-links-widget__field-label { 
  display: none;
}
form .details-wrapper {
   border: 0;
}

/* Keep autocomplete throbber as a single icon (avoid tiled background flashes). */
.js input.form-autocomplete,
.js .ui-autocomplete-input {
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 16px;
}

.js input.form-autocomplete.ui-autocomplete-loading,
.js .ui-autocomplete-input.ui-autocomplete-loading {
  background-repeat: no-repeat;
}

[dir="rtl"] .js input.form-autocomplete,
[dir="rtl"] .js .ui-autocomplete-input {
  background-position: left 0.75rem center;
}



/* ========== General style ========== */

fieldset legend,
details.field-group-toggle .field-group-toggle__label,
.form-item > label { /* first label */
  font-size: 16px;
  font-weight: 600;
  padding: 10px 0 5px 20px;
  color: var(--form-label);
}
fieldset .form-item label,
details.field-group-toggle label {
  font-size: 15px;
  font-weight: 400;
}
form fieldset {
  border: 0;
  padding: 0;

}
form fieldset .fieldset-wrapper,
form details.field-group-toggle {
  background: var(--fieldset);
  border-radius: 12px;
  border: solid 1px #eee;
  padding: 10px;
}
form fieldset .fieldset-wrapper .fieldset-wrapper,
form details.field-group-toggle .fieldset-wrapper {
  border: 0;
  padding: 0;
}






.node-listing-form .vertical-tabs__pane > div > .details-description {
  margin-right: 220px;
}
.node-listing-form .vertical-tabs__pane  > div > .details-description p:first-of-type {
  margin-right: 350px;
}
.relevance-paragraph .paragraph-top {
  margin: 0;
  height: 0;
}

details.vertical-tabs__pane {
  position: relative;
}
.node-listing-form .vertical-tabs__pane .paragraph-type {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 500px;
  height: 200px;
  z-index: 500;
}

fieldset.no-label label {
  display: none;
}

   button.nomads-easy-tagging__back {
    padding: 2px 7px;
    border: 1px solid #fff;
    border-radius: 6px;
    background: #02324e;
    font-weight: 400;
     }





/* ---------- Field spacing / readability ---------- */
.field-group-tabs-wrapper fieldset.form-item,
.field-group-tabs-wrapper details.form-wrapper {
  /* margin: 10px 0; */
}


.field-group-tabs-wrapper .description,
.field-group-tabs-wrapper .field-description,
.field-group-tabs-wrapper .help-text {
  color: var(--form-muted);
  font-size: 13px;
  margin-top: 6px;
}

/* Relevance UI wrapper (desired + effective) for paragraph subforms.
.field-group-tabs-wrapper .relevance-ui {
  border: 1px solid var(--form-border);
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, #fff, #f8fbff);
  padding: 10px 12px;
} */

.field-group-tabs-wrapper .relevance-ui [data-paragraph-relevance-role="effective"] {
  background: rgba(5, 117, 177, 0.05);
  border: 1px dashed rgba(5, 117, 177, 0.28);
  border-radius: var(--radius-sm);
  padding: 8px 10px;
}

.field-group-tabs-wrapper .relevance-ui [data-paragraph-relevance-role="effective"] input[type="radio"],
.field-group-tabs-wrapper .relevance-ui [data-paragraph-relevance-role="effective"] label,
.field-group-tabs-wrapper .relevance-ui [data-paragraph-relevance-role="effective"] .form-item__label {
  pointer-events: none;
}

.field-group-tabs-wrapper .relevance-ui .field--name-field-relevance2 input[type="radio"],
.field-group-tabs-wrapper .relevance-ui .field--name-field-relevance2 label,
.field-group-tabs-wrapper .relevance-ui .field--name-field-relevance2 .form-item__label {
  pointer-events: none;
}

.field-group-tabs-wrapper .relevance-ui [data-paragraph-relevance-role="effective"] label,
.field-group-tabs-wrapper .relevance-ui [data-paragraph-relevance-role="effective"] .form-item__label {
  cursor: default;
}

.field-group-tabs-wrapper .relevance-ui .field--name-field-relevance2 label,
.field-group-tabs-wrapper .relevance-ui .field--name-field-relevance2 .form-item__label {
  cursor: default;
}

.field-group-tabs-wrapper .relevance-ui [data-paragraph-relevance-role="desired"] {
  margin-bottom: 8px;
}

/* Inputs */
form input[type="text"],
form input[type="number"],
form input[type="email"],
form input[type="tel"],
form input[type="url"],
form input[type="date"],
form textarea,
form select {
  box-sizing: border-box;
  max-width: 100%;
  width: 100%;
  padding: 10px 12px;
  border-radius: var(--radius-md);
  border: 1px solid var(--form-border);
  background: #fff;
  font-size: 15px;
  transition: border-color 140ms ease, box-shadow 140ms ease;
}

form textarea {
  min-height: 140px;
  resize: vertical;
}

form input:focus,
form textarea:focus,
form select:focus {
  outline: none;
  border-color: var(--form-accent);
  box-shadow: 0 0 0 3px rgba(42, 127, 255, 0.16);
}

/* CKEditor editable area (safe, doesn’t fight CK toolbar) */
form .ck-editor__editable,
.node-listing-onboarding-form .ck-editor__editable {
  border-radius: 12px !important;
}

/* ---------- Buttons (scoped) ---------- */
.field-group-tabs-wrapper .button,
.field-group-tabs-wrapper button,
.field-group-tabs-wrapper input[type="submit"] {
  
}

form .button:hover,
form button:hover,
form input[type="submit"]:hover {
  box-shadow: var(--shadow-md);
}

form .button:active,
form button:active,
form input[type="submit"]:active {
  transform: translateY(1px);
}




/* ========== Responsiveness ========== */
/* ---------- Responsive: collapse to single column ---------- */
@media (max-width: 980px) {
  .field-group-tabs-wrapper .vertical-tabs {
    grid-template-columns: 1fr;
  }

  .field-group-tabs-wrapper .vertical-tabs__menu {
    position: relative;
    top: auto;
  }
}



/* ========== Vertical tabs ========== */

/* ----- Panes ----- */

details.vertical-tabs__pane {
  margin: 0 !important;
}
details.vertical-tabs__pane > summary {
  display: none !important;
}
.field-group-tabs-wrapper .vertical-tabs__pane {
  min-width: 0;
  background: var(--vt-pane);
  padding: 10px;
  min-height: 700px;
  border-radius: 12px;
}
/* Pane body */
.field-group-tabs-wrapper .vertical-tabs__pane > .details-wrapper {
  padding: 18px;
}

/* The clickable header ?????????????? needed???????????? */
.field-group-tabs-wrapper .vertical-tabs__pane > summary {
  list-style: none;
  padding: 0;
  font-weight: 750;
  font-size: 12px;
  letter-spacing: 0.1px;
  display: flex;
  align-items: center;
}
/* Remove default marker (Chrome/Safari) */
.field-group-tabs-wrapper .vertical-tabs__pane > summary::-webkit-details-marker {
  display: none;
}
/* Add a clean chevron indicator */
.field-group-tabs-wrapper .vertical-tabs__pane > summary::before {
  content: "›";
  display: inline-block;
  font-size: 18px;
  line-height: 1;
  transform: rotate(0deg);
  transition: transform 140ms ease;
  color: var(--form-muted);
}
.field-group-tabs-wrapper .vertical-tabs__pane[open] > summary::before {
  transform: rotate(90deg);
}



/* ----- Menu ----- */

form .vertical-tabs,
.vertical-tabs__menu {
  border: 0;
}
form .vertical-tabs__menu {
  margin-top: 15px;
}
.field-group-tabs-wrapper .vertical-tabs__menu-item {
  list-style: none;
  margin: 0;
  padding: 0;
}
form .vertical-tabs__menu li {
   border-top-left-radius: 999px;
   border-bottom-left-radius: 999px;
}
.field-group-tabs-wrapper .vertical-tabs__menu-item a {
  border-top-left-radius: 999px;
  border-bottom-left-radius: 999px;
  background: var(--vt-default);
  color: #fff;
  padding: 12px 20px;
}

.field-group-tabs-wrapper .vertical-tabs__menu-item a:hover {
  background: var(--vt-hover);
  color: #fff;
  text-decoration: none !important;
}

.field-group-tabs-wrapper .vertical-tabs__menu-item a:active {
  transform: translateY(1px);
  background: #aff;
}
/* Active tab */
.field-group-tabs-wrapper .vertical-tabs__menu-item.is-selected a {
  background: var(--vt-selected);
}
.field-group-tabs-wrapper .vertical-tabs__menu-item-title {
  font-weight: 650;
  font-size: 16px;
  line-height: 1.2;
}

.field-group-tabs-wrapper .vertical-tabs__menu-item-summary {
  margin-left: auto;
  font-size: 12px;
  color: var(--form-muted);
  opacity: 0.9;
}
.field-group-tabs-wrapper .vertical-tabs__menu-item.is-selected .vertical-tabs__menu-item-summary {
  color: rgba(255, 255, 255, 0.85);
}




/* ========== Widgets ========== */

/* ------ CK Editor ----- */
form .ck-editor__top,
.node-listing-onboarding-form .ck-editor__top {
  margin: 0 100px !important;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}
/* ----- format selection widget ----- */
form  [id$="-format"] select {  
  width: 200px;
  text-align: right;
}
form  [id$="-format"] {
  text-align: right;
}


/* ----- Title input bigger ----- */

form .field--name-field-title input,
form .field--name-title input {
  font-size: 24px !important;
  padding: 15px 30px !important;
}

/* ----- sliderwidget ----- */
form .sliderwidget  {
  padding: 0 30px;
}


/* ========= Prices fieldset ========= */
/* Price range: move fieldset description above the row */
fieldset#group-price-range > .fieldset-wrapper{
  display: flex;
  flex-direction: column;
}

fieldset#group-price-range > .fieldset-wrapper > .description{
  order: -1;
  margin: 6px 0 14px;
  opacity: .8;
  font-size: 0.95em;
  line-height: 1.35;
}

/* keep the row after it */
fieldset#group-price-range .price-range-widget__row{
  order: 0;
}




/* ========== Pretty checkbox Radio overwrite ========== */

/* PCR pretty radios + checkboxes: modern layout, wrapper will not collapse */
.pretty-select-or-other-widget .fieldset-wrapper,
.field--widget-options-pretty .fieldset-wrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 10px;
}
.pretty-select-or-other-widget .fieldset-wrapper > div,
.field--widget-options-pretty .fieldset-wrapper > div {
  display: contents;
}



/* Override PCR float layout */
.form-radios .pretty-element,
.form-checkboxes .pretty-element {
  float: none !important;
  margin: 0; /* gap handles spacing */
}

/* Optional: keep pills from becoming super tall */
.form-radios .pretty-element label,
.form-checkboxes .pretty-element label {
  white-space: nowrap; /* remove if you prefer multi-line labels */
  background: #fff;
  font-size: 12pt;
  border-radius: 999px;
}
.big-pretty .form-radios .pretty-element label,
.big-pretty .form-checkboxes .pretty-element label {
  font-size: 16pt;
}
.form-radios .pretty-element label:hover,
.form-checkboxes .pretty-element label:hover {
  background: #f2f2f2;
  color: #000;
}
.form-radios .pretty-element label:hover,
.form-checkboxes .pretty-element label:hover {
  background: #f2f2f2;
  color: #000;
}
.form-radios .pretty-element input:checked + label,
.form-checkboxes .pretty-element input:checked + label {
    color: #fff;
    background-color: #337ab7;
    border-color: #2e6da4;
}

/* =========== Geolocation ========== */

form .geolocation-map-wrapper {
  border-radius: 12px;
}
.geolocation-map-widget {
  position: relative;
}
.geolocation-widget-input legend {
  display: none;
}
.geolocation-widget-input {
  background: transparent;
  margin: 0;
}
.geolocation-widget-input .fieldset-wrapper {
 
}
.geolocation-widget-input-0 {
  position: absolute;
  left: 10px;
  top: 10px;
  background: transparent;
  z-index: 95}
.geolocation-widget-input > .fieldset-wrapper {
  display: block;
  width: 200px;
  background: rgba(255, 255, 255, 0.7);
  padding: 5px;

}
.geolocation-widget-input > .fieldset-wrapper input {
  width: 100px;
}
.geolocation-widget-input .fieldset-wrapper span {
  display: block;
  width: 180px;
}
.geolocation-widget-input .fieldset-wrapper .form-item {
  display: block;
}
.geolocation-widget-input .fieldset-wrapper label {
  padding: 0;
}
#edit-group-location-date .form-type-entity-autocomplete > label { 
  display: none;
}
form .field--name-field-country {
  position: relative;
  z-index: 700;
}
.field--name-field-country .nomads-geo-widget__description {
  margin-top: 20px;
  padding-left: 10%;
}
.geolocation-map-widget .geolocation-widget-input .form-text {
  width: 100px;
}

/* ========== Relevance Paragraph vertical tab forms - general tweaks and styling ========== */

details.relevance-paragraph {
  position: relative;
}
.paragraphs-tabs-wrapper > div > table {
  width: 100%;
}

.relevance-paragraph .paragraphs-tabs-wrapper > div > table thead,
.relevance-paragraph .paragraphs-tabs-wrapper > div > table .field-multiple-drag.paragraph-bullet,
.relevance-paragraph .paragraphs-tabs-wrapper > div > table .paragraphs-actions {
  display: none;
}
form .paragraphs-tabs-wrapper img.paragraph-type-icon {
  width: 150px;
  height: auto;
  position: absolute;
  top: 5px;
  right: 20px;
}
form .paragraphs-tabs-wrapper .paragraph-type-label {
  position: absolute;
  top: 20px;
  right: 220px;
  text-align: right;
  display: block;
  font-size: 24pt;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 2pt;
}
form .paragraphs-tabs-wrapper .paragraph-top {
  margin: 0;
}


form .field-group-tabs-wrapper li.vertical-tabs__menu-item.relevance-paragraph {
   margin-left: 20px;
}
form .field-group-tabs-wrapper li.vertical-tabs__menu-item.optional-paragraph {
   margin-left: 40px;
}
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  form .paragraph-type-label {
    background-image: linear-gradient(90deg, #0dafc5, #0575b1);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
  }
}




/* ========== Inline widgets ========== */

.inline-widgets > .fieldset-wrapper,
.field--name-field-internet-speed .fieldset-wrapper,
div.inline-widgets,
div.inline-widgets-x .fieldset-wrapper,
details.inline-widgets .details-wrapper {
  display: grid;
  gap: 10px 40px;
  align-items: start;
}
/* Make sure the heading spans across all 3 columns */
.inline-widgets > h3 {
  grid-column: 1 / -1;
  margin: 0 0 10px 0;
}
/* Each widget wrapper becomes one grid cell */
.inline-widgets > .form-wrapper {
  min-width: 0; /* important so inputs don't force overflow */
}
/* Inputs fill their cell cleanly */
.inline-widgets div input,
.inline-widgets div textarea,
.inline-widgets div select {
  width: 100%;
  box-sizing: border-box;
}
.inline-widgets span.field-prefix,
.inline-widgets-x span.field-prefix {
  grid-column: 1 / -1;
}

/* ------- 2 columns ------- */

/* 2 equal columns for the 3 field widgets inside your wrapper */
.inline-widgets.col2 > .fieldset-wrapper,
.field--name-field-internet-speed .fieldset-wrapper,
div.inline-widgets.col2,
div.inline-widgets-x.col2 .fieldset-wrapper,
details.inline-widgets.col2 .details-wrapper {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.inline-widgets.col-2-1 > .fieldset-wrapper,
div.inline-widgets.col-2-1,
div.inline-widgets-x.col-2-1 .fieldset-wrapper,
details.inline-widgets.col-2-1 .details-wrapper {
  grid-template-columns: 2fr 1fr;
}
.inline-widgets.col-1-2 > .fieldset-wrapper,
div.inline-widgets.col-1-2,
div.inline-widgets-x.col-1-2 .fieldset-wrapper,
details.inline-widgets.col-1-2 .details-wrapper {
  grid-template-columns: 1fr 2fr;
}


/* ------- 3 columns ------- */

/* 3 equal columns for the 3 field widgets inside your wrapper */
.inline-widgets.col3 > .fieldset-wrapper,
div.inline-widgets.col3,
div.inline-widgets-x.col3 .fieldset-wrapper,
details.inline-widgets.col3 .details-wrapper {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.inline-widgets.col-2-1-1 > .fieldset-wrapper,
div.inline-widgets.col-2-1-1,
div.inline-widgets-x.col-2-1-1 .fieldset-wrapper,
details.inline-widgets.col-2-1-1 .details-wrapper {
  grid-template-columns: 2fr 1fr 1fr;
}
.inline-widgets.col-2-1-2 > .fieldset-wrapper,
div.inline-widgets.col-2-1-2,
div.inline-widgets-x.col-2-1-2 .fieldset-wrapper,
details.inline-widgets.col-2-1-2 .details-wrapper {
  grid-template-columns: 2fr 1fr 2fr;
}

/* ------- 4 columns ------- */

/* 4 equal columns for the 4 field widgets inside your wrapper */
.inline-widgets.col4 > .fieldset-wrapper,
div.inline-widgets.col4,
div.inline-widgets-x.col4 .fieldset-wrapper,
details.inline-widgets.col4 .details-wrapper {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}


.number-input-inline .fieldset-wrapper {
  align-items: end;
}

.number-input-inline label,
.number-input-inline input,
.number-input-inline select,
.number-input-inline span.field-suffix,
.number-input-inline span.field-suffix,
.number-input-inline .field-prefix {
  display: inline-block;
  width: auto !important;
}


/* ======== Relevance Slider ======== */



.relevance-ui .field--name-field-relevance2 legend {
  display: none;
}
.relevance-ui .field--name-field-relevance2,
.relevance-ui .field--name-field-relevance2 fieldset,
.relevance-ui .field--name-field-relevance2 .fieldset-wrapper {
  padding: 0 !important;;
  margin: 0 !important;;
}
.relevance-ui .fieldset-wrapper,
.relevance-ui .form-wrapper {
  border: 0;
  background: transparent;
}
.relevance-ui .field--name-field-relevance .pretty-element label {
  text-align: center;
  font-size: 14pt;
  font-weight: 600;
  padding: 10px;
}

.relevance-ui .field--name-field-relevance2 .pretty-element {
  padding: 0 30px;
  margin-top: -21px;
}
.relevance-ui .field--name-field-relevance2 .pretty-element label {
  border-radius: 15px;
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}
.relevance-ui .field--name-field-relevance2 .pretty-element.is-active label {
  background-color: #52CEDE;
  color: #000;
}


.fieldset-price .form-type-commerce-number .description {
  display: none;
}
.fieldset-hosting-capacity .field--type-integer {
  text-align: center;
}
.fieldset-hosting-capacity .field--type-integer label {
  font-weight: 600;
  margin-right: 15px;
}
.fieldset-hosting-capacity .field--type-integer input {
  width: 100px;
}



/* ========== Maxlength Counter ========== */

.form-type-textarea,
.form-type-textfield {
  position: relative;
}
.counter {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  border: 1px solid #666;
  border-radius: 5px;
  padding: 3px 10px;
  background:#0570A1;
  color:#fff;
  font-size: 9pt;
}
.form-type-textfield:hover .counter,
.form-type-textarea:hover .counter {
  display: inline-block;
}

/* ========== listing - texts ========== */

form.node-listing-text-form {
  max-width: 1200px;
  margin: auto;
  padding: 20px;
  background: #eee;
  border-radius: 12px;
}
form.node-listing-text-form .field-multiple-table thead,
form.node-listing-text-form td.field-multiple-drag,
form.node-listing-text-form .paragraphs-add-wrapper,
form.node-listing-text-form .paragraphs-actions,
form.node-listing-text-form .tabledrag-toggle-weight-wrapper {
  display: none;
}
form.node-listing-text-form .paragraph-top {
  grid-template-columns: 300px auto 1fr auto;
}
form.node-listing-text-form .paragraph-type-label {
  font-size: 24pt;
  font-weight: 600;
}
form.node-listing-text-form .paragraph-type-icon {
  width: 100px;
  height: auto;
}
form.node-listing-text-form label {
  font-size: 13pt;
  margin: 20px 10px 10px;
}
form.node-listing-text-form .field-subtitle-text {
  font-size: 11pt;
}
form.node-listing-text-form .description {
  font-size: 11pt;
  padding: 8pt 20pt;
  color: #666;
}


form.node-listing-images-form {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 16px;
}
form.node-listing-images-form  .field--name-field-images  {
  grid-column: 2;
}
form.node-listing-images-form   .field--widget-paragraphs {
  grid-column: 2;
}
form.node-listing-images-form  > .field--name-field-images  {
  grid-column: 1;
}
form.node-listing-images-form .field-multiple-table thead,
form.node-listing-images-form td.field-multiple-drag,
form.node-listing-images-form .paragraphs-add-wrapper,
form.node-listing-images-form legend,
form.node-listing-images-form .paragraphs-actions,
form.node-listing-images-form .tabledrag-toggle-weight-wrapper,
form.node-listing-images-form .paragraphs-tabs .clearfix {
  display: none !important;
}
form.node-listing-images-form .js-media-library-item {
  width: 120px !important;
  height: 120px !important;
}
form.node-listing-images-form fieldset.media-library-widget .nomads-media-selection-grid {
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 10px;
}
form.node-listing-images-form .paragraph-type-icon {

}
form.node-listing-images-form fieldset.media-library-widget .nomads-media-selection-grid__add input {
  height: 120px !important;
}


/* ========== User form ========== */

/* =========================================================
   NOMADS.SITE USER FORM
   Soft card layout, rounded fields, calm editorial styling
   Target: /user//edit form.user-form
   ========================================================= 

form.user-form {
  max-width: 1240px;
  margin: 32px auto 80px;
  padding: 0 18px 40px;
}
*/
/* Main wrappers become soft sections 
form.user-form > .form-wrapper,
form.user-form > .js-form-wrapper,
form.user-form .field--widget-image-image,
form.user-form .field--widget-text-textarea-with-summary,
form.user-form #edit-account,
form.user-form fieldset,
form.user-form .text-format-wrapper {
  background: #ececec;
  border: 1px solid #dddddd;
  border-radius: 28px;
  padding: 28px 28px 24px;
  margin: 0 0 28px;
  box-sizing: border-box;
}*/

/* Avoid double cards inside some wrappers 
form.user-form .text-format-wrapper,
form.user-form .field--widget-text-textarea-with-summary > .text-format-wrapper {
  background: transparent;
  border: 0;
  padding: 0;
  margin: 0;
}
form.user-login-form .text-format-wrapper {
  background: transparent;
  border: 0;
  padding: 0;
  margin: 0;
}*/

/* Labels */
form.user-form label,
form.user-form legend span,
form.user-form .fieldset-legend {
  display: inline-block;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.15;
  color: #00537a;
  margin: 0 0 12px;
}
form.user-login-form label,
form.user-login-form legend span,
form.user-login-form .fieldset-legend {
  display: inline-block;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.15;
  color: #00537a;
  margin: 0 0 12px;
}

/* Smaller labels inside grouped password fields etc. */
form.user-form .password-parent label,
form.user-form .confirm-parent label,
form.user-form .form-type-checkbox > label.option,
form.user-form .form-type-radio > label.option {
  font-size: 1rem;
  font-weight: 600;
  color: #13324a;
  margin-bottom: 0;
}

/* General field spacing */
form.user-form .js-form-item,
form.user-form .form-item {
  margin: 0 0 24px;
}
form.user-login-form .js-form-item,
form.user-login-form .form-item {
  margin: 0 0 24px;
}

form.user-form .js-form-item:last-child,
form.user-form .form-item:last-child {
  margin-bottom: 0;
}

/* Inputs */
form.user-form input.form-text,
form.user-form input.form-email,
form.user-form input.form-url,
form.user-form input.form-search,
form.user-form input.form-number,
form.user-form input.form-tel,
form.user-form input.form-password,
form.user-form textarea.form-textarea,
form.user-form select {
  width: 100%;
  padding: 16px 18px;
  font-size: 14pt;
  line-height: 1.4;
  color: #102434;
  background: #ffffff;
  border: 1px solid #d5d9de;
  border-radius: 18px;
  box-shadow: none;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
  box-sizing: border-box;
}
form.user-login-form input.form-text,
form.user-login-form input.form-email,
form.user-form input.form-url,
form.user-login-form input.form-password {
  width: 100%;
  padding: 16px 18px;
  font-size: 14pt;
  line-height: 1.4;
  color: #102434;
  background: #ffffff;
  border: 1px solid #d5d9de;
  border-radius: 18px;
  box-shadow: none;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
  box-sizing: border-box;
}

/* Textareas */
form.user-form textarea.form-textarea {
  min-height: 220px;
  padding-top: 18px;
  resize: vertical;
}

/* Focus */
form.user-form input.form-text:focus,
form.user-form input.form-email:focus,
form.user-form input.form-url:focus,
form.user-form input.form-search:focus,
form.user-form input.form-number:focus,
form.user-form input.form-tel:focus,
form.user-form input.form-password:focus,
form.user-form textarea.form-textarea:focus,
form.user-form select:focus,
form.user-form .ck-focused {
  outline: none;
  border-color: #0b6fa4;
  box-shadow: 0 0 0 4px rgba(11, 111, 164, 0.12);
}
form.user-login-form input.form-text:focus,
form.user-login-form input.form-email:focus,
form.user-login-form input.form-password:focus  {
  outline: none;
  border-color: #0b6fa4;
  box-shadow: 0 0 0 4px rgba(11, 111, 164, 0.12);
}

/* Descriptions */
form.user-form .description {
  margin-top: 10px;
  font-size: 0.98rem;
  line-height: 1.5;
  color: #597081;
}

/* Required marker */
form.user-form .form-required::after {
  color: #0b6fa4;
}
form.user-login-form .form-required::after {
  color: #0b6fa4;
}

/* File / image widget */
form.user-form .image-widget,
form.user-form .form-managed-file {
  background: #f8f8f8;
  border: 1px solid #dddddd;
  border-radius: 20px;
  padding: 18px;
}

form.user-form input.form-file {
  min-height: auto;
  padding: 12px 0;
  border: 0;
  background: transparent;
  border-radius: 0;
}

/* Buttons */
form.user-form .button,
form.user-form input.button,
form.user-form .form-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 22px;
  font-size: 1rem;
  font-weight: 600;
  color: #0f2f43;
  background: #ffffff;
  border: 1px solid #bfc9d1;
  border-radius: 999px;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

form.user-form .button:hover,
form.user-form input.button:hover,
form.user-form .form-submit:hover {
  background: #f2f7fa;
  border-color: #0b6fa4;
  color: #0b6fa4;
  transform: translateY(-1px);
}
/* Buttons */
form.user-login-form .button,
form.user-login-form input.button,
form.user-login-form .form-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 22px;
  font-size: 1rem;
  font-weight: 600;
  color: #0f2f43;
  background: #ffffff;
  border: 1px solid #bfc9d1;
  border-radius: 999px;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

form.user-login-form .button:hover,
form.user-login-form input.button:hover,
form.user-login-form .form-submit:hover {
  background: #f2f7fa;
  border-color: #0b6fa4;
  color: #0b6fa4;
  transform: translateY(-1px);
}

/* Primary submit */
form.user-form #edit-submit {
  background: #0b5f86;
  color: #ffffff;
  border-color: #0b5f86;
}

form.user-form #edit-submit:hover,
form.user-form #edit-submit:focus {
  background: #094e6d;
  border-color: #094e6d;
  color: #ffffff;
}

/* CKEditor styling */
form.user-form .ck.ck-editor {
  width: 100%;
}

form.user-form .ck.ck-editor__main > .ck-editor__editable,
form.user-form .ck.ck-toolbar {
  border-color: #d5d9de;
}

form.user-form .ck.ck-toolbar {
  background: #f7f7f7;
  border-top-left-radius: 18px;
  border-top-right-radius: 18px;
  padding: 10px 12px;
}

form.user-form .ck.ck-editor__main > .ck-editor__editable {
  background: #ffffff;
  border-bottom-left-radius: 18px;
  border-bottom-right-radius: 18px;
  min-height: 300px;
  padding: 18px 20px;
}

/* Password strength */
form.user-form .password-strength,
form.user-form .password-confirm-message {
  margin-top: 10px;
  font-size: 0.95rem;
  color: #597081;
}

form.user-form .password-strength__meter {
  height: 10px;
  margin-bottom: 10px;
  background: #dde5ea;
  border-radius: 999px;
  overflow: hidden;
}

form.user-form .password-strength__indicator {
  border-radius: 999px;
}

/* Fieldset */
form.user-form fieldset {
  min-width: 0;
}

form.user-form fieldset .fieldset-wrapper {
  margin-top: 10px;
}

/* Checkboxes */
form.user-form .form-checkboxes {
  display: grid;
  gap: 12px;
}

form.user-form .form-type-checkbox,
form.user-form .form-type-radio {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #f8f8f8;
  border: 1px solid #dddddd;
  border-radius: 16px;
  padding: 14px 16px;
}

form.user-form input.form-checkbox,
form.user-form input.form-radio {
  width: 20px;
  height: 20px;
  margin: 0;
  accent-color: #0b5f86;
}

/* Links inside descriptions */
form.user-form .description a,
form.user-form a {
  color: #0b6fa4;
  text-decoration: none;
}

form.user-form .description a:hover,
form.user-form a:hover {
  text-decoration: underline;
}

/* Improve vertical rhythm around account group */
form.user-form #edit-account > .form-item:last-child {
  margin-bottom: 0;
}

/* Responsive */
@media (max-width: 900px) {
  form.user-form {
    padding: 0 12px 32px;
  }

  form.user-form > .form-wrapper,
  form.user-form > .js-form-wrapper,
  form.user-form .field--widget-image-image,
  form.user-form .field--widget-text-textarea-with-summary,
  form.user-form #edit-account,
  form.user-form fieldset {
    padding: 20px 18px 18px;
    border-radius: 22px;
    margin-bottom: 20px;
  }

  form.user-form label,
  form.user-form legend span,
  form.user-form .fieldset-legend {
    font-size: 1.5rem;
  }

  form.user-form input.form-text,
  form.user-form input.form-email,
  form.user-form input.form-url,
  form.user-form input.form-password,
  form.user-form textarea.form-textarea,
  form.user-form select {
    min-height: 58px;
    font-size: 1rem;
    border-radius: 16px;
  }

  form.user-form .ck.ck-editor__main > .ck-editor__editable {
    min-height: 220px;
  }
}



.special-category-select__tree-list {
  font-size: 1.1em;
}




