/************************************************************************************
*
* Theme Name: 		Web Theme 
* Theme URI:		https://www.eventcatering-ulm.de
* Description: 		Custom Website mit WordPress. Für Flotte Lotte GmbH - Landingpage
* Author:			Flotte Lotte GmbH
* Author URI:		https://www.eventcatering-ulm.de
* Version:			1.0
* License:          Philipp Lindermeir
* License URI:      https://philipplindermeir.design
*
************************************************************************************/

@charset "UTF-8";

/* ============================================================
   WordPress native Editor
   ============================================================ */

/* Layout LegaL
-------------------------------------------------------------- */

.content-builder__legal > :where(:not(:last-child)) {
  margin-block-end: 1rem;
}

.content-builder__legal h2 {
     font-size: var(--fs-title);
    margin-block-start: 2.25rem;
    margin-block-end: 1rem;
}
.content-builder__legal h3 {
    font-size: var(--fs-subtitle);
     margin-block-end: .75rem;
}

.content-builder__legal h4 {
    font-size: var(--fs-lead);
     margin-block-end: .5rem;
}

.content-builder__legal p {
}
    

.content-builder__legal h3 + p,
.content-builder__legal h4 + p {
  margin-block-end: 3rem;
}

.content-builder__legal ul.has-list-style,
.content-builder__legal ol.has-list-style {
    list-style-position: outside;
    padding-inline-start: 1.5rem;
}

.content-builder__legal ul.has-list-style {
    list-style-type: disc;
}

.content-builder__legal ol.has-list-style {
    list-style-type: decimal;
}

.content-builder__legal .has-list-style li::marker {
    color: var(--accent-clr-400);
}

.wp-block-separator {
    width: 100%;
    border-top: 1px solid;
    display: block;
    margin-block: 2rem;
}

/* Fettdruck / Kursiv — meist implizit, aber manchmal nötig */
.content-builder__legal strong { font-weight: 700; }
.content-builder__legal em { font-style: italic; }

/* Links */
.content-builder__legal a { color: var(--accent-clr-400); text-decoration: underline; }
.content-builder__legal a:hover { opacity: 0.8; }

/* Verschachtelte Listen */
.content-builder__legal ul ul,
.content-builder__legal ol ol { 
  padding-inline-start: 1.5rem; 
  margin-block-start: 0.5rem;
}

/* wp-block-table (falls Tabellen im Legal-Text vorkommen) */
.content-builder__legal table { width: 100%; border-collapse: collapse; }
.content-builder__legal td, 
.content-builder__legal th { padding: 0.5rem; border: 1px solid; }

/* Layout Content Builder
-------------------------------------------------------------- */

.content-builder__content > :where(:not(:last-child)) {
  margin-block-end: 1rem; /* gleicher :where()-Trick wie bei Legal */
}

.content-builder__content h2 { font-size: var(--fs-title); }
.content-builder__content h3 { font-size: var(--fs-subtitle); }
.content-builder__content h4 { font-size: var(--fs-lead); }

.content-builder__content strong { font-weight: 700; }
.content-builder__content em { font-style: italic; }

.content-builder__content a {
  color: var(--accent-clr-400);
  text-decoration: underline;
}

.content-builder__content .wp-block-image img {
	border-radius: 1rem;
}

/* Quote */
.content-builder__content blockquote {
  border-inline-start: 4px solid var(--accent-clr-400);
  padding-inline-start: 1.5rem;
  font-style: italic;
  color: var(--color-muted);
}

/* Code / Preformatted */
.content-builder__content pre,
.content-builder__content code {
  background: var(--color-surface);
  border-radius: 0.5rem;
  padding: 0.2em 0.4em;
  font-family: monospace;
  font-size: 0.9em;
}
.content-builder__content pre code {
  display: block;
  padding: 1rem;
  overflow-x: auto;
}

/* Separator */
.content-builder__content .wp-block-separator {
  width: 100%;
  border-top: 1px solid var(--color-border);
  margin-block: 2rem;
}

/* Columns */
.content-builder__content .wp-block-columns {
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
}
.content-builder__content .wp-block-column {
  flex: 1 1 min(100%, 280px);
}

/* Button */

