/*
Theme Name: N7 Golf Club Child Theme
Theme URI: https://golfclub.themerex.net/
Description: N7 Golf Club is a Premium WordPress theme that has built-in support for popular Page Builders, slider with swipe gestures, and is SEO- and Retina-ready. The unique system of inheritance and override options allows setting up individual parameters for different sections of your site and supported plugins.
Author: ThemeREX
Author URI: http://themerex.net/
Version: 2.25.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: blog, e-commerce, portfolio, grid-layout, one-column, two-columns, three-columns, four-columns, left-sidebar, right-sidebar, custom-background, custom-colors, custom-header, custom-logo, custom-menu, editor-style, featured-image-header, featured-images, flexible-header, footer-widgets, full-width-template, microformats, post-formats, sticky-post, theme-options, threaded-comments, translation-ready, block-styles, wide-blocks
Text Domain: n7-golf-club
Template: n7-golf-club
*/


/* =Child-Theme customization starts here
------------------------------------------------------------ */

/* Prevent FOUC for Elementor "Stretch Section" sections.
   Without this, the section is laid out at width:100% of its constrained
   parent (.content_wrap, max ~1290px) until elementor-frontend.js runs and
   sets inline width/left to span the viewport — causing a visible width-jump
   on first paint. Pre-stretch via pure CSS so the section is full-width from
   the first render; Elementor's later inline styles override harmlessly. */
html { overflow-x: hidden; }
.elementor-section.elementor-section-stretched {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

/* Socials im Mobile-Burger-Menü ausblenden (nicht relevant für diese Seite) */
.socials_mobile { display: none !important; }

/* Hauptmenü: Einträge im "..."-Overflow-Dropdown weiß für bessere Lesbarkeit */
.sc_layouts_menu li.menu-collapse > ul a,
.sc_layouts_menu li.trx-addons-nav-menu-collapse > ul a,
.sc_layouts_menu .sc_layouts_menu_collapsed_item > a {
    color: #fff !important;
}
.sc_layouts_menu li.menu-collapse > ul a:hover,
.sc_layouts_menu li.trx-addons-nav-menu-collapse > ul a:hover,
.sc_layouts_menu .sc_layouts_menu_collapsed_item > a:hover {
    color: #E06018 !important;
}

/* ──────────────────────────────────────────────────────────────────────────
   Förderpreis-Seite: Oranger Bewerbungs-Block (Section 98b8b12)
   Sicherstellen, dass Titel und Kontaktformular auf #E06018 lesbar sind.
   ────────────────────────────────────────────────────────────────────────── */
#kontaktformular .sc_item_title,
#kontaktformular .sc_title { color: #fff !important; }

/* Contact-Form-7 auf Orange */
#kontaktformular .wpcf7 label { color: #fff; font-weight: 600; }
#kontaktformular .wpcf7-form-control:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]) {
    background: #fff;
    border: 1px solid #fff;
    color: #2F2A26;
    border-radius: 8px;
    padding: 12px 16px;
}
#kontaktformular textarea.wpcf7-form-control {
    border-radius: 10px;
    padding: 14px 16px;
}
#kontaktformular .wpcf7-form-control:not([type="submit"]):focus {
    outline: 2px solid rgba(255,255,255,0.45);
    outline-offset: 2px;
}

/* Submit-Button — symmetrisches Padding, Text mittig zentriert. */
#kontaktformular .wpcf7-submit,
#kontaktformular input[type="submit"] {
    background: #fff !important;
    color: #E06018 !important;
    border: 2px solid #fff !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    padding: 14px 36px !important;   /* Symmetrisch — Theme setzt asymmetrisches 17px 35px 17px 64px */
    text-align: center !important;
    text-indent: 0 !important;
    transition: background .15s, color .15s;
}
#kontaktformular .wpcf7-submit:hover,
#kontaktformular input[type="submit"]:hover {
    background: #2F2A26 !important;
    color: #fff !important;
    border-color: #2F2A26 !important;
}
#kontaktformular .wpcf7-not-valid-tip { color: #2F2A26; }
#kontaktformular .wpcf7-response-output {
    color: #fff;
    border-color: rgba(255,255,255,0.45) !important;
}

