body,form,figure{margin:0;padding:0}img{border:0}header,footer,nav,section,aside,article,figure,figcaption{display:block}body{font-size:100.01%}select,input,textarea{font-size:99%}#container,.inside{position:relative}#main,#left,#right{float:left;position:relative}#main{width:100%}#left{margin-left:-100%}#right{margin-right:-100%}#footer{clear:both}#main .inside{min-height:1px}.ce_gallery>ul,.content-gallery>ul{margin:0;padding:0;overflow:hidden;list-style:none}.ce_gallery>ul li,.content-gallery>ul li{float:left}.ce_gallery>ul li.col_first,.content-gallery>ul li.col_first{clear:left}.float_left,.media--left>figure{float:left}.float_right,.media--right>figure{float:right}.block{overflow:hidden}.media{display:flow-root}.clear,#clear{height:.1px;font-size:.1px;line-height:.1px;clear:both}.invisible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.custom{display:block}#container:after,.custom:after{content:"";display:table;clear:both}
@media (max-width:767px){#wrapper{margin:0;width:auto}#container{padding-left:0;padding-right:0}#main,#left,#right{float:none;width:auto}#left{right:0;margin-left:0}#right{margin-right:0}}img{max-width:100%;height:auto}.audio_container audio{max-width:100%}.video_container video{max-width:100%;height:auto}.aspect,.responsive{position:relative;height:0}.aspect iframe,.responsive iframe{position:absolute;top:0;left:0;width:100%;height:100%}.aspect--16\:9,.responsive.ratio-169{padding-bottom:56.25%}.aspect--16\:10,.responsive.ratio-1610{padding-bottom:62.5%}.aspect--21\:9,.responsive.ratio-219{padding-bottom:42.8571%}.aspect--4\:3,.responsive.ratio-43{padding-bottom:75%}.aspect--3\:2,.responsive.ratio-32{padding-bottom:66.6666%}.aspect--9\:16,.responsive.ratio-916{padding-bottom:177.7777%}.aspect--1\:1,.responsive.ratio-11{padding-bottom:100%}
legend{width:100%;display:block;font-weight:700;border:0}input[type=text],input[type=password],input[type=date],input[type=datetime],input[type=email],input[type=number],input[type=search],input[type=tel],input[type=time],input[type=url],input:not([type]),textarea{width:100%;display:inline-block;padding:3px 6px;background:#fff;border:1px solid #ccc;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:inset 0 1px 1px #eee;-webkit-box-shadow:inset 0 1px 1px #eee;box-shadow:inset 0 1px 1px #eee;-moz-transition:all .15s linear;-webkit-transition:all .15s linear;-o-transition:all .15s linear;transition:all .15s linear;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}input[type=text]:focus,input[type=password]:focus,input[type=date]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=number]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=time]:focus,input[type=url]:focus,input:not([type]):focus,textarea:focus{outline:0;background:#fcfcfc;border-color:#bbb}input[type=file]{cursor:pointer}select,input[type=file]{display:block}form button,input[type=file],input[type=image],input[type=submit],input[type=reset],input[type=button],input[type=radio],input[type=checkbox]{width:auto}textarea,select[multiple],select[size]{height:auto}input[type=radio],input[type=checkbox]{margin:0 3px 0 0}input[type=radio],input[type=checkbox],label{vertical-align:middle}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background:#eee}input[type=radio][disabled],input[type=checkbox][disabled],input[type=radio][readonly],input[type=checkbox][readonly]{background:0 0}form button,input[type=submit],.button{display:inline-block;padding:4px 15px 4px 14px;margin-bottom:0;text-align:center;vertical-align:middle;line-height:16px;font-size:11px;color:#000;cursor:pointer;border:1px solid #ccc;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-color:#ececec;background-image:-moz-linear-gradient(top,#fff,#ececec);background-image:-webkit-linear-gradient(top,#fff,#ececec);background-image:-ms-linear-gradient(top,#fff,#ececec);background-image:-o-linear-gradient(top,#fff,#ececec);background-image:linear-gradient(to bottom,#fff,#ececec);background-repeat:repeat-x;-moz-transition:background .15s linear;-webkit-transition:background .15s linear;-o-transition:background .15s linear;transition:background .15s linear}form button:hover,input[type=submit]:hover,.button:hover{text-decoration:none;background-position:0 -15px!important}form button:active,input[type=submit]:active,.button:active{background-color:#e6e6e6;background-position:0 -30px!important}form button.blue,input[type=submit].blue,.button.blue{background-color:#2f96b4;background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-ms-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-image:linear-gradient(to bottom,#5bc0de,#2f96b4);border-color:#2f96b4;color:#fff}form button.blue:active,input[type=submit].blue:active,.button.blue:active{background-color:#2e95b3}form button.green,input[type=submit].green,.button.green{background-color:#51a351;background-image:-moz-linear-gradient(top,#62c462,#51a351);background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-ms-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(to bottom,#62c462,#51a351);border-color:#51a351;color:#fff}form button.green:active,input[type=submit].green:active,.button.green:active{background-color:#4f9f4f}form button.orange,input[type=submit].orange,.button.orange{background-color:#f89406;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-ms-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);border-color:#f89406;color:#fff}form button.orange:active,input[type=submit].orange:active,.button.orange:active{background-color:#f28f04}form button.red,input[type=submit].red,.button.red{background-color:#bd362f;background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-ms-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(to bottom,#ee5f5b,#bd362f);border-color:#bd362f;color:#fff}form button.red:active,input[type=submit].red:active,.button.red:active{background-color:#be322b}.widget{margin-bottom:12px}.widget>label{display:block;margin-bottom:6px;font-weight:700}.inline-form .widget{display:inline-block;margin-bottom:0;vertical-align:middle}.horizontal-form .widget:after{content:"";display:table;clear:both}.horizontal-form .widget>label{width:20%;float:left;padding:3px 2% 0 0;text-align:right}.horizontal-form .widget>input,.horizontal-form .widget>textarea{width:78%;float:left}.horizontal-form .widget>fieldset{margin-left:20%}
/* ============================================================
   Accordion (Bücher-Seiten) – modern
   Klassen von Mootools Fx.Accordion: .toggler / .accordion
   JS ergänzt: .active (offen), .hover (Fokus/Hover)
   ============================================================ */

.ce_accordion div.toggler {
  margin: 1.1rem 0 0;
  padding: .65rem 1rem .65rem 1.1rem;
  border: 1px solid #d9c4b2;
  border-radius: 10px;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.35;
  color: #fff;
  background: #cc7a28;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease;
}
.ce_accordion div.toggler:hover,
.ce_accordion div.toggler.hover {
  background: #9c5a14;
}
.ce_accordion div.toggler:focus-visible {
  outline: 3px solid #cc7a28;
  outline-offset: 2px;
}
.ce_accordion div.toggler.active,
.ce_accordion div.toggler.active:hover,
.ce_accordion div.toggler.active.hover {
  color: #003a80;
  background: #99ccff;
  border-color: #2f6db3;
  border-radius: 10px 10px 0 0;
  margin-bottom: 0;
}
.ce_accordion div.accordion > div {
  margin: 0 0 1.1rem;
  padding: 1rem;
  border: 1px solid #d9c4b2;
  border-top: 0;
  border-radius: 0 0 10px 10px;
  background: #f7efe7;
  color: #1f2a37;
  font-size: 1rem;
  line-height: 1.6;
}
.ce_accordion div.accordion > div p { margin: 0 0 1em; }
.ce_accordion div.accordion > div p:last-child { margin-bottom: 0; }

@media (max-width: 720px) {
  .ce_accordion div.toggler { margin-top: .9rem; font-size: .95rem; }
  .ce_accordion div.accordion > div { margin-bottom: .9rem; padding: .85rem; }
}

@media (prefers-reduced-motion: reduce) {
  .ce_accordion div.toggler { transition: none !important; }
}

/* ============================================================
   acharyya Verlag – Modernes Design (final)
   Farbwelt des Originals:
     Blau      #99CCFF   Braun #CC7A28   Hellbraun #EDD6C5
   ============================================================ */

:root {
  --blue:      #99ccff;
  --blue-deep: #2f6db3;
  --brown:     #cc7a28;
  --brown-dk:  #9c5a14;
  --cream:     #edd6c5;
  --cream-soft:#f7efe7;
  --ink:       #1f2a37;
  --ink-soft:  #435263;
  --link:      #0056b3;
  --link-dark: #003a80;
  --line:      #d9c4b2;
  --white:     #ffffff;
  --shadow:    0 1px 3px rgba(31,42,55,.12), 0 4px 14px rgba(31,42,55,.08);
  --radius:    10px;
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
          "Helvetica Neue", "Noto Sans", Arial, sans-serif;
  --serif: Georgia, "Times New Roman", serif;
}

/* ---------- Basis ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--font);
  font-size: 1rem;
  line-height: 1.6;
  color: var(--ink);
  background: var(--white);
  overflow-wrap: break-word;
}
img { max-width: 100%; height: auto; border: 0; }
a {
  color: var(--link);
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color .15s ease;
}
a:hover, a:active { color: var(--link-dark); }
a:focus-visible, button:focus-visible, summary:focus-visible, .skip:focus-visible {
  outline: 3px solid var(--brown);
  outline-offset: 2px;
  border-radius: 3px;
}
h1, h2, h3, h4 { line-height: 1.25; margin: 0 0 .6em; font-weight: 700; color: var(--ink); }
h1 { font-size: 1.9rem; }
h2 { font-size: 1.35rem; }
h3 { font-size: 1.15rem; }
p { margin: 0 0 1em; }

/* Skip-Link */
.skip {
  position: absolute;
  left: -9999px; top: 0;
  background: var(--brown);
  color: #fff;
  padding: .6rem 1rem;
  font-weight: 700;
  text-decoration: none;
  border-radius: 0 0 var(--radius) 0;
  z-index: 100;
}
.skip:focus { left: 0; }

/* ---------- Kopfband + Header ---------- */
.topbar {
  height: 14px;
  background: linear-gradient(90deg, var(--blue) 0%, var(--blue) 78%, var(--brown) 78%);
  border-bottom: 1px solid var(--line);
}
.site-header {
  background: var(--white);
  border-bottom: 1px solid var(--line);
}
.header-shell {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: .9rem 1.25rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.brand { display: inline-flex; line-height: 0; }
.brand img { display: block; width: auto; max-width: 100%; }
.brand-sub {
  font-family: var(--serif);
  font-size: .8rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--ink-soft);
  border-left: 3px solid var(--brown);
  padding-left: .8rem;
  line-height: 1.35;
}

/* ---------- Layout: 3 Spalten (CSS-Grid) ---------- */
.shell {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 1.25rem;
}
.columns {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) 178px;
  gap: 1.5rem;
  padding: 1.5rem 0 2.5rem;
}
.col-side, .col-main, .col-books { min-width: 0; }

/* ---------- Linke Navigation ---------- */
.mod_navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 3px solid var(--brown);
}
.mod_navigation li { margin: 0; }
.mod_navigation a,
.mod_navigation strong,
.mod_navigation .active {
  display: block;
  padding: .55rem .75rem;
  font-size: .9rem;
  font-weight: 600;
  letter-spacing: .02em;
  color: var(--ink);
  text-decoration: none;
  border-left: 3px solid transparent;
}
.mod_navigation a:hover {
  background: var(--cream-soft);
  border-left-color: var(--brown);
}
.mod_navigation a.active,
.mod_navigation a[aria-current="page"],
.mod_navigation li.active > strong,
.mod_navigation li.active > a {
  background: var(--cream);
  border-left-color: var(--brown-dk);
  color: var(--ink);
}
.mod_navigation a.active::before,
.mod_navigation li.active > strong::before,
.mod_navigation li.active > a::before {
  content: "» ";
  color: var(--brown-dk);
}

