:root {
    --primary-color: #004aad;
    --primary-dark: #000630;
    --primary-light: #001060;
    --secondary-color: #e30613;
    --accent-color: #FFD700;
	--primary-color-t-1:rgba(0,74,173,0.9);
    --text-color: #222222;
    --text-light: #666666;
    --light-gray: #f5f5f5;
    --medium-gray: #e0e0e0;
    --dark-gray: #333333;
    --med-gray: rgba(255, 255, 255, 0.7);
    --white: #ffffff;
    --black: #000000;
    --font-primary: 'Montserrat', Arial, sans-serif;
    --font-secondary: 'Open Sans', Arial, sans-serif;
    --font-title: 'Montserrat', Arial, sans-serif;
    --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.1);
    --shadow-md: 0 4px 8px rgba(0, 0, 0, 0.1);
    --shadow-lg: 0 8px 16px rgba(0, 0, 0, 0.15);
    --transition: all 0.3s ease;
    --marsala-blue: #004aad;
    --marsala-navy: #013b88;
    --marsala-light-blue: #0057ff;
    --marsala-red: #e30613;
    --marsala-white: #ffffff;
    --marsala-black: #000000;
    --marsala-gray: #f5f5f5;
    --marsala-dark-gray: #333333;
    --marsala-gold: #FFD700;
    --marsala-text: #222222;
    --marsala-text-light: #666666;
    --padding-big-button: 15px;
    --border-radius-sm: 4px;
    --border-radius-md: 15px;
    --border-radius-lg: 20px;
    --h2-size: 3.2rem;
    --section-padding: 4rem 0;
}

/* Font self-hosted (assets/fonts): nessuna richiesta esterna */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('../../../fonts/montserrat/montserrat-variable.woff2') format('woff2');
}

@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../../../fonts/open-sans/open-sans-400.woff2') format('woff2'), url('../../../fonts/open-sans/open-sans-400.woff') format('woff');
}

@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('../../../fonts/open-sans/open-sans-600.woff2') format('woff2'), url('../../../fonts/open-sans/open-sans-600.woff') format('woff');
}

@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('../../../fonts/open-sans/open-sans-700.woff2') format('woff2'), url('../../../fonts/open-sans/open-sans-700.woff') format('woff');
}

@font-face {
    font-family: "vr-icons";
    font-weight: normal;
    font-style: normal;
    src: url('data:application/octet-stream;base64,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') format('woff2'), url('data:application/font-woff;base64,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') format('woff')
}

[class^="icon-"]:before, [class*=" icon-"]:before {
    font-family: "vr-icons";
    font-style: normal;
    font-weight: normal;
    speak: never;
    display: inline-block;
    text-decoration: inherit;
    width: 1em;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    line-height: 1em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing:grayscale
}

.icon-arrow-down:before {
    content: '\e800'
}

.icon-arrow-left:before {
    content: '\e801'
}

.icon-arrow-right:before {
    content: '\e802'
}

.icon-arrow-up:before {
    content: '\e803'
}

.icon-check-circle:before {
    content: '\e804'
}

.icon-check:before {
    content: '\e805'
}

.icon-circle-outline:before {
    content: '\e806'
}

.icon-close-circle:before {
    content: '\e807'
}

.icon-comment:before {
    content: '\e808'
}

.icon-cross:before {
    content: '\e809'
}

.icon-discord:before {
    content: '\e80a'
}

.icon-eye:before {
    content: '\e80b'
}

.icon-facebook:before {
    content: '\e80c'
}

.icon-globe:before {
    content: '\e80d'
}

.icon-google:before {
    content: '\e80e'
}

.icon-instagram:before {
    content: '\e80f'
}

.icon-linkedin:before {
    content: '\e810'
}

.icon-pinterest:before {
    content: '\e811'
}

.icon-rss:before {
    content: '\e812'
}

.icon-telegram:before {
    content: '\e813'
}

.icon-tiktok:before {
    content: '\e814'
}

.icon-tumblr:before {
    content: '\e815'
}

.icon-twitch:before {
    content: '\e816'
}

.icon-twitter:before {
    content: '\e817'
}

.icon-vk:before {
    content: '\e818'
}

.icon-whatsapp:before {
    content: '\e819'
}

.icon-youtube:before {
    content: '\e81a'
}

.no-scroll {
    overflow: hidden;
    height: 100vh;
}

html {
    font-size: 62.5%;
    /* 10px base for easier rem calculations */
    scroll-behavior: smooth;
    scroll-padding-top: 120px;
    /* For fixed header */
}

body {
    font-size: 1.6rem;
    background: white;
    color: #222;
    font-family: var(--vr-font-primary);
    overflow-x: hidden !important;
    margin-top: 80px;
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6{
color: var(--primary-color);
}
.section-featured .row>* {

    padding-right: unset;
    padding-left: unset;

}



.match-actions>a {
    flex: 1;
    /* Fa sì che ogni <a> occupi la stessa larghezza */
    text-align: center;
    /* Centra il testo dentro i bottoni */
}

section {
    position: relative;
}

* {
    -ms-word-wrap: break-word;
    word-wrap: break-word;
}

img {
    color: transparent;
}

a {
    color: var(--primary-color);
    -moz-transition: all .2s ease-in-out 0s;
    -webkit-transition: all .2s ease-in-out 0s;
    transition: all .2s ease-in-out 0s;
    text-decoration: none;
    outline: none !important;
}

a:hover,
a:active,
a:focus {
    outline: none;
    text-decoration: none;
}

.p0 {
    padding: 0 !important;
}

.m0 {
    margin: 0 !important;
}

.m-r-0 {
    margin-right: 0 !important;
}

.m-l-5 {
    margin-left: 5px !important;
}

.m-l-15 {
    margin-left: 15px !important;
}

.m-r-5 {
    margin-right: 5px !important;
}

.m-r-15 {
    margin-right: 15px !important;
}

.m-b-15 {
    margin-bottom: 15px !important;
}

.m-b-20 {
    margin-bottom: 20px !important;
}

.m-b-30 {
    margin-bottom: 30px !important;
}

.width20 {
    width: 20% !important;
}

.width25 {
    width: 25% !important;
}

.width100 {
    width: 100% !important;
}

.display-block {
    display: block !important;
}

.display-inline-block {
    display: inline-block !important;
}

.position-relative {
    position: relative !important;
}

.font-text {
    font-family: var(--vr-font-tertiary) !important;
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6,
.nav-mobile .nav-item .nav-link,
.nav-mobile button {
    font-family: var(--vr-font-secondary);
}

.section-mid-title .title {
    font-family: var(--vr-font-secondary);
}

.section .section-content .title {
    font-family: var(--vr-font-secondary);
}

.section .section-head .title {
    font-family: var(--vr-font-primary);
}

.post-content .post-text {
    font-family: var(--vr-font-tertiary);
}

.post-content .post-summary h2 {
    font-family: var(--vr-font-tertiary);
}

.vr-scrollbar {
    overflow-y: scroll;
    scrollbar-color: #d3d3d3 #fff;
    scrollbar-width: thin;
}

.vr-scrollbar::-webkit-scrollbar {
    width: 5px;
}

.vr-scrollbar::-webkit-scrollbar-track {
    background: #ffffff;
}

.vr-scrollbar::-webkit-scrollbar-thumb {
    background: #d3d3d3;
    border-radius: 3px;
}

.vr-scrollbar::-webkit-scrollbar-thumb:hover {
    background: #d3d3d3;
}

/*Slick Slider 1.8.0*/
.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
    height: 100%;
}

.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.slick-list:focus {
    outline: none;
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    height: 100%;
}

.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.slick-track:before,
.slick-track:after {
    display: table;
    content: '';
}

.slick-track:after {
    clear: both;
}

.slick-loading .slick-track {
    visibility: hidden;
}

.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px;
}

[dir='rtl'] .slick-slide {
    float: right;
}

.slick-slide img {
    display: block;
}

.slick-slide.slick-loading img {
    display: none;
}

.slick-slide.dragging img {
    pointer-events: none;
}

.slick-initialized .slick-slide {
    display: block;
}

.slick-loading .slick-slide {
    visibility: hidden;
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
    display: none;
}

.form-input {
    display: block;
    width: 100%;
    border: 1px solid #e6e8eb;
    outline: none !important;
    color: #494949;
    font-size: 0.875rem;
    line-height: 1.5;
    padding: 0.656rem 1.25rem;
    box-shadow: none !important;
    border-radius: 0.125rem;
}

.form-control::placeholder {
    color: #9AA2AA;
    opacity: 1;
}

.form-control:-ms-input-placeholder {
    color: #9AA2AA;
}

.form-control::-ms-input-placeholder {
    color: #9AA2AA;
}

.form-textarea {
    display: block;
    width: 100%;
    border: 1px solid #e6e6e6;
    outline: none !important;
    color: #494949;
    font-size: 0.875rem;
    line-height: 1.5;
    padding: 0.656rem 1.25rem;
    box-shadow: none !important;
    border-radius: 0.125rem;
    height: 120px;
    min-height: 120px;
}

.btn {
    display: inline-block;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-align: center;
    font-size: 1.4rem;
    cursor: pointer;
    font-family: var(--font-primary);
    padding: 1rem 2.5rem;
    border-radius: var(--border-radius-sm);
    border: none;
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
}

/* Primary Button */
.btn-primary {
    background-color: var(--primary-color);
    color: var(--white);
}
.btn-secondary2{
    background-color: var(--white);
    color: var(--primary-color);
}
.btn-secondary2:hover,
.btn-secondary2:active,
.btn-secondary2:focus{
    background-color: var(--primary-color);
    color: var(--white);
}

.btn-secondary2:hover a{   
    color: var(--white);
}
.btn-primary:hover,
.btn-primary:active,
.btn-primary:focus {
    background-color: var(--primary-dark);
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
    color: var(--white);
}

/* Outline Button */
.btn-outline {
    flex: 1;
    position: relative;
    overflow: hidden;
    z-index: 1;
    background-color: transparent;
    border: 2px solid var(--white);
    color: var(--white);
    padding: var(--padding-big-button);
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
    letter-spacing: 1px;
    transition: all 0.3s ease;
}

.btn-outline i {
    margin-right: 1rem;
}

.btn-outline:hover {
    color: var(--primary-color);
    transform: translateY(-5px);
    box-shadow: 0 12px 25px rgba(0, 0, 0, 0.3);
    border-color: var(--white);
    background-color: var(--primary-dark);

    text-transform: uppercase;
    text-align: center;
    letter-spacing: 1px;
    transition: all 0.3s ease;
}


.btn-outline:hover {
    color: var(--primary-color);
    transform: translateY(-5px);
    box-shadow: 0 12px 25px rgba(0, 0, 0, 0.3);
    border-color: var(--white);
    background-color: var(--primary-dark);
}

/* Default Button */
.btn-default {
    background-color: var(--light-gray);
    color: var(--text-color) !important;
}

.btn-default:hover,
.btn-default:active,
.btn-default:focus {
    background-color: var(--medium-gray);
    color: var(--text-color) !important;
    transform: translateY(-2px);
    box-shadow: var(--shadow-sm);
}

/* Button Sizes */
.btn-sm {
    padding: 0.5rem 1.5rem;
    font-size: 1.2rem;
}

.btn-lg {
    padding: 1.2rem 3rem;
    font-size: 1.6rem;
}

/* Full Width Button */
.btn-block {
    display: block;
    width: 100%;
}

.btn-block+.btn-block {
    margin-top: 1rem;
}

/* Link Button */
.btn-link {
    padding: 0;
    margin: 0;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    text-decoration: none;
}

.caret::after {
    display: inline-block;
    margin-left: .255em;
    vertical-align: .255em;
    content: "";
    border-top: .3em solid;
    border-right: .3em solid transparent;
    border-bottom: 0;
    border-left: .3em solid transparent;
}

.caret-right::after {
    display: inline-block;
    margin-left: .255em;
    vertical-align: .255em;
    content: "";
    border-top: .3em solid transparent;
    border-right: 0;
    border-bottom: .3em solid transparent;
    border-left: .3em solid;
}

.img-fluid {
    width: 100%;
    max-width: 100%;
    display: block;
    height: auto;
}

.img-container {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    overflow: hidden;
}

.img-container .img-cover {
    position: relative;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tbl-container {
    display: table;
    width: 100%;
    max-width: 100%;
}

.tbl-cell {
    display: table-cell;
    vertical-align: top;
    position: relative;
}

.ul-list {
    margin: 0;
    padding: 0;
}

.ul-list li {
    list-style: none;
}

.form-check .form-check-input {
    width: 1.2em;
    height: 1.2em;
    cursor: pointer;
    box-shadow: none !important;
    margin-right: 5px;
}

.form-check .form-check-label {
    cursor: pointer;
}

.form-check-input[type="checkbox"] {
    border-radius: 0.125rem;
}

.media-icon {
    position: absolute;
    width: 42px;
    height: 42px;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 10;
    text-align: center;
    pointer-events: none;
}

.media-icon svg {
    display: inline-block;
    position: relative;
    width: 42px;
    height: 42px;
    z-index: 1;
    background: rgba(0, 0, 0, 0.3) !important;
    border-radius: 100% !important;
}

.media-icon-sm {
    width: 36px;
    height: 36px;
    line-height: 36px;
}

.media-icon-sm svg {
    width: 36px;
    height: 36px;
}

.media-icon-lg {
    width: 52px;
    height: 52px;
    line-height: 52px;
}

.media-icon-lg svg {
    width: 52px;
    height: 52px;
}

.breadcrumb {
    font-size: 13px;
}

.breadcrumb a {
    color: #727272;
}

.breadcrumb-item.active {
    color: var(--med-gray);
}

.font-weight-normal {
    font-weight: normal !important;
}

.font-weight-600 {
    font-weight: 600 !important;
}

.font-text {
    color: #333;
}

.form-label {
    font-weight: 600;
    margin-bottom: 5px;
}

.display-flex {
    display: flex !important;
}

.tooltip {
    font-size: 12px;
}

.show-on-page-load {
    visibility: hidden;
    width: auto;
    height: auto;
    max-width: 100%;
    margin: 0 auto;
    overflow: hidden;
}

.fsize-16 {
    font-size: 16px !important;
    line-height: 22px !important;
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
#header {
    background-color: #000840;
}

#nav-top {
    padding: 0.188rem 0;
}

#nav-top .navbar-nav {
    padding: 0;
    margin: 0;
}

#nav-top .navbar-nav .nav-item {
    list-style: none;
    margin-right: 20px;
}

#nav-top .navbar-nav .nav-item .nav-link {
    color: #d1d1d1;
    font-size: 0.813rem;
    margin-right: 0;
}

#nav-top .navbar-nav .nav-item svg {
    color: #d1d1d1;
}

#nav-top .navbar-nav .nav-item .nav-link:hover,
#nav-top .navbar-nav .nav-item .nav-link:active,
#nav-top .navbar-nav .nav-item .nav-link:focus {
    color: #f5f5f5 !important;
}

#nav-top .span-login-sep {
    color: #ccc;
    margin: 0 5px;
}

#nav-top .dropdown-menu {
    z-index: 99999;
}

#nav-top .profile-dropdown .dropdown-menu .icon {
    display: inline-block;
    width: 26px;

}

.modal-add-post {
    z-index: 999999;
}

.modal-add-post .modal-dialog {
    max-width: 900px
}

.modal-add-post .row {
    margin-left: -5px;
    margin-right: -5px
}

.modal-add-post .row {
    margin-left: -5px;
    margin-right: -5px
}

.modal-add-post .col-add-post {
    padding-left: 5px;
    padding-right: 5px
}

.modal-add-post .modal-header {
    border: 0 !important;
    text-align: center;
    padding: 30px 20px;
    padding-bottom: 10px;
}

.modal-add-post .modal-body {
    padding: 20px;
    padding-bottom: 30px
}

.modal-add-post .modal-content {
    border-radius: 4px
}

.modal-add-post .modal-header .modal-title {
    font-size: 20px;
    line-height: 24px;
    text-transform: uppercase;
    margin-top: 15px;
    margin-bottom: 10px;
}

.modal-add-post .item {
    width: 100%;
    height: 215px;
    overflow: hidden;
    background-color: #fbfbfb;
    padding: 20px;
    margin-bottom: 10px
}

.modal-add-post .item-icon {
    width: 82px;
    height: 82px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    border-radius: 100%;
    margin: 0 auto
}

.modal-add-post .item-icon svg {
    width: 40px;
    height: 40px;
    vertical-align: middle;
}

.modal-add-post .item .title {
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    margin: 10px 0;
    color: #333 !important
}

.modal-add-post .item .desc {
    color: #a6a6a6;
    text-align: center;
    margin-bottom: 0;
    font-size: 13px;
}

.modal-add-post .close {
    position: absolute;
    z-index: 10;
    right: 15px;
    font-size: 15px;
    top: 15px
}

.modal-add-post .item:hover {
    background-color: #f7f7f7
}

.nav-main {
    padding: 0;

}

.nav-main .navbar-toggler {
    padding: 0;
    border: 0
}

.navbar-nav.navbar-right {
    margin-left: auto;
}

.navbar-nav.navbar-left {
    margin-left: auto;
}

.nav-main .navbar-brand {
    margin-right: 30px;
}




header .logo {
    object-fit: contain;
}

.mobile-logo {
    display: block;
    width: 100%;
    height: 58px;
    text-align: center;
}

.mobile-logo {
    display: block;
    width: 100%;
    height: 58px;
    text-align: center;
}

.mobile-logo img {
    object-fit: contain;
    width: auto;
    max-width: 100%;
    max-height: 58px;
}

.nav-main .navbar-nav .nav-link {
    display: flex;
    align-items: center;
    color: #ffffff;
    line-height: 42px;
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    padding: 20px 12px;
    white-space: nowrap;
}

.nav-main .navbar-nav .nav-link i {
    font-size: 12px;
    margin-left: 3px;
}

.nav-main .navbar-nav .search-icon:hover,
.nav-main .navbar-nav .search-icon:active,
.nav-main .navbar-nav .search-icon:focus {
    color: var(--vr-theme-color) !important;
}

.dropdown .dropdown-menu .dropdown-item i {
    font-size: 12px;
    margin-left: 3px;
}

.nav-main .navbar-nav .nav-link:hover,
.nav-main .navbar-nav .nav-link:focus {
    color: #222
}

.nav-main .navbar-nav .nav-link.active {
    font-weight: 600;
    color: #222
}

.nav-main .navbar-nav-svg {
    width: 1rem;
    height: 1rem
}

.bd-subnavbar {
    position: relative;
    z-index: 1020;
    background-color: rgba(255, 255, 255, 0.95);
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.05), inset 0 -1px 0 rgba(0, 0, 0, 0.15)
}

.bd-subnavbar .dropdown-menu {
    font-size: .875rem;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.05)
}

.bd-subnavbar .dropdown-item.current {
    font-weight: 600;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23292b2c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 1rem top 0.6rem;
    background-size: .75rem .75rem
}

.mega-menu-container {
    position: relative;
    width: 100%;
    max-width: 100%;
    z-index: 9999;
}

.mega-menu {
    display: none;
    position: absolute;
    width: 100%;
    background-color: #fff;
    z-index: 9999;
    top: -1px;
    border-top: 1px solid #ebebeb;
}

.mega-menu .menu-left {
    width: 19.7%;
    min-height: 250px;
    max-height: 315px;
    padding: 20px 0;
    background-color: var(--vr-mega-menu-color);
}

.mega-menu .menu-left a {
    position: relative;
    display: block;
    padding: 8px 25px 8px 20px;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    text-align: right;
}

.mega-menu .menu-right {
    width: 80.3%;
    padding-top: 30px;
    padding-bottom: 30px;
    min-height: 285px;
}

.mega-menu .menu-right .container-fluid {
    padding-left: 10px;
    padding-right: 10px;
}

.mega-menu .menu-post-item .image {
    display: block;
    width: 100%;
    height: 144px;
    position: relative;
    margin-bottom: 10px;
    overflow: hidden;
}

.mega-menu .menu-post-item .image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mega-menu .menu-post-item .title {
    font-size: 13px;
    line-height: 18px;
    font-weight: 600;
    margin-bottom: 6px;
}

.mega-menu .menu-category-items {
    display: none;
}

.mega-menu .menu-right .active {
    display: block !important;
}

.mega-menu .small-post-meta a,
.mega-menu .small-post-meta span {
    font-size: 11px;
}

.dropdown .dropdown-menu {
    margin-top: 0 !important;
    border-radius: 2px !important;
    border: 1px solid rgba(0, 0, 0, .05);
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, 0.05);
    z-index: 9999;
}

.dropdown .dropdown-menu .dropdown-item {
    display: flex;
    align-items: center;
    padding: .5rem 1rem;
    font-size: 14px;
}

.nav-main .navbar-left .dropdown:hover>.dropdown-menu {
    display: block;
    margin-top: 0;
}

.nav-dropdown-menu>li:hover>.dropdown-menu {
    display: block;
}

.dropdown-item:focus,
.dropdown-item:hover,
.dropdown-item:active,
.dropdown-item.active {
    color: #1e2125 !important;
    background-color: #f2f5f8 !important;
}

.nav-dropdown-menu>li {
    position: relative;
}

.nav-dropdown-menu .dropdown-sub {
    display: none;
    position: absolute;
    left: 100%;
    top: 0;
}

.nav-dropdown-menu .caret-right {
    position: absolute;
    right: 10px;
    top: 10px;
}

.btn-switch-mode {
    display: flex;
    align-items: center;
    padding: 0 6px;
    border: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    background-color: transparent !important;
    min-width: 30px;
}

#nav-top .btn-switch-mode .dark-mode-icon {
    width: 14px;
    height: 14px;
}

.search-form {
    display: none;
    width: 380px;
    position: absolute;
    right: 0;
    top: 50px;
    background-color: #fff;
    z-index: 999999;
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, 0.05);
    border: 1px solid rgba(0, 0, 0, 0.05);
    padding: 10px;
}

.search-form .form-input {
    border: 0 !important;
    box-shadow: none;
    color: #949494;
    height: 40px;
    line-height: 14px;
    padding: 10px 65px 10px 20px;
    background-color: #fafafa;
    font-size: 0.875rem;
}

.search-form button {
    border: 0 !important;
    box-shadow: none;
    color: #fff !important;
    font-size: 16px;
    width: 40px;
    height: 40px;
    text-align: center;
    position: absolute;
    right: 10px;
    top: 10px;
    border-radius: 0;
    line-height: 10px;
    padding: 5px;
}

.search-form.open {
    display: block !important
}

.profile-dropdown .dropdown-menu {
    left: -40px !important;
    min-width: 11rem !important;
    top: 4px !important;
}

.profile-dropdown>a {
    padding: 0 !important;
}

.profile-dropdown>a img {
    border-radius: 50%;
    border: 1px solid #888;
    width: 28px;
    height: 28px;
}

.dropdown-languages .dropdown-menu {
    left: -34px !important;
    max-height: 400px;
    overflow-y: auto;
}

.nav-main .nav-dropdown-menu .dropdown-sub {
    left: auto !important;
    right: 100% !important;
    margin-right: -1px;
}

.nav-main ul ul {
    margin-left: -15px;
}

.header-mobile-container {
    height: auto;
    display: none;
    position: relative;
    border-bottom: 1px solid #ebebeb;
    z-index: 999999;
}

.header-mobile {
    width: 100%;
    padding: 6px 0;
    background-color: #fff;
    box-shadow: 0px 2px 15px rgb(0 0 0 / 10%);
    position: relative;
    z-index: 999999;
}

.header-mobile-container .header-mobile>.d-flex {
    min-height: 58px;
}

.header-mobile .menu-button {
    margin: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 10px 13px !important;
    background-color: transparent !important;
}

.mobile-search-form {
    padding: 10px;
    background-color: #fff;
    position: relative;
    display: none;
}

.mobile-search-form input {
    height: 44px;
    border-radius: 2px 0 0 2px;
}

.mobile-search-form .btn {
    height: 44px;
    border-radius: 0 2px 2px 0;
}

.nav-mobile {
    width: 0;
    height: 100%;
    position: fixed;
    z-index: 9999;
    top: 70px;
    left: 0;
    text-align: center;
    -webkit-transition: all 250ms ease;
    -moz-transition: all 250ms ease;
    -ms-transition: all 250ms ease;
    -o-transition: all 250ms ease;
    transition: all 250ms ease;
    background-color: #fff;
    overflow-x: hidden;
}


.nav-mobile .nav-mobile-inner {
    display: block;
    position: absolute;
    width: 310px;
    top: 0;
    left: 0;
    right: 0;
    bottom: 40px;
    overflow-y: scroll;
    overflow-x: hidden;
    padding: 15px;
    padding-top: 20px;
    padding-bottom: 60px;
}

.nav-mobile-open {
    width: 310px;
}

.nav-mobile-open .nav-mobile-inner {
    width: 310px;
}

.overlay-bg {
    position: fixed;
    width: 100%;
    height: 100%;
    display: none;
    overflow: hidden;
    background-color: rgba(0, 0, 0, .6);
    top: 0;
    left: 0;
    z-index: 1001;
    animation-name: fadeIn;
}

.nav-mobile .nav-item {
    border-bottom: 1px solid rgba(0, 0, 0, .05);
}

.nav-mobile .nav-item:last-child {
    border-bottom: 0;
}

.nav-mobile .nav-item .nav-item {
    border-bottom: 0;
}

.nav-mobile .nav-item .nav-link {
    display: flex;
    font-size: 16px;
    color: #434343;
    padding: 12px 0;
}

.nav-mobile .nav-item .nav-link i {
    font-size: 14px;
}

.nav-mobile .nav-item .nav-link:after {
    display: none;
}

.nav-mobile .dropdown .menu-sub-items {
    transform: none !important;
    background-color: transparent !important;
    position: relative !important;
    box-shadow: none !important;
    border: 0 !important;
    padding: 0 !important;
    padding-bottom: 10px !important;
}

.nav-mobile .dropdown .menu-sub-items .nav-link {
    padding: 8px 15px;
    padding-left: 20px;
    font-size: 15px;
}

.nav-link-mobile-profile {
    display: flex;
    align-items: center;
    font-weight: 600;
}

.nav-link-mobile-profile img {
    width: 40px !important;
    height: 40px !important;
    border-radius: 6px !important;
    margin-right: 10px !important;
}

.nav-mobile .profile-dropdown-mobile {
    padding-bottom: 15px;
    margin-bottom: 12px;
    border-bottom: 1px solid #eaecef;
}

.nav-mobile .profile-dropdown-mobile .menu-sub-items {
    width: 240px;
    transform: none !important;
    background-color: transparent !important;
    position: relative !important;
    box-shadow: none !important;
    border: 0 !important;
    left: 40px !important;
    padding: 0 !important;
}

.nav-mobile .profile-dropdown-mobile .menu-sub-items .dropdown-item {
    padding: 8px 10px;
    font-size: 15px;
    color: #434343;
    margin-bottom: 2px;
}

.profile-dropdown-mobile .dropdown-item:hover,
.profile-dropdown-mobile .dropdown-item:active,
.profile-dropdown-mobile .dropdown-item:focus {
    background-color: transparent !important;
}

.nav-mobile .profile-dropdown-mobile .menu-sub-items .dropdown-item .icon {
    width: 26px;
}

.mobile-language-dropdown .dropdown-menu {
    position: relative !important;
    width: 100%;
    transform: none !important;
    top: -1px !important;
    max-height: 200px;
    overflow-y: auto;
}

.btn-switch-mode-mobile {
    width: 40.26px;
    height: 40.26px;
    padding: 0 !important;
}

.title-index {
    text-align: center;
    height: 0;
    margin: 0;
    padding: 0;
    line-height: 0;
    color: transparent;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
}

/*newsticker*/
.section-newsticker {
    padding: 0 !important;
    margin-bottom: 20px !important;
}

.newsticker-container {
    justify-content: center;
    align-items: center;
    position: relative;
}

.newsticker-title {
    color: #fff;
    display: inline-block;
    font-size: 13px;
    font-weight: 400;
    padding: 6px 10px;
    border-radius: 1px;
    white-space: nowrap;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.newsticker {
    height: 30px;
    line-height: 30px;
    display: block;
    padding: 0;
    margin: 0;
    margin-left: 15px;
}

.newsticker li {
    list-style: none;
    display: none;
    max-width: 800px;
    white-space: nowrap;
    overflow: hidden !important;
    text-overflow: ellipsis
}

.newsticker li a {
    font-size: 14px;
    font-weight: 600;
}

/*mail slider*/
.main-slider-container {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
    overflow: hidden !important;
    background-color: black;
}

.slick-slide {
    outline: none !important;
}

.main-slider {
    position: relative;
    width: 100%;
    display: block
}

.main-slider .main-slider-item {
    width: 100%;

    position: relative;
    background-color: #fafafa;
}

.badge-category {
    padding: 6px 10px;
    font-size: 12px;
    font-weight: normal;
    border-radius: 0.063rem;
    z-index: 2;
}

.main-slider .main-slider-item .badge-category {
    position: relative;
}

.main-slider .main-slider-item::after {
    background: rgba(0, 0, 0, 0) linear-gradient(to bottom, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0.36) 50%, rgba(0, 0, 0, 0.60) 100%);
    bottom: 0;
    content: "";
    height: 50%;
    opacity: .9;
    position: absolute;
    transition: all .3s ease-in 0s;
    width: 100%;
    will-change: opacity;
    display: block;
    pointer-events: none;
}

.main-slider .main-slider-item img {
    width: 100%;
    object-fit: cover;
    display: block;
    height: 100%;
}

.main-slider .main-slider-item .caption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 30px;
    z-index: 100;

}

.main-slider .main-slider-item .caption .category-link {
    pointer-events: auto
}

.main-slider .main-slider-item .caption .title {
    color: #fff;
    font-size: 30px;
    font-weight: 600;
    line-height: 32px;
    margin-top: 0px;
    margin-bottom: 10px;
    position: relative;
    text-transform: uppercase;
}

.main-slider .main-slider-item .caption .title a {
    color: #fff
}

/* Mobile: overlay piu' scuro sotto il testo dello slider (leggibilita' su immagini con scritte) */
@media (max-width: 767.98px) {
    .main-slider .main-slider-item::after {
        height: 100%;
        opacity: 1;
        background: linear-gradient(to top, rgba(0, 6, 48, 0.92) 0%, rgba(0, 6, 48, 0.6) 45%, rgba(0, 6, 48, 0) 100%);
    }

    .main-slider .main-slider-item .caption {
        padding: 20px 16px 24px;
    }

    .main-slider .main-slider-item .caption .title_slide {
        max-width: 100%;
        font-size: 2.4rem;
        line-height: 1.2;
        text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
    }
}

.main-slider .main-slider-item .post-meta span,
.main-slider .main-slider-item .post-meta a {
    color: #bebebe;
    font-size: 12px;
}

.main-slider-nav {
    position: absolute;
    height: 36px;
    width: 100%;
    max-width: 100%;
    top: 0;
    bottom: 0;
    margin: auto;
    pointer-events: none;
}

.main-slider-nav .prev,
.main-slider-nav .next {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    height: 36px;
    width: 36px;
    position: relative;
    opacity: 0;
    z-index: 2;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0;
    pointer-events: auto;
}

.main-slider-nav .prev {
    float: left;
    left: 15px;
    text-align: left;
}

.main-slider-nav .next {
    float: right;
    right: 15px;
    text-align: right;
}

.main-slider-nav svg {
    position: relative;
    vertical-align: middle;
    display: inline-block;
    width: 36px;
    height: 36px;
}

.main-slider .main-slider-item .post-meta {
    margin-bottom: 0;
    position: relative;
    z-index: 14;
    margin-top: 10px;
}

.main-slider .main-slider-item .post-meta a {
    pointer-events: auto
}

.main-slider-container:hover .prev,
.main-slider-container:hover .next {
    -moz-transition: all .3s ease-in-out 0s;
    -webkit-transition: all .3s ease-in-out 0s;
    transition: all .3s ease-in-out 0s;
    opacity: .8 !important;
}

.section-featured {
    height: 50vh;
    padding: 0 !important;
    overflow: hidden;
    background-color: aliceblue;
}

.section-featured>div:first-child {
    width: 100%;
    position: relative;
    background-color: #fafafa;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    background-color: #fff;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
}


.section-featured .col-featured-left {
    width: 53.1%;
    padding-right: 2px;
}

.section-featured .col-featured-right {
    width: 46.9%;
    padding-left: 2px;
}

.section-featured .col-featured-right .item {
    display: block;
    width: 100%;
    height: 242px;
    position: relative;
    background-color: #fafafa;
}

.section-featured .col-featured-right .item .img-link {
    display: block;
    width: 100%;
    height: 100%;
}

.section-featured .col-featured-right .item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.section-featured .col-featured-right .item-large {
    height: 280px;
    overflow: hidden;
}

.section-featured .col-featured-right .item::after {
    background: rgba(0, 0, 0, 0) linear-gradient(to bottom, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.64) 100%);
    bottom: 0;
    content: "";
    height: 50%;
    opacity: .9;
    position: absolute;
    transition: all .3s ease-in 0s;
    width: 100%;
    will-change: opacity;
    display: block;
    pointer-events: none;
}

.section-featured .col-featured-right .img-item {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    background-size: cover;
    background-position: center center;
}

.col-featured-right .item .caption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 15px;
    z-index: 1;
}

.col-featured-right .item .caption .title {
    margin-bottom: 0;
    font-size: 16px;
    font-weight: 600;
    line-height: 22px;
    margin-top: 8px;
    margin-bottom: 4px;
    position: relative;
}

.col-featured-right .item .caption .title a {
    color: #fff !important;
    display: block;
}

.col-featured-right .item-large .caption .title {
    font-size: 18px;
    line-height: 25px;
}

.col-featured-right .item .caption .post-meta span,
.col-featured-right .item .caption .post-meta a {
    color: #bebebe;
}

.col-sidebar {
    padding-left: 10px;
}

.post-meta {
    display: flex;
    align-items: center;
    width: 100%;
    margin: 0;
}

.post-meta span {
    list-style: none;
    margin-right: 8px;
    color: #7a7a7a;
    font-size: 12px;
    white-space: nowrap;
}

.post-meta a {
    list-style: none;
    margin-right: 8px;
    color: #7a7a7a;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

.lazyload,
.lazyloading {
    opacity: 0;
}

.lazyloaded {
    opacity: 1;
    transition: opacity 300ms;
}

img.lazyload:not([src]) {
    visibility: hidden;
}

/*--------------------------------------------------------------
# Index
--------------------------------------------------------------*/
/* .section {
    display: block;
    margin-bottom: 45px;
} */
section.container, main .container  {
    padding: 30px 0 60px 0;
}

.section-title {
    font-family: var(--font-title);
    font-size: var(--h2-size);
    position: relative;
    text-align: center;
    margin-bottom: 4.5rem;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--primary-color);
    padding-bottom: 1.5rem;
    letter-spacing: 1px;
    margin-top: 1rem;
}

.squad-section-title {
    font-family: var(--font-title);
    font-size: var(--h2-size);
    position: relative;
    text-align: center;
    margin-top: 4.5rem;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--primary-color);
    padding-bottom: 1.5rem;
    letter-spacing: 1px;

}

.section-title::before {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 2px;
    width: 100px;
    height: 1px;
    background-color: rgba(0, 127, 255, 0.2);
    transform: translateX(-50%);
}

.section-title:after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 60px;
    height: 4px;
    background: linear-gradient(to right, var(--primary-color), var(--marsala-navy));
    transform: translateX(-50%);
    border-radius: 2px;
}

.section .section-title .view-all {
    position: relative;
    font-weight: 600;
    font-size: 13px;
}

.nav-sm-buttons {
    width: auto;
    position: relative;
    white-space: nowrap !important;
}

.nav-sm-buttons .prev,
.nav-sm-buttons .next {
    height: 26px;
    width: 26px;
    line-height: 24px;
    padding: 0;
    margin: 0;
    color: #a9a9a9;
    border: 1px solid #e2e2e2;
    font-size: 12px;
    background-color: transparent !important;
    position: relative;
    -webkit-transition: all 0.3s ease 0s;
    -o-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
    text-align: center;
}

