.elementor-kit-6954{--e-global-color-primary:#A8123D;--e-global-color-secondary:#3D0A1D;--e-global-color-text:#1B1619;--e-global-color-accent:#C9A45C;--e-global-color-dvmuted:#5F5660;--e-global-color-dvsurface:#FAF7F2;--e-global-color-dvraised:#FFFFFF;--e-global-color-dvsunken:#F1ECE3;--e-global-color-dvline:#E6DFD4;--e-global-color-dvlinestr:#8E8489;--e-global-color-dvscenhov:#8C0E33;--e-global-color-dvscensoft:#F7E3E8;--e-global-color-dvwhite:#FFFFFF;--e-global-color-dvvelvmut:#D9C9CF;--e-global-color-dvgoldink:#83601F;--e-global-color-dvchamp:#E8D3A3;--e-global-color-dvsuccess:#2F6B4F;--e-global-typography-primary-font-family:"Cormorant Garamond";--e-global-typography-primary-font-size:40px;--e-global-typography-primary-font-weight:500;--e-global-typography-primary-line-height:46px;--e-global-typography-secondary-font-family:"Cormorant Garamond";--e-global-typography-secondary-font-size:26px;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-line-height:32px;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:26px;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-size:13px;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:16px;--e-global-typography-accent-letter-spacing:0.08em;--e-global-typography-dvdxl-font-family:"Cormorant Garamond";--e-global-typography-dvdxl-font-size:88px;--e-global-typography-dvdxl-font-weight:500;--e-global-typography-dvdxl-line-height:0.95em;--e-global-typography-dvdxl-letter-spacing:-0.01em;--e-global-typography-dvdl-font-family:"Cormorant Garamond";--e-global-typography-dvdl-font-size:56px;--e-global-typography-dvdl-font-weight:500;--e-global-typography-dvdl-line-height:60px;--e-global-typography-dvdm-font-family:"Cormorant Garamond";--e-global-typography-dvdm-font-size:40px;--e-global-typography-dvdm-font-weight:500;--e-global-typography-dvdm-line-height:46px;--e-global-typography-dveyebrow-font-family:"Montserrat";--e-global-typography-dveyebrow-font-size:12px;--e-global-typography-dveyebrow-font-weight:700;--e-global-typography-dveyebrow-text-transform:uppercase;--e-global-typography-dveyebrow-line-height:16px;--e-global-typography-dveyebrow-letter-spacing:0.16em;--e-global-typography-dvlead-font-family:"Montserrat";--e-global-typography-dvlead-font-size:19px;--e-global-typography-dvlead-font-weight:400;--e-global-typography-dvlead-line-height:30px;--e-global-typography-dvtitles-font-family:"Montserrat";--e-global-typography-dvtitles-font-size:17px;--e-global-typography-dvtitles-font-weight:600;--e-global-typography-dvtitles-line-height:24px;--e-global-typography-dvsmall-font-family:"Montserrat";--e-global-typography-dvsmall-font-size:14px;--e-global-typography-dvsmall-font-weight:400;--e-global-typography-dvsmall-line-height:22px;background-color:var( --e-global-color-dvsurface );color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6954 button,.elementor-kit-6954 input[type="button"],.elementor-kit-6954 input[type="submit"],.elementor-kit-6954 .elementor-button{background-color:var( --e-global-color-primary );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );color:var( --e-global-color-dvwhite );border-radius:999px 999px 999px 999px;padding:0px 28px 0px 28px;}.elementor-kit-6954 button:hover,.elementor-kit-6954 button:focus,.elementor-kit-6954 input[type="button"]:hover,.elementor-kit-6954 input[type="button"]:focus,.elementor-kit-6954 input[type="submit"]:hover,.elementor-kit-6954 input[type="submit"]:focus,.elementor-kit-6954 .elementor-button:hover,.elementor-kit-6954 .elementor-button:focus{background-color:var( --e-global-color-dvscenhov );color:var( --e-global-color-dvwhite );}.elementor-kit-6954 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6954 a{color:var( --e-global-color-primary );}.elementor-kit-6954 a:hover{color:var( --e-global-color-dvscenhov );}.elementor-kit-6954 h1{color:var( --e-global-color-text );font-family:var( --e-global-typography-dvdl-font-family ), Sans-serif;font-size:var( --e-global-typography-dvdl-font-size );font-weight:var( --e-global-typography-dvdl-font-weight );line-height:var( --e-global-typography-dvdl-line-height );}.elementor-kit-6954 h2{color:var( --e-global-color-text );font-family:var( --e-global-typography-dvdm-font-family ), Sans-serif;font-size:var( --e-global-typography-dvdm-font-size );font-weight:var( --e-global-typography-dvdm-font-weight );line-height:var( --e-global-typography-dvdm-line-height );}.elementor-kit-6954 h3{color:var( --e-global-color-text );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-6954 h4{color:var( --e-global-color-text );font-family:"Cormorant Garamond", Sans-serif;font-size:21px;font-weight:600;line-height:28px;}.elementor-kit-6954 h5{color:var( --e-global-color-text );font-family:"Cormorant Garamond", Sans-serif;font-size:18px;font-weight:600;}.elementor-kit-6954 h6{color:var( --e-global-color-text );font-family:"Cormorant Garamond", Sans-serif;font-size:16px;font-weight:600;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){margin-block-end:16px;}.elementor-element{--widgets-spacing:16px 16px;--widgets-spacing-row:16px;--widgets-spacing-column:16px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1440px){.elementor-kit-6954{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6954 h1{font-size:var( --e-global-typography-dvdl-font-size );line-height:var( --e-global-typography-dvdl-line-height );}.elementor-kit-6954 h2{font-size:var( --e-global-typography-dvdm-font-size );line-height:var( --e-global-typography-dvdm-line-height );}.elementor-kit-6954 h3{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-6954 button,.elementor-kit-6954 input[type="button"],.elementor-kit-6954 input[type="submit"],.elementor-kit-6954 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}}@media(max-width:1024px){.elementor-kit-6954{--e-global-typography-dvdxl-font-size:72px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6954 h1{font-size:var( --e-global-typography-dvdl-font-size );line-height:var( --e-global-typography-dvdl-line-height );}.elementor-kit-6954 h2{font-size:var( --e-global-typography-dvdm-font-size );line-height:var( --e-global-typography-dvdm-line-height );}.elementor-kit-6954 h3{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-6954 button,.elementor-kit-6954 input[type="button"],.elementor-kit-6954 input[type="submit"],.elementor-kit-6954 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6954{--e-global-typography-primary-font-size:32px;--e-global-typography-primary-line-height:38px;--e-global-typography-secondary-font-size:24px;--e-global-typography-secondary-line-height:30px;--e-global-typography-dvdxl-font-size:52px;--e-global-typography-dvdl-font-size:40px;--e-global-typography-dvdl-line-height:44px;--e-global-typography-dvdm-font-size:32px;--e-global-typography-dvdm-line-height:38px;--e-global-typography-dvlead-font-size:17px;--e-global-typography-dvlead-line-height:27px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6954 h1{font-size:var( --e-global-typography-dvdl-font-size );line-height:var( --e-global-typography-dvdl-line-height );}.elementor-kit-6954 h2{font-size:var( --e-global-typography-dvdm-font-size );line-height:var( --e-global-typography-dvdm-line-height );}.elementor-kit-6954 h3{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-6954 button,.elementor-kit-6954 input[type="button"],.elementor-kit-6954 input[type="submit"],.elementor-kit-6954 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Dramatens Vänner 2026 — design tokens and component styles.
   Colours and fonts come from the kit's global settings (Site Settings),
   so changing a global colour there updates everything below. */

body {
  --surface: var(--e-global-color-dvsurface);
  --surface-raised: var(--e-global-color-dvraised);
  --surface-sunken: var(--e-global-color-dvsunken);
  --ink: var(--e-global-color-text);
  --ink-muted: var(--e-global-color-dvmuted);
  --line: var(--e-global-color-dvline);
  --line-strong: var(--e-global-color-dvlinestr);
  --scen: var(--e-global-color-primary);
  --scen-hover: var(--e-global-color-dvscenhov);
  --scen-text: var(--e-global-color-primary);
  --scen-soft: var(--e-global-color-dvscensoft);
  --velvet: var(--e-global-color-secondary);
  --on-velvet: var(--e-global-color-dvwhite);
  --on-velvet-muted: var(--e-global-color-dvvelvmut);
  --gold: var(--e-global-color-accent);
  --gold-ink: var(--e-global-color-dvgoldink);
  --champagne: var(--e-global-color-dvchamp);
  --font-display: var(--e-global-typography-primary-font-family), "Cormorant", Georgia, "Times New Roman", serif;
  --font-sans: var(--e-global-typography-text-font-family), "Helvetica Neue", Arial, system-ui, sans-serif;
  --shadow-card: 0 1px 2px rgba(27,22,25,.06), 0 8px 24px rgba(27,22,25,.06);
  --shadow-lift: 0 2px 4px rgba(27,22,25,.08), 0 16px 40px rgba(27,22,25,.12);
  --radius-sm: 4px; --radius-md: 8px; --radius-lg: 16px; --radius-pill: 999px;
  --dv-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  background: var(--surface);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
}
html { scroll-behavior: smooth; }
a:focus-visible, button:focus-visible, .elementor-button:focus-visible { outline: 2px solid var(--scen-text); outline-offset: 2px; }
.dv-on-velvet a:focus-visible, .dv-on-velvet button:focus-visible, .dv-on-velvet .elementor-button:focus-visible { outline-color: var(--gold); }
.elementor-heading-title a { color: inherit; }

/* ---------- eyebrow ---------- */
.dv-eyebrow .elementor-heading-title { display: inline-flex; align-items: center; gap: 12px; }
.dv-eyebrow.has-rule .elementor-heading-title::before { content: ""; width: 32px; height: 1px; background: currentColor; flex: none; }

/* ---------- section header ---------- */
.dv-section-head { border-bottom: 1px solid var(--line); }
.dv-section-head .dv-head-titles { gap: 8px; }

/* ---------- text link with arrow ---------- */
.dv-link .elementor-heading-title,
.dv-link .elementor-heading-title a { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; }
.dv-link .elementor-heading-title > a::after,
.dv-link .elementor-heading-title:not(:has(a))::after,
.dv-card-more .elementor-heading-title::after {
  content: ""; width: 16px; height: 16px; flex: none; background: currentColor;
  -webkit-mask: var(--dv-arrow) center / contain no-repeat; mask: var(--dv-arrow) center / contain no-repeat;
  transition: transform .18s ease;
}
.dv-link .elementor-heading-title a:hover::after,
.dv-link:hover .elementor-heading-title:not(:has(a))::after,
.dv-card:hover .dv-card-more .elementor-heading-title::after { transform: translateX(4px); }
.dv-link .elementor-heading-title a:hover { color: var(--scen-hover); }
.dv-link.is-gold .elementor-heading-title a:hover { color: var(--on-velvet); }

/* ---------- buttons ---------- */
.elementor-button { display: inline-flex; align-items: center; justify-content: center; height: 48px; padding: 0 28px; transition: background-color .18s ease, color .18s ease, border-color .18s ease, transform .18s ease; white-space: nowrap; border: 1.5px solid transparent; }
.elementor-button:active { transform: translateY(1px); }
.elementor-button .elementor-button-icon svg { width: 16px; height: 16px; }
.dv-btn-sm .elementor-button { height: 40px; padding: 0 20px; font-size: 12px; }
.dv-btn-lg .elementor-button { height: 56px; padding: 0 36px; font-size: 14px; }
.dv-btn-secondary .elementor-button { background: transparent; color: var(--ink); border-color: var(--line-strong); }
.dv-btn-secondary .elementor-button:hover { background: transparent; color: var(--ink); border-color: var(--ink); }
.dv-btn-on-velvet .elementor-button { background: transparent; color: var(--on-velvet); border-color: var(--gold); }
.dv-btn-on-velvet .elementor-button:hover, .dv-btn-on-velvet .elementor-button:focus { background: var(--gold); color: var(--velvet); border-color: var(--gold); }

/* ---------- rows: child containers size to their content ---------- */
.dv-header-row .dv-wordmark,
.dv-section-head > .dv-head-titles,
.dv-section-head > .dv-head-actions { --width: auto !important; flex: 0 1 auto !important; }
.dv-row > .dv-row-text { --width: auto !important; flex: 1 1 0 !important; min-width: 0; }

/* ---------- gift bar ---------- */
.dv-gift { position: relative; }
.dv-gift[hidden] { display: none !important; }
.dv-gift .elementor-widget-text-editor p { margin: 0; }
.dv-gift .dv-gift-close { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; display: grid; place-items: center; background: none !important; border: 0 !important; border-radius: 0 !important; padding: 0 !important; color: var(--on-velvet-muted) !important; cursor: pointer; box-shadow: none !important; }
.dv-gift .dv-gift-close:hover { color: var(--on-velvet) !important; }
.dv-gift-close svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; }
.dv-gift .elementor-widget-html { position: absolute; inset: 0 0 0 auto; width: 56px; margin: 0; }