/* Sprachumschalter */
.mod_changelanguage ul {
  list-style: none;
  margin: 1rem 0 0;
  padding: 0;
  display: flex;
  gap: .4rem;
  justify-content: flex-end;
  padding-right: .75rem;
}
.mod_changelanguage a {
  font-size: .8rem;
  font-weight: 700;
  padding: .2rem .55rem;
  border-radius: 6px;
  text-decoration: none;
  border: 1px solid var(--line);
  color: var(--ink-soft);
}
.mod_changelanguage a.active,
.mod_changelanguage a[aria-current="page"],
.mod_changelanguage strong {
  background: var(--blue);
  border-color: var(--blue-deep);
  color: var(--ink);
  padding: .2rem .55rem;
  border-radius: 6px;
}

/* ---------- Hauptbereich ---------- */
.mod_article { min-width: 0; }
.content-text { margin-bottom: 1.75rem; }
.content-text > h1,
.content-text > h2 {
  padding-bottom: .35rem;
  border-bottom: 2px solid var(--brown);
  display: inline-block;
}
.rte p, .rte li { font-size: 1.02rem; color: var(--ink); }
.rte ul { padding-left: 1.3rem; margin: 0 0 1em; }
.rte li { margin-bottom: .35em; }
/* Einheitliche Schrift: ältere Inline-Größen (14px/16px) angleichen */
.rte p span, .rte li span,
.rte p strong, .rte li strong,
.rte p em, .rte li em,
.rte p b, .rte li b,
.rte p i, .rte li i { font-size: inherit !important; }
.rte p, .rte li { line-height: 1.6; }