.nav-sm-buttons .prev {
    margin-right: 2px;
}

/*--------------------------------------------------------------
# Post Details Page
--------------------------------------------------------------*/
.post-content .post-title {
    font-size: 36px;
    line-height: 1.2;
    font-weight: 600;
    margin-top: 0;
    margin-bottom: 10px;
}

.post-content .post-summary {
    font-size: 15px;
    line-height: 24px;
    font-weight: 400;
    margin-bottom: 15px;
    font-family: var(--vr-font-tertiary)
}

.post-details-meta .item-meta {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #a7a8ac;
    margin-right: 30px;
    font-size: 13px;
}

.post-details-meta .item-meta svg {
    margin-right: 5px;
}

.post-details-meta .item-meta i {
    font-size: 13px;
}

.post-details-meta .item-meta-author a {
    font-weight: 600;
}

.post-details-meta .item-meta-author img {
    width: 32px;
    height: 32px;
    margin-right: 5px;
    border-radius: 50%;
    border: 1px solid #eee;
}

.post-details-meta .item-meta-comment {
    margin-right: 0 !important;
}

.post-details-meta .item-meta-comment span:first-child {
    margin-right: 10px;
}

.post-content .btn-share {
    display: flex;
}

.post-content .post-share-buttons {
    flex-wrap: wrap;
    row-gap: 10px;
}

.post-content .btn-share a {
    display: flex;
    width: 42px;
    height: 40px;
    justify-content: center;
    align-items: center;
    border-radius: 0.125rem;
    font-size: 18px;
    color: #fff !important;
    margin-right: 10px;
}

.post-content .btn-share .btn-print {
    background-color: #444;
}

.post-content .btn-share .btn-reading-list {
    background-color: #444;
    margin-right: 0 !important;
}

.post-content .img-description {
    display: block;
    text-align: left;
    font-size: 12px;
    font-style: italic;
    line-height: 18px;
    color: #666;
    margin-top: 5px;
}

.post-image {
    display: block;
    position: relative;
    width: 100%;
    max-width: 100%;
    margin-bottom: 15px;
}

.post-video iframe {
    display: block;
    width: 100%;
    max-width: 100%;
}

.video-player {
    display: block;
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

.video-player video {
    width: 100%;
    max-width: 100%;
    height: auto;
}

.post-detail-slider-nav {
    position: absolute;
    top: 15px;
    right: 15px;
    display: flex;
    align-items: center;
}

.post-detail-slider-nav .prev,
.post-detail-slider-nav .next {
    position: relative;
    display: flex;
    height: 44px;
    width: 44px;
    justify-content: center;
    align-items: center;
    border: 0 !important;
    pointer-events: auto;
    background-color: #010101;
    opacity: .8;
}

.post-detail-slider-nav .next {
    margin-left: 5px;
}

.post-detail-slider-nav .next i,
.post-detail-slider-nav .prev i {
    display: inline-block;
    position: relative;
    border-radius: 2px;
    color: #fafafa;
    font-size: 16px;
    font-weight: bold;
    height: 38px;
    line-height: 38px;
    text-align: center;
    width: 38px;
    opacity: 0.9;
}

.post-content .post-text {
    clear: both;
    display: block;
    width: 100%;
    position: relative;
    max-width: 100%;
    font-family: var(--vr-font-tertiary) !important;
    font-size: 15px;
    line-height: 26px;
    overflow-wrap: break-word
}

.post-content .post-text a,
.section-page .page-text a {
    color: var(--vr-theme-color);
}

.post-content .post-text a:hover,
.section-page .page-text a:hover {
    text-decoration: underline;
}

.post-content .post-text iframe,
.post-content .post-text img,
.post-content .post-text object {
    display: block;
    max-width: 100% !important;
}

.post-content .post-text table {
    border-collapse: collapse;
}

.post-content .post-text table th td {
    border: 1px solid #222;
}

.post-content .post-text th,
.post-content .post-text td {
    padding: .5rem .5rem;
}

.post-content .container-bn img {
    display: block !important;
}

.post-content .post-files {
    width: 100%;
    display: block;
    position: relative;
    margin: 15px 0;
}

.post-content .post-files .title {
    width: 100%;
    display: block;
    position: relative;
    font-size: 14px;
    font-weight: 600;
    margin: 0;
    line-height: 28px;
}

.post-content .post-files .file {
    display: flex;
    align-items: center;
    position: relative;
    margin-top: 5px;
}

.post-content .post-files .file button {
    background-color: transparent !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

.post-content .post-files .file button:hover {
    text-decoration: underline;
}

.post-content .post-files .file svg {
    margin-right: 8px;
}

.post-content .post-tags .title {
    font-size: 14px;
    line-height: 1.5;
    font-weight: 600;
    margin: 0;
    margin-bottom: 5px;
}

.post-content .post-tags ul {
    margin: 0;
    padding: 0;
    margin-left: 20px;
    flex-wrap: wrap !important;
}

.post-content .post-tags li {
    list-style: none;
    margin-right: 5px;
    margin-bottom: 5px;
}

.post-content .post-tags ul li a {
    background-color: #f7f7f7;
    border: 1px solid #f3f3f3;
    color: #888;
    display: inline-block;
    font-size: 13px;
    padding: 7px 12px;
    text-decoration: none;
    border-radius: 1px;
}

.post-content .post-tags ul li a:hover {
    color: #fff !important;
}

.post-next-prev {
    display: block;
    width: 100%;
    min-height: 150px;
    margin-bottom: 30px;
    border-top: 1px solid #f0f0f0;
    padding: 30px 0 15px 0
}

.post-next-prev .title {
    font-size: 15px;
    font-weight: 600;
    line-height: 22px;
    margin: 0 0 5px;
}

.post-next-prev .title a {
    display: block
}

.post-next-prev .left {
    border-right: 1px solid #e6e6e6;
    min-height: 60px
}

.post-next-prev .right {
    min-height: 60px
}

.post-next-prev .head-title {
    font-size: 12px;
    line-height: 12px;
    margin-bottom: 15px;
    text-transform: uppercase;
}

.post-next-prev .left .head-title svg {
    margin-right: 8px
}

.post-next-prev .right .head-title svg {
    margin-left: 8px
}
.galleryfilters {
    display: block;
    width: 100%;
    position: relative;
    margin-bottom: 30px;
}

.gallery-post-item {
    display: block;
    width: 100%;
    margin-bottom: 30px;
}

.title-post-item {
    width: 100%;
    display: block;
    position: relative;
    font-size: 22px;
    line-height: 30px;
    font-weight: 600;
    margin-top: 0;
    margin-bottom: 10px
}

.gallery-post-item .post-image {
    position: relative
}

.gallery-post-item .post-image .post-image-inner {
    position: relative;
}

.gallery-post-item .post-item-count {
    width: auto;
    display: inline-block;
    padding: 10px 20px;
    position: absolute;
    top: 0;
    right: 0;
    color: #fff;
    font-weight: 600;
    font-size: 16px;
    background-color: rgba(22, 22, 22, .5)
}

.ordered-list-item {
    display: block;
    width: 100%;
    margin-bottom: 45px;
}

.post-content .post-player #amplitude-player {
    min-height: 250px !important;
}

/*Quiz*/
.quiz-container {
    display: block;
    width: 100%;
    position: relative;
}

.quiz-container .quiz-question {
    display: block;
    width: 100%;
    position: relative;
    padding-bottom: 30px;
    margin-bottom: 45px;
    border-bottom: 1px solid #f0f0f0;
}

.quiz-container .quiz-question[data-is-last-question="1"] {
    border-bottom: 0 !important;
}

.quiz-container .quiz-question-answered .answer {
    pointer-events: none;
    cursor: default !important;
}

.quiz-container .quiz-question-answered .answer-format-text {
    cursor: default !important;
}

.quiz-container .quiz-question .alert-success {
    color: #60bc65;
    background-color: rgba(96, 188, 101, .05);
    border: 0 !important;
}

.quiz-container .quiz-question .alert-danger {
    color: #e25c58;
    background-color: rgba(226, 92, 88, .05);
    border: 0 !important;
}

.quiz-container .quiz-question .alert {
    display: none;
}

.quiz-container .quiz-question .alert .text {
    margin: 0;
    font-size: 18px;
}

.quiz-container .quiz-question .title {
    width: 100%;
    display: block;
    position: relative;
    font-size: 20px;
    line-height: 28px;
    font-weight: 600;
    margin-top: 0;
    margin-bottom: 15px
}

.quiz-container .description {
    display: block;
    width: 100%;
    position: relative;
    margin-bottom: 5px;
}

.quiz-container .question-image {
    display: block;
    width: 100%;
    position: relative;
    margin-bottom: 20px
}

.quiz-container .question-answers {
    display: block;
    width: 100%;
    position: relative;
    margin-bottom: 15px
}

.quiz-container .question-answers .row-answer {
    margin-left: -7.5px;
    margin-right: -7.5px;
}

.quiz-container .question-answers .col-answer {
    padding-left: 7.5px;
    padding-right: 7.5px;
    margin-bottom: 15px;
}

.quiz-container .question-answers .answer-format-image .answer {
    display: block;
    width: 100%;
    position: relative;
    background-color: #f7f7f7;
    border: 1px solid #f7f7f7;
    cursor: pointer;
    -moz-transition: all .1s ease-in-out 0s;
    -webkit-transition: all .1s ease-in-out 0s;
    transition: all .1s ease-in-out 0s;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.quiz-container .question-answers .answer-format-image .answer:hover {
    background-color: #eeeeee;
    border: 1px solid #eeeeee;
}

.quiz-container .question-answers .answer-format-image .answer-image {
    display: block;
    width: 100%;
    position: relative;
}

.quiz-container .question-answers .answer-format-image .answer-image img {
    display: block;
    width: 100%;
}

.quiz-container .question-answers .answer-format-image .answer-bottom {
    display: flex;
    align-items: center;
    width: 100%;
    position: relative;
    padding: 6px;
}

.quiz-container .question-answers .answer-format-image .answer-bottom .answer-radio {
    width: 34px;
}

.quiz-container .question-answers .answer-format-image .answer-bottom .answer-text span {
    display: inline-block;
    font-size: 14px;
    line-height: 24px;
    font-weight: 600;
    word-break: break-word;
    position: relative;
}

.quiz-container .question-answers .answer-format-image .answer-bottom .quiz-answer-icon {
    color: #555;
    position: relative;
    margin-top: 1.2px;
}

.quiz-container .answer-format-text {
    display: block;
    position: relative;
    width: 100%;
    margin-bottom: 5px !important;
    cursor: pointer;
}

.quiz-container .answer-format-text .answer {
    display: table;
    position: relative;
    width: 100%;
    border-radius: 4px;
    border: 1px solid rgba(0, 0, 0, .1);
    cursor: pointer;
}

.quiz-container .answer-format-text .answer:before {
    content: " ";
    position: absolute;
    z-index: -1;
    top: 1px;
    left: 1px;
    right: 1px;
    bottom: 1px;
    border: 1px solid transparent;
    border-radius: 4px;
}

.quiz-container .answer-format-text .answer:hover {
    border-color: rgba(0, 0, 0, .2);
}

.quiz-container .answer-format-text .answer .answer-radio {
    display: table-cell;
    position: relative;
    vertical-align: middle;
    width: 14px;
    padding: 5px 12px 5px 12px;
}

.quiz-container .quiz-answer-icon {
    height: 30px;
    display: inline-block;
    font-size: 30px;
    line-height: 30px;
    color: #777;
}

.quiz-container .answer-format-text .quiz-answer-icon {
    color: rgba(0, 0, 0, .2);
}

.quiz-container .answer-format-text .answer .answer-text {
    display: table-cell;
    position: relative;
    vertical-align: middle;
    padding: 12px 12px 12px 0;
    font-size: 14px;
    word-break: break-word;
}

.quiz-container .answer-format-text .answer .answer-vote {
    display: table-cell;
    width: 45px;
    position: relative;
    vertical-align: middle;
    padding: 5px;
}

.quiz-container .answer-format-text .answer .answer-vote span {
    width: 13px;
    font-weight: 600;
    white-space: nowrap;
}

.quiz-container .answer-format-text .answer-text span {
    font-size: 14px;
    font-weight: 600;
}

.quiz-container .answer-format-image .answer-correct {
    color: #60bc65 !important;
}

.quiz-container .answer-format-image .answer-correct .quiz-answer-icon {
    color: #60bc65 !important;
}

.quiz-container .answer-format-image .answer-wrong {
    color: #e25c58 !important;
}

.quiz-container .answer-format-image .answer-wrong .quiz-answer-icon {
    color: #e25c58 !important;
}

.quiz-container .answer-format-text .answer-correct {
    color: #60bc65;
    border-color: rgba(96, 188, 101, .6);
}

.quiz-container .answer-format-text .answer-correct .quiz-answer-icon {
    color: #60bc65 !important;
}

.quiz-container .answer-format-text .answer-wrong {
    color: #e25c58;
    border-color: rgba(226, 92, 88, .6);
}

.quiz-container .answer-format-text .answer-wrong .quiz-answer-icon {
    color: #e25c58 !important;
}

.quiz-container .quiz-result {
    margin-bottom: 30px;
    padding-top: 10px;
}

.quiz-container .quiz-result .title {
    font-size: 26px;
    line-height: 32px;
    font-weight: 600;
    margin-bottom: 10px;
}

.quiz-container .quiz-result .description {
    display: block;
    width: 100%;
    margin-top: 10px;
    font-size: 15px;
    line-height: 28px;
}

.quiz-container .btn-play-again-content {
    text-align: center;
    display: none;
    margin-bottom: 30px;
}

.quiz-container .btn-play-again-content button {
    display: inline-block;
}

.quiz-container .btn-play-again-content i {
    margin-right: 8px;
}

.quiz-score {
    text-align: center;
    font-size: 20px;
    font-weight: 600;
    color: #222
}

.quiz-score .correct {
    display: inline-block;
    color: #60bc65;
    background-color: rgba(96, 188, 101, .05);
    padding: 14px 20px;
    min-width: 220px;
}

.quiz-score .wrong {
    display: inline-block;
    color: #e25c58;
    background-color: rgba(226, 92, 88, .05);
    padding: 14px 20px;
    min-width: 220px;
}

.quiz-container .question-answers .answer-format-image .progress {
    background-color: rgb(247, 247, 247, .3);
    border-radius: 0 !important;
    position: absolute;
    width: 100%;
    height: 28px;
    bottom: 0;
    box-shadow: none !important;
}

.quiz-container .question-answers .answer-format-text .progress {
    background-color: transparent !important;
    border-radius: 4px !important;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    bottom: 0;
    left: -1px;
    box-shadow: none !important;
}

.quiz-container .question-answers .answer-format-image .progress .progress-bar {
    background-color: #bac8e0;
    background-image: linear-gradient(to left, #6a85b6 0%, #bac8e0 100%);
    box-shadow: none !important;
}

.quiz-container .question-answers .answer-format-text .progress .progress-bar {
    background-color: #f2f6fa;
    box-shadow: none !important;
}

.quiz-container .question-answers .answer-format-text .progress .score {
    position: absolute;
    right: 30px;
    top: 0;
    bottom: 0;
}

.marsala-mobile-match-cta {
    background-color: var(--marsala-gold);
    color: var(--marsala-blue);
    text-align: center;
    font-weight: 700;
    font-size: 12px;
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 10px;
    border-radius: 6px;
    text-decoration: none;
    transition: 0.3s;
}

.quiz-container .answer-format-text .answer-correct {
    border-color: rgba(0, 0, 0, .1) !important;
}

.quiz-container .question-answers .answer-format-image .progress .perc-zero {
    color: #fff;
    margin-left: 5px;
    line-height: 28px;
}

.quiz-container .question-answers .answer-format-image .progress b {
    font-weight: 600;
}

.table-of-contents {
    border: 1px solid #EFEEE9;
    padding: 30px;
    margin: 15px 0;
    border-radius: 3px;
}

.table-of-contents .title {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

.table-of-contents .title h2 {
    font-size: 18px;
    font-weight: 600;
    margin: 0 !important;
}

.table-of-contents .ul-main {
    margin: 0;
    padding: 0;
    padding-left: 5px;
}

.table-of-contents ul li {
    margin-bottom: 5px;
    list-style-position: inside !important;
}

.table-of-contents ul li a {
    font-size: 15px;
    line-height: 26px;
}

.container-toc .ul-toc-content-main {
    padding: 0;
    margin: 0;
}

.container-toc .ul-toc-content .li-toc-content {
    display: block;
    list-style: none !important;
}

.container-toc .ul-toc-content .li-toc-content .title-post-item {
    display: list-item;
}

.container-toc .ul-toc-content-sub .li-toc-content .title-post-item {
    font-size: 18px;
    line-height: 26px;
    margin-bottom: 5px;
}

.ul-toc-content-main li-toc-content .title-post-item::marker {
    font-size: 22px;
    line-height: 30px;
    font-weight: 600;
}

.recipe-sum-table {
    display: block;
    margin-top: 4px;
}

.recipe-sum-table .row {
    margin-left: -2px;
    margin-right: -2px;
}

.recipe-sum-table .row .col-item {
    padding-left: 2px;
    padding-right: 2px;
    margin-bottom: 4px;
}

.recipe-sum-table .item {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 86px;
    background-color: #f9f9f9;
    border: 1px solid #f5f5f5;
    overflow: hidden;
}

.recipe-sum-table .item .icon {
    margin-right: 10px;
}

.recipe-sum-table .item .icon-text {
    text-align: left;
}

.recipe-sum-table .item .icon-text strong {
    display: block;
}

.recipe-sum-table .item .icon-text span {
    color: #555;
}

.recipe-items-list {
    display: block;
    margin-bottom: 30px;
}

.recipe-items-list ul {
    display: block;
    padding: 0;
    margin: 0;
}

.recipe-items-list ul li {
    list-style: none;
    margin-bottom: 5px;
}

.recipe-items-list ul li span {
    font-size: 16px;
    line-height: 28px;
}

.recipe-sub-title {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 15px;
}

.recipe-directions {
    display: block;
}

.recipe-directions .direction {
    display: block;
    width: 100%;
    margin-bottom: 30px;
}

.recipe-directions .direction .title {
    font-size: 17px;
    line-height: 25px;
    font-weight: 600;
    margin: 0;
    margin-bottom: 5px;
}

.recipe-directions .direction img {
    display: inline-block;
}

/*amplitude player*/
#time-container input[type="range"].amplitude-song-slider {
    outline: none !important;
}

#volume-container input[type="range"] {
    outline: none !important;
}

.song-now-playing-icon-container .now-playing {
    margin-top: 10px !important;
}

.amplitude-inner-right .download-link-cnt {
    line-height: 40px !important;
    height: 40px !important;
}

div#amplitude-left div#player-left-bottom {
    display: block;
    width: 100%;
    position: relative;
    float: left;
}

div#amplitude-right {
    display: block;
    width: 100%;
    position: relative;
    float: left;
    max-height: 280px !important;
    overflow-y: visible !important;
}

#amplitude-right .list-left {
    min-height: 45px !important;
}

div#amplitude-right div.song {
    min-height: 45px !important;
}

div#amplitude-left div#player-left-bottom div#meta-container span.song-name,
div#amplitude-right div.song div.song-meta-data span.song-title {
    word-break: break-word !important;
}

div#amplitude-right div.song div.song-meta-data {
    margin-top: 6px !important;
}

#amplitude-right .list-row {
    border-bottom: 1px solid #eeeeee !important;
}

#amplitude-right .list-row:last-child {
    border-bottom: 0 !important;
}

.emoji-reactions-container {
    display: block;
    position: relative;
    float: left;
    width: 100%;
    margin-bottom: 60px
}

.emoji-reactions-container .title-reactions {
    display: block;
    width: 100%;
    margin-bottom: 30px;
    text-transform: uppercase;
    font-size: 16px;
    font-weight: 600;
}

.emoji-reactions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
    max-width: 100%;
}

.emoji-reactions .reaction {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    width: 92px;
    padding: 3px;
    position: relative;
    background-color: transparent;
    border-radius: 8px;
    text-align: center;
    transition: transform 0.2s, box-shadow 0.2s;
    flex-shrink: 0;
    cursor: pointer;
}

.emoji-reactions .emoji {
    width: 64px;
    height: 64px;
}

.emoji-reactions .text {
    color: #222;
    font-size: 13px;
    font-weight: 400;
    display: block;
    word-break: break-word;
    border-radius: 2px;
    padding: 4px 12px;
}

.emoji-reactions .selected .text {
    background-color: var(--vr-theme-color) !important;
    color: #fff;
}

.emoji-reactions .reaction .vote {
    border-radius: 15px;
    position: absolute;
    top: 8px;
    right: 16px;
    display: inline-block;
    min-width: 24px;
    height: 16px;
    line-height: 16px;
    opacity: 0.8;
    font-weight: 400;
    color: #fff;
    font-size: 10px;
    background-color: var(--vr-block-color) !important;
}

.emoji-reactions .reaction.disabled {
    cursor: default;
}

.emoji-reactions .reaction.disabled:hover {
    cursor: default;
}

.noselect {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.about-author {
    border-top: 1px solid #f0f0f0;
    padding-top: 30px;
    padding-bottom: 30px;
}

.about-author .img-author {
    width: 110px;
    height: 110px;
    border-radius: 2px;
    border: 1px solid #eee;

}

.about-author .username {
    display: block;
    margin-bottom: 5px;
}

.about-author .social {
    margin-top: 15px;
}

.section-comments {
    display: block;
}

.section-comments .nav-tabs {
    margin-bottom: 30px;
    position: relative;
    border-bottom: 2px solid #eee;
}

.section-comments .nav-tabs button {
    border: 0 !important;
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    color: #222 !important;
    border-bottom: 2px solid #eee;
    padding: 10px 30px;
    position: relative;
    bottom: -1px;
    background-color: transparent !important;
}

.section-comments .form-group {
    margin-bottom: 15px;
}

.section-comments .form-group label {
    font-weight: 600;
    margin-bottom: 5px;
}

.section-comments textarea {
    height: 100px;
    max-height: 100px;
    resize: none;
    padding: 15px 20px;
}

.section-comments .comment-list {
    padding: 0;
    margin: 0;
    display: block;
    width: 100%
}

.section-comments .comment-list li {
    width: 100%;
    list-style: none;
    display: table;
    margin-bottom: 20px
}

.section-comments .comment-list li .left {
    display: table-cell;
    width: 55px;
    height: auto;
    vertical-align: top;
    text-align: left;
    padding-right: 10px;
}

.section-comments .comment-list li .left a {
    display: block;
}

.section-comments .comment-list li .left img {
    width: 54px;
    height: 54px;
    border-radius: 2px;
    border: 1px solid #eee;
}

.section-comments .comment-list li .right {
    display: table-cell;
    vertical-align: top
}

.section-comments .comment-list li .right .row-custom {
    margin-bottom: 6px
}

.section-comments .comment-list li .right .username {
    font-weight: 600 !important;
    color: #222 !important;
    display: inline-block;
    font-size: 14px;
}

.section-comments .comment-list li .right a {
    font-size: 12px
}

.section-comments .comment-meta,
.section-comments .comment-meta span,
.section-comments .comment-meta a {
    font-size: 12px;
    color: #777;
}

.section-comments .comment-meta .item {
    display: flex;
    align-items: center;
    margin-right: 15px;
}

.section-comments .comment-meta .item a {
    display: flex;
    align-items: center;
}

.section-comments .comment-meta .btn-reply {
    margin-left: 15px;
}

.section-comments .comment-meta svg {
    margin-right: 5px;
}

.section-comments .comment-meta .btn-reply:hover {
    color: #444
}

.section-comments .comment-meta .btn-comment-like {
    margin-left: 15px;
    position: relative;
}

.section-comments .comment-total {
    margin-top: 25px;
    margin-bottom: 30px;
}

.section-comments .label-comment {
    font-size: 15px;
    font-weight: 600;
    display: block;
    margin-right: 10px;
    margin-bottom: 0;
}

.section-comments .comment-total span {
    display: block;
    font-size: 15px;
}

.row-sub-comment {
    margin: 0 !important;
    padding: 0 !important
}

.sub-comment-form {
    padding: 15px;
    border-radius: .1875rem
}

.sub-comment-form .form-group {
    margin-bottom: 7px
}

.sub-comment-form-registered .form-group {
    margin-bottom: 7px
}

.sub-comment-form-registered {
    margin-top: 15px
}

.row-sub-comment .form-textarea {
    height: 80px;
    min-height: 80px;
}

.row-sub-comment .comment-list {
    margin-top: 20px !important
}

.row-sub-comment .comment-list li {
    margin-bottom: 15px !important
}

.btn-delete-comment {
    color: #d43f3a !important;
    margin-left: 15px
}

.message-comment-result {
    margin: 10px 0 !important;
    min-height: 22px;
}

.comment-success-message {
    position: relative;
    color: #00a65a;
    margin: 0 !important;
}

.btn-load-more {
    padding: 10px 30px;
}

.btn-load-more .spinner-load-more {
    display: none;
}

/*--------------------------------------------------------------
# Section Videos
--------------------------------------------------------------*/
.section-videos {
    background-color: #0d0d0d;
    padding-top: 60px;
    padding-bottom: 60px;
}

.section-videos .video-large,
.section-videos .video-small {
    position: relative;
}

.section-videos .section-title {
    border-bottom: 2px solid transparent !important;
}

.section-videos .section-title::after {
    background: #fff;
}

.section-videos .title {
    font-size: 22px;
    line-height: 26px;
    font-weight: 600;
    margin-top: 0;
    color: #fff;
    position: relative;
}

.section-videos .image {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    display: flex;
    background-color: #1B1B1B;
    border-radius: 1px;
}

.section-videos .image a {
    display: block;
    width: 100%;
}

.section-videos .img-container {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
}

.section-videos .image::after {
    background: rgba(0, 0, 0, 0) linear-gradient(to bottom, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0.36) 50%, rgba(0, 0, 0, 0.60) 100%);
    bottom: 0;
    content: "";
    height: 50%;
    opacity: .9;
    position: absolute;
    transition: all .3s ease-in 0s;
    width: 100%;
    will-change: opacity;
    display: block;
    pointer-events: none !important;
}

.section-videos .image .img-bg {
    height: 100% !important;
}

.section-videos .img-container img {
    width: auto !important;
    height: 100% !important;
    max-width: none !important;
}


.section-videos .caption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 30px;
    pointer-events: none;
}

.section-videos .caption a {
    pointer-events: auto !important;
}

.section-videos .caption .title {
    color: #fff;
    font-size: 20px;
    font-weight: 600;
    line-height: 26px;
    margin-top: 10px;
    margin-bottom: 10px;
    position: relative;
}

.section-videos .caption .title a {
    color: #fff;
}

.section-videos .caption .title a:hover {
    color: #fff !important;
}

.section-videos .media-icon {
    right: 15px;
    top: 15px;
    bottom: auto;
    left: auto;
}

.section-videos .post-meta span,
.section-videos .post-meta a {
    color: #bebebe;
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.sidebar-widget {
    display: block;
    margin-bottom: 35px;
}

.sidebar-widget .widget-head {
    margin-bottom: 30px;
    position: relative;
    border-bottom: 2px solid #eee;
}

.sidebar-widget .widget-head:after {
    content: '';
    width: 60px;
    height: 2px;
    display: block;
    position: relative;
    bottom: -2px;
}

.sidebar-widget .widget-head-tabs {
    border-bottom: 0 !important;
}

.sidebar-widget .widget-head-tabs:after {
    display: none;
}

.sidebar-widget .widget-head-tabs .nav-tabs {
    border: 0 !important;
}

.sidebar-widget .widget-head-tabs .nav-tabs li {
    width: 50%;
}

.sidebar-widget .widget-head-tabs .nav-tabs li .btn {
    display: block;
    width: 100%;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    line-height: 28px;
}

.sidebar-widget .widget-head-tabs .nav-tabs .active {
    color: #fff !important;
}

.sidebar-widget .widget-head .title {
    font-size: 20px;
    line-height: 26px;
    font-weight: 600;
    margin-top: 0;
    margin-bottom: 10px;
}

.sidebar-widget .tag-list {
    padding: 0;
    margin: 0;
    display: block;
    padding-bottom: 15px
}

.sidebar-widget .tag-list li {
    list-style: none;
    margin-right: 5px;
    margin-bottom: 7px;
    display: inline-block;

}

.sidebar-widget .tag-list li a {
    background-color: #f7f7f7;
    border: 1px solid #f3f3f3;
    color: #888;
    display: inline-block;
    font-size: 13px;
    padding: 7px 12px;
    text-decoration: none;
    border-radius: 2px;
}

.sidebar-widget .tag-list li a:hover {
    color: #fff !important;
}

.sidebar-widget .poll {
    display: block;
    width: 100%;
    position: relative;
    padding-bottom: 30px;
    margin-top: 30px;
    border-bottom: 1px solid #eee;
    overflow: hidden
}

.sidebar-widget .poll:first-child {
    margin-top: 0 !important
}

.sidebar-widget .poll:last-child {
    border: 0
}

.sidebar-widget .poll .title {
    font-size: 15px;
    font-weight: 600;
    line-height: 22px;
    text-transform: none;
    margin-top: 0;
    margin-bottom: 15px;
}

.sidebar-widget .poll .option {
    margin-bottom: 15px
}

.sidebar-widget .poll .button-cnt {
    display: flex;
    margin-top: 20px;
    align-items: center;
}

.sidebar-widget .poll .button-cnt button {
    margin-right: 15px
}

.sidebar-widget .poll .result {
    display: none;
}

.sidebar-widget .poll .result .progress {
    border-radius: 1px;
    background-color: transparent;
    box-shadow: none !important;
    background-color: #f3f3f3;
    color: #222;
    margin-bottom: 15px;
    height: 16px
}

.sidebar-widget .poll .result .progress .progress-bar {
    font-size: 11px;
    font-weight: 600;
    box-shadow: none !important
}

.sidebar-widget .poll .result .progress .progress-bar-0 {
    color: #444
}

.sidebar-widget .poll .result .progress .progress-bar-0 span {
    margin-left: 5px
}

.sidebar-widget .poll-error-message {
    color: #E95350;
    display: none;
}

.sidebar-widget .a-view-results {
    font-weight: 600;
    cursor: pointer
}

.sidebar-widget .total-vote {
    text-align: center;
    font-weight: bold;
    margin-top: 19px;
    margin-bottom: 5px
}

.sidebar-widget .poll .result .progress span {
    position: absolute;
    right: 0;
    font-weight: 600;
    font-size: 12px;
    line-height: 16px
}

.sidebar-widget .form-check {
    margin-bottom: 10px;
}

.widget-follow {
    display: flex;
}

.widget-follow .item {
    /* Placeholder for future styles */
    display: block;
}

.widget-follow .item a {
    display: flex;
    align-items: center;
    color: #fff !important;
    padding: 6px 15px;
    margin-bottom: 10px;
    border-radius: 0.125rem;
}

.widget-follow .item a i {
    display: block;
    font-size: 22px;
    margin-right: 10px;
}

.widget-follow .item a:hover {
    background-image: linear-gradient(rgba(0, 0, 0, 0.1) 0 0);
}

.list-followers {
    max-height: 300px;
    overflow-x: hidden;
    overflow-y: auto;
}

.color-facebook {
    background-color: #3b5998;
}

.color-twitter {
    background-color: #14171A;
}

.color-pinterest {
    background-color: #cb2027;
}

.color-instagram {
    background-color: #125688;
}

.color-linkedin {
    background-color: #007bb5;
}

.color-vk {
    background-color: #4D76A1;
}

.color-rss {
    background-color: #F8991D;
}

.color-telegram {
    background-color: #0088cc;
}

.color-youtube {
    background-color: #ff0000;
}

.color-whatsapp {
    background-color: #3ebe2b;
}

.color-discord {
    background-color: #5865F2;
}

.color-tiktok {
    background-color: #fe2c55;
}

.color-twitch {
    background-color: #9147ff;
}

/*--------------------------------------------------------------
# Post Items
--------------------------------------------------------------*/
.post-item {
    display: block;
    width: 100%;
    position: relative;
    margin-bottom: 45px;
}

.post-item .badge-category {
    position: absolute;
    left: 15px;
    top: 15px;
}

.post-item .image {
    width: 100%;
    height: auto;
    display: block;
    position: relative;
    background-color: #fafafa;
    --bs-aspect-ratio: 61.9%;
    overflow: hidden;
}

.post-item-no-image .badge-category {
    position: relative;
    left: 0;
    margin-bottom: 15px;
}

.post-item .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.post-item .title {
    font-size: 20px;
    line-height: 26px;
    text-transform: none;
    font-weight: 600;
    margin-top: 10px;
}

.post-item .title a {
    display: block;
}

.post-item .description {
    color: #7a7a7a;
    font-size: 14px;
    line-height: 22px;
}

.post-item .post-meta {
    margin-bottom: 10px;
}

.post-item-mid .title {
    font-size: 16px;
    line-height: 24px;
}

.post-item-small {
    margin-bottom: 25px;
    /* table-layout fixed: la tabella rispetta width:100% e il testo va a capo invece di allargare la colonna (overflow a 360px) */
    table-layout: fixed;
}

.post-item-small .left {
    display: table-cell;
    width: 130px;
    position: relative;
}

.post-item-small .left .image {
    display: block;
    position: relative;
    width: 130px;
    height: 91px;
    background-color: #fafafa;
}

.post-item-small .left .image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.post-item-small .right {
    padding-left: 15px;
    position: relative;
}

.post-item-small .title {
    margin-top: 0;
    margin-bottom: 4px;
    line-height: 20px;
    font-size: 14px;
    font-weight: 600;
}

.post-item-small .title a {
    display: block;
}

.post-item-small .media-icon {
    width: 32px;
    height: 32px;
    line-height: 32px;
}

.post-item-small .media-icon svg {
    width: 32px;
    height: 32px;
}

.small-post-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 0;
}

