*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#142019;background:#f6f8f6}a{color:inherit}header{height:86px;background:rgba(255,255,255,.96);display:flex;align-items:center;justify-content:space-between;padding:0 5vw;position:sticky;top:0;z-index:20;border-bottom:1px solid #e5eae6;backdrop-filter:blur(12px)}header img{width:190px;height:64px;object-fit:contain}nav{display:flex;align-items:center;gap:25px}nav a{text-decoration:none;font-weight:700;font-size:14px}.portal,.btn{background:#18a63f;color:#fff!important;padding:14px 20px;border-radius:8px;text-decoration:none;display:inline-block;transition:.2s}.portal:hover,.btn:hover{transform:translateY(-1px)}.hero-circular{background:#dfe7e1;overflow:hidden}.hero-circular img{display:block;width:100%;height:auto;max-height:760px;object-fit:cover}.hero-actions{padding:25px 7vw;background:#10241a;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:25px}.hero-actions strong{display:block;font-size:22px}.hero-actions span{display:block;color:#cbd8d0;margin-top:6px}.actions{display:flex;gap:12px}.dark{background:#07120d;border:1px solid #415248}.section,.split,.contact{padding:86px 7vw}.kicker{font-size:13px;letter-spacing:2px;font-weight:800;color:#18a63f}.section h2,.split h2,.contact h2{font-size:44px;margin:8px 0 35px;letter-spacing:-1px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.cards article{background:#fff;padding:30px;border-radius:16px;box-shadow:0 10px 35px rgba(0,0,0,.05);border:1px solid #edf1ee}.cards b{color:#18a63f}.cards h3{font-size:21px}.cards p{color:#5c6760;line-height:1.6}.cards a{color:#118d3b;font-weight:bold}.split{display:grid;grid-template-columns:1.25fr 1fr;gap:60px;background:linear-gradient(135deg,#eef4ef,#e1ebe4)}.split p{line-height:1.75;color:#4e5b53;font-size:17px}.cycle{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:30px}.cycle span{background:#fff;border:1px solid #dce7df;border-radius:999px;padding:10px 14px;font-size:12px;font-weight:800;letter-spacing:.8px}.cycle i{font-style:normal;color:#18a63f;font-weight:bold}.panel{background:#10251a;color:#fff;padding:38px;border-radius:18px;display:grid;grid-template-columns:1fr 1fr;gap:25px;box-shadow:0 20px 45px rgba(12,38,23,.12)}.panel strong{color:#35c261}.panel span{color:#cdd9d1}.shop{text-align:center}.shop>p{max-width:700px;margin-left:auto;margin-right:auto;color:#58645d;line-height:1.65}.search{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;max-width:1050px;margin:30px auto}.search input{padding:16px;border:1px solid #d3dad5;border-radius:8px;font-size:15px;background:#fff}.contact{background:#0f2118;color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:50px}.contact a{text-decoration:none;color:#dfe8e2}.contact p{line-height:1.8}footer{background:#09150f;color:#b8c4bc;padding:38px 7vw;text-align:center;font-size:13px}footer img{width:165px;opacity:.95}@media(max-width:900px){nav a:not(.portal){display:none}.hero-actions{align-items:flex-start;flex-direction:column}.cards{grid-template-columns:1fr 1fr}.split,.contact{grid-template-columns:1fr}.search{grid-template-columns:1fr}.hero-circular img{min-height:360px;object-fit:cover;object-position:center}.section h2,.split h2,.contact h2{font-size:38px}}@media(max-width:560px){header{padding:0 18px;height:76px}header img{width:145px}.portal{padding:11px 12px;font-size:12px}.hero-circular img{min-height:300px}.hero-actions{padding:22px}.actions{width:100%;flex-direction:column}.actions .btn{text-align:center}.cards{grid-template-columns:1fr}.section,.split,.contact{padding:60px 22px}.section h2,.split h2,.contact h2{font-size:34px}.panel{grid-template-columns:1fr}.cycle i{display:none}}
.page-hero{padding:72px 6vw 44px;background:linear-gradient(135deg,#eef7ef,#fff)}.page-hero h1{font-size:clamp(38px,6vw,72px);margin:.15em 0}.shop-toolbar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:28px}.shop-toolbar input,.lookup-card input{padding:15px;border:1px solid #ccd5ce;border-radius:10px;font:inherit;min-width:240px}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.product{border:1px solid #e1e7e2;border-radius:18px;padding:24px;background:#fff;box-shadow:0 8px 30px #0000000a}.product-tag{font-size:12px;font-weight:800;color:#2fae35}.cart-panel{background:#f4f7f4}.cart-row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #dce4dd}.cart-row button{border:0;background:none;text-decoration:underline;cursor:pointer}.returns{border-top:1px solid #e3e8e4}.lookup-wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:start}.lookup-card,.privacy-note{border:1px solid #e1e7e2;border-radius:18px;padding:28px;background:#fff}.lookup-card form{display:grid;gap:10px}.lookup-card label{font-weight:700;margin-top:8px}.lookup-msg{margin-top:20px;padding:16px;border-radius:10px;background:#eef7ef}.privacy-note{background:#13241d;color:#fff}@media(max-width:900px){.product-grid{grid-template-columns:1fr 1fr}.lookup-wrap{grid-template-columns:1fr}}@media(max-width:600px){.product-grid{grid-template-columns:1fr}.shop-toolbar input{width:100%}}
/* Copertina Home */
.hero-circular {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.hero-circular > img {
    display: block;
    width: 100%;
    height: auto;
}

/* Aree cliccabili sopra i pulsanti presenti nell'immagine */
.hero-hotspot {
    position: absolute;
    display: block;
    z-index: 5;
}

/* I nostri servizi */
.servizi-hotspot {
    left: 5%;
    top: 63%;
    width: 12%;
    height: 8%;
}

/* Shop ricambi usati */
.shop-hotspot {
    left: 17.5%;
    top: 63%;
    width: 14%;
    height: 8%;
}

/* HERO RESPONSIVE - TUTTI GLI SMARTPHONE */
.hero-circular {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.hero-circular > img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
}

/* Smartphone */
@media (max-width: 768px) {

    .hero-circular {
        width: 100%;
        overflow: hidden;
    }

    .hero-circular > img {
        width: 100%;
        height: auto;
        max-width: none;
        object-fit: contain;
        transform: none;
    }

    /* Zone cliccabili proporzionali all'immagine */
    .servizi-hotspot {
        left: 5%;
        top: 63%;
        width: 13%;
        height: 9%;
    }

    .shop-hotspot {
        left: 17.5%;
        top: 63%;
        width: 15%;
        height: 9%;
    }
}
/* ==================================================
   AUTORIZZAZIONI ECOMAR
   ================================================== */

.autorizzazioni-section {
    text-align: center;
    padding-top: 70px;
    padding-bottom: 70px;
}

.autorizzazioni-section h2 {
    margin-bottom: 15px;
}

.autorizzazioni-intro {
    max-width: 700px;
    margin: 0 auto 45px;
    font-size: 18px;
    line-height: 1.6;
}

.autorizzazioni-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px;
    max-width: 1000px;
    margin: 0 auto;
}

.autorizzazione-card {
    padding: 40px 30px;
    border: 1px solid #e5e5e5;
    background: #fff;
    border-radius: 14px;
    text-align: center;
    transition: transform .25s ease, box-shadow .25s ease;
}

.autorizzazione-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 30px rgba(0,0,0,.10);
}

.autorizzazione-icon {
    width: 70px;
    height: 70px;
    margin: 0 auto 22px;
    border-radius: 50%;
    background: #169447;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 34px;
    font-weight: 700;
}

.autorizzazione-card h3 {
    margin: 0 0 12px;
    font-size: 21px;
    line-height: 1.3;
}

.autorizzazione-card p {
    margin-bottom: 25px;
}

.categorie-albo {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
}

.categorie-albo a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 90px;
    padding: 12px 18px;
    border-radius: 7px;
    background: #169447;
    color: #fff;
    text-decoration: none;
    font-weight: 700;
    transition: background .2s ease, transform .2s ease;
}

