/*
Theme Name:   Old World Press
Theme URI:    https://oldworld-press.com
Description:  Divi Child Theme für Old World Press – ein Imprint des Zauberberg Verlags. Farben Tinte/Altgold/Pergament, Schrift Cormorant Garamond (lokal).
Author:       Zauberberg Verlag
Template:     Divi-2
Version:      1.0.0
Text Domain:  owp
*/

/* ================= Schrift (lokal, DSGVO-sicher) ================= */
@font-face { font-family: "Cormorant Garamond"; font-style: normal; font-weight: 400; font-display: swap; src: url("assets/fonts/cormorant-garamond-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Cormorant Garamond"; font-style: italic; font-weight: 400; font-display: swap; src: url("assets/fonts/cormorant-garamond-latin-400-italic.woff2") format("woff2"); }
@font-face { font-family: "Cormorant Garamond"; font-style: normal; font-weight: 500; font-display: swap; src: url("assets/fonts/cormorant-garamond-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Cormorant Garamond"; font-style: normal; font-weight: 600; font-display: swap; src: url("assets/fonts/cormorant-garamond-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Cormorant Garamond"; font-style: italic; font-weight: 600; font-display: swap; src: url("assets/fonts/cormorant-garamond-latin-600-italic.woff2") format("woff2"); }
@font-face { font-family: "Cormorant Garamond"; font-style: normal; font-weight: 700; font-display: swap; src: url("assets/fonts/cormorant-garamond-latin-700-normal.woff2") format("woff2"); }

:root {
  --owp-ink: #1E2B3A;
  --owp-ink-soft: #2A3A4D;
  --owp-ink-deep: #17222E;
  --owp-gold: #A8834F;
  --owp-gold-dark: #8A6A3C;
  --owp-parchment: #F5F0E6;
  --owp-paper: #FBF8F2;
  --owp-line: #E2D8C6;
  --owp-muted: #5A6470;
  --owp-on-dark: #DCD4C4;
  --owp-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
}

/* ================= Grundtypografie (überschreibt Divi) ================= */
html body,
body #page-container,
body .et_pb_module,
body .et_pb_text,
body h1, body h2, body h3, body h4, body h5, body h6,
body .et_pb_button,
body input, body textarea, body select, body button {
  font-family: var(--owp-serif) !important;
}
html body { background: var(--owp-parchment); color: var(--owp-ink); font-size: 20px; line-height: 1.6; font-weight: 500; }
body #page-container { background: var(--owp-parchment); }
body .et_pb_text { font-size: 20px; line-height: 1.6; color: var(--owp-ink); }
body .et_pb_text p { padding-bottom: .9em; }
body h1, body h2, body h3 { color: var(--owp-ink); font-weight: 600; line-height: 1.12; letter-spacing: .01em; padding-bottom: .4em; }
body .et_pb_text h1 { font-size: clamp(38px, 6vw, 58px); }
body .et_pb_text h2 { font-size: clamp(30px, 4.2vw, 42px); }
body .et_pb_text h3 { font-size: 27px; }
body .et_pb_text a { color: var(--owp-gold-dark); text-underline-offset: 3px; }
body .et_pb_text a:hover { color: var(--owp-ink); }

.owp-eyebrow { font-size: 14px !important; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; color: var(--owp-gold) !important; padding-bottom: .7em !important; }
.owp-lead { font-size: 23px; }
.owp-muted { color: var(--owp-muted); }
.owp-by { font-style: italic; color: var(--owp-gold) !important; font-size: 23px; }
.owp-status { display: inline-block; font-size: 14px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--owp-muted); border: 1px solid var(--owp-line); padding: 5px 12px; margin-top: 4px; }

/* ================= Sektionen ================= */
.et_pb_section.owp-dark { background-color: var(--owp-ink) !important; }
.et_pb_section.owp-dark .et_pb_text,
.et_pb_section.owp-dark .et_pb_text h1,
.et_pb_section.owp-dark .et_pb_text h2,
.et_pb_section.owp-dark .et_pb_text h3 { color: var(--owp-parchment); }
.et_pb_section.owp-dark .et_pb_text p { color: var(--owp-on-dark); }
.et_pb_section.owp-dark .et_pb_text em { color: var(--owp-gold); }
.et_pb_section.owp-light { background-color: var(--owp-parchment) !important; }
.et_pb_section.owp-paper { background-color: var(--owp-paper) !important; border-top: 1px solid var(--owp-line); border-bottom: 1px solid var(--owp-line); }

/* ================= Buttons ================= */
body .et_pb_button.owp-btn,
body .et_pb_button.owp-btn-ghost,
body .et_pb_button.owp-btn-ink {
  font-size: 17px !important; font-weight: 700 !important; letter-spacing: .14em; text-transform: uppercase;
  padding: 14px 26px !important; border-radius: 2px !important; border: 1.5px solid var(--owp-gold) !important;
  line-height: 1.3 !important; transition: background .15s, color .15s, border-color .15s;
}
body .et_pb_button.owp-btn { background: var(--owp-gold) !important; color: var(--owp-ink) !important; }
body .et_pb_button.owp-btn:hover { background: var(--owp-gold-dark) !important; border-color: var(--owp-gold-dark) !important; color: var(--owp-parchment) !important; }
body .et_pb_button.owp-btn-ghost { background: transparent !important; color: var(--owp-parchment) !important; }
body .et_pb_button.owp-btn-ghost:hover { background: var(--owp-gold) !important; color: var(--owp-ink) !important; }
body .et_pb_button.owp-btn-ink { background: var(--owp-ink) !important; border-color: var(--owp-ink) !important; color: var(--owp-parchment) !important; }
body .et_pb_button.owp-btn-ink:hover { background: var(--owp-ink-soft) !important; }
/* Divi-Pfeil beim Hover ausblenden, Padding stabil halten */
body .et_pb_button.owp-btn:after, body .et_pb_button.owp-btn-ghost:after, body .et_pb_button.owp-btn-ink:after { display: none !important; }
body .et_pb_button.owp-btn:hover, body .et_pb_button.owp-btn-ghost:hover, body .et_pb_button.owp-btn-ink:hover { padding: 14px 26px !important; }
.et_pb_button_module_wrapper { margin-bottom: 12px !important; }
@media (max-width: 480px) {
  body .et_pb_button.owp-btn, body .et_pb_button.owp-btn-ghost, body .et_pb_button.owp-btn-ink { display: block; text-align: center; }
}
/* Zwei Buttons nebeneinander (Hero) */
.owp-btn-row .et_pb_column { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.owp-btn-row .et_pb_button_module_wrapper { margin: 0 !important; }
.owp-btn-row.owp-left .et_pb_column { justify-content: flex-start; }
@media (max-width: 980px) { .owp-btn-row.owp-left .et_pb_column { justify-content: center; } }

/* ================= Bilder ================= */
.owp-seal img { width: 150px; margin: 0 auto; display: block; }
.owp-cover img { aspect-ratio: 2 / 3; object-fit: cover; box-shadow: 0 16px 40px rgba(0,0,0,.45); }
.owp-cover-sm img { aspect-ratio: 2 / 3; object-fit: cover; box-shadow: 0 8px 20px rgba(30,43,58,.25); }
.owp-cover { max-width: 300px; margin-left: auto !important; margin-right: auto !important; }
.owp-cover-sm { max-width: 190px; margin-left: auto !important; margin-right: auto !important; }

/* ================= Reihen-Kacheln (Startseite) ================= */
.owp-cards .et_pb_column {
  background: var(--owp-paper); border: 1px solid var(--owp-line);
  display: flex; flex-direction: column; transition: transform .18s, box-shadow .18s;
}
.owp-cards .et_pb_column:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(30,43,58,.13); }
.owp-cards .et_pb_image { background: var(--owp-ink); padding: 28px 28px 0; margin-bottom: 0 !important; }
.owp-cards .et_pb_image .et_pb_image_wrap { display: block; width: 62%; margin: 0 auto; }
.owp-cards .et_pb_image img { aspect-ratio: 2 / 3; object-fit: cover; box-shadow: 0 10px 24px rgba(0,0,0,.45); }
.owp-cards .et_pb_text { padding: 22px 24px 0; margin-bottom: 0 !important; flex: 1; }
.owp-cards .et_pb_text p { font-size: 18px; color: var(--owp-muted); }
.owp-cards .et_pb_button_module_wrapper { padding: 0 24px 26px; }
.owp-cards .owp-soon img { filter: saturate(.55) brightness(.8); }
@media (max-width: 980px) { .owp-cards .et_pb_column { margin-bottom: 22px !important; } }

/* ================= Buch-Zeilen (/canary) ================= */
.et_pb_row.owp-book { background: var(--owp-paper); border: 1px solid var(--owp-line); padding: 30px !important; margin-bottom: 26px; }
@media (max-width: 980px) { .et_pb_row.owp-book { padding: 24px !important; } .owp-book .et_pb_text { text-align: center; } .owp-book .et_pb_button_module_wrapper { text-align: center !important; } }
.owp-book h3 { font-size: 32px !important; padding-bottom: .1em !important; }
.owp-book .owp-setting { font-style: italic; color: var(--owp-muted); }

/* ================= Zitatband ================= */
.owp-quote .et_pb_text { font-size: clamp(25px, 3.4vw, 33px); font-style: italic; line-height: 1.35; }

/* ================= Newsletter (Divi E-Mail-Optin) ================= */
.et_pb_newsletter.owp-signup { background: transparent !important; padding: 0 !important; text-align: center; max-width: 600px; margin: 0 auto; }
.owp-signup .et_pb_newsletter_description { width: 100% !important; padding: 0 !important; }
.owp-signup .et_pb_newsletter_description h2,
.owp-signup .et_pb_module_header { color: var(--owp-parchment) !important; font-size: clamp(30px, 4.2vw, 42px) !important; font-weight: 600 !important; }
.owp-signup .et_pb_newsletter_description_content,
.owp-signup .et_pb_newsletter_description_content p { color: var(--owp-on-dark) !important; font-size: 20px; }
.owp-signup .et_pb_newsletter_form { width: 100% !important; padding: 18px 0 0 !important; }
.owp-signup .et_pb_newsletter_form input[type="text"],
.owp-signup .et_pb_newsletter_form input[type="email"] {
  background: #26364A !important; border: 1px solid #56626F !important; color: var(--owp-parchment) !important;
  font-size: 19px !important; padding: 14px 16px !important; border-radius: 2px !important;
}
.owp-signup .et_pb_newsletter_form input::placeholder { color: #9AA3AD !important; }
.owp-signup .et_pb_newsletter_button {
  background: var(--owp-gold) !important; color: var(--owp-ink) !important; border: 0 !important; border-radius: 2px !important;
  font-size: 17px !important; font-weight: 700 !important; letter-spacing: .14em; text-transform: uppercase; padding: 14px 26px !important;
}
.owp-signup .et_pb_newsletter_button:hover { background: var(--owp-gold-dark) !important; color: var(--owp-parchment) !important; padding: 14px 26px !important; }
.owp-signup .et_pb_newsletter_button:after { display: none !important; }
.owp-signup .et_pb_newsletter_result h2, .owp-signup .et_pb_newsletter_success h2 { color: var(--owp-gold) !important; }
.owp-fineprint, .owp-fineprint p { font-size: 16px !important; color: #9AA3AD !important; text-align: center; }
.owp-fineprint a { color: var(--owp-gold) !important; }

/* ================= Header & Footer (Theme Builder) ================= */
.owp-header .et_pb_row { padding: 12px 0 !important; }
.owp-header-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.owp-brand { display: flex; align-items: center; gap: 12px; text-decoration: none !important; }
.owp-brand img { width: 46px; height: 46px; }
.owp-brand-name { color: var(--owp-parchment); font-size: 17px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; line-height: 1.05; }
.owp-brand-name small { display: block; font-size: 11.5px; letter-spacing: .38em; color: var(--owp-gold); }
.owp-nav { display: flex; gap: 22px; }
.owp-nav a { color: var(--owp-parchment) !important; text-decoration: none !important; font-size: 16px; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; }
.owp-nav a:hover { color: var(--owp-gold) !important; }
@media (max-width: 560px) { .owp-nav .owp-hide-sm { display: none; } .owp-brand-name { font-size: 14px; } }

.et_pb_section.owp-footer { background-color: var(--owp-ink-deep) !important; }
.owp-footer .et_pb_row { padding: 30px 0 !important; }
.owp-footer-bar { display: flex; flex-wrap: wrap; gap: 12px 28px; justify-content: space-between; align-items: center; font-size: 16px; color: #9AA3AD; }
.owp-footer-bar nav { display: flex; flex-wrap: wrap; gap: 20px; }
.owp-footer-bar a { color: #C9C1B1 !important; text-decoration: none !important; letter-spacing: .06em; }
.owp-footer-bar a:hover { color: var(--owp-gold) !important; }

/* ================= Rechtstexte ================= */
.owp-legal .et_pb_text h1 { font-size: clamp(34px, 5vw, 46px); }
.owp-legal .et_pb_text h2 { font-size: 27px; padding-top: .8em; }
.owp-legal .et_pb_text p, .owp-legal .et_pb_text li { font-size: 19px; }
