/*
Theme Name: ArcHub
Theme URI: https://archub.liquid-themes.com/
Author: Liquid Themes
Author URI: https://themeforest.net/user/liquidthemes
Description: Smart, Powerful and Unlimited Customizable WordPress Theme.
Version: 1.2.14
License: GNU General Public License
License URI: license.txt
Text Domain: archub
Tags: responsive, retina, rtl-language-support, blog, portfolio, custom-colors, live-editor
*/

/*--------------------------------------------------------------
Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
	white-space: nowrap;
}

.screen-reader-text:hover,
.screen-reader-text:active,
.screen-reader-text:focus,
.screen-reader-text:focus-within {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}
.screen-reader-text:focus-within {
	overflow: visible;
}
/*--------------------------------------------------------------
Spacing
--------------------------------------------------------------*/
.wp-block-button,
.wp-block-cover {
	margin-bottom: 32px;
}

/*--------------------------------------------------------------
Alignments
--------------------------------------------------------------*/

body:not(.has-sidebar) .alignfull {
	width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-inline-start: -50vw;
  margin-inline-end: -50vw;
}

.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
}

.alignright {
	display: inline;
	float: right;
	margin-left: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

/*--------------------------------------------------------------
Captions
--------------------------------------------------------------*/
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin: 0 auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

/*--------------------------------------------------------------
Galleries
--------------------------------------------------------------*/
.gallery {
	margin-bottom: 1.5em;
}

.gallery-item {
	display: inline-block;
	vertical-align: top;
	width: 100%;
	padding-left: 5px;
	padding-right: 5px;
}

.gallery-columns-2 .gallery-item {
	max-width: 50%;
}

.gallery-columns-3 .gallery-item {
	max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
	max-width: 25%;
}

.gallery-columns-5 .gallery-item {
	max-width: 20%;
}

.gallery-columns-6 .gallery-item {
	max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
	max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	max-width: 11.11%;
}

.gallery-caption {
	display: block;
}
.wp-block-gallery {
	margin-bottom: 1em;
}
.blocks-gallery-caption {
	margin-top: 0;
}

/*--------------------------------------------------------------
Button
--------------------------------------------------------------*/
.wp-block-button__link {
	--wp-btn-border-radius: 1.5em;
	border-radius: var(--wp-btn-border-radius);
	line-height: 1.35em;
}

.wp-block-button.is-style-squared .wp-block-button__link {
	--wp-btn-border-radius: 0;
}

/*--------------------------------------------------------------
Cover
--------------------------------------------------------------*/
.wp-block-cover.has-background-dim {
	color: #fff;
}
.wp-block-cover.has-background-dim a {
	color: inherit;
}

.wp-block-group.has-background,
.has-background {
	margin-bottom: 1.5em;
}

/*--------------------------------------------------------------
Blockquote
--------------------------------------------------------------*/
.wp-block-pullquote blockquote {
	border: none;
}

/*--------------------------------------------------------------
Readmore
--------------------------------------------------------------*/
.entry-summary .more-link:after{
	content: "\02192";
    display: inline-block;
    margin-left: 0.5em;
}

	
/* ---------- HEADER ---------- */

/* Header steht fest oben und bewegt sich nie selbst */
.main-header.lqd-smart-sticky-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    animation: none !important;
    transform: none !important;
    background-color: transparent !important;
    transition: none !important;
}

/* Das Theme blendet beim Andocken einen 95px hohen Platzhalter ein und
   schiebt damit die ganze Seite nach unten - der Hero springt. Dieser
   Header liegt ueber dem Inhalt und nimmt nie Platz weg, der
   Platzhalter wird also nicht gebraucht. */
#wrap > .lqd-sticky-placeholder {
    display: none !important;
}

/* Nur die Kopfzeile bewegt sich, mit weichem Übergang */
.main-header.lqd-smart-sticky-header > .elementor > .elementor-section:not(.lqd-stickybar-wrap) {
    transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1), background-color 0.4s ease;
}

/* Hintergrund der Kopfzeile. Das Theme markiert am Header selbst, ob der
   Abschnitt darunter hell oder dunkel ist, und faerbt Logo und Icons
   passend dazu. An denselben Klassen bleibt beides immer lesbar. */
.main-header.lqd-smart-sticky-header.lqd-active-row-light > .elementor > .elementor-section:not(.lqd-stickybar-wrap) {
    background-color: #F6F7F2 !important;
}

.main-header.lqd-smart-sticky-header.lqd-active-row-dark > .elementor > .elementor-section:not(.lqd-stickybar-wrap) {
    background-color: #1C1C1C !important;
}

