/*
Theme Name: Uncode Child
Description: Child theme for Uncode theme
Author: Undsgn™
Author URI: http://www.undsgn.com
Template: uncode
Version: 1.0.0
Text Domain: uncode
*/

/**
 * @license
 * MyFonts Webfont Build ID 3867246, 2020-12-16T11:57:38-0500
 * 
 * The fonts listed in this notice are subject to the End User License
 * Agreement(s) entered into by the website owner. All other parties are 
 * explicitly restricted from using the Licensed Webfonts(s).
 * 
 * You may obtain a valid license at the URLs below.
 * 
 * Webfont: Mono Spec Medium by Halbfett
 * URL: https://www.myfonts.com/collections/halbfett-foundry
 
 * © 2026 MyFonts Inc. */


 @font-face {
  font-family: "MonoSpec";
  src:
    url("fonts/monospec.woff2") format("woff2"),
    url("fonts/monospec.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

/* =========================================================
   CF7 Footer Form (Uncode) — cleaned
   Desktop: 2 cols (1/3 + 2/3), send looks like inputs, checkbox below
   Mobile form uses its own markup (.footer-cf7--mobile) and is shown/hidden by theme
   ========================================================= */

/* Uncode/CF7 wrapper cleanup */
.footer-cf7-simple p { margin: 0 !important; }
.footer-cf7-simple br { display: none !important; }

/* Desktop layout */
.footer-cf7-simple__row{
  display: grid !important;
  grid-template-columns: 1fr 2fr !important;
  gap: 16px !important;
  align-items: stretch !important;
}

.footer-cf7-col{
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  min-width: 0 !important;
}

.footer-cf7-col--right{ display: flex !important; }

.footer-cf7-simple .wpcf7-form-control-wrap{ display: block !important; }

/* Shared field look (inputs + textarea + submit) */
.footer-cf7-simple input:not([type="checkbox"]),
.footer-cf7-simple textarea,
.footer-cf7-simple .footer-cf7-send .wpcf7-submit{
  width: 100% !important;
  height: 44px !important;
  padding: 0 14px !important;
  border: 3px solid #fff !important;
  background: transparent !important;
  color: #fff !important;
  box-sizing: border-box !important;
  border-radius: 0 !important;
  outline: none !important;
  box-shadow: none !important;
}

.footer-cf7-simple input::placeholder,
.footer-cf7-simple textarea::placeholder{
  color: rgba(255,255,255,0.75);
}

/* Textarea sizing */
.footer-cf7-simple textarea{
  flex: 1 !important;
  min-height: 206px !important;
  resize: none !important;
  padding-top: 12px !important;
}

/* Send wrapper + spinner */
.footer-cf7-simple .footer-cf7-send{
  width: 100% !important;
  position: relative !important;
}

.footer-cf7-simple .footer-cf7-send .wpcf7-submit{
  text-align: center !important;
  display: block !important;
}

.footer-cf7-simple .wpcf7-spinner{
  position: absolute;
  right: -28px;
  top: 50%;
  transform: translateY(-50%);
}

/* Privacy row */
.footer-cf7-simple .footer-cf7-privacy{
  display: flex !important;
  align-items: center !important;
  padding-left: 0 !important;
}

/* Checkbox (custom outline) */
.footer-cf7-simple input[type="checkbox"]{
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 16px !important;
  height: 16px !important;
  border: 1px solid rgba(255,255,255,0.8) !important;
  background: transparent !important;
  margin: 0 10px 0 0 !important;
  cursor: default !important;
  position: relative !important;
}

.footer-cf7-simple input[type="checkbox"]:checked::after{
  content: "✓";
  position: absolute;
  top: -1px;
  left: 3px;
  font-size: 12px;
  color: #fff;
}

/* Acceptance text + link */
.footer-cf7-simple .wpcf7-list-item{ margin: 0 !important; }

.footer-cf7-simple .wpcf7-list-item-label{
  font-size: 13px !important;
  color: rgba(255,255,255,0.9) !important;
  cursor: default !important;
}

.footer-cf7-simple .wpcf7-acceptance a{
  text-decoration: underline !important;
  color: rgba(255,255,255,0.9);
  transition: color 0.2s ease;
}

.footer-cf7-simple .wpcf7-acceptance a:hover{
  color: #000 !important;
}

/* Cursor control: only send button changes cursor */
.footer-cf7-simple .footer-cf7-col--left,
.footer-cf7-simple .footer-cf7-col--left *{
  cursor: default !important;
}

.footer-cf7-simple .footer-cf7-send .wpcf7-submit{
  cursor: pointer !important;
}

.footer-cf7-simple .footer-cf7-send .wpcf7-submit:disabled{
  cursor: not-allowed !important;
  opacity: .55;
}

/* Mobile-only stacked form (separate CF7 instance) */
.footer-cf7--mobile .footer-cf7-simple__stack{
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* --------------------------------------------------
   SPECIAL MENU "SERVICES"
-------------------------------------------------- */

body:not(.menu-force-opacity):not(.navbar-hover)
  .style-light-override:not(.is_stuck:not(.menu-desktop-transparent)):not(.is_mobile_open)
  .menu-horizontal-inner > .nav > .menu-smart > li > a:not(.un-submenu *),
html.overlay-open body:not(.menu-force-opacity):not(.navbar-hover)
  .style-light-override .menu-horizontal-inner > .nav > .menu-smart > li > a:not(.un-submenu *) {
  color: #fff !important;
}

body:not(.menu-force-opacity):not(.navbar-hover)
  .style-light-override:not(.is_stuck:not(.menu-desktop-transparent)):not(.is_mobile_open).menu-transparent
  .menu-horizontal-inner > .nav > .menu-smart > li.active > a,
body:not(.menu-force-opacity):not(.navbar-hover)
  .style-light-override:not(.is_stuck:not(.menu-desktop-transparent)):not(.is_mobile_open).menu-transparent
  .menu-horizontal-inner > .nav > .menu-smart > li a.active,
body:not(.menu-force-opacity):not(.navbar-hover)
  .style-light-override:not(.is_stuck:not(.menu-desktop-transparent)):not(.is_mobile_open).menu-transparent
  .menu-horizontal-inner > .nav > .menu-smart > li.current-menu-parent > a,
body:not(.menu-force-opacity):not(.navbar-hover)
  .style-light-override:not(.is_stuck:not(.menu-desktop-transparent)):not(.is_mobile_open).menu-transparent
  .menu-horizontal-inner > .nav > .menu-smart > li.current-menu-ancestor > a,
body:not(.menu-force-opacity):not(.navbar-hover)
  .style-light-override:not(.is_stuck:not(.menu-desktop-transparent)):not(.is_mobile_open).menu-transparent
  .menu-horizontal-inner > .nav > .menu-smart > li.wpml-ls-current-language > a,
body:not(.menu-force-opacity):not(.navbar-hover)
  .style-light-override:not(.is_stuck:not(.menu-desktop-transparent)):not(.is_mobile_open).menu-transparent
  .menu-horizontal-inner > .nav > .menu-smart > li.current-menu-item:not(.menu-item-type-custom) > a,
body:not(.menu-force-opacity):not(.navbar-hover)
  .style-light-override:not(.is_stuck:not(.menu-desktop-transparent)):not(.is_mobile_open).menu-transparent
  .menu-horizontal-inner > .nav > .menu-smart > li.active > .unmenu-title,
body:not(.menu-force-opacity):not(.navbar-hover)
  .style-light-override:not(.is_stuck:not(.menu-desktop-transparent)):not(.is_mobile_open).menu-transparent
  .menu-horizontal-inner > .nav > .menu-smart > li.current-menu-parent > .unmenu-title,
body:not(.menu-force-opacity):not(.navbar-hover)
  .style-light-override:not(.is_stuck:not(.menu-desktop-transparent)):not(.is_mobile_open).menu-transparent
  .menu-horizontal-inner > .nav > .menu-smart > li.current-menu-ancestor > .unmenu-title,
body:not(.menu-force-opacity):not(.navbar-hover)
  .style-light-override:not(.is_stuck:not(.menu-desktop-transparent)):not(.is_mobile_open).menu-transparent
  .menu-horizontal-inner > .nav > .menu-smart > li.wpml-ls-current-language > .unmenu-title,
body:not(.menu-force-opacity):not(.navbar-hover)
  .style-light-override:not(.is_stuck:not(.menu-desktop-transparent)):not(.is_mobile_open).menu-transparent
  .menu-horizontal-inner > .nav > .menu-smart > li.current-menu-item:not(.menu-item-type-custom) > .unmenu-title {
  color: #fff !important;
  font-weight: bold !important;
}


/* --------------------------------------------------
   MAP PINS
-------------------------------------------------- */

.c53-pin {
  width: 36px;
  height: 51px;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0;
}

.c53-pin.is-visible {
  animation: c53FadeIn .35s ease-out forwards;
  animation-delay: var(--pin-delay, 0ms);
}

@keyframes c53FadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}


/* --------------------------------------------------
   GRID IMAGES
-------------------------------------------------- */

.lineargrid-213098.linear-by-w.linear-system
  .linear-wrapper .linear-container .tmb img {
  height: 250px !important;
  width: auto !important;
  display: block;
}


/* --------------------------------------------------
   HEADINGS
-------------------------------------------------- */

h3.fontsize-510964-custom {
  font-size: clamp(1.4rem, 9vw, 4.5rem) !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  white-space: nowrap;
}

.custom-h2 {
  font-size: clamp(2.1875rem, 0.7813rem + 2.3438vw, 3.125rem) !important;
}

#ship span {
  font-size: clamp(30px, 15vw, 250px) !important;
}


/* --------------------------------------------------
   TEAM MAP
-------------------------------------------------- */

#carrier53-map {
  width: 100%;
  height: 80vh !important;
}

