/*
Theme Name: Forlaget Terminal
Theme URI: https://forlaget-terminal.dk
Author: Forlaget Terminal
Description: Mørkt tema til Forlaget Terminal i omslagets stil: tekstflade bag titelbladet, kobberaccent og bogen som objekt. Alt indhold er almindelige blokke, der redigeres i WordPress' egen editor (Sider → Forside).
Version: 2.1.5
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: forlaget-terminal
*/

:root{
  --ft-ink:#0E1216; --ft-card:#161C22; --ft-paper:#F4F0E8; --ft-soft:#C6BFB4;
  --ft-muted:#8E887F; --ft-rule:#242C34; --ft-accent:#C9763C;
  --ft-label:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  color-scheme:dark;
}
body{ -webkit-font-smoothing:antialiased; }
p{ text-wrap:pretty; }
h1,h2,h3{ text-wrap:balance; }

/* Links: kobber med tynd understregning */
.wp-site-blocks a:where(:not(.wp-element-button)){ border-bottom:1px solid rgba(201,118,60,.4); }
.wp-site-blocks a:where(:not(.wp-element-button)):hover{ border-bottom-color:var(--ft-accent); }
a:focus-visible, button:focus-visible{ outline:2px solid var(--ft-accent); outline-offset:3px; }

/* Etiket (lille mono-overskrift over et afsnit) */
.ft-eyebrow{
  font-family:var(--ft-label); font-size:.7rem !important; font-weight:500; letter-spacing:.2em;
  text-transform:uppercase; color:var(--ft-muted); margin:0 0 1.3rem !important;
}

/* Ordmærket */
.ft-mark{ display:flex; align-items:center; gap:.85rem; color:var(--ft-paper) !important; text-decoration:none; border:0 !important; width:max-content; }
.ft-mark svg{ display:block; flex:none; }
.ft-mark .mt{ display:flex; flex-direction:column; line-height:1; gap:.3rem; font-family:var(--ft-label); }
.ft-mark .a{ font-size:.63rem; letter-spacing:.42em; }
.ft-mark .b{ font-size:1rem; letter-spacing:.2em; font-weight:600; }

/* ---- Titelblad med tekstflade (forsiden) ---- */
.ft-hero{ position:relative; overflow:hidden; border-bottom:1px solid var(--ft-rule); }
.ft-hero > .ft-bg{ position:absolute; inset:0; margin:0 !important; pointer-events:none; }
.ft-field{
  position:absolute; inset:0; font-family:var(--ft-label); font-size:9.5px; line-height:1.62;
  white-space:pre; overflow:hidden; padding:10px 6px; letter-spacing:.02em;
}
.ft-veil{ position:absolute; inset:0; background:
  linear-gradient(100deg,rgba(14,18,22,.985) 0%,rgba(14,18,22,.965) 40%,rgba(14,18,22,.72) 62%,rgba(14,18,22,.22) 88%,rgba(14,18,22,.08) 100%),
  linear-gradient(to bottom,rgba(14,18,22,.5) 0%,rgba(14,18,22,0) 24%,rgba(14,18,22,0) 70%,rgba(14,18,22,.85) 100%); }
.ft-hero > .ft-hero-in{ position:relative; }
.ft-lede{
  font-size:clamp(1.65rem,5.6vw,2.75rem) !important; line-height:1.18 !important; font-weight:300 !important;
  margin-top:clamp(2.6rem,8vw,4.2rem) !important; max-width:19ch;
}
.ft-lede em{ font-style:italic; color:var(--ft-accent); }
.ft-meta{
  font-family:var(--ft-label); font-size:.68rem !important; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ft-muted); margin-top:1.8rem !important;
}
.ft-meta span + span::before{ content:"·"; margin:0 .7rem; color:var(--ft-rule); }

/* ---- Afsnit adskilt af hårfine linjer ---- */
.ft-section{ border-bottom:1px solid var(--ft-rule); }