/* Runterscrollen: Kopfzeile fährt nach oben weg */
.main-header.lqd-smart-sticky-header.is-stuck.lqd-smart-sticky-hide > .elementor > .elementor-section:not(.lqd-stickybar-wrap),
.main-header.lqd-smart-sticky-header.lqd-just-stuck > .elementor > .elementor-section:not(.lqd-stickybar-wrap) {
    transform: translateY(-100%);
}

/* Seitenleisten bleiben stehen */
.main-header.lqd-smart-sticky-header .lqd-stickybar-wrap {
    transform: none !important;
}

/* ---------- WEISSES AUFBLITZEN OBEN ---------- */

/* #wrap und main.content tragen den weissen Hintergrund der Seite.
   Beim sehr schnellen Hochscrollen hinkt die Ebene mit dem Hero einen
   Frame hinterher und dieses Weiss blitzt durch. Die Regel faerbt die
   erste Bildschirmhoehe in der Farbe ein, die dort hingehoert. */

/* Grundfarbe fuer alle Seiten */
body {
    --cic-top: #F6F7F2;
}

/* Startseite - dunkler Hero */
body.home {
    --cic-top: #1C1C1C;
}

#wrap,
main.content {
    background-image: linear-gradient(var(--cic-top) 0, var(--cic-top) 100vh, rgba(0, 0, 0, 0) 100vh);
    background-repeat: no-repeat;
}

/* Kein Fokus-Rahmen beim Klicken mit der Maus */
a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
.btn:focus:not(:focus-visible) {
  outline: none;
}

/* Für Tastatur-Nutzer (Tab-Taste) bleibt ein Fokus sichtbar, passend zur Marke */
a:focus-visible,
button:focus-visible,
.btn:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

/* ===== Projekt-Slides: "Mehr erfahren"-Button an die Unterkante ===== */
@media (min-width: 768px) {

  /* Textspalte (die Spalte mit dem Button) als vertikale Flexbox über die volle Höhe */
  .elementor-inner-column:has(> .elementor-widget-wrap > .elementor-widget-ld_button) > .elementor-widget-wrap {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
    height: 100%;
  }

  /* Alle Elemente in der Spalte behalten die volle Breite */
  .elementor-inner-column:has(> .elementor-widget-wrap > .elementor-widget-ld_button) > .elementor-widget-wrap > .elementor-element {
    width: 100%;
  }

  /* Button nach unten schieben */
  .elementor-inner-column > .elementor-widget-wrap > .elementor-widget-ld_button {
    margin-top: auto;
  }

  /* Den in Elementor gesetzten Abstand oben (~133px) entfernen */
  .elementor-inner-column > .elementor-widget-wrap > .elementor-widget-ld_button > .elementor-widget-container {
    margin-top: 0 !important;
  }
}
/* ===== Startseite: Zitat-Autor "Dr. Dirk Becker" ===== */
/* Schrift kommt komplett aus der globalen Typografie (Elementor-Panel) – hier keine font-size! */

/* Großer Desktop (ab 1201px): Name auf der Grundlinie von "emotionale Kraft." */
@media (min-width: 1201px) {

  .elementor-element-9c5fecc > .elementor-widget-wrap {
    position: relative;
  }

  .elementor-element-9c5fecc .elementor-element-a34064a > .elementor-widget-container {
    margin-bottom: 0 !important;
  }

  /* Abstand unter der Überschrift (55px vom Theme) entfernen */
  .elementor-element-9c5fecc .elementor-element-a34064a .ld-fh-element {
    margin-bottom: 0 !important;
  }

  .elementor-element-9c5fecc .elementor-element-bc96753 {
    position: absolute !important;
    right: 0;
    bottom: 0;
    width: auto !important;
    max-width: none !important;
  }

  .elementor-element-9c5fecc .elementor-element-bc96753 > .elementor-widget-container {
    margin: 0 !important;
    padding: 0 calc(4.5vw - 1.98vw) 0 0 !important;
    text-align: right !important;
  }

  .elementor-element-9c5fecc .elementor-element-bc96753 .ld-fh-element {
    margin: 0 !important;
  }

  /* Unsichtbares Zeichen in Zitat-Größe: richtet den Namen auf dieselbe Grundlinie aus */
  .elementor-element-9c5fecc .elementor-element-bc96753 .ld-fh-element::before {
    content: "\200B";
    font-size: var(--e-global-typography-83225fe-font-size);
    line-height: var(--e-global-typography-83225fe-line-height);
  }
}

/* Laptop, Tablet & Handy (bis 1200px): Name in eigener Zeile unter dem Zitat */
@media (max-width: 1200px) {
  .elementor-element-bc96753 > .elementor-widget-container {
    margin-top: 0 !important;
  }
}