.base-color, .text-base-color { color: var(--color-secondary) !important; }
.bg-base-color { background-color: var(--color-secondary) !important; }
.border-color-base-color { border-color: var(--color-secondary) !important; }
.text-dark-gray { color: var(--color-primary) !important; }
.bg-dark-gray { background-color: var(--color-primary) !important; }
.bg-gradient-gruppo-pesce { background: var(--gradient-primary) !important; }
.bg-gradient-dark { background: var(--gradient-dark) !important; }
.text-outline-color-base-color { -webkit-text-stroke-color: var(--color-secondary) !important; }
a:hover, a:focus { color: var(--color-secondary); }
.btn-base-color { background-color: var(--color-secondary); border-color: var(--color-secondary); color: #fff; }
.btn-base-color:hover { background-color: var(--color-primary); border-color: var(--color-primary); color: #fff; }
.btn-dark-gray { background-color: var(--color-primary); border-color: var(--color-primary); color: #fff; }
.btn-dark-gray:hover { background-color: var(--color-secondary); border-color: var(--color-secondary); color: #fff; }

.btn-whtasapp { background-color: var(--color-whatsapp); border-color: var(--color-whatsapp); color: #fff; }
.btn-whtasapp:hover { background-color: var(--color-secondary); border-color: var(--color-secondary); color: #fff; }

.icon-with-text-style-07 .feature-box:hover i { color: var(--color-secondary) !important; }
.icon-with-text-style-07 .feature-box:hover .feature-box-content span { color: var(--color-secondary) !important; }
.counter-style-04 .counter-number { color: var(--color-primary); }
.counter-style-04 .counter-title { color: var(--color-text); }
.team-style-01:hover .team-content { background-color: var(--color-primary); }
.social-icon-style-02 ul li a:hover { background-color: var(--color-secondary); color: #fff !important; }
.portfolio-wrapper:hover .portfolio-box .portfolio-hover { background: rgba(29, 29, 107, 0.9); }
.control-progect .swiper-button-next, .control-progect .swiper-button-prev { background-color: var(--color-secondary); }
.swiper-button-next:hover, .swiper-button-prev:hover { background-color: var(--color-secondary); }
.accordion-style-02 .accordion-item.active-accordion .accordion-header .accordion-title { color: var(--color-secondary); }
.accordion-style-02 .accordion-item.active-accordion .accordion-header::before { background-color: var(--color-secondary); }
.tab-style-06 .nav-tabs .nav-item .nav-link.active, .tab-style-06 .nav-tabs .nav-item .nav-link:hover { color: var(--color-secondary); border-bottom-color: var(--color-secondary); }
.footer-dark { background-color: #1f232c; }
.footer-dark a:hover { color: var(--color-secondary) !important; }
header .navbar-nav .nav-link:hover, header .navbar-nav .nav-link.active { color: var(--color-secondary) !important; }
.hamburger-menu .menu-item-list .menu-item:hover a { color: var(--color-secondary) !important; }
.push-menu .menu-item-list li a:hover { color: var(--color-secondary) !important; }
.separator-line-1px.bg-base-color { background-color: var(--color-secondary) !important; }
.process-step-style-02 .progress-step-separator::before { background-color: var(--color-secondary); }
.process-step-style-02:hover .process-step-icon { background-color: var(--color-secondary); border-color: var(--color-secondary); }
.list-style-02 li::before { color: var(--color-secondary); }
.form-control:focus { border-color: var(--color-secondary); box-shadow: 0 0 0 0.2rem rgba(0, 150, 214, 0.25); }
.testimonials-style-02 .swiper-pagination-bullet-active { background-color: var(--color-secondary); }
.icon-box:hover { border-color: var(--color-secondary); }
.icon-box:hover i { color: var(--color-secondary); }
.services-box:hover { border-color: var(--color-secondary); }
.services-box:hover .services-box-icon { background-color: var(--color-secondary); color: #fff; }
.project-filter li.active a, .project-filter li a:hover { color: var(--color-secondary); }
.project-filter li.active::after { background-color: var(--color-secondary); }
.pagination .page-item.active .page-link { background-color: var(--color-secondary); border-color: var(--color-secondary); }
.pagination .page-link:hover { background-color: var(--color-primary); border-color: var(--color-primary); color: #fff; }
::selection { background-color: var(--color-secondary); color: #fff; }
::-moz-selection { background-color: var(--color-secondary); color: #fff; }
.circle-cursor-inner { background-color: var(--color-secondary) !important; }
.circle-cursor-outer { border-color: var(--color-secondary) !important; }

.header-gruppo-pesce { background: var(--gradient-dark); }
.hero-gruppo-pesce { background: var(--gradient-primary); }
.section-primary { background-color: var(--color-primary); }
.section-light { background-color: var(--color-light); }
.card-service { transition: var(--transition-normal); box-shadow: var(--shadow-sm); }
.card-service:hover { box-shadow: var(--shadow-lg); transform: translateY(-5px); }
.card-service:hover .service-icon { background-color: var(--color-secondary); color: #fff; }
.logo-partners img { filter: grayscale(100%); opacity: 0.6; transition: var(--transition-normal); }
.logo-partners img:hover { filter: grayscale(0%); opacity: 1; }
.number-box { font-size: 60px; font-weight: 700; color: var(--color-primary); line-height: 1; }
.number-box span { font-size: 14px; color: var(--color-text-muted); font-weight: 400; display: block; margin-top: 10px; text-transform: uppercase; letter-spacing: 1px; }
.instagram-feed-section { background-color: var(--color-gray-100); }
.instagram-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }
.instagram-grid a { display: block; overflow: hidden; position: relative; aspect-ratio: 1; }
.instagram-grid a img { width: 100%; height: 100%; object-fit: cover; transition: var(--transition-normal); }
.instagram-grid a:hover img { transform: scale(1.1); }
.instagram-grid a::before { content: '\f16d'; font-family: 'Font Awesome 6 Brands'; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: #fff; font-size: 24px; opacity: 0; transition: var(--transition-fast); z-index: 2; }
.instagram-grid a::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 150, 214, 0.7); opacity: 0; transition: var(--transition-fast); }
.instagram-grid a:hover::before, .instagram-grid a:hover::after { opacity: 1; }
@media (max-width: 991px) { .instagram-grid { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 575px) { .instagram-grid { grid-template-columns: repeat(3, 1fr); } }
.certification-card { 
    background: rgba(255, 255, 255, 0.05); 
    border: 1px solid rgba(255, 255, 255, 0.1); 
    border-radius: 12px; 
    padding: 30px; 
    backdrop-filter: blur(10px); 
    transition: all 0.3s ease; 
    display: flex; 
    align-items: center; 
    gap: 20px; 
}
.certification-card:hover { 
    background: rgba(255, 255, 255, 0.1); 
    border-color: var(--color-secondary); 
    transform: translateY(-5px); 
}
.certification-card .cert-icon { 
    width: 70px; 
    height: 70px; 
    background: linear-gradient(135deg, var(--color-secondary), var(--color-primary)); 
    border-radius: 16px; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    flex-shrink: 0; 
}
.certification-card .cert-icon i { 
    font-size: 28px; 
    color: #fff; 
}
.certification-card h5 { 
    margin: 0 0 5px; 
    color: #fff; 
    font-weight: 600; 
    font-size: 18px; 
}
.certification-card p { 
    margin: 0; 
    color: rgba(255, 255, 255, 0.6); 
    font-size: 14px; 
}
.certification-card .cert-download { 
    margin-left: auto; 
    width: 50px; 
    height: 50px; 
    background: rgba(255, 255, 255, 0.1); 
    border-radius: 50%; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    color: var(--color-secondary); 
    font-size: 20px; 
    transition: all 0.3s ease; 
}
.certification-card .cert-download:hover { 
    background: var(--color-secondary); 
    color: #fff; 
    transform: scale(1.1); 
}

.section-soa {
    background: linear-gradient(180deg, #f8f9fa 0%, #fff 100%);
    position: relative;
}
.section-soa::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--color-primary), var(--color-secondary));
}
.soa-card { 
    background: #fff; 
    padding: 35px 25px; 
    border-radius: 16px; 
    box-shadow: 0 10px 40px rgba(29, 29, 107, 0.08); 
    transition: all 0.4s ease; 
    border: 1px solid rgba(29, 29, 107, 0.08); 
    position: relative;
    overflow: hidden;
}
.soa-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--color-secondary), var(--color-primary));
    transform: scaleX(0);
    transition: transform 0.4s ease;
}
.soa-card:hover::before {
    transform: scaleX(1);
}
.soa-card:hover { 
    transform: translateY(-8px); 
    box-shadow: 0 20px 50px rgba(29, 29, 107, 0.15); 
}
.soa-card .soa-title { 
    display: block; 
    font-weight: 800; 
    font-size: 32px; 
    background: linear-gradient(135deg, var(--color-primary), var(--color-secondary));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 10px; 
}
.soa-card .soa-subtitle { 
    display: block; 
    font-size: 13px; 
    color: #666; 
    line-height: 1.5;
    font-weight: 500;
}
.project-card { position: relative; overflow: hidden; border-radius: 8px; }
.project-card img { width: 100%; height: 300px; object-fit: cover; transition: var(--transition-slow); }
.project-card:hover img { transform: scale(1.1); }
.project-card .project-overlay { position: absolute; bottom: 0; left: 0; right: 0; padding: 30px; background: linear-gradient(to top, rgba(29, 29, 107, 0.95), transparent); transform: translateY(20px); opacity: 0; transition: var(--transition-normal); }
.project-card:hover .project-overlay { transform: translateY(0); opacity: 1; }
.project-card .project-overlay h4 { color: #fff; margin: 0 0 5px; font-weight: 600; }
.project-card .project-overlay span { color: var(--color-secondary-light); font-size: 14px; text-transform: uppercase; letter-spacing: 1px; }
.project-status { display: inline-block; padding: 5px 15px; border-radius: 20px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; }
.project-status.in-corso { background-color: var(--color-secondary); color: #fff; }
.project-status.realizzato { background-color: var(--color-primary); color: #fff; }
.team-member { text-align: center; padding: 30px; background: #fff; border-radius: 8px; box-shadow: var(--shadow-sm); transition: var(--transition-normal); }
.team-member:hover { box-shadow: var(--shadow-lg); transform: translateY(-10px); }
.team-member img { width: 150px; height: 150px; border-radius: 50%; object-fit: cover; margin-bottom: 20px; border: 4px solid var(--color-light); transition: var(--transition-normal); }
.team-member:hover img { border-color: var(--color-secondary); }
.team-member h5 { color: var(--color-primary); margin: 0 0 5px; font-weight: 600; }
.team-member span { color: var(--color-text-muted); font-size: 14px; text-transform: uppercase; letter-spacing: 1px; }
.service-single-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.service-single-gallery a { display: block; overflow: hidden; border-radius: 8px; }
.service-single-gallery img { width: 100%; height: 200px; object-fit: cover; transition: var(--transition-normal); }
.service-single-gallery a:hover img { transform: scale(1.1); }
.project-info-table { background: var(--color-light); border-radius: 8px; padding: 30px; }
.project-info-table table { width: 100%; }
.project-info-table tr { border-bottom: 1px solid var(--color-gray-300); }
.project-info-table tr:last-child { border-bottom: none; }
.project-info-table td { padding: 15px 0; }
.project-info-table td:first-child { font-weight: 600; color: var(--color-primary); width: 40%; }
.project-info-table td:last-child { color: var(--color-text); }
.contact-form-box { background: #fff; padding: 50px; border-radius: 12px; box-shadow: var(--shadow-lg); }
.contact-info-box { background: var(--gradient-primary); padding: 50px; border-radius: 12px; color: #fff; height: 100%; }
.contact-info-box h3 { color: #fff; margin-bottom: 30px; }
.contact-info-box .contact-item { display: flex; align-items: flex-start; gap: 15px; margin-bottom: 25px; }
.contact-info-box .contact-item i { font-size: 24px; color: #fff; opacity: 0.8; margin-top: 3px; }
.contact-info-box .contact-item h5 { margin: 0 0 5px; font-size: 16px; font-weight: 600; }
.contact-info-box .contact-item p, .contact-info-box .contact-item a { margin: 0; color: rgba(255, 255, 255, 0.8); font-size: 15px; }
.contact-info-box .contact-item a:hover { color: #fff; }
.job-form-box { background: var(--color-light); padding: 40px; border-radius: 12px; }
.job-benefits { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-top: 30px; }
.job-benefit-item { display: flex; align-items: center; gap: 15px; }
.job-benefit-item i { width: 50px; height: 50px; background: var(--color-secondary); color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; }
.job-benefit-item span { font-weight: 500; color: var(--color-primary); }


header .navbar-brand img {
    max-height: 46px;
}

.btn.btn-base-color {
    background-color: var(--color-secondary);
    color: var(--white);
}

.btn.btn-box-shadow.btn-base-color:hover, .btn.btn-box-shadow.btn-base-color:active {
    background: var(--color-primary);
    color: var(--white);
}

.btn.btn-base-color:hover, .btn.btn-base-color:active {
    background-color: transparent;
    border-color: var(--color-primary);
}

.box-video {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    border-radius: 6px;
    margin-bottom: 40px;
}

.box-video iframe,
.box-video object,
.box-video embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 6px;
}

.textarea ul li {
    list-style: disc;
}

.textarea ul li::marker {
    color: var(--color-primary) !important;
}

.textarea h1, .textarea h2, .textarea h3, .textarea h4, .textarea h5, .textarea h6 {
    color: var(--color-primary);
	margin-bottom: 10px;
}

.grecaptcha-badge {
	display: none;
}

.last-paragraph-no-margin p:last-of-type {
    margin-bottom: 0;
    color: #eee;
}

.navbar .navbar-nav .nav-link {
    font-size: 16px;
}

@media (max-width: 575px) {
    .header-icon.btn-header-custom .btn {
		font-size: 13px;
		padding: 8px 10px;
	}

	.header-icon.btn-header-custom i {
		display: none;
	}
}