/* ---- Bogen ---- */
.ft-book{ gap:clamp(1.8rem,5vw,3.4rem) !important; }
.ft-book > .wp-block-column:first-child{ flex:0 0 15rem !important; max-width:15rem; }
@media (max-width:781px){ .ft-book > .wp-block-column:first-child{ flex-basis:auto !important; } }
.ft-cover img{
  display:block; width:100%; height:auto;
  border:1px solid var(--ft-rule);
  box-shadow:0 1.4rem 3.5rem rgba(0,0,0,.55),0 .2rem .6rem rgba(0,0,0,.4);
}
.ft-status{
  display:inline-block; font-family:var(--ft-label); font-size:.63rem !important; letter-spacing:.16em;
  text-transform:uppercase; color:var(--ft-ink) !important; background:var(--ft-accent); padding:.3rem .6rem; margin:0 0 1rem !important;
}
.ft-by{ font-style:italic; color:var(--ft-soft); font-size:1.02rem; margin-top:.5rem !important; }
.ft-pitch-lead{ font-size:clamp(1.12rem,3.1vw,1.3rem) !important; line-height:1.4 !important; font-weight:400 !important; }
.ft-spec{ margin-top:1.5rem !important; padding-top:1.1rem; border-top:1px solid var(--ft-rule); }

/* Beskrivelseslister (bogdata, kolofon, sælger) */
.ft-dl{ margin:0; display:grid; grid-template-columns:7rem 1fr; gap:.5rem 1rem; font-size:.95rem; color:var(--ft-soft); }
.ft-dl dt{ font-family:var(--ft-label); font-size:.64rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ft-muted); padding-top:.3rem; }
.ft-dl dd{ margin:0; font-variant-numeric:tabular-nums; }
@media (max-width:430px){ .ft-dl{ grid-template-columns:1fr; gap:.05rem; } .ft-dl dt{ padding-top:.7rem; } }

/* Knapper uden link vises som "kommer snart" (stiplet) — sæt et link i editoren, så bliver knappen aktiv */
.wp-block-button__link:not([href]){
  border-style:dashed !important; border-color:var(--ft-rule) !important; color:var(--ft-muted) !important;
  background:transparent !important; cursor:default;
}

/* Forord: signatur */
.ft-sign{ font-family:var(--ft-label); font-size:.68rem !important; letter-spacing:.16em; text-transform:uppercase; color:var(--ft-muted); margin-top:1.4rem !important; }
.ft-more{ font-family:var(--ft-label); font-size:.7rem !important; letter-spacing:.14em; text-transform:uppercase; }

/* Presse: e-mail + kopiér */
.ft-mail{ display:flex; flex-wrap:wrap; align-items:center; gap:.7rem; margin-top:1rem; }
.ft-mail code{ font-family:var(--ft-label); font-size:.95rem; background:var(--ft-card); border:1px solid var(--ft-rule); padding:.45rem .65rem; user-select:all; color:var(--ft-paper); }
.ft-copy{
  font-family:var(--ft-label); font-size:.7rem; letter-spacing:.14em; text-transform:uppercase;
  padding:.72rem 1.1rem; border:1px solid var(--ft-accent); color:var(--ft-accent); background:transparent; cursor:pointer;
}
.ft-copy:hover{ background:var(--ft-accent); color:var(--ft-ink); }

/* Sidehoved på undersider */
.ft-header{ border-bottom:1px solid var(--ft-rule); }

/* Kolofon */
.ft-colophon .ft-dl{ grid-template-columns:auto 1fr; font-size:.88rem; color:var(--ft-muted); max-width:37rem; }
.ft-colophon .ft-dl dd{ color:var(--ft-soft); }
.ft-legal{ font-family:var(--ft-label); font-size:.66rem !important; letter-spacing:.14em; text-transform:uppercase; margin-top:1.6rem !important; }
.ft-legal a{ color:var(--ft-muted) !important; border:0 !important; margin-right:1.4rem; }
.ft-legal a:hover{ color:var(--ft-accent) !important; }

