/* GO NET srl — Components */

/* Menu toggle */
.menu-toggle{
  position:relative;z-index:1001;display:inline-flex;flex-direction:column;
  justify-content:center;gap:5px;width:44px;height:44px;padding:11px;
  border:1px solid var(--border-h);border-radius:var(--r-sm);background:var(--surface);
  transition:border-color var(--t-fast),background var(--t-fast);
}
.menu-toggle:hover{border-color:var(--accent);background:var(--accent-dim)}
.menu-toggle span{display:block;width:100%;height:1.5px;border-radius:999px;background:var(--text);transition:transform .3s var(--ease),opacity .2s}
.menu-toggle.is-active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle.is-active span:nth-child(2){opacity:0}
.menu-toggle.is-active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:.75rem 1.5rem;border-radius:999px;
  border:1px solid transparent;
  font-family:var(--f-body);font-weight:600;font-size:var(--ts-sm);
  line-height:1;text-align:center;white-space:nowrap;gap:.45rem;cursor:pointer;
  transition:transform var(--t-fast),box-shadow var(--t-fast),background var(--t-fast),border-color var(--t-fast),color var(--t-fast);
}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}

.btn-primary{
  background:var(--g-accent);color:#060910;font-weight:700;
  box-shadow:0 2px 16px rgba(56,189,248,.2);
}
.btn-primary:hover{box-shadow:0 6px 24px rgba(56,189,248,.3);color:#060910}

.btn-secondary{background:var(--surface);border-color:var(--border-h);color:var(--text)}
.btn-secondary:hover{background:var(--surface-h);border-color:var(--accent);color:var(--accent)}

.btn-light{background:#fff;color:#060910;font-weight:700}
.btn-light:hover{background:#f1f5f9;box-shadow:0 4px 20px rgba(255,255,255,.12)}

.btn-outline-light{border-color:rgba(255,255,255,.2);color:rgba(255,255,255,.9);background:transparent}
.btn-outline-light:hover{border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.06);color:#fff}

/* Service card */
.service-grid{display:grid;gap:var(--s-lg)}
.service-card{
  height:100%;min-width:0;padding:1.75rem;
  border:1px solid var(--border);border-radius:var(--r-lg);
  background:var(--g-glass);box-shadow:var(--sh-card);
  transition:transform var(--t-base),box-shadow var(--t-base),border-color var(--t-base);
}
.service-card:hover{transform:translateY(-4px);box-shadow:var(--sh-card-h);border-color:rgba(56,189,248,.15)}
.service-card h3{margin-bottom:.5rem}
.service-card p{margin-bottom:1rem}

/* Info card */
.info-card{
  padding:1.75rem;min-width:0;
  border:1px solid var(--border);border-radius:var(--r-lg);
  background:var(--g-glass);box-shadow:var(--sh-card);
  transition:transform var(--t-base),box-shadow var(--t-base),border-color var(--t-base);
}
.info-card:hover{transform:translateY(-4px);box-shadow:var(--sh-card-h);border-color:rgba(56,189,248,.15)}
.info-card h3,.info-card h4{margin-bottom:.5rem}
.info-card p+p,.info-card ul,.info-card .text-link,.info-card .btn{margin-top:.85rem}

/* Card grid */
.card-grid{display:grid;gap:var(--s-lg)}

/* CTA */
.cta-section{padding-block:var(--s-4x)}
.cta-box{display:grid;gap:var(--s-xl);align-items:center}
.cta-actions{display:flex;flex-wrap:wrap;gap:.75rem}

/* Contact */
.contact-list{display:grid;gap:.25rem}
.contact-item{display:grid;gap:.3rem;padding:.85rem 0;border-bottom:1px solid var(--border)}
.contact-item:last-child{border-bottom:0}
.contact-label{font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}
.contact-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.15rem}

/* Footer powered by */
.footer-powered-by{
  display:grid;gap:.5rem;margin-top:.85rem;padding:.75rem;
  border:1px solid var(--border);border-radius:var(--r-md);
  background:var(--g-glass);max-width:240px;
  transition:transform var(--t-fast),border-color var(--t-fast);
}
.footer-powered-by:hover{transform:translateY(-2px);border-color:rgba(56,189,248,.15)}
.footer-powered-by-label{font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}
.footer-powered-by-name{font-weight:600;font-size:var(--ts-sm);color:var(--accent)}
.footer-powered-by-image{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:8px;border:1px solid var(--border);display:block}

/* Feature list */
.feature-list{display:grid;gap:.5rem}
.feature-list li{
  padding:.8rem 1rem .8rem 1.5rem;
  border:1px solid var(--border);border-radius:var(--r-sm);
  background:rgba(255,255,255,.012);color:var(--text-2);
  font-size:var(--ts-sm);line-height:1.55;position:relative;
  transition:border-color var(--t-fast),background var(--t-fast);
}
.feature-list li::before{
  content:"";position:absolute;left:.55rem;top:50%;transform:translateY(-50%);
  width:4px;height:4px;border-radius:50%;background:var(--accent);opacity:.5;
}
.feature-list li:hover{border-color:var(--border-h);background:rgba(255,255,255,.02)}

/* Page media */
.page-media-grid{display:grid;gap:var(--s-lg)}
.page-media-card{
  overflow:hidden;border-radius:var(--r-lg);background:var(--g-glass);
  border:1px solid var(--border);box-shadow:var(--sh-card);
  transition:transform var(--t-base),border-color var(--t-base);
}
.page-media-card:hover{transform:translateY(-3px);border-color:rgba(56,189,248,.12)}
.page-media-card img{aspect-ratio:4/3;transition:transform .6s var(--ease)}
.page-media-card:hover img{transform:scale(1.03)}
.page-media-card-body{padding:1.25rem}
.page-media-card-body h3{margin-bottom:.4rem}

/* Badge */
.badge-inline{
  display:inline-flex;align-items:center;min-height:30px;padding:.35rem .7rem;
  border-radius:999px;background:var(--accent-dim);color:var(--accent);
  font-size:var(--ts-xs);font-weight:600;letter-spacing:.03em;
}

/* Breadcrumb */
.breadcrumb{margin-bottom:var(--s-lg)}
.breadcrumb ol{display:flex;flex-wrap:wrap;gap:.4rem}
.breadcrumb li{color:var(--text-3);font-size:var(--ts-sm)}
.breadcrumb li:not(:last-child)::after{content:"/";margin-left:.4rem;opacity:.4}
.breadcrumb a:hover{color:var(--accent)}

/* Notice */
.notice-box{
  padding:1.25rem 1.5rem;border-left:2px solid var(--accent);
  border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--accent-dim);
}

/* Divider */
.section-divider{height:1px;background:linear-gradient(90deg,transparent,var(--border-h),transparent);margin:var(--s-2x) 0}

@media(max-width:767px){
  .service-card,.info-card,.page-media-card-body{padding:1.25rem}
  .footer-powered-by{max-width:100%}
  .feature-list li{padding:.7rem .85rem .7rem 1.15rem}
}
