/* STEP 3 — five interior pages only. Shared STEP 1 system and approved Hem remain untouched. */
.inner-page { padding-top: 56px; padding-bottom: 72px; }
.page-eyebrow { display: flex; gap: 22px; align-items: center; color: var(--color-brown); letter-spacing: .32em; font-size: 13px; font-weight: 500; line-height: 1.5; }
.page-eyebrow__rule { display: inline-block; flex: none; width: 38px; height: 1px; background: var(--color-brown); }
.page-heading { margin: 14px 0 21px; color: #121417; font-weight: 400; font-size: clamp(48px,4.2vw,67px); line-height: 1.08; letter-spacing: -.025em; }
.small-rule { width: 39px; height: 1px; background: var(--color-brown); flex: none; }
.small-caps { color: #906951; font-size: 13px; line-height: 1.5; letter-spacing: .29em; font-weight: 500; }
/* Preserve reference button appearance even when checkout is not configured. */
.site-button:disabled { opacity: 1; color: var(--color-ivory); background: var(--color-brown); border-color: var(--color-brown); cursor: not-allowed; filter: none; }
.site-button:disabled:hover { filter: none; }
/* BÖCKER */
.book-feature { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--color-border); min-width: 0; }
.book-feature__art { min-width: 0; background: #ddc3a8; }
.book-feature__art img { display: block; width: 100%; height: auto; aspect-ratio: 652/601; }
.book-feature__copy { display: flex; align-items: flex-start; flex-direction: column; padding: 40px clamp(34px,4vw,60px) 32px; min-width: 0; }
.book-feature__copy .small-caps { margin: 23px 0 17px; }
.book-feature__copy h2 { font-size: clamp(39px,3.6vw,56px); color: #121417; line-height: 1.12; font-weight: 400; letter-spacing: -.025em; margin: 0; }
.book-feature__lead { margin: auto 0 14px; padding-top: 38px; font-size: clamp(20px,1.72vw,27px); line-height: 1.35; color: #151515; }
.book-feature__description { margin: 0 0 27px; color: #707070; font-size: clamp(18px,1.43vw,23px); line-height: 1.35; }
/* KÖP BOKEN */
.page-purchase { padding-top: 39px; }
.page-purchase .page-heading { margin-bottom: 9px; }
.page-purchase__intro { margin: 0; font-size: clamp(20px,2vw,29px); line-height: 1.35; color: #171717; }
.page-purchase__grid { display: grid; grid-template-columns: minmax(0,652fr) minmax(0,498fr); align-items: start; column-gap: clamp(52px,7vw,108px); margin-top: 41px; padding-inline: min(3vw,44px) 0; }
.page-purchase__art img { display: block; width: 100%; height: auto; aspect-ratio: 652/544; }
.purchase-options { padding-top: 30px; }
.purchase-option { padding: 0 0 37px; }
.purchase-option + .purchase-option { border-top: 1px solid #bbb7b1; padding-top: 42px; }
.purchase-option .small-caps { margin: 12px 0 14px; }
.purchase-option__price { margin: 0; font-size: 42px; line-height: 1.16; color: #141719; }
.purchase-option__detail { margin: 9px 0 19px; font-size: 20px; line-height: 1.4; color: #303132; }
/* OM FÖRFATTAREN */
.page-author { padding-top: 36px; padding-bottom: 42px; }
.page-author .page-heading { margin: 9px 0 16px; }
.page-author__grid { display: grid; grid-template-columns: minmax(0,600fr) minmax(0,565fr); column-gap: clamp(45px,5vw,70px); align-items: start; }
.page-author__portrait { min-width: 0; }
.page-author__portrait img { display: block; width: 100%; height: auto; aspect-ratio: 600/722; object-fit: cover; object-position: center center; }
.page-author__content { padding: 15px 0 0; }
.page-author__content h2 { margin: 27px 0 20px; font-size: clamp(26px,2.15vw,34px); line-height: 1.26; font-weight: 400; color: #101010; }
.page-author__content p { font-size: clamp(17px,1.43vw,22px); color: #656369; line-height: 1.34; margin: 0 0 17px; }
.page-author__content .site-button { margin-top: 14px; }
/* EVENEMANG */
.page-events { padding-top: 26px; padding-bottom: 26px; }
.page-events .page-heading { margin: 0; font-size: clamp(56px,4.6vw,72px); }
.page-events__title-rule { margin: 8px 0 19px; width: 50px; }
.events-hero { position: relative; width: 100%; aspect-ratio: 1292/660; isolation: isolate; }
.events-hero__art { display: block; width: 100%; height: auto; }
.events-hero__copy { position: absolute; left: 19.5%; top: 4.2%; width: 45%; color: #171615; }
.events-hero__eyebrow { margin: 0 0 17px; font-size: clamp(11px,1vw,14px); letter-spacing: .26em; line-height: 1.5; }
.events-hero__copy h2 { font-size: clamp(32px,3vw,47px); line-height: .97; letter-spacing: -.02em; font-weight: 400; margin: 23px 0 13px; }
.events-hero__subtitle { font-size: clamp(18px,1.6vw,25px); line-height: 1.23; margin: 0 0 21px; }
.events-hero__date { font-size: clamp(17px,1.54vw,24px); line-height: 1.26; margin: 20px 0 17px; }
.events-hero__program { font-size: clamp(10px,1vw,14px); line-height: 1.5; letter-spacing: .15em; margin: 0; }
.page-events__interest { text-align: center; margin-top: 17px; }
.page-events__interest p { margin: 0 0 14px; font-size: 23px; line-height: 1.18; }
/* KONTAKT: original untouched wide architectural background, placed below the header */
.page-contact { position: relative; isolation: isolate; min-height: calc(100vh - var(--header-height)); min-height: calc(100svh - var(--header-height)); color: var(--color-text-light); background: #282723 url('../img/kontakt-background-clean.png') center top / cover no-repeat; }
.page-contact__inner { max-width: 1536px; margin-inline: auto; }
.page-contact__content { padding-top: clamp(155px,13vw,202px); margin-left: var(--side-gutter); width: min(540px,calc(50% - var(--side-gutter) - 20px)); }
.page-contact__content .small-rule { background: #eed9bb; height: 2px; width: 49px; }
.page-contact__eyebrow { font-size: 15px; letter-spacing: .33em; margin: 23px 0 30px; color: #ead5b7; }
.page-contact h1 { font-size: clamp(52px,5.9vw,89px); line-height: 1.02; font-weight: 400; letter-spacing: -.03em; margin: 0 0 31px; white-space: nowrap; }
.page-contact__lead { font-size: clamp(19px,1.6vw,25px); line-height: 1.33; margin: 0; }
.page-contact__links { margin: 66px 0 0; }
.page-contact__links > div { display: flex; gap: 20px; justify-content: space-between; align-items: center; min-height: 78px; border-top: 1px solid #73685e; }
.page-contact__links > div:last-child { border-bottom: 1px solid #73685e; }
.page-contact__links dt, .page-contact__links dd { margin: 0; font-size: 19px; line-height: 1.35; }
.page-contact__links dd { text-align: right; color: #e7c6a5; }
.page-contact__links a { text-decoration: none; }
.page-contact__links a:hover { text-decoration: underline; }
/* No forced background stretching on wide screens. */
/* TABLET + MOBILE: real copy remains accessible, no squashing of original art */
@media (max-width: 1040px) {
  .book-feature__copy { padding: 28px 30px; }
  .book-feature__lead { padding-top: 20px; }
  .page-author__grid { column-gap: 35px; }
  .page-author__content { padding-top: 4px; }
  .page-author__content p { font-size: 18px; }
  .page-contact__content { width: min(440px,43vw); }
  .page-contact h1 { font-size: clamp(44px,5vw,72px); }
  .page-contact__links dt,.page-contact__links dd { font-size: 16px; }
}
@media (max-width: 880px) {
  .inner-page { padding-top: 35px; padding-bottom: 55px; }
  .page-eyebrow { font-size: 11px; gap: 12px; }
  .page-eyebrow__rule { width: 26px; }
  .page-heading { font-size: clamp(43px,9vw,60px); margin: 12px 0 22px; }
  .book-feature { grid-template-columns: 1fr; }
  .book-feature__art img { aspect-ratio: 652/601; }
  .book-feature__copy { padding: 34px 27px 35px; }
  .book-feature__copy h2 { font-size: clamp(39px,8vw,55px); }
  .book-feature__lead { margin: 22px 0 10px; padding-top: 0; }
  .book-feature__description { margin-bottom: 23px; }
  .page-purchase__grid { grid-template-columns: 1fr; gap: 30px; margin-top: 26px; padding: 0; }
  .page-purchase__intro { font-size: 21px; }
  .purchase-options { padding: 0; }
  .purchase-option { padding-bottom: 28px; }
  .purchase-option + .purchase-option { padding-top: 29px; }
  .page-author__grid { grid-template-columns: 1fr; gap: 27px; }
  .page-author__portrait { max-width: 600px; }
  .page-author__portrait img { aspect-ratio: 600/722; }
  .page-author__content h2 { font-size: clamp(28px,5vw,37px); }
  .page-author__content p { font-size: 19px; line-height: 1.45; }
  .page-events { padding-top: 26px; }
  .page-events .page-heading { font-size: clamp(48px,9vw,64px); }
  .events-hero { display: flex; flex-direction: column; aspect-ratio: auto; }
  .events-hero__copy { position: static; order: -1; background: #ede1d4; width: 100%; padding: 25px 26px; }
  .events-hero__art { width: 100%; height: auto; }
  .events-hero__eyebrow { font-size: 11px; }
  .events-hero__copy h2 { font-size: clamp(34px,7vw,47px); }
  .events-hero__subtitle { font-size: 21px; }
  .events-hero__date { font-size: 19px; }
  .events-hero__program { font-size: 11px; }
  .page-events__interest p { font-size: 21px; }
  .page-contact { min-height: calc(100svh - var(--header-height-mobile)); background: #292723; }
  .page-contact__inner { min-height: 0; display: flex; flex-direction: column; }
  .page-contact__content { width: auto; margin: 0; padding: 42px 24px 18px; }
  .page-contact h1 { font-size: clamp(49px,12vw,78px); white-space: normal; }
  .page-contact__lead { font-size: 21px; }
  .page-contact__links { margin-top: 24px; max-width: 560px; }
  .page-contact__links > div { min-height: 59px; }
  .page-contact__links dt,.page-contact__links dd { font-size: 17px; }
  .page-contact::after { content: ''; display: block; width: 100%; height: clamp(175px, 42vw, 280px); background: linear-gradient(to bottom, #292723 0%, rgb(41 39 35 / 65%) 12%, transparent 35%), url('../img/kontakt-background-clean.png') right 56% / cover no-repeat; }
}
@media (max-width: 480px) {
  .desktop-line { display: none; }
  .site-button { font-size: 19px; padding: 11px 18px; gap: 16px; }
  .page-author__content h2 { font-size: 28px; }
  .page-contact__links > div { align-items: start; flex-direction: column; justify-content: center; gap: 2px; }
  .page-contact__links dd { text-align: left; overflow-wrap: anywhere; }
  .page-contact__links a { font-size: 16px; }
  .page-contact h1 { font-size: clamp(47px,11.8vw,58px); }
  .page-contact__lead { font-size: 19px; }
}


/* Keep one semantic H1, visually suppress only the duplicate author heading. */
.page-author__sr-heading {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}


/* Contact-only correction: fit the original composition within the viewport below the header on desktop. */
@media (min-width: 881px) {
  .page-contact {
    height: calc(100vh - var(--header-height));
    height: calc(100svh - var(--header-height));
    min-height: 0;
  }
  .page-contact__content {
    padding-top: clamp(40px, 7.3vh, 90px);
  }
  .page-contact__eyebrow { margin: 15px 0 18px; }
  .page-contact h1 { font-size: clamp(50px, 5vw, 76px); margin-bottom: 18px; }
  .page-contact__links { margin-top: clamp(22px, 3vh, 35px); }
  .page-contact__links > div { min-height: 60px; }
}
@media (min-width: 881px) and (max-height: 680px) {
  .page-contact { height: auto; min-height: calc(100svh - var(--header-height)); padding-bottom: 24px; }
}

/* FINAL: one desktop sizing system, avoiding contradictory STEP 4/5/6 overrides. */
@media (min-width: 881px) {
  .page-books, .page-purchase { padding-top: 13px; padding-bottom: 15px; }
  .page-books .page-heading, .page-purchase .page-heading { font-size: clamp(43px,3.15vw,51px); margin: 5px 0 10px; }
  .book-feature { max-width: 1050px; margin: 0 auto; grid-template-columns: minmax(0,48fr) minmax(0,52fr); }
  .book-feature__art img, .page-purchase__art img { width: 100%; height: auto; display: block; }
  .book-feature__copy { padding: 19px clamp(23px,2.5vw,35px); }
  .book-feature__copy .small-caps { margin: 11px 0 10px; }
  .book-feature__copy h2 { font-size: clamp(36px,2.8vw,45px); }
  .book-feature__lead { margin: auto 0 9px; padding-top: 12px; font-size: clamp(19px,1.5vw,23px); }
  .book-feature__description { margin-bottom: 16px; font-size: clamp(17px,1.25vw,19px); }
  .page-purchase__grid { max-width: 1050px; margin: 0 auto; padding: 0; column-gap: clamp(28px,3vw,45px); grid-template-columns: 48% minmax(0,1fr); }
  .page-purchase__intro { font-size: clamp(19px,1.6vw,23px); margin: 0 0 13px; line-height: 1.32; }
  .purchase-options { padding-top: 3px; }
  .purchase-option { padding-bottom: 8px; }
  .purchase-option + .purchase-option { padding-top: 11px; }
  .purchase-option .small-caps { margin: 9px 0 8px; }
  .purchase-option__price { font-size: clamp(34px,2.6vw,39px); }
  .purchase-option__detail { margin: 7px 0 13px; font-size: clamp(17px,1.3vw,19px); }
  .page-author { padding-top: 12px; padding-bottom: 16px; }
  .page-author__grid { grid-template-columns: minmax(0,43fr) minmax(0,57fr); column-gap: clamp(30px,3vw,48px); }
  .page-author__portrait { width: 87%; margin-top: 24px; margin-left: 4%; }
  .page-author__portrait img { height: auto; aspect-ratio: auto; object-fit: contain; }
  .page-author__content { padding-top: 5px; }
  .page-author__content h2 { margin: 10px 0 10px; font-size: clamp(28px,2.1vw,30px); line-height: 1.23; }
  .page-author__content p { font-size: clamp(18px,1.32vw,19px); line-height: 1.37; margin-bottom: 10px; }
  .page-author__content .site-button { margin-top: 7px; }
  .page-events { padding-top: 12px; padding-bottom: 16px; }
  .page-events .page-heading { margin: 0; font-size: clamp(45px,3.35vw,55px); }
  .page-events__title-rule { margin: 5px 0 10px; }
  .events-hero { max-width: 1040px; margin-inline: auto; }
  .events-hero__copy { top: 3%; left: 18.5%; width: 39%; }
  .events-hero__eyebrow { margin-bottom: 8px; font-size: clamp(10px,.8vw,12px); }
  .events-hero__copy h2 { margin: 10px 0 7px; font-size: clamp(30px,2.45vw,38px); line-height: 1.02; }
  .events-hero__subtitle { margin: 0 0 10px; font-size: clamp(17px,1.35vw,21px); }
  .events-hero__date { margin: 10px 0 8px; font-size: clamp(16px,1.25vw,19px); }
  .events-hero__program { font-size: clamp(10px,.84vw,12px); line-height: 1.3; letter-spacing: .08em; }
  .page-events__interest { margin-top: 8px; }
  .page-events__interest p { margin-bottom: 8px; font-size: 19px; }
}
@media (min-width: 881px) and (max-height: 800px) {
  .book-feature, .page-purchase__grid { max-width: 940px; }
  .events-hero { max-width: 920px; }
  .page-books, .page-purchase { padding-top: 12px; padding-bottom: 14px; }
  .page-events .page-heading { font-size: 44px; }
}

/* Approved Evenemang image: always show the full 1672×941 frame. */
.events-hero { aspect-ratio: 1672 / 941; }
.events-hero__art { display: block; width: 100%; height: auto; aspect-ratio: 1672 / 941; object-fit: contain; }
@media (min-width: 881px) {
  .page-purchase__art img { aspect-ratio: 652 / 601; }
  .page-purchase__grid { align-items: start; }
  .purchase-options { padding-top: 0; }
  .page-events { padding-top: 5px; padding-bottom: 8px; }
  .page-events .page-heading { font-size: clamp(43px,3.2vw,51px); }
  .page-events__title-rule { display: none; }
  .events-hero { width: 100%; max-width: min(1160px, calc((100svh - 190px) * 1672 / 941)); margin-inline: auto; }
  .events-hero__copy { left: 5%; top: 5%; width: 43%; }
  .events-hero__eyebrow { margin-bottom: 6px; font-size: clamp(10px,.8vw,12px); }
  .events-hero__copy h2 { margin: 7px 0 6px; font-size: clamp(26px,2.15vw,34px); line-height: 1.03; }
  .events-hero__subtitle { margin-bottom: 7px; font-size: clamp(17px,1.32vw,21px); }
  .events-hero__date { margin: 7px 0 6px; font-size: clamp(15px,1.13vw,18px); }
  .events-hero__program { font-size: clamp(10px,.8vw,12px); letter-spacing: .04em; }
  .page-events__interest { margin-top: 5px; }
  .page-events__interest p { font-size: 18px; margin-bottom: 7px; }
}
@media (min-width: 881px) and (max-height: 950px) {
  .events-hero { max-width: min(1000px, calc((100svh - 190px) * 1672 / 941)); }
}
@media (min-width: 881px) and (max-height: 800px) {
  .events-hero { max-width: min(800px, calc((100svh - 190px) * 1672 / 941)); }
}
@media (max-width: 880px) {
  .events-hero { aspect-ratio: auto; }
  .page-purchase__art img { aspect-ratio: 652 / 601; }
  .page-purchase__intro { margin: 0 0 24px; }
}

/* Only the Event page: preserve an accessible H1 without consuming the art area. */
.page-events > .page-heading { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (min-width: 881px) {
  .page-events { padding-top: 0; }
  .events-hero { max-width: min(1160px, calc((100svh - 190px) * 1672 / 941)); }
}

/* Two-page final adjustments: H1 remains accessible; art and approved pages untouched. */
.page-purchase__sr-heading { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (min-width: 881px) {
  .page-purchase { padding-top: 10px; padding-bottom: 10px; }
  .page-purchase__grid { margin-top: 0; }
  .purchase-options { padding-top: 0; }
  .page-purchase__intro { margin-bottom: 9px; }
  .purchase-option { padding-bottom: 7px; }
  .purchase-option + .purchase-option { padding-top: 10px; }
  .page-events { padding-bottom: 5px; }
  .page-events__interest { margin-top: 3px; }
  .page-events__interest p { white-space: nowrap; line-height: 1.15; margin: 0 0 5px; }
}
@media (max-width: 880px) {
  .page-events__interest p { white-space: normal; }
}

/* Shared desktop artwork geometry: identical X/Y/width/height across book and purchase. */
.page-books__sr-heading { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (min-width: 881px) {
  .page-books, .page-purchase { padding-top: 13px; }
  .page-books .book-feature, .page-purchase__grid {
    width: 100%;
    max-width: 1050px;
    margin: 12px auto 0;
    display: grid;
    grid-template-columns: minmax(0, 48fr) minmax(0, 52fr);
    column-gap: 0;
    border: 1px solid transparent;
    padding: 0;
  }
  .page-books .book-feature { border-color: var(--color-border); }
  .page-purchase__art img { aspect-ratio: 652 / 601; }
  .purchase-options { min-width: 0; padding: 0 clamp(23px, 2.5vw, 35px); }
}
@media (min-width: 881px) and (max-height: 800px) {
  .page-books .book-feature, .page-purchase__grid { max-width: 940px; }
  .page-books, .page-purchase { padding-top: 12px; }
}

/* Mobile contact vertical fit only; allow natural scrolling on short displays. */
@media (max-width: 880px) {
  .page-contact {
    min-height: calc(100svh - var(--header-height-mobile));
    display: flex;
    flex-direction: column;
  }
  .page-contact__eyebrow { margin: 14px 0 16px; }
  .page-contact h1 { margin-bottom: 16px; }
  .page-contact__links { margin-top: 20px; }
  .page-contact::after { flex: 1 0 clamp(175px, 42vw, 280px); height: auto; }
}
@media (max-width: 480px) {
  .page-contact__content { padding-top: 34px; padding-bottom: 13px; }
  .page-contact__links > div { min-height: 55px; }
}