/* ---------- site header ---------- */
.dv-header { border-bottom: 1px solid var(--line); }
.dv-header.elementor-sticky--effects { box-shadow: 0 1px 0 var(--line), 0 8px 24px rgba(27,22,25,.06); }
.dv-wordmark { text-decoration: none; }
.dv-wordmark .dv-wm-name .elementor-heading-title { white-space: nowrap; }
.dv-header .dv-nav { margin-left: auto; }
.dv-nav .elementor-nav-menu--main .elementor-item { padding-top: 8px; padding-bottom: 8px; }
.dv-nav .elementor-nav-menu--main .elementor-item.elementor-item-active::after,
.dv-nav .elementor-nav-menu--main .elementor-item:hover::after { height: 2px; border-radius: 2px; bottom: 0; }
.dv-nav .elementor-nav-menu--main .sub-menu { border-radius: var(--radius-md); box-shadow: var(--shadow-lift); padding: 8px 0; overflow: hidden; }
.dv-nav .elementor-nav-menu--main .sub-menu a { font-size: 14px; font-weight: 500; padding: 10px 20px; }
.dv-nav .elementor-menu-toggle { min-width: 44px; min-height: 44px; justify-content: center; align-items: center; background: none; }
.dv-nav .elementor-nav-menu--dropdown { border-top: 1px solid var(--line); box-shadow: 0 16px 40px rgba(27,22,25,.12); }
.dv-nav .elementor-nav-menu--dropdown a { font-size: 17px; font-weight: 600; text-transform: none; padding: 14px 16px; border-bottom: 1px solid var(--line); }
.dv-nav .elementor-nav-menu--dropdown .sub-menu a { font-size: 15px; font-weight: 500; padding-left: 32px !important; }
@media (max-width: 1024px) {
  .dv-header .dv-nav { order: 3; margin-left: 0; }
  .dv-header .dv-header-cta { margin-left: auto; }
}
@media (max-width: 767px) {
  .dv-header .dv-header-cta .elementor-button-icon { display: none; }
  .dv-header .dv-header-cta .elementor-button { padding: 0 14px; }
  .dv-gift { padding-right: 48px !important; }
}

