/* ==========================================================================
   Bike Link Sud — YOOtheme Pro child theme
   Tradotto da 01_Layout-home_bikeLinkSud.pdf (tavola 2560px, scala ~0.62)
   Caricato automaticamente da YOOtheme Pro (child theme > css/custom.css)
   ========================================================================== */

/* Font Ubuntu self-hosted (nessuna chiamata a Google Fonts) */
@font-face {
    font-family: "Ubuntu";
    font-weight: 300;
    font-style: normal;
    font-display: swap;
    src: url("../fonts/Ubuntu-Light.woff2") format("woff2");
}

@font-face {
    font-family: "Ubuntu";
    font-weight: 300;
    font-style: italic;
    font-display: swap;
    src: url("../fonts/Ubuntu-LightItalic.woff2") format("woff2");
}

@font-face {
    font-family: "Ubuntu";
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    src: url("../fonts/Ubuntu-Regular.woff2") format("woff2");
}

@font-face {
    font-family: "Ubuntu";
    font-weight: 400;
    font-style: italic;
    font-display: swap;
    src: url("../fonts/Ubuntu-Italic.woff2") format("woff2");
}

@font-face {
    font-family: "Ubuntu";
    font-weight: 500;
    font-style: normal;
    font-display: swap;
    src: url("../fonts/Ubuntu-Medium.woff2") format("woff2");
}

@font-face {
    font-family: "Ubuntu";
    font-weight: 500;
    font-style: italic;
    font-display: swap;
    src: url("../fonts/Ubuntu-MediumItalic.woff2") format("woff2");
}

@font-face {
    font-family: "Ubuntu";
    font-weight: 700;
    font-style: normal;
    font-display: swap;
    src: url("../fonts/Ubuntu-Bold.woff2") format("woff2");
}

:root {
    --bls-blue: #004f9f;
    /* titoli, lead, link */
    --bls-orange: #df5212;
    /* footer */
    --bls-yellow: #f8aa00;
    /* asterisco ciclovie segnalate */
    --bls-cream: #fff7ea;
    /* sezione mappa */
    --bls-text: #000;
    --bls-font: "Ubuntu", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --bls-logo-size: 160px;
}

/* --------------------------------------------------------------------------
   Base
   -------------------------------------------------------------------------- */
