/* =========================================================
   BLOWFISH TABSHEET
========================================================= */

.bf-tabs{
  margin-top:40px;
}

.bf-tabs input[type=radio]{
  display:none;
}

.bf-tabs-nav{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:25px;
}

.bf-tabs-nav label{
  padding:14px 22px;
  border-radius:14px;
  background:#f4f7fb;
  border:1px solid rgba(0,0,0,.06);
  cursor:pointer;
  font-weight:600;
  transition:.25s;
  color:#334155;
}

.bf-tabs-nav label:hover{
  background:#edf4ff;
  border-color:rgba(79,125,255,.25);
}

.bf-tab-content{
  display:none;
  background:#ffffff;
  border-radius:28px;
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 20px 50px rgba(0,0,0,.04);
  padding:35px;
}

#bf-tab-standard:checked ~ .bf-content-standard{
  display:block;
}

#bf-tab-server:checked ~ .bf-content-server{
  display:block;
}

#bf-tab-network:checked ~ .bf-content-network{
  display:block;
}

#bf-tab-phone:checked ~ .bf-content-phone {
    display: block;
}

#bf-tab-standard:checked ~ .bf-tabs-nav label[for="bf-tab-standard"],
#bf-tab-server:checked ~ .bf-tabs-nav label[for="bf-tab-server"],
#bf-tab-network:checked ~ .bf-tabs-nav label[for="bf-tab-network"],
#bf-tab-phone:checked ~ .bf-tabs-nav label[for="bf-tab-phone"]{
  background:#4f7dff;
  color:#ffffff;
  border-color:#4f7dff;
}

.bf-tab-content h3{
  font-size:30px;
  margin-bottom:25px;
  line-height:1.2;
}

.bf-tab-content table{
  width:100%;
  border-collapse:collapse;
}

.bf-tab-content table tr{
  border-bottom:1px solid rgba(0,0,0,.06);
}

.bf-tab-content table tr:last-child{
  border-bottom:none;
}

.bf-tab-content table td{
  padding:18px 10px;
  vertical-align:top;
  line-height:1.8;
  color:#5b6472;
}

.bf-tab-content table td:first-child{
  width:280px;
  font-weight:700;
  color:#0f1724;
}

@media(max-width:700px){

  .bf-tabs-nav{
    flex-direction:column;
  }

  .bf-tabs-nav label{
    width:100%;
    text-align:center;
  }

  .bf-tab-content{
    padding:25px 20px;
  }

  .bf-tab-content table td{
    display:block;
    width:100%!important;
    padding:10px 0;
  }

}

/* =========================================================
   BLOWFISH CORPORATE UI FRAMEWORK
   Global stylesheet per Joomla
   ========================================================= */

/* RESET */

.bf-page *,
.bf-about *,
.bf-phone *,
.bf-features *{
    box-sizing:border-box;
}

/* BASE */

.bf-page,
.bf-about,
.bf-phone,
.bf-features{
    background:#ffffff;
    color:#0f1724;
    font-family:'Inter',sans-serif;
    position:relative;
    overflow:hidden;
    line-height:1.7;
}

/* BACKGROUND FX */

.bf-page::before,
.bf-about::before,
.bf-phone::before,
.bf-features::before{
    content:'';
    position:absolute;
    width:800px;
    height:800px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(80,140,255,.10), transparent 70%);
    top:-300px;
    right:-200px;
    filter:blur(40px);
    z-index:0;
}

.bf-page::after,
.bf-about::after,
.bf-phone::after,
.bf-features::after{
    content:'';
    position:absolute;
    width:600px;
    height:600px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(0,0,0,.03), transparent 70%);
    bottom:-200px;
    left:-200px;
    filter:blur(40px);
    z-index:0;
}

/* CONTAINER */

.bf-container{
    width:90%;
    max-width:1400px;
    margin:auto;
    position:relative;
    z-index:1;
}

/* HERO */

.bf-hero{
    padding:40px 8% 20px 8%;
    position:relative;
    z-index:1;
}

.bf-hero-content{
    max-width:1400px;
    margin:auto;
}

