/* Sangallo trip finder: native disclosure and selects keep the same flow on touch and keyboard. */
.trip-finder {margin:0 0 1.25rem;border:1px solid #d8dce0;border-top:3px solid var(--red);border-radius:6px;background:#fff;scroll-margin-top:100px}
.trip-finder summary {display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.25rem;cursor:pointer;list-style:none;min-height:64px}
.trip-finder summary::-webkit-details-marker {display:none}
.trip-finder summary strong {display:block;font:800 1.3rem/1.3 Manrope,sans-serif;color:var(--ink)}
.finder-caption {display:block;margin-top:.25rem;font-size:.95rem;color:#535b65}
.finder-indicator {display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border-radius:50%;background:#fbeef0;color:#a51d31;font-size:1.6rem;line-height:1;transition:transform .15s}
.trip-finder[open] .finder-indicator {transform:rotate(45deg)}
.trip-finder form {padding:0 1.25rem 1.25rem;border-top:1px solid #e6e8eb}
.finder-fields {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.25rem}
.finder-fields label {min-width:0;font-size:.95rem;font-weight:700;color:var(--ink)}
.finder-fields select {display:block;box-sizing:border-box;width:100%;max-width:100%;min-height:48px;margin-top:.4rem;padding:.65rem .65rem;color:var(--ink);background:#fff;border:1px solid #8a929c;border-radius:4px;font:400 1rem/1.5 'DM Sans',sans-serif}
.finder-help {margin:1rem 0;color:#535b65;font-size:.875rem;line-height:1.6;max-width:850px}
.finder-actions {display:flex;gap:.65rem 1rem;align-items:center;flex-wrap:wrap}
.finder-actions .button {border:0;min-height:48px;padding:.7rem 1.25rem;font:700 1rem/1.4 'DM Sans',sans-serif;cursor:pointer;text-align:center}
.finder-reset {border:1px solid #c7cbd1;border-radius:4px;color:var(--ink);background:#fff;padding:.65rem 1rem;min-height:48px;font:600 .95rem/1.4 'DM Sans',sans-serif;cursor:pointer}
.finder-reset:hover {background:#f4f5f6}
.trip-finder summary:focus-visible,.finder-reset:focus-visible,.active-filters button:focus-visible {outline:3px solid var(--red);outline-offset:3px}
#risultati {scroll-margin-top:100px}
#risultati:focus {outline:0}
.active-filters {display:flex;gap:.45rem;flex-wrap:wrap;margin:0 0 1rem}
.active-filters:empty {display:none}
.active-filters button {border:1px solid #e6c0c7;background:#fceff1;color:#8e1c2d;font:600 .875rem/1.4 'DM Sans',sans-serif;min-height:44px;padding:.5rem .8rem;border-radius:4px;cursor:pointer;text-align:left;overflow-wrap:anywhere}
.finder-party-note {padding:.85rem 1rem;background:#eef5fa;border-left:3px solid #648194;color:#354757;font-size:.95rem;line-height:1.6;margin:0 0 1rem}
.finder-empty {padding:1.5rem;border:1px solid #d8dce0;background:#f7f9fb;border-radius:6px}
.finder-empty h2 {font-size:1.4rem;line-height:1.3}
.finder-empty p {font-size:1rem;line-height:1.6;max-width:740px;margin:.75rem 0 1.2rem;color:#535b65}
.finder-empty[hidden],.finder-party-note[hidden] {display:none}
@media(max-width:720px) {
 .trip-finder {scroll-margin-top:80px;margin-bottom:1rem}
 .trip-finder summary {padding:.9rem 1rem}
 .trip-finder summary strong {font-size:1.13rem}
 .finder-caption {font-size:.875rem;line-height:1.45}
 .trip-finder form {padding:0 1rem 1rem}
 .finder-fields {grid-template-columns:1fr;gap:.85rem;margin-top:1rem}
 .finder-fields select {font-size:16px}
 .finder-actions {gap:.6rem}
 .finder-actions .button {flex:1 1 180px}
 .finder-actions .finder-reset {flex:1 1 120px}
 #risultati {scroll-margin-top:80px}
 .finder-empty {padding:1.1rem}
}
@media(prefers-reduced-motion:reduce) {.finder-indicator {transition:none}}

/* Travel choices stay visible above the detailed search, including on phones. */
.travel-choices {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 2rem;margin:0 0 1.5rem}
.travel-choices p {font-size:1rem;font-weight:700;line-height:1.4;margin:0 0 .6rem;color:var(--ink)}
.travel-choice-links {display:flex;flex-wrap:wrap;gap:.5rem}
.travel-choice-links a {display:inline-flex;align-items:center;justify-content:center;min-height:48px;box-sizing:border-box;padding:.65rem 1rem;border:1px solid #aeb4bd;border-radius:4px;background:#fff;color:var(--ink);font-size:1rem;font-weight:600;line-height:1.4;text-decoration:none}
.travel-choice-links a:hover {border-color:var(--red);color:var(--red);background:#fff5f6}
.travel-choice-links a.is-active {background:var(--red);border-color:var(--red);color:#fff}
.travel-choice-links a:focus-visible,.catalog-custom a:focus-visible,.trip-personalize a:focus-visible {outline:3px solid var(--red);outline-offset:3px}
.catalog-cover[hidden] {display:none}
.catalog-transport {font-size:.875rem;line-height:1.5;color:#535b65;margin:.7rem 0 0}
.catalog-custom {margin:.4rem 0 .65rem;font-size:.875rem;line-height:1.5}
.catalog-custom a {display:inline-flex;align-items:center;min-height:44px;color:#a51d31;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.trip-personalize {box-sizing:border-box;max-width:1140px;margin:2rem auto 0;padding:1.5rem;display:flex;align-items:center;gap:2rem;border:1px solid #d8dce0;border-left:4px solid var(--red);border-radius:4px;background:#fff;scroll-margin-top:100px}
.trip-personalize>div {flex:1;min-width:0}
.trip-personalize h2 {font-size:clamp(1.35rem,2.4vw,1.75rem);line-height:1.3;margin:0 0 1rem;letter-spacing:normal}
.trip-personalize dl {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0}
.trip-personalize dt {font-size:.875rem;font-weight:600;color:#535b65}
.trip-personalize dd {font-size:1rem;line-height:1.5;font-weight:700;margin:.25rem 0 0;overflow-wrap:anywhere}
.trip-personalize p {font-size:1rem;line-height:1.6;color:#535b65;margin:1rem 0 0}
.trip-personalize .button {flex-shrink:0;min-height:48px;white-space:normal;text-align:center;font-size:1rem;line-height:1.4;max-width:100%}
@media(max-width:1188px) {.trip-personalize {margin-right:24px;margin-left:24px}}
@media(max-width:720px) {
 .travel-choices {grid-template-columns:1fr;gap:1.1rem;margin-bottom:1.25rem}
 .travel-choice-links a {flex:1 1 auto;padding:.65rem .7rem}
 .trip-personalize {flex-direction:column;align-items:stretch;gap:1.2rem;margin:1.5rem 20px 0;padding:1.1rem;scroll-margin-top:85px}
 .trip-personalize dl {grid-template-columns:1fr;gap:.8rem}
 .trip-personalize .button {width:100%;box-sizing:border-box}
}