/* ---------- hero ---------- */
.dv-hero { position: relative; overflow: hidden; }
.dv-hero::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background: linear-gradient(0deg, rgba(26,6,14,.95) 0%, rgba(26,6,14,.78) 38%, rgba(26,6,14,.2) 75%, rgba(26,6,14,.1) 100%); }
.dv-hero > .e-con, .dv-hero > .e-con-inner > .e-con { position: relative; z-index: 1; }
.dv-hero-title .elementor-heading-title span { color: var(--champagne); }
.dv-hero-title .elementor-heading-title em { font-style: italic; color: var(--gold); }
.dv-hero-lead p { margin: 0; }
.dv-hero-strip { border-top: 1px solid rgba(201,164,92,.4); background: rgba(26,6,14,.6); text-decoration: none; transition: background-color .18s ease; }
.dv-hero-strip:hover { background: rgba(26,6,14,.8); }
.dv-hero-strip .dv-link { margin-left: auto; }
@media (max-width: 767px) {
  .dv-hero-strip .dv-link { margin-left: 0; }
}

/* ---------- event card (loop item) ---------- */
.dv-card { background: var(--surface-raised); border-radius: var(--radius-md); box-shadow: var(--shadow-card); overflow: hidden; text-decoration: none; color: inherit; height: 100%; transition: box-shadow .2s ease, transform .2s ease; }
.dv-card:hover { box-shadow: var(--shadow-lift); transform: translateY(-2px); }
.dv-card-media { position: relative; aspect-ratio: 16 / 10; background: var(--velvet); overflow: hidden; flex: none; }
.dv-card-media::before { content: "DV"; position: absolute; left: 50%; top: 50%; width: 88px; height: 88px; margin: -44px 0 0 -44px; border: 1px solid var(--gold); border-radius: 50%; display: grid; place-items: center; font-family: var(--font-display); font-size: 34px; font-weight: 500; letter-spacing: .02em; color: var(--gold); }
.dv-card-media .elementor-widget-image, .dv-card-media .elementor-widget-theme-post-featured-image { position: absolute; inset: 0; margin: 0; }
.dv-card-media .elementor-widget-image:empty, .dv-card-media .elementor-widget-image .elementor-widget-container:empty { display: none; }
.dv-card-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.dv-card:hover .dv-card-media img { transform: scale(1.03); }
.dv-card-body { flex: 1; }
.dv-card:hover .dv-card-title .elementor-heading-title { color: var(--scen-text); }
.dv-card-excerpt p { margin: 0; display: -webkit-box !important; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.dv-card-more { margin-top: auto; padding-top: 12px; }
.dv-card-more .elementor-heading-title { display: inline-flex; align-items: center; gap: 8px; }

/* ---------- carousel ---------- */
.dv-carousel { position: relative; }
.dv-carousel .swiper { padding: 8px 8px 16px; margin: -8px -8px -16px; }
.dv-carousel .swiper-slide { height: auto; }
.dv-carousel .e-loop-item, .dv-carousel .e-loop-item > .e-con { height: 100%; }
.dv-carousel .elementor-swiper-button { position: absolute; top: -120px !important; bottom: auto !important; transform: none !important; width: 48px; height: 48px; border-radius: var(--radius-pill); display: grid; place-items: center; border: 1.5px solid var(--line-strong); background: var(--surface-raised); color: var(--ink); transition: background-color .18s ease, color .18s ease, border-color .18s ease; }
.dv-carousel .elementor-swiper-button { border: 1.5px solid var(--line-strong) !important; background: var(--surface-raised) !important; color: var(--ink) !important; }
.dv-carousel .elementor-swiper-button i { font-size: 16px !important; color: inherit !important; }
.dv-carousel .elementor-swiper-button svg { width: 16px !important; height: 16px !important; fill: currentColor !important; }
.dv-carousel .elementor-swiper-button:hover { background: var(--ink) !important; color: var(--surface) !important; border-color: var(--ink) !important; }
.dv-carousel .elementor-swiper-button-prev { left: auto !important; right: 60px !important; }
.dv-carousel .elementor-swiper-button-next { left: auto !important; right: 0 !important; }
.dv-carousel .elementor-swiper-button.swiper-button-disabled { visibility: hidden; }
.dv-carousel .swiper-pagination { display: none; }
.dv-aktuellt-head .dv-head-actions { padding-right: 132px; }
@media (max-width: 767px) {
  .dv-carousel .elementor-swiper-button { display: none !important; }
  .dv-aktuellt-head .dv-head-actions { padding-right: 0; }
}

/* ---------- compact list (loop item) ---------- */
.dv-list-grid .e-loop-item + .e-loop-item .dv-row,
.dv-list-grid .elementor-grid > .e-loop-item:not(:first-child) .dv-row { border-top: 1px solid var(--line); }
.dv-row { text-decoration: none; color: inherit; }
.dv-row:hover .dv-row-title .elementor-heading-title { color: var(--scen-text); }
.dv-row-x p { margin: 0; }
.dv-row-arr { color: var(--scen-text); flex: none; }
.dv-row-arr svg { width: 20px; height: 20px; display: block; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; transition: transform .18s ease; }
.dv-row:hover .dv-row-arr svg { transform: translateX(4px); }

/* ---------- member banner ---------- */
.dv-banner { border-radius: var(--radius-lg); overflow: hidden; }
.dv-banner-copy .elementor-widget-text-editor p { margin: 0; }
.dv-bullets .elementor-icon-list-item { align-items: baseline !important; gap: 12px; }
.dv-bullets .elementor-icon-list-item::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--gold); transform: translateY(-2px); flex: none; }
.dv-banner-media { position: relative; min-height: 220px; }
.dv-banner-media .elementor-widget-image { position: absolute; inset: 0; margin: 0; }
.dv-banner-media .elementor-widget-image .elementor-widget-container { height: 100%; }
.dv-banner-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dv-banner-media::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, var(--velvet) 0%, transparent 40%); pointer-events: none; }
@media (min-width: 1025px) { .dv-banner.e-grid { --e-con-grid-template-columns: minmax(0,1.1fr) minmax(0,1fr) !important; } }
@media (max-width: 1024px) {
  .dv-banner-media { order: -1; }
  .dv-banner-media::before { background: linear-gradient(0deg, var(--velvet) 0%, transparent 60%); }
}

