/* =========================================================
   CATALEYA MASSAGE – GRUNDSTILE

   Gilt auf ALLEN Seiten (auch WooCommerce). Farben kommen aus den Variablen in
   style.css:
     --accent                    Links, h3–h5, Buttons (= Markenfarbe)
     --primary                   immer die Markenfarbe

   Aufbau:
     1. Seite und Text
     2. Überschriften
     3. Links und Buttons
     4. Tabellen und Formulare
     5. Seitennavigation (Beiträge)
     6. Hilfsklassen
     7. Call-to-Action-Zeile (wird in Seiteninhalten verwendet)
     8. WooCommerce und Plugin-Feinheiten
     9. Farben aus dem Block-Editor (Standard-Rot → Markenfarbe)

   Keine Hover-Farben: Wie Anklickbares reagiert (Unterstrich), steht in interaction.css.
   ========================================================= */


/* ---------------------------------------------------------
   1. SEITE UND TEXT
   --------------------------------------------------------- */

html {
	direction: ltr;
}

body {
	margin: 0;
	background-color: #fff;
	color: var(--text-color);
	font-family: "Open Sans", Arial, sans-serif;
	font-size: 14px;
	line-height: 22px;
}

@media (max-width: 479px) {
	body {
		font-size: 13px;
	}
}

p {
	margin: 0 0 20px;
	line-height: 24px;
}

/* ":not(…)" erhöht bewusst die Spezifität, damit Plugin-Stile (z. B. WooCommerce) diese Werte nicht überschreiben. */
p:not(.cstom) {
	padding: 5px;
	color: var(--gray-dark);
}

ul:not(.contact) li {
	color: var(--gray-dark);
}

li {
	line-height: 24px;
}

blockquote {
	border-left: 5px solid var(--primary);
	font-size: 1em;
}

blockquote p {
	color: var(--gray-dark);
}

hr {
	height: 1px;
	margin: 22px 0;
	border: 0;
	background-image: linear-gradient(to right, transparent, rgba(0, 0, 0, 0.2), transparent);
}

h1,
h2 {
	overflow-x: hidden;
}


/* ---------------------------------------------------------
   2. ÜBERSCHRIFTEN
   --------------------------------------------------------- */

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
	color: #0e0e0e;
	font-weight: 200;
	letter-spacing: -1px;
}

h1 {
	margin: 0 0 44px;
	font-size: 2.6em;
	line-height: 44px;
}

h2 {
	margin: 0 0 32px;
	font-size: 2.2em;
	font-weight: 300;
	line-height: 42px;
}

h3,
h4,
h5 {
	color: var(--accent);
	letter-spacing: normal;
}

h3 {
	margin-bottom: 33px;
	font-size: 1.8em;
	font-weight: 400;
	line-height: 24px;
	text-transform: uppercase;
}

h4 {
	margin: 0 0 14px;
	font-size: 1.4em;
	font-weight: 400;
	line-height: 27px;
}

h5 {
	margin: 0 0 14px;
	font-size: 1em;
	font-weight: 600;
	line-height: 18px;
	text-transform: uppercase;
}

h6 {
	margin: 0 0 14px;
	color: #333;
	font-size: 1em;
	font-weight: 400;
	letter-spacing: normal;
	line-height: 18px;
}

@media (max-width: 479px) {
	h2 {
		line-height: 40px;
	}
}


/* ---------------------------------------------------------
   3. LINKS UND BUTTONS
   --------------------------------------------------------- */

a {
	color: var(--accent);
}

/* Keine Hover-Farbe: Die Farbe bleibt, den Unterstrich liefert interaction.css. */
a:hover,
a:focus,
a:active {
	color: var(--accent);
}

/* Fokusrahmen nur für Tastaturbedienung (Mausklicks zeigen keinen Rahmen). */
a:focus:not(:focus-visible),
.btn:focus:not(:focus-visible),
button:focus:not(:focus-visible) {
	outline: none;
}

a:focus-visible,
.btn:focus-visible,
button:focus-visible {
	outline: 2px solid var(--primary);
	outline-offset: 2px;
}

