/* =========================================================================
   OSCAR in Bad Godesberg – Design-System (Block-Theme auf Basis Blueprint)
   Werte aus dem Elementor-Bestand: Anthrazit #534C4C, Grau #D6D6D6,
   Grün #87AE33, Dunkel #2B2B2B. Überschriften Bodoni 600, Text Montserrat,
   Speisekarte Helvetica Neue (wie im alten Theme).
   ========================================================================= */

:root { --oscar-header-h: 136px; --oscar-ease: cubic-bezier(.075, .82, .165, 1); }
@media (max-width: 1024px) { :root { --oscar-header-h: 130px; } }
@media (max-width: 767px) { :root, body { --wp--style--root--padding-left: 10px; --wp--style--root--padding-right: 10px; } }
/* Blueprint-Slider setzt width:100%, das verträgt sich nicht mit alignfull (negative Ränder) */
.wk-query-slider.alignfull { width: auto; max-width: none; }
body { -webkit-font-smoothing: antialiased; }
p { margin: 0; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--wp--preset--color--gruen); outline-offset: 3px; }
main > .wp-block-post-content > * { margin-top: 0 !important; margin-bottom: 0 !important; }
.wp-block-heading { margin: 0; }

/* Header ------------------------------------------------------------------ */
.site-header { position: relative; z-index: 50; }
/* Hero schließt direkt an die Header-Linie an (kein Block-Abstand zwischen Header und Inhalt) */
.wp-site-blocks > main { margin-top: 0 !important; }
.oscar-header { padding: 20px var(--wp--style--root--padding-right) 30px var(--wp--style--root--padding-left) !important; border-bottom: 1px solid var(--wp--preset--color--grau); }
@media (max-width: 1024px) { .oscar-header { padding-bottom: 24px !important; } }
/* Startseite: Header liegt über dem Hero-Slider */
.home .site-header { position: absolute; top: 0; left: 0; right: 0; }
.admin-bar.home .site-header { top: var(--wp-admin--admin-bar--height, 32px); }

/* Kicker (Linie – Text – Linie) und Karten-Rubrik ------------------------- */
.is-style-kicker { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 0 auto !important;
	font-family: var(--wp--preset--font-family--bodoni) !important; font-size: 17px !important; font-weight: 600; line-height: 1.2 !important; letter-spacing: 2.1px;
	color: var(--wp--preset--color--gruen) !important; text-align: center; }
.is-style-kicker::before, .is-style-kicker::after { content: ""; flex: 0 0 50px; height: 2px; background: var(--wp--preset--color--gruen); }
.is-style-kicker::before { margin-right: 13px; }
.is-style-kicker::after { margin-left: 13px; }
@media (max-width: 767px) { .is-style-kicker { font-size: 4.5vw !important; } }

.wp-block-heading.is-style-rubrik { display: grid; grid-template-columns: 1fr 170px 1fr; align-items: center; margin: 0; padding: 0; min-height: 32px;
	font-family: var(--wp--preset--font-family--bodoni); font-size: 17px; font-weight: 600; line-height: 1.2; letter-spacing: 2.1px; color: var(--wp--preset--color--gruen); text-align: center; text-transform: none; }
.wp-block-heading.is-style-rubrik::before, .wp-block-heading.is-style-rubrik::after { content: ""; height: 2px; background: var(--wp--preset--color--gruen); }
@media (max-width: 767px) { .wp-block-heading.is-style-rubrik { grid-template-columns: 1fr minmax(0, auto) 1fr; column-gap: 20px; font-size: 4.5vw; } }

/* Titel ------------------------------------------------------------------- */
.has-h-1-font-size { line-height: 1.2; }
@media (max-width: 767px) { .has-h-1-font-size { font-size: 10vw !important; line-height: 1.4 !important; } }
.oscar-narrow { max-width: 860px; margin-left: auto !important; margin-right: auto !important; }
/* Abstände wie im Elementor-Bestand (Widgets ohne Standardabstand, Überschriften 10px oben, Text 20px) */
.oscar-stack > *, .oscar-inner > *, .oscar-info > *, .oscar-hinweis > * { margin-top: 0 !important; margin-bottom: 0 !important; }
.oscar-stack > .is-style-kicker { min-height: 32px; }
.oscar-stack > * + .wp-block-heading { margin-top: 10px !important; }
.oscar-stack > .wp-block-heading + p, .oscar-stack > p + p { margin-top: 20px !important; }
.oscar-stack > .wp-block-columns { margin-top: 30px !important; }
.oscar-stack > .wp-block-image { margin-top: 30px !important; }

