@charset "utf-8";

/* CLAUDE: rebrand del sito secondo il design system introdotto da landing-corso.css
   (font League Spartan, palette rosso/arancio con gradiente, bottoni a pillola,
   radius/ombre più morbidi). Variabili allineate 1:1 ai token in .lp di
   landing-corso.css, ma dichiarate su :root così valgono su tutto il sito. */
   
@import url('https://fonts.googleapis.com/css2?family=League+Spartan:wght@100;200;300;400;500;600;700;800;900&display=swap');  

:root{
  --red:#93261D;
  --red-dk:#761C15;
  --orange:#DA7526;
  --orange-lt:#E89A52;
  --orange-soft:#F2AE6D;
  --orange-dk:#BC5F17;
  --grad:linear-gradient(45deg,#93261d,#da7526);
  --grad-soft:linear-gradient(45deg,rgba(147,38,29,.08),rgba(218,117,38,.08));

  --ink:#1C1917;
  --tx:#000000;
  --tx-mid:#5A5A5A;
  --tx-dim:#8C8C8C;
  --line:#E1E1E1;
  --paper:#FFFFFF;
  --soft:#FAF7F5;
  --soft-2:#F4EFEB;

  --radius:14px;
  --pill:100px;
  --shadow:0 1px 2px rgba(0,0,0,.03), 0 8px 26px -12px rgba(0,0,0,.14);
  --shadow-lg:0 2px 6px rgba(0,0,0,.05), 0 26px 60px -22px rgba(0,0,0,.22);
  --font:'League Spartan',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}

body{ font-size:16px; font-family: var(--font); color:var(--tx);}
::selection{ background:var(--ink); color:#fff;}
::-moz-selection{ background:var(--ink); color:#fff;}
h1, h2, h3, h4, h5, h6{ font-family: var(--font); font-weight:200; letter-spacing:-.005em; line-height:1.08; margin:0px; padding:0px; color:inherit; text-transform:none;}
a{ color:var(--ink); font-weight:400; -webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; -o-transition: all .3s ease-in-out; transition: all .3s ease-in-out;}
a:hover, a:focus{ color:var(--orange);}
p, li{ color:var(--tx); font-size:20px; line-height:1.6; font-weight:400;}
p{ margin-bottom:0px;}
p strong{ font-weight:600;}
strong, b{ font-weight:600;}
.row{ margin:0 -20px;}
.row [class*="col-"]{ padding:0 20px;}
.row.row0{ margin:0px;}
.row.row0 > [class*="col-"]{ padding:0;}
.row.row5{ margin-left:-5px; margin-right:-5px;}
.row.row5 > [class*="col-"]{ padding:0 5px;}
.row.row10{ margin-left:-10px; margin-right:-10px;}
.row.row10 > [class*="col-"]{ padding:0 10px;}
.row.row15{ margin-left:-15px; margin-right:-15px;}
.row.row15 > [class*="col-"]{ padding:0 15px;}
.row.row30{ margin-left:-30px; margin-right:-30px;}
.row.row30 > [class*="col-"]{ padding:0 30px;}
.row.row40{ margin-left:-40px; margin-right:-40px;}
.row.row40 > [class*="col-"]{ padding:0 40px;}
.row.row60{ margin-left:-60px; margin-right:-60px;}
.row.row60 > [class*="col-"]{ padding:0 60px;}
.row.flex{ display:flex; flex-wrap:wrap;}
.row.flex:before, .row.flex:after{ content:none;}
.row.flex [class*="col-"]{ display:flex;}
.row.flex [class*="col-"].pull-right{ order:2;}
.row.center{ align-items: center;}
.row.bottom{ align-items: flex-end;}
.row.mt0{ margin-top:0px !important;}
.form .row{ margin:0 -10px;}
.form .row + .row{ margin-top:0px;}
.form .row [class*="col-"]{ padding:0 10px;}
input[type=text], input[type=email], input[type=password], input[type=search], input[type=tel], textarea{ height:50px; font-size:16px; font-weight:400; background:var(--soft); border-radius:8px; -webkit-appearance: none; -moz-appearance: none; appearance: none;}
select{ width:100%; padding:10px; background:var(--soft); border:1px solid var(--line); color:var(--tx); -webkit-appearance:none;}
textarea{ -webkit-appearance: none; -moz-appearance: none; appearance: none; background:var(--soft);}
.form-group > label{ color:var(--tx); font-size:15px; text-align:left; font-weight:400; margin:0px;}
.chosen-container{ border-radius:8px; background:var(--soft);}
.chosen-container-single .chosen-single{ height:48px; line-height:48px;}
.chosen-container-single .chosen-single span{ font-size:16px; font-weight:400; margin-right:35px;}
.chosen-container .chosen-results{ padding:10px 0;}
.chosen-container .chosen-results li{ font-size:16px; line-height:30px;}
.chosen-container-single .chosen-single div:after{ font-size:20px; line-height:48px;}
textarea{ height:100px;}
.form-group{ margin-bottom:10px;}
.check input[type=checkbox] {display: none;}
.check label{float:left; width:100%; position:relative; font-weight:400; color:var(--tx-mid); vertical-align:top;}
.check label:before{ width:20px; height:20px; left:0px; background:var(--soft); border:1px solid var(--line); content:""; position:absolute; margin-right:10px; cursor:pointer;}
.check input[type=checkbox]:checked + label:before { font-family:FontAwesome; content:"\f0c8"; text-align: center; line-height:18px; font-size:6px; color:var(--orange);}
.check label span{ display:inline-block; padding-left:30px; font-size:13px; text-align:left; color:var(--tx-dim); line-height:20px; float:left;}
.btn{ display:inline-flex !important; align-items:center; justify-content:center; text-align:center; text-decoration:none !important; vertical-align:middle; font-family: var(--font) !important; font-size:16px; line-height:1.2; padding:17px 40px; font-weight:600 !important; border:0px !important; text-transform:none !important; white-space:normal; border-radius:var(--pill) !important; transition:background .18s ease, transform .18s ease, box-shadow .18s ease;}
input.btn.btn-primary, input.btn.btn-default{ height:50px !important; line-height:50px !important; padding-top:0 !important; padding-bottom:0 !important;}
.btn.btn-primary{ background:var(--orange) !important; color:#fff !important; border:1px solid var(--orange) !important; box-shadow:0 12px 28px -12px rgba(218,117,38,.75);}
.btn.btn-primary:hover, .btn.btn-primary:focus{ background:var(--orange-dk) !important; border-color:var(--orange-dk) !important; color:#fff !important; transform:translateY(-2px); box-shadow:0 18px 36px -14px rgba(218,117,38,.85);}
.btn.btn-default{ background:var(--ink) !important; color:#fff !important; border:1px solid var(--ink) !important; box-shadow:var(--shadow-lg);}
.btn.btn-default:hover, .btn.btn-default:focus{ background:var(--red) !important; border-color:var(--red) !important; transform:translateY(-2px);}
hr{ width:100%; max-width:100%; margin:20px auto;}
.uppercase{ text-transform:uppercase;}

.btn-promo{ width:100%; max-width:875px; background:var(--grad); border:1px solid transparent; padding:17px 35px; border-radius:var(--pill); text-align:center; display:inline-block; box-shadow:0 12px 28px -12px rgba(218,117,38,.75); transition:background .18s ease, transform .18s ease, box-shadow .18s ease;}
.btn-promo .firstline{ width:100%; display:block; font-size:27px; line-height:1; color:#fff; font-weight:700; margin-bottom:5px;}
.btn-promo .secondline{ width:100%; display:block; font-size:20px; line-height:1; color:rgba(255,255,255,.9);}
.btn-promo:hover{ background:linear-gradient(45deg,#7C1F17,#C4661C); transform:translateY(-2px); box-shadow:0 18px 36px -14px rgba(218,117,38,.85);}

.wrapper{ width:100%; min-height:auto;}
.content{ background:#fff; overflow:hidden;}

.title{ padding:40px 0; position:relative; text-align:center; background:var(--ink);}
.title .slide h1, .title .slide h2{
  font-size:40px; line-height:40px; font-weight:700;
  background:-webkit-linear-gradient(45deg,#93261d,#da7526);
  background:linear-gradient(45deg,#93261d,#da7526);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}
.title .breadcrumb{ width:100%; min-height:30px; text-align:center; position:relative; z-index:2; text-transform:none;}
.title .breadcrumb ul{ width:100%; display:inline-block; margin:0px; padding:0px; line-height:normal;}
.title .breadcrumb li{ width:auto; float:none; display:inline-block; position:relative; font-size:14px; margin:0 3px 0 0; padding:0px; line-height:normal}
.title .breadcrumb a{ display:inline-block; color:#fff; line-height:30px; position:relative;}
.title .breadcrumb li:after{ content:"\f105"; font-family:FontAwesome; font-size:10px; color:#fff; margin:0 5px; margin-left:10px; float:right; line-height:30px;}
.title .breadcrumb li:last-child:after{ display:none;}
.title .breadcrumb li:last-child a{ color:#fff;}

.block{ padding:92px 0;}
.block.small{ padding:60px 0; font-size:inherit;}
.block.gray{ background:var(--soft);}
.block.alternative{ background:var(--ink);}
.block.pt0{ padding-top:0px;}
.block.pb0{ padding-bottom:0px;}
.block h1{ font-size:clamp(36px,5.6vw,62px); line-height:1.02; color:var(--tx); font-weight:200; letter-spacing:-.005em; margin-bottom:20px;}
.block h1:last-child{ margin-bottom:0px;}
.block h2{ font-size:clamp(30px,4.2vw,44px); line-height:1.06; color:var(--tx); font-weight:200; letter-spacing:-.005em; margin-bottom:20px;}
.block h2:last-child{ margin-bottom:0px;}
.block h3{ font-size:clamp(22px,2.6vw,27px); line-height:1.16; color:var(--tx); font-weight:400; margin-bottom:16px;}
.block h1 strong, .block h2 strong, .block h3 strong, .block p strong, .block li strong{ font-weight:600; color:var(--orange);}
.block p{ margin-bottom:20px;}
.block h3 + h2{ margin-top:10px;}
.block p + p{ margin-top:20px;}
.block span.underline{ text-decoration-line:underline; text-decoration-thickness:2px; text-decoration-color:var(--orange); text-underline-offset:3px;}
.block span.highlighted{ background:rgba(218,117,38,.16); padding:0 5px;}
.block.alternative h1, .block.alternative h2{ color:#fff;}
.block.alternative h3, .block.alternative p, .block.alternative li{ color:#fff;}

.block ul, .block ol{ margin:0px; padding:0px; margin-bottom:25px;}
.block ol{ list-style: none; counter-reset: my-awesome-counter;}
.block ol li{  counter-increment: my-awesome-counter; padding-left:30px;}
.block ol li::before { content: counter(my-awesome-counter)"."; position:absolute; left:0px; color:var(--orange); font-weight:700;}
.block ul li{ position:relative; margin-bottom:0px; padding-left:20px;}
.block ul li:last-child{ margin-bottom:0px;}
.block ul li:before{ content:"\f10c";  font-family:FontAwesome; position:absolute; left:0px; font-size:8px; color:var(--orange);}

.block.topbar{ background:var(--ink); padding:15px 0; text-align:center;}
.block.topbar h3{ color:#fff; font-size:20px; margin:0px; font-weight:400;}
.block.topbar h3 + h3{ margin-top:5px;}
.block.topbar h3 strong{ color:var(--orange-soft); font-weight:700;}

.block.presentation .formfatturazione{ margin-bottom:40px;}
.block.presentation .formspedizione{ margin-bottom:40px;}
.block.presentation .checkout h2{ font-size:30px; line-height:1; margin-bottom:20px;}

.block.faq .box{ margin:40px 0;}
.block.faq .box [class*="col-"] + [class*="col-"]{ margin-top:15px;}
.block.faq [class*="col-"] h4{ background:var(--ink);}
.block.faq h4{ position:relative; font-size:22px; line-height:1.4; padding:15px 30px 15px 30px; padding-left:50px; border:1px solid var(--line); margin:0px; text-transform:none; color:#fff; font-weight:600;  border-radius:12px; box-shadow:var(--shadow); -webkit-transition: border-color .18s ease; -moz-transition: border-color .18s ease; -o-transition: border-color .18s ease; transition: border-color .18s ease;}
.block.faq h4:before{ content:"\f105"; font-family:FontAwesome; position:absolute; left:20px; font-size:22px; font-weight:400; transform: rotate(45deg); -webkit-transition: all .4s ease-in-out; -moz-transition: all .4s ease-in-out; -o-transition: all .4s ease-in-out; transition: all .4s ease-in-out; color:var(--orange);}
.block.faq h4.collapsed{ background:var(--paper); color:var(--tx); border-color:var(--line);}
.block.faq h4.collapsed:before{ transform: rotate(0deg); color:var(--orange);}
.block.faq .panel-body{ padding:20px 60px 0px 50px; background:var(--paper); -webkit-transition: all .2s ease-in-out; -moz-transition: all .2s ease-in-out; -o-transition: all .2s ease-in-out;}
.block.faq .panel-body p, .block.faq .panel-body li{ color:var(--tx-mid);}
.block.faq .panel-body li:before{ color:var(--orange);}
.block.faq .panel-body a{ color:var(--orange); text-decoration:underline; font-weight:600;}
.block.faq .panel-body{ background:none;}
.block.faq .panel-body ul:last-child, .block.faq .panel-body p:last-child{ margin-bottom:40px;}

.block.first-block h2:last-child{ margin-bottom:0px;}
.block.first-block .image{ margin:40px 0;}

/* CLAUDE: testata "Ci siamo quasi..."/pagine di conferma uniformata allo
   stile scuro di .ck2-hero (checkout2.aspx) e .lp-hero (landing-corso.css)
   — stessa fascia scura, stesso testo in gradiente sullo strong/b, stessa
   copertura di h1/h2/h3/p/li già usata per .block.alternative altrove nel
   sito, così qualunque contenuto dentro questa fascia resta leggibile.
   Specificità (3 classi) più alta di .block.gray (2 classi), quindi vince
   senza bisogno di !important. */
.block.presentation.first-block{ background:var(--ink);}
.block.presentation.first-block h1,
.block.presentation.first-block h2,
.block.presentation.first-block h3{ color:#fff;}
.block.presentation.first-block p,
.block.presentation.first-block li{ color:rgba(255,255,255,.76);}
.block.presentation.first-block h1 strong, .block.presentation.first-block h1 b,
.block.presentation.first-block h2 strong, .block.presentation.first-block h2 b,
.block.presentation.first-block h3 strong, .block.presentation.first-block h3 b{
  font-weight:700;
  background:-webkit-linear-gradient(45deg,#da7526,#e89a52);
  background:linear-gradient(45deg,#da7526,#e89a52);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}

.block.course{ text-align:center;}
.block.course .box{ width:100%; max-width:750px; padding:40px; display:inline-block; background:var(--soft); border:2px solid var(--orange); border-radius:var(--radius); box-shadow:var(--shadow-lg);}
.block.course .box .top{ width:100%; float:left; text-align:center; margin-bottom:40px;}
.block.course .box .top .image{ width:100%; max-width:300px; display:inline-block; margin-bottom:0px;}
.block.course .box .top .name h2{ font-size:30px; line-height:1.2; font-weight:700; margin:0px;}
.block.course .box .list{ width:100%; float:left; margin-bottom:40px;}
.block.course .box .list .item{ width:100%; float:left; text-align:left; display:flex; flex-wrap:nowrap; margin-bottom:20px; padding-bottom:20px; border-bottom:1px solid #e1e1e1;}
.block.course .box .list .item:last-child{ margin:0px; border:0px;}
.block.course .box .list .item .col1{ width:75%; float:left; padding-right:40px; padding-top:5px;}
.block.course .box .list .item .col1 .main{ position:relative; padding-left:30px; margin:0px;}
.block.course .box .list .item .col1 .main p{ margin:0px;}
.block.course .box .list .item .col1 .main p strong{ color:var(--tx); font-weight:700;}
.block.course .box .list .item .col1 .main:before{ content:"\f14a";  font-family:FontAwesome; position:absolute; left:0px; font-size:20px; top:4px; color:var(--orange);}
.block.course .box .list .item .col1 .secondary{ position:relative; padding-left:30px; margin:0px;}
.block.course .box .list .item .col1 .secondary p{ margin:0px;}
.block.course .box .list .item .col1 .secondary p strong{ color:var(--tx);}
.block.course .box .list .item .col1 .secondary:before{ content:"\f00c";  font-family:FontAwesome; position:absolute; left:0px; font-size:20px; top:4px; color:var(--orange);}
.block.course .box .list .item .col1 .main + .secondary{ margin-top:15px;}
.block.course .box .list .item .col1 .secondary + .secondary{ margin-top:5px;}
.block.course .box .list .item .col2{ width:25%; float:left; text-align:center;}
.block.course .box .list .item .col2 p{ font-weight:700; color:var(--tx); font-size:25px; margin:0px;}
.block.course .box .list .item.bonus .col1 .main:before{ content:"\f06b"; color:var(--orange);}
.block.course .box .action{ width:100%; float:left; text-align:center;}
.block.course .box .price{width:100%; float:left; margin-bottom:40px;}
.block.course .box .price .text{ margin-bottom:20px;}
.block.course .box .price .text p{ font-size:30px; line-height:30px; font-weight:700; color:var(--tx); margin:0px;}
.block.course .box .price .total-price{ margin-bottom:10px;}
.block.course .box .price .total-price p{ display:inline-block; font-size:40px; line-height:40px; position:relative; padding:0 20px; font-weight:700; color:var(--red); margin:0px;}
.block.course .box .price .total-price p:before{ content:""; width:100%; height:2px; position:absolute; left:0px; top:50%; margin-top:-1px; background:var(--red); transform: rotate(7deg);}
.block.course .box .price .discounted-price p{ font-size:40px; line-height:40px; font-weight:700; color:var(--tx); margin:0px;
  background:-webkit-linear-gradient(45deg,#93261d,#da7526);
  background:linear-gradient(45deg,#93261d,#da7526);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}
.block.course .box .bottom{ width:100%; float:left; text-align:center; margin-top:40px;}
.block.course .box .bottom p{ font-size:16px; line-height:1.2; font-weight:700; margin:0px;}
.block.course .box .bottom img{ max-height:32px; display:inline-block; margin:20px 0;}
.block.course .box .action .btn-promo br{ display:none;}

.block.modules{ text-align:center;}
.block.modules .box{ width:100%; max-width:750px; padding:40px; display:inline-block; background:var(--soft); border:2px solid var(--orange); border-radius:var(--radius); box-shadow:var(--shadow-lg); margin-bottom:20px;}
.block.modules .box:last-child{ margin-bottom:0px;}
.block.modules .box .top{ width:100%; float:left; text-align:left; margin-bottom:20px;}
.block.modules .box .top h3{ text-transform:uppercase; letter-spacing:.06em; margin-bottom:0px; font-weight:700; color:var(--orange); font-size:15px;}
.block.modules .box .top h2{ font-size:30px; line-height:1.2; font-weight:400; margin:0px;}
.block.modules .box .top h3 + h2{ margin-top:5px;}
.block.modules .box .description{ width:100%; float:left; text-align:left; margin-bottom:20px;}
.block.modules .box .description p:last-child{ margin-bottom:0px;}
.block.modules .box .list{ width:100%; float:left; margin-bottom:0px;}
.block.modules .box .list ul:last-child{ margin-bottom:0px;}
.block.modules .box .list ul li{ text-align:left; padding-left:35px;}
.block.modules .box .list ul li:before{ content:"\f14a";  font-family:FontAwesome; position:absolute; left:0px; font-size:20px; top:3px; color:var(--orange);}
.block.modules .box.bonus{ border-color:var(--orange); background:linear-gradient(45deg,rgba(147,38,29,.08),rgba(218,117,38,.08));}
.block.modules .box.bonus .top h3{ color:var(--orange);}

.block.warranty .image{ text-align:center; margin-bottom:40px;}
.block.warranty .image img{ display:inline-block;}

.block.screenshot{ padding-bottom:70px;}

.block.contacts h2{ margin-bottom:15px;}
.block.contacts h3{ margin-bottom:10px;}
.block.contacts p{ margin:0px;}
.block.contacts p + h3{ margin-top:20px;}
.block.contacts p + h5{ margin-top:10px;}
.block.contacts h5{ font-size:20px; color:var(--tx); margin-bottom:5px; text-transform:none;}
.block.contacts .sidebar li{ margin-bottom:0px;}
.block.contacts hr{ margin:20px 0; background:var(--line);}
.block.contacts .sidebar li:before{ content:"\e876"; font-family: 'Linearicons-Free'; color:var(--orange);}
.block.contacts .documents + .documents{ margin-top:30px;}
.block.contacts .documents ul{ width:100%; margin:0px; padding:0 0.5px; display:inline-block;}
.block.contacts .documents li{ width:33.33%; float:left; padding:0px 0.5px; margin-bottom:1px;}
.block.contacts .documents li:before{ display:none;}
.block.contacts .documents li a:before{ content:"\e865"; font-family: 'Linearicons-Free'; position:absolute; top:20px; line-height:40px; font-size:40px;}
.block.contacts .documents li a{ width:100%; display:inline-block; background:var(--ink); border:1px solid var(--ink); color:#fff; position:relative; padding:20px; padding-top:65px; border-radius:10px;}
.block.contacts .documents li a:hover{ background:none; color:var(--ink);}
.block.contacts .documents li a:hover:before{ color:var(--ink);}
.block.contacts .documents.all li a{ background:var(--orange); border:1px solid var(--orange);}
.block.contacts .documents.all li a:hover{ background:none; color:var(--orange);}
.block.contacts .documents.all li a:hover:before{ color:var(--orange);}
.block.contacts .social{ width:auto; display:inline-block; margin-top:20px;}
.block.contacts .social ul{ margin:0; width:auto; float:left;}
.block.contacts .social li{ width:auto; float:left; margin:0 5px 0 0; padding-left:0px;}
.block.contacts .social li:before{ display:none;}
.block.contacts .social li a{ float:left; position:relative; border:1px solid var(--tx-mid); color:var(--tx-mid); border-radius:50%;}
.block.contacts .social li a:hover{ border:1px solid var(--orange);}
.block.contacts .social li a:hover span.circle{ color:#fff;}
.block.contacts .social li a span.circle{ width:40px; height:40px; float:left; color:var(--tx-mid); text-align:center; line-height:40px; -webkit-transition: all .5s ease-in-out; -moz-transition: all .5s ease-in-out; -o-transition: all .5s ease-in-out; transition: all .5s ease-in-out;}
.block.contacts .social li a span.circle i{ font-size:16px; line-height:40px; vertical-align:inherit;}
.block.contacts .social li.facebook a:hover{ background:#3b5999; border-color:#3b5999;}
.block.contacts .social li.twitter a:hover{ background:#55acee; border-color:#55acee;}
.block.contacts .social li.google a:hover{ background:#dd4b39; border-color:#dd4b39;}
.block.contacts .social li.youtube a:hover{ background:#cd201f; border-color:#cd201f;}
.block.contacts .social li.instagram a:hover{ background:#e4405f; border-color:#e4405f;}
.block.contacts .social li.linkedin a:hover{ background:#0077B5; border-color:#0077B5;}
.block.contacts .form .check{ display:inline-block;}
.block.contacts .form .btn{ margin-top:20px;}

.footer{ width:100%; position:relative; width:100%; float:left; background:var(--ink); padding:30px 0;}
.footer .footer-extra{ padding:0; background:none;}
.footer .footer-extra .row{ padding:0px;}
.footer .footer-extra p{ color:var(--tx-dim); font-size:13px; line-height:1.4; margin:0px;}
.footer .footer-extra p + p{ margin-top:10px;}
.footer .footer-extra a{ color:var(--tx-dim); font-weight:400;}
.footer .footer-extra a:hover{ color:#fff;}

.modal-backdrop{ z-index:99999; background:#666;}
.modal{ z-index:999999;}
.modal .modal-dialog{  top:-100%;}
.modal.in .modal-dialog{ top: 50%; -ms-transform: translateY(-50%); transform: translateY(-50%);}
.modal-header{ padding:30px 30px 0 30px; background:none; border-radius:0px;}
.modal-header .close{ width:30px; height:30px; background:none; border:1px solid #999; color:#999; opacity:1;}
.modal-header .close:hover{ background:#999; color:#fff;}
.modal-header h6{ font-size:24px; color:var(--tx); font-weight:700;}
.modal-content{ border-radius:var(--radius);}
.modal-body{ padding:30px;}
.modal-body h3{ font-size:20px; line-height:24px; text-transform:none; text-align:left; color:var(--tx-mid);}
.modal-body .video { position: relative; padding-bottom: 56.25%; height:0;}
.modal-body .video iframe{ position:absolute; top:0; left:0; width:100%; height:100%;}
.modal-body .form{ text-align:left; margin-top:20px;}
.modal .close{ width:44px; height:44px; position:absolute; background-color:rgba(30,30,30,.6); background-image:url(../images/icon-close.png); background-repeat:no-repeat; background-position:center center; background-size:30px 30px; top:2px; right:2px; text-shadow:0px 0px 0px #000; opacity:1; z-index:9999;}

.shop_table.cart{ margin-bottom:20px; color:var(--tx);}

.cart_totals .table{ color:var(--tx);}
.cart_totals .table > tbody > tr.order-total > *{ color:var(--tx); font-weight:700;}
.cart tbody tr td{ padding:10px;}
.cart tbody th.product-price, .cart tbody th.product-subtotal{ text-align:right;}
.cart tbody td.product-price, .cart tbody td.product-subtotal{ text-align:right;}
.cart tbody th.product-quantity{ font-size:16px;}
.cart tbody th.product-quantity, .cart tbody td.product-quantity{ text-align:center;}
.cart td.product-price, .cart td.product-subtotal{ color:var(--tx);}

.upsell-products{ margin-bottom:0px;}

.prodottoupsell{ background:linear-gradient(45deg,rgba(147,38,29,.06),rgba(218,117,38,.06)); border:3px dashed var(--orange); border-radius:10px; padding:10px; margin-top:20px; color:var(--tx);}
.prodottoupsell td{ padding:10px; vertical-align:top;}
.prodottoupsell td.product-thumbnail{ padding-left:0px;}
.prodottoupsell .itemaggiungi{ width:100%; padding:10px 20px; background:#ffff99; text-align:center; margin-bottom:10px;}
.prodottoupsell .itemaggiungi img{ display:inline-block; margin:0 5px; vertical-align:middle;}
.prodottoupsell .itemaggiungi label{ color:#009900; font-family:var(--font);  text-transform:uppercase; font-weight:700; font-size:16px; line-height:20px; vertical-align:middle;}
.prodottoupsell .itemaggiungi input{ width:20px; height:20px; background:#fff; border:1px solid #fff; margin:0px 5px; vertical-align:middle;}
.prodottoupsell .itemupsell .product-desc p, .prodottoupsell .itemupsell .product-desc li{ font-size:14px; line-height:20px;}
.prodottoupsell .itemupsell .product-desc ul{ margin-bottom:10px;}
.prodottoupsell .itemupsell .product-desc p{ margin-bottom:5px;}
.prodottoupsell .itemupsell .product-desc h4{ font-size:16px; line-height:20px; margin-bottom:5px;}
.prodottoupsell .itemupsell .product-desc h4 + p{ margin:0px;}

h3 + .listacheck{ margin-top:20px;}
.listacheck input{ float:left; margin:5px 7px 0 0;}
.listacheck label{ font-weight:400; color:var(--tx);}

.carrellovuoto{ text-align:center;}
.carrellovuoto h3 + .btn{ margin-top:20px;}
.carrellovuoto .btn.btn-primary{ display:inline-block; text-decoration:none;}

.block.oto .actions{ text-align:center;}
.block.oto .actions .btn{ height:auto !important; line-height:24px !important; font-size:18px !important; padding:15px 40px; font-size:14px;}

.block.oto .text h3 + h2{ margin-top:20px;}
.block.oto .text h2 + h3{ margin-top:20px;}
.block.oto .text h2 + p{ margin-top:20px;}

.block.oto .text .price{ font-size:30px; text-align:center; line-height:30px; color:var(--tx); font-weight:700; margin-bottom:0px;}
.block.oto .text .price span{ font-size:20px; font-weight:700; text-transform:uppercase; color:var(--orange);}
.block.oto .text .price ins{ font-size:20px; position:relative; color:var(--tx-dim); padding:0 5px; margin:0 5px; font-weight:400;}
.block.oto .text .price ins:before{ content:""; width:100%; height:1px; position:absolute; left:0px; top:50%; margin-top:-0.5px; background:var(--tx-dim);}
.block.oto .text .description ul{ margin:20px 0;}
.block.oto .text .description li{ padding-left:25px;}
.block.oto .text .description li:before{ content:"\f00c"; font-family:FontAwesome; font-size:14px; color:var(--orange);}

@media (max-width: 1200px) {

}

@media (max-width: 1008px) {
	
	
}

@media (min-width: 992px) {
	
	.header .navbar-collapse{ display:block;}
}

@media (max-width: 991px) {
	
	p, li{ font-size:18px;}
	
	.chosen-container{ display:none !important;}
	select{ display:block !important;}
	
	.block.topbar h3{ font-size:18px;}
	
	.block{ padding:60px 0;}
	
	.btn-promo{ padding:15px 20px;}
	.btn-promo .firstline{ font-size:24px;}
	.btn-promo .secondline{ font-size:18px;}
	
	.block.screenshot{ padding-bottom:40px;}
	.block.screenshot .image{ margin-bottom:20px;}
	
}


@media (max-width: 768px) {	

	p, li{ font-size:18px;}
	
	.block, .block.small{ padding:40px 0;}
	
	.block.topbar h3{ font-size:15px;}
	.block.topbar h3 + h3{ margin-top:3px;}
	
	.block.first-block h2{ margin-bottom:20px;}
	.block.first-block .image{ margin:20px 0;}
	
	.block.course .box{ padding:20px;}
	.block.course .box .top{ margin-bottom:20px;}
	.block.course .box .list{ margin-bottom:20px;}
	.block.course .box .list .item .col1{ padding-right:20px;}
	.block.course .box .list .item .col1 .main p{ font-size:16px;}
	.block.course .box .list .item .col1 .main:before{ font-size:17px; top:0px;}
	.block.course .box .list .item .col1 .secondary p{ font-size:16px;}
	.block.course .box .list .item .col1 .secondary:before{ font-size:17px; top:0px;}
	.block.course .box .list .item .col2 p{ font-size:20px;}
	.block.course .box .price{ margin-bottom:20px;}
	.block.course .box .price .text p{ font-size:25px;}
	.block.course .box .bottom{ margin-top:20px;}
	
	.block.modules .box{ padding:20px;}
	.block.modules .box .top h2{ font-size:24px;}
	.block.modules .box .description p{ font-size:16px;}
	.block.modules .box .list ul li{ font-size:16px; padding-left:25px;}
	.block.modules .box .list ul li:before{ font-size:17px; top:0px;}
	
	.block.faq h4{ font-size:18px;}
	.block.faq .panel-body{ padding-left:0px; padding-right:0px;}
	
	.btn-promo .firstline{ font-size:20px; line-height:1.2;}
	.btn-promo .firstline br{ display:none;}
	.btn-promo .secondline{ font-size:16px; line-height:1.2;}
	
	.cart tbody th{ display:none;}
	.cart tbody .cart_item + .cart_item td{ padding-top:10px;}
	.cart tbody tr.cart_item{ width:100%; float:left; display:block; border-bottom:1px solid #e1e1e1;}
	.cart tbody tr.cart_item td{ width:100%; float:left; padding:10px 0; text-align:center !important; white-space:normal;}
	.cart tbody tr.cart_item td:before{ content:attr(data-label); width:100%; display:inline-block; vertical-align:middle; margin-bottom:5px; font-size:12px; line-height:20px; font-weight:700; text-transform:uppercase;}
	.block.rivenditori table td.actions-wrap{ margin:0px; float:left;}
	.cart tbody tr.cart_item td.product-thumbnail{ padding-bottom:0px !important;}
	.cart tbody tr.cart_item td.product-thumbnail:before{ display:none !important;}
	.cart tbody tr.cart_item td.product-price{ width:33.33%; line-height:30px;}
	.cart tbody tr.cart_item td.product-quantity { width:33.33%; margin-right:0px;}
	.cart tbody tr.cart_item td.product-quantity input[type=text]{ font-size:18px; height:30px;}
	.cart tbody tr.cart_item td.product-subtotal{ width:33.33%; line-height:30px;}
	.cart tbody tr.cart_item td.product-a{ padding-top:0px !important;}
	.cart tbody tr.cart_item td.product-a a{ font-size:20px;}
	.cart tbody tr:last-child td{ border:0px;}
	
	
}

@media (max-width: 479px) {
	
	.container{ padding:0 20px;}
	[class*=col-xs-]{ text-align:inherit;}
	.footer [class*=col-]{ text-align:center;}
	
	.block.topbar h3{ font-size:14px;}
	
	.prodottoupsell .itemaggiungi label{ font-size:14px;}
	.prodottoupsell td.product-thumbnail img{ width:60px;}
	
}

@media (max-width: 380px) {


}

/* ============================================================
   CLAUDE: restyle pagina checkout — stessa palette/tipografia
   introdotta con il rebrand (var(--orange), var(--ink), var(--radius),
   var(--shadow)), pensata per sembrare una naturale prosecuzione
   della landing (screenshot fornito come riferimento).
   ============================================================ */

.checkout .form-checkout,
.checkout .formspedizione .form,
.checkout .cart_totals{
  background:var(--paper); border:1px solid var(--line); border-radius:var(--radius);
  padding:32px 30px; box-shadow:var(--shadow);
}
.checkout .formfatturazione, .checkout .formspedizione{ margin-bottom:30px;}
.checkout h2{ font-size:26px; font-weight:400; margin-bottom:22px;}
.checkout h3{ font-size:19px; font-weight:600; color:var(--tx); margin-bottom:16px;}

/* reveal dei dati di fatturazione quando la checkbox viene selezionata */
.dati-fatturazione{
  margin-top:26px; padding-top:26px; border-top:1px dashed var(--line);
  animation:claudeFadeIn .25s ease;
}
@keyframes claudeFadeIn{
  from{ opacity:0; transform:translateY(-6px);}
  to{ opacity:1; transform:translateY(0);}
}

/* checkbox "Voglio richiedere la fattura" più in evidenza */
.chk-fattura{ margin:22px 0 4px;}
.chk-fattura label{ width:auto; display:inline-block; padding-left:30px; font-weight:600; color:var(--tx); cursor:pointer;}
.chk-fattura label span{ padding-left:0; color:var(--tx); font-size:15px;}
.chk-fattura label:before{ border-radius:5px; border-color:var(--orange);}
.chk-fattura input[type=checkbox]:checked + label:before{ background:var(--orange); border-color:var(--orange); color:#fff;}

/* wrapper campo telefono con prefisso internazionale (intl-tel-input) */
.iti-wrap{ width:100%;}
.iti-wrap .iti{ width:100%;}
.iti-wrap input.telefono-intl{ width:100%; padding-left:52px !important;}

/* metodi di pagamento come card selezionabili invece della lista radio nuda */
.checkout .listacheck{ display:flex; flex-wrap:wrap; gap:14px; margin-top:6px;}
.checkout .listacheck br{ display:none;} /* CLAUDE: RadioButtonList in Flow+Vertical inserisce <br> tra le opzioni: rimosso a favore di RepeatDirection="Horizontal" + flex */
.checkout .listacheck input[type=radio]{ position:absolute; opacity:0;}
.checkout .listacheck label{
  position:relative; display:inline-flex; align-items:center; justify-content:flex-start;
  flex:0 1 auto; min-width:180px; min-height:56px; margin:0; padding:15px 24px 15px 52px;
  background:var(--soft); border:2px solid var(--line); border-radius:12px;
  font-weight:600; font-size:16px; color:var(--tx-mid); cursor:pointer; text-align:left;
  transition:border-color .18s ease, background .18s ease, color .18s ease;
}
.checkout .listacheck label:before{
  content:""; position:absolute; left:20px; top:50%; margin-top:-9px;
  width:18px; height:18px; border-radius:50%; border:2px solid var(--line); background:var(--paper);
  transition:border-color .18s ease;
}
.checkout .listacheck label:after{
  content:""; position:absolute; left:25px; top:50%; margin-top:-4px;
  width:8px; height:8px; border-radius:50%; background:var(--orange);
  opacity:0; transform:scale(0.4); transition:opacity .15s ease, transform .15s ease;
}
.checkout .listacheck input[type=radio]:checked + label{
  border-color:var(--orange); background:var(--grad-soft); color:var(--tx);
}
.checkout .listacheck input[type=radio]:checked + label:before{ border-color:var(--orange);}
.checkout .listacheck input[type=radio]:checked + label:after{ opacity:1; transform:scale(1);}
@media (max-width:520px){
  .checkout .listacheck label{ flex:1 1 100%; min-width:0;}
}

/* riepilogo ordine come card con totale in evidenza */
.checkout .cart_totals table{ margin-bottom:0px;}
.checkout .cart_totals .order-total th, .checkout .cart_totals .order-total td{
  font-size:20px; padding-top:16px; border-top:1px solid var(--line);
}
.checkout .cart_totals .order-total .amount{
  background:-webkit-linear-gradient(45deg,#93261d,#da7526);
  background:linear-gradient(45deg,#93261d,#da7526);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}

.checkout .carrello-checkout table.cart{ border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow);}
.checkout .carrello-checkout table.cart thead th{ background:var(--soft-2); font-weight:600;}

.checkout #btnInviaOrdine.btn.btn-primary{ margin-top:10px;}

@media (max-width: 600px){
  .checkout .form-checkout, .checkout .formspedizione .form, .checkout .cart_totals{ padding:22px 18px;}
}