/* =========================
   Organization Station Starter Kit (Astra – Free)
   Purpose: responsiveness-first, reusable utilities
   ========================= */

/* ---- Design tokens (safe fallbacks if Astra vars unavailable) ---- */
:root{
  --rail-w: var(--ast-container-width, 1240px);
  --rail-pad: var(--ast-container-padding, clamp(16px, 3vw, 32px));
  --lead-min: 1rem;     /* ~16px */
  --lead-max: 1.25rem;  /* ~20px */
  --step-1: clamp(0.5rem, 0.2rem + 1vw, 0.75rem);
  --step-2: clamp(0.75rem, 0.3rem + 1.2vw, 1rem);
  --step-3: clamp(1rem, 0.5rem + 1.2vw, 1.25rem);
}

/* ---- Rails / container ---- */
.os-container{
  max-width: var(--rail-w);
  margin-inline: auto;
  padding-inline: var(--rail-pad);
}

/* ---- Vertical stack (gap between children) ---- */
.os-stack > * + *{ margin-top: var(--step-2); }

/* ---- Intro / lead text ---- */
.os-lead{
  font-size: clamp(var(--lead-min), 0.95rem + 0.6vw, var(--lead-max));
  line-height: 1.5;
  text-wrap: balance;
}

/* ---- Tighter alignment under header rails (desktop only) ---- */
@media (min-width: 922px){
  .os-tight{ padding-inline: var(--rail-pad); }
}

/* ---- Conditional line breaks ---- */
.br-md{ display:none; }
@media (max-width: 921px){
  .br-md{ display:inline; }
  .br-md::after{ content:"\A"; white-space:pre; }
}
.br-sm{ display:none; }
@media (max-width: 544px){
  .br-sm{ display:inline; }
  .br-sm::after{ content:"\A"; white-space:pre; }
}

/* ---- Word control ---- */
.nowrap{ white-space:nowrap; }
.softbreak{ word-break: break-word; hyphens:auto; }

/* ---- Simple layout helpers ---- */
.os-cluster{
  display:flex; flex-wrap:wrap; gap: var(--step-2); align-items:center;
}
.os-center{ text-align:center; }
.os-right{ text-align:right; }

/* ---- Utility paddings (rarely needed, but here) ---- */
.pad-x-0{ padding-inline:0; }
.pad-x-s{ padding-inline: calc(var(--rail-pad) * 0.5); }
.pad-x-m{ padding-inline: var(--rail-pad); }

/* ---- Very small screens: protect layout ---- */
@media (max-width: 360px){
  .os-lead{ font-size: clamp(0.95rem, 0.9rem + 1vw, 1.1rem); }
}



/* Force Astra's mobile header from 1024px down (Astra Free) */
@media (max-width:1024px){
  /* hide desktop-style menu */
  .ast-desktop .main-header-menu,
  .main-header-menu.ast-desktop-inline{ display:none !important; }

  /* show the hamburger toggle */
  .ast-mobile-menu-buttons .menu-toggle,
  .ast-button-wrap .menu-toggle,
  .menu-toggle{ display:flex !important; align-items:center; }
}

/* keep normal desktop behavior above 1024px */
@media (min-width:1025px){
  .ast-mobile-menu-buttons .menu-toggle,
  .ast-button-wrap .menu-toggle{ display:none !important; }
  .ast-desktop .main-header-menu{ display:flex !important; }
}

.intro-tight {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

header.site-header {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.ast-container {
  margin-top: 0 !important;
}

/* Reduce horizontal spacing between header menu items */
.main-header-menu .menu-item {
  margin: -3px !important; /* default is around 28–32px; you can adjust */
}

@media (max-width: 1024px) {
  .main-header-menu .menu-item {
    margin: 0 6px !important; /* tighter spacing for tablet */
  }
}

/* Add subtle outline or stroke to header menu text */
.main-header-menu a {
  text-shadow:
    0 0 0.3px rgba(0,0,0,0.4),
    0 0 0.3px rgba(0,0,0,0.4);
}



/* ===============================
   START PAGE (ID 2887)
   Mobile + Tablet intro spacing & typography
   Single, self-contained block
   =============================== */

/* If any previous code added left/right padding, neutralize it */
.page-id-2887 .site-main .entry-content{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ----- Tweakable knobs (edit these values) ----- */
:root{
  /* space under the logo/header */
  --intro-top-mobile: 48px;    /* phones */
  --intro-top-tablet: 53px;    /* tablets */

  /* text look */
  --intro-line-mobile: 1.31;   /* phones: try 1.28–1.36 */
  --intro-line-tablet: 1.38;   /* tablets: try 1.30–1.40 */

  --intro-size-mobile: 16px;   /* phones font-size */
  --intro-size-tablet: 17.4px;   /* tablets font-size */
}

/* ===== Mobile (≤544px) ===== */
@media (max-width: 544px){
  /* top space under header only (won’t shrink carousel) */
  .page-id-2887 .entry-content{
    padding-top: var(--intro-top-mobile) !important;
  }

  /* tighten/size paragraphs at top */
  .page-id-2887 .entry-content p,
  .page-id-2887 .entry-content .wp-block-paragraph,
  .page-id-2887 .entry-content .wp-block-group p{
    line-height: var(--intro-line-mobile) !important;
    font-size: var(--intro-size-mobile) !important;
  }
}

/* ===== Tablet (545px–921px) =====
   Astra’s default header breakpoint is 921px.
   If your tablet preview uses 1024px instead, change 921px -> 1024px.
*/
@media (min-width: 545px) and (max-width: 921px){
  .page-id-2887 .entry-content{
    padding-top: var(--intro-top-tablet) !important;
  }

  .page-id-2887 .entry-content p,
  .page-id-2887 .entry-content .wp-block-paragraph,
  .page-id-2887 .entry-content .wp-block-group p{
    line-height: var(--intro-line-tablet) !important;
    font-size: var(--intro-size-tablet) !important;
  }
}

/* ===============================
   START PAGE (ID 2887)
   Align intro text with logo/carousel edges
   (tablet + mobile only)
   =============================== */

/* tweakable side insets */
:root{
  --intro-side-mobile: 13px;   /* phones: try 20–28px */
  --intro-side-tablet: 14px;   /* tablets: try 28–40px */
}

/* Phones */
@media (max-width: 544px){
  /* first block inside the page content = your intro text group */
  .page-id-2887 .entry-content > *:first-child{
    margin-left:  var(--intro-side-mobile) !important;
    margin-right: var(--intro-side-mobile) !important;
  }
}

/* Tablets (change 921px→1024px if your tablet preview uses 1024) */
@media (min-width: 545px) and (max-width: 921px){
  .page-id-2887 .entry-content > *:first-child{
    margin-left:  var(--intro-side-tablet) !important;
    margin-right: var(--intro-side-tablet) !important;
  }
}

/* ===============================
   START PAGE (ID 2887)
   Manual line-break helpers
   (shows specific breaks only where we want them)
   =============================== */

/* Hide both special breaks by default (desktop) */
.page-id-2887 br.tablet-break,
.page-id-2887 br.mobile-break{
  display: none;
}

/* Show the "Jag" break only on tablets */
@media (min-width: 545px) and (max-width: 921px){
  .page-id-2887 br.tablet-break{ display: inline; }
}

/* Show the "i" break only on phones */
@media (max-width: 544px){
  .page-id-2887 br.mobile-break{ display: inline; }
}

/* ===============================
   START PAGE (ID 2887)
   Desktop intro font tweak only
   =============================== */

@media (min-width: 922px){
  .page-id-2887 .entry-content p,
  .page-id-2887 .entry-content .wp-block-paragraph,
  .page-id-2887 .entry-content .wp-block-group p{
    font-size: 17px !important; /* was 18px */
    line-height: 1.5 !important;
  }
}

/* Mobile dots: filled, no outline (clean look) */
@media (max-width:700px){
  .hero-dots .dot{
    background: #c7c7c7 !important;   /* muted grey fill for inactive */
    box-shadow: none !important;       /* remove white ring */
  }
  .hero-dots .dot.active{
    background: var(--accent) !important; /* blue fill for active */
    box-shadow: none !important;           /* no ring */
  }
}

/* Adjust size of the mobile dots */
@media (max-width:700px){
  .hero-dots .dot{
    width: 6px !important;   /* change this value */
    height: 6px !important;  /* keep same as width for perfect circle */
  }
}


/* === Gap under the hero/carousel → footer (Start page only) === */
:root{
  /* tweak these three numbers to your taste */
  --hero-gap-desktop: 27px;   /* ≥1025px */
  --hero-gap-tablet:  10px;   /* 701–1024px */
  --hero-gap-mobile:  -14px;   /* ≤700px */
}

/* Desktop */
@media (min-width:1025px){
  .page-id-2887 .hero-wrap:last-of-type{
    margin-bottom: var(--hero-gap-desktop) !important;
  }
}

/* Tablet */
@media (min-width:701px) and (max-width:1024px){
  .page-id-2887 .hero-wrap:last-of-type{
    margin-bottom: var(--hero-gap-tablet) !important;
  }
}

/* Mobile */
@media (max-width:700px){
  .page-id-2887 .hero-wrap:last-of-type{
    margin-bottom: var(--hero-gap-mobile) !important;
  }
}

/* ===== Start page (ID 2887) – caption spacing + font, live-tweak knobs ===== */
.page-id-2887{
  /* TWEAK THESE VALUES */
  --cap-gap-desktop: 10px;   /* caption top & bottom gap on DESKTOP (keeps centered) */
  --cap-gap-tablet:  8px;   /* caption top & bottom gap on TABLET (keeps centered) */
  --cap-font-desktop: .95rem;
  --cap-font-tablet:  .8rem;

  --cap-top-mobile:    6px;  /* caption distance from IMAGE on MOBILE (only top) */
  --cap-bottom-mobile: 10px; /* caption bottom on MOBILE (keeps footer distance) */

  --after-carousel-gap: 13px;/* space below the whole gallery before footer */
}

/* Desktop ≥1025px */
@media (min-width:1025px){
  .page-id-2887 { --cap-gap: var(--cap-gap-desktop); }
  .page-id-2887 .hero-caption{
    font-size: var(--cap-font-desktop) !important;
    margin-top: var(--cap-gap) !important;
    margin-bottom: var(--cap-gap) !important;
  }
}

/* Tablet 701–1024px */
@media (min-width:701px) and (max-width:1024px){
  .page-id-2887 { --cap-gap: var(--cap-gap-tablet); }
  .page-id-2887 .hero-caption{
    font-size: var(--cap-font-tablet) !important;
    margin-top: var(--cap-gap) !important;
    margin-bottom: var(--cap-gap) !important; /* centered between image & thumbs */
  }
  /* ensure thumbs sit the same distance below the caption */
  .page-id-2887 .hero-thumbs{ margin-top: var(--cap-gap) !important; }
}

/* Mobile ≤700px (no thumbs) */
@media (max-width:700px){
  .page-id-2887 .hero-caption{
    font-size: var(--cap-font-mobile, .85rem) !important;
    margin-top: var(--cap-top-mobile) !important;        /* pull closer to image */
    margin-bottom: var(--cap-bottom-mobile) !important;  /* keep footer distance */
  }
}

/* Gap below the whole gallery before the footer (all views) */
.page-id-2887 .hero-gallery{
  margin-bottom: var(--after-carousel-gap) !important;
}

/* === Start page 2887 — caption font + bottom gap, per breakpoint === */
.page-id-2887{
  /* TWEAK THESE */
  --cap-font-desktop: .90rem;
  --cap-font-tablet:  .88rem;
  --cap-font-mobile:  .86rem;

  --after-gap-desktop: 0px;  /* space below the whole gallery before the footer */
  --after-gap-tablet:  0px;
  --after-gap-mobile:  13px;
}

/* Desktop ≥1025px */
@media (min-width:1025px){
  .page-id-2887 .entry-content .hero-gallery .hero-caption,
  .page-id-2887 .entry-content #hero .hero-caption,
  .page-id-2887 .hero-caption{
    font-size: var(--cap-font-desktop) !important;
    line-height: 1.15 !important;
  }
  .page-id-2887 .hero-gallery{ margin-bottom: var(--after-gap-desktop) !important; }
}

/* Tablet 701–1024px */
@media (min-width:701px) and (max-width:1024px){
  .page-id-2887 .entry-content .hero-gallery .hero-caption,
  .page-id-2887 .entry-content #hero .hero-caption,
  .page-id-2887 .hero-caption{
    font-size: var(--cap-font-tablet) !important;
    line-height: 1.15 !important;
  }
  .page-id-2887 .hero-gallery{ margin-bottom: var(--after-gap-tablet) !important; }
}

/* Mobile ≤700px */
@media (max-width:700px){
  .page-id-2887 .entry-content .hero-gallery .hero-caption,
  .page-id-2887 .entry-content #hero .hero-caption,
  .page-id-2887 .hero-caption{
    font-size: var(--cap-font-mobile) !important;
    line-height: 1.15 !important;
  }
  .page-id-2887 .hero-gallery{ margin-bottom: var(--after-gap-mobile) !important; }
}

/* Tablet-only: smaller thumbnail titles inside previews */
@media (min-width:701px) and (max-width:1024px){
  .page-id-2887 .hero-thumb::after{
    font-size:0.85rem !important;  /* tweak between 0.85–0.95 until perfect */
  }
}

/* ================================================================
   UNIFIED: drawer width (tablet+mobile), caret alignment, last divider
   (replaces any earlier .ast-mobile-popup-drawer.active width rules)
   ================================================================ */

/* tweakables */
:root{
  --drawer-w-mobile: 0vw;   /* phones; tweak to taste */
  --drawer-w-tablet: 0vw;   /* tablets */
  --drawer-radius: 20px;     /* rounded left edge */
  --caret-pad: 5px;         /* caret distance from right edge */
}

/* Drawer base (Astra Free variants) */
body.ast-header-break-point
  .ast-mobile-popup-drawer .ast-mobile-popup-inner,
body.ast-header-break-point
  #ast-mobile-popup .ast-mobile-popup-inner,
body.ast-header-break-point
  .ast-off-canvas-active .ast-mobile-popup-inner{
  right: 0 !important;
  left: auto !important;
  width: var(--drawer-w-mobile) !important;   /* default = phones */
  max-width: 520px;                           /* safety cap */
  margin-left: auto !important;
  border-top-left-radius: var(--drawer-radius);
  border-bottom-left-radius: var(--drawer-radius);
  overflow: hidden;
}

/* Tablet width */
@media (min-width:545px) and (max-width:1024px){
  body.ast-header-break-point
    .ast-mobile-popup-drawer .ast-mobile-popup-inner,
  body.ast-header-break-point
    #ast-mobile-popup .ast-mobile-popup-inner,
  body.ast-header-break-point
    .ast-off-canvas-active .ast-mobile-popup-inner{
    width: var(--drawer-w-tablet) !important;
  }
}

/* Right-align labels & shove caret to the far right */
body.ast-header-break-point .ast-mobile-header-wrap .main-header-menu,
body.ast-header-break-point .ast-mobile-header-wrap .main-header-menu .menu-item > a{
  text-align: right !important;
}

body.ast-header-break-point
  .ast-mobile-header-wrap .main-header-menu .menu-item-has-children{ position: relative; }

body.ast-header-break-point
  .ast-mobile-header-wrap .main-header-menu .menu-item-has-children > .ast-menu-toggle{
  position: absolute !important;
  top: 50%;
  right: var(--caret-pad) !important;  /* ← tweak to line up with the right edge */
  left: auto !important;
  transform: translateY(-50%);
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Keep room so long labels don't run under the caret */
body.ast-header-break-point
  .ast-mobile-header-wrap .main-header-menu .menu-item-has-children > a.menu-link{
  padding-right: calc(var(--caret-pad) + 34px) !important;
}

/* Remove the final divider under the last item (“Kontakt”) */
body.ast-header-break-point .ast-mobile-header-wrap .main-header-menu > .menu-item:last-child,
body.ast-header-break-point .ast-mobile-header-wrap .main-header-menu > .menu-item:last-child > .menu-link{
  border-bottom: none !important;
}


/* ======================================================
   Faux right-side drawer for ASTRA's *Dropdown* mobile menu
   – works whether Transparent Header is on or off
   – only changes width/position + last divider
   ====================================================== */

/* tweak knobs */
:root{
  --mob-drawer-w: 57vw;   /* phones ≤700px */
  --tab-drawer-w: 27vw;   /* tablets 701–1024px */
  --drawer-radius: 0px;  /* left edge rounding */
}

/* ========== PHONE (≤700px) ========== */
@media (max-width:700px){

  /* the dropdown content block that holds the menu */
  #ast-mobile-header .ast-mobile-header-content{
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    width: var(--mob-drawer-w) !important;
    max-width: 520px !important;
    margin: 0 !important;
    transform: none !important;
    background: inherit !important;          /* keep theme bg */
    border-top-left-radius: var(--drawer-radius) !important;
    border-bottom-left-radius: var(--drawer-radius) !important;
    overflow: auto !important;
    z-index: 999999 !important;
  }

  /* ensure the wrapper doesn't fight positioning */
  .ast-mobile-header-wrap{ position: static !important; }

  /* remove last divider under “Kontakt” */
  #ast-mobile-header .main-header-menu > li:last-child,
  #ast-mobile-header .main-header-menu > li:last-child > a{
    border-bottom: 0 !important;
  }
}

/* ========== TABLET (701–1024px) ========== */
@media (min-width:701px) and (max-width:1024px){

  #ast-mobile-header .ast-mobile-header-content{
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    width: var(--tab-drawer-w) !important;
    max-width: 620px !important;
    margin: 0 !important;
    transform: none !important;
    background: inherit !important;
    border-top-left-radius: var(--drawer-radius) !important;
    border-bottom-left-radius: var(--drawer-radius) !important;
    overflow: auto !important;
    z-index: 999999 !important;
  }

  .ast-mobile-header-wrap{ position: static !important; }

  /* remove last divider on tablet too */
  #ast-mobile-header .main-header-menu > li:last-child,
  #ast-mobile-header .main-header-menu > li:last-child > a{
    border-bottom: 0 !important;
  }
}

/* If your build uses the older inner node name, catch it too */
@media (max-width:1024px){
  #ast-mobile-header .ast-mobile-header-content .ast-container,
  #ast-mobile-header .ast-mobile-popup-inner{
    width: 100% !important;
    max-width: none !important;
  }
}

/* ==========================
   Drawer polish (shadow + lower-left radius)
   Works for both “Dropdown” and “Off-canvas” modes
   ========================== */

/* Phones & tablets */
@media (max-width:1024px){

  /* Your active drawer (dropdown variant) */
  #ast-mobile-header .ast-mobile-header-content{
    /* visual only — no position/width changes */
    background: #fff !important;
    box-shadow: 0 14px 32px rgba(0,0,0,.24) !important;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 2px !important;  /* ← tweak this */
    overflow: hidden !important;
    z-index: 999999 !important;
  }

  /* If the site toggles to Astra's off-canvas inner, style it too (safe no-op otherwise) */
  .ast-mobile-popup-drawer .ast-mobile-popup-inner{
    background: #fff !important;
    box-shadow: 0 14px 32px rgba(0,0,0,.24) !important;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 2px !important;
    overflow: hidden !important;
  }

  /* Kill any dim overlay so only the panel casts a shadow */
  .ast-off-canvas-overlay,
  #ast-mobile-header .ast-mobile-popup-overlay,
  .ast-mobile-popup-overlay{
    background: transparent !important;
  }
}

/* Drawer height + shadow + only bottom-left radius
   (does not change width or alignment)  */
:root{
  --drawer-top-mobile: 43px;   /* distance from top on phones */
  --drawer-top-tablet: 44px;   /* distance from top on tablets */
  --drawer-bottom-gap: 16px;   /* space above footer edge (both) */
  --drawer-bl-radius: 22px;    /* bottom-left roundness */
  --drawer-shadow: 0 18px 40px rgba(0,0,0,.3);
}