/* Bild-Galerien */
.ce_gallery > ul, .content-gallery > ul { margin: 0; padding: 0; overflow: hidden; list-style: none; }
.ce_gallery > ul li, .content-gallery > ul li { float: left; margin: 0 .5em .5em 0; }

/* ---------- Buch-Detail: Hero (Cover + Titel + Meta + Kauf-Button) ---------- */
.book-hero {
  display: flex;
  gap: 1.5rem;
  align-items: flex-start;
  background: var(--cream-soft);
  border: 1px solid var(--line);
  border-left: 4px solid var(--brown);
  border-radius: var(--radius);
  padding: 1.25rem 1.5rem;
  margin: 0 0 1.75rem;
}
.book-cover {
  margin: 0;
  flex: 0 0 auto;
  max-width: 48%;
}
.book-cover img {
  display: block;
  width: 250px;
  max-width: 100%;
  height: auto;
  border-radius: 6px;
  box-shadow: var(--shadow);
  border: 1px solid var(--line);
}
.book-meta { min-width: 0; }
.book-title {
  margin: 0 0 .35rem;
  font-size: 1.6rem;
  line-height: 1.2;
  color: var(--ink);
  font-weight: 800;
  padding: 0;
  border: 0;
}
.book-sub {
  font-family: var(--serif);
  font-size: 1.02rem;
  color: var(--ink-soft);
  margin: 0 0 .35rem;
}
.book-author {
  font-size: .95rem;
  color: var(--ink-soft);
  margin: 0 0 .8rem;
  font-style: italic;
}
.book-buy {
  display: inline-block;
  background: var(--brown);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  padding: .6rem 1.1rem;
  border-radius: var(--radius);
  border: 1px solid var(--brown-dk);
  transition: background .15s ease;
}
.book-buy:hover { background: var(--brown-dk); color: #fff; }

/* ---------- Bücherseite: Buch-Banner (Cover + Info, dazugehörige Rezensionen darunter) ---------- */
.book-banner {
  display: flex;
  gap: 1.4rem;
  align-items: flex-start;
  background: var(--cream-soft);
  border: 1px solid var(--line);
  border-left: 4px solid var(--brown);
  border-radius: var(--radius);
  padding: 1.1rem 1.3rem;
  margin: 0 0 1.25rem;
}
.book-banner .bb-cover {
  flex: 0 0 auto;
  width: 180px;
  max-width: 26%;
  height: auto;
  border-radius: 6px;
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}
.book-banner .bb-body { min-width: 0; }
.book-banner .bb-body a { text-decoration: none; }
.book-banner .bb-body p { margin-bottom: .4em; }
.book-banner .bb-body p:last-child { margin-bottom: 0; }
/* Rezensionen = Karten unter dem Buch-Banner */
section.ce_accordion {
  margin: 0 0 1.5rem;
}
.ce_accordion div.toggler {
  margin-top: 0;
}

/* ---------- Bücher-Übersicht: Buch-Grid (Bücher gut sichtbar) ---------- */
.book-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
  margin: 0 0 2.25rem;
}
.book-card {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: .9rem;
  text-decoration: none;
  color: var(--ink);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.book-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow);
  border-color: var(--brown);
  color: var(--ink);
}
.book-card img {
  width: 120px;
  height: auto;
  flex: 0 0 auto;
  border-radius: 5px;
  border: 1px solid var(--line);
  box-shadow: 0 1px 4px rgba(31,42,55,.15);
}
.book-card .bc-title {
  font-size: 1.02rem;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 .3rem;
}
.book-card .bc-sub {
  font-size: .88rem;
  color: var(--ink-soft);
  margin: 0 0 .3rem;
  font-family: var(--serif);
}
.book-card .bc-meta {
  font-size: .8rem;
  color: var(--ink-soft);
  margin: 0;
}
.book-grid-legend {
  font-size: .85rem;
  color: var(--ink-soft);
  margin: 0 0 .6rem;
}