.bf-label{
    display:inline-block;
    padding:10px 18px;
    border-radius:40px;
    background:#f3f7ff;
    border:1px solid rgba(70,140,255,.12);
    color:#4b6fff;
    font-size:12px;
    letter-spacing:2px;
    text-transform:uppercase;
    font-weight:700;
    margin-bottom:25px;
}

.bf-hero h1{
    font-family:'Space Grotesk',sans-serif;
    /*font-family:'Verdana',sans-serif;*/
    
    font-size:68px;
    line-height:1.05;
    letter-spacing:-3px;
    margin-bottom:25px;
    max-width:1400px;
}

.bf-hero p{
    font-size:20px;
    line-height:2;
    color:#5f6977;
    max-width:1300px;
    text-align:justify;
}

/* SECTION */

.bf-section{
    padding:70px 8%;
    position:relative;
    z-index:1;
}

.bf-section-title{
    margin-bottom:50px;
}

.bf-section-title small{
    color:#4f7dff;
    font-size:12px;
    letter-spacing:2px;
    text-transform:uppercase;
    font-weight:700;
}

.bf-section-title h2{
    font-size:42px;
    margin-top:15px;
    line-height:1.2;
    letter-spacing:-2px;
}

/* GRID */

.bf-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:30px;
    align-items:stretch;
}

.bf-grid-alone{
    display:grid;
    grid-template-columns:repeat(1,minmax(0,1fr));
    gap:30px;
    align-items:stretch;	
}

.bf-grid + .bf-grid-alone {
    margin-top: 30px;
}

/* CARD */

.bf-card{
    background:#ffffff;
    border:1px solid rgba(0,0,0,.06);
    border-radius:30px;
    overflow:hidden;
    transition:.35s;
    box-shadow:0 20px 50px rgba(0,0,0,.04);
    display:flex;
    flex-direction:column;
    height:100%;
}

.bf-card:hover{
    transform:translateY(-8px);
    box-shadow:0 30px 70px rgba(0,0,0,.08);
}

/* DEBUG - Verifica immagini delle schede */

/*.bf-card-image {
    width: 100%;
    height: 260px;
    min-height: 260px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    flex-shrink: 0;
}*/

.bf-card-image{
    height:260px;
    background-size:cover;
    background-position:center;
    flex-shrink:0;
}

.bf-card-content{
    padding:35px;
    display:flex;
    flex-direction:column;
    flex:1;
}

.bf-card h3{
    font-size:30px;
    margin-bottom:20px;
    line-height:1.2;
    min-height:72px;
}

.bf-card p{
    line-height:1.95;
    color:#5d6776;
    font-size:16px;
    text-align:justify;
    flex:1;
}

/* STATS */

.bf-stats{
    margin-top:70px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
}

.bf-stats2{
    margin-top:70px;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:25px;
}

.bf-stat{
    background:#fff;
    border-radius:24px;
    padding:35px 25px;
    border:1px solid rgba(0,0,0,.05);
    box-shadow:0 15px 40px rgba(0,0,0,.04);
}

.bf-stat h4{
    font-size:30px;
    margin-bottom:12px;
    line-height:1.1;
}

.bf-stat p{
    color:#707b89;
    line-height:1.8;
    text-align:justify;
    font-size:15px;
}

/* CTA */

.bf-cta{
    margin:40px 8% 80px 8%;
    border-radius:34px;
    background:linear-gradient(135deg,#f6f9ff,#edf3ff);
    border:1px solid rgba(0,0,0,.05);
    padding:55px 50px;
    position:relative;
    overflow:hidden;
}

.bf-cta::before{
    content:'';
    position:absolute;
    width:500px;
    height:500px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(70,140,255,.15), transparent 70%);
    top:-250px;
    right:-100px;
}

.bf-cta-content{
    position:relative;
    z-index:1;
}

.bf-cta h2{
    font-size:46px;
    line-height:1.15;
    letter-spacing:-2px;
    margin-bottom:20px;
}

.bf-cta p{
    max-width:1400px;
    line-height:1.9;
    font-size:18px;
    color:#5f6977;
    text-align:justify;
}