/* Abschnitte -------------------------------------------------------------- */
.oscar-section { padding-top: 0; padding-bottom: 0; }
.oscar-pt-50 { padding-top: 50px !important; } .oscar-pt-70 { padding-top: 70px !important; } .oscar-pt-100 { padding-top: 100px !important; }
.oscar-pb-50 { padding-bottom: 50px !important; } .oscar-pb-60 { padding-bottom: 60px !important; } .oscar-pb-100 { padding-bottom: 100px !important; }
@media (max-width: 767px) { .oscar-pt-100, .oscar-pt-70 { padding-top: 30px !important; } .oscar-pt-50 { padding-top: 30px !important; } }
.oscar-cols.wp-block-columns { margin: 0; gap: 0 !important; }
@media (max-width: 1024px) { .oscar-cols.wp-block-columns { flex-wrap: wrap !important; } .oscar-cols > .wp-block-column { flex-basis: 100% !important; } }

/* Text --------------------------------------------------------------------- */
.oscar-lead { padding: 0 100px; }
@media (max-width: 767px) { .oscar-lead { padding: 0; font-size: 3.7vw; } }
.wp-block-post-content p { line-height: 2.1; }

/* Buttons ------------------------------------------------------------------ */
.wp-block-button__link { border-radius: 0; transition: background-color .2s ease; }
.wp-block-buttons { gap: 0; }
.wp-block-buttons > .oscar-btn-362, .oscar-btn-362 { width: 362px; max-width: 100%; }
.wp-block-buttons > .oscar-btn-440, .oscar-btn-440 { width: 440px; max-width: 100%; }
.oscar-btn-362 .wp-block-button__link, .oscar-btn-440 .wp-block-button__link { width: 100%; padding-left: 0; padding-right: 0; }
.oscar-stack > .wp-block-buttons, .oscar-inner > .wp-block-buttons, .wp-block-cover .wp-block-buttons { margin-top: 30px !important; }
@media (max-width: 767px) { .wp-block-button__link { font-size: 4vw; } .oscar-btn-362, .oscar-btn-440 { width: 100%; } }

/* Button-Leiste unter dem Hero (Startseite) */
.oscar-leiste .wp-block-buttons.is-style-leiste { display: flex; flex-wrap: nowrap; gap: 0; }
.wp-block-buttons.is-style-leiste > .wp-block-button { flex: 1 1 33.33%; width: auto; }
.wp-block-buttons.is-style-leiste .wp-block-button__link { width: 100%; padding: 25px 0; }
.wp-block-buttons.is-style-leiste > .wp-block-button + .wp-block-button .wp-block-button__link { border-left: 1px solid var(--wp--preset--color--anthrazit); }
@media (max-width: 767px) {
	.oscar-leiste .wp-block-buttons.is-style-leiste { flex-direction: column; }
	.wp-block-buttons.is-style-leiste > .wp-block-button { width: 100%; flex-basis: auto; }
	.wp-block-buttons.is-style-leiste > .wp-block-button + .wp-block-button .wp-block-button__link { border-left: 0; border-top: 1px solid var(--wp--preset--color--anthrazit); }
	.wp-block-buttons.is-style-leiste .wp-block-button__link { padding: 25px 30px; line-height: 1.4; }
}

/* Karten-Übersicht (Block oscar/karten) */
.oscar-karten { list-style: none; margin: 30px auto 0 !important; padding: 0; display: flex; flex-direction: column; gap: 21px; }
.oscar-karten .wp-block-button__link, .oscar-karten__link { display: block; width: 100%; text-align: center; padding: 25px 0; }