/* ---------- offer card ---------- */
.dv-offer { text-decoration: none; color: inherit; }
.dv-offer-media { position: relative; aspect-ratio: 4 / 5; border-radius: var(--radius-md); overflow: hidden; background: var(--surface-sunken); }
.dv-offer-media .elementor-widget-image { position: absolute; inset: 0; margin: 0; }
.dv-offer-media .elementor-widget-image .elementor-widget-container { height: 100%; }
.dv-offer-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.dv-offer:hover .dv-offer-media img { transform: scale(1.04); }
.dv-offer-pct { position: absolute !important; right: 12px; bottom: 12px; width: 72px !important; height: 72px; margin: 0 !important; z-index: 1; }
.dv-offer-pct .elementor-heading-title { width: 72px; height: 72px; border-radius: var(--radius-pill); background: var(--velvet); border: 1px solid var(--gold); display: grid; place-items: center; line-height: 1; }
.dv-offer:hover .dv-offer-name .elementor-heading-title { color: var(--scen-text); }
.dv-offer-desc p, .dv-note p { margin: 0; }

/* ---------- footer ---------- */
.dv-footer .elementor-icon-list-items { display: grid; gap: 8px; }
.dv-footer .elementor-icon-list-item { padding: 0 !important; margin: 0 !important; }
.dv-footer .elementor-icon-list-item a:hover .elementor-icon-list-text { color: var(--on-velvet); text-decoration: underline; text-underline-offset: 3px; }
.dv-footer-base { border-top: 1px solid rgba(201,164,92,.35); }
.dv-footer-base a:hover { color: var(--on-velvet) !important; }
@media (min-width: 1025px) { .dv-footer-grid.e-grid { --e-con-grid-template-columns: 1.4fr repeat(3, minmax(0,1fr)) !important; } }
@media (max-width: 1024px) { .dv-footer-about { grid-column: 1 / -1; } }

