/* Components layer for reusable UI pieces.
   Allowed: component blocks, elements, and state rules.
   Not allowed: base vars, layout helpers, feature-specific, forms.
   Override policy: may override 00-base.css and 10-layout.css; may be overridden by later layers.
   Notes for Codex: Edit only this file when changing component styling.
   Last updated: 2026-02-04 */


/* 
* Buttons
* Fields
* Icon Formatter
* Pills
* Field Label inline
* Data Icon Inline
* Tooltip
* Taxonomy Breadcrump Formatter
* Landing Page Teaser Slideshow buttons



.field--name-field-body,
.field--name-field-text {
  max-width: 960px;
  margin: 10px auto;
}
*/


.soon-come {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.28em 0.7em;
  border-radius: 999px;

  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1;

  color: #00486E;
  background: linear-gradient(135deg, #D6F5F2 0%, #9ADFEF 100%);
  border: 1px solid rgba(0, 72, 110, 0.18);
  box-shadow: 0 4px 12px rgba(0, 72, 110, 0.12);
  white-space: nowrap;
  margin: 0 auto;
  align-self: center;
}
.soon-come-wrapper {
  text-align: center;
  padding: 20px;
}

.soon-come::before {
  content: "✦";
  margin-right: 0.35em;
  font-size: 0.8em;
  opacity: 0.85;
}

/* profile-map */

#profile-map {
  margin: 20px auto;
  padding: 20px;
  min-width: 80%;
  box-sizing: border-box;
}
#profile-map .fieldset-wrapper {
  
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  height: 100%;
  gap: 20px;
}
#profile-map legend {
  color: #aaa;
  text-transform: uppercase;
  padding: 0;
  display: block;
  float: none;
  position: static;
}
#profile-map .nomads-icon-formatter {
  display: contents;
}
@media (min-width: 960px) {
  #profile-map {
  min-height: 60%;
}
}





.view-empty {
  text-align: center;
  margin: 60px 10px;
  color: #666;
}

body.page-node-type-organizer h1.page-title::before {
  content: "Organizer";
  display: block;
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  opacity: 0.65;
  margin-bottom: 4px;
}

/* =============================
  Z index
================================= */

/* keep contextual UI above images/sliders */
.contextual {
  z-index: 4;
}


/* ===============================
  Buttons
================================== */

/* Nomads.site blue pill button */

.nomad-button,
a.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #1382BC 0%, #0B5F8D 100%);
  color: #fff;
  border: 0;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.1;
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(30, 136, 229, 0.25);
  transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  margin: 2px 5px;
}
.nomad-button a {
  color: #fff;
  text-decoration: none;
}

/* hover */
.nomad-button:hover {
  background: linear-gradient(135deg, #2394CF 0%, #0D6B9E 100%);
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(30, 136, 229, 0.28);
}

/* active */
.nomad-button:active {
  transform: translateY(0);
}

/* optional: remove ugly default button styles */
.nomad-button:focus {
  outline: none;
}
div .button-primary {
    font-size: 22pt;
    padding: 10px 50px;
    margin: 5px;
}
div div .button-teal {
  background: linear-gradient(135deg, #66C3D0 0%, #33A7B8 100%) !important;
}

div div .button-teal:hover {
  background: linear-gradient(135deg, #7AD2DE 0%, #42B8C8 100%) !important;
}


/* ===============================
  Action Buttons
================================== */

#edit-actions {
  margin-top: 24px;
}

#edit-actions .button,
#edit-actions .button--primary,
#magic-link-container .button {
  appearance: none;
  background: linear-gradient(135deg, #005F8A 0%, #003B5C 100%);
  border: 1px solid  #005F8A;
  color: #fff;
  border-radius: 8px;
  padding: 10px 18px;
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1.2;
  box-shadow: none;
  text-shadow: none;
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
  margin: 0 auto;
  width: auto;
}
#edit-actions .button#edit-delete {
  background: #fff;
  color: #710101;
  border: 1px solid  #710101;
}

#edit-actions .button:hover,
#edit-actions .button--primary:hover,
#edit-actions .button:focus,
#edit-actions .button--primary:focus {
  background: linear-gradient(135deg, #0072A3 0%, #00486E 100%);
  border-color: #0072A3;
  color: #fff;
  text-decoration: none;
}

#edit-actions .button:active,
#edit-actions .button--primary:active {
  background: #2a699f;
  border-color: #2a699f;
}

#edit-actions .button:focus-visible,
#edit-actions .button--primary:focus-visible {
  outline: 2px solid rgba(59, 130, 196, 0.22);
  outline-offset: 2px;
}


.swiper-button-prev, 
.swiper-button-next {
  position: absolute !important;
}


.nomads-title-local-tasks__select {
  background-color:#33A7B8;
}





/* =======================================
==========================================
  Field Display
==========================================
========================================== */



/* =======================================
  Icon formatter
========================================== */