/* ──────────────────────────────────────────────────────────────────────────
   Standard: abgerundete Ecken für Inhalts-Bilder (Elementor + Editor).
   Ausgenommen: Logos, Social-Icons, Menü-Icons und alles, was in einem
   Wrapper liegt, dessen Author die Rundung bewusst nicht möchte.
   ────────────────────────────────────────────────────────────────────────── */
.elementor-widget-image img,
.entry-content img:not(.no-radius):not([class*="logo"]),
.post_content img:not(.no-radius):not([class*="logo"]) {
    border-radius: 8px;
}

/* Ausnahmen — bereits eigens gestaltet oder runde/quadratische Bilder gewünscht */
.sc_layouts_logo img,
.elementor-widget-trx_sc_layouts_logo img,
.elementor-widget-icon img,
.bhp-item__cover img, /* hat eigenen radius (4px) */
.archiv-img img      /* hat eigenen radius (8px) */
{ /* keine Override hier — Spezifität reicht aus */ }

/* ── Download-Bereich: Anchor-Highlighting via :target ────────────────────────
   Wenn man auf einen Deep-Link klickt (z.B. /downloads/#beitrittserklaerung),
   scrollt der Browser zur Zeile und diese CSS-Regel hebt sie hervor. */
.dl-item:target {
    background: #fff5ee !important;
    border-color: #E06018 !important;
    box-shadow: 0 0 0 3px rgba(224, 96, 24, 0.25);
    animation: dl-highlight-pulse 1.8s ease forwards;
}