.small-post-meta a {
    list-style: none;
    margin-right: 8px;
    color: #7a7a7a;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

.small-post-meta span {
    list-style: none;
    margin-right: 8px;
    color: #7a7a7a;
    font-size: 12px;
    white-space: nowrap;
}

.section-block-2 .post-item {
    margin-bottom: 30px;
}

/*--------------------------------------------------------------
# Category Blocks
--------------------------------------------------------------*/
.nav-category-block {
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

.nav-category-block .nav-item .nav-link {
    font-weight: 600;
    font-size: 13px;
    color: #222;
    background-color: transparent !important;
    border: 0 !important;
    padding: 2px 5px;
}

.section .section-title .view-all {
    position: relative;
    font-weight: 600;
    font-size: 13px;
}

/*Vertical Block*/
.section-cat-block .col-post-item-vr {
    margin-bottom: 30px;
}

.section-cat-block .post-item-vr {
    position: relative;
    width: 100%;
    height: 100%;
    margin-bottom: 0 !important;
}

.section-cat-block .post-item-vr .image {
    height: 340px;
}

.section-cat-block .post-item-vr .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.section-cat-block .post-item-vr .caption {
    position: absolute;
    bottom: 0;
    padding: 15px;
    display: block;
    width: 100%;
}

.section-cat-block .post-item-vr .caption .title {
    font-size: 18px;
    line-height: 25px;
    margin-bottom: 5px;
}

.section-cat-block .post-item-vr .caption .title a {
    color: #fff !important;
}

.section-cat-block .post-item-vr .caption .post-meta a,
.section-cat-block .post-item-vr .caption .post-meta span {
    color: #bebebe !important;
}

.section-cat-block .post-item-vr .image::after {
    background: rgba(0, 0, 0, 0) linear-gradient(to bottom, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.64) 100%);
    bottom: 0;
    content: "";
    height: 50%;
    opacity: .9;
    position: absolute;
    transition: all .3s ease-in 0s;
    width: 100%;
    will-change: opacity;
    display: block;
    pointer-events: none;
}

.section-category .dropdown .dropdown-menu {
    left: -125px !important;
}

.category-block-links-mobile {
    display: none;
}

/*Slider Block*/
.section-cat-slider .section-content {
    width: 100%;
    height: 364px;
    overflow: hidden;
}

.section-cat-slider .slider-row {
    margin-left: -12px;
    margin-right: -12px;
}

.section-cat-slider .slider-row .slider-col {
    padding-left: 12px;
    padding-right: 12px;
}

.section-cat-slider .post-item .title {
    font-size: 16px;
    line-height: 24px;
}

.section-cat-slider .img-slider-ratio {
    --bs-aspect-ratio: 76.67% !important;
}

.section-cat-slider .img-slider-ratio img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/*--------------------------------------------------------------
# Section Page
--------------------------------------------------------------*/

.section-page {
    min-height: 600px;
    margin-bottom: 100px;
    padding-top:40px;
}

.section-page .page-title {
    font-size: 26px;
    font-weight: 600;
    margin-bottom: 30px;
}

.section-page .font-text {
    font-size: 15px;
    line-height: 26px;
}

.section-page .page-text iframe,
.section-page .page-text img,
.section-page .page-text object {
    max-width: 100% !important;
}

.edit-profile-cover {
    display: block;
    width: 100%;
    height: 240px;
    position: relative;
    margin-bottom: 45px;
    background-size: cover;
    background-position: center center;
    background-color: #fbfbfb;
    border: 1px solid #ebebeb;
}

.edit-profile-cover .edit-avatar {
    position: absolute;
    bottom: -40px;
    left: 15px;
    border-radius: 50%;
}

.edit-profile-cover .edit-avatar img {
    border-radius: 50%;
    width: 180px;
    height: 180px;
    object-fit: cover;
}

.edit-profile-cover .btn-edit-cover {
    border-radius: 0;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 10px;
    right: 10px;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 2px;
}

.edit-profile-cover .edit-avatar .btn {
    border-radius: 50%;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    bottom: 0;
    right: 15px;
    padding: 0 !important;
    margin: 0 !important;
}

.profile-list-group .list-group .list-group-item {
    border: 0 !important;
    border-radius: 0.125rem;
    padding: 0;
    margin-bottom: 2px;
    margin-top: 0 !important;
}

.profile-list-group .list-group .list-group-item a {
    display: block;
    width: 100%;
    padding: 12px 15px;
    color: #222 !important;
    transition: none !important;
}

.profile-list-group .list-group .active {
    background-color: #f2f2f2;
}

.profile-list-group .list-group .list-group-item:hover {
    background-color: #f2f2f2;
}


.section-page .form-contact {
    border-radius: 2px;
}

.section-page .title-send-message {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 15px;
}

.section-page .form-contact textarea {
    min-height: 180px;
    resize: vertical;
}

.section-page .contact-icon {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    border-radius: 2px;
    margin-right: 15px;
}

.contact-map-container {
    display: block;
    width: 100%;
    margin-top: 30px;
    padding: 0 !important;
}

.contact-map-container iframe {
    display: block;
    width: 100%;
    height: 460px
}

/*--------------------------------------------------------------
# Gallery
--------------------------------------------------------------*/
.page-gallery .filters {
    width: auto;
    position: relative;
    display: block;
    margin-bottom: 45px;
    text-align: center
}

.page-gallery .filters input {
    display: none
}

.page-gallery .filters .btn {
    border: 0;
    color: #555 !important;
    box-shadow: none;
    font-size: 14px;
    line-height: 16px;
    margin: 5px 10px;
    padding: 6px 15px;
    -moz-transition: all .45s ease-in-out 0s;
    -webkit-transition: all .45s ease-in-out 0s;
    transition: all .45s ease-in-out 0s;
    background-color: #fff;
    box-shadow: none !important;
    position: relative;
    text-align: center;
    font-weight: 600;
    background-color: transparent !important
}

.page-gallery .filters .active::after {
    bottom: -3px;
    content: "";
    height: 3px;
    left: 0;
    position: absolute;
    width: 100%;
}

.page-gallery .filters .btn:last-child {
    margin-right: 0
}

.page-gallery .filters .btn:focus:after,
.filters .btn:hover:after,
.filters .btn:active:after {
    bottom: -2px;
    content: "";
    height: 2px;
    left: 0;
    position: absolute;
    width: 100%;
    -moz-transition: all .45s ease-in-out 0s;
    -webkit-transition: all .45s ease-in-out 0s;
    transition: all .45s ease-in-out 0s
}

.page-gallery .gallery .gallery-item {
    position: relative;
    cursor: pointer;
    padding-left: 7.5px !important;
    padding-right: 7.5px !important;
    margin-bottom: 15px
}

.page-gallery .gallery .gallery-item .item-inner {
    position: relative;
    display: block;
    overflow: hidden
}

.page-gallery .gallery img {
    width: 100%;
    transition: all .5s;
}

.page-gallery .gallery .lightbox img {
    width: 100%;
    border-radius: 0;
    position: relative
}

.page-gallery .gallery .lightbox:after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    background-color: rgba(0, 0, 0, 0.6);
    content: '';
    transition: .4s
}

.page-gallery .gallery .lightbox:hover:after,
.gallery .lightbox:hover:before {
    opacity: .5
}

.page-gallery .gallery .gallery-item:hover img {
    transform: scale(1.1);
}

.page-gallery .row-masonry {
    margin-left: -7.5px;
    margin-right: -7.5px;
    min-height: 700px;
}

.page-gallery .gallery .gallery-item .caption {
    width: 100%;
    position: absolute;
    padding: 0;
    bottom: 0;
    left: 0;
    color: #fff;
    z-index: 10;
    font-size: 16px;
    text-align: center;
    padding: 8px
}

.page-gallery .gallery .gallery-item .gallery-image-cover a::after {
    background: rgba(0, 0, 0, 0) linear-gradient(to bottom, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0.36) 50%, rgba(0, 0, 0, 0.80) 100%);
    bottom: 0;
    content: "";
    height: 40%;
    opacity: .9;
    position: absolute;
    transition: all .3s ease-in 0s;
    width: 100%;
    will-change: opacity;
    display: block
}

.page-gallery .gallery .gallery-item .caption .album-name {
    display: inline-block;
    width: auto;
    height: auto;
    padding: 5px 10px;
    border-radius: 3px
}

.page-gallery .img-gallery-empty {
    width: 100%;
    height: 300px;
    background-color: #fafafa
}

.page-gallery .gallery-category-title {
    font-size: 22px;
    line-height: 22px;
    font-weight: 600;
    margin-bottom: 30px;
    display: inline-block;
    width: auto;
    margin: 0 15px 30px 15px;
    padding: 10px 20px
}

.page-gallery .gallery-links {
    font-size: 16px
}

.page-gallery .gallery-links .gallery-next-link {
    margin-left: 60px
}

.glightbox-clean .gslide-description {
    background: transparent !important;
}

.glightbox-clean .gdesc-inner {
    padding: 10px 0 !important;
}

.glightbox-clean .gslide-title {
    text-align: center !important;
    color: #fff !important;
}

/*--------------------------------------------------------------
# Profile
--------------------------------------------------------------*/
.section-profile {
    padding-top: 0 !important;
}

.section-profile .widget-head {
    margin-bottom: 20px;
}

.section-profile .widget-head .title {
    font-size: 18px;
    line-height: 24px;
}

.container-profile {
    padding-top: 60px !important;
}

.profile-header {
    display: block;
    width: 100%;
    height: 360px;
    padding: 0;
    position: relative;
}

.profile-header .profile-cover-image {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    background-size: cover;
    background-position: center center;
}

.profile-header .profile-info-container {
    display: block;
    width: 100%;
    position: absolute;
    bottom: 0;
}

.profile-header .profile-info {
    padding: 0 !important;
}

.profile-header .profile-info .cell-left {
    width: 160px;
    height: 160px;
}

.profile-header .profile-info .profile-image {
    position: relative;
    padding: 3px;
    background-color: #fff;
    border-radius: 50%;
    overflow: hidden;
    bottom: -40px;
    border: 1px solid #eee;
}

.profile-header .profile-info .profile-image img {
    border-radius: 50%;
}

.profile-header .profile-info .profile-username {
    padding-left: 25px;
    padding-top: 40px;
    color: #fff;
    position: relative;
}

.profile-header .profile-info .profile-username .username {
    font-size: 28px;
    font-weight: bold;
    margin-top: 25px;
}

.profile-header .profile-last-seen {
    display: flex;
    align-items: center;
    font-size: 13px;
    color: #d5d5d5;
}

.profile-header .btn-follow {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    right: 0;
    bottom: 34px;
}

.profile-header .btn-follow svg {
    margin-right: 8px;
}

.profile-header .profile-last-seen svg {
    margin-right: 8px;
    color: #888;
}

.profile-header .profile-last-seen.online svg {
    color: #85cc84;
}

.profile-details {
    margin-bottom: 60px;
}

.profile-details .profile-email {
    padding-left: 15px;
    margin-left: 15px;
    border-left: 1px solid #E1E3DF;
}

.profile-social-links {
    display: block;
    padding: 0;
    margin: 0;
}

.profile-social-links li {
    display: inline-block;
    list-style: none;
    margin-right: 3px;
    margin-bottom: 5px;
}

.profile-social-links li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    color: #555;
    font-size: 16px;
    background-color: #f2f4f6;
    border-radius: 100%;
}

.profile-social-links li a:hover {
    color: #fff !important;
}


.section-profile .img-follower {
    width: 46px;
    height: 46px;
    float: left;
    margin-right: 5px;
    margin-bottom: 5px;
    border: 1px solid #ebebeb;
}

/*--------------------------------------------------------------
# Auth
--------------------------------------------------------------*/

.modal-login {
    max-width: 350px;
    margin-right: auto;
    margin-left: auto;
}

.modal-login .modal-content {
    border-radius: 0.188rem;
}

.modal-login .modal-body {
    padding-bottom: 30px;
}

.modal-header {
    text-align: center;
    border: 0;
    border-radius: 0.188rem 0.188rem 0 0;
    display: block;
    width: 100%;
    padding: 0.938rem 0;
}

.modal-login .modal-header {
    padding-bottom: 0;
}

.modal-header .modal-title {
    font-size: 24px;
    position: relative;
    font-weight: 600;
    margin-bottom: 10px;
}

.modal-header .btn-close {
    outline: none !important;
    box-shadow: none !important;
    border: 0 !important;
    background-color: transparent !important;
    position: absolute;
    z-index: 10;
    right: 0.938rem;
    font-size: 0.875rem;
    top: 0.938rem;
}

.modal-body {
    padding: 1rem 2rem;
}

.btn-social {
    width: 100%;
    display: block;
    position: relative;
    outline: 0 !important;
    box-shadow: none !important;
    padding: 10px 12px;
    padding-left: 54px;
    border-radius: 2px;
    text-align: left;
    margin-bottom: 5px;
    color: #fff !important;
    font-size: 0.875rem;
    font-weight: 600 !important;
    line-height: 24px;
}

.btn-social svg {
    position: absolute;
    left: 15px;
}

.btn-social-facebook {
    background-color: #1877f2;
}

.btn-social-facebook:hover {
    background-color: #0665e0;
}

.btn-social-google {
    background-color: #eeeeee;
    border-color: #ebebeb !important;
    color: #757575 !important;
}

.btn-social-google:hover,
.btn-social-google:active,
.btn-social-google:focus {
    background-color: #e1e1e1;
    color: #757575 !important;
}

.btn-social-vk {
    background-color: #5c81b5
}

.btn-social-vk:hover {
    background-color: #39679b
}

.section-account {
    width: 450px;
    height: auto;
    max-width: 100%;
    background-color: transparent;
    padding: 30px;
    margin-top: 30px;
    margin-bottom: 60px;
}

.section-account .title {
    text-align: center;
    font-size: 26px;
    line-height: 28px;
    font-weight: 600;
}

.input-account {
    padding: 10px 20px;
    line-height: 24px;
}

.btn-account {
    width: 100%;
    padding: 10px 20px;
    line-height: 24px;
}

/*modal newsletter*/
.modal-newsletter .modal-content {
    display: flex;
    max-width: 100%;
    width: 100%;
    padding: 0 !important;
    border-radius: 2px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.modal-newsletter .modal-body {
    display: flex;
    max-width: 100%;
    width: 100%;
    padding: 0 !important;
    border-radius: 2px !important;
}

.modal-newsletter .image {
    flex: 1;
    background-size: cover;
    background-position: center;
    height: 330px;
}

.modal-newsletter .content {
    flex: 1;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.modal-newsletter .title {
    text-align: center;
    text-transform: uppercase;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 1px;
    margin: 0 0 20px;
}

.modal-newsletter .content p {
    line-height: 26px;
    text-align: center;
    margin-bottom: 20px;
    color: #6c757d;
    min-height: 70px;
}

.modal-newsletter .content form {
    display: flex;
    flex-direction: column;
}

.modal-newsletter .content input[type="email"] {
    flex: 1;
    padding: 0.68rem 1.4rem;
    margin-bottom: 1rem;
}

.modal-newsletter .content input[type="email"]:focus {
    outline: none;
}

.modal-newsletter .content .btn {
    padding: 0.76rem 1.4rem;
    background-color: var(--vr-block-color) !important;
}

.modal-newsletter .btn-close {
    outline: none !important;
    box-shadow: none !important;
    border: 0 !important;
    background-color: transparent !important;
    position: absolute;
    z-index: 10;
    right: 0.938rem;
    font-size: 0.675rem;
    top: 0.938rem;
    opacity: 0.4;
}

.next-match .section-title {
    font-size: 1.6rem;
    color: var(--white);
    margin-bottom: 30px;
    padding-bottom: 0;
    position: relative;
    display: inline-block;
    font-weight: 700;
    letter-spacing: 2px;
}

.next-match .section-title::before {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: rgba(255, 255, 255, 0.3);
    transform: none;
}

.next-match .section-title::after {
    content: none !important;
    display: none !important;
}

.match-card {
    backdrop-filter: blur(10px);
    max-width: 1000px;
    position: relative;
    box-shadow: rgba(0, 0, 0, 0.15) 0px 10px 30px;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0.05) 100%);
    border-radius: var(--border-radius-lg);
    padding: 30px;
    margin: 0px auto;
    overflow: hidden;
    border-width: 1px;
    border-style: solid;
    border-color: rgba(255, 255, 255, 0.1);
    border-image: initial;
}

.next-match {
    padding: 6rem 0;
    background:
        linear-gradient(to right, rgba(0, 42, 102, 0.85), rgba(0, 42, 102, 0.85)),
        url('https://marsalacalcio1912.it/uploads/template/stadio.webp') no-repeat center center;
    background-size: cover;
    background-blend-mode: darken;
    position: relative;
    overflow: hidden;
}

.next-match::before {
    content: "";
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    z-index: -1;
   background: linear-gradient(to right, rgb(0 73 171) 0%, rgb(170 185 207 / 85%) 100%);

}




.league {
    display: inline-block;
    font-size: 16px;
    font-weight: 600;
    color: rgba(255, 255, 255, 1);
    box-shadow: none;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-radius: 0px;
    background: none;
    padding: 0px;
    font-weight: bold;
}

.competition-logo {
    background-color: var(--white);
    width: 4rem;
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 15px;
    border-radius: 50%;
    overflow: hidden;
    border: solid 2px rgb(255, 255, 255);
}

.match-date-location {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.match-date {
    font-size: 15px;
    color: rgba(255, 255, 255, 1);
    margin-bottom: 6px;
    font-weight: bold;
}

.match-location {
    font-size: 13px;
    color: rgba(255, 255, 255, 1);
    margin-bottom: 6px;
}

.competition-badge {
    display: flex;
    align-items: center;
    gap: 10px;
}

.team {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.team-logo {
    width: 110px;
    height: 110px;
    position: relative;
    background-color: white;
    box-shadow: rgba(0, 0, 0, 0.2) 0px 8px 25px;
    margin: 0px auto 1.5rem;
    transition: transform 0.3s;
    border-radius: 50%;
    padding: 1.5rem;
}

.team:hover img {
    transform: scale(1.1);
}

.team img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background-color: white;
    padding: 0;
    transition: transform 0.3s;
}

.team-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}

.team span {
    font-size: 1.8rem;
    font-weight: 700;
}

.team-name {
    display: block;
    font-size: 20px;
    font-weight: 700;
    color: white;
    margin-top: 1rem;
    transition: color 0.3s;
}

.team span {
    font-size: 18px;
    font-weight: 700;
}



.match-time {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #000840;
    color: white;
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    font-weight: 700;
    box-shadow: rgba(0, 127, 255, 0.4) 0px 5px 20px;
    z-index: 2;
    border-radius: 50%;
}

.match-time .time {
    font-size: 24px;
    font-weight: 700;

}

.match-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0;
    gap: 2rem;
}



.ticket-btn,
.ticket-cta {
    background-color: #000840;
    color: white;
    padding: 16px 20px;
    border-radius: var(--border-radius-sm);
    font-weight: 600;
    text-transform: uppercase;
}



.ticketing,
.merchandising,
.marsala-tv,
.gallery,
.news,
.partners {
    padding: var(--section-padding);
    background: linear-gradient(135deg, var(--white) 0%, var(--light-gray) 100%);
    position: relative;
    overflow: hidden;
    padding: 6rem 0;
    overflow: hidden;
}



.ticket-content .btn {
    position: relative;
    overflow: hidden;
    z-index: 1;
    transition: color 0.3s ease, transform 0.3s ease;
}

.ticketing::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: repeating-linear-gradient(45deg, #004aad 0, #004aad 14px, #013b88 14px, #013b88 28px);
    background-size: cover;
    opacity: 0.03;
    z-index: 0;
}

.ticket-options,
.product-cards,
.players-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    perspective: 1000px;
}



.ticket-card,
.players-card {
    background: var(--white);
    border-radius: 15px;
    padding: 30px;
    box-shadow: var(--shadow-sm);
    transition: all 0.3s ease;
    border: 1px solid var(--light-gray);
}

.ticket-card,
.players-card {
    background-color: var(--white);
    border-radius: var(--border-radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-md);
    transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.5s ease;
    position: relative;
    transform-style: preserve-3d;
    will-change: transform;
}

.ticket-image {
    height: 220px;
    overflow: hidden;
    position: relative;
}

.ticket-image::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0, 127, 255, 0.2), transparent);
    z-index: 1;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.ticket-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s ease;
}

.team-detail-box {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    max-width: 33%;
    flex-direction: column;
    margin: 0 auto;
}

.ticket-content,
.product-content,
.player-info {
    padding: 30px;
    text-align: center;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 10px;
    justify-content: center;
    align-items: center;
}

.ticket-content h3::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 3px;
    background-color: var(--primary-color);
    transition: width 0.3s ease;
}

.ticket-content h3 {
    font-size: 2.2rem;
    margin-bottom: 1.5rem;
    color: var(--primary-color);
    position: relative;
    display: inline-block;
}

.ticket-content p {
    color: var(--text-light);
    margin-bottom: 24px;

}

.ticket-content .btn {
    position: relative;
    overflow: hidden;
    z-index: 1;
    transition: color 0.3s ease, transform 0.3s ease;
}

.product-card h3 {
    font-family: var(--font-primary);
    font-size: 18px;
    text-transform: uppercase;
}



.product-price {
    font-size: 18px;
    font-weight: 700;
    color: var(--primary-color);
    margin-bottom: 15px;
}

.product-badge {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    background-color: var(--secondary-color);
    color: var(--white);
    font-size: 12px;
    font-weight: 700;
    padding: 0.5rem 1rem;
    border-radius: var(--border-radius-sm);
    z-index: 2;
}

.product-card {
    text-align: center;
    background-color: var(--white);
    border-radius: var(--border-radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    padding: 0 0 24px 0;
    position: relative;
    display: flex;
    flex-direction: column;

}

.product-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-md);
}

.product-card img {
    width: 100%;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    margin-bottom: 10px;
    transition: transform 0.5s ease;
}



/* Marsala TV Enhancement */
.marsala-tv {
    background: linear-gradient(to bottom, var(--white), var(--light-gray));
    position: relative;
}

.marsala-tv::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: radial-gradient(circle at 10% 20%, rgba(0, 127, 255, 0.03) 0%, transparent 20%),
        radial-gradient(circle at 90% 80%, rgba(0, 127, 255, 0.03) 0%, transparent 20%);
    z-index: 0;
}

.marsala-tv .container {
    position: relative;
    z-index: 1;
}

.marsala-tv .section-title::before,
.marsala-tv .section-title::after {
    content: '';
    position: absolute;
    bottom: -5px;
    width: 30px;
    height: 3px;
    background-color: var(--secondary-color);
}

.marsala-tv .section-title::before {
    left: calc(50% - 55px);
}

.marsala-tv .section-title::after {
    right: calc(50% - 55px);
}

.video-showcase {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    margin-bottom: 5rem;
}

.featured-video {
    grid-column: 1;
    grid-row: 1 / span 2;
    transform: translateY(0);
    transition: transform 0.4s ease;
    will-change: transform;
}

.featured-video:hover {
    transform: translateY(-8px);
}

.video-grid {
    grid-column: 2;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
}

.video-thumbnail {
    position: relative;
    border-radius: var(--border-radius-md);
    overflow: hidden;
    aspect-ratio: 16/9;
    margin-bottom: 1.5rem;
    box-shadow: var(--shadow-sm);
    transition: box-shadow 0.3s ease, transform 0.3s ease;
    will-change: transform;
}

.video-thumbnail::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.6));
    opacity: 0.7;
    transition: opacity 0.3s ease;
    z-index: 1;
}

.video-thumbnail:hover {
    box-shadow: var(--shadow-md);
    transform: scale(1.03);
}

.video-thumbnail:hover::after {
    opacity: 0.4;
}

.video-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.video-thumbnail:hover img {
    transform: scale(1.1);
}

.play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 6rem;
    height: 6rem;
    background-color: rgba(255, 255, 255, 0.2);
    color: var(--white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    z-index: 2;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);
    }

    70% {
        box-shadow: 0 0 0 15px rgba(255, 255, 255, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
    }
}

.video-thumbnail:hover .play-button {
    background-color: var(--primary-color);
    transform: translate(-50%, -50%) scale(1.1);
    animation: none;
    box-shadow: 0 0 20px rgba(0, 127, 255, 0.5);
}

.featured-video .play-button {
    width: 8rem;
    height: 8rem;
    font-size: 2.8rem;
}

.video-info h3 {
    font-size: 2.2rem;
    margin: 1.5rem 0 1rem;
    transition: color 0.3s ease;
}

.featured-video:hover .video-info h3 {
    color: var(--primary-color);
}

.video-info p {
    color: var(--text-light);
}

.video-item {
    transition: transform 0.3s ease;
}

.video-item:hover {
    transform: translateY(-5px);
}

.video-item h4 {
    font-size: 1.6rem;
    color: var(--text-color);
    transition: color 0.3s ease;
}

.video-item:hover h4 {
    color: var(--primary-color);
}

.youtube-cta {
    text-align: center;
    margin-top: 2rem;
    padding-top: 2rem;
    position: relative;
}

.youtube-cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 2px;
    background-color: var(--light-gray);
}

.btn-youtube {
    background-color: #FF0000;
    color: var(--white);
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    padding: 1.2rem 3rem;
    border-radius: var(--border-radius-sm);
    font-weight: 600;
    position: relative;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(255, 0, 0, 0.3);
    transition: all 0.3s ease;
}

.btn-youtube i {
    font-size: 2rem;
    transition: transform 0.3s ease;
}

.btn-youtube:hover {
    background-color: #cc0000;
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(255, 0, 0, 0.4);
}

.btn-youtube:hover i {
    transform: scale(1.2);
}

.shop-cta {
    text-align: center;
    margin-top: 30px;
    padding-top: 30px;
    position: relative;
}

.shop-cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 2px;
    background-color: var(--medium-gray);
}



/* Gallery Enhancement */
.gallery {

    background-color: var(--light-gray);
    position: relative;
    overflow: hidden;
}

.gallery::before {
    content: '';
    position: absolute;
    top: -100px;
    right: -100px;
    width: 300px;
    height: 300px;
    background-color: rgba(0, 127, 255, 0.05);
    border-radius: 50%;
    z-index: 0;
}

.gallery::after {
    content: '';
    position: absolute;
    bottom: -100px;
    left: -100px;
    width: 300px;
    height: 300px;
    background-color: rgba(0, 127, 255, 0.05);
    border-radius: 50%;
    z-index: 0;
}

.gallery .container {
    position: relative;
    z-index: 1;
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem;
    margin-bottom: 4rem;
}

.gallery-item {
    position: relative;
    border-radius: var(--border-radius-md);
    overflow: hidden;
    aspect-ratio: 16/9;
    box-shadow: var(--shadow-sm);
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s ease;
    will-change: transform;
}

.gallery-item:hover {
    transform: translateY(-10px) scale(1.02);
    box-shadow: var(--shadow-lg);
    z-index: 1;
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s ease;
}

.gallery-item:hover img {
    transform: scale(1.1);
}

.gallery-item::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, transparent 60%, rgba(0, 0, 0, 0.8));
    opacity: 0.8;
    transition: opacity 0.3s ease;
}

.gallery-item:hover::after {
    opacity: 0.9;
}

.caption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 3rem 2rem 1.5rem;
    font-size: 1.6rem;
    font-weight: 600;
    color: var(--white);
    z-index: 2;
    transform: translateY(0);
    transition: transform 0.3s ease;
}

.gallery-item:hover .caption {
    transform: translateY(-8px);
}

.gallery-cta {
    text-align: center;
    margin-top: 2rem;
}

.gallery-cta .btn {
    position: relative;
    overflow: hidden;
    padding: 1.2rem 3.5rem;
    background-color: transparent;
    border: 2px solid var(--primary-color);
    color: var(--primary-color);
    font-weight: 700;
    transition: all 0.3s ease;
    z-index: 1;
}

.gallery-cta .btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--primary-color);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.3s ease;
    z-index: -1;
}

.gallery-cta .btn:hover {
    color: var(--white);
    transform: translateY(-3px);
    box-shadow: 0 8px 15px rgba(0, 127, 255, 0.2);
}

.gallery-cta .btn:hover::before {
    transform: scaleX(1);
    transform-origin: left;
}


/* News Section Styles */
.news {

    background-color: var(--white);
    position: relative;
}

.news-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
    margin-bottom: 4rem;
}

.news-card {
    background-color: var(--white);
    border-radius: var(--border-radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    height: 100%;
    display: flex;
    flex-direction: column;
}

.news-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-md);
}

.news-card.featured {
    grid-column: span 3;
    display: grid;
    grid-template-columns: 1.5fr 1fr;
}

.news-image {
    overflow: hidden;
    position: relative;
}

.news-image::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.05), transparent);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.news-card:hover .news-image::after {
    opacity: 1;
}

.news-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.news-card:hover .news-image img {
    transform: scale(1.05);
}

.news-content {
    padding: 2.5rem;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    position: relative;
}

.news-date,
.news-category {
    display: inline-block;
    font-size: 1.3rem;
    margin-right: 1.5rem;
    color: var(--med-gray);
}

.news-category {
    color: var(--primary-color);
    font-weight: 700;
    text-transform: uppercase;
}

.news-card h2,
.news-card h3 {
    margin-top: 1rem;
    font-family: var(--font-primary);
    line-height: 1.3;
    transition: color 0.3s ease;
}

.news-card h2 {
    font-size: 2.6rem;
    margin-bottom: 1.5rem;
    color: var(--dark-gray);
}

.news-card:hover h2,
.news-card:hover h3 {
    color: var(--primary-color);
}

.news-card h3 {
    font-size: 1.8rem;
    margin-bottom: 1.5rem;
}

.news-card p {
    color: var(--text-light);
    margin-bottom: 2rem;
}

.news-card .btn-text {
    margin-top: auto;
    align-self: flex-start;
    position: relative;
    padding-bottom: 0.5rem;
}

.news-card .btn-text i {
    transition: transform 0.3s ease;
}

.news-card:hover .btn-text i {
    transform: translateX(4px);
}

.news-cta {
    text-align: center;
    padding-top: 2rem;
}


/* Partners Section */
.partners {

    background-color: var(--light-gray);
}

.partners-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
    margin-bottom: 4rem;
}

.partner {
    background-color: var(--white);
    border-radius: var(--border-radius-sm);
    padding: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--shadow-sm);
    transition: var(--transition);
}

.partner:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-3px);
}

.partner img {
    max-height: 80px;
    width: auto;
}

.partners-cta {
    text-align: center;
}



/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
#footer {
    background-color: #0d0d0d;
    color: #999;
    font-size: 15px;
    line-height: 26px;

}

#footer .footer-inner {
    padding: 90px 0;
}

#footer .footer-widget-about {
    padding-right: 30px;
}

.footer-widget .widget-title {
    font-size: 20px;
    font-weight: 700;
    position: relative;
    color: #fff;
    margin-bottom: 30px;
}

.footer-widget .footer-logo {
    display: block;
    width: 100%;
    text-align: left;
    margin-bottom: 10px;
}

.footer-social-links {
    margin-top: 30px;
}

.footer-social-links ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-social-links ul li {
    display: inline-block;
    margin-bottom: 8px;
}

.footer-social-links ul li a {
    width: 46px;
    height: 46px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 4px;
    border-radius: 50%;
    font-size: 18px;
    background-color: #2c2c2c;
}

.footer-social-links ul li a i {
    color: #ebebeb;
}

.footer-widget .footer-posts .post-item-small {
    margin-bottom: 20px;
}

.footer-widget .footer-posts .post-item-small .image {
    background-color: #2c2c2c;
}

.footer-widget .footer-posts .post-item-small .title {
    margin-bottom: 2px;
    font-size: 15px;
    line-height: 20px;
}

.footer-widget .footer-posts .post-item-small .title a {
    color: #f6f6f6;
}

.footer-widget .newsletter .newsletter-inputs {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%;
}

.footer-widget .newsletter .newsletter-inputs input {
    position: relative;
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
}

.footer-widget .newsletter .newsletter-inputs button {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.footer-widget .newsletter .form-input {
    border: 0 !important;
    box-shadow: none !important;
    background-color: #2c2c2c;
    color: #bababa;
}

.footer-widget .newsletter input[name='url'],
.modal-newsletter input[name='url'] {
    display: none !important;
}

.form-contact input[name='message_content'] {
    display: none !important;
}

.footer-copyright {
    border-top: 1px solid #2c2c2c;
    padding: 40px 0;
}

.footer-copyright .copyright {
    color: #999;
    font-size: 14px;
}

.footer-copyright .nav-footer ul {
    padding: 0;
    margin: 0;
}

.footer-copyright .nav-footer ul li {
    list-style: none;
    display: inline-block;
    margin-right: 15px;
}

.footer-copyright .nav-footer ul li a {
    color: #999;
    font-size: 15px;
}

.form-control.is-invalid,
.was-validated .form-control:invalid {
    border-color: rgba(220, 53, 69, 0.40) !important;
}

.form-control.is-valid,
.was-validated .form-control:valid {
    border-color: #e6e6e6;
    background-image: none !important;
}

.is-recaptcha-invalid>div {
    border: 1px solid rgba(220, 53, 69, 0.40) !important;
}

.form-control.is-invalid,
.was-validated .form-control:invalid {
    background-image: none;
}

.alert-message,
.alert-messages {
    border-radius: 2px;
    padding: 12px 15px;
}

.alert-messages ul {
    padding: 0 !important;
}

.alert-messages li {
    list-style: none;
}

.alert-message svg {
    flex-shrink: 0 !important;
}

.btn-file-upload {
    position: relative;
    font-size: 13px !important;
    padding: 6px 16px !important;
    overflow: hidden !important;
    margin-right: 15px;
    color: #fff !important;
    cursor: pointer;
    display: block;
    width: 180px;
}

.btn-file-upload:hover {
    color: #fff !important;
}

.btn-file-upload input {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    filter: alpha(opacity=0);
    -ms-filter: "alpha(opacity=0)";
    opacity: 0;
    background-color: transparent;
    color: transparent;
    cursor: pointer;
}

.pagination {
    gap: 4px;
    justify-content: center;
}

.pagination li a {
    box-shadow: none !important;
    outline: none !important;
    width: auto;
    height: 40px;
    min-width: 40px;
    padding: 2px 8px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #555 !important;
    border: 1px solid #ececec;
    border-radius: 2px !important;
    font-size: 14px;
}

.pagination li.active a {
    color: #fff !important;
}

.pagination a:hover,
.pagination a:focus,
.pagination a:active {
    background-color: #e9ecef;
    border-color: #dbdee1;
}

/* SweetAlert2*/
.swal2-confirm {
    background-color: var(--vr-theme-color) !important;
    border-radius: 2px !important;
    font-weight: normal !important;
    padding: 0.56rem 1.2rem;
    font-size: 14px;
}

.swal2-cancel {
    background-color: #e9e9ed !important;
    color: #333 !important;
    border-radius: 2px !important;
    font-weight: normal !important;
    padding: 0.56rem 1.2rem;
    font-size: 14px;
}

div:where(.swal2-container) div:where(.swal2-popup) {
    width: 26em !important;
    border-radius: 2px !important;
}

div:where(.swal2-container) div:where(.swal2-html-container) {
    font-size: 15px !important;
}

.scrollup {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 15px;
    color: #fff !important;
    z-index: 999999
}

.scrollup:hover,
.scrollup:active,
.scrollup:focus {
    color: #fff !important;
}

.scrollup i {
    width: 42px;
    height: 42px;
    line-height: 42px;
    display: block;
    text-align: center;
    background-color: var(--vr-block-color);
    border-radius: 2px;
    z-index: 999999
}

.container-bn {
    max-width: 100% !important;
    overflow-x: hidden !important;
}

.container-bn-mb {
    display: none;
}

.bn-content {
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    position: relative;
    padding: 0 !important;
}

.bn-content .bn-inner {
    display: block;
    overflow: hidden;
}

.bn-content .bn-inner a {
    display: block;
}

.bn-sidebar-content {
    justify-content: start !important;
}

.cookies-warning {
    position: fixed;
    left: 20px;
    bottom: 20px;
    width: 400px;
    max-width: 100%;
    padding: 35px 25px;
    background-color: #fff;
    border-radius: 2px;
    box-shadow: 0 0 12px rgb(0 0 0 / 14%);
    z-index: 9999999;
}

.cookies-warning .text {
    width: 100%;
    margin-bottom: 20px;
    line-height: 26px;
    color: #333;
}

.cookies-warning .close {
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 12px;
    border: 0 !important;
    box-shadow: none !important;
    background-color: transparent !important;
}

.cookies-warning p {
    margin-bottom: 0;
}

.cookies-warning a {
    color: var(--vr-theme-color) !important;
}

a:hover,
a:active,
a:focus,
.nav-main .navbar-nav .active .nav-link,
.mega-menu .menu-left .active,
.nav-category-block .nav-item.show .nav-link,
.nav-category-block .nav-link.active {
    color: var(--vr-theme-color);
}
.marsala-mobile-header a:hover,
.marsala-mobile-header a:active,
.marsala-mobile-header a:focus,
.marsala-mobile-header .nav-main .navbar-nav .active .nav-link,
.marsala-mobile-header .mega-menu .menu-left .active,
.marsala-mobile-header .nav-category-block .nav-item.show .nav-link,
.marsala-mobile-header .nav-category-block .nav-link.active {
    color: var(--white);
}
.nav-sm-buttons .prev:hover,
.nav-sm-buttons .next:hover,
.post-content .post-files .file button,
.post-content .post-files .file svg,
.post-next-prev .head-title a,
.section-comments .comment-meta .btn-comment-like:hover,
.nav-mobile .dropdown .menu-sub-items .nav-link:hover,
.nav-mobile .profile-dropdown-mobile .menu-sub-items .dropdown-item:hover {
    color: var(--vr-theme-color) !important;
}

.form-check .form-check-input:checked,
.progress-bar,
.section .section-title:after,
.post-content .post-tags ul li a:hover,
.sidebar-widget .widget-head:after,
.sidebar-widget .widget-head-tabs .nav-tabs .active,
.sidebar-widget .tag-list li a:hover,
.section-page .contact-icon,
.profile-social-links li a:hover,
.footer-social-links ul li a:hover {
    background-color: var(--vr-theme-color);
}

.form-input:focus,
.form-check .form-check-input:checked,
.post-content .post-tags ul li a:hover,
.sidebar-widget .tag-list li a:hover,
.profile-social-links li a:hover {
    border-color: var(--vr-theme-color);
}

.pagination li.active a,
.form-control:focus {
    border-color: var(--vr-theme-color) !important;
}

.btn-custom,
.pagination li.active a,
.page-gallery .filters .active::after {
    background-color: var(--marsala-blue);
	color:var(--white);
}
.btn-custom:hover, .pagination li.active a:hover, .page-gallery .filters .active:hover::after {
    background-color: var(--primary-light); !important;
    color: var(--white) ;
}
.plyr__control--overlaid {
    background: var(--vr-theme-color) !important;
    opacity: .8 !important;
}

.plyr--video .plyr__control.plyr__tab-focus,
.plyr--video .plyr__control:hover,
.plyr--video .plyr__control[aria-expanded="true"] {
    background: var(--vr-theme-color) !important;
}

.plyr--full-ui input[type="range"] {
    color: var(--vr-theme-color) !important;
}

.nav-sm-buttons .prev:hover,
.nav-sm-buttons .next:hover {
    border: 1px solid var(--vr-theme-color) !important;
}

.section-comments .nav-tabs .active {
    border-bottom: 2px solid var(--vr-theme-color) !important;
}

.btn-custom:active {
    background-color: var(--vr-theme-color) !important;
    border-color: var(--vr-theme-color) !important;
}

#nav-top,
.newsticker-title {
    background-color: var(--vr-block-color) !important;
}

.page-confirm {
    width: 400px;
    height: auto;
    margin: 0 auto;
    text-align: center;
    padding-top: 120px;
    max-width: 100%
}

.page-confirm .title {
    font-size: 16px;
    line-height: 30px;
    font-weight: 400;
    margin-bottom: 15px;
}

/*--------------------------------------------------------------
# Mobile
--------------------------------------------------------------*/
@media (min-width: 1200px) {

    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl {
        max-width: 1240px;
    }
}

@media (min-width: 1300px) {
    .section-videos .video-large .image {
        height: 505.1px;
    }
}

@media (min-width: 1400px) {

    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl,
    .container-xxl {
        max-width: 1320px;
    }

    .section-videos .video-large .image {
        height: 515px;
    }
}

/* Media queries for responsive logo and layout */
@media (max-width: 1200px) {
    .logo img {
        height: 12rem;
    }

    .logo {
        margin-left: -1.5rem;
    }
}

.marsala-desktop-menu {
    background-color: var(--marsala-blue);
}

@media (max-width: 992px) {
    .logo {
        margin-left: -1rem;
        margin-top: -1rem;
        margin-bottom: -2rem;
    }

    .logo img {
        height: 11rem;
    }

    .top-bar {
        padding: 2rem 0;
    }

    .main-nav {
        margin-top: 1.5rem;
    }
}

@media (max-width: 768px) {


    .scrollup {
        display: none;
        position: fixed;
        bottom: 70px;
        left: 20px;
        right: unset;
        color: #fff !important;
        z-index: 999999
    }

    .top-bar {
        padding: 1.8rem 0;
    }

    .main-nav {
        margin-top: 0.5rem;
    }

    .logo {
        margin-left: -0.5rem;
        margin-top: -0.5rem;
        margin-bottom: -1.5rem;
    }

    .logo img {
        height: 10rem;
    }

    .top-links {
        gap: 1.5rem;
    }

    .top-links a.ticket-btn {
        font-size: 1.4rem;
        padding: 0.8rem 1.5rem;
    }

    .nav-list {
        display: flex;
        gap: 2rem;
    }
}

@media (max-width: 576px) {
    .top-bar {
        padding: 1.5rem 0;
    }

    .logo {
        margin-left: 0;
        margin-top: -0.5rem;
        margin-bottom: -1rem;
    }

    .logo img {
        height: 9rem;
    }

    .top-links {
        gap: 1rem;
    }

    .top-links a.ticket-btn {
        font-size: 1.3rem;
        padding: 0.6rem 1.2rem;
    }
}

@media (max-width: 480px) {
    .logo img {
        height: 8.5rem;
    }
}

.top-links {
    display: flex;
    align-items: center;
    gap: 2.5rem;
    margin-right: 1.5rem;
}

.top-links a.ticket-btn {
    font-size: 1.6rem;
    padding: 1rem 2.5rem;
    background: var(--secondary-color);
}

.language-selector {
    display: flex;
    gap: 1rem;
}

.language-selector a {
    padding: 0.5rem 1rem;
    font-size: 1.4rem;
}

.language-selector a.active {
    text-decoration: underline;
    font-weight: 600;
}

/* Mobile Menu Redesign */
.mobile-menu-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    width: 40px;
    height: 40px;
    position: relative;
    z-index: 1010;
}

