.mod-megamenu>.mod-megamenu--item:last-child {
    margin-left: auto;
}

.mod-megamenu>.mod-megamenu--item:last-child>.mod-megamenu--item-anchor {
    padding-right: 0;
}
.call-now-fixed{
position:fixed;
bottom:20px;
right:20px;
background:#ff3c00;
color:white;
padding:18px 26px;
font-size:20px;
font-weight:bold;
border-radius:50px;
text-decoration:none;
z-index:9999;
box-shadow:0 5px 15px rgba(0,0,0,0.3);
}

/* forza 4 colonne sul blocco categorie */
.pg-categories-items-box {
    display: flex !important;
    flex-wrap: wrap !important;
}

.pg-categories-items-box > * {
    width: 25% !important;
    max-width: 25% !important;
    flex: 0 0 25% !important;
    box-sizing: border-box !important;
    padding: 10px !important;
    float: none !important;
}

@media (max-width: 991px) {
    .pg-categories-items-box > * {
        width: 50% !important;
        max-width: 50% !important;
        flex: 0 0 50% !important;
    }
}

@media (max-width: 599px) {
    .pg-categories-items-box > * {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }
}

/* RIMUOVE "Powered by Phoca Gallery" */

/* link diretto */
a[href*="phoca.cz"] {
    display: none !important;
}

/* contenitore del footer Phoca */
.pg-footer,
.pg-cv-footer,
.pg-detail-info,
.phocagallery-footer,
.phoca-gallery-footer {
    display: none !important;
}

/* eventuale riga finale vuota */
.pg-detail-info:empty,
.pg-footer:empty {
    display: none !important;
}
/* CONTENITORE */
.gn-cta-buttons{
  display:flex;
  justify-content:center;
  gap:15px;
  flex-wrap:wrap;
  margin:30px 0;
}

/* BASE BUTTON */
.gn-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:14px 26px;
  border-radius:10px;
  text-decoration:none !important;
  font-weight:600;
  font-size:16px;
  transition:all 0.25s ease;
  box-shadow:0 6px 18px rgba(0,0,0,0.15);
}

/* CHIAMA */
.gn-btn-call{
  background:#FF6B00;
  color:#ffffff !important;
}

.gn-btn-call:hover{
  background:#e55d00;
  transform:translateY(-2px);
}

/* WHATSAPP */
.gn-btn-wa{
  background:#25D366;
  color:#ffffff !important;
}

.gn-btn-wa:hover{
  background:#1ebe5d;
  transform:translateY(-2px);
}

/* MOBILE */
@media (max-width:600px){
  .gn-btn{
    width:100%;
    justify-content:center;
  }
}
/* GN TECH SRLS - CSS pagine servizi
   Da caricare nel template / custom CSS
*/

/* Container */
.gn-container{
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:0 15px;
  box-sizing:border-box;
}

/* Hero */
.gn-hero-section{
  background:linear-gradient(135deg,#071a3d 0%,#0A2A5E 45%,#1E5EFF 100%);
  color:#ffffff;
  padding:80px 20px 70px;
}

.gn-hero-content{
  max-width:900px;
}

.gn-hero-badge{
  display:inline-block;
  background:rgba(255,255,255,0.12);
  border:1px solid rgba(255,255,255,0.14);
  color:#ffffff;
  padding:8px 14px;
  border-radius:30px;
  font-size:13px;
  font-weight:700;
  margin-bottom:18px;
}

.gn-hero-actions-top{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:0 0 20px;
}

.gn-hero-icon-text{
  margin:0 0 12px;
  color:#dbeafe;
  font-size:16px;
  font-weight:600;
}

.gn-hero-section h1{
  margin:0 0 16px;
  font-size:46px;
  line-height:1.12;
  color:#ffffff;
}

.gn-hero-section p{
  margin:0 0 18px;
  font-size:18px;
  line-height:1.8;
  color:#eaf3ff;
}

.gn-hero-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 18px;
  padding:0;
  margin:24px 0 28px;
  list-style:none;
}

.gn-hero-list li{
  color:#ffffff;
  font-size:16px;
  line-height:1.5;
}

/* Generic sections */
.gn-intro-section,
.gn-services-section,
.gn-offers-section,
.gn-brands-section,
.gn-reviews-section,
.gn-contact-section,
.gn-contact-form-section,
.gn-icons-info-section{
  padding:70px 20px;
}