.categorie-albo a:hover {
    background: #107437;
    transform: translateY(-2px);
}

/* TABLET */
@media (max-width: 900px) {
    .autorizzazioni-grid {
        gap: 20px;
    }

    .autorizzazione-card {
        padding: 32px 20px;
    }
}

/* SMARTPHONE - SI ADATTA ALLA LARGHEZZA DEL DISPOSITIVO */
@media (max-width: 700px) {

    .autorizzazioni-section {
        padding: 45px 18px;
    }

    .autorizzazioni-intro {
        font-size: 16px;
        margin-bottom: 30px;
    }

    .autorizzazioni-grid {
        grid-template-columns: 1fr;
        width: 100%;
        gap: 18px;
    }

    .autorizzazione-card {
        width: 100%;
        box-sizing: border-box;
        padding: 30px 18px;
    }

    .autorizzazione-card h3 {
        font-size: 19px;
    }

    .categorie-albo {
        width: 100%;
        gap: 8px;
    }

    .categorie-albo a {
        flex: 1 1 80px;
        min-width: 0;
        padding: 12px 8px;
    }
}
/* ==================================================
   CERTIFICAZIONI ECOMAR
   ================================================== */

.certificazioni-section {
    text-align: center;
    padding-top: 70px;
    padding-bottom: 70px;
}

