/* RESET & ROOT VARIABLES */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}
ul,ol{margin:0 0 16px 20px;padding:0}
button,input,select,textarea{font:inherit;color:inherit;background:none;border:none;outline:none}
button{cursor:pointer}
:root{
  --brand-primary:#8B1E1E;
  --brand-secondary:#2E6E4D;
  --brand-accent:#FFF8F0;
  --gold:#C8A96A;
  --gold-strong:#B89443;
  --ink:#1A1A1A;
  --ink-soft:#3A3A3A;
  --muted:#8C8F96;
  --bg:#0E0F11;
  --surface:#111317;
  --surface-2:#181B20;
  --light:#FFFFFF;
  --cream:#FFFBF2;
  --shadow:0 8px 24px rgba(0,0,0,0.18);
}

/* BASE TYPOGRAPHY - Luxury Premium with brand fonts */
body{
  font-family: Verdana, Arial, sans-serif;
  font-size:16px; line-height:1.6; color:var(--ink-soft);
  background:#ffffff;
}
h1,h2,h3,h4,h5,h6{font-family: Georgia, 'Times New Roman', serif; color:#0B0C0E; margin:0 0 16px}
h1{font-size:36px; line-height:1.2; letter-spacing:.2px}
h2{font-size:28px; line-height:1.25}
h3{font-size:20px}
.p, p{margin:0 0 16px}
small,.small{font-size:12px;color:var(--muted)}
strong{font-weight:700}
em, i{font-style:italic}
blockquote{margin:0; padding:16px 20px; border-left:4px solid var(--gold); background:var(--brand-accent); color:var(--ink)}

/* ACCESSIBILITY */
:focus-visible{outline:2px solid var(--gold); outline-offset:2px}

/* LAYOUT SHELLS - Flex only */
section{display:flex; flex-direction:column; gap:20px; background:transparent}
.section{margin-bottom:60px; padding:40px 20px}
.container{display:flex; flex-direction:column; gap:20px; width:100%; max-width:1160px; padding:0 20px; margin:0 auto}
.content-wrapper{display:flex; flex-direction:column; gap:16px}
.content-grid{display:flex; flex-wrap:wrap; gap:20px; justify-content:space-between}
.card-container{display:flex; flex-wrap:wrap; gap:24px}
.card{margin-bottom:20px; position:relative; display:flex; flex-direction:column}
.text-image-section{display:flex; align-items:center; gap:30px; flex-wrap:wrap}
.feature-item{display:flex; flex-direction:column; align-items:flex-start; gap:15px}

/* PREMIUM SURFACES */
.hero-section{background:var(--brand-accent); border:1px solid rgba(200,169,106,0.35); border-radius:16px; padding:28px; box-shadow:var(--shadow)}
.hero-section h1{font-size:32px}

/* HEADER */
header{position:relative; z-index:50; background:var(--surface); border-bottom:1px solid rgba(200,169,106,0.25)}
header .container{flex-direction:row; align-items:center; justify-content:space-between; gap:14px; padding:14px 20px}
header img{height:34px}
header nav{display:none; align-items:center; gap:18px}
header nav a{color:#E8E8EA; font-size:14px; padding:8px 6px; border-bottom:2px solid transparent; transition:color .25s ease,border-color .25s ease}
header nav a:hover{color:var(--gold); border-color:var(--gold)}
.cta-group{display:flex; align-items:center; gap:10px}

/* BUTTONS */
.button{display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:12px 18px; border-radius:999px; border:1.5px solid var(--gold); color:#0B0C0E; background:var(--gold); font-weight:700; letter-spacing:.3px; transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease, border-color .2s ease}
.button:hover{transform:translateY(-1px); box-shadow:0 6px 18px rgba(200,169,106,.35)}
.button:active{transform:translateY(0)}
.button.primary{background:var(--brand-primary); border-color:var(--gold); color:#fff}
.button.primary:hover{box-shadow:0 6px 18px rgba(139,30,30,.4)}
.button.secondary{background:transparent; color:var(--gold); border-color:var(--gold)}
.button.secondary:hover{background:rgba(200,169,106,0.12); color:rgb(200, 169, 106);}

/* SEARCH BAR */
.search-bar{display:flex; align-items:center; gap:10px; background:#fff; border:1.5px solid var(--gold); border-radius:12px; padding:8px 10px; box-shadow:var(--shadow)}
.search-bar input[type="search"]{flex:1; border:none; padding:10px 8px; color:var(--ink)}
.search-bar button{width:42px; height:38px; border-radius:8px; background:var(--brand-secondary); border:1px solid var(--gold); display:flex; align-items:center; justify-content:center; transition:opacity .2s ease}
.search-bar button:hover{opacity:.9}
.search-bar img{width:18px;height:18px;filter:invert(1)}

/* HERO MICRO ACCENTS */
.trust-badges{display:flex; flex-direction:column; gap:6px; color:#3b3b3b}
.trust-badges img{display:inline-block; width:18px; height:18px; margin-right:6px}

/* FEATURE GRID & LISTS */
.feature-grid{display:flex; flex-wrap:wrap; gap:18px}
.feature-grid>div{flex:1 1 240px; background:var(--cream); border:1px solid rgba(200,169,106,.45); border-radius:14px; padding:16px; box-shadow:var(--shadow)}
.feature-grid img{width:28px;height:28px}
.usp-list{display:flex; flex-direction:column; gap:8px; list-style:none; padding:0; margin:8px 0 0}
.usp-list li{display:flex; align-items:center; gap:8px; padding:8px 10px; border-left:3px solid var(--gold); background:#fff; border-radius:8px}

/* PILLS & TAGS */
.category-pills,.topic-tags,.method-pills,.region-tabs,.region-filters,.diet-filters,.occasion-tags{display:flex; flex-wrap:wrap; gap:10px}
.category-pills span,.topic-tags span,.method-pills span,.region-tabs span,.region-filters span,.diet-filters span,.occasion-tags span{
  display:inline-flex; align-items:center; padding:8px 14px; border:1px solid var(--gold); border-radius:999px; color:#0B0C0E; background:#fff; font-size:14px; transition:background .2s,color .2s,border-color .2s, transform .2s}
.category-pills span:hover,.topic-tags span:hover,.method-pills span:hover,.region-tabs span:hover,.region-filters span:hover,.diet-filters span:hover,.occasion-tags span:hover{background:var(--brand-accent); transform:translateY(-1px)}

/* SELECTORS & CONTROLS */
.month-selector,.sort-dropdown{display:flex; align-items:center; gap:10px}
select{appearance:none; background:#fff; border:1px solid rgba(200,169,106,.7); border-radius:10px; padding:10px 12px; color:var(--ink)}
label{color:var(--ink-soft)}

/* BADGES */
.badge{display:inline-flex; align-items:center; padding:4px 10px; border-radius:999px; font-size:12px; background:rgba(200,169,106,.14); color:#6E5828; border:1px solid rgba(200,169,106,.7); margin-left:6px}

/* TESTIMONIALS - light background for readability */
.testimonial-card{display:flex; align-items:center; gap:20px; padding:20px; background:#fff; color:var(--ink); border:1px solid rgba(200,169,106,.45); border-left:4px solid var(--gold); border-radius:14px; box-shadow:var(--shadow)}
.testimonial-card span{color:var(--gold)}

/* TEXTUAL SECTIONS */
.text-section{background:#fff; border:1px solid rgba(200,169,106,.35); border-radius:14px; padding:16px; box-shadow:var(--shadow)}
.values-list{display:flex; flex-wrap:wrap; gap:10px; list-style:none; margin:0; padding:0}
.values-list li{padding:8px 12px; border:1px solid rgba(200,169,106,.7); border-radius:10px; background:var(--brand-accent)}
.link-list{display:flex; flex-wrap:wrap; gap:14px}
.link-list a{color:var(--brand-secondary); border-bottom:1px solid transparent}
.link-list a:hover{border-color:var(--gold)}

/* NEWSLETTER */
.newsletter-signup{display:flex; flex-direction:column; gap:12px; background:var(--cream); border:1px solid rgba(200,169,106,.45); border-radius:14px; padding:16px; box-shadow:var(--shadow)}
.newsletter-signup input[type="email"]{background:#fff; border:1px solid rgba(200,169,106,.7); border-radius:10px; padding:10px 12px; color:var(--ink)}
.newsletter-signup button{align-self:flex-start}

/* CONTACT SNIPPETS & OPENING HOURS */
.contact-snippet,.opening-hours,.address-block,.phone-block,.email-block{display:flex; align-items:center; gap:10px; flex-wrap:wrap; background:#fff; border:1px solid rgba(200,169,106,.35); border-radius:12px; padding:12px; box-shadow:var(--shadow)}
.contact-snippet img,.opening-hours img,.address-block img,.phone-block img,.email-block img{width:18px;height:18px}

/* FOOTER */
footer{background:var(--surface); color:#EDEDF0; border-top:1px solid rgba(200,169,106,.25)}
footer .container{flex-direction:column; gap:18px; padding:26px 20px}
footer nav{display:flex; flex-wrap:wrap; gap:12px}
footer nav a{color:#EDEDF0; font-size:14px; border-bottom:1px dashed transparent}
footer nav a:hover{color:var(--gold); border-bottom-color:var(--gold)}
.footer-brand{display:flex; align-items:center; gap:10px}
.footer-brand span{font-family: Georgia, 'Times New Roman', serif; font-size:18px; color:#fff}
.footer-contact{display:flex; flex-direction:column; gap:8px}
.footer-social{display:flex; align-items:center; gap:12px}
.footer-copyright{font-size:12px; color:#B9BBC1}

/* BREADCRUMBS */
.breadcrumbs{display:flex; align-items:center; gap:8px; color:#666; font-size:14px}
.breadcrumbs a{color:var(--brand-secondary)}

/* REZEPTE LIST & FILTERS */
.filter-toggles,.speed-filters,.quick-filters{display:flex; flex-wrap:wrap; gap:10px}
.filter-toggles button,.speed-filters button,.quick-filters label{padding:10px 14px; border:1px solid rgba(200,169,106,.7); border-radius:999px; background:#fff; color:#0B0C0E; transition:background .2s, transform .2s}
.filter-toggles button:hover,.speed-filters button:hover,.quick-filters label:hover{background:var(--brand-accent); transform:translateY(-1px)}
.filter-tools{display:flex; flex-wrap:wrap; gap:14px; align-items:center}
.filter-tools>div{display:flex; align-items:center; gap:8px; background:var(--cream); border:1px solid rgba(200,169,106,.45); border-radius:12px; padding:10px}
input[type="range"]{accent-color:var(--brand-secondary)}
input[type="number"],input[type="text"]{background:#fff; border:1px solid rgba(200,169,106,.7); border-radius:8px; padding:8px 10px; min-width:120px}

.recipe-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px}
.recipe-list li{display:flex; flex-wrap:wrap; gap:8px; align-items:center; justify-content:space-between; background:#fff; border:1px solid rgba(200,169,106,.35); border-radius:12px; padding:12px; box-shadow:var(--shadow)}
.recipe-list li span:first-child{font-weight:700}
.pagination{display:flex; gap:8px}
.pagination a{display:flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:10px; background:#fff; border:1px solid rgba(200,169,106,.6); color:#0B0C0E}
.pagination a:hover{background:var(--brand-accent)}

/* SCHNELLE REZEPTE EXTRAS */
.week-plan-outline,.time-stats{background:#fff; border:1px solid rgba(200,169,106,.45); border-radius:14px; padding:16px; box-shadow:var(--shadow)}

/* HAUSMANNSKOST EXTRAS */
.classic-dishes-list ul,.how-to-list,.local-producer-tips-list,.equipment-tips-list,.service-inventory,.tips-list,.common-mistakes-list{display:flex; flex-direction:column; gap:8px}
.omas-tipps-accordion,.substitution-tips,.market-shopping-guide,.processor-list-placeholder,.data-flow-overview,.press-mentions-summaries,.sourcing-principles,.community-guidelines,.timeline-outline,.retention-info,.consent-manager-widget-placeholder,.withdrawal-instructions,.exercise-instructions,.processing-table-placeholder,.estimated-timeline,.review-process-steps,.example-outline,.create-account-prompt{background:var(--cream); border:1px solid rgba(200,169,106,.45); border-radius:12px; padding:14px; box-shadow:var(--shadow)}
.rating-summary{display:flex; align-items:center; gap:8px; color:#6E5828}

/* SAISON & REGION EXTRAS */
.calendar-grid{display:flex; flex-wrap:wrap; gap:14px}
.calendar-grid>div{flex:1 1 260px; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 14px; background:#fff; border:1px solid rgba(200,169,106,.45); border-radius:12px; box-shadow:var(--shadow)}
.availability-legend{display:flex; flex-wrap:wrap; gap:16px}
.availability-legend span{display:flex; align-items:center; gap:8px; color:#333}

/* UEBER UNS */
.tagline{font-family: Georgia, 'Times New Roman', serif; font-size:18px; color:#5a5a5a}
.partner-quotes{display:flex; flex-direction:column; gap:12px}
.logo-placeholders{display:flex; align-items:center; gap:14px}

/* REZEPT EINREICHEN */
.submission-guidelines{display:flex; flex-direction:column; gap:8px}
.form-fields-list ul{display:flex; flex-direction:column; gap:6px; list-style:disc; margin-left:18px}
.success-message{background:#ECFFF2; color:#0F3D22; border:1px solid #92D1AB; border-radius:12px; padding:12px}

/* LEGAL PAGES */
.effective-date{display:inline-flex; padding:6px 10px; border-radius:999px; background:rgba(200,169,106,.15); color:#6E5828; border:1px solid rgba(200,169,106,.6)}
.summary-bullets{display:flex; flex-direction:column; gap:8px; background:#fff; border:1px solid rgba(200,169,106,.45); border-radius:12px; padding:12px; box-shadow:var(--shadow)}
.dpo-contact,.legal-contact{display:flex; flex-direction:column; gap:6px; background:#fff; border:1px solid rgba(200,169,106,.35); border-radius:12px; padding:12px}
.complaint-rights-info{background:var(--cream); border:1px solid rgba(200,169,106,.45); border-radius:12px; padding:12px}

/* BREADTH UTILS */
.ingredient-badges{display:flex; flex-wrap:wrap; gap:10px}
.ingredient-badges span{background:#fff; border:1px solid rgba(200,169,106,.7); border-radius:999px; padding:6px 12px}
.seasonal-teaser{display:flex; flex-direction:column; gap:12px; background:#fff; border:1px solid rgba(200,169,106,.45); border-radius:14px; padding:16px; box-shadow:var(--shadow)}

/* MOBILE NAVIGATION */
.mobile-menu-toggle{display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:10px; background:rgba(200,169,106,.12); color:#F2F2F2; border:1px solid rgba(200,169,106,.35)}
.mobile-menu{position:fixed; inset:0; display:flex; flex-direction:column; background:rgba(10,10,12,.4); backdrop-filter:saturate(120%) blur(8px); transform:translateX(100%); transition:transform .35s ease; z-index:1000}
.mobile-menu.open{transform:translateX(0)}
.mobile-menu-close{position:fixed; top:16px; right:16px; width:40px; height:40px; border-radius:999px; background:var(--surface-2); color:#fff; border:1px solid rgba(200,169,106,.35); z-index:1001}
.mobile-nav{margin-top:60px; display:flex; flex-direction:column; gap:12px; background:var(--surface); border-left:1px solid rgba(200,169,106,.25); padding:20px; height:100%; overflow:auto}
.mobile-nav a{display:flex; align-items:center; padding:12px 10px; border:1px solid rgba(200,169,106,.25); border-radius:10px; color:#F1F1F1; background:rgba(24,27,32,.6)}
.mobile-nav a:hover{background:rgba(200,169,106,.12); color:var(--gold)}

/* COOKIE CONSENT BANNER & MODAL */
.cookie-banner{position:fixed; left:0; right:0; bottom:0; display:none; flex-direction:column; gap:12px; background:#fff; border-top:2px solid var(--gold); padding:16px 20px; box-shadow:0 -8px 24px rgba(0,0,0,.18); z-index:2000}
.cookie-banner.show{display:flex}
.cookie-banner .buttons{display:flex; flex-wrap:wrap; gap:10px}
.cookie-banner .button{padding:10px 14px}
.cookie-banner .accept{background:var(--brand-secondary); color:#fff; border-color:var(--gold)}
.cookie-banner .reject{background:transparent; color:var(--brand-primary)}
.cookie-banner .settings{background:var(--gold); color:#0B0C0E}
.cookie-modal{position:fixed; inset:0; background:rgba(0,0,0,.5); display:none; align-items:center; justify-content:center; z-index:2100}
.cookie-modal.open{display:flex}
.cookie-modal-content{display:flex; flex-direction:column; gap:14px; width:92%; max-width:720px; background:#fff; border:1px solid rgba(200,169,106,.6); border-radius:16px; padding:20px; box-shadow:var(--shadow)}
.cookie-options{display:flex; flex-direction:column; gap:10px}
.cookie-row{display:flex; align-items:center; justify-content:space-between; gap:10px; background:var(--brand-accent); border:1px solid rgba(200,169,106,.45); border-radius:12px; padding:10px}

/* BREADCRUMBS & META SEPARATORS */
hr{border:none; height:1px; background:rgba(200,169,106,.35); margin:20px 0}
.newsletter-signup p {
color: #0B0C0E;
}
/* RESPONSIVE */
@media(min-width:768px){
  h1{font-size:44px}
  h2{font-size:32px}
  header nav{display:flex}
  .mobile-menu-toggle{display:none}
  .hero-section{padding:36px}
  .feature-grid>div{padding:18px}
  .newsletter-signup{flex-direction:row; align-items:center}
  .newsletter-signup p{flex:1}
  .newsletter-signup input[type="email"]{flex:1}
  .newsletter-signup button{align-self:center}
  .text-image-section{flex-direction:row}
}
@media(min-width:1024px){
  header img{height:40px}
  .hero-section h1{font-size:52px}
  .container{gap:24px}
}

/* SPACING ENHANCEMENTS BETWEEN CARDS/SECTIONS */
section>.container>.content-wrapper>*{margin-bottom:20px}
section>.container>.content-wrapper>*:last-child{margin-bottom:0}

/* ENSURE NO OVERLAPS AND ADEQUATE GAPS */
.category-grid,.calendar-grid,.card-container,.content-grid,.feature-grid,.category-pills,.topic-tags,.method-pills,.diet-filters,.occasion-tags,.region-tabs,.region-filters,.quick-filters,.filter-toggles{gap:20px}

/* GOLD DIVIDERS & PREMIUM DETAILS */
.header-divider{height:1px; background:rgba(200,169,106,.35)}

/* PAGE-SPECIFIC SMALL UTILS */
.footer-brand img{width:28px;height:28px}
.footer-contact span{display:flex; align-items:center; gap:8px}

/* DARK HEADER/FOOTER CONTRAST ON LIGHT CONTENT */
main{display:flex; flex-direction:column; gap:32px; padding:24px 0}
main section .container{background:transparent}

/* CARDS GENERAL LOOK */
.card,.week-plan-outline,.time-stats,.text-section,.seasonal-teaser{transition:transform .2s ease, box-shadow .2s ease}
.card:hover,.week-plan-outline:hover,.time-stats:hover,.text-section:hover,.seasonal-teaser:hover{transform:translateY(-2px); box-shadow:0 10px 28px rgba(0,0,0,.22)}

/* MISC LINKS */
nav a, .link-list a, .mobile-nav a{transition:color .2s ease, border-color .2s ease}

/* ALIGNMENT POLISH */
.content-wrapper > h2{border-left:4px solid var(--gold); padding-left:12px}

/* TABLE PLACEHOLDER FLEX (no grid) */
.processing-table-placeholder ul{margin:8px 0 0 18px}

/* PREVENT ANY CARD ABSOLUTE LAYOUTS */
.card, .recipe-list li, .testimonial-card{position:relative}

/* TEXT-IMAGE FLEX ON MOBILE */
@media(max-width:768px){.text-image-section{flex-direction:column}}

/* MOBILE-FIRST NAV HIDE/SHOW RULES */
@media(max-width:767px){header .cta-group{display:none}}

/* END */