/* Fotografie a colori naturali, con testi su superfici chiare. */
.hero {
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  align-items:stretch;
  min-height:620px;
  height:auto;
  padding:0;
  background:#fff;
  color:var(--ink);
}
.hero-copy {
  grid-column:1;
  grid-row:1;
  align-self:center;
  margin:0;
  max-width:none;
  padding:clamp(2rem,5vw,5rem);
}
.hero-copy .eyebrow {color:var(--red);line-height:1.8}
.hero-copy h1 {font-size:clamp(2.8rem,4.3vw,4.8rem);line-height:1.08;letter-spacing:-.045em}
.hero-copy h1 em {color:var(--red)}
.hero-copy>p:not(.eyebrow) {color:#505764;font-size:1.08rem;line-height:1.75}
.hero .button.ghost {border-color:#b9bec5;color:var(--ink);background:#fff}
.hero .button.ghost:hover {border-color:var(--red);color:var(--red)}
.hero-media {
  grid-column:2;
  grid-row:1;
  position:relative;
  inset:auto;
  min-width:0;
  background:none;
}
.hero-media img {display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:var(--photo-position,50% 50%)}
.home-photo-credit {margin:0;padding:.7rem clamp(1.25rem,5vw,5rem);font-size:.8rem;line-height:1.6;color:#5b6069;background:#fff}
.home-photo-credit a,.bright-photo-credit a {text-decoration:underline;text-underline-offset:3px}
.trip-image {position:relative;overflow:hidden;background:none}
.trip-image img {display:block;width:100%;height:100%;object-fit:cover;object-position:var(--photo-position,50% 50%)}
.trip-image.cambogia,.trip-image.thailandia,.trip-image.marocco {background:none}
.bright-photo-credit {margin:0;padding:.55rem 1rem;font-size:.75rem;line-height:1.6;color:#5b6069;background:#fff}
.trip-card>.bright-photo-credit,.catalog-card>.bright-photo-credit {min-height:3.4em}
.catalog-visual.gruppo.has-photo::after {display:none}
.catalog-visual.gruppo.has-photo {background:#eef3f6}
.catalog-visual.gruppo.has-photo img {object-position:var(--photo-position,50% 50%)}
.type-card.accent {background:#fff;color:var(--ink)}
.type-card.accent p {color:#607089}
.type-card::before {content:"";display:block;height:175px;margin:-2rem -2rem 1.4rem;background:var(--category-photo) center/cover}
.type-card h3 {margin-top:1rem}
.type-card:nth-child(1) {--category-photo:url("bright/vietnam.jpg")}
.type-card:nth-child(2) {--category-photo:url("trips/corsica/strada-sul-mare.jpg")}
.type-card:nth-child(3) {--category-photo:url("trips/polinesia/moorea-lagoon-hauru.jpg")}
.type-photo-credits {margin:1rem 0 0;font-size:.75rem;line-height:1.7;color:#5b6069}
.type-photo-credits a {text-decoration:underline;text-underline-offset:3px}

.bright-group .detail-hero.gruppo {display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(2rem,4vw,4rem);padding:clamp(2rem,4vw,4rem);background:#fff;color:var(--ink)}
.bright-group .detail-hero.gruppo>div {min-width:0;width:100%;max-width:none;margin:0;padding:0;text-shadow:none}
.bright-group .detail-hero.gruppo h1 {max-width:27ch;font-size:clamp(2.4rem,3.6vw,3.8rem);line-height:1.1;letter-spacing:-.04em}
.bright-group .detail-hero.gruppo .eyebrow {margin-top:1.5rem;color:var(--red)}
.bright-group .detail-hero.gruppo>div>p:not(.eyebrow):not(.availability-badge) {color:#505764}
.bright-group .breadcrumb {color:#515967}
.bright-group .bright-cover {margin:0;min-width:0}
.bright-group .bright-cover img {display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:var(--photo-position,50% 50%)}
.bright-group .bright-cover figcaption {padding:.7rem 0;}
.bright-group .travel-gallery {grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.bright-group .travel-gallery figure {min-height:0;background:#fff}
.bright-group .travel-gallery img {height:auto;aspect-ratio:4/3;object-fit:cover}
.bright-group .travel-gallery figcaption {position:static;inset:auto;background:#fff;color:var(--ink);padding:.85rem 0;line-height:1.65}
.bright-group .travel-gallery figcaption a {text-decoration:underline;text-underline-offset:3px}
@media(max-width:1050px) {
  .hero {min-height:590px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-copy {padding:2.5rem 2rem}
}
@media(max-width:800px) {
  .hero {grid-template-columns:1fr;min-height:0}
  .hero-copy {grid-column:1;grid-row:1;padding:2.5rem 1.25rem}
  .hero-copy h1 {font-size:clamp(2.7rem,8vw,4rem)}
  .hero-media {grid-column:1;grid-row:2;height:clamp(320px,65vw,520px)}
  .hero-media img {object-position:var(--mobile-photo-position,50% 50%)}
  .bright-group .detail-hero.gruppo {grid-template-columns:1fr;padding:2rem 1.25rem;gap:1.5rem}
  .bright-group .travel-gallery {grid-template-columns:1fr}
}