.btn-primary {
	background-color: var(--accent);
	border-color: var(--accent);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary.focus,
.btn-primary:active,
.btn-primary.active,
.btn-primary:active:hover,
.btn-primary:active:focus,
.btn-primary:active.focus,
.btn-primary.active:hover,
.btn-primary.active:focus,
.btn-primary.active.focus {
	background-color: var(--accent);
	border-color: var(--accent);
}

.btn-primary[disabled] {
	background-color: var(--accent);
	background-image: none;
	border-color: var(--accent);
}

/* Weitere Bootstrap-Bausteine mit „primary“-Farbe: ebenfalls in der Markenfarbe. */

.btn-link {
	color: var(--accent);
}

.btn-link:hover,
.btn-link:focus {
	color: var(--accent);
}

.label-primary {
	background-color: var(--accent);
}

.label-primary[href]:hover,
.label-primary[href]:focus {
	background-color: var(--accent);
}

.pagination > li > a,
.pagination > li > span {
	color: var(--accent);
}

.pagination > li > a:hover,
.pagination > li > span:hover,
.pagination > li > a:focus,
.pagination > li > span:focus {
	color: var(--accent);
}

.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
	background-color: var(--accent);
	border-color: var(--accent);
	color: #fff;
}

.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
	color: var(--accent);
}

.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus,
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus,
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus,
.progress-bar {
	background-color: var(--accent);
}

.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus,
.panel-primary,
a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
	border-color: var(--accent);
}

.panel-primary > .panel-heading {
	background-color: var(--accent);
	border-color: var(--accent);
}


/* ---------------------------------------------------------
   4. TABELLEN UND FORMULARE
   --------------------------------------------------------- */

th {
	padding: 25px;
	color: var(--gray-dark);
	font-size: 16px;
	text-align: center;
}

thead {
	border-bottom: 3px solid var(--gray-dark);
}

td {
	padding: 10px;
}

input {
	padding: 10px;
	border: 1px solid #cfcfcf;
}

select {
	border: 1px solid #e5e7e9;
	border-radius: 6px;
	outline: none;
}

textarea {
	resize: vertical;
}

form label,
.label {
	font-weight: 400;
}


/* ---------------------------------------------------------
   5. SEITENNAVIGATION (BEITRÄGE)
   --------------------------------------------------------- */

.pagination {
	display: flex;
	justify-content: center;
}

.nav-links > * {
	padding: 10px 15px;
	border-radius: 50%;
	font-size: 25px;
}

.page-numbers {
	display: inline-block;
	margin: 0 2px 0 0;
	padding: 5px 10px;
	border: 1px solid #eee;
	border-radius: 2px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
}

.page-numbers.current {
	background: #f9f9f9;
}


/* ---------------------------------------------------------
   6. HILFSKLASSEN
   --------------------------------------------------------- */

.center {
	text-align: center;
}

.mx-auto {
	float: none;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Von WordPress erwartet: Text nur für Screenreader. */
.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	border: 0;
	white-space: nowrap;
	word-wrap: normal;
}

.screen-reader-text:focus {
	z-index: 100000;
	top: 5px;
	left: 5px;
	width: auto;
	height: auto;
	padding: 15px 23px 14px;
	clip: auto;
	clip-path: none;
	background: #fff;
	color: #21759b;
	font-size: 14px;
	font-weight: 700;
	line-height: normal;
	text-decoration: none;
}

/* ---------------------------------------------------------
   7. CALL-TO-ACTION-ZEILE
   Wird in Seiteninhalten verwendet (z. B. „Schreib uns“):
   <section class="call-to-action"> … <h3>Text <a class="btn btn-primary">Knopf</a></h3> </section>
   --------------------------------------------------------- */

section.call-to-action {
	position: relative;
	clear: both;
}

section.call-to-action::before {
	content: "";
	display: block;
	position: absolute;
	top: -5px;
	left: 50%;
	width: 15px;
	height: 15px;
	margin-left: -7px;
	border-top: 15px solid #fff;
	border-right: 15px solid transparent;
	border-left: 15px solid transparent;
}

