/*
Theme Name:  swissblawg
Theme URI:   https://swissblawg.ch/
Author:      Silvio Dohner
Author URI:  https://swissblawg.ch/
Description: Eigenständiges Theme für swissblawg, ohne GeneratePress, Layout mit Shortcodes Ultimate. Programmiert im Namen des Herrn 2026.
Version:     1.0.0
Requires at least: 6.0
Requires PHP: 8.0
License:     GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: swissblawg
*/

/* ==========================================================================
   swissblawg Theme – Version 1.0.0
   Autor: Silvio Dohner – programmiert im Namen des Herrn 2026
   Benötigt: Shortcodes Ultimate (Layout-Raster über su_row / su_column)
   Klassennamen bewusst wie bisher (site-header, inside-article, widget …),
   damit das CSS aus «Simple Custom CSS» weiterhin greift.
   ========================================================================== */

/* ---------- Grundlagen ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background-color: #ffffff;
	color: #0a0a0a;
	font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
	font-size: 17px;
	line-height: 1.5;
}
button, input, select, textarea { font-family: inherit; font-size: 100%; }
img { max-width: 100%; height: auto; vertical-align: middle; }
a { color: #0f4996; text-decoration: none; transition: color .1s ease-in-out, background-color .1s ease-in-out; }
a:hover, a:focus, a:active { color: #000000; }
p { margin: 0 0 1.5em; }
h1, h2, h3, h4, h5, h6 { margin: 0 0 20px; font-weight: normal; line-height: 1.2em; }
h1 { font-size: 26px; font-weight: 400; }
h2 { font-size: 28px; line-height: 1.1em; }
h3 { font-size: 20px; }
h4, h5 { font-size: inherit; }
ul, ol { margin: 0 0 1.5em 3em; padding: 0; }
blockquote { border-left: 5px solid rgba(0,0,0,.05); padding: 20px; font-size: 1.2em; font-style: italic; margin: 0 0 1.5em; }
table { border-collapse: collapse; border-spacing: 0; width: 100%; margin: 0 0 1.5em; }
td, th { padding: 8px; border: 1px solid rgba(0,0,0,.1); text-align: left; }
hr { background-color: rgba(0,0,0,.1); border: 0; height: 1px; margin: 40px 0; }
.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.skip-link:focus { clip: auto; clip-path: none; height: auto; width: auto; display: block; left: 5px; top: 5px; padding: 15px 23px; background: #f1f1f1; color: #21759b; z-index: 100000; font-size: 14px; font-weight: 700; }
.alignleft { float: left; margin-right: 1.5em; }
.alignright { float: right; margin-left: 1.5em; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; clear: both; }
.wp-caption { max-width: 100%; }
.wp-caption-text { font-size: 75%; padding-top: 5px; opacity: .8; }

/* Formulare & Buttons */
input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="tel"], input[type="number"], textarea, select {
	color: #666666; background-color: #fafafa; border: 1px solid #cccccc; border-radius: 0; padding: 10px 15px; max-width: 100%;
}
input[type="text"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="number"]:focus, textarea:focus, select:focus {
	color: #666666; background-color: #ffffff; border-color: #bfbfbf; outline: 0;
}
button, html input[type="button"], input[type="reset"], input[type="submit"], a.button, a.wp-block-button__link:not(.has-background) {
	color: #ffffff; background-color: #666666; border: 0; padding: 10px 20px; cursor: pointer; line-height: inherit;
}
button:hover, html input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover, a.button:hover,
button:focus, html input[type="button"]:focus, input[type="reset"]:focus, input[type="submit"]:focus, a.button:focus {
	color: #ffffff; background-color: #3f3f3f;
}

/* ---------- Container ---------- */
.grid-container { max-width: 1235px; margin-left: auto; margin-right: auto; }

/* Shortcodes-Ultimate-Raster: Abstände wie bisher (10px statt 4%) */
.sb-row.su-row { margin: 0; display: flex; flex-wrap: wrap; align-items: stretch; }
.sb-row.su-row::before, .sb-row.su-row::after { display: none; }
.sb-row.su-row > .su-column { float: none; }
.sb-row.su-row > .su-column { margin-left: 0; }
.sb-row.su-row > .su-column + .su-column { margin-left: 10px; }
.sb-row.su-row > .su-column-size-3-4 { width: calc(75% - 5px); }
.sb-row.su-row > .su-column-size-1-4 { width: calc(25% - 5px); }
.sb-row.su-row > .su-column-size-1-2 { width: calc(50% - 5px); }
.sb-row.su-row > .su-column-size-1-3 { width: calc(33.333% - 6.667px); }
.sb-row.su-row > .su-column-size-1-1 { width: 100%; margin-left: 0; }
.sb-row .su-column-inner { overflow: visible; }