html,
body {
    font-family: var(--bls-font);
    font-weight: 300;
    color: var(--bls-text);
    font-size: 16px;
    line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6,
.uk-h1,
.uk-h2,
.uk-h3,
.uk-h4,
.uk-h5,
.uk-h6,
.uk-heading-small,
.uk-heading-medium,
.uk-heading-large {
    font-family: var(--bls-font);
    font-weight: 500;
    color: var(--bls-blue);
    text-transform: none;
    letter-spacing: 0;
}

.uk-h2,
h2 {
    font-size: 30px;
    line-height: 1.25;
}

@media (min-width: 960px) {

    .uk-h2,
    h2 {
        font-size: 40px;
    }
}

strong,
b {
    font-weight: 400;
}

em,
i {
    font-style: italic;
    color: inherit;
}

a,
.uk-link {
    color: var(--bls-blue);
}

a:hover,
.uk-link:hover {
    color: var(--bls-orange);
}

p,
ul,
ol {
    margin: 0 0 12px;
}

/* Lead blu (colonna sinistra dei blocchi di testo) */
.uk-text-lead,
.bls-lead {
    font-family: var(--bls-font);
    font-weight: 400;
    font-size: 21px;
    line-height: 1.33;
    color: var(--bls-blue);
}

@media (min-width: 960px) {

    .uk-text-lead,
    .bls-lead {
        font-size: 26px;
    }
}

.uk-text-lead p,
.bls-lead p {
    margin-bottom: 16px;
}

/* Testo corrente (colonna destra) */
.bls-body {
    font-size: 15px;
    line-height: 1.33;
    font-weight: 300;
}

@media (min-width: 960px) {
    .bls-body {
        font-size: 16px;
    }
}

.bls-body p {
    margin-bottom: 12px;
}

/* --------------------------------------------------------------------------
   Toolbar (IT | EN) + Header con logo tondo che "sborda" sulla hero
   -------------------------------------------------------------------------- */
.tm-toolbar {
    background: #fff;
    color: var(--bls-text);
    font-size: 15px;
    font-weight: 400;
    padding: 10px 0 0;
    border: 0;
}

.tm-toolbar a {
    color: var(--bls-text);
}

.tm-toolbar a:hover {
    color: var(--bls-blue);
}

/* Selettore lingua come "IT | EN" (Falang/WPML/Polylang/modulo lingue Joomla) */
.tm-toolbar .uk-subnav,
.tm-toolbar .mod-languages ul,
.tm-toolbar .wpml-ls ul,
.tm-toolbar ul.lang-list {
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
}

.tm-toolbar .uk-subnav {
    flex-wrap: nowrap;
}

.tm-toolbar .uk-subnav>* {
    padding-left: 0;
    display: flex;
    align-items: center;
}

.tm-toolbar .uk-subnav>*+*::before,
.tm-toolbar .mod-languages li+li::before,
.tm-toolbar .wpml-ls li+li::before,
.tm-toolbar ul.lang-list li+li::before {
    content: "|";
    margin: 0 8px;
    color: var(--bls-text);
}

.tm-toolbar .uk-subnav>*>a {
    text-transform: uppercase;
    font-size: 15px;
    color: var(--bls-text);
}

.tm-header,
.tm-header .uk-navbar-container:not(.uk-navbar-transparent) {
    background: #fff;
}

.tm-header {
    position: relative;
    z-index: 980;
}

/* Menu principale: Home | Ciclovie | Info point | News | Contatti */
.tm-header .uk-navbar-nav {
    gap: 0;
}

.tm-header .uk-navbar-nav>li>a {
    font-family: var(--bls-font);
    font-size: 13px;
    font-weight: 500;
    text-transform: none;
    color: var(--bls-text);
    padding: 0 8px;
    /* min-height: 64px; */
    letter-spacing: 0;
}

.tm-header .uk-navbar-nav>li:hover>a,
.tm-header .uk-navbar-nav>li>a[aria-expanded="true"] {
    color: var(--bls-blue);
}

.tm-header .uk-navbar-nav>li.uk-active>a {
    color: var(--bls-blue);
}

.tm-header .uk-navbar-nav>li+li::before {
    content: "|";
    align-self: center;
    color: var(--bls-text);
    font-weight: 400;
    font-size: 16px;
}

.tm-header .uk-navbar-nav>li {
    display: flex;
}

.tm-header .uk-navbar-nav>li:last-child>a {
    padding-right: 0;
}

/* Logo tondo giallo: nel flusso occupa solo lo spazio orizzontale,
   visivamente scende sopra la hero come nel layout */
@media (min-width: 960px) {
    .tm-header .uk-logo {
        position: relative;
        width: var(--bls-logo-size);
        min-height: 64px;
        padding: 0;
        z-index: 2;
    }

    .tm-header .uk-logo img,
    .tm-header .uk-logo svg {
        position: absolute;
        top: -26px;
        top: -4px;
        /* parte dall'altezza della toolbar */
        left: 0;
        width: var(--bls-logo-size) !important;
        height: auto !important;
        max-width: none;
        filter: drop-shadow(0 2px 6px rgba(0, 0, 0, .15));
    }

    .tm-header .uk-navbar-container,
    .tm-header .uk-navbar,
    .tm-header .uk-navbar-left {
        overflow: visible;
    }
}

/* Header mobile */
.tm-header-mobile .uk-logo img {
    width: 64px;
    height: auto;
}

.tm-header-mobile .uk-navbar-container {
    background: #fff;
}

/* --------------------------------------------------------------------------
   Hero slideshow (sezione con classe .bls-hero)
   -------------------------------------------------------------------------- */
.bls-hero .el-title,
.bls-hero h1 {
    font-family: var(--bls-font);
    font-weight: 500;
    color: #fff;
    font-size: 28px;
    line-height: 1.2;
    text-shadow: 0 2px 16px rgba(0, 0, 0, .35);
    margin: 0;
}

@media (min-width: 640px) {

    .bls-hero .el-title,
    .bls-hero h1 {
        font-size: 36px;
    }
}

@media (min-width: 960px) {

    .bls-hero .el-title,
    .bls-hero h1 {
        font-size: 46px;
    }
}

/* "Sito in costruzione": spinto in basso, sopra i trattini dello slider */
.bls-hero .el-content {
    margin-top: clamp(48px, 16vw, 260px) !important;
    font-size: 16px;
    font-weight: 500;
    font-style: italic;
    color: #fff;
    text-shadow: 0 1px 8px rgba(0, 0, 0, .4);
}

@media (min-width: 960px) {
    .bls-hero .el-content {
        font-size: 19px;
    }
}

/* Dotnav a trattini bianchi */
.bls-hero .uk-dotnav {
    gap: 0;
    margin-left: -8px;
}

.bls-hero .uk-dotnav>* {
    padding-left: 8px;
}

.bls-hero .uk-dotnav>*>* {
    width: 24px;
    height: 4px;
    border-radius: 2px;
    border: 0;
    background: rgba(255, 255, 255, .55);
    transition: background-color .2s;
}

.bls-hero .uk-dotnav>*> :hover,
.bls-hero .uk-dotnav>.uk-active>* {
    background: #fff;
}

/* --------------------------------------------------------------------------
   Video "Lasciati ispirare" (immagine con icona play, link in lightbox)
   -------------------------------------------------------------------------- */
.bls-video a {
    position: relative;
    display: block;
}

.bls-video a::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 64px;
    height: 72px;
    transform: translate(-40%, -50%);
    background: #fff;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    filter: drop-shadow(0 2px 8px rgba(0, 0, 0, .3));
    transition: transform .2s;
}

