/* GuenstigReisen 2026 – ergänzende Styles (Basis kommt aus theme.json) */

:root {
	--gr-radius: 14px;
	--gr-radius-s: 8px;
	--gr-shadow: var(--wp--preset--shadow--card);
	--gr-shadow-lift: var(--wp--preset--shadow--lift);
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { height: auto; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }

/* ---------- Header ---------- */
.gr-site-header { position: sticky; top: 0; z-index: 50; }
.admin-bar .gr-site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .gr-site-header { top: 46px; } }
.gr-header { box-shadow: 0 2px 18px rgba(0,0,0,.18); }
.gr-logo { display: inline-flex; align-items: center; line-height: 0; }
.gr-logo img { width: clamp(170px, 22vw, 244px); height: auto; }
.gr-header .wp-block-navigation a { text-decoration: none; }
.gr-header .wp-block-navigation-item__content:hover,
.gr-header .wp-block-navigation-item__content:focus { color: var(--wp--preset--color--accent); }
.gr-header .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--base) !important;
	color: var(--wp--preset--color--contrast) !important;
	border: 0 !important;
	border-radius: var(--gr-radius-s);
	box-shadow: var(--gr-shadow-lift);
	padding: .4rem 0;
	min-width: 230px !important;
	text-transform: none;
	letter-spacing: 0;
	font-family: var(--wp--preset--font-family--body);
	font-weight: 500;
	font-size: 1rem;
}
.gr-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .45rem 1.1rem !important; }
.gr-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--primary); }
.gr-header .wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem; }
.gr-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	background: transparent !important; color: inherit !important; box-shadow: none; padding-left: 1rem;
}
@media (max-width: 599px) { .gr-header__cta { display: none; } }

/* ---------- Seitenkopf ---------- */
.gr-pagehead { border-bottom: 1px solid var(--wp--preset--color--border); }
.gr-pagehead .wp-block-post-title, .gr-pagehead h1 { margin-top: 0; }
.gr-meta a { color: var(--wp--preset--color--primary); text-decoration: none; font-weight: 600; }
.gr-meta p { margin: 0; }
.gr-meta > * + *::before { content: "·"; margin-right: .75rem; color: var(--wp--preset--color--muted); }
.wp-block-post-featured-image img { border-radius: var(--gr-radius); }

/* ---------- Hero ---------- */
.gr-hero { position: relative; overflow: hidden; }
.gr-hero::after {
	content: ""; position: absolute; inset: auto -10% -60% auto; width: 60vw; height: 60vw; max-width: 760px; max-height: 760px;
	background: radial-gradient(circle, rgba(255,168,1,.28) 0%, rgba(255,168,1,0) 65%); pointer-events: none;
}
.gr-hero > * { position: relative; z-index: 1; }
.gr-eyebrow {
	display: block; font-family: var(--wp--preset--font-family--heading); font-weight: 700; letter-spacing: .12em;
	text-transform: uppercase; font-size: .95rem; color: var(--wp--preset--color--accent);
}

/* ---------- IBE-Container ---------- */
.gr-ibe-wrap {
	background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast);
	border-radius: var(--gr-radius); box-shadow: var(--gr-shadow-lift); padding: clamp(.5rem, 2vw, 1.25rem);
}
.gr-ibe { min-height: 280px; font-family: var(--wp--preset--font-family--body); }
.gr-ibe .tbe-loading { min-height: 240px; }
.gr-ibe a { text-decoration: none; }

/* ---------- Karten ---------- */
.gr-card {
	background: var(--wp--preset--color--base); border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--gr-radius); overflow: hidden; height: 100%; display: flex; flex-direction: column;
	transition: transform .2s ease, box-shadow .2s ease;
}
.gr-card:hover { transform: translateY(-3px); box-shadow: var(--gr-shadow-lift); }
.gr-card__img { margin: 0 !important; }
.gr-card__img img { border-radius: 0 !important; }
.gr-card__body { padding: 1.1rem 1.25rem 1.3rem; display: flex; flex-direction: column; gap: .5rem; }
.gr-card__body > * { margin: 0 !important; }
.gr-card .wp-block-post-title a { text-decoration: none; color: var(--wp--preset--color--ink); }
.gr-card .wp-block-post-title a:hover { color: var(--wp--preset--color--primary); }
.gr-card .wp-block-post-excerpt__excerpt { margin: 0; color: var(--wp--preset--color--muted); }
/* Beiträge ohne Bild: dekorativer Platzhalter */
.gr-card:not(:has(.wp-block-post-featured-image))::before {
	content: ""; display: block; aspect-ratio: 3/1; background: var(--wp--preset--gradient--ocean); opacity: .9;
}
.is-style-gr-card { background: var(--wp--preset--color--base); border: 1px solid var(--wp--preset--color--border); border-radius: var(--gr-radius); padding: 1.5rem; box-shadow: var(--gr-shadow); }