/* ===== Phones ≤700px ===== */
@media (max-width:700px){
  #ast-mobile-header .ast-mobile-header-content{
    top: var(--drawer-top-mobile) !important;
    bottom: auto !important;
    max-height: calc(100vh - var(--drawer-top-mobile) - var(--drawer-bottom-gap)) !important;
    margin-bottom: var(--drawer-bottom-gap) !important;

    background:#fff !important;
    box-shadow: var(--drawer-shadow) !important;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: var(--drawer-bl-radius) !important;
    overflow:auto !important;
    z-index: 999999 !important;
  }

  /* (if Astra switches to off-canvas inner, style it too) */
  .ast-mobile-popup-drawer .ast-mobile-popup-inner{
    top: var(--drawer-top-mobile) !important;
    bottom: auto !important;
    max-height: calc(100vh - var(--drawer-top-mobile) - var(--drawer-bottom-gap)) !important;
    margin-bottom: var(--drawer-bottom-gap) !important;

    background:#fff !important;
    box-shadow: var(--drawer-shadow) !important;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: var(--drawer-bl-radius) !important;
    overflow:auto !important;
  }

  /* no page-dimming overlay */
  .ast-off-canvas-overlay,
  #ast-mobile-header .ast-mobile-popup-overlay,
  .ast-mobile-popup-overlay{ background:transparent !important; }
}

/* ===== Tablets 701–1024px ===== */
@media (min-width:701px) and (max-width:1024px){
  #ast-mobile-header .ast-mobile-header-content{
    top: var(--drawer-top-tablet) !important;
    bottom: auto !important;
    max-height: calc(100vh - var(--drawer-top-tablet) - var(--drawer-bottom-gap)) !important;
    margin-bottom: var(--drawer-bottom-gap) !important;

    background:#fff !important;
    box-shadow: var(--drawer-shadow) !important;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: var(--drawer-bl-radius) !important;
    overflow:auto !important;
    z-index: 999999 !important;
  }
  .ast-mobile-popup-drawer .ast-mobile-popup-inner{
    top: var(--drawer-top-tablet) !important;
    bottom: auto !important;
    max-height: calc(100vh - var(--drawer-top-tablet) - var(--drawer-bottom-gap)) !important;
    margin-bottom: var(--drawer-bottom-gap) !important;

    background:#fff !important;
    box-shadow: var(--drawer-shadow) !important;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: var(--drawer-bl-radius) !important;
    overflow:auto !important;
  }
  .ast-off-canvas-overlay,
  #ast-mobile-header .ast-mobile-popup-overlay,
  .ast-mobile-popup-overlay{ background:transparent !important; }
}

/* ===== Rounded top-left corner for mobile/tablet menu ===== */
@media (max-width:1024px){
  #ast-mobile-header .ast-mobile-header-content,
  .ast-mobile-popup-drawer .ast-mobile-popup-inner{
    border-top-left-radius: 22px !important;  /* ← tweak roundness here */
    overflow: hidden !important;
  }
}


/* ===== TABLET ONLY (701–1024px) — unify font size & outline ===== */
@media (min-width:701px) and (max-width:1024px){

  /* Make all menu links (main + submenu) use the same font and outline */
  #ast-mobile-header .main-header-menu a.menu-link,
  #ast-mobile-header .main-header-menu .sub-menu a.menu-link {
    font-size: 0.98rem !important;                /* unify font size */
    font-weight: 400 !important;               /* consistent weight */
    color: inherit !important;                 /* keep same color */
    text-shadow: 0 0 0.37px rgba(0,0,0,1) !important; /* subtle outline */
  }
}


/* ===== MOBILE ONLY (≤700px) — unify font size & outline ===== */
@media (max-width:700px){

  /* Make all menu links (main + submenu) use the same font and outline */
  #ast-mobile-header .main-header-menu a.menu-link,
  #ast-mobile-header .main-header-menu .sub-menu a.menu-link {
    font-size: 0.95rem !important;             /* slightly smaller for phones */
    font-weight: 400 !important;               /* consistent weight */
    color: inherit !important;                 /* keep same color */
    text-shadow: 0 0 0.4px rgba(0,0,0,0.5) !important; /* subtle outline */
  }
}

/* Nudge ONLY the Utomhusfoto submenu text left to align with Drönartjänster, etc. */

/* Tablet (701–1024px) */
@media (min-width:701px) and (max-width:1024px){
  #ast-mobile-header .main-header-menu
  .menu-item-has-children > .sub-menu > li > a,
  #ast-mobile-header .main-header-menu
  .menu-item-has-children > .sub-menu > li > .menu-link{
    display: inline-block !important;
    transform: translateX(-7px) !important; /* tweak this value */
  }
}

/* Mobile (≤700px) */
@media (max-width:700px){
  #ast-mobile-header .main-header-menu
  .menu-item-has-children > .sub-menu > li > a,
  #ast-mobile-header .main-header-menu
  .menu-item-has-children > .sub-menu > li > .menu-link{
    display: inline-block !important;
    transform: translateX(-7px) !important; /* tweak this value */
  }
}

/* ===== Footer "Kontakta mig" button (NEW builder widget) ===== */
.site-footer .footer-cta {
  display: inline-block;
  padding: 12px 28px;
  background-color: #6C7C8B;   /* base color */
  color: #FFFFFF !important;   /* always white text */
  border-radius: 9999px;       /* pill shape */
  text-decoration: none;
  font-weight: 500;
  transition: background-color 0.25s ease;
}

.site-footer .footer-cta:hover {
  background-color: #8A9BAB;   /* hover shade */
  color: #FFFFFF !important;   /* stay white */
}

/* Slightly smaller and centered on mobile */
@media (max-width: 768px) {
  .site-footer .footer-cta {
    padding: 10px 22px;
    text-align: center;
  }
}

/* Hide orphan kontakt links in the below-footer/copyright row only */
.site-footer .site-below-footer-wrap a[href*="kontakt"]:not(.footer-cta){
  display: none !important;
}


/* === Desktop only: push footer button further right === */
@media (min-width:1025px){
  .site-footer .footer-cta-wrap {
    margin-left: auto !important;   /* keep it on the right */
    text-align: right !important;   /* align the button inside */
    padding-right: 0px !important; /* adjust this number until it lines up */
  }
}


/* Tablet only (701px–1024px): nudge button slightly right */
@media (min-width:701px) and (max-width:1024px){
  .site-footer .footer-cta-wrap {
    padding-right: px !important;  /* adjust this: try 24–48px */
    text-align: right !important;
  }
}


@media (min-width:1025px){
  .page-id-2887 .site-footer{ margin-top: -10px !important; }
}
@media (min-width:701px) and (max-width:1024px){
  .page-id-2887 .site-footer{ margin-top: -2px !important; }
}

/* Desktop only — tighten the gap between the intro text (first block)
   and the next block (your gallery/carousel) on the Start page */
@media (min-width:1025px){
  /* shrink the bottom margin of the FIRST block (intro group/text) */
  .page-id-2887 .entry-content > *:first-child{
    margin-bottom: -15px !important;   /* try 0–16px */
  }

  /* remove any top margin on the SECOND block (the gallery) */
  .page-id-2887 .entry-content > *:first-child + *{
    margin-top: 0 !important;
  }
}

/* ===== MOBILE ONLY (≤700px): move the button section above socials & copyright ===== */
@media (max-width:700px) {
  /* Turn footer container into vertical stack */
  .site-footer-below-section-1,
  .site-footer-below-section-2 {
    width: 100% !important;
  }

  .site-footer-below-section-1 {
    order: 2 !important; /* socials + copyright second */
  }

  .site-footer-below-section-2 {
    order: 1 !important; /* button section first */
    margin-bottom: 10px !important;
  }

  /* Ensure parent wrapper uses flex to respect ordering */
  .site-footer-below-sections-wrap,
  .site-footer-below-section-wrap,
  .ast-footer-below-wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }
}

@media (max-width: 768px) {
  /* Add space below the button */
  .site-footer .footer-cta-wrap {
    margin-bottom: 6px !important;
  }

  /* Add space below the social icons */
  .site-footer .ast-footer-social-wrap {
    margin-bottom: -5px !important;
  }
  /* Optional: give the copyright a bit of breathing room too */
  .site-footer .ast-footer-copyright {
    margin-top: 10px !important;
  }
} /* closes @media (max-width: 768px) */

/* -----------------------------------------
   FORMGIVNING (page-id-2965) — LAYOUT ONLY
   (keeps your carousel + intro padding tweaks)
   No font-size / line-height / color changes.
   ----------------------------------------- */

/* Desktop (≥922px) */
.page-id-2965 .entry-content > *:first-child{
  /* Grey intro group: sit snug under header */
  margin-top: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 30px !important;
}

/* Small, even gap before the next block (carousel) */
.page-id-2965 .entry-content > *:first-child + *{
  margin-top: 16px !important;
}

/* Tablet (545–921px) — layout only */
@media (min-width:545px) and (max-width:921px){
  .page-id-2965 .entry-content > *:first-child{
    padding-top: 10px !important;
    padding-bottom: 22px !important;
  }
  .page-id-2965 .entry-content > *:first-child + *{
    margin-top: 14px !important;
  }
}

/* Mobile (≤544px) — layout only */
@media (max-width:544px){
  .page-id-2965 .entry-content > *:first-child{
    padding-top: 8px !important;
    padding-bottom: 18px !important;
  }
  .page-id-2965 .entry-content > *:first-child + *{
    margin-top: 12px !important;
  }
}

/* ===============================
   FORMGIVNING PAGE (ID 2965)
   Typography only – matches Start page
   =============================== */

/* Desktop (≥922px) */
@media (min-width:922px){
  .page-id-2965 .entry-content p,
  .page-id-2965 .entry-content .wp-block-paragraph,
  .page-id-2965 .entry-content .wp-block-group p {
    font-family: "Jost", sans-serif !important;
    font-size: 17px !important;
    line-height: 1.5 !important;
    color: #141414 !important;
  }
}

/* Tablet (545–921px) */
@media (min-width:545px) and (max-width:921px){
  .page-id-2965 .entry-content p,
  .page-id-2965 .entry-content .wp-block-paragraph,
  .page-id-2965 .entry-content .wp-block-group p {
    font-family: "Jost", sans-serif !important;
    font-size: 16.7px !important;
    line-height: 1.45 !important;
    color: #141414 !important;
  }
}

/* Mobile (≤544px) */
@media (max-width:544px){
  .page-id-2965 .entry-content p,
  .page-id-2965 .entry-content .wp-block-paragraph,
  .page-id-2965 .entry-content .wp-block-group p {
    font-family: "Jost", sans-serif !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
    color: #141414 !important;
  }
}

/* FORMGIVNING (page-id-2965) — add space above the footer (all views) */

/* Desktop ≥922px */
@media (min-width:922px){
  .page-id-2965 .entry-content,
  .page-id-2965 .entry-content > :last-child,
  .page-id-2965 .entry-content > .wp-block-group:last-child,
  .page-id-2965 .entry-content > .wp-block-columns:last-child{
    padding-bottom: 35px !important;  /* adjust if you want more/less */
    margin-bottom: 0 !important;
  }
}

/* Tablet 545–921px */
@media (min-width:545px) and (max-width:921px){
  .page-id-2965 .entry-content,
  .page-id-2965 .entry-content > :last-child,
  .page-id-2965 .entry-content > .wp-block-group:last-child,
  .page-id-2965 .entry-content > .wp-block-columns:last-child{
    padding-bottom: 27px !important;
    margin-bottom: 0 !important;
  }
}

/* Mobile ≤544px (you already had this working; kept for completeness) */
@media (max-width:544px){
  .page-id-2965 .entry-content,
  .page-id-2965 .entry-content > :last-child,
  .page-id-2965 .entry-content > .wp-block-group:last-child,
  .page-id-2965 .entry-content > .wp-block-columns:last-child{
    padding-bottom: 10px !important;
    margin-bottom: 0 !important;
  }
}

/* === FORMGIVNING (page-id-2965): Align intro text with logo/menu edges === */

.page-id-2965 .entry-content > *:first-child {
  margin-left: 35px !important;   /* tweak this number for perfect alignment */
  margin-right: 25px !important;  /* keeps symmetry on both sides */
}

/* Tablet */
@media (min-width:545px) and (max-width:921px){
  .page-id-2965 .entry-content > *:first-child {
    margin-left: -12px !important;
    margin-right: 0px !important;
  }
}

/* Mobile */
@media (max-width:544px){
  .page-id-2965 .entry-content > *:first-child {
    margin-left: -7px !important;
    margin-right: -4px !important;
  }
}


/* ===============================================
   ASTRA MOBILE MENU — ENABLE SCROLL FOR SUBMENU
   Works for Off-Canvas (flyout) menus only.
   =============================================== */

@media (max-width:1024px) {

  /* 1️⃣ Ensure the entire flyout drawer allows overflow */
  .ast-mobile-popup-drawer.active .ast-mobile-popup-inner,
  #ast-mobile-header .ast-mobile-header-content {
    overflow-y: auto !important;
    max-height: calc(100vh - 60px) !important; /* subtract header height */
    -webkit-overflow-scrolling: touch !important; /* smooth iOS scroll */
  }

  /* 2️⃣ Limit the sub-menu height and make it scrollable */
  .ast-mobile-popup-drawer.active .main-header-menu .sub-menu {
    max-height: 70vh !important;      /* adjust to taste */
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
  }

  /* 3️⃣ Optional: nice scrollbar styling */
  .ast-mobile-popup-drawer.active .main-header-menu .sub-menu::-webkit-scrollbar {
    width: 6px;
  }
  .ast-mobile-popup-drawer.active .main-header-menu .sub-menu::-webkit-scrollbar-thumb {
    background: rgba(0,0,0,0.25);
    border-radius: 3px;
  }

  /* 4️⃣ Prevent double scroll on very tall menus */
  .ast-mobile-popup-inner .main-header-menu {
    overflow-y: visible !important;
  }
}



/* OM MIG (4027) — rounded image corners (all breakpoints) */
.page-id-4027 .wp-block-media-text__media,
.page-id-4027 .wp-block-media-text img,
.page-id-4027 .wp-block-image,
.page-id-4027 .wp-block-image img{
  border-radius: 18px;
  overflow: hidden;          /* ensures the image clips to the radius */
}


/* OM MIG (4027) — control top spacing under header for all devices */

/* === Desktop (≥922px) === */
@media (min-width:922px){
  .page-id-4027 .entry-content{
    margin-top: -70px !important;   /* adjust this value manually */
  }
}

/* === Tablet (545px–921px) === */
@media (min-width:545px) and (max-width:921px){
  .page-id-4027 .entry-content{
    margin-top: -35px !important;   /* adjust this value manually */
  }
}

/* === Mobile (≤544px) === */
@media (max-width:544px){
  .page-id-4027 .entry-content{
    margin-top: -55px !important;   /* adjust this value manually */
  }
}

/* OM MIG (4027) — stack Media & Text on tablet/mobile with TEXT FIRST */
@media (max-width: 921px){
  /* Stack instead of side-by-side */
  .page-id-4027 .wp-block-media-text{
    display: flex !important;
    flex-direction: column !important;    /* stack vertically */
    row-gap: 18px;                         /* space between text and image */
  }

  /* Ensure TEXT comes first, IMAGE second */
  .page-id-4027 .wp-block-media-text .wp-block-media-text__content{ order: 1; }
  .page-id-4027 .wp-block-media-text .wp-block-media-text__media{ order: 2; }

  /* Keep media responsive */
  .page-id-4027 .wp-block-media-text .wp-block-media-text__media img{
    width: 100%;
    height: auto;
    display: block;
  }
}

/* OM MIG (4027) — reduce gap between paragraphs */
.page-id-4027 .entry-content p {
  margin-top: 0 !important;
  margin-bottom: 0.9em !important;  /* default is usually ~1.5em */
  line-height: 1.5;                 /* optional: adjust if text looks too tight */
}


/* =========================================
   OM MIG (4027) — Typography per device
   ========================================= */

/* Desktop (≥922px) */
@media (min-width:922px){
  .page-id-4027 .entry-content p {
    font-size: 17px !important;      /* readable and elegant */
    line-height: 1.5 !important;     /* good vertical rhythm */
  }

  .page-id-4027 .entry-content h2,
  .page-id-4027 .entry-content h3 {
    line-height: 1.3 !important;
    margin-bottom: 0.6em;
  }
}

/* Tablet (545–921px) */
@media (min-width:545px) and (max-width:921px){
  .page-id-4027 .entry-content p {
    font-size: 16.5px !important;
    line-height: 1.4 !important;
  }

  .page-id-4027 .entry-content h2,
  .page-id-4027 .entry-content h3 {
    line-height: 1.25 !important;
    margin-bottom: 0.55em;
  }
}

/* Mobile (≤544px) */
@media (max-width:544px){
  .page-id-4027 .entry-content p {
    font-size: 15.5px !important;
    line-height: 1.35 !important;
  }

  .page-id-4027 .entry-content h2,
  .page-id-4027 .entry-content h3 {
    line-height: 1.2 !important;
    margin-bottom: 0.5em;
  }
}


/* OM MIG (4027) — Desktop: make image smaller and keep corners visible */
@media (min-width:922px){

  /* target the media column directly */
  .page-id-4027 .wp-block-media-text {
    display: flex !important;
    align-items: flex-start !important;
    column-gap: 0px !important;     /* space between text and image */
  }

  /* text column behaves normally */
  .page-id-4027 .wp-block-media-text__content {
    flex: 1 1 60% !important;        /* text column = ~55% width */
  }

  /* image column smaller */
  .page-id-4027 .wp-block-media-text__media {
    flex: 0 0 35% !important;        /* image column = ~40% width */
    max-width: 540px !important;     /* hard cap so it never gets huge */
    overflow: visible !important;
  }

  /* actual image control */
  .page-id-4027 .wp-block-media-text__media img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;  /* no cropping */
    border-radius: 18px !important;  /* rounded corners */
    margin-top: 0 !important;
    display: block;
  }
}


/* ==========================================
   OM MIG (4027) — Align text with header edges
   ========================================== */

/* Desktop (≥922px) */
@media (min-width:922px){
  .page-id-4027 .wp-block-media-text__content {
    padding-left: 0px !important;   /* align with logo/menu edge */
    padding-right: 0px !important;  /* optional symmetry */
  }
}

/* Tablet (545–921px) */
@media (min-width:545px) and (max-width:921px){
  .page-id-4027 .wp-block-media-text__content {
    padding-left: 0px !important;
    padding-right: 0px !important;
  }
}

/* Mobile (≤544px) */
@media (max-width:544px){
  .page-id-4027 .wp-block-media-text__content {
    padding-left: 0px !important;
    padding-right: 0px !important;
  }
}

/* ==============================================
   OM MIG (4027) — Desktop image sizing & alignment
   ============================================== */
@media (min-width:922px){

  /* Make the media/text block behave predictably */
  .page-id-4027 .wp-block-media-text {
    display: flex !important;
    align-items: center !important;   /* vertically center image with text */
    column-gap: 30px !important;      /* spacing between text & image */
  }

  /* Control text and image proportions */
  .page-id-4027 .wp-block-media-text__content {
    flex: 0 1 55% !important;         /* text takes ~55% width */
  }

  .page-id-4027 .wp-block-media-text__media {
    flex: 0 0 30% !important;         /* image takes ~40% width */
    max-width: 520px !important;      /* absolute max size for image */
    align-self: flex-start !important; /* keep it level with top of text if needed */
  }

  /* Style the image itself */
  .page-id-4027 .wp-block-media-text__media img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;    /* avoids cropping */
    border-radius: 18px !important;    /* keep rounded corners */
    display: block;
    margin: 0 auto;                    /* center it within its column */
  }
}


/* OM MIG (4027) — nudge the whole Media & Text block to the right */

/* Desktop (≥922px) */
@media (min-width:922px){
  .page-id-4027 .wp-block-media-text{
    margin-left: 90px !important;  /* try 20–40px */
  }
}

/* OM MIG (4027) — shift only the image right (desktop only) */
@media (min-width:922px){
  .page-id-4027 .wp-block-media-text__media{
    margin-left: 65px !important;  /* adjust this value: 20–50px depending on spacing you want */
  }
}


