/* ORIGO V3 — presentazione e layout pubblico. Non tocca motore calendario/checkout. */
html {scroll-padding-top:90px}
body.page-home #chi-siamo,body.page-home #sessioni,body.page-home #approccio{scroll-margin-top:90px}
/* Home: narrativa e proof */
body.page-home .oc-about .oc-experience-copy h2{font-size:clamp(37px,4.65vw,67px);line-height:.98}
body.page-home .oc-about .oc-experience-copy>p{font-size:clamp(14px,1.14vw,16px);line-height:1.7;margin-top:15px}
body.page-home .oc-about .oc-experience-copy>p strong{color:#f8f7f3}
body.page-home .oc-about .oc-about-proof{font-size:12px!important;color:#b0bac7!important;max-width:500px;border-left:2px solid #c0e6a4;padding-left:15px;margin-top:24px!important}
body.page-home .oc-about .oc-text-link{display:inline-block;margin-top:18px}
/* Home: 4 opzioni con stesso peso geometrico, quarta distinzione editoriale */
body.page-home .oc-sessions>.shell{width:min(calc(100% - 60px),1350px)!important;padding-block:clamp(60px,7vw,100px)!important}
body.page-home .oc-sessions .oc-section-head{max-width:780px;margin-bottom:30px!important}
body.page-home .oc-sessions .origo-session-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;align-items:stretch}
body.page-home .oc-sessions .origo-session-card{min-height:410px!important;display:flex;flex-direction:column;padding:26px 20px 22px!important;border-radius:17px!important;transition:border-color .2s ease,box-shadow .2s ease!important;transform:none!important}
body.page-home .origo-session-top{display:block!important}
body.page-home .origo-session-top>strong{display:block;margin:12px 0 0;font-size:25px!important}
body.page-home .origo-session-top h3{font-size:clamp(19px,1.8vw,25px)!important;line-height:1.13;letter-spacing:-.038em}
body.page-home .origo-session-card>p{min-height:78px!important;font-size:12px!important;line-height:1.55!important;margin-bottom:14px!important}
body.page-home .origo-session-card ul{margin-top:8px!important;margin-bottom:23px!important;gap:7px!important;font-size:11px!important}
body.page-home .origo-session-card .btn{margin-top:auto!important;min-height:44px;display:flex!important;align-items:center;justify-content:center;gap:8px;font-size:11px!important;white-space:normal;text-align:center}
body.page-home .origo-session-card.is-featured{background:#151820!important;color:#fff;border-color:#151820!important;position:relative}
body.page-home .origo-session-card.is-featured .origo-session-duration{color:#d5dbe3!important}
body.page-home .origo-session-card.is-featured .origo-session-type{color:#c5ced9}
body.page-home .origo-session-card.is-featured .btn{background:#e8eee6!important;color:#141820!important;border-color:#e8eee6!important}
body.page-home .origo-session-card.is-featured .btn:hover{background:#fff!important}
body.page-home .origo-session-card.is-featured .origo-session-badge{background:#c8f49b;color:#142013;top:-12px;right:15px;z-index:1}
body.page-home .origo-session-card.is-featured>p{color:#d7dbe2}
@media(max-width:1100px){
  body.page-home .oc-sessions .origo-session-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.page-home .oc-sessions .origo-session-card{min-height:340px!important}
  body.page-home .origo-session-card>p{min-height:0!important}
}
@media(max-width:620px){
  body.page-home .oc-sessions>.shell{width:min(calc(100% - 32px),1350px)!important}
  body.page-home .oc-sessions .origo-session-grid{grid-template-columns:1fr!important;gap:12px!important}
  body.page-home .oc-sessions .origo-session-card{min-height:0!important;padding:23px 21px!important}
  body.page-home .origo-session-top>strong{margin-top:8px}
  body.page-home .origo-session-card>p{min-height:0!important;margin:11px 0 13px!important}
  body.page-home .origo-session-card ul{margin-bottom:20px!important}
  body.page-home .oc-about .oc-experience-copy h2{font-size:41px}
}
/* Prenotazioni: un'unica composizione a tre colonne per desktop. */
body.page-prenota .booking-wizard-v9{padding:26px 0 100px!important;min-height:calc(100vh - 130px)!important}
body.page-prenota .booking-v9-head{max-width:1100px;margin:0 auto 23px!important;text-align:center}
body.page-prenota .booking-v9-head h1{font-size:clamp(32px,3.5vw,47px)!important;margin:8px 0 9px!important}
body.page-prenota .booking-v9-progress{display:none!important}
body.page-prenota .booking-v9-shell{width:min(calc(100% - 44px),1430px)!important;max-width:1430px!important;display:grid!important;grid-template-columns:minmax(245px,.92fr) minmax(360px,1.39fr) minmax(300px,1.04fr)!important;gap:14px;align-items:start;min-height:540px!important;margin:auto}
body.page-prenota .booking-v9-stage,body.page-prenota .booking-v9-stage.is-active{display:block!important;min-width:0;opacity:1!important;animation:none!important}
body.page-prenota .booking-v9-card{background:#fff;border:1px solid #dedfe2;border-radius:18px!important;padding:22px 19px!important;box-shadow:0 7px 25px rgba(15,23,42,.035)}
body.page-prenota .booking-v9-stage-head{display:block!important;margin-bottom:18px!important}
body.page-prenota .booking-v9-stage-head h2{font-size:clamp(19px,1.5vw,23px)!important;line-height:1.13;margin-top:6px}
body.page-prenota .booking-v9-stage-head p{font-size:12px!important;line-height:1.45;text-align:left!important;max-width:none!important;margin:8px 0 0!important}
body.page-prenota .booking-v9-stage-head .booking-v9-back{display:none!important}
body.page-prenota .booking-v9-services{display:flex!important;flex-direction:column!important;gap:9px!important}
body.page-prenota .booking-wizard-v9 .booking-service{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:3px 12px;min-height:0!important;padding:15px 13px!important;border:1px solid #e0e2e5;border-radius:13px!important;text-align:left!important;align-items:center!important;cursor:pointer}
body.page-prenota .booking-service .booking-v9-service-top{display:contents!important}
body.page-prenota .booking-v9-service-name{grid-column:1;font-size:13px!important}
body.page-prenota .booking-v9-price{grid-column:2;grid-row:1;font-size:12px!important;padding:4px 8px!important}
body.page-prenota .booking-v9-time{grid-column:1;grid-row:2;margin:2px 0!important;display:flex!important;gap:3px!important;align-items:center}
body.page-prenota .booking-v9-time strong{font-size:13px!important;letter-spacing:0!important;font-weight:700!important;line-height:1.3!important}
body.page-prenota .booking-v9-time span{font-size:11px!important;font-weight:600!important;text-transform:none!important;letter-spacing:0!important}
body.page-prenota .booking-service p{grid-column:1/-1!important;grid-row:3!important;font-size:11px!important;line-height:1.4!important;margin:4px 0 0!important;min-height:0!important}
body.page-prenota .booking-v12-features{display:none!important}
body.page-prenota .booking-service.is-active{background:#151820!important;color:#fff!important;border-color:#151820!important}
body.page-prenota .oc-v3-dedicated-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:95px;margin-top:3px;padding:17px 13px;text-align:left;border:1px solid #151820;border-radius:13px;background:#f8f7f3;color:#151820;font:inherit;cursor:pointer;transition:.15s}
body.page-prenota .oc-v3-dedicated-option>span:first-child{display:grid;gap:6px;min-width:0}
body.page-prenota .oc-v3-dedicated-option small{font-size:9px;letter-spacing:.12em;font-weight:850;color:#727883}
body.page-prenota .oc-v3-dedicated-option strong{font-size:16px;letter-spacing:-.03em}
body.page-prenota .oc-v3-dedicated-option em{font-size:10px;font-style:normal;color:#626974}
body.page-prenota .oc-v3-dedicated-option>span:last-child{font-size:19px}
body.page-prenota .oc-v3-dedicated-option.is-active{background:#151820;color:#fff;border-color:#151820}
body.page-prenota .oc-v3-dedicated-option.is-active small,body.page-prenota .oc-v3-dedicated-option.is-active em{color:#ccd3dd}
body.page-prenota .booking-v11-service-line{margin-top:12px!important}
body.page-prenota .booking-v11-availability{display:flex!important;flex-direction:column;gap:12px!important}
body.page-prenota .booking-v11-panel{padding:15px!important;border-radius:13px}
body.page-prenota .booking-v11-panel--times{padding:0!important}
body.page-prenota .booking-v11-date-list{gap:4px!important}
body.page-prenota .booking-v11-date{min-height:42px!important;padding:6px 1px!important;border-radius:8px!important}
body.page-prenota .booking-v11-date .dom{font-size:14px!important}
body.page-prenota .booking-v11-panel-note{margin-top:9px}
body.page-prenota .booking-v11-panel-head{margin-bottom:10px}
body.page-prenota .booking-v11-panel--times .booking-v11-panel-head{margin:0!important}
body.page-prenota .booking-form-panel[hidden],body.page-prenota [data-v3-dedicated-form][hidden],body.page-prenota .oc-v3-dedicated-info[hidden]{display:none!important}
body.page-prenota .oc-v3-booking-placeholder{min-height:320px;border:1px solid #dedfe2;border-radius:18px;padding:25px 21px;background:#f7f7f5}
body.page-prenota .oc-v3-kicker{display:block;font-size:10px;font-weight:850;letter-spacing:.13em;color:#727986;margin-bottom:12px}
body.page-prenota .oc-v3-booking-placeholder h2,body.page-prenota .oc-v3-dedicated-info h2,body.page-prenota .oc-v3-dedicated-form h2{font-size:clamp(20px,2vw,27px);line-height:1.14;letter-spacing:-.045em;margin:0 0 12px}
body.page-prenota .oc-v3-booking-placeholder p,body.page-prenota .oc-v3-dedicated-info>p,body.page-prenota .oc-v3-dedicated-form>p{font-size:12px;line-height:1.65;color:#68717b;margin:0 0 15px}
body.page-prenota .oc-v3-placeholder-lines{display:grid;gap:11px;margin-top:35px}
body.page-prenota .oc-v3-placeholder-lines i{height:38px;background:#e9eae8;border-radius:8px}
body.page-prenota .oc-v3-placeholder-lines i:last-child{width:65%}
body.page-prenota .booking-v9-stage:has(.booking-form-panel:not([hidden])) .oc-v3-booking-placeholder{display:none!important}
body.page-prenota .booking-v10-checkout-layout{display:block!important}
body.page-prenota .booking-v9-form{height:auto!important;overflow:visible!important}
body.page-prenota .booking-v10-main{display:block!important}
body.page-prenota .booking-v10-form-block{padding:13px!important;margin-bottom:12px!important}
body.page-prenota .booking-v10-block-head{margin-bottom:10px!important}
body.page-prenota .booking-v9-grid{grid-template-columns:1fr!important;gap:10px!important}
body.page-prenota .booking-v9-grid .full{grid-column:1!important}
body.page-prenota .booking-v10-order{position:static!important;top:auto!important;margin-top:12px!important;padding:18px!important}
body.page-prenota .booking-v9-grid input,body.page-prenota .booking-v9-grid textarea,body.page-prenota .booking-v9-grid select{max-width:100%}
body.page-prenota .booking-v9-form .booking-v9-stage-head{margin-bottom:14px}
body.page-prenota .booking-v9-form .booking-v9-stage-head p{font-size:12px}
body.page-prenota .booking-v9-status{grid-column:1/-1;min-height:18px!important;margin:0!important}
/* Dedicated flow: middle explanatory panel, right independent lead form */
body.page-prenota .oc-v3-dedicated-info{padding:20px;border:1px solid #dcdde1;border-radius:18px;background:#f9f9f7}
body.page-prenota .oc-v3-process{display:grid;gap:12px;padding:10px 0 17px}
body.page-prenota .oc-v3-process>div{display:flex;align-items:flex-start;gap:12px}
body.page-prenota .oc-v3-process b{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:9px;background:#151820;color:#fff;font-size:10px}
body.page-prenota .oc-v3-process span{display:grid;gap:3px}
body.page-prenota .oc-v3-process strong{font-size:12px}
body.page-prenota .oc-v3-process small{font-size:11px;line-height:1.45;color:#707984}
body.page-prenota .oc-v3-dedicated-info details{padding:13px 0;border-top:1px solid #dedfe1}
body.page-prenota .oc-v3-dedicated-info summary{cursor:pointer;font-size:12px;font-weight:800}
body.page-prenota .oc-v3-dedicated-info details p{font-size:11px;line-height:1.6;color:#606a77;margin:9px 0 0}
body.page-prenota .oc-v3-dedicated-form{padding:22px 19px;background:#fff;border:1px solid #dedfe2;border-radius:18px}
body.page-prenota .oc-v3-lead-form{display:grid;gap:11px}
body.page-prenota .oc-v3-lead-form>label:not(.oc-v3-privacy){display:grid;gap:5px;font-size:11px;color:#383e48;font-weight:750}
body.page-prenota .oc-v3-lead-form label>span{color:#7b818a;font-weight:500}
body.page-prenota .oc-v3-lead-form input:not([type=checkbox]),body.page-prenota .oc-v3-lead-form textarea,body.page-prenota .oc-v3-lead-form select{width:100%;min-width:0;box-sizing:border-box;display:block;border:1px solid #d7d9dd;border-radius:9px;background:#fbfbfb;padding:10px 11px;font:inherit;font-size:12px;color:#111318}
body.page-prenota .oc-v3-lead-form textarea{resize:vertical;min-height:92px}
body.page-prenota .oc-v3-lead-form input:focus-visible,body.page-prenota .oc-v3-lead-form textarea:focus-visible,body.page-prenota .oc-v3-lead-form select:focus-visible{outline:2px solid #5679fa;outline-offset:1px}
body.page-prenota .oc-v3-lead-form .oc-v3-privacy{display:flex;align-items:flex-start;gap:9px;font-size:10px;line-height:1.5;font-weight:400}
body.page-prenota .oc-v3-privacy input{margin:3px 0 0;flex:none}
body.page-prenota .oc-v3-lead-form>button{width:100%;cursor:pointer;min-height:46px;border-radius:99px}
body.page-prenota .oc-v3-lead-form>small{font-size:10px;color:#79808a;text-align:center}
body.page-prenota .oc-v3-honeypot{position:absolute!important;left:-20000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
body.page-prenota .oc-v3-form-error{padding:12px;background:#fff0ee;color:#8b2720;border:1px solid #e9b5ae;border-radius:9px;font-size:12px;margin:11px 0}
body.page-prenota .oc-v3-success{background:#edf5eb;border:1px solid #c7dfc0;padding:18px;border-radius:13px}
body.page-prenota .oc-v3-success p{font-size:12px;line-height:1.55;margin:0}
body.page-prenota.is-dedicated .oc-v3-calendar-content,body.page-prenota.is-dedicated .booking-v9-stage[data-booking-stage="2"]>.booking-v9-card>.booking-v9-stage-head,body.page-prenota.is-dedicated .booking-form-panel,body.page-prenota.is-dedicated .oc-v3-booking-placeholder{display:none!important}
body.page-prenota.is-dedicated .oc-v3-dedicated-info,body.page-prenota.is-dedicated .oc-v3-dedicated-form{display:block!important}
body.page-prenota .booking-v9-stage[data-booking-stage="2"]>.booking-v9-card{min-height:375px}
body.page-prenota.is-dedicated .booking-v9-stage[data-booking-stage="2"]>.booking-v9-card{padding:0!important;border:none!important;background:transparent!important;box-shadow:none!important}
/* Mobile: progressive vertical, no sideways scrolling. */
@media(max-width:1070px){
  body.page-prenota .booking-v9-shell{grid-template-columns:minmax(230px,.75fr) minmax(290px,1fr)!important;max-width:1000px!important}
  body.page-prenota .booking-v9-stage[data-booking-stage="3"]{grid-column:2}
  body.page-prenota .booking-v9-stage[data-booking-stage="1"]{grid-row:1 / span 2}
  body.page-prenota .booking-v9-stage[data-booking-stage="2"]{grid-column:2}
  body.page-prenota .oc-v3-booking-placeholder{min-height:190px}
}
@media(max-width:720px){
  body.page-prenota .booking-v9-shell{display:flex!important;flex-direction:column!important;width:min(calc(100% - 24px),610px)!important;gap:12px!important}
  body.page-prenota .booking-v9-stage{width:100%;grid-column:auto!important;grid-row:auto!important}
  body.page-prenota .booking-v9-head{padding:0 16px}
  body.page-prenota .booking-v9-head h1{font-size:32px!important}
  body.page-prenota .booking-wizard-v9 .booking-service{padding:13px!important}
  body.page-prenota .booking-v9-card{padding:18px!important}
  body.page-prenota .booking-v11-date{min-height:41px!important}
  body.page-prenota .booking-v9-stage[data-booking-stage="2"]>.booking-v9-card{min-height:0}
  body.page-prenota .oc-v3-booking-placeholder{min-height:110px;padding:19px}
  body.page-prenota .oc-v3-placeholder-lines{display:none}
}
@media(prefers-reduced-motion:reduce){body.page-home *,body.page-prenota *{animation:none!important;scroll-behavior:auto!important}}