/* Blog-/Text-Bilder: Abstand um das Bild (figure/medien) */
.mod_article figure,
.content-text figure,
figure.media,
.media--left > figure,
.media--right > figure {
  margin: 1.25rem 0;
}
.media--left > figure { float: left; margin: .5rem 1.5rem 1rem 0; }
.media--right > figure { float: right; margin: .5rem 0 1rem 1.5rem; }
.mod_article figure img,
.content-text figure img {
  border: 1px solid var(--line);
  border-radius: 6px;
  box-shadow: 0 1px 4px rgba(31,42,55,.15);
}
/* Bild in Textblock ohne media: zentrieren + Abstand */
.rte img, .rte figure img { margin: 1rem 0; max-width: 100%; }
.mod_article figure::after, .content-text figure::after { content: ""; display: table; clear: both; }

/* ---------- Blog-Listen (Neueste Beiträge) – farbliche Unterlegung wie Vorschau ---------- */
.mod_newslist {
  margin-top: .5rem;
  background: var(--cream-soft);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 1.25rem 1.4rem 1rem;
}
.mod_newslist h1, .mod_newslist h2 {
  font-size: 1.35rem;
  margin-bottom: .4rem;
}
.layout_simple, .layout_short {
  padding: .55rem 0;
  border-bottom: 1px dotted var(--line);
  margin: 0;
}
.layout_simple:last-of-type, .layout_short:last-of-type { border-bottom: 0; }
.layout_simple time, .layout_short time {
  display: inline-block;
  min-width: 6.2rem;
  font-size: .82rem;
  color: var(--ink-soft);
  font-variant-numeric: tabular-nums;
}
.layout_simple a {
  font-weight: 600;
  text-decoration: none;
  color: var(--link-dark);
  font-size: .98rem;
}
.layout_simple a:hover { text-decoration: underline; }
.layout_short h2 { margin: .2rem 0 .4rem; font-size: 1.25rem; }
.layout_short h2 a { font-weight: 700; text-decoration: none; color: var(--link-dark); }
.layout_short h2 a:hover { text-decoration: underline; }
.layout_short .info { margin: 0 0 .2rem; font-size: .85rem; color: var(--ink-soft); font-style: normal; }
.layout_short .teaser, .layout_short .ce_text { font-size: .98rem; color: var(--ink-soft); }
.layout_short .more { font-size: .9rem; }
.layout_short .more a { font-weight: 700; color: var(--brown-dk); text-decoration: none; }
.layout_short .more a:hover { color: var(--brown); text-decoration: underline; }

