/* DinnershowNederland: warm, onderscheidende huisstijl */
:root {
  --lux-bg: #f7f1e7;
  --lux-panel: #fffdf8;
  --lux-panel-2: #f0e6d9;
  --lux-text: #382e2a;
  --lux-text-soft: #51433d;
  --lux-text-muted: #7b6254;
  --lux-gold: #c5a66e;
  --lux-gold-dark: #a78650;
  --lux-border: rgba(167, 134, 80, .35);
  --lux-border-soft: rgba(167, 134, 80, .22);
  --lux-border-strong: rgba(167, 134, 80, .72);
  --lux-shadow: 0 18px 44px rgba(68, 42, 30, .10);
  --lux-shadow-soft: 0 12px 30px rgba(68, 42, 30, .08);
  --lux-radius: 20px;
}
html { background: #f7f1e7; }
body {
  background: #f7f1e7 !important;
  color: #382e2a !important;
}
h1, h2, h3, h4, h5, h6, .home-title, .article-title { color: #4b1722; }
p, li, .article-excerpt, .menu-text { color: #51433d; }
a { color: #772d3b; }
a:hover, p a, .meta-nav a, .footer-modern a, aside a, .meta-categ a { color: #8c4050; }
.headerHolder {
  background: rgba(76, 20, 32, .96) !important;
  border-color: rgba(197,166,110,.48) !important;
  box-shadow: 0 12px 34px rgba(40, 15, 20, .22) !important;
}
.logo-txt a, .menu-nav li a, .menu-nav ul li a, .menu-mobile li a { color: #fffaf1 !important; }
.menu-nav li a:hover, .menu-nav > li.current-menu-item > a { color: #e6c98f !important; }
.btn-header .view-more, .view-more:not(.white-btn) {
  color: #fffaf1 !important;
  background: #7d2e3e !important;
  border: 1px solid #ba9460 !important;
  box-shadow: 0 7px 18px rgba(73, 21, 31, .16) !important;
}
.btn-header .view-more:hover, .view-more:not(.white-btn):hover { background: #5b1c2a !important; }
.col-bkg, .seo-card, .cta-box, .menu-section, aside > ul > li, aside .widget,
.footer-card, .reservation-form-card, #reservation-holder, .icon-holder,
.blog-item.blog-item-1col-list, .contact-feature-card, .contact-mini-card,
.faq-accordion-wrapper, .faq-item, .page-card, .lux-card {
  background: #fffdf8 !important;
  color: #51433d !important;
  border-color: rgba(167,134,80,.32) !important;
  box-shadow: 0 14px 34px rgba(68,42,30,.08) !important;
}
.blog-item.blog-item-1col-list .post-holder { background: transparent !important; }
.blog-item.blog-item-1col-list .article-title, .article-title a { color: #4b1722 !important; }
.article-excerpt, .contact-feature-content p, .contact-feature-list li,
.contact-mini-card p, .faq-answer p, #home-content-22 p, .icon-holder p { color: #51433d !important; }
.topSingleBkg, .parallax, .seo-section, .footer-modern { background-color: #4b1722; }
.topSingleBkg .inner-desc { text-shadow: 0 8px 28px rgba(0,0,0,.5); }
.topSingleBkg .inner-desc h1, .topSingleBkg .inner-desc .post-meta li { color: #fffaf1 !important; }
.post-subtitle, .intro-txt { color: #f2d9a6; }
.check-fa { color: #a78650 !important; }
input, select, textarea, .comm-field {
  background-color: #fffdf8 !important;
  color: #382e2a !important;
  border-color: #d8c9b5 !important;
}
label { color: #4b1722; }
.footer-modern, .footer-modern p, .footer-modern li, .footer-modern h3,
.footer-modern h4, .footer-modern a { color: #fffaf1; }
.footer-modern a:hover { color: #e6c98f; }
.usp-list li { color: #51433d !important; }

/* Contrasten op de lichte informatiekaarten en de reserveringsformulieren */
.icon-holder p, .icon-holder li, .icon-holder strong,
.info-card p, .info-card li, .info-card strong,
.widget li, .widget ul li, aside .widget li, aside .widget ul li,
aside > ul > li, .widget_recent_entries ul li,
.widgettitle, .icon-title {
  color: #51433d !important;
}
.icon-holder .icon-title, .widgettitle, aside .widgettitle { color: #4b1722 !important; }
.icon-holder .check-fa, .info-card .check-fa { color: #a78650 !important; }
#reservation-form .comm-field, #reservation-form input[type="text"],
#reservation-form input[type="email"], #reservation-form input[type="tel"],
#reservation-form input[type="date"], #reservation-form select,
#reservation-form textarea, .reservation-form-card .comm-field {
  background: #f4eadc !important;
  color: #382e2a !important;
  border-color: #ddc8a8 !important;
}
#reservation-form .comm-field::placeholder, #reservation-form input::placeholder,
#reservation-form textarea::placeholder { color: #76665c !important; opacity: 1; }
#reservation-form label, .reservation-form-card label { color: #6c3b35 !important; }
.reservation-summary-card, .reservation-layout .reservation-summary-card,
aside.reservation-summary-card {
  background: #fffdf8 !important;
  color: #382e2a !important;
  border: 1px solid #ddcba9 !important;
  box-shadow: 0 12px 30px rgba(68,42,30,.10) !important;
}
.reservation-summary-card .summary-title,
.reservation-summary-card .summary-sub,
.reservation-summary-card .summary-row,
.reservation-summary-card .summary-row strong,
.reservation-summary-card .summary-note { color: #51433d !important; }
.reservation-summary-card .summary-title { color: #4b1722 !important; }
.reservation-summary-card .summary-total strong { color: #7d2e3e !important; }
.agenda-month h2 { color: #4b1722 !important; }
.agenda-month td.geen_kleur {
  color: #5b1c2a !important;
  background: linear-gradient(180deg, #eee0cb, #f7f1e7) !important;
  border-color: #ddcba9 !important;
}
.agenda-month td.tabel_nieuw {
  color: #51433d !important;
  background: #f6efe5 !important;
  border-color: #e5d9c7 !important;
}
.agenda-intro strong { color: #4b1722 !important; }
.agenda-intro a, .agenda-legend-text a { color: #7d2e3e !important; }
.seo-card h3, .seo-card h4 { color: #4b1722 !important; }
.seo-card p, .seo-card li { color: #51433d !important; }
.seo-card .seo-link-btn {
  color: #fffaf1 !important;
  background: #7d2e3e !important;
  border-color: #7d2e3e !important;
}
.seo-card .seo-link-btn .seo-link-text { color: #fffaf1 !important; }
.landing-card h2, .landing-card h3, .landing-card h4,
.landing-feature-card h2, .landing-feature-card h3, .landing-feature-card h4,
.landing-cta-card h2, .landing-cta-card h3, .landing-highlight-card h2,
.landing-highlight-card h3 { color: #4b1722 !important; text-shadow: none !important; }
.landing-card p, .landing-card li, .landing-feature-card p,
.landing-feature-card li, .landing-cta-card p, .landing-highlight-card p,
.landing-highlight-card li, aside p, aside li { color: #51433d !important; }
.landing-label { color: #7d2e3e !important; }
.faq-question { color: #4b1722 !important; }
.faq-question:hover, .faq-question:focus-visible { color: #7d2e3e !important; }
.footer-card p, .footer-card span, .footer-card li, .footer-card strong,
.footer-card div, .footer-card a { color: #51433d !important; }
.footer-card .footer-title { color: #4b1722 !important; }
.footer-card .footer-list li i { color: #a78650 !important; }
.footer-card .footer-stat strong { color: #7d2e3e !important; }
.footer-card .footer-stat span { color: #51433d !important; }
.landing-card, .landing-feature-card, .landing-cta-card,
.landing-highlight-card, aside .widget {
  background: #fffdf8 !important;
}
.seo-section .home-title, .seo-section .smalltitle { color: #fffaf1 !important; }
.contact-feature-head h2, .contact-mini-card h3,
.faq-section-title { color: #4b1722 !important; }
.contact-feature-label, .faq-toggle, .contact-mini-link { color: #7d2e3e !important; }
.btn-outline-warning {
  color: #fffaf1 !important;
  background: #7d2e3e !important;
  border-color: #7d2e3e !important;
}
.btn-outline-warning:hover, .btn-outline-warning:focus {
  color: #fffaf1 !important;
  background: #5b1c2a !important;
  border-color: #5b1c2a !important;
}

/* Homepage: redactionele split hero en direct zichtbare boekingsdata */
.dsn-home-hero { max-width: 1440px; margin: 112px auto 30px; padding: 0 26px; }
.dsn-home-hero .hero-image {
  height: 610px; border-radius: 24px; overflow: hidden;
  background-position: center 38%; box-shadow: 0 24px 60px rgba(55,24,28,.16);
}
.dsn-home-hero .hero-image:before {
  background: linear-gradient(90deg, rgba(248,243,234,.98) 0%, rgba(248,243,234,.94) 38%, rgba(248,243,234,.46) 61%, rgba(29,12,16,.06) 100%);
}
.dsn-home-hero .hero-caption {
  height: 100%; justify-content: flex-start; text-align: left;
  padding: 70px 7%;
}
.dsn-home-hero .hero-text { max-width: 560px; margin: 0; }
.dsn-home-hero .hero-text *, .dsn-home-hero .hero-text *:before { text-align: left; }
.dsn-home-hero .intro-txt {
  background: #f1e6d4; color: #7d2e3e; border: 1px solid #d9c39e;
  letter-spacing: .12em;
}
.dsn-home-hero .hero-caption h1 {
  color: #4b1722; font-size: clamp(42px, 5vw, 66px); margin: 0 0 18px;
  text-shadow: none; line-height: 1.08;
}
.dsn-home-hero .hero-caption p { color: #51433d; font-size: 18px; margin: 0; }
.dsn-home-hero .slider-btn {
  background: #7d2e3e; color: #fffaf1 !important; border-color: #7d2e3e;
}
.dsn-home-hero .slider-btn:hover { background: #5b1c2a; color: #fff !important; }
.dsn-dates { padding: 20px 26px 62px; }
.dsn-dates-inner { max-width: 1200px; margin: auto; text-align: center; }
.dsn-dates h2 { font: 600 30px/1.2 'Lora', serif; color: #4b1722; margin: 0 0 8px; }
.dsn-dates-intro { margin: 0 auto 22px; color: #6b5850; }
.dsn-date-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; }
.dsn-date-card {
  display: block; padding: 18px 16px; border: 1px solid #ddcba9; border-radius: 15px;
  background: #fffdf8; color: #4b1722; box-shadow: 0 8px 22px rgba(68,42,30,.06);
  text-decoration: none !important; transition: transform .2s ease, box-shadow .2s ease;
}
.dsn-date-card:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(68,42,30,.12); color: #772d3b; }
.dsn-date-card strong { display: block; color: #7d2e3e; font: 600 22px/1.25 'Lora',serif; }
.dsn-date-card span { display: block; margin-top: 5px; color: #716158; font-size: 14px; }
.dsn-agenda-link { display: inline-block; margin-top: 19px; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.home-section { padding-left: 14px; padding-right: 14px; }
@media (max-width: 767px) {
  .dsn-home-hero { margin: 94px auto 22px; padding: 0 14px; }
  .dsn-home-hero .hero-image { height: auto; min-height: 600px; background-position: 62% center; }
  .dsn-home-hero .hero-image:before { background: linear-gradient(180deg, rgba(248,243,234,.97) 0%, rgba(248,243,234,.93) 54%, rgba(35,15,20,.13) 100%); }
  .dsn-home-hero .hero-caption { min-height: 600px; height: auto; align-items: flex-start; padding: 70px 24px 30px; }
  .dsn-home-hero .hero-caption h1 { font-size: 42px; }
  .dsn-home-hero .hero-caption p { font-size: 16px; }
  .dsn-dates { padding: 18px 14px 42px; }
  .dsn-dates h2 { font-size: 26px; }
  .dsn-date-grid { grid-template-columns: 1fr; gap: 10px; }
  .dsn-date-card { padding: 14px; }
}
