/* Stilurile de bază sunt pentru mobil. Extindem numai prin min-width. */
@media (min-width: 48rem) {
  :root { --page-gutter: 2rem; --section-space: 5rem; --grid-gap: 2rem; }
  .grid--two, .grid--three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .card { padding: var(--space-6); }
}

@media (min-width: 64rem) {
  :root { --page-gutter: 2.5rem; --section-space: clamp(6.25rem, 8vw, 8.75rem); --grid-gap: 2.5rem; }
  .grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (hover: hover) {
  .button--primary:not(:disabled):not([aria-disabled="true"]):hover { background: var(--brown-dark); box-shadow: var(--shadow-soft); }
  .button--secondary:not(:disabled):not([aria-disabled="true"]):hover { background: var(--cream-light); }
  .button--accent:not(:disabled):not([aria-disabled="true"]):hover { background: var(--gold); }
  .text-link:hover { color: var(--brown); }
}

@media (min-width: 27rem) {
  .hero-actions { flex-direction: row; justify-content: center; flex-wrap: wrap; }
}
@media (min-width: 48rem) {
  .hero-inner { padding-block: calc(var(--header-height) + 3rem) 7rem; }
  .hero-content { margin-left: 0; text-align: left; max-width: 36rem; }
  .hero-eyebrow, .hero-actions { justify-content: flex-start; }
  .hero-logo { margin-inline: 0; width: 265px; }
  .hero-description { margin-inline: 0; font-size: 1rem; max-width: 31rem; }
  .hero-background { object-position: center; }
  .hero-overlay { background: linear-gradient(90deg, rgb(34 48 32 / 86%) 0%, rgb(43 49 31 / 65%) 40%, rgb(61 56 34 / 12%) 80%), linear-gradient(180deg, rgb(35 48 32 / 45%), transparent 32%, rgb(35 48 32 / 25%)); }
  .info-grid { grid-template-columns: 1.1fr .9fr 1.2fr; }
  .info-item { padding: var(--space-4) var(--space-5); gap: var(--space-4); }
  .info-item:first-child { padding-left: 0; }
  .info-item:last-child { padding-right: 0; }
  .info-item + .info-item { border-top: 0; border-left: 1px solid var(--border); }
  .info-value { font-size: .76rem; }
  .hero-side-note { display: flex; flex-direction: column; position: absolute; right: var(--page-gutter); bottom: 8rem; border-left: 1px solid rgb(247 241 229 / 50%); padding-left: var(--space-4); font-size: .62rem; letter-spacing: .14em; line-height: 2; }
}
@media (min-width: 64rem) {
  .brand span { display: none; }
  .menu-toggle { display: none; }
  .main-navigation { display: flex; align-items: center; gap: clamp(.8rem, 1.5vw, 1.45rem); margin-left: auto; }
  .main-navigation > a { font-size: .73rem; padding: .65rem 0; white-space: nowrap; }
  .main-navigation > a:not(.button) { border-bottom: 1px solid transparent; }
  .main-navigation > a[aria-current="page"] { border-bottom-color: var(--gold); }
  .main-navigation > .mobile-cta { display: none; }
  .header-cta { display: inline-flex; min-height: 44px; padding: .7rem 1rem; font-size: .6rem; margin-left: var(--space-3); }
  .hero-logo { width: 280px; }
  .hero-inner { padding-left: 2rem; }
  .info-item { padding-inline: var(--space-7); }
  .info-value { font-size: .86rem; }
}
@media (min-width: 80rem) {
  .brand span { display: block; }
  .hero-logo { width: 300px; }
  .hero-content { max-width: 38rem; }
}
@media (hover: hover) {
  .main-navigation > a:not(.button):hover { border-bottom-color: currentColor; }
  .button--hero-outline:hover { background: rgb(247 241 229 / 13%); }
}


@media (min-width: 48rem) {
  .intro-layout, .cause-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-7); }
  .intro-photo img { aspect-ratio: 4 / 5; min-height: 28rem; }
  .cause-photo { order: 0; }
  .cause-copy { order: 1; }
  .cause-photo img { aspect-ratio: 4 / 5; min-height: 30rem; }
  .intro-copy h2, .cause-copy h2 { font-size: clamp(2.25rem, 3.7vw, 3.75rem); }
}
@media (min-width: 64rem) {
  .intro-layout, .cause-layout { gap: clamp(3rem, 6vw, 6rem); }
  .intro-title-break { display: inline; }
  .intro-description, .cause-description { font-size: 1.0625rem; }
  .intro-photo img { min-height: 34rem; }
  .cause-photo img { min-height: 35rem; }
  .intro-wheat { margin-top: var(--space-7); }
}