/* Shared icon formatter typography */
.nomads-icon-formatter__label {
  margin: 0;
  font-size: 7pt;
  text-transform: uppercase;
  color: #005f8a;
  font-weight: 700;
  text-decoration: none;
  display: block;
}

.nomads-icon-formatter__title {
  margin: 0 auto 7px auto;
  font-size: 13pt;
  color: #444;
  font-weight: 500;
  text-decoration: none;
  text-align: center;
  display: block;
}

/* Ensure label links inherit shared typography */
.nomads-icon-formatter__label a {
  color: inherit;
  text-decoration: none;
  text-transform: inherit;
  font-weight: inherit;
}

/* Shared icon formatter icon alignment */
.nomads-icon-formatter__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}




/* =================================
  Pills
===================================== */

div .nomads-pill,
div .nomads-pill__label,
.price-range-wrapper,
.listing-menu-virtual-field a.listing-menu-virtual-field__link {
  display: inline-block;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 10pt;
  line-height: 1.2;
  vertical-align: middle;
  border: 0;
  font-weight: 500;
  background-color: #0570A1;
  color: #fff;
  margin: 2px;
}
div .nomads-pill a {
  text-decoration: none;
  color: #fff;
}
.paragraph-relevance-key-aspects__group--minor_relevance .nomads-pill {
  background: linear-gradient(135deg, #005F8A 0%, #003B5C 100%);
}
.listing-menu-virtual-field a.listing-menu-virtual-field__link {
  font-size: 1.1em;
}

.nomads-pill__link {
  color: inherit;
  text-decoration: none;
}
.nomads-pill__label {
  color: inherit;
}

/* Fitted pills sizing override 
.nomads-pills--fitted-pills .nomads-pill {
  padding: 2px 5px;
  margin: 2px;
  font-size: 11px;
  line-height: 1.25;
  border: 0;
  font-weight: 600;
  background: linear-gradient(135deg, #005F8A 0%, #003B5C 100%);
  color: #fff;
}
*/





/* ========== Field label inline ========== */

.field--label-inline {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
}

.field--label-inline .field__label {
  min-width: 150px;
  margin-right: 10px;
}

.field--label-inline .field__label::after {
  content: ":";
}

.field--label-inline .field__items,
.field--label-inline .field__item {
  display: inline;
}



/* =====================================
  Data icons inline
======================================== */

.data-icons-inline .field {
  display: inline-block;
  font-size: 18pt;
  font-weight: 700;
  vertical-align: middle;
  margin: 0 10px 0 10px;
}

.data-icons-inline .nomads-icon-field-label__wrapper {
  vertical-align: middle;
}

.data-icons-inline .nomads-icon-field-label__wrapper span {
  margin: -3px 10px;
  vertical-align: middle;
}




/* =================================
  Tooltips
  ================================== */

/* =================================
  Tooltips
  ================================== */

/* Tooltip anchor */
[data-tooltip]{
  position: relative;
}


/* Tooltip box */
[data-tooltip]::before{
  content: attr(data-tooltip);
  position: absolute;
  left: 50%;
  transform: translate(-50%, calc(-100% - 10px));
  z-index: 9999;

  padding: 6px 10px;
  border-radius: 8px;
  border: 0;
  background:#005f8A;
  color: #fff;
  font-size: 13px;
  line-height: 1.25;

  white-space: normal;
  width: max-content;
  max-width: auto;

  opacity: 0;
  pointer-events: none;
  transition: opacity .12s ease;
}

/* Show on hover/focus */
[data-tooltip]:hover::before {
  opacity: 1;
}
/* .special-category-select__tree-link[data-tooltip]::after {
  transform: translate(-50%, calc(-100% - 30px));
}
.special-category-select__tree-link[data-tooltip]::before {
  transform: translate(-50%, -30px);
} */

.region-navigation {
  position: relative;
}
.region-navigation [data-tooltip] {
  position: static;
}
.region-navigation [data-tooltip]::before {
  top: -30px;
  max-width: 400px;
  white-space: normal;
  box-shadow:
    0 0 12px rgba(245, 245, 245, 1),
    0 0 28px rgba(245, 245, 245, 0.95),
    0 0 55px rgba(245, 245, 245, 0.85);
}



/* ==========================================
  Taxonomy Breadcrumb
  ============================================ */

.taxonomy-breadcrumb span {
  text-align: center;
  font-size: 12pt;
  font-weight: 600;
}
.taxonomy-breadcrumb span a {
  text-transform: uppercase;
  text-decoration: none;
  color: #777;
}



/* ========================================
  Links
=========================================== */

.promoted-link {
  display: block;
  text-align: center;
}
.promoted-link a {
  display: inline-block;
  border-radius: 999px;
  padding: 4px 20px;
  margin: 0 auto;
  font-size: 16pt;
  text-decoration: none;
  vertical-align: middle;
  border: 0;
  font-weight: 500;
  background-color: #005f8A;
  color: #fff;
}





