/* Förstasidans banner */
.gp-hero { position: relative; min-height: 78vh; display: flex; align-items: center; overflow: hidden; color: #fff; background: #1f1c17; }
.gp-hero__bilder { position: absolute; inset: 0; }
.gp-hero__bild { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity 1.4s ease; }
.gp-hero__bild.is-aktiv { opacity: 1; }
.gp-hero__bilder::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(20,18,14,.78) 0%, rgba(20,18,14,.55) 45%, rgba(20,18,14,.08) 100%); }
.gp-hero__bildtext { position: absolute; right: 1.5rem; bottom: 1.2rem; z-index: 2; font-size: .85rem; opacity: .85; text-shadow: 0 1px 4px rgba(0,0,0,.6); }

.gp-hero__innehall { position: relative; z-index: 2; width: 100%; max-width: 1200px; margin: 0 auto; padding: 4rem 1.5rem 5rem; box-sizing: border-box; }
.gp-hero__innehall > * { max-width: 640px; }
.gp-hero__overrubrik { margin: 0 0 .8rem; font-size: .85rem; letter-spacing: .14em; text-transform: uppercase; color: #e9d3a8; font-weight: 600; }
.gp-hero__rubrik { margin: 0 0 1rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.1rem, 4.6vw, 3.6rem); line-height: 1.08; color: #fff; text-shadow: 0 2px 18px rgba(0,0,0,.35); }
.gp-hero__text { margin: 0 0 1.6rem; font-size: clamp(1rem, 1.5vw, 1.2rem); line-height: 1.55; color: rgba(255,255,255,.9); }

.gp-hero__knappar { display: flex; flex-wrap: wrap; gap: .8rem; margin-bottom: 1.6rem; }
.gp-knapp { display: inline-block; padding: .9rem 1.7rem; border-radius: 999px; font-weight: 600; text-decoration: none; font-size: 1.05rem; border: 2px solid rgba(255,255,255,.75); color: #fff; transition: all .2s ease; }
.gp-knapp:hover { background: rgba(255,255,255,.12); color: #fff; }
.gp-knapp--huvud { background: #b8955a; border-color: #b8955a; color: #1f1c17; }
.gp-knapp--huvud:hover { background: #d0ac6c; border-color: #d0ac6c; color: #1f1c17; }

.gp-hero__punkter { list-style: none; margin: 0 0 1.4rem; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem 1.4rem; }
.gp-hero__punkter li { font-size: .95rem; color: rgba(255,255,255,.92); }
.gp-hero__punkter li::before { content: "✓"; color: #9bd06a; font-weight: 700; margin-right: .45rem; }
.gp-hero__platser { margin: 0; font-size: .92rem; color: rgba(255,255,255,.8); }
.gp-hero__platser a { color: #fff; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.4); }
.gp-hero__platser a:hover { border-color: #fff; }
.gp-hero__lankar { margin: .9rem 0 0; font-size: .85rem; }
.gp-hero__lankar a { color: rgba(255,255,255,.75); text-decoration: none; margin-right: 1rem; }
.gp-hero__lankar a:hover { color: #fff; }

.gp-hero__prickar { position: absolute; z-index: 3; bottom: 1.4rem; left: 50%; transform: translateX(-50%); display: flex; gap: .5rem; }
.gp-hero__prick { width: 10px; height: 10px; border-radius: 50%; border: 0; padding: 0; background: rgba(255,255,255,.45); cursor: pointer; }
.gp-hero__prick.is-aktiv { background: #fff; }

@media (max-width: 700px) {
  .gp-hero { min-height: 0; }
  .gp-hero__bilder::after { background: linear-gradient(180deg, rgba(20,18,14,.55) 0%, rgba(20,18,14,.8) 100%); }
  .gp-hero__innehall { padding: 3rem 1.2rem 3.5rem; }
  .gp-knapp { padding: .8rem 1.3rem; font-size: 1rem; }
}

/* Luftigare: mindre rubrik, punkter och platser i en rad längst ner */
.gp-hero__rubrik { font-size: clamp(2rem, 3.6vw, 3rem); max-width: 600px; }
.gp-hero__text { font-size: clamp(1rem, 1.25vw, 1.1rem); max-width: 520px; }
.gp-hero__innehall > .gp-hero__punkter,
.gp-hero__innehall > .gp-hero__platser,
.gp-hero__innehall > .gp-hero__lankar { max-width: none; }
.gp-hero__punkter {
  margin: 3rem 0 .8rem; padding-top: 1.2rem;
  border-top: 1px solid rgba(255,255,255,.22); gap: .4rem 2rem;
}
.gp-hero__punkter li { font-size: .9rem; }
.gp-hero__platser { display: inline-block; margin: 0 2rem .3rem 0; font-size: .85rem; }
.gp-hero__lankar { display: inline-block; margin: 0; }
@media (max-width: 700px) {
  .gp-hero__punkter { margin-top: 2rem; }
  .gp-hero__platser { display: block; margin-right: 0; }
}

/* ===== Förstasidans sektioner ===== */
.gp-sektioner { margin: 0 calc(50% - 50vw); }
.gp-sektion { padding: 4.5rem 1.5rem; background: #f6f3ec; }
.gp-sektion--ljus { background: #fff; }
.gp-sektion--mork { background: #1f2a1b; color: #fff; }
.gp-sektion__inre { max-width: 1150px; margin: 0 auto; }
.gp-sektion__over { margin: 0 0 .5rem; font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; color: #a0712f; font-weight: 700; }
.gp-sektion--mork .gp-sektion__over { color: #e9d3a8; }
.gp-sektion__rubrik { margin: 0 0 2rem; font-family: Georgia, serif; font-size: clamp(1.7rem, 3vw, 2.4rem); line-height: 1.15; }
.gp-sektion__cta { margin: 2rem 0 0; text-align: center; }
.gp-tom { color: #6b655b; }
.gp-knapp--mork { background: #1f1c17; border-color: #1f1c17; color: #fff; padding: .65rem 1.3rem; font-size: .95rem; }
.gp-knapp--mork:hover { background: #3f7a2e; border-color: #3f7a2e; color: #fff; }
.gp-sektion--mork .gp-knapp { border-color: rgba(255,255,255,.6); }

/* Så tränar vi */
.gp-pelare-rad { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.2rem; }
.gp-pelare { background: #fff; border-radius: 20px; padding: 1.6rem 1.4rem; box-shadow: 0 6px 22px rgba(0,0,0,.05); }
.gp-pelare__ikon { display: inline-flex; width: 52px; height: 52px; border-radius: 16px; align-items: center; justify-content: center; font-size: 1.6rem; background: #eef4e6; margin-bottom: .8rem; }
.gp-pelare h3 { margin: 0 0 .4rem; font-size: 1.2rem; }
.gp-pelare p { margin: 0; color: #5a544b; line-height: 1.55; }

/* Kommande utbildningar */
.gp-utb-lista { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: .9rem; }
.gp-utb { display: grid; grid-template-columns: 64px 1fr auto; gap: 1rem; align-items: center; padding: 1rem 1.2rem; border-radius: 18px; background: #f6f3ec; color: inherit; text-decoration: none; transition: transform .15s ease, box-shadow .15s ease; }
.gp-utb:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(0,0,0,.08); }
.gp-utb__datum { text-align: center; background: #2f5a22; color: #fff; border-radius: 14px; padding: .5rem 0; }
.gp-utb__datum strong { display: block; font-family: Georgia, serif; font-size: 1.6rem; line-height: 1; }
.gp-utb__datum span { font-size: .75rem; text-transform: uppercase; letter-spacing: .05em; }
.gp-utb h3 { margin: 0 0 .2rem; font-size: 1.08rem; }
.gp-utb p { margin: 0; color: #6b655b; font-size: .88rem; }
.gp-utb__sista { color: #a0712f !important; }
.gp-utb__status { font-size: .8rem; font-weight: 700; color: #2f5a22; background: #e3efdc; border-radius: 999px; padding: .25rem .7rem; white-space: nowrap; }
.gp-utb__status--full { color: #8f2a1f; background: #f8dcd8; }

/* Här tränar vi */
.gp-plats-rad { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 1.5rem; }
.gp-plats { background: #fff; border-radius: 22px; overflow: hidden; box-shadow: 0 6px 22px rgba(0,0,0,.06); display: flex; flex-direction: column; }
.gp-plats__bild { display: block; height: 240px; background-size: cover; background-position: center; position: relative; }
.gp-plats__bild span { position: absolute; left: 1rem; top: 1rem; background: rgba(31,28,23,.75); color: #fff; font-size: .8rem; padding: .3rem .8rem; border-radius: 999px; }
.gp-plats__text { padding: 1.4rem 1.5rem 1.6rem; }
.gp-plats__text h3 { margin: 0 0 .5rem; font-family: Georgia, serif; font-size: 1.5rem; }
.gp-plats__text p { margin: 0 0 1rem; color: #5a544b; line-height: 1.55; }
.gp-plats__lankar { display: flex; align-items: center; gap: 1.2rem; margin: 0 !important; }
.gp-plats__lankar a:not(.gp-knapp) { color: #2f5a22; font-weight: 600; text-decoration: none; }

/* Golfresa */
.gp-resa { background-size: cover; background-position: center; background-color: #2f5a22; padding: 6rem 1.5rem; }
.gp-resa__kort { max-width: 520px; background: rgba(255,255,255,.94); border-radius: 22px; padding: 2rem; box-shadow: 0 10px 30px rgba(0,0,0,.15); }
.gp-resa__datum { font-weight: 700; color: #2f5a22; margin-top: -1.2rem !important; }

/* YouTube */
.gp-yt { display: grid; grid-template-columns: 1fr 1.4fr; gap: 2.5rem; align-items: center; }
.gp-yt__text p { color: rgba(255,255,255,.85); line-height: 1.6; }
.gp-yt__video { position: relative; aspect-ratio: 16 / 9; border-radius: 18px; overflow: hidden; box-shadow: 0 12px 34px rgba(0,0,0,.35); }
.gp-yt__video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

@media (max-width: 760px) {
  .gp-sektion { padding: 3rem 1.1rem; }
  .gp-utb-lista, .gp-plats-rad { grid-template-columns: 1fr; }
  .gp-yt { grid-template-columns: 1fr; }
}

/* Golfresa: textrutan till vänster eller höger */
.gp-resa--hoger .gp-resa__kort { margin-left: auto; }
.gp-resa--vanster .gp-resa__kort { margin-right: auto; }

/* YouTube i varm guldton med mörk text */
.gp-sektion--mork { background: linear-gradient(135deg, #f1e2c2 0%, #e2c58f 55%, #d2ad6c 100%); color: #1f1c17; }
.gp-sektion--mork .gp-sektion__over { color: #6e4f1c; }
.gp-sektion--mork .gp-sektion__rubrik { color: #1f1c17; }
.gp-yt__text p { color: #3a352e; }
.gp-sektion--mork .gp-knapp { color: #1f1c17; border-color: #1f1c17; }
.gp-sektion--mork .gp-knapp:hover { background: #1f1c17; color: #fff; }
.gp-yt__video { box-shadow: 0 12px 34px rgba(80,55,15,.3); }