/* ---------- Reiseziel-Kacheln ---------- */
.wp-block-cover.is-style-gr-tile {
	border-radius: var(--gr-radius); overflow: hidden; min-height: 230px !important; padding: 1.25rem 1.4rem;
	align-items: flex-end; transition: transform .25s ease, box-shadow .25s ease; box-shadow: var(--gr-shadow);
}
.wp-block-cover.is-style-gr-tile:hover { transform: translateY(-4px); box-shadow: var(--gr-shadow-lift); }
.wp-block-cover.is-style-gr-tile .wp-block-cover__inner-container { width: 100%; }
.wp-block-cover.is-style-gr-tile h3 { margin: 0; color: #fff; font-size: clamp(1.6rem, 2.4vw, 2rem); }
.wp-block-cover.is-style-gr-tile p { margin: .2rem 0 0; color: rgba(255,255,255,.92); font-size: .98rem; line-height: 1.4; }
.wp-block-cover.is-style-gr-tile a { color: inherit; text-decoration: none; }
.wp-block-cover.is-style-gr-tile a::after { content: ""; position: absolute; inset: 0; z-index: 2; } /* ganze Kachel klickbar */
.wp-block-cover.is-style-gr-tile .gr-tile__tag {
	display: inline-block; margin-bottom: .5rem; padding: .15rem .6rem; border-radius: 999px;
	background: rgba(255,255,255,.2); backdrop-filter: blur(4px); font-size: .8rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase;
}

/* ---------- Buttons ---------- */
.wp-block-button__link { transition: background-color .15s ease, transform .15s ease; }
.wp-block-button__link:hover { transform: translateY(-1px); }
.wp-block-button.is-style-gr-ghost .wp-block-button__link {
	background: transparent; color: #fff; border: 2px solid rgba(255,255,255,.7);
}
.wp-block-button.is-style-gr-ghost .wp-block-button__link:hover { background: rgba(255,255,255,.12); border-color: #fff; }
.wp-block-button.is-style-outline .wp-block-button__link { border-width: 2px; color: var(--wp--preset--color--primary); }

/* ---------- Listen ---------- */
.is-style-gr-check { list-style: none; padding-left: 0; }
.is-style-gr-check li { position: relative; padding-left: 1.9rem; margin-bottom: .45rem; }
.is-style-gr-check li::before {
	content: ""; position: absolute; left: 0; top: .3em; width: 1.15rem; height: 1.15rem; border-radius: 50%;
	background: var(--wp--preset--color--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23082740' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/70% no-repeat;
}

/* ---------- Fakten-Leiste & Info-Boxen ---------- */
.gr-facts { border-radius: var(--gr-radius); }
.gr-facts .wp-block-column { border-left: 3px solid var(--wp--preset--color--accent); padding-left: 1rem; }
.gr-facts p { margin: 0; }
.gr-facts .gr-facts__label { font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; color: var(--wp--preset--color--muted); font-weight: 600; }
.gr-facts .gr-facts__value { font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: 1.35rem; color: var(--wp--preset--color--ink); line-height: 1.2; }
.gr-note { border-left: 4px solid var(--wp--preset--color--accent); border-radius: var(--gr-radius-s); }

/* ---------- Abgelaufener Deal (Blog) ---------- */
.gr-expired {
	background: var(--wp--preset--color--sand); border: 1px solid #f3d9a4; border-radius: var(--gr-radius-s);
	padding: 1rem 1.25rem; font-size: .98rem;
}
.gr-expired strong { color: var(--wp--preset--color--accent-dark); }

/* ---------- FAQ ---------- */
.wp-block-details { border-bottom: 1px solid var(--wp--preset--color--border); padding: .9rem 0; }
.wp-block-details summary { font-weight: 600; cursor: pointer; font-size: 1.08rem; color: var(--wp--preset--color--ink); }
.wp-block-details[open] summary { margin-bottom: .5rem; }

/* ---------- CTA ---------- */
.gr-cta { border-radius: var(--gr-radius); }

/* ---------- Footer ---------- */
.gr-footer a { color: rgba(255,255,255,.85); text-decoration: none; }
.gr-footer a:hover { color: var(--wp--preset--color--accent); }
.gr-footer p { color: rgba(255,255,255,.75); }
.gr-footer__list { list-style: none; padding: 0; margin: 0; }
.gr-footer__list li { margin: .35rem 0; }
.gr-footer__copy { margin-top: 1.5rem; }
.gr-footer .wp-block-separator { margin: 2.5rem 0 0; opacity: 1; border: 0; height: 1px; }

/* ---------- Blog-Altinhalte ---------- */
.gr-legacy-img { margin-inline: auto; }
.gr-legacy-img img { border-radius: var(--gr-radius-s); }

/* ---------- Pagination ---------- */
.wp-block-query-pagination { margin-top: var(--wp--preset--spacing--50); gap: .5rem; }
.wp-block-query-pagination-numbers .page-numbers {
	display: inline-flex; min-width: 2.4rem; height: 2.4rem; align-items: center; justify-content: center; border-radius: 999px; text-decoration: none;
}
.wp-block-query-pagination-numbers .page-numbers.current { background: var(--wp--preset--color--primary); color: #fff; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; scroll-behavior: auto !important; }
}

/* ---------- Eingebettete Partner-Formulare (iframe) ---------- */
.wp-block-post-content > iframe,
.wp-block-post-content .wp-block-html > iframe {
	display: block; width: 100%; max-width: var(--wp--style--global--content-size); margin-inline: auto; border: 0;
}

/* ---------- Foto-Overlays ---------- */
.wp-block-cover.is-style-gr-tile .wp-block-cover__image-background ~ .wp-block-cover__inner-container,
.wp-block-cover.is-style-gr-tile h3 { text-shadow: 0 1px 12px rgba(0,0,0,.35); }
.wp-block-cover.is-style-gr-tile:has(.wp-block-cover__image-background) .wp-block-cover__background {
	background: linear-gradient(to top, rgba(8,39,64,.9) 0%, rgba(8,39,64,.35) 55%, rgba(8,39,64,.05) 100%) !important; opacity: 1 !important;
}
.wp-block-cover.is-style-gr-tile .wp-block-cover__image-background { transition: transform .5s ease; }
.wp-block-cover.is-style-gr-tile:hover .wp-block-cover__image-background { transform: scale(1.05); }
.gr-hero-cover:has(.wp-block-cover__image-background) .wp-block-cover__background {
	background: linear-gradient(100deg, rgba(8,39,64,.88) 0%, rgba(8,39,64,.55) 55%, rgba(8,39,64,.15) 100%) !important; opacity: 1 !important;
}
.gr-hero-cover h1, .gr-hero-cover p { text-shadow: 0 1px 14px rgba(0,0,0,.25); }

/* ---------- Schnellfilter ---------- */
.gr-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1rem; }
.gr-chip {
	display: inline-flex; align-items: center; padding: .45rem 1rem; border-radius: 999px; text-decoration: none !important;
	border: 1.5px solid var(--wp--preset--color--border); background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--ink) !important; font-weight: 600; font-size: .95rem; transition: all .15s ease;
}
.gr-chip:hover { border-color: var(--wp--preset--color--primary); color: var(--wp--preset--color--primary) !important; }
.gr-chip.is-active { background: var(--wp--preset--color--primary); border-color: var(--wp--preset--color--primary); color: #fff !important; }

/* ---------- Kachel-Raster: größere Kacheln, keine Waisen ---------- */
.wp-block-cover.is-style-gr-tile { min-height: 300px !important; padding: 1.5rem 1.75rem; }
.wp-block-cover.is-style-gr-tile h3 { font-size: clamp(1.9rem, 2.8vw, 2.5rem); }
.wp-block-cover.is-style-gr-tile p { font-size: 1.05rem; }
@media (min-width: 1100px) {
	.gr-tiles > .wp-block-cover:last-child:nth-child(3n+1) { grid-column: 1 / -1; }
	.gr-tiles > .wp-block-cover:last-child:nth-child(3n+2) { grid-column: span 2; }
}

/* ---------- IBE: nur eine Reiseart anzeigen ([gr_ibe only="package|hotel|flight"]) ---------- */
.gr-ibe--only-package .tbe-switch__tab:nth-child(2),
.gr-ibe--only-package .tbe-switch__tab:nth-child(3),
.gr-ibe--only-hotel .tbe-switch__tab:nth-child(1),
.gr-ibe--only-hotel .tbe-switch__tab:nth-child(3),
.gr-ibe--only-flight .tbe-switch__tab:nth-child(1),
.gr-ibe--only-flight .tbe-switch__tab:nth-child(2) { display: none !important; }

/* ---------- Logo (Text + Icon) ---------- */
.gr-logo { gap: .55rem; text-decoration: none !important; line-height: 1 !important; }
.gr-logo__icon { width: clamp(30px, 3vw, 38px); height: auto; flex: none; }
.gr-logo__text { font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: clamp(1.55rem, 2.4vw, 2rem); letter-spacing: -.01em; white-space: nowrap; }
.gr-logo__a { color: #fff; }
.gr-logo__b { color: var(--wp--preset--color--accent); }
