/* Copyright (C) YOOtheme GmbH, YOOtheme Proprietary Use License (http://www.yootheme.com/license) */

/* ========================================================================
   Use this file to add custom CSS easily
 ========================================================================== */

/* Logo footer */
.tm-footer .tm-logo-footer { margin-top: -10px; }

.uk-overlay-panel {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 20px;
    color: #c8ab37;
}

.uk-block-primary {
    background: #c8ab37;
}

.uk-contrast .uk-button {
    color: #182a35;
    background: #fff;
    color: #c8ab37;
}

.uk-subnav-pill > .uk-active > * {
    background: #c8ab37;
    color: #ffffff;
}

.uk-overlay-background {
    background: rgba(200, 171, 55, 0.9);
    color: #182a35;
}

.page-header {
    margin: 2px 0px 10px 0px;
    padding-bottom: 5px;
}

/* Loghi affiliazione/partner sotto il credito nel footer (grigio-azzurro come i testi del footer, su trasparente) */
.ca_partner_logos {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px 26px;
    margin-top: 16px;
}
.ca_partner_logos a {
    display: block;
    line-height: 0;
    opacity: 0.5;
    transition: opacity 0.2s ease;
}
.ca_partner_logos a:hover,
.ca_partner_logos a:focus {
    opacity: 1;
}
.ca_partner_logos img {
    display: block;
    height: 52px;
    width: auto;
}
/* Il logo ASC contiene la figura intera: un po' piu' alto per avere lo stesso peso visivo dell'altro */
.ca_partner_logos a:first-child img {
    height: 60px;
}

/* ========================================================================
   Banner informativa + gestione preferenze (ex modules/mod_cookiesaccept/screen.css)
   Spostato qui perche' il percorso "modules/mod_cookiesaccept/" viene
   bloccato da filtri anti-tracker/anti-cookie-banner di alcuni browser
   e estensioni (adblocker, liste "Cookie Notices"), impedendo il
   caricamento del CSS e di conseguenza la visualizzazione del banner.
 ========================================================================== */
#ca_banner {
    position: fixed!important;
    z-index: 16777270;
    width: 100%!important;
    height: auto;
    min-height: 80px;
    background: url('../images/consent-bg.png');
    text-align: center;
    border-width: 1px 0 1px 0!important;
    border-style: solid!important;
    border-color: #fff!important;
    display: none;
    box-shadow: 0 0 40px #444;
    padding: 12px 15px;
    box-sizing: border-box;
    left: 0;
    right: 0;
	float:none!important;
	text-shadow:none;
	border-radius: 0!important;
	margin: 0 auto!important;
}
#ca_info {
    background: #fff;
    height: 304px;
    left: 50%;
    margin-left: -350px;
    margin-top: -182px;
    margin-bottom:20px;
    position: fixed;
    top: 50%;
    width: 700px;
    box-shadow:0 0 40px #444;
    z-index:16777271;
    padding:30px;
    box-sizing:border-box;
    display:none;
    border:1px solid #999999;
	text-shadow:none;
}
#ca_info .ca_info_close {
    position: absolute;
    top: -15px;
    right: -15px;
    color: #fff;
    font-weight: bold;
    height: 25px;
    width: 25px;
    border-radius: 16px;
    background: #AA0000 url('../images/modal-close.png');
    text-align: center;
    line-height: 1.3em;
    font-size: 18px;
    cursor:pointer;
}
#ca_info_plus {
    box-sizing:border-box;
    overflow: auto;
    height: 254px;
    padding-right:10px;
	color:#000;
	text-align:left;
}
#ca_info_plus  p{
	color:#000;
	text-align:left;
	font-size:12px;
}

#ca_banner p,#ca_banner h2 {
    margin:4px 0;
    padding:0;
    line-height:1.2em;
	color:#000;
	float:none!important;
}
#ca_banner h2 {
    font-size:20px;
    font-weight:bold;
}
#ca_banner p {
    font-size:14px
}