.mobile-menu-toggle span {
    display: block;
    width: 28px;
    height: 3px;
    margin: 6px 0;
    background-color: var(--white);
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275),
        opacity 0.2s ease,
        background-color 0.3s ease;
    border-radius: 3px;
}

.mobile-menu-toggle.active span {
    background-color: var(--white);
}

.mobile-menu-toggle.active span:nth-child(1) {
    transform: translateY(9px) rotate(45deg);
}

.mobile-menu-toggle.active span:nth-child(2) {
    opacity: 0;
    transform: translateX(-10px);
}

.mobile-menu-toggle.active span:nth-child(3) {
    transform: translateY(-9px) rotate(-45deg);
}

/* Navigation Styles */
.main-nav {
    background-color: var(--white);
    padding: 0;
    position: relative;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.05);
    margin-top: 0;
}

.main-nav::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(249, 249, 249, 1) 100%);
    z-index: -1;
}

.main-nav .container {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.nav-list {
    display: flex;
    gap: 0;
    margin: 0;
    position: relative;
}

.nav-list>li {
    position: relative;
}

.nav-list>li>a {
    color: var(--white);
    font-size: 1.4rem;
    font-weight: 600;
    text-transform: uppercase;
    padding: 0 1.8rem;
    height: 100%;
    text-decoration: none;
    letter-spacing: 0.05em;
    transition: all 0.3s ease;
    position: relative;
    font-family: var(--font-primary);
    display: flex;
    align-items: center;
    justify-content: center;
}

.nav-list>li>a::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: var(--secondary-color);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.3s ease;
    z-index: 1;
}

.nav-list>li:hover>a::before,
.nav-list>li.active>a::before {
    transform: scaleX(1);
    transform-origin: left;
}

.nav-list>li>a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0;
    background: rgba(0, 127, 255, 0.05);
    transition: height 0.3s ease;
    z-index: -1;
}

.nav-list>li:hover>a::after {
    height: 100%;
}

.nav-list>li>a:hover {
    color: var(--primary-dark);
}

/* Search bar positioning */
.search-bar {
    position: absolute;
    right: 2rem;
}

.dropdown-content {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 250px;
    background-color: var(--white);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.2s ease-out;
    z-index: 99;
    border-top: 3px solid var(--primary-color);
}

.dropdown-content::before {
    content: '';
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 10px solid var(--primary-color);
}

.dropdown:hover .dropdown-content {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

/* Hero Slider */
.hero-slider {
    position: relative;
    overflow: hidden;
}

.slider-container {
    position: relative;
}

.slider-wrapper {
    position: relative;
    width: 100%;
    height: 600px;
    overflow: hidden;
}

.slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 1s ease;
    z-index: 1;
}

.slide.active {
    opacity: 1;
    z-index: 2;
}

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

.slide-content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 6rem 3rem 3rem;
    color: var(--white);
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
}

.slide-category {
    display: inline-block;
    background-color: var(--primary-color);
    color: var(--white);
    padding: 0.5rem 1.5rem;
    font-size: 1.4rem;
    font-weight: 600;
    border-radius: var(--border-radius-sm);
    margin-bottom: 1rem;
}

.title_slide {
    font-size: 3.6rem;
    font-weight: 700;
    margin-bottom: 2rem !important;
    color: var(--white);
    max-width: 80%;
}

.slider-controls {
    position: absolute;
    bottom: 2rem;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2rem;
    z-index: 10;
}

.prev-btn,
.next-btn {
    background-color: rgba(0, 0, 0, 0.5);
    border: none;
    color: var(--white);
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    cursor: pointer;
    transition: var(--transition);
}

.prev-btn:hover,
.next-btn:hover {
    background-color: var(--primary-color);
}

.slider-dots {
    display: flex;
    gap: 1rem;
}

.dot {
    width: 1.2rem;
    height: 1.2rem;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.5);
    border: none;
    cursor: pointer;
    transition: var(--transition);
}

.dot.active {
    background-color: var(--primary-color);
    transform: scale(1.2);
}

/* Next Match Section Completely Redesigned */
.next-match {
    padding: 6rem 0;
    background:
        linear-gradient(to right, rgba(0, 42, 102, 0.85), rgba(0, 42, 102, 0.85)),
        url('https://marsalacalcio1912.it/uploads/template/stadio.webp') no-repeat center center;
    background-size: cover;
    background-blend-mode: normal;
    position: relative;
    overflow: hidden;
}

.next-match::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
 background: linear-gradient(to right, rgb(0 73 171) 0%, rgb(170 185 207 / 85%) 100%);
    z-index: 0;
}

.next-match .container {
    position: relative;
    z-index: 2;
}

.next-match .section-title {
    color: var(--white);
    margin-bottom: 3rem;
    font-size: 1.6rem;
    padding-bottom: 0;
    position: relative;
    display: inline-block;
    font-weight: 700;
    letter-spacing: 2px;
}

.next-match .section-title::after {
    display: none;
}

.next-match .section-title::before {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: rgba(255, 255, 255, 0.3);
    transform: none;
}

.match-card {
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0.05) 100%);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: var(--border-radius-lg);
    padding: 3rem;
    max-width: 1000px;
    margin: 0 auto;
    overflow: hidden;
    position: relative;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

.match-card::before {
    display: none;
}

.match-card::after {
    display: none;
}

.match-header {
    text-align: left;
    margin-bottom: 3rem;
    position: relative;
    padding-bottom: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}



.match-header::after {
    display: none;
}

.match-header h2 {
    display: none;
}

/* New competition badge */
.competition-badge {
    display: flex;
    align-items: center;
    gap: 1.2rem;
}

.competition-logo {
    background-color: var(--white);
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

.competition-logo img {
    width: 80%;
    height: 80%;
    object-fit: contain;
}

.league {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--white);
    border-radius: 0;
    background: none;
    box-shadow: none;
    padding: 0;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.league::before {
    display: none;
}

.match-date-location {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.match-date {
    font-size: 1.4rem;
    color: var(--white);
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.match-location {
    font-size: 1.3rem;
    color: rgba(255, 255, 255, 0.7);
}

.match-details {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    margin-bottom: 3rem;
    position: relative;
    background: rgba(0, 0, 0, 0.2);
    border-radius: var(--border-radius-lg);
    padding: 3rem 2rem;
}

.match-details::before {
    content: 'VS';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: var(--font-primary);
    font-weight: 800;
    font-size: 4.5rem;
    color: rgba(255, 255, 255, 0.1);
    letter-spacing: 2px;
}

.team {
    flex: 1;
    text-align: center;
    z-index: 1;
    transition: transform 0.3s ease;
    position: relative;
}

.team-logo {
    width: 110px;
    height: 110px;
    margin: 0 auto 1.5rem;
    position: relative;
    transition: transform 0.3s ease;
    background-color: var(--white);
    border-radius: 50%;
    padding: 1.5rem;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}

.team-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.team-name {
    display: block;
    font-size: 2rem;
    font-weight: 700;
    font-family: var(--font-primary);
    color: var(--white);
    margin-top: 1rem;
    transition: color 0.3s ease;
}

.team-name::after {
    display: none;
}

.home-team::after,
.away-team::before {
    display: none;
}

.match-info {
    display: none;
}

.match-time {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: var(--primary-color);
    color: var(--white);
    border-radius: 50%;
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    font-weight: 700;
    box-shadow: 0 5px 20px rgba(0, 127, 255, 0.4);
    z-index: 2;
}

.match-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0;
    gap: 2rem;
}

.match-actions::before {
    display: none;
}

#nav-top {
    display: none !important;
}

.ticket-cta {
    flex: 1;
    background: var(--white);
    color: var(--primary-color) !important;
    padding: 1.5rem;
    border-radius: 0;
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
    letter-spacing: 1px;
    position: relative;
    overflow: hidden;
    z-index: 1;
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.2);
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    border: 2px solid var(--white);
}

.ticket-cta::before,
.ticket-cta::after {
    display: none;
}

.ticket-cta:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 25px rgba(0, 0, 0, 0.3);
    background: var(--white);
    border: 2px solid var(--white);
}

.ticket-cta i {
    margin-right: 1rem;
}

.btn-outline {
    flex: 1;
    position: relative;
    overflow: hidden;
    z-index: 1;
    background-color: transparent;
    border: 2px solid var(--white);
    color: var(--white);
    padding: 1.5rem;

    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
    letter-spacing: 1px;
    transition: all 0.3s ease;
}

.btn-outline::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--white);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.3s ease;
    z-index: -1;
}

.btn-outline:hover {
    color: var(--primary-color);
    transform: translateY(-5px);
    box-shadow: 0 12px 25px rgba(0, 0, 0, 0.3);
    border-color: var(--white);
}

.btn-outline:hover::before {
    transform: scaleX(1);
    transform-origin: left;
}

.btn-outline i {
    margin-right: 1rem;
}

@media (max-width: 768px) {
    .match-details {
        flex-direction: row;
        gap: 0;
        padding: 2.5rem 1.5rem;
    }

    .team-logo {
        width: 90px;
        height: 90px;
    }

    .team-name {
        font-size: 1.6rem;
    }

    .match-time {
        width: 60px;
        height: 60px;
        font-size: 1.8rem;
    }

    .match-actions {
        flex-direction: column;
    }

    .ticket-cta,
    .btn-outline {
        width: 100%;
    }

    .logo img {
        height: 6.5rem;
    }
}

@media (max-width: 576px) {

    .ticket-options,
    .product-cards,
    .partners-grid,
    .gallery-grid,
    .players-grid {
        grid-template-columns: 1fr !important;
    }

    .team-detail-box {

        max-width: 100%;
    }


    .footer-widgets {
        grid-template-columns: 1fr;
    }

    .slider-wrapper {
        height: 350px;
    }

    .slider-controls {
        gap: 1rem;
    }

    .prev-btn,
    .next-btn {
        width: 3.5rem;
        height: 3.5rem;
    }

    .newsletter-form {
        flex-direction: column;
    }

    .ticket-btn {
        display: none;
    }

    .slide-content h2 {
        font-size: 2rem;
    }

    .team-logo {
        width: 80px;
        height: 80px;
    }

    .match-card {
        padding: 2rem 1.5rem;
    }

    .logo img {
        height: 5.8rem;
    }
}

/* Partners Section */
.partners {
    padding: var(--section-padding);
    background-color: var(--light-gray);
}

.partners-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
    margin-bottom: 4rem;
}

.partner {
    background-color: var(--white);
    border-radius: var(--border-radius-sm);
    padding: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--shadow-sm);
    transition: var(--transition);
}

.partner:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-3px);
}

.partner img {
    max-height: 80px;
    width: auto;
}

.partners-cta {
    text-align: center;
}

/* Ticket Section Enhancement */
.ticketing {
    padding: var(--section-padding);
    background: linear-gradient(135deg, var(--white) 0%, var(--light-gray) 100%);
    position: relative;
    overflow: hidden;
}

.ticketing::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: repeating-linear-gradient(45deg, #004aad 0, #004aad 14px, #013b88 14px, #013b88 28px);
    background-size: cover;
    opacity: 0.03;
    z-index: 0;
}

.ticketing .container {
    position: relative;
    z-index: 1;
}

.ticket-options {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
    perspective: 1000px;
}

.ticket-card {
    background-color: var(--white);
    border-radius: var(--border-radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-md);
    transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275),
        box-shadow 0.5s ease;
    position: relative;
    transform-style: preserve-3d;
    will-change: transform;
}

.ticket-card::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(to right, var(--primary-color), var(--marsala-navy));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
}

.ticket-card:hover {
    transform: translateY(-10px) rotateX(5deg);
    box-shadow: 0 15px 30px rgba(0, 127, 255, 0.15);
}

.ticket-card:hover::after {
    transform: scaleX(1);
}

.ticket-image {
    height: 220px;
    overflow: hidden;
    position: relative;
}

.ticket-image::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0, 127, 255, 0.2), transparent);
    z-index: 1;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.ticket-card:hover .ticket-image::before {
    opacity: 1;
}

.ticket-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s ease;
}

.ticket-card:hover .ticket-image img {
    transform: scale(1.08);
}

.ticket-content {
    padding: 3rem;
    text-align: center;
    position: relative;
}

.ticket-content h3 {
    font-size: 2.2rem;
    margin-bottom: 1.5rem;
    color: var(--primary-color);
    position: relative;
    display: inline-block;
}

.ticket-content h3::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 3px;
    background-color: var(--primary-color);
    transition: width 0.3s ease;
}

.ticket-card:hover .ticket-content h3::after {
    width: 100%;
}

.ticket-content p {
    color: var(--text-light);
    margin-bottom: 2.5rem;
    min-height: 4.8rem;
}

.ticket-content .btn {
    position: relative;
    overflow: hidden;
    z-index: 1;
    transition: color 0.3s ease, transform 0.3s ease;
}

.ticket-content .btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--primary-dark);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.3s ease;
    z-index: -1;
}

.ticket-content .btn:hover::before {
    transform: scaleX(1);
    transform-origin: left;
}

.ticket-content .btn:hover {
    color: var(--white);
    transform: translateY(-3px);
}

/* Marsala TV Enhancement */
.marsala-tv {
    padding: var(--section-padding);
    background: linear-gradient(to bottom, var(--white), var(--light-gray));
    position: relative;
}

.marsala-tv::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: radial-gradient(circle at 10% 20%, rgba(0, 127, 255, 0.03) 0%, transparent 20%),
        radial-gradient(circle at 90% 80%, rgba(0, 127, 255, 0.03) 0%, transparent 20%);
    z-index: 0;
}

.marsala-tv .container {
    position: relative;
    z-index: 1;
}

.marsala-tv .section-title::before,
.marsala-tv .section-title::after {
    content: '';
    position: absolute;
    bottom: -5px;
    width: 30px;
    height: 3px;
    background-color: var(--secondary-color);
}

.marsala-tv .section-title::before {
    left: calc(50% - 55px);
}

.marsala-tv .section-title::after {
    right: calc(50% - 55px);
}

.video-showcase {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    margin-bottom: 5rem;
}

.featured-video {
    grid-column: 1;
    grid-row: 1 / span 2;
    transform: translateY(0);
    transition: transform 0.4s ease;
    will-change: transform;
}

.featured-video:hover {
    transform: translateY(-8px);
}

.video-grid {
    grid-column: 2;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
}

.video-thumbnail {
    position: relative;
    border-radius: var(--border-radius-md);
    overflow: hidden;
    aspect-ratio: 16/9;
    margin-bottom: 1.5rem;
    box-shadow: var(--shadow-sm);
    transition: box-shadow 0.3s ease, transform 0.3s ease;
    will-change: transform;
}

.video-thumbnail::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.6));
    opacity: 0.7;
    transition: opacity 0.3s ease;
    z-index: 1;
}

.video-thumbnail:hover {
    box-shadow: var(--shadow-md);
    transform: scale(1.03);
}

.video-thumbnail:hover::after {
    opacity: 0.4;
}

.video-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.video-thumbnail:hover img {
    transform: scale(1.1);
}

.play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 6rem;
    height: 6rem;
    background-color: rgba(255, 255, 255, 0.2);
    color: var(--white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    z-index: 2;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);
    }

    70% {
        box-shadow: 0 0 0 15px rgba(255, 255, 255, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
    }
}

.video-thumbnail:hover .play-button {
    background-color: var(--primary-color);
    transform: translate(-50%, -50%) scale(1.1);
    animation: none;
    box-shadow: 0 0 20px rgba(0, 127, 255, 0.5);
}

.featured-video .play-button {
    width: 8rem;
    height: 8rem;
    font-size: 2.8rem;
}

.video-info h3 {
    font-size: 2.2rem;
    margin: 1.5rem 0 1rem;
    transition: color 0.3s ease;
}

.featured-video:hover .video-info h3 {
    color: var(--primary-color);
}

.video-info p {
    color: var(--text-light);
}

.video-item {
    transition: transform 0.3s ease;
}

.video-item:hover {
    transform: translateY(-5px);
}

.video-item h4 {
    font-size: 1.6rem;
    color: var(--text-color);
    transition: color 0.3s ease;
}

.video-item:hover h4 {
    color: var(--primary-color);
}

.youtube-cta {
    text-align: center;
    margin-top: 2rem;
    padding-top: 2rem;
    position: relative;
}

.youtube-cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 2px;
    background-color: var(--light-gray);
}

.btn-youtube {
    background-color: #FF0000;
    color: var(--white);
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    padding: 1.2rem 3rem;
    border-radius: var(--border-radius-sm);
    font-weight: 600;
    position: relative;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(255, 0, 0, 0.3);
    transition: all 0.3s ease;
}

.btn-youtube i {
    font-size: 2rem;
    transition: transform 0.3s ease;
}

.btn-youtube:hover {
    background-color: #cc0000;
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(255, 0, 0, 0.4);
    color: var(--white);
}

.btn-youtube:hover i {
    transform: scale(1.2);
}

/* Gallery Enhancement */
.gallery {
    padding: var(--section-padding);
    background-color: var(--light-gray);
    position: relative;
    overflow: hidden;
}

.gallery::before {
    content: '';
    position: absolute;
    top: -100px;
    right: -100px;
    width: 300px;
    height: 300px;
    background-color: rgba(0, 127, 255, 0.05);
    border-radius: 50%;
    z-index: 0;
}

.gallery::after {
    content: '';
    position: absolute;
    bottom: -100px;
    left: -100px;
    width: 300px;
    height: 300px;
    background-color: rgba(0, 127, 255, 0.05);
    border-radius: 50%;
    z-index: 0;
}

.gallery .container {
    position: relative;
    z-index: 1;
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem;
    margin-bottom: 4rem;
}

.gallery-item {
    position: relative;
    border-radius: var(--border-radius-md);
    overflow: hidden;
    aspect-ratio: 16/9;
    box-shadow: var(--shadow-sm);
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s ease;
    will-change: transform;
}

.gallery-item:hover {
    transform: translateY(-10px) scale(1.02);
    box-shadow: var(--shadow-lg);
    z-index: 1;
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s ease;
}

.gallery-item:hover img {
    transform: scale(1.1);
}

.gallery-item::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, transparent 60%, rgba(0, 0, 0, 0.8));
    opacity: 0.8;
    transition: opacity 0.3s ease;
}

.gallery-item:hover::after {
    opacity: 0.9;
}

.caption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 3rem 2rem 1.5rem;
    font-size: 1.6rem;
    font-weight: 600;
    color: var(--white);
    z-index: 2;
    transform: translateY(0);
    transition: transform 0.3s ease;
}

.gallery-item:hover .caption {
    transform: translateY(-8px);
}

.gallery-cta {
    text-align: center;
    margin-top: 2rem;
}

.gallery-cta .btn,
.news .btn.btn-outline,
.partners .btn.btn-outline {
    position: relative;
    overflow: hidden;
    padding: 1.2rem 3.5rem;
    background-color: transparent;
    border: 2px solid var(--primary-color);
    color: var(--primary-color);
    font-weight: 700;
    transition: all 0.3s ease;
    z-index: 1;
}

.gallery-cta .btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--primary-color);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.3s ease;
    z-index: -1;
}

.gallery-cta .btn:hover,
.news .btn.btn-outline:hover,
.partners .btn.btn-outline:hover {
    color: var(--white);
    transform: translateY(-3px);
    box-shadow: 0 8px 15px rgba(0, 127, 255, 0.2);
}

.gallery-cta .btn:hover::before {
    transform: scaleX(1);
    transform-origin: left;
}

/* Shop CTA Enhancement */
.shop-cta {
    text-align: center;
    margin-top: 3rem;
    padding-top: 3rem;
    position: relative;
}

.shop-cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 2px;
    background-color: var(--medium-gray);
}

.shop-cta .btn-lg {
    position: relative;
    padding: 1.4rem 4rem;
    font-weight: 700;
    letter-spacing: 1px;
    overflow: hidden;
    background: linear-gradient(45deg, var(--primary-color), var(--primary-dark));
    box-shadow: 0 6px 15px rgba(0, 127, 255, 0.25);
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    z-index: 1;
}

.shop-cta .btn-lg::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -100%;
    width: 70px;
    height: 200%;
    background: rgba(255, 255, 255, 0.2);
    transform: rotate(25deg);
    transition: transform 0.6s ease;
    z-index: -1;
}

.shop-cta .btn-lg:hover {
    box-shadow: 0 10px 25px rgba(0, 127, 255, 0.4);
    transform: translateY(-5px);
}

.shop-cta .btn-lg:hover::after {
    transform: translateX(300%) rotate(25deg);
}

/* Global Button Enhancement */
.btn-outline {
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.btn-outline::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--primary-color);
    transform: scaleY(0);
    transform-origin: bottom;
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    z-index: -1;
}

.btn-outline:hover {
    color: var(--white);
    border-color: var(--primary-color);
    transform: translateY(-3px);
}

.btn-outline:hover::before {
    transform: scaleY(1);
}

/* Footer Styles */
.footer-logo {
    margin-bottom: 3rem;
    position: relative;
    display: inline-block;
}


.footer-logo img {
    height: 10rem;
    filter: drop-shadow(0 6px 10px rgba(0, 0, 0, 0.3));
    transition: all 0.4s ease;
    object-fit: contain;
    margin-bottom: 1rem;
}

footer ul {
    list-style-type: none;
    margin-left: 0;
    padding-left: 0;
}



.footer-logo:hover img {
    transform: translateY(-5px);
    filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.5));
}

@media (max-width: 992px) {
    .footer-logo img {
        height: 9rem;
    }
}

@media (max-width: 768px) {
    .footer-logo img {
        height: 8.5rem;
    }
}

@media (max-width: 576px) {
    .footer-logo img {
        height: 8rem;
    }
}

/* News Section Styles */
.news {
    padding: var(--section-padding);
    background-color: var(--white);
    position: relative;
}

.news-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
    margin-bottom: 4rem;
}

.news-card {
    background-color: var(--white);
    border-radius: var(--border-radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    height: 100%;
    display: flex;
    flex-direction: column;
}

.news-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-md);
}

.news-card.featured {
    grid-column: span 3;
    display: grid;
    grid-template-columns: 1.5fr 1fr;
}

.news-image {
    overflow: hidden;
    position: relative;
}

.news-image::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.05), transparent);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.news-card:hover .news-image::after {
    opacity: 1;
}

.news-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.news-card:hover .news-image img {
    transform: scale(1.05);
}

.news-content {
    padding: 2.5rem;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    position: relative;
}

.news-date,
.news-category {
    display: inline-block;
    font-size: 1.3rem;
    margin-right: 1.5rem;
    color: var(--med-gray);
}

.news-category {
    color: var(--primary-color);
    font-weight: 700;
    text-transform: uppercase;
}

.news-card h2,
.news-card h3 {
    margin-top: 1rem;
    font-family: var(--font-primary);
    line-height: 1.3;
    transition: color 0.3s ease;
}

.news-card h2 {
    font-size: 2.6rem;
    margin-bottom: 1.5rem;
    color: var(--dark-gray);
}

.news-card:hover h2,
.news-card:hover h3 {
    color: var(--primary-color);
}

.news-card h3 {
    font-size: 1.8rem;
    margin-bottom: 1.5rem;
}

.news-card p {
    color: var(--text-light);
    margin-bottom: 2rem;
}

.news-card .btn-text {
    margin-top: auto;
    align-self: flex-start;
    position: relative;
    padding: 0 0 0.5rem 0;
}

.news-card .btn-text i {
    transition: transform 0.3s ease;
}

.news-card:hover .btn-text i {
    transform: translateX(4px);
}

.news-cta {
    text-align: center;
    padding-top: 2rem;
}

/* Fix Merchandising Section Styles */
.merchandising {
    padding: var(--section-padding);
    background-color: var(--white);
    position: relative;
}

.product-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
    margin-bottom: 4rem;
}

.product-card {
    text-align: center;
    background-color: var(--white);
    border-radius: var(--border-radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    padding-bottom: 2.5rem;
    position: relative;
}

.product-badge {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    background-color: var(--secondary-color);
    color: var(--white);
    font-size: 1.2rem;
    font-weight: 700;
    padding: 0.5rem 1rem;
    border-radius: var(--border-radius-sm);
    z-index: 2;
}

.product-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-md);
}

.product-card img {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: contain;
    background: #fff;
    padding: 12px;
    margin-bottom: 2rem;
    transition: transform 0.5s ease;
}

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

.product-image-placeholder {
    width: 100%;
    aspect-ratio: 3/4;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--white) 0%, var(--light-gray) 100%);
    margin-bottom: 10px;
}

.product-image-placeholder svg {
    width: 40%;
    height: auto;
}

.product-card h3 {
    font-family: var(--font-primary);
    font-size: 1.8rem;
    margin-bottom: 1rem;
    padding: 0 1.5rem;
}

.product-price {
    display: block;
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--primary-color);
    margin-bottom: 1.5rem;
}

.product-card .btn {
    transition: all 0.3s ease;
}

.product-card:hover .btn {
    transform: translateY(-3px);
    box-shadow: var(--shadow-md);
}

/* Improve section spacing */
section {
    position: relative;
    overflow: hidden;
}

section+section {
    padding: 2rem 0;
}

/* Add more responsive fixes */
@media (max-width: 992px) {
    .news-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .news-card.featured {
        grid-column: span 2;
        grid-template-columns: 1fr;
    }

    .news-card.featured .news-image {
        height: 30rem;
    }
}

@media (max-width: 768px) {
    section {
        padding: 4rem 0;
    }

    .section-title {
        font-size: 2.8rem;
        margin-bottom: 3rem;
    }

    .product-card img,
    .product-image-placeholder {
        aspect-ratio: 1/1;
    }

    /* Mobile menu fixes */
    .mobile-menu-toggle {
        display: block;
        position: absolute;
        right: 2rem;
        top: 1.5rem;
    }

    .top-links {
        margin-right: 5rem;
    }
}

@media (max-width: 576px) {
    .news-grid {
        grid-template-columns: 1fr;
    }

    .news-card.featured {
        grid-column: span 1;
    }

    section {
        padding: 3.5rem 0;
    }

    .section-title {
        font-size: 2.4rem;
    }

    /* Enhance mobile user experience */
    .mobile-user-nav {
        height: 7rem;
    }

    .mobile-user-nav a {
        padding: 1rem 0;
    }

    .mobile-user-nav a i {
        font-size: 2rem;
        margin-bottom: 0.5rem;
    }

    /* Add more bottom padding to body for fixed nav */
    body {
        padding-bottom: 7rem;
    }
}

/* Page Transition and Scrolling Improvements */
html {
    scroll-behavior: smooth;
    scroll-padding-top: 120px;
    /* For fixed header */
}

body {
    opacity: 1;
    animation: fadeIn 0.5s ease-in;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

/* Separation between sections with visual elements 
section::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(to right, transparent, var(--primary-light), transparent);
    opacity: 0.2;
}
*/
/* Add skip-to-content button for accessibility */
.skip-to-content {
    position: absolute;
    top: -100px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--primary-color);
    color: white;
    padding: 10px 20px;
    z-index: 9999;
    transition: top 0.3s;
}

.skip-to-content:focus {
    top: 0;
}

/* Enhanced Footer Styling */
footer {
    background: linear-gradient(135deg, var(--marsala-blue) 0%, var(--marsala-navy) 100%);
    position: relative;
    overflow: hidden;
    color: #fff;
}

footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url("https://marsalacalcio1912.it/uploads/template/Marsala-Logo-logotipo-negativo.png");
    background-repeat: no-repeat;
    background-size: 80%;
    background-position: center bottom;
    opacity: 0.03;
    z-index: 0;
    pointer-events: none;
}

.footer-top {
    padding: 6rem 0 4rem;
    position: relative;
}

.footer-top::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 5%;
    width: 90%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
}

.footer-widgets {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 4rem;
    position: relative;
    z-index: 2;
}

.footer-widget h4 {
    color: #fff;
    font-size: 1.8rem;
    margin-bottom: 2rem;
    position: relative;
    padding-bottom: 1.2rem;
    font-weight: 700;
}

.footer-widget h4::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 5rem;
    height: 3px;
    background: linear-gradient(90deg, var(--marsala-white), var(--primary-color));
    border-radius: 3px;
}

.footer-logo {
    margin-bottom: 2.5rem;
    display: inline-block;
    position: relative;
}

.footer-logo img {
    height: 9rem;
    filter: drop-shadow(0 6px 10px rgba(0, 0, 0, 0.3));
    transition: all 0.4s ease;
}

.footer-logo:hover img {
    transform: translateY(-5px);
    filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.5));
}

.footer-widget p {
    color: rgba(255, 255, 255, 0.7);
    margin-bottom: 1rem;
    font-size: 1.4rem;
}

.footer-widget address {
    font-style: normal;
    color: rgba(255, 255, 255, 0.7);
    font-size: 1.4rem;
    line-height: 1.7;
}

.footer-widget ul li {
    margin-bottom: 1.2rem;
}

.footer-widget ul li a {
    color: rgba(255, 255, 255, 0.7);
    font-size: 1.4rem;
    transition: all 0.3s ease;
    display: inline-block;
    position: relative;
    padding-left: 1.5rem;
}

.footer-widget ul li a::before {
    content: '\f054';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1rem;
    color: var(--primary-light);
    transition: all 0.3s ease;
}

.footer-widget ul li a:hover {
    color: #fff;
    padding-left: 2rem;
}

.footer-widget ul li a:hover::before {
    left: 0.5rem;
    color: #fff;
}

.social-links {
    display: flex;
    gap: 1rem;
    margin: 2.5rem 0;
    flex-wrap: wrap;
}

.social-links a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    border-radius: 50%;
    font-size: 1.8rem;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
}

.social-links a::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, var(--primary-color) 0%, transparent 70%);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.social-links a:hover {
    transform: translateY(-5px);
    color: #fff;
    background: rgba(255, 255, 255, 0.2);
}

.social-links a:hover::after {
    opacity: 0.3;
}

.newsletter {
    margin-top: 3rem;
}

.newsletter p {
    margin-bottom: 1.5rem;
}

.newsletter-form {
    display: flex;
    gap: 1rem;
}

.newsletter-form input {
    flex: 1;
    padding: 1.2rem 1.5rem;
    border: none;
    border-radius: var(--border-radius-sm);
    font-family: var(--font-secondary);
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    transition: all 0.3s ease;
    font-size: 1.4rem;
}

.newsletter-form input::placeholder {
    color: rgba(255, 255, 255, 0.5);
}

.newsletter-form input:focus {
    background: rgba(255, 255, 255, 0.2);
    outline: none;
}

