/*
Theme Name:  Blocksy Child — SK0MG
Template:    blocksy
Version:     2.0
*/

/* ═══════════════════════════════════════════════════════════════════════════
   SKØMG — LJUST TEMA  »Loggboken«
   ── Ytor (ljusast → mörkast) ───────────────────────────────────────────
   --bg          #f7f5f1   varmt papper — sidbakgrund
   --surface-1   #ffffff   vita kort och paneler
   --surface-2   #f0ede6   tonade fält, dropdowns
   --border      #e5e1d7   varm hårfin kant
   --border-hi   #d2ccbf   tydligare kant
   ── Accent (klubbens guld, omtolkat för ljus botten) ───────────────────
   --brass       #8f6e22   djup mässing — länkar, accenter (WCAG AA på papper)
   --brass-hi    #6f5518   mörkare mässing — hover
   --brass-pale  #cdb668   blek mässing — dekorativa kanter
   --gold        #c9a84c   klart guld — endast på mörka ytor (hero, badge)
   ── Text ───────────────────────────────────────────────────────────────
   --ink         #26231d   varmt bläcksvart — primär text
   --text-2      #6b665b   varm mellangrå — sekundär
   --text-3      #9a9384   dämpad — metadata
   ── Typografi ──────────────────────────────────────────────────────────
   Familjen Grotesk — rubriker, nav, UI (svenskt typsnitt, Stockholm)
   Newsreader       — brödtext (tidningsserif)
   Spline Sans Mono — frekvenser, datum, anropssignaler (»loggboken«)
   ═══════════════════════════════════════════════════════════════════════════ */

:root {
    --bg:         #f7f5f1;
    --surface-1:  #ffffff;
    --surface-2:  #f0ede6;
    --border:     #e5e1d7;
    --border-hi:  #d2ccbf;
    --brass:      #8f6e22;
    --brass-hi:   #6f5518;
    --brass-pale: #cdb668;
    --gold:       #c9a84c;
    --gold-hi:    #dbbe6a;
    --ink:        #26231d;
    --text:       #26231d;
    --text-2:     #6b665b;
    --text-3:     #9a9384;
    --blue:       #274e7d;   /* länsvapnets blå — endast markering/detaljer */

    --font-display: 'Familjen Grotesk', system-ui, sans-serif;
    --font-body:    'Newsreader', Georgia, serif;
    --font-mono:    'Spline Sans Mono', 'Courier New', monospace;

    --shadow-card:  0 1px 2px rgba(38, 35, 29, .05), 0 4px 16px rgba(38, 35, 29, .05);
    --shadow-lift:  0 2px 4px rgba(38, 35, 29, .06), 0 12px h2px rgba(38, 35, 29, .10);

    /* Blocksys injicerade variabler — dödar den blå standardpaletten */
    --theme-palette-color-1: var(--brass);
    --theme-palette-color-2: var(--brass-hi);
    --theme-palette-color-3: var(--ink);
    --theme-palette-color-4: var(--text-2);
    --theme-palette-color-5: var(--border);
    --theme-palette-color-6: var(--surface-2);
    --theme-palette-color-7: var(--bg);
    --theme-palette-color-8: var(--surface-1);
    --theme-text-color: var(--ink);
    --theme-headings-color: var(--ink);
    --theme-link-initial-color: var(--brass);
    --theme-link-hover-color: var(--brass-hi);
    --theme-button-background-initial-color: var(--brass);
    --theme-button-background-hover-color: var(--brass-hi);
    --theme-button-text-initial-color: #ffffff;
    --theme-button-text-hover-color: #ffffff;
    --theme-border-color: var(--border);
}

/* Markering — en blink av länsvapnets blå */
::selection {
    background: var(--blue);
    color: #ffffff;
}

/* Synligt tangentbordsfokus */
:focus-visible {
    outline: 2px solid var(--brass);
    outline-offset: 2px;
    border-radius: 2px;
}

/* ── Typografi: grundtext ────────────────────────────────────────────────── */
body {
    font-family: var(--font-body) !important;
    font-size: 1.0625rem;          /* 17px — serif behöver lite mer kropp */
    line-height: 1.7;
    font-weight: 400;
    letter-spacing: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /* !important krävs — Blocksy målar annars body med palettfärg 4 */
    background-color: var(--bg) !important;
    color: var(--ink);
}

p, li, td, blockquote {
    font-family: var(--font-body) !important;
    font-size: 1.0625rem;
    line-height: 1.7;
    letter-spacing: 0;
}