@media (max-width: 768px) {
  #carrier53-map {
    height: 50vh !important;
  }
}


/* --------------------------------------------------
   MAPLIBRE POPUPS
-------------------------------------------------- */

.maplibregl-popup-content {
  border-radius: 0;
  max-width: calc(100vw - 24px);
}

.maplibregl-popup-close-button {
  font-size: 20px;
  width: 36px;
  height: 36px;
  line-height: 36px;
  color: #000;
  font-weight: 600;
}

.maplibregl-popup-close-button:hover {
  background: rgba(0, 0, 0, 0.05);
  border-radius: 50%;
}

.maplibregl-popup-content h3 {
  line-height: 1.2;
  font-weight: 700;
}

.maplibregl-popup-content h3 span {
  font-family: "MonoSpec";
  display: inline-block;
  background: #f32e63;
  color: #000;
  font-weight: bold;
  padding: 0.28em 0.35em;
  margin: 0 0.02em 0.2em 0;
  letter-spacing: 0.04em;
  font-size: 18px;
  margin-bottom: 2px;
}

/* Links im Popup neutralisieren */

.maplibregl-popup-content a,
.maplibregl-popup-content a:focus,
.maplibregl-popup-content a:active,
.maplibregl-popup-content a:hover {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

/* Hauptkarte Popup */

#carrier53-map .maplibregl-popup-content {
  padding: 36px 20px !important;
  width: 400px !important;
  background: #fff;
  box-shadow: none;
}