.newsletter-form button {
    padding: 1.2rem 2rem;
    background: var(--primary-color);
    color: #fff;
    border: none;
    border-radius: var(--border-radius-sm);
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.newsletter-form button:hover {
    background: var(--primary-light);
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

.footer-bottom {
    padding: 2.5rem 0;
    position: relative;
    z-index: 2;
}

.footer-bottom .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.copyright {
    font-size: 1.4rem;
    color: rgba(255, 255, 255, 0.6);
}

.legal-links {
    display: flex;
    gap: 2rem;
}

.legal-links a {
    font-size: 1.3rem;
    color: rgba(255, 255, 255, 0.6);
    transition: color 0.3s ease;
}

.legal-links a:hover {
    color: #fff;
    text-decoration: underline;
}

/* Optimizations for footer on mobile */
@media (max-width: 992px) {
    .footer-widgets {
        grid-template-columns: repeat(2, 1fr);
        gap: 3rem;
    }
}

@media (max-width: 768px) {
    .footer-top {
        padding: 4rem 0 3rem;
    }

    .footer-widgets {
        gap: 3rem;
    }

    .footer-widget {
        margin-bottom: 1rem;
    }
}

@media (max-width: 576px) {
    .footer-widgets {
        grid-template-columns: 1fr;
    }

    .footer-widget {
        margin-bottom: 3rem;
        text-align: center;
    }

    .footer-widget h4::after {
        left: 50%;
        transform: translateX(-50%);
    }

    .footer-widget ul li a {
        padding-left: 0;
    }

    .footer-widget ul li a::before {
        display: none;
    }

    .footer-widget ul li a:hover {
        padding-left: 0;
    }

    .social-links {
        justify-content: center;
    }

    .footer-bottom .container {
        flex-direction: column;
        gap: 1.5rem;
        text-align: center;
    }

    .legal-links {
        justify-content: center;
        flex-wrap: wrap;
    }
}

/* Miglioramenti BIGLIETTERIA e MARSALA TV sezioni per mobile */
@media (max-width: 768px) {
    .ticketing {
        padding: 4rem 0;
    }

    .ticket-options {
        display: flex;
        flex-direction: column;
        gap: 3rem;
    }

    .ticket-card {
        max-width: 100%;
        margin: 0 auto;
    }

    .marsala-tv {
        padding: 4rem 0;
    }

    .video-showcase {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .featured-video {
        grid-column: 1;
        grid-row: auto;
        margin-bottom: 2rem;
    }

    .video-grid {
        grid-column: 1;
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }

    .featured-video .play-button {
        width: 6rem;
        height: 6rem;
        font-size: 2.2rem;
    }

    .video-info h3 {
        font-size: 1.8rem;
    }
}

@media (max-width: 576px) {
    .video-grid {
        grid-template-columns: 1fr;
    }

    .video-thumbnail {
        max-width: 100%;
        margin: 0 auto;
    }

    .ticket-card {
        transform: none !important;
    }

    .ticket-card:hover {
        transform: translateY(-5px) !important;
    }

    .ticket-content {
        padding: 2rem;
    }

    .ticket-content h3 {
        font-size: 1.8rem;
    }
}

/* Menu moderno 2025 - Completamente ridisegnato */

/* Stile per menu desktop */
.main-nav {
    background-color: var(--primary-color);
    position: relative;
    z-index: 100;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
    border-bottom: 2px solid rgba(255, 255, 255, 0.1);
}

.main-nav .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0;
    height: 60px;
}

.nav-list {
    display: flex;
    margin: 0;
    padding: 0;
    height: 100%;
}

.nav-list>li {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
}

.nav-list>li>a {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary-color);
    font-size: 1.4rem;
    font-weight: 600;
    text-transform: uppercase;
    padding: 0 1.8rem;
    height: 100%;
    text-decoration: none;
    letter-spacing: 0.05em;
    transition: all 0.3s ease;
    position: relative;
    font-family: var(--font-primary);
}

.nav-list>li>a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: var(--white);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.3s ease;
}

.nav-list>li:hover>a::after,
.nav-list>li.active>a::after {
    transform: scaleX(1);
}

.nav-list>li:hover>a {
    background-color: rgba(255, 255, 255, 0.1);
}

/* Dropdown Menu - Stile Elite Clubs */
.dropdown-content {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 250px;
    background-color: var(--white);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.2s ease-out;
    z-index: 99;
    border-top: 3px solid var(--primary-color);
}

.dropdown:hover .dropdown-content {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.dropdown-content ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.dropdown-content ul li {
    margin: 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.dropdown-content ul li:last-child {
    border-bottom: none;
}

.dropdown-content ul li a {
    display: block;
    padding: 1.2rem 2rem;
    color: var(--text-color);
    font-size: 1.3rem;
    font-weight: 500;
    transition: all 0.2s ease;
    text-decoration: none;
}

.dropdown-content ul li a:hover {
    background-color: rgba(0, 8, 64, 0.05);
    color: var(--primary-color);
    padding-left: 2.5rem;
}

/* Search Button - Stile Elite Clubs */
.search-toggle {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    background: transparent;
    border: none;
    font-size: 1.6rem;
    cursor: pointer;
    transition: all 0.3s ease;
}

.search-toggle:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

/* Search Modal - Stile Elite Clubs */
.search-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 8, 64, 0.95);
    z-index: 1500;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.search-modal.active {
    opacity: 1;
    visibility: visible;
}

.search-modal-content {
    width: 100%;
    max-width: 700px;
    padding: 0 2rem;
    position: relative;
    transform: translateY(30px);
    transition: transform 0.4s ease;
}

.search-modal.active .search-modal-content {
    transform: translateY(0);
}

.search-form {
    position: relative;
    border-bottom: 2px solid rgba(255, 255, 255, 0.3);
}

.search-form input {
    width: 100%;
    background-color: transparent;
    border: none;
    color: var(--white);
    font-size: 2.8rem;
    padding: 1.5rem 4rem 1.5rem 0;
    font-family: var(--font-primary);
    font-weight: 300;
}

.search-form input:focus {
    outline: none;
}

.search-form input::placeholder {
    color: rgba(255, 255, 255, 0.5);
}

.search-form button {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.7);
    font-size: 2rem;
    cursor: pointer;
}

.search-close {
    position: absolute;
    top: -5rem;
    right: 0;
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.7);
    font-size: 2.4rem;
    cursor: pointer;
    transition: all 0.3s ease;
}

.search-close:hover {
    color: var(--white);
}

/* Mobile Menu Toggle - Stile Elite Clubs */
.mobile-menu-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    width: 30px;
    height: 22px;
    position: relative;
    z-index: 1100;
    margin-right: 2rem;
}

.mobile-menu-toggle span {
    display: block;
    width: 30px;
    height: 2px;
    background-color: var(--white);
    position: absolute;
    left: 0;
    transition: all 0.3s ease;
}

.mobile-menu-toggle span:nth-child(1) {
    top: 0;
}

.mobile-menu-toggle span:nth-child(2) {
    top: 10px;
}

.mobile-menu-toggle span:nth-child(3) {
    top: 20px;
}

.mobile-menu-toggle.active span:nth-child(1) {
    transform: rotate(45deg);
    top: 10px;
}

.mobile-menu-toggle.active span:nth-child(2) {
    opacity: 0;
    width: 0;
}

.mobile-menu-toggle.active span:nth-child(3) {
    transform: rotate(-45deg);
    top: 10px;
}

/* Mobile Menu - Stile Elite Clubs */
@media (max-width: 992px) {

    section.container {
        padding-right: calc(var(--bs-gutter-x) * .5);
        padding-left: calc(var(--bs-gutter-x) *.5);
    }

    .mobile-menu-toggle {
        display: block;
    }

    .page-header {
        text-align: center;
    }

    .breadcrumb {
        display: flex;
        align-items: center;
        min-width: 100%;
        justify-content: center;
    }

    .nav-list {
        position: fixed;
        top: 0;
        left: -100%;
        width: 280px;
        height: 100vh;
        background-color: var(--primary-color);
        flex-direction: column;
        padding: 8rem 0 2rem;
        overflow-y: auto;
        transition: all 0.4s ease;
        z-index: 1050;
        align-items: flex-start;
    }

    .main-nav.active .nav-list {
        left: 0;
        box-shadow: 0 0 30px rgba(0, 0, 0, 0.5);
    }

    .nav-list>li {
        width: 100%;
        height: auto;
    }

    .nav-list>li>a {
        width: 100%;
        padding: 1.5rem 2rem;
        justify-content: flex-start;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    .nav-list>li>a::after {
        display: none;
    }

    /* Dropdown Mobile - Stile Elite Clubs */
    .dropdown-content {
        position: static;
        width: 100%;
        opacity: 1;
        visibility: visible;
        transform: none;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease;
        border-top: none;
        background-color: rgba(0, 0, 0, 0.2);
    }

    .dropdown.active .dropdown-content {
        max-height: 500px;
    }

    .dropdown-content ul li a {
        color: rgba(255, 255, 255, 0.8);
    }

    .dropdown-content ul li a:hover {
        background-color: rgba(255, 255, 255, 0.05);
        color: var(--white);
    }

    /* Dropdown Toggle Arrow - Stile Elite Clubs */
    .dropdown>a::after {
        content: '+';
        position: absolute;
        right: 2rem;
        font-weight: 300;
        font-size: 2rem;
        transition: transform 0.3s ease;
    }

    .dropdown.active>a::after {
        transform: rotate(45deg);
    }
}

/* Mobile Bottom Navigation Bar - Stile Elite Clubs */
.mobile-user-nav {
    display: none;
}

@media (max-width: 768px) {
    .mobile-user-nav {
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        background-color: var(--primary-color);
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.2);
        z-index: 999;
    }

    .mobile-user-nav a {
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 1rem 0;
        text-decoration: none;
        color: rgba(255, 255, 255, 0.7);
        font-size: 1rem;
        font-weight: 500;
        transition: color 0.3s ease;
    }

    .mobile-user-nav a i {
        font-size: 1.8rem;
        margin-bottom: 0.5rem;
    }

    .mobile-user-nav a.active {
        color: var(--white);
    }

    .nav-bottom-indicator {
        position: absolute;
        bottom: 0;
        left: 0;
        height: 3px;
        width: 20%;
        background-color: var(--white);
        transition: transform 0.3s ease;
    }

    /* Adjust body padding for fixed bottom nav */
    body {
        padding-bottom: 63px;
    }
}

/* Smaller devices adjustments */
@media (max-width: 576px) {
    .mobile-menu-toggle {
        margin-right: 1rem;
    }

    .search-form input {
        font-size: 2.2rem;
    }
}

/* RIPROGETTAZIONE MENU MOBILE IN STILE APP */

/* Reimpostazione color per menu desktop */
.nav-list>li>a {
    color: var(--primary);
    font-size: 1.4rem;
    font-weight: 600;
    text-transform: uppercase;
    padding: 0 1.8rem;
    height: 100%;
    text-decoration: none;
    letter-spacing: 0.05em;
    transition: all 0.3s ease;
    position: relative;
    font-family: var(--font-primary);
    display: flex;
    align-items: center;
    justify-content: center;
}

/* MENU MOBILE COMPLETAMENTE RIDISEGNATO IN STILE APP */
@media (max-width: 992px) {

    /* Hamburger moderno */
    .mobile-menu-toggle {
        width: 40px;
        height: 40px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        border: none;
        background: transparent;
        cursor: pointer;
        z-index: 1001;
        position: relative;
        transition: all 0.3s ease;
    }

    .mobile-menu-toggle span {
        display: block;
        width: 24px;
        height: 2px;
        margin: 3px 0;
        background-color: var(--white);
        transition: all 0.3s cubic-bezier(0.68, -0.6, 0.32, 1.6);
    }

    /* Animazione X per hamburger */
    .mobile-menu-toggle.active span:nth-child(1) {
        transform: rotate(45deg) translate(5px, 5px);
    }

    .mobile-menu-toggle.active span:nth-child(2) {
        opacity: 0;
        transform: translateX(-20px);
    }

    .mobile-menu-toggle.active span:nth-child(3) {
        transform: rotate(-45deg) translate(5px, -5px);
    }

    /* Menu mobile fullscreen in stile app */
    .main-nav {
        position: fixed;
        top: 0;
        right: -100%;
        width: 100%;
        height: 100vh;
        background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%);
        z-index: 1000;
        overflow-y: auto;
        transition: all 0.4s cubic-bezier(0.77, 0, 0.175, 1);
        display: flex;
        flex-direction: column;
        padding-top: 80px;
        opacity: 0;
    }

    .main-nav.active {
        right: 0;
        opacity: 1;
    }

    .main-nav .container {
        width: 100%;
        padding: 0;
        height: auto;
    }

    .nav-list {
        flex-direction: column;
        width: 100%;
        padding: 0;
    }

    .nav-list>li {
        width: 100%;
        margin: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    .nav-list>li>a {
        padding: 20px;
        width: 100%;
        color: var(--white);
        font-size: 1.8rem;
        justify-content: flex-start;
        display: flex;
        align-items: center;
    }

    /* Icona + per i dropdown */
    .dropdown>a::after {
        content: '+';
        position: absolute;
        right: 20px;
        font-size: 2.4rem;
        transition: transform 0.3s ease;
    }

    .dropdown.active>a::after {
        transform: rotate(45deg);
    }

    /* Dropdown redesign */
    .dropdown-content {
        position: static;
        width: 100%;
        min-width: unset;
        transform: none;
        box-shadow: none;
        padding: 0;
        height: 0;
        overflow: hidden;
        opacity: 1;
        visibility: visible;
        background-color: rgba(0, 0, 0, 0.15);
        border-top: none;
        transition: height 0.3s ease;
    }

    .dropdown.active .dropdown-content {
        height: auto;
    }

    .dropdown-content ul {
        padding: 0;
    }

    .dropdown-content ul li a {
        padding: 15px 25px 15px 40px;
        color: rgba(255, 255, 255, 0.85);
        font-size: 1.6rem;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    }

    .dropdown-content ul li a:hover,
    .dropdown-content ul li a:active {
        background-color: rgba(255, 255, 255, 0.1);
        color: var(--white);
    }

    /* Back button per navigazione mobile */
    .mobile-nav-header {
        display: flex;
        align-items: center;
        padding: 15px 20px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
    }

    .mobile-nav-title {
        color: var(--white);
        font-size: 1.8rem;
        font-weight: 600;
        margin: 0 auto;
    }

    /* Effetto app con swipe animation */
    .main-nav.active .nav-list>li {
        animation: slideInRight 0.3s forwards;
        opacity: 0;
        transform: translateX(20px);
    }

    @keyframes slideInRight {
        from {
            opacity: 0;
            transform: translateX(20px);
        }

        to {
            opacity: 1;
            transform: translateX(0);
        }
    }

    /* Aggiungere ritardo per effetto a cascata */
    .main-nav.active .nav-list>li:nth-child(1) {
        animation-delay: 0.1s;
    }

    .main-nav.active .nav-list>li:nth-child(2) {
        animation-delay: 0.15s;
    }

    .main-nav.active .nav-list>li:nth-child(3) {
        animation-delay: 0.2s;
    }

    .main-nav.active .nav-list>li:nth-child(4) {
        animation-delay: 0.25s;
    }

    .main-nav.active .nav-list>li:nth-child(5) {
        animation-delay: 0.3s;
    }

    .main-nav.active .nav-list>li:nth-child(6) {
        animation-delay: 0.35s;
    }

    .main-nav.active .nav-list>li:nth-child(7) {
        animation-delay: 0.4s;
    }
}

/* Navigazione bottom mobile migliorata */
.mobile-user-nav {
    display: none;
}

@media (max-width: 768px) {


    .match-header {
        text-align: left;
        margin-bottom: 3rem;
        position: relative;
        padding-bottom: 0;
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        flex-direction: column;
    }

    .match-date-location {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding-left: 52px;
    }

    .competition-logo {
        background-color: var(--white);
        min-width: 40px;
        min-height: 40px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
    }

    .team-logo {
        padding: 0;
    }



    .mobile-user-nav {
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 65px;
        background: rgba(255, 255, 255, 0.95);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        box-shadow: 0 -5px 20px rgba(0, 0, 0, 0.1);
        z-index: 999;
        border-top: 1px solid rgba(0, 0, 0, 0.05);
        justify-content: space-between;
        padding: 0 10px;
    }

    .mobile-user-nav a {
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        color: var(--text-color);
        font-size: 1rem;
        font-weight: 500;
        padding: 10px 0;
        position: relative;
        text-decoration: none;
        transition: all 0.2s ease;
    }

    .mobile-user-nav a i {
        font-size: 1.6rem;
        margin-bottom: 5px;
        transition: all 0.2s ease;
    }

    .mobile-user-nav a.active {
        color: var(--primary-color);
    }

    .mobile-user-nav a.active i {
        transform: translateY(-5px);
    }

    .nav-bottom-indicator {
        position: absolute;
        width: 20%;
        height: 3px;
        bottom: 0;
        left: 0;
        background: linear-gradient(90deg, var(--primary-color), var(--primary-light));
        border-radius: 3px 3px 0 0;
        transform: translateX(0);
        transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    }

    /* Adjust body padding for fixed bottom nav */
    body {
        padding-bottom: 65px;
    }
}

/* REDESIGN COMPLETAMENTE INNOVATIVO MENU MOBILE */

@media (max-width: 992px) {

    /* Hamburger premium con effetto magnetico */
    .mobile-menu-toggle {
        width: 45px;
        height: 45px;
        position: relative;
        z-index: 1100;
        background: rgba(255, 255, 255, 0.1);
        border-radius: 50%;
        border: none;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        cursor: pointer;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
        transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        backdrop-filter: blur(5px);
        margin-right: 1rem;
    }

    .mobile-menu-toggle:hover {
        transform: scale(1.05);
        box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
    }

    .mobile-menu-toggle span {
        display: block;
        width: 22px;
        height: 2px;
        background-color: var(--white);
        border-radius: 2px;
        margin: 2px 0;
        transform-origin: center;
        transition: all 0.4s cubic-bezier(0.68, -0.6, 0.32, 1.6);
    }

    /* Animazione premium dell'hamburger */
    .mobile-menu-toggle.active {
        background: var(--secondary-color);
    }

    .mobile-menu-toggle.active span:nth-child(1) {
        transform: rotate(45deg) translate(5px, 5px);
        width: 22px;
    }

    .mobile-menu-toggle.active span:nth-child(2) {
        opacity: 0;
        width: 0;
        transform: translateX(-10px);
    }

    .mobile-menu-toggle.active span:nth-child(3) {
        transform: rotate(-45deg) translate(5px, -5px);
        width: 22px;
    }

    /* Menu mobile APP style ultra moderno */
    .main-nav {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background: linear-gradient(130deg, var(--primary-dark) 0%, var(--primary-color) 80%);
        background-size: 200% 200%;
        z-index: 1090;
        transform: translateX(100%);
        transition: transform 0.5s cubic-bezier(0.77, 0, 0.175, 1);
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        overflow-y: auto;
        overflow-x: hidden;
    }

    .main-nav::before {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
        opacity: 0.05;
        pointer-events: none;
    }

    .main-nav.active {
        transform: translateX(0);
        box-shadow: -10px 0 30px rgba(0, 0, 0, 0.2);
    }

    .main-nav .container {
        width: 100%;
        height: auto;
        padding: 90px 0 120px;
        display: flex;
        flex-direction: column;
    }

    /* Pulsazione brand durante la navigazione */
    .nav-brand {
        position: absolute;
        top: 25px;
        left: 25px;
        height: 40px;
        opacity: 0.8;
        transition: all 0.3s ease;
    }

    /* Lista menu con animazioni ultra-moderne */
    .nav-list {
        flex-direction: column;
        width: 100%;
        padding: 0;
        margin: 0;
    }

    .nav-list>li {
        width: 100%;
        margin: 0;
        opacity: 0;
        transform: translateX(50px);
        transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .main-nav.active .nav-list>li {
        opacity: 1;
        transform: translateX(0);
    }

    /* Gestione delay per animazioni a cascata */
    .main-nav.active .nav-list>li:nth-child(1) {
        transition-delay: 0.1s;
    }

    .main-nav.active .nav-list>li:nth-child(2) {
        transition-delay: 0.15s;
    }

    .main-nav.active .nav-list>li:nth-child(3) {
        transition-delay: 0.2s;
    }

    .main-nav.active .nav-list>li:nth-child(4) {
        transition-delay: 0.25s;
    }

    .main-nav.active .nav-list>li:nth-child(5) {
        transition-delay: 0.3s;
    }

    .main-nav.active .nav-list>li:nth-child(6) {
        transition-delay: 0.35s;
    }

    .main-nav.active .nav-list>li:nth-child(7) {
        transition-delay: 0.4s;
    }

    /* Link principali ridisegnati completamente */
    .nav-list>li>a {
        padding: 18px 25px;
        width: 100%;
        color: rgba(255, 255, 255, 0.9);
        font-size: 1.7rem;
        font-weight: 600;
        display: flex;
        align-items: center;
        position: relative;
        border: none;
        background: transparent;
        transition: all 0.3s ease;
    }

    .nav-list>li>a:active {
        background: rgba(255, 255, 255, 0.08);
        transform: scale(0.98);
    }

    /* Icona dropdown completamente rinnovata */
    .dropdown>a::after {
        content: '+';
        position: absolute;
        right: 25px;
        font-size: 2.2rem;
        font-weight: 300;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        color: rgba(255, 255, 255, 0.6);
        top: 50%;
        transform: translateY(-50%);
    }

    .dropdown.active>a::after {
        transform: translateY(-50%) rotate(45deg);
        color: var(--white);
    }

    /* Dropdown redesign completo - stile app moderna */
    .dropdown-content {
        position: static;
        width: 100%;
        min-width: unset;
        box-shadow: none;
        border: none;
        height: 0;
        overflow: hidden;
        opacity: 1;
        visibility: visible;
        background: rgba(0, 0, 0, 0.2);
        transition: height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        max-height: 0;
        transform: none;
    }

    .dropdown.active .dropdown-content {
        height: auto;
        max-height: 500px;
    }

    .dropdown-content ul {
        padding: 5px 0 10px;
        margin: 0;
        list-style: none;
    }

    .dropdown-content ul li a {
        display: block;
        padding: 14px 25px 14px 40px;
        color: rgba(255, 255, 255, 0.8);
        font-size: 1.5rem;
        text-decoration: none;
        position: relative;
    }

    .dropdown-content ul li a::before {
        content: '';
        position: absolute;
        left: 20px;
        top: 50%;
        width: 6px;
        height: 6px;
        background: var(--secondary-color);
        transform: translateY(-50%);
    }

    /* Highlight items dropdown con effetto ripple */
    .dropdown-content ul li a::before {
        content: '';
        position: absolute;
        left: 25px;
        top: 50%;
        transform: translateY(-50%);
        width: 5px;
        height: 5px;
        background-color: rgba(255, 255, 255, 0.4);
        border-radius: 50%;
        transition: all 0.3s ease;
    }

    .dropdown-content ul li a:hover::before {
        background-color: var(--white);
        box-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
    }

    .dropdown-content ul li a:hover {
        color: var(--white);
        background: rgba(255, 255, 255, 0.05);
        padding-left: 45px;
    }
}

/* NAVIGAZIONE BOTTOM TIPO APP TOTALMENTE RIPROGETTATA */
@media (max-width: 768px) {
    .mobile-user-nav {
        display: flex;
        position: fixed;
        bottom: 15px;
        left: 50%;
        transform: translateX(-50%);
        width: 90%;
        height: 70px;
        background: rgba(0, 0, 0, 0.85);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        border-radius: 20px;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25),
            0 0 0 1px rgba(255, 255, 255, 0.1);
        z-index: 1001;
        padding: 0;
        justify-content: space-between;
        align-items: center;
    }

    /* Animazione ed effetti super moderni */
    .mobile-user-nav a {
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        color: rgba(255, 255, 255, 0.6);
        font-size: 0.9rem;
        font-weight: 500;
        padding: 10px 5px;
        position: relative;
        text-decoration: none;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .mobile-user-nav a i {
        font-size: 1.5rem;
        margin-bottom: 5px;
    }

    .mobile-user-nav a.active {
        color: var(--white);
    }

    /* Barra rossa indicatore - correzione allineamento */
    .nav-bottom-indicator {
        position: absolute;
        width: 20%;
        height: 3px;
        bottom: 10px;
        left: 0;
        background: var(--secondary-color);
        border-radius: 3px 3px 0 0;
        transform: translateX(0);
        transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
        z-index: 1;
    }

    /* Scripts per garantire che l'indicatore si allinei correttamente */
    .mobile-user-nav a:nth-child(2).active~.nav-bottom-indicator {
        transform: translateX(100%) !important;
    }

    .mobile-user-nav a:nth-child(3).active~.nav-bottom-indicator {
        transform: translateX(200%) !important;
    }

    .mobile-user-nav a:nth-child(4).active~.nav-bottom-indicator {
        transform: translateX(300%) !important;
    }

    .mobile-user-nav a:nth-child(5).active~.nav-bottom-indicator {
        transform: translateX(400%) !important;
    }
}

/* Effetti aggiuntivi per modelli più piccoli */
@media (max-width: 576px) {
    .mobile-menu-toggle {
        margin-right: 0.5rem;
        width: 40px;
        height: 40px;
    }

    .nav-list>li>a {
        font-size: 1.6rem;
        padding: 16px 20px;
    }

    .dropdown-content ul li a {
        padding: 12px 20px 12px 35px;
    }
}

/* CORREZIONE MENU MOBILE TAGLIATO E PULSANTE CERCA */

/* Correzione dropdown menu mobile */
@media (max-width: 992px) {

    /* Correzione larghezza dropdown che appariva tagliato */
    .dropdown-content {
        position: static;
        width: 100%;
        min-width: unset;
        box-shadow: none;
        border: none;
        height: 0;
        overflow: hidden;
        opacity: 1;
        visibility: visible;
        background: rgba(0, 0, 0, 0.2);
        transition: height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        max-height: 0;
        transform: none;
    }

    .dropdown.active .dropdown-content {
        height: auto;
        max-height: 500px;
        width: 100%;
        left: 0;
        right: 0;
    }

    .dropdown-content ul {
        padding: 5px 0 10px;
        margin: 0;
        list-style: none;
        width: 100%;
    }

    .dropdown-content ul li {
        margin: 0;
        transition: background 0.3s ease;
        width: 100%;
    }

    .dropdown-content ul li a {
        padding: 14px 25px 14px 40px;
        font-size: 1.5rem;
        color: rgba(255, 255, 255, 0.75);
        display: block;
        position: relative;
        overflow: hidden;
        transition: all 0.3s ease;
        font-weight: 400;
        width: 100%;
        text-align: left;
    }
}

/* PULSANTE RICERCA DESKTOP */
.search-toggle {
    border: none;
    background: transparent;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--white);
    font-size: 1.6rem;
    transition: all 0.3s ease;
    position: relative;
    margin-left: 15px;
}

.search-toggle:hover {
    background-color: rgba(255, 255, 255, 0.1);
    transform: scale(1.05);
}

/* PULSANTE RICERCA MOBILE */
@media (max-width: 992px) {

    /* Aggiunta pulsante ricerca nel menu mobile */
    .mobile-search-trigger {
        position: absolute;
        top: 25px;
        right: 25px;
        width: 45px;
        height: 45px;
        background: rgba(255, 255, 255, 0.1);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--white);
        font-size: 1.6rem;
        border: none;
        cursor: pointer;
        z-index: 1091;
        transition: all 0.3s ease;
    }

    .mobile-search-trigger:hover,
    .mobile-search-trigger:active {
        background: rgba(255, 255, 255, 0.2);
        transform: scale(1.05);
    }

    /* Assicurarsi che il pannello di ricerca funzioni correttamente su mobile */
    .search-modal {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 30, 0.95);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        z-index: 1200;
        display: flex;
        align-items: center;
        justify-content: center;
        opacity: 0;
        visibility: hidden;
        transition: all 0.4s ease;
    }

    .search-modal.active {
        opacity: 1;
        visibility: visible;
    }

    .search-modal-content {
        width: 90%;
        max-width: 700px;
        padding: 2rem;
        position: relative;
        transform: translateY(20px);
        transition: all 0.4s ease;
    }

    .search-modal.active .search-modal-content {
        transform: translateY(0);
    }

    .search-form {
        position: relative;
        width: 100%;
    }

    .search-form input {
        width: 100%;
        padding: 1.5rem 0;
        font-size: 2rem;
        background: transparent;
        border: none;
        border-bottom: 2px solid rgba(255, 255, 255, 0.3);
        color: var(--white);
        outline: none;
        transition: all 0.3s ease;
    }

    .search-form input:focus {
        border-bottom-color: var(--white);
    }

    .search-form input::placeholder {
        color: rgba(255, 255, 255, 0.7);
    }

    .search-form button {
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        background: transparent;
        border: none;
        color: var(--white);
        font-size: 2rem;
        cursor: pointer;
        transition: all 0.3s ease;
    }

    .search-form button:hover {
        color: var(--secondary-color);
    }

    .search-close {
        position: absolute;
        top: -50px;
        right: 0;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.1);
        border: none;
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--white);
        font-size: 1.6rem;
        cursor: pointer;
        transition: all 0.3s ease;
    }

    .search-close:hover {
        background: rgba(255, 255, 255, 0.2);
        transform: scale(1.1);
    }
}

/* CORREZIONE PROBLEMI LAYOUT MENU E SEARCH */

/* 1. CORREZIONE ALLINEAMENTO CERCA SUL DESKTOP */
.search-bar {
    display: flex;
    align-items: center;
    height: 100%;
}

.search-toggle {
    border: none;
    background: transparent;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--white);
    font-size: 1.6rem;
    transition: all 0.3s ease;
    margin-left: 15px;
}

.search-toggle:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

.main-nav .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
    padding: 0 15px;
}

.nav-list {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    height: 100%;
}

/* 2. CORREZIONE DROPDOWN SU MOBILE (SOTTO INVECE CHE LATERALI) */
@media (max-width: 992px) {
    .dropdown-content {
        position: static !important;
        width: 100% !important;
        min-width: unset !important;
        box-shadow: none !important;
        border: none !important;
        height: 0 !important;
        max-height: 0 !important;
        overflow: hidden !important;
        opacity: 1 !important;
        visibility: visible !important;
        background: rgba(0, 0, 0, 0.2) !important;
        transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
        transform: none !important;
        left: 0 !important;
        right: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .dropdown.active .dropdown-content {
        height: auto !important;
        max-height: 500px !important;
    }

    .dropdown-content ul {
        padding: 0 !important;
        margin: 0 !important;
        list-style: none !important;
        width: 100% !important;
    }

    .dropdown-content ul li {
        width: 100% !important;
        margin: 0 !important;
    }

    .dropdown-content ul li a {
        padding: 14px 20px 14px 40px !important;
        font-size: 1.5rem !important;
        color: rgba(255, 255, 255, 0.75) !important;
        display: block !important;
        width: 100% !important;
        text-align: left !important;
    }

    /* Migliora pulsante X di chiusura (cerchio rosso) */
    .mobile-menu-toggle.active {
        background: var(--secondary-color) !important;
        z-index: 1500 !important;
        position: fixed !important;
        top: 20px !important;
        right: 20px !important;
    }

    .mobile-menu-toggle.active span {
        background-color: var(--white) !important;
    }

    /* Pulsante di ricerca nel mobile */
    .mobile-search-trigger {
        position: fixed !important;
        top: 20px !important;
        right: 80px !important;
        /* Spostato a sinistra del pulsante di chiusura */
        width: 45px !important;
        height: 45px !important;
        background: rgba(255, 255, 255, 0.1) !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: var(--white) !important;
        font-size: 1.6rem !important;
        border: none !important;
        cursor: pointer !important;
    }
}

/* CORREZIONE DEFINITIVA MENU DESKTOP E MOBILE */

/* 1. CORREZIONE ALLINEAMENTO SEARCH DESKTOP */
.main-nav {
    background-color: var(--primary-color);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    height: 60px;
    position: relative;
    z-index: 100;
}

.main-nav .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
}

.nav-list {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    height: 100%;
}

.nav-list>li {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
}

.nav-list>li>a {
    color: var(--primary);
    font-size: 1.4rem;
    font-weight: 600;
    text-transform: uppercase;
    padding: 0 1.5rem;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all 0.3s ease;
}

.nav-list>li>a:hover {
    color: rgba(0, 0, 0, 0.8);
}

.search-bar {
    display: flex;
    align-items: center;
    height: 100%;
}

.search-toggle {
    background: transparent;
    border: none;
    color: var(--white);
    font-size: 1.6rem;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    border-radius: 50%;
}

.search-toggle:hover {
    background: rgba(255, 255, 255, 0.1);
}

/* 2. RIPROGETTAZIONE COMPLETA MENU MOBILE */
@media (max-width: 992px) {
    .mobile-menu-toggle {
        display: block;
        width: 44px;
        height: 44px;
        background: transparent;
        border: none;
        position: relative;
        z-index: 2000;
        cursor: pointer;
        outline: none;
    }

    .mobile-menu-toggle span {
        display: block;
        width: 24px;
        height: 2px;
        background-color: var(--white);
        margin: 5px auto;
        transition: all 0.3s ease;
    }

    .mobile-menu-toggle.active {
        position: fixed;
        top: 20px;
        right: 20px;
        z-index: 2000;
    }

    .mobile-menu-toggle.active span:nth-child(1) {
        transform: rotate(45deg) translate(5px, 5px);
    }

    .mobile-menu-toggle.active span:nth-child(2) {
        opacity: 0;
    }

    .mobile-menu-toggle.active span:nth-child(3) {
        transform: rotate(-45deg) translate(5px, -5px);
    }

    /* Menu fullscreen */
    .main-nav {
        position: fixed;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100vh;
        background: var(--primary-color);
        transition: all 0.4s ease-in-out;
        z-index: 1990;
        display: flex;
        flex-direction: column;
        padding-top: 80px;
        opacity: 0;
        overflow-y: auto;
    }

    .main-nav.active {
        left: 0;
        opacity: 1;
    }

    .main-nav .container {
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        padding: 0;
        height: auto;
    }

    .nav-list {
        flex-direction: column;
        width: 100%;
        height: auto;
    }

    .nav-list>li {
        width: 100%;
        height: auto;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    .nav-list>li>a {
        width: 100%;
        padding: 16px 20px;
        justify-content: flex-start;
        color: var(--primary);
        font-size: 1.6rem;
    }

    /* Dropdown nel mobile */
    .dropdown-content {
        position: static;
        width: 100%;
        height: 0;
        overflow: hidden;
        padding: 0;
        margin: 0;
        background-color: rgba(0, 0, 0, 0.2);
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        border-top: none;
        transition: height 0.3s ease;
    }

    .dropdown.active .dropdown-content {
        height: auto;
    }

    .dropdown-content ul {
        padding: 0;
        margin: 0;
    }

    .dropdown-content ul li {
        margin: 0;
    }

    .dropdown-content ul li a {
        padding: 12px 20px 12px 40px;
        color: rgba(255, 255, 255, 0.8);
        font-size: 1.4rem;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
        display: block;
    }

    .dropdown-content ul li a:hover {
        background-color: rgba(255, 255, 255, 0.05);
    }

    /* Toggle per dropdown mobile */
    .dropdown>a::after {
        content: '+';
        position: absolute;
        right: 20px;
        font-size: 1.8rem;
        transition: transform 0.3s ease;
    }

    .dropdown.active>a::after {
        transform: rotate(45deg);
    }

    /* Pulsante di ricerca nel mobile */
    .mobile-search-trigger {
        position: fixed;
        top: 20px;
        right: 80px;
        width: 44px;
        height: 44px;
        background: transparent;
        border: none;
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--white);
        font-size: 1.6rem;
        z-index: 2000;
        cursor: pointer;
    }

    /* Searchbar fullscreen */
    .search-modal {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 8, 64, 0.98);
        z-index: 2001;
        display: flex;
        align-items: center;
        justify-content: center;
        opacity: 0;
        visibility: hidden;
        transition: all 0.4s ease;
    }

    .search-modal.active {
        opacity: 1;
        visibility: visible;
    }

    .search-modal-content {
        width: 90%;
        max-width: 600px;
        position: relative;
    }

    .search-form {
        position: relative;
    }

    .search-form input {
        width: 100%;
        padding: 15px 50px 15px 0;
        font-size: 2rem;
        background: transparent;
        border: none;
        border-bottom: 2px solid rgba(255, 255, 255, 0.3);
        color: var(--white);
        outline: none;
    }

    .search-form input:focus {
        border-color: var(--white);
    }

    .search-form input::placeholder {
        color: rgba(255, 255, 255, 0.5);
    }

    .search-form button {
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        background: transparent;
        border: none;
        color: var(--white);
        font-size: 1.8rem;
        cursor: pointer;
    }

    .search-close {
        position: absolute;
        top: -60px;
        right: 0;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.1);
        border: none;
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--white);
        font-size: 1.6rem;
        cursor: pointer;
    }
}