.certificazioni-intro {
    max-width: 700px;
    margin: 0 auto 45px;
    font-size: 18px;
    line-height: 1.6;
}

.certificazioni-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto;
}

.certificazione-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 35px 20px;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 14px;
    text-align: center;
    box-sizing: border-box;
    transition: transform .25s ease, box-shadow .25s ease;
}

.certificazione-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 30px rgba(0,0,0,.10);
}

.certificazione-badge {
    width: 72px;
    height: 72px;
    margin-bottom: 20px;
    border-radius: 50%;
    background: #169447;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 19px;
    font-weight: 800;
}

.certificazione-card h3 {
    margin: 0 0 10px;
    font-size: 22px;
}

.certificazione-card p {
    margin: 0 0 25px;
    line-height: 1.5;
    flex-grow: 1;
}

.certificazione-card .btn {
    margin-top: auto;
}

/* TABLET */
@media (max-width: 1000px) {
    .certificazioni-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* SMARTPHONE */
@media (max-width: 600px) {

    .certificazioni-section {
        padding: 45px 18px;
    }

    .certificazioni-intro {
        font-size: 16px;
        margin-bottom: 30px;
    }

    .certificazioni-grid {
        grid-template-columns: 1fr;
        width: 100%;
        gap: 18px;
    }

    .certificazione-card {
        width: 100%;
        padding: 28px 18px;
    }

    .certificazione-card h3 {
        font-size: 20px;
    }
}
/* =========================================
   SERVIZI ECOMAR CON FOTO
   ========================================= */

.servizi-foto .cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.servizio-card {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    min-width: 0;
    box-shadow: 0 10px 30px rgba(0,0,0,.06);
}

.servizio-foto {
    position: relative;
    width: 100%;
    height: 230px;
    overflow: hidden;
}

.servizio-foto img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* sfumatura uniforme verso il bianco */
.servizio-foto::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 45%;
    background: linear-gradient(
        to bottom,
        rgba(255,255,255,0),
        rgba(255,255,255,.65),
        #fff
    );
    pointer-events: none;
}

.servizio-contenuto {
    position: relative;
    padding: 0 30px 32px;
    margin-top: -25px;
    z-index: 2;
}

.servizio-contenuto b {
    display: block;
    color: #079447;
    font-size: 16px;
    margin-bottom: 18px;
}

.servizio-contenuto h3 {
    margin: 0 0 18px;
    font-size: 22px;
    line-height: 1.2;
}

.servizio-contenuto p {
    margin: 0 0 18px;
    line-height: 1.6;
}

.servizio-contenuto a {
    color: #078b40;
    font-weight: 700;
}

/* TABLET */
@media (max-width: 1000px) {

    .servizi-foto .cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .servizio-foto {
        height: 250px;
    }
}

