/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.0.2
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/

/* The Address: legal links in the landing page footer */
.footer-text a { color: inherit; text-decoration: none; }
.footer-text a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* The Address: GDPR consent row in the enquiry form */
#ta-consent { display: flex; flex-direction: row; align-items: flex-start; gap: 12px; margin: 4px 0 10px; }
#ta-consent-box { flex: 0 0 auto; width: 16px; height: 16px; margin-top: 2px; border: 1px solid #a18059; background: transparent; cursor: pointer; }
#ta-consent-box:checked { background: #a18059; }
#ta-consent-box:checked::after { background: #112548; }
#ta-consent-label { font-family: 'Johnston ITC', Georgia, serif; font-size: 11px; letter-spacing: .06em; line-height: 1.6; color: rgba(250, 248, 245, .85); cursor: pointer; }
#ta-consent-label a { color: #a18059; text-decoration: underline; text-underline-offset: 3px; }

/* The Address: mobile – hero section must grow with a multi-line headline (fixed 75vh + overflow hidden cut the buttons) */
@media (max-width: 767px) {
  section.e-40321de0-b73e { height: auto !important; min-height: 75vh !important; overflow: visible !important; }
  h1.heading-display { width: 100% !important; max-width: 100% !important; overflow-wrap: normal; }
}

/* The Address: compact cookie banner on phones */
@media (max-width: 767px) {
  .cmplz-cookiebanner { padding: 14px 16px 12px !important; width: calc(100% - 16px) !important; max-width: none !important; left: 8px !important; right: 8px !important; bottom: 8px !important; }
  .cmplz-cookiebanner .cmplz-header { padding: 0 0 4px !important; min-height: 0 !important; }
  .cmplz-cookiebanner .cmplz-header .cmplz-title { font-size: 10px !important; }
  .cmplz-cookiebanner .cmplz-message { font-size: 11px !important; line-height: 1.5 !important; margin: 0 0 8px !important; }
  .cmplz-cookiebanner .cmplz-buttons { display: flex !important; flex-wrap: wrap; gap: 6px !important; }
  .cmplz-cookiebanner .cmplz-btn { flex: 1 1 45%; margin: 0 !important; padding: 9px 6px !important; font-size: 9.5px !important; letter-spacing: .12em !important; min-height: 0 !important; }
  .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences { flex-basis: 100%; }
  .cmplz-cookiebanner .cmplz-links { font-size: 9.5px !important; margin-top: 4px !important; }
  .cmplz-cookiebanner .cmplz-links a { margin-right: 10px !important; }
}
@media (max-width: 767px) {
  .cmplz-cookiebanner .cmplz-buttons .cmplz-btn { width: auto !important; flex: 1 1 42% !important; }
  .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-view-preferences { flex-basis: 100% !important; background: transparent !important; border-color: transparent !important; padding: 4px 0 0 !important; text-decoration: underline; text-underline-offset: 3px; }
}
@media (max-width: 767px) {
  .cmplz-cookiebanner .cmplz-buttons .cmplz-accept { order: 1; }
  .cmplz-cookiebanner .cmplz-buttons .cmplz-deny { order: 2; }
  .cmplz-cookiebanner .cmplz-buttons .cmplz-view-preferences { order: 3; }
}

/* The Address: mobile swipe sliders (Carmen, 6 Nov 2026: option B – gallery + details; partners included). Desktop untouched. */
@media (max-width: 767px) {
  /* gallery: 17 stacked images -> horizontal swipe, one image at a time with the next peeking in */
  .elementor-widget-gallery .e-gallery-container { display: flex !important; flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; gap: 10px; height: auto !important; padding-bottom: 6px; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .elementor-widget-gallery .e-gallery-container::-webkit-scrollbar { display: none; }
  .elementor-widget-gallery .e-gallery-item { flex: 0 0 86%; scroll-snap-align: center; position: relative !important; height: auto !important; top: auto !important; left: auto !important; }
  .elementor-widget-gallery .e-gallery-item .e-gallery-image { aspect-ratio: 4 / 3; }

  /* details: the six key figures become swipe cards (footnote is moved below the row by functions.php) */
  .elementor-element-606783eb { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px !important; padding-bottom: 6px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .elementor-element-606783eb::-webkit-scrollbar { display: none; }
  .elementor-element-606783eb > .e-con { flex: 0 0 78% !important; width: 78% !important; max-width: 78% !important; min-width: 0 !important; scroll-snap-align: start; }

  /* partners: four blocks become swipe cards */
  .elementor-element-2c533c03 { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px !important; padding-bottom: 6px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .elementor-element-2c533c03::-webkit-scrollbar { display: none; }
  .elementor-element-2c533c03 > .e-con { flex: 0 0 82% !important; width: 82% !important; max-width: 82% !important; min-width: 0 !important; scroll-snap-align: start; }
}

/* The Address: swipe hint under the mobile carousels (label + gold position line + counter; label fades after the first swipe) */
.ta-swipe-hint { display: none; }
@media (max-width: 767px) {
  .ta-swipe-hint { display: flex; align-items: center; gap: 14px; margin: 12px 0 0; font-family: 'Johnston ITC', Georgia, serif; font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: #112548; line-height: 1; }
  #details .ta-swipe-hint, #creators .ta-swipe-hint { color: rgba(250, 248, 245, .75); }
  .ta-swipe-label { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; transition: opacity .8s ease; }
  .ta-swipe-arrow { display: inline-flex; animation: ta-nudge 1.8s ease-in-out infinite; }
  .ta-swipe-arrow svg { width: 22px; height: 10px; display: block; }
  .ta-swipe-arrow svg path { stroke: #a18059; }
  .ta-swipe-bar { position: relative; flex: 1 1 auto; height: 1px; background: rgba(161, 128, 89, .3); }
  .ta-swipe-thumb { position: absolute; top: -1px; left: 0; height: 3px; width: 20%; background: #a18059; transition: left .12s linear, width .12s linear; }
  .ta-swipe-count { font-variant-numeric: tabular-nums; white-space: nowrap; min-width: 3.6em; text-align: right; }
  .ta-swipe-hint.ta-swiped .ta-swipe-label { opacity: 0; }
  .ta-swipe-hint.ta-swiped .ta-swipe-arrow { animation: none; }
  @keyframes ta-nudge { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(5px); } }
  @media (prefers-reduced-motion: reduce) { .ta-swipe-arrow { animation: none; } }
}