@keyframes dl-highlight-pulse {
    0%   { background: #fde0c8; box-shadow: 0 0 0 4px rgba(224,96,24,0.45); }
    60%  { background: #fff5ee; box-shadow: 0 0 0 3px rgba(224,96,24,0.20); }
    100% { background: #fff5ee; box-shadow: 0 0 0 3px rgba(224,96,24,0.20); }
}
/* ── Archiv-Bibliothek: Eingebettete Bilder ───────────────────────────────── */
.archiv-img img {
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.12);
    width: 100%;
    height: auto;
    display: block;
}

/* ═══════════════════════════════════════════════════════════════════════════
   BHP Fachzeitschriften-Archiv  (/bhp-fachzeitschrift/)
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Hero ── */
.bhp-hero {
    background: #2F2A26;
    color: #fff;
    padding: 140px 20px 70px;
    text-align: center;
    /* Stretch to full viewport width even inside constrained content_wrap */
    position: relative;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}
.bhp-hero__inner { max-width: 820px; margin: 0 auto; }
.bhp-hero__label {
    font-size: 13px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #E06018;
    margin: 0 0 12px;
}
.bhp-hero__title {
    font-size: clamp(26px, 4.5vw, 42px);
    font-weight: 700;
    margin: 0 0 14px;
    line-height: 1.15;
    color: #fff;
}
.bhp-hero__sub {
    font-size: 16px;
    color: rgba(255,255,255,0.78);
    line-height: 1.65;
    margin: 0;
}

/* ── Wrapper ── */
.bhp-wrap {
    max-width: 1180px;
    margin: 0 auto;
    padding: 36px 24px 56px;
}

/* Hide the ThemeREX auto-generated white page title area on the BHP template.
   The layout template (ID 16730) renders an h1/title above our custom hero —
   we suppress it via the body class that WordPress adds for custom page templates. */
.page-template-page-bhp .trx-addons-layout { display: none !important; }

/* Hintergrund für die page_content_wrap nur auf der BHP-Seite. */
body.page-template-page-bhp .page_content_wrap {
    background-color: #F8F6F4;
}

/* ── Issue grid (auto-fit: 1–3 Spalten je nach Breite) ── */
.bhp-list {
    list-style: none;
    margin: 0 0 32px;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    gap: 24px;
}

/* ── Issue card ── */
.bhp-item {
    position: relative;
    display: flex;
    gap: 22px;
    background: #fff;
    border: 1px solid #E8E4DF;
    border-radius: 12px;
    padding: 24px 24px 20px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
    transition: box-shadow .2s, transform .2s, border-color .2s;
}
.bhp-item:hover {
    box-shadow: 0 8px 24px rgba(0,0,0,0.10);
    border-color: #d8cfc6;
    transform: translateY(-2px);
}

/* When the TOC inside an item is open, let it span all grid columns */
.bhp-item:has(.bhp-item__toc[open]) {
    grid-column: 1 / -1;
}

/* Cover — größer, damit Titel auf dem Cover lesbar bleibt */
.bhp-item__cover {
    flex: 0 0 140px;
    width: 140px;
}
.bhp-item__cover img {
    width: 140px;
    height: auto;
    border-radius: 4px;
    box-shadow: 0 3px 12px rgba(0,0,0,0.20);
    display: block;
}

/* Body */
.bhp-item__body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    padding-bottom: 20px; /* Platz für Nummern-Badge unten rechts */
}

/* Issue number badge — dezent unten rechts in der Card */
.bhp-item__num {
    position: absolute;
    bottom: 12px;
    right: 16px;
    font-size: 11px;
    font-weight: 600;
    color: #C2B5AC;
    letter-spacing: 1px;
    text-transform: uppercase;
    pointer-events: none;
}

.bhp-item__title {
    font-size: 19px;
    font-weight: 700;
    color: #2F2A26;
    margin: 0 0 14px;
    line-height: 1.3;
}

/* TOC: Vorschau (immer sichtbar) */
.bhp-item__toc-preview {
    font-size: 13.5px;
    line-height: 1.6;
    color: #6F665E;
    margin: 0 0 14px;
    /* Ersten 2 Beiträge als Vorschau */
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    /* Subtile Andeutung, dass mehr folgt */
    -webkit-mask-image: linear-gradient(to bottom, #000 60%, rgba(0,0,0,0.35) 100%);
            mask-image: linear-gradient(to bottom, #000 60%, rgba(0,0,0,0.35) 100%);
}

/* TOC accordion */
.bhp-item__toc { margin-top: auto; }

.bhp-item__toc summary {
    cursor: pointer;
    font-size: 14px;
    color: #E06018;
    font-weight: 700;
    list-style: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    user-select: none;
    padding: 10px 18px;
    border: 2px solid #E06018;
    border-radius: 6px;
    background: #fff;
    transition: background .15s, color .15s, border-color .15s;
    align-self: flex-start;
}
.bhp-item__toc summary:hover {
    background: #E06018;
    color: #fff;
}
.bhp-item__toc summary::-webkit-details-marker { display: none; }
.bhp-item__toc summary::before {
    content: '▸';
    transition: transform .2s;
    font-size: 12px;
}
.bhp-item__toc[open] summary {
    background: #E06018;
    color: #fff;
    border-color: #E06018;
}
.bhp-item__toc[open] summary::before { transform: rotate(90deg); }

/* Vorschau ausblenden, wenn voll geöffnet */
.bhp-item:has(.bhp-item__toc[open]) .bhp-item__toc-preview { display: none; }

.bhp-item__toc-inner {
    margin-top: 16px;
    padding: 22px 26px;
    background: #FBFAF8;
    border: 1px solid #EDE7E1;
    border-left: 4px solid #E06018;
    border-radius: 0 8px 8px 0;
    font-size: 14.5px;
    line-height: 1.7;
    color: #3F3833;
    /* Multi-column layout for long TOCs when card spans full width */
    column-width: 320px;
    column-gap: 36px;
    column-rule: 1px solid #EDE7E1;
}
.bhp-item__toc-inner p {
    margin: 0;
    padding: 8px 0;
    break-inside: avoid;
    border-bottom: 1px dashed #E6DFD8;
}
.bhp-item__toc-inner p:last-child {
    border-bottom: none;
}
.bhp-item__toc-inner p strong {
    color: #2F2A26;
}
.bhp-item__toc-inner p em {
    color: #8A7F76;
    font-style: normal;
    font-size: 0.92em;
}

/* ── Paginierung ── */
.bhp-pager {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    padding: 10px 0;
    margin-bottom: 32px;
}
.bhp-pager--bottom { margin-top: 16px; margin-bottom: 0; }

.bhp-pager__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border: 2px solid #E8E4DF;
    border-radius: 6px;
    background: #fff;
    color: #585048;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    transition: border-color .15s, color .15s, background .15s;
}
.bhp-pager__btn:hover {
    border-color: #E06018;
    color: #E06018;
    background: #fff8f4;
}
.bhp-pager__btn--active {
    border-color: #E06018;
    background: #E06018;
    color: #fff;
    cursor: default;
}
.bhp-pager__ellipsis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    padding: 0 4px;
    color: #9D9089;
    font-size: 15px;
}

/* ── Responsive ── */
@media (max-width: 480px) {
    .bhp-item { gap: 14px; padding: 16px; }
    .bhp-item__cover { flex: 0 0 92px; width: 92px; }
    .bhp-item__cover img { width: 92px; }
    .bhp-item__title { font-size: 16px; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   Wissenschaftliche Reihe   (/wissenschaftliche-reihe/)
   ═══════════════════════════════════════════════════════════════════════════ */

/* Hide auto-generated white page title (gleicher Trick wie BHP) */
.page-template-page-wiss-reihe .trx-addons-layout { display: none !important; }
body.page-template-page-wiss-reihe .page_content_wrap {
    background-color: #F8F6F4;
}

/* ── Hero ── */
.wr-hero {
    background: #2F2A26;
    color: #fff;
    padding: 140px 20px 70px;
    text-align: center;
    position: relative;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}
.wr-hero__inner { max-width: 760px; margin: 0 auto; }
.wr-hero__label {
    font-size: 13px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #E06018;
    margin: 0 0 12px;
}
.wr-hero__title {
    font-size: clamp(26px, 4.5vw, 42px);
    font-weight: 700;
    margin: 0 0 14px;
    line-height: 1.15;
    color: #fff;
}
.wr-hero__sub {
    font-size: 16px;
    color: rgba(255,255,255,0.78);
    line-height: 1.65;
    margin: 0;
}

/* ── Bestell-Hinweis-Leiste ── */
.wr-orderbar {
    background: #fff;
    border-top: 4px solid #E06018;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}
.wr-orderbar__inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 22px 24px;
    display: flex;
    align-items: center;
    gap: 22px;
}
.wr-orderbar__icon {
    font-size: 32px;
    flex-shrink: 0;
}
.wr-orderbar__text {
    flex: 1;
    font-size: 14.5px;
    line-height: 1.55;
    color: #585048;
}
.wr-orderbar__text strong {
    display: block;
    font-size: 15px;
    color: #2F2A26;
    margin-bottom: 2px;
}
.wr-orderbar__btn {
    flex-shrink: 0;
    display: inline-block;
    padding: 11px 22px;
    background: #E06018;
    color: #fff !important;
    font-size: 14px;
    font-weight: 700;
    border-radius: 6px;
    text-decoration: none;
    transition: background .15s;
}
.wr-orderbar__btn:hover { background: #b94d10; }

/* ── Wrapper ── */
.wr-wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 50px 24px 60px;
}

.wr-section-title {
    font-size: 22px;
    font-weight: 700;
    color: #2F2A26;
    margin: 0 0 24px;
    padding-bottom: 14px;
    border-bottom: 2px solid #E06018;
    display: inline-block;
    line-height: 1.3;
}
.wr-section-title--secondary {
    margin-top: 64px;
}
.wr-section-intro {
    font-size: 15px;
    line-height: 1.6;
    color: #6F665E;
    margin: -10px 0 28px;
    max-width: 720px;
}

/* ── Bände-Grid ── */
.wr-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
    gap: 20px;
    margin-bottom: 16px;
}

.wr-item {
    display: flex;
    background: #fff;
    border: 1px solid #E8E4DF;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
    transition: box-shadow .2s, transform .2s, border-color .2s;
}
.wr-item:hover {
    box-shadow: 0 8px 24px rgba(0,0,0,0.10);
    border-color: #d8cfc6;
    transform: translateY(-2px);
}

/* "Buchrücken" links: orange, mit Band-Nummer */
.wr-item__spine {
    flex: 0 0 80px;
    background: linear-gradient(180deg, #E06018 0%, #b94d10 100%);
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 22px 8px;
    position: relative;
}
.wr-item__spine::after {
    /* dezente Linie, die einen Buchrücken andeutet */
    content: '';
    position: absolute;
    top: 14px; bottom: 14px;
    right: 0;
    width: 2px;
    background: rgba(0,0,0,0.12);
}
.wr-item__spine-label {
    font-size: 11px;
    letter-spacing: 2px;
    text-transform: uppercase;
    opacity: 0.85;
    font-weight: 600;
    margin-bottom: 4px;
}
.wr-item__spine-num {
    font-size: 38px;
    font-weight: 800;
    line-height: 1;
}

.wr-item__body {
    flex: 1;
    padding: 20px 22px;
    min-width: 0;
}

.wr-item__tag {
    display: inline-block;
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 4px 9px;
    border-radius: 3px;
    margin-bottom: 10px;
    background: #FFE6D8;
    color: #b94d10;
}
.wr-item__tag--dissertation {
    background: #E6EEF7;
    color: #1f5a8a;
}
.wr-item__tag--symposiumsbericht {
    background: #EFE7DC;
    color: #6F4F1F;
}

.wr-item__title {
    font-size: 17px;
    font-weight: 700;
    color: #2F2A26;
    margin: 0 0 8px;
    line-height: 1.35;
}
.wr-item__meta {
    font-size: 13px;
    color: #8A7F76;
    margin: 0 0 10px;
    line-height: 1.4;
}
.wr-item__author { font-weight: 600; color: #585048; }
.wr-item__sep { margin: 0 6px; opacity: 0.6; }
.wr-item__year { font-variant-numeric: tabular-nums; }

.wr-item__desc {
    font-size: 14px;
    color: #585048;
    line-height: 1.6;
    margin: 0;
}

/* ── Symposien (einfacher gestaltet, Subsektion) ── */
.wr-symposien {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 16px;
}
.wr-symp {
    display: flex;
    gap: 14px;
    background: #fff;
    border: 1px solid #E8E4DF;
    border-radius: 8px;
    padding: 18px 20px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
.wr-symp__num {
    flex-shrink: 0;
    font-size: 28px;
    font-weight: 800;
    color: #E06018;
    line-height: 1;
    width: 36px;
}
.wr-symp__body { flex: 1; min-width: 0; }
.wr-symp__title {
    font-size: 15px;
    font-weight: 700;
    color: #2F2A26;
    margin: 0 0 4px;
    line-height: 1.35;
}
.wr-symp__date {
    font-size: 12.5px;
    color: #8A7F76;
    margin: 0 0 6px;
    font-variant-numeric: tabular-nums;
}
.wr-symp__desc {
    font-size: 13.5px;
    color: #585048;
    line-height: 1.55;
    margin: 0;
}

/* ── Responsive ── */
@media (max-width: 600px) {
    .wr-orderbar__inner { flex-direction: column; align-items: flex-start; gap: 14px; text-align: left; }
    .wr-orderbar__btn { align-self: stretch; text-align: center; }
    .wr-item__spine { flex: 0 0 64px; padding: 16px 6px; }
    .wr-item__spine-num { font-size: 30px; }
    .wr-item__body { padding: 16px 18px; }
    .wr-item__title { font-size: 15.5px; }
}