/* Navigazione bottom mobile migliorata */
@media (max-width: 768px) {
    .mobile-user-nav {
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 60px;
        background-color: var(--white);
        box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
        z-index: 999;
    }

    .mobile-user-nav a {
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        color: var(--text-color);
        font-size: 0.8rem;
        text-decoration: none;
        padding: 8px 0;
        position: relative;
    }

    .mobile-user-nav a i {
        font-size: 1.4rem;
        margin-bottom: 4px;
    }

    .mobile-user-nav a.active {
        color: var(--primary-color);
    }

    .nav-bottom-indicator {
        position: absolute;
        bottom: 0;
        left: 0;
        height: 3px;
        width: 20%;
        background-color: var(--secondary-color);
        transition: transform 0.3s ease;
    }

    /* Gestione dell'indicatore in base alla voce attiva */
    .mobile-user-nav a:nth-child(1).active~.nav-bottom-indicator {
        transform: translateX(0%);
    }

    .mobile-user-nav a:nth-child(2).active~.nav-bottom-indicator {
        transform: translateX(100%);
    }

    .mobile-user-nav a:nth-child(3).active~.nav-bottom-indicator {
        transform: translateX(200%);
    }

    .mobile-user-nav a:nth-child(4).active~.nav-bottom-indicator {
        transform: translateX(300%);
    }

    .mobile-user-nav a:nth-child(5).active~.nav-bottom-indicator {
        transform: translateX(400%);
    }

    /* Aggiustamento padding body per il menu fisso */
    body {
        padding-bottom: 60px;
    }

    /* Aggiungo background-color nella linea 595 */
    .nav-list>li>a::before {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 3px;
        background-color: var(--secondary-color);
        transform: scaleX(0);
        transform-origin: right;
        transition: transform 0.3s ease;
        z-index: 1;
    }

    /* AGGIUNTO IN FONDO AL FILE - NUOVO MENU MOBILE 2025 */

    /*** MENU MOBILE ULTRA-INNOVATIVO 2025 ***/
    @media (max-width: 992px) {

        /* Hamburger futuristico */
        .mobile-menu-toggle {
            width: 50px;
            height: 50px;
            border-radius: 15px;
            background: rgba(255, 255, 255, 0.1);
            backdrop-filter: blur(5px);
            -webkit-backdrop-filter: blur(5px);
            border: none;
            position: relative;
            cursor: pointer;
            z-index: 10000;
            transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .mobile-menu-toggle span {
            position: absolute;
            height: 2px;
            width: 22px;
            background: var(--white);
            border-radius: 4px;
            transition: all 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
            left: 50%;
            transform: translateX(-50%);
        }

        .mobile-menu-toggle span:nth-child(1) {
            top: 17px;
        }

        .mobile-menu-toggle span:nth-child(2) {
            top: 25px;
            width: 16px;
            left: calc(50% - 3px);
        }

        .mobile-menu-toggle span:nth-child(3) {
            top: 33px;
        }

        .mobile-menu-toggle.active {
            background: var(--secondary-color);
            position: fixed;
            top: 15px;
            right: 15px;
        }

        .mobile-menu-toggle.active span {
            background: var(--white);
        }

        .mobile-menu-toggle.active span:nth-child(1) {
            top: 24px;
            transform: translateX(-50%) rotate(45deg);
            width: 24px;
        }

        .mobile-menu-toggle.active span:nth-child(2) {
            transform: translateX(100px);
            opacity: 0;
        }

        .mobile-menu-toggle.active span:nth-child(3) {
            top: 24px;
            transform: translateX(-50%) rotate(-45deg);
            width: 24px;
        }

        /* Menu fullscreen design 2025 */
        .main-nav {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100vh;
            background: linear-gradient(135deg, rgba(0, 8, 64, 0.95), rgba(0, 6, 48, 0.98));
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            z-index: 9999;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding-top: 60px;
            opacity: 0;
            visibility: hidden;
            transform: translateX(100%);
            transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
            overflow: auto;
        }

        .main-nav.active {
            opacity: 1;
            visibility: visible;
            transform: translateX(0);
        }

        .main-nav .container {
            width: 100%;
            height: auto;
            padding: 0;
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        /* Menu items in stile drawer modernissimo */
        .nav-list {
            display: flex;
            flex-direction: column;
            width: 90%;
            max-width: 400px;
            margin: 20px auto;
            padding: 0;
        }

        .nav-list>li {
            margin: 10px 0;
            width: 100%;
            transform: translateX(-30px);
            opacity: 0;
            transition: all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
        }

        .main-nav.active .nav-list>li {
            transform: translateX(0);
            opacity: 1;
        }

        .main-nav.active .nav-list>li:nth-child(1) {
            transition-delay: 0.1s;
        }

        .main-nav.active .nav-list>li:nth-child(2) {
            transition-delay: 0.2s;
        }

        .main-nav.active .nav-list>li:nth-child(3) {
            transition-delay: 0.3s;
        }

        .main-nav.active .nav-list>li:nth-child(4) {
            transition-delay: 0.4s;
        }

        .main-nav.active .nav-list>li:nth-child(5) {
            transition-delay: 0.5s;
        }

        .main-nav.active .nav-list>li:nth-child(6) {
            transition-delay: 0.6s;
        }

        .main-nav.active .nav-list>li:nth-child(7) {
            transition-delay: 0.7s;
        }

        .nav-list>li>a {
            font-size: 2rem;
            font-weight: 700;
            color: var(--white);
            text-decoration: none;
            padding: 16px 20px;
            border-radius: 14px;
            display: flex;
            align-items: center;
            position: relative;
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.1);
            box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
        }

        .nav-list>li>a::before {
            content: '';
            position: absolute;
            left: 0;
            top: 0;
            height: 100%;
            width: 4px;
            background: linear-gradient(180deg, var(--secondary-color), transparent);
        }

        /* Dropdown design moderno */
        .dropdown>a::after {
            content: '+';
            position: absolute;
            right: 20px;
            font-size: 2.2rem;
            transition: transform 0.4s ease;
        }

        .dropdown.active>a::after {
            transform: rotate(45deg);
        }

        .dropdown-content {
            height: 0;
            overflow: hidden;
            transition: height 0.5s cubic-bezier(0.4, 0, 0.2, 1);
            margin-top: 5px;
            width: 100%;
            border-radius: 14px;
            background: rgba(0, 0, 0, 0.2);
        }

        .dropdown.active .dropdown-content {
            height: auto;
        }

        .dropdown-content ul {
            list-style: none;
            margin: 10px 0;
            padding: 0;
        }

        .dropdown-content ul li a {
            display: block;
            padding: 14px 20px 14px 40px;
            color: rgba(255, 255, 255, 0.8);
            font-size: 1.5rem;
            text-decoration: none;
            position: relative;
        }

        .dropdown-content ul li a::before {
            content: '';
            position: absolute;
            left: 20px;
            top: 50%;
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background: var(--secondary-color);
            transform: translateY(-50%);
        }

        /* Pulsante di ricerca nel mobile */
        .mobile-search-trigger {
            position: fixed;
            top: 15px;
            right: 75px;
            width: 50px;
            height: 50px;
            border-radius: 15px;
            background: rgba(255, 255, 255, 0.1);
            backdrop-filter: blur(5px);
            -webkit-backdrop-filter: blur(5px);
            border: none;
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--white);
            font-size: 1.8rem;
            z-index: 10000;
            cursor: pointer;
        }

        /* Barra navigazione stile app bottom */
        .mobile-user-nav {
            display: flex;
            position: fixed;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            width: 90%;
            height: 70px;
            background: rgba(0, 8, 64, 0.8);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            border-radius: 20px;
            z-index: 9000;
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
        }

        .mobile-user-nav a {
            flex: 1;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            color: rgba(255, 255, 255, 0.6);
            text-decoration: none;
            font-size: 0.85rem;
        }

        .mobile-user-nav a i {
            font-size: 1.5rem;
            margin-bottom: 4px;
            transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
        }

        .mobile-user-nav a.active {
            color: var(--white);
        }

        .mobile-user-nav a.active i {
            transform: translateY(-8px);
        }

        .nav-bottom-indicator {
            position: absolute;
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background: var(--secondary-color);
            bottom: 8px;
            left: 10%;
            box-shadow: 0 0 15px var(--secondary-color);
            transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
        }

        .mobile-user-nav a:nth-child(1).active~.nav-bottom-indicator {
            left: 10%;
        }

        .mobile-user-nav a:nth-child(2).active~.nav-bottom-indicator {
            left: 30%;
        }

        .mobile-user-nav a:nth-child(3).active~.nav-bottom-indicator {
            left: 50%;
        }

        .mobile-user-nav a:nth-child(4).active~.nav-bottom-indicator {
            left: 70%;
        }

        .mobile-user-nav a:nth-child(5).active~.nav-bottom-indicator {
            left: 90%;
        }


    }

    .mobile-user-nav a:nth-child(4).active~.nav-bottom-indicator {
        left: 70%;
    }

    .mobile-user-nav a:nth-child(5).active~.nav-bottom-indicator {
        left: 90%;
    }


}

/**
 * MARSALA CALCIO - MENU COMPLETAMENTE SEPARATI 
 * Due menu completamente diversi: uno desktop e uno mobile
 */

/* 1. MENU DESKTOP PROFESSIONALE */

.marsala-desktop-menu {
    background: var(--marsala-blue);
    height: 80px;
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    display: block;
}

.marsala-desktop-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.marsala-desktop-logo {
    height: 60px;
    display: flex;
    align-items: center;
}

.marsala-desktop-logo img {
    height: 120px;
        width: auto;
        transition: transform 0.3s ease;
        margin-top: 60px;
}

.marsala-desktop-logo:hover img {
    transform: scale(1.1);
    filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.5));
}

.marsala-desktop-nav {
    flex: 1;
    display: flex;
    justify-content: center;
}

.marsala-desktop-items {
    display: flex;
    list-style: none;
    height: 80px;
}

.marsala-desktop-item {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
}

.marsala-desktop-link {
    display: flex;
    align-items: center;
    height: 100%;
    padding: 0 15px;
    color: var(--marsala-white);
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    transition: color 0.3s;
    position: relative;
}

.marsala-desktop-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 15px;
    width: calc(100% - 30px);
    height: 3px;
    background-color: var(--light-gray);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.3s ease;
}

.marsala-desktop-item:hover .marsala-desktop-link::after {
    transform: scaleX(1);
    transform-origin: left;
}

.marsala-desktop-item:hover .marsala-desktop-link {
    color: #c0c0c0 !important;
}

/* Desktop dropdown */
.marsala-desktop-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 220px;
    background-color: var(--marsala-white);

    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s;
    z-index: 1000;
}

.marsala-desktop-item:hover .marsala-desktop-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.marsala-desktop-dropdown-list {
    list-style: none;
    padding: 10px 0;
}

.marsala-desktop-dropdown-item {
    padding: 0;
}

.marsala-desktop-dropdown-link {
    display: block;
    padding: 10px 20px;
    color: var(--marsala-text);
    text-decoration: none;
    font-size: 14px;
    transition: all 0.2s;
}

.marsala-desktop-dropdown-link:hover {
    background-color: rgba(0, 127, 255, 0.1);
    color: var(--marsala-light-blue);
    padding-left: 25px;
}

/* Desktop search */
.marsala-desktop-search {
    margin-left: 15px;
}

.marsala-desktop-search-btn {
    position: relative;
    background: transparent;
    color: var(--marsala-white);
    border: none;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s ease;
}

.marsala-desktop-search-btn:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

/* ----- MARSALA MOBILE MENU ----- */
/* Header mobile */
.marsala-mobile-header {
    display: none;
}

.marsala-mobile-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    height: 60px;
    background: linear-gradient(to bottom, var(--marsala-blue), var(--marsala-navy));
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.marsala-mobile-logo {
    display: flex;
    align-items: center;
}

.marsala-mobile-logo img {
    height: 35px;
    width: auto;
    margin-right: 8px;
}

.marsala-mobile-logo-text {
    font-weight: 700;
    color: var(--marsala-white);
    font-size: 18px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.marsala-mobile-actions {
    display: flex;
    align-items: center;
}

.marsala-mobile-ticket-btn {
    background-color: var(--marsala-light-blue);
    color: white;
    border: none;
    border-radius: 30px;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 600;
    display: flex;
    align-items: center;
    text-decoration: none;
    margin-right: 15px;
    box-shadow: 0 3px 8px rgba(0, 127, 255, 0.3);
}

.marsala-mobile-ticket-btn i {
    margin-right: 5px;
    font-size: 10px;
}

/* Hamburger menu toggle */
.marsala-mobile-menu-toggle {
    width: 30px;
    height: 30px;
    position: relative;
    background: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    padding: 0;
}

.marsala-mobile-menu-toggle span {
    width: 100%;
    height: 2px;
    background-color: var(--marsala-white);
    border-radius: 3px;
    transition: all 0.3s;
    transform-origin: center;
}

.marsala-mobile-menu-toggle.active span:nth-child(1) {
    transform: translateY(9px) rotate(45deg);
}

.marsala-mobile-menu-toggle.active span:nth-child(2) {
    opacity: 0;
}

.marsala-mobile-menu-toggle.active span:nth-child(3) {
    transform: translateY(-9px) rotate(-45deg);
}

/* Menu principale mobile */
.marsala-mobile-menu {
    position: fixed;
    top: 60px;
    left: 0;
    width: 100%;
    height: calc(100vh - 60px);
    background: linear-gradient(to bottom, var(--marsala-blue), var(--marsala-navy));
    overflow-y: auto;
    padding: 20px 0;
    transform: translateX(100%);
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 100;
}

.marsala-mobile-menu.active {
    transform: translateX(0);
}

/* Sezione info utente */
.marsala-mobile-user-info {
    display: flex;
    align-items: center;
    padding: 15px 20px;
    margin-bottom: 20px;
    background-color: rgba(255, 255, 255, 0.05);
    border-radius: 8px;
    margin: 0 16px 20px;
}

.marsala-mobile-match-stadium {
    display: none;
}

.marsala-mobile-match-teams>* {
    flex: 1;
    align-items: center;
    justify-content: center;
}

.marsala-mobile-match-team,
.marsala-mobile-match-vs {
    display: flex;
    flex-direction: column;
    /* Imposta disposizione verticale */
    align-items: center;
    /* Centra orizzontalmente il contenuto */
    text-align: center;
    /* Centra il testo */
}

.marsala-mobile-user-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 15px;
    color: var(--marsala-white);
    position: relative;
    display: block;
    overflow: hidden;
}

.marsala-mobile-user-avatar img {
    width: 100%;
    object-fit: cover;
}

.marsala-mobile-user-details {
    color: var(--marsala-white);
    flex: 1;
}

.marsala-mobile-user-welcome {
    color: rgba(255, 255, 255, 0.7);
    font-size: 12px;
    margin-bottom: 2px;
}

.marsala-mobile-user-action {
    color: var(--marsala-white);
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
}

/* Info prossima partita */
.marsala-mobile-match-info {
    background-color: rgba(255, 255, 255, 0.05);
    border-radius: 8px;
    padding: 15px;
    margin: 0 16px 20px;
}

.marsala-mobile-match-label {
    color: rgba(255, 255, 255, 0.7);
    font-size: 12px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
}

.marsala-mobile-match-label i {
    margin-right: 5px;
}

.marsala-mobile-match-teams {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 15px;
}

.marsala-mobile-match-team {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.marsala-mobile-team-logo {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    overflow: hidden;
    background-color: var(--marsala-white);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 5px;
}

.marsala-mobile-team-logo img {
    width: 80%;
    height: auto;
}

.marsala-mobile-team-name {
    color: var(--marsala-white);
    font-size: 12px;
    font-weight: 600;
}

.marsala-mobile-match-vs {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.marsala-mobile-match-time {
    color: var(--marsala-white);
    font-weight: 700;
    font-size: 16px;
}

.marsala-mobile-match-date {
    color: rgba(255, 255, 255, 0.7);
    font-size: 11px;
}

.marsala-mobile-match-cta {
    background-color: var(--marsala-gold);
    color: var(--marsala-blue);
    text-align: center;
    padding: 10px;
    border-radius: 6px;
    font-weight: 700;
    font-size: 12px;
    text-decoration: none;
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s;
}

.marsala-mobile-match-cta i {
    margin-right: 5px;
}

/* Sezioni menu mobile */
.marsala-mobile-menu-section {
    margin-bottom: 20px;
    padding: 0 16px;
}

.marsala-mobile-menu-title {
    color: rgba(255, 255, 255, 0.5);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 10px;
    padding-left: 5px;
}

.marsala-mobile-menu-list {
    list-style: none;
    padding: 0;
}

.marsala-mobile-menu-item {
    margin-bottom: 2px;
    border-radius: 8px;
    overflow: hidden;
}

.marsala-mobile-menu-link {
    display: flex;
    align-items: center;
    padding: 15px 20px;
    color: var(--marsala-white);
    text-decoration: none;
    font-size: 16px;
    font-weight: 500;
    position: relative;
    transition: all 0.2s ease;
}

.marsala-mobile-menu-link:active {
    background-color: rgba(255, 255, 255, 0.05);
}

.marsala-mobile-menu-icon {
    margin-right: 15px;
    width: 20px;
    text-align: center;
    color: var(--marsala-white);
    opacity: 0.9;
}

.marsala-mobile-menu-dropdown .marsala-mobile-menu-link {
    padding-right: 40px;
}

.marsala-mobile-menu-dropdown .marsala-mobile-menu-link::after {
    content: '\f054';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    position: absolute;
    right: 20px;
    transition: transform 0.3s ease;
}

.marsala-mobile-menu-dropdown.active .marsala-mobile-menu-link::after {
    transform: rotate(90deg);
}

.marsala-mobile-search-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, var(--marsala-blue), var(--marsala-navy));
    z-index: 9999;
    transform: translateX(100%);
    transition: transform 0.3s ease;
}

.marsala-mobile-search-modal.active {
    transform: translateX(0);
}

/* Fix the mobile tab indicator */
.marsala-mobile-tab-indicator {
    position: absolute;
    bottom: 0;
    height: 3px;
    width: 20%;
    background: linear-gradient(90deg, var(--marsala-light-blue), var(--marsala-gold));
    border-radius: 3px 3px 0 0;
    transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}

/* Navigation Bar Inferiore Mobile */
.marsala-mobile-bottom-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60px;
    background-color: var(--marsala-blue);
    display: flex;
    justify-content: space-around;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
    z-index: 999;
}

.marsala-mobile-tab {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.6);
    text-decoration: none;
    font-size: 10px;
    transition: color 0.3s;
    position: relative;
}

.marsala-mobile-tab.active {
    color: var(--marsala-white);
}

.marsala-mobile-tab-icon {
    font-size: 18px;
    margin-bottom: 4px;
}

.marsala-mobile-tab-indicator {
    position: absolute;
    bottom: 0;
    height: 3px;
    width: 20%;
    background: linear-gradient(90deg, var(--marsala-light-blue), #ffffff);
    border-radius: 3px 3px 0 0;
    transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.marsala-mobile-bottom-nav .marsala-mobile-tab:nth-child(1).active~.marsala-mobile-tab-indicator {
    transform: translateX(40%);
}

.marsala-mobile-bottom-nav .marsala-mobile-tab:nth-child(2).active~.marsala-mobile-tab-indicator {
    transform: translateX(140%);
}

.marsala-mobile-bottom-nav .marsala-mobile-tab:nth-child(3).active~.marsala-mobile-tab-indicator {
    transform: translateX(240%);
}

.marsala-mobile-bottom-nav .marsala-mobile-tab:nth-child(4).active~.marsala-mobile-tab-indicator {
    transform: translateX(340%);
}

.marsala-mobile-bottom-nav .marsala-mobile-tab:nth-child(5).active~.marsala-mobile-tab-indicator {
    transform: translateX(440%);
}

/* Bottone flottante per ricerca */
.marsala-mobile-fab {
    position: fixed;
    bottom: 75px;
    right: 20px;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background-color: var(--marsala-light-blue);
    color: var(--marsala-white);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 3px 15px rgba(0, 127, 255, 0.4);
    border: none;
    font-size: 20px;
    z-index: 200;
    cursor: pointer;
    transition: transform 0.3s, box-shadow 0.3s;
}

.marsala-mobile-fab:active {
    transform: scale(0.95);
    box-shadow: 0 2px 10px rgba(0, 127, 255, 0.3);
}

/* Media Queries per alternare i menu */
@media (max-width: 991px) {
    body {
        margin-top: 60px !important;
    }

    .marsala-desktop-menu {
        display: none;
    }

    .marsala-mobile-header {
        display: block;
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        z-index: 800;
    }

    body {
        padding-bottom: 60px;
    }

}

@media (min-width: 992px) {
    .marsala-mobile-header {
        display: none;
    }

    .marsala-mobile-bottom-nav {
        display: none;
    }

    .marsala-mobile-fab {
        display: none;
    }

    body {
        padding-bottom: 0;
    }

    .marsala-mobile-bottom-nav {
        display: none !important;
    }
}

/* Miglioramenti per dispositivi più piccoli */
@media (max-width: 360px) {
    .marsala-mobile-topbar {
        padding: 12px 10px;
    }

    .marsala-mobile-ticket-btn {
        padding: 4px 8px;
        font-size: 10px;
        margin-right: 8px;
    }

    .marsala-mobile-match-time {
        font-size: 14px;
    }

    .marsala-mobile-tab-label {
        font-size: 9px;
    }
}

/* Desktop search modal */
.marsala-desktop-search-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

    background-color: var(--primary-color-t-1);
    backdrop-filter: blur(5px);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.marsala-desktop-search-modal.active {
    opacity: 1;
    visibility: visible;
}

.marsala-desktop-search-content {
    width: 80%;
    max-width: 800px;
    position: relative;
    transition: transform 0.4s ease;
    transform: translateY(30px);
}

.marsala-desktop-search-modal.active .marsala-desktop-search-content {
    transform: translateY(0);
}

.marsala-desktop-search-form {
    display: flex;
    position: relative;
}

.marsala-desktop-search-input {
    width: 100%;
    padding: 20px 60px 20px 20px;
    font-size: 20px;
    background-color: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 4px;
    color: #ffffff;
    outline: none;
}

.marsala-desktop-search-input:focus {
    border-color: #0057ff;
}

.marsala-desktop-search-input::placeholder {
    color: rgba(255, 255, 255, 0.5);
}

.marsala-desktop-search-submit {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    color: #ffffff;
    font-size: 24px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.marsala-desktop-search-submit:hover {
    color: #0057ff;
}

.marsala-desktop-search-close {
    position: absolute;
    top: -50px;
    right: 0;
    background: transparent;
    border: none;
    color: #ffffff;
    font-size: 24px;
    cursor: pointer;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.3s ease;
}

.marsala-desktop-search-close:hover {
    background-color: rgba(255, 255, 255, 0.1);
    transform: rotate(90deg);
}

/* Additional body style when search is open */
body.search-open {
    overflow: hidden;
}

.marsala-mobile-menu {
    position: fixed;
    top: 60px;
    left: 0;
    width: 100%;
    height: calc(100vh - 60px);
    background: linear-gradient(to bottom, var(--marsala-blue), var(--marsala-navy));
    overflow-y: auto;
    padding: 20px 0;
    transform: translateX(100%);
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 100;
}

.marsala-mobile-menu.active {
    transform: translateX(0);
}

@media (max-width: 768px) {
    body {
        padding-bottom: 100px;
    }

    .mobile-user-nav a:nth-child(4).active~.nav-bottom-indicator {
        left: 70%;
    }

    .mobile-user-nav a:nth-child(5).active~.nav-bottom-indicator {
        left: 90%;
    }
}

/* Mobile app-style bottom navigation */
.marsala-mobile-bottom-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60px;
    background: linear-gradient(to right, var(--marsala-blue), var(--marsala-navy));
    display: flex;
    justify-content: space-around;
    align-items: center;
    z-index: 990;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
}

.marsala-mobile-submenu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
    background-color: rgba(0, 0, 0, 0.15);
}

.marsala-mobile-menu-dropdown.active .marsala-mobile-submenu {
    max-height: 300px;
    transition: max-height 0.5s ease-in;
}

.marsala-mobile-submenu ul {
    list-style: none;
    padding: 5px 0;
}

.marsala-mobile-submenu-item {
    margin: 0;
}

.marsala-mobile-submenu-link {
    display: block;
    padding: 12px 20px 12px 50px;
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    font-size: 14px;
    transition: all 0.2s;
}

.marsala-mobile-submenu-link:active {
    background-color: rgba(255, 255, 255, 0.05);
}

.marsala-mobile-search-header {
    display: flex;
    align-items: center;
    padding: 15px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.marsala-mobile-search-close {
    background: none;
    border: none;
    color: var(--marsala-white);
    font-size: 18px;
    margin-right: 15px;
    cursor: pointer;
}

.marsala-mobile-search-title {
    color: var(--marsala-white);
    font-size: 16px;
    font-weight: 600;
}

.marsala-mobile-search-form {
    padding: 20px;
    display: flex;
    align-items: center;
}

.marsala-mobile-search-input {
    flex: 1;
    background-color: rgba(255, 255, 255, 0.1);
    border: none;
    border-radius: 30px;
    color: var(--marsala-white);
    padding: 12px 20px;
    font-size: 16px;
    font-family: inherit;
}

.marsala-mobile-search-input::placeholder {
    color: rgba(255, 255, 255, 0.5);
}

.marsala-mobile-search-submit {
    background: linear-gradient(135deg, var(--marsala-light-blue), var(--marsala-blue));
    color: var(--marsala-white);
    border: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 10px;
    cursor: pointer;
}

/* Page Header */
.page-header {
    background: var(--marsala-blue);
    padding: 6rem 0 4rem;
    position: relative;
    overflow: hidden;
}
/*
.page-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: repeating-linear-gradient(45deg, #004aad 0, #004aad 14px, #013b88 14px, #013b88 28px);
    background-size: cover;
    opacity: 0.05;
    z-index: 0;
}*/

.page-header .container {
    position: relative;
    z-index: 1;
}

.page-title {
    color: var(--primary-color);
    font-size: 4rem;
    font-weight: 800;
    margin-bottom: 1.5rem;
    text-transform: uppercase;
    letter-spacing: 1px;

}

.page-title.white {
    color: var(--white);
}

.section-title::before {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 2px;
    width: 100px;
    height: 1px;
    background-color: rgba(0, 127, 255, 0.2);
    transform: translateX(-50%);
}

.section-title:after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 60px;
    height: 4px;
    background: linear-gradient(to right, var(--primary-color), var(--marsala-navy));
    transform: translateX(-50%);
    border-radius: 2px;
}



.breadcrumb {
    display: flex;
    align-items: center;
}

.breadcrumb ol {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
}

.breadcrumb li {
    color: rgba(255, 255, 255, 0.7);
    font-size: 1.4rem;
    display: flex;
    align-items: center;
}

/*
.breadcrumb li:not(:last-child)::after {
    content: '/';
    margin: 0 1rem;
    color: rgba(255, 255, 255, 0.4);
}*/

.breadcrumb a {
    color: var(--white);
    text-decoration: none;
    transition: color 0.3s ease;
}

.breadcrumb a:hover {
    color: var(--marsala-gold);
}

/* Organigramma Styles */
.organigramma {
    padding: 6rem 0;
    background-color: var(--white);
}

.org-section {
    margin-bottom: 6rem;
}

.org-section:last-child {
    margin-bottom: 0;
}

.org-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
    margin-top: 4rem;
}

.org-card {
    background-color: var(--white);
    border-radius: var(--border-radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
}

.org-card:hover {
    transform: translateY(-10px);
    box-shadow: var(--shadow-lg);
}

.org-image {
    position: relative;
    aspect-ratio: 1;
    overflow: hidden;
}

.org-image::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, transparent 50%, rgba(0, 0, 0, 0.7));
    opacity: 0;
    transition: opacity 0.3s ease;
}

.org-card:hover .org-image::after {
    opacity: 1;
}

.org-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.org-card:hover .org-image img {
    transform: scale(1.1);
}

.org-info {
    padding: 2rem;
    text-align: center;
    background: linear-gradient(to bottom, var(--white), var(--light-gray));
}

.org-info h3 {
    font-size: 2rem;
    color: var(--marsala-blue);
    margin-bottom: 0.5rem;
    font-weight: 700;
}

.org-role {
    display: block;
    color: var(--text-light);
    font-size: 1.4rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Responsive Styles */
@media (max-width: 992px) {
    .org-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem;
    }

    .page-title {
        font-size: 3.2rem;
    }
}

@media (max-width: 768px) {
    .page-header {
        padding: 6rem 0 3rem;
    }

    .page-title {
        font-size: 2.8rem;
    }

    .org-grid {
        grid-template-columns: 1fr;
        max-width: 400px;
        margin-left: auto;
        margin-right: auto;
    }

    .org-section {
        margin-bottom: 4rem;
    }

    .organigramma {
        padding: 4rem 0;
    }
}

@media (max-width: 576px) {
    .page-title {
        font-size: 2.4rem;
    }

    .breadcrumb li {
        font-size: 1.2rem;
    }

    .org-info h3 {
        font-size: 1.8rem;
    }

    .org-role {
        font-size: 1.2rem;
    }
}

/* Ethics & Compliance Page Styles */
.ethics-content {
    padding: 6rem 0;
    background-color: var(--white);
}

.ethics-intro {
    max-width: 800px;
    margin: 0 auto 5rem;
    text-align: center;
}

.ethics-intro-text {
    font-size: 1.8rem;
    line-height: 1.6;
    color: var(--text-light);
}

.ethics-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
    margin-bottom: 6rem;
}

.ethics-card {
    background: var(--white);
    border-radius: var(--border-radius-lg);
    padding: 3rem;
    text-align: center;
    box-shadow: var(--shadow-sm);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
}

.ethics-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(to right, var(--primary-color), var(--primary-light));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
}

.ethics-card:hover {
    transform: translateY(-10px);
    box-shadow: var(--shadow-lg);
}

.ethics-card:hover::before {
    transform: scaleX(1);
}

.ethics-card-icon {
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, var(--primary-color), var(--primary-light));
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 2rem;
    color: var(--white);
    font-size: 2.8rem;
    transition: transform 0.3s ease;
}

.ethics-card:hover .ethics-card-icon {
    transform: scale(1.1) rotate(360deg);
}

.ethics-card h3 {
    color: var(--primary-color);
    font-size: 2.2rem;
    margin-bottom: 1.5rem;
}

.ethics-card p {
    color: var(--text-light);
    margin-bottom: 2rem;
    font-size: 1.5rem;
    line-height: 1.6;
}

.ethics-sections {
    display: grid;
    gap: 4rem;
}

.ethics-section {
    background: var(--light-gray);
    border-radius: var(--border-radius-lg);
    padding: 4rem;
    position: relative;
}

.ethics-section h2 {
    color: var(--primary-color);
    font-size: 2.8rem;
    margin-bottom: 2rem;
    position: relative;
    padding-bottom: 1.5rem;
}

.ethics-section h2::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 60px;
    height: 4px;
    background: linear-gradient(to right, var(--primary-color), var(--primary-light));
    border-radius: 2px;
}

.ethics-section p {
    font-size: 1.6rem;
    line-height: 1.7;
    color: var(--text-color);
    margin-bottom: 2rem;
}

.ethics-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ethics-list li {
    position: relative;
    padding-left: 2.5rem;
    margin-bottom: 1.5rem;
    font-size: 1.5rem;
    color: var(--text-color);
}

.ethics-list li::before {
    content: '\f00c';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    position: absolute;
    left: 0;
    color: var(--primary-color);
}

.whistleblowing-box {
    background: var(--white);
    border-radius: var(--border-radius-md);
    padding: 3rem;
    box-shadow: var(--shadow-sm);
    margin-top: 3rem;
}

.whistleblowing-box h3 {
    color: var(--primary-color);
    font-size: 2.2rem;
    margin-bottom: 1.5rem;
}

.contact-methods {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    margin: 2rem 0;
}

.contact-method {
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 1.5rem;
}

.contact-method i {
    width: 40px;
    height: 40px;
    background: var(--light-gray);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary-color);
    font-size: 1.6rem;
}

/* Responsive styles for Ethics page */
@media (max-width: 992px) {
    .ethics-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .ethics-section {
        padding: 3rem;
    }
}

@media (max-width: 768px) {
    .ethics-content {
        padding: 4rem 0;
    }

    .ethics-intro-text {
        font-size: 1.6rem;
    }

    .ethics-grid {
        grid-template-columns: 1fr;
        max-width: 500px;
        margin-left: auto;
        margin-right: auto;
    }

    .contact-methods {
        grid-template-columns: 1fr;
    }

    .ethics-section {
        padding: 2.5rem;
    }

    .ethics-section h2 {
        font-size: 2.4rem;
    }
}

@media (max-width: 576px) {
    .ethics-card {
        padding: 2rem;
    }

    .ethics-card-icon {
        width: 60px;
        height: 60px;
        font-size: 2.2rem;
    }

    .ethics-section {
        padding: 2rem;
    }

    .whistleblowing-box {
        padding: 2rem;
    }
}

/* Player & Staff Detail Pages */
.profile-header {
    background: linear-gradient(135deg, var(--marsala-blue), var(--marsala-navy));
    padding: 8rem 0 4rem;
    position: relative;
    overflow: hidden;
}

.profile-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: repeating-linear-gradient(45deg, #004aad 0, #004aad 14px, #013b88 14px, #013b88 28px);
    background-size: cover;
    opacity: 0.05;
    z-index: 0;
}

.profile-container {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 350px 1fr;
    gap: 4rem;
    align-items: center;
    margin-top: 20px;
}

.profile-image {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    aspect-ratio: 3/4;
}

.profile-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.profile-image::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50%;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
}

.profile-number {
    position: absolute;
    bottom: 20px;
    left: 20px;
    font-size: 4.8rem;
    font-weight: 800;
    color: var(--white);
    text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.3);
    z-index: 1;
}

.profile-info {
    color: var(--white);
}

.profile-category {
    display: inline-block;
    background-color: var(--secondary-color);
    color: var(--white);
    padding: 0.6rem 1.5rem;
    border-radius: 30px;
    font-size: 1.4rem;
    font-weight: 600;
    margin-bottom: 1.5rem;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.profile-name {
    font-size: 4.8rem;
    font-weight: 800;
    margin-bottom: 2rem;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.profile-meta {
    display: flex;
    gap: 3rem;
    margin-bottom: 2rem;
}

.profile-meta-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 1.6rem;
}

.profile-meta-item i {
    color: var(--secondary-color);
}

.profile-nationality {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.profile-nationality img {
    width: 24px;
    height: auto;
    border-radius: 4px;
}

/* Profile Content */
.profile-content {
    padding: 6rem 0;
    background-color: var(--white);
}

.profile-stats {
    display: grid;
        grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
        gap: 2rem;
        margin-bottom: 4rem;
}

.stat-card {
    background: var(--white);
    border-radius: 15px;
    padding: 2rem;
    text-align: center;
    box-shadow: var(--shadow-sm);
    transition: transform 0.3s ease;
}

.stat-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-md);
}

.stat-value {
    font-size: 3.6rem;
    font-weight: 800;
    color: var(--primary-color);
    margin-bottom: 1rem;
    line-height: 1;
}

.stat-label {
    font-size: 1.4rem;
    color: var(--text-light);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.profile-sections {
    display: grid;
    gap: 4rem;
}

.profile-section {
    background: var(--light-gray);
    border-radius: 20px;
    padding: 3rem;
}

.profile-section h2 {
    font-size: 2.4rem;
    color: var(--primary-color);
    margin-bottom: 2rem;
    position: relative;
    padding-bottom: 1rem;
}

.profile-section h2::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 50px;
    height: 3px;
    background: var(--secondary-color);
    border-radius: 2px;
}

.career-history {
    display: grid;
    gap: 2rem;
}

.career-item {
    background: var(--white);
    border-radius: 15px;
    padding: 2rem;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 2rem;
    box-shadow: var(--shadow-sm);
}

