/*
Theme Name: Landhaus Paul
Theme URI: https://landhaus-paul.at
Author: Landhaus Paul
Description: Individuelles WordPress-Theme für das Weingut Landhaus Paul (Gols am Neusiedlersee). Rendert das freigegebene Design (Standalone v3) 1:1 – inklusive Video-Hero, Weinkatalog mit Filter, Wein-Detailseiten, Region, Nachhaltigkeit, Über uns, Kontakt sowie Impressum & Datenschutz. Schriften werden lokal geladen (DSGVO-konform).
Version: 3.6.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: landhaus-paul
Tags: custom-logo, custom-menu, one-column, sticky-post, translation-ready
*/

/* ====================================================================
 * 0) WordPress-Grundlagen (Barrierefreiheit, unsichtbare Helfer)
 * ==================================================================== */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}
.skip-link.screen-reader-text:focus {
	background: #C08840;
	clip: auto;
	clip-path: none;
	color: #faf9f6;
	display: block;
	font-size: 14px;
	height: auto;
	left: 8px;
	line-height: normal;
	padding: 12px 20px;
	text-decoration: none;
	top: 8px;
	width: auto;
	z-index: 100000;
}

/* Links erben im Design die Farbe der Umgebung (das Referenz-Design
   arbeitet ohne unterstrichene Links – Hover-Zustände siehe unten). */
.lhp-page a { color: inherit; text-decoration: none; }

/* Der Burger-Button ist ein echtes <button>-Element */
button.lhp-burger { background: none; border: 0; font: inherit; color: inherit; }

/* Gefilterte Weinkarten */
.lhp-wcard.is-hidden { display: none !important; }

/* ====================================================================
 * 1) Hover-Zustände (entsprechen den style-hover-Angaben der Referenz)
 * ==================================================================== */