#ca_banner p span {
    text-decoration:underline;
    color:#0089F2;
    cursor: pointer;
    font-weight: bold;
	float:none!important;
}
#ca_banner .accept {
    cursor:pointer;
    font-size:13px;
    background: #0089f2;
    padding:7px 18px;
    border-radius:3px;
    text-shadow:1px 1px 0 #0072ca;
    color:#fff;
    background-image: -webkit-linear-gradient(#0089F2 0%, #0072ca 100%);
    background-image: -moz-linear-gradient(#0089F2 0%, #0072ca 100%);
    background-image: -o-linear-gradient(#0089F2 0%, #0072ca 100%);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0089F2), to(#0072ca));
    background-image: linear-gradient(#0089F2 0%, #0072ca 100%);
	float:none!important;
}
#ca_banner .accept:hover {
    box-shadow:0 0 15px #000;
}

/* --- pulsanti banner (Personalizza / Solo necessari / Accetta tutti) --- */
.ca_banner_buttons {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 8px;
}
.ca_btn {
    cursor: pointer;
    font-size: 13px;
    padding: 7px 18px;
    border-radius: 3px;
    text-align: center;
    display: inline-block;
    float: none !important;
}
.ca_btn_outline {
    background: #fff;
    color: #0089f2;
    border: 1px solid #0089f2;
}
.ca_btn_outline:hover {
    background: #eef6ff;
}

/* --- pannello preferenze --- */
.ca_prefs_overlay {
    display: none;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.5);
    z-index: 16777272;
}
.ca_prefs_box {
    background: #fff;
    max-width: 520px;
    width: 90%;
    margin: 8vh auto;
    padding: 30px;
    border-radius: 4px;
    position: relative;
    box-shadow: 0 0 40px #444;
    color: #000;
    text-align: left;
    box-sizing: border-box;
}
.ca_prefs_box h3 {
    margin-top: 0;
}
.ca_prefs_close {
    position: absolute;
    top: -15px;
    right: -15px;
    color: #fff;
    font-weight: bold;
    height: 25px;
    width: 25px;
    border-radius: 16px;
    background: #AA0000;
    text-align: center;
    line-height: 25px;
    font-size: 18px;
    cursor: pointer;
}
.ca_pref_row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 14px 0;
    border-bottom: 1px solid #eee;
}
.ca_pref_label {
    font-size: 13px;
    color: #333;
}
.ca_pref_label small {
    color: #777;
}
.ca_pref_toggle {
    flex: 0 0 auto;
    width: 48px;
    text-align: center;
    padding: 5px 0;
    border-radius: 12px;
    font-size: 11px;
    font-weight: bold;
    cursor: pointer;
    background: #ccc;
    color: #fff;
}
.ca_pref_toggle_on {
    background: #0089f2;
}
.ca_pref_toggle_locked {
    cursor: default;
    opacity: 0.7;
}
.ca_prefs_save {
    margin-top: 22px;
    width: 170px;
}