/* OM MIG (4027) — Desktop text stretch right + drop + vertical centering */
@media (min-width:922px){

  /* A) Make text sit closer to the image (right edge only) */
  .page-id-4027 .wp-block-media-text{
    column-gap: 65px !important;     /* reduce gap between text & image (was bigger) */
  }
  .page-id-4027 .wp-block-media-text__content{
    padding-right: 20 !important;     /* remove any inner right padding */
    flex: 1 1 auto !important;       /* allow the text column to grow to the right */
    /* do NOT touch padding-left -> left edge stays as-is */
  }

  /* B) Move the whole section slightly down */
  .page-id-4027 .wp-block-media-text{
    margin-top: 20px !important;     /* tweak 8–18px to taste */
  }

  /* C) Center text by the image height */
  .page-id-4027 .wp-block-media-text{
    align-items: center !important;  /* vertically center text & image */
  }

  /* (keep your image sizing as you have it) */
  .page-id-4027 .wp-block-media-text__media{
    overflow: hidden;                 /* keep rounded corners clean */
  }
}


/* OM MIG (4027) — shift only the image (not text) slightly left on desktop */
@media (min-width:922px){
  .page-id-4027 .wp-block-media-text__media img {
    position: relative;
    left: -90px !important; /* move image left — adjust to taste (-20px, -35px, etc.) */
  }
}


/* OM MIG (4027) — center text vertically next to the image (desktop only) */
@media (min-width:922px){
  /* make the block a flex row and center items on the cross-axis */
  .page-id-4027 .wp-block-media-text{
    display: flex !important;
    align-items: center !important;     /* centers text vs. taller image */
  }

  /* make sure the text column actually follows the centering */
  .page-id-4027 .wp-block-media-text__content{
    align-self: center !important;      /* overrides any top alignment */
    margin-top: 0 !important;           /* remove stray top nudges */
    margin-bottom: 0 !important;
  }

  /* keep the image sizing clean (no cropping, rounded corners intact) */
  .page-id-4027 .wp-block-media-text__media{
    overflow: hidden;                    /* clip inside the rounded corners */
  }
  .page-id-4027 .wp-block-media-text__media img{
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;                 /* don’t crop; preserves top corners */
    border-radius: 18px;
  }
}

/* OM MIG (4027) — force line break before “i” in desktop mode */
@media (min-width:922px){
  .page-id-4027 .wp-block-media-text__content p:last-of-type {
    word-break: break-word; /* ensure break works cleanly */
  }

  .page-id-4027 .wp-block-media-text__content p:last-of-type br.desktop-only {
    display: inline;
  }
}
@media (max-width:921px){
  .page-id-4027 .wp-block-media-text__content p:last-of-type br.desktop-only {
    display: none;
  }
}


/* Hide that manual line break on mobile/tablet, keep on desktop */
@media (max-width:921px){
  .page-id-4027 .wp-block-media-text__content p br {
    display: none;
  }
}


/* OM MIG (4027) — adjust separator spacing per device */

/* Desktop (≥922px) */
@media (min-width:922px){
  .page-id-4027 .wp-block-separator{
    margin-top: -35px !important;   /* adjust as needed */
  }
}

/* Tablet (545–921px) */
@media (min-width:545px) and (max-width:921px){
  .page-id-4027 .wp-block-separator{
    margin-top: -20px !important;
  }
}

/* Mobile (≤544px) */
@media (max-width:544px){
  .page-id-4027 .wp-block-separator{
    margin-top: -25px !important;
  }
}


/* OM MIG (4027) — control text ↔ image gap when stacked */

/* Tablet (545–921px) */
@media (min-width:545px) and (max-width:921px){
  .page-id-4027 .wp-block-media-text {
    row-gap: 8px !important;   /* space between text and image */
    margin-bottom: 0 !important;
  }
}

/* Mobile (≤544px) */
@media (max-width:544px){
  .page-id-4027 .wp-block-media-text {
    row-gap: 4px !important;    /* tighter on mobile */
    margin-bottom: 0 !important;
  }
}

/* ABOUT (page 4027) — control the gap under the Media & Text block */


/* Tablet (545–921px) */
@media (min-width:545px) and (max-width:921px){
  .page-id-4027 .entry-content .wp-block-media-text{
    margin-bottom: -45px !important;
  }
}

/* Mobile (≤544px) */
@media (max-width:544px){
  .page-id-4027 .entry-content .wp-block-media-text{
    margin-bottom: -40px !important;
  }
}


/* ABOUT PAGE (4027) — move blue 'Andra projekt' section up */

/* Desktop (≥922px) */
@media (min-width:922px){
  .page-id-4027 .wp-block-group.has-background {
    margin-top: -36px !important;
  }
}

/* Tablet (545–921px) */
@media (min-width:545px) and (max-width:921px){
  .page-id-4027 .wp-block-group.has-background {
    margin-top: -28px !important;
  }
}

/* Mobile (≤544px) */
@media (max-width:544px){
  .page-id-4027 .wp-block-group.has-background {
    margin-top: -20px !important;
  }
}

/* ABOUT PAGE (4027) — pull blue 'Andra projekt' background close to line, without hiding it */

/* Desktop (≥922px) */
@media (min-width:922px){
  .page-id-4027 .wp-block-group.has-background {
    margin-top: -20px !important;
  }
}

/* Tablet (545–921px) */
@media (min-width:545px) and (max-width:921px){
  .page-id-4027 .wp-block-group.has-background {
    margin-top: -20px !important;
  }
}

/* Mobile (≤544px) */
@media (max-width:544px){
  .page-id-4027 .wp-block-group.has-background {
    margin-top: -20px !important;
  }
}


/* ABOUT page (4027) — pull the section title up inside the blue band */

/* Desktop (≥922px) */
@media (min-width:922px){
  /* Reduce the top padding of the blue background group */
  .page-id-4027 .wp-block-group.has-background{
    padding-top: 35px !important;
  }
  /* Remove any extra top margin on the heading itself */
  .page-id-4027 .wp-block-group.has-background h1,
  .page-id-4027 .wp-block-group.has-background h2,
  .page-id-4027 .wp-block-group.has-background .wp-block-heading{
    margin-top: 0 !important;
  }
  /* If a spacer is the first child in the group, kill it */
  .page-id-4027 .wp-block-group.has-background > .wp-block-spacer:first-child{
    height: 0 !important;
    margin: 0 !important;
  }
}

/* Tablet (545–921px) */
@media (min-width:545px) and (max-width:921px){
  .page-id-4027 .wp-block-group.has-background{
    padding-top: 20px !important;
  }
  .page-id-4027 .wp-block-group.has-background h1,
  .page-id-4027 .wp-block-group.has-background h2,
  .page-id-4027 .wp-block-group.has-background .wp-block-heading{
    margin-top: 0 !important;
  }
  .page-id-4027 .wp-block-group.has-background > .wp-block-spacer:first-child{
    height: 0 !important;
    margin: 0 !important;
  }
}

/* Mobile (≤544px) */
@media (max-width:544px){
  .page-id-4027 .wp-block-group.has-background{
    padding-top: 17px !important;
  }
  .page-id-4027 .wp-block-group.has-background h1,
  .page-id-4027 .wp-block-group.has-background h2,
  .page-id-4027 .wp-block-group.has-background .wp-block-heading{
    margin-top: 0 !important;
  }
  .page-id-4027 .wp-block-group.has-background > .wp-block-spacer:first-child{
    height: 0 !important;
    margin: 0 !important;
  }
}


/* About page (4027) — tighten the gap between Media & Text and the separator */

/* Don't let the Media & Text block add its own bottom margin */
.page-id-4027 .wp-block-media-text{
  margin-bottom: 0 !important;
}

/* Tablet (≤921px): make the spacer right after the Media & Text block small */
@media (max-width: 921px){
  .page-id-4027 .wp-block-media-text + .wp-block-spacer{
    height: 47px !important;   /* tweak if needed */
    margin: 0 !important;
  }
}

/* Mobile (≤544px): even tighter */
@media (max-width: 544px){
  .page-id-4027 .wp-block-media-text + .wp-block-spacer{
    height: 40px !important;    /* tweak if needed */
    margin: 0 !important;
  }
}



/* About page (id 4027): force Medium for the 3 project titles */
.page-id-4027 .entry-content .proj-title,
.page-id-4027 .entry-content .proj-title * {
  font-family: "Jost", sans-serif !important;
  font-weight: 500 !important;              /* Medium */
  font-variation-settings: "wght" 500 !important; /* works if variable Jost is loaded */
}


/* Om mig (page-id-4027): tighten gap under "Andra projekt" */
.page-id-4027 .entry-content .about-projects__inner{
  margin-bottom: 0 !important;    /* remove group’s bottom gap */
  padding-bottom: 0 !important;
  --wp--style--block-gap: 0 !important;
}

/* Desktop (≥922px) */
@media (min-width:922px){
  .page-id-4027 .entry-content .about-projects__inner + p.proj-section{
    margin-top: -2px !important;   /* set your exact gap */
  }
}

/* Tablet (545–921px) */
@media (min-width:545px) and (max-width:921px){
  .page-id-4027 .entry-content .about-projects__inner + p.proj-section{
    margin-top: -0px !important;
  }
}

/* Mobile (≤544px) */
@media (max-width:544px){
  .page-id-4027 .entry-content .about-projects__inner + p.proj-section{
    margin-top: -0px !important;
  }
}


/* Targets the images in that section on page 4027 */
@media (min-width:922px){
  .page-id-4027 .entry-content .wp-block-columns .wp-block-column .wp-block-image{ margin-bottom:12px !important; }
}
@media (min-width:545px) and (max-width:921px){
  .page-id-4027 .entry-content .wp-block-columns .wp-block-column .wp-block-image{ margin-bottom:14px !important; }
}
@media (max-width:544px){
  .page-id-4027 .entry-content .wp-block-columns .wp-block-column .wp-block-image{ margin-bottom:12px !important; }
}


/* Adjust spacing between project titles (.proj-title) and their description text */

/* Desktop (≥922px) */
@media (min-width:922px){
  .page-id-4027 .entry-content .proj-title{
    margin-bottom: 5px !important;  /* move text upward */
  }
  .page-id-4027 .entry-content .proj-title + p{
    margin-top: 0 !important;
  }
}

/* Tablet (545–921px) */
@media (min-width:545px) and (max-width:921px){
  .page-id-4027 .entry-content .proj-title{
    margin-bottom: 3px !important;
  }
  .page-id-4027 .entry-content .proj-title + p{
    margin-top: 0 !important;
  }
}

/* Mobile (≤544px) */
@media (max-width:544px){
  .page-id-4027 .entry-content .proj-title{
    margin-bottom: 3px !important;
  }
  .page-id-4027 .entry-content .proj-title + p{
    margin-top: 0 !important;
  }
}


/* Control vertical gap between each project column when stacked */

/* Desktop (≥922px) */
@media (min-width:922px){
  .page-id-4027 .entry-content .wp-block-columns{
    row-gap: 0 !important;        /* removes vertical spacing between rows if wrapping */
    margin-bottom: -40px !important;  /* adjust to taste */
  }
}


/* --- Tablet (545–921px) --- */
@media (min-width:545px) and (max-width:921px){
  /* Main Columns container */
  .page-id-4027 .entry-content .wp-block-columns{
    --wp--style--block-gap: 0 !important;
    row-gap: 0 !important;
    margin-bottom: 18px !important; /* adjust spacing between projects */
  }

  /* Each column inside */
  .page-id-4027 .entry-content .wp-block-column{
    margin-bottom: 17px !important; /* adjust this to tighten or loosen */
  }
}

/* --- Mobile (≤544px) --- */
@media (max-width:544px){
  .page-id-4027 .entry-content .wp-block-columns{
    --wp--style--block-gap: 0 !important;
    row-gap: 0 !important;
    margin-bottom: 12px !important;
  }

  .page-id-4027 .entry-content .wp-block-column{
    margin-bottom: 12px !important;
  }
}