.gn-intro-section{
  background:#ffffff;
  text-align:center;
}

.gn-section-label{
  display:inline-block;
  background:#eaf3ff;
  color:#1E5EFF;
  padding:8px 14px;
  border-radius:30px;
  font-size:13px;
  font-weight:700;
  margin-bottom:14px;
}

.gn-intro-section h2,
.gn-services-section h2,
.gn-offers-section h2,
.gn-brands-section h2,
.gn-reviews-section h2,
.gn-contact-section h2{
  margin:0 0 14px;
  color:#0A2A5E;
  font-size:38px;
  line-height:1.2;
  text-align:center;
}

.gn-intro-section p,
.gn-services-section p,
.gn-offers-section p,
.gn-brands-section p,
.gn-reviews-section p,
.gn-contact-section p,
.gn-contact-form-section p{
  color:#52627d;
  font-size:17px;
  line-height:1.8;
}

.gn-intro-section > .gn-container > p,
.gn-services-section > .gn-container > p,
.gn-offers-section > .gn-container > p,
.gn-brands-section > .gn-container > p,
.gn-contact-section > .gn-container > p,
.gn-contact-form-section > .gn-container > p{
  max-width:850px;
  margin:0 auto 18px;
  text-align:center;
}

/* Feature list */
.gn-feature-list,
.gn-contact-list{
  max-width:780px;
  margin:24px auto 0;
  padding-left:22px;
  color:#334155;
  line-height:1.9;
  font-size:16px;
  text-align:left;
}

/* Buttons */
.gn-cta-buttons{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:15px;
  flex-wrap:wrap;
  margin:28px 0 0;
}

.gn-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:14px 26px;
  border-radius:10px;
  text-decoration:none !important;
  font-weight:700;
  font-size:16px;
  line-height:1.2;
  transition:all .25s ease;
  box-shadow:0 8px 22px rgba(0,0,0,.12);
  border:none;
  cursor:pointer;
}

.gn-btn-call{
  background:#FF6B00;
  color:#ffffff !important;
}

.gn-btn-call:hover{
  background:#e55d00;
  transform:translateY(-2px);
  color:#ffffff !important;
}

.gn-btn-wa{
  background:#25D366;
  color:#ffffff !important;
}

.gn-btn-wa:hover{
  background:#1ebe5d;
  transform:translateY(-2px);
  color:#ffffff !important;
}

.gn-btn-outline{
  background:#ffffff;
  color:#0A2A5E !important;
  border:2px solid #0A2A5E;
  box-shadow:none;
}

.gn-btn-outline:hover{
  background:#0A2A5E;
  color:#ffffff !important;
  transform:translateY(-2px);
}

/* Info boxes */
.gn-icons-info-section{
  background:#f8fbff;
}

.gn-icons-info-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.gn-info-box{
  background:#ffffff;
  border:1px solid #e8eef7;
  border-radius:18px;
  padding:24px 18px;
  text-align:center;
  box-shadow:0 10px 28px rgba(10,42,94,.05);
}

.gn-info-box strong{
  display:block;
  color:#0A2A5E;
  font-size:22px;
  line-height:1.2;
  margin-bottom:6px;
}

.gn-info-box span{
  display:block;
  color:#607089;
  font-size:15px;
  line-height:1.6;
}

/* Services */
.gn-services-section{
  background:#ffffff;
}

.gn-services-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  margin-top:32px;
}

.gn-service-box{
  background:#f8fbff;
  border:1px solid #e8eef7;
  border-radius:18px;
  padding:30px 24px;
  text-align:center;
  box-shadow:0 10px 28px rgba(10,42,94,.06);
}

.gn-service-icon{
  font-size:36px;
  margin-bottom:14px;
}

.gn-service-box h3{
  margin:0 0 12px;
  color:#0A2A5E;
  font-size:24px;
  line-height:1.3;
}

.gn-service-box p{
  margin:0;
  color:#52627d;
  font-size:16px;
  line-height:1.8;
}

/* Offers */
.gn-offers-section{
  background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%);
}

.gn-offers-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  margin-top:32px;
}