/* Hero / Cover ------------------------------------------------------------- */
.wp-block-cover > .wp-block-cover__background, .wp-block-cover > .wp-block-cover__image-background { max-width: none !important; margin: 0 !important; }
@keyframes oscarFadeUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
.oscar-hero-title { animation: oscarFadeUp .9s cubic-bezier(.2, .7, .2, 1) .15s both; }
@media (prefers-reduced-motion: reduce) { .oscar-hero-title { animation: none; } }
.wp-block-cover.is-style-hero { padding: 0; }
.oscar-hero-title { font-family: var(--wp--preset--font-family--bodoni); font-size: 50px !important; font-weight: 600; line-height: 1.2; color: var(--wp--preset--color--grau); }
@media (max-width: 767px) { .oscar-hero-title { font-size: 10vw !important; } }
.oscar-karte-hero { min-height: 484px !important; }
@media (max-width: 767px) { .oscar-karte-hero, .wp-block-cover.is-style-hero { min-height: 345px !important; } }
.oscar-hero-slider { margin: 0 !important; }
.oscar-hero-slider > .wp-block-cover.swiper-slide { display: flex !important; align-items: center; justify-content: center; }
.oscar-hero-slider .wp-block-cover { min-height: calc(105vh - 34px) !important; }
@media (max-width: 767px) { .oscar-hero-slider .wp-block-cover { min-height: 90vh !important; } }
.wp-block-cover.is-style-band { min-height: 519px; margin-top: 100px !important; }
@media (max-width: 767px) { .wp-block-cover.is-style-band { min-height: 66vh !important; } }
.wp-block-cover.is-style-band .wp-block-cover__image-background { transform: translateZ(0); }

.wp-block-cover .wp-block-heading, .wp-block-cover p { color: var(--wp--preset--color--grau); }

/* Karussells (Startseite) */
.oscar-carousel { margin-top: 20px !important; }
.oscar-carousel img { width: 100%; height: 450px; object-fit: contain; display: block; }
@media (max-width: 767px) { .oscar-carousel img { height: 48vh; } }
.oscar-carousel .swiper-pagination-bullet, .oscar-reviews .swiper-pagination-bullet { background: var(--wp--preset--color--gruen) !important; border-radius: 0; width: 20px; height: 3px; opacity: .6; }
.oscar-carousel .swiper-pagination-bullet-active, .oscar-reviews .swiper-pagination-bullet-active { opacity: 1; }

/* Bewertungen */
.oscar-reviews { margin-top: 30px !important; }
.oscar-review__name { font-family: var(--wp--preset--font-family--montserrat); font-size: 18px; font-weight: 500; line-height: 1.2; letter-spacing: 2px; text-transform: uppercase; }
.oscar-review__text { font-size: 15px; line-height: 2.1; margin-top: 20px !important; }
@media (max-width: 767px) { .oscar-review__name { font-size: 5.3vw; } }

/* Speisekarte -------------------------------------------------------------- */
.oscar-rubrik { padding-right: 25px; }
.oscar-cols > .wp-block-column + .wp-block-column .oscar-rubrik { padding-right: 0; padding-left: 25px; }
.oscar-rubrik { padding-bottom: 80px; }
main > .wp-block-post-content, main > .wp-block-cover { margin-top: 0 !important; margin-bottom: 0 !important; }
@media (max-width: 1024px) { .oscar-rubrik, .oscar-cols > .wp-block-column + .wp-block-column .oscar-rubrik { padding-left: 0; padding-right: 0; } }
.oscar-gericht { display: flex; flex-wrap: wrap; align-items: baseline; margin-top: 30px; font-family: var(--wp--preset--font-family--helvetica); color: var(--wp--preset--color--grau); }
.oscar-gericht__name { flex: 0 0 90%; margin: 0; padding: 0 0 10px; font-family: var(--wp--preset--font-family--helvetica) !important; font-size: 20px; font-weight: 500; line-height: 1.2; color: var(--wp--preset--color--grau); }
.oscar-gericht__preis { flex: 0 0 10%; padding: 0 0 10px; font-size: 15px; font-weight: 500; line-height: 1.2; text-align: right; }
.oscar-gericht__zutaten { flex: 0 0 100%; margin: 0; font-size: 12px; font-weight: 400; line-height: 1.7 !important; }

/* Haken-Liste (Jobs) */
ul.is-style-haken { list-style: none; padding: 0; margin: 20px 0 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 30px; }
.oscar-inner > ul.is-style-haken + ul.is-style-haken { margin-top: 20px !important; }
ul.is-style-haken li { position: relative; padding-left: 30px; }
ul.is-style-haken li::before { content: ""; position: absolute; left: 0; top: .55em; width: 16px; height: 12px; background: var(--wp--preset--color--gruen);
	-webkit-mask: url("../svg/check.svg") no-repeat center / contain; mask: url("../svg/check.svg") no-repeat center / contain; }