.bls-video a:hover::after {
    transform: translate(-40%, -50%) scale(1.1);
}

@media (max-width: 639px) {
    .bls-video a::after {
        width: 40px;
        height: 46px;
    }
}

/* --------------------------------------------------------------------------
   Sezione mappa (crema)
   -------------------------------------------------------------------------- */
.uk-section-muted,
.bls-map {
    background-color: var(--bls-cream) !important;
}

.bls-star {
    color: var(--bls-yellow);
    font-weight: 700;
}

.bls-routes {
    list-style: none;
    padding: 0;
    margin: 20px 0 0;
}

.bls-routes>li {
    position: relative;
    padding-left: 14px;
    margin-bottom: 6px;
}

.bls-routes>li::before {
    content: "•";
    position: absolute;
    left: 0;
}

.bls-routes .bls-sub {
    display: block;
}

/* Bottone Download: outline arrotondato, testo blu grande */
.bls-btn-download .uk-button,
.bls-btn-download .el-content {
    font-family: var(--bls-font);
    font-weight: 400;
    font-size: 24px;
    text-transform: none;
    line-height: 1;
    padding: 18px 40px;
    color: var(--bls-blue);
    background: transparent;
    border: 1px solid #8a9bb4;
    border-radius: 18px;
    transition: background-color .2s, color .2s;
}

.bls-btn-download .uk-button:hover,
.bls-btn-download .el-content:hover {
    color: #fff;
    background: var(--bls-blue);
    border-color: var(--bls-blue);
}

/* --------------------------------------------------------------------------
   Community
   -------------------------------------------------------------------------- */
.bls-people p {
    margin-bottom: 6px;
}

.bls-people .bls-group {
    margin-top: 18px;
}

/* --------------------------------------------------------------------------
   Footer arancio
   -------------------------------------------------------------------------- */
.uk-section-secondary,
.bls-footer {
    background-color: var(--bls-orange) !important;
    color: #fff;
}

.bls-footer,
.bls-footer p,
.bls-footer a {
    color: #fff;
    font-weight: 400;
    font-size: 15px;
}

.bls-footer a:hover {
    color: #fff;
    text-decoration: underline;
}

.bls-footer .el-image {
    width: 160px;
    height: auto;
}


/* --------------------------------------------------------------------------
   Altre modifiche minori (navbar mobile, ecc.)
   -------------------------------------------------------------------------- */
.bls-hero {
    padding-top: 0 !important;
}