/* A19 – forsiden: hero, kampagne, anmeldelser, tryg handel og nyhedsbrev. */

/* ---------- Hero ---------- */
.hero{background:var(--forest);color:var(--on-forest);overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding-block:56px 0}
.hero h1{font-size:clamp(2.3rem,1.5rem + 3.2vw,4rem);letter-spacing:-.01em}
.hero h1 span{color:var(--sun)}
.hero p.lead{font-size:1.15rem;color:var(--on-forest-muted);max-width:34em;margin:18px 0 28px}
.cta-row{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.text-link{color:var(--on-forest);font-weight:600;text-underline-offset:4px}
.hero-media{position:relative;align-self:end}
.hero-media .ph,.hero-media .hero-img{position:relative;z-index:1;display:grid;width:100%;aspect-ratio:4/3.4;object-fit:cover;border-radius:220px 220px 0 0}
.hero-media .ph{--ph-a:#2c6a58;--ph-b:#3a7c68;color:var(--on-forest)}
.hero-media .ph svg{color:var(--sun);opacity:.8}
.hero-media::before{content:"";position:absolute;width:150px;height:150px;border-radius:50%;background:var(--sun);right:-30px;top:40px;z-index:0}
.float-card{position:absolute;z-index:2;background:var(--surface);color:var(--ink);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:12px 16px;font-size:.9rem;line-height:1.35}
.float-card.tp{left:-28px;bottom:120px}
.float-card.dl{right:12px;bottom:36px}
.float-card b{display:block;font-size:1rem}
.hero-trust{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.14);margin-top:8px}
.hero-trust div{padding:22px 18px 26px;display:flex;gap:12px;align-items:flex-start;font-size:.95rem;color:var(--on-forest-muted)}
.hero-trust div+div{border-left:1px solid rgba(255,255,255,.14)}
.hero-trust b{display:block;color:var(--on-forest);font-weight:600}
.hero-trust svg{width:24px;height:24px;flex:none;color:var(--sun);margin-top:2px}

/* ---------- Kampagne ---------- */
.campaign{background:var(--tint)}
.camp-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:center}
.camp-grid .ph,.camp-grid .camp-img{display:grid;width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:var(--radius)}
.camp-grid p{color:var(--muted);margin:14px 0 22px;max-width:34em}
.deadline{display:inline-flex;gap:10px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin-bottom:22px;font-size:.95rem}
.deadline svg{width:22px;height:22px;color:var(--forest);flex:none}
:root[data-theme="dark"] .deadline svg{color:var(--sun)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .deadline svg{color:var(--sun)}}
.price-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.price-steps a{display:flex;flex-direction:column;gap:2px;padding:16px;border-radius:12px;background:var(--surface);border:1px solid var(--line);color:var(--ink);text-decoration:none;min-height:48px}
.price-steps a:hover{border-color:var(--forest)}
.price-steps b{font-size:1.05rem}
.price-steps span{font-size:.85rem;color:var(--muted)}

/* ---------- Anmeldelser ---------- */
.reviews-wrap{display:grid;grid-template-columns:280px 1fr;gap:40px;align-items:start}
.reviews-wrap.solo{grid-template-columns:minmax(0,360px)}
.tp-summary{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.tp-summary .score{font-family:var(--font-display);font-size:3.4rem;line-height:1}
.tp-summary .stars svg{width:22px;height:22px}
.tp-summary p{margin:10px 0 0;color:var(--muted);font-size:.92rem}
.tp-summary a{display:inline-block;margin-top:14px;font-weight:600}
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.review{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:10px;min-width:0}
.review blockquote{margin:0;font-size:1rem}
.review footer{margin-top:auto;font-size:.85rem;color:var(--muted)}
.review footer b{color:var(--ink);font-weight:600}
.ph-flag{display:inline-block;align-self:flex-start;font-size:.72rem;font-weight:600;border:1px dashed var(--muted);color:var(--muted);border-radius:6px;padding:2px 8px}

/* ---------- Tryg handel ---------- */
.trust{background:var(--tint-2)}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.trust-item{background:var(--surface);border-radius:var(--radius);padding:24px;border:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.trust-item svg.ic{width:30px;height:30px;color:var(--forest)}
:root[data-theme="dark"] .trust-item svg.ic{color:var(--sun)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .trust-item svg.ic{color:var(--sun)}}
.trust-item h3{font-family:var(--font-body);font-weight:700;font-size:1.08rem}
.trust-item p{margin:0;color:var(--muted);font-size:.95rem}
.trust-item a{font-weight:600;margin-top:auto;text-underline-offset:4px}
.pay{display:flex;flex-wrap:wrap;gap:6px}
.pay span{font-size:.78rem;font-weight:600;border:1px solid var(--line);border-radius:6px;padding:4px 8px;background:var(--bg)}
.person{display:flex;gap:12px;align-items:center}
.person .ph,.person .person-img{width:52px;height:52px;border-radius:50%;flex:none;object-fit:cover}
.person .ph svg{width:60%}
.person b{display:block}
.person-sub{color:var(--muted);font-size:.9rem}

/* ---------- Nyhedsbrev ---------- */
.news{background:var(--forest);color:var(--on-forest)}
.news .wrap{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.news ul{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:8px;color:var(--on-forest-muted)}
.news li{display:flex;gap:10px}
.news li svg{width:20px;height:20px;color:var(--sun);flex:none;margin-top:2px}
.news form{background:var(--forest-2);border-radius:var(--radius);padding:24px;display:grid;gap:14px}
.news label.f{font-weight:600;font-size:.95rem}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:.88rem;color:var(--on-forest-muted)}
.consent input{width:22px;height:22px;flex:none;margin-top:1px;accent-color:var(--sun)}
.consent a{color:var(--on-forest)}
.news .form-msg.err{color:#ffd0c9}
.news .form-msg.ok{color:var(--sun)}

@media (max-width:1080px){
  .reviews-wrap{grid-template-columns:1fr}
  .trust-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:860px){
  .hero .wrap{grid-template-columns:1fr;gap:32px;padding-block:36px 0}
  .hero-media{max-width:460px;justify-self:center;width:100%}
  .float-card.tp{left:0}
  .hero-trust{grid-template-columns:1fr 1fr}
  .hero-trust div:nth-child(3){border-left:0}
  .hero-trust div:nth-child(n+3){border-top:1px solid rgba(255,255,255,.14)}
  .camp-grid,.news .wrap{grid-template-columns:1fr;gap:28px}
  .reviews{grid-template-columns:1fr}
}
@media (max-width:520px){
  .trust-grid{grid-template-columns:1fr}
  .price-steps{grid-template-columns:1fr}
  .float-card{font-size:.8rem;padding:10px 12px}
  .float-card.dl{right:0;bottom:16px}
  .float-card.tp{bottom:96px}
  .hero-trust div{padding:16px 10px;font-size:.85rem}
}