/* Blog-Reader (Detailseite) */
.mod_newsreader .info,
.mod_newsreader .date { font-size: .85rem; color: var(--ink-soft); }
.mod_newsreader h1 { font-size: 1.8rem; }
.mod_newsreader .back { font-style: italic; font-size: .9rem; }

/* ---------- Kommentare (Blog) ---------- */
.ce_comments {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 2px solid var(--brown);
}
.ce_comments > h2 {
  font-size: 1.35rem;
  padding-bottom: .35rem;
  border-bottom: 2px solid var(--brown);
  display: inline-block;
}
.comment_default, .com_default {
  background: var(--cream-soft);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 1rem 1.25rem;
  margin: 1rem 0;
}
.comment_default .info, .com_default .info {
  margin: 0 0 .5rem;
  font-size: .85rem;
  color: var(--ink-soft);
}
.comment_default .info a, .com_default .info a { font-weight: 700; }
.comment_default .comment, .com_default .comment {
  font-size: .98rem;
  color: var(--ink);
}
.comment_default .comment p, .com_default .comment p { margin-bottom: .6em; }
/* Kommentar-Formular */
.ce_comments .form { margin-top: 1rem; }
.ce_comments .form .widget {
  margin-bottom: .9rem;
}
.ce_comments .form label {
  display: block;
  font-weight: 700;
  font-size: .9rem;
  margin-bottom: .25rem;
}
.ce_comments .form input[type=text],
.ce_comments .form input[type=email],
.ce_comments .form textarea,
.ce_comments .form select {
  width: 100%;
  padding: .55rem .7rem;
  font-family: var(--font);
  font-size: .98rem;
  color: var(--ink);
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 6px;
}
.ce_comments .form input:focus,
.ce_comments .form textarea:focus,
.ce_comments .form select:focus {
  outline: 2px solid var(--brown);
  outline-offset: 1px;
  border-color: var(--brown-dk);
}
.ce_comments .form .submit input,
.ce_comments .form input[type=submit] {
  width: auto;
  padding: .6rem 1.3rem;
}

