/* Alberghi Elba's home only. Shared search, header and booking styles stay intact. */
html[data-home="alberghielba"] { scroll-behavior: smooth; scroll-padding-top: 110px; }
.ae-home { --ae-ink: #15374b; --ae-muted: #53616c; --ae-paper: #f6f3ec; --ae-line: #dce1df; color: var(--ae-ink); background: #fff; isolation: isolate; }
.ae-home .ae-wrap { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.ae-home .ae-eyebrow { font-size: 11px; font-weight: 700; letter-spacing: .16em; line-height: 1.6; margin-bottom: 16px; }
.ae-home .ae-hero { position: relative; padding-top: 64px; }
.ae-home .ae-hero::before { content: ''; position: absolute; inset: 0 0 85px; background: linear-gradient(90deg, rgba(10,30,52,.83), rgba(10,30,52,.28) 65%, rgba(10,30,52,.08)); z-index: -1; }
.ae-home .ae-hero-photo { position: absolute; width: 100%; height: calc(100% - 85px); inset: 0; objeae-fit: cover; objeae-position: center 42%; z-index: -2; }
.ae-home .ae-hero-copy { color: #fff; padding-block: 18px 62px; }
.ae-home .ae-hero h1 { color: #fff; font-size: clamp(38px, 4.5vw, 64px); line-height: 1.12; font-weight: 600; letter-spacing: -.045em; margin: 0 0 24px; max-width: 780px; }
.ae-home .ae-hero h1 span { color: #dbe9ef; }
.ae-home .ae-hero-copy > p:not(.ae-eyebrow) { max-width: 510px; font-size: 16px; line-height: 1.8; color: #f0f4f7; margin-bottom: 24px; }
.ae-home .ae-text-link { color: inherit; font-size: 13px; font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; gap: 16px; padding-block: 8px; }
.ae-home .ae-text-link:hover { text-decoration: underline; }
.ae-home .ae-search { position: relative; background: #fff; border-radius: 16px; box-shadow: 0 12px 45px rgba(21,42,79,.12); padding: 25px 28px 28px; }
.ae-home .ae-search-title { font-size: 14px; font-weight: 600; margin: 0 0 15px; }
.ae-home .ae-search .search-box { margin: 0; padding: 0; border: 0; box-shadow: none; position: static; }
.ae-home .ae-trust { display: flex; gap: 32px; justify-content: center; padding-block: 30px; font-size: 12px; color: var(--ae-muted); border-bottom: 1px solid var(--ae-line); }
.ae-home .ae-trust span { display: flex; align-items: center; gap: 8px; }
.ae-home .ae-trust i { font-size: 16px; color: var(--ae-ink); }
.ae-home .ae-section { padding-block: 80px; }
.ae-home .ae-section--paper { background: var(--ae-paper); }
.ae-home .ae-section-heading { max-width: 680px; margin-bottom: 38px; }
.ae-home .ae-section-heading h2, .ae-home .ae-consult h2 { font-size: clamp(28px, 3vw, 40px); font-weight: 600; line-height: 1.2; letter-spacing: -.035em; margin-bottom: 20px; }
.ae-home .ae-section-heading > p:not(.ae-eyebrow) { font-size: 14px; line-height: 1.85; color: var(--ae-muted); max-width: 590px; }
.ae-home .ae-towns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.ae-home .ae-town { display: block; padding: 35px; color: var(--ae-ink); text-decoration: none; border: 1px solid var(--ae-line); border-radius: 12px; background: #fff; position: relative; transition: border-color .2s, box-shadow .2s; }
.ae-home .ae-town:hover { color: var(--ae-ink); border-color: #84959e; box-shadow: 0 8px 28px rgba(21,42,79,.07); }
.ae-home .ae-town-number { display: block; font-size: 40px; line-height: 1; font-weight: 500; color: #718491; margin-bottom: 38px; }
.ae-home .ae-town .ae-eyebrow { display: block; color: var(--ae-muted); }
.ae-home .ae-town h3 { font-size: 27px; font-weight: 600; letter-spacing: -.03em; margin-bottom: 16px; }
.ae-home .ae-town p { font-size: 14px; color: var(--ae-muted); line-height: 1.85; min-height: 78px; }
.ae-home .ae-town-link { border-top: 1px solid var(--ae-line); padding-top: 24px; margin-top: 24px; display: flex; justify-content: space-between; font-weight: 600; font-size: 13px; }
.ae-home .ae-seasons, .ae-home .ae-faq-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; }
.ae-home .ae-seasons .ae-section-heading, .ae-home .ae-faq-layout .ae-section-heading { margin: 0; }
.ae-home .ae-season-list article { display: flex; gap: 22px; padding-bottom: 28px; }
.ae-home .ae-season-list article + article { padding-top: 28px; border-top: 1px solid var(--ae-line); }
.ae-home .ae-season-icon { font-size: 30px; flex-shrink: 0; line-height: 1; }
.ae-home .ae-season-list h3 { font-size: 20px; font-weight: 600; margin-bottom: 12px; }
.ae-home .ae-season-list p, .ae-home .ae-faq p { font-size: 14px; line-height: 1.85; color: var(--ae-muted); margin: 0; }
.ae-home .ae-faq details { border-bottom: 1px solid var(--ae-line); padding-block: 20px; }
.ae-home .ae-faq details:first-child { padding-top: 0; }
.ae-home .ae-faq summary { font-size: 15px; font-weight: 600; cursor: pointer; line-height: 1.6; }
.ae-home .ae-faq p { margin-top: 14px; }
.ae-home .ae-consult { background: var(--ae-ink); color: #fff; padding-block: 64px; }
.ae-home .ae-consult h2 { color: #fff; }
.ae-home .ae-consult-inner { display: grid; grid-template-columns: 1.15fr 1fr; gap: 50px; align-items: center; }
.ae-home .ae-consult p:not(.ae-eyebrow) { max-width: 510px; font-size: 14px; line-height: 1.85; color: #dce4ef; margin: 0; }
.ae-home .ae-consult-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; justify-self: end; }
.ae-home .ae-button { display: inline-flex; align-items: center; gap: 20px; background: #f5a623; color: #15374b; padding: 18px 24px; border-radius: 8px; font-size: 14px; font-weight: 700; text-decoration: none; }
.ae-home .ae-button:hover { background: #ffc05b; color: #15374b; }
.ae-home .ae-credits { font-size: 10px; color: #66717a; padding-block: 20px; margin: 0; line-height: 1.8; }
.ae-home .ae-credits a { color: inherit; }
.ae-home .ae-offers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.ae-home .ae-offers .hoe-recent-card { width: auto; min-width: 0; }
.ae-home a:focus-visible, .ae-home summary:focus-visible { outline: 3px solid #f5a623; outline-offset: 5px; }
@media (max-width: 991px) {
    .ae-home .ae-seasons, .ae-home .ae-faq-layout { gap: 35px; }
    .ae-home .ae-hero { padding-top: 30px; }
    .ae-home .ae-hero-copy { padding-bottom: 40px; }
    .ae-home .ae-consult-inner { grid-template-columns: 1fr; gap: 28px; }
    .ae-home .ae-consult-actions { justify-self: start; }
}
@media (max-width: 767px) {
    .ae-home .ae-wrap { width: calc(100% - 32px); }
    .ae-home .ae-hero h1 { font-size: clamp(34px, 8vw, 48px); }
    .ae-home .ae-hero-copy > p:not(.ae-eyebrow) { font-size: 14px; }
    .ae-home .ae-hero::before { background: rgba(10,30,52,.65); }
    .ae-home .ae-search { padding: 20px 16px; }
    .ae-home .ae-trust { gap: 10px; justify-content: space-between; font-size: 10px; }
    .ae-home .ae-trust span { flex-direction: column; text-align: center; }
    .ae-home .ae-section { padding-block: 48px; }
    .ae-home .ae-towns, .ae-home .ae-seasons, .ae-home .ae-faq-layout, .ae-home .ae-offers { grid-template-columns: 1fr; gap: 20px; }
    .ae-home .ae-town { padding: 28px; }
    .ae-home .ae-town p { min-height: 0; }
    .ae-home .ae-town-number { margin-bottom: 24px; }
    .ae-home .ae-season-list, .ae-home .ae-faq { margin-top: 18px; }
    .ae-home .ae-consult { padding-block: 48px; }
    .ae-home .ae-button { font-size: 12px; padding-inline: 18px; gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
    html[data-home="alberghielba"] { scroll-behavior: auto; }
    .ae-home .ae-town { transition: none; }
}
/* Permanent discovery links for the recovered destination guides. */
.ae-guide-home { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.ae-guide-home a { display: flex; justify-content: space-between; gap: 1rem; padding: 1.4rem; border: 1px solid #dbe0e0; border-radius: 8px; color: #15374b; text-decoration: none; font-weight: 600; }
.ae-guide-home a:hover { background: #f6f3ec; border-color: #53616c; }
.ae-guide-home a:focus-visible { outline: 3px solid #b66b00; outline-offset: 3px; }
@media(max-width: 767px) { .ae-guide-home { grid-template-columns: 1fr; } }

.ae-home .ae-towns {grid-template-columns:repeat(3,minmax(0,1fr));}
.ae-home .ae-town {padding:0;overflow:hidden;background:#f6f3ec;}
.ae-home .ae-town img {width:100%;height:210px;object-fit:cover;}
.ae-home .ae-town-content {display:block;padding:24px;}
.ae-home .ae-town h3 {font-size:23px;}
.ae-home .ae-town-link {margin-top:18px;padding-top:18px;}
.ae-home .ae-seasons .ae-guide-home {grid-template-columns:1fr;}
.ae-home .ae-guide-home a {background:white;color:#15374b;}
.ae-home .ae-credits {font-size:11px;line-height:1.7;padding-block:20px;}
@media(max-width:991px){.ae-home .ae-towns{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:575px){.ae-home .ae-towns{grid-template-columns:1fr;}}
