:root{--pp-orange:#dd5f20;--pp-dark:#333333;--pp-purple:#b14788;--pp-green:#546d29;--pp-light:#f7f5f2;--pp-soft:#fff9f4;--pp-blue:#1f6fb2;--pp-cyan:#32b5dc;--pp-text:#2c2c2c;--pp-muted:#6d6d6d;--pp-border:#e9e4de;--pp-radius:22px;--pp-shadow:0 24px 60px rgba(37,31,27,.12)}
*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
html{scroll-behavior:smooth}
body{font-family:"Comfortaa",Arial,"Helvetica Neue",Helvetica,sans-serif;color:var(--pp-text);background:#fff;line-height:1.65;font-size:15px;padding-top:0}
a{color:var(--pp-orange);transition:all .25s ease}
a:hover,a:focus{color:#b64712;text-decoration:none;outline:none}
h1,h2,h3,h4{font-weight:700;letter-spacing:-.025em;color:var(--pp-dark);line-height:1.08}
h1{font-size:56px;margin:0 0 22px}
h2{font-size:42px;margin:0 0 20px}
h3{font-size:20px;margin:0 0 12px}
p{margin:0 0 18px;color:var(--pp-muted)}
.pp-navbar{min-height:74px;border:none;background:rgba(255,255,255,.95);box-shadow:0 10px 30px rgba(29,25,22,.06);backdrop-filter:blur(10px);transition:all .25s ease}
.pp-navbar .navbar-brand{height:74px;padding:13px 15px;overflow:hidden}
.pp-brand-logo{height:48px;width:auto;display:block}
.pp-navbar .navbar-nav>li>a{padding-top:27px;padding-bottom:27px;color:#3c3c3c;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.04em}
.pp-navbar .navbar-nav>li>a:hover,.pp-navbar .navbar-nav>li.active>a,.pp-navbar .navbar-nav>li.active>a:hover{background:transparent;color:var(--pp-orange)}
.pp-navbar .navbar-nav>li>a.pp-nav-cta{background:var(--pp-orange);color:#fff;border-radius:999px;padding:11px 20px;margin-top:16px;margin-left:8px;box-shadow:0 10px 24px rgba(221,95,32,.26)}
.pp-navbar .navbar-nav>li>a.pp-nav-cta:hover{background:#c65018;color:#fff;transform:translateY(-1px)}
.navbar-toggle{margin-top:20px;border-color:transparent;background:#f3eee9}
.navbar-default .navbar-toggle .icon-bar{background-color:var(--pp-dark)}

.pp-hero{position:relative;overflow:hidden;min-height:790px;padding:160px 0 105px;background:radial-gradient(circle at 12% 12%,rgba(177,71,136,.34),transparent 28%),radial-gradient(circle at 84% 30%,rgba(50,181,220,.30),transparent 28%),radial-gradient(circle at 74% 84%,rgba(84,109,41,.30),transparent 32%),linear-gradient(135deg,#242424 0%,#0f0f0f 100%)}
.pp-hero:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:96px;background:#fff;clip-path:polygon(0 40%,100% 0,100% 100%,0 100%)}
.pp-hero-bg{position:absolute;border-radius:999px;filter:blur(2px);opacity:.9;z-index:1}
.pp-hero-bg-one{width:340px;height:340px;background:linear-gradient(135deg,var(--pp-orange),var(--pp-purple));left:-130px;top:130px}
.pp-hero-bg-two{width:460px;height:460px;background:linear-gradient(135deg,#37b7df,var(--pp-green));right:-180px;top:190px;opacity:.55}
.pp-hero-row{position:relative;z-index:2;display:flex;align-items:center}
.pp-hero-copy h1{color:#fff;text-shadow:0 18px 60px rgba(0,0,0,.35)}
.pp-lead{font-size:20px;line-height:1.55;color:rgba(255,255,255,.78);max-width:610px}
.pp-kicker,.pp-section-label{display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;color:var(--pp-orange);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.12em}
.pp-kicker{color:#fff;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:9px 14px;backdrop-filter:blur(8px)}
.pp-kicker span{width:9px;height:9px;border-radius:50%;background:var(--pp-orange);display:inline-block;box-shadow:0 0 0 5px rgba(221,95,32,.18)}
.pp-hero-actions{margin-top:34px;display:flex;flex-wrap:wrap;gap:12px}
.pp-btn{border-radius:999px;font-weight:700;padding:14px 25px;text-transform:uppercase;letter-spacing:.04em;border:2px solid transparent;transition:all .25s ease}
.pp-btn-primary{background:var(--pp-orange);color:#fff;box-shadow:0 18px 36px rgba(221,95,32,.28)}
.pp-btn-primary:hover,.pp-btn-primary:focus{background:#c65018;color:#fff;transform:translateY(-2px)}
.pp-btn-ghost{background:transparent;border-color:rgba(255,255,255,.35);color:#fff}
.pp-btn-ghost:hover,.pp-btn-ghost:focus{background:#fff;color:#222;border-color:#fff;transform:translateY(-2px)}
.pp-btn-light{background:#fff;color:var(--pp-dark)}
.pp-btn-light:hover{background:var(--pp-orange);color:#fff;transform:translateY(-2px)}
.pp-hero-note{margin-top:28px;color:rgba(255,255,255,.82);font-weight:700}
.pp-hero-note i{color:#91ce43;margin-right:7px}
.pp-hero-visual{padding-left:40px}

.pp-quote-screen{background:rgba(255,255,255,.94);border-radius:26px;box-shadow:0 45px 110px rgba(0,0,0,.42);overflow:hidden;transform:rotate(1deg);border:1px solid rgba(255,255,255,.5)}
.pp-browser-top{height:54px;background:#f2f0ed;padding:18px 20px;display:flex;align-items:center;gap:8px;border-bottom:1px solid #e4dfd9}
.pp-browser-top span{width:11px;height:11px;border-radius:50%;background:#ddd;display:block}
.pp-browser-top span:nth-child(1){background:#dd5f20}.pp-browser-top span:nth-child(2){background:#f4c247}.pp-browser-top span:nth-child(3){background:#5dbb63}
.pp-browser-top strong{margin-left:10px;font-size:12px;color:#68635f;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pp-quote-content{display:flex;min-height:450px;background:#fff}
.pp-quote-sidebar{width:112px;background:#292929;padding:24px 18px}
.pp-dashboard-logo{width:58px;height:58px;display:block;margin:0 auto 26px}
.pp-quote-sidebar div{height:9px;background:rgba(255,255,255,.18);border-radius:8px;margin-bottom:17px}
.pp-quote-sidebar div:nth-child(3){background:var(--pp-orange)}
.pp-quote-main{flex:1;padding:28px;background:linear-gradient(180deg,#fff,#fbf7f4)}
.pp-search-box{background:#fff;border:1px solid var(--pp-border);border-radius:20px;padding:22px;margin-bottom:14px;box-shadow:0 14px 32px rgba(39,31,26,.06)}
.pp-search-label{display:inline-block;background:#fff1e9;color:var(--pp-orange);font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;border-radius:999px;padding:6px 10px;margin-bottom:10px}
.pp-search-box strong{display:block;font-size:25px;color:var(--pp-dark);line-height:1.05}
.pp-search-box p{font-size:14px;margin:7px 0 0;color:#706a65}
.pp-result-card{height:66px;background:#fff;border:1px solid var(--pp-border);border-radius:18px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;margin-bottom:12px;box-shadow:0 12px 28px rgba(39,31,26,.06)}
.pp-result-card span{display:block;color:var(--pp-orange);font-size:11px;text-transform:uppercase;font-weight:700;letter-spacing:.08em}
.pp-result-card strong{display:block;color:var(--pp-dark);font-size:16px}
.pp-result-card em{font-style:normal;font-size:12px;color:#4f8728;font-weight:700;background:#e8f5df;border-radius:999px;padding:7px 10px}
.pp-result-highlight{border-left:5px solid var(--pp-orange)}
.pp-preventivo-ready{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,var(--pp-orange),var(--pp-purple));border-radius:18px;color:#fff;padding:18px;margin-top:18px;box-shadow:0 18px 40px rgba(221,95,32,.25)}
.pp-preventivo-ready i{font-size:28px}
.pp-preventivo-ready strong{display:block;font-size:18px}.pp-preventivo-ready span{display:block;color:rgba(255,255,255,.78);font-size:13px;text-transform:uppercase;font-weight:700;letter-spacing:.08em}

.pp-section{padding:95px 0;position:relative}
.pp-section-white{background:#fff}.pp-section-soft{background:var(--pp-soft)}
.pp-section-dark{background:linear-gradient(135deg,#2d2d2d,#141414);color:#fff;overflow:hidden}
.pp-section-dark h2,.pp-section-dark h3{color:#fff}.pp-section-dark p{color:rgba(255,255,255,.74)}
.pp-section-intro{font-size:19px;line-height:1.65;color:#69615c}
.pp-heading{max-width:830px;margin:0 auto 52px}.pp-heading p{font-size:18px;line-height:1.6}
.pp-label-light{color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:8px 13px}
.pp-callout-inline{margin-top:22px;border-left:5px solid var(--pp-orange);background:#fff8f2;border-radius:16px;padding:20px 22px;color:#544b45;font-size:17px;box-shadow:0 12px 28px rgba(39,31,26,.05)}
.pp-callout-inline i{color:var(--pp-orange);font-size:20px;margin-right:8px}

.pp-soft-card,.pp-solution-card,.pp-module-card,.pp-story-card,.pp-process-card,.pp-before-card,.pp-after-card,.pp-season-card{background:#fff;border:1px solid var(--pp-border);border-radius:var(--pp-radius);box-shadow:0 16px 45px rgba(39,31,26,.06)}
.pp-pain-row{margin-top:42px}.pp-soft-card{padding:34px;min-height:265px;transition:all .25s ease}.pp-soft-card:hover{transform:translateY(-6px);box-shadow:var(--pp-shadow)}
.pp-soft-card i{width:58px;height:58px;line-height:58px;text-align:center;border-radius:18px;background:#fff1e9;color:var(--pp-orange);font-size:24px;margin-bottom:25px}
.pp-soft-card h3{font-size:23px}

.pp-section-banco:before{content:"";position:absolute;left:-80px;top:70px;width:260px;height:260px;border-radius:50%;background:rgba(221,95,32,.16)}
.pp-section-banco:after{content:"";position:absolute;right:-100px;bottom:-100px;width:320px;height:320px;border-radius:50%;background:rgba(53,183,223,.13)}
.pp-split-row{display:flex;align-items:center;position:relative;z-index:2}
.pp-split-row h2{font-size:44px}
.pp-flow-board{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.pp-flow-step{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:20px;padding:24px;min-height:175px;backdrop-filter:blur(7px)}
.pp-flow-step span{display:inline-block;width:42px;height:42px;line-height:42px;border-radius:50%;background:var(--pp-orange);color:#fff;text-align:center;font-weight:700;margin-bottom:16px}
.pp-flow-step h3{font-size:21px;margin-bottom:10px}

.pp-before-after>[class*='col-']{margin-bottom:30px}
.pp-before-card,.pp-after-card{padding:38px;min-height:430px;position:relative;overflow:hidden}
.pp-before-card{border-top:5px solid #9f9f9f}.pp-after-card{border-top:5px solid var(--pp-orange);box-shadow:0 24px 65px rgba(221,95,32,.14)}
.pp-card-kicker{display:inline-block;background:#f3eee9;color:#5d5751;border-radius:999px;padding:7px 12px;font-weight:700;text-transform:uppercase;font-size:11px;letter-spacing:.08em;margin-bottom:18px}
.pp-after-card .pp-card-kicker{background:#fff1e9;color:var(--pp-orange)}
.pp-before-card h3,.pp-after-card h3{font-size:30px}
.pp-before-card ul,.pp-after-card ul{padding:0;margin:24px 0 0;list-style:none}
.pp-before-card li,.pp-after-card li{position:relative;padding-left:30px;margin-bottom:14px;font-weight:700;color:#5b5652}
.pp-before-card li:before{content:"\f00d";font-family:FontAwesome;position:absolute;left:0;color:#b4a9a0}
.pp-after-card li:before{content:"\f00c";font-family:FontAwesome;position:absolute;left:0;color:#50ad43}

.pp-hub-diagram{display:flex;align-items:center;justify-content:center;gap:18px;padding:10px 0}
.pp-hub-side{flex:1}.pp-hub-side div{background:#fff;border:1px solid var(--pp-border);border-radius:16px;padding:14px 16px;margin-bottom:12px;color:#433d38;font-weight:700;box-shadow:0 10px 24px rgba(39,31,26,.05)}
.pp-hub-left div{border-left:5px solid var(--pp-purple)}.pp-hub-right div{border-left:5px solid var(--pp-green)}
.pp-hub-center{width:180px;height:180px;border-radius:34px;background:linear-gradient(135deg,#222,#111);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 24px 60px rgba(0,0,0,.22);position:relative;flex:0 0 auto}
.pp-hub-center img{width:76px;height:76px;margin-bottom:12px}.pp-hub-center strong{font-size:20px}.pp-hub-center span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.62);font-weight:700}

.pp-solutions-row{display:flex;flex-wrap:wrap}.pp-solutions-row>[class*='col-']{display:flex;margin-bottom:30px}
.pp-solution-card{padding:36px;position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:500px;transition:all .25s ease}
.pp-solution-card:before{content:"";position:absolute;right:-75px;top:-75px;width:150px;height:150px;border-radius:50%;background:rgba(221,95,32,.08)}
.pp-solution-card:hover{transform:translateY(-7px);box-shadow:var(--pp-shadow)}
.pp-solution-featured{border:2px solid var(--pp-orange);box-shadow:0 24px 65px rgba(221,95,32,.14)}
.pp-badge{position:absolute;right:22px;top:22px;background:var(--pp-orange);color:#fff;border-radius:999px;padding:7px 12px;font-size:11px;text-transform:uppercase;font-weight:700;letter-spacing:.06em}
.pp-solution-icon{width:64px;height:64px;line-height:64px;border-radius:20px;background:#f6eee8;text-align:center;color:var(--pp-orange);font-size:26px;margin-bottom:25px}
.pp-solution-card h3{font-size:27px;margin-bottom:16px}.pp-solution-card p{min-height:125px}
.pp-solution-card ul{padding-left:0;list-style:none;margin:0 0 28px;flex:1}
.pp-solution-card li{position:relative;padding-left:26px;margin-bottom:11px;color:#5b5652;font-weight:700}
.pp-solution-card li:before{content:"\f00c";font-family:FontAwesome;position:absolute;left:0;top:1px;color:#50ad43}
.pp-card-link{font-weight:700;color:var(--pp-orange);display:inline-block;margin-top:auto}.pp-card-link i{margin-left:4px;transition:all .2s}.pp-card-link:hover i{margin-left:8px}

.pp-module-grid>[class*='col-']{margin-bottom:30px}.pp-module-card{padding:28px;min-height:215px;transition:all .25s ease}
.pp-module-card:hover{transform:translateY(-5px);box-shadow:var(--pp-shadow)}
.pp-module-card i{font-size:27px;color:var(--pp-orange);margin-bottom:22px}.pp-module-card h3{font-size:21px}
.pp-dark-card{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:#fff;box-shadow:none}
.pp-dark-card p{color:rgba(255,255,255,.68)}

.pp-why-row{display:flex;align-items:center}.pp-story-card{padding:42px;position:relative;background:linear-gradient(180deg,#fff,#fffbf7)}
.pp-story-icon{width:92px;height:92px;margin-bottom:28px;border-radius:22px;box-shadow:0 18px 36px rgba(0,0,0,.12)}
.pp-why-list{padding-left:20px}.pp-why-item{display:flex;gap:20px;margin-bottom:28px}.pp-why-item i{width:42px;height:42px;line-height:42px;border-radius:50%;background:#e9f5e0;color:#4f8728;text-align:center;flex:0 0 auto}.pp-why-item h3{font-size:23px}

.pp-season-row{display:flex;align-items:center}.pp-season-card{padding:28px;margin-bottom:24px;min-height:150px;border-left:5px solid var(--pp-orange)}
.pp-season-card strong{display:block;font-size:24px;color:var(--pp-dark);letter-spacing:-.03em;line-height:1.1;margin-bottom:10px}
.pp-season-card span{display:block;color:#6d625b;font-weight:700}

.pp-faq .panel{border:none;box-shadow:none;border-bottom:1px solid var(--pp-border);border-radius:0}.pp-faq .panel-heading{background:#fff;padding:0}.pp-faq .panel-title>a{display:block;padding:21px 0;color:var(--pp-dark);font-weight:700;font-size:18px;position:relative}.pp-faq .panel-title>a:after{content:"\f107";font-family:FontAwesome;position:absolute;right:0;color:var(--pp-orange)}.pp-faq .panel-title>a.collapsed:after{content:"\f105"}.pp-faq .panel-body{border-top:none!important;padding:0 34px 22px 0;color:#665f5a;font-size:16px}

.pp-contact-section{padding:95px 0;background:linear-gradient(135deg,var(--pp-purple),#272727 44%,var(--pp-orange));position:relative;overflow:hidden}.pp-contact-section:before{content:"";position:absolute;right:-140px;top:-100px;width:420px;height:420px;background:rgba(255,255,255,.09);border-radius:50%}
.pp-contact-box{position:relative;z-index:2;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);box-shadow:0 35px 80px rgba(0,0,0,.26);border-radius:28px;padding:35px;backdrop-filter:blur(9px)}
.pp-contact-copy{padding:20px 40px 20px 20px}.pp-contact-copy h2{color:#fff}.pp-contact-copy p{color:rgba(255,255,255,.78);font-size:18px}.pp-contact-copy ul{list-style:none;padding:0;margin:30px 0 0}.pp-contact-copy li{color:#fff;margin-bottom:13px;font-weight:700}.pp-contact-copy li i{color:#91ce43;margin-right:8px}
.pp-contact-form{background:#fff;border-radius:22px;padding:30px;box-shadow:0 20px 60px rgba(0,0,0,.18)}
.pp-contact-form label{font-size:13px;text-transform:uppercase;color:#5f5752;letter-spacing:.06em}.pp-contact-form .form-control{height:48px;border:1px solid #e6dfd8;border-radius:12px;box-shadow:none}.pp-contact-form textarea.form-control{height:auto;resize:vertical}.pp-contact-form .form-control:focus{border-color:var(--pp-orange);box-shadow:0 0 0 3px rgba(221,95,32,.11)}.pp-privacy{font-size:13px;color:#625a55}

.pp-footer{background:#111;color:rgba(255,255,255,.72);padding:55px 0 25px}.pp-footer h3{font-size:17px;color:#fff;text-transform:uppercase;letter-spacing:.08em}.pp-footer p{color:rgba(255,255,255,.66)}.pp-footer-logo{height:58px;margin-bottom:20px}.pp-footer ul{list-style:none;padding:0;margin:0}.pp-footer li{margin-bottom:8px}.pp-footer a{color:rgba(255,255,255,.75)}.pp-footer a:hover{color:#fff}.pp-footer-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:34px;padding-top:22px;font-size:13px;color:rgba(255,255,255,.44)}
.pp-back-top{position:fixed;right:22px;bottom:22px;width:44px;height:44px;line-height:44px;text-align:center;border-radius:50%;background:var(--pp-orange);color:#fff;z-index:30;box-shadow:0 10px 24px rgba(221,95,32,.35);opacity:0;visibility:hidden;transform:translateY(8px)}.pp-back-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}.pp-back-top:hover{color:#fff;background:#c65018}

@media (max-width:1199px){h1{font-size:49px}.pp-solution-card p{min-height:155px}.pp-hub-center{width:150px;height:150px}.pp-hub-center img{width:62px;height:62px}}
@media (max-width:991px){h1{font-size:44px}h2{font-size:36px}.pp-hero{padding:130px 0 80px;min-height:auto}.pp-hero-row,.pp-split-row,.pp-why-row,.pp-season-row{display:block}.pp-hero-visual{padding-left:15px;margin-top:48px}.pp-quote-screen{transform:none}.pp-split-row .col-md-7{margin-top:42px}.pp-why-list{padding-left:0;margin-top:36px}.pp-contact-copy{padding:0 15px 25px}.pp-solution-card p{min-height:auto}.pp-hub-diagram{display:block}.pp-hub-center{margin:28px auto;width:190px;height:190px}.pp-flow-board{grid-template-columns:repeat(2,1fr)}}
@media (max-width:767px){body{font-size:14px}.pp-navbar{min-height:64px}.pp-navbar .navbar-brand{height:64px;padding:12px 15px}.pp-brand-logo{height:40px}.pp-navbar .navbar-collapse{background:#fff;border-top:1px solid #eee}.pp-navbar .navbar-nav>li>a{padding:13px 20px}.pp-navbar .navbar-nav>li>a.pp-nav-cta{display:inline-block;margin:10px 20px 18px;padding:10px 18px}.pp-hero{padding:105px 0 70px}.pp-hero:after{height:48px}h1{font-size:35px}h2{font-size:30px}.pp-lead{font-size:17px}.pp-hero-actions{display:block}.pp-hero-actions .btn{display:block;margin-bottom:12px}.pp-section{padding:65px 0}.pp-quote-content{display:block}.pp-quote-sidebar{width:100%;display:flex;align-items:center;gap:10px;padding:15px}.pp-quote-sidebar .pp-dashboard-logo{width:42px;height:42px;margin:0 14px 0 0}.pp-quote-sidebar div{flex:1;margin:0;height:8px}.pp-quote-main{padding:20px}.pp-search-box strong{font-size:20px}.pp-result-card{padding:0 12px}.pp-result-card em{display:none}.pp-soft-card,.pp-solution-card,.pp-module-card,.pp-story-card,.pp-process-card,.pp-before-card,.pp-after-card,.pp-season-card{min-height:auto}.pp-solution-card{padding:28px}.pp-badge{position:static;display:inline-block;margin-bottom:18px}.pp-flow-board{grid-template-columns:1fr}.pp-contact-box{padding:20px;border-radius:20px}.pp-contact-form{padding:22px}.pp-footer{text-align:left}}
@media (max-width:420px){h1{font-size:31px}.pp-browser-top strong{font-size:10px}.pp-flow-step{padding:20px}.pp-hub-side div{font-size:13px}.pp-before-card,.pp-after-card{padding:28px}}


/* ==========================================================================
   Pagina interna Soluzioni / Modulo Base
   ========================================================================== */

.pp-internal-hero
{
  position:relative;
  overflow:hidden;
  padding:132px 0 72px;
  background:
    radial-gradient(circle at 12% 18%,rgba(177,71,136,.28),transparent 28%),
    radial-gradient(circle at 86% 30%,rgba(50,181,220,.22),transparent 30%),
    linear-gradient(135deg,#242424 0%,#111 100%);
}

.pp-internal-hero:after
{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:48px;
  background:#fff;
  clip-path:polygon(0 35%,100% 0,100% 100%,0 100%);
}

.pp-internal-hero .container
{
  position:relative;
  z-index:2;
}

.pp-breadcrumb
{
  margin:0 0 18px;
  color:rgba(255,255,255,.58);
  font-size:13px;
  font-weight:700;
}

.pp-breadcrumb a
{
  color:rgba(255,255,255,.82);
}

.pp-internal-hero h1
{
  color:#fff;
  max-width:930px;
  margin-bottom:18px;
}

.pp-internal-hero p
{
  max-width:820px;
  color:rgba(255,255,255,.76);
  font-size:20px;
  line-height:1.55;
}

.pp-internal-nav
{
  background:#fff;
  border-bottom:1px solid var(--pp-border);
  position:sticky;
  top:74px;
  z-index:20;
}

.pp-internal-nav ul
{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.pp-internal-nav a
{
  display:block;
  padding:17px 15px;
  color:#4e4741;
  font-weight:700;
  font-size:13px;
}

.pp-internal-nav a:hover
{
  color:var(--pp-orange);
}

.pp-page-intro
{
  max-width:850px;
  margin-bottom:48px;
}

.pp-page-intro p
{
  font-size:18px;
}

.pp-package-row
{
  display:flex;
  flex-wrap:wrap;
}

.pp-package-row>[class*='col-']
{
  display:flex;
  margin-bottom:30px;
}

.pp-package-card
{
  background:#fff;
  border:1px solid var(--pp-border);
  border-radius:var(--pp-radius);
  box-shadow:0 16px 45px rgba(39,31,26,.06);
  padding:34px;
  width:100%;
  min-height:420px;
  position:relative;
  transition:all .25s ease;
}

.pp-package-card:hover
{
  transform:translateY(-6px);
  box-shadow:var(--pp-shadow);
}

.pp-package-card.pp-primary-package
{
  border:2px solid var(--pp-orange);
  box-shadow:0 24px 65px rgba(221,95,32,.13);
}

.pp-package-number
{
  width:42px;
  height:42px;
  line-height:42px;
  border-radius:50%;
  background:#fff1e9;
  color:var(--pp-orange);
  font-weight:700;
  text-align:center;
  margin-bottom:22px;
}

.pp-package-card h3
{
  font-size:26px;
}

.pp-package-card ul
{
  padding:0;
  list-style:none;
  margin:22px 0 0;
}

.pp-package-card li
{
  position:relative;
  padding-left:25px;
  margin-bottom:10px;
  color:#5d5652;
  font-weight:700;
}

.pp-package-card li:before
{
  content:"\f00c";
  font-family:FontAwesome;
  position:absolute;
  left:0;
  color:#50ad43;
}

.pp-module-hero-card
{
  background:#fff;
  border:1px solid var(--pp-border);
  border-radius:28px;
  box-shadow:var(--pp-shadow);
  overflow:hidden;
}

.pp-module-hero-head
{
  padding:34px;
  background:linear-gradient(135deg,var(--pp-orange),var(--pp-purple));
  color:#fff;
}

.pp-module-hero-head h2
{
  color:#fff;
  margin-bottom:12px;
}

.pp-module-hero-head p
{
  color:rgba(255,255,255,.82);
  font-size:18px;
  margin-bottom:0;
}

.pp-module-hero-body
{
  padding:34px;
}

.pp-module-hero-body .row>[class*='col-']
{
  margin-bottom:20px;
}

.pp-mini-feature
{
  border-left:4px solid var(--pp-orange);
  background:#fff8f2;
  border-radius:15px;
  padding:18px;
  min-height:126px;
}

.pp-mini-feature h3
{
  font-size:18px;
  margin-bottom:8px;
}

.pp-mini-feature p
{
  margin-bottom:0;
  font-size:14px;
}

.pp-feature-section-title
{
  margin-bottom:42px;
}

.pp-feature-section-title p
{
  font-size:18px;
  max-width:850px;
}

.pp-feature-grid>[class*='col-']
{
  margin-bottom:30px;
}

.pp-feature-card
{
  background:#fff;
  border:1px solid var(--pp-border);
  border-radius:var(--pp-radius);
  box-shadow:0 16px 45px rgba(39,31,26,.06);
  padding:30px;
  min-height:330px;
}

.pp-feature-card i
{
  width:56px;
  height:56px;
  line-height:56px;
  border-radius:18px;
  background:#fff1e9;
  color:var(--pp-orange);
  text-align:center;
  font-size:24px;
  margin-bottom:22px;
}

.pp-feature-card h3
{
  font-size:22px;
}

.pp-feature-card ul
{
  padding:0;
  list-style:none;
  margin:18px 0 0;
}

.pp-feature-card li
{
  position:relative;
  padding-left:24px;
  margin-bottom:9px;
  color:#5d5652;
  font-weight:700;
  font-size:14px;
}

.pp-feature-card li:before
{
  content:"\f105";
  font-family:FontAwesome;
  position:absolute;
  left:0;
  color:var(--pp-orange);
}

.pp-dark-feature
{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  border-radius:var(--pp-radius);
  padding:30px;
  min-height:275px;
}

.pp-dark-feature i
{
  width:54px;
  height:54px;
  line-height:54px;
  border-radius:18px;
  background:var(--pp-orange);
  color:#fff;
  text-align:center;
  font-size:23px;
  margin-bottom:20px;
}

.pp-dark-feature h3
{
  font-size:22px;
}

.pp-dark-feature p
{
  margin-bottom:0;
}

.pp-catalog-tabs
{
  margin-top:35px;
}

.pp-catalog-tabs .nav-tabs
{
  border-bottom:none;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:22px;
}

.pp-catalog-tabs .nav-tabs>li
{
  float:none;
}

.pp-catalog-tabs .nav-tabs>li>a
{
  border:none;
  border-radius:999px;
  background:#f3eee9;
  color:#514a44;
  font-weight:700;
  padding:12px 18px;
}

.pp-catalog-tabs .nav-tabs>li.active>a,
.pp-catalog-tabs .nav-tabs>li.active>a:focus,
.pp-catalog-tabs .nav-tabs>li.active>a:hover
{
  border:none;
  background:var(--pp-orange);
  color:#fff;
}

.pp-tab-panel
{
  background:#fff;
  border:1px solid var(--pp-border);
  border-radius:24px;
  padding:34px;
  box-shadow:0 16px 45px rgba(39,31,26,.06);
}

.pp-tab-panel h3
{
  font-size:27px;
  margin-bottom:18px;
}

.pp-tab-panel ul
{
  list-style:none;
  padding:0;
  margin:22px 0 0;
  columns:2;
}

.pp-tab-panel li
{
  position:relative;
  padding-left:26px;
  margin-bottom:12px;
  break-inside:avoid;
  color:#5d5652;
  font-weight:700;
}

.pp-tab-panel li:before
{
  content:"\f00c";
  font-family:FontAwesome;
  position:absolute;
  left:0;
  color:#50ad43;
}

.pp-process-list
{
  counter-reset:process;
}

.pp-process-item
{
  position:relative;
  padding:0 0 32px 80px;
  border-left:2px solid var(--pp-border);
  margin-left:24px;
}

.pp-process-item:last-child
{
  border-left-color:transparent;
  padding-bottom:0;
}

.pp-process-item:before
{
  counter-increment:process;
  content:counter(process);
  position:absolute;
  left:-25px;
  top:0;
  width:50px;
  height:50px;
  line-height:50px;
  border-radius:50%;
  background:var(--pp-orange);
  color:#fff;
  text-align:center;
  font-weight:700;
  box-shadow:0 12px 26px rgba(221,95,32,.25);
}

.pp-process-item h3
{
  font-size:23px;
  margin-bottom:8px;
}

.pp-process-item p
{
  font-size:16px;
}

.pp-summary-box
{
  background:#fff;
  border:1px solid var(--pp-border);
  border-radius:26px;
  box-shadow:var(--pp-shadow);
  overflow:hidden;
}

.pp-summary-row
{
  display:grid;
  grid-template-columns:270px 1fr;
  border-bottom:1px solid var(--pp-border);
}

.pp-summary-row:last-child
{
  border-bottom:none;
}

.pp-summary-row strong
{
  padding:23px;
  background:#fff8f2;
  color:var(--pp-orange);
}

.pp-summary-row span
{
  padding:23px;
  color:#5d5652;
  font-weight:700;
}

@media (max-width:991px)
{
  .pp-internal-nav
  {
    top:64px;
  }

  .pp-summary-row
  {
    grid-template-columns:220px 1fr;
  }

  .pp-feature-card
  {
    min-height:auto;
  }
}

@media (max-width:767px)
{
  .pp-internal-hero
  {
    padding:105px 0 62px;
  }

  .pp-internal-hero h1
  {
    font-size:32px;
  }

  .pp-internal-hero p
  {
    font-size:17px;
  }

  .pp-internal-nav
  {
    position:relative;
    top:auto;
  }

  .pp-internal-nav ul
  {
    display:block;
    white-space:nowrap;
    overflow-x:auto;
  }

  .pp-internal-nav li
  {
    display:inline-block;
  }

  .pp-tab-panel ul
  {
    columns:1;
  }

  .pp-summary-row
  {
    display:block;
  }

  .pp-summary-row strong,
  .pp-summary-row span
  {
    display:block;
  }
}


/* ==========================================================================
   Pagina interna Fornitori
   ========================================================================== */

.pp-supplier-stats
{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin-top:34px;
}

.pp-supplier-stat
{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
  border-radius:20px;
  padding:18px 22px;
  min-width:160px;
  color:#fff;
}

.pp-supplier-stat strong
{
  display:block;
  font-size:32px;
  line-height:1;
  color:#fff;
}

.pp-supplier-stat span
{
  display:block;
  margin-top:6px;
  color:rgba(255,255,255,.72);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:700;
}

.pp-supplier-filter
{
  margin:38px 0 42px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.pp-supplier-filter a
{
  display:inline-block;
  border-radius:999px;
  background:#f3eee9;
  color:#514a44;
  font-weight:700;
  padding:12px 18px;
}

.pp-supplier-filter a:hover
{
  background:var(--pp-orange);
  color:#fff;
}

.pp-supplier-section
{
  margin-bottom:72px;
}

.pp-supplier-section:last-child
{
  margin-bottom:0;
}

.pp-supplier-heading
{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:28px;
}

.pp-supplier-heading h2
{
  margin-bottom:8px;
}

.pp-supplier-heading p
{
  max-width:760px;
}

.pp-supplier-count
{
  flex:0 0 auto;
  background:#fff1e9;
  color:var(--pp-orange);
  border-radius:999px;
  padding:10px 15px;
  font-weight:700;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.pp-supplier-grid>[class*='col-']
{
  margin-bottom:24px;
}

.pp-supplier-card
{
  background:#fff;
  border:1px solid var(--pp-border);
  border-radius:22px;
  box-shadow:0 14px 38px rgba(39,31,26,.055);
  min-height:190px;
  overflow:hidden;
  transition:all .25s ease;
  display:flex;
  flex-direction:column;
}

.pp-supplier-card:hover
{
  transform:translateY(-5px);
  box-shadow:var(--pp-shadow);
}

.pp-supplier-logo
{
  height:118px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px 18px 8px;
  background:linear-gradient(180deg,#fff,#fffbf7);
}

.pp-supplier-logo img
{
  max-width:100%;
  max-height:92px;
  display:block;
}

.pp-supplier-body
{
  padding:16px 18px 18px;
  border-top:1px solid var(--pp-border);
}

.pp-supplier-body h3
{
  font-size:17px;
  margin-bottom:8px;
  letter-spacing:-.02em;
}

.pp-supplier-tags
{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.pp-supplier-tag
{
  display:inline-block;
  border-radius:999px;
  padding:5px 8px;
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
  background:#f3eee9;
  color:#6a625d;
}

.pp-supplier-tag.pp-tag-ruote
{
  background:#f7e8f1;
  color:var(--pp-purple);
}

.pp-supplier-tag.pp-tag-pneumatici
{
  background:#fff1e9;
  color:var(--pp-orange);
}

.pp-supplier-tag.pp-tag-accessori
{
  background:#edf6e4;
  color:var(--pp-green);
}

.pp-integration-note
{
  background:#fff;
  border:1px solid var(--pp-border);
  border-left:5px solid var(--pp-orange);
  border-radius:20px;
  box-shadow:0 16px 45px rgba(39,31,26,.06);
  padding:26px;
  margin-top:18px;
}

.pp-integration-note h3
{
  font-size:22px;
}

.pp-logo-disclaimer
{
  background:#f7f5f2;
  border:1px dashed #d8d0c8;
  border-radius:18px;
  padding:18px 20px;
  color:#6a625d;
  font-size:13px;
  margin-top:24px;
}

@media (max-width:767px)
{
  .pp-supplier-heading
  {
    display:block;
  }

  .pp-supplier-count
  {
    display:inline-block;
    margin-top:10px;
  }

  .pp-supplier-stat
  {
    flex:1 1 100%;
  }
}


/* ==========================================================================
   Pagine dettaglio soluzioni
   ========================================================================== */

.pp-solution-hub-actions
{
  margin-top:26px;
}

.pp-solution-hub-actions .btn
{
  margin-right:10px;
  margin-bottom:10px;
}

.pp-detail-hero-card
{
  background:#fff;
  border:1px solid var(--pp-border);
  border-radius:28px;
  box-shadow:var(--pp-shadow);
  overflow:hidden;
}

.pp-detail-hero-head
{
  padding:34px;
  background:linear-gradient(135deg,var(--pp-orange),var(--pp-purple));
  color:#fff;
}

.pp-detail-hero-head.pp-head-green
{
  background:linear-gradient(135deg,var(--pp-green),#91ce43);
}

.pp-detail-hero-head.pp-head-blue
{
  background:linear-gradient(135deg,#1f6fb2,#32b5dc);
}

.pp-detail-hero-head h2
{
  color:#fff;
  margin-bottom:12px;
}

.pp-detail-hero-head p
{
  color:rgba(255,255,255,.84);
  font-size:18px;
  margin-bottom:0;
}

.pp-detail-hero-body
{
  padding:34px;
}

.pp-detail-grid>[class*='col-']
{
  margin-bottom:22px;
}

.pp-detail-mini
{
  background:#fff8f2;
  border-left:4px solid var(--pp-orange);
  border-radius:16px;
  padding:19px;
  min-height:136px;
}

.pp-detail-mini.pp-green-mini
{
  background:#f1f7eb;
  border-left-color:var(--pp-green);
}

.pp-detail-mini.pp-blue-mini
{
  background:#eef7fb;
  border-left-color:#32b5dc;
}

.pp-detail-mini h3
{
  font-size:18px;
  margin-bottom:8px;
}

.pp-detail-mini p
{
  font-size:14px;
  margin-bottom:0;
}

.pp-feature-split
{
  display:flex;
  align-items:center;
}

.pp-visual-panel
{
  background:#fff;
  border:1px solid var(--pp-border);
  border-radius:28px;
  box-shadow:var(--pp-shadow);
  overflow:hidden;
}

.pp-visual-panel-top
{
  height:54px;
  background:#f2f0ed;
  padding:18px 20px;
  display:flex;
  align-items:center;
  gap:8px;
  border-bottom:1px solid #e4dfd9;
}

.pp-visual-panel-top span
{
  width:11px;
  height:11px;
  border-radius:50%;
  display:block;
}

.pp-visual-panel-top span:nth-child(1)
{
  background:#dd5f20;
}

.pp-visual-panel-top span:nth-child(2)
{
  background:#f4c247;
}

.pp-visual-panel-top span:nth-child(3)
{
  background:#5dbb63;
}

.pp-visual-panel-body
{
  padding:28px;
  background:linear-gradient(180deg,#fff,#fffbf7);
}

.pp-site-layout
{
  border:1px solid var(--pp-border);
  border-radius:20px;
  overflow:hidden;
  background:#fff;
}

.pp-site-cover
{
  height:118px;
  background:linear-gradient(135deg,var(--pp-orange),var(--pp-purple));
  padding:24px;
  color:#fff;
}

.pp-site-cover strong
{
  display:block;
  font-size:23px;
  line-height:1.1;
}

.pp-site-menu
{
  display:flex;
  gap:8px;
  padding:14px;
  border-bottom:1px solid var(--pp-border);
}

.pp-site-menu span
{
  height:10px;
  width:70px;
  border-radius:999px;
  background:#e7e0d8;
}

.pp-site-blocks
{
  padding:18px;
}

.pp-site-blocks div
{
  height:46px;
  border-radius:14px;
  background:#f4eee8;
  margin-bottom:12px;
}

.pp-commerce-layout
{
  border:1px solid var(--pp-border);
  border-radius:20px;
  overflow:hidden;
  background:#fff;
}

.pp-commerce-search
{
  padding:18px;
  background:#eef7fb;
  border-bottom:1px solid var(--pp-border);
}

.pp-commerce-search div
{
  height:46px;
  border-radius:999px;
  background:#fff;
  border:1px solid #d9edf5;
  padding:13px 18px;
  color:#44758a;
  font-weight:700;
}

.pp-commerce-products
{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  padding:18px;
}

.pp-commerce-product
{
  min-height:132px;
  border:1px solid var(--pp-border);
  border-radius:18px;
  padding:15px;
}

.pp-commerce-product i
{
  color:var(--pp-orange);
  font-size:23px;
}

.pp-commerce-product strong
{
  display:block;
  margin-top:12px;
  color:var(--pp-dark);
}

.pp-commerce-product span
{
  display:inline-block;
  margin-top:8px;
  background:#e8f5df;
  color:#4f8728;
  border-radius:999px;
  padding:5px 8px;
  font-size:11px;
  font-weight:700;
}

.pp-comparison-table
{
  background:#fff;
  border:1px solid var(--pp-border);
  border-radius:26px;
  box-shadow:var(--pp-shadow);
  overflow:hidden;
}

.pp-comparison-row
{
  display:grid;
  grid-template-columns:280px 1fr 1fr 1fr;
  border-bottom:1px solid var(--pp-border);
}

.pp-comparison-row:last-child
{
  border-bottom:none;
}

.pp-comparison-row>div
{
  padding:20px;
  border-right:1px solid var(--pp-border);
}

.pp-comparison-row>div:last-child
{
  border-right:none;
}

.pp-comparison-row.pp-comparison-head
{
  background:#fff8f2;
  color:var(--pp-orange);
  font-weight:700;
}

.pp-comparison-row strong
{
  color:var(--pp-dark);
}

.pp-check-green
{
  color:#4f8728;
  font-weight:700;
}

.pp-detail-cta-line
{
  margin-top:34px;
  padding:24px;
  border-radius:22px;
  background:#fff8f2;
  border-left:5px solid var(--pp-orange);
}

.pp-detail-cta-line h3
{
  font-size:24px;
}

.pp-detail-cta-line p
{
  font-size:16px;
}

@media (max-width:991px)
{
  .pp-feature-split
  {
    display:block;
  }

  .pp-visual-panel
  {
    margin-top:36px;
  }

  .pp-comparison-row
  {
    grid-template-columns:1fr;
  }

  .pp-comparison-row>div
  {
    border-right:none;
    border-bottom:1px solid var(--pp-border);
  }

  .pp-comparison-row>div:last-child
  {
    border-bottom:none;
  }

  .pp-comparison-row.pp-comparison-head
  {
    display:none;
  }

  .pp-comparison-row>div:before
  {
    display:block;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:var(--pp-orange);
    font-weight:700;
    margin-bottom:6px;
  }

  .pp-comparison-row>div:nth-child(1):before{content:"Funzione";}
  .pp-comparison-row>div:nth-child(2):before{content:"Banco + B2B";}
  .pp-comparison-row>div:nth-child(3):before{content:"Sito istituzionale";}
  .pp-comparison-row>div:nth-child(4):before{content:"E-commerce B2C";}
}

@media (max-width:767px)
{
  .pp-commerce-products
  {
    grid-template-columns:1fr;
  }

  .pp-site-menu
  {
    overflow:hidden;
  }

  .pp-site-menu span
  {
    flex:0 0 62px;
  }
}


/* Loghi metodi di pagamento */
.pp-payment-logos
{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin-top:26px;
}

.pp-payment-logo-card
{
  background:#fff;
  border:1px solid var(--pp-border);
  border-radius:18px;
  padding:18px 20px;
  min-height:96px;
  min-width:160px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 12px 30px rgba(39,31,26,.055);
}

.pp-payment-logo-card img
{
  max-width:160px;
  max-height:58px;
  display:block;
}

.pp-payment-logo-card span
{
  display:block;
  font-weight:700;
  color:#5d5652;
}

@media (max-width:767px)
{
  .pp-payment-logo-card
  {
    flex:1 1 calc(50% - 16px);
    min-width:0;
  }
}


/* ==========================================================================
   Sezione Preventivi inclusi nel modulo base
   ========================================================================== */

.pp-quote-module
{
  background:#fff;
  border:1px solid var(--pp-border);
  border-radius:28px;
  box-shadow:var(--pp-shadow);
  overflow:hidden;
}

.pp-quote-module-head
{
  padding:34px;
  background:linear-gradient(135deg,var(--pp-orange),var(--pp-purple));
  color:#fff;
}

.pp-quote-module-head h2
{
  color:#fff;
  margin-bottom:12px;
}

.pp-quote-module-head p
{
  color:rgba(255,255,255,.84);
  font-size:18px;
  margin-bottom:0;
}

.pp-quote-module-body
{
  padding:34px;
}

.pp-quote-flow
{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;
  margin-top:28px;
}

.pp-quote-flow-step
{
  position:relative;
  background:#fff8f2;
  border:1px solid #f2dfd1;
  border-radius:18px;
  padding:22px 16px;
  min-height:185px;
}

.pp-quote-flow-step span
{
  display:inline-block;
  width:38px;
  height:38px;
  line-height:38px;
  border-radius:50%;
  background:var(--pp-orange);
  color:#fff;
  text-align:center;
  font-weight:700;
  margin-bottom:14px;
}

.pp-quote-flow-step h3
{
  font-size:17px;
  margin-bottom:9px;
}

.pp-quote-flow-step p
{
  font-size:13px;
  margin-bottom:0;
}

.pp-quote-benefits
{
  margin-top:34px;
}

.pp-quote-benefit
{
  background:#fff;
  border:1px solid var(--pp-border);
  border-radius:20px;
  padding:24px;
  min-height:220px;
  box-shadow:0 14px 38px rgba(39,31,26,.055);
}

.pp-quote-benefit i
{
  width:52px;
  height:52px;
  line-height:52px;
  border-radius:17px;
  background:#fff1e9;
  color:var(--pp-orange);
  text-align:center;
  font-size:23px;
  margin-bottom:18px;
}

.pp-quote-benefit h3
{
  font-size:20px;
}

@media (max-width:1199px)
{
  .pp-quote-flow
  {
    grid-template-columns:repeat(3,1fr);
  }
}

@media (max-width:767px)
{
  .pp-quote-flow
  {
    grid-template-columns:1fr;
  }

  .pp-quote-module-head,
  .pp-quote-module-body
  {
    padding:24px;
  }
}


/* ==========================================================================
   Pagine Estensioni operative
   ========================================================================== */

.pp-extension-hero-actions
{
  margin-top:28px;
}

.pp-extension-hero-actions .btn
{
  margin-right:10px;
  margin-bottom:10px;
}

.pp-extension-grid>[class*='col-']
{
  margin-bottom:30px;
}

.pp-extension-card
{
  background:#fff;
  border:1px solid var(--pp-border);
  border-radius:22px;
  box-shadow:0 16px 45px rgba(39,31,26,.06);
  padding:28px;
  min-height:405px;
  transition:all .25s ease;
  display:flex;
  flex-direction:column;
  position:relative;
  overflow:hidden;
}

.pp-extension-card:before
{
  content:"";
  position:absolute;
  right:-52px;
  top:-52px;
  width:112px;
  height:112px;
  border-radius:50%;
  background:rgba(221,95,32,.08);
}

.pp-extension-card:hover
{
  transform:translateY(-6px);
  box-shadow:var(--pp-shadow);
}

.pp-extension-rank
{
  width:42px;
  height:42px;
  line-height:42px;
  border-radius:50%;
  background:#fff1e9;
  color:var(--pp-orange);
  text-align:center;
  font-weight:700;
  margin-bottom:18px;
  position:relative;
  z-index:2;
}

.pp-extension-card i
{
  width:56px;
  height:56px;
  line-height:56px;
  border-radius:18px;
  background:#fff1e9;
  color:var(--pp-orange);
  text-align:center;
  font-size:24px;
  margin-bottom:22px;
  position:relative;
  z-index:2;
}

.pp-extension-card h3
{
  font-size:22px;
  position:relative;
  z-index:2;
}

.pp-extension-card p
{
  position:relative;
  z-index:2;
}

.pp-extension-card .pp-card-link
{
  margin-top:auto;
  position:relative;
  z-index:2;
}

.pp-extension-tag
{
  display:inline-block;
  border-radius:999px;
  background:#f3eee9;
  color:#6a625d;
  padding:6px 9px;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:700;
  margin-bottom:14px;
  position:relative;
  z-index:2;
}

.pp-extension-tag.pp-tag-operation
{
  background:#fff1e9;
  color:var(--pp-orange);
}

.pp-extension-tag.pp-tag-sales
{
  background:#eef7fb;
  color:#1f6f8f;
}

.pp-extension-tag.pp-tag-integration
{
  background:#f7e8f1;
  color:var(--pp-purple);
}

.pp-extension-tag.pp-tag-config
{
  background:#edf6e4;
  color:var(--pp-green);
}

.pp-extension-detail-card
{
  background:#fff;
  border:1px solid var(--pp-border);
  border-radius:28px;
  box-shadow:var(--pp-shadow);
  overflow:hidden;
}

.pp-extension-detail-head
{
  padding:34px;
  color:#fff;
  background:linear-gradient(135deg,var(--pp-orange),var(--pp-purple));
}

.pp-extension-detail-head.pp-head-operation
{
  background:linear-gradient(135deg,var(--pp-orange),var(--pp-purple));
}

.pp-extension-detail-head.pp-head-sales
{
  background:linear-gradient(135deg,#1f6fb2,#32b5dc);
}

.pp-extension-detail-head.pp-head-integration
{
  background:linear-gradient(135deg,var(--pp-purple),#333333);
}

.pp-extension-detail-head.pp-head-config
{
  background:linear-gradient(135deg,var(--pp-green),#91ce43);
}

.pp-extension-detail-head h2
{
  color:#fff;
  margin-bottom:12px;
}

.pp-extension-detail-head p
{
  color:rgba(255,255,255,.84);
  font-size:18px;
  margin-bottom:0;
}

.pp-extension-detail-body
{
  padding:34px;
}

.pp-extension-feature-grid>[class*='col-']
{
  margin-bottom:24px;
}

.pp-extension-feature
{
  background:#fff8f2;
  border-left:4px solid var(--pp-orange);
  border-radius:16px;
  padding:20px;
  min-height:160px;
}

.pp-extension-feature h3
{
  font-size:18px;
}

.pp-extension-feature p
{
  font-size:14px;
  margin-bottom:0;
}

.pp-extension-feature.pp-feature-sales
{
  background:#eef7fb;
  border-left-color:#32b5dc;
}

.pp-extension-feature.pp-feature-integration
{
  background:#f7e8f1;
  border-left-color:var(--pp-purple);
}

.pp-extension-feature.pp-feature-config
{
  background:#edf6e4;
  border-left-color:var(--pp-green);
}

.pp-extension-flow
{
  counter-reset:extflow;
  margin-top:10px;
}

.pp-extension-flow-item
{
  position:relative;
  padding:0 0 28px 76px;
  border-left:2px solid var(--pp-border);
  margin-left:24px;
}

.pp-extension-flow-item:last-child
{
  border-left-color:transparent;
  padding-bottom:0;
}

.pp-extension-flow-item:before
{
  counter-increment:extflow;
  content:counter(extflow);
  position:absolute;
  left:-25px;
  top:0;
  width:50px;
  height:50px;
  line-height:50px;
  border-radius:50%;
  background:var(--pp-orange);
  color:#fff;
  text-align:center;
  font-weight:700;
  box-shadow:0 12px 26px rgba(221,95,32,.25);
}

.pp-extension-flow-item h3
{
  font-size:22px;
  margin-bottom:8px;
}

.pp-extension-summary
{
  background:#fff;
  border:1px solid var(--pp-border);
  border-radius:24px;
  box-shadow:0 16px 45px rgba(39,31,26,.06);
  padding:30px;
}

.pp-extension-summary h3
{
  font-size:24px;
}

.pp-extension-summary ul
{
  padding:0;
  margin:20px 0 0;
  list-style:none;
}

.pp-extension-summary li
{
  position:relative;
  padding-left:28px;
  margin-bottom:12px;
  color:#5d5652;
  font-weight:700;
}

.pp-extension-summary li:before
{
  content:"\f00c";
  font-family:FontAwesome;
  position:absolute;
  left:0;
  color:#50ad43;
}

.pp-extension-next
{
  background:#fff8f2;
  border-left:5px solid var(--pp-orange);
  border-radius:22px;
  padding:25px;
}

.pp-extension-next h3
{
  font-size:23px;
}

@media (max-width:991px)
{
  .pp-extension-card
  {
    min-height:auto;
  }
}

@media (max-width:767px)
{
  .pp-extension-detail-head,
  .pp-extension-detail-body
  {
    padding:24px;
  }

  .pp-extension-flow-item
  {
    padding-left:58px;
  }
}


/* ==========================================================================
   Allineamento robusto box/card
   ========================================================================== */

/*
  Queste griglie usano Bootstrap 3 ma vengono trasformate in flex container.
  In questo modo le colonne non si incastrano sotto ai box più bassi quando
  i testi hanno altezze diverse.
*/
.pp-extension-grid,
.pp-module-grid,
.pp-feature-grid,
.pp-supplier-grid,
.pp-package-row,
.pp-solutions-row,
.pp-include-grid,
.pp-research-row,
.pp-detail-grid,
.pp-extension-feature-grid,
.pp-quote-benefits,
.pp-pain-row,
.pp-order-row,
.pp-before-after
{
  display:flex;
  flex-wrap:wrap;
}

.pp-extension-grid>[class*='col-'],
.pp-module-grid>[class*='col-'],
.pp-feature-grid>[class*='col-'],
.pp-supplier-grid>[class*='col-'],
.pp-package-row>[class*='col-'],
.pp-solutions-row>[class*='col-'],
.pp-include-grid>[class*='col-'],
.pp-research-row>[class*='col-'],
.pp-detail-grid>[class*='col-'],
.pp-extension-feature-grid>[class*='col-'],
.pp-quote-benefits>[class*='col-'],
.pp-pain-row>[class*='col-'],
.pp-order-row>[class*='col-'],
.pp-before-after>[class*='col-']
{
  float:none;
  display:flex;
}

.pp-extension-card,
.pp-module-card,
.pp-feature-card,
.pp-supplier-card,
.pp-package-card,
.pp-solution-card,
.pp-include-card,
.pp-research-card,
.pp-detail-mini,
.pp-extension-feature,
.pp-quote-benefit,
.pp-soft-card,
.pp-order-card,
.pp-before-card,
.pp-after-card
{
  width:100%;
}

@media (max-width:767px)
{
  .pp-extension-grid,
  .pp-module-grid,
  .pp-feature-grid,
  .pp-supplier-grid,
  .pp-package-row,
  .pp-solutions-row,
  .pp-include-grid,
  .pp-research-row,
  .pp-detail-grid,
  .pp-extension-feature-grid,
  .pp-quote-benefits,
  .pp-pain-row,
  .pp-order-row,
  .pp-before-after
  {
    display:block;
  }

  .pp-extension-grid>[class*='col-'],
  .pp-module-grid>[class*='col-'],
  .pp-feature-grid>[class*='col-'],
  .pp-supplier-grid>[class*='col-'],
  .pp-package-row>[class*='col-'],
  .pp-solutions-row>[class*='col-'],
  .pp-include-grid>[class*='col-'],
  .pp-research-row>[class*='col-'],
  .pp-detail-grid>[class*='col-'],
  .pp-extension-feature-grid>[class*='col-'],
  .pp-quote-benefits>[class*='col-'],
  .pp-pain-row>[class*='col-'],
  .pp-order-row>[class*='col-'],
  .pp-before-after>[class*='col-']
  {
    display:block;
  }
}


/* ==========================================================================
   Validazione form contatto
   ========================================================================== */

.pp-contact-form .form-group
{
  position:relative;
}

.pp-contact-form .form-control.error,
.pp-contact-form .form-control.pp-error,
.pp-contact-form input.error,
.pp-contact-form select.error,
.pp-contact-form textarea.error
{
  border-color:#d93025!important;
  background:#fff7f6;
  box-shadow:0 0 0 3px rgba(217,48,37,.10)!important;
}

.pp-contact-form .checkbox input.error
{
  outline:2px solid #d93025;
  outline-offset:2px;
}

.pp-contact-form label.error,
.pp-contact-form .pp-field-error
{
  display:block;
  margin:7px 0 0;
  color:#d93025;
  font-size:12px;
  line-height:1.35;
  font-weight:700;
  text-transform:none;
  letter-spacing:0;
}

.pp-contact-form .checkbox label.error
{
  margin-left:0;
  padding-left:0;
}

.pp-contact-form .form-control.valid
{
  border-color:#50ad43;
}

.pp-contact-form .pp-form-result
{
  display:none;
  border-radius:14px;
  padding:14px 16px;
  margin-bottom:18px;
  font-weight:700;
}

.pp-contact-form .pp-form-result.pp-success
{
  display:block;
  background:#e8f5df;
  color:#3f7626;
  border:1px solid #cde9bf;
}

.pp-contact-form .pp-form-result.pp-error
{
  display:block;
  background:#fff0ef;
  color:#b3261e;
  border:1px solid #f0c7c3;
}


/* ==========================================================================
   Opinioni clienti
   ========================================================================== */

.pp-testimonials-section
{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 12%,rgba(31,111,178,.22),transparent 30%),
    radial-gradient(circle at 82% 82%,rgba(84,109,41,.30),transparent 34%),
    linear-gradient(135deg,#242424 0%,#0f0f0f 100%);
  color:#fff;
}

.pp-testimonials-section h2,
.pp-testimonials-section h3
{
  color:#fff;
}

.pp-testimonials-section p
{
  color:rgba(255,255,255,.74);
}

.pp-testimonials-section:before
{
  content:"";
  position:absolute;
  left:-120px;
  top:-90px;
  width:360px;
  height:360px;
  border-radius:50%;
  background:rgba(177,71,136,.20);
  filter:blur(4px);
}

.pp-testimonials-section:after
{
  content:"";
  position:absolute;
  right:-130px;
  bottom:-120px;
  width:420px;
  height:420px;
  border-radius:50%;
  background:rgba(84,109,41,.28);
  filter:blur(4px);
}

.pp-testimonials-section .container
{
  position:relative;
  z-index:2;
}

.pp-testimonial-grid
{
  display:flex;
  flex-wrap:wrap;
  margin-top:42px;
}

.pp-testimonial-grid>[class*='col-']
{
  display:flex;
  float:none;
  margin-bottom:30px;
}

.pp-testimonial-card
{
  width:100%;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  border-radius:28px;
  padding:36px;
  box-shadow:0 24px 70px rgba(0,0,0,.24);
  backdrop-filter:blur(8px);
  position:relative;
}

.pp-testimonial-card:before
{
  content:"“";
  display:block;
  color:#d96bf0;
  font-size:96px;
  line-height:.65;
  font-weight:700;
  margin-bottom:12px;
}

.pp-testimonial-card blockquote
{
  border-left:none;
  padding:0;
  margin:0 0 30px;
  color:rgba(255,255,255,.82);
  font-size:20px;
  line-height:1.55;
  font-weight:500;
}

.pp-testimonial-author
{
  display:flex;
  align-items:center;
  gap:18px;
  margin-top:auto;
}

.pp-testimonial-author img
{
  width:92px;
  height:92px;
  border-radius:50%;
  object-fit:cover;
  box-shadow:0 0 0 8px rgba(177,71,136,.18);
  background:#fff;
  flex:0 0 auto;
}

.pp-testimonial-author strong
{
  display:block;
  color:#fff;
  font-size:23px;
  line-height:1.1;
  margin-bottom:5px;
}

.pp-testimonial-author span
{
  display:block;
  color:rgba(255,255,255,.68);
  font-style:italic;
  font-size:16px;
}

@media (max-width:767px)
{
  .pp-testimonial-grid
  {
    display:block;
  }

  .pp-testimonial-grid>[class*='col-']
  {
    display:block;
  }

  .pp-testimonial-card
  {
    padding:28px;
  }

  .pp-testimonial-card blockquote
  {
    font-size:17px;
  }

  .pp-testimonial-author
  {
    align-items:flex-start;
  }

  .pp-testimonial-author img
  {
    width:72px;
    height:72px;
  }

  .pp-testimonial-author strong
  {
    font-size:19px;
  }

  .pp-testimonial-author span
  {
    font-size:14px;
  }
}


/* ==========================================================================
   JSON config loader support
   ========================================================================== */

.pp-supplier-card-link
{
  color:inherit;
  text-decoration:none;
}

.pp-supplier-card-link:hover,
.pp-supplier-card-link:focus
{
  color:inherit;
  text-decoration:none;
}

/* Config JSON v2 */
.pp-card-link-wrap
{
  display:block;
  width:100%;
  color:inherit;
}
.pp-card-link-wrap:hover,
.pp-card-link-wrap:focus
{
  color:inherit;
  text-decoration:none;
}
.pp-card-link-wrap:hover .pp-module-card
{
  transform:translateY(-5px);
}
.pp-supplier-card-link
{
  color:inherit;
}
.pp-supplier-card-link:hover,
.pp-supplier-card-link:focus
{
  color:inherit;
  text-decoration:none;
}


/* ==========================================================================
   Stock images carousel + popup
   ========================================================================== */

.pp-season-media
{
  margin-top:42px;
}

.pp-stock-carousel
{
  position:relative;
  border-radius:28px;
  overflow:hidden;
  box-shadow:var(--pp-shadow);
  border:1px solid var(--pp-border);
  background:#111;
}

.pp-stock-carousel .item
{
  height:470px;
  background:#111;
}

.pp-stock-carousel .item img
{
  width:100%;
  height:470px;
  object-fit:cover;
  display:block;
  opacity:.92;
}

.pp-stock-carousel-caption
{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:80px 34px 30px;
  background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.78));
  color:#fff;
}

.pp-stock-carousel-caption h3
{
  color:#fff;
  font-size:28px;
  margin-bottom:8px;
}

.pp-stock-carousel-caption p
{
  color:rgba(255,255,255,.78);
  margin-bottom:0;
}

.pp-stock-carousel .carousel-control
{
  background:none;
  width:72px;
  opacity:1;
}

.pp-stock-carousel .carousel-control span
{
  width:44px;
  height:44px;
  line-height:44px;
  border-radius:50%;
  background:rgba(221,95,32,.92);
  display:inline-block;
  text-align:center;
  margin-top:210px;
  color:#fff;
  text-shadow:none;
  font-size:24px;
}

.pp-stock-open
{
  position:absolute;
  right:26px;
  top:26px;
  width:44px;
  height:44px;
  line-height:44px;
  border-radius:50%;
  background:rgba(255,255,255,.94);
  color:var(--pp-orange);
  text-align:center;
  box-shadow:0 12px 30px rgba(0,0,0,.20);
  z-index:5;
}

.pp-stock-open:hover,
.pp-stock-open:focus
{
  color:#fff;
  background:var(--pp-orange);
}

.pp-stock-gallery-grid>[class*='col-']
{
  margin-bottom:28px;
}

.pp-stock-gallery-card
{
  position:relative;
  display:block;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 16px 44px rgba(39,31,26,.10);
  min-height:260px;
  background:#222;
  color:#fff;
}

.pp-stock-gallery-card:hover,
.pp-stock-gallery-card:focus
{
  color:#fff;
  text-decoration:none;
  transform:translateY(-4px);
}

.pp-stock-gallery-card img
{
  width:100%;
  height:280px;
  object-fit:cover;
  display:block;
  transition:all .25s ease;
}

.pp-stock-gallery-card:hover img
{
  transform:scale(1.04);
  opacity:.86;
}

.pp-stock-gallery-card span
{
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  display:block;
  padding:13px 15px;
  border-radius:16px;
  background:rgba(0,0,0,.62);
  color:#fff;
  font-weight:700;
}

.pp-stock-gallery-card i
{
  position:absolute;
  right:18px;
  top:18px;
  width:38px;
  height:38px;
  line-height:38px;
  border-radius:50%;
  background:rgba(255,255,255,.94);
  color:var(--pp-orange);
  text-align:center;
}

.pp-image-lightbox
{
  display:none;
  position:fixed;
  z-index:99999;
  inset:0;
  background:rgba(0,0,0,.86);
  padding:42px;
}

.pp-image-lightbox.pp-open
{
  display:flex;
  align-items:center;
  justify-content:center;
}

.pp-image-lightbox-inner
{
  position:relative;
  max-width:1200px;
  width:100%;
}

.pp-image-lightbox img
{
  display:block;
  max-width:100%;
  max-height:82vh;
  margin:0 auto;
  border-radius:18px;
  box-shadow:0 30px 90px rgba(0,0,0,.45);
}

.pp-image-lightbox-title
{
  color:#fff;
  text-align:center;
  margin-top:18px;
  font-size:20px;
  font-weight:700;
}

.pp-image-lightbox-close
{
  position:absolute;
  right:-16px;
  top:-16px;
  width:46px;
  height:46px;
  line-height:46px;
  border-radius:50%;
  border:none;
  background:var(--pp-orange);
  color:#fff;
  font-size:22px;
  text-align:center;
}

@media (max-width:767px)
{
  .pp-stock-carousel .item,
  .pp-stock-carousel .item img
  {
    height:320px;
  }

  .pp-stock-carousel-caption
  {
    padding:70px 22px 22px;
  }

  .pp-stock-carousel-caption h3
  {
    font-size:22px;
  }

  .pp-stock-carousel .carousel-control span
  {
    margin-top:138px;
  }

  .pp-image-lightbox
  {
    padding:20px;
  }

  .pp-image-lightbox-close
  {
    right:0;
    top:-58px;
  }
}


/* ==========================================================================
   Media integrati: stock contestuali + screenshot PicoPortal
   ========================================================================== */

.pp-hero
{
  position:relative;
  background:
    linear-gradient(90deg,rgba(25,22,20,.92) 0%,rgba(25,22,20,.83) 44%,rgba(25,22,20,.60) 100%),
    url('../img/stock/image44.jpg') center center/cover no-repeat;
}

.pp-hero:before
{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 20%,rgba(221,95,32,.25),transparent 28%),
    radial-gradient(circle at 86% 84%,rgba(84,109,41,.30),transparent 34%);
  pointer-events:none;
}

.pp-hero .container
{
  position:relative;
  z-index:2;
}

.pp-hero-bg
{
  opacity:.35;
}

.pp-hero-real-media
{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:24px;
}

.pp-media-heading
{
  margin-bottom:22px;
}

.pp-media-heading span
{
  display:inline-block;
  color:var(--pp-orange);
  font-weight:700;
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.08em;
  margin-bottom:8px;
}

.pp-media-heading h3
{
  font-size:26px;
  margin-bottom:0;
}

.pp-section-dark .pp-media-heading h3
{
  color:#fff;
}

.pp-stock-context
{
  position:relative;
  border-radius:28px;
  overflow:hidden;
  min-height:340px;
  box-shadow:var(--pp-shadow);
  background:#111;
}

.pp-stock-context img
{
  width:100%;
  height:100%;
  min-height:340px;
  object-fit:cover;
  display:block;
}

.pp-stock-context:after
{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.22));
  pointer-events:none;
}

.pp-banco-media-row,
.pp-season-integrated-media,
.pp-solutions-media-strip,
.pp-result-screens,
.pp-flows-screens
{
  margin-top:46px;
}

.pp-screen-row>[class*='col-']
{
  margin-bottom:24px;
}

.pp-screen-card
{
  position:relative;
  display:block;
  background:#fff;
  border:1px solid var(--pp-border);
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 16px 45px rgba(39,31,26,.08);
  transition:all .25s ease;
  color:var(--pp-dark);
}

.pp-section-dark .pp-screen-card
{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.14);
  color:#fff;
}

.pp-screen-card:hover,
.pp-screen-card:focus
{
  text-decoration:none;
  transform:translateY(-5px);
  box-shadow:var(--pp-shadow);
  color:var(--pp-dark);
}

.pp-section-dark .pp-screen-card:hover,
.pp-section-dark .pp-screen-card:focus
{
  color:#fff;
}

.pp-screen-card img
{
  width:100%;
  height:230px;
  object-fit:cover;
  display:block;
  transition:all .25s ease;
}

.pp-screen-card:hover img
{
  transform:scale(1.035);
  opacity:.90;
}

.pp-screen-card strong
{
  display:block;
  padding:16px 18px 18px;
  font-size:16px;
  line-height:1.25;
}

.pp-screen-badge
{
  position:absolute;
  left:16px;
  top:16px;
  z-index:3;
  border-radius:999px;
  background:rgba(221,95,32,.94);
  color:#fff;
  padding:7px 11px;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:700;
}

.pp-screen-zoom
{
  position:absolute;
  right:16px;
  top:16px;
  z-index:3;
  width:42px;
  height:42px;
  line-height:42px;
  border-radius:50%;
  background:rgba(255,255,255,.95);
  color:var(--pp-orange);
  text-align:center;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}

.pp-screen-card:hover .pp-screen-zoom
{
  color:#fff;
  background:var(--pp-orange);
}

.pp-why-stock-photo-row
{
  margin-top:34px;
}

.pp-why-stock-photo
{
  border-radius:28px;
  overflow:hidden;
  height:300px;
  box-shadow:var(--pp-shadow);
  position:relative;
}

.pp-why-stock-photo img
{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.pp-why-stock-photo:after
{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(51,51,51,.25),rgba(221,95,32,.12));
}

.pp-season-integrated-media .pp-screen-card img
{
  height:285px;
}

.pp-flows-screens .pp-screen-card img,
.pp-result-screens .pp-screen-card img,
.pp-solutions-media-strip .pp-screen-card img
{
  height:250px;
}

.pp-image-lightbox
{
  display:none;
  position:fixed;
  z-index:99999;
  inset:0;
  background:rgba(0,0,0,.88);
  padding:42px;
}

.pp-image-lightbox.pp-open
{
  display:flex;
  align-items:center;
  justify-content:center;
}

.pp-image-lightbox-inner
{
  position:relative;
  max-width:1280px;
  width:100%;
}

.pp-image-lightbox img
{
  display:block;
  max-width:100%;
  max-height:82vh;
  margin:0 auto;
  border-radius:18px;
  box-shadow:0 30px 90px rgba(0,0,0,.45);
}

.pp-image-lightbox-title
{
  color:#fff;
  text-align:center;
  margin-top:18px;
  font-size:20px;
  font-weight:700;
}

.pp-image-lightbox-close
{
  position:absolute;
  right:-16px;
  top:-16px;
  width:46px;
  height:46px;
  line-height:46px;
  border-radius:50%;
  border:none;
  background:var(--pp-orange);
  color:#fff;
  font-size:22px;
  text-align:center;
}

@media (max-width:991px)
{
  .pp-hero-real-media
  {
    grid-template-columns:1fr;
  }

  .pp-stock-context
  {
    margin-bottom:28px;
  }
}

@media (max-width:767px)
{
  .pp-screen-card img,
  .pp-season-integrated-media .pp-screen-card img,
  .pp-flows-screens .pp-screen-card img,
  .pp-result-screens .pp-screen-card img,
  .pp-solutions-media-strip .pp-screen-card img
  {
    height:210px;
  }

  .pp-image-lightbox
  {
    padding:20px;
  }

  .pp-image-lightbox-close
  {
    top:-58px;
    right:0;
  }
}


/* ==========================================================================
   Correzioni media bozza 19
   ========================================================================== */

/* Hero: niente screenshot dentro la hero e niente puntini nei result fake */
.pp-hero .pp-hero-real-media
{
  display:none!important;
}

.pp-hero .pp-result-card i.fa-circle
{
  display:none!important;
}

.pp-hero .pp-result-card
{
  padding-left:18px;
}

/* La nuova priorità: foto stock come sfondo della sottosezione */
.pp-banco-media-row
{
  position:relative;
  margin-top:46px;
  border-radius:30px;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(24,22,21,.90) 0%,rgba(24,22,21,.78) 46%,rgba(24,22,21,.62) 100%),
    url('../img/stock/image14.jpg') center center/cover no-repeat;
  box-shadow:var(--pp-shadow);
  padding:38px;
}

.pp-banco-media-row .pp-media-heading h3,
.pp-banco-media-row .pp-media-heading p
{
  color:#fff;
}

.pp-banco-media-row .pp-media-heading p
{
  color:rgba(255,255,255,.76);
  font-size:16px;
  margin-top:12px;
}

/* Le thumb PicoPortal devono partire sempre dall'angolo alto sinistro */
.pp-screen-card img
{
  object-position:top left;
}

/* Perché PicoPortal: immagine di sfondo full section */
#perche
{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.88) 48%,rgba(255,255,255,.68) 100%),
    url('../img/stock/image32.jpg') center center/cover no-repeat;
}

#perche .container
{
  position:relative;
  z-index:2;
}

.pp-why-stock-photo-row
{
  display:none!important;
}

/* Periodo cambio gomme: foto e screenshot più compatti e allineati */
.pp-season-integrated-media
{
  margin-top:38px;
}

.pp-season-media-row
{
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
}

.pp-season-media-row>[class*='col-']
{
  display:flex;
  flex-direction:column;
}

.pp-season-integrated-media .pp-stock-context,
.pp-season-integrated-media .pp-screen-card
{
  height:340px;
  min-height:340px;
  width:100%;
}

.pp-season-integrated-media .pp-stock-context img
{
  height:340px;
  min-height:340px;
  object-fit:cover;
}

.pp-season-integrated-media .pp-screen-card img
{
  height:260px;
  object-position:top left;
}

.pp-season-integrated-media .pp-screen-card strong
{
  height:80px;
}

/* Sezioni dove gli screenshot sono stati rimossi */
.pp-result-screens,
.pp-flows-screens
{
  display:none!important;
}

/* Popup più grande e immagine 1:1 scrollabile */
.pp-image-lightbox
{
  padding:18px!important;
  align-items:flex-start!important;
  justify-content:center!important;
  overflow:auto!important;
}

.pp-image-lightbox-inner
{
  max-width:none!important;
  width:auto!important;
  height:auto!important;
  margin:auto;
  padding:24px 0;
}

.pp-image-lightbox img
{
  width:auto!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  border-radius:14px;
}

.pp-image-lightbox-title
{
  position:sticky;
  left:0;
  bottom:0;
  max-width:900px;
  margin:16px auto 0;
  padding:10px 16px;
  border-radius:999px;
  background:rgba(0,0,0,.55);
}

.pp-image-lightbox-close
{
  position:fixed!important;
  top:20px!important;
  right:22px!important;
  z-index:100001;
}

@media (max-width:991px)
{
  .pp-banco-media-row
  {
    padding:28px;
  }

  .pp-season-media-row
  {
    display:block;
  }

  .pp-season-integrated-media .pp-stock-context
  {
    margin-bottom:24px;
  }
}

@media (max-width:767px)
{
  .pp-season-integrated-media .pp-stock-context,
  .pp-season-integrated-media .pp-screen-card
  {
    height:auto;
    min-height:0;
  }

  .pp-season-integrated-media .pp-stock-context img,
  .pp-season-integrated-media .pp-screen-card img
  {
    height:220px;
    min-height:220px;
  }

  .pp-image-lightbox
  {
    padding:12px!important;
  }

  .pp-image-lightbox img
  {
    max-width:none!important;
  }
}


/* ==========================================================================
   Realize 1.0 - Preventivatore integrato
   ========================================================================== */

.pp-navbar .navbar-nav>li>a.pp-nav-preventivatore,
.pp-nav-preventivatore
{
  color:var(--pp-purple)!important;
  font-weight:700;
}

.pp-navbar .navbar-nav>li>a.pp-nav-preventivatore:before
{
  content:"\f0d0";
  font-family:FontAwesome;
  margin-right:6px;
}

.pp-preventivatore-home-row
{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
}

.pp-preventivatore-home-actions
{
  margin-top:28px;
}

.pp-preventivatore-home-actions .btn
{
  margin-right:10px;
  margin-bottom:10px;
}

.pp-wizard-preview
{
  background:#fff;
  border:1px solid var(--pp-border);
  border-radius:28px;
  box-shadow:var(--pp-shadow);
  overflow:hidden;
}

.pp-wizard-preview-top
{
  background:#24272d;
  color:#d6dde5;
  padding:18px 22px;
  display:flex;
  align-items:center;
  gap:9px;
}

.pp-wizard-preview-top span
{
  width:12px;
  height:12px;
  border-radius:50%;
  display:block;
}

.pp-wizard-preview-top span:nth-child(1){background:#dd5f20;}
.pp-wizard-preview-top span:nth-child(2){background:#f4c247;}
.pp-wizard-preview-top span:nth-child(3){background:#5dbb63;}

.pp-wizard-preview-top strong
{
  margin-left:14px;
  font-size:13px;
}

.pp-wizard-preview-body
{
  padding:28px;
  background:linear-gradient(180deg,#fff,#fff8f2);
}

.pp-wizard-step-preview
{
  display:grid;
  grid-template-columns:52px 1fr;
  gap:14px;
  padding:18px;
  border:1px solid var(--pp-border);
  border-radius:18px;
  margin-bottom:13px;
  background:#fff;
}

.pp-wizard-step-preview:last-child
{
  margin-bottom:0;
}

.pp-wizard-step-preview span
{
  grid-row:1 / span 2;
  width:44px;
  height:44px;
  line-height:44px;
  border-radius:50%;
  text-align:center;
  background:#fff1e9;
  color:var(--pp-orange);
  font-weight:700;
}

.pp-wizard-step-preview.active span
{
  background:var(--pp-orange);
  color:#fff;
}

.pp-wizard-step-preview strong
{
  font-size:17px;
}

.pp-wizard-step-preview em
{
  color:#6d665f;
  font-style:normal;
  font-size:13px;
}

.pp-preventivatore-mini-section
{
  background:#fff8f2;
}

.pp-preventivatore-mini
{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  background:#fff;
  border:1px solid var(--pp-border);
  border-radius:28px;
  box-shadow:var(--pp-shadow);
  padding:34px;
  border-left:6px solid var(--pp-orange);
}

.pp-preventivatore-mini h2
{
  font-size:32px;
  margin-bottom:10px;
}

.pp-preventivatore-mini p
{
  font-size:16px;
  margin-bottom:0;
}

.pp-preventivatore-mini-actions
{
  flex:0 0 auto;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.pp-btn-ghost-dark
{
  background:#333;
  color:#fff!important;
}

.pp-btn-ghost-dark:hover,
.pp-btn-ghost-dark:focus
{
  background:#111;
  color:#fff!important;
}

.pp-topbar-note a
{
  color:#fff;
  font-weight:700;
}

@media (max-width:991px)
{
  .pp-preventivatore-mini
  {
    display:block;
  }

  .pp-preventivatore-mini-actions
  {
    margin-top:24px;
  }
}

@media (max-width:767px)
{
  .pp-preventivatore-home-row
  {
    display:block;
  }

  .pp-wizard-preview
  {
    margin-top:32px;
  }

  .pp-preventivatore-mini
  {
    padding:26px;
  }

  .pp-preventivatore-mini h2
  {
    font-size:26px;
  }
}


/* ==========================================================================
   Realize 1.1 - Uniformazione card e cataloghi macro-area
   ========================================================================== */

.pp-card-heading
{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:18px;
}

.pp-card-heading i,
.pp-card-heading .fa
{
  flex:0 0 52px;
  width:52px;
  height:52px;
  line-height:52px;
  border-radius:16px;
  text-align:center;
  background:#fff1e9;
  color:var(--pp-orange);
  font-size:22px;
}

.pp-card-heading h3
{
  margin:0!important;
  line-height:1.25;
}

/* Uniforma via JS anche le card già esistenti */
.pp-js-card-heading
{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:18px;
}

.pp-js-card-heading>i,
.pp-js-card-heading>.fa
{
  flex:0 0 52px!important;
  width:52px!important;
  height:52px!important;
  line-height:52px!important;
  border-radius:16px!important;
  text-align:center!important;
  margin:0!important;
}

.pp-js-card-heading>h3
{
  margin:0!important;
  line-height:1.25!important;
}

/* Estensioni operative */
.pp-extension-rank
{
  display:none!important;
}

.pp-extension-card .pp-extension-tag
{
  position:static;
  display:inline-flex;
  width:auto;
  margin-bottom:18px;
}

.pp-extension-card>i.fa
{
  display:none!important;
}

/* i badge categoria restano in alto, poi icona + titolo */
.pp-extension-card .pp-js-card-heading
{
  margin-top:0;
}

.pp-extension-card .pp-js-card-heading>i
{
  background:#fff1e9!important;
  color:var(--pp-orange)!important;
}

/* Cataloghi inclusi */
.pp-catalogs-section .pp-heading
{
  max-width:980px;
  margin-bottom:34px;
}

.pp-catalog-block
{
  position:relative;
  background:#fff;
  border:1px solid var(--pp-border);
  border-radius:30px;
  padding:34px;
  margin-bottom:34px;
  box-shadow:0 18px 55px rgba(39,31,26,.08);
  overflow:hidden;
  border-top:7px solid var(--catalog-color);
}

.pp-catalog-block:before
{
  content:"";
  position:absolute;
  top:-90px;
  right:-90px;
  width:240px;
  height:240px;
  border-radius:50%;
  background:var(--catalog-color);
  opacity:.08;
}

.pp-catalog-block .row
{
  position:relative;
  z-index:2;
}

.pp-catalog-badge
{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  background:var(--catalog-color);
  color:#fff;
  padding:8px 14px;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.10em;
  margin-bottom:20px;
}

.pp-catalog-block .pp-card-heading i
{
  background:color-mix(in srgb, var(--catalog-color) 12%, #fff);
  color:var(--catalog-color);
}

@supports not (background:color-mix(in srgb, #000 10%, #fff))
{
  .pp-catalog-block .pp-card-heading i
  {
    background:#f7eff5;
  }
}

.pp-catalog-block .pp-card-heading h3
{
  font-size:28px;
}

.pp-catalog-block p
{
  font-size:16px;
  color:#625d57;
}

.pp-catalog-list
{
  columns:1;
  margin-top:20px;
}

.pp-catalog-list li
{
  margin-bottom:10px;
}

.pp-catalog-list li:before
{
  color:var(--catalog-color)!important;
}

.pp-catalog-block .pp-screen-card
{
  margin-bottom:22px;
}

.pp-catalog-block .pp-screen-card img
{
  height:210px;
  object-position:top left;
}

.pp-catalog-block .pp-screen-badge
{
  background:var(--catalog-color);
}

.pp-catalog-block .pp-screen-zoom
{
  color:var(--catalog-color);
}

.pp-catalog-block .pp-screen-card:hover .pp-screen-zoom
{
  background:var(--catalog-color);
  color:#fff;
}

/* Popup screenshot 1:1, più grande e scrollabile */
.pp-image-lightbox
{
  align-items:flex-start!important;
  justify-content:flex-start!important;
  overflow:auto!important;
  padding:20px!important;
}

.pp-image-lightbox-inner
{
  max-width:none!important;
  width:auto!important;
  min-width:auto!important;
  margin:0 auto!important;
  padding:20px 0 60px!important;
}

.pp-image-lightbox img
{
  width:auto!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:top left!important;
  display:block;
}

.pp-image-lightbox-close
{
  position:fixed!important;
  top:18px!important;
  right:22px!important;
  z-index:100001!important;
}

@media (max-width:991px)
{
  .pp-catalog-block
  {
    padding:28px;
  }

  .pp-catalog-block .col-md-5
  {
    margin-bottom:24px;
  }
}

@media (max-width:767px)
{
  .pp-card-heading,
  .pp-js-card-heading
  {
    gap:12px;
  }

  .pp-card-heading i,
  .pp-card-heading .fa,
  .pp-js-card-heading>i,
  .pp-js-card-heading>.fa
  {
    flex-basis:46px!important;
    width:46px!important;
    height:46px!important;
    line-height:46px!important;
    font-size:19px!important;
  }

  .pp-catalog-block .pp-card-heading h3
  {
    font-size:22px;
  }

  .pp-catalog-block .pp-screen-card img
  {
    height:190px;
  }
}


/* ==========================================================================
   Realize 1.2 - Preventivatore fuori dal menu, CTA in hero
   ========================================================================== */

.pp-navbar .navbar-nav>li>a.pp-nav-preventivatore
{
  display:none!important;
}

.pp-hero-actions .btn[href*="preventivatore"]
{
  border-color:#fff;
}



/* ==========================================================================
   Realize 1.4 - Correzioni allineamenti e preventivatore home
   ========================================================================== */

/* Dal banco all'ordine: pallino numerato + titolo allineati */
.pp-flow-step
{
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr);
  grid-template-areas:
    "num title"
    ". text";
  column-gap:16px;
  row-gap:8px;
  align-items:center;
}

.pp-flow-step span
{
  grid-area:num;
  margin-bottom:0!important;
  align-self:start;
}

.pp-flow-step h3
{
  grid-area:title;
  margin:0!important;
  min-width:0;
  overflow-wrap:break-word;
  word-break:normal;
  line-height:1.25;
}

.pp-flow-step p
{
  grid-area:text;
  margin:0!important;
  min-width:0;
}

/* Home: preventivatore più evidente e separato dalla sezione precedente */
.pp-preventivatore-focus-section
{
  position:relative;
  padding-top:112px!important;
  padding-bottom:112px!important;
  background:
    radial-gradient(circle at 10% 18%,rgba(221,95,32,.18),transparent 28%),
    radial-gradient(circle at 92% 82%,rgba(177,71,136,.18),transparent 30%),
    linear-gradient(135deg,#fff8f2 0%,#ffffff 48%,#f5f1fb 100%)!important;
  overflow:hidden;
}

.pp-preventivatore-focus-section:before
{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  width:120px;
  height:7px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,var(--pp-orange),var(--pp-purple));
  transform:translateX(-50%);
}

.pp-preventivatore-focus
{
  position:relative;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(221,95,32,.18);
  border-radius:34px;
  box-shadow:0 30px 90px rgba(39,31,26,.13);
  padding:48px;
  overflow:hidden;
}

.pp-preventivatore-focus:before
{
  content:"";
  position:absolute;
  right:-120px;
  top:-120px;
  width:300px;
  height:300px;
  border-radius:50%;
  background:var(--pp-orange);
  opacity:.08;
}

.pp-preventivatore-focus .row
{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
}

.pp-preventivatore-focus h2
{
  font-size:42px;
  line-height:1.12;
  margin-bottom:18px;
}

.pp-preventivatore-focus .pp-section-intro
{
  max-width:520px;
}

.pp-wizard-preview-large
{
  transform:translateY(0);
  border:1px solid rgba(177,71,136,.16);
}

.pp-wizard-preview-large .pp-wizard-preview-body
{
  padding:24px;
}

.pp-wizard-preview-large .pp-wizard-step-preview
{
  grid-template-columns:56px minmax(0,1fr);
  align-items:center;
  margin-bottom:11px;
  padding:16px;
}

.pp-wizard-preview-large .pp-wizard-step-preview strong
{
  min-width:0;
  overflow-wrap:break-word;
}

.pp-wizard-preview-large .pp-wizard-step-preview em
{
  line-height:1.45;
}

/* Card: icona + titolo robusto anche con testi lunghi */
.pp-js-card-heading,
.pp-card-heading
{
  min-width:0;
}

.pp-js-card-heading>h3,
.pp-card-heading>h3
{
  min-width:0!important;
  max-width:100%;
  overflow-wrap:break-word;
  word-break:normal;
  hyphens:auto;
}

/* Card delle pagine soluzione e Listini/Fornitori */
.pp-feature-card,
.pp-dark-feature,
.pp-detail-mini,
.pp-process-item,
.pp-benefit-card,
.pp-include-card
{
  overflow:hidden;
}

.pp-dark-feature .pp-js-card-heading
{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:18px;
}

.pp-dark-feature .pp-js-card-heading>i
{
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.18);
}

.pp-dark-feature .pp-js-card-heading>h3
{
  color:#fff;
}

.pp-feature-card .pp-js-card-heading>i,
.pp-detail-card .pp-js-card-heading>i,
.pp-benefit-card .pp-js-card-heading>i
{
  flex:0 0 52px!important;
}

/* Se nelle soluzioni qualche titolo è molto lungo, resta nel riquadro */
.pp-feature-card h3,
.pp-dark-feature h3,
.pp-detail-card h3,
.pp-benefit-card h3,
.pp-include-card h3
{
  overflow-wrap:break-word;
  word-break:normal;
  max-width:100%;
}

@media (max-width:991px)
{
  .pp-preventivatore-focus
  {
    padding:34px;
  }

  .pp-preventivatore-focus .row
  {
    display:block;
  }

  .pp-wizard-preview-large
  {
    margin-top:34px;
  }
}

@media (max-width:767px)
{
  .pp-flow-step
  {
    grid-template-columns:46px minmax(0,1fr);
    column-gap:12px;
  }

  .pp-flow-step span
  {
    width:40px!important;
    height:40px!important;
    line-height:40px!important;
  }

  .pp-preventivatore-focus-section
  {
    padding-top:72px!important;
    padding-bottom:72px!important;
  }

  .pp-preventivatore-focus
  {
    padding:26px;
    border-radius:26px;
  }

  .pp-preventivatore-focus h2
  {
    font-size:30px;
  }

  .pp-wizard-preview-large .pp-wizard-step-preview
  {
    grid-template-columns:48px minmax(0,1fr);
    padding:14px;
  }
}


/* ==========================================================================
   Realize 1.5 - Predisposizione Iubenda
   ========================================================================== */

.pp-footer [data-pp-iubenda-preferences],
.pp-wizard-footer [data-pp-iubenda-preferences],
.pp-preventivatore-footer [data-pp-iubenda-preferences]
{
  display:none;
}

.pp-iubenda-ready .pp-footer [data-pp-iubenda-preferences],
.pp-iubenda-ready .pp-wizard-footer [data-pp-iubenda-preferences],
.pp-iubenda-ready .pp-preventivatore-footer [data-pp-iubenda-preferences]
{
  display:inline;
}

.pp-legal-page
{
  background:#f7f3ee;
}

.pp-legal-hero
{
  background:linear-gradient(135deg,#333333 0%,#b14788 100%);
  color:#fff;
  padding:118px 0 72px;
}

.pp-legal-hero .pp-breadcrumb,
.pp-legal-hero .pp-breadcrumb a
{
  color:rgba(255,255,255,.75);
}

.pp-legal-hero h1
{
  color:#fff;
  margin-top:24px;
}

.pp-legal-hero p
{
  color:rgba(255,255,255,.85);
  font-size:18px;
  max-width:760px;
}

.pp-iubenda-document-card
{
  background:#fff;
  border:1px solid var(--pp-border);
  border-radius:28px;
  box-shadow:var(--pp-shadow);
  padding:38px;
  margin-top:-42px;
  position:relative;
  z-index:2;
  min-height:360px;
}

.pp-iubenda-document-link
{
  display:block;
  min-height:260px;
}

.pp-iubenda-placeholder
{
  background:#fff8f2;
  border:1px dashed rgba(221,95,32,.45);
  border-radius:20px;
  padding:28px;
  color:#4a413a;
}

.pp-iubenda-placeholder strong
{
  display:block;
  font-size:20px;
  margin-bottom:10px;
  color:#333;
}

.pp-iubenda-placeholder code
{
  background:#fff;
  color:#b14788;
  padding:2px 6px;
  border-radius:6px;
}

@media (max-width:767px)
{
  .pp-legal-hero
  {
    padding:96px 0 58px;
  }

  .pp-iubenda-document-card
  {
    padding:24px;
  }
}


/* ==========================================================================
   Realize 1.6 - Hero carousel, gallery, media e caroselli
   ========================================================================== */

/* HERO CAROUSEL */
.pp-hero.pp-hero-carousel
{
  padding:0!important;
  min-height:0!important;
  background:#111!important;
}

.pp-hero.pp-hero-carousel:before,
.pp-hero.pp-hero-carousel>.pp-hero-bg
{
  display:none!important;
}

.pp-hero-carousel-inner,
.pp-hero-carousel-inner .carousel-inner,
.pp-hero-carousel-inner .item
{
  min-height:790px;
}

.pp-hero-slide
{
  position:relative;
  padding:160px 0 115px;
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
  overflow:hidden;
}

.pp-hero-slide:before
{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(18,17,16,.86) 0%,rgba(18,17,16,.66) 43%,rgba(18,17,16,.22) 100%),
    radial-gradient(circle at 14% 26%,rgba(221,95,32,.34),transparent 24%),
    radial-gradient(circle at 90% 66%,rgba(84,109,41,.28),transparent 30%);
  pointer-events:none;
}

.pp-hero-slide:after
{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:96px;
  background:#fff;
  clip-path:polygon(0 42%,100% 0,100% 100%,0 100%);
}

.pp-hero-slide .container
{
  position:relative;
  z-index:2;
}

.pp-hero-copy
{
  min-width:0;
}

.pp-hero-copy .pp-kicker
{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  white-space:nowrap;
}

.pp-hero-copy h1
{
  font-size:54px;
  line-height:1.08;
  letter-spacing:-.055em;
  max-width:720px;
}

.pp-hero-copy .pp-lead
{
  max-width:660px;
}

.pp-hero-actions
{
  align-items:center;
}

.pp-hero-actions .btn
{
  white-space:nowrap;
}

.pp-hero-note
{
  max-width:660px;
}

.pp-hero-control
{
  width:54px;
  background:none!important;
  opacity:.92;
  text-shadow:none;
}

.pp-hero-control span
{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  line-height:44px;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  color:var(--pp-orange);
  box-shadow:0 12px 28px rgba(0,0,0,.20);
  font-size:26px;
}

.pp-hero-control.left span
{
  left:22px;
}

.pp-hero-control.right span
{
  right:22px;
}

.pp-hero-indicators
{
  bottom:42px;
  z-index:4;
}

.pp-hero-indicators li
{
  width:10px;
  height:10px;
  margin:0 5px;
  border-color:rgba(255,255,255,.82);
  background:rgba(255,255,255,.18);
}

.pp-hero-indicators .active
{
  width:26px;
  height:10px;
  border-radius:999px;
  background:var(--pp-orange);
  border-color:var(--pp-orange);
}

.pp-hero-solutions-visual
{
  max-width:520px;
  margin-left:auto;
}

.pp-hero-solution-card
{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  grid-template-areas:
    "icon title"
    "icon text";
  column-gap:16px;
  row-gap:5px;
  align-items:center;
  padding:22px;
  margin-bottom:16px;
  border:1px solid rgba(255,255,255,.26);
  border-radius:22px;
  background:rgba(255,255,255,.92);
  box-shadow:0 20px 55px rgba(0,0,0,.16);
  color:var(--pp-dark);
  backdrop-filter:blur(8px);
}

.pp-hero-solution-card i
{
  grid-area:icon;
  width:52px;
  height:52px;
  line-height:52px;
  border-radius:16px;
  text-align:center;
  background:#fff1e9;
  color:var(--pp-orange);
  font-size:22px;
}

.pp-hero-solution-card strong
{
  grid-area:title;
  min-width:0;
  font-size:21px;
  line-height:1.22;
  overflow-wrap:break-word;
}

.pp-hero-solution-card span
{
  grid-area:text;
  color:#686059;
  font-size:14px;
  line-height:1.45;
}

/* GESTIONE ORDINI: pallini non tagliati */
.pp-process-list
{
  counter-reset:process;
  overflow:visible;
}

.pp-process-item
{
  margin-left:0!important;
  padding:0 0 32px 86px!important;
  border-left:none!important;
  overflow:visible!important;
}

.pp-process-item:after
{
  content:"";
  position:absolute;
  left:25px;
  top:50px;
  bottom:0;
  width:2px;
  background:var(--pp-border);
}

.pp-process-item:last-child:after
{
  display:none;
}

.pp-process-item:before
{
  left:0!important;
  top:0!important;
  z-index:2;
}

/* OPINIONI CLIENTI: carosello */
.pp-testimonial-carousel-wrap
{
  position:relative;
  padding:0 54px;
}

.pp-testimonial-carousel .carousel-inner
{
  overflow:hidden;
}

.pp-testimonial-carousel .item .row
{
  display:flex;
  flex-wrap:wrap;
}

.pp-testimonial-carousel .item [class*='col-']
{
  display:flex;
}

.pp-testimonial-carousel .pp-testimonial-card
{
  width:100%;
  min-height:310px;
}

.pp-testimonial-control
{
  width:44px;
  background:none!important;
  opacity:1;
  text-shadow:none;
}

.pp-testimonial-control span
{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  line-height:44px;
  border-radius:50%;
  background:#fff;
  color:var(--pp-orange);
  font-size:25px;
  box-shadow:0 14px 34px rgba(0,0,0,.22);
}

.pp-testimonial-control.left span
{
  left:0;
}

.pp-testimonial-control.right span
{
  right:0;
}

/* AGENDA E OPERATIVITÀ: foto e screenshot più allineati */
.pp-season-integrated-media .pp-season-media-row
{
  align-items:stretch;
}

.pp-season-integrated-media .pp-stock-context
{
  margin-top:74px;
  height:340px!important;
  min-height:340px!important;
}

.pp-season-integrated-media .pp-screen-card
{
  height:340px!important;
  min-height:340px!important;
}

/* PERCHÉ PICOPORTAL: foto più visibile, lista protetta */
#perche
{
  background:
    linear-gradient(90deg,rgba(255,255,255,.56) 0%,rgba(255,255,255,.70) 42%,rgba(255,255,255,.88) 100%),
    url('../img/stock/image32.jpg') center center/cover no-repeat!important;
}

#perche .pp-story-card
{
  background:rgba(255,255,255,.80);
  border:1px solid rgba(255,255,255,.56);
  border-radius:28px;
  box-shadow:0 18px 50px rgba(39,31,26,.10);
  backdrop-filter:blur(6px);
}

#perche .pp-why-item
{
  background:rgba(255,255,255,.88);
  border:1px solid rgba(255,255,255,.70);
  border-radius:20px;
  padding:18px;
  box-shadow:0 14px 38px rgba(39,31,26,.08);
  backdrop-filter:blur(7px);
}

/* Preventivatore home: tasto bianco */
.pp-btn-white
{
  background:#fff;
  color:var(--pp-orange)!important;
  border:1px solid rgba(221,95,32,.22);
  box-shadow:0 12px 30px rgba(39,31,26,.10);
}

.pp-btn-white:hover,
.pp-btn-white:focus
{
  background:var(--pp-orange);
  color:#fff!important;
  border-color:var(--pp-orange);
  text-decoration:none;
}

/* Flussi PicoPortal: rimosso residuo/barretta decorativa */
.pp-preventivatore-focus-section:before
{
  display:none!important;
}

/* Dal cliente al preventivo: fascia piena, no angoli stondati, foto più leggibile */
.pp-banco-media-row
{
  width:100vw;
  margin-left:calc(50% - 50vw)!important;
  border-radius:0!important;
  padding:58px max(38px,calc((100vw - 1170px) / 2 + 15px))!important;
  background:
    linear-gradient(90deg,rgba(18,17,16,.82) 0%,rgba(18,17,16,.62) 48%,rgba(18,17,16,.36) 100%),
    url('../img/stock/image14.jpg') center center/cover no-repeat!important;
}

.pp-banco-media-row .pp-screen-card
{
  border-radius:22px;
}

.pp-media-gallery-link
{
  margin-top:18px;
}

/* Gallery PicoPortal */
.pp-gallery-hero
{
  background:
    linear-gradient(90deg,rgba(51,51,51,.90),rgba(177,71,136,.72)),
    url('../img/stock/image28.jpg') center center/cover no-repeat;
}

.pp-gallery-topic:nth-of-type(even)
{
  background:#fff;
}

.pp-gallery-grid>[class*='col-']
{
  margin-bottom:28px;
}

.pp-gallery-grid .pp-screen-card img
{
  height:250px;
}

/* Pulizia mobile */
@media (max-width:1199px)
{
  .pp-hero-copy h1
  {
    font-size:48px;
  }
}

@media (max-width:991px)
{
  .pp-hero-carousel-inner,
  .pp-hero-carousel-inner .carousel-inner,
  .pp-hero-carousel-inner .item
  {
    min-height:0;
  }

  .pp-hero-slide
  {
    padding:132px 0 92px;
  }

  .pp-hero-slide .pp-hero-row
  {
    display:block;
  }

  .pp-hero-solutions-visual
  {
    margin:40px 0 0;
    max-width:none;
  }

  .pp-season-integrated-media .pp-stock-context
  {
    margin-top:0;
    margin-bottom:24px;
  }
}

@media (max-width:767px)
{
  .pp-hero-copy .pp-kicker
  {
    white-space:normal;
  }

  .pp-hero-copy h1
  {
    font-size:34px;
  }

  .pp-hero-control
  {
    display:none;
  }

  .pp-hero-indicators
  {
    bottom:20px;
  }

  .pp-hero-actions .btn
  {
    white-space:normal;
  }

  .pp-testimonial-carousel-wrap
  {
    padding:0 0 58px;
  }

  .pp-testimonial-carousel .item .row
  {
    display:block;
  }

  .pp-testimonial-carousel .item [class*='col-']
  {
    display:block;
    margin-bottom:20px;
  }

  .pp-testimonial-control span
  {
    top:auto;
    bottom:0;
    transform:none;
  }

  .pp-testimonial-control.left span
  {
    left:calc(50% - 52px);
  }

  .pp-testimonial-control.right span
  {
    right:calc(50% - 52px);
  }

  .pp-process-item
  {
    padding-left:66px!important;
  }

  .pp-process-item:after
  {
    left:20px;
  }

  .pp-process-item:before
  {
    width:40px!important;
    height:40px!important;
    line-height:40px!important;
  }

  .pp-banco-media-row
  {
    padding:42px 22px!important;
  }

  .pp-gallery-grid .pp-screen-card img
  {
    height:210px;
  }
}


/* ==========================================================================
   Realize 1.7 - Footer striped + Mappa del sito
   ========================================================================== */

.pp-footer-striped
{
  position:relative;
  padding:52px 0 0;
  background:
    linear-gradient(90deg,rgba(0,0,0,.92),rgba(35,35,35,.92)),
    repeating-linear-gradient(108deg,rgba(255,255,255,.11) 0,rgba(255,255,255,.11) 1px,transparent 1px,transparent 15px);
  color:rgba(255,255,255,.70);
  overflow:hidden;
  border-top:7px solid #111;
}

.pp-footer-striped:before
{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 15% 30%,rgba(221,95,32,.16),transparent 22%),
    radial-gradient(circle at 86% 78%,rgba(177,71,136,.12),transparent 26%);
  pointer-events:none;
}

.pp-footer-striped .container
{
  position:relative;
  z-index:2;
}

.pp-footer-main-row
{
  display:flex;
  align-items:flex-start;
  flex-wrap:wrap;
}

.pp-footer-brand-block
{
  width:118px;
  min-height:118px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  background:rgba(0,0,0,.22);
  box-shadow:0 18px 44px rgba(0,0,0,.28);
}

.pp-footer-striped .pp-footer-logo
{
  max-width:96px;
  height:auto;
  margin:0;
}

.pp-footer-copy-block
{
  font-size:14px;
  line-height:1.85;
  color:rgba(255,255,255,.72);
}

.pp-footer-copy-block p
{
  margin:0 0 4px;
}

.pp-footer-copy-block strong
{
  color:#fff;
  font-weight:700;
}

.pp-footer-copy-block a,
.pp-footer-striped a
{
  color:rgba(255,255,255,.78);
}

.pp-footer-striped a:hover,
.pp-footer-striped a:focus
{
  color:#fff;
  text-decoration:none;
}

.pp-footer-link-row h3
{
  color:#fff;
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:.10em;
  margin:0 0 14px;
}

.pp-footer-link-row ul
{
  list-style:none;
  padding:0;
  margin:0;
}

.pp-footer-link-row li
{
  margin-bottom:8px;
  font-size:13px;
}

.pp-footer-striped .pp-footer-bottom
{
  margin-top:38px;
  padding:18px 0;
  border-top:1px solid rgba(255,255,255,.10);
  color:rgba(255,255,255,.52);
  font-size:13px;
}

.pp-wizard-footer-striped
{
  background:
    linear-gradient(90deg,rgba(0,0,0,.90),rgba(35,35,35,.90)),
    repeating-linear-gradient(108deg,rgba(255,255,255,.10) 0,rgba(255,255,255,.10) 1px,transparent 1px,transparent 15px)!important;
  color:rgba(255,255,255,.72)!important;
}

.pp-wizard-footer-striped a
{
  color:rgba(255,255,255,.82)!important;
}

.pp-sitemap-hero
{
  background:
    linear-gradient(90deg,rgba(51,51,51,.92),rgba(177,71,136,.72)),
    url('../img/stock/image28.jpg') center center/cover no-repeat;
}

.pp-sitemap-section .row>[class*='col-']
{
  margin-bottom:30px;
}

.pp-sitemap-card
{
  background:#fff;
  border:1px solid var(--pp-border);
  border-radius:26px;
  box-shadow:var(--pp-shadow);
  padding:28px;
  min-height:360px;
}

.pp-sitemap-card ul
{
  list-style:none;
  padding:0;
  margin:0;
}

.pp-sitemap-card li
{
  border-bottom:1px solid #f0ebe5;
}

.pp-sitemap-card li:last-child
{
  border-bottom:0;
}

.pp-sitemap-card li a
{
  display:block;
  padding:9px 0;
  color:#514a44;
}

.pp-sitemap-card li a:before
{
  content:"\f105";
  font-family:FontAwesome;
  color:var(--pp-orange);
  margin-right:8px;
}

.pp-sitemap-card li a:hover
{
  color:var(--pp-orange);
  text-decoration:none;
}

.pp-sitemap-card-highlight
{
  background:linear-gradient(135deg,#fff8f2,#fff);
  border-color:rgba(221,95,32,.22);
}

@media (max-width:991px)
{
  .pp-footer-main-row
  {
    display:block;
  }

  .pp-footer-brand-block
  {
    margin-bottom:26px;
  }

  .pp-footer-copy-block
  {
    margin-bottom:28px;
  }
}

@media (max-width:767px)
{
  .pp-footer-striped
  {
    padding-top:38px;
  }

  .pp-footer-brand-block
  {
    width:104px;
    min-height:104px;
  }

  .pp-sitemap-card
  {
    min-height:0;
  }
}


/* ==========================================================================
   Realize 1.8 - Footer classico + solo ultima riga striped
   ========================================================================== */

.pp-footer-classic
{
  padding:70px 0 0!important;
  background:#2d2d2d!important;
  color:rgba(255,255,255,.72)!important;
  overflow:hidden;
}

.pp-footer-classic:before
{
  display:none!important;
}

.pp-footer-classic .pp-footer-logo
{
  max-width:210px!important;
  height:auto!important;
  margin-bottom:24px!important;
}

.pp-footer-classic h3
{
  color:#fff!important;
}

.pp-footer-classic a
{
  color:rgba(255,255,255,.78)!important;
}

.pp-footer-classic a:hover,
.pp-footer-classic a:focus
{
  color:#fff!important;
  text-decoration:none;
}

.pp-footer-classic .pp-footer-bottom-striped
{
  margin-top:48px;
  padding:28px 0;
  background:
    linear-gradient(90deg,rgba(0,0,0,.88),rgba(35,35,35,.88)),
    repeating-linear-gradient(108deg,rgba(255,255,255,.10) 0,rgba(255,255,255,.10) 1px,transparent 1px,transparent 15px);
  border-top:1px solid rgba(255,255,255,.10);
  color:rgba(255,255,255,.70);
}

.pp-footer-bottom-grid
{
  display:flex;
  align-items:center;
  gap:28px;
}

.pp-footer-bottom-brand
{
  flex:0 0 58px;
  width:58px;
  height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  background:rgba(0,0,0,.24);
}

.pp-footer-bottom-brand img
{
  max-width:42px;
  height:auto;
}

.pp-footer-bottom-grid p
{
  margin:0 0 3px;
  font-size:13px;
  line-height:1.55;
}

/* Evita che le vecchie regole striped 1.7 trasformino tutto il footer */
.pp-footer-classic .pp-footer-main-row,
.pp-footer-classic .pp-footer-link-row,
.pp-footer-classic .pp-footer-brand-block,
.pp-footer-classic .pp-footer-copy-block
{
  all:unset;
}

/* Header pagine interne nuove: logo e menu coerenti con il sito */
.pp-navbar .pp-logo
{
  height:auto;
  padding-top:12px;
  padding-bottom:12px;
}

.pp-navbar .pp-logo img
{
  width:auto!important;
  max-width:245px!important;
  max-height:58px!important;
  object-fit:contain!important;
}

/* Pagine legali/gallery/mappa: evita logo gigantesco se il browser applica CSS generico immagini */
.pp-legal-page .pp-navbar .pp-logo img,
.pp-gallery-hero ~ .pp-navbar .pp-logo img,
.pp-sitemap-hero ~ .pp-navbar .pp-logo img
{
  max-width:245px!important;
  max-height:58px!important;
}

/* Se il menu è lungo, riduco leggermente gli spazi sulle pagine interne nuove */
.pp-navbar .navbar-nav>li>a
{
  white-space:nowrap;
}

@media (max-width:1199px)
{
  .pp-navbar .pp-logo img
  {
    max-width:205px!important;
  }

  .pp-navbar .navbar-nav>li>a
  {
    padding-left:10px!important;
    padding-right:10px!important;
    font-size:13px;
  }
}

@media (max-width:767px)
{
  .pp-footer-bottom-grid
  {
    display:block;
  }

  .pp-footer-bottom-brand
  {
    margin-bottom:16px;
  }

  .pp-footer-classic .pp-footer-logo
  {
    max-width:190px!important;
  }

  .pp-navbar .pp-logo img
  {
    max-width:205px!important;
    max-height:52px!important;
  }
}