/* UI-element sätts med grotesken — formulär, knappar, etiketter */
input, textarea, select, button, label {
    font-family: var(--font-display) !important;
    font-size: 0.9rem;
    letter-spacing: 0;
}

/* ── Rubrikskala — Familjen Grotesk ─────────────────────────────────────── */
h1, h2, h3, h4, h5, h6,
.wp-block-heading,
.wp-block-post-title {
    font-family: var(--font-display) !important;
    font-weight: 650;
    line-height: 1.12;
    color: var(--ink);
}

h1, .wp-block-heading:is(h1) {
    font-size: clamp(2.1rem, 5vw, 3.1rem);
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -0.022em;
}

h2, .wp-block-heading:is(h2) {
    font-size: clamp(1.45rem, 3vw, 2.05rem);
    font-weight: 650;
    line-height: 1.15;
    letter-spacing: -0.015em;
    margin-bottom: 0.55em;
}

h3, .wp-block-heading:is(h3) {
    font-size: clamp(1.08rem, 2vw, 1.32rem);
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -0.008em;
}

h4, h5, h6 {
    font-size: 0.98rem;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0;
}

/* Block som uttryckligen begär mono (frekvenser, anropssignaler, Pristo-rubrik)
   ska få behålla loggboksfonten trots rubrikregeln ovan */
h1[style*="Spline Sans Mono"], h2[style*="Spline Sans Mono"],
h3[style*="Spline Sans Mono"], h4[style*="Spline Sans Mono"],
.wp-block-heading[style*="Spline Sans Mono"],
p[style*="Spline Sans Mono"] {
    font-family: var(--font-mono) !important;
}

/* ── Länkar ──────────────────────────────────────────────────────────────── */
a { color: var(--brass); }
a:hover { color: var(--brass-hi); }

.entry-content a:not(.wp-block-button__link):not(.wp-element-button) {
    text-decoration: underline;
    text-decoration-color: var(--brass-pale);
    text-underline-offset: 3px;
    transition: text-decoration-color .15s;
}
.entry-content a:not(.wp-block-button__link):not(.wp-element-button):hover {
    text-decoration-color: var(--brass-hi);
}

/* ── Metadata — »loggboken«: datum, kategorier och signaler i mono ──────── */
.wp-block-post-date,
.wp-block-post-date time,
.entry-meta,
.entry-meta time,
.entry-meta a,
.ct-meta-element {
    font-family: var(--font-mono) !important;
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.06em;
    line-height: 1.4;
    text-transform: uppercase;
}

.wp-block-post-excerpt p,
.entry-excerpt,
.entry-excerpt p {
    font-size: 0.95rem;
    line-height: 1.65;
}