/* Reservieren: Hinweis-Box und Info-Spalte */
.oscar-hinweis { padding: 30px 40px !important; }
.oscar-hinweis .wp-block-heading, .oscar-info .oscar-hinweis .wp-block-heading { color: var(--wp--preset--color--anthrazit); font-size: 27px; }
.oscar-hinweis p { color: var(--wp--preset--color--anthrazit); }
.oscar-hinweis p { margin-top: 20px !important; }
.oscar-info > * + * { margin-top: 30px !important; }
.oscar-info .wp-block-heading { font-size: 27px; color: var(--wp--preset--color--grau); margin-bottom: 15px; }
.oscar-info .oscar-zeiten { font-size: 15px; }
.oscar-cols > .wp-block-column.oscar-info { padding-left: 40px; }
@media (max-width: 1024px) { .oscar-cols > .wp-block-column.oscar-info { padding-left: 0; margin-top: 40px; } }

/* Galerie */
.oscar-galerie { margin-top: 30px !important; gap: 10px !important; }

/* Logos / Zahlungsarten */
.oscar-logos { gap: 40px !important; align-items: center; justify-content: center; }
.oscar-logos .wp-block-image { margin: 0; }
.oscar-logos img { height: 30px; width: auto; }

/* Zeiten / Kontakt (synchronisierte Muster) */
.oscar-zeiten { font-size: 13px; line-height: 2.1; margin-bottom: 20px !important; }
.oscar-zeiten a { color: inherit; }
h4.wp-block-heading { font-size: 22px; line-height: 1.2; margin-bottom: 15px; color: var(--wp--preset--color--gruen); }

/* Footer ------------------------------------------------------------------- */
.site-footer { margin-top: 100px; }
.oscar-footer { padding-top: 0; padding-bottom: 60px; }
.oscar-partner { padding: 40px 0; border-bottom: 1px solid var(--wp--preset--color--grau); margin-bottom: 20px; }
/* Laufband: gleich breite Felder wie das alte Karussell, Logos darin eingepasst */
.oscar-partner > .swiper-slide { width: 200px !important; display: flex; align-items: center; justify-content: center; height: 80px; margin: 0; }
.oscar-partner img { max-height: 60px; max-width: 150px; width: auto; height: auto; object-fit: contain; margin: 0 auto; display: block; opacity: .8; }
.wk-query-slider[data-wk-slider-marquee] .oscar-partner { transition-timing-function: linear !important; }
@media (max-width: 767px) { .oscar-partner > .swiper-slide { width: 140px !important; } .oscar-partner img { max-width: 110px; max-height: 45px; } }
.oscar-footer__cols { padding-top: 20px; }
.oscar-footer .wp-block-column { font-size: 13px; }
.oscar-social { font-size: 13px; font-weight: 600; text-transform: uppercase; }
.oscar-footer-navs { display: grid !important; grid-template-columns: 113px auto !important; gap: 0 !important; }
.oscar-footer-nav { list-style: none; margin: 0; padding: 0; font-size: 13px; line-height: 2.1; }
.oscar-footer-nav a { text-decoration: none; }
.oscar-footer-nav a:hover, .oscar-social a:hover { color: var(--wp--preset--color--gruen); }
.oscar-footer__pay { margin-top: 40px !important; }

/* Popups -------------------------------------------------------------------- */
.oscar-popup-overlay { background: rgba(43, 43, 43, .8); }
.oscar-popup-card { background: var(--wp--preset--color--anthrazit) !important; color: var(--wp--preset--color--grau); border-radius: 0 !important; max-width: 860px; padding: 50px 40px; }
.oscar-popup-content { max-height: calc(100vh - 160px); text-align: center; scrollbar-width: none; }
.oscar-popup-content::-webkit-scrollbar { display: none; }
.oscar-popup-close circle { fill: var(--wp--preset--color--grau); }
.oscar-popup-close path { fill: var(--wp--preset--color--anthrazit); }
.oscar-popup-content .wp-block-columns { gap: 40px; margin: 0; }
.oscar-popup-content .oscar-zeiten { margin-bottom: 12px !important; }
.oscar-popup-content .wp-block-buttons { margin-top: 20px; }
@media (max-width: 767px) { .oscar-popup-card { padding: 40px 20px; } }

/* Editor */
.editor-styles-wrapper .oscar-hero-slider { min-height: 300px; }