/* ---------- Header ---------- */
.site-header { background-color: #ffffff; color: #0a0a0a; }
.site-header a { color: #0a0a0a; }
.site-header a:hover { color: #0f5796; }
.inside-header { padding: 40px; display: flex; align-items: center; }
.site-branding-container { display: inline-flex; align-items: center; text-align: left; flex-shrink: 0; }
.site-logo { margin-right: 1.5em; }
.site-header .header-image { width: 150px; }
.main-title { font-size: 45px; margin: 0; font-weight: bold; line-height: 1.2; }
.main-title a, .main-title a:hover { color: #0a0a0a; }
.site-description { margin: 0; line-height: 1.5; font-weight: normal; color: #0a0a0a; }

/* ---------- Navigation ---------- */
.main-navigation { background-color: #f4f4f4; clear: both; display: block; z-index: 100; position: relative; }
.main-navigation .inside-navigation { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.main-navigation ul { list-style: none; margin: 0; padding: 0; }
.main-navigation .main-nav > ul { display: flex; flex-wrap: wrap; align-items: center; }
.main-navigation li { position: relative; }
.main-navigation .main-nav ul li a { display: block; padding: 0 20px; line-height: 60px; font-size: 15px; color: #0a0a0a; }
.main-navigation .main-nav ul li:not([class*="current-menu-"]):hover > a,
.main-navigation .main-nav ul li:not([class*="current-menu-"]):focus-within > a { color: #0a0a0a; background-color: #e0e0e0; }
.main-navigation .main-nav ul li[class*="current-menu-"] > a { color: #0a0a0a; background-color: #e0e0e0; }
.main-navigation ul ul { display: block; background-color: #3f3f3f; position: absolute; left: -99999px; top: auto; width: 200px; opacity: 0; z-index: 99999; box-shadow: 1px 1px 0 rgba(0,0,0,.1); }
.main-navigation ul li:hover > ul, .main-navigation ul li:focus-within > ul { left: auto; right: 0; opacity: 1; }
.main-navigation ul ul ul { top: 0; right: 100%; }
.main-navigation .main-nav ul ul li a { font-size: 14px; line-height: normal; padding: 10px 20px; color: #ffffff; }
.main-navigation .main-nav ul ul li:hover > a { background-color: #4f4f4f; color: #0a0a0a; }
.menu-toggle { display: none; background: transparent; color: #0a0a0a; padding: 0 20px; line-height: 60px; font-size: 15px; width: 100%; text-align: left; }
.menu-toggle:hover, .menu-toggle:focus { background: transparent; color: #0a0a0a; }
.menu-toggle .sb-burger { display: inline-block; width: 16px; margin-right: 8px; vertical-align: middle; }

/* ---------- Inhalt ---------- */
.site-content { padding-top: 0; }
.site-main { margin: 10px; }
.site-main > * { margin-bottom: 10px; }
.inside-article, .comments-area, .page-header, .paging-navigation, .inside-page-header { color: #0a0a0a; background-color: #ffffff; padding: 40px 50px 30px 20px; }
.inside-article a, .paging-navigation a, .comments-area a, .page-header a { color: #0f5796; }
.entry-header .entry-title { margin-bottom: 0; }
h1.entry-title { font-size: 29px; }
h2.entry-title { font-weight: normal; font-size: 19px; line-height: 1.3em; }
.entry-title a { color: #0a0a0a; }
.entry-title a:hover { color: #0f5796; }
.entry-meta { font-size: 85%; margin-top: .5em; line-height: 1.5; color: #595959; }
.entry-meta a { color: #595959; }
.entry-meta a:hover { color: #1e73be; }
footer.entry-meta { margin-top: 1.1em; }
.entry-content:not(:first-child), .entry-summary:not(:first-child), .page-content:not(:first-child) { margin-top: 1.1em; }
.entry-content > *:last-child, .entry-summary > *:last-child { margin-bottom: 0; }
.cat-links, .tags-links { display: block; }
.sb-icon { display: inline-block; width: 1em; height: 1em; margin-right: .6em; vertical-align: -0.1em; fill: currentColor; opacity: .7; }
.page-header { margin-bottom: 10px; }
.page-header .page-title { margin-bottom: 0; }
.taxonomy-description p:last-child { margin-bottom: 0; }
.featured-image, .post-image { margin-bottom: 1.1em; text-align: center; }

/* Beitragsübersicht (Blog / Archiv) */
.generate-columns-container { display: block; margin-left: 0; }
.generate-columns-container article.generate-columns { width: 100%; float: none; padding-left: 0; margin-bottom: 0; }
.generate-columns-container > article.featured-column { margin-bottom: 10px; }
.sb-posts.su-row { margin-bottom: 0; }
.sb-posts .su-column { margin-bottom: 10px; }
.sb-posts .su-column-inner { height: 100%; }
.sb-posts article, .sb-posts article .inside-article { height: 100%; }

/* Paginierung */
.paging-navigation { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; }
.paging-navigation .nav-previous { display: none; }
.paging-navigation .page-numbers { padding: 0 5px; display: inline-block; }
.paging-navigation .current { font-weight: bold; }
.post-navigation { margin-top: 2em; font-size: 85%; }
.post-navigation .nav-previous, .post-navigation .nav-next { margin-bottom: .5em; }

/* ---------- Seitenleiste ---------- */
.inside-right-sidebar { margin-top: 10px; margin-bottom: 10px; margin-right: 10px; }
.sidebar .widget { color: #0a0a0a; background-color: #f4f4f4; padding: 30px 30px 30px 35px; margin: 0 0 10px; font-size: 13px; }
.sidebar .widget a { color: #0a0a0a; }
.sidebar .widget a:hover { color: #0f5796; }
.widget-title { font-size: 16px; margin-bottom: 30px; color: #000000; }
.widget ul, .widget ol { margin: 0; list-style: none; padding: 0; }
.widget ul li { list-style-type: none; position: relative; margin-bottom: .5em; }
.widget ul ul { margin-top: .5em; margin-left: 1em; }
.widget :last-child { margin-bottom: 0; }
.widget select { max-width: 100%; }
.widget .search-form { display: flex; }
.widget .search-form button { padding: 10px 15px; }

/* ---------- Footer ---------- */
.site-footer { margin-top: 0; }
.footer-widgets { background-color: #ffffff; }
.inside-footer-widgets { padding: 40px; }
.footer-widgets .widget { font-size: 13px; margin-bottom: 30px; }
.footer-widgets .widget:last-child { margin-bottom: 0; }
.footer-widgets .widget-title { color: #000000; }
.site-info { color: #ffffff; background-color: #222222; padding: 20px; text-align: center; font-size: 15px; }
.site-info a { color: #ffffff; }
.site-info a:hover { color: #606060; }

/* ---------- Druck ---------- */
@media print {
	.main-navigation, .sidebar, .site-footer, .paging-navigation, .menu-toggle { display: none !important; }
	.sb-row.su-row > .su-column-size-3-4 { width: 100% !important; }
}

/* ---------- Mobil ---------- */
@media (max-width: 768px) {
	.inside-header { padding: 30px; flex-direction: column; text-align: center; }
	.site-branding-container { flex-direction: column; }
	.site-logo { margin: 0 0 10px; }
	.main-title { font-size: 30px; }
	h1 { font-size: 30px; }
	h2 { font-size: 25px; }
	.inside-article, .comments-area, .page-header, .paging-navigation, .inside-page-header { padding: 30px; }
	.menu-toggle { display: block; }
	.main-navigation .main-nav { display: none; width: 100%; }
	.main-navigation.toggled .main-nav { display: block; }
	.main-navigation .main-nav > ul { display: block; }
	.main-navigation ul ul { position: static; width: auto; opacity: 1; left: auto; box-shadow: none; }
	.sb-row.su-row > .su-column { width: 100% !important; margin-left: 0 !important; }
	.inside-right-sidebar { margin: 0 10px 10px; }
	.inside-footer-widgets { padding: 30px; }
	.footer-widgets .su-column { margin-bottom: 30px; }
	.site-info { padding-left: 10px; padding-right: 10px; }
}