.wp-block-read-more,
.more-link,
.ct-more-link {
    font-family: var(--font-display) !important;
    font-size: 0.74rem !important;
    font-weight: 650 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

/* ── Header & navigation ─────────────────────────────────────────────────── */
#header,
.site-header,
.ct-header,
.ct-header-desktop,
.header-desktop,
.ct-header .middle-row,
.ct-header .top-row,
.ct-header .bottom-row,
.ct-header [class*="-row"],
.ct-header [data-row],
.ct-header .header-row-inner,
.ct-header > *,
[data-id="header"] {
    background-color: rgba(255, 255, 255, .92) !important;
    background-image: none !important;
    border-bottom: 1px solid var(--border) !important;
    box-shadow: 0 1px 12px rgba(38, 35, 29, .05) !important;
}
#header,
.ct-header {
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    --theme-header-background: rgba(255,255,255,.92) !important;
    --headerBackground: rgba(255,255,255,.92) !important;
    --theme-text-color: var(--text-2) !important;
    --theme-link-initial-color: var(--text-2) !important;
    --theme-link-hover-color: var(--brass) !important;
    --theme-palette-color-1: var(--brass) !important;
    --theme-palette-color-2: var(--brass-hi) !important;
}

/* ── Logotyp ─────────────────────────────────────────────────────────────── */
.site-logo-container {
    display: flex !important;
    align-items: center !important;
    opacity: 1 !important;
    transition: none !important;
}
.site-logo-container:hover { opacity: 1 !important; }
.site-logo-container img,
.ct-header .custom-logo,
.site-header .custom-logo,
.default-logo {
    max-height: 48px !important;
    width: auto !important;
    height: auto !important;
    display: block !important;
    border-radius: 0 !important;
    object-fit: contain !important;
}
.site-title-container {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    line-height: 1 !important;
}
.site-title,
.site-title a {
    display: block !important;
    font-family: var(--font-display) !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: var(--ink) !important;
    text-decoration: none !important;
    line-height: 1.2 !important;
}
.site-description {
    display: block !important;
    font-family: var(--font-mono) !important;
    font-size: 0.58rem !important;
    font-weight: 400 !important;
    letter-spacing: 0.09em !important;
    text-transform: uppercase !important;
    color: var(--text-3) !important;
    line-height: 1.3 !important;
    margin-top: 2px !important;
}

/* Header-rad: vertikal centrering */
.ct-header .header-row-inner,
.ct-header .ct-container,
.ct-header [class*="header-row"] {
    align-items: center !important;
    display: flex !important;
}
.site-branding {
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0;
    margin-right: 32px !important;
}
.ct-header nav,
.ct-header .ct-menu {
    display: flex !important;
    align-items: center !important;
}

/* Nav-länkar — grotesk, luftig versal, understrykning som glider in */
.ct-header .ct-menu > li {
    border: none !important;
    border-radius: 0 !important;
    margin: 0 2px !important;
}
.ct-header .ct-menu > li > a,
.ct-header .main-navigation a,
.site-header nav a {
    position: relative;
    color: var(--text-2) !important;
    font-family: var(--font-display) !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    line-height: 1 !important;
    padding: 10px 12px !important;
    transition: color .2s !important;
    display: block !important;
}
.ct-header .ct-menu > li > a::after {
    content: '';
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 2px;
    height: 2px;
    background: var(--brass);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .22s ease;
}
.ct-header .ct-menu > li > a:hover { color: var(--ink) !important; }
.ct-header .ct-menu > li > a:hover::after { transform: scaleX(1); }

.ct-header .ct-menu > li.current-menu-item > a,
.ct-header .ct-menu > li.current-menu-ancestor > a,
.ct-header .ct-menu > li.current_page_item > a {
    color: var(--ink) !important;
}
.ct-header .ct-menu > li.current-menu-item > a::after,
.ct-header .ct-menu > li.current-menu-ancestor > a::after,
.ct-header .ct-menu > li.current_page_item > a::after {
    transform: scaleX(1);
}

/* Dropdowns */
.ct-header .sub-menu,
.ct-header .ct-sub-menu {
    background-color: var(--surface-1) !important;
    border: 1px solid var(--border) !important;
    border-top: 2px solid var(--brass) !important;
    box-shadow: var(--shadow-lift) !important;
    border-radius: 0 0 6px 6px !important;
    min-width: 190px !important;
}
.ct-header .sub-menu a,
.ct-header .ct-sub-menu a {
    color: var(--ink) !important;
    font-family: var(--font-display) !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    padding: 9px 16px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    border-bottom: 1px solid var(--border) !important;
    transition: background .15s, color .15s !important;
}
.ct-header .sub-menu li:last-child a,
.ct-header .ct-sub-menu li:last-child a {
    border-bottom: none !important;
}
.ct-header .sub-menu a:hover,
.ct-header .ct-sub-menu a:hover {
    color: var(--brass-hi) !important;
    background-color: var(--surface-2) !important;
}

/* ── PRISTO-sektion: guldkant på headern ─────────────────────────────────── */
.is-pristo-section #header,
.is-pristo-section .ct-header,
.is-pristo-section .site-header {
    border-bottom-color: var(--brass-pale) !important;
}
.is-pristo-section .custom-logo {
    max-height: 56px !important;
    width: auto !important;
}

/* ── Framsidan: inga glapp runt heron ────────────────────────────────────── */
.home .ct-main-content,
.home .ct-container-content,
.home .ct-container-full,
.home #main,
.home main,
.home article,
.home .entry-content,
.home .ct-page-content,
.home .ct-container {
    padding-top: 0 !important;
    margin-top: 0 !important;
}
.home .ct-container-full[data-vertical-spacing],
.home [data-vertical-spacing~="top"],
.home [data-vertical-spacing~="bottom"],
.home [data-vertical-spacing] {
    padding-top: 0 !important;
    margin-top: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}
.home .entry-content > *:first-child { margin-top: 0 !important; }
.home .ct-container-full,
.home .alignfull { margin-top: 0 !important; }
.home { --theme-header-height: 0px; }
.home .hero-section,
.home .wp-block-cover.alignfull,
.home .entry-content > .wp-block-cover {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Dölj sidtitel på framsidan */
.home .entry-header,
.home .page-title-section,
.home .ct-page-header {
    display: none !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   HERO — fotot behåller kvällsljuset: sidans enda mörka ankare.
   Tonskiktet lättas så solnedgången syns, texten forceras ljus.
   ══════════════════════════════════════════════════════════════════════════ */
.wp-block-cover.is-dark .wp-block-cover__background.has-background-dim {
    background: linear-gradient(180deg,
        rgba(24, 20, 14, .58) 0%,
        rgba(24, 20, 14, .34) 45%,
        rgba(24, 20, 14, .62) 100%) !important;
    opacity: 1 !important;
}
.wp-block-cover.is-dark h1,
.wp-block-cover.is-dark .wp-block-heading {
    color: var(--gold) !important;
    text-shadow: 0 2px 24px rgba(0, 0, 0, .45);
}
.wp-block-cover.is-dark p {
    color: #f3efe6 !important;
    text-shadow: 0 1px 12px rgba(0, 0, 0, .5);
}
/* Hero-knappar: fylld = klart guld på mörkt; kontur = ljus */
.wp-block-cover.is-dark .wp-block-button:not(.is-style-outline) .wp-block-button__link {
    background-color: var(--gold) !important;
    color: #201a0e !important;
}
.wp-block-cover.is-dark .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
    background-color: var(--gold-hi) !important;
}
.wp-block-cover.is-dark .wp-block-button.is-style-outline .wp-block-button__link {
    background: transparent !important;
    border-color: rgba(243, 239, 230, .75) !important;
    color: #f3efe6 !important;
}
.wp-block-cover.is-dark .wp-block-button.is-style-outline .wp-block-button__link:hover {
    background: rgba(243, 239, 230, .12) !important;
    border-color: #f3efe6 !important;
}

/* ── Hero-animationer — behärskat: intåg + fyrbåkspuls ──────────────────── */
@keyframes sk-logo-enter {
    from { opacity: 0; transform: scale(0.82); }
    to   { opacity: 1; transform: scale(1); }
}
@keyframes sk-beacon {
    0%, 100% { filter: drop-shadow(0 0  5px rgba(201,168,76,0.10))
                       drop-shadow(0 0 12px rgba(201,168,76,0.05)); }
    50%      { filter: drop-shadow(0 0 14px rgba(201,168,76,0.40))
                       drop-shadow(0 0 30px rgba(201,168,76,0.18)); }
}
@keyframes sk-callsign-enter {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: translateY(0); }
}
@keyframes sk-fade-in {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}
.wp-block-cover .wp-block-image {
    animation:
        sk-logo-enter  0.9s cubic-bezier(.22,.68,0,1.2) both,
        sk-beacon      4.5s ease-in-out 1.2s infinite;
}
.wp-block-cover .wp-block-heading,
.wp-block-cover h1 {
    animation: sk-callsign-enter 1s ease-out 0.4s both;
}
.wp-block-cover .wp-block-buttons {
    animation: sk-fade-in 0.8s ease-out 0.9s both;
}
@media (prefers-reduced-motion: reduce) {
    .wp-block-cover .wp-block-image,
    .wp-block-cover .wp-block-heading,
    .wp-block-cover h1,
    .wp-block-cover .wp-block-buttons {
        animation: none !important;
    }
}

/* Hero-logotyp — behåll proportioner */
.wp-block-cover .wp-block-image img,
.wp-block-cover figure img {
    object-fit: contain !important;
    width: auto !important;
    height: auto !important;
    max-width: 300px !important;
    max-height: 300px !important;
}

/* ── Frekvensraden under heron — loggbokens första uppslag ──────────────── */
.home .wp-block-cover + .wp-block-group {
    border-bottom: 1px solid var(--border);
    box-shadow: 0 1px 12px rgba(38, 35, 29, .04);
}

/* ── Styrelsekort ────────────────────────────────────────────────────────── */
.person-card-img img {
    width: 120px !important;
    height: 120px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    display: block;
    margin: 0 auto 16px;
    border: 2px solid var(--border-hi);
}

/* ── Query-block / nyhetslistor ──────────────────────────────────────────── */
.wp-block-post-title a,
.wp-block-post-title a:visited {
    color: var(--ink) !important;
    text-decoration: none !important;
}
.wp-block-post-title a:hover { color: var(--brass) !important; }
.wp-block-post-date,
.wp-block-post-date a,
.wp-block-post-date time { color: var(--text-3) !important; }
.wp-block-post-terms a {
    color: var(--brass) !important;
    font-weight: 600;
}
.wp-block-post-excerpt p,
.wp-block-post-excerpt__excerpt { color: var(--text-2) !important; }
.wp-block-read-more {
    color: var(--brass) !important;
    text-decoration: none !important;
}
.wp-block-read-more:hover { color: var(--brass-hi) !important; }

/* Paginering */
.wp-block-query-pagination a,
.wp-block-query-pagination span,
.ct-pagination .page-numbers {
    color: var(--ink) !important;
    background: var(--surface-1) !important;
    border: 1px solid var(--border) !important;
    padding: 6px 12px !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    font-family: var(--font-mono) !important;
    font-size: 0.85rem !important;
}
.wp-block-query-pagination .current,
.wp-block-query-pagination a:hover,
.ct-pagination .page-numbers.current,
.ct-pagination .page-numbers:hover {
    background: var(--brass) !important;
    color: #ffffff !important;
    border-color: var(--brass) !important;
}

/* ── Nyhetskort med jämn höjd ────────────────────────────────────────────── */
.wp-block-post-template.is-layout-grid { align-items: stretch !important; }
.wp-block-post-template.is-layout-grid .wp-block-post {
    display: flex !important;
    flex-direction: column !important;
}
.wp-block-post-template.is-layout-grid .wp-block-post > .wp-block-group {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
}
.wp-block-post-template.is-layout-grid .wp-block-post > .wp-block-group > .wp-block-group {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
}
.wp-block-post-template.is-layout-grid .wp-block-post-excerpt { flex: 1 !important; }
.wp-block-post-template.is-layout-grid .wp-block-read-more {
    margin-top: auto !important;
    padding-top: 12px !important;
    display: inline-block !important;
}

/* ── Utvald bild-platshållare — 16:9 reserveras alltid ───────────────────── */
.wp-block-post-template .wp-block-post-featured-image {
    display: block;
    aspect-ratio: 16 / 9;
    background-color: var(--surface-2);
    background-image: url('/wp-content/themes/blocksy-child/img/placeholder-news.svg');
    background-size: cover;
    background-position: center;
    overflow: hidden;
    border-radius: 8px 8px 0 0;
    min-height: 1px;
}
.wp-block-post-template .wp-block-post-featured-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 8px 8px 0 0;
}

