/* Prezzi: full surfaces and whitespace, without outlined cards. */
.cdy-pricing-page .cdy-price-hero {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:0;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  align-items:center;
  gap:9%;
  padding:148px max(24px,calc((100vw - 1200px)/2)) 88px;
  background:var(--cdy-midnight);
}
/* The photo is decorative and stays behind the existing interactive content. */
.cdy-price-hero-photo { position:absolute; inset:0; z-index:-2; display:block; pointer-events:none; }
.cdy-price-hero-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 50%; }
.cdy-pricing-page .cdy-price-hero::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.58),transparent 28%),linear-gradient(90deg,rgba(0,0,0,.66),rgba(0,0,0,.6) 42%,rgba(0,0,0,.1) 70%);
}
.cdy-pricing-page .cdy-price-hero :is(.cdy-page-lead,.cdy-page-note,.cdy-plan-tax,.cdy-plan-includes li,.cdy-plan-bottom) { color:#fff; }
.cdy-pricing-page .cdy-price-hero .cdy-page-eyebrow { color:#fff; }
.cdy-pricing-page .cdy-price-hero .cdy-page-intro { min-width:0; }
.cdy-pricing-page .cdy-price-hero h1 {
  font-size:clamp(44px,4.9vw,72px);
  line-height:1.07;
  letter-spacing:-.045em;
  margin:20px 0 26px;
}
.cdy-pricing-page .cdy-price-hero .cdy-page-lead { font-size:18px; line-height:1.7; max-width:470px; }
.cdy-pricing-page .cdy-price-hero .cdy-page-note { max-width:460px; line-height:1.7; color:#fff; }
.cdy-pricing-page .cdy-price-hero .cdy-page-actions { gap:12px; margin-top:32px; }
.cdy-pricing-page .cdy-price-hero .cdy-page-button.is-secondary {
  background:transparent;
  border-color:transparent;
  color:#fff;
  padding-inline:12px;
}
.cdy-pricing-page .cdy-price-hero .cdy-page-button.is-secondary:hover { background:#ffffff0d; }
.cdy-plan-card { min-width:0; width:100%; max-width:490px; margin-left:auto; padding:32px; border:1px solid #ffffff26; border-radius:24px; background:#000000b8; color:#fff; backdrop-filter:blur(12px); }
.cdy-plan-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.cdy-plan-card h2 { font:600 20px/1.4 var(--cdy-heading); letter-spacing:-.02em; }
.cdy-plan-trial { padding:7px 12px; border-radius:8px; background:#d4f9eb; color:#174c3b; font-size:12px; line-height:1.5; }
.cdy-plan-price { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px 16px; margin-top:22px; }
.cdy-plan-price strong {
  font:750 clamp(68px,7.2vw,104px)/1.06 var(--cdy-heading);
  color:var(--cdy-vivid);
  letter-spacing:-.055em;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.cdy-plan-price>span { font-size:16px; color:#fff; }
.cdy-plan-tax { font-size:13px; color:#b6cdc6; margin-top:8px; }
.cdy-plan-value { font-size:18px; line-height:1.5; margin-top:28px; }
.cdy-plan-includes { list-style:none; padding:0; margin:24px 0; display:grid; gap:12px; }
.cdy-plan-includes li { display:flex; align-items:baseline; gap:12px; font-size:15px; line-height:1.5; color:#d1e4df; }
.cdy-plan-includes li>span { flex:none; width:18px; color:var(--cdy-vivid); font-weight:700; }
.cdy-plan-bottom { font-size:13px; line-height:1.6; color:#b6cdc6; }

/* A question first; prices are revealed only after a valid calculation. */
.cdy-price-comparison { --comparison-progress:0; --cedoly-share:1; --other-share:1; padding:84px max(24px,calc((100vw - 1120px)/2)) 88px; background:#f5f8f5; }
.cdy-price-comparison [hidden] { display:none!important; }
.cdy-comparison-panel { margin:auto; }
.cdy-comparison-form { max-width:760px; margin:0 auto; padding:14px 0; }
.cdy-price-heading { max-width:720px; margin:0 auto; text-align:center; }
.cdy-price-heading h2 { font:750 clamp(38px,4.3vw,60px)/1.1 var(--cdy-heading); letter-spacing:-.04em; text-wrap:balance; margin-top:18px; }
.cdy-comparison-entry { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:stretch; gap:12px; max-width:600px; margin:32px auto 0; }
.cdy-comparison-entry>input { width:100%; min-width:0; min-height:80px; padding:14px 24px; border:0; border-radius:14px; background:#e7eee7; color:var(--cdy-ink); font:650 36px/1.2 var(--cdy-heading); font-variant-numeric:tabular-nums; }
.cdy-comparison-entry>input::placeholder { color:#6b8176; opacity:1; font-weight:450; }
.cdy-comparison-entry>input::-webkit-inner-spin-button,.cdy-comparison-entry>input::-webkit-outer-spin-button { appearance:none; margin:0; }
.cdy-comparison-entry>input { -moz-appearance:textfield; }
.cdy-pricing-page .cdy-comparison-submit { min-height:80px; padding:18px 26px; border:0; border-radius:14px; background:var(--cdy-vivid); color:var(--cdy-ink); font-size:16px; font-weight:700; gap:22px; }
.cdy-pricing-page .cdy-comparison-submit:hover { background:#38e9b9; transform:none; }
.cdy-comparison-submit:disabled,.cdy-comparison-entry>input:disabled { opacity:.55; cursor:default; }
.cdy-price-comparison :is(input,button):focus-visible { outline:3px solid #008d75; outline-offset:4px; }
.cdy-comparison-results { display:block; }
.cdy-comparison-result-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:28px; }
.cdy-comparison-result-heading h2 { margin-top:12px; font:750 clamp(30px,3.4vw,46px)/1.15 var(--cdy-heading); letter-spacing:-.035em; text-wrap:balance; overflow-wrap:anywhere; }
.cdy-comparison-result-heading h2:focus { outline:none; }
.cdy-comparison-edit { display:flex; align-items:center; justify-content:center; flex:none; gap:10px; min-height:44px; padding:10px 14px; border:0; border-radius:10px; background:transparent; color:#395e50; font:600 14px/1.4 var(--cdy-heading); cursor:pointer; }
.cdy-comparison-edit:hover { background:#e7eee7; }
.cdy-comparison-edit>span { font-size:19px; }
.cdy-comparison-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.cdy-comparison-card { min-width:0; padding:32px; border-radius:20px; text-align:center; animation:cdy-compare-enter .64s cubic-bezier(.16,1,.3,1) both; }
.cdy-comparison-cedoly { background:#00dfa3; color:#013e2e; }
.cdy-comparison-other { background:hsl(4 100% calc(76% - var(--comparison-progress) * 13%)); color:#450911; animation-delay:80ms; }
.cdy-comparison-card h3 { font:650 20px/1.3 var(--cdy-heading); letter-spacing:-.015em; }
.cdy-comparison-amount { display:flex; align-items:baseline; justify-content:center; gap:.12em; min-height:clamp(41.8px,6.16vw,85.8px); margin-top:24px; font:750 clamp(38px,5.6vw,78px)/1.1 var(--cdy-heading); font-variant-numeric:tabular-nums; letter-spacing:-.045em; white-space:nowrap; }
.cdy-comparison-other .cdy-comparison-amount { font-size:calc(clamp(38px,5.6vw,78px) * var(--other-price-scale,1)); }
.cdy-comparison-currency { font-size:.45em; letter-spacing:0; }
.cdy-comparison-period { font-size:13px; line-height:1.6; margin-top:8px; }
.cdy-comparison-bar { height:5px; margin:24px 4px 0; overflow:hidden; border-radius:20px; background:#072e3810; }
.cdy-comparison-bar>span { display:block; height:100%; border-radius:inherit; background:currentColor; transform:scaleX(var(--cost-share)); transform-origin:left center; animation:cdy-compare-bar .72s cubic-bezier(.16,1,.3,1) both; }
.cdy-comparison-cedoly .cdy-comparison-bar>span { --cost-share:var(--cedoly-share); }
.cdy-comparison-other .cdy-comparison-bar>span { --cost-share:var(--other-share); }
.cdy-comparison-model { font-size:14px; line-height:1.6; margin-top:22px; }
.cdy-comparison-breakdown { display:grid; gap:8px; max-width:340px; margin:22px auto 0; font-size:14px; line-height:1.5; text-align:left; font-variant-numeric:tabular-nums; }
.cdy-comparison-breakdown>div { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:2px 12px; }
.cdy-comparison-breakdown dt { min-width:0; overflow-wrap:anywhere; }
.cdy-comparison-breakdown dd { max-width:100%; margin:0; font-weight:650; overflow-wrap:anywhere; }

.cdy-comparison-outcome { margin:28px auto 0; text-align:center; color:#075d41; animation:cdy-compare-enter .64s cubic-bezier(.16,1,.3,1) 120ms both; }
.cdy-comparison-outcome>span { font-size:14px; line-height:1.6; }
.cdy-comparison-outcome p { margin-top:4px; font:700 clamp(28px,3vw,40px)/1.3 var(--cdy-heading); letter-spacing:-.025em; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.cdy-comparison-outcome p>span { font-size:16px; font-weight:500; letter-spacing:0; white-space:nowrap; }
.cdy-pricing-page .cdy-comparison-results .cdy-page-actions { justify-content:center; margin:28px auto 0; }
.cdy-comparison-fallback { max-width:590px; margin:16px auto 0; text-align:center; color:#60746b; font-size:13px; line-height:1.7; }
.cdy-price-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@keyframes cdy-compare-enter { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:translateY(0); } }
@keyframes cdy-compare-bar { from { transform:scaleX(0); } to { transform:scaleX(var(--cost-share)); } }

/* Full-photo benefit cards with compact fragments of the Cedoly interface. */
.cdy-price-benefits { --benefit-gap:24px; --benefit-width:clamp(560px,56vw,700px); --benefit-inset-top:64px; --benefit-inset-bottom:72px; padding:var(--benefit-inset-top) 0 var(--benefit-inset-bottom); overflow-anchor:none; }
.cdy-price-benefits[data-benefits-pinned="true"] { box-sizing:border-box; min-height:calc(var(--benefit-stage-height) + var(--benefit-scroll-distance) + var(--benefit-inset-top) + var(--benefit-inset-bottom)); }
[data-benefits-pinned="true"] .cdy-benefits-stage { position:sticky; top:var(--benefit-sticky-top); }
.cdy-benefits-viewport:focus-visible { outline:3px solid var(--cdy-vivid); outline-offset:5px; }
.cdy-benefits-viewport { overflow-x:auto; overflow-y:hidden; padding:6px 0; scrollbar-width:none; overscroll-behavior-x:contain; touch-action:pan-x pan-y; scroll-snap-type:x proximity; }
.cdy-benefits-viewport::-webkit-scrollbar { display:none; }
[data-benefits-mounted="true"] .cdy-benefits-viewport { scroll-snap-type:none; }
.cdy-benefits-track { display:flex; width:max-content; }
.cdy-benefits-group { display:flex; flex:none; gap:var(--benefit-gap); width:max-content; margin:0; padding:0 var(--benefit-gap) 0 0; list-style:none; }
.cdy-benefit-card { position:relative; isolation:isolate; flex:0 0 var(--benefit-width); width:var(--benefit-width); height:610px; overflow:hidden; border:0; border-radius:28px; background:#000000; color:#fff; scroll-snap-align:start; }
.cdy-benefit-photo { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; object-position:center 34%; pointer-events:none; }
.cdy-benefit-card::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,transparent 24%,rgba(0,0,0,.05) 40%,rgba(0,0,0,.6) 66%,rgba(0,0,0,.8) 86%,rgba(0,0,0,.86)); pointer-events:none; }
.cdy-benefit-copy { position:absolute; right:36px; bottom:32px; left:36px; }
.cdy-benefit-category { margin:0 0 10px; color:#98f5c4; font-size:12px; line-height:1.5; font-weight:650; letter-spacing:.07em; text-transform:uppercase; }
.cdy-benefit-copy h3 { margin:0; color:#fff; font:700 clamp(34px,3vw,40px)/1.06 var(--cdy-heading); letter-spacing:-.035em; }
.cdy-benefit-description { max-width:490px; min-height:3em; margin-top:14px; color:#fff; font-size:16px; line-height:1.5; }
.cdy-benefit-preview { position:absolute; top:42%; right:32px; width:248px; max-width:calc(100% - 48px); height:112px; padding:16px; border:0; border-radius:15px; background:#fffffff5; color:#173f36; box-shadow:0 10px 30px #001e2924; pointer-events:none; user-select:none; font-size:12px; line-height:1.4; }
.cdy-benefit-preview svg { flex:none; width:18px; height:18px; }
.cdy-ui-peek-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; height:22px; margin-bottom:12px; }
.cdy-ui-peek-heading>b { font-size:12px; font-weight:650; }
.cdy-ui-count { display:grid; place-items:center; width:22px; height:22px; border-radius:6px; background:#edf3ef; font-size:11px; font-weight:600; }
.cdy-ui-peek-payroll { display:grid; grid-template-columns:16px minmax(0,1fr) auto; align-items:center; gap:9px; }
.cdy-ui-peek-payroll b,.cdy-ui-peek-request b { display:block; font-size:12px; font-weight:600; }
.cdy-ui-peek-payroll small,.cdy-ui-peek-request small { display:block; margin-top:3px; color:#587269; font-size:10px; }
.cdy-ui-peek-payroll>span:last-child { font-size:11px; font-variant-numeric:tabular-nums; }
.cdy-ui-check { display:grid; place-items:center; width:16px; height:16px; border-radius:4px; background:#dbf4e7; color:#007c5d; }
.cdy-ui-check svg { width:12px; height:12px; }
.cdy-ui-state { display:inline-flex; align-items:center; width:fit-content; padding:4px 7px; border-radius:6px; background:#e1f5eb; color:#08734f; font-size:10px; line-height:1.3; font-weight:600; white-space:nowrap; }
.cdy-ui-state.is-pending { background:#fff0d8; color:#96600c; }
.cdy-ui-peek-time { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.cdy-ui-peek-time>b { font:650 34px/1.1 var(--cdy-heading); letter-spacing:-.025em; font-variant-numeric:tabular-nums; }
.cdy-ui-peek-time>div { text-align:right; }
.cdy-ui-peek-time small { display:block; color:#587269; font-size:10px; }
.cdy-ui-peek-time span { display:block; margin-top:2px; font-size:14px; font-weight:600; font-variant-numeric:tabular-nums; }
.cdy-ui-peek-request { display:flex; align-items:center; justify-content:space-between; gap:12px; }
@media(max-width:760px) {
  .cdy-price-benefits { --benefit-gap:18px; --benefit-width:clamp(280px,88vw,640px); --benefit-inset-top:44px; --benefit-inset-bottom:48px; }
  .cdy-benefit-card { height:540px; border-radius:22px; }
  .cdy-benefit-copy { right:24px; bottom:26px; left:24px; }
  .cdy-benefit-category { margin-bottom:9px; font-size:11px; }
  .cdy-benefit-copy h3 { font-size:clamp(26px,6.6vw,32px); }
  .cdy-benefit-description { max-width:440px; min-height:4.5em; margin-top:12px; font-size:14px; line-height:1.5; }
  .cdy-benefit-preview { top:38%; right:22px; width:228px; height:108px; padding:14px; border-radius:13px; }
  .cdy-ui-peek-heading { margin-bottom:11px; }
  .cdy-ui-peek-payroll { gap:7px; }
}
@media(prefers-reduced-motion:reduce) {
  .cdy-price-benefits[data-benefits-pinned="true"] { min-height:0; }
  [data-benefits-pinned="true"] .cdy-benefits-stage { position:static; }
  .cdy-benefits-viewport { scroll-behavior:auto; }
}
@media print {
  .cdy-price-benefits,.cdy-price-benefits[data-benefits-pinned="true"] { min-height:0; padding:24px; background:#fff; color:#000; }
  [data-benefits-pinned="true"] .cdy-benefits-stage { position:static; }
  [data-benefit-clone],.cdy-benefit-preview,.cdy-benefit-photo,.cdy-benefit-card::before { display:none!important; }
  .cdy-benefits-viewport { overflow:visible; padding:0; }
  .cdy-benefits-track,.cdy-benefits-group { display:block; width:auto; padding:0; }
  .cdy-benefit-card { width:auto; height:auto; margin:16px 0; background:none!important; break-inside:avoid; }
  .cdy-benefit-copy { position:static; }
  .cdy-benefit-copy h3,.cdy-benefit-category,.cdy-benefit-description { color:#000; min-height:0; }
}



.cdy-pricing-page .cdy-page-faq { max-width:1320px; padding:96px 60px; gap:9%; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); }
.cdy-pricing-page .cdy-page-faq h2 { font-size:clamp(36px,4vw,54px); font-weight:750; }
.cdy-pricing-page .cdy-page-faq-trigger { font-size:20px; font-weight:650; }
.cdy-pricing-page :is(#confronto,#domande) { scroll-margin-top:16px; }

@media(max-width:1200px) {
  .cdy-pricing-page .cdy-price-hero { gap:7%; padding-inline:5%; }
  .cdy-plan-price strong { font-size:clamp(60px,7.6vw,92px); }
  .cdy-pricing-page .cdy-page-faq { padding-inline:5%; }
}
@media(max-width:760px) {
  .cdy-pricing-page .cdy-price-hero::before { background:linear-gradient(180deg,rgba(0,0,0,.66),rgba(0,0,0,.6) 48%,rgba(0,0,0,.12)); }
  .cdy-pricing-page .cdy-price-hero { grid-template-columns:minmax(0,1fr); gap:44px; padding:124px 22px 52px; }
  .cdy-pricing-page .cdy-price-hero h1 { font-size:clamp(42px,10.8vw,64px); margin:18px 0 23px; }
  .cdy-pricing-page .cdy-price-hero .cdy-page-lead { font-size:17px; }
  .cdy-pricing-page .cdy-price-hero .cdy-page-actions { margin-top:26px; }
  .cdy-pricing-page .cdy-price-hero .cdy-page-button.is-secondary { padding-inline:20px; }
  .cdy-plan-card { max-width:none; margin:0; padding:26px 22px; }
  .cdy-plan-card h2 { font-size:19px; }
  .cdy-plan-price { margin-top:19px; }
  .cdy-plan-price strong { font-size:clamp(52px,13vw,88px); }
  .cdy-plan-value { margin-top:24px; font-size:17px; }
  .cdy-plan-includes { margin-block:21px; gap:11px; }
  .cdy-pricing-page .cdy-page-faq { grid-template-columns:1fr; padding:62px 22px; gap:32px; }
  .cdy-pricing-page .cdy-page-faq h2 { font-size:clamp(35px,9.2vw,46px); }
  .cdy-pricing-page .cdy-page-faq-trigger { font-size:19px; gap:20px; }
}
@media(max-width:360px) {
  .cdy-plan-trial { font-size:11px; padding-inline:10px; }
}
@media print {
  .cdy-price-hero-photo,.cdy-pricing-page .cdy-price-hero::before { display:none; }
}
@media(max-width:1200px) {
  .cdy-price-comparison { padding-inline:5%; }
  .cdy-comparison-card { padding:28px; }
}
@media(max-width:760px) {
  .cdy-price-comparison { padding:58px 22px 62px; }
  .cdy-comparison-form { padding:4px 0; }
  .cdy-price-heading h2 { font-size:clamp(36px,9.6vw,50px); margin-top:16px; }
  .cdy-comparison-entry { grid-template-columns:minmax(0,1fr); gap:12px; max-width:440px; margin-top:28px; }
  .cdy-comparison-entry>input { min-height:78px; padding:16px 22px; font-size:36px; }
  .cdy-pricing-page .cdy-comparison-submit { min-height:58px; justify-content:space-between; padding-inline:22px; }
  .cdy-comparison-result-heading { align-items:flex-start; gap:12px; margin-bottom:24px; }
  .cdy-comparison-result-heading h2 { font-size:clamp(29px,7.5vw,38px); margin-top:10px; }
  .cdy-comparison-edit { min-height:44px; padding-inline:9px; gap:6px; font-size:12px; }
  .cdy-comparison-cards { gap:12px; }
  .cdy-comparison-card { padding:23px 12px; border-radius:16px; }
  .cdy-comparison-card h3 { display:grid; place-items:center; min-height:2.6em; font-size:17px; }
  .cdy-comparison-amount { font-size:clamp(26px,7.6vw,50px); min-height:clamp(28.6px,8.36vw,55px); margin-top:14px; }
  .cdy-comparison-period { font-size:12px; min-height:3.2em; }
  .cdy-comparison-bar { margin:20px 0 0; height:4px; }
  .cdy-comparison-model { font-size:12px; margin-top:18px; }
  .cdy-comparison-breakdown { margin-top:18px; gap:7px; font-size:11px; }
  .cdy-comparison-breakdown>div { gap:2px 7px; }
  .cdy-comparison-outcome { margin-top:24px; }
  .cdy-comparison-other .cdy-comparison-amount { font-size:calc(clamp(26px,7.6vw,50px) * var(--other-price-scale,1)); }
}
@media(max-width:360px) {
  .cdy-comparison-card { padding-inline:10px; }
  .cdy-comparison-card h3 { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) {
  .cdy-comparison-card,.cdy-comparison-bar>span,.cdy-comparison-outcome { animation:none; }
}
@media print {
  .cdy-comparison-form,.cdy-comparison-edit { display:none; }
  .cdy-price-comparison { padding:24px; }
  .cdy-plan-card,.cdy-comparison-card { break-inside:avoid; }
}

/* Consistent secondary action and comparison controls. */
.cdy-pricing-page .cdy-price-hero .cdy-page-button.is-secondary{background:#fff;color:var(--rv-ink);border-color:transparent;padding-inline:27px}
.cdy-pricing-page .cdy-price-hero .cdy-page-button.is-secondary:hover{background:#e5f2ee}
.cdy-pricing-page .cdy-comparison-submit{border-radius:100px;font-weight:650}
.cdy-pricing-page .cdy-comparison-edit{border-radius:100px}

@media(prefers-reduced-motion:no-preference){
 .cdy-comparison-edit{transition:background-color .32s ease-in-out,color .32s ease-in-out,border-color .32s ease-in-out}
}
.cdy-pricing-page .cdy-comparison-submit:active:not(:disabled){background:#20d5a5}
.cdy-comparison-edit:active{background:#dce8e1}