/* SMARTPHONE */
@media (max-width: 600px) {

    .servizi-foto {
        padding-left: 18px;
        padding-right: 18px;
    }

    .servizi-foto .cards {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .servizio-card {
        width: 100%;
    }

    .servizio-foto {
        height: 220px;
    }

    .servizio-contenuto {
        padding: 0 22px 28px;
        margin-top: -20px;
    }

    .servizio-contenuto h3 {
        font-size: 21px;
    }
}
/* FIX DEFINITIVO AUTORIZZAZIONI */

#autorizzazioni .autorizzazioni-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 30px !important;
    width: 100% !important;
    align-items: stretch !important;
}

#autorizzazioni .autorizzazione-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;

    position: static !important;
    transform: none !important;

    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 320px !important;

    margin: 0 !important;
    padding: 40px 25px !important;
    box-sizing: border-box !important;

    background: #fff !important;
    border: 1px solid #ddd !important;
    border-radius: 16px !important;
}

#autorizzazioni .categorie-albo {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 10px !important;
    width: 100% !important;
}


/* SMARTPHONE */
@media (max-width: 700px) {

    #autorizzazioni .autorizzazioni-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    #autorizzazioni .autorizzazione-card {
        width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        margin: 0 !important;
        padding: 30px 20px !important;
    }
}
/* =========================================
   CONDIZIONI DI VENDITA - SHOP ECOMAR
   ========================================= */

.returns {
    max-width: 1100px;
    margin: 0 auto;
}

.returns > h2 {
    margin-bottom: 35px;
}

.returns > h3 {
    margin-top: 28px;
    margin-bottom: 10px;
    padding: 16px 20px;
    background: #f3f8f5;
    border-left: 5px solid #169447;
    border-radius: 8px;
    color: #10251b;
    font-size: 20px;
}

.returns > p {
    line-height: 1.7;
    margin: 0 20px 18px;
}

.returns a {
    color: #169447;
    font-weight: 600;
}

@media (max-width: 600px) {

    .returns {
        padding-left: 18px;
        padding-right: 18px;
    }

    .returns > h3 {
        font-size: 18px;
        padding: 14px 16px;
    }

    .returns > p {
        margin-left: 5px;
        margin-right: 5px;
    }
}
/* =========================================
   FAQ ECOMAR
   ========================================= */

.faq-section {
    max-width: 1200px;
    margin: 0 auto;
    padding-top: 70px;
    padding-bottom: 70px;
}

.faq-section > .kicker {
    text-align: center;
    margin-bottom: 12px;
}

.faq-section > h2 {
    text-align: center;
    margin: 0 0 40px;
    font-size: 38px;
}

.faq-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.faq-item {
    background: #f4f7f5;
    border: 1px solid #edf0ee;
    border-radius: 4px;
    overflow: hidden;
}

.faq-item summary {
    position: relative;
    cursor: pointer;
    list-style: none;
    padding: 22px 55px 22px 25px;
    font-size: 17px;
    font-weight: 600;
    color: #10251b;
}

.faq-item summary::-webkit-details-marker {
    display: none;
}

.faq-item summary::after {
    content: "+";
    position: absolute;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 27px;
    font-weight: 400;
    color: #169447;
    transition: transform .2s ease;
}

.faq-item[open] summary::after {
    content: "−";
}

.faq-item[open] {
    background: #ffffff;
    border-color: #d9e5dd;
    box-shadow: 0 8px 25px rgba(0,0,0,.05);
}

.faq-item p {
    margin: 0;
    padding: 0 25px 24px;
    line-height: 1.7;
    color: #4b5751;
}

.faq-item a {
    color: #169447;
    font-weight: 600;
}

/* SMARTPHONE */
@media (max-width: 700px) {

    .faq-section {
        padding: 50px 18px;
    }

    .faq-section > h2 {
        font-size: 30px;
        margin-bottom: 28px;
    }

    .faq-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .faq-item summary {
        padding: 19px 50px 19px 18px;
        font-size: 16px;
    }

    .faq-item summary::after {
        right: 18px;
    }

    .faq-item p {
        padding: 0 18px 20px;
    }
}