.lhp-a-nav:hover { color: #C08840 !important; }
.lhp-btn-gold:hover { background: #3c3c3b !important; color: #faf9f6 !important; }
.lhp-btn-dark:hover { background: #C08840 !important; color: #faf9f6 !important; }
.lhp-btn-darker:hover { background: #4a4842 !important; }
.lhp-btn-outline:hover { background: #C08840 !important; color: #faf9f6 !important; }
.lhp-hero-logobtn:hover { background: #3c3c3b !important; }
.lhp-link-gold:hover { border-color: #C08840 !important; }
.lhp-link-light:hover { border-color: #C08840 !important; }
.lhp-link-back:hover { color: #8f6f3a !important; }
.lhp-flink:hover { color: #C08840 !important; }
.lhp-toplink:hover { background: #3c3c3b !important; }
.lhp-toc-a:hover { color: #C08840 !important; }
.lhp-wcard:hover { transform: translateY(-7px) !important; box-shadow: 0 30px 54px -26px rgba(60,60,59,0.5) !important; }
.lhp-wimg:hover, .lhp-hwimg:hover { transform: scale(1.05) !important; }

/* Produkt-Panel im Intro (Startseite) – verlinkt auf „Unsere Weine“ */
.lhp-intro-products:hover .lhp-ip-cta { border-color: #C08840 !important; }
.lhp-intro-products:hover div img { transform: translateY(-5px); }

/* Auswahlfelder (Katalog-Filter, Formular): eigener Pfeil mit Abstand
   zum Rand statt des Browser-Pfeils direkt an der Kante. */
select.lhp-select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236f675c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
	background-size: 16px 16px !important;
	padding-right: 44px !important;
}
select.lhp-select::-ms-expand { display: none; }

/* Kontaktformular (breites 2-Spalten-Layout seit v3.6): unter 860 px
   einspaltig – Ergänzung, die Referenz-Regeln decken „1fr 1.7fr“ nicht
   ab. Das innere Felder-Raster (1fr 1fr) kollabiert bereits über die
   Referenz-Regel. */
@media (max-width: 860px) {
	[style*="grid-template-columns: 1fr 1.7fr"] { grid-template-columns: 1fr !important; }
	.lhp-form .g-recaptcha { max-width: 100%; overflow: hidden; }
}

/* <em> im Hero-Titel und im Intro-Statement (Customizer-Texte) */
.lhp-hero-h1 em { font-style: italic; font-weight: 400; color: #c08840; }
.lhp-intro-p em { font-style: italic; color: #C08840; }

/* Verkostungsnotiz auf der Wein-Detailseite (Inhalt aus dem Editor) */
.lhp-wein-desc p { margin: 0 0 14px; color: inherit; font-size: inherit; line-height: inherit; }
.lhp-wein-desc p:last-child { margin-bottom: 0; }

/* ====================================================================
 * 2) Generische Inhalte (eigene Seiten, Blog, Suche, 404)
 *    – nur für Seiten, die NICHT vom Design abgedeckt sind.
 * ==================================================================== */
.lhp-container { max-width: 1300px; margin: 0 auto; padding: 0 40px; }
.lhp-prose { max-width: 820px; margin: 0 auto; padding: 88px 40px 110px; }
.lhp-prose h1, .lhp-prose h2, .lhp-prose h3 {
	font-family: 'Antwerp', 'Cormorant Garamond', serif;
	font-weight: 500;
	line-height: 1.15;
	color: #3c3c3b;
}
.lhp-prose h1 { font-size: clamp(38px, 5vw, 56px); margin: 0 0 24px; }
.lhp-prose h2 { font-size: clamp(26px, 3.4vw, 34px); margin: 40px 0 16px; }
.lhp-prose h3 { font-size: 22px; margin: 32px 0 12px; }
.lhp-prose p { color: #6f675c; font-size: 16.5px; margin: 0 0 18px; }
.lhp-prose a { color: #C08840; }
.lhp-prose a:hover { color: #8f6f3a; }
.lhp-prose ul, .lhp-prose ol { color: #6f675c; padding-left: 24px; margin: 0 0 18px; }
.lhp-prose img { height: auto; }
.lhp-muted { color: #948c81; }
.alignwide { max-width: 1180px; margin-left: auto; margin-right: auto; }
.alignfull { width: 100%; }
@media (max-width: 680px) {
	.lhp-container { padding: 0 22px; }
	.lhp-prose { padding: 52px 22px 64px; }
}

/* ====================================================================
 * 3) Referenz-CSS (Landhaus Paul Standalone v3) – 1:1 übernommen.
 *    Wichtig: Diese Regeln arbeiten mit [style*="…"]-Selektoren und
 *    setzen exakt die Inline-Styles der Templates voraus.
 *    Bei Änderungen an den Templates Inline-Styles NICHT umformatieren!
 * ==================================================================== */

  html, body { margin: 0; padding: 0; background: #faf9f6; }
  * { box-sizing: border-box; }
  img { max-width: 100%; }
  ::selection { background: #C08840; color: #faf9f6; }
  .lhp-burger { display: none; }
  @media (min-width: 861px) { .lhp-fixedbg { background-attachment: fixed; } }
  @media (max-width: 860px) {
    .lhp-esel-arch { display: none !important; }
    .lhp-esel-half { display: none !important; }
    .lhp-esel-half[style*="height: 82%"] { display: block !important; height: 60% !important; opacity: 0.95 !important; }
    .lhp-burger { display: flex; align-items: center; justify-content: center; }
    .lhp-nav { position: absolute; top: 100%; left: 0; right: 0; background: #faf9f6; border-bottom: 1px solid rgba(60,60,59,0.1); box-shadow: 0 16px 30px -20px rgba(60,60,59,0.55); flex-direction: column !important; align-items: stretch !important; gap: 0 !important; padding: 6px 0 10px !important; display: none !important; }
    .lhp-head.open .lhp-nav { display: flex !important; }
    .lhp-nav > * { padding: 13px 30px !important; font-size: 15px !important; border-bottom: none !important; }
    [style*="grid-template-columns: repeat(4, 1fr)"] { grid-template-columns: repeat(2,1fr) !important; }
    [style*="grid-template-columns: 1fr 1.15fr"],
    [style*="grid-template-columns: 1fr 1.05fr"],
    [style*="grid-template-columns: 1.05fr 1fr"],
    [style*="grid-template-columns: 1fr 1fr"],
    [style*="grid-template-columns: 1.4fr 1fr"] { grid-template-columns: 1fr !important; }
    [style*="padding: 104px 80px"], [style*="padding: 110px 80px"] { padding: 54px 26px !important; }
    [style*="min-height: 560px"] { min-height: 320px !important; }
    [style*="max-width: 44%"] { opacity: 0.16 !important; right: -8% !important; height: 72% !important; }
  }
  @media (max-width: 680px) {
    .lhp-hero-cta { flex-direction: column-reverse !important; align-items: flex-start !important; gap: 18px !important; }
    .lhp-hero-scrim { background: linear-gradient(180deg, rgba(35,34,32,0.62) 0%, rgba(35,34,32,0.45) 55%, rgba(35,34,32,0.82) 100%) !important; }
    .lhp-hero-esel { height: 40% !important; top: auto !important; bottom: 0 !important; transform: translateX(40%) !important; opacity: 0.75 !important; }
    .lhp-hero-copy { padding: 0 22px !important; }
    .lhp-hero-kicker { font-size: 10px !important; letter-spacing: 0.16em !important; margin-bottom: 20px !important; }
    .lhp-hero-h1 { font-size: clamp(38px, 11vw, 46px) !important; line-height: 1.12 !important; }
    .lhp-hero-lead { font-size: 16.5px !important; line-height: 1.75 !important; max-width: none !important; }
    [style*="min-height: 92vh"] { min-height: 80vh !important; }
    [style*="min-height: 78vh"] { min-height: 62vh !important; }
    [style*="min-height: 76vh"] { min-height: 56vh !important; }
    [style*="min-height: 72vh"] { min-height: 52vh !important; }
    [style*="min-height: 52vh"] { min-height: 42vh !important; }
    [style*="grid-template-columns: repeat(3, 1fr)"] { grid-template-columns: 1fr !important; }
    [style*="grid-template-columns: repeat(4, 1fr)"] { grid-template-columns: repeat(2,1fr) !important; }
    .lhp-wine-grid { grid-template-columns: 1fr !important; }
    [style*="padding: 132px 40px"] { padding: 64px 22px !important; }
    [style*="padding: 124px 40px"] { padding: 64px 22px !important; }
    [style*="padding: 120px 40px"] { padding: 60px 22px !important; }
    [style*="padding: 116px 40px"] { padding: 60px 22px !important; }
    [style*="padding: 88px 40px 132px"] { padding: 48px 22px 64px !important; }
    [style*="padding: 132px 40px 0"] { padding: 64px 22px 0 !important; }
    [style*="padding: 92px 40px 80px"] { padding: 52px 22px 36px !important; }
    [style*="padding: 64px 40px 120px"] { padding: 36px 22px 64px !important; }
    [style*="padding: 56px 40px 110px"] { padding: 32px 22px 56px !important; }
    [style*="padding: 80px 40px 48px"] { padding: 52px 22px 32px !important; }
    [style*="padding: 96px 40px"] { padding: 54px 22px !important; }
    [style*="padding: 80px 40px"] { padding: 52px 22px !important; }
    [style*="padding: 0 40px 72px"] { padding: 0 22px 44px !important; }
  }
  @media (max-width: 680px) {
    .lhp-esel-peek { display: none !important; }
    .lhp-head-kicker { display: none !important; }
    [style*="padding: 15px 30px"] { padding: 10px 16px !important; }
    [style*="height: 50px; width: 50px"] { height: 40px !important; width: 40px !important; }
    [style*="top: 78px"] { top: 61px !important; }
    [style*="padding: 20px 40px"] { padding: 14px 22px !important; }
    [style*="height: 520px"] { height: 360px !important; }
    [style*="padding: 56px; background: #f2efe8"] { padding: 26px !important; }
    [style*="padding: 44px"] { padding: 26px 20px !important; }
    [style*="gap: 80px"] { gap: 36px !important; }
    [style*="gap: 64px"] { gap: 32px !important; }
    [style*="gap: 56px"] { gap: 36px !important; }
    [style*="padding: 104px 80px"], [style*="padding: 110px 80px"] { padding: 44px 22px !important; }
    [style*="padding: 84px 40px 64px"] { padding: 44px 22px 32px !important; }
    [style*="padding: 88px 40px 100px"] { padding: 48px 22px 56px !important; }
    [style*="padding: 64px 40px 110px"] { padding: 36px 22px 60px !important; }
    [style*="height: 460px"], [style*="height: 500px"] { height: 300px !important; }
    [style*="padding: 17px 40px"], [style*="padding: 16px 38px"], [style*="padding: 16px 36px"] { padding: 14px 26px !important; }
    [style*="font-size: 40px; color: #C08840"] { font-size: 30px !important; }
    .lhp-homewine-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 36px 16px !important; }
    .lhp-homewine-grid img { height: 185px !important; margin-bottom: 16px !important; }
    .lhp-homewine-grid [style*="font-size: 26px"] { font-size: 19px !important; }
    .lhp-homewine-grid [style*="font-size: 11.5px"] { font-size: 10px !important; letter-spacing: 0.14em !important; }
    .lhp-filterbar { display: grid !important; grid-template-columns: 1fr 1fr; gap: 12px !important; align-items: stretch !important; }
    .lhp-filter-word { display: none !important; }
    .lhp-filterbar label { display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 6px !important; font-size: 11px !important; letter-spacing: 0.08em !important; text-transform: uppercase !important; }
    .lhp-filterbar select { width: 100% !important; padding: 11px 32px 11px 12px !important; }
    .lhp-filterbar > div[style*="margin-left: auto"] { grid-column: 1 / -1; margin-left: 0 !important; text-align: right; font-size: 12px !important; }
  }
  @media (max-width: 520px) {
    [style*="font-size: 22px; font-weight: 600; letter-spacing: 0.1em"] { font-size: 17px !important; }
    [style*="gap: 13px"] { gap: 9px !important; }
  }
  @media (max-width: 860px) {
    .lhp-onmark-logo { height: 220px !important; left: auto !important; right: 0 !important; top: 50% !important; transform: translate(46%, -50%) !important; }
    .lhp-region-gallery { grid-template-columns: 1fr !important; }
    .lhp-region-gallery img { height: auto !important; min-height: 0 !important; aspect-ratio: 16 / 10; }
  }
  @media (max-width: 520px) {
    .lhp-onmark-logo { height: 175px !important; }
  }
  @media (max-width: 820px) {
    .lhp-wc { width: 92px !important; opacity: 0.7 !important; }
    .lhp-grape { width: 203px !important; opacity: 0.38 !important; }
    .lhp-grape-white { width: 244px !important; }
    .lhp-basket { left: auto !important; right: 8px !important; top: auto !important; bottom: 8px !important; transform: none !important; width: 264px !important; }
  }
  @media (max-width: 520px) {
    .lhp-grape { width: 150px !important; opacity: 0.3 !important; }
    .lhp-grape-white { width: 180px !important; }
    .lhp-legal { grid-template-columns: 1fr !important; gap: 32px !important; }
    .lhp-legal-toc { position: static !important; top: auto !important; background: #f2efe8; border-radius: 0; padding: 20px 22px; }
  }
  @media (max-width: 1080px) {
    [style*="padding: 104px 80px"], [style*="padding: 110px 80px"] { padding: 64px 46px !important; }
    [style*="grid-template-columns: repeat(4, 1fr)"] { grid-template-columns: repeat(2, 1fr) !important; }
    [style*="padding: 120px 40px"] { padding: 84px 34px !important; }
    [style*="padding: 132px 40px"] { padding: 88px 34px !important; }
  }