/* Pull the footer up on Om mig (tablet + mobile) */
@media (max-width: 921px){
  /* 1) Remove bottom padding/margin from the page content area */
  .page-id-4027 .entry-content{ padding-bottom: 0 !important; }
  .page-id-4027 .entry-content > *:last-child{
    margin-bottom: 0 !important;           /* kill last block’s bottom margin */
    padding-bottom: 0 !important;
  }
  /* If the last block is a Columns or Group, also zero it */
  .page-id-4027 .entry-content .wp-block-columns:last-of-type,
  .page-id-4027 .entry-content .wp-block-group:last-of-type{
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  /* 2) Trim the page container’s own bottom padding (Astra) */
  .page-id-4027 .site-content .ast-container{ padding-bottom: 0 !important; }

  /* 3) Nudge the footer up a bit by reducing its top padding */
  .site-footer{ padding-top: 8px !important; }  /* tweak to taste (12–20px) */
}


/* MOBILE ONLY (≤544px) – tighten space above the contact button */
@media (max-width:544px){
  /* reduce the top padding of the footer */
  .site-footer {
    padding-top: 6px !important;   /* try 8–12px until it feels right */
  }

  /* also trim the space above the footer (from last content block) */
  .page-id-4027 .entry-content > *:last-child,
  .page-id-4027 .entry-content .wp-block-group:last-of-type,
  .page-id-4027 .entry-content .wp-block-columns:last-of-type {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
}


/* Make ONLY the top title "Andra projekt" larger */
.page-id-4027 .entry-content .about-projects__inner .proj-title {
  font-size: 20px !important;     /* adjust size here */
  line-height: 1.3 !important;
}

/* Optional: slightly smaller on tablet & mobile */
@media (max-width:921px){
  .page-id-4027 .entry-content .about-projects__inner .proj-title {
    font-size: 18px !important;
  }
}

@media (max-width:544px){
  .page-id-4027 .entry-content .about-projects__inner .proj-title {
    font-size: 18px !important;
  }
}




/* Desktop only (≥922px): visually extend the blue/grey section downward */
@media (min-width:922px){
  .page-id-4027 .entry-content
  .wp-block-group.has-ast-global-color-6-background-color{
    position: relative;              /* allow the extension to sit 'outside' */
  }

  .page-id-4027 .entry-content
  .wp-block-group.has-ast-global-color-6-background-color::after{
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    height: 48px;                    /* how far the color should extend */
    bottom: -19px;                   /* same value as height (no layout shift) */
    background: inherit;             /* same blue/grey as the group */
    pointer-events: none;
  }
}



/* Slightly move the "Om mig" van image to the right */
.page-id-4027 .wp-block-media-text__media img {
  transform: translateX(19px);
}


/* Desktop (≥922px): remove the thin grey/white line between blue section and footer */
@media (min-width:922px){
  /* Remove any leftover background or border from the content wrapper */
  .page-id-4027 .site-content,
  .page-id-4027 .site-content .ast-container {
    background: none !important;
    border-bottom: none !important;
  }

  /* Ensure the blue section visually meets the footer */
  .page-id-4027 .entry-content .wp-block-group.has-ast-global-color-6-background-color {
    margin-bottom: 0 !important;
  }

  /* Optional safeguard if any invisible line remains */
  .page-id-4027 .site-content {
    margin-bottom: 2.5px !important;
  }
}


/* About page (id 4027) — paragraph line-height per breakpoint */

/* Desktop (≥922px) */
@media (min-width:922px){
  .page-id-4027 .entry-content p,
  .page-id-4027 .entry-content li{
    line-height: 1.45 !important;   /* tweak 1.60–1.70 to taste */
  }
}

/* Tablet (545–921px) */
@media (min-width:545px) and (max-width:921px){
  .page-id-4027 .entry-content p,
  .page-id-4027 .entry-content li{
    line-height: 1.35 !important;    /* slightly tighter than desktop */
  }
}

/* Mobile (≤544px) */
@media (max-width:544px){
  .page-id-4027 .entry-content p,
  .page-id-4027 .entry-content li{
    line-height: 1.3 !important;   /* tighter for small screens */
  }
}


/* Center the About-hero image on tablet & mobile only */
@media (max-width: 921px){
  /* hit the media container AND inner figure/img to overpower any old nudge */
  .page-id-4027 .about-hero .wp-block-media-text__media,
  .page-id-4027 .about-hero .wp-block-media-text__media figure,
  .page-id-4027 .about-hero .wp-block-media-text__media img{
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
    transform: none !important;
    position: static !important;
    left: auto !important;
    right: auto !important;
    text-align: center !important;
    max-width: 92vw !important;   /* adjust 88–96vw to taste on mobile */
    height: auto !important;
  }

  /* remove any side padding/gap that could bias centering */
  .page-id-4027 .about-hero.wp-block-media-text{
    padding-left: 0 !important;
    padding-right: 0 !important;
    column-gap: 0 !important;
    grid-column-gap: 0 !important;
    justify-items: center !important;  /* when it renders as grid */
  }

  /* if Gutenberg added align-left/right classes, neutralize them */
  .page-id-4027 .about-hero .alignleft,
  .page-id-4027 .about-hero .alignright{
    float: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* Project image hover effect — subtle zoom + brightness */
.page-id-4027 .entry-content .wp-block-column a img {
  transition: transform 0.4s ease, filter 0.4s ease;
  display: block;                    /* removes gaps under images */
}

/* Hover effect (zoom + brighten) */
.page-id-4027 .entry-content .wp-block-column a:hover img {
  transform: scale(1.04);            /* zoom slightly */
  filter: brightness(1.1);           /* make a bit lighter */
  cursor: pointer;                   /* ensure click hint */
}



/* ---- En dag att minnas: two-column hero ---- */

/* Make both columns equal height and remove unexpected gaps */
.session-columns {
  align-items: stretch !important;    /* same height */
  gap: 40px !important;               /* space between columns */
  padding: 0 !important;              /* no extra top/bottom padding from the row */
  margin: 0 0 36px !important;        /* small space below, before the gallery */
}

/* Ensure each column can stretch fully */
.session-columns > .wp-block-column {
  display: flex !important;
  flex-direction: column;
}

/* Right card */
.session-card {
  background-color: #F2F5F7;          /* blue-grey */
  border-radius: 10px;
  padding: 40px 32px;
  height: 100%;                       /* fill the full column height */
  display: flex;
  flex-direction: column;
  justify-content: center;            /* vertical centering */
  align-items: flex-start;            /* keep text left aligned */
  text-align: left;                   /* left align text */
}

/* Trim default paragraph top/bottom gaps inside the card */
.session-card > *:first-child { margin-top: 0 !important; }
.session-card > *:last-child  { margin-bottom: 0 !important; }

/* Optional: a subtle separator before the gallery */
hr.session-sep {
  border: 0;
  border-top: 1px solid #E6E6E6;
  margin: 32px 0;
}

/* Responsive niceties */
@media (max-width: 921px){
  .session-columns { gap: 24px !important; margin-bottom: 28px !important; }
  .session-card   { padding: 28px 22px; border-radius: 8px; }
}
@media (max-width: 544px){
  .session-card   { padding: 24px 18px; }
}



/* Page-scoped: adjust the page ID if needed (your edit URL looked like post=2946) */
.page-id-2946 .session-wrap{
  /* Keep the section under the logo/nav instead of edge-to-edge */
  max-width: 1200px;              /* <- tune this if you want it wider/narrower */
  margin: 0 auto;                 /* center the whole section */
  padding-inline: 150px;           /* consistent side gutters */
  margin-top: -50px;               /* small breathing room under header */
}

/* Nudge the content a bit more to the right on large desktops (optional) */
@media (min-width: 1280px){
  .page-id-2946 .session-wrap{
    padding-left: 150px;          /* <- move the whole section right to clear the logo */
    padding-right: 100px;          /* right gutter; tweak to taste */
  }
}

/* Make sure the two columns themselves don't add random outer margins */
.page-id-2946 .session-columns{
  margin: 0 !important;
}

/* Keep the right card tidy inside the container */
.page-id-2946 .session-card{
  border-radius: 10px;            /* just to keep the look consistent */
}

/* Tablet & below — let the wrapper breathe a bit less */
@media (max-width: 921px){
  .page-id-2946 .session-wrap{
    max-width: 100%;
    padding-inline: 24px;
    padding-left: 25px;           /* remove the extra big left nudge on smaller screens */
    padding-right: 24px;
  }
}


/* Wrapper: keeps the section contained under the header and centered */
.session-section{
  max-width: 1200px;        /* adjust if you want narrower */
  margin: clamp(12px, 3vw, 28px) auto 0 auto; /* small top space under header */
  padding: 0 clamp(14px, 2vw, 28px);
}

/* Two-column container: match column heights */
.session-columns{
  align-items: stretch;      /* make columns equal height */
  gap: clamp(16px, 2vw, 28px);
}

/* Let each column behave like a vertical stack (so the right card can expand) */
.session-columns > .wp-block-column{
  display: flex;
  flex-direction: column;
}

/* The blue/grey card on the right */
.session-card{
  background: #F2F5F7;       /* your blue-grey */
  border-radius: 16px;
  padding: clamp(16px, 2.4vw, 28px);
  line-height: 1.55;
  box-shadow: 0 0 0 1px rgba(0,0,0,.04) inset; /* a very soft edge */
  flex: 1;                   /* <— makes the card fill the column height */
  display: flex;
  align-items: center;       /* vertically centers the text inside the card */
  justify-content: flex-start;
  text-align: left;          /* left-aligned text, as requested */
}

/* White gap between the two-column section and the gallery below */
.session-section + .session-gallery{
  margin-top: clamp(18px, 3vw, 36px);
}

/* Optional gallery polish */
.session-gallery{
  max-width: 1200px;
  margin: 0 auto clamp(28px, 5vw, 56px);
  padding: 0 clamp(14px, 2vw, 28px);
}
.session-gallery .wp-block-image img{
  display: block;
  border-radius: 12px;
}

/* Tablet / mobile stacking refinements */
@media (max-width: 921px){
  .session-card{ border-radius: 14px; }
}
@media (max-width: 544px){
  .session-card{ border-radius: 12px; }
}


/* Only those three lines */
body.single .ast-container .entry-content p.jost-medium,
body.page .ast-container .entry-content p.jost-medium,
body .wp-block-heading.jost-medium,
body .jost-medium{
  font-family:'Jost',sans-serif !important;
  font-weight:500 !important;
  line-height:1.2em !important;
  margin-bottom:.4em !important;
}
body .jost-medium strong{ font-weight:500 !important; }


/* PAGE 4482 — lift content toward header (supports negative values) */
.page-id-4482 .entry-content > *:first-child {
  padding-top: 0 !important;
  margin-top: -20px !important; /* adjust freely: -10, -25, etc. */
}

/* Desktop (≥922px) */
@media (min-width:922px){
  .page-id-4482 .entry-content > *:first-child{
    margin-top: 0px !important;  /* tweak as needed */
  }
}

/* Tablet (545–921px) */
@media (min-width:545px) and (max-width:921px){
  .page-id-4482 .entry-content > *:first-child{
    margin-top: 10px !important;
  }
}

/* Mobile (≤544px) */
@media (max-width:544px){
  .page-id-4482 .entry-content > *:first-child{
    margin-top: 10px !important;
  }
}

/* Optional backup to neutralize Astra’s container padding if needed */
.page-id-4482 .site-content,
.page-id-4482 .site-content .ast-container{
  padding-top: 0 !important;
}

/* PAGE 4482 — nudge main text area to the right (desktop only) */
@media (min-width:922px){
  .page-id-4482 .entry-content > .wp-block-group:first-of-type {
    margin-left: 12px !important; /* adjust 10–40px as needed */
  }

  .page-id-4482 .session-card .session-card-title{
    text-align: left !important;
    margin-left: -8em !important;   /* match list text start */
  }
}

/* PAGE 4482 — tighter paragraph spacing inside left column */
.page-id-4482 .session-text p,
.page-id-4482 .left-col-tight p {
  line-height: 1.4 !important;      /* controls internal spacing */
}

/* PAGE 4482 — Align .session-card-title with bullets on tablet + mobile */

/* Tablet (545–921px) */
@media (min-width:545px) and (max-width:921px){
  .page-id-4482 .session-card-title {
    position: relative !important;
    left: -63px !important;   /* adjust as needed */
  }
}

/* Mobile (≤544px) */
@media (max-width:544px){
  .page-id-4482 .session-card-title {
    position: relative !important;
    left: -63px !important;   /* adjust separately if needed */
  }
}

/* PAGE 4482 — stretch only the background of .session-card */

/* Tablet (545–921px) */
@media (min-width:545px) and (max-width:921px){
  .page-id-4482 .session-card {
    position: relative !important;
    background: transparent !important;  /* hide original */
    border: 0 !important;
    box-shadow: none !important;
  }

  .page-id-4482 .session-card::before {
    content: "";
    position: absolute;
    top: 0; bottom: 0;
    left: -40px;                       /* extend to left edge */
    right: -40px;                      /* extend to right edge */
    background: #F2F5F7;               /* your grey-blue background */
    border-radius: 14px;               /* keep soft corners */
    z-index: -1;                       /* behind the text */
  }
}

/* Mobile (≤544px) */
@media (max-width:544px){
  .page-id-4482 .session-card {
    position: relative !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .page-id-4482 .session-card::before {
    content: "";
    position: absolute;
    top: 0; bottom: 0;
    left: -25px;                      /* extend to left edge */
    right: -25px;                     /* extend to right edge */
    background: #F2F5F7;
    border-radius: 12px;
    z-index: -1;
  }
}

/* PAGE 4482 — tighten spacing between title and bullet list */
.page-id-4482 .session-card-title {
  margin-bottom: 4px !important;   /* smaller gap under title */
}

.page-id-4482 .session-card-list {
  margin-top: 0 !important;        /* remove extra gap before bullets */
}

/* PAGE 4482 — shift entire card text (title + bullets) left on tablet & mobile */

/* Tablet (545–921px) */
@media (min-width:545px) and (max-width:921px){
  .page-id-4482 .session-card{
    margin-left: -410px !important;  /* try -350 to -420px for fine-tuning */
    width: calc(100% + 380px) !important; /* keeps right edge from cutting off */
  }
}

/* Mobile (≤544px) */
@media (max-width:544px){
  .page-id-4482 .session-card{
    margin-left: -30px !important;   /* tweak smaller values like -20 to -50px */
    width: calc(100% + 30px) !important;
  }
}

/* PAGE 4482 — tighten gap between title and gallery */
.page-id-4482 .session-gallery-title {
  margin-bottom: 8px !important;
}

.page-id-4482 .session-gallery {
  margin-top: 13px !important;
}


/* PAGE 4482 — mobile: pull .session-card closer to the text in left column */
@media (max-width:544px){
  /* shrink the gap created by the last paragraph */
  .page-id-4482 .left-col-tight.session-text p:last-of-type{
    margin-bottom: -20px !important;
  }

  /* shrink the card’s own top margin */
  .page-id-4482 .left-col-tight.session-text > .session-card,
  .page-id-4482 .left-col-tight.session-text .session-card{
    margin-top: 4px !important; /* try 4–12px */
  }

  /* if the column uses block-gap, tone it down */
  .page-id-4482 .left-col-tight.session-text{
    --wp--style--block-gap: 10px;
  }
}

/* PAGE 4482 — control bottom gap between gallery and footer */

/* Desktop (≥922px) */
@media (min-width:922px){
  .page-id-4482 .session-gallery{
    margin-bottom: 10px !important; /* adjust freely: e.g. 40–80px */
  }
}

/* Tablet (545–921px) */
@media (min-width:545px) and (max-width:921px){
  .page-id-4482 .session-gallery{
    margin-bottom: -5px !important; /* tweak as needed */
  }
}

/* Mobile (≤544px) */
@media (max-width:544px){
  .page-id-4482 .session-gallery{
    margin-bottom: -15px !important; /* try 30–60px */
  }
}


/* PAGE 4620 — increase gap under the gallery title (move gallery down) */

/* Desktop (≥922px) */
@media (min-width:922px){
  .page-id-4620 .entry-content .session-gallery { 
    margin-top: 15px !important;  /* tweak */
  }
}

/* Tablet (545–921px) */
@media (min-width:545px) and (max-width:921px){
  .page-id-4620 .entry-content .session-gallery { 
    margin-top: 12px !important;  /* tweak */
  }
}

/* Mobile (≤544px) */
@media (max-width:544px){
  .page-id-4620 .entry-content .session-gallery { 
    margin-top: 12px !important;  /* tweak */
  }
}


/* PAGE 4620 — lift gallery section while keeping internal spacing */

/* Reset any auto spacing between the two */
.page-id-4620 .session-gallery-title{ margin-bottom: 12px !important; } /* ← tweak gap */
.page-id-4620 .session-gallery,
.page-id-4620 .session-gallery-title + .session-gallery{
  margin-top: 0 !important;  /* ensures the gap is controlled by the title only */
  padding-top: 0 !important;
}

/* Desktop (≥922px) — move section up */
@media (min-width:922px){
  .page-id-4620 .session-gallery-title{
    margin-top: -35px !important; /* ← adjust: -10 / -30 etc. */
  }
}

/* Tablet (545–921px) — optional */
@media (min-width:545px) and (max-width:921px){
  .page-id-4620 .session-gallery-title{
    margin-top: -5px !important; /* tweak or set to 0 */
  }
}

/* Mobile (≤544px) — optional */
@media (max-width:544px){
  .page-id-4620 .session-gallery-title{
    margin-top: -4px !important; /* tweak or set to 0 */
  }
}


/* PAGE 4482 — align gallery edges with text columns */
.page-id-4482 .session-gallery {
  width: 100% !important;
  max-width: var(--wp--style--global--content-size, 800px) !important; /* fallback to WP’s content width */
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Remove any internal spacing WP adds */
.page-id-4482 .session-gallery .wp-block-gallery,
.page-id-4482 .session-gallery .blocks-gallery-grid {
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
}

/* Individual gallery items flush with grid */
.page-id-4482 .session-gallery .blocks-gallery-item {
  margin: 0 !important;
}

/* Responsive fine-tune — keeps perfect edge alignment */
@media (min-width:922px){
  .page-id-4482 .session-gallery {
    max-width: 1200px !important; /* tweak until edges match text perfectly */
  }
}
@media (min-width:545px) and (max-width:921px){
  .page-id-4482 .session-gallery {
    max-width: 88vw !important;
  }
}
@media (max-width:544px){
  .page-id-4482 .session-gallery {
    max-width: 92vw !important;
  }
}


/* PAGE 4620 — align gallery edges with text columns */
.page-id-4620 .session-gallery {
  width: 100% !important;
  max-width: var(--wp--style--global--content-size, 800px) !important; /* fallback to WP’s content width */
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Remove any internal spacing WP adds */
.page-id-4620 .session-gallery .wp-block-gallery,
.page-id-4620 .session-gallery .blocks-gallery-grid {
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
}

/* Individual gallery items flush with grid */
.page-id-4620 .session-gallery .blocks-gallery-item {
  margin: 0 !important;
}

/* Responsive fine-tune — keeps perfect edge alignment */
@media (min-width:922px){
  .page-id-4620 .session-gallery {
    max-width: 1200px !important; /* tweak until edges match text perfectly */
  }
}
@media (min-width:545px) and (max-width:921px){
  .page-id-4620 .session-gallery {
    max-width: 88vw !important;
  }
}
@media (max-width:544px){
  .page-id-4620 .session-gallery {
    max-width: 92vw !important;
  }
}

/* PAGE 4620 — control gap between title and intro text (left column) */

/* Zero any default margins so we own the spacing */
.page-id-4620 .left-column-title{ margin-bottom:0 !important; }
.page-id-4620 .left-column-text{  margin-top:0 !important; }

/* Desktop (≥922px) — tweak here */
@media (min-width:922px){
  .page-id-4620 .left-column-title + .left-column-text{
    margin-top: 10px !important; /* ← adjust */
  }
}

/* Tablet (545–921px) — tweak here */
@media (min-width:545px) and (max-width:921px){
  .page-id-4620 .left-column-title + .left-column-text{
    margin-top: 10px !important; /* ← adjust */
  }
}

/* Mobile (≤544px) — tweak here */
@media (max-width:544px){
  .page-id-4620 .left-column-title + .left-column-text{
    margin-top: 10px !important; /* ← adjust */
  }
}


/* PAGE 4620 — vertically center left column next to the blue card */
.page-id-4620 .wp-block-columns {
  align-items: center !important; /* centers both columns vertically */
}

/* Optional: if only this specific section should be centered */
.page-id-4620 .session-columns {
  align-items: center !important;
}


/* PAGE 4620 — nudge entire content slightly down from logo/header */

/* Desktop (≥922px) */
@media (min-width:922px){
  .page-id-4620 .entry-content > *:first-child {
    margin-top: -50px !important; /* adjust as needed */
  }
}

/* Tablet (545–921px) */
@media (min-width:545px) and (max-width:921px){
  .page-id-4620 .entry-content > *:first-child {
    margin-top: -30px !important; /* adjust */
  }
}

/* Mobile (≤544px) */
@media (max-width:544px){
  .page-id-4620 .entry-content > *:first-child {
    margin-top: -35px !important; /* adjust */
  }
}


/* PAGE 4620 — MOBILE: stretch the blue session card edge to edge */
@media (max-width:544px){
  .page-id-4620 .session-card {
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    border-radius: 0 !important;         /* removes the rounded corner */
    padding-left: 16px !important;       /* keep nice inner padding */
    padding-right: 16px !important;
    box-sizing: border-box !important;
  }
}

/* PAGE 4620 — increase gap under the gallery title (move gallery down) */

/* Desktop (≥922px) */
@media (min-width:922px){
  .page-id-4620 .entry-content .session-gallery { 
    margin-top: 15px !important;  /* tweak */
  }
}

/* Tablet (545–921px) */
@media (min-width:545px) and (max-width:921px){
  .page-id-4620 .entry-content .session-gallery { 
    margin-top: 12px !important;  /* tweak */
  }
}

/* Mobile (≤544px) */
@media (max-width:544px){
  .page-id-4620 .entry-content .session-gallery { 
    margin-top: 12px !important;  /* tweak */
  }
}

/* === PAGE 4620 — Tablet only: make .session-card full-bleed === */
@media (min-width:545px) and (max-width:921px){

  /* prevent container clipping */
  .page-id-4620 .session-columns,
  .page-id-4620 .session-card {
    overflow: visible !important;
  }

  /* remove any internal background/radius first */
  .page-id-4620 .session-card {
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    position: relative !important;
    z-index: 0 !important;
  }

  /* add the new full-width background */
  .page-id-4620 .session-card::before {
    content: "";
    position: absolute;
    top: 0; bottom: 0;
    left: 50%;
    width: 100vw;                    /* stretch full viewport width */
    transform: translateX(-50%);
    background: #F2F5F7;             /* your blue-grey */
    z-index: -1;                     /* place behind text */
    border-radius: 0;                /* remove rounded corners */
    pointer-events: none;
  }

  /* ensure Astra doesn’t clip the pseudo background */
  .page-id-4620 .ast-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}


/* === PAGE 4620 — align session-card text to left gutter === */

/* === PAGE 4620 — tablet alignment (allows negative shift) === */
@media (min-width:545px) and (max-width:921px){
  .page-id-4620 .session-card {
    align-items: flex-start !important;
    text-align: left !important;
  }

  .page-id-4620 .session-card-list {
    position: relative !important;
    left: -17px !important;         /* ← tweak freely: -10 to -25px */
    margin-left: 0 !important;
    padding-left: 0 !important;
    text-align: left !important;
  }
}


/* MOBILE (≤544px) */
@media (max-width:544px){
  .page-id-4620 .session-card{ align-items:flex-start !important; text-align:left !important; }

  .page-id-4620 .session-card-list{
    margin-left: 0 !important;
    padding-left: 16px !important;   /* ← tweak: 12–20px */
    padding-right: 16px !important;
    text-align: left !important;
  }
}

/* Optional: if bullets look indented too far, pull them in slightly */
.page-id-4620 .session-card-list ul{ padding-left: 1.1em !important; }  /* tweak 0.9–1.2em */


/* === PAGE 4620 — Mobile only: lift card closer to text === */
@media (max-width:544px){
  .page-id-4620 .left-col-tight.session-text .session-card,
  .page-id-4620 .left-col-tight.session-text > .wp-block-group .session-card,
  .page-id-4620 .session-card {
    margin-top: -18px !important;  /* ← adjust: -10 to -25px */
    position: relative !important;
    top: -2px !important;           /* tiny extra lift if needed */
  }
}


/* === PAGE 4482 — adjustable spacing between title and text (mobile + tablet) === */

/* Tablet (545–921px) */
@media (min-width:545px) and (max-width:921px){
  .page-id-4482 .left-col-tight.session-text .left-column-title {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
  .page-id-4482 .left-col-tight.session-text .left-column-text {
    margin-top: 15px !important;    /* ← tweak this freely: -5 to -25px */
    position: relative !important;
    top: -2px !important;            /* optional fine-tune */
  }
}

/* Mobile (≤544px) */
@media (max-width:544px){
  .page-id-4482 .left-col-tight.session-text .left-column-title {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
  .page-id-4482 .left-col-tight.session-text .left-column-text {
    margin-top: 15px !important;    /* ← tweak this freely: -5 to -25px */
    position: relative !important;
    top: -2px !important;
  }
}


/* ==========================================================
   PAGE 4482 — fine control for text-a and text-b spacing
   ========================================================== */

/* DESKTOP (≥922px) */
@media (min-width:922px){
  .page-id-4482 .left-col-tight.session-text .text-a {
    margin-bottom: 8px !important;  /* ↓ smaller = tighter, larger = more gap */
    line-height: 1.45 !important;
  }
  .page-id-4482 .left-col-tight.session-text .text-b {
    margin-top: 10px !important;   /* allow negative to pull it closer */
    line-height: 1.45 !important;
  }
}

/* TABLET (545–921px) */
@media (min-width:545px) and (max-width:921px){
  .page-id-4482 .left-col-tight.session-text .text-a {
    margin-bottom: 6px !important;
    line-height: 1.35 !important;
  }
  .page-id-4482 .left-col-tight.session-text .text-b {
    margin-top: 8px !important;
    line-height: 1.4 !important;
  }
}

/* MOBILE (≤544px) */
@media (max-width:544px){
  .page-id-4482 .left-col-tight.session-text .text-a {
    margin-bottom: 5px !important;
    line-height: 1.3 !important;
  }
  .page-id-4482 .left-col-tight.session-text .text-b {
    margin-top: 9px !important;
    line-height: 1.35 !important;
  }
}

/* ==========================================================
   PAGE 4482 — tighten gap: left-column-title → text-a
   ========================================================== */

/* DESKTOP (≥922px) */
@media (min-width:922px){
  .page-id-4482 .left-col-tight .left-column-title{
    margin-bottom: 14px !important;   /* baseline; lower = closer */
  }
  .page-id-4482 .left-col-tight.session-text .text-a{
    margin-top: 15px !important;      /* negative pulls text-a upward */
    line-height: 1.45 !important;
  }
}

/* TABLET (545–921px) */
@media (min-width:545px) and (max-width:921px){
  .page-id-4482 .left-col-tight .left-column-title{
    margin-bottom: 12px !important;
  }
  .page-id-4482 .left-col-tight.session-text .text-a{
    margin-top: 15px !important;
    line-height: 1.35 !important;
  }
}

/* MOBILE (≤544px) */
@media (max-width:544px){
  .page-id-4482 .left-col-tight .left-column-title{
    margin-bottom: 10px !important;
  }
  .page-id-4482 .left-col-tight.session-text .text-a{
    margin-top: 13px !important;
    line-height: 1.3 !important;
  }
}

/* ==========================================================
   PAGE 4482 — tighten gap: columns → gallery title (desktop only)
   ========================================================== */

@media (min-width:922px){
  .page-id-4482 .session-gallery-title {
    margin-top: -10px !important;   /* tweak freely: -10px to -40px pulls closer */
  }
  .page-id-4482 .session-gallery {
    margin-top: 10px !important;    /* optional fine-tune spacing below title */
  }
}


/* =========================================
   CONTACT PAGE — layout + alignment + form
   Add the classes exactly as listed above.
   ========================================= */

/* Base: align content under logo edges (desktop only) */
@media (min-width:922px){
  .contact-wrap{
    margin-left: 130px !important;     /* tweak to line up with logo left edge */
    margin-right: 130px !important;    /* tweak to line up with header right edge */
  }

  /* Two-column polish */
  .contact-columns{
    gap: 36px !important;             /* spacing between text/image and form */
  }

  /* Make the left column a vertical stack so we can push the image down */
  .contact-left{
    display: flex;
    flex-direction: column;
    gap: 0px;
  }

  /* Make the image fill the remaining left-column height and align with form bottom */
  .contact-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;                 /* crop nicely */
    border-radius: 18px;               /* match your style */
  }
}

/* Tablet: keep layout tidy; image still below the text */
@media (min-width:545px) and (max-width:921px){
  .contact-wrap{ margin-left: 10px !important; margin-right: 10px !important; }
  .contact-columns{ gap: 24px !important; }
}



/* --- WPForms: make all fields the same width and tidy labels/button --- */
.contact-right .wpforms-container .wpforms-field input[type="text"],
.contact-right .wpforms-container .wpforms-field input[type="email"],
.contact-right .wpforms-container .wpforms-field textarea{
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

/* Optional: larger textarea height + consistent radius */
.contact-right .wpforms-container .wpforms-field textarea{
  min-height: 220px;
  border-radius: 18px;
}

/* Button left-align and spacing */
.contact-right .wpforms-container .wpforms-submit{
  display: inline-block;
  margin-top: 0px;
}

/* Optional: remove the empty right “white margin” look inside the big textarea */
.contact-right .wpforms-field{ margin-bottom: 18px; }


/* =========================================
   CONTACT — nudge whole content toward header
   Tweak the negative margin per breakpoint.
   ========================================= */

/* =========================================
   CONTACT — nudge whole content toward header
   Tweak the negative margin per breakpoint.
   ========================================= */

/* Desktop (≥922px) */
@media (min-width:922px){
  .contact-wrap{
    padding-top: 0 !important;
    margin-top: -24px !important;   /* make more negative to move closer */
  }
}

/* Tablet (545–921px) */
@media (min-width:545px) and (max-width:921px){
  .contact-wrap{
    padding-top: 0 !important;
    margin-top: -18px !important;
  }
}

/* Mobile (≤544px) */
@media (max-width:544px){
  .contact-wrap{
    padding-top: 0 !important;
    margin-top: -12px !important;
  }
}

/* Fallback: if the very first block isn’t .contact-wrap, this also lifts it */
@media (min-width:0){
  .entry-content > *:first-child.contact-wrap{ margin-top: -1px !important; } /* tiny safety nudge */
}

/* ===============================
   Kontakt — pull content up (tablet & mobile only)
   Targets your top wrapper: .contact-wrap
   =============================== */

/* Tablet (545–921px) */
@media (min-width:545px) and (max-width:921px){
  body .site-content .ast-container .contact-wrap{
    position: relative;
    top: 15px !important;   /* make more negative to move closer */
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
  .contact-wrap > *:first-child{ margin-top: 0 !important; }
}

/* Mobile (≤544px) */
@media (max-width:544px){
  body .site-content .ast-container .contact-wrap{
    position: relative;
    top: 15px !important;   /* tweak freely */
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
  .contact-wrap > *:first-child{ margin-top: 0 !important; }
}


/* CONTACT — force Jost Medium on the title paragraph */
.contact-left-title,
p.contact-left-title,
.wp-block-paragraph.contact-left-title,
.contact-left .contact-left-title {
  font-family: "Jost", sans-serif !important;
  font-weight: 500 !important;     /* Jost Medium */
  line-height: 1.25 !important;
}

/* Sizes per breakpoint (tweak as you like) */
@media (min-width:922px){
  .contact-left-title{ font-size: 1rem !important; }
}
@media (min-width:545px) and (max-width:921px){
  .contact-left-title{ font-size: 1rem !important; }
}
@media (max-width:544px){
  .contact-left-title{ font-size: 1rem !important; }
}


/* ===============================
   Kontakt — tighten text under title
   =============================== */

/* Desktop (≥922px) */
@media (min-width:922px){
  .contact-left-title {
    margin-bottom: 15px !important;   /* smaller = closer */
  }
  .contact-left-text {
    margin-top: 4px !important;
    line-height: 1.45 !important;
  }
}

/* Tablet (545–921px) */
@media (min-width:545px) and (max-width:921px){
  .contact-left-title {
    margin-bottom: 15px !important;
  }
  .contact-left-text {
    margin-top: 3px !important;
    line-height: 1.35 !important;
  }
}

/* Mobile (≤544px) */
@media (max-width:544px){
  .contact-left-title {
    margin-bottom: 15px !important;
  }
  .contact-left-text {
    margin-top: 2px !important;
    line-height: 1.35 !important;
  }
}


/* PAGE 3151 — force mobile gutters under logo/menu */
@media (max-width:544px){
  html body.page-id-3151 .site-content,
  html body.page-id-3151 .site-content .ast-container,
  html body.page-id-3151 .entry-content,
  html body.page-id-3151 .entry-content .contact-wrap{
    padding-left: 4px !important;
    padding-right: 4px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
  }

  /* kill side margins some blocks add */
  html body.page-id-3151 .entry-content > *,
  html body.page-id-3151 .contact-wrap > *,
  html body.page-id-3151 .contact-columns,
  html body.page-id-3151 .contact-left,
  html body.page-id-3151 .contact-right,
  html body.page-id-3151 .wp-block-image,
  html body.page-id-3151 .wp-block-group{
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* prevent full/wide blocks from spilling */
  html body.page-id-3151 .alignfull,
  html body.page-id-3151 .alignwide{
    width: auto !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}


/* PAGE 3151 — align left column with top of form (desktop only) */
@media (min-width:922px){
  .page-id-3151 .contact-left{
    margin-top: 13px !important; /* tweak freely: -20px, -30px, etc. */
  }
}


/* PAGE 3151 — adjust email paragraph spacing */

/* Desktop (≥922px) */
@media (min-width:922px){
  .page-id-3151 .contact-left-mail {
    margin-top: -13px !important; /* adjust freely: -4px to -20px */
  }
}

/* Tablet (545–921px) */
@media (min-width:545px) and (max-width:921px){
  .page-id-3151 .contact-left-mail {
    margin-top: -12px !important; /* tweak as needed */
  }
}

/* Mobile (≤544px) */
@media (max-width:544px){
  .page-id-3151 .contact-left-mail {
    margin-top: -12px !important; /* tweak as needed */
  }
}

/* PAGE 3151 — change WPForms label font to Jost Medium */
.page-id-3151 .wpforms-field-label {
  font-family: 'Jost', sans-serif !important;
  font-weight: 500 !important; /* Medium weight */
  color: #141414 !important; /* optional: keep it black */
}

/* optional: make field descriptions match style */
.page-id-3151 .wpforms-field-description {
  font-family: 'Jost', sans-serif !important;
  font-weight: 400 !important;
  color: #141414 !important;
}


/* PAGE 3151 — rounded corners for contact image */

/* Tablet (545–921px) */
@media (min-width:545px) and (max-width:921px){
  .page-id-3151 .contact-image img {
    border-radius: 20px !important; /* tweak: 10–30px as you like */
  }
}

/* Mobile (≤544px) */
@media (max-width:544px){
  .page-id-3151 .contact-image img {
    border-radius: 20px !important;
  }
}



/* =========================================
   PAGE 3151 — tighten vertical gaps in WPForms
   Applies to every field + the submit button
   ========================================= */

/* Desktop (≥922px) */
@media (min-width:922px){
  .page-id-3151 .contact-right .wpforms-field{
    margin-bottom: 0px !important;   /* ↓ smaller = tighter */
  }
  .page-id-3151 .contact-right .wpforms-field-label{
    margin-bottom: 0px !important;    /* space between label and input */
  }
  .page-id-3151 .contact-right .wpforms-submit-container{
    margin-top: -15px !important;      /* button distance from last field */
  }
}

/* Tablet (545–921px) */
@media (min-width:545px) and (max-width:921px){
  .page-id-3151 .contact-right .wpforms-field{
    margin-bottom: 0px !important;
  }
  .page-id-3151 .contact-right .wpforms-field-label{
    margin-bottom: 0px !important;
  }
  .page-id-3151 .contact-right .wpforms-submit-container{
    margin-top: -15px !important;
  }
}

/* Mobile (≤544px) */
@media (max-width:544px){
  .page-id-3151 .contact-right .wpforms-field{
    margin-bottom: 0px !important;
  }
  .page-id-3151 .contact-right .wpforms-field-label{
    margin-bottom: opx !important;
  }
  .page-id-3151 .contact-right .wpforms-submit-container{
    margin-top: -15px !important;
  }
}


/* CONTACT PAGE – unify rounded corners on all WPForms fields */
.page-id-3151 .wpforms-field input[type="text"],
.page-id-3151 .wpforms-field input[type="email"],
.page-id-3151 .wpforms-field input[type="tel"],
.page-id-3151 .wpforms-field input[type="url"],
.page-id-3151 .wpforms-field input[type="number"],
.page-id-3151 .wpforms-field textarea {
    border-radius: 14px !important;  /* adjust to match your message box */
}


/* CONTACT PAGE – final image ordering */

/* Desktop (≥ 922px) – show left-column image, hide bottom image */
@media (min-width: 922px) {
  .page-id-3151 .contact-image-left {
    display: block !important;
  }

  .page-id-3151 .contact-image-bottom {
    display: none !important;
  }
}

/* Tablet + mobile (≤ 921px) – hide left image, show bottom image */
@media (max-width: 921px) {
  .page-id-3151 .contact-image-left {
    display: none !important;
  }

  .page-id-3151 .contact-image-bottom {
    display: block !important;
    margin-top: 15px;      /* tweak gap under form */
    margin-left: auto;
    margin-right: auto;
    max-width: 540px;      /* optional */
  }
}


/* CONTACT PAGE – move form upward on tablet & mobile */

/* Tablet (width 545px–921px) */
@media (min-width: 545px) and (max-width: 921px) {
  .page-id-3151 .contact-right {
    margin-top: -35px !important;  /* adjust this value */
  }
}

/* Mobile (width ≤ 544px) */
@media (max-width: 544px) {
  .page-id-3151 .contact-right {
    margin-top: -50px !important;  /* adjust this value */
  }
}


/* CONTACT PAGE – stretch bottom image on tablet */
@media (min-width: 545px) and (max-width: 921px) {
  .page-id-3151 .contact-image-bottom {
    width: 100% !important;          /* container spans content width */
    max-width: none !important;      /* remove previous limit */
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .page-id-3151 .contact-image-bottom img {
    width: 100% !important;          /* image fills the container */
    height: auto !important;
    display: block !important;       /* remove any inline spacing */
    border-radius: 14px;             /* keep your rounded corners */
  }
}


/* CONTACT PAGE – rounded corners on bottom image (mobile only) */
@media (max-width: 544px) {
  .page-id-3151 .contact-image-bottom img {
    border-radius: 14px !important;   /* match your form + image style */
    display: block !important;
    width: 100% !important;
    height: auto !important;
  }
}


/* CONTACT PAGE – reduce white gap before footer via main wrapper */

/* Desktop (≥ 922px) */
@media (min-width: 922px) {
  .page-id-3151 .contact-wrap {
    margin-bottom: 40px !important;   /* adjust for desktop */
    padding-bottom: 0 !important;
  }
}

/* Tablet (545px–921px) */
@media (min-width: 545px) and (max-width: 921px) {
  .page-id-3151 .contact-wrap {
    margin-bottom: 50px !important;   /* adjust for tablet */
    padding-bottom: 0 !important;
  }
}

/* Mobile (≤ 544px) */
@media (max-width: 544px) {
  .page-id-3151 .contact-wrap {
    margin-bottom: 50px !important;   /* adjust for mobile */
    padding-bottom: 0 !important;
  }
}

/* CONTACT PAGE – make the "Skicka" button use Jost Medium */
.page-id-3151 .wpforms-submit,
.page-id-3151 button.wpforms-submit {
    font-family: 'Jost', sans-serif !important;
    font-weight: 500 !important;   /* Medium */
    letter-spacing: 0.3px;         /* matches your style */
}

/* CONTACT PAGE – style only the "E-post:" label */
.page-id-3151 .mail-label {
    font-family: 'Jost', sans-serif !important;
    font-weight: 500 !important;   /* Jost Medium */
}

/* CONTACT PAGE — increase space between left & right columns (DESKTOP ONLY) */
@media (min-width: 922px) {
    .page-id-3151 .contact-columns {
        column-gap: 80px !important; /* adjust: 40–90px if needed */
    }
}


/* CONTACT PAGE — make WPForms labels Jost Regular + darker asterisks */
.page-id-3151 .wpforms-field-label {
    font-family: 'Jost', sans-serif !important;
    font-weight: 400 !important; /* Regular */
    color: #141414 !important;
}

/* Asterisks next to required fields */
.page-id-3151 .wpforms-required-label {
    color: #141414 !important;
    font-family: 'Jost', sans-serif !important;
    font-weight: 400 !important;
}


/* CONTACT PAGE — lift the left-column image slightly (desktop only) */
@media (min-width: 922px) {
    .page-id-3151 .contact-image {
        margin-top: -2px !important;  /* adjust: -10, -20, -30 as you like */
    }
}


/* CONTACT PAGE – desktop image vertical position only */
@media (min-width: 922px) {

  /* main contact image in the left column */
  .page-id-3151 .contact-image-left {
    margin-top: 0px !important;    /* move image DOWN (+) or UP (-) */
    margin-bottom: -20px !important;/* move image bottom DOWN (-) or UP (+) */
  }
}

@media (min-width: 922px) {
  .page-id-3151 .contact-image-left img {
    width: 93% !important;     /* shrink: try 95%, 90%, 85% */
    height: auto !important;
    display: block !important; /* keeps it left-aligned */
  }
}

/* CONTACT PAGE – final form label styling (all modes) */
.page-id-3151 .contact-right .wpforms-field-label {
    font-family: 'Jost', sans-serif !important;
    font-weight: 400 !important;      /* Regular, not Medium */
    color: #141414 !important;
    font-size: 0.9rem !important;    /* a bit smaller than body text */
    line-height: 1.2 !important;
    margin-top: 3px !important;
    margin-bottom: 2px !important;
    display: block !important;
}

/* Required asterisks */
.page-id-3151 .contact-right .wpforms-required-label {
    color: #141414 !important;
    font-family: 'Jost', sans-serif !important;
    font-weight: 400 !important;
}

/* CONTACT PAGE — lift left-column image in desktop mode */
@media (min-width: 922px) {
    .page-id-3151 .contact-image,
    .page-id-3151 .contact-image-left {
        margin-top: -8px !important;   /* adjust: -10, -20, -30 */
    }
}


/* Mobile – pull form slightly closer to E-post line */
@media (max-width: 544px) {
  .page-id-3151 .contact-right {
    margin-top: -60px !important;  /* try -8 / -12 / -15 if you want more/less */
  }
}


/* Mobile – slightly tighter vertical gap between fields */
@media (max-width: 544px) {
  .page-id-3151 .contact-right .wpforms-field {
    margin-bottom: -5px !important;   /* if it was ~20–24px before */
  }
}


/* =========================================
   DRÖNARTJÄNSTER — layout & spacing
   page-id: 2947
========================================= */

/* Wrap whole page content nicely and align with other pages */
.page-id-2947 .entry-content > .drone-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0px 30px 0px;  /* top / sides / bottom — tweak if needed */
}

/* Basic section spacing */
.page-id-2947 .drone-section {
  padding: 5px 0;          /* vertical breathing room between sections */
}

/* Columns: keep nice gap & vertical centering on desktop */
.page-id-2947 .drone-columns.wp-block-columns {
  column-gap: 95px;
  row-gap: 40px;
  align-items: center;
}

/* Make columns full-width on small screens (WordPress does this,
   we just keep our gap tidy) */
@media (max-width: 921px) {
  .page-id-2947 .drone-columns.wp-block-columns {
    gap: 32px;
  }
}

/* Section 2: reverse column order on tablet/mobile
   (video/image first, then text) */
@media (max-width: 921px) {
  .page-id-2947 .drone-columns-reverse.wp-block-columns {
    flex-direction: column-reverse;
  }
}

/* =========================================
   Typography — headings & body text
========================================= */

/* Main section headings */
.page-id-2947 p.drone-heading-main,
.page-id-2947 p.drone-heading-prices,
.page-id-2947 p.drone-heading-info {
  font-weight: 500;         /* Jost Medium look */
  margin-bottom: 12px;
}

/* General intro / normal paragraphs */
.page-id-2947 p.drone-intro,
.page-id-2947 p.drone-subheading,
.page-id-2947 p.drone-text,
.page-id-2947 p.drone-text-note {
  margin-bottom: 10px;
  line-height: 1.45;
}

/* “List style” lines we turned into manual bullets */
.page-id-2947 p.drone-list,
.page-id-2947 p[class*="drone-list-"] {
  margin: 0 0 4px;
  line-height: 1.45;
}

/* Add a touch more space after a block of list-style text in Section 2 */
.page-id-2947 p.drone-list-prices-3 {
  margin-bottom: 15px;
}

/* =========================================
   Media blocks (images + future video)
========================================= */

/* Shared styling for all drone images (hero + info) */
.page-id-2947 .drone-image img,
.page-id-2947 .drone-media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 30px;
  object-fit: cover;
}

/* Hero image in Section 1 slightly taller on desktop */
@media (min-width: 922px) {
  .page-id-2947 .drone-image-hero img {
    max-height: 520px;
  }
}

/* Video embed (YouTube iframe) — responsive 16:9 box */
.page-id-2947 .drone-media-video {
  position: relative;
  width: 100%;
  padding-top: 56.25%;      /* 16:9 aspect ratio */
  overflow: hidden;
  border-radius: 32px;
}

.page-id-2947 .drone-media-video iframe,
.page-id-2947 .drone-media-video video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
  border-radius: 32px;
}

/* =========================================
   Fine-tuning per section (optional, tweak)
========================================= */

/* Section 1: keep intro block nicely spaced */
.page-id-2947 .drone-section-1 .drone-col-text {
  /* tweak if text feels too low/high relative to hero image */
}

/* Section 2: make the note line a bit softer/secondary */
.page-id-2947 .drone-section-2 p.drone-text-note {
  font-style: italic;
  opacity: 0.85;
  margin-top: 12px;
}

/* Section 3: keep bullet-like info lines tight */
.page-id-2947 .drone-section-3 p.drone-list-info {
  margin-bottom: 6px;
}


/* DRÖNARTJÄNSTER – make content as wide as header */

/* 1. Kill the narrow "wide" alignment on the root group */
.page-id-2947 .entry-content > .wp-block-group.drone-wrap {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* 2. Remove extra entry-content padding so we control it ourselves */
.page-id-2947 .entry-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 3. Add our own side padding per breakpoint */

/* Mobile */
@media (max-width: 544px) {
  .page-id-2947 .entry-content > .wp-block-group.drone-wrap {
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* Tablet */
@media (min-width: 545px) and (max-width: 921px) {
  .page-id-2947 .entry-content > .wp-block-group.drone-wrap {
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* Desktop – keep left as is, only tweak right */
@media (min-width: 922px) {
  .page-id-2947 .entry-content > .wp-block-group.drone-wrap {
    padding-left: 45px;   /* or whatever value is lining up with the logo now */
    padding-right: 50px;  /* <-- adjust this only: 24 / 28 / 36 etc. */
  }
}


/* Desktop – keep left locked, nudge only the right edge */
@media (min-width: 922px) {
  .page-id-2947 .entry-content > .wp-block-group.drone-wrap {
    padding-left: 85px;   /* whatever value currently lines up with the logo */
    padding-right: 85px;  /* keep this symmetric for the inside spacing */

    /* extend content slightly to the right only */
    margin-right: -24px;  /* tweak this: -10, -16, -24, -32 etc */
  }
}

@media (min-width: 922px) {
  .page-id-2947 .drone-columns {
    column-gap: 50px !important; /* default is ~70–80px in WP */
  }
}

/* PAGE 2947 — tighten right edge of Section 1 only (desktop) */
@media (min-width: 922px) {
  .page-id-2947 .drone-section-1 {
    padding-right: 120px !important;  /* tweak 120–160px until it lines up */
  }
}

.page-id-2947 .drone-wrap,
.page-id-2947 .drone-section-1 {
  max-width: ...;
  margin: 0 auto;
}

/* PAGE 2947 — shift ALL sections slightly right (desktop) */
@media (min-width: 922px) {
  .page-id-2947 .drone-section {
    padding-left: 5px !important;   /* tweak 30–60px as needed */
  }
}


/* ----------------------------------------- */
/* PAGE 2947 — GLOBAL DESKTOP LAYOUT CONTROL */
/* ----------------------------------------- */
@media (min-width: 922px) {

  /* 1) Shift ENTIRE page content slightly to the right */
  .page-id-2947 .drone-section {
    padding-left: 5px !important;    /* tweak this: 20–60px */
    padding-right: 10px !important;   /* optional: controls right edge */
  }

  /* 2) Increase spacing between TEXT and IMAGE/VIDEO columns */
  .page-id-2947 .drone-col-text {
    padding-right: 60px !important;   /* tweak this: 20–80px */
  }

  /* 3) Optional: give ALL images/videos a little breathing room */
  .page-id-2947 .drone-col-media {
    padding-left: 0px !important;    /* tweak or remove if not needed */
  }
}


/* PAGE 2947 – vertically center text & image per section (DESKTOP ONLY) */
@media (min-width: 922px) {
  .page-id-2947 .drone-columns {
    align-items: center !important;   /* centers text column vs image column */
  }
}

/* Optional fine-tuning example for Section 2 only */
@media (min-width: 922px) {
  .page-id-2947 .drone-section-2 .drone-col-text {
    padding-top: 180px !important;   /* try 0 / 10 / 20 etc. */
  }
}


/* PAGE 2947 – manual vertical nudging of text columns (desktop only) */
@media (min-width: 922px){

  /* Section 1 – text column */
  .page-id-2947 .drone-section-1 .drone-columns{
    margin-top: 20px;   /* tweak: 0, 10, 30 etc until it feels centered */
  }

@media (min-width: 922px){

  /* Section 1 – text column */
  .page-id-2947 .drone-section-1 .drone-columns{
    margin-top: 20px;
  }

  /* Section 3 – text column */
  .page-id-2947 .drone-section-3 .drone-col-text{
    margin-top: 5px;
  }

  /* Section 2 – text column: use translate instead of margin */
  .page-id-2947 .drone-section-2 .drone-col-text{
    margin-top: 0 !important;       /* kill the collapsing margin */
    position: relative;
    transform: translateY(64px);    /* tweak: 20, 30, 50… negative to go up */
  }
}


  /* Section 3 – text column */
  .page-id-2947 .drone-section-3 .drone-col-text{
    margin-top: 5px;   /* tweak as needed */
  }
}

@media (min-width: 922px){

  /* Pull Section 2 closer to Section 1 */
  .page-id-2947 .drone-section-2{
    margin-top: -260px;   /* tweak: -20, -30, -50 etc. */
  }
}

@media (min-width: 922px){

  /* Pull Section 3 closer to Section 2 */
  .page-id-2947 .drone-section-3{
    margin-top: 40px;   /* tweak: -20, -30, -50 etc. */
  }
}


/* PAGE 2947 – flip Section 2 columns ONLY on desktop */
@media (min-width: 922px){

  .page-id-2947 .drone-section-2 .drone-columns-reverse{
    display: flex !important;
    flex-direction: row-reverse !important;
  }
}

@media (min-width: 922px){
  .page-id-2947 .drone-section-2 .wp-block-column.drone-col-text{
    transform: translate(62px, 65px) !important;
  }
}

@media (min-width: 922px){
  .page-id-2947 .drone-section-3{
    margin-bottom: 50px;   /* tweak: 40, 50, 80… */
  }
}

@media (min-width: 922px){

  /* Paragraphs + bullet lists */
  .page-id-2947 .entry-content p,
  .page-id-2947 .entry-content li{
    line-height: 1.4 !important;    /* try 1.5, 1.35, 1.3 etc */
  }

  /* Headings on this page */
  .page-id-2947 .entry-content h1,
  .page-id-2947 .entry-content h2,
  .page-id-2947 .entry-content h3,
  .page-id-2947 .entry-content h4{
    line-height: 1.3 !important;    /* tweak if they look cramped */
  }
}

.page-id-2947 .drone-subheading{
  font-family: "Jost", sans-serif !important;
  font-weight: 500 !important;
}

@media (min-width: 922px){
  .page-id-2947 .price-title{
    font-family: "Jost", sans-serif !important;
    font-weight: 500 !important;
    display: inline-block;
  }
}


@media (min-width: 922px){

  /* Add vertical spacing BETWEEN the three package blocks */
  .page-id-2947 .drone-list-prices-2{
    margin-top: 14px !important;   /* tweak: 10–18px */
  }

  .page-id-2947 .drone-list-prices-3{
    margin-top: 14px !important;
  }
}


@media (min-width: 922px){

  /* Add vertical spacing BETWEEN the three package blocks */
  .page-id-2947 .drone-list-prices-2{
    margin-top: 14px !important;   /* tweak: 10–18px */
  }

  .page-id-2947 .drone-list-prices-3{
    margin-top: 14px !important;
  }
}

@media (min-width: 922px){
  .page-id-2947 .drone-section-2 .wp-block-column.drone-col-text{
    transform: translate(62px, 70px) !important;
    /* X = 62px (your horizontal alignment)
       Y = 10px (move down slightly — try 8, 12, 15 if needed) */
  }
}

@media (min-width: 922px){
  .page-id-2947 .drone-section-3 .drone-col-text{
    transform: translateY(5px) !important;  /* try 10–15px */
  }
}

@media (min-width: 922px){
  .page-id-2947 .entry-content{
    margin-top: -20px !important;   /* tweak: -10, -15, -25 */
  }
}


/* TABLET — 545–921px */
@media (min-width:545px) and (max-width:921px){
  .page-id-2947 .entry-content{
    margin-top: 10px !important;   /* tweak: -10, -20 */
  }
}

/* MOBILE — up to 544px */
@media (max-width:544px){
  .page-id-2947 .entry-content{
    margin-top: 7px !important;   /* tweak: -5, -15 */
  }
}

@media (max-width: 544px){
  .page-id-2947 .drone-section-1 .drone-intro{
    margin-top: 0px !important;   /* tweak: -4, -6 if you want it tighter */
  }
}

@media (min-width: 545px) and (max-width: 921px){
  .page-id-2947 .drone-section-1 .drone-intro{
    margin-top: 0px !important;   /* tweak: 0, -4, -6 etc. */
  }
}

@media (max-width: 544px){
  .page-id-2947 .drone-section-1 .drone-subheading{
    margin-top: 0 !important;        /* reset Astra's margin */
    padding-top: 8px !important;     /* use padding instead of margin */
  }
}

@media (min-width: 545px) and (max-width: 921px){
  .page-id-2947 .drone-section-1 .drone-subheading{
    margin-top: 0 !important;
    padding-top: 8px !important;     /* tweak: 4, 6, 8 */
  }
}

@media (max-width: 544px){
  .page-id-2947 .drone-section-1 .drone-list-uses{
    margin-top: 0 !important;       /* kill default WP margin */
    padding-top: 2px !important;    /* tiny gap under subheading */
  }
}

@media (min-width: 545px) and (max-width: 921px){
  .page-id-2947 .drone-section-1 .drone-list-uses{
    margin-top: 0 !important;
    padding-top: 2px !important;    /* slightly looser than mobile */
  }
}


/* TABLET – soften corners to match About page */
@media (min-width:545px) and (max-width:921px){
  .page-id-2947 .drone-media img,
  .page-id-2947 .drone-media-video img,
  .page-id-2947 .drone-col-media img{
    border-radius: 25px !important;   /* try 24–28 if needed */
  }
}

/* MOBILE – a bit less rounded so it doesn’t look “pill-shaped” */
@media (max-width:544px){
  .page-id-2947 .drone-media img,
  .page-id-2947 .drone-media-video img,
  .page-id-2947 .drone-col-media img{
    border-radius: 20px !important;   /* tweak: 20–24 */
  }
}

@media (max-width: 544px){
  .page-id-2947 .drone-section-1 .drone-columns{
    column-gap: 8px !important;     /* try 0–12px */
    gap: 0px !important;             /* Gutenberg uses both names */
  }
}

@media (min-width:545px) and (max-width:921px){
  .page-id-2947 .drone-section-1 .drone-columns{
    column-gap: 16px !important;    /* try 12–20px */
    gap: 20px !important;
  }
}



/* SECTION 2 — stack TEXT above IMAGE on tablet & mobile */

/* Mobile ≤544px */
@media (max-width: 544px){
  .page-id-2947 .drone-section-2 .drone-columns{
    display: flex !important;
    flex-direction: column !important;
  }

  .page-id-2947 .drone-section-2 .drone-col-text{
    order: 1 !important;
  }

  .page-id-2947 .drone-section-2 .drone-col-media{
    order: 2 !important;
    margin-top: -195px;  /* space between text and image – tweak 16–32 */
  }
}

/* Tablet 545–921px */
@media (min-width: 545px) and (max-width: 921px){
  .page-id-2947 .drone-section-2 .drone-columns{
    display: flex !important;
    flex-direction: column !important;
  }

  .page-id-2947 .drone-section-2 .drone-col-text{
    order: 1 !important;
  }

  .page-id-2947 .drone-section-2 .drone-col-media{
    order: 2 !important;
    margin-top: -397px;  /* a bit more air on tablet – tweak as you like */
  }
}

/* MOBILE ≤544px */
@media (max-width: 544px){
  .page-id-2947 .price-title{
    font-weight: 500 !important;   /* Jost Medium for first row only */
  }
}

/* TABLET 545–921px */
@media (min-width:545px) and (max-width:921px){
  .page-id-2947 .price-title{
    font-weight: 500 !important;
  }
}

@media (max-width: 544px){
  .page-id-2947 .drone-list-prices-1,
  .page-id-2947 .drone-list-prices-2,
  .page-id-2947 .drone-list-prices-3{
    margin-bottom: 13px !important;   /* tweak: 12–25px */
  }
}

@media (max-width: 544px){
  .page-id-2947 .drone-section-2{
    margin-bottom: 15px !important;   /* tweak 35–60px */
  }
}

@media (min-width:545px) and (max-width:921px){
  .page-id-2947 .drone-section-2{
    margin-bottom: 100px !important;   /* tweak 60–90px */
  }
}

@media (max-width: 544px){
  .page-id-2947 .drone-section-3 .drone-text-note{
    margin-top: 14px !important;      /* tweak: 2–6px */
  }
}

@media (min-width:545px) and (max-width:921px){
  .page-id-2947 .drone-section-3 .drone-text-note{
    margin-top: 15px !important;      /* tweak: 4–10px */
  }
}

@media (max-width:544px){
  .page-id-2947 .drone-image-info {
    margin-top: -40px !important;  /* tweak freely: -10 to -60 */
  }
}

@media (min-width:545px) and (max-width:921px){
  .page-id-2947 .drone-image-info {
    margin-top: -18px !important;  /* tweak: -10 to -80 */
  }
}

@media (max-width:544px){
  .page-id-2947 .drone-image-info {
    margin-bottom: 30px !important;   /* tweak 40–120px */
  }
}

@media (min-width:545px) and (max-width:921px){
  .page-id-2947 .drone-image-info {
    margin-bottom: 35px !important;   /* tweak 60–150px */
  }
}


/* Jost Medium for all marked text on page 2944 */
.page-id-2944 .family-mid {
  font-family: "Jost", sans-serif !important;
  font-weight: 500 !important;
}

.family-text-story strong {
  font-family: "Jost", sans-serif;
  font-weight: 500; /* or whatever weight you like for "medium" */
}

/* FAMILY PAGE (2944) — rounded corners for CAROUSEL + PRICING IMAGE ONLY */

/* Desktop */
.page-id-2944 .family-carousel-story img,
.page-id-2944 .family-col-prices-image img,
.page-id-2944 .family-image-prices,
.page-id-2944 figure.family-image-prices,
.page-id-2944 figure.family-image-prices img {
  border-radius: 32px !important;
  overflow: hidden !important;
}

/* Tablet */
@media (min-width: 545px) and (max-width: 921px){
  .page-id-2944 .family-carousel-story img,
  .page-id-2944 .family-col-prices-image img,
  .page-id-2944 .family-image-prices,
  .page-id-2944 figure.family-image-prices,
  .page-id-2944 figure.family-image-prices img {
    border-radius: 24px !important;
    overflow: hidden !important;
  }
}

/* Mobile */
@media (max-width: 544px){
  .page-id-2944 .family-carousel-story img,
  .page-id-2944 .family-col-prices-image img,
  .page-id-2944 .family-image-prices,
  .page-id-2944 figure.family-image-prices,
  .page-id-2944 figure.family-image-prices img {
    border-radius: 18px !important;
    overflow: hidden !important;
  }
}


/* FAMILY INTRO – distance from banner */

/* Base fallback */
.page-id-2944 .family-section-intro {
  margin-top: -40px !important;  /* desktop-ish default, tweak if you want */
}

/* Desktop (≥ 922px) */
@media (min-width: 922px) {
  .page-id-2944 .family-section-intro {
    margin-top: -80px !important;  /* you said around -70 / -80 */
  }
}

/* Tablet (545–921px) */
@media (min-width: 545px) and (max-width: 921px) {
  .page-id-2944 .family-section-intro {
    margin-top: -75px !important;  /* tweak as needed */
  }
}

/* Mobile (≤ 544px) */
@media (max-width: 544px) {
  .page-id-2944 .family-section-intro {
    margin-top: -80px !important;  /* tweak as needed */
  }
}

/* ----------------------------------------- */
/* FAMILY HERO – spacing between header + banner */
/* ----------------------------------------- */

/* Base fallback */
.page-id-2944 .family-section-hero {
  margin-top: 0 !important; /* fallback */
}

/* Desktop (≥ 922px) */
@media (min-width: 922px) {
  .page-id-2944 .family-section-hero {
    margin-top: -50px !important;   /* tweak freely: -40, -70, etc. */
  }
}

/* Tablet (545–921px) */
@media (min-width: 545px) and (max-width: 921px) {
  .page-id-2944 .family-section-hero {
    margin-top: -49px !important;   /* tweak as needed */
  }
}

/* Mobile (≤ 544px) */
@media (max-width: 544px) {
  .page-id-2944 .family-section-hero {
    margin-top: -48px !important;   /* tweak as needed */
  }
}

/* ====================================================== */
/* PAGE 2944 – FULL-WIDTH HERO BANNER (edge to edge)      */
/* Break hero group out of Astra's inner container        */
/* ====================================================== */

.page-id-2944 .family-section-hero {
  /* push the group out of the padded container */
  margin-left:  calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  /* make it span the whole viewport */
  width: 100vw !important;
  max-width: 100vw !important;

  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* make sure the inner block/image fills that width */
.page-id-2944 .family-section-hero > * {
  width: 100% !important;
  max-width: 100% !important;
}

.page-id-2944 .family-hero-image {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
  border-radius: 0 !important; /* banner keeps square corners */
}

/* === FAMILY PAGE: align text with header edges === */
/* applies to all main sections on page 2944 */
.page-id-2944 .family-section-intro,
.page-id-2944 .family-section-story,
.page-id-2944 .family-section-prices,
.page-id-2944 .family-section-gallery {
  max-width: none;      /* let them span the full width */
}

/* Desktop (≥ 922px) */
@media (min-width: 922px) {
  .page-id-2944 .family-section-intro,
  .page-id-2944 .family-section-story,
  .page-id-2944 .family-section-prices,
  .page-id-2944 .family-section-gallery {
    padding-left: 85px;   /* tweak to line up with logo */
    padding-right: 85px;  /* tweak to line up with menu */
  }
}

/* Tablet (545–921px) */
@media (min-width: 545px) and (max-width: 921px) {
  .page-id-2944 .family-section-intro,
  .page-id-2944 .family-section-story,
  .page-id-2944 .family-section-prices,
  .page-id-2944 .family-section-gallery {
    padding-left: 20px;   /* adjust until it visually matches */
    padding-right: 20px;
  }
}

/* Mobile (≤ 544px) */
@media (max-width: 544px) {
  .page-id-2944 .family-section-intro,
  .page-id-2944 .family-section-story,
  .page-id-2944 .family-section-prices,
  .page-id-2944 .family-section-gallery {
    padding-left: 15px;   /* usually smaller on mobile */
    padding-right: 15px;
  }
}

/* ========= FAMILY INTRO – INTERNAL SPACING (PAGE 2944) ========= */

/* Base reset – affects all devices */
.page-id-2944 .family-section-intro .family-heading-main,
.page-id-2944 .family-section-intro .family-intro,
.page-id-2944 .family-section-intro .family-intro-2 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Desktop (≥922px) */
@media (min-width: 922px){
  /* P1 → P2 */
  .page-id-2944 .family-section-intro .family-heading-main {
    margin-bottom: 15px !important;
  }

  /* P2 → P3 */
  .page-id-2944 .family-section-intro .family-intro {
    margin-top: 15px !important;
    margin-bottom: 4px !important;
  }

  .page-id-2944 .family-section-intro .family-intro-2 {
    margin-top: 4px !important;
  }
}

/* Tablet (545–921px) */
@media (min-width:545px) and (max-width:921px){
  .page-id-2944 .family-section-intro .family-heading-main {
    margin-bottom: 15px !important;
  }

  .page-id-2944 .family-section-intro .family-intro {
    margin-top: 15px !important;
    margin-bottom: 4px !important;
  }

  .page-id-2944 .family-section-intro .family-intro-2 {
    margin-top: 4px !important;
  }
}

/* Mobile (≤544px) — FIXED VERSION */
@media (max-width:544px){
  /* STEP 1 — kill Astra’s mobile paragraph spacing */
  .page-id-2944 .family-section-intro p {
    line-height: 1.25 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* STEP 2 — now apply tweakable spacing */
  .page-id-2944 .family-section-intro .family-heading-main {
    margin-bottom: 15px !important;   /* tweak P1 → P2 */
  }

  .page-id-2944 .family-section-intro .family-intro {
    margin-top: 15px !important;       /* tweak P2 → P3 */
    margin-bottom: px !important;
  }

  .page-id-2944 .family-section-intro .family-intro-2 {
    margin-top: px !important;
  }
}


/* ========= FAMILY STORY SECTION – LIFT TOWARD GROUP 2 (PAGE 2944) ========= */

/* Base reset */
.page-id-2944 .family-section-story {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Desktop (≥922px) */
@media (min-width: 922px) {
  .page-id-2944 .family-section-story {
    margin-top: -20px !important;   /* tweak freely: -10, -20, -40 etc */
  }
}

/* Tablet (545–921px) */
@media (min-width:545px) and (max-width:921px) {
  .page-id-2944 .family-section-story {
    margin-top: -20px !important;   /* tweak for tablet */
  }
}

/* Mobile (≤544px) */
@media (max-width:544px) {
  .page-id-2944 .family-section-story {
    margin-top: -25px !important;   /* tweak for mobile */
  }
}


/* ===== FIX COLUMN-GAP IN STORY SECTION (PAGE 2944) ===== */

/* Base reset for all devices */
.page-id-2944 .family-section-story .family-col-story-media img {
  margin-bottom: 0 !important;    /* remove huge default WP/Astra gap */
  padding-bottom: 0 !important;
}

/* Tablet (545–921px) */
@media (min-width:545px) and (max-width:921px){
  .page-id-2944 .family-section-story .family-col-story-text {
    margin-top: -215px !important;   /* tweak here */
  }
}

/* Mobile (≤544px) */
@media (max-width:544px){
  .page-id-2944 .family-section-story .family-col-story-text {
    margin-top: -115px !important;    /* tweak here */
  }
}

/* ===== GROUP 3 — INDIVIDUAL PARAGRAPH SPACING (PAGE 2944) ===== */

/* Default desktop/tablet line-height */
.page-id-2944 .family-text-story-wrap p {
  line-height: 1.4 !important;
}

/* Mobile line-height */
@media (max-width: 544px){
  .page-id-2944 .family-text-story-wrap p {
    line-height: 1.35 !important;
  }
}

/* ---- INDIVIDUAL PARAGRAPH MARGINS ---- */

/* P1 → P2 */
.page-id-2944 .story-par1 {
  margin-bottom: 1em !important;
}

/* P2 → P3 */
.page-id-2944 .story-par2 {
  margin-bottom: 1em !important;
}

/* P3 → P4 */
.page-id-2944 .story-par3 {
  margin-bottom: 1em !important;
}

/* Last paragraph stays tight */
.page-id-2944 .story-par4 {
  margin-bottom: 0 !important;
}

/* =======================
   GROUP 2 — INTRO TEXT
   Page 2944
   ======================= */

/* Reset */
.page-id-2944 .family-section-intro .family-heading-main,
.page-id-2944 .family-section-intro .family-intro,
.page-id-2944 .family-section-intro .family-intro-2 {
  margin: 0 !important;
  padding: 0 !important;
}

/* ---- DESKTOP (≥922px) ---- */
@media (min-width: 922px) {

  /* P1 → P2 */
  .page-id-2944 .family-section-intro .family-heading-main {
    margin-bottom: 15px !important;   /* tweak here */
  }

  /* P2 → P3 */
  .page-id-2944 .family-section-intro .family-intro {
    margin-top: 15px !important;      /* tweak here */
    margin-bottom: 15px !important;   /* optional buffer */
  }
}

/* ---- TABLET (545–921px) ---- */
@media (min-width: 545px) and (max-width: 921px) {

  /* P1 → P2 */
  .page-id-2944 .family-section-intro .family-heading-main {
    margin-bottom: 15px !important;
  }

  /* P2 → P3 */
  .page-id-2944 .family-section-intro .family-intro {
    margin-top: 15px !important;
    margin-bottom: 15px !important;
  }
}

/* ---- MOBILE (≤544px) ---- */
@media (max-width: 544px) {

  /* P1 → P2 */
  .page-id-2944 .family-section-intro .family-heading-main {
    margin-bottom: 15px !important;
  }

  /* P2 → P3 */
  .page-id-2944 .family-section-intro .family-intro {
    margin-top: 15px !important;
    margin-bottom: 15px !important;
  }
}

/* ===== GROUP 3 – ALIGN CAROUSEL WITH INTRO TEXT (PAGE 2944) ===== */

/* Desktop only (≥922px) */
@media (min-width:922px){

  /* remove any left padding on the columns wrapper */
  .page-id-2944 .family-section-story .family-columns-story {
    padding-left: 0 !important;
    margin-left: 0 !important;
  }

  /* fine-tune the actual carousel column position */
  .page-id-2944 .family-section-story .family-col-story-media {
    margin-left: -3px !important;  /* tweak: -5, -15, -20 etc */
  }
}


@media (min-width: 922px) {
  .page-id-2944 .family-section-story .family-col-story-text {
    margin-left: 10px !important;  /* adjust freely */
  }
}

/* ===== GROUP 3 – VERTICAL ALIGN CENTER FOR DESKTOP (PAGE 2944) ===== */

@media (min-width: 922px) {

  /* Turn the two columns into a flex row */
  .page-id-2944 .family-section-story .family-columns-story {
    display: flex !important;
    align-items: center !important;  /* <- this does the vertical centering */
  }
}

/* ===== GROUP 3 – ADJUST VERTICAL ALIGN (DESKTOP) ===== */
@media (min-width:922px){

  /* keep flex so columns line up */
  .page-id-2944 .family-section-story .family-columns-story {
    display: flex !important;
    align-items: center !important;
  }

  /* nudge text column UP a bit */
  .page-id-2944 .family-section-story .family-col-story-text {
    transform: translateY(-30%) !important;  /* tweak: -5% … -15% */
  }
}

/* ===== GROUP 3 – PRICES SECTION GAP ABOVE (PAGE 2944) ===== */

/* Base reset */
.page-id-2944 .family-section-prices {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Desktop (≥922px) */
@media (min-width:922px){
  .page-id-2944 .family-section-prices {
    margin-top: -190px !important;  /* tweak: -20, -40, etc. */
  }
}

/* Tablet (545–921px) */
@media (min-width:545px) and (max-width:921px){
  .page-id-2944 .family-section-prices {
    margin-top: -25px !important;  /* tweak here */
  }
}

/* Mobile (≤544px) */
@media (max-width:544px){
  .page-id-2944 .family-section-prices {
    margin-top: -20px !important;  /* tweak here */
  }
}

/* ===== HIDE PRICES IMAGE ON TABLET + MOBILE (PAGE 2944) ===== */

/* Up to 921px = tablet + mobile */
@media (max-width:921px){

  /* Hide the image column completely */
  .page-id-2944 .family-section-prices .family-col-prices-image {
    display: none !important;
  }

  /* Make the text column take full width */
  .page-id-2944 .family-section-prices .family-col-prices-text {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
}

/* Separator line above prices (tablet + mobile) */
@media (max-width:921px){
  .page-id-2944 .family-section-prices {
    position: relative;
  }

  .page-id-2944 .family-section-prices::before {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #ddd; /* subtle */
    margin-bottom: 16px;   /* adjustable */
  }
}


/* ===== FAMILY STORY SLIDER (PAGE 2944) ===== */

.page-id-2944 .family-slider-story .family-slider-stage {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
}

.page-id-2944 .family-slider-story img#family-slide-img {
  display: block;
  width: 100%;
  height: auto;
  user-select: none;
  -webkit-user-drag: none;
  transition: opacity 0.25s ease;
}

/* Arrows */
.page-id-2944 .family-slider-story .family-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border: none;
  background: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  color: rgba(255, 255, 255, 0.9);
  font-size: 34px;
  line-height: 1;
  z-index: 5;
  transition: color 0.15s ease;
  -webkit-tap-highlight-color: transparent;
}

.page-id-2944 .family-slider-story .family-prev {
  left: 14px;
}

.page-id-2944 .family-slider-story .family-next {
  right: 14px;
}

/* Hover → theme blue */
.page-id-2944 .family-slider-story .family-arrow:hover,
.page-id-2944 .family-slider-story .family-arrow:focus {
  color: #3A86FF;
}

/* Dots (always visible) */
.page-id-2944 .family-slider-story .family-dots {
  position: absolute;
  left: 50%;
  bottom: 16px;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 6;
}

.page-id-2944 .family-slider-story .family-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: none;
  padding: 0;
  margin: 0;
  background: rgba(0, 0, 0, 0.4);
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.35);
  cursor: pointer;
}

.page-id-2944 .family-slider-story .family-dot.active {
  background: #3A86FF;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5);
}

/* Phones – optional tweaks */
@media (max-width: 544px) {
  .page-id-2944 .family-slider-story .family-arrow {
    font-size: 30px;
  }
  .page-id-2944 .family-slider-story .family-prev {
    left: 8px;   /* tweak if you want them closer/further from edge */
  }
  .page-id-2944 .family-slider-story .family-next {
    right: 8px;
  }
  .page-id-2944 .family-slider-story .family-dots {
    bottom: 12px;  /* move dots up/down on mobile */
  }
}


/* ===== FAMILY STORY SLIDER – DOT TWEAKS (PAGE 2944) ===== */

/* Dot row: closer spacing */
.page-id-2944 .family-slider-story .family-dots {
  gap: 6px !important;        /* was 8px */
}

/* Base dot style */
.page-id-2944 .family-slider-story .family-dot {
  width: 7px !important;      /* smaller */
  height: 7px !important;
  border-radius: 50%;
  border: none !important;
  padding: 0;
  margin: 0;
  background: #d0d0d0 !important;  /* light grey fill */
  box-shadow: none !important;     /* remove outer ring */
  cursor: pointer;
  outline: none !important;
}

/* Active dot = theme blue */
.page-id-2944 .family-slider-story .family-dot.active {
  background: #3A86FF !important;  /* Astra theme blue */
  box-shadow: none !important;
}

/* Make sure mobile doesn't override size */
@media (max-width: 544px) {
  .page-id-2944 .family-slider-story .family-dots {
    gap: 6px !important;
  }
  .page-id-2944 .family-slider-story .family-dot {
    width: 6px !important;
    height: 6px !important;
  }
}


/* ==== FAMILY CAROUSEL (page 2944) ==== */

/* If not already defined somewhere else */
:root {
  --accent: var(--ast-global-color-0, #3A86FF);
}

/* Stage inside the column */
#family-slider .family-slider-stage{
  position: relative;
  border-radius: 14px;
  overflow: hidden;
}

#family-slider .family-slider-stage img{
  display: block;
  width: 100%;
  height: auto;
  transition: opacity .25s ease;
}

/* Arrows */
#family-slider .family-arrow{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  color: rgba(255,255,255,0.95) !important;   /* white base */
  font-size: 34px;
  line-height: 1;
  cursor: pointer;
  z-index: 2;
}

#family-slider .family-prev{ left: 14px; }
#family-slider .family-next{ right: 14px; }

#family-slider .family-arrow:focus{
  outline: none;
}

#family-slider .family-arrow:hover{
  color: var(--accent) !important;            /* same accent as other carousels */
}

/* Dots row (all viewports) */
#family-slider .family-dots{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 12px;
  display: flex;
  gap: 6px;
  z-index: 2;
}

/* Inactive + active colors */
#family-slider .family-dot{
  width: 6px;
  height: 6px;
  border-radius: 50%;
  border: none;
  padding: 0;
  margin: 0;
  background: #c7c7c7 !important;           /* light grey, like the others */
  box-shadow: none !important;
  cursor: pointer;
}

#family-slider .family-dot.active{
  background: var(--accent) !important;     /* same accent as FG / Start */
}

/* Slightly smaller arrows on phones */
@media (max-width:700px){
  #family-slider .family-arrow{
    font-size: 30px;
  }
}

/* Hide hero banner on DESKTOP only */
@media (min-width: 922px) {
  .page-id-2944 .family-section-hero {
    display: none !important;
  }
}

/* Pull Group 2 (intro text) upward on DESKTOP only */
@media (min-width: 922px) {
  .page-id-2944 .family-section-intro {
    margin-top: -190px !important; /* adjust: -20 to -80 */
  }
}

/* ================================
   PAGE 2944 — SPACING: G2 → G3
   ================================ */

/* Desktop (≥922px) */
@media (min-width: 922px) {
  .page-id-2944 .family-section-story {
    margin-top: -10px !important;  /* adjust: 20–120px */
  }
}

/* Tablet (545–921px) */
@media (min-width: 545px) and (max-width: 921px) {
  .page-id-2944 .family-section-story {
    margin-top: -20px !important; /* adjust freely */
  }
}

/* Mobile (≤544px) */
@media (max-width: 544px) {
  .page-id-2944 .family-section-story {
    margin-top: -25px !important; /* adjust freely */
  }
}

/* PAGE 2944 — fine-tune vertical position of Group 3 text (DESKTOP) */
@media (min-width: 922px) {
  .page-id-2944 .family-section-story .family-col-story-text {
    position: relative;
    top: 100px;   /* ➜ increase = move text DOWN, 
                    decrease or negative = move text UP */
  }

  /* Kill extra paragraph margins that mess with “visual center” */
  .page-id-2944 .family-section-story .family-col-story-text p:first-child {
    margin-top: 0;
  }

  .page-id-2944 .family-section-story .family-col-story-text p:last-child {
    margin-bottom: 0;
  }
}

/* PAGE 2944 — move Group 4 DOWN from Group 3 (DESKTOP ONLY) */
@media (min-width: 922px) {
  .page-id-2944 .family-section-prices {
    margin-top: -10px !important;   /* Adjust freely: 20–200px */
  }
}

/* PAGE 2944 — subtle left alignment tweak for G2 + G3 (DESKTOP) */
@media (min-width: 922px) {

  /* Move Group 2 + Group 3 slightly left to match Group 4 */
  .page-id-2944 .family-section-intro,
  .page-id-2944 .family-section-story {
    margin-left: 55px;  /* tweak range: -5px to -25px */
  }
}

/* PAGE 2944 — visible subtle separator above gallery */
.page-id-2944 .family-section-gallery {
  position: relative;  /* ensures the ::before is anchored */
}

.page-id-2944 .family-section-gallery::before {
  content: "";
  position: absolute;
  top: 0px;                 /* distance above gallery */
  left: 50%;
  transform: translateX(-50%);
  width: 60%;
  max-width: 500px;
  height: 1px;
  background-color: #ccc;     /* visible on your light grey bg */
  opacity: 0.7;
}

/* PAGE 2944 — balanced spacing around separator */
.page-id-2944 .family-section-gallery {
  position: relative;
  padding-top: 30px;     /* space ABOVE the gallery + line */
  padding-bottom: 30px;  /* space BELOW the line before gallery starts */
}

.page-id-2944 .family-section-gallery::before {
  content: "";
  display: block;
  width: 60%;
  max-width: 500px;
  height: 1px;
  margin: 0 auto 30px auto;  /* 30px space BELOW the line */
  background-color: #ccc;
  opacity: 0.6;
}

/* PAGE 2944 — spacing + separator before gallery */

/* control gap between PRICES (G4) and the gallery block */
.page-id-2944 .family-section-prices {
  margin-bottom: -10px !important;   /* adjust this = space above the line */
}

.page-id-2944 .family-section-gallery {
  margin-top: 0 !important;         /* kill extra Elementor margin */
}

/* the actual line + gap above gallery images */
.page-id-2944 .family-section-gallery::before {
  content: "";
  display: block;
  width: 60%;
  max-width: 500px;
  height: 1px;
  margin: -5px auto 20px auto;      /* TOP gap to gallery images */
  background-color: #ccc;
  opacity: 0.6;
}

/* PAGE 2944 — tighten pricing text (Group 4, column 1) */

/* Desktop + tablet */
@media (min-width: 545px) {
  .page-id-2944 .family-col-prices-text p {
    line-height: 1.4 !important;      /* was ~1.4 globally */
  }
}  /* <--- THIS } WAS MISSING */

/* Mobile */
@media (max-width: 544px) {
  .page-id-2944 .family-col-prices-text p {
    line-height: 1.35 !important;      /* was 1.35 */
  }

  .page-id-2944 .family-col-prices-text p + p {
    margin-top: 8px !important;
  }
}

/* PAGE 2944 — tighten specific gaps inside prices text */
.page-id-2944 .family-section-prices .price-gap-tight {
  display: block;
  margin-top: -8px;   /* make more negative = tighter, less negative = looser */
}

/* PAGE 2944 — vertically center Group 4 text to the image (DESKTOP ONLY) */
@media (min-width: 922px) {

  .page-id-2944 .family-section-prices .family-columns-prices {
    display: table !important;
    width: 100%;
  }

  .page-id-2944 .family-col-prices-text,
  .page-id-2944 .family-col-prices-image {
    display: table-cell !important;
    vertical-align: middle !important;
    float: none !important;
  }
}

/* PAGE 2944 — reduce image height in Group 4 on desktop */
@media (min-width: 922px) {
  .page-id-2944 .family-image-prices {
    max-height: 800px;       /* adjust: 400–550 depending on preference */
    width: auto;
    object-fit: cover;       /* keeps composition clean */
  }
}

/* PAGE 2944 — add spacing between text and image in Group 4 (DESKTOP ONLY) */
@media (min-width: 922px) {

  /* Add right padding to text column */
  .page-id-2944 .family-col-prices-text {
    padding-right: 40px !important;   /* adjust: 20–60px */
  }

  /* Add left padding to image column */
  .page-id-2944 .family-col-prices-image {
    padding-left: 40px !important;    /* adjust: 20–60px */
  }
}

/* PAGE 2944 — Group 3 text spacing (TABLET ONLY) */
@media (min-width: 545px) and (max-width: 921px) {
  .page-id-2944 .family-section-story .family-col-story-text {
    margin-top: 5px !important;   /* tweak 20–40px */
    clear: both;
  }
}

/* PAGE 2944 — Group 3 text spacing (MOBILE ONLY) */
@media (max-width: 544px) {
  .page-id-2944 .family-section-story .family-col-story-text {
    margin-top: -20px !important;    /* tweak 28–60px */
    clear: both;
  }
}

@media (min-width: 545px) and (max-width: 921px) {
  .page-id-2944 .family-col-prices-text {
    margin-top: 5px !important;   /* tweak 20–60px */
  }
}
@media (max-width: 544px) {
  .page-id-2944 .family-col-prices-text {
    margin-top: 5px !important;   /* tweak 30–70px */
  }
}

/* PAGE 2944 — remove separator + tighten spacing before gallery on tablet/mobile */
@media (max-width: 921px) {

  /* Hide the line */
  .page-id-2944 .family-section-gallery::before {
    content: none !important;
    display: none !important;
  }

  /* Reduce the gap between Group 4 text and the gallery */
  .page-id-2944 .family-section-prices {
    margin-bottom: -40px !important;   /* tweak 8–20px */
  }

  .page-id-2944 .family-section-gallery {
    margin-top: 0 !important;
  }
}

/* PAGE 2944 — remove separator + tighten spacing BEFORE gallery (MOBILE ONLY) */
@media (max-width: 544px) {

  /* Hide the grey separator line */
  .page-id-2944 .family-section-gallery::before {
    content: none !important;
    display: none !important;
  }

  /* Reduce spacing after Group 4 text */
  .page-id-2944 .family-section-prices {
    margin-bottom: -65px !important;     /* tweak: 0–12px */
  }

  /* Pull the gallery up */
  .page-id-2944 .family-section-gallery {
    margin-top: 0 !important;          /* tweak if needed */
  }
}

/* PAGE 2944 — fix Group 3 text under carousel (MOBILE ONLY) */
@media (max-width: 544px) {
  .page-id-2944 .family-section-story .family-col-story-media {
    margin-bottom: -5px !important;   /* space after the image/carousel */
  }

  .page-id-2944 .family-section-story .family-col-story-text {
    margin-top: 0 !important;         /* reset in case something pushed it up */
    clear: both;
  }
}

/* PAGE 2944 — tighten Paket & priser spacing on MOBILE ONLY */
@media (max-width: 544px) {

  /* shrink the custom gaps we added between sections */
  .page-id-2944 .family-section-prices .price-gap-tight {
    display: block;
    margin-top: -5px !important;   /* tweak: -6 to -14 if needed */
  }

  /* keep the main text line-height as you set it */
  .page-id-2944 .family-section-prices .family-heading-prices {
    line-height: 1.35;              /* your global mobile value */
  }
}

/* PAGE 2944 — add breathing room under the separator in MOBILE */
@media (max-width: 544px) {
  .page-id-2944 .family-section-prices .family-col-prices-text {
    margin-top: 6px !important;   /* tweak: try 8–16px as you like */
  }
}

/* PAGE 2944 — tighten gap between prices text (G4) and gallery (G5) on MOBILE */
@media (max-width: 544px) {
  .page-id-2944 .family-section-gallery {
    padding-top: 10px !important;   /* was 30px — tweak 0–15px */
    margin-top: 0 !important;       /* keep section aligned */
  }

  .page-id-2944 .family-section-prices {
    margin-bottom: -50px !important;  /* little gap under prices text */
  }
}

/* MOBILE MENU — remove circle but keep arrow */
@media (max-width: 921px) {
  .ast-header-break-point .main-header-menu .menu-item-has-children > .ast-menu-toggle {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin-left: 0.25rem !important;
  }
}
/* MOBILE MENU — keep arrow closed, hide arrow when open, no dotted box */
@media (max-width: 921px) {

  /* reset the toggle button styling a bit, keep it clickable */
  .ast-header-break-point .main-header-menu .menu-item-has-children > .ast-menu-toggle {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0.3rem 0.8rem 0 0 !important;
    margin-left: auto !important; /* sits on the right side */
  }

  /* remove the dotted focus outline box */
  .ast-header-break-point .main-header-menu .menu-item-has-children > .ast-menu-toggle:focus {
    outline: none !important;
    box-shadow: none !important;
  }

  /* when submenu is OPEN, hide only the SVG icon, keep button clickable */
  .ast-header-break-point
  .main-header-menu .menu-item-has-children.ast-submenu-expanded
  > .ast-menu-toggle .ast-icon {
    opacity: 0 !important;
  }
}



/* =========================
   DRONE PAGE – LAYOUT FIX
   ========================= */

/* 1) Base styles – images responsive */
.drone-image,
.drone-media img {
  display: block;
  width: 100%;
  height: auto;
}

/* 2) Desktop layout (asymmetry) */
@media (min-width: 921px) {
  .drone-section .drone-columns,
  .drone-section .drone-columns-reverse {
    display: flex;
    align-items: flex-start;
    gap: 3rem;          /* tweak spacing between text & image */
  }

  .drone-section .drone-col {
    flex: 1 1 0;
  }

  /* Only section 2 should be flipped on desktop */
  .drone-section-2 .drone-columns,
  .drone-section-2 .drone-columns-reverse {
    flex-direction: row-reverse;
  }
}

/* 3) Mobile & tablet safety – always stacked */
@media (max-width: 920px) {
  .drone-section .drone-columns,
  .drone-section .drone-columns-reverse {
    display: block;     /* one column under the other */
  }

  .drone-section .drone-col {
    width: 100%;
  }
}


/* ------------------------------ */
/* MOBILE (up to 544px)          */
/* ------------------------------ */
@media (max-width: 544px){

  /* Section 3 – fix overlapping text */
  .page-id-2947 .drone-section-3 .drone-col-media{
    margin-top: 60px !important;   /* try 14, 18, 22 */
  }
}


/* --------------------------------------- */
/* TABLET (545px–921px)                    */
/* --------------------------------------- */
@media (min-width: 545px) and (max-width: 921px){

  /* SECTION 1 – add spacing between text and image */
  .page-id-2947 .drone-section-1 .drone-col-media{
    margin-top: 25px !important;   /* tweak 12–22 */
  }

  /* SECTION 2 – spacing above the sunset image */
  .page-id-2947 .drone-section-2 .drone-col-media{
    margin-top: -395px !important;   /* tweak 20–32 */
  }

  /* SECTION 3 – spacing above last image */
  .page-id-2947 .drone-section-3 .drone-col-media{
    margin-top: 45px !important;   /* tweak 18–28 */
  }

  /* SECTION 3 – spacing under italic line */
  .page-id-2947 .drone-section-3 .drone-text-note{
    margin-bottom: 22px !important;   /* tweak 8–16 */
  }
}

/* --------------------------------------- */
/* TABLET (545px–921px) – Move Section 3 up */
/* --------------------------------------- */
@media (min-width: 545px) and (max-width: 921px){
  .page-id-2947 .drone-section-3{
    margin-top: -80px !important;   /* try -18, -24, -30 */
  }
}




/* MOBILE TWEAKS – smaller titles + thinner frame */
@media (max-width:700px){

  /* Smaller overlay title on hover (Själsö, Visby, osv.) */
  .hero-thumb::after{
    font-size:0.75rem !important;   /* was 1.1rem */
    padding:0 4px;                  /* tiny padding so longer names fit nicer */
  }

  /* Thinner selection frame on active thumbnail */
  .hero-thumb .sel-frame{
    border-width:2.5px !important;  /* was 4px */
  }
}


/* START PAGE (FRONTPAGE) — phones only: add space under header */
@media (max-width: 544px){

  body.home .entry-content{
    padding-top: 60px !important;   /* crank to 120px temporarily if you want to “see” it */
  }

  body.home .entry-content > *:first-child{
    margin-top: 0 !important;       /* avoids double gaps from block margins */
  }
}


/* START PAGE (FRONTPAGE) — phones only: add space under header */
@media (max-width: 544px){

  body.home .entry-content{
    padding-top: 60px !important;   /* crank to 120px temporarily if you want to “see” it */
  }

  body.home .entry-content > *:first-child{
    margin-top: 0 !important;       /* avoids double gaps from block margins */
  }
}



/* Start page (2887) – desktop only: slightly smaller intro text */
@media (min-width:922px){
  .page-id-2887 .entry-content p.has-ast-global-color-3-color.has-text-color.has-link-color{
    font-size: 16.9px !important;      /* try 19–20px */
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
  }
}


/* NARROW PHONES ONLY (≈ small devices + Customizer preview) */
@media (max-width:400px){
  br.mobile-narrow-break{
    display:inline;
  }
}

/* Hide narrow-mobile breaks on everything wider (your Pro Max, tablet, desktop) */
@media (min-width:401px){
  br.mobile-narrow-break{
    display:none;
  }
}


/* Page 2887 — mobile only: add space under intro paragraph */
@media (max-width:544px){
  .page-id-2887 .intro-text{
    margin-bottom: 8px !important; /* adjust 16–40px as you prefer */
  }
}


.page-id-2887 .intro-slider-wrap{
  padding: 0 !important;
}

@media (max-width:544px){
  .page-id-2887 .intro-slider-wrap{
    margin-bottom: 10px !important;
  }
}

@media (max-width:544px){
  .page-id-2887 .intro-slider-wrap{
    margin-top: -25px !important; /* adjust: -10, -15, -25 */
  }
}


/* PRINTS page — simple fallback */
.page-id-6 .entry-content > p:first-of-type {
    margin-top: 30px !important;   /* desktop */
}

@media (min-width: 545px) and (max-width: 921px) {
    .page-id-6 .entry-content > p:first-of-type {
        margin-top: 20px !important;  /* tablet */
    }
}

@media (max-width: 544px) {
    .page-id-6 .entry-content > p:first-of-type {
        margin-top: 15px !important;  /* mobile */
    }
}


/* PRINTS page — move first paragraph right (desktop) */
.page-id-6 .entry-content > p:first-of-type {
    margin-left: 148px !important;   /* tweak freely */
}

/* Tablet */
@media (min-width: 545px) and (max-width: 921px) {
    .page-id-6 .entry-content > p:first-of-type {
        margin-left: 20px !important;   /* tweak */
    }
}

/* Mobile */
@media (max-width: 544px) {
    .page-id-6 .entry-content > p:first-of-type {
        margin-left: 20px !important;   /* tweak */
    }
}

/* PRINTS page — limit text width on the right (desktop) */
.page-id-6 .entry-content > p:first-of-type,
.page-id-6 .entry-content > h2:first-of-type {
    padding-right: 148px !important;   /* tweak freely */
}

/* Tablet */
@media (min-width: 545px) and (max-width: 921px) {
    .page-id-6 .entry-content > p:first-of-type,
    .page-id-6 .entry-content > h2:first-of-type {
        padding-right: 20px !important;   /* tweak */
    }
}

/* Mobile */
@media (max-width: 544px) {
    .page-id-6 .entry-content > p:first-of-type,
    .page-id-6 .entry-content > h2:first-of-type {
        padding-right: 20px !important;   /* tweak */
    }
}


/* Du & ditt husdjur – extra luft under header (MOBILE ONLY) */
@media (max-width: 544px) {
  .page-id-4620 .intro-wrap {
    padding-top: 3rem;   /* just tweak: 2rem / 3rem etc */
  }
}

/* DU & DITT HUSDJUR – align text with header edges */

/* Mobile ≤ 544px */
@media (max-width: 544px) {
  .page-id-4620 .intro-wrap,
  .page-id-4620 .session-wrap {
    padding-left: 1rem;   /* tweak: 1.2–1.8rem */
    padding-right: 1rem;
  }

  .page-id-4620 .session-columns {
    margin-left: 0;
    margin-right: 0;
  }
}

/* Tablet 545–921px */
@media (min-width: 545px) and (max-width: 921px) {
  .page-id-4620 .intro-wrap,
  .page-id-4620 .session-wrap {
    padding-left: 1rem;     /* tweak for tablet */
    padding-right: 1rem;
  }

  .page-id-4620 .session-columns {
    margin-left: 0;
    margin-right: 0;
  }
}


@media (max-width: 544px) {
  .page-id-4620 .session-card-list ul,
  .page-id-4620 .session-card-list li {
    padding-left: 3 !important;
    margin-left: 0 !important;
    text-indent: 0 !important;
    list-style-position: inside; /* pulls bullet inward */
  }
}

/* DU & DITT HUSDJUR – micro-align bullet paragraph on mobile */
@media (max-width: 544px) {
  .page-id-4620 p.session-card-list {
    padding-left: 2 !important;       /* kill default indent */
    margin-left: 0 !important;
    text-indent: 0 !important;

    /* fine-tune position */
    transform: translateX(-4.5px);      /* try -2px, -3px, -4px */
  }
}


/* DU & DITT HUSDJUR – tablet: stretch gallery left + right */
@media (min-width:545px) and (max-width:921px){
  .page-id-4620 .session-gallery{
    box-sizing: border-box;
    max-width: none !important;

    /* make the gallery wider than the content area */
    width: calc(100% + 24px);      /* tweak this */

    /* pull it out equally on both sides */
    margin-left: 0px !important; /* half of the extra width */
    margin-right: 0px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* PAGE 4620 — control spacing above mileage text */

/* DEFAULT (desktop) */
.page-id-4620 .mileage-text {
  margin-top: -11px;   /* tweak freely: -5, -15, 0, etc */
}

/* TABLET */
@media (min-width: 545px) and (max-width: 921px){
  .page-id-4620 .mileage-text {
    margin-top: -11px;  /* tweak */
  }
}

/* MOBILE */
@media (max-width: 544px){
  .page-id-4620 .mileage-text {
    margin-top: -11px;  /* tweak */
  }
}


@media (min-width: 922px) {
  .page-id-4620 .session-gallery {
    margin-top: 4rem;   /* or whatever value you like */
  }
}

/* DU & DITT HUSDJUR (4620) – push gallery block down */

/* Desktop */
@media (min-width: 922px) {
  .page-id-4620 p.session-gallery-title,
  .page-id-4620 .session-gallery {
    margin-top: 0rem !important;  /* tweak: 2rem, 4rem, etc. */
  }
}


/* PAGE 4620 – Full control of spacing above gallery title */

/* Desktop */
@media (min-width:922px) {
  .page-id-4620 p.session-gallery-title {
    margin-top: -1rem !important; /* tweakable: -2rem, -0.5rem, etc */
  }

  .page-id-4620 .session-gallery {
    margin-top: 0 !important; /* keeps gallery tight under title */
  }
}

/* Desktop-only line breaks */
@media (min-width: 922px) {
  .br-desktop {
    display: block;
  }
}

/* Tablet-only line breaks (545px–921px) */
@media (min-width: 545px) and (max-width: 921px) {
  .br-tablet {
    display: block;
  }
}

/* Mobile-only line breaks (≤544px) */
@media (max-width: 544px) {
  .br-mobile {
    display: block;
  }
}

/* Wide-phone only (big phones, e.g. iPhone Pro Max) */
@media (min-width: 430px) and (max-width: 544px) {
  .br-phonewide {
    display: block;
  }
}

/* --- Page 4482: air under header (mobile + tablet) --- */

/* Mobile: phones only */
@media (max-width: 599px) {
  body.page-id-4482 main.site-main {
    padding-top: 0.4rem;   /* tweak for phone */
  }
}

/* Tablet: small/medium screens */
@media (min-width: 600px) and (max-width: 1024px) {
  body.page-id-4482 main.site-main {
    padding-top: 0.5rem;   /* tweak for tablet */
  }
}

/* --- Page 4482: bullet text fix, mobile only (negative left shift) --- */
@media (max-width: 599px) {
  body.page-id-4482 .session-card-list {
    margin-left: -7rem;   /* tweak: go more negative if needed */
    padding-left: 0;        /* prevents Customizer from auto-centering */
    text-align: left !important;
  }
}


/* Page 4482 – tablet text alignment for session card */
@media (min-width: 600px) and (max-width: 1024px) {
  body.page-id-4482 .session-card-list {
    margin: 0;                 /* reset any weird margins */
    padding-left: 1.75rem;      /* pull text to the right inside the card */
    text-align: left;          /* make sure it’s not centered */
  }
}

/* Page 4482 – stop overlap: stack the two columns on smaller screens */
@media (max-width: 1024px) {
  body.page-id-4482 .session-columns {
    display: block;   /* no side-by-side flex/columns */
  }

  /* both columns full width */
  body.page-id-4482 .session-columns > * {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* only tablet: add a bit of space above the card */
@media (min-width: 600px) and (max-width: 1024px) {
  body.page-id-4482 .session-card {
    margin-top: 1.5rem;
  }
}


/* Page 5035 – header spacing WITH NEGATIVE VALUES */

/* MOBILE (phones) */
@media (max-width: 599px) {
  body.page-id-5035 main.site-main {
    margin-top: -1.5rem;   /* adjust: -0.5rem → -3rem, etc. */
  }
}

/* TABLET */
@media (min-width: 600px) and (max-width: 1024px) {
  body.page-id-5035 main.site-main {
    margin-top: -1.5rem;     /* adjust as needed */
  }
}

/* DESKTOP */
@media (min-width: 1025px) {
  body.page-id-5035 main.site-main {
    margin-top: -2.4rem;     /* adjust or remove if desktop looks fine */
  }
}

/* Page 5035 – widen session gallery slightly */
body.page-id-5035 .session-gallery {
  display: block;
  width: calc(100% + 2rem) !important;
  margin-left: -0.8rem !important;
  margin-right: -0.8rem !important;
}


/* Page 5035 – tablet fine-tune shift for bullet list */
@media (min-width: 600px) and (max-width: 1024px) {
  body.page-id-5035 .session-card-list {
    display: block;
    text-align: left !important;
    margin: 0 !important;
    padding-left: 0 !important;

    /* THIS is your tweak knob */
    transform: translateX(-12rem);
  }
}

/* Page 5035 – full-bleed background for session card on mobile + tablet */
@media (max-width: 1024px) {
  body.page-id-5035 .session-card {
    position: relative;
    background: transparent !important;   /* hide original rounded box */
  }

  body.page-id-5035 .session-card::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 100vw;                         /* bleed from edge to edge */
    transform: translateX(-50%);
    background: #F2F5F7;                  /* your blue-grey card color */
    border-radius: 0;                      /* no visible corners */
    z-index: -1;                           /* sits behind the text */
  }
}

/* Page 5035 – remove original card background & corners on tablet/mobile */
@media (max-width: 1024px) {
  body.page-id-5035 .session-card {
    background: transparent !important;   /* remove original grey block */
    border-radius: 0 !important;          /* remove rounded corners */
    box-shadow: none !important;          /* just in case Astra adds a shadow */
  }
}

/* Page 5035 – fine-tune bullet list on MOBILE only */
@media (max-width: 599px) {
  body.page-id-5035 .session-card-list {
    transform: translateX(-0.8rem);   /* tweak this value */
  }
}

/* Page 5035 – stack text + card when viewport is not wide enough */
@media (max-width: 1200px) {
  body.page-id-5035 .session-columns {
    display: flex;
    flex-direction: column;           /* text column first, card underneath */
  }

  body.page-id-5035 .session-columns > .wp-block-column {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Page 5035 – always left-align bullet list */
body.page-id-5035 .session-card-list,
body.page-id-5035 .session-card-list * {
  text-align: left !important;
}

/* DESKTOP: no sideways shift */
@media (min-width: 1025px) {
  body.page-id-5035 .session-card-list {
    transform: translateX(0);   /* sit naturally in the column */
  }
}

/* TABLET: small nudge left */
@media (min-width: 600px) and (max-width: 1024px) {
  body.page-id-5035 .session-card-list {
    transform: translateX(-1.0rem);   /* tweak up/down a bit if needed */
  }
}

/* MOBILE: a bit more left (was your favourite look) */
@media (max-width: 599px) {
  body.page-id-5035 .session-card-list {
    transform: translateX(-0.8rem);   /* tweak -0.6 / -1.0 etc. */
  }
}

/* Page 5035 – always left-align bullet list */
body.page-id-5035 .session-card-list,
body.page-id-5035 .session-card-list * {
  text-align: left !important;
}

/* ==== PAGE 5035 – FINAL BULLET LIST ALIGNMENT ==== */

/* 1) Always left-align the text inside the list */
body.page-id-5035 .session-card-list,
body.page-id-5035 .session-card-list * {
  text-align: left !important;
}

/* 2) DESKTOP (card on the right, no sideways shift inside the card) */
@media (min-width: 1025px) {
  body.page-id-5035 .session-card-list {
    transform: translateX(0) !important;
    margin: 0 !important;
    padding-left: 0 !important;
  }
}

/* 3) TABLET + MOBILE (stacked layout, same offset for both) */
@media (max-width: 1024px) {
  body.page-id-5035 .session-card-list {
    transform: translateX(-4rem) !important;  /* tweak this ONE value */
    margin: 0 !important;
    padding-left: 0 !important;
  }
}

/* ==== PAGE 5035 – FINAL-FINAL BULLET LIST OFFSET ==== */

/* 1) Always left-align text inside the list */
body.page-id-5035 .session-card-list,
body.page-id-5035 .session-card-list * {
  text-align: left !important;
}

/* 2) Full desktop (wide, card on the right) – no shift */
@media (min-width: 1201px) {
  body.page-id-5035 .session-card-list {
    transform: translateX(0) !important;
    margin: 0 !important;
    padding-left: 0 !important;
  }
}

/* 3) Everything up to 1200px (stacked view: tablet + mobile) – same shift */
@media (max-width: 1200px) {
  body.page-id-5035 .session-card-list {
    transform: translateX(-4rem) !important;  /* tweak this ONE value */
    margin: 0 !important;
    padding-left: 0 !important;
  }
}

/**************************************************************
PATCH ZONE — DO NOT EDIT ABOVE THIS LINE
Only add new fixes below. Safe overrides only.
Date: 2026-01-25
**************************************************************/

/* PRICES SECTION — medium emphasis paragraphs */
.section-prices .prices-text-left-1,
.section-prices .prices-text-right-1 {
  font-weight: 500;
}

/* PRICES SECTION — space above (responsive, WP-safe) */

/* Desktop (default) */
.section-prices {
  margin-top: 35px;
}

/* Tablet only */
@media (min-width: 768px) and (max-width: 1023px) {
  .section-prices {
    margin-top: 30px !important;
  }
}

/* Mobile only */
@media (max-width: 767px) {
  .section-prices {
    margin-top: 20px !important;
  }
}

/* PRICES SECTION — tablet catch-all (keeps desktop/mobile intact) */
@media (min-width: 600px) and (max-width: 1366px) {
  .section-prices {
    margin-top: 30px !important;
  }
}

/* PRICES — lift first left paragraph (responsive) */

/* Desktop */
.section-prices .prices-text-left-1 {
  margin-top: -25px;
}

/* Tablet */
@media (min-width: 600px) and (max-width: 1366px) {
  .section-prices .prices-text-left-1 {
    margin-top: -25px !important;
  }
}

/* Mobile */
@media (max-width: 599px) {
  .section-prices .prices-text-left-1 {
    margin-top: -25px !important;
  }
}

/* PRICES — align right first paragraph with left heading (desktop only) */
.section-prices .prices-text-right-1 {
  margin-top: -25px;
}

/* PRICES — align left first paragraph with heading (desktop only) */
.section-prices .prices-text-left-1 {
  margin-top: -25px;
}

/* PRICES — lift second paragraphs (desktop only) */
.section-prices .prices-text-left-2,
.section-prices .prices-text-right-2 {
  margin-top: -10px;
}

/* PRICES — column spacing (tablet only, robust) */
@media (min-width: 600px) and (max-width: 1366px) {
  .section-prices .prices-grid {
    gap: 45px !important;
  }
  .section-prices .prices-grid > * {
    padding-left: 20px;
    padding-right: 20px;
  }
}