/* Port Popup */

#carrier53-map-2 .maplibregl-popup-content {
  font-family: "Manrope", sans-serif;
  padding: 5px !important;
  background: #fff;
  color: #000;
  font-size: 14px;
  font-weight: bold;
  box-shadow: none;
  width: auto !important;
  min-width: 0 !important;
}


/* --------------------------------------------------
   PORT LABEL
-------------------------------------------------- */

.c53-port-label {
  display: inline-block;
  white-space: nowrap;
  font-family: Manrope, sans-serif;
  font-size: 13px;
  line-height: 1.2;
  padding: 6px 10px;
  background: #fff;
  border: 1px solid #222;
  border-radius: 4px;
  color: #000;
  font-weight: bold;
}


/* --------------------------------------------------
   MAP PORTS
-------------------------------------------------- */

#carrier53-map-2 {
  overscroll-behavior: contain;
  touch-action: pan-x pan-y;
  margin-top: -40px !important;
}


/* --------------------------------------------------
   MODAL
-------------------------------------------------- */

#c53-modal {
  display: none;
}

#c53-modal.is-open {
  display: block;
  position: fixed;
  inset: 0;
  z-index: 999999;
}

.c53-modal-bg {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}

.c53-modal-panel {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  width: min(92vw, 520px);
  max-height: 85vh;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 32px 24px 36px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
}

.c53-modal-close {
  position: absolute;
  top: 14px;
  right: 16px;
  width: 36px;
  height: 36px;
  font-size: 24px;
  border: none;
  background: transparent;
  cursor: pointer;
}


/* --------------------------------------------------
   VIDEO BACKGROUND FIX
-------------------------------------------------- */

.row-slider.row-appear .row-background.background-element {
  overflow: hidden;
}

.row-slider.row-appear
  .row-background.background-element
  video.background-video-shortcode {
  top: 50% !important;
  left: 50% !important;
  width: 100% !important;
  height: 100% !important;
  transform: translate(-50%, -50%) !important;
  object-fit: cover;
  margin: 0 !important;
}