.career-logo {
    width: 60px;
    height: 60px;
    background: var(--light-gray);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.career-logo img {
    width: 80%;
    height: auto;
}

.career-info h3 {
    font-size: 1.8rem;
    color: var(--text-color);
    margin-bottom: 0.5rem;
}

.career-period {
    color: var(--text-light);
    font-size: 1.4rem;
}

.career-stats {
    text-align: right;
    color: var(--primary-color);
    font-weight: 600;
}

.career-stats span {
    display: block;
    font-size: 1.2rem;
    color: var(--text-light);
    font-weight: normal;
}

/* Staff Specific Styles */
.staff-profile .profile-image {
    aspect-ratio: 1;
    border-radius: 50%;
    width: 300px;
    margin: 0 auto;
}

.staff-profile .profile-image::after {
    display: none;
}

.staff-achievements {
    list-style: none;
    margin: 2rem 0;
    padding: 0;
}

.staff-achievements li {
    position: relative;
    padding-left: 2.5rem;
    margin-bottom: 1.5rem;
    font-size: 1.6rem;
    color: var(--text-color);
}

.staff-achievements li::before {
    content: '\f091';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    position: absolute;
    left: 0;
    color: var(--secondary-color);
}

.staff-certifications {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
}

.certification-card {
    background: var(--white);
    border-radius: 15px;
    padding: 2rem;
    text-align: center;
    box-shadow: var(--shadow-sm);
}

.certification-card i {
    font-size: 3rem;
    color: var(--primary-color);
    margin-bottom: 1.5rem;
}

.certification-card h4 {
    font-size: 1.8rem;
    color: var(--text-color);
    margin-bottom: 1rem;
}

.certification-card p {
    font-size: 1.4rem;
    color: var(--text-light);
}
marsala-mobile-header a:hover,
marsala-mobile-header a:active,
marsala-mobile-header a:focus,
marsala-mobile-header .nav-main .navbar-nav .active .nav-link,
marsala-mobile-header .mega-menu .menu-left .active,
marsala-mobile-header .nav-category-block .nav-item.show .nav-link,
marsala-mobile-header .nav-category-block .nav-link.active {
    color: var(--white) !important;
}
/* Responsive Styles */
@media (max-width: 992px) {
    .profile-container {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .profile-image {
        max-width: 300px;
        margin: 0 auto;
    }

    .profile-stats {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .profile-header {
        padding: 6rem 0 3rem;
    }

    .profile-name {
        font-size: 3.6rem;
    }

    .profile-meta {
        flex-direction: column;
        gap: 1.5rem;
    }

    .career-item {
        grid-template-columns: auto 1fr;
    }

    .career-stats {
        grid-column: 1 / -1;
        text-align: left;
        border-top: 1px solid var(--light-gray);
        margin-top: 1rem;
        padding-top: 1rem;
    }
}

@media (max-width: 576px) {
    .profile-stats {
        grid-template-columns: 1fr;
    }

    .profile-section {
        padding: 2rem;
    }

    .career-item {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 1.5rem;
    }

    .career-logo {
        margin: 0 auto;
    }
}

/* Ticketing Page Styles */
.next-match-ticket {
    padding: 4rem 0;
    background: linear-gradient(135deg, var(--marsala-blue), var(--marsala-navy));
    position: relative;
    overflow: hidden;
}

.next-match-ticket::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: repeating-linear-gradient(45deg, #004aad 0, #004aad 14px, #013b88 14px, #013b88 28px);
    background-size: cover;
    opacity: 0.05;
    z-index: 0;
}

.match-ticket-header {
    position: relative;
    z-index: 1;
    color: var(--white);
}

.match-competition {
    display: inline-block;
    background: rgba(255, 255, 255, 0.1);
    padding: 0.8rem 1.5rem;
    border-radius: 30px;
    font-size: 1.4rem;
    font-weight: 600;
    margin-bottom: 2rem;
}

.match-teams {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    padding: 2rem;
    background: rgba(0, 0, 0, 0.2);
    border-radius: 15px;
}

.team {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.team img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: var(--white);
    padding: 1rem;
    transition: transform 0.3s ease;
}

.team:hover img {
    transform: scale(1.1);
}

.team span {
    font-size: 1.8rem;
    font-weight: 700;
}

.match-details {
    text-align: center;
}

.match-date {
    font-size: 1.4rem;
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 0.5rem;
}

.match-time {
    font-size: 2.4rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
}

.match-venue {
    font-size: 1.2rem;
    color: rgba(255, 255, 255, 0.8);
}

/* Ticket Categories */
.ticket-categories {
    padding: 6rem 0;
    background-color: var(--white);
}

.ticket-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
    margin-bottom: 4rem;
}

.ticket-card {
    background: var(--white);
    border-radius: 15px;
    padding: 3rem;
    box-shadow: var(--shadow-sm);
    transition: all 0.3s ease;
    border: 1px solid var(--light-gray);
}

.ticket-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-lg);
}

.ticket-header {
    text-align: center;
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--light-gray);
}

.ticket-header h3 {
    font-size: 2.2rem;
    color: var(--primary-color);
    margin-bottom: 1rem;
}

.ticket-price {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.ticket-price .amount {
    font-size: 3.6rem;
    font-weight: 800;
    color: var(--primary-color);
    line-height: 1;
}

.ticket-price .type {
    font-size: 1.4rem;
    color: var(--text-light);
}

.ticket-features {
    margin-bottom: 2rem;
}

.ticket-features ul {
    list-style: none;
    padding: 0;
}

.ticket-features li {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
    color: var(--text-color);
    font-size: 1.4rem;
}

.ticket-features li i {
    color: var(--secondary-color);
}

.ticket-actions {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.ticket-quantity {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.ticket-quantity label {
    font-size: 1.4rem;
    color: var(--text-light);
}

.ticket-quantity select {
    flex: 1;
    padding: 0.8rem;
    border: 1px solid var(--light-gray);
    border-radius: 5px;
    font-size: 1.4rem;
    color: var(--text-color);
}

/* Reductions */
.ticket-reductions {
    background: var(--light-gray);
    padding: 4rem;
    border-radius: 15px;
}

.ticket-reductions h3 {
    text-align: center;
    font-size: 2.4rem;
    color: var(--primary-color);
    margin-bottom: 3rem;
}

.reductions-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
}

.reduction-item {
    text-align: center;
    padding: 2rem;
    background: var(--white);
    border-radius: 10px;
    box-shadow: var(--shadow-sm);
    transition: transform 0.3s ease;
}

.reduction-item:hover {
    transform: translateY(-5px);
}

.reduction-item i {
    font-size: 2.4rem;
    color: var(--primary-color);
    margin-bottom: 1.5rem;
}

.reduction-item h4 {
    font-size: 1.8rem;
    color: var(--text-color);
    margin-bottom: 1rem;
}

.reduction-item p {
    font-size: 1.4rem;
    color: var(--text-light);
}

/* Stadium Map */
.stadium-map {
    padding: 6rem 0;
    background: var(--white);
}

.map-container {
    position: relative;
    margin-top: 3rem;
}

.map-container img {
    width: 100%;
    height: auto;
    border-radius: 15px;
    box-shadow: var(--shadow-md);
}

.map-legend {
    display: flex;
    justify-content: center;
    gap: 3rem;
    margin-top: 2rem;
}

.legend-item {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.color-box {
    width: 20px;
    height: 20px;
    border-radius: 4px;
}

.tribuna-centrale {
    background-color: var(--primary-color);
}

.tribuna-laterale {
    background-color: var(--secondary-color);
}

.curva {
    background-color: var(--accent-color);
}

/* Info Section */
.ticket-info {
    padding: 6rem 0;
    background: var(--light-gray);
}

.info-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
}

.info-card {
    background: var(--white);
    padding: 3rem;
    border-radius: 15px;
    text-align: center;
    box-shadow: var(--shadow-sm);
}

.info-card i {
    font-size: 3rem;
    color: var(--primary-color);
    margin-bottom: 2rem;
}

.info-card h3 {
    font-size: 2rem;
    color: var(--text-color);
    margin-bottom: 2rem;
}

.info-card ul {
    list-style: none;
    padding: 0;
    text-align: left;
}

.info-card li {
    margin-bottom: 1rem;
    font-size: 1.4rem;
    color: var(--text-light);
}

/* FAQ Section */
.ticket-faq {
    padding: 6rem 0;
    background: var(--white);
}

.faq-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem;
    margin-top: 3rem;
}

.faq-item {
    background: var(--light-gray);
    padding: 2rem;
    border-radius: 10px;
}

.faq-item h3 {
    font-size: 1.8rem;
    color: var(--primary-color);
    margin-bottom: 1rem;
}

.faq-item p {
    font-size: 1.4rem;
    color: var(--text-light);
    line-height: 1.6;
}

/* Responsive Styles */
@media (max-width: 992px) {

    .ticket-grid,
    .reductions-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .info-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .match-teams {
        flex-direction: column;
        text-align: center;
    }

    .ticket-grid,
    .reductions-grid,
    .info-grid,
    .faq-grid {
        grid-template-columns: 1fr;
    }

    .ticket-reductions {
        padding: 2rem;
    }

    .map-legend {
        flex-direction: column;
        align-items: center;
        gap: 1rem;
    }
}

@media (max-width: 576px) {
    .match-competition {
        width: 100%;
        text-align: center;
    }

    .ticket-card {
        padding: 2rem;
    }

    .info-card {
        padding: 2rem;
    }
}

/* Ticket Change Page Styles */
.ticket-change-info {
    padding: 4rem 0;
    background: var(--white);
}

.info-box {
    background: linear-gradient(135deg, var(--marsala-blue), var(--marsala-navy));
    border-radius: 15px;
    padding: 3rem;
    display: flex;
    align-items: flex-start;
    gap: 2rem;
    color: var(--white);
    box-shadow: var(--shadow-md);
}

.info-icon {
    font-size: 3rem;
    color: var(--secondary-color);
    background: rgba(255, 255, 255, 0.1);
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.info-content h2 {
    font-size: 2.4rem;
    margin-bottom: 1.5rem;
}

.info-content ul {
    list-style: none;
    padding: 0;
}

.info-content li {
    position: relative;
    padding-left: 2rem;
    margin-bottom: 1rem;
    font-size: 1.4rem;
    color: rgba(255, 255, 255, 0.9);
}

.info-content li::before {
    content: '\f00c';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    position: absolute;
    left: 0;
    color: var(--secondary-color);
}

/* Form Styles */
.ticket-change-form {
    padding: 6rem 0;
    background: var(--light-gray);
}

.form-container {
    background: var(--white);
    border-radius: 15px;
    padding: 4rem;
    box-shadow: var(--shadow-md);
    max-width: 800px;
    margin: 0 auto;
}

.form-header {
    text-align: center;
    margin-bottom: 4rem;
}

.form-header h2 {
    font-size: 2.8rem;
    color: var(--primary-color);
    margin-bottom: 1rem;
}

.form-header p {
    color: var(--text-light);
    font-size: 1.6rem;
}

.form-section {
    margin-bottom: 3rem;
}

.form-section h3 {
    font-size: 2rem;
    color: var(--primary-color);
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid var(--light-gray);
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
}

.form-group {
    margin-bottom: 1.5rem;
}

.form-group label {
    display: block;
    font-size: 1.4rem;
    color: var(--text-color);
    margin-bottom: 0.8rem;
}

.form-group input {
    width: 100%;
    padding: 1.2rem;
    border: 1px solid var(--light-gray);
    border-radius: 8px;
    font-size: 1.4rem;
    color: var(--text-color);
    transition: all 0.3s ease;
}

.form-group input:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 2px rgba(0, 8, 64, 0.1);
    outline: none;
}

.form-group input::placeholder {
    color: var(--text-light);
}

.form-check {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 2rem;
}

.form-check input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin-top: 0.2rem;
}

.form-check label {
    font-size: 1.4rem;
    color: var(--text-light);
    line-height: 1.4;
}

.form-check a {
    color: var(--primary-color);
    text-decoration: none;
}

.form-check a:hover {
    text-decoration: underline;
}

.form-actions {
    display: flex;
    gap: 1.5rem;
    justify-content: center;
    margin-top: 3rem;
}

.form-actions .btn {
    min-width: 200px;
}

/* Support Section */
.ticket-change-support {
    padding: 6rem 0;
    background: var(--white);
}

.support-box {
    background: linear-gradient(135deg, var(--primary-color), var(--primary-dark));
    border-radius: 15px;
    padding: 4rem;
    display: flex;
    align-items: center;
    gap: 3rem;
    color: var(--white);
    text-align: center;
}

.support-icon {
    font-size: 4rem;
    color: var(--white);
    background: rgba(255, 255, 255, 0.1);
    width: 100px;
    height: 100px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
}

.support-content {
    flex: 1;
}

.support-content h2 {
    font-size: 2.8rem;
    margin-bottom: 1rem;
}

.support-content p {
    font-size: 1.6rem;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 2rem;
}

.support-contacts {
    display: flex;
    justify-content: center;
    gap: 3rem;
    flex-wrap: wrap;
}

.support-contact {
    display: flex;
    align-items: center;
    gap: 1rem;
    color: var(--white);
    text-decoration: none;
    font-size: 1.6rem;
    padding: 1rem 2rem;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 30px;
    transition: all 0.3s ease;
}

.support-contact:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: translateY(-2px);
}

/* Responsive Styles */
@media (max-width: 992px) {
    .form-container {
        padding: 3rem;
    }

    .support-box {
        flex-direction: column;
        text-align: center;
        padding: 3rem;
    }
}

@media (max-width: 768px) {
    .info-box {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .form-grid {
        grid-template-columns: 1fr;
    }

    .form-actions {
        flex-direction: column;
    }

    .form-actions .btn {
        width: 100%;
    }

    .support-contacts {
        flex-direction: column;
        align-items: center;
    }

    .support-contact {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 576px) {
    .form-container {
        padding: 2rem;
    }

    .form-header h2 {
        font-size: 2.4rem;
    }

    .support-box {
        padding: 2rem;
    }

    .support-icon {
        width: 80px;
        height: 80px;
        font-size: 3rem;
    }

    .support-content h2 {
        font-size: 2.4rem;
    }
}

/* Media Accreditation Page Styles */
.media-info {
    padding: 6rem 0;
    background: var(--white);
}

.media-intro {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 5rem;
}

.media-intro h2 {
    font-size: 3.2rem;
    color: var(--primary-color);
    margin-bottom: 2rem;
}

.media-intro p {
    font-size: 1.8rem;
    color: var(--text-light);
    line-height: 1.6;
}

.media-types-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
    margin-bottom: 4rem;
}

.media-type-card {
    background: var(--white);
    border-radius: 15px;
    padding: 3rem;
    text-align: center;
    box-shadow: var(--shadow-sm);
    transition: all 0.3s ease;
    border: 1px solid var(--light-gray);
}

.media-type-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-lg);
}

.media-type-icon {
    width: 80px;
    height: 80px;
    background: var(--primary-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 2rem;
    color: var(--white);
    font-size: 2.8rem;
}

.media-type-card h3 {
    font-size: 2.2rem;
    color: var(--primary-color);
    margin-bottom: 2rem;
}

.media-type-card ul {
    list-style: none;
    padding: 0;
    text-align: left;
}

.media-type-card li {
    position: relative;
    padding-left: 2rem;
    margin-bottom: 1rem;
    font-size: 1.4rem;
    color: var(--text-light);
}

.media-type-card li::before {
    content: '\f00c';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    position: absolute;
    left: 0;
    color: var(--secondary-color);
}

/* Media Accreditation Form */
.media-accreditation {
    padding: 6rem 0;
    background: var(--light-gray);
}

.accreditation-form .form-section {
    margin-bottom: 4rem;
}

.accreditation-form textarea {
    width: 100%;
    height: 120px;
    padding: 1.2rem;
    border: 1px solid var(--light-gray);
    border-radius: 8px;
    font-size: 1.4rem;
    color: var(--text-color);
    resize: vertical;
    font-family: inherit;
}

.accreditation-form textarea:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 2px rgba(0, 8, 64, 0.1);
    outline: none;
}

.accreditation-form select {
    width: 100%;
    padding: 1.2rem;
    border: 1px solid var(--light-gray);
    border-radius: 8px;
    font-size: 1.4rem;
    color: var(--text-color);
    background-color: var(--white);
    cursor: pointer;
}

.accreditation-form select:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 2px rgba(0, 8, 64, 0.1);
    outline: none;
}

/* Guidelines Section */
.media-guidelines {
    padding: 6rem 0;
    background: var(--white);
}

.guidelines-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 3rem;
    margin-top: 4rem;
}

.guideline-card {
    text-align: center;
    padding: 3rem;
    background: var(--light-gray);
    border-radius: 15px;
    transition: all 0.3s ease;
}

.guideline-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-md);
}

.guideline-icon {
    width: 70px;
    height: 70px;
    background: var(--white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 2rem;
    color: var(--primary-color);
    font-size: 2.4rem;
    box-shadow: var(--shadow-sm);
}

.guideline-card h3 {
    font-size: 2rem;
    color: var(--primary-color);
    margin-bottom: 1.5rem;
}

.guideline-card p {
    font-size: 1.4rem;
    color: var(--text-light);
    line-height: 1.6;
}

/* Contact Section */
.media-contact {
    padding: 6rem 0;
    background: var(--light-gray);
}

.contact-box {
    background: linear-gradient(135deg, var(--primary-color), var(--primary-dark));
    border-radius: 15px;
    padding: 4rem;
    color: var(--white);
    text-align: center;
}

.contact-info h2 {
    font-size: 2.8rem;
    margin-bottom: 1.5rem;
}

.contact-info p {
    font-size: 1.6rem;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 3rem;
}

.contact-details {
    display: flex;
    justify-content: center;
    gap: 4rem;
    flex-wrap: wrap;
}

.contact-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 1.6rem;
}

.contact-item i {
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Responsive Styles */
@media (max-width: 992px) {
    .media-types-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .guidelines-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .media-types-grid {
        grid-template-columns: 1fr;
    }

    .guidelines-grid {
        grid-template-columns: 1fr;
    }

    .contact-details {
        flex-direction: column;
        gap: 2rem;
    }

    .contact-item {
        justify-content: center;
    }
}

@media (max-width: 576px) {
    .media-intro h2 {
        font-size: 2.8rem;
    }

    .media-type-card,
    .guideline-card {
        padding: 2rem;
    }

    .contact-box {
        padding: 3rem 2rem;
    }
}

.breadcrumb.breadcrumb-scura li {
    color: var(--primary-color);
    font-size: 1.4rem;
    display: flex;
    align-items: center;
}
.breadcrumb.breadcrumb-scura a {
    color: var(--primary-color);
    text-decoration: none;
    transition: color 0.3s ease;
}

.breadcrumb.breadcrumb-scura a:hover {
color: var(--black);
}


/* ==========================================================================
   Hero home (partials/_main_slider.php): slider news + prossima partita
   ========================================================================== */
.mc-hero {
    padding: 32px 0;
    background: linear-gradient(135deg, var(--marsala-navy) 0%, var(--marsala-blue) 100%);
    position: relative;
    overflow: hidden;
}

.mc-hero .container {
    max-width: 1240px;
}

.mc-hero-slider-card {
    position: relative;
    border-radius: var(--border-radius-md);
    overflow: hidden;
    background-color: var(--primary-dark);
    box-shadow: var(--shadow-lg);
}

.mc-hero-slider {
    width: 100%;
}

.mc-hero-slide {
    position: relative;
    background-color: var(--primary-dark);
}

.mc-hero-slide-media {
    display: block;
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background-color: var(--primary-dark);
}

.mc-hero-slide-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.mc-hero-slide:hover .mc-hero-slide-media img {
    transform: scale(1.03);
}

.mc-hero-slide-media::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    background: linear-gradient(to top, rgba(0, 6, 48, 0.95) 0%, rgba(0, 6, 48, 0.55) 35%, rgba(0, 6, 48, 0) 60%);
    pointer-events: none;
}

.mc-hero-slide-media .media-icon-lg {
    z-index: 2;
}

.mc-hero-caption {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 24px 32px 56px;
    z-index: 3;
    color: var(--white);
    max-width: 80%;
}

.mc-hero-badge {
    display: inline-block;
    background-color: var(--marsala-red);
    color: var(--white) !important;
    font-family: var(--font-primary);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 5px 10px;
    border-radius: var(--border-radius-sm);
    margin-bottom: 12px;
    text-decoration: none;
}

.mc-hero-title {
    font-family: var(--font-primary);
    font-size: 30px;
    font-weight: 800;
    line-height: 1.15;
    text-transform: uppercase;
    color: var(--white);
    margin: 0 0 16px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.mc-hero-title a {
    color: var(--white) !important;
    text-decoration: none;
}

.mc-hero-btn,
.mc-hero-btn:focus {
    background-color: var(--white);
    color: var(--marsala-blue) !important;
    border: 2px solid var(--white);
    font-weight: 700;
    padding: 8px 20px;
    border-radius: var(--border-radius-sm);
}

.mc-hero-btn:hover {
    background-color: var(--marsala-blue);
    color: var(--white) !important;
}

/* frecce */
.mc-hero-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 0;
    background-color: rgba(255, 255, 255, 0.9);
    color: var(--marsala-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 5;
    cursor: pointer;
    box-shadow: var(--shadow-md);
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.mc-hero-arrow:hover {
    background-color: var(--white);
    transform: translateY(-50%) scale(1.06);
}

.mc-hero-arrow.prev {
    left: 16px;
}

.mc-hero-arrow.next {
    right: 16px;
}

/* dots slick */
.mc-hero-slider-card .slick-dots {
    position: absolute;
    right: 24px;
    bottom: 18px;
    display: flex;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
    z-index: 5;
}

.mc-hero-slider-card .slick-dots li {
    margin: 0;
    padding: 0;
}

.mc-hero-slider-card .slick-dots button {
    width: 10px;
    height: 10px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.45);
    font-size: 0;
    line-height: 0;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.mc-hero-slider-card .slick-dots .slick-active button {
    background-color: var(--white);
    transform: scale(1.25);
}

/* colonna destra */
.mc-hero-side {
    display: flex;
    flex-direction: column;
    gap: 16px;
    height: 100%;
}

.mc-side-head {
    font-family: var(--font-primary);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--marsala-blue);
    margin-bottom: 14px;
    padding-bottom: 8px;
    border-bottom: 3px solid var(--marsala-red);
    display: inline-block;
}

.mc-next-match,
.mc-side-news {
    background-color: var(--white);
    border-radius: var(--border-radius-md);
    box-shadow: var(--shadow-md);
    padding: 20px;
    flex: 1 1 auto;
}

.mc-next-match-teams {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 16px;
}

.mc-next-match-team {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 8px;
}

.mc-next-match-team img {
    width: 64px;
    height: 64px;
    object-fit: contain;
}

.mc-next-match-initials {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background-color: var(--marsala-blue);
    color: var(--white);
    font-family: var(--font-primary);
    font-weight: 800;
    font-size: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mc-next-match-name {
    font-family: var(--font-primary);
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    color: var(--text-color);
    line-height: 1.2;
}

.mc-next-match-vs {
    font-family: var(--font-primary);
    font-weight: 800;
    color: var(--marsala-red);
    font-size: 16px;
}

.mc-next-match-info {
    list-style: none;
    margin: 0 0 16px;
    padding: 0;
    font-size: 14px;
    color: var(--text-light);
}

.mc-next-match-info li {
    padding: 6px 0;
    border-top: 1px solid var(--medium-gray);
    display: flex;
    gap: 10px;
    align-items: flex-start;
}

.mc-next-match-info i {
    color: var(--marsala-blue);
    width: 16px;
    margin-top: 3px;
}

.mc-side-btn {
    width: 100%;
    display: block;
    text-align: center;
}

.mc-side-news-item {
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 10px 0;
    border-top: 1px solid var(--medium-gray);
    text-decoration: none;
    color: var(--text-color);
}

.mc-side-news-item:first-of-type {
    border-top: 0;
    padding-top: 0;
}

.mc-side-news-media {
    flex: 0 0 120px;
    width: 120px;
    aspect-ratio: 430 / 256;
    border-radius: 8px;
    overflow: hidden;
    background-color: var(--light-gray);
}

.mc-side-news-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mc-side-news-body {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.mc-side-news-cat {
    font-family: var(--font-primary);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--marsala-red);
}

.mc-side-news-title {
    font-family: var(--font-primary);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--text-color);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.mc-side-news-item:hover .mc-side-news-title {
    color: var(--marsala-blue);
}

/* ultimo risultato */
.mc-last-result {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 12px;
    background-color: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: var(--border-radius-md);
    padding: 12px 16px;
    color: var(--white);
    text-decoration: none;
    font-size: 13px;
}

.mc-last-result:hover {
    background-color: rgba(255, 255, 255, 0.2);
    color: var(--white);
}

.mc-last-result-label {
    font-family: var(--font-primary);
    font-weight: 800;
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.mc-last-result-date {
    opacity: 0.8;
}

.mc-last-result-teams {
    flex: 1 1 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
}

.mc-last-result-teams .score {
    font-family: var(--font-primary);
    font-weight: 800;
    font-size: 16px;
    background-color: var(--white);
    color: var(--marsala-blue);
    padding: 2px 8px;
    border-radius: var(--border-radius-sm);
}

.mc-result-badge {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-primary);
    font-weight: 800;
    font-size: 12px;
    color: var(--white);
    background-color: var(--text-light);
    margin-left: auto;
}

.mc-result-badge.win {
    background-color: #1a9c4a;
}

.mc-result-badge.draw {
    background-color: #c89b00;
}

.mc-result-badge.loss {
    background-color: var(--marsala-red);
}

@media (max-width: 991.98px) {
    .mc-hero-caption {
        max-width: 100%;
        padding: 20px 24px 48px;
    }

    .mc-hero-title {
        font-size: 26px;
    }
}

@media (max-width: 767.98px) {
    .mc-hero {
        padding: 16px 0 24px;
    }

    .mc-hero .container {
        padding-left: 16px;
        padding-right: 16px;
    }

    .mc-hero-slide {
        display: flex;
        flex-direction: column;
    }

    .mc-hero-slide-media::after {
        display: none;
    }

    .mc-hero-caption {
        position: static;
        max-width: 100%;
        padding: 18px 16px 40px;
        background-color: var(--marsala-blue);
    }

    .mc-hero-title {
        font-size: 24px;
        -webkit-line-clamp: 3;
    }

    .mc-hero-arrow {
        top: auto;
        bottom: 12px;
        transform: none;
        width: 34px;
        height: 34px;
    }

    .mc-hero-arrow:hover {
        transform: none;
    }

    .mc-hero-arrow.prev {
        left: 12px;
    }

    .mc-hero-arrow.next {
        left: 54px;
        right: auto;
    }

    .mc-hero-slider-card .slick-dots {
        right: 16px;
        bottom: 22px;
    }

    .mc-hero-side {
        height: auto;
    }
}

/* Accrediti media: blocco Ufficio Stampa su fondo navy (contrasto) */
.media-contact .contact-box .contact-info h2 {
    color: var(--white);
    font-family: var(--font-primary);
    font-weight: 700;
}

.media-contact .contact-box .contact-info p {
    color: rgba(255, 255, 255, 0.9);
}

.media-contact .contact-box .contact-item,
.media-contact .contact-box .contact-item span {
    color: var(--white);
}

.media-contact .contact-box .contact-item a {
    color: var(--white);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.media-contact .contact-box .contact-item a:hover,
.media-contact .contact-box .contact-item a:focus {
    color: var(--marsala-gold);
}

.media-contact .contact-box .contact-item i {
    background-color: var(--white);
    color: var(--marsala-blue);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
}

/* Footer: barra inferiore con copyright (sx), crediti (centro), link legali (dx) */
.footer-bottom .container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 1rem 2rem;
}

.footer-bottom .copyright {
    flex: 1 1 auto;
    text-align: left;
}

.footer-bottom .copyright p {
    margin: 0;
}

.footer-credits {
    flex: 0 1 auto;
    text-align: center;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.7);
}

.footer-credits a {
    color: var(--white);
    transition: color 0.3s ease;
}

.footer-credits a:hover,
.footer-credits a:focus {
    color: var(--marsala-gold);
    text-decoration: underline;
}

.footer-bottom .legal-links {
    flex: 1 1 auto;
    justify-content: flex-end;
}

@media (max-width: 992px) {
    .footer-bottom .container {
        flex-direction: column;
        gap: 1.2rem;
    }

    .footer-bottom .copyright,
    .footer-credits,
    .footer-bottom .legal-links {
        flex: 0 0 auto;
        width: 100%;
        text-align: center;
        justify-content: center;
    }
}

/* Form accrediti / cambio utilizzatore: Invia (primario) + Annulla (secondario) */
.accreditation-form .form-actions,
.change-form .form-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: center;
    gap: 12px;
}

.accreditation-form .form-actions .btn-primary,
.change-form .form-actions .btn-primary {
    min-width: 200px;
    border: 1px solid var(--marsala-blue); /* stessa altezza di Annulla */
}

.form-actions .btn.mc-btn-cancel {
    flex: 0 0 auto;
    min-width: 0;
    width: auto;
    background-color: var(--white);
    color: var(--marsala-blue) !important;
    border: 1px solid var(--marsala-blue);
    box-shadow: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.form-actions .btn.mc-btn-cancel::before,
.form-actions .btn.mc-btn-cancel::after {
    display: none;
}

.form-actions .btn.mc-btn-cancel:hover,
.form-actions .btn.mc-btn-cancel:focus {
    background-color: var(--light-gray);
    color: var(--marsala-blue) !important;
    transform: none;
}

@media (max-width: 575.98px) {
    .accreditation-form .form-actions,
    .change-form .form-actions {
        flex-direction: column;
    }

    .accreditation-form .form-actions .btn,
    .change-form .form-actions .btn,
    .form-actions .btn.mc-btn-cancel {
        width: 100%;
        min-width: 0;
    }
}

/* Leggibilita: dimensioni minime (badge 13px, meta/date 14px, ruoli 15px, testo card 15px) */
.mc-hero-badge,
.mc-side-head,
.mc-side-news-cat,
.mc-last-result-label,
.product-badge,
.news-category,
.mc-result-badge {
    font-size: 13px;
}

.news-date,
.mc-last-result,
.mc-last-result-date,
.mc-last-result .team,
.post-meta,
.post-meta a,
.post-meta span,
.small-post-meta a,
.small-post-meta span,
.a-username,
.item-meta,
.post-details-meta span {
    font-size: 14px;
}

.mc-side-news-title {
    font-size: 15px;
}

.news-card .news-content p,
.post-item .description {
    font-size: 15px;
    line-height: 1.5;
}

.org-role {
    font-size: 15px;
}

@media (max-width: 768px) {
    .org-role {
        font-size: 15px;
    }
}

/* Mobile reale: drawer scrollabile sopra la bottom nav, bottom nav sopra il resto, banner cookie sopra la nav */
.marsala-mobile-menu {
    height: calc(100vh - 60px);
    height: calc(100dvh - 60px);
    padding-bottom: 96px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    touch-action: pan-y;
}

.marsala-mobile-menu.active {
    z-index: 1001;
}

.marsala-mobile-bottom-nav {
    z-index: 1000;
    padding-bottom: env(safe-area-inset-bottom, 0);
}

.marsala-mobile-search-modal.active {
    z-index: 1002;
}

body.no-scroll {
    overflow: hidden;
}

@media (max-width: 991.98px) {
    /* banner cookie (registroconsensi/cookieconsent): il box non copre la bottom nav */
    #cc_div #cm.cloud.bottom {
        bottom: 76px !important;
    }
}

/* Reazioni articolo "da tifoso" (common/_emoji_reactions*): Font Awesome 6 + stemma ufficiale */
.emoji-reactions-container .mc-reactions-title {
    font-family: var(--font-primary);
    font-size: 18px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--marsala-blue);
    text-align: center;
    margin-bottom: 28px;
    padding-bottom: 12px;
    position: relative;
}

.emoji-reactions-container .mc-reactions-title::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 60px;
    height: 3px;
    margin-left: -30px;
    background-color: var(--marsala-red);
}

.emoji-reactions.mc-reactions {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: flex-start;
    gap: 32px;
    padding: 8px 0 12px;
    overflow: visible;
}

.mc-reactions .reaction-container {
    flex: 0 0 auto;
}

.mc-reactions .reaction {
    width: 104px;
    padding: 6px 0 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    background: none;
    transition: transform 0.2s ease;
}

.mc-reactions .reaction:hover:not(.disabled) {
    transform: scale(1.05);
}

.mc-reactions .mc-reaction-icon {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background-color: var(--marsala-blue);
    color: var(--white);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--shadow-sm);
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.mc-reactions .mc-reaction-icon i {
    font-size: 30px;
    line-height: 1;
}

.mc-reactions .mc-reaction-icon.mc-reaction-logo {
    background-color: var(--white);
    border: 2px solid var(--marsala-blue);
}

.mc-reactions .mc-reaction-icon.mc-reaction-logo img {
    width: 40px;
    height: 40px;
    object-fit: contain;
    display: block;
}

.mc-reactions .reaction .text {
    font-family: var(--font-primary);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: var(--text-color);
    padding: 0;
    background: none !important;
    line-height: 1.1;
    white-space: nowrap;
}

.mc-reactions .reaction[aria-label="Forza Marsala"] .text {
    white-space: normal;
    max-width: 80px;
}

.mc-reactions .reaction.selected .mc-reaction-icon {
    background-color: var(--marsala-gold);
    color: var(--marsala-navy);
}

.mc-reactions .reaction.selected .mc-reaction-icon.mc-reaction-logo {
    border-color: var(--marsala-gold);
    box-shadow: 0 0 0 3px rgba(255, 215, 0, 0.5);
}

.mc-reactions .reaction.selected .text {
    color: var(--marsala-blue);
    background: none !important;
}

.mc-reactions .reaction .vote {
    top: 0;
    right: 12px;
    min-width: 22px;
    height: 22px;
    line-height: 20px;
    padding: 0 6px;
    border-radius: 11px;
    font-size: 12px;
    font-weight: 700;
    opacity: 1;
    color: var(--marsala-blue);
    background-color: var(--white) !important;
    border: 1px solid var(--marsala-blue);
}

.mc-reactions .reaction.disabled .mc-reaction-icon {
    opacity: 0.6;
}

@media (max-width: 575.98px) {
    .emoji-reactions.mc-reactions {
        gap: 16px;
        flex-wrap: wrap;
        justify-content: center;
    }

    .mc-reactions .reaction {
        width: 84px;
    }

    .mc-reactions .reaction .vote {
        right: 4px;
    }
}

/* ==========================================================================
   Pagina articolo v2 (post/post.php, post/_ar_sidebar.php, post/_post_share.php) — prefisso ar-
   ========================================================================== */
#postDetailsPage .ar-main .post-content.ar-article {
    padding: 0;
    background: none;
    box-shadow: none;
}

.ar-admin-edit {
    text-align: right;
    margin-bottom: 12px;
}

.ar-head {
    margin-bottom: 20px;
}

.ar-chip {
    display: inline-block;
    background-color: var(--marsala-red);
    color: var(--white) !important;
    font-family: var(--font-primary);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 5px 12px;
    border-radius: var(--border-radius-sm);
    margin-bottom: 14px;
    text-decoration: none;
}

.ar-summary {
    font-family: var(--font-secondary);
    font-size: 19px;
    line-height: 1.5;
    color: var(--text-light);
    margin: 0 0 16px;
    max-width: 760px;
}

.ar-meta-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 20px;
    padding: 12px 0;
    border-top: 1px solid var(--medium-gray);
    border-bottom: 1px solid var(--medium-gray);
}

.ar-meta {
    font-size: 14px;
    color: var(--text-light);
    display: flex;
    flex-wrap: wrap;
    gap: 6px 8px;
    align-items: center;
}

.ar-meta-sep {
    color: var(--marsala-blue);
    font-weight: 700;
}

.ar-share {
    display: flex;
    gap: 10px;
    margin-left: auto;
}

.ar-share-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 2px solid var(--marsala-blue);
    background-color: var(--white);
    color: var(--marsala-blue) !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    cursor: pointer;
    position: relative;
    transition: background-color 0.2s ease, color 0.2s ease;
    padding: 0;
}

.ar-share-btn:hover,
.ar-share-btn:focus {
    background-color: var(--marsala-blue);
    color: var(--white) !important;
}

