@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

:root {
  --gls-blue: #00AEEF;
  --grey-dark: #484848;
  --gls-gray: #6c757d;
  --gls-beig: #ebe8e5;
}

html {
  scroll-behavior: smooth;
}

a {
  color:var(--gls-blue);
}
a:hover{
  text-decoration: none;
}

body {
  font-family: 'Inter', sans-serif;
}
body, h1, h2, h3, h4, h5, h6, p, a, button, input, select, textarea {
  font-family: 'Inter', sans-serif;
}

.btn {
  border-radius: 4px;
  border-width: 2px;
  text-transform: uppercase;
  font-size: 14px;
  font-weight: 700;
}
.btn-outline-primary {
  --bs-btn-color: var(--gls-blue);
  --bs-btn-border-color: var(--gls-blue);
  --bs-btn-hover-bg: var(--gls-blue);
  --bs-btn-hover-border-color: var(--gls-blue);
  --bs-btn-disabled-color: var(--gls-blue);
  --bs-btn-disabled-border-color: var(--gls-blue);
  --bs-btn-focus-shadow-rgb: 0, 174, 239;
}

.bg-beig{
  background-color: var(--gls-beig);
}
.bg-blue{
  background-color: var(--gls-blue);
}


.gls-banner__scroll-down {
  font-size: 14px;
}

/* Container max width */
.container-1440 {
  max-width: 1440px;
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}

.container-1200 {
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}


/* Webform spacing */
.webform-submission-form .form-actions {
  margin-top: 2rem;
}

/* Flex wrapper for menu layout */
.navbar-flex-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100%;
}

/* Logo */
.navbar-brand img {
  width: 140px;
  height: auto;
}

/* Menu center alignment */
.navbar-center {
  flex-grow: 1;
  display: flex;
  justify-content: center;
}

.navbar-center .navbar-nav .nav-link {
  line-height: 80px;
  padding-top: 0;
  padding-bottom: 0;
}

/* Button on right */
.navbar-right .btn {
  margin-left: 20px;
  line-height: 40px;
}

/* Transparent navbar + shadow + sticky */
.navbar {
  background-color: transparent;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.1);
  z-index: 1030;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

