/* Drupal content mapped to the supplied layout atlas. */
:root { --text-color:var(--text); --body-bg:var(--bg); --theme-color:var(--pink); --footer-bg:#212121; --font-heading:var(--sans); }
html,body { overflow-x:clip; }
.site-header .brand-space { align-items:center; }
body.toolbar-fixed .site-header { top:var(--drupal-displace-offset-top,39px); z-index:100; }
body.toolbar-vertical .site-header { top:max(39px,var(--drupal-displace-offset-top,0px)); z-index:100; }
.drupal-nav > div > nav > .nav-items { display:flex; align-items:center; gap:4px; }
.drupal-nav .nav-items li { position:relative; }
.drupal-nav .submenu { display:none; position:absolute; top:100%; left:0; min-width:240px; max-width:340px; padding:8px; border-radius:16px; background:var(--surface); box-shadow:0 16px 40px #0002; }
.drupal-nav li:hover > .submenu,.drupal-nav li:focus-within > .submenu { display:block; }
.drupal-nav .submenu .submenu { top:0; left:100%; }
.drupal-nav .submenu .nav-link { display:block; white-space:normal; text-transform:none; }
.site-main-wrap { max-width:1392px; margin:0 auto; padding:80px 24px 96px; display:grid; grid-template-columns:minmax(0,1fr); gap:32px; }
.site-main { min-width:0; }
.site-main img { max-width:100%; height:auto; }
.site-main-wrap:has(> .site-aside) { grid-template-columns:minmax(0,1fr) 260px; }
body.has-page-hero .site-main-wrap { padding-top:0; }
.site-main .paragraph--type--service-boxes { padding:96px 0; }
.site-main .paragraph--type--service-boxes > div:first-child { max-width:930px; margin:0 0 48px; font:500 clamp(32px,4vw,48px)/1.05 var(--sans); }
.site-main .paragraph--type--service-boxes > div:nth-child(2) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.site-main .paragraph--type--servicebox { height:100%; min-height:240px; padding:32px; border-radius:24px; background:var(--surface); }
.site-main .paragraph--type--servicebox > div:first-child { font:500 24px/1.15 var(--sans); margin-bottom:24px; }
.site-main .paragraph--type--servicebox p { line-height:1.5; }
.site-main .paragraph--type--image-text,.site-main .paragraph--type--col-image-text { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px; align-items:center; margin-block:96px; }
.site-main .paragraph--type--image-text img,.site-main .paragraph--type--col-image-text img { border-radius:24px; }
.site-main .paragraph--type--images { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; }
.site-main .paragraph--type--images img { border-radius:16px; }
.site-footer { padding-block:64px 32px; }
.site-footer .footer-top { max-width:1392px; margin:auto; }
.site-footer .footer-bottom { max-width:1392px; margin:auto; }
.site-footer .footer-top ul { padding:0; }
.site-footer .footer-top li { margin-block:10px; }
.mobile-main .nav-items { display:grid; gap:4px; }
.mobile-main .submenu { position:static; display:block; padding-left:16px; }
.mobile-main .nav-link { width:100%; justify-content:flex-start; }
@media (max-width:1279px) {
  .drupal-nav { display:none; }
  .site-main-wrap:has(> .site-aside) { grid-template-columns:1fr; }
}
@media (max-width:767px) {
  .site-main-wrap { padding:48px 16px 64px; }
  .site-main .paragraph--type--service-boxes { padding:48px 0; }
  .site-main .paragraph--type--service-boxes > div:nth-child(2),.site-main .paragraph--type--image-text,.site-main .paragraph--type--col-image-text { grid-template-columns:1fr; }
  .site-main .paragraph--type--servicebox { min-height:0; padding:24px; }
}
.efren-slider__track { display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; }
.efren-slider__slide { flex:0 0 min(100%,820px); scroll-snap-align:center; }
.efren-slider__slide img { width:100%; border-radius:24px; }
.efren-gallery__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:16px; }
.efren-gallery__button { border:0; padding:0; background:transparent; cursor:zoom-in; }
.efren-gallery__button img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:16px; }
.efren-gallery__dialog:not([open]) { display:none; }
.efren-gallery__dialog[open] { position:fixed; inset:0; margin:auto; width:min(1100px,96vw); max-width:none; max-height:96vh; padding:56px 64px 20px; display:grid; grid-template-columns:48px minmax(0,1fr) 48px; align-items:center; gap:16px; border:0; border-radius:24px; background:#212121; color:#fff; box-shadow:0 24px 80px #0008; }
.efren-gallery__dialog::backdrop { background:#000b; }
.efren-gallery__view { min-width:0; margin:0; display:grid; justify-items:center; gap:12px; }
.efren-gallery__dialog img { display:block; width:auto; max-width:100%; max-height:calc(96vh - 112px); object-fit:contain; border-radius:16px; }
.efren-gallery__dialog figcaption { color:#aaa; font:12px/18px var(--mono); }
.efren-gallery__dialog .efren-gallery__close { position:absolute; top:12px; right:16px; width:40px; height:40px; border:0; border-radius:999px; background:#ffffff14; color:#fff; font-size:28px; line-height:1; }
.efren-gallery__dialog .efren-gallery__nav { display:grid; place-items:center; width:48px; height:48px; border:1px solid #ffffff30; border-radius:999px; background:#ffffff14; color:#fff; font-size:32px; line-height:1; transition:background-color .18s ease,transform .18s ease; }
.efren-gallery__dialog .efren-gallery__nav:hover { transform:scale(1.06); background:#ffffff2b; }
@media (max-width:767px) {
  .efren-gallery__dialog[open] { width:96vw; max-height:92vh; padding:56px 10px 16px; grid-template-columns:40px minmax(0,1fr) 40px; gap:4px; border-radius:16px; }
  .efren-gallery__dialog .efren-gallery__nav { width:40px; height:40px; font-size:28px; }
  .efren-gallery__dialog img { max-height:calc(92vh - 104px); }
}
/* Editorial detail pages from the atlas use a readable central column. */
.page-type-article .site-main-wrap,.page-type-artikel-fotografie .site-main-wrap { max-width:1270px; grid-template-columns:minmax(0,788px) minmax(0,340px); gap:64px; align-items:start; }
.page-type-article .site-main,.page-type-artikel-fotografie .site-main { max-width:788px; }
.page-type-article .site-main nav ol,.page-type-artikel-fotografie .site-main nav ol { display:flex; flex-wrap:wrap; gap:8px; padding:0; margin:0 0 48px; list-style:none; color:var(--muted); font:12px/18px var(--mono); }
.page-type-article .site-main nav li+li::before,.page-type-artikel-fotografie .site-main nav li+li::before { content:'›'; margin-right:8px; }
.page-type-article .site-main article > footer,.page-type-artikel-fotografie .site-main article > footer { display:none; }
.page-type-article .site-main #block-efren-de-vanipro-content article > div > div:last-child,.page-type-artikel-fotografie .site-main #block-efren-de-vanipro-content article > div > div:last-child { margin-top:32px; padding-top:24px; border-top:1px solid var(--card); color:var(--muted); font:12px/18px var(--mono); }
.page-type-article .site-main #block-efren-de-vanipro-content article > div > div:last-child > div:first-child,.page-type-artikel-fotografie .site-main #block-efren-de-vanipro-content article > div > div:last-child > div:first-child { margin-bottom:8px; color:var(--muted); font:400 12px/18px var(--mono); letter-spacing:.28px; text-transform:uppercase; }
.page-type-article .site-main #block-efren-de-vanipro-content article > div > div:last-child > div:last-child,.page-type-artikel-fotografie .site-main #block-efren-de-vanipro-content article > div > div:last-child > div:last-child { display:flex; flex-wrap:wrap; gap:8px; }
.page-type-article .site-main #block-efren-de-vanipro-content article > div > div:last-child a,.page-type-artikel-fotografie .site-main #block-efren-de-vanipro-content article > div > div:last-child a { display:inline-flex; align-items:center; padding:8px 12px; margin:0; border:1px solid var(--card); border-radius:999px; background:var(--surface); color:var(--text); font:400 12px/18px var(--mono); text-decoration:none; transition:background-color .18s ease,color .18s ease; }
.page-type-article .site-main #block-efren-de-vanipro-content article > div > div:last-child a:hover,.page-type-article .site-main #block-efren-de-vanipro-content article > div > div:last-child a:focus-visible,.page-type-artikel-fotografie .site-main #block-efren-de-vanipro-content article > div > div:last-child a:hover,.page-type-artikel-fotografie .site-main #block-efren-de-vanipro-content article > div > div:last-child a:focus-visible { border-color:var(--pink); background:var(--surface); color:var(--text); transform:translateY(-1px); }
.page-type-article .site-main .paragraph--type--image-text,.page-type-artikel-fotografie .site-main .paragraph--type--image-text { display:block; margin:0 0 64px; }
.page-type-article .site-main .paragraph--type--image-text:has(> div:nth-child(2)) > div:first-child { display:none; }
.page-type-article .site-main .paragraph--type--image-text h1,.page-type-artikel-fotografie .site-main .paragraph--type--image-text h1 { font:500 clamp(40px,5vw,64px)/.95 var(--sans); margin:0 0 48px; overflow-wrap:normal; word-break:normal; hyphens:none; text-wrap:wrap; }
.page-type-article .site-main .paragraph--type--image-text h2 { margin:64px 0 24px; color:var(--text); font:500 clamp(30px,4vw,40px)/1.08 var(--sans); letter-spacing:-.01em; overflow-wrap:normal; word-break:normal; hyphens:none; text-wrap:wrap; }
.page-type-article .site-main .paragraph--type--image-text h3,.page-type-artikel-fotografie .site-main .paragraph--type--image-text h3 { font:500 32px/1.12 var(--sans); margin:64px 0 24px; overflow-wrap:normal; word-break:normal; hyphens:none; text-wrap:wrap; }
.page-type-article .site-main .paragraph--type--image-text h4,.page-type-artikel-fotografie .site-main .paragraph--type--image-text h4 { color:var(--muted); font:400 14px/18px var(--mono); letter-spacing:.28px; margin:-24px 0 32px; text-transform:uppercase; }
.page-type-article .site-main .paragraph--type--image-text p,.page-type-artikel-fotografie .site-main .paragraph--type--image-text p { margin:0 0 24px; line-height:1.6; }
.page-type-article .site-main .paragraph--type--image-text img,.page-type-artikel-fotografie .site-main .paragraph--type--image-text img { width:100%; height:auto; margin-block:24px; border-radius:16px; }
.site-aside { align-self:start; font-size:14px; line-height:1.5; }
.site-aside h2 { font:500 24px/1.1 var(--sans); margin:0 0 24px; }
.site-aside img { width:100%; max-height:260px; object-fit:cover; object-position:center 20%; border-radius:16px; }
.site-aside p { margin-bottom:16px; }
.page-type-artikel-fotografie .site-main .efren-gallery { margin:0 0 64px; padding:0; }
.page-type-artikel-fotografie .site-main .efren-gallery__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.page-type-artikel-fotografie .site-main .efren-gallery__button { overflow:hidden; border-radius:16px; background:var(--surface); }
.page-type-artikel-fotografie .site-main .efren-gallery__button img { aspect-ratio:4/3; object-fit:cover; border-radius:0; transition:transform .25s ease; }
.page-type-artikel-fotografie .site-main .efren-gallery__button:hover img { transform:scale(1.025); }
.page-type-artikel-fotografie #block-efren-de-vanipro-copyrighthinweis { margin-top:40px; }
.page-type-artikel-fotografie #block-efren-de-vanipro-copyrighthinweis blockquote { padding:24px; border:0; border-left:4px solid var(--pink); border-radius:0 16px 16px 0; background:var(--surface); color:var(--secondary); }
.page-type-artikel-fotografie #block-efren-de-vanipro-copyrighthinweis h6 { margin:0 0 12px; color:var(--muted); font:400 12px/18px var(--mono); letter-spacing:.28px; text-transform:uppercase; }
.page-type-artikel-fotografie #block-efren-de-vanipro-copyrighthinweis p { margin:0; color:var(--secondary); font:400 14px/22px var(--sans); }
.page-type-article .site-main .paragraph--type--image-text blockquote { margin:32px 0; padding:24px; border:0; border-left:4px solid var(--pink); border-radius:0 16px 16px 0; background:var(--surface); color:var(--secondary); }
.page-type-article .site-main .paragraph--type--image-text blockquote h4 { margin:0 0 12px; color:var(--muted); font:400 12px/18px var(--mono); letter-spacing:.28px; text-transform:uppercase; }
.page-type-article .site-main .paragraph--type--image-text blockquote p { margin:0; color:var(--secondary); font:400 14px/22px var(--sans); }
.page-type-article .site-main .paragraph--type--image-text blockquote p + p { margin-top:12px; }
.page-type-article .site-main-wrap,.page-type-artikel-fotografie .site-main-wrap { padding-top:112px; }
.page-type-article #block-efren-de-vanipro-uberdenautorweb,.page-type-artikel-fotografie #block-efren-de-vanipro-uberdenautorweb,.page-type-article #block-efren-de-block-owner-efren { padding:24px; border:1px solid var(--card); border-radius:24px; background:var(--surface); }
.page-type-article #block-efren-de-vanipro-uberdenautorweb h2,.page-type-artikel-fotografie #block-efren-de-vanipro-uberdenautorweb h2,.page-type-article #block-efren-de-block-owner-efren h2 { margin-bottom:20px; font:400 14px/18px var(--mono); letter-spacing:.28px; text-transform:uppercase; color:var(--muted); }
.page-type-article #block-efren-de-vanipro-uberdenautorweb img,.page-type-artikel-fotografie #block-efren-de-vanipro-uberdenautorweb img,.page-type-article #block-efren-de-block-owner-efren img { display:block; width:100%; height:auto; max-height:none; aspect-ratio:1; object-fit:cover; object-position:center 30%; border-radius:16px; }
.page-type-article #block-efren-de-vanipro-uberdenautorweb p,.page-type-artikel-fotografie #block-efren-de-vanipro-uberdenautorweb p,.page-type-article #block-efren-de-block-owner-efren p { margin:16px 0 0; line-height:1.5; }
.page-type-article #block-efren-de-vanipro-uberdenautorweb p:first-of-type,.page-type-artikel-fotografie #block-efren-de-vanipro-uberdenautorweb p:first-of-type,.page-type-article #block-efren-de-block-owner-efren p:first-of-type { font-size:16px; }
.page-type-article #block-efren-de-vanipro-uberdenautorweb em,.page-type-artikel-fotografie #block-efren-de-vanipro-uberdenautorweb em,.page-type-article #block-efren-de-block-owner-efren em { color:var(--muted); font-size:13px; font-style:normal; }
.page-type-article #block-efren-de-vanipro-uberdenautorweb a,.page-type-artikel-fotografie #block-efren-de-vanipro-uberdenautorweb a,.page-type-article #block-efren-de-block-owner-efren a { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:12px 20px; border:0; border-radius:999px; background:var(--pink,#ff8a3d); color:#fff; font:400 14px/18px var(--mono,monospace); text-decoration:none; text-transform:uppercase; transition:transform 180ms ease,background-color 180ms ease; }
.page-type-article #block-efren-de-vanipro-uberdenautorweb a:hover,.page-type-artikel-fotografie #block-efren-de-vanipro-uberdenautorweb a:hover,.page-type-article #block-efren-de-block-owner-efren a:hover { transform:translateY(-2px); background:var(--pink-hover,#f06a1f); color:#fff; }
@media (min-width:1024px) {
  .page-type-article .site-main-wrap > .site-aside,.page-type-artikel-fotografie .site-main-wrap > .site-aside { position:sticky; top:96px; align-self:start; }
  body.toolbar-fixed.page-type-article .site-main-wrap > .site-aside,body.toolbar-fixed.page-type-artikel-fotografie .site-main-wrap > .site-aside { top:calc(96px + var(--drupal-displace-offset-top,39px)); }
}
@media (max-width:1023px) { .page-type-article .site-main-wrap,.page-type-artikel-fotografie .site-main-wrap { max-width:1190px; grid-template-columns:1fr; gap:48px; } }
/* Existing Paragraph bundles: atlas spacing, surfaces and typography. */
.site-main :is(.paragraph--type--text,.paragraph--type--2col-text-image,.paragraph--type--col-image-text,.paragraph--type--image-text,.paragraph--type--images,.paragraph--type--slider,.paragraph--type--teaser-carousel,.paragraph--type--carousel-items,.paragraph--type--service-boxes) { max-width:1190px; margin-inline:auto; }
.site-main :is(.paragraph--type--text,.paragraph--type--2col-text-image) { padding-block:48px; }
.site-main :is(.paragraph--type--text,.paragraph--type--2col-text-image) :is(h2,h3) { max-width:930px; margin-bottom:24px; font-weight:500; }
.site-main :is(.paragraph--type--col-image-text,.paragraph--type--image-text) > div { min-width:0; }
.site-main :is(.paragraph--type--col-image-text,.paragraph--type--image-text) > div p { line-height:1.5; }
.site-main :is(.paragraph--type--col-image-text,.paragraph--type--image-text) img { width:100%; height:auto; border-radius:16px; }
.site-main :is(.paragraph--type--service-boxes,.paragraph--type--carousel-items,.paragraph--type--teaser-carousel) a { color:var(--text); }
.site-main .efren-slider { padding-block:48px; }
.site-main .efren-gallery { padding-block:48px; }
.site-main-wrap:not(:has(> .site-aside)) :is(.column-section,.card-grid-section) { position:relative; left:50%; width:100vw; margin-left:-50vw; }
:is(.column-section,.card-grid-section) p,.hero-banner-image__text p { color:inherit; }
.site-main :is(.column-section,.card-grid-section,.hero-banner-image) { font-family:var(--sans); }
.site-main :is(.column-section,.card-grid-section,.hero-banner-image) :is(h1,h2,h3,h4,h5,h6) { font-family:var(--sans); font-weight:500; letter-spacing:-.01em; }
.site-main :is(.column-section,.card-grid-section) :is(p,li) { font-family:var(--sans); line-height:1.5; }
.site-main .column-section.about .portrait { width:100%; aspect-ratio:auto; }
.site-main :is(.column-section,.card-grid-section) .efren-preheading,.site-main .hero-banner-image__kicker { display:block; margin:0 0 24px; color:var(--preheading-color,var(--muted)); font:400 14px/18px var(--mono); letter-spacing:.28px; text-transform:uppercase; }
.site-main .hero-banner-image__kicker { color:var(--pink); }
.site-main .card-grid-card { border-radius:24px; padding:32px; }
.site-main .card-grid-card__title { font:500 24px/1.1 var(--sans); letter-spacing:-.01em; }
.site-main .card-grid-card__text { font:400 16px/24px var(--sans); }
.site-main .card-grid-card__link { min-height:42px; padding:12px 16px; border:0; border-radius:999px; background:var(--pink); color:#fff; font:400 14px/18px var(--mono); text-transform:uppercase; }
.site-main .card-grid-card__link:hover,.site-main .card-grid-card__link:focus-visible { background:var(--pink-hover); color:#fff; border:0; }
.page-type-article .site-main .paragraph--type--image-text p,.page-type-artikel-fotografie .site-main .paragraph--type--image-text p { font-size:18px; line-height:28px; }
.page-type-article .site-main .paragraph--type--image-text em { color:var(--pink); font-style:normal; }
.page-type-article .site-main .paragraph--type--image-text pre { overflow:auto; margin:16px 0 24px; padding:18px 20px; border:1px solid var(--card); border-radius:16px; background:var(--surface); color:var(--text); font:400 14px/1.6 var(--mono); white-space:pre-wrap; overflow-wrap:anywhere; }
.site-main .n8n-workflow-embed__download { border-radius:999px; }
.site-main .n8n-workflow-embed { max-width:1190px; margin:96px auto; }
.site-main .n8n-workflow-embed__frame { border-radius:24px; overflow:hidden; }
@media (max-width:767px) { .site-main .n8n-workflow-embed { margin-block:32px; } }
