/* ================= Pianifica la vacanza — pianificatore (pl-) e assistente (ch-) =================
   Solo i token del sito (00-base.css, 30-e3.css). Nessun nome generico: tutto è pl- o ch-,
   più le due sezioni richieste .plan (#pianifica) e .plan-out (#programma). */

/* ------------------------------------------------------------------ sezione */
.plan{background:linear-gradient(180deg,var(--sand) 0%,var(--sand0) 72%);padding-top:clamp(40px,4vw,80px)}
.pl-nojs{max-width:40em;padding:20px 22px;border-radius:var(--r);background:#fff;color:var(--ink)}
.pl-nojs a{color:var(--petrol);font-weight:600}
.pl-app{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}
.pl-card{order:1;min-width:0}
.pl-side{order:2;min-width:0}
.pl-back-note{order:0}
@media (min-width:1000px){
  .pl-app{grid-template-columns:minmax(0,340px) minmax(0,1fr);column-gap:clamp(28px,3vw,48px);row-gap:20px}
  .pl-side,.pl-card{order:0}
  .pl-back-note{grid-column:1 / -1}
}
@media (min-width:1000px) and (min-height:760px){.pl-side{position:sticky;top:calc(var(--hh) + 24px)}}
@media (min-width:1024px) and (min-height:860px){.pl-side{top:calc(var(--hh) + 88px)}}

.pl-back-note{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2px 20px;padding:10px 18px;border-radius:var(--r);background:var(--aqua0);color:var(--ink);font-weight:500}
.pl-back-note-b{display:flex;flex-wrap:wrap;gap:0 18px}

/* ------------------------------------------------------------------ la scheda dei quattro passi */
.pl-card{position:relative;padding:clamp(20px,3.2vw,40px);border-radius:28px;background:#fff;box-shadow:0 40px 80px -48px rgba(8,42,52,.45),0 2px 8px -4px rgba(8,42,52,.08)}
.pl-mini{display:block;margin:0 0 18px;padding:8px 14px;border-radius:999px;background:var(--sand0);color:var(--ink-2);font-size:.875rem;font-weight:600;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-mini:empty{display:none}
@media (min-width:1000px){.pl-mini{display:none}}

.pl-prog{display:flex;align-items:center;margin:0;padding:0;list-style:none}
.pl-prog li{display:flex;align-items:center;flex:1 1 auto;min-width:0}
.pl-prog li:last-child{flex:0 0 auto}
.pl-prog li:not(:last-child)::after{content:"";flex:1 1 auto;min-width:12px;height:2px;margin:0 8px;border-radius:2px;background:var(--line);transition:background-color .3s ease}
.pl-prog li:has(.pl-done)::after{background:var(--aqua2)}
.pl-prog-b{display:flex;align-items:center;gap:10px;min-width:0;min-height:44px;padding:0;border:0;border-radius:999px;background:none;color:var(--ink);font:600 .9375rem/1.2 var(--sans);text-align:left}
.pl-prog-b:disabled{cursor:default;color:var(--ink-3)}
.pl-prog-n{position:relative;flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1.5px solid rgba(11,52,64,.22);background:#fff;font-weight:700;font-variant-numeric:tabular-nums;transition:background-color .25s,border-color .25s,color .25s,box-shadow .25s}
.pl-prog-l{display:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-prog-b[aria-current="step"] .pl-prog-n{background:var(--deep);border-color:var(--deep);color:#fff;box-shadow:0 0 0 5px var(--aqua0)}
.pl-prog-b.pl-done .pl-prog-n{background:var(--aqua);border-color:var(--aqua);color:transparent}
.pl-prog-b.pl-done .pl-prog-n::after{content:"";position:absolute;inset:9px;background:var(--deep);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5l5 5L19.5 7'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5l5 5L19.5 7'/%3E%3C/svg%3E") center/contain no-repeat}
.pl-prog-b.pl-done[aria-current="step"] .pl-prog-n{background:var(--deep);border-color:var(--deep);color:#fff}
.pl-prog-b.pl-done[aria-current="step"] .pl-prog-n::after{display:none}
@media (hover:hover){.pl-prog-b:not(:disabled):not([aria-current]):hover .pl-prog-n{border-color:var(--deep)}}
@media (min-width:600px){.pl-prog-b[aria-current="step"] .pl-prog-l{display:block}}
@media (min-width:1200px){.pl-prog-l{display:block}.pl-prog-b:not([aria-current="step"]) .pl-prog-l{color:var(--ink-2);font-weight:500}}
.pl-of{margin:16px 0 0;font-size:.875rem;font-weight:600;color:var(--ink-2)}

.pl-step{min-width:0}
.pl-step-t{margin:4px 0 22px;font-family:var(--serif);font-weight:560;font-size:clamp(1.75rem,1.2vw + 1.3rem,2.375rem);line-height:1.1;letter-spacing:-.015em;color:var(--ink)}
.pl-step-t:focus{outline:none}
.pl-lbl{margin:0 0 12px;font-weight:600;font-size:1rem;color:var(--ink)}
.pl-sub{margin:-10px 0 18px;color:var(--ink-2)}
.pl-hint{margin-top:10px;font-size:.9375rem;line-height:1.5;color:var(--ink-2)}
.pl-note{display:flex;gap:10px;align-items:flex-start;margin-top:12px;padding:12px 16px;border-radius:12px;background:var(--aqua0);color:var(--ink);font-size:.9375rem;line-height:1.5}
.pl-err{display:flex;align-items:flex-start;gap:8px;margin-top:12px;color:#B3261E;font-size:.9375rem;font-weight:500;line-height:1.45}
.pl-err .ico{width:20px;height:20px;margin-top:1px}

/* mesi, gruppi, interessi, ritmo: veri pulsanti con aria-pressed */
.pl-month,.pl-opt-b,.pl-int,.pl-rh{position:relative;border:1.5px solid rgba(11,52,64,.14);border-radius:var(--r);background:#fff;color:var(--ink);text-align:left;transition:border-color .2s ease,background-color .2s ease,color .2s ease,box-shadow .25s ease,transform .25s var(--ease)}
@media (hover:hover){.pl-month:hover,.pl-opt-b:hover,.pl-int:hover,.pl-rh:hover{border-color:var(--deep);box-shadow:0 14px 28px -20px rgba(8,42,52,.55)}}
.pl-month:active,.pl-opt-b:active,.pl-int:active,.pl-rh:active{transform:scale(.985)}
.pl-month[aria-pressed="true"],.pl-opt-b[aria-pressed="true"],.pl-int[aria-pressed="true"],.pl-rh[aria-pressed="true"]{background:var(--deep);border-color:var(--deep);color:#fff;box-shadow:0 18px 36px -22px rgba(8,42,52,.7)}

.pl-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (min-width:600px){.pl-months{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}}
.pl-month{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-height:104px;padding:14px 16px}
.pl-month .ico{width:24px;height:24px;margin-bottom:6px;color:var(--sun)}
.pl-month[data-pl-month="11"] .ico{color:var(--deep)}
.pl-month-n{font-weight:650;font-size:1.0625rem;line-height:1.25}
.pl-month-d{font-size:.875rem;line-height:1.4;color:var(--ink-2)}
.pl-month[aria-pressed="true"] .ico{color:var(--sun)}
.pl-month[aria-pressed="true"][data-pl-month="11"] .ico{color:var(--aqua2)}
.pl-month[aria-pressed="true"] .pl-month-d{color:rgba(255,255,255,.84)}

/* notti */
.pl-nights{position:relative;margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}
.pl-nights-in{display:flex;align-items:center;gap:22px}
.pl-nights-v{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;width:104px;height:104px;margin:0;border-radius:50%;background:var(--sand);color:var(--ink)}
.pl-nights-v b{font-family:var(--serif);font-weight:560;font-size:2.75rem;line-height:1;font-variant-numeric:tabular-nums}
.pl-nights-v span{margin-top:3px;font-size:.875rem;font-weight:600;color:var(--ink-2)}
.pl-range-w{flex:1 1 auto;min-width:0}
.pl-range{display:block;width:100%;height:32px;margin:0;padding:0;background:transparent;cursor:pointer;-webkit-appearance:none;appearance:none;--pl-pct:26.3%}
.pl-range:focus{outline:none}
.pl-range::-webkit-slider-runnable-track{height:6px;border-radius:6px;background:linear-gradient(90deg,var(--deep) 0,var(--deep) var(--pl-pct),var(--sand2) var(--pl-pct),var(--sand2) 100%)}
.pl-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:30px;height:30px;margin-top:-12px;border-radius:50%;border:2px solid var(--deep);background:#fff;box-shadow:0 6px 14px -6px rgba(8,42,52,.55);transition:box-shadow .2s ease}
.pl-range::-moz-range-track{height:6px;border-radius:6px;background:var(--sand2)}
.pl-range::-moz-range-progress{height:6px;border-radius:6px;background:var(--deep)}
.pl-range::-moz-range-thumb{width:26px;height:26px;border-radius:50%;border:2px solid var(--deep);background:#fff;box-shadow:0 6px 14px -6px rgba(8,42,52,.55)}
.pl-range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--aqua2),0 6px 14px -6px rgba(8,42,52,.55)}
.pl-range:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px var(--aqua2)}
.pl-range-s{position:relative;height:20px;margin:4px 15px 0;font-size:.8125rem;font-weight:600;color:var(--ink-2);font-variant-numeric:tabular-nums}
.pl-range-s span{position:absolute;top:0;transform:translateX(-50%)}
.pl-range-s span:nth-child(1){left:0}
.pl-range-s span:nth-child(2){left:26.316%}
.pl-range-s span:nth-child(3){left:63.158%}
.pl-range-s span:nth-child(4){left:100%}
.pl-quick{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.pl-chip{min-height:44px;padding:8px 16px;border:1.5px solid rgba(11,52,64,.2);border-radius:999px;background:#fff;color:var(--ink);font:600 .9375rem/1.2 var(--sans);transition:background-color .2s,border-color .2s,color .2s}
@media (hover:hover){.pl-chip:hover{border-color:var(--deep)}}
.pl-chip[aria-pressed="true"]{background:var(--deep);border-color:var(--deep);color:#fff}
.pl-tip{margin-top:16px;padding:12px 16px;border-radius:12px;background:var(--aqua0);color:var(--ink);font-size:.9375rem;line-height:1.5}
.pl-tip:empty{display:none}
@media (max-width:599px){
  .pl-nights-in{display:block}
  .pl-nights-v{position:absolute;top:14px;right:0;flex-direction:row;align-items:baseline;gap:6px;width:auto;height:auto;background:none}
  .pl-nights-v b{font-size:2.25rem}
  .pl-nights-v span{margin:0;font-size:1rem}
  .pl-nights .pl-lbl{margin-bottom:18px;line-height:2.2}
}

/* date facoltative */
.pl-dates{margin-top:22px;border-top:1px solid var(--line)}
.pl-dates summary{display:flex;align-items:center;gap:10px;min-height:56px;padding:6px 0;cursor:pointer;list-style:none;color:var(--ink);font-weight:600;border-radius:8px}
.pl-dates summary::-webkit-details-marker{display:none}
.pl-dates summary .ico{width:22px;height:22px;color:var(--deep)}
.pl-opt{margin-left:2px;padding:2px 8px;border-radius:999px;background:var(--sand0);color:var(--ink-2);font-size:.8125rem;font-weight:600}
.pl-dates-ch{margin-left:auto;transition:transform .25s var(--ease)}
.pl-dates[open] .pl-dates-ch{transform:rotate(180deg)}
.pl-dates-in{padding:4px 0 6px}
.pl-dates-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(136px,1fr));gap:12px}
.pl-f{display:flex;flex-direction:column;gap:6px;min-width:0}
.pl-f label{font-weight:600;font-size:.9375rem;color:var(--ink)}
.pl-inp{display:block;width:100%;min-width:0;height:52px;margin:0;padding:0 12px;border:1.5px solid var(--field);border-radius:var(--r-btn);background:#fff;color:var(--ink);font:400 1rem/1.4 var(--sans);-webkit-appearance:none;appearance:none;transition:border-color .2s,box-shadow .2s}
input[type="date"].pl-inp{line-height:48px}
.pl-inp:hover{border-color:var(--ink-2)}
.pl-inp:focus{outline:none;border-color:var(--petrol);box-shadow:0 0 0 3px rgba(11,52,64,.18)}
.pl-inp[aria-invalid="true"]{border-color:#B3261E;background-color:#FDF3F2}
.pl-dates .pl-tbtn{margin-top:4px}

/* chi viene */
.pl-party{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (min-width:600px){.pl-party{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}}
.pl-opt-b{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:96px;padding:14px 10px;font:600 1rem/1.25 var(--sans);text-align:center}
.pl-opt-b .ico{width:32px;height:32px;color:var(--deep)}
.pl-opt-b[aria-pressed="true"] .ico{color:var(--aqua2)}
.pl-count{display:grid;grid-template-columns:minmax(0,1fr);margin-top:20px;padding:4px 18px 0;border-radius:var(--r);background:var(--sand0)}
@media (min-width:600px){.pl-count{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}}
.pl-stp{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;padding:8px 0}
.pl-stp + .pl-stp{border-top:1px solid var(--line)}
@media (min-width:600px){.pl-stp + .pl-stp{border-top:0}}
.pl-stp-n{font-weight:600;font-size:1.0625rem;color:var(--ink)}
.pl-stp-c{display:flex;align-items:center;gap:6px}
.pl-stp-b{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1.5px solid var(--field);border-radius:50%;background:#fff;color:var(--ink);transition:background-color .2s,border-color .2s,color .2s}
.pl-stp-b .ico{width:20px;height:20px}
@media (hover:hover){.pl-stp-b:hover:not([aria-disabled="true"]){background:var(--deep);border-color:var(--deep);color:#fff}}
.pl-stp-b:active:not([aria-disabled="true"]){background:var(--aqua)}
.pl-stp-b[aria-disabled="true"]{opacity:.35;cursor:not-allowed}
.pl-stp-v{min-width:2.2ch;text-align:center;font-weight:700;font-size:1.25rem;font-variant-numeric:tabular-nums;color:var(--ink)}
.pl-crew{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:flex-end;gap:2px;min-height:46px;margin:0;padding:8px 0 12px;border-top:1px solid var(--line);color:var(--deep)}
.pl-crew .ico{stroke-width:1.5}
.pl-crew-a{width:30px;height:30px}
.pl-crew-c{width:22px;height:22px}
.pl-crew-d{width:22px;height:22px;margin-left:6px;color:var(--ink-2)}
.pl-switch{display:flex;align-items:center;gap:14px;width:100%;min-height:60px;margin-top:14px;padding:8px 0;border:0;border-radius:12px;background:none;color:var(--ink);font:600 1.0625rem/1.3 var(--sans);text-align:left}
.pl-switch-k{position:relative;flex:none;width:52px;height:30px;border-radius:999px;background:var(--field);transition:background-color .2s ease}
.pl-switch-k::after{content:"";position:absolute;left:3px;top:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(8,42,52,.3);transition:transform .22s var(--ease)}
.pl-switch[aria-checked="true"] .pl-switch-k{background:var(--deep)}
.pl-switch[aria-checked="true"] .pl-switch-k::after{transform:translateX(22px)}
.pl-switch-l{display:flex;align-items:center;gap:8px}
.pl-switch-l .ico{flex:none;color:var(--deep)}
.pl-switch-n{font-weight:500;color:var(--ink-2)}

/* cosa vi piace */
.pl-ints{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (min-width:760px){.pl-ints{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}}
.pl-int{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:12px;min-height:108px;padding:14px 16px 16px;font:600 1rem/1.3 var(--sans)}
.pl-int > .ico:first-child{width:30px;height:30px;color:var(--deep)}
.pl-int[aria-pressed="true"] > .ico:first-child{color:var(--aqua2)}
.pl-int-ck{position:absolute;top:12px;right:12px;width:24px!important;height:24px!important;padding:3px;border-radius:50%;background:var(--aqua2);color:var(--deep);stroke-width:2.4!important;opacity:0;transform:scale(.6);transition:opacity .2s ease,transform .25s var(--ease)}
.pl-int[aria-pressed="true"] .pl-int-ck{opacity:1;transform:none}

/* che ritmo */
.pl-rhs{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
@media (min-width:760px){.pl-rhs{grid-template-columns:repeat(3,minmax(0,1fr))}}
.pl-rh{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:18px 18px 16px;border-radius:20px}
.pl-rh-t{font-family:var(--serif);font-weight:560;font-size:1.4375rem;line-height:1.15;letter-spacing:-.01em}
.pl-rh-d{font-size:.9375rem;line-height:1.45;color:var(--ink-2)}
@media (min-width:760px){.pl-rh-d{min-height:4.35em}}
.pl-rh-day{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px}
.pl-rh-day i{height:7px;border-radius:7px;background:var(--sand2)}
.pl-rh-day i.pl-rh-on{background:var(--sun)}
.pl-rh-dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;font-size:.75rem;font-weight:600;color:var(--ink-2);text-align:center;white-space:nowrap}
.pl-rh[aria-pressed="true"] .pl-rh-d{color:rgba(255,255,255,.84)}
.pl-rh[aria-pressed="true"] .pl-rh-day i{background:rgba(255,255,255,.2)}
.pl-rh[aria-pressed="true"] .pl-rh-day i.pl-rh-on{background:var(--sun)}
.pl-rh[aria-pressed="true"] .pl-rh-dl{color:rgba(255,255,255,.76)}

/* avanti / indietro */
.pl-nav{display:flex;align-items:center;gap:12px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
.pl-next{margin-left:auto}
.pl-tbtn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 2px;border:0;background:none;color:var(--petrol);font:600 1rem/1.2 var(--sans);text-decoration:underline;text-decoration-thickness:1.5px;text-decoration-color:rgba(11,52,64,.28);text-underline-offset:.24em;cursor:pointer;transition:text-decoration-color .2s,color .2s}
.pl-tbtn .ico{width:20px;height:20px}
@media (hover:hover){.pl-tbtn:hover{text-decoration-color:var(--petrol)}}
.pl-prev{text-decoration:none;padding-right:10px}
@media (prefers-reduced-motion:no-preference){
  .pl-step.pl-enter{animation:pl-step .38s var(--ease) both}
  .pl-photo img{transition:opacity .22s ease}
}
@keyframes pl-step{from{opacity:0;transform:translateY(10px)}}

/* ------------------------------------------------------------------ colonna: foto + "Il vostro viaggio" */
.pl-photo{position:relative;display:none;margin:0 0 16px;aspect-ratio:4 / 3;border-radius:24px;overflow:hidden;background:var(--sand2);box-shadow:0 30px 60px -36px rgba(8,42,52,.5)}
@media (min-width:1000px){.pl-photo{display:block}}
.pl-photo img{width:100%;height:100%;object-fit:cover}
.pl-photo img.pl-fade{opacity:0}
.pl-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:44px 18px 14px;background:linear-gradient(0deg,rgba(4,28,36,.66),rgba(4,28,36,0));color:#fff;font-weight:600;font-size:.9375rem;line-height:1.35;text-shadow:0 1px 3px rgba(4,28,36,.4)}
.pl-sum{padding:20px 18px 16px;border-radius:24px;background:rgba(255,255,255,.6);border:1px solid rgba(11,52,64,.1)}
.pl-sum-t{margin:0 0 12px 4px;font-family:var(--serif);font-weight:560;font-size:1.3125rem;line-height:1.2;letter-spacing:-.01em;color:var(--ink)}
.pl-sum-l{display:grid;gap:6px;margin:0}
.pl-sum-r{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:12px;padding:8px 10px;border-radius:14px;transition:background-color .25s ease,box-shadow .25s ease}
.pl-sum-r dt{display:flex;align-items:center;gap:10px;font-size:.875rem;font-weight:600;color:var(--ink-2)}
.pl-sum-r dt .ico{width:34px;height:34px;padding:7px;border-radius:50%;background:var(--aqua0);color:var(--deep);transition:background-color .25s,color .25s}
.pl-sum-r dd{margin:0;font-weight:600;font-size:.9375rem;line-height:1.4;color:var(--ink);overflow-wrap:anywhere}
.pl-sum-e{font-weight:400;color:var(--ink-2)}
.pl-sum-r.pl-sum-now{background:#fff;box-shadow:0 10px 24px -18px rgba(8,42,52,.5)}
.pl-sum-r.pl-sum-now dt .ico{background:var(--deep);color:#fff}
.pl-sum-n{display:flex;align-items:baseline;gap:10px;margin:14px 0 0;padding:14px 10px 0;border-top:1px dashed rgba(11,52,64,.22);color:var(--ink-2);font-weight:500}
.pl-sum-n b{font-family:var(--serif);font-weight:560;font-size:2.25rem;line-height:1;color:var(--deep);font-variant-numeric:tabular-nums}

/* ------------------------------------------------------------------ il programma */
.plan-out{--pl-wh:clamp(28px,4vw,60px);background:linear-gradient(180deg,var(--aqua) 0%,var(--aqua0) 100%)}
.pl-wave{position:absolute;left:0;top:calc(-1 * var(--pl-wh) + 1px);width:100%;height:var(--pl-wh);fill:var(--aqua);pointer-events:none}
.pl-print-h{display:none}
.pl-out-head{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:center}
@media (min-width:960px){.pl-out-head{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);column-gap:clamp(40px,5vw,72px)}}
.pl-out-t{font-size:clamp(2.25rem,2.6vw + 1.3rem,3.875rem);line-height:1.03}
.pl-out-t:focus{outline:none}
.pl-script{display:block;margin:0 0 4px -.02em;font-family:var(--script);font-weight:400;font-size:.78em;line-height:1.1;letter-spacing:0;color:var(--coral-ink)}
.pl-out-meta{margin-top:14px;font-size:clamp(1.0625rem,.3vw + 1rem,1.25rem);line-height:1.5;color:var(--ink)}
.pl-out-ints{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.pl-out-ints li{display:inline-flex;align-items:center;gap:7px;padding:6px 12px 6px 9px;border-radius:999px;background:rgba(255,255,255,.72);color:var(--ink);font-size:.875rem;font-weight:600;line-height:1.3}
.pl-out-ints .ico{width:18px;height:18px;color:var(--deep)}
.pl-live{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:18px;color:var(--ink);font-weight:600}
.pl-live .ico{width:22px;height:22px;color:var(--deep)}
.pl-live a{color:var(--ink-2);font-size:.8125rem;font-weight:500;text-underline-offset:.2em}
.pl-out-ph{margin:0;aspect-ratio:16 / 10;border-radius:28px;overflow:hidden;background:var(--aqua2);box-shadow:0 40px 80px -42px rgba(8,42,52,.6)}
@media (max-width:599px){.pl-out-ph{aspect-ratio:16 / 9;border-radius:20px}}
.pl-out-ph img{width:100%;height:100%;object-fit:cover}

.pl-acts{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:28px}
.pl-acts .btn-line{background:rgba(255,255,255,.55)}
@media (hover:hover){.pl-acts .btn-line:hover{background:var(--petrol);border-color:var(--petrol);color:#fff}}
.pl-acts-t{display:flex;flex-wrap:wrap;gap:0 20px;margin-left:6px}
@media (max-width:599px){.pl-acts .btn{flex:1 1 100%}.pl-acts-t{margin-left:0}}
.pl-out-intro{max-width:46em;margin-top:26px;color:var(--ink-2);font-size:.9375rem;line-height:1.6}

.pl-days{display:grid;gap:16px;margin:30px 0 0;padding:0;list-style:none}
.pl-day{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;padding:16px;border-radius:24px;background:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.85)}
@media (min-width:960px){.pl-day{grid-template-columns:200px minmax(0,1fr);gap:24px;padding:20px 20px 20px 24px}}
.pl-day-h{display:flex;align-items:flex-start;gap:14px;min-width:0}
@media (min-width:960px){.pl-day-h{flex-direction:column;gap:12px;padding-top:4px}}
.pl-day-n{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--deep);color:#fff;font-family:var(--serif);font-weight:560;font-size:1.25rem;line-height:1;font-variant-numeric:tabular-nums}
.pl-day-n .ico{width:22px;height:22px}
.pl-day-t{font-family:var(--serif);font-weight:560;font-size:clamp(1.3125rem,.6vw + 1.1rem,1.625rem);line-height:1.18;letter-spacing:-.012em;color:var(--ink)}
.pl-day-k{display:block;margin-bottom:4px;font-family:var(--sans);font-weight:600;font-size:.875rem;line-height:1.35;letter-spacing:0;color:var(--ink-2)}
.pl-slots{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin:0;padding:0;list-style:none}
@media (min-width:700px){.pl-slots{grid-template-columns:repeat(3,minmax(0,1fr))}.pl-span{grid-column:span 2}}
.pl-day-dep .pl-slots{grid-template-columns:minmax(0,1fr)}
@media (min-width:700px){.pl-day-dep .pl-slots{grid-template-columns:repeat(3,minmax(0,1fr))}}
.pl-slot{position:relative;display:flex;flex-direction:column;gap:6px;min-width:0;padding:16px 16px 14px;border-radius:var(--r);background:#fff;box-shadow:0 16px 30px -26px rgba(8,42,52,.55)}
.pl-slot-l{display:flex;align-items:center;gap:7px;min-height:24px;padding-right:46px;font-weight:600;font-size:.875rem;line-height:1.2;color:var(--deep)}
.pl-slot-l .ico{width:20px;height:20px}
.pl-act-t{margin:0;font-family:var(--sans);font-weight:650;font-size:1.0625rem;line-height:1.3;letter-spacing:-.005em;color:var(--ink)}
.pl-act-i{position:absolute;top:12px;right:12px;width:40px!important;height:40px!important;padding:9px;border-radius:50%;background:var(--aqua0);color:var(--deep)}
.pl-act-d{font-size:.9375rem;line-height:1.55;color:var(--ink-2)}
.pl-act-n{font-size:.875rem;line-height:1.45;color:var(--ink-2);padding-left:10px;border-left:2px solid var(--aqua2)}
.pl-tags{display:flex;flex-wrap:wrap;gap:6px;margin:auto 0 0;padding:8px 0 0;list-style:none}
.pl-tags li{display:inline-flex;align-items:center;gap:5px;padding:4px 10px 4px 8px;border-radius:999px;background:var(--sand0);color:var(--ink-2);font-size:.8125rem;font-weight:600;line-height:1.3}
.pl-tags .ico{width:16px;height:16px;color:var(--deep)}
.pl-fix{background:var(--sand0);box-shadow:none;border:1px solid rgba(11,52,64,.08)}
.pl-fix .pl-act-i{background:#fff}
.pl-ww{background:linear-gradient(165deg,#fff 30%,var(--aqua0) 100%)}
.pl-free{gap:4px;background:rgba(255,255,255,.35);box-shadow:none;border:1.5px dashed rgba(11,52,64,.16)}
.pl-free .pl-slot-l{padding-right:0;color:var(--ink-2)}
.pl-free-h{font-size:.875rem;line-height:1.45;color:var(--ink-2)}
@media (max-width:699px){
  .pl-free{flex-direction:row;flex-wrap:wrap;align-items:center;gap:2px 10px;padding:10px 14px}
}
.pl-day-rest .pl-day-n{background:var(--aqua2);color:var(--deep)}
.pl-rest{padding:18px;border-radius:var(--r);background:#fff}
.pl-rest > p{color:var(--ink-2)}
.pl-rest ul{margin:10px 0 0;padding:0;list-style:none}
.pl-rest li{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-top:1px solid var(--line);color:var(--ink-2);font-size:.9375rem;line-height:1.5}
.pl-rest li .ico{flex:none;width:22px;height:22px;margin-top:1px;color:var(--deep)}
.pl-rest li b{color:var(--ink);font-weight:650}
.pl-rest-n{margin-top:8px;font-size:.875rem;color:var(--ink-2)}

.pl-more{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:32px}
@media (min-width:960px){.pl-more{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}
.pl-box{padding:clamp(20px,2.4vw,28px);border-radius:24px;background:#fff}
.pl-box h3{margin-bottom:8px;font-family:var(--serif);font-weight:560;font-size:1.5rem;line-height:1.2;letter-spacing:-.012em}
.pl-box-d{color:var(--ink-2);font-size:.9375rem}
.pl-box-n{margin-top:12px;font-size:.875rem;color:var(--ink-2)}
.pl-rooms-l,.pl-tips-l{margin:10px 0 0;padding:0;list-style:none}
.pl-rooms-l li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:12px 0;border-top:1px solid var(--line)}
.pl-rooms-l b{color:var(--ink);font-weight:650}
.pl-room-c{color:var(--deep);font-size:.875rem;font-weight:600;white-space:nowrap}
.pl-room-f{grid-column:1 / -1;color:var(--ink-2);font-size:.9375rem;line-height:1.5}
.pl-tips-l li{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-top:1px solid var(--line);color:var(--ink);font-size:.9375rem;line-height:1.5}
.pl-tips-l .ico{flex:none;width:22px;height:22px;margin-top:1px;color:var(--deep)}

.pl-ask{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 36px;margin-top:32px;padding:clamp(22px,3vw,36px);border-radius:28px;background:radial-gradient(600px 240px at 0% 0%,rgba(242,184,75,.14),transparent 70%),linear-gradient(120deg,var(--deep),var(--deep2));color:#DCEAEC;--focus:#fff}
.pl-ask-txt{flex:1 1 320px;min-width:0}
.pl-ask h3{margin-bottom:6px;color:#fff;font-family:var(--serif);font-weight:560;font-size:clamp(1.5rem,1vw + 1.2rem,2rem);line-height:1.15}
.pl-ask p{max-width:36em;color:#DCEAEC}
.pl-ask-b{flex:none;border-color:rgba(255,255,255,.88);color:#fff;background:transparent}
@media (hover:hover){.pl-ask-b:hover{background:#fff;color:var(--deep);border-color:#fff}}
@media (max-width:599px){.pl-ask-b{flex:1 1 100%}}
.pl-acts-end{justify-content:flex-start;margin-top:28px}

@media (prefers-reduced-motion:no-preference){
  .plan-out.pl-shown .pl-out-head,.plan-out.pl-shown .pl-acts{animation:pl-rise .6s var(--ease) both}
  .plan-out.pl-shown .pl-day{animation:pl-rise .6s var(--ease) both;animation-delay:calc(min(var(--pl-i,0),6) * 70ms + 120ms)}
}
@keyframes pl-rise{from{opacity:0;transform:translateY(18px)}}

/* ------------------------------------------------------------------ stampa: solo il programma, una colonna */
@media print{
  @page{margin:14mm}
  body:has(#programma:not([hidden])) > :not(main){display:none!important}
  main:has(> #programma:not([hidden])) > :not(#programma){display:none!important}
  .ch-root{display:none!important}
  html,body{background:#fff!important}
  .plan-out{padding:0!important;background:none!important;color:#000}
  .pl-wave,.pl-acts,.pl-ask,.pl-out-ph,.pl-live,.pl-out-intro,.pl-act-i,.pl-free,.pl-tags .ico,.pl-day-n{display:none!important}
  .pl-print-h{display:block;margin:0 0 6mm;padding-bottom:3mm;border-bottom:1px solid #999;font-size:9.5pt;color:#000}
  .pl-out-head{display:block}
  .pl-out-t{font-size:22pt;color:#000}
  .pl-script{color:#000}
  .pl-out-meta,.pl-live{font-size:11pt;color:#000}
  .pl-out-ints li{padding:0 8pt 0 0;background:none}
  .pl-days{gap:0;margin-top:6mm}
  .pl-day{display:block;padding:3mm 0;border:0;border-top:1px solid #bbb;border-radius:0;background:none;break-inside:avoid;page-break-inside:avoid}
  .pl-day-t{font-size:13pt;color:#000}
  .pl-slots{display:block;margin-top:1.5mm}
  .pl-slot{display:block;padding:1mm 0 1mm 4mm;border:0;border-radius:0;background:none!important;box-shadow:none}
  .pl-slot-l{display:inline;padding:0;font-size:9.5pt;color:#000}
  .pl-slot-l .ico{display:none}
  .pl-slot-l::after{content:" · "}
  .pl-act-t{display:inline;font-size:10.5pt;color:#000}
  .pl-act-d,.pl-act-n{margin-top:.5mm;font-size:9.5pt;color:#222;border:0;padding:0}
  .pl-tags{display:inline;padding:0}
  .pl-tags li{padding:0 6pt 0 0;background:none;font-size:8.5pt;color:#444}
  .pl-more{display:block;margin-top:5mm}
  .pl-box{padding:3mm 0;border-top:1px solid #bbb;border-radius:0;break-inside:avoid}
  .pl-box h3{font-size:13pt;color:#000}
  .pl-rest{padding:0}
  a{color:#000;text-decoration:none}
}

/* ================================================================== assistente: pulsante e finestra */
.ch-root{--ch-mb:0px}
.ch-launch{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:44;display:inline-flex;align-items:center;justify-content:center;gap:10px;width:58px;height:58px;margin:0;padding:0;border:0;border-radius:999px;background:var(--deep);color:#fff;font:600 1rem/1 var(--sans);letter-spacing:.005em;box-shadow:0 18px 40px -16px rgba(8,42,52,.65),0 4px 12px -4px rgba(8,42,52,.3);cursor:pointer;--focus:var(--deep);transition:bottom .35s var(--ease),transform .35s var(--ease),opacity .25s ease,background-color .2s ease,visibility 0s linear 0s}
.ch-launch .ico{width:26px;height:26px}
.ch-launch-l{display:none}
@media (min-width:900px){
  .ch-launch{right:24px;bottom:24px;width:auto;height:60px;padding:0 26px 0 19px;gap:11px;background:var(--sun);color:var(--deep2);font-weight:700;font-size:1.0625rem;--focus:var(--deep2);box-shadow:0 18px 40px -14px rgba(120,78,6,.7),0 4px 12px -4px rgba(8,42,52,.3)}
  .ch-launch .ico{width:28px;height:28px;animation:ch-sun 16s linear infinite}
  .ch-launch-l{display:inline}
  .ch-launch::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;animation:ch-ring 6s ease-out infinite}
}
@keyframes ch-sun{to{transform:rotate(360deg)}}
@keyframes ch-ring{0%{box-shadow:0 0 0 0 rgba(242,184,75,.6)}35%,100%{box-shadow:0 0 0 18px rgba(242,184,75,0)}}
@media (hover:hover) and (min-width:900px){.ch-launch:hover{background:#F7CB72}}
.ch-launch:active{transform:scale(.97)}
.ch-up .ch-launch{bottom:calc(var(--ch-mb) + 12px)}
.ch-away .ch-launch,.ch-on .ch-launch{opacity:0;visibility:hidden;transform:translateY(14px);transition:bottom .35s var(--ease),transform .3s var(--ease),opacity .2s ease,visibility 0s linear .3s}

.ch-scrim{position:fixed;inset:0;z-index:94;background:rgba(7,31,41,.3);opacity:0;transition:opacity .25s ease}
.ch-scrim.ch-vis{opacity:1}
.ch-panel{position:fixed;inset:0;z-index:95;display:flex;flex-direction:column;background:var(--sand0);color:var(--ink-2);opacity:0;transform:translateY(28px);transition:opacity .25s ease,transform .32s var(--ease);--focus:var(--petrol)}
.ch-panel.ch-vis{opacity:1;transform:none}
@media (max-width:899px){html.ch-lock,html.ch-lock body{overflow:hidden}}
@media (min-width:900px){
  .ch-panel{inset:16px 16px 16px auto;width:min(424px,calc(100vw - 32px));border-radius:24px;overflow:hidden;box-shadow:var(--float),0 40px 90px -30px rgba(8,42,52,.45);transform:translateX(28px)}
  .ch-scrim{background:rgba(7,31,41,.18)}
}

.ch-head{flex:none;display:flex;align-items:center;gap:6px;padding:12px 12px 12px 20px;padding-top:calc(12px + env(safe-area-inset-top));background:radial-gradient(420px 160px at 0% 0%,rgba(242,184,75,.16),transparent 70%),linear-gradient(120deg,var(--deep),var(--deep2));color:#fff;--focus:#fff}
.ch-head-t{flex:1 1 auto;min-width:0}
.ch-title{font-family:var(--serif);font-weight:560;font-size:1.3125rem;line-height:1.2;letter-spacing:-.01em;color:#fff}
.ch-title:focus{outline:none}
.ch-sub{margin-top:2px;font-size:.8125rem;color:rgba(255,255,255,.78)}
.ch-new{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border:0;border-radius:999px;background:transparent;color:#fff;font:600 .875rem/1 var(--sans)}
.ch-new .ico{width:18px;height:18px}
@media (hover:hover){.ch-new:hover{background:rgba(255,255,255,.12)}}
@media (max-width:479px){.ch-new{width:44px;padding:0;justify-content:center}.ch-new span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.ch-new .ico{width:22px;height:22px}}
.ch-x{flex:none;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1.5px solid rgba(255,255,255,.45);border-radius:50%;background:transparent;color:#fff;transition:background-color .2s,border-color .2s}
.ch-x .ico{width:22px;height:22px}
@media (hover:hover){.ch-x:hover{background:rgba(255,255,255,.14);border-color:#fff}}

.ch-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:18px 16px 12px}
.ch-log{display:flex;flex-direction:column;gap:14px;margin:0;padding:0;list-style:none}
.ch-msg{display:flex;flex-direction:column;align-items:flex-start;gap:8px;max-width:100%}
.ch-u{align-items:flex-end}
.ch-bubble{max-width:90%;padding:12px 15px;border-radius:18px 18px 18px 6px;background:#fff;color:var(--ink);font-size:1rem;line-height:1.5;box-shadow:0 10px 24px -18px rgba(8,42,52,.5);overflow-wrap:anywhere}
.ch-u .ch-bubble{border-radius:18px 18px 6px 18px;background:var(--deep);color:#fff;box-shadow:none}
.ch-bubble p + p,.ch-bubble p + ul,.ch-bubble ul + p{margin-top:8px}
.ch-bubble ul{display:grid;gap:6px;margin:6px 0 0;padding:0;list-style:none}
.ch-bubble li{position:relative;padding-left:16px}
.ch-bubble li::before{content:"";position:absolute;left:2px;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--aqua2)}
.ch-bubble a{color:var(--petrol);font-weight:600;text-underline-offset:.18em}
.ch-acts{display:flex;flex-wrap:wrap;gap:8px;max-width:100%}
.ch-act{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 15px 8px 13px;border:1.5px solid rgba(11,52,64,.28);border-radius:999px;background:#fff;color:var(--petrol);font:600 .9375rem/1.2 var(--sans);text-decoration:none;transition:background-color .2s,border-color .2s,color .2s}
.ch-act .ico{width:18px;height:18px}
@media (hover:hover){.ch-act:hover{background:var(--petrol);border-color:var(--petrol);color:#fff}}
.ch-act-p{background:var(--coral);border-color:var(--coral);color:#fff}
@media (hover:hover){.ch-act-p:hover{background:var(--coral-h);border-color:var(--coral-h)}}
.ch-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
.ch-chip{min-height:44px;padding:8px 15px;border:1.5px solid var(--aqua2);border-radius:999px;background:var(--aqua0);color:var(--ink);font:600 .9375rem/1.25 var(--sans);text-align:left;transition:background-color .2s,border-color .2s}
@media (hover:hover){.ch-chip:hover{background:var(--aqua);border-color:var(--deep)}}
.ch-wait .ch-bubble{padding:15px 18px}
.ch-dots{display:inline-flex;gap:5px}
.ch-dots i{width:7px;height:7px;border-radius:50%;background:var(--ink-2);opacity:.45}
@media (prefers-reduced-motion:no-preference){
  .ch-dots i{animation:ch-dot 1.2s ease-in-out infinite}
  .ch-dots i:nth-child(2){animation-delay:.15s}
  .ch-dots i:nth-child(3){animation-delay:.3s}
  .ch-new-msg{animation:ch-in .32s var(--ease) both}
}
@keyframes ch-dot{0%,100%{opacity:.3;transform:none}50%{opacity:1;transform:translateY(-3px)}}
@keyframes ch-in{from{opacity:0;transform:translateY(8px)}}

.ch-form{flex:none;display:flex;align-items:center;gap:8px;padding:10px 12px 8px;border-top:1px solid var(--line);background:#fff}
.ch-in{flex:1 1 auto;min-width:0;height:50px;margin:0;padding:0 18px;border:1.5px solid var(--field);border-radius:999px;background:var(--sand0);color:var(--ink);font:400 1rem/1.3 var(--sans);-webkit-appearance:none;appearance:none;transition:border-color .2s,box-shadow .2s,background-color .2s}
.ch-in::placeholder{color:var(--ink-3);opacity:1}
.ch-in:focus{outline:none;border-color:var(--petrol);background:#fff;box-shadow:0 0 0 3px rgba(11,52,64,.18)}
.ch-send{flex:none;display:grid;place-items:center;width:50px;height:50px;padding:0;border:0;border-radius:50%;background:var(--deep);color:#fff;transition:background-color .2s,opacity .2s}
.ch-send .ico{width:22px;height:22px;stroke-width:1.9}
@media (hover:hover){.ch-send:hover{background:var(--deep2)}}
.ch-send:disabled{opacity:.5;cursor:progress}
.ch-foot{flex:none;margin:0;padding:0 16px calc(10px + env(safe-area-inset-bottom));background:#fff;color:var(--ink-2);font-size:.75rem;line-height:1.4;text-align:center}

@media (prefers-reduced-motion:reduce){
  .ch-launch,.ch-launch .ico,.ch-launch::after,.ch-panel,.ch-scrim,.pl-month,.pl-opt-b,.pl-int,.pl-rh,.pl-switch-k::after,.pl-int-ck,.pl-photo img{transition:none!important;animation:none!important}
}