@media (min-width: 26rem) {
  .artists-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lineup-card { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
  .lineup-card .artist-media { aspect-ratio: 3 / 2; }
  .lineup-card .artist-content { align-self: start; }
}
@media (min-width: 48rem) {
  .headliners-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); }
  .headliner-card .artist-media { aspect-ratio: 5 / 4; }
  .headliner-card .artist-content { padding: var(--space-6); }
  .artists-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
  .lineup-card .artist-name { font-size: 1rem; }
}
@media (min-width: 64rem) {
  .headliner-card .artist-media { aspect-ratio: 6 / 5; }
  .artists-lineup-header { flex-direction: row; align-items: center; justify-content: space-between; gap: var(--space-6); }
  .artists-filters { flex-shrink: 0; }
  .lineup-card { grid-template-columns: 5.25rem minmax(0, 1fr); gap: var(--space-4); }
  .lineup-card .artist-media { aspect-ratio: 4 / 5; }
  .lineup-card .artist-content { align-self: center; }
}
@media (hover: hover) {
  .headliner-card:hover .artist-media img { transform: scale(1.025); }
  .artists-filters button[aria-pressed="false"]:hover { border-color: var(--forest); color: var(--forest); }
}

@media (min-width: 40rem) {
  .experiences-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
  .experience-photo { grid-column: 1 / -1; min-height: 30rem; }
  .experience-season { grid-column: 1 / -1; }
  .experience-kids { grid-column: 1 / -1; flex-direction: row; align-items: center; justify-content: space-between; }
  .experience-kids .text-link { align-self: center; max-width: 17rem; }
  .workshop-activities { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 64rem) {
  .experiences-layout { grid-template-columns: minmax(0, 1.2fr) repeat(2, minmax(0, 1fr)); }
  .experience-photo { grid-column: 1; grid-row: 1 / 3; min-height: 34rem; }
  .experience-season { grid-column: 2 / 4; }
  .experience-cauldron { grid-column: 2; }
  .experience-sarmale { grid-column: 3; }
  .experience-kids { grid-column: 1 / -1; padding: var(--space-6) var(--space-7); }
  .experience-figure { font-size: clamp(4rem, 6vw, 5.5rem); }
  .workshop-layout { grid-template-columns: minmax(0, .9fr) minmax(0, 1.4fr); gap: var(--space-7); }
  .workshop-intro h2 { font-size: clamp(2.6rem, 4vw, 3.75rem); }
  .workshop-item { align-items: flex-start; padding-block: var(--space-6); }
  .workshop-item h3 { padding-top: var(--space-1); }
}

@media (min-width: 40rem) {
  .schedule-event { grid-template-columns: 4.5rem minmax(0, 1fr); gap: var(--space-5); padding-left: var(--space-6); }
  .schedule-event--untimed .schedule-event-body { grid-column: 2; }
}
@media (min-width: 48rem) {
  .schedule-layout { grid-template-columns: minmax(0, 1fr) 12rem; gap: var(--space-7); }
  .schedule-date-card { display: flex; flex-direction: column; align-items: flex-start; padding: var(--space-6); gap: var(--space-4); }
  .schedule-date-card svg { margin-bottom: var(--space-3); }
  .schedule-card-time { font-size: 3.25rem; }
}
@media (min-width: 64rem) {
  .schedule-layout { grid-template-columns: minmax(0, 1fr) 15rem; gap: var(--space-8); }
  .schedule-date-card { padding: var(--space-7) var(--space-6); }
}

@media (min-width: 48rem) {
  .location-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: var(--space-6); }
  .location-content h2 { font-size: clamp(2.4rem, 4vw, 3.75rem); }
  .location-map { height: 500px; }
}
@media (min-width: 64rem) {
  .location-layout { gap: var(--space-7); }
  .location-info-card { padding: var(--space-6); }
  .location-maps-link { width: auto; }
}

@media (min-width: 40rem) {
  .final-actions { flex-direction: row; flex-wrap: wrap; }
  .footer-layout { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .partner-groups { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); }
}
@media (min-width: 64rem) {
  .footer-layout { grid-template-columns: minmax(0, 1.8fr) repeat(3, minmax(0, 1fr)); gap: var(--space-7); }
  .footer-identity { grid-column: auto; }
  .footer-bottom { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; }
  .footer-credit { flex-basis: 100%; justify-content: flex-end; }
}
@media (hover: hover) {
  .site-footer a[href]:hover, .site-footer button:hover { color: var(--harvest-yellow); }
}

@media (min-width: 64rem) {
  .main-navigation > a:not(.button), .main-navigation > a[aria-current="page"] { border-bottom-color: transparent; }
}
@media (hover: hover) and (pointer: fine) {
  .button:not(:disabled):not([aria-disabled="true"]):hover { transform: translateY(-2px); box-shadow: var(--shadow-soft); }
  .button:not(:disabled):not([aria-disabled="true"]):active { transform: translateY(0); box-shadow: none; }
  .main-navigation > a:not(.button):hover { border-bottom-color: transparent; }
  .main-navigation > a:not(.button):hover::after, .footer-column nav > a[href]:hover::after, .footer-column nav > button:hover::after { transform: scaleX(1); }
  .headliner-card:hover .artist-media img, .lineup-card:hover .artist-media img { transform: scale(1.03); }
  .gallery-tile:hover img, .gallery-item:hover img { transform: scale(1.025); }
  .partner-logo:hover img { opacity: .9; }
}