/* ---------- Rechte Bücher-Spalte ---------- */
.col-books {
  background: var(--cream);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 1rem;
}
.books { display: grid; grid-template-columns: 1fr; gap: 1rem; }
.book {
  display: block;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: .5rem;
  text-decoration: none;
  color: var(--ink);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.book:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow);
  border-color: var(--brown);
  color: var(--ink);
  text-decoration: none;
}
.book img {
  display: block;
  width: 100%;
  aspect-ratio: 118 / 174;
  object-fit: cover;
  object-position: center top;
  border-radius: 4px;
}
.book-cap {
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-top: .5rem;
  font-size: .78rem;
  line-height: 1.35;
  text-align: center;
  color: var(--ink-soft);
  overflow-wrap: break-word;
  hyphens: auto;
}

/* ---------- Footer ---------- */
.site-footer {
  background: var(--ink);
  color: #cfd8e3;
  font-size: .85rem;
}
.footer-shell {
  max-width: 1180px;
  margin: 0 auto;
  padding: 1.1rem 1.25rem;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem 1.5rem;
  justify-content: space-between;
}
.site-footer a { color: #ffd9a8; }
.footer-shell p { margin: 0; }

/* ---------- Verbleibende Legacy-Hilfsklassen ---------- */
.invisible { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
.clear, #clear { height: .1px; font-size: .1px; line-height: .1px; clear: both; }
.float_left, .media--left > figure { float: left; }
.float_right, .media--right > figure { float: right; }
.text-s-9  { font-size: .8em; }
.text-s-11 { font-size: .9em; }
.text-s-13 { font-size: 1.0em; }
.text-s-15 { font-size: 1.1em; }
.text-s-17 { font-size: 1.2em; }
.text-s-19 { font-size: 1.3em; }
.text-s-21 { font-size: 1.4em; }
.text-s-23 { font-size: 1.5em; }
.text-s-25 { font-size: 1.6em; }
.text-s-27 { font-size: 1.7em; }

/* ---------- Formulare (Feinschliff über Core) ---------- */
form button, input[type=submit], .button {
  background: var(--brown);
  border-color: var(--brown-dk);
  color: #fff;
  font-weight: 700;
  border-radius: var(--radius);
}
form button:hover, input[type=submit]:hover, .button:hover {
  background: var(--brown-dk);
  color: #fff;
}

/* ---------- Responsive ---------- */
@media (max-width: 980px) {
  .columns {
    grid-template-columns: 130px minmax(0, 1fr);
    gap: 1.1rem;
  }
  .col-books { grid-column: 1 / -1; }
  .books { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .book-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .columns {
    grid-template-columns: 1fr;
    gap: 0;
    padding-top: .5rem;
  }
  .col-side {
    order: -1;
    background: var(--cream-soft);
    border-bottom: 1px solid var(--line);
    margin: 0 -1.25rem;
    padding: .5rem 1.25rem 1rem;
  }
  .mod_navigation ul { border-top: 0; }
  .mod_changelanguage ul { justify-content: flex-start; padding: 0 0 0 .75rem; }
  .col-main { padding: 1rem 0; }
  .books { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .header-shell { flex-direction: column; text-align: center; }
  .brand-sub { border-left: 0; border-bottom: 3px solid var(--brown); padding: .5rem .2rem 0; }
  h1 { font-size: 1.6rem; }
  .book-hero { flex-direction: column; align-items: center; text-align: center; padding: 1rem; }
  .book-cover img { width: 160px; max-width: 60%; }
}

/* ---------- Reduzierte Bewegung ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    transition: none !important;
    animation: none !important;
  }
}