/* PHONE TABS */

.bf-tabs{
    margin-top:70px;
}

.bf-tabs input[type="radio"]{
    display:none;
}

.bf-tabs-nav{
    display:flex;
    gap:10px;
    margin-bottom:20px;
    flex-wrap:wrap;
}

.bf-tabs-nav label{
    padding:14px 26px;
    border-radius:10px;
    background:#eef5ff;
    color:#1f7cff;
    font-weight:bold;
    cursor:pointer;
    transition:all .2s ease;
    border:1px solid #dbe7ff;
}

.bf-tabs-nav label:hover{
    background:#dbeafe;
}

.bf-tab-content{
    display:none;
    background:#fff;
    border:1px solid #e3e8f0;
    border-radius:18px;
    padding:40px;
    box-shadow:0 4px 18px rgba(0,0,0,.04);
}

#bf-tab-m:checked ~ .bf-tabs-nav label[for="bf-tab-m"],
#bf-tab-p:checked ~ .bf-tabs-nav label[for="bf-tab-p"]{
    background:#1f7cff;
    color:#fff;
    border-color:#1f7cff;
}

#bf-tab-m:checked ~ .bf-content-m,
#bf-tab-p:checked ~ .bf-content-p{
    display:block;
}

.bf-tab-content h3{
    font-size:32px;
    margin-top:0;
    margin-bottom:30px;
    color:#0f172a;
}

.bf-tab-content table{
    width:100%;
    border-collapse:collapse;
}

.bf-tab-content table td{
    padding:14px 16px;
    border-bottom:1px solid #edf2f7;
    vertical-align:top;
}

.bf-tab-content table td:first-child{
    width:320px;
    font-weight:bold;
    color:#111;
}

/* HIGHLIGHT */