/* Sticky class for scroll */
.navbar.is-sticky {
  position: fixed;
  background-color: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* Prevent layout shift when navbar becomes fixed */
body.has-sticky-navbar {
  padding-top: 80px;
}

/* Responsive logo */
@media (max-width: 768px) {
  .navbar-brand img {
    width: 80px;
  }

  .navbar-center {
    justify-content: flex-start;
    margin-top: 1rem;
  }

  .navbar-right {
    margin-top: 1rem;
  }

  .navbar-collapse {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
}

/* Fix missing Bootstrap burger icon */
.navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='%2300AEEF' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* Burger icon (open state) */
.navbar-icon-open {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='%2300AEEF' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* Close icon (close state) */
.navbar-icon-close {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3e%3cline x1='4' y1='4' x2='20' y2='20' stroke='%2300AEEF' stroke-width='2'/%3e%3cline x1='20' y1='4' x2='4' y2='20' stroke='%2300AEEF' stroke-width='2'/%3e%3c/svg%3e");
}

/* Sticky wrapper container */
.navbar-wrapper {
  transition: all 0.3s ease;
  z-index: 1030; /* make sure it's above the admin bar */
}

.navbar-wrapper.is-sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background-color: #fff;
  /*box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);*/
}

/*body.user-logged-in.has-sticky-navbar {
  padding-top: calc(96px + var(--drupal-toolbar-height, 39px));
}*/


#toolbar-bar {
  --drupal-toolbar-height: 39px;
}


.navbar-sticky-wrapper {
  /*top: var(--drupal-toolbar-height, 39px);*/
  z-index: 1030;
  background-color: #fff; /* or transparent if preferred */
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

body:not(.user-logged-in) .navbar-sticky-wrapper {
  top: 0;
}

.gls-banner__background img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}


.gls-banner__logo-overlay {
  max-width: 500px;
  width: 100%;
  height: auto;
  margin-left: -3.5rem;
  margin-bottom: -3.5rem !important;
  display: flex;
  justify-content: center;
}

.gls-banner__logo-overlay img {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
}

.gls-banner__logo-overlay{
  margin-top: -3.5rem;
}



.region-sidebar-first, 
.region-sidebar-second, 
.region-footer, 
.region-content {
  padding: 0!important;
}

.gls-banner {
  min-height: 100vh;
  padding: 4rem 1rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

@media (min-width: 768px) {

}
@media (max-width: 768px) {
  .gls-banner__logo-overlay{
    margin-top: 0;
  }
  .gls-banner {
    min-height: 700px;
  }
}


.gls-banner__background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.gls-banner__background img {
  object-fit: cover;
  object-position: center top;
  width: 100%;
  height: 100%;
}

.gls-banner__overlay {
  background: var(--black, rgba(0, 0, 0, 0.75));
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0.75;
  z-index: 1;
}

/* Ensure content appears above overlay */
.gls-banner__content {
  z-index: 2;
  max-width: 905px;
}

.gls-banner__title {
  font-size: 2.5rem;
}

.gls-banner__subtitle {
  font-size: 1.25rem;
}

@media (min-width: 992px) {
  .gls-banner__title {
    font-size: 3.5rem;
  }
  .gls-banner__subtitle {
    font-size: 1.5rem;
  }
}

/* Scroll-down button */
.gls-banner__scroll-down {
  z-index: 2;
  font-size: 1rem;
  border-radius: 4px;
  padding: 0.5rem 1.5rem;
}

.gls-banner__background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  z-index: -1;
}

.nav-link {
  color: var(--grey-dark);
  font-family: Inter;
  font-size: 14px;
  font-stretch: normal;
  font-style: normal;
  font-weight: 500;
  letter-spacing: normal;
  line-height: normal;
}

.nav-link:hover{
  color: var(--gls-blue)!important;
}

.gls-intro {
  background-color: #ffffff;
  color: #1d2f66; 
}

.gls-intro__content {
  max-width: 940px;
  margin: 0 auto;
  color: var(--grey-dark); 
  text-align: center;
}

.gls-intro__title {
  font-size: 2rem;
  font-weight: 600;
  color: var(--grey-dark);
}

.gls-intro__body p {
  margin-bottom: 1rem;
  font-size: 1.1rem;
}

.gls-intro__body ul {
  padding-left: 1.5rem;
  margin-bottom: 1.5rem;
}

.gls-intro__body li {
  margin-bottom: 0.5rem;
  list-style: disc;
}

.gls-intro__body p,
.gls-intro__body ul,
.gls-intro__body li {
  color: var(--grey-dark);
}

.gls-intro .btn {
  color: var(--grey-dark);
  border: none;
  text-decoration: underline;
}

.gls-intro .btn:hover {
  background:none;
  text-decoration: none;
}

#next-section,
#gls-speakers,
#gls-why,
#gls-organizers,
#gls-agenda,
#gls-prices {
  scroll-margin-top: 75px;
}
#gls-testimonials{
  scroll-margin-top: 100px;
}
/* Contenidor principal de la secció */
.gls-venue-experience {
  background-color: #fff;
  padding: 4rem 0;
}

/* Bloc amb fons gris asimètric */
.gls-venue-image-wrapper {
  background-color: var(--gls-beig);
  padding: 2rem 3rem 5rem 2rem;  
  position: relative;
  display: inline-block;
  z-index: 1;
}

/* Imatge */
.gls-venue-image-wrapper img {
  margin-left: 5rem;
  margin-top: -4rem;  
  display: block;
  max-width: 100%;
  height: auto;
  position: relative;
  z-index: 2;
}

/* Peu de foto dins el bloc gris */
.gls-venue-caption {
  font-size: 0.875rem;
  position: absolute;
  bottom: 1.5rem!important;
  right: 2rem!important;
  text-align: right;
  z-index: 3;
  line-height: 1.2;
  text-transform: uppercase;
}

.gls-venue-caption .text-blue,
.text-blue {
  color: var(--gls-blue);
}

.gls-venue-caption .text-gray {
  color: #6c757d;
}

/* Títol */
.gls-venue-title {
  font-size: 2rem;
  color: var(--gls-blue);
}

/* Cos del text */
.gls-venue-body {
  font-size: 1.125rem;
  line-height: 1.6;
  color: #333;
}