section.call-to-action h3 {
	color: #121212;
	text-transform: none;
}

section.call-to-action h3 .btn {
	margin-left: 10px;
}


/* ---------------------------------------------------------
   8. WOOCOMMERCE UND PLUGIN-FEINHEITEN
   Unverändert aus dem bisherigen Theme übernommen.
   --------------------------------------------------------- */

/* Rabatt-Badge */
.woocommerce span.onsale {
	min-width: 3.5em;
	min-height: 3.5em;
	background-color: var(--primary);
}

/* Hinweis-Boxen */
.woocommerce-info {
	padding: 5px;
	border-top-color: var(--primary);
	font-size: 20px;
}

.woocommerce-info::before {
	content: none;
}

/* Warenkorb */
.cart input {
	width: 100%;
	padding: 10px;
	border: 0;
	border-bottom: 1px solid #999;
	transition: 0.3s;
}

.cart input[type="text"]:focus {
	outline: none;
	background: #f7f7f7;
	border-bottom: 1px solid var(--primary);
}

.cart_item {
	border-bottom: 1px solid #666;
	font-size: 16px;
}

.woocommerce table.shop_table {
	border: 0;
	border-collapse: collapse;
}

.woocommerce table.shop_table td {
	border-top: 0;
}

.woocommerce table.shop_table th {
	text-align: left;
}

.woocommerce table.shop_table thead,
.woocommerce table.shop_table tbody {
	border-bottom: 2px solid var(--gray-dark);
}

.woocommerce .cart.shop_table .product-thumbnail img {
	width: 100px;
}

/* Produktseite */
.woocommerce-product-gallery__image {
	border-radius: 3px;
	box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.75);
}

.variation p {
	padding: 0;
}

table.variations tr {
	display: flex;
	align-items: baseline;
}

table.variations td {
	vertical-align: middle !important;
}

table.variations .label {
	display: block;
	margin-right: 15px;
	padding: 0;
	color: inherit;
	font-size: 100%;
	text-align: inherit;
}

table.variations select {
	padding: 10px;
	border: 1px solid #cfcfcf;
	border-radius: 0;
}

.reset_variations {
	display: block !important;
}

/* Bewertungen / Kommentarformular */
.comment-form-comment {
	margin-bottom: 1rem;
}

.comment-form-comment label {
	display: inline-block;
	margin-bottom: 0.5rem;
}

.comment-form-comment textarea {
	display: block;
	width: 100%;
	min-height: 50px;
	padding: 0.375rem 0.75rem;
	border: 1px solid #ced4da;
	border-radius: 0.25rem;
	background-color: #fff;
	background-clip: padding-box;
	color: #495057;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

/* BeRocket „Ajax Filters“ (Preisfilter im Shop) */
.bapf_sfilter .bapf_body > ul {
	padding: 15px;
}

.irs--square .irs-bar {
	top: 31px;
	height: 4px;
	background-color: var(--primary);
}

.irs--square .irs-handle {
	border: 3px solid var(--gray-dark);
}

.irs--square .irs-from,
.irs--square .irs-to {
	background-color: var(--gray-dark);
}


/* ---------------------------------------------------------
   9. FARBEN AUS DEM BLOCK-EDITOR
   Das WordPress-Standard-„Rot“ (z. B. bei den Preiszeilen) wird auf allen Seiten – auch bei
   WooCommerce – zur Markenfarbe. So gibt es nirgends ein zweites Rot oder Magenta. Die
   WordPress-Regel trägt !important; „body“ davor macht die Regel stärker, egal in welcher Reihenfolge
   WordPress und Theme ihre Stylesheets ausgeben. Andere Editorfarben bleiben unberührt.
   --------------------------------------------------------- */

body .has-vivid-red-color {
	color: var(--primary) !important;
}

body .has-vivid-red-background-color {
	background-color: var(--primary) !important;
}

body .has-vivid-red-border-color {
	border-color: var(--primary) !important;
}