.ar-share-btn.is-copied {
    background-color: var(--marsala-gold);
    border-color: var(--marsala-gold);
    color: var(--marsala-navy) !important;
}

.ar-share-copied {
    position: absolute;
    top: -30px;
    left: 50%;
    transform: translateX(-50%);
    background-color: var(--marsala-navy);
    color: var(--white);
    font-size: 12px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: var(--border-radius-sm);
    white-space: nowrap;
    pointer-events: none;
}

.ar-share-copied:empty {
    display: none;
}

/* immagine / video */
.ar-media {
    margin-bottom: 28px;
}

.ar-media .post-image,
.ar-media .post-image-inner {
    margin: 0;
    padding: 0;
    background: none;
}

.ar-media .post-image-inner > img,
.ar-media .post-detail-slider-item img {
    display: block;
    width: 100%;
    max-height: 560px;
    object-fit: cover;
    border-radius: var(--border-radius-md);
    box-shadow: var(--shadow-sm);
}

.ar-media .img-description {
    display: block;
    font-size: 14px;
    color: var(--text-light);
    margin-top: 10px;
    text-align: center;
    font-style: italic;
}

.ar-media .post-video,
.ar-media .video-player,
.ar-media .mc-embed {
    border-radius: var(--border-radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
}

/* corpo (il tema impone --vr-font-tertiary !important su .post-text: qui serve !important) */
.post-content .post-text.ar-body,
.post-content .post-text.ar-body p,
.post-content .post-text.ar-body li,
.post-content .post-text.ar-body span,
.post-content .post-text.ar-body div {
    font-family: 'Open Sans', Arial, sans-serif !important;
}

.post-content .post-text.ar-body {
    font-size: 17px;
    line-height: 1.75;
    color: var(--text-color);
    max-width: 760px;
}

.post-content .post-text.ar-body p,
.post-content .post-text.ar-body li {
    font-size: 17px;
    line-height: 1.75;
}

.post-content .post-text.ar-body p {
    margin: 0 0 20px;
}

.post-content .post-text.ar-body strong,
.post-content .post-text.ar-body b {
    color: var(--marsala-navy);
    font-weight: 700;
}

.post-content .post-text.ar-body a {
    color: var(--marsala-blue);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.post-content .post-text.ar-body a:hover {
    color: var(--marsala-light-blue);
}

.post-content .post-text.ar-body blockquote,
.post-content .post-text.ar-body blockquote p {
    font-family: var(--font-primary) !important;
}

.post-content .post-text.ar-body blockquote {
    margin: 28px 0;
    padding: 18px 24px;
    border-left: 4px solid var(--marsala-blue);
    background-color: var(--light-gray);
    border-radius: 0 var(--border-radius-md) var(--border-radius-md) 0;
    font-family: var(--font-primary);
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;
    color: var(--marsala-navy);
}

.post-content .post-text.ar-body blockquote p:last-child {
    margin-bottom: 0;
}

.post-content .post-text.ar-body h2,
.post-content .post-text.ar-body h3 {
    font-family: var(--font-primary);
    font-weight: 800;
    color: var(--marsala-blue);
    margin: 32px 0 12px;
    line-height: 1.2;
}

.post-content .post-text.ar-body h2 { font-size: 26px; }
.post-content .post-text.ar-body h3 { font-size: 21px; }

.post-content .post-text.ar-body img {
    max-width: 100%;
    height: auto;
    border-radius: var(--border-radius-md);
}

.post-content .post-text.ar-body ul,
.post-content .post-text.ar-body ol {
    margin: 0 0 20px 22px;
}

.ar-signature {
    margin-top: 32px;
    padding-top: 16px;
    border-top: 1px solid var(--medium-gray);
    font-family: var(--font-primary);
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--marsala-blue);
}

.ar-signature i {
    margin-right: 6px;
}

/* altre notizie */
.ar-more {
    margin-top: 48px;
    padding: 0;
    overflow: visible;
}

.ar-more .section-title {
    margin-bottom: 28px;
    font-size: 24px;
}

.ar-more-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.ar-more-card .news-image {
    display: block;
    aspect-ratio: 430 / 256;
    overflow: hidden;
}

.ar-more-card .news-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ar-more-card h3 {
    font-size: 17px;
    line-height: 1.3;
    margin: 8px 0 12px;
}

.ar-more-card h3 a {
    color: var(--marsala-blue);
}

/* sidebar */
.ar-side .ar-sidebar {
    position: sticky;
    top: 100px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.ar-card {
    background-color: var(--white);
    border-radius: var(--border-radius-md);
    box-shadow: var(--shadow-md);
    padding: 20px;
}

.ar-card p {
    font-size: 15px;
    line-height: 1.5;
    color: var(--text-light);
    margin: 0 0 14px;
}

.ar-latest {
    display: flex;
    flex-direction: column;
}

.ar-latest-item {
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 10px 0;
    border-top: 1px solid var(--medium-gray);
    text-decoration: none;
}

.ar-latest-item:first-child {
    border-top: 0;
    padding-top: 0;
}

.ar-latest-media {
    flex: 0 0 110px;
    width: 110px;
    aspect-ratio: 430 / 256;
    border-radius: 8px;
    overflow: hidden;
    background-color: var(--light-gray);
}

.ar-latest-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ar-latest-body {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.ar-latest-title {
    font-family: var(--font-primary);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--text-color);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ar-latest-item:hover .ar-latest-title {
    color: var(--marsala-blue);
}

.ar-latest-date {
    font-size: 14px;
    color: var(--text-light);
}

.ar-standings {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.ar-standings th,
.ar-standings td {
    padding: 7px 6px;
    text-align: center;
    border-bottom: 1px solid var(--medium-gray);
}

.ar-standings th {
    font-family: var(--font-primary);
    font-size: 13px;
    text-transform: uppercase;
    color: var(--text-light);
    font-weight: 700;
}

.ar-standings .ar-st-team {
    text-align: left;
    width: 60%;
}

.ar-standings tr.is-marsala td {
    background-color: var(--marsala-blue);
    color: var(--white);
    font-weight: 700;
}

.ar-standings tr.is-marsala td:first-child { border-radius: 6px 0 0 6px; }
.ar-standings tr.is-marsala td:last-child { border-radius: 0 6px 6px 0; }

.ar-card-link {
    display: inline-block;
    margin-top: 12px;
    font-family: var(--font-primary);
    font-size: 14px;
    font-weight: 700;
    color: var(--marsala-blue);
}

.ar-shop {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 14px;
}

.ar-shop-item {
    display: flex;
    flex-direction: column;
    gap: 6px;
    text-decoration: none;
    color: var(--text-color);
}

.ar-shop-media {
    aspect-ratio: 1 / 1;
    background: linear-gradient(135deg, var(--white) 0%, var(--light-gray) 100%);
    border-radius: 10px;
    overflow: hidden;
}

.ar-shop-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #fff;
    display: block;
}

.ar-shop-name {
    font-family: var(--font-primary);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
}

.ar-shop-price {
    font-size: 14px;
    font-weight: 700;
    color: var(--marsala-blue);
}

.ar-card-tickets {
    background: linear-gradient(135deg, var(--marsala-blue), var(--marsala-navy));
    color: var(--white);
}

.ar-card-tickets .mc-side-head {
    color: var(--white);
    border-bottom-color: var(--marsala-gold);
}

.ar-card-tickets p {
    color: rgba(255, 255, 255, 0.85);
}

.ar-card-tickets .mc-side-btn {
    background-color: var(--white);
    color: var(--marsala-blue) !important;
    border-color: var(--white);
}

.ar-card-tickets .mc-side-btn:hover {
    background-color: var(--marsala-gold);
    border-color: var(--marsala-gold);
    color: var(--marsala-navy) !important;
}

@media (max-width: 991.98px) {
    .ar-side .ar-sidebar {
        position: static;
        margin-top: 32px;
    }

    .ar-more-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 767.98px) {
    .ar-meta-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .ar-share {
        margin-left: 0;
    }

    .ar-media .post-image-inner > img,
    .ar-media .post-detail-slider-item img {
        max-height: 320px;
    }

    .post-content .post-text.ar-body,
    .post-content .post-text.ar-body p,
    .post-content .post-text.ar-body li {
        font-size: 16px;
    }

    .ar-more-grid {
        grid-template-columns: 1fr;
    }
}

/* ---- Articolo: strumenti di lettura (post/_ar_tools.php + js/article-tools.js) ---- */
.ar-tools {
    background-color: var(--white);
    border-radius: var(--border-radius-md);
    box-shadow: var(--shadow-sm);
    padding: 14px 16px;
    margin: 0 0 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ar-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 36px;
    padding: 0 14px;
    border-radius: 18px;
    border: 1.5px solid var(--marsala-blue);
    background-color: var(--white);
    color: var(--marsala-blue);
    font-family: var(--font-primary);
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    line-height: 1;
    cursor: pointer;
    white-space: nowrap;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.ar-pill:hover {
    background-color: var(--light-gray);
}

.ar-pill.is-active {
    background-color: var(--marsala-blue);
    color: var(--white);
}

.ar-pill:focus-visible,
.ar-play:focus-visible,
.ar-share-btn:focus-visible {
    outline: 3px solid var(--marsala-gold);
    outline-offset: 2px;
}

.ar-tools-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
}

.ar-tools-group {
    display: inline-flex;
    gap: 6px;
}

.ar-font-btn {
    padding: 0 12px;
}

.ar-font-btn i {
    font-size: 10px;
}

.ar-tools-player {
    display: flex;
    gap: 14px;
    align-items: center;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--medium-gray);
}

.ar-tools-player[hidden] {
    display: none;
}

.ar-play {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 0;
    background-color: var(--marsala-blue);
    color: var(--white);
    font-size: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: var(--shadow-sm);
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.ar-play:hover {
    background-color: var(--marsala-navy);
    transform: scale(1.05);
}

.ar-play.is-active {
    background-color: var(--marsala-gold);
    color: var(--marsala-navy);
}

.ar-player-body {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ar-player-top,
.ar-player-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

.ar-player-title {
    font-family: var(--font-primary);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--marsala-blue);
}

.ar-player-time {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-light);
}

.ar-progress {
    width: 100%;
    height: 4px;
    border-radius: 2px;
    background-color: var(--medium-gray);
    overflow: hidden;
}

.ar-progress-bar {
    display: block;
    width: 0;
    height: 100%;
    background-color: var(--marsala-blue);
    transition: width 0.3s ease;
}

.ar-speed {
    display: inline-flex;
    gap: 6px;
}

.ar-speed-btn {
    height: 30px;
    padding: 0 10px;
    font-size: 13px;
    text-transform: none;
}

.ar-stop {
    height: 30px;
    padding: 0 10px;
    font-size: 13px;
    border-color: var(--marsala-red);
    color: var(--marsala-red);
}

.ar-stop:hover {
    background-color: var(--marsala-red);
    color: var(--white);
}

.ar-reading-now {
    background-color: #eef3ff;
    box-shadow: 0 0 0 6px #eef3ff;
    border-radius: 4px;
}

/* dimensione testo */
body.ar-font-s .post-content .post-text.ar-body,
body.ar-font-s .post-content .post-text.ar-body p,
body.ar-font-s .post-content .post-text.ar-body li { font-size: 15px; }
body.ar-font-l .post-content .post-text.ar-body,
body.ar-font-l .post-content .post-text.ar-body p,
body.ar-font-l .post-content .post-text.ar-body li { font-size: 19px; }

/* modalità lettura */
body.ar-reading .ar-side,
body.ar-reading .ar-more,
body.ar-reading .ar-newsletter,
body.ar-reading .emoji-reactions-container,
body.ar-reading .section-comments,
body.ar-reading .ar-prevnext-wrap {
    display: none !important;
}

body.ar-reading .ar-main {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
}

body.ar-reading .ar-article {
    max-width: 760px;
    margin: 0 auto;
}

body.ar-reading .post-content .post-text.ar-body {
    max-width: 760px;
}

/* indice */
.ar-toc {
    background-color: var(--light-gray);
    border-left: 4px solid var(--marsala-blue);
    border-radius: 0 var(--border-radius-md) var(--border-radius-md) 0;
    padding: 16px 20px;
    margin: 24px 0 8px;
    max-width: 760px;
}

.ar-toc-title {
    font-family: var(--font-primary);
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--marsala-blue);
    margin-bottom: 10px;
}

.ar-toc-list {
    margin: 0;
    padding-left: 20px;
    font-size: 15px;
    line-height: 1.6;
}

.ar-toc-list li.is-sub {
    margin-left: 16px;
    list-style: circle;
}

.ar-toc-list a {
    color: var(--text-color);
}

.ar-toc-list a:hover {
    color: var(--marsala-blue);
    text-decoration: underline;
}

/* prev / next */
.ar-prevnext-wrap {
    margin-top: 32px;
}

.ar-prevnext {
    display: flex;
    gap: 16px;
    justify-content: space-between;
}

.ar-prevnext-item {
    flex: 1 1 50%;
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 14px 16px;
    border: 1px solid var(--medium-gray);
    border-radius: var(--border-radius-md);
    text-decoration: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.ar-prevnext-item.empty {
    border: 0;
}

.ar-prevnext-item.next {
    text-align: right;
    align-items: flex-end;
}

.ar-prevnext-item:hover {
    border-color: var(--marsala-blue);
    box-shadow: var(--shadow-sm);
}

.ar-prevnext-label {
    font-family: var(--font-primary);
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--marsala-red);
}

.ar-prevnext-title {
    font-family: var(--font-primary);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--marsala-blue);
}

/* newsletter inline */
.ar-newsletter {
    margin: 36px 0 8px;
    padding: 24px 28px;
    border-radius: var(--border-radius-md);
    background: linear-gradient(135deg, var(--marsala-blue), var(--marsala-navy));
    color: var(--white);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px 32px;
}

.ar-newsletter-text {
    flex: 1 1 260px;
}

.ar-newsletter-text h2 {
    font-family: var(--font-primary);
    font-size: 20px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--white);
    margin: 0 0 6px;
}

.ar-newsletter-text p {
    margin: 0;
    font-size: 15px;
    color: rgba(255, 255, 255, 0.85);
}

.ar-newsletter-form {
    flex: 1 1 320px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ar-newsletter-fields {
    display: flex;
    gap: 8px;
}

.ar-newsletter-fields .form-control {
    flex: 1 1 auto;
    height: 44px;
    border-radius: var(--border-radius-sm);
    border: 0;
    font-size: 15px;
}

.ar-newsletter-fields .btn {
    height: 44px;
    flex: 0 0 auto;
    white-space: nowrap;
    padding: 0 22px;
    background-color: var(--marsala-gold);
    color: var(--marsala-navy) !important;
    border: 0;
    font-weight: 700;
}

.ar-newsletter-fields .btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.ar-newsletter-consent {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.9);
    cursor: pointer;
}

.ar-newsletter-consent input {
    margin-top: 3px;
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
}

.ar-newsletter-consent a {
    color: var(--white);
    text-decoration: underline;
}

.ar-hp {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

@media (max-width: 575.98px) {
    .ar-tools-player {
        flex-direction: row;
    }

    .ar-tools-row {
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 4px;
        scrollbar-width: none;
    }

    .ar-tools-row::-webkit-scrollbar {
        display: none;
    }

    .ar-prevnext {
        flex-direction: column;
    }

    .ar-prevnext-item.next {
        text-align: left;
        align-items: flex-start;
    }

    .ar-newsletter {
        padding: 20px;
    }

    .ar-newsletter-fields {
        flex-direction: column;
    }
}

/* stampa */
@media print {
    header, footer, nav, .marsala-mobile-header, .marsala-mobile-bottom-nav, .marsala-mobile-fab, .marsala-desktop-menu,
    .ar-tools, .ar-share, .ar-side, .ar-more, .ar-newsletter, .emoji-reactions-container, .section-comments,
    .ar-prevnext-wrap, .ar-admin-edit, #mc-cookie-banner, .mc-cookie-banner, .breadcrumb, .ad-space {
        display: none !important;
    }

    body {
        margin: 0;
        background: #fff;
    }

    .page-header {
        background: none !important;
        padding: 0 !important;
    }

    .page-header .page-title {
        color: #000 !important;
        font-size: 24pt;
    }

    .ar-main {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }

    .post-content .post-text.ar-body {
        max-width: 100%;
        font-size: 12pt;
        line-height: 1.6;
    }

    .ar-media img {
        max-height: 90mm;
        box-shadow: none;
    }
}

/* ==========================================================================
   Elenchi notizie v2 (category, posts, search, tag) — prefisso nl-
   ========================================================================== */
.nl-header .nl-title {
    text-transform: none;
    font-family: var(--font-primary);
    font-weight: 800;
    font-size: 36px;
    line-height: 1.15;
    margin: 6px 0 8px;
}

.nl-header .nl-breadcrumb .breadcrumb {
    margin-bottom: 0;
}

.nl-subtitle {
    color: rgba(255, 255, 255, 0.85);
    font-size: 16px;
    margin: 0 0 14px;
    max-width: 760px;
}

.nl-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
}

.nl-pill {
    display: inline-flex;
    align-items: center;
    height: 34px;
    padding: 0 16px;
    border-radius: 17px;
    border: 1.5px solid rgba(255, 255, 255, 0.7);
    color: var(--white) !important;
    font-family: var(--font-primary);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.nl-pill:hover {
    background-color: rgba(255, 255, 255, 0.15);
}

.nl-pill.is-active {
    background-color: var(--white);
    border-color: var(--white);
    color: var(--marsala-blue) !important;
}

.nl-list {
    padding: 40px 0 56px;
    overflow: visible;
}

.nl-chip {
    display: inline-block;
    background-color: var(--marsala-red);
    color: var(--white) !important;
    font-family: var(--font-primary);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: var(--border-radius-sm);
    text-decoration: none;
    width: fit-content;
}

.nl-date {
    font-size: 14px;
    color: var(--text-light);
}

.nl-excerpt {
    font-size: 15px;
    line-height: 1.55;
    color: var(--text-color);
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.nl-excerpt-3 {
    -webkit-line-clamp: 3;
    font-size: 16px;
}

.nl-more {
    font-family: var(--font-primary);
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--marsala-blue);
    text-decoration: none;
    margin-top: auto;
}

.nl-more i,
.nl-featured-btn i,
.btn-text i {
    margin-left: 6px;
    transition: transform 0.2s ease;
}

.nl-more:hover i,
.nl-featured-btn:hover i,
.btn-text:hover i {
    transform: translateX(3px);
}

/* in evidenza */
.nl-featured {
    display: grid;
    grid-template-columns: 7fr 5fr;
    gap: 0;
    background-color: var(--white);
    border-radius: var(--border-radius-md);
    box-shadow: var(--shadow-md);
    overflow: hidden;
    margin-bottom: 32px;
}

.nl-featured-media {
    display: block;
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background-color: var(--light-gray);
}

.nl-featured-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.nl-featured:hover .nl-featured-media img {
    transform: scale(1.03);
}

.nl-featured-body {
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    justify-content: center;
}

.nl-featured-title {
    font-family: var(--font-primary);
    font-size: 28px;
    font-weight: 800;
    line-height: 1.2;
    margin: 0;
}

.nl-featured-title a {
    color: var(--marsala-blue);
}

.nl-featured-btn {
    width: fit-content;
    margin-top: 4px;
}

/* griglia card */
.nl-grid {
    row-gap: 24px;
}

.nl-card {
    height: 100%;
    display: flex;
    flex-direction: column;
    background-color: var(--white);
    border-radius: var(--border-radius-md);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.nl-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-md);
}

.nl-card-media {
    display: block;
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background-color: var(--light-gray);
}

.nl-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.nl-card:hover .nl-card-media img {
    transform: scale(1.04);
}

.nl-card-body {
    padding: 18px 20px 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1 1 auto;
}

.nl-card-title {
    font-family: var(--font-primary);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.nl-card-title a {
    color: var(--marsala-blue);
}

/* AJAX load-more (search) inserisce col-sm-12 col-md-4 */
#postsLoadMoreContent > [class*="col-"] {
    margin-bottom: 0;
}

.nl-loadmore {
    text-align: center;
    margin-top: 40px;
}

/* paginazione */
.nl-pagination {
    margin: 48px 0 0;
    display: flex;
    justify-content: center;
}

.nl-pagination .pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.nl-pagination .pagination li a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 40px !important;
    width: auto !important;
    height: 40px !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 12px !important;
    border-radius: 20px !important;
    border: 1.5px solid var(--marsala-blue) !important;
    background-color: var(--white) !important;
    color: var(--marsala-blue) !important;
    box-shadow: none !important;
    font-family: var(--font-primary);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.nl-pagination .pagination li a:hover,
.nl-pagination .pagination li.active a {
    background-color: var(--marsala-blue) !important;
    border-color: var(--marsala-blue) !important;
    color: var(--white) !important;
}

.nl-pagination .pagination li {
    margin: 0 !important;
    padding: 0 !important;
}

/* vuoto */
.nl-empty {
    text-align: center;
    padding: 48px 20px;
    background-color: var(--white);
    border-radius: var(--border-radius-md);
    box-shadow: var(--shadow-sm);
}

.nl-empty i {
    font-size: 40px;
    color: var(--marsala-blue);
    margin-bottom: 12px;
}

.nl-empty p {
    font-size: 17px;
    color: var(--text-light);
    margin-bottom: 20px;
}

@media (max-width: 991.98px) {
    .nl-featured {
        grid-template-columns: 1fr;
    }

    .nl-featured-body {
        padding: 24px;
    }

    .nl-featured-title {
        font-size: 24px;
    }

    .nl-header .nl-title {
        font-size: 28px;
    }
}

@media (max-width: 575.98px) {
    .nl-list {
        padding: 24px 0 40px;
    }

    .nl-pills {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 4px;
        scrollbar-width: none;
    }

    .nl-pills::-webkit-scrollbar {
        display: none;
    }

    .nl-pill {
        flex: 0 0 auto;
    }

    .nl-featured-body {
        padding: 20px;
    }

    .nl-card-body {
        padding: 16px;
    }
}

/* Newsletter (footer + articolo): consenso, messaggio di esito */
.footer-widget .newsletter .mc-newsletter-form {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.footer-widget .newsletter .mc-newsletter-form .form-control {
    flex: 1 1 160px;
    min-width: 0;
}

.footer-widget .newsletter .mc-newsletter-form .btn {
    flex: 0 0 auto;
    white-space: nowrap;
}

.mc-newsletter-consent {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    font-size: 14px;
    line-height: 1.4;
    width: 100%;
    cursor: pointer;
    color: inherit;
}

.footer-widget .mc-newsletter-consent {
    color: rgba(255, 255, 255, 0.85);
}

.footer-widget .mc-newsletter-consent a {
    color: var(--white);
    text-decoration: underline;
}

.mc-newsletter-consent input {
    margin-top: 3px;
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
}

.mc-newsletter-msg {
    width: 100%;
    margin: 4px 0 0;
    font-size: 14px;
    font-weight: 600;
    min-height: 0;
}

.mc-newsletter-msg:empty {
    display: none;
}

.mc-newsletter-msg.is-ok {
    color: #9be7a9;
}

.mc-newsletter-msg.is-error {
    color: #ffb3b3;
}

.ar-newsletter .mc-newsletter-msg.is-ok {
    color: var(--marsala-gold);
}

.mc-newsletter-submit:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* ==========================================================================
   Marsala Player (post/details/_video.php + js/mc-player.js) — prefisso mcp-
   ========================================================================== */
.mcp {
    position: relative;
    margin: 0 0 6px;
}

.mcp-frame {
    position: relative;
    aspect-ratio: 16 / 9;
    background-color: var(--primary-dark);
    border: 3px solid var(--marsala-blue);
    border-radius: var(--border-radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-md);
    outline: none;
}

.mcp-frame:focus-visible {
    box-shadow: 0 0 0 3px var(--marsala-gold);
}

.mcp-media,
.mcp-media iframe,
.mcp-media .mcp-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
    background: #000;
}

.mcp-media iframe {
    pointer-events: none; /* ogni interazione passa dai nostri controlli */
}

.mcp-poster {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    cursor: pointer;
    transition: opacity 0.35s ease;
    z-index: 2;
}

.mcp-poster::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 6, 48, 0.85) 0%, rgba(0, 6, 48, 0.35) 45%, rgba(0, 6, 48, 0.15) 100%);
}

.mcp-watermark {
    position: absolute;
    right: 16px;
    bottom: 16px;
    width: 72px;
    height: auto;
    opacity: 0.35;
    z-index: 1;
}

.mcp.is-playing .mcp-poster {
    opacity: 0;
    pointer-events: none;
}

.mcp.is-paused .mcp-poster,
.mcp.is-ended .mcp-poster {
    opacity: 0.55;
}

.mcp-head {
    position: absolute;
    top: 14px;
    left: 16px;
    right: 16px;
    z-index: 4;
    display: flex;
    align-items: center;
    gap: 10px;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.mcp.is-playing:not(.show-controls) .mcp-head {
    opacity: 0;
}

.mcp-chip {
    background-color: var(--marsala-red);
    color: var(--white);
    font-family: var(--font-primary);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: var(--border-radius-sm);
    flex: 0 0 auto;
}

.mcp-title {
    color: var(--white);
    font-family: var(--font-primary);
    font-size: 15px;
    font-weight: 700;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

.mcp-duration {
    margin-left: auto;
    background-color: rgba(0, 6, 48, 0.75);
    color: var(--white);
    font-size: 12px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: var(--border-radius-sm);
    flex: 0 0 auto;
}

.mcp-bigplay {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 80px;
    height: 80px;
    margin: -40px 0 0 -40px;
    border-radius: 50%;
    border: 3px solid var(--white);
    background-color: var(--marsala-blue);
    color: var(--white);
    font-size: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 5;
    box-shadow: var(--shadow-lg);
    transition: transform 0.2s ease, background-color 0.2s ease, opacity 0.3s ease;
}

.mcp-bigplay i {
    margin-left: 4px;
}

.mcp-bigplay:hover {
    transform: scale(1.06);
    background-color: var(--marsala-navy);
}

.mcp.is-playing .mcp-bigplay,
.mcp.is-gated .mcp-bigplay,
.mcp.is-error .mcp-bigplay,
.mcp.is-loading .mcp-bigplay {
    opacity: 0;
    pointer-events: none;
}

.mcp-spinner {
    pointer-events: none;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 56px;
    height: 56px;
    margin: -28px 0 0 -28px;
    border-radius: 50%;
    border: 4px solid rgba(255, 255, 255, 0.3);
    border-top-color: var(--white);
    animation: mcp-spin 0.9s linear infinite;
    z-index: 6;
}

.mcp-spinner[hidden] {
    display: none;
}

@keyframes mcp-spin {
    to { transform: rotate(360deg); }
}

.mcp-gate,
.mcp-error {
    position: absolute;
    inset: 0;
    z-index: 7;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 24px;
    text-align: center;
    background-color: rgba(0, 6, 48, 0.55);
    color: var(--white);
}

.mcp-gate[hidden],
.mcp-error[hidden] {
    display: none;
}

.mcp-gate p,
.mcp-error p {
    margin: 0;
    font-family: var(--font-primary);
    font-size: 16px;
    font-weight: 700;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
}

/* controlli */
.mcp-controls {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 8;
    padding: 24px 12px 8px;
    background: linear-gradient(to top, rgba(0, 6, 48, 0.9), rgba(0, 6, 48, 0));
    opacity: 0;
    transform: translateY(6px);
    transition: opacity 0.25s ease, transform 0.25s ease;
}

.mcp.show-controls .mcp-controls,
.mcp.is-paused .mcp-controls,
.mcp.is-ended .mcp-controls,
.mcp.is-ready-ui:not(.is-started):not(.is-gated) .mcp-controls {
    opacity: 1;
    transform: none;
}

.mcp.is-gated .mcp-controls,
.mcp.is-error .mcp-controls {
    display: none;
}

.mcp-progress {
    position: relative;
    height: 6px;
    border-radius: 3px;
    background-color: rgba(255, 255, 255, 0.25);
    cursor: pointer;
    margin: 0 4px 10px;
    outline: none;
}

.mcp-progress:focus-visible {
    box-shadow: 0 0 0 3px var(--marsala-gold);
}

.mcp-buffered,
.mcp-played {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    border-radius: 3px;
    width: 0;
}

.mcp-buffered {
    background-color: rgba(255, 255, 255, 0.45);
}

.mcp-played {
    background-color: var(--marsala-gold);
}

.mcp-knob {
    position: absolute;
    top: 50%;
    left: 0;
    width: 14px;
    height: 14px;
    margin: -7px 0 0 -7px;
    border-radius: 50%;
    background-color: var(--white);
    border: 2px solid var(--marsala-gold);
    transform: scale(0);
    transition: transform 0.15s ease;
}

.mcp-progress:hover .mcp-knob,
.mcp-progress:focus-visible .mcp-knob {
    transform: scale(1);
}

.mcp-bar {
    display: flex;
    align-items: center;
    gap: 6px;
}

.mcp-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 0;
    background: transparent;
    color: var(--white);
    font-size: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.mcp-btn:hover,
.mcp-btn:focus-visible {
    background-color: rgba(255, 255, 255, 0.18);
    outline: none;
}

.mcp-speed-btn {
    width: auto;
    padding: 0 10px;
    border-radius: 18px;
    font-family: var(--font-primary);
    font-size: 13px;
    font-weight: 700;
}

.mcp-time {
    color: var(--white);
    font-size: 13px;
    font-variant-numeric: tabular-nums;
    padding: 0 4px;
}

.mcp-spacer {
    flex: 1 1 auto;
}

.mcp-volume {
    display: flex;
    align-items: center;
    gap: 4px;
}

.mcp-vol {
    width: 0;
    opacity: 0;
    transition: width 0.2s ease, opacity 0.2s ease;
    accent-color: var(--marsala-gold);
    height: 4px;
}

.mcp-volume:hover .mcp-vol,
.mcp-volume:focus-within .mcp-vol {
    width: 80px;
    opacity: 1;
}

.mcp-speed {
    position: relative;
}

.mcp-speed-menu {
    position: absolute;
    bottom: 42px;
    right: 0;
    background-color: var(--marsala-navy);
    border-radius: 8px;
    box-shadow: var(--shadow-md);
    padding: 6px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 90px;
}

.mcp-speed-menu[hidden] {
    display: none;
}

.mcp-speed-menu button {
    border: 0;
    background: transparent;
    color: var(--white);
    font-family: var(--font-primary);
    font-size: 13px;
    font-weight: 700;
    padding: 8px 10px;
    border-radius: 6px;
    text-align: left;
    cursor: pointer;
}

.mcp-speed-menu button[aria-checked="true"],
.mcp-speed-menu button:hover {
    background-color: var(--marsala-blue);
}

.mcp-frame:fullscreen,
.mcp-frame:-webkit-full-screen {
    border: 0;
    border-radius: 0;
    width: 100%;
    height: 100%;
}

.mcp-source {
    font-size: 11px;
    color: var(--text-light);
    text-align: right;
    margin: 0 4px 16px;
}

/* altri video */
.mcp-more {
    margin: 20px 0 28px;
}

.mcp-more-strip {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.mcp-more-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    text-decoration: none;
    color: var(--text-color);
}

.mcp-more-media {
    position: relative;
    aspect-ratio: 16 / 9;
    border-radius: 10px;
    overflow: hidden;
    background-color: var(--light-gray);
}

.mcp-more-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.mcp-more-media i {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 36px;
    height: 36px;
    margin: -18px 0 0 -18px;
    border-radius: 50%;
    background-color: rgba(0, 74, 173, 0.9);
    color: var(--white);
    font-size: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding-left: 2px;
}

.mcp-more-item:hover .mcp-more-media img {
    transform: scale(1.05);
}

.mcp-more-title {
    font-family: var(--font-primary);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.mcp-more-item:hover .mcp-more-title {
    color: var(--marsala-blue);
}

@media (max-width: 767.98px) {
    .mcp-frame {
        border-width: 2px;
    }

    .mcp-head {
        top: 10px;
        left: 10px;
        right: 10px;
    }

    .mcp-title {
        display: none;
    }

    .mcp-bigplay {
        width: 64px;
        height: 64px;
        margin: -32px 0 0 -32px;
        font-size: 22px;
    }

    .mcp-controls {
        padding: 20px 8px 6px;
    }

    .mcp-vol {
        display: none;
    }

    .mcp-watermark {
        width: 48px;
    }

    .mcp-more-strip {
        grid-template-columns: repeat(2, 1fr);
    }
}

.mcp-poster {
    background-color: var(--marsala-navy);
}

/* dopo l'avvio restano solo la durata: niente sovrapposizione con la barra titolo nativa di YouTube */
.mcp.is-started .mcp-chip,
.mcp.is-started .mcp-title {
    display: none;
}

.mcp.is-started .mcp-head {
    justify-content: flex-end;
}

/* modalità nativa: se la policy autoplay blocca il nostro play, l'iframe diventa cliccabile */
.mcp.is-native .mcp-media iframe {
    pointer-events: auto;
}

.mcp.is-native .mcp-poster,
.mcp.is-native .mcp-bigplay,
.mcp.is-native .mcp-spinner {
    display: none !important;
}

.mcp.is-native .mcp-controls {
    pointer-events: none;
    opacity: 0;
}

.mcp-hint {
    position: absolute;
    left: 50%;
    bottom: 64px;
    transform: translateX(-50%);
    background-color: rgba(0, 6, 48, 0.9);
    color: var(--white);
    font-family: var(--font-primary);
    font-size: 14px;
    font-weight: 700;
    padding: 8px 14px;
    border-radius: 18px;
    z-index: 9;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease;
}

.mcp-hint.is-visible {
    opacity: 1;
}

/* Barra "Ultime Notizie": fascia navy sotto l'header, etichetta rossa come
   .mc-hero-badge, frecce tonde come lo slider. Su desktop parte dopo il logo. */
.section-newsticker {
    background: var(--marsala-navy);
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    margin-bottom: 0 !important;
}

.section-newsticker .newsticker-container {
    min-height: 48px;
    gap: 16px;
}

.section-newsticker .newsticker-title {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background-color: var(--marsala-red) !important;
    color: var(--white);
    font-family: var(--font-primary);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 5px 10px;
    border-radius: var(--border-radius-sm);
}

.section-newsticker .newsticker-title svg {
    display: none;
}

.section-newsticker .newsticker-title::before {
    content: '';
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--white);
    animation: mc-ticker-pulse 1.6s ease-in-out infinite;
}

@keyframes mc-ticker-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.25; }
}

.section-newsticker .newsticker {
    margin-left: 0;
    min-width: 0;
    flex: 1;
}

.section-newsticker .newsticker li {
    max-width: none;
}

.section-newsticker .newsticker li a {
    color: var(--white);
    font-family: var(--font-primary);
    font-size: 14px;
    font-weight: 600;
}

.section-newsticker .newsticker li a:hover {
    color: var(--white);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.section-newsticker .nav-sm-buttons {
    display: flex;
    gap: 6px;
}

.section-newsticker .nav-sm-buttons .prev,
.section-newsticker .nav-sm-buttons .next {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    margin: 0;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.35) !important;
    color: var(--white) !important;
    cursor: pointer;
}

.section-newsticker .nav-sm-buttons .prev:hover,
.section-newsticker .nav-sm-buttons .next:hover {
    background-color: var(--white) !important;
    border-color: var(--white) !important;
    color: var(--marsala-blue) !important;
}

@media (min-width: 992px) {
    .section-newsticker .container-xl {
        max-width: 1400px;
        padding: 0 20px;
    }
    .section-newsticker .row {
        margin: 0;
    }
    .section-newsticker .newsticker-container {
        justify-content: flex-start;
        padding: 0 0 0 120px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .section-newsticker .newsticker-title::before {
        animation: none;
    }
}

@media (max-width: 575.98px) {
    .section-newsticker .newsticker-container {
        min-height: 44px;
        gap: 10px;
    }
    .section-newsticker .newsticker-title {
        font-size: 11px;
        padding: 4px 8px;
        gap: 6px;
    }
    .section-newsticker .newsticker li a {
        font-size: 13px;
    }
    .section-newsticker .ms-auto {
        display: none;
    }
}
