/* User-supplied originals: alpha transparency replaces scan blending and masks. */
body,
body.single-cartflows_step {
 background-image: url('../images/originals/background.png')!important;
 background-size: 1448px auto!important;
}
.usp-strip { background-image: url('../images/originals/background.png'); }
.elementor-widget-stalletje-artwork,
.st-e-art svg.original-art,
svg.original-art,
.reference-hero-image svg.original-art {
 mix-blend-mode: normal;
 mask-image: none;
 filter: none;
}
svg.original-art { display: block; max-width: 100%; height: auto; }
.st-e-art svg.original-logo,
svg.original-logo { aspect-ratio: 2450/1730; mix-blend-mode: multiply; }
.st-e-art svg.original-hero,
.reference-hero-image svg.original-hero { aspect-ratio: 1380/1076; min-height: 0; margin: 0; padding: 0; }
.st-e-art svg.original-house,
svg.original-house { aspect-ratio: 995/750; }
.st-e-art svg[class*='original-collection-'],
.collection-card svg[class*='original-collection-'] { aspect-ratio: 1/1.22; }
.collection-card:has(.original-art) { background: transparent; overflow: visible; }
.collection-card:has(.original-art) > div { display: none; }
/* The category names are already part of these four supplied images. */
.elementor-widget-wrap:has(> .elementor-widget-stalletje-artwork svg[class*='original-collection-']) > .elementor-widget-heading { display: none; }
.st-e-symbol svg.original-art { margin-inline: auto; width: 44px; height: 44px; }
.st-e-symbol svg.original-icon-rule { width: 175px!important; height: auto!important; }
.heart-rule { font-size: 0; background: url('../images/originals/hearts.png') no-repeat; background-size: 118.69% 620.57%; background-position: 52.63% 80.68%; height: 26px; }
.heart-rule:before,.heart-rule:after { display: none; }
.reference-copy .button span { display: inline-block; width: 22px; height: 22px; font-size: 0; background: url('../images/originals/hearts.png') no-repeat; background-size: 467.1% 381.05%; background-position: 81.28% 35.58%; }
.original-collections-heading { font: italic 40px/1.3 Georgia, serif; }
.elementor-button-text svg.original-icon-pink-heart { display: inline-block; width: 21px; height: 21px; margin-left: 10px; vertical-align: middle; }
.st-e-header .st-e-art:has(svg.original-logo) { width: calc(100% - 24px); }
@media(max-width:600px) { .st-e-header .st-e-art:has(svg.original-logo) { width: 100%; } }

/* A quieter header logo, with navigation that is easier to read. */
.st-e-header .st-e-art:has(svg.original-logo) { max-width: 180px; }
.site-header .reference-brand { max-width: 180px; flex-basis: 180px; }
.st-e-header .primary-nav > .menu > li > a,
.site-header .primary-nav > .menu > li > a {
 font-size: 16px;
 font-weight: 600;
 letter-spacing: .025em;
 color: #514938;
}
.st-e-header .primary-nav .sub-menu a,
.site-header .primary-nav .sub-menu a { font-size: 14px; }
.st-e-header .primary-nav a:hover,
.site-header .primary-nav a:hover { color: var(--color-primary-dark); }
@media(max-width:600px) {
 .st-e-header .st-e-art:has(svg.original-logo) { max-width: 120px; }
 .site-header .reference-brand { max-width: calc(100% - 166px); }
}

/* More breathing room between homepage sections; keep collection heading with cards. */
body.home { --stalletje-section-space: 24px; }
.home #main { padding-block: var(--stalletje-section-space); }
.home #main > .elementor > .elementor-section + .elementor-section:not(:has(svg[class*='original-collection-'])),
.home #main > section + section {
 margin-top: var(--stalletje-section-space)!important;
}
@media(max-width:600px) { body.home { --stalletje-section-space: 16px; } }

