/*
Theme Name: RawCat
Theme URI: https://rawc.at
Description: Modernes Block-Theme für rawc.at – dunkel, pink, laut.
Version: 1.1.0
Requires at least: 6.5
Requires PHP: 8.0
License: GPLv2 or later
Text Domain: rawcat
*/

/* ---------- Grundlagen ---------- */
html { scroll-behavior: smooth; }
body {
	background:
		radial-gradient(ellipse 80% 50% at 50% -10%, rgba(255, 0, 150, .28), transparent 70%),
		var(--wp--preset--color--nacht);
	background-attachment: fixed;
}
::selection { background: var(--wp--preset--color--pink); color: #fff; }

/* ---------- Header (pink) ---------- */
.rc-header {
	position: sticky; top: 0; z-index: 50;
	background: var(--wp--preset--color--pink);
	color: var(--wp--preset--color--nacht);
	box-shadow: 0 6px 30px -10px rgba(255, 0, 150, .7);
}
.rc-header a { color: var(--wp--preset--color--nacht); }
.rc-logo img { transition: transform .3s ease; }
.rc-logo img:hover { transform: rotate(-6deg) scale(1.06); }
.rc-header .wp-block-navigation a {
	letter-spacing: .02em; font-weight: 800;
	text-decoration: none; position: relative;
}
.rc-header .wp-block-navigation a::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 3px; border-radius: 3px;
	background: var(--wp--preset--color--nacht);
	transform: scaleX(0); transform-origin: left; transition: transform .25s ease;
}
.rc-header .wp-block-navigation a:hover::after,
.rc-header .wp-block-navigation .current-menu-item a::after { transform: scaleX(1); }
.rc-header .wp-block-navigation__responsive-container-open { color: var(--wp--preset--color--nacht); }
.wp-block-navigation__responsive-container.is-menu-open a {
	font-family: var(--wp--preset--font-family--display); font-weight: 400; font-size: 2.4rem;
}

/* ---------- Laufband ---------- */
.rc-ticker {
	overflow: hidden; white-space: nowrap;
	background: var(--wp--preset--color--pink);
	color: #fff;
	transform: rotate(-1.5deg);
	margin-block: 0 !important;
}
.rc-ticker p {
	display: inline-block; margin: 0;
	animation: rc-scroll 30s linear infinite;
}
@keyframes rc-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ---------- Bausteine ---------- */
.rc-eyebrow {
	display: inline-block;
	padding: .35em .9em; border-radius: 999px;
	border: 1px solid var(--wp--preset--color--pink);
	color: var(--wp--preset--color--pink) !important;
	letter-spacing: .06em; font-weight: 600;
}
.rc-pink-text { color: var(--wp--preset--color--pink); }
.rc-gradient-text {
	background: linear-gradient(90deg, #fff 0%, #ff66c4 45%, #ff0096 100%);
	-webkit-background-clip: text; background-clip: text; color: transparent;
}
.rc-cover img {
	border-radius: 20px;
	box-shadow: 0 30px 80px -20px rgba(255, 0, 150, .55);
	transform: rotate(-2deg);
	transition: transform .4s ease;
}
.rc-cover img:hover { transform: rotate(0) scale(1.02); }

.rc-card {
	border: 1px solid rgba(255, 255, 255, .1);
	background: linear-gradient(160deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .02));
	transition: border-color .25s ease, transform .25s ease;
}
.rc-card:hover { border-color: var(--wp--preset--color--pink); transform: translateY(-3px); }

.wp-block-button__link { transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.wp-block-button__link:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 30px -8px rgba(255, 0, 150, .7);
}
.is-style-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--pink) !important; color: #fff !important;
}

.rc-video .wp-block-embed__wrapper iframe { border-radius: 16px; }
.rc-video { margin: 0; }

.rc-mail a {
	font-family: var(--wp--preset--font-family--display);
	text-decoration: none; word-break: break-word;
}
.rc-mail a:hover { color: var(--wp--preset--color--pink); }

/* ---------- Formular (Contact Form 7) ---------- */
.wpcf7 label { display: block; font-weight: 600; margin-bottom: 1rem; }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 textarea {
	width: 100%; box-sizing: border-box; margin-top: .4rem;
	padding: .9rem 1rem; border-radius: 12px;
	border: 1px solid rgba(255, 255, 255, .18);
	background: rgba(255, 255, 255, .05); color: #fff; font: inherit;
}
.wpcf7 input:focus, .wpcf7 textarea:focus {
	outline: none; border-color: var(--wp--preset--color--pink);
	box-shadow: 0 0 0 3px rgba(255, 0, 150, .25);
}
.wpcf7 input[type="submit"] {
	background: var(--wp--preset--color--pink); color: #fff; border: 0;
	padding: .9rem 2rem; border-radius: 999px; font-weight: 800;
	letter-spacing: .02em; cursor: pointer;
}
.wpcf7 input[type="submit"]:hover { box-shadow: 0 10px 30px -8px rgba(255, 0, 150, .7); }