/* Juridiske sider */
.ft-updated{ font-family:var(--ft-label); font-size:.66rem !important; letter-spacing:.14em; text-transform:uppercase; color:var(--ft-muted); }
.ft-legalpage h2{ font-size:clamp(1.15rem,3vw,1.35rem); margin-top:2.2rem; padding-top:1.2rem; border-top:1px solid var(--ft-rule); }
.ft-todo{ font-family:var(--ft-label); font-size:.82rem; color:var(--ft-accent); }
.ft-formbox{ background:var(--ft-card); border:1px solid var(--ft-rule); padding:1.4rem 1.3rem !important; }
.ft-formbox ul{ list-style:none; padding:0; }
.ft-formbox li{ margin:0 0 .55em; padding-left:1.1rem; text-indent:-1.1rem; }
.ft-fine{ font-size:.86rem !important; color:var(--ft-muted); }

@media (prefers-reduced-motion:no-preference){
  .wp-element-button, .ft-copy, a{ transition:background-color .15s ease,color .15s ease,border-color .15s ease; }
}

/* Baggrundsfladen i titelbladet må ikke begrænses af layoutets bredde */
.ft-hero > .ft-bg{ max-width:none !important; }

/* ---------- WooCommerce (kurv, kasse, produkt) i mørkt design ---------- */
.woocommerce, .wc-block-components-sidebar-layout, .wp-block-woocommerce-checkout, .wp-block-woocommerce-cart{ color:var(--ft-paper); }
.wc-block-components-text-input input, .wc-block-components-text-input textarea,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-textarea, .woocommerce form .input-text, .woocommerce form select{
  background:var(--ft-card) !important; color:var(--ft-paper) !important; border:1px solid #3A444E !important; border-radius:0 !important;
}
.wc-block-components-text-input label, .wc-block-components-combobox label, .wc-blocks-components-select__label{ color:var(--ft-muted) !important; }
.wc-block-components-text-input.is-active input:focus, .wc-block-components-text-input input:focus{ border-color:var(--ft-accent) !important; box-shadow:0 0 0 1px var(--ft-accent) !important; outline:0; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]{ background:var(--ft-card); border-color:#5A6570; }
.wc-block-components-checkbox .wc-block-components-checkbox__mark{ fill:var(--ft-accent); }
.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option{ border-color:var(--ft-rule) !important; }
.wc-block-components-panel, .wc-block-components-totals-wrapper, .wc-block-components-order-summary, .wc-block-checkout__sidebar,
.wp-block-woocommerce-checkout-order-summary-block{ border-color:var(--ft-rule) !important; }
.wc-block-components-order-summary-item__quantity{ background:var(--ft-ink) !important; color:var(--ft-paper) !important; border-color:var(--ft-muted) !important; box-shadow:none !important; }
.wc-block-components-button:not(.is-link), .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button,
.single_add_to_cart_button, .wp-block-button__link.add_to_cart_button{
  background:var(--ft-accent) !important; color:var(--ft-ink) !important; border:0 !important; border-radius:0 !important;
  font-family:var(--ft-label) !important; font-size:.78rem !important; letter-spacing:.14em; text-transform:uppercase;
}
.wc-block-components-button:not(.is-link):hover, .single_add_to_cart_button:hover{ filter:brightness(1.08); }
.wc-block-components-notice-banner{ background:var(--ft-card) !important; color:var(--ft-paper) !important; }
.wc-block-components-product-name, .wc-block-components-totals-item__label{ color:var(--ft-paper) !important; }
.wc-block-components-formatted-money-amount, .wc-block-components-product-price{ font-variant-numeric:tabular-nums; }
.wc-block-checkout__terms, .wc-block-components-checkout-step__description, .wc-block-components-totals-footer-item-tax{ color:var(--ft-soft); }
.woocommerce-breadcrumb, .wc-block-breadcrumbs{ font-family:var(--ft-label); font-size:.66rem !important; letter-spacing:.14em; text-transform:uppercase; color:var(--ft-muted); }
.woocommerce-product-gallery img, .wc-block-components-product-image img{ border:1px solid var(--ft-rule); }
.wc-block-components-quantity-selector{ border-color:var(--ft-rule) !important; }
.wc-block-components-quantity-selector input{ background:transparent !important; color:var(--ft-paper) !important; }