/* Readable mega-menu links, with a clear hierarchy for category headings. */
.st-e-header .primary-nav .mega-menu .sub-menu a,
.site-header .primary-nav .mega-menu .sub-menu a {
 font-size: 16px;
 line-height: 1.5;
 color: #514938;
}
.st-e-header .primary-nav .mega-menu > .sub-menu > li > a,
.site-header .primary-nav .mega-menu > .sub-menu > li > a { font-weight: 600; }
@media(min-width:901px) {
 .st-e-header .primary-nav .mega-menu > .sub-menu > li > a,
 .site-header .primary-nav .mega-menu > .sub-menu > li > a { font-size: 24px; }
}
.st-e-header .primary-nav .mega-menu .sub-menu a:hover,
.site-header .primary-nav .mega-menu .sub-menu a:hover { color: var(--color-primary-dark); }

/* Give the footer a little more separation from the page content. */
body.home #main, body #main { padding-bottom: 48px; }
@media(max-width:600px) { body.home #main, body #main { padding-bottom: 32px; } }
.st-e-header .primary-nav .mega-menu > .sub-menu > li > .sub-menu a,
.site-header .primary-nav .mega-menu > .sub-menu > li > .sub-menu a { font-size: 16px; line-height: 1.5; }
.stalletje-credit { font-size: 12px; }
.stalletje-credit a { text-decoration: underline; text-underline-offset: 3px; }
.stalletje-footer-signature { width: 100%; text-align: center; font: 12px/1.7 Arial, Helvetica, sans-serif; color: var(--color-text); }
.stalletje-footer-signature p { margin: 0 0 4px; }
.stalletje-footer-signature a { text-decoration: underline; text-underline-offset: 3px; }

/* Collection artwork gently lifts; the shadow follows the transparent silhouette. */
.st-e-art svg[class*='original-collection-'],
.collection-card svg[class*='original-collection-'] {
 transform: translateY(0);
 filter: drop-shadow(0 0 0 rgba(96,75,56,0));
 transition: transform .3s ease, filter .3s ease;
}
.collection-card:has(svg[class*='original-collection-']):hover {
 transform: none;
 box-shadow: none;
}
@media(hover:hover) and (pointer:fine) {
 .st-e-art:has(svg[class*='original-collection-']):hover svg,
 .collection-card:hover svg[class*='original-collection-'] {
  transform: translateY(-3px);
  filter: drop-shadow(0 6px 8px rgba(96,75,56,.13));
 }
}
a:focus-visible .st-e-art svg[class*='original-collection-'],
.collection-card:focus-visible svg[class*='original-collection-'] {
 filter: drop-shadow(0 6px 8px rgba(96,75,56,.13));
}
@media(prefers-reduced-motion:reduce) {
 .st-e-art svg[class*='original-collection-'],
 .collection-card svg[class*='original-collection-'] {
  transition: none;
  transform: none!important;
 }
}

/* Crisp chevrons aligned with the navigation label, independent of font metrics. */
.primary-nav .menu-item-has-children > a { vertical-align: middle; }
.primary-nav .submenu-toggle {
 vertical-align: middle;
 height: 44px;
 min-height: 44px;
 padding: 0;
 font-size: 0;
 gap: 0;
 line-height: 1;
 background: transparent;
 color: var(--color-text);
 border: 0;
}
.primary-nav .submenu-toggle::before {
 content: '';
 display: block;
 width: 8px;
 height: 8px;
 border-right: 2px solid currentColor;
 border-bottom: 2px solid currentColor;
 transform: translateY(-2px) rotate(45deg);
}
.primary-nav .submenu-toggle[aria-expanded=true]::before {
 transform: translateY(2px) rotate(225deg);
}

/* Category headings in the Shop megamenu. */
.primary-nav .mega-menu > .sub-menu > li > a {
 color: #e83471!important;
}

/* Compact footer logo, matching the desktop header. */
footer .st-e-art:has(svg.original-logo),
.site-footer .reference-brand { max-width: 180px; }
@media(max-width:600px) {
 footer .st-e-art:has(svg.original-logo),
 .site-footer .reference-brand { max-width: 140px; }
}