/* ---------- Instagram-Feed ---------- */
#sb_instagram .sbi_photo { border-radius: 12px; overflow: hidden; }

/* ---------- Footer ---------- */
.rc-footer { border-top: 1px solid rgba(255, 255, 255, .08); }
.rc-footer a { text-decoration: none; }
.rc-footer a:hover { color: var(--wp--preset--color--pink); }

/* ---------- Bewegung reduzieren, wenn gewünscht ---------- */
@media (prefers-reduced-motion: reduce) {
	.rc-ticker p { animation: none; }
	* { transition: none !important; }
}

/* ---------- Impressum / Rechtstexte ---------- */
.rc-legal h2, .rc-legal h3, .rc-legal h4 {
	font-family: var(--wp--preset--font-family--text);
	text-transform: none; font-weight: 800; letter-spacing: 0;
	margin-top: 2.2rem;
}
.rc-legal h2 { font-size: 1.75rem; color: var(--wp--preset--color--pink); }
.rc-legal h3 { font-size: 1.3rem; }
.rc-legal h4 { font-size: 1.05rem; color: var(--wp--preset--color--pink-hell); }
.rc-legal p, .rc-legal li { color: #ddd3e2; }

/* ---------- Listen, Zitat, Galerie (EPK) ---------- */
.rc-list { list-style: none; padding-left: 0; }
.rc-list li { padding: .55rem 0; border-bottom: 1px solid rgba(255, 255, 255, .08); }
.rc-list li::before { content: "✦"; color: var(--wp--preset--color--pink); margin-right: .6rem; }
.rc-quote { border: 0 !important; padding: 2rem 0 !important; }
.rc-quote blockquote p {
	font-family: var(--wp--preset--font-family--display) !important;
	font-size: clamp(1.6rem, 4vw, 2.6rem) !important; line-height: 1.15;
}
.rc-quote cite { color: var(--wp--preset--color--pink); font-style: normal; letter-spacing: .05em; }
.wp-block-gallery .wp-block-image img { border-radius: 14px; transition: transform .3s ease, filter .3s ease; }
.wp-block-gallery .wp-block-image:hover img { transform: scale(1.03); filter: saturate(1.2); }
p.rc-pink-text { color: var(--wp--preset--color--pink) !important; }
.rc-eyebrow.has-text-align-center { display: table; margin-inline: auto !important; }
.rc-ticker { overflow: hidden; }
body { overflow-x: hidden; }

/* Spam-Schutz: Adresse steht rückwärts im Quelltext und wird hier richtig herum angezeigt */
.rc-rev { unicode-bidi: bidi-override; direction: rtl; }
.rc-card .rc-mail { font-size: clamp(1rem, 1.5vw, 1.3rem) !important; }
.rc-mail a { word-break: normal; overflow-wrap: anywhere; }

/* ---------- Passwort-Formular ---------- */
.rc-passwort { max-width: 520px; margin: 2rem auto; text-align: center; }
.rc-passwort-herz { font-size: 3rem; margin: 0; }
.rc-passwort label { display: block; font-weight: 600; margin-bottom: .5rem; }
.rc-passwort input[type="password"] {
	width: 100%; box-sizing: border-box; padding: .9rem 1rem; border-radius: 12px; margin-bottom: 1rem;
	border: 1px solid rgba(255, 255, 255, .18); background: rgba(255, 255, 255, .05); color: #fff; font: inherit; text-align: center;
}
.rc-passwort input[type="password"]:focus { outline: none; border-color: var(--wp--preset--color--pink); box-shadow: 0 0 0 3px rgba(255, 0, 150, .25); }
.rc-passwort input[type="submit"] {
	background: var(--wp--preset--color--pink); color: #fff; border: 0; padding: .9rem 2rem;
	border-radius: 999px; font-weight: 800; cursor: pointer; font: inherit; font-weight: 800;
}

/* ---------- Foto-Seiten ---------- */
.rc-foto img { border-radius: 16px; }
.rc-herz-trenner.is-style-dots::before { content: "❤ ❤ ❤"; color: var(--wp--preset--color--pink); letter-spacing: 1em; font-size: 1rem; }
.rc-herz-trenner { margin-block: 3rem !important; border: 0; background: none; }