/* ---------- inner page / post / archive headers ---------- */
.dv-page-head .elementor-heading-title { text-wrap: balance; }
.dv-feature img { width: auto; max-width: 100%; height: auto; max-height: 640px; border-radius: var(--radius-lg); display: block; }
.dv-archive-intro p { margin: 0 0 12px; }
.dv-archive-intro p:last-child { margin-bottom: 0; }
.elementor-widget-loop-grid .e-load-more-anchor + .elementor-button-wrapper { margin-top: 48px; }

/* The theme adds 10px bottom padding to every paragraph on small screens. */
.elementor-widget-text-editor p, .dv-prose p { padding-bottom: 0; }

/* ---------- content written in the block editor ---------- */
.dv-prose { font-size: 16px; line-height: 26px; color: var(--ink); overflow-wrap: break-word; }
.dv-prose p { margin: 0 0 16px; }
.dv-prose > .elementor-widget-container > *:last-child, .dv-prose > *:last-child { margin-bottom: 0; }
.dv-prose h1, .dv-prose h2, .dv-prose h3, .dv-prose h4, .dv-prose h5, .dv-prose h6 { font-family: var(--font-display); color: var(--ink); margin: 40px 0 12px; }
.dv-prose h1, .dv-prose h2 { font-size: 32px; line-height: 38px; font-weight: 500; }
.dv-prose h3 { font-size: 26px; line-height: 32px; font-weight: 600; }
.dv-prose h4 { font-size: 21px; line-height: 28px; font-weight: 600; }
.dv-prose h5, .dv-prose h6 { font-family: var(--font-sans); font-size: 12px; line-height: 16px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--scen-text); }
.dv-prose a { color: var(--scen-text); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.dv-prose a:hover { color: var(--scen-hover); }
.dv-prose ul, .dv-prose ol { margin: 0 0 16px; padding-left: 1.3em; }
.dv-prose li { margin-bottom: 6px; }
.dv-prose li::marker { color: var(--scen-text); }
.dv-prose strong, .dv-prose b { font-weight: 600; }
.dv-prose img { max-width: 100%; height: auto; border-radius: var(--radius-md); }
.dv-prose figure { margin: 24px 0; max-width: 100%; }
.dv-prose figcaption, .dv-prose .wp-caption-text, .dv-prose .wp-element-caption { font-size: 14px; line-height: 22px; color: var(--ink-muted); margin-top: 8px; text-align: left; }
.dv-prose .wp-caption { max-width: 100%; }
.dv-prose .alignleft { float: left; margin: 6px 24px 16px 0; }
.dv-prose .alignright { float: right; margin: 6px 0 16px 24px; }
.dv-prose .aligncenter { margin-left: auto; margin-right: auto; }
.dv-prose .wp-block-columns { gap: 24px; margin: 24px 0; }
.dv-prose .wp-block-group.has-background { padding: 24px; border-radius: var(--radius-md); }
.dv-prose blockquote, .dv-prose .wp-block-quote { margin: 32px 0; padding: 24px 0 0; border: 0; border-top: 1px solid var(--gold); font-family: var(--font-display); font-size: 24px; line-height: 32px; font-style: italic; color: var(--ink); }
.dv-prose blockquote cite { display: block; margin-top: 12px; font-family: var(--font-sans); font-size: 14px; font-style: normal; color: var(--ink-muted); }
.dv-prose hr, .dv-prose .wp-block-separator { border: 0; border-top: 1px solid var(--line); margin: 40px 0; }
.dv-prose table { width: 100%; border-collapse: collapse; margin: 24px 0; font-size: 15px; }
.dv-prose th, .dv-prose td { border-bottom: 1px solid var(--line); padding: 10px 12px 10px 0; text-align: left; vertical-align: top; }
.dv-prose th { font-weight: 600; }
.dv-prose iframe, .dv-prose video, .dv-prose embed { max-width: 100%; }
.dv-prose .wp-block-embed__wrapper iframe { width: 100%; aspect-ratio: 16 / 9; height: auto; border-radius: var(--radius-md); }
.dv-prose .has-drop-cap:not(:focus)::first-letter { font-family: var(--font-display); font-size: 3.6em; line-height: .8; font-weight: 500; color: var(--scen-text); margin: .06em .1em 0 0; }
.dv-prose .wp-block-button__link, .dv-prose .backbutton, .dv-prose button {
  display: inline-flex; align-items: center; justify-content: center; height: 48px; padding: 0 28px; border-radius: var(--radius-pill);
  background: var(--scen); color: #fff !important; border: 0; font-family: var(--font-sans); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; cursor: pointer;
}
.dv-prose .wp-block-button__link:hover, .dv-prose .backbutton:hover, .dv-prose button:hover { background: var(--scen-hover); }
.dv-prose .widgetbox { padding: 15px; }
.dv-prose::after { content: ""; display: table; clear: both; }

/* ---------- Modern Events Calendar ---------- */
.mec-wrap, .mec-wrap p, .mec-wrap span, .mec-wrap a { font-family: var(--font-sans); }
.mec-wrap h1, .mec-wrap h2, .mec-wrap h3, .mec-wrap h4, .mec-wrap .mec-event-title, .mec-wrap .mec-event-title a { font-family: var(--font-display) !important; letter-spacing: 0; text-transform: none; }
.mec-wrap .mec-color, .mec-wrap .mec-color-hover:hover, .mec-wrap .mec-event-title a:hover { color: var(--scen-text) !important; }
.mec-wrap .mec-bg-color, .mec-wrap .mec-bg-color-hover:hover, .mec-wrap .mec-booking-button { background-color: var(--scen) !important; }
.mec-wrap .mec-border-color, .mec-wrap .mec-border-color-hover:hover { border-color: var(--scen) !important; }
.mec-wrap .mec-totalcal-box .mec-totalcal-view span.mec-totalcalview-selected,
.mec-wrap .mec-totalcal-box .mec-totalcal-view span:hover { background: var(--scen) !important; border-color: var(--scen) !important; color: #fff !important; }
.mec-wrap .mec-totalcal-box i, .mec-wrap .mec-previous-month a, .mec-wrap .mec-next-month a, .mec-wrap .mec-previous-month i, .mec-wrap .mec-next-month i { color: var(--scen-text) !important; }
.mec-wrap .mec-calendar .mec-calendar-day { font-family: var(--font-display) !important; font-weight: 500 !important; }
.mec-wrap .mec-calendar .mec-calendar-day.mec-selected-day, .mec-wrap .mec-calendar .mec-calendar-day:hover { color: var(--scen-text) !important; }
/* MEC's single event page was 15px wider than the screen (Bootstrap row margins). */
.mec-container { max-width: 100%; box-sizing: border-box; }
.mec-wrap .row.mec-single-event { margin-left: 0; margin-right: 0; max-width: 100%; }

/* ---------- small screens ---------- */
@media (max-width: 767px) {
  .dv-section-head { flex-direction: column; align-items: flex-start !important; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .dv-card, .dv-card-media img, .dv-offer-media img, .elementor-button, .dv-row-arr svg { transition: none !important; }
}

/* Stipendiater: no publish dates, neither on the category page cards nor at the top of the posts. */
body.category-stipendiater .dv-card-date,
.elementor-location-single.category-stipendiater .dv-post-header .dv-eyebrow { display: none; }/* End custom CSS */