/* Mòbil i tablet */
@media (max-width: 991.98px) {
  .gls-venue-image-wrapper {
    padding: 1rem;
    margin-top: 0;
  }

  .gls-venue-title,
  .gls-venue-body,
  .gls-venue-caption {
    text-align: center;
  }

  .gls-venue-caption {
    position: static;
    margin-top: 1rem;
  }
}

/* Right text column */
.gls-venue-text-wrapper {
  max-width: 620px;
  padding-left: 2rem; /* creates spacing between image and text */
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 991.98px) {
  .gls-venue-text-wrapper {
    padding-left: 0;
  }
  .gls-venue-image-wrapper {
    padding: 0;
    background-color: transparent;
    margin-top: 0;
  }

  .gls-venue-image-wrapper img {
    margin-left: 0;
    margin-top: 0;
    width: 100%;
    height: auto;
  }

  .gls-venue-title,
  .gls-venue-body,
  .gls-venue-caption {
    text-align: left;
  }

  .gls-venue-caption {
    background-color: white;
    position: static;
    margin-top: 0.75rem;
    padding: 0 1rem;
    line-height: 1.4;
  }

  .gls-venue-text-wrapper {
    padding-left: 0;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 1rem;
  }
}


/* Base spacing between field items, skipping the first */
/*.field__item + .field__item {
  margin-top: 2rem;
}*/

/* Larger spacing on wider screens */
/*@media (min-width: 992px) {
  .field__item + .field__item {
    margin-top: 3rem;
  }
}*/

.modal-header .btn-close {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%233fb6e2'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") !important;
  opacity: 1 !important;
}

.gls-speaker .card img {
  transition: transform 0.3s ease;
  box-shadow: 0 0 40px 5px rgba(0, 76, 196, .7);
  max-width: 180px;
  margin-bottom: 20px;
}

.gls-speaker .card:hover img {
  transform: scale(1.05);
}

.page-summit .popup-speaker:before, 
.page-summit-2025 .popup-speaker:before, 
.page-summit .popup-speaker:after, 
.page-summit-2025 .popup-speaker:after,
.gls-speaker .field__item___:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: linear-gradient(45deg, #009cde, #d0f3ff, #062f3e, #009cde, #dff7ff, #062f3e);
  background-size: 400%;
  width: 100%;
  border-radius: var(--border-radius);
  z-index: -1;
}

.gls-stat-item i {
  font-size: 25px;
}

/* Footer */

footer#main-footer {
  padding: 0;
}

.gls-footer {
  background-color: #009fe3; /* GLS blue */
  color: #fff;
  font-size: 0.95rem;
}

.gls-footer .footer-menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.gls-footer .footer-menu ul li {
  margin-bottom: 0.5rem;
}

.gls-footer .footer-menu ul li a {
  color: #fff;
  text-decoration: underline;
}

.gls-footer .footer-menu ul li a:hover {
  text-decoration: none;
}

.gls-footer .border-top {
  border-top: 1px solid rgba(255, 255, 255, 0.3);
}

.gls-footer .small a {
  color: #fff;
  text-decoration: underline;
}

.gls-footer .small a:hover {
  text-decoration: none;
}

@media (max-width: 767px) {
  .gls-footer .text-end,
  .gls-footer .text-center,
  .gls-footer .d-flex {
    text-align: center !important;
    justify-content: center !important;
  }
}

.gls-footer .container-1440 {
  display: block;
}

.legal-menu ul.navbar-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem; /* Adjust spacing */
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

.legal-menu li.nav-item {
  display: inline;
}

.legal-menu a.nav-link {
  color: white;
  padding: 0;
}

.legal-menu ul.navbar-nav {
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
  display: block;
}

.legal-menu ul.navbar-nav li.nav-item {
  display: inline-block;
  margin-right: 1rem; /* space between items */
}

.legal-menu ul.navbar-nav li.nav-item:last-child {
  margin-right: 0;
}

.legal-menu a.nav-link {
  display: inline-block;
  padding: 0;
  color: white;
  text-decoration: none;
}
.legal-menu ul.navbar-nav a.nav-link:hover {
  color: white!important;
  text-decoration: underline;
}

a.nav-link.active.is-active,
.navbar-nav .nav-item a.nav-link:hover {
  text-decoration: underline;
}

.navbar-nav .nav-item a.nav-link, 
.navbar-nav .nav-item a.nav-link:hover {
  color: white!important;
}