.gn-offer-card{
  background:#ffffff;
  border:1px solid #e8eef7;
  border-radius:20px;
  padding:30px 24px;
  text-align:center;
  box-shadow:0 14px 35px rgba(10,42,94,.07);
}

.gn-offer-label{
  display:inline-block;
  background:#eaf3ff;
  color:#1E5EFF;
  padding:7px 12px;
  border-radius:30px;
  font-size:12px;
  font-weight:700;
  margin-bottom:14px;
}

.gn-offer-card h3{
  margin:0 0 10px;
  color:#0A2A5E;
  font-size:26px;
  line-height:1.25;
}

.gn-offer-price{
  color:#FF6B00 !important;
  font-size:22px !important;
  font-weight:700;
  margin:0 0 12px !important;
}

/* Brands / CTA section */
.gn-brands-section{
  background:#0A2A5E;
  text-align:center;
}

.gn-brands-section h2{
  color:#ffffff;
}

.gn-brands-section p{
  color:#dbeafe;
  max-width:850px;
  margin:0 auto;
}

/* Reviews */
.gn-reviews-section{
  background:#ffffff;
}

.gn-reviews-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  margin-top:32px;
}

.gn-review-box{
  background:#f8fbff;
  border:1px solid #e8eef7;
  border-radius:18px;
  padding:26px 24px;
  box-shadow:0 8px 20px rgba(10,42,94,.05);
}

.gn-review-box strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  border-radius:50%;
  background:#1E5EFF;
  color:#ffffff;
  font-size:18px;
  margin-bottom:14px;
}

.gn-review-box h4{
  margin:0 0 10px;
  color:#0A2A5E;
  font-size:18px;
}

.gn-review-box h4 span{
  display:block;
  color:#607089;
  font-size:13px;
  font-weight:400;
  margin-top:4px;
}

.gn-review-box div{
  color:#ffb400;
  font-size:20px;
  margin-bottom:10px;
}

.gn-review-box p{
  margin:0;
  color:#334155;
  font-size:15px;
  line-height:1.8;
}

/* Contact */
.gn-contact-section{
  background:#f8fbff;
  text-align:center;
}

/* Form */
.gn-contact-form-section{
  background:#ffffff;
}

.gn-contact-form{
  max-width:760px;
  margin:28px auto 0;
}

.gn-form-row{
  margin-bottom:16px;
}

.gn-contact-form input,
.gn-contact-form select,
.gn-contact-form textarea{
  width:100%;
  padding:15px 16px;
  border:1px solid #dbe4f0;
  border-radius:12px;
  background:#ffffff;
  color:#1f2937;
  font-size:16px;
  box-sizing:border-box;
}

.gn-contact-form input:focus,
.gn-contact-form select:focus,
.gn-contact-form textarea:focus{
  outline:none;
  border-color:#1E5EFF;
  box-shadow:0 0 0 3px rgba(30,94,255,.12);
}

.gn-contact-form textarea{
  min-height:150px;
  resize:vertical;
}

/* Responsive */
@media (max-width: 991px){
  .gn-hero-section h1,
  .gn-intro-section h2,
  .gn-services-section h2,
  .gn-offers-section h2,
  .gn-brands-section h2,
  .gn-reviews-section h2,
  .gn-contact-section h2{
    font-size:32px;
  }

  .gn-hero-list{
    grid-template-columns:1fr;
  }

  .gn-icons-info-grid,
  .gn-services-grid,
  .gn-offers-grid,
  .gn-reviews-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width: 640px){
  .gn-hero-section{
    padding:60px 15px 55px;
  }

  .gn-intro-section,
  .gn-services-section,
  .gn-offers-section,
  .gn-brands-section,
  .gn-reviews-section,
  .gn-contact-section,
  .gn-contact-form-section,
  .gn-icons-info-section{
    padding:55px 15px;
  }

  .gn-hero-section h1,
  .gn-intro-section h2,
  .gn-services-section h2,
  .gn-offers-section h2,
  .gn-brands-section h2,
  .gn-reviews-section h2,
  .gn-contact-section h2{
    font-size:28px;
  }

  .gn-icons-info-grid,
  .gn-services-grid,
  .gn-offers-grid,
  .gn-reviews-grid{
    grid-template-columns:1fr;
  }

  .gn-btn{
    width:100%;
  }
}
