/* Correzioni conservative: i font, i colori e la composizione sono quelli X5. */
:root { --eremo-green: #85a85e; --eremo-text: #434343; }
html { scroll-padding-top: 80px; }
.eremo-calendar-anchor { scroll-margin-top: 12px; }
a:focus-visible, button:focus-visible, [role="button"]:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid #416721 !important; outline-offset: 4px; }
.eremo-skip { position: fixed; left: 12px; top: -100px; z-index: 100000; background: white; color: #434343; padding: 12px 18px; }
.eremo-skip:focus { top: 12px; }
.eremo-room-facts { margin: 0 0 12px; color: #434343; font: 18px/1.5 'PT Sans',sans-serif; text-align: center; }
.eremo-room-facts h2 { margin: 0 0 8px; color: #648444; font: 700 30px/1.2 'Caveat',cursive; }
.eremo-room-facts dl { margin: 0; }
.eremo-room-facts dl > div { display: flex; flex-wrap: wrap; justify-content: center; gap: 0 8px; }
.eremo-room-facts dt { font-weight: 700; }
.eremo-room-facts dt::after { content: ':'; }
.eremo-room-facts dd { margin: 0; }
.eremo-room-calendar { display: block; color: #416721; font: 18px/1.5 'PT Sans',sans-serif; text-decoration: underline; }
#imContent .eremo-guest-jump { margin: 32px 0 18px; text-align: center; font: 17px/1.5 'PT Sans',sans-serif; }
#imContent .eremo-guest-jump a { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; max-width: 100%; min-height: 48px; padding: 11px 22px; border: 1px solid #fff; border-radius: 4px; background: #fff; color: #304b25; font-weight: 700; text-decoration: none; text-shadow: none; box-shadow: 0 3px 12px rgb(20 35 15 / 22%); }
#imContent .eremo-guest-jump a:hover { background: #f5f8f2; text-decoration: underline; text-underline-offset: 3px; }
#imContent .eremo-guest-info { grid-column: 2 / -2; box-sizing: border-box; width: calc(100% - 40px); max-width: 1060px; margin: 32px auto; padding: 28px 24px; border-top: 2px solid #85a85e; background: #fff; color: #434343; font: 17px/1.6 'PT Sans',sans-serif; text-align: left; }
#imContent .eremo-guest-info h2 { margin: 0 0 24px; color: #416721; font: 700 36px/1.2 'Caveat',cursive; }
.eremo-guest-info dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px 36px; margin: 0; }
.eremo-guest-info dt { margin: 0 0 6px; font-weight: 700; color: #304b25; }
.eremo-guest-info dd { margin: 0; }
.eremo-guest-info p { margin: 24px 0 0; }
#imContent .eremo-guest-info a { color: #416721; text-decoration: underline; text-underline-offset: 3px; }
.eremo-guest-info p a { display: inline-block; padding: 10px 0; }
@media (max-width:719px) {
  #imContent .eremo-guest-info { padding: 24px 16px; }
  .eremo-guest-info dl { grid-template-columns: minmax(0,1fr); gap: 22px; }
}
/* Campi originali X5, con dimensioni più comode anche al tocco. */
#imContent #imObjectForm_224_form input[type="text"],
#imContent #imObjectForm_224_form input[type="email"],
#imContent #imObjectForm_224_form input[type="tel"] { min-height: 48px; font-size: 16px; }
#imContent #imObjectForm_224_form textarea { min-height: 160px; font-size: 16px; resize: vertical; }
#imContent #imObjectForm_224_form input[type="submit"],
#imContent #imObjectForm_224_form input[type="button"] { box-sizing: border-box; min-height: 48px; min-width: 112px; font-size: 16px; }
#imContent .eremo-contact-help { margin: 0 10px 16px 0; color: #fff; font: 16px/1.5 'PT Sans',sans-serif; }
/* Due accessi nella home; la citazione e lo sfondo restano quelli originali. */
#imContent .eremo-home-intro { padding-bottom: 32px; }
.eremo-home-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 22px auto 0; }
.eremo-home-actions a { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; min-height: 48px; padding: 8px 26px; border: 2px solid #416721; border-radius: 4px; background: #416721; color: #fff; font: 700 27px/1.2 'Caveat',cursive; text-decoration: none; text-shadow: none; }
.eremo-home-actions a.eremo-home-actions-secondary { background: #fff; color: #416721; }
.eremo-home-actions a:not(.eremo-home-actions-secondary) { background: #304b25; border-color: #f3efdf; box-shadow: 0 4px 14px rgb(20 35 15 / 28%), inset 0 1px 0 rgb(255 255 255 / 12%); transition: background-color 160ms ease, box-shadow 160ms ease; }
@media (hover:hover) {
  .eremo-home-actions a:not(.eremo-home-actions-secondary):hover { background: #3b5c2d; box-shadow: 0 6px 18px rgb(20 35 15 / 36%), inset 0 1px 0 rgb(255 255 255 / 16%); }
}
.eremo-home-actions a:hover { text-decoration: underline; text-underline-offset: 4px; }
.eremo-home-actions a:focus-visible { outline-color: #fff !important; box-shadow: 0 0 0 7px #416721; }
.eremo-home-offer { margin: 22px auto 0; width: fit-content; max-width: calc(100% - 12px); transform: rotate(-2deg); filter: drop-shadow(0 5px 8px rgb(20 35 15 / 28%)); }
.eremo-home-offer a { position: relative; isolation: isolate; display: inline-flex; align-items: center; justify-content: center; gap: 10px; box-sizing: border-box; min-height: 52px; max-width: 100%; padding: 10px 19px 10px 27px; border: 0; border-radius: 0; background: transparent; color: #304b25; font: 700 26px/1.15 'Caveat',cursive; text-decoration: none; text-shadow: none; transition: transform 180ms ease; }
/* Il taglio riguarda soltanto la carta: il contorno di focus resta intero. */
.eremo-home-offer a::before { content: ''; position: absolute; inset: 0; z-index: -1; background: #fff; clip-path: polygon(0 0, calc(100% - 13px) 0, 100% 13px, 100% 100%, 0 100%); }
.eremo-home-offer a::after { content: ''; position: absolute; left: 10px; top: calc(50% - 3px); width: 5px; height: 5px; border: 1px solid #85a85e; border-radius: 50%; }
.eremo-offer-arrow { flex-shrink: 0; font: 24px/1 'PT Sans',sans-serif; }
.eremo-home-offer a:focus-visible { outline-color: #fff !important; box-shadow: 0 0 0 7px #304b25; }
#imCell_120.animated .eremo-home-offer { animation: eremo-offer-arrive 650ms ease-out 150ms both; }
@keyframes eremo-offer-arrive { from { opacity: 0; transform: translateY(10px) rotate(-5deg); } to { opacity: 1; transform: translateY(0) rotate(-2deg); } }
@media (hover:hover) {
  .eremo-home-offer a:hover { transform: translateY(-2px) rotate(1deg); }
}
@media (prefers-reduced-motion:reduce) {
  #imCell_120.animated .eremo-home-offer { animation: none; }
  .eremo-home-offer a { transition: none; }
  .eremo-home-offer a:hover { transform: none; }
}
@media (max-width:479px) {
  .eremo-home-actions { flex-direction: column; align-items: center; gap: 10px; margin-top: 18px; }
  .eremo-home-actions a { width: min(100%, 260px); font-size: 25px; }
  .eremo-home-offer { max-width: min(calc(100% - 12px), 250px); }
  .eremo-home-offer a { font-size: 24px; }
}
@media (max-width:719px) {
  /* Evita i titoli a una parola per riga; mantiene i caratteri originali. */
  #imContent h1[id^="imObjectTitle"] { font-size: clamp(40px,11vw,58px) !important; line-height: 1.18 !important; overflow-wrap: normal; }
  #imContent h1[id^="imObjectTitle"] span { font-size: inherit !important; line-height: inherit !important; }
  #imContent .imTAJustify { text-align: left; }
  #imContent input:not([type="checkbox"]):not([type="radio"]), #imContent textarea { font-size: 16px !important; }
  #imContent iframe { max-width: 100%; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .animable { opacity: 1 !important; transform: none !important; }
}