/* Newsletter custom styles */
.gls-newsletter-form {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  position: relative;
  color: white;
}

.gls-newsletter-form input[type="email"] {
  background: transparent;
  border: none;
  border-bottom: 2px solid white;
  border-radius: 0;
  padding: 0.75rem 3rem 0.75rem 1rem;
  color: white;
  font-size: 1.1rem;
}

.gls-newsletter-form input[type="email"]::placeholder {
  color: rgba(255, 255, 255, 0.6);
}

.gls-newsletter-form input[type="email"]:focus {
  outline: none;
  background: transparent;
  box-shadow: none;
  color: white;
  border-color: white;
}

.gls-newsletter-form .form-actions {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  display: flex;
  align-items: center;
  padding-right: 1rem;
}

.gls-newsletter-form .form-actions input[type="submit"] {
  background: none;
  border: none;
  padding: 0;
  width: 2rem;
  height: 2rem;
  background-image: url("data:image/svg+xml,%3Csvg fill='white' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' stroke='white' stroke-width='2' fill='none'/%3E%3Cpath d='M8 12h8M12 8l4 4-4 4' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.5rem;
  text-indent: -9999px;
  cursor: pointer;
}

.gls-newsletter-form input::placeholder {
  font-size: 0.875rem; /* or try 0.75rem for even smaller */
  opacity: 0.8; /* Optional: tweak to improve readability */
}

.gdpr-text p {
  font-size: 0.85rem;
  color: white;
  line-height: 1.4;
}

.form-check label {
  color: white;
  font-size: 0.85rem;
}

.js-form-item-email label {
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.email-wrapper {
  position: relative;
}
.email-wrapper input[type="email"] {
  padding-right: 3rem; /* espai pel botó */
}
.submit-icon-btn {
  position: absolute;
  top: 25%;
  right: 0.75rem;
  transform: translateY(0%);
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  rotate: 90deg;
  border: 1px solid white;
  border-radius: 100px;
  padding: 4px;
}

.submit-icon-btn svg {
  fill: white;
  width: 1.5rem;
  height: 1.5rem;
}

.submit-icon-btn svg:hover {
  opacity: .5;
}

.gls-testimonial img {
  width: 40px;
  height: 40px;
  object-fit: cover;
}

.fs-7{
  font-size: .88rem !important;
}

/* Banner Nav */
.gls-banner__nav {
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(2px);
  position: absolute;
  bottom: 3rem;
  left: 0;
  right: 0;
  padding: 0.75rem 1rem;
  z-index: 2;
}

@media (max-width: 768px) {
  .gls-banner__nav {
    display: none; /* Hide desktop nav */
  }

  .gls-banner__nav-mobile-toggle {
    position: absolute;
    bottom: 1rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
    text-align: center;
  }

  .gls-mobile-nav {
    position: absolute;
    bottom: 3.5rem;
    left: 50%;
    transform: translateX(-50%);
    background-color: rgba(0, 0, 0, 0.8);
    padding: 1rem;
    border-radius: 8px;
    z-index: 4;
  }
}

.language-switcher-wrapper ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.language-switcher-wrapper li {
  display: inline-block;
  margin-right: 0.75rem;
}

.language-switcher-wrapper a {
  color: #ffffff;
  text-decoration: underline;
  font-size: 0.875rem;
}

.language-switcher-wrapper a:hover {
  text-decoration: none;
}


.social-icons i {
  transition: color 0.3s;
}

.social-icons a:hover i {
  color: #000000; /* or any hover color */
}

.language-switcher-language-url .language-link.is-active {
  text-decoration: none;
}

/* Force-hide the email label */
.js-form-item-email label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Hide original Webform submit button */
#webform-submission-newsletter-block-content-2-add-form .form-actions {
  display: none !important;
}
/* Email + submit button */
.email-wrapper {
  position: relative;
}
.email-wrapper input[type="email"] {
  background: transparent;
  border: none;
  border-bottom: 2px solid white;
  border-radius: 0;
  padding: 0.75rem 3rem 0.75rem 1rem;
  color: white;
  font-size: 1.1rem;
  padding-right: 3rem;
}
.email-wrapper input::placeholder {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.875rem;
}

.submit-icon-btn {
  position: absolute;
  top: 25%;
  right: 0.75rem;
  background: transparent;
  border: 1px solid white;
  border-radius: 100px;
  padding: 4px;
  cursor: pointer;
  display: flex;
  align-items: center;
  rotate: 90deg;
}
.submit-icon-btn svg {
  fill: white;
  width: 1.5rem;
  height: 1.5rem;
}
.submit-icon-btn:hover svg {
  opacity: 0.5;
}

/* Hide label from form rendering if needed */
.js-form-item-email label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.email-wrapper label {
  display: none;
}

/* GDPR text */
.gdpr-text p {
  font-size: 0.85rem;
  color: white;
  line-height: 1.4;
}

/* GDPR checkbox */
.form-check label {
  color: white;
  font-size: 0.85rem;
}


/*body.user-logged-in {
  padding-top: calc(96px + var(--drupal-toolbar-height, 39px));
}*/

.top-bar{
  z-index: 1100; /* high but under modals */
}
.admin-toolbar{
  z-index: 1101;
}

.navbar-wrapper,
.navbar-sticky-wrapper {
  z-index: 1030;
}

.user-logged-in .navbar-sticky-wrapper {
  top: 64px;
}
/*.user-logged-in #main-content {
  padding-top: 33px;
}*/

.gls-toast {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  padding: 1rem 1.5rem;
  border-radius: 8px;
  color: white;
  font-weight: 500;
  font-size: 0.95rem;
  z-index: 1050;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
  animation: fadeIn 0.3s ease;
}

.gls-toast-status {
  background-color: #198754; /* green */
}
.gls-toast-warning {
  background-color: #ffc107; /* yellow */
  color: black;
}
.gls-toast-error {
  background-color: #dc3545; /* red */
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}

.gls-toast {
  position: fixed;
  top: 1rem;
  right: 1rem;
  background-color: #333;
  color: white;
  padding: 1rem 1.5rem;
  margin-bottom: 1rem;
  z-index: 2000;
  border-radius: 0.25rem;
  opacity: 0.95;
  font-size: 0.9rem;
}
.gls-toast-error { background-color: #d9534f; }
.gls-toast-warning { background-color: #f0ad4e; }
.gls-toast-status { background-color: #5bc0de; }

.gls-toast {
  position: fixed;
  top: 20px;
  right: 20px;
  background: #333;
  color: white;
  padding: 1rem 1.5rem;
  border-radius: 8px;
  z-index: 9999;
  opacity: 0.95;
  box-shadow: 0 0 10px rgba(0,0,0,0.25);
}

.gls-toast-error {
  background: #c0392b;
}

.gls-toast-warning {
  background: #f39c12;
}

.gls-toast-status {
  background: #2ecc71;
}

.toast.toast-error {
  background: red;
}

.sponsor-box {
  height: 100%;
  min-height: 100px;
}

.gls-speaker .card {
  background: transparent !important;
  border: none;  
  box-shadow: none;  
}

@media (min-width: 992px) {
  .gls-speakers-section h2 {
    margin-left: 40px;
  }
}

.gls-section-title {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.gls-ribbon-title {
  scroll-margin-top: 100px;      
  padding-top: 2rem;
}

/* Mobile first (default) */
.gls-ribbon-title {
  margin-top: 3.5rem;
  padding-left: 15px;
  padding-right: 15px;
}

/* Desktop override */
@media (min-width: 768px) {
  .gls-ribbon-title {
    margin-top: 5rem;
    padding-left: 0;
    padding-right: 0;
  }
}

@media(max-width: 767px){
  .gls-ribbon-title .gls-page-title.text-blue {
    font-size: 1.1rem;
  }
}


.gls-page-title-wrapper {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}


#edit-top-actions {
  display: none!important;
}

.btn-primary{
  background-color: var(--gls-blue);
  border-color: var(--gls-blue);
}

.region-content .webform-confirmation__message {
  text-align: center;
  padding: 60px;
}

.webform-submission-gls-terrassa-register-form {
  padding-bottom: 3rem;
}

.gls-inscripcio {
  max-width: 900px;
  margin: 0 auto;
}

.gls-inscripcio h3 {
  font-size: 1rem;
  font-weight: bold;
}

.gls-payment-highlight {
  background-color: #f8f9fa; /* gris clar */
  border: 1px solid #dee2e6;
  border-radius: 8px;
  padding: 1.5rem;
  margin-top: 1rem;
  margin-bottom: 2rem;
}

.gls-payment-icons img {
  margin-right: 10px;
  opacity: 0.75;
  transition: opacity 0.3s ease;
}
.gls-payment-icons img:hover {
  opacity: 1;
}

.gls-payment-highlight {
  background-color: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 12px;
  padding: 1.5rem;
  margin-top: 2rem;
}

.gls-payment-title {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 1rem;
}

.gls-payment-icons {
  margin-bottom: 1rem;
}

.gls-payment-icons img {
  height: 28px;
  margin-right: 12px;
  opacity: 0.8;
  transition: opacity 0.3s ease;
}

.gls-payment-icons img:hover {
  opacity: 1;
}

.gls-payment-instructions {
  font-weight: 500;
  margin-bottom: 1rem;
  font-size: 1rem;
}


.gls-payment-highlight {
  background-color: #ebe8e5;
  border: 1px solid #dee2e6;
  padding: 2rem;
  border-radius: 0.5rem;
  margin-top: 2rem;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
}

.gls-payment-title {
  margin-bottom: 1rem;
  font-weight: 600;
  font-size: 1.25rem;
}

.gls-payment-icons img {
  height: 28px;
  margin-right: 10px;
  opacity: 0.85;
}

.gls-payment-instructions {
  margin-bottom: 1rem;
  font-weight: 500;
  color: #444;
}


.node--type-page .field--name-field-image img {
  max-width: 100%;
  width: 100%;
  height: auto;
  max-height: 478px;
  object-fit: cover;
  display: block;
  margin-bottom: 2rem;
}

@media (max-width: 768px) {
  .node--type-page .field--name-field-image img {
    max-height: 160px;
  }
}

/* Contingut principal */
.node--type-page .node__content {
  padding: 2rem 0;
}

/* Style main headings inside Page body */
.node--type-page .field--name-body h2 {
  color: var(--gls-blue);  
  font-family: Inter, sans-serif;
  font-size: 24px;
  line-height: 1.14;
  font-weight: 700;
  letter-spacing: -0.38px;
  margin-top: 2.5rem;
  margin-bottom: 1.2rem;
}

/* Style subheadings */
.node--type-page .field--name-body h3 {
  color: var(--black);
  font-family: Inter, sans-serif;
  font-size: 20px;
  line-height: 1.3;
  font-weight: 600;
  margin-top: 2rem;
  margin-bottom: 1rem;
}

/* Improve spacing and readability for text and lists */
.node--type-page .field--name-body p,
.node--type-page .field--name-body ul,
.node--type-page .field--name-body ol {
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 1rem;
}

/* Style unordered list bullets with color and alignment */
.node--type-page .field--name-body ul li {
  list-style: none;
  position: relative;
  padding-left: 1.5em;
}

.node--type-page .field--name-body ul li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--gls-blue); /
  font-size: 1.2em;
  line-height: 1;
}

/* Style blockquotes */
.node--type-page .field--name-body blockquote {
  border-left: 4px solid var(--gls-orange);
  padding-left: 1rem;
  margin: 1.5rem 0;
  font-style: italic;
  color: #444;
  font-size: 1.05rem;
  line-height: 1.6;
}

/* Optional: highlight quote text with background */
.node--type-page .field--name-body blockquote p {
  margin: 0;
}

/* Responsive adjustments for mobile */
@media (max-width: 768px) {
  .node--type-page .field--name-body h2 {
    font-size: 20px;
    margin-top: 2rem;
    margin-bottom: 1rem;
  }

  .node--type-page .field--name-body h3 {
    font-size: 18px;
    margin-top: 1.5rem;
    margin-bottom: 0.8rem;
  }

  .node--type-page .field--name-body p,
  .node--type-page .field--name-body ul,
  .node--type-page .field--name-body ol {
    font-size: 0.95rem;
    line-height: 1.55;
  }

  .node--type-page .field--name-body blockquote {
    padding-left: 0.8rem;
    font-size: 0.95rem;
    line-height: 1.5;
  }
}

/* Base table styling */
.node--type-page .field--name-body table {
  width: 100%;
  border-collapse: collapse;
  margin: 2rem 0;
  font-size: 1rem;
  line-height: 1.5;
  color: #333;
}

/* Table headers */
.node--type-page .field--name-body table thead th {
  background-color: var(--gls-blue, #009cde);
  color: #fff;
  text-align: left;
  padding: 0.75rem 1rem;
  font-weight: 600;
}

/* Table body cells */
.node--type-page .field--name-body table td {
  padding: 0.75rem 1rem;
  border-top: 1px solid #ddd;
}

/* Optional: alternate row background */
.node--type-page .field--name-body table tbody tr:nth-child(even) {
  background-color: #f9f9f9;
}

/* Responsive overflow for smaller screens */
.node--type-page .field--name-body table {
  display: block;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* Ensure table stays readable inside scroll wrapper */
.node--type-page .field--name-body table thead,
.node--type-page .field--name-body table tbody,
.node--type-page .field--name-body table tr,
.node--type-page .field--name-body table th,
.node--type-page .field--name-body table td {
  white-space: nowrap;
}



/* Desktop menu underline effect */
.navbar-sticky-wrapper .nav-item {
  position: relative;
}

.navbar-sticky-wrapper .nav-item.active-trail::after,
.navbar-sticky-wrapper .nav-item:hover::after {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 50%;
  transform: translateX(-50%);
  width: 40%;
  height: 3px;
  background-color: var(--gls-blue);
  transition: all 0.3s ease-in-out;
  border-radius: 1px;
}

/* Optionally grow on hover */
.navbar-sticky-wrapper .nav-item:hover::after {
  width: 60%;
}

#edit-top-actions--2 {
  display: none;
}

.webform-submission-contact-node-9-form
 {
    max-width: 600px;
    margin: 0 auto;
}

.toast-message {
  color: black;
}

.path-cookies .region.region-content {
  padding-top: 20px !important;
  margin-top: 56px;
  padding-bottom: 60px !important;
}

.recaptcha-cookie-warning {
  color: #c00;
  font-size: 0.9em;
  margin-top: 1em;
}


.recaptcha-invisible-disabled {
  opacity: 0.8;
  position: relative;
}
.recaptcha-invisible-disabled::after {
  content: "⚠️ reCAPTCHA inactive due to cookie settings";
  position: absolute;
  top: -1.5em;
  left: 0;
  color: #c00;
  font-size: 0.85em;
}

.gls-review-section h3 {
  font-family: Inter;
  font-size: 20px;
  font-weight: 700;
}
.gls-register-confirmation .webform-progress {
  margin-top: 120px !important;
}

.wrapper-gdpr p {
  font-size: .6rem;
}

.required-fields-label label {
  font-size: .9rem;
}

.node--type-gls-agenda-item {
  padding-bottom: 60px;
}

.node--type-gls-agenda-item .field .field__label {
  margin: .5rem 0;
}

/* === LOGIN PAGE STYLES === */

.login-page {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  background: #fff;
}

.login-container {
  display: flex;
  width: 100%;
  height: 100vh;
}

/* Left Column: Logo + Form */
.login-left {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 50%;
  padding: 4rem;
  position: relative;
  background-color: #ffffff;
}


.login-logo img {
  max-width: 200px;
}

/* Form Styling */
.login-form {
  max-width: 400px;
  margin-top: 6rem;
}

.login-links {
  margin-top: 1rem;
}

.login-links a {
  font-size: 0.95rem;
  color: #0069d9;
  text-decoration: underline;
}

.login-links a:hover {
  color: #004b9e;
}

/* Right Column: Image */
.login-image {
  width: 50%;
  background-image: url('/themes/custom/gls_terrassa/img/login-side.jpg');
  background-size: cover;
  background-position: center;
}

/* === Responsive === */
@media (max-width: 768px) {
  .login-container {
    flex-direction: column;
    height: auto;
  }

  .login-left,
  .login-image {
    width: 100%;
  }

  .login-logo {
    position: static;
    text-align: center;
    margin-bottom: 2rem;
  }

  .login-logo img {
    max-width: 140px;
    margin: 0 auto;
  }

  .login-form {
    margin-top: 0;
    padding: 0 1rem;
  }

  .login-image {
    height: 200px;
  }
}

.sponsor-item img {
  width: 200px;
  height: auto;
}