/* Pagina Bio Sync Method: immagine ANS CONTROL inserita nel testo */
.bs_ans_img {
    float: right;
    width: 150px;
    height: auto;
    margin: 4px 0 12px 24px;
    border-radius: 4px;
}
.bs_clear { clear: both; }
/* Pagina Bio Sync Method su smartphone e tablet piccoli */
@media (max-width: 767px) {
    .bs_pagina h1.uk-h1 { font-size: 34px; line-height: 1.15; margin-top: 10px !important; margin-bottom: 14px !important; }
    .bs_pagina .uk-text-large { font-size: 17px; line-height: 1.45; }
    .bs_pagina .uk-h2 { font-size: 23px; line-height: 1.3; margin-top: 36px !important; }
    .bs_pagina .uk-panel-title { font-size: 20px; line-height: 1.3; }
    .bs_pagina .uk-panel-box { padding: 18px 16px; }
    .bs_pagina .uk-panel-box.uk-margin-large-top { margin-top: 28px !important; }
    /* il testo giustificato su colonne strette crea grandi spazi tra le parole */
    .bs_pagina .uk-text-justify { text-align: left !important; }
    .bs_pagina ul { padding-left: 20px; }
    .bs_pagina li { margin-bottom: 10px; }

    /* tabella: ogni tecnologia diventa una scheda, titolo sopra e descrizione sotto */
    .bs_pagina .uk-overflow-container { overflow: visible; }
    .bs_tabella, .bs_tabella tbody, .bs_tabella tr, .bs_tabella td { display: block; width: 100%; box-sizing: border-box; }
    .bs_tabella thead { display: none; }
    .bs_tabella tr { margin: 0 0 12px; background: #f7f6f4; border-left: 3px solid #c8ab37; border-radius: 4px; }
    .bs_tabella.uk-table-striped tbody tr:nth-of-type(odd), .bs_tabella.uk-table-hover tbody tr:hover { background: #f7f6f4; }
    .bs_tabella td { padding: 12px 14px 0; border: 0; }
    .bs_tabella td:first-child { color: #182a35; }
    .bs_tabella td:last-child { padding: 6px 14px 14px; }

    /* immagine ANS CONTROL: centrata sopra il testo invece che affiancata */
    .bs_ans_img { float: none; display: block; width: 60%; max-width: 220px; margin: 0 auto 16px; }
}

/* Testo visibile solo ai motori di ricerca e agli screen reader (h1 della home) */
.cp_vh {
    position: absolute !important;
    width: 1px; height: 1px;
    margin: -1px; padding: 0; border: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}

/* Titoli di sezione che nel codice sono h2 ma mantengono l'aspetto di un h3 */
h2.uk-h3 { font-weight: 400; }
.tm-gallery h2.uk-h3 {
    position: relative;
    text-transform: uppercase;
    margin: 0 !important;
}
.tm-gallery h2.uk-h3::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -8px;
    width: 120px;
    margin-left: -60px;
    border-bottom: 2px solid #182a35;
}

/* Mappa e video incorporati: si caricano solo dopo il click dell'utente */
.cp_embed { max-width: 100%; }
.cp_embed_video { max-width: 560px; margin: 0 auto; }
.cp_embed_box {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 300px;
    padding: 24px 20px;
    text-align: center;
    background: #f4f3ef;
    color: #333;
    border: 1px solid #ddd;
}
.cp_embed_box p { margin: 0 0 12px; max-width: 520px; }
.cp_embed_box a { color: #8a7420 !important; text-decoration: underline; display: block; margin-top: 14px; }
.cp_embed iframe { display: block; width: 100%; border: 0; }
.cp_embed_video iframe { aspect-ratio: 16 / 9; height: auto; }

/* Qual è il tuo obiettivo: schede allineate (titolo, elenco e testo partono alla stessa altezza) */
.cp_ob_titolo { margin: 18px 0 8px; line-height: 1.25; }
.cp_ob_intro { margin: 0 0 6px; }
.cp_ob_lista { margin: 0 0 14px; padding-left: 20px; }
.cp_ob_lista li { line-height: 1.6; }
.cp_ob_testo { margin: 0; text-align: left; line-height: 1.6; }
@media (min-width: 768px) {
    .cp_ob_titolo { min-height: 3.75em; }
    .cp_ob_lista { min-height: 8.2em; }
}

/* Pagina Personal Training: logo "Palestra della Salute" in testata ridotto e centrato */
.cp_logo_pds_fig, .cp_logo_pds_box { display: block; width: 100%; }
.cp_logo_pds { display: block; width: 50%; max-width: 640px; height: auto; margin: 20px auto; }
@media (max-width: 767px) { .cp_logo_pds { width: 75%; margin: 12px auto; } }

/* Numeri di telefono: prefisso e numero sempre sulla stessa riga */
a[href^="tel:"] { white-space: nowrap; }