/* ── Formulär (Bli medlem m.fl.) ─────────────────────────────────────────── */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea,
.wpcf7 select {
    background: var(--surface-1) !important;
    border: 1px solid var(--border-hi) !important;
    color: var(--ink) !important;
    border-radius: 6px !important;
    padding: 10px 14px !important;
    width: 100% !important;
    font-size: 0.95rem !important;
    transition: border-color .2s, box-shadow .2s;
}
.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
    border-color: var(--brass) !important;
    box-shadow: 0 0 0 3px rgba(143, 110, 34, .12) !important;
    outline: none !important;
}
.wpcf7 input[type="submit"] {
    background: var(--brass) !important;
    color: #ffffff !important;
    border: none !important;
    padding: 12px h2px !important;
    font-weight: 650 !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    font-size: 0.95rem !important;
    transition: background .2s;
}
.wpcf7 input[type="submit"]:hover { background: var(--brass-hi) !important; }
.wpcf7 label {
    color: var(--text-2) !important;
    font-family: var(--font-display) !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    display: block !important;
    margin-bottom: 4px !important;
    margin-top: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: .07em !important;
}
.wpcf7 .wpcf7-acceptance label,
.wpcf7 .wpcf7-checkbox label,
.wpcf7 .wpcf7-radio label {
    color: var(--text-2) !important;
    font-size: 0.88rem !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

/* ── Kalender ────────────────────────────────────────────────────────────── */
.page-kalender .wp-block-html,
.page-kalender .wp-block-html iframe {
    display: block;
    width: 100% !important;
    max-width: 900px;
    margin: 0 auto;
    border-radius: 8px;
    overflow: hidden;
}

/* ── Länkkort ────────────────────────────────────────────────────────────── */
.link-card a { text-decoration: none !important; }
.link-card a:hover h3 { color: var(--brass-hi) !important; }

/* ── Knappar ─────────────────────────────────────────────────────────────── */
.wp-block-button__link,
.ct-button,
.wp-element-button {
    font-family: var(--font-display) !important;
    border-radius: 6px !important;
    font-weight: 650 !important;
    letter-spacing: .02em !important;
    transition: background .2s, color .2s, border-color .2s, box-shadow .2s !important;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
    box-shadow: var(--shadow-card);
}
.wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-button.is-style-outline a {
    background: transparent !important;
    color: var(--brass) !important;
    border: 2px solid var(--brass) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline a:hover {
    background: var(--brass) !important;
    color: #ffffff !important;
}

/* ── Sökruta ─────────────────────────────────────────────────────────────── */
.wp-block-search__input {
    background: var(--surface-1) !important;
    border: 1px solid var(--border-hi) !important;
    color: var(--ink) !important;
    border-radius: 6px !important;
    padding: 10px 14px !important;
}
.wp-block-search__input:focus {
    border-color: var(--brass) !important;
    box-shadow: 0 0 0 3px rgba(143, 110, 34, .12) !important;
    outline: none !important;
}
.wp-block-search__button {
    background: var(--brass) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 6px !important;
    font-weight: 650 !important;
    padding: 10px 20px !important;
    cursor: pointer !important;
}
.wp-block-search__button:hover { background: var(--brass-hi) !important; }

/* ── Avdelare — morserytm: punkt-streck, klubbens signatur ──────────────── */
hr, .wp-block-separator {
    border: none !important;
    height: 3px !important;
    background-image: repeating-linear-gradient(90deg,
        var(--brass-pale) 0 3px,       /* punkt */
        transparent 3px 10px,
        var(--brass-pale) 10px 22px,   /* streck */
        transparent 22px 29px) !important;
    background-color: transparent !important;
    opacity: 1 !important;
    max-width: 180px;
    margin-left: auto;
    margin-right: auto;
}

/* ── Tabeller ────────────────────────────────────────────────────────────── */
table {
    border-collapse: collapse;
    width: 100%;
}
th {
    background: var(--surface-2);
    color: var(--ink);
    font-family: var(--font-display) !important;
    padding: 10px 14px;
    border: 1px solid var(--border);
    text-transform: uppercase;
    font-size: .74rem;
    font-weight: 650;
    letter-spacing: .07em;
}
td {
    padding: 10px 14px;
    border: 1px solid var(--border);
    color: var(--ink);
}
tr:nth-child(even) td { background: var(--surface-2); }

/* ── TablePress — ljus loggbok (medlemslistan är ju en signallogg) ───────── */
.tablepress {
    background: var(--surface-1) !important;
    border: 1px solid var(--border) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    box-shadow: var(--shadow-card);
    font-size: 0.85rem !important;
}
.tablepress thead th {
    background: var(--surface-2) !important;
    color: var(--brass-hi) !important;
    border-color: var(--border) !important;
    font-family: var(--font-display) !important;
    font-size: 0.7rem !important;
    font-weight: 650 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    padding: 12px 14px !important;
    white-space: nowrap;
}
.tablepress thead th.sorting,
.tablepress thead th.sorting_asc,
.tablepress thead th.sorting_desc {
    cursor: pointer !important;
    padding-right: 28px !important;
    position: relative !important;
}
.tablepress thead th.sorting::after,
.tablepress thead th.sorting_asc::after,
.tablepress thead th.sorting_desc::after {
    color: var(--brass-pale) !important;
    opacity: 0.8 !important;
}
.tablepress thead th.sorting_asc::after,
.tablepress thead th.sorting_desc::after {
    color: var(--brass) !important;
    opacity: 1 !important;
}
.tablepress tbody td {
    background: var(--surface-1) !important;
    color: var(--ink) !important;
    border-color: var(--border) !important;
    padding: 9px 14px !important;
    font-family: var(--font-mono) !important;
    font-size: 0.82rem !important;
}
.tablepress tbody tr.even td { background: var(--bg) !important; }
.tablepress tbody tr:hover td {
    background: var(--surface-2) !important;
    color: var(--ink) !important;
}
.tablepress-table-description,
.tablepress-table-name { color: var(--text-2) !important; }
.dataTables_wrapper { color: var(--ink) !important; }
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate {
    color: var(--text-2) !important;
    font-size: 0.82rem !important;
    margin: 8px 0 !important;
}
.dataTables_wrapper input,
.dataTables_wrapper select {
    background: var(--surface-1) !important;
    border: 1px solid var(--border-hi) !important;
    color: var(--ink) !important;
    border-radius: 4px !important;
    padding: 4px 8px !important;
}

/* ── PRISTO-logotyp ──────────────────────────────────────────────────────── */
.pristo-logo {
    max-height: 56px;
    width: auto;
}

/* ══════════════════════════════════════════════════════════════════════════
   NYHETER — Blocksys arkivkort, ljusa
   ══════════════════════════════════════════════════════════════════════════ */
.blog, .archive, .search-results { background-color: var(--bg); }

.archive .page-header .page-title,
.blog .page-header .page-title,
.archive h1.page-title,
.page-header h1 {
    color: var(--ink) !important;
    font-family: var(--font-display) !important;
}

.blog .ct-blog-card,
.blog .ct-post-card,
.archive .ct-blog-card,
.archive .ct-post-card,
.blog .entry-card,
.archive .entry-card,
.ct-blog-card,
.ct-post-card {
    background-color: var(--surface-1) !important;
    border: 1px solid var(--border) !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    box-shadow: var(--shadow-card) !important;
    transition: border-color .2s, box-shadow .2s, transform .2s !important;
    display: flex !important;
    flex-direction: column !important;
}
.ct-blog-card:hover,
.ct-post-card:hover,
.blog .entry-card:hover,
.archive .entry-card:hover {
    border-color: var(--brass-pale) !important;
    box-shadow: var(--shadow-lift) !important;
    transform: translateY(-2px);
}
@media (prefers-reduced-motion: reduce) {
    .ct-blog-card:hover, .ct-post-card:hover,
    .blog .entry-card:hover, .archive .entry-card:hover { transform: none; }
}

.ct-blog-card .card-content,
.ct-post-card .card-content,
.ct-blog-card .entry-content,
.ct-post-card .entry-content,
.blog .entry-card .card-content,
.archive .entry-card .card-content {
    padding: 20px 22px 18px !important;
    background-color: var(--surface-1) !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
}

.entry-card .entry-title,
.ct-blog-card .entry-title,
.ct-post-card .entry-title,
.entry-card h2,
.entry-card h3,
.card-content h2,
.card-content h3 {
    font-family: var(--font-display) !important;
    font-size: 1.1rem !important;
    font-weight: 650 !important;
    line-height: 1.3 !important;
    letter-spacing: -0.008em !important;
    margin-bottom: 8px !important;
    margin-top: 0 !important;
}
.entry-card .entry-title a,
.ct-blog-card .entry-title a,
.ct-post-card .entry-title a,
.card-content h2 a,
.card-content h3 a {
    color: var(--ink) !important;
    text-decoration: none !important;
}
.entry-card .entry-title a:hover,
.ct-blog-card .entry-title a:hover,
.ct-post-card .entry-title a:hover,
.card-content h2 a:hover,
.card-content h3 a:hover {
    color: var(--brass) !important;
}

/* Metadata i korten */
.entry-meta,
.entry-card .entry-meta,
.card-content .entry-meta,
.ct-blog-card .entry-meta {
    font-size: 0.7rem !important;
    color: var(--text-3) !important;
    margin-bottom: 10px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    align-items: center !important;
}
.entry-meta a,
.entry-card .entry-meta a {
    color: var(--brass) !important;
    text-decoration: none !important;
    font-weight: 500 !important;
}
.entry-meta a:hover,
.entry-card .entry-meta a:hover { color: var(--brass-hi) !important; }
.entry-meta .posted-on,
.entry-meta time { color: var(--text-3) !important; }

/* Mässingsmarkör före datum */
.entry-meta time::before {
    content: '';
    display: inline-block;
    width: 3px;
    height: 0.75em;
    background: var(--brass);
    border-radius: 2px;
    margin-right: 6px;
    vertical-align: middle;
    opacity: 0.7;
}

.entry-excerpt,
.entry-card .entry-excerpt,
.card-content .entry-excerpt,
.ct-blog-card .entry-excerpt,
.entry-excerpt p {
    color: var(--text-2) !important;
    font-size: 0.95rem !important;
    line-height: 1.62 !important;
    flex: 1 !important;
    margin-bottom: 16px !important;
}

.entry-card .more-link,
.ct-blog-card .more-link,
.card-content .more-link,
.read-more-link,
.ct-more-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    color: var(--brass) !important;
    font-size: 0.74rem !important;
    font-weight: 650 !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    margin-top: auto !important;
    transition: color .2s, gap .2s !important;
}
.entry-card .more-link::after,
.ct-blog-card .more-link::after,
.read-more-link::after { content: '→'; }
.entry-card .more-link:hover,
.ct-blog-card .more-link:hover,
.read-more-link:hover {
    color: var(--brass-hi) !important;
    gap: 8px !important;
}

/* Kategorietiketter */
.entry-card .cat-links a,
.ct-blog-card .cat-links a,
.card-content .cat-links a {
    display: inline-block !important;
    background: var(--surface-2) !important;
    color: var(--brass-hi) !important;
    font-family: var(--font-mono) !important;
    font-size: 0.64rem !important;
    font-weight: 600 !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
    padding: 3px 8px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    transition: background .15s !important;
}
.entry-card .cat-links a:hover,
.ct-blog-card .cat-links a:hover {
    background: var(--brass-pale) !important;
    color: var(--ink) !important;
}

/* Miniatyrer */
.entry-card .featured-thumbnail,
.ct-blog-card .featured-thumbnail,
.ct-blog-card .ct-post-thumbnail,
.entry-card .post-thumbnail,
.ct-blog-card .post-thumbnail,
.card-header img,
.entry-card img.wp-post-image {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
    border-radius: 0 !important;
    background-color: var(--surface-2) !important;
    background-image: url('/wp-content/themes/blocksy-child/img/placeholder-news.svg') !important;
    background-size: cover !important;
    background-position: center !important;
}

.ct-blog-grid,
.archive .posts-grid { gap: 24px !important; }

/* Responsivt arkiv-grid — kort får aldrig svämma över på smala skärmar */
.entries .entry-card { min-width: 0 !important; }
.entries img { max-width: 100% !important; }
@media (max-width: 689.98px) {
    .entries {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}
@media (min-width: 690px) and (max-width: 999.98px) {
    .entries {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

.blog .entry-card p,
.archive .entry-card p,
.ct-blog-card p,
.ct-post-card p { color: var(--text-2) !important; }

/* ── Enskilt inlägg ──────────────────────────────────────────────────────── */
.single .entry-content,
.single .entry-content p,
.single .entry-content li { color: var(--ink) !important; }
.single .entry-header .entry-title { color: var(--ink) !important; }
.single .entry-meta,
.single .entry-meta a { color: var(--text-2) !important; }
.single .entry-meta a:hover { color: var(--brass) !important; }

/* Läsbredd och rytm i artiklar */
.single .entry-content > p,
.page .entry-content > p { max-width: 70ch; }

/* ── CTA-bandet »Bli Medlem« — mörkt bokslut som speglar heron ───────────── */
/* Inline-bakgrunden (#8f6e22, ersatt från gamla guldet) byts mot bläck så att
   sidan får mörka ankare uppe och nere med ljust papper emellan */
.wp-block-group.alignfull[style*="background-color:#8f6e22"] {
    background-color: var(--ink) !important;
    background-image:
        radial-gradient(ellipse 70% 120% at 50% -20%, rgba(201, 168, 76, .14), transparent 60%);
}
.wp-block-group.alignfull[style*="background-color:#8f6e22"] h1,
.wp-block-group.alignfull[style*="background-color:#8f6e22"] h2,
.wp-block-group.alignfull[style*="background-color:#8f6e22"] h3 {
    color: var(--gold) !important;
}
.wp-block-group.alignfull[style*="background-color:#8f6e22"] p {
    color: #d8d2c4 !important;
}
.wp-block-group.alignfull[style*="background-color:#8f6e22"] .wp-block-button__link {
    background-color: var(--gold) !important;
    color: #201a0e !important;
    border: none !important;
}
.wp-block-group.alignfull[style*="background-color:#8f6e22"] .wp-block-button__link:hover {
    background-color: var(--gold-hi) !important;
}

/* ── Sidfot ──────────────────────────────────────────────────────────────── */
#footer,
.site-footer,
.ct-footer {
    background-color: var(--surface-2) !important;
    color: var(--text-2) !important;
    border-top: 1px solid var(--border-hi) !important;
}
.ct-footer a,
.site-footer a { color: var(--brass-hi) !important; }
.ct-footer a:hover,
.site-footer a:hover { color: var(--ink) !important; }
.ct-footer .copyright,
.ct-footer .ct-footer-copyright,
.ct-footer p {
    font-family: var(--font-mono) !important;
    font-size: 0.72rem !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    color: var(--text-3) !important;
}

/* ── Lightbox (Responsive Lightbox/Featherlight) — bilder-sidan ─────────────
   Pluginets standard-CSS sätter bara width:100% på bilden, utan max-height.
   Stående foton (porträtt) blev då högre än skärmen och krävde scroll för att
   se hela bilden. Vi begränsar bilden till behållarens höjd så den alltid
   skalas ner och syns i sin helhet direkt. */
.featherlight .featherlight-inner,
.featherlight .featherlight-image {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 82vh !important;
    display: block;
    margin: 0 auto;
}

/* ── Sidopanel / widgets ─────────────────────────────────────────────────── */
.ct-sidebar,
.ct-widget,
.widget {
    background-color: var(--surface-1);
    color: var(--ink);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 16px;
}