.bf-highlight{
    margin-top:60px;
    background:linear-gradient(135deg,#1f7cff,#4e9dff);
    border-radius:20px;
    padding:70px 50px;
    text-align:center;
    color:#fff;
}

.bf-highlight h2{
    font-size:40px;
    margin-bottom:20px;
}

.bf-highlight p{
    max-width:950px;
    margin:auto;
    font-size:18px;
    color:rgba(255,255,255,.95);
}

/* RESPONSIVE */

@media(max-width:1100px){

    .bf-hero h1{
        font-size:46px;
    }

    .bf-section-title h2{
        font-size:36px;
    }

    .bf-grid{
        grid-template-columns:1fr;
    }

    .bf-stats{
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:768px){

    .bf-hero{
        padding:30px 20px 10px 20px;
    }

    .bf-hero h1{
        font-size:36px;
    }

    .bf-hero p{
        font-size:17px;
    }

    .bf-section{
        padding:50px 20px;
    }

    .bf-section-title h2{
        font-size:30px;
    }

    .bf-stats{
        grid-template-columns:1fr;
    }

    .bf-card-content{
        padding:28px;
    }

    .bf-card h3{
        font-size:24px;
        min-height:auto;
    }

    .bf-cta{
        margin:20px 20px 50px 20px;
        padding:40px 30px;
    }

    .bf-cta h2{
        font-size:32px;
    }

    .bf-highlight{
        padding:50px 30px;
    }

    .bf-highlight h2{
        font-size:30px;
    }

    .bf-tab-content{
        padding:25px;
    }

    .bf-tab-content h3{
        font-size:26px;
    }

    .bf-tab-content table td{
        display:block;
        width:100% !important;
    }

    .bf-tab-content table tr{
        display:block;
        margin-bottom:15px;
    }

}

/* =========================================================
   BLOWFISH LINKS
========================================================= */

.bf-page a,
.bf-about a,
.bf-phone a,
.bf-features a {
    color: #0986c1;/*#0056d6;*/
    text-decoration: underline;
    font-weight: 500;
    transition: color .2s ease;
}

.bf-page a:hover,
.bf-about a:hover,
.bf-phone a:hover,
.bf-features a:hover {
    color: #3498db;/*#003ea3;*/
}

.bf-page a:visited,
.bf-about a:visited,
.bf-phone a:visited,
.bf-features a:visited {
    color: #4b2ea8;
}

/* =========================================================
   BLOWFISH BUTTONS
========================================================= */

.bf-btn
  {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-height: 54px;
    border-radius: 14px;
    text-decoration: none;
    font-weight: bold;
    transition: all .25s ease;
  }
  .bf-btn-primary
  {
    background: linear-gradient(135deg,#1E90FF,#0066cc);
    color: #ffffff !important;
  }
  .bf-btn-primary:hover
  {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(30,144,255,0.30);
    color: #ffffff !important;
  }
  .bf-btn-primary:visited
  {
    color: #ffffff !important;
  }

/* =========================================================
   BLOWFISH STRIPS
========================================================= */

.bf-strips {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    align-items: stretch;
    margin: 40px 0;
    row-gap: 55px;
}

.bf-strip {
    display: flex;
    flex-direction: column;
    background: #f1f1f1;
    border-radius:30px;
    padding: 20px 20px;
    text-align: center;
    height: 100%;
}

.bf-strip-title {
    margin: 20px 0 15px;
    font-size: 24px;
}

.bf-strip p {
    flex: 1;
    margin-bottom: 12px;
}

.bf-pricing-actions {
    width: 100%;
    margin-top: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
}

@media (max-width: 768px)
{
    .bf-strips
    {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .bf-strip
    {
        width: auto;
        height: auto;
    }
}

/* =========================================================
   BLOWFISH PRODUCT GALLERY
========================================================= */

.bf-product-gallery {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.bf-thumbs {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.bf-thumbs img {
    width: 80px;
    height: 80px;
    object-fit: contain;
    border: 1px solid #ddd;
    cursor: pointer;
    padding: 4px;
    background: #fff;
}

.bf-thumbs img:hover,
.bf-thumbs img.active {
    border-color: #1E90FF;
}

.bf-main-image {
    width: 500px;
    height: 500px;
    border: 1px solid #ddd;
    background: #fff;
}

.bf-main-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    cursor: pointer;
}

@media (max-width: 768px) {

    .bf-product-gallery {
        flex-direction: column;
    }

    .bf-thumbs {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .bf-main-image {
        width: 100%;
        max-width: 400px;
        aspect-ratio: 1/1;
    }

}

/* =========================================================
   BLOWFISH Press
========================================================= */

.bf-press-logo {
    margin: 12px 0 10px;
    text-align: center;
}

.bf-press-logo img {
    max-width: 180px;
    max-height: 60px;
    width: auto;
    height: auto;
    display: inline-block;
}

/* =====================================================
   BLOWFISH - JOOMLA CONTACT FORM
   Stili circoscritti al componente Contatti
   ===================================================== */

.bf-contact-form {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}

.bf-contact-form__form {
    width: 100%;
}

.bf-contact-form__fieldset {
    min-width: 0;
    margin: 0 0 24px;
    padding: 0;
    border: 0;
}

.bf-contact-form__legend {
    display: block;
    width: 100%;
    margin: 0 0 20px;
    padding: 0 0 10px;
    border: 0;
    border-bottom: 1px solid #e5e7eb;
    font-size: 1.25rem;
    font-weight: 600;
}

.bf-contact-form .control-group {
    margin-bottom: 18px;
}

.bf-contact-form label {
    display: block;
    margin-bottom: 7px;
    font-weight: 500;
}

.bf-contact-form input[type="text"],
.bf-contact-form input[type="email"],
.bf-contact-form input[type="tel"],
.bf-contact-form input[type="url"],
.bf-contact-form input[type="password"],
.bf-contact-form select,
.bf-contact-form textarea {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    background: #fff;
    color: #1f2937;
    font: inherit;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.bf-contact-form textarea {
    min-height: 150px;
    resize: vertical;
}

.bf-contact-form input:focus,
.bf-contact-form select:focus,
.bf-contact-form textarea:focus {
    border-color: #2563eb;
    outline: none;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

.bf-contact-form .form-control {
    max-width: 100%;
}

.bf-contact-form__actions {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-top: 24px;
}

.bf-contact-form__submit {
    min-height: 44px;
    padding: 11px 26px;
    border: 0;
    border-radius: 6px;
    background: #174a78;
    color: #fff;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.bf-contact-form__submit:hover {
    background: #103758;
    color: #fff;
}

.bf-contact-form__submit:focus-visible {
    outline: 3px solid rgba(23, 74, 120, 0.3);
    outline-offset: 3px;
}

.bf-contact-form .invalid {
    border-color: #dc2626;
}

@media (max-width: 767px) {
    .bf-contact-form__submit {
        width: 100%;
    }
}

/* BLOWFISH - Zoom immagini al passaggio del mouse */
.bf-zoom-image {
    transition: transform 0.1s ease-out;
    transform-origin: center center;
}

.bf-zoom-image:hover {
    transform: scale(1.20);
}

/* Per tooltip di Fabrik*/
.tooltip,
.tooltip-inner,
.popover,
.popover-body {
    color: #ffffff !important;
    background-color: #333333 !important;
}

/* VirtueMart per nascondere il sort*/
/* Nasconde i controlli di ordinamento nella categoria VirtueMart */
body.com-virtuemart.view-category .orderby-displaynumber,
body.com-virtuemart.view-category #vm-orderby-select,
body.com-virtuemart.view-category #vm-orderby-select + button {
    display: none !important;
}

/* Fabrik - Message textarea */
#db_write_to_us___message {
    background-color: #fff !important;
    color: #212529 !important;
    border: 1px solid #ced4da;
}

/* Nasconde il marcho di reDim dei Cookies */
div.redim-cc-watermark,
.redim-cc-watermark,
.redim-cc-watermark a {
    display: none !important;
    visibility: hidden !important;
}

.text-muted
{
   color: #c3c3c3 !important;
}

.bf-section img {
    display: block;
    margin-left: auto;
    margin-right: auto;
}


/* LOGIN - Parte inferiore del modulo */
.mod-login__options {
    background: transparent !important;
}

.mod-login__options .list-group-item {
    background: transparent !important;
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
}

.mod-login__options .list-group-item a,
.mod-login__options .list-group-item a:visited {
    color: #ffffff !important;
    text-decoration: none !important;
}

.mod-login__options .list-group-item a:hover {
    color: #4f7dff !important;
}

/* Etichetta Ricordami */
.mod-login__remember .form-check-label {
    color: #ffffff !important;
}

/* Spazio sopra il pulsante del form Remind */
.com-users-remind button[type="submit"] {
    margin-top: 20px !important;
}

/* Spazio sopra i pulsanti di invio nei form utenti */
.com-users-remind button[type="submit"],
.com-users-reset button[type="submit"] {
    margin-top: 20px !important;
}

.fabrikGroup {
    max-width: 1000px;
    margin-left: auto !important;
    margin-right: auto !important;
}

.fabrikActions.form-actions.mt-3 {
	max-width: 1000px;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Toglie il bordo alla freccia del menu mobile */
@media (max-width: 768px) {
    .astroid-mobilemenu-container .astroid-mobilemenu-inner .menu-item {
        border-bottom: none !important;
    }
}
/* Toglie il bordo alla voce di menu mobile */
@media (max-width: 768px) {
	.astroid-mobilemenu-container .astroid-mobilemenu-inner .menu-item .menu-indicator {
		border-left: none !important;
    }
}	

/* Catalogo VM con articoli uno sotto l'altro su Mobile*/
@media (max-width: 768px) {
    .vm-product-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
    }

    .vm-product-grid > * {
        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
    }
}

@media (max-width: 768px) {
    .vm-product-grid .row.gy-4 > .product {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* spazio a sinistra per il menu mobile */

@media (max-width: 991.98px) {
    #astroid-header .header-mobilemenu-trigger {
        margin-left: 12px;
    }
}


/* BLOWFISH PHONE */

#bf-tab-phone:checked ~ .bf-content-phone {
    display: block;
}

#bf-tab-phone:checked ~ .bf-tabs-nav label[for="bf-tab-phone"] {
    background: #4f7dff;
    color: #ffffff;
    border-color: #4f7dff;
}