/* ===== ConsentFlow landing ===== */
:root{
	--brand:#0a6f59;
	--brand-2:#0c8f74;
	--brand-ink:#063c2d;
	--ink:#10201b;
	--muted:#57675f;
	--paper:#ffffff;
	--paper-2:#f4f8f6;
	--paper-3:#eef4f1;
	--line:#e0ebe6;
	--mint:#d9f2e8;
	--gold:#e7b64d;
	--radius:18px;
	--maxw:1120px;
	--font-display:"Bricolage",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	--font-body:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
	--font-mono:"PlexMono",ui-monospace,SFMono-Regular,Menlo,monospace;
}

body{
	font-family:var(--font-body);
	color:var(--ink);
	background:var(--paper);
	font-size:17px;
	line-height:1.65;
	-webkit-font-smoothing:antialiased;
}
.cf-container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:1.05;letter-spacing:-.02em;margin:0 0 .4em;color:var(--ink);text-wrap:balance;}
h1{font-size:clamp(2.5rem,5.4vw,4.1rem);}
h2{font-size:clamp(1.9rem,3.6vw,2.8rem);}
h3{font-size:1.28rem;letter-spacing:-.01em;}
p{margin:0 0 1em;}
.cf-eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;color:var(--brand);font-weight:400;display:inline-block;margin-bottom:1em;}
.cf-lead{font-size:1.18rem;color:var(--muted);max-width:56ch;}
.cf-center{text-align:center;}
.cf-center .cf-lead{margin-left:auto;margin-right:auto;}

/* Buttons */
.cf-btn{display:inline-flex;align-items:center;gap:.5em;font-weight:600;font-size:1rem;text-decoration:none;border-radius:999px;padding:.85em 1.6em;transition:transform .12s ease,background .15s ease,box-shadow .15s ease;border:2px solid transparent;cursor:pointer;}
.cf-btn--primary{background:var(--brand);color:#fff;box-shadow:0 8px 22px rgba(10,111,89,.25);}
.cf-btn--primary:hover{background:var(--brand-ink);transform:translateY(-1px);}
.cf-btn--ghost{background:transparent;color:var(--ink);border-color:var(--line);}
.cf-btn--ghost:hover{border-color:var(--brand);color:var(--brand);}
.cf-btn--light{background:#fff;color:var(--brand-ink);}
.cf-btn--big{padding:.85em 1.6em;font-size:1rem;}

/* Header */
.cf-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line);}
.cf-header__in{display:flex;align-items:center;justify-content:space-between;height:70px;}
.cf-brand{display:flex;align-items:center;gap:.55em;font-family:var(--font-display);font-weight:700;font-size:1.35rem;text-decoration:none;color:var(--ink);letter-spacing:-.02em;}
.cf-brand__mark{width:30px;height:30px;flex:0 0 auto;}
.cf-nav{display:flex;align-items:center;gap:2em;}
.cf-nav__links{display:flex;align-items:center;gap:2em;}
.cf-nav a{text-decoration:none;color:var(--muted);font-size:.96rem;font-weight:500;white-space:nowrap;}
.cf-nav a:hover{color:var(--brand);}
/* CTA nell'header: compatta, non gigante */
.cf-header .cf-btn{color:#fff;padding:.6em 1.2em;font-size:.92rem;box-shadow:0 6px 16px rgba(10,111,89,.18);}
.cf-header .cf-btn:hover{transform:none;}
@media(max-width:860px){.cf-nav__links{display:none;}}

/* Section rhythm */
.cf-sec{padding:96px 0;}
.cf-sec--tint{background:var(--paper-2);}
.cf-sec--dark{background:var(--brand-ink);color:#eafaf4;}
.cf-sec--dark h2,.cf-sec--dark h3{color:#fff;}
.cf-sec__head{max-width:640px;margin:0 auto 56px;text-align:center;}

/* Hero */
.cf-hero{position:relative;overflow:hidden;background:
	radial-gradient(1100px 520px at 78% -8%,rgba(12,143,116,.16),transparent 60%),
	linear-gradient(180deg,var(--paper-2),var(--paper));
	padding:72px 0 84px;}
.cf-hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
.cf-hero h1{margin-top:.1em;}
.cf-hero__cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:1.6em;}
.cf-hero__note{margin-top:1.2em;font-size:.92rem;color:var(--muted);display:flex;align-items:center;gap:.5em;}
@media(max-width:900px){.cf-hero__grid{grid-template-columns:1fr;gap:40px;}}

/* Banner mockup (hero visual) */
.cf-mock{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 30px 60px rgba(6,60,45,.14);padding:18px;transform:rotate(.5deg);}
.cf-mock__bar{display:flex;gap:6px;padding:4px 6px 12px;}
.cf-mock__bar span{width:10px;height:10px;border-radius:50%;background:var(--line);}
.cf-mock__banner{background:#0f1a17;color:#eafaf4;border-radius:14px;padding:18px 18px 16px;}
.cf-mock__banner strong{font-family:var(--font-display);font-size:1.05rem;display:block;margin-bottom:.3em;}
.cf-mock__banner p{font-size:.82rem;color:#a9c3b9;margin:0 0 14px;line-height:1.5;}
.cf-mock__btns{display:flex;gap:8px;flex-wrap:wrap;}
.cf-mock__btns b{font-size:.78rem;font-weight:600;padding:.55em 1em;border-radius:999px;}
.cf-mb--accept{background:var(--brand-2);color:#fff;}
.cf-mb--rej{background:#26332e;color:#eafaf4;}
.cf-mb--cust{background:transparent;border:1px solid #3a4a43;color:#cfe4db;}
.cf-mock__scan{display:flex;align-items:center;gap:10px;margin-top:14px;padding:10px 12px;background:var(--paper-2);border-radius:12px;font-size:.8rem;color:var(--muted);}
.cf-dot{width:9px;height:9px;border-radius:50%;background:var(--brand-2);box-shadow:0 0 0 4px rgba(12,143,116,.18);}

/* Trust strip */
.cf-trust{display:flex;flex-wrap:wrap;gap:14px 34px;justify-content:center;padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);}
.cf-trust span{font-size:.9rem;color:var(--muted);font-weight:500;display:inline-flex;align-items:center;gap:.5em;}
.cf-trust b{color:var(--brand);}

/* Feature grid */
.cf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:900px){.cf-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.cf-grid{grid-template-columns:1fr;}}
.cf-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease;}
.cf-card:hover{border-color:var(--brand-2);transform:translateY(-3px);box-shadow:0 18px 40px rgba(6,60,45,.08);}
.cf-card__ic{width:44px;height:44px;border-radius:12px;background:var(--mint);color:var(--brand-ink);display:flex;align-items:center;justify-content:center;font-size:1.35rem;margin-bottom:14px;}
.cf-card h3{margin-bottom:.3em;}
.cf-card p{font-size:.96rem;color:var(--muted);margin:0;}

/* Comparison table */
.cf-cmp{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff;}
.cf-cmp table{border-collapse:collapse;width:100%;min-width:680px;}
.cf-cmp th,.cf-cmp td{padding:16px 18px;text-align:center;border-bottom:1px solid var(--line);font-size:.95rem;}
.cf-cmp thead th{font-family:var(--font-display);font-weight:700;font-size:1rem;background:var(--paper-2);}
.cf-cmp thead th.cf-us{background:var(--brand);color:#fff;border-radius:14px 14px 0 0;}
.cf-cmp tbody td:first-child,.cf-cmp thead th:first-child{text-align:left;font-weight:600;color:var(--ink);}
.cf-cmp td.cf-us{background:rgba(12,143,116,.06);font-weight:600;}
.cf-cmp tr:last-child td{border-bottom:none;}
.cf-yes{color:var(--brand-2);font-weight:700;}
.cf-no{color:#c2ccc7;}
.cf-part{color:var(--gold);font-weight:600;font-size:.85rem;}

/* Personas (a chi e' adatto) */
.cf-who{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
@media(max-width:900px){.cf-who{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.cf-who{grid-template-columns:1fr;}}
.cf-who__card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px 22px;}
.cf-who__ic{font-size:1.8rem;margin-bottom:10px;}
.cf-who__card h3{font-size:1.08rem;}
.cf-who__card p{font-size:.9rem;color:var(--muted);margin:0;}

/* Split feature (self-hosted) */
.cf-split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
@media(max-width:900px){.cf-split{grid-template-columns:1fr;gap:32px;}}
.cf-checklist{list-style:none;margin:1.2em 0 0;padding:0;}
.cf-checklist li{padding:.55em 0 .55em 2em;position:relative;color:var(--muted);border-bottom:1px solid var(--line);}
.cf-checklist li:last-child{border-bottom:none;}
.cf-checklist li::before{content:"✓";position:absolute;left:0;top:.55em;color:var(--brand-2);font-weight:700;}
.cf-checklist li b{color:var(--ink);}
.cf-panel{background:linear-gradient(160deg,#0f1a17,#0a2a20);border-radius:24px;padding:34px;color:#dff2ea;}
.cf-panel__row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:.94rem;}
.cf-panel__row:last-child{border-bottom:none;}
.cf-panel__row span{margin-left:auto;font-family:var(--font-mono);font-size:.8rem;color:#7ff0c6;}

/* Pricing */
.cf-price{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch;}
@media(max-width:860px){.cf-price{grid-template-columns:1fr;max-width:440px;margin:0 auto;}}
.cf-plan{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px 28px;display:flex;flex-direction:column;}
.cf-plan--pop{border:2px solid var(--brand);box-shadow:0 24px 50px rgba(6,60,45,.12);position:relative;}
.cf-plan__tag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--brand);color:#fff;font-size:.72rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;padding:.35em 1em;border-radius:999px;}
.cf-plan h3{margin-bottom:.1em;}
.cf-plan__sub{color:var(--muted);font-size:.9rem;margin-bottom:1em;}
.cf-plan__price{font-family:var(--font-display);font-size:2.6rem;font-weight:700;color:var(--ink);line-height:1;}
.cf-plan__price small{font-size:.9rem;color:var(--muted);font-weight:500;font-family:var(--font-body);}
.cf-plan ul{list-style:none;margin:1.4em 0;padding:0;flex:1;}
.cf-plan li{padding:.5em 0 .5em 1.7em;position:relative;font-size:.95rem;color:var(--muted);}
.cf-plan li::before{content:"✓";position:absolute;left:0;color:var(--brand-2);font-weight:700;}
.cf-plan .cf-btn{justify-content:center;}

/* FAQ */
.cf-faq{max-width:760px;margin:0 auto;}
.cf-faq details{border:1px solid var(--line);border-radius:14px;padding:2px 22px;margin-bottom:12px;background:#fff;}
.cf-faq summary{cursor:pointer;font-weight:600;padding:18px 0;list-style:none;font-size:1.05rem;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:1em;}
.cf-faq summary::-webkit-details-marker{display:none;}
.cf-faq summary::after{content:"+";color:var(--brand);font-size:1.4rem;font-weight:400;}
.cf-faq details[open] summary::after{content:"–";}
.cf-faq p{color:var(--muted);font-size:.98rem;padding:0 0 18px;margin:0;}

/* Final CTA */
.cf-final{text-align:center;background:radial-gradient(700px 300px at 50% 0,rgba(12,143,116,.35),transparent 70%),var(--brand-ink);color:#fff;border-radius:28px;padding:64px 32px;}
.cf-final h2{color:#fff;}
.cf-final .cf-lead{color:#bfe6d8;margin:0 auto 1.6em;}

/* Footer */
.cf-footer{background:#0b1512;color:#9fb4ac;padding:56px 0 34px;font-size:.92rem;}
.cf-footer a{color:#cfe0d9;text-decoration:none;}
.cf-footer a:hover{color:#fff;}
.cf-footer__grid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:28px;margin-bottom:34px;}
.cf-footer__brand{max-width:280px;}
.cf-footer__cols{display:flex;gap:56px;flex-wrap:wrap;}
.cf-footer__cols h4{font-family:var(--font-body);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:#6f857c;margin:0 0 .9em;}
.cf-footer__cols ul{list-style:none;margin:0;padding:0;}
.cf-footer__cols li{margin-bottom:.55em;}
.cf-footer__bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:20px;font-size:.82rem;color:#6f857c;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}

/* Generic WooCommerce/page wrapper */
.cf-shop{padding:60px 0 90px;min-height:50vh;}
.cf-page{padding:70px 0 90px;}
.cf-page__title{margin-bottom:.6em;}

@media(prefers-reduced-motion:reduce){*{transition:none!important;}}

/* ===== WooCommerce: bottoni e prezzi in stile ConsentFlow ===== */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce #respond input#submit,
.woocommerce .single_add_to_cart_button,.wc-block-components-button{
	background:var(--brand)!important;color:#fff!important;border-radius:999px!important;
	padding:.8em 1.6em!important;font-weight:600!important;border:none!important;box-shadow:0 8px 22px rgba(10,111,89,.22)!important;
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce .single_add_to_cart_button:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:var(--brand-ink)!important;}
.woocommerce .price,.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--brand)!important;font-weight:700;}
.woocommerce div.product p.price{font-family:var(--font-display);font-size:1.8rem;}
.woocommerce .woocommerce-message,.woocommerce-info{border-top-color:var(--brand)!important;}
.woocommerce-message::before,.woocommerce-info::before{color:var(--brand)!important;}
.woocommerce ul.products li.product .price{color:var(--brand)!important;}

/* ===== Pagina prodotto singola: niente foto, card pulita e centrata ===== */
.single-product .cf-page{padding-top:48px;}
.single-product div.product{display:block!important;}
.single-product div.product .woocommerce-product-gallery,
.single-product div.product .woocommerce-product-gallery__wrapper,
.single-product .woocommerce-breadcrumb{display:none!important;}
.single-product div.product .summary.entry-summary{
	float:none!important;width:100%!important;max-width:560px;margin:0 auto!important;
	background:#fff;border:1px solid var(--line);border-radius:22px;padding:44px 40px;
	box-shadow:0 24px 60px rgba(6,60,45,.08);text-align:center;
}
.single-product div.product .summary .product_title{
	font-size:clamp(1.7rem,3.2vw,2.3rem);margin-bottom:.35em;
}
.single-product div.product .summary p.price{
	justify-content:center;display:flex;align-items:baseline;gap:.15em;margin:.2em 0 .1em;
}
.single-product div.product .summary p.price .woocommerce-Price-amount{font-size:2.6rem;}
.single-product div.product .summary .cf-billing{color:var(--muted);font-size:.95rem;margin-bottom:1.2em;}
.single-product div.product .summary .woocommerce-product-details__short-description{
	color:var(--muted);font-size:1.02rem;margin:0 auto 1.6em;max-width:42ch;
}
.single-product div.product form.cart{margin:0 auto 1em;}
.single-product div.product form.cart .quantity{display:none;}
.single-product div.product .single_add_to_cart_button{width:100%;justify-content:center;font-size:1.05rem!important;padding:1em 1.6em!important;}
.single-product div.product .product_meta{display:none;}
.single-product .cf-trust-mini{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:1.4em;color:var(--muted);font-size:.85rem;}
.single-product .cf-trust-mini span{display:inline-flex;align-items:center;gap:.4em;}
.single-product .cf-trust-mini b{color:var(--brand);}
/* related products: puliti senza foto */
.single-product .related.products{max-width:var(--maxw);margin:64px auto 0;}
.single-product .related.products ul.products li.product a img{display:none;}

/* ===== PDP conversione (single-product.php custom) ===== */
.cf-pdp{padding:44px 0 90px;}
.cf-pdp__crumb{font-size:.86rem;color:var(--muted);margin-bottom:26px;}
.cf-pdp__crumb a{text-decoration:none;color:var(--muted);}
.cf-pdp__crumb a:hover{color:var(--brand);}
.cf-pdp__crumb span{margin:0 .4em;color:#c2ccc7;}
.cf-pdp__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:start;}
@media(max-width:900px){.cf-pdp__grid{grid-template-columns:1fr;gap:32px;}}
.cf-pdp__main h1{font-size:clamp(2rem,4vw,3rem);margin-bottom:.3em;}
.cf-pdp__included{margin-top:2em;}
.cf-pdp__included h3{font-size:1.05rem;margin-bottom:.8em;}
.cf-pdp__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.5em 1.4em;}
@media(max-width:560px){.cf-pdp__list{grid-template-columns:1fr;}}
.cf-pdp__list li{position:relative;padding-left:1.8em;color:var(--ink);font-size:.98rem;}
.cf-pdp__list li::before{content:"✓";position:absolute;left:0;color:var(--brand-2);font-weight:700;}
.cf-pdp__reassure{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:2.4em;}
@media(max-width:640px){.cf-pdp__reassure{grid-template-columns:1fr;}}
.cf-pdp__reassure div{background:var(--paper-2);border:1px solid var(--line);border-radius:14px;padding:16px 16px;}
.cf-pdp__reassure strong{display:block;font-size:.94rem;margin-bottom:.25em;color:var(--ink);}
.cf-pdp__reassure span{font-size:.85rem;color:var(--muted);line-height:1.45;}
/* buy card */
.cf-pdp__buy{position:sticky;top:92px;}
.cf-pdp__card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px 28px;box-shadow:0 24px 60px rgba(6,60,45,.10);text-align:center;position:relative;}
.cf-pdp__badge{display:inline-block;background:var(--mint);color:var(--brand-ink);font-weight:700;font-size:.82rem;padding:.4em 1em;border-radius:999px;margin-bottom:1em;}
.cf-pdp__price{font-family:var(--font-display);color:var(--ink);display:flex;align-items:baseline;justify-content:center;gap:.2em;line-height:1;}
.cf-pdp__price .woocommerce-Price-amount{font-size:3rem;font-weight:700;color:var(--ink);}
.cf-pdp__price small{font-size:1rem;color:var(--muted);font-weight:500;font-family:var(--font-body);}
.cf-pdp__vat{font-size:.82rem;color:var(--muted);margin:.4em 0 1.4em;}
.cf-pdp__card form.cart{margin:0 0 1.2em;}
.cf-pdp__card form.cart .quantity{display:none;}
.cf-pdp__card .single_add_to_cart_button{width:100%;justify-content:center;font-size:1.08rem!important;padding:1.05em 1.6em!important;border-radius:14px!important;}
.cf-pdp__mini{list-style:none;margin:0 0 1em;padding:0;text-align:left;display:inline-block;}
.cf-pdp__mini li{color:var(--muted);font-size:.92rem;padding:.2em 0;}
.cf-pdp__pay{font-size:.8rem;color:var(--muted);border-top:1px solid var(--line);padding-top:1em;}