.wp-block-button__link {
  min-width: 240px;
  min-height: 44px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  position: relative;
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: 1;
  padding-block: 0.75em;
  padding-inline: 1em;
  cursor: pointer;
  text-decoration: none;
  border-radius: 0.5rem;
  transition: background-color 0.2s ease-in-out; /* ← gehört hierher */
}

/* Hover nur für Maus-Geräte */
@media (hover: hover) and (pointer: fine) {
  .wp-block-button__link:hover {
    background-color: var(--accent-clr-400);
    color: var(--theme-clr-900);
  }
}

.wp-block-button.is-style-outline .wp-block-button__link {
  background-color: transparent;
  border: 2px solid currentColor;
}

@media (hover: hover) and (pointer: fine) {
  .wp-block-button.is-style-outline .wp-block-button__link:hover {
    background-color: var(--accent-clr-200);
    border-color: var(--accent-clr-200);
    color: var(--theme-clr-100);
  }
}

/* ==================================================
   Speisekarte
   ================================================== */

.speisekarte-hero {
    position: relative;
	margin-block: var(--space-30);
	overflow: hidden;
}

.speisekarte-hero img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
	object-position: center center;
    transition: transform .6s ease;
}

.speisekarte-hero:hover img {
	transform: scale(1.03);
}

.speisekarte-item {
	padding-block: var(--space-10);
	border-bottom: 1px solid rgba(255,255,255,.08);
	gap: var(--space-5);
}

.speisekarte-item:last-child {
	border-bottom: 0;
}

.speisekarte-item__header {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: var(--space-10);
}

.speisekarte-item__header h2,
.speisekarte-item__header h3,
.speisekarte-item__header h4 {
	margin: 0;
}

.speisekarte-item__price {
	margin: 0;
	white-space: nowrap;
	font-weight: 600;
	color: var(--accent-clr-200);
}

.speisekarte-item > p:last-child {
	margin-bottom: 0;
	opacity: .8;
}

.wp-block-details {
	border-bottom: 1px solid rgba(255,255,255,.08);
	padding-block: var(--space-20);
}

.wp-block-details summary {
    display: flex;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
	list-style: none;
	font-family: var(--font-heading);
		font-size: var(--fs-400);
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--accent-clr-200);
	padding-block: var(--space-5);
	transition: color .2s ease;
}

.wp-block-details summary:hover {
	color: var(--accent-clr-400);
}

.wp-block-details[open] summary::after {
	transform: rotate(180deg);
}

.wp-block-details summary::-webkit-details-marker {
	display: none;
}

.wp-block-details summary::after {
	content: "";
	width: 1.5rem;
	height: 1.5rem;
	flex-shrink: 0;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23F9FAF0' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	transition: transform .35s cubic-bezier(.4,0,.2,1);
}


/* Table */
.content-builder__content table {
  width: 100%;
  border-collapse: collapse;
}
.content-builder__content th,
.content-builder__content td {
  padding: 0.75rem;
  border: 1px solid var(--color-border);
  text-align: left;
}
.content-builder__content th {
  background: var(--color-surface);
  font-weight: 700;
}

/* Cover Block */
.wp-block-cover { border-radius: 1rem; overflow: hidden; }

/* Group Block mit Hintergrund */
.wp-block-group.has-background { padding: 2rem; border-radius: 1rem; }

/* Pullquote */
.wp-block-pullquote {
  text-align: center;
  border-block: 2px solid var(--accent-clr-400);
  padding-block: 1.5rem;
}

/* Video / Embed */
.content-builder__content .wp-block-embed__wrapper {
  aspect-ratio: 16 / 9;
}
.content-builder__content .wp-block-embed__wrapper iframe {
  width: 100%;
  height: 100%;
  border-radius: 1rem;
}

/* ==================================================
   Kontaktseite
   ================================================== */

.is-layout-40-60 {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-20);
}

.is-layout-40-60 > .wp-block-column:first-child {
	flex: 0 0 40%;
}

.is-layout-40-60 > .wp-block-column:last-child {
	flex: 1;
}

@media (max-width: 48rem) {
	.is-layout-40-60 > .wp-block-column {
		flex: 1 1 100%;
	}
}