/**
 * Photoprompt global shell v3.1.0
 * Shared navigation, dock, search and footer for every public route.
 */
body.photoprompt-site {
	--pp-nav-width: min(720px, calc(100vw - 28px));
	--pp-shell-top: 12px;
}

/* Blocksy keeps doing the page/content work, but Photoprompt owns navigation/footer. */
body.photoprompt-site #header,
body.photoprompt-site [data-header*="type"],
body.photoprompt-site .ct-header,
body.photoprompt-site footer.ct-footer,
body.photoprompt-site #footer,
body.photoprompt-site .site-footer { display: none !important; }

body.photoprompt-site:not(.photoprompt-home) .site-main,
body.photoprompt-site:not(.photoprompt-home) main.site-main {
	padding-top: clamp(118px, 10vw, 150px);
}

.pp-global-shell,
.pp-global-shell * { box-sizing: border-box; }
.pp-global-shell a,
.pp-global-footer a { color: inherit; text-decoration: none; }
.pp-nav-align { width: var(--pp-nav-width); margin-inline: auto; }
.pp-menu { list-style: none; padding: 0; margin: 0; }

.pp-scroll-progress { position: fixed; z-index: 10020; top: 0; left: 0; right: 0; height: 2px; pointer-events: none; }
.pp-scroll-progress span { display: block; width: 100%; height: 100%; background: var(--pp-text); transform: scaleX(0); transform-origin: left; }

.pp-site-header { position: fixed; z-index: 10000; top: var(--pp-shell-top); left: 0; right: 0; transition: transform .55s var(--pp-ease), opacity .35s ease; }
.pp-site-header.is-away { transform: translateY(calc(-100% - 32px)); opacity: 0; pointer-events: none; }
.pp-header-capsule { overflow: hidden; background: var(--pp-surface); border: 1px solid var(--pp-border); box-shadow: 0 10px 34px var(--pp-shadow); }
.pp-header-brandbar { height: 54px; display: grid; grid-template-columns: 54px 1fr 54px; align-items: center; background: var(--pp-red); color: #fff; }
.pp-wordmark, .pp-mega-wordmark { font: 800 clamp(25px,2vw,36px)/.92 var(--pp-display); letter-spacing: -.055em; text-align: center; }
.pp-menu-toggle, .pp-header-search, .pp-mega-close, .pp-mega-search { appearance: none; border: 0; background: transparent; color: inherit; cursor: pointer; width: 54px; height: 54px; display: grid; place-items: center; padding: 0; }
.pp-menu-toggle { gap: 5px; align-content: center; }
.pp-menu-toggle > span:not(.pp-visually-hidden) { width: 21px; height: 1.5px; background: currentColor; display: block; }
.pp-header-search svg, .pp-mega-search svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.pp-header-quick { height: 40px; background: var(--pp-surface); color: var(--pp-text); }
.pp-menu--quick { display: grid; grid-template-columns: repeat(4,1fr); height: 100%; }
.pp-menu--quick li { border-right: 1px solid var(--pp-border-soft); }
.pp-menu--quick li:last-child { border-right: 0; }
.pp-menu--quick a { height: 100%; display: grid; place-items: center; padding: 0 10px; font: 700 12px/1 var(--pp-sans); white-space: nowrap; }
.pp-menu--quick a:hover,
.pp-menu--quick .current-menu-item a { background: var(--pp-text); color: var(--pp-bg); }

/* Bottom dock */
.pp-bottom-dock-wrap { position: fixed; z-index: 9990; left: 0; right: 0; bottom: 14px; transform: translateY(calc(100% + 30px)); opacity: 0; pointer-events: none; transition: transform .58s var(--pp-ease), opacity .35s ease; }
.pp-bottom-dock-wrap.is-active { transform: translateY(0); opacity: 1; pointer-events: auto; }
.pp-context-bar { min-height: 58px; display: grid; grid-template-columns: 58px minmax(0,1fr) auto auto; gap: 6px; padding: 6px; background: #1F2328; color: #fff; border: 5px solid rgba(255,255,255,.15); border-radius: 13px; box-shadow: 0 18px 46px rgba(0,0,0,.28); }
.pp-context-mark { display: grid; place-items: center; border-radius: 7px; background: #111111; font: 900 14px/1 var(--pp-sans); }
.pp-menu--context { height: 100%; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; }
.pp-menu--context a, .pp-context-favorite { min-height: 42px; padding: 0 13px; display: flex; justify-content: center; align-items: center; gap: 7px; border: 1px solid rgba(255,255,255,.14); border-radius: 6px; font: 700 11px/1 var(--pp-sans); white-space: nowrap; }
.pp-menu--context a:hover, .pp-menu--context .current-menu-item a, .pp-context-favorite:hover { background: #fff; color: #111; }
.pp-count { width: 19px; height: 19px; border-radius: 50%; display: inline-grid; place-items: center; background: rgba(255,255,255,.16); font-size: 9px; }
.pp-context-cta { min-height: 42px; display: flex; align-items: center; gap: 14px; padding: 0 18px; border-radius: 6px; background: var(--pp-red); color: #fff; font: 800 11px/1 var(--pp-sans); }
.pp-context-cta b { width: 23px; height: 23px; border-radius: 50%; display: grid; place-items: center; background: #fff; color: #111; }

/* Mega menu */
.pp-menu-backdrop { position: fixed; z-index: 10030; inset: 0; background: rgba(0,0,0,.48); backdrop-filter: blur(5px); opacity: 0; pointer-events: none; transition: opacity .3s ease; }
.pp-menu-backdrop.is-open { opacity: 1; pointer-events: auto; }
.pp-mega-menu { position: fixed; z-index: 10040; top: 10px; left: 50%; width: min(760px,calc(100vw - 24px)); max-height: calc(100vh - 20px); overflow: auto; background: var(--pp-red); color: #fff; transform: translate(-50%,-18px) scale(.985); transform-origin: top; opacity: 0; pointer-events: none; transition: transform .5s var(--pp-ease), opacity .3s ease; border: 1px solid rgba(255,255,255,.28); box-shadow: 0 28px 90px rgba(0,0,0,.28); }
.pp-mega-menu.is-open { transform: translate(-50%,0) scale(1); opacity: 1; pointer-events: auto; }
.pp-mega-menu__head { height: 62px; display: grid; grid-template-columns: 62px 1fr 62px; align-items: center; border-bottom: 1px solid rgba(255,255,255,.34); }
.pp-mega-close { position: relative; }
.pp-mega-close span { position: absolute; width: 25px; height: 1.5px; background: #fff; transform: rotate(45deg); }
.pp-mega-close span:last-child { transform: rotate(-45deg); }
.pp-mega-menu__body { padding: 22px 42px 30px; }
.pp-mega-intro { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.pp-mega-status { display: inline-flex; align-items: center; gap: 8px; border: 1px solid rgba(255,255,255,.6); border-radius: 999px; padding: 7px 13px; font: 700 11px/1 var(--pp-sans); }
.pp-mega-status i { width: 5px; height: 5px; background: #fff; border-radius: 50%; }
.pp-mega-edition { font: 700 9px/1 var(--pp-mono); letter-spacing: .06em; }
.pp-menu--mega { margin: 28px 0; }
.pp-menu--mega a { display: inline-flex; align-items: center; min-height: 41px; font: 800 clamp(30px,4vw,56px)/.94 var(--pp-display); letter-spacing: -.055em; transition: transform .22s var(--pp-ease); }
.pp-menu--mega a:hover, .pp-menu--mega .current-menu-item a { transform: translateX(10px); }
.pp-menu--mega .current-menu-item a::after { content: ' ↗'; font: 700 13px/1 var(--pp-mono); letter-spacing: 0; margin-left: 10px; }
.pp-mega-utility { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; margin-top: 24px; background: rgba(255,255,255,.34); border: 1px solid rgba(255,255,255,.34); }
.pp-mega-utility a { padding: 13px; background: var(--pp-red); font: 700 12px/1.1 var(--pp-sans); }
.pp-mega-utility a:hover { background: #111; color: #fff; }
.pp-mega-controls { margin-top: 18px; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.pp-mega-menu .pp-theme-toggle { color: #fff; border-color: rgba(255,255,255,.65); }
.pp-language-switcher { display: inline-flex; align-items: center; gap: 7px; font: 800 10px/1 var(--pp-mono); }
.pp-language-switcher__link { opacity: .55; }
.pp-language-switcher__link.is-active { opacity: 1; text-decoration: underline; text-underline-offset: 4px; }
.pp-mega-search-field { width: 100%; height: 54px; margin-top: 18px; padding: 0 15px; display: flex; align-items: center; justify-content: space-between; color: #fff; background: transparent; border: 1px dashed rgba(255,255,255,.8); cursor: pointer; }
.pp-mega-foot { display: flex; gap: 18px; padding-top: 22px; font: 700 9px/1 var(--pp-mono); text-transform: uppercase; }
.pp-mega-foot span { margin-right: auto; }

/* Search */
.pp-search-panel { position: fixed; z-index: 10050; inset: 0; display: grid; place-items: center; padding: 24px; background: #111; color: #fff; opacity: 0; pointer-events: none; transition: opacity .35s ease; }
.pp-search-panel.is-open { opacity: 1; pointer-events: auto; }
.pp-search-close { position: absolute; top: 20px; right: 28px; appearance: none; border: 0; background: none; color: #fff; font: 300 48px/1 var(--pp-sans); cursor: pointer; }
.pp-search-form { width: min(1080px,100%); }
.pp-search-form label { display: block; margin-bottom: 34px; font: 800 clamp(48px,7vw,124px)/.9 var(--pp-display); letter-spacing: -.06em; }
.pp-search-row { display: grid; grid-template-columns: 1fr auto; border-bottom: 1px solid #fff; }
.pp-search-row input { width: 100%; padding: 18px 0; border: 0 !important; outline: 0; background: transparent !important; color: #fff !important; font: 700 clamp(20px,3vw,38px)/1 var(--pp-sans); }
.pp-search-row button { padding: 0 8px 0 30px; border: 0; background: transparent; color: #fff; font: 800 12px/1 var(--pp-mono); text-transform: uppercase; cursor: pointer; }
.pp-search-suggest { margin-top: 20px; display: flex; flex-wrap: wrap; gap: 8px; }
.pp-search-suggest a { padding: 8px 11px; border: 1px solid rgba(255,255,255,.24); font: 700 9px/1 var(--pp-mono); text-transform: uppercase; }

/* Global footer */
.pp-global-footer { position: relative; z-index: 2; padding: clamp(70px,8vw,130px) var(--pp-gutter) 22px; background: var(--pp-surface); color: var(--pp-text); border-top: 1px solid var(--pp-border-soft); }
.pp-global-footer__top { max-width: var(--pp-max); margin: 0 auto clamp(50px,6vw,90px); display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); gap: clamp(50px,7vw,120px); }
.pp-global-footer__brand > a:first-child { display: inline-block; font: 800 clamp(68px,8.5vw,168px)/.84 var(--pp-display); letter-spacing: -.06em; }
.pp-global-footer__brand p { max-width: 390px; margin: 32px 0 20px; font: 600 15px/1.45 var(--pp-sans); color: var(--pp-text-muted); }
.pp-footer-creator { display: inline-flex; min-height: 42px; align-items: center; padding: 0 13px; border: 1px solid var(--pp-border); font: 800 9px/1 var(--pp-mono); text-transform: uppercase; }
.pp-global-footer__links { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 28px; align-content: start; }
.pp-global-footer__links b { display: block; margin-bottom: 18px; font: 800 14px/1 var(--pp-sans); }
.pp-global-footer__links a { display: block; margin-bottom: 10px; font: 500 12px/1.3 var(--pp-sans); color: var(--pp-text-muted); overflow-wrap:normal; word-break:normal; hyphens:none; }
.pp-global-footer__links a:hover { color: var(--pp-red); }
.pp-global-footer__bottom { max-width: var(--pp-max); margin: 0 auto; padding-top: 16px; border-top: 1px solid var(--pp-border); display: flex; align-items: center; justify-content: space-between; gap: 20px; font: 700 9px/1 var(--pp-mono); text-transform: uppercase; }
.pp-global-footer__bottom .pp-theme-toggle { min-height: 34px; padding-inline: 9px; }

@media (max-width: 980px) {
	body.photoprompt-site { --pp-nav-width: calc(100vw - 20px); --pp-shell-top: 8px; }
	.pp-header-brandbar { height: 50px; grid-template-columns: 50px 1fr 50px; }
	.pp-header-quick { height: 38px; overflow-x: auto; scrollbar-width: none; }
	.pp-header-quick::-webkit-scrollbar { display: none; }
	.pp-context-bar { grid-template-columns: 48px minmax(0,1fr) auto; min-height: 54px; }
	.pp-context-favorite { display: none; }
	.pp-context-cta { padding-inline: 12px; }
	.pp-context-cta span { display: none; }
	.pp-mega-menu { width: calc(100vw - 12px); top: 6px; max-height: calc(100vh - 12px); }
	.pp-mega-menu__body { padding: 20px 26px 25px; }
	.pp-global-footer__top { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
	.pp-header-quick { display: none; }
	.pp-header-capsule { border-bottom: 0; }
	body.photoprompt-site:not(.photoprompt-home) .site-main,
	body.photoprompt-site:not(.photoprompt-home) main.site-main { padding-top: 78px; }
	.pp-menu--mega a { font-size: clamp(30px,10vw,48px); min-height: 38px; }
	.pp-mega-utility { grid-template-columns: 1fr; }
	.pp-mega-controls { align-items: flex-start; flex-direction: column; }
	.pp-mega-intro { align-items: flex-start; flex-direction: column; }
	.pp-context-bar { grid-template-columns: 44px 1fr auto; padding: 5px; border-width: 4px; }
	.pp-menu--context li:nth-child(2) { display: none; }
	.pp-menu--context { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.pp-menu--context a { padding-inline: 8px; font-size: 10px; }
	.pp-search-panel { padding: 18px; }
	.pp-search-form label { font-size: clamp(42px,14vw,72px); }
	.pp-search-row { grid-template-columns: 1fr; }
	.pp-search-row button { padding: 16px 0; text-align: left; }
	.pp-global-footer { padding-inline: 18px; }
	.pp-global-footer__links { grid-template-columns: 1fr 1fr; gap: 30px 18px; }
	.pp-global-footer__bottom { flex-wrap: wrap; align-items: flex-start; }
}

@media (max-width: 430px) {
	.pp-menu--context li:nth-child(3) { display: none; }
	.pp-menu--context { grid-template-columns: 1fr; }
	.pp-context-cta { min-width: 52px; }
	.pp-global-footer__links { grid-template-columns: 1fr; }
	.pp-global-footer__brand > a:first-child { font-size: clamp(56px,19vw,88px); }
}

@media (prefers-reduced-motion: reduce) {
	.pp-site-header, .pp-bottom-dock-wrap, .pp-mega-menu, .pp-menu-backdrop, .pp-search-panel { transition: none !important; }
}


/* ============================================================
   v3.1.1 — remove duplicate Blocksy / WordPress route titles.
   Photoprompt templates provide their own H1/hero headings.
   ============================================================ */
body.pp-hide-default-title .hero-section[data-type],
body.pp-hide-default-title .ct-page-title,
body.pp-hide-default-title .page-title:not(.pp-keep-page-title),
body.pp-hide-default-title .entry-header:has(> .page-title),
body.pp-hide-default-title .entry-header:has(> .entry-title),
body.pp-hide-default-title .woocommerce-products-header,
body.pp-hide-default-title .woocommerce-products-header__title,
body.pp-hide-default-title .ct-woo-card-extra-title {
	display: none !important;
}

/* Remove the empty spacing Blocksy may keep when its page hero is suppressed. */
body.pp-hide-default-title #main-container > .hero-section + .site-main,
body.pp-hide-default-title #main-container > .site-main,
body.pp-hide-default-title .site-main {
	margin-top: 0;
}


/* v3.4.4 — shared center axis for header + bottom dock */
.pp-site-header > .pp-nav-align,
.pp-bottom-dock-wrap > .pp-nav-align {
	width: var(--pp-nav-width);
	max-width: calc(100vw - 28px);
	margin-inline: auto;
}

@media (min-width: 681px) {
	.pp-context-bar {
		grid-template-columns: repeat(6, minmax(0, 1fr));
		gap: 6px;
	}
	.pp-context-mark {
		grid-column: span 1;
	}
	.pp-context-bar > nav {
		grid-column: span 3;
		min-width: 0;
	}
	.pp-menu--context {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		width: 100%;
	}
	.pp-menu--context a,
	.pp-context-favorite,
	.pp-context-cta {
		width: 100%;
		justify-content: center;
		padding-inline: 8px;
	}
	.pp-context-favorite,
	.pp-context-cta {
		min-width: 0;
	}
}


/* ============================================================
   v3.4.8 — restore the premium one-line dock + shared center axis
   ============================================================ */
body.photoprompt-site {
	--pp-nav-width: min(760px, calc(100vw - 28px));
}
.pp-site-header > .pp-nav-align,
.pp-bottom-dock-wrap > .pp-nav-align {
	width: var(--pp-nav-width) !important;
	max-width: calc(100vw - 28px) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
@media (min-width: 681px) {
	.pp-context-bar {
		grid-template-columns: 58px minmax(0, 1fr) 102px 138px !important;
		gap: 6px !important;
		align-items: stretch;
	}
	.pp-context-mark,
	.pp-context-bar > nav,
	.pp-context-favorite,
	.pp-context-cta {
		grid-column: auto !important;
		min-width: 0 !important;
	}
	.pp-context-bar > nav { width: 100%; }
	.pp-menu--context {
		width: 100%;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
	.pp-menu--context a,
	.pp-context-favorite,
	.pp-context-cta {
		width: 100%;
		padding-inline: 8px !important;
		transition: background .22s ease, color .22s ease, transform .22s var(--pp-ease), border-color .22s ease;
	}
	.pp-menu--context a:hover,
	.pp-context-favorite:hover { transform: translateY(-1px); }
	.pp-context-cta:hover { transform: translateY(-1px); background: #E56A47; }
}

/* Credits owns its own spacing and full-width visual field. */
body.pp-credits-route .site-main,
body.pp-credits-route main.site-main,
body.pp-credits-route .content-area,
body.pp-credits-route .entry-content,
body.pp-credits-route .ct-container,
body.pp-credits-route .ct-container-full {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}
body.pp-credits-route .site-main,
body.pp-credits-route main.site-main { padding-top: 0 !important; }

/* ========================================================================
   v3.15.13 — global footer consistency.
   One full-bleed Photoprompt footer on every public route, including Studio.
   ======================================================================== */
body.photoprompt-site .pp-global-footer{
  box-sizing:border-box!important;
  width:100vw!important;
  max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  clear:both!important;
  overflow:hidden!important;
}
body.photoprompt-site .pp-global-footer{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
body.pp-studio-route .pp-global-footer{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  z-index:50!important;
  margin-top:0!important;
  isolation:isolate;
}
body.pp-studio-route .ppc-studio--saas{
  margin-bottom:0!important;
}
body.pp-wcfm-route .pp-global-footer,
body.pp-account-route .pp-global-footer,
body.pp-creators-route .pp-global-footer,
body.pp-magazine-route .pp-global-footer,
body.photoprompt-woocommerce .pp-global-footer{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  z-index:3!important;
}

/* ========================================================================
   v3.9.6 — DEVICE-SAFE SHELL / MOBILE FOOTER
   Keeps brand typography, footer copy and the fixed bottom dock inside the
   visible viewport on phones, foldables, tablets and short browser windows.
   ======================================================================== */
body.photoprompt-site{
  --pp-mobile-dock-clearance:calc(96px + env(safe-area-inset-bottom, 0px));
  overflow-x:clip;
}
.pp-global-footer__top > *,
.pp-global-footer__links > *,
.pp-global-footer__brand,
.pp-global-footer__bottom > *{min-width:0}
.pp-global-footer__brand > a:first-child{
  max-width:100%;
  overflow:visible;
  text-wrap:nowrap;
  white-space:nowrap;
}
.pp-global-footer__brand p,
.pp-global-footer__links a,
.pp-global-footer__links b,
.pp-footer-creator{
  overflow-wrap:break-word;
  word-break:normal;
  hyphens:auto;
}
.pp-bottom-dock-wrap{
  bottom:max(8px,env(safe-area-inset-bottom,0px));
}

@media (max-width: 680px){
  body.photoprompt-site{--pp-nav-width:calc(100vw - 16px)}
  .pp-site-header > .pp-nav-align,
  .pp-bottom-dock-wrap > .pp-nav-align{
    width:var(--pp-nav-width)!important;
    max-width:calc(100vw - 16px)!important;
  }
  .pp-global-footer{
    padding-left:18px!important;
    padding-right:18px!important;
    padding-bottom:var(--pp-mobile-dock-clearance)!important;
    overflow-x:clip!important;
  }
  .pp-global-footer__top{
    width:100%;
    gap:46px;
    margin-bottom:52px;
  }
  .pp-global-footer__brand > a:first-child{
    display:block;
    width:fit-content;
    max-width:100%;
    font-size:clamp(42px,14.5vw,70px)!important;
    line-height:.9!important;
    letter-spacing:-.078em!important;
  }
  .pp-global-footer__brand p{
    max-width:34ch;
    margin:24px 0 20px;
    font-size:14px;
    line-height:1.5;
  }
  .pp-footer-creator{
    max-width:100%;
    min-height:44px;
    line-height:1.25;
    white-space:normal;
  }
  .pp-global-footer__links{
    width:100%;
  }
  .pp-global-footer__links a{
    font-size:13px;
    line-height:1.4;
  }
  .pp-global-footer__bottom{
    width:100%;
    gap:14px 18px;
    line-height:1.35;
  }
  .pp-context-bar,
  .pp-context-bar > nav,
  .pp-menu--context,
  .pp-menu--context li,
  .pp-menu--context a,
  .pp-context-cta,
  .pp-context-mark{min-width:0}
  .pp-menu--context a,
  .pp-context-cta{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
}

@media (max-width: 430px){
  .pp-global-footer{
    padding-top:58px!important;
  }
  .pp-global-footer__brand > a:first-child{
    font-size:clamp(40px,13.8vw,58px)!important;
    letter-spacing:-.082em!important;
  }
  .pp-global-footer__links{
    grid-template-columns:1fr!important;
    gap:28px!important;
  }
  .pp-global-footer__bottom{
    display:grid;
    grid-template-columns:1fr;
  }
  .pp-global-footer__bottom .pp-language-switcher,
  .pp-global-footer__bottom .pp-theme-toggle{
    justify-self:start;
    max-width:100%;
  }
  .pp-context-bar{
    width:100%;
    grid-template-columns:44px minmax(0,1fr) 52px!important;
  }
  .pp-context-mark{font-size:12px}
}

@media (max-width: 360px){
  .pp-global-footer__brand > a:first-child{
    font-size:clamp(38px,13.4vw,49px)!important;
  }
  .pp-global-footer{
    padding-left:14px!important;
    padding-right:14px!important;
  }
}


/* ========================================================================
   v3.9.7 — PREMIUM HEADER / LUXE NAVIGATION REFRESH
   Makes the fixed shell feel more exclusive: layered capsule, subtle glow,
   refined wordmark treatment, elevated controls and segmented quick-nav.
   ======================================================================== */
body.photoprompt-site {
  --pp-header-glow: color-mix(in srgb, var(--pp-red) 20%, transparent);
  --pp-header-sheen: rgba(255,255,255,.22);
}

.pp-site-header {
  top: max(var(--pp-shell-top), env(safe-area-inset-top, 0px));
}

.pp-header-capsule {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid color-mix(in srgb, var(--pp-border) 78%, rgba(255,255,255,.22));
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--pp-surface) 96%, rgba(255,255,255,.04)),
      color-mix(in srgb, var(--pp-surface) 90%, rgba(0,0,0,.04)));
  backdrop-filter: blur(18px) saturate(135%);
  -webkit-backdrop-filter: blur(18px) saturate(135%);
  box-shadow:
    0 30px 80px rgba(0,0,0,.14),
    0 12px 28px rgba(0,0,0,.08),
    inset 0 1px 0 rgba(255,255,255,.42),
    inset 0 -1px 0 rgba(0,0,0,.08);
}

.pp-header-capsule::before,
.pp-header-capsule::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.pp-header-capsule::before {
  background:
    radial-gradient(120% 180% at 0% 0%, color-mix(in srgb, var(--pp-red) 20%, transparent), transparent 42%),
    radial-gradient(90% 150% at 100% 0%, rgba(255,255,255,.10), transparent 45%);
  opacity: .95;
}

.pp-header-capsule::after {
  inset: 1px 1px auto 1px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--pp-header-sheen), transparent);
  opacity: .9;
}

.pp-header-brandbar {
  position: relative;
  height: 58px;
  grid-template-columns: 58px 1fr 58px;
  background:
    linear-gradient(135deg, #B94625 0%, #CD542F 24%, #E06A46 53%, #B14323 100%);
  color: #fff;
  box-shadow:
    inset 0 -1px 0 rgba(255,255,255,.22),
    inset 0 1px 0 rgba(255,255,255,.16);
}

.pp-header-brandbar::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(110deg, transparent 14%, rgba(255,255,255,.20) 25%, transparent 38%),
    radial-gradient(60% 120% at 50% 0%, rgba(255,255,255,.14), transparent 60%);
  opacity: .75;
  animation: ppHeaderShimmer 12s linear infinite;
  pointer-events: none;
}

.pp-wordmark {
  position: relative;
  z-index: 1;
  display: inline-grid;
  place-items: center;
  align-self: stretch;
  padding-inline: 16px;
  font: 900 clamp(26px, 2.2vw, 37px)/.9 var(--pp-display);
  letter-spacing: -.062em;
  text-shadow: 0 1px 0 rgba(0,0,0,.12);
  transition: transform .28s var(--pp-ease), letter-spacing .28s var(--pp-ease), opacity .28s ease;
}

.pp-wordmark:hover {
  transform: translateY(-1px);
  letter-spacing: -.068em;
}

.pp-menu-toggle,
.pp-header-search {
  position: relative;
  z-index: 1;
  width: 58px;
  height: 58px;
  transition: transform .22s var(--pp-ease), opacity .22s ease;
}

.pp-menu-toggle::before,
.pp-header-search::before {
  content: '';
  position: absolute;
  inset: 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
  transition: transform .24s var(--pp-ease), background-color .24s ease, box-shadow .24s ease;
}

.pp-menu-toggle:hover,
.pp-header-search:hover {
  transform: translateY(-1px);
}

.pp-menu-toggle:hover::before,
.pp-header-search:hover::before {
  background: rgba(255,255,255,.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.24), 0 10px 22px rgba(0,0,0,.16);
}

.pp-menu-toggle > span:not(.pp-visually-hidden),
.pp-header-search svg {
  position: relative;
  z-index: 1;
}

.pp-header-quick {
  position: relative;
  height: 50px;
  padding: 6px;
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--pp-surface) 95%, rgba(255,255,255,.03)),
      color-mix(in srgb, var(--pp-surface) 88%, rgba(0,0,0,.03)));
  color: var(--pp-text);
}

.pp-header-quick::before {
  content: '';
  position: absolute;
  left: 16px;
  right: 16px;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--pp-border) 82%, transparent), transparent);
  pointer-events: none;
}

.pp-menu--quick {
  gap: 6px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pp-menu--quick li {
  border-right: 0;
  min-width: 0;
}

.pp-menu--quick a {
  position: relative;
  min-width: 0;
  border: 1px solid transparent;
  border-radius: 999px;
  font: 800 11px/1 var(--pp-sans);
  letter-spacing: .015em;
  transition:
    transform .24s var(--pp-ease),
    background-color .24s ease,
    color .24s ease,
    border-color .24s ease,
    box-shadow .24s ease;
}

.pp-menu--quick a::after {
  content: '';
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 8px;
  height: 1px;
  transform: scaleX(0);
  transform-origin: center;
  background: currentColor;
  opacity: .34;
  transition: transform .24s var(--pp-ease);
}

.pp-menu--quick a:hover,
.pp-menu--quick .current-menu-item a {
  background: color-mix(in srgb, var(--pp-inverse) 92%, transparent);
  color: var(--pp-inverse-text);
  border-color: color-mix(in srgb, var(--pp-border) 75%, transparent);
  box-shadow: 0 10px 22px rgba(0,0,0,.08), inset 0 1px 0 rgba(255,255,255,.14);
  transform: translateY(-1px);
}

.pp-menu--quick a:hover::after,
.pp-menu--quick .current-menu-item a::after {
  transform: scaleX(1);
}

.pp-site-header.is-away {
  transform: translateY(calc(-100% - 42px));
}

html[data-pp-theme="dark"] .pp-header-capsule {
  border-color: rgba(245,241,236,.18);
  box-shadow:
    0 36px 88px rgba(0,0,0,.44),
    0 16px 34px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.10),
    inset 0 -1px 0 rgba(0,0,0,.28);
}

html[data-pp-theme="dark"] .pp-header-quick {
  background:
    linear-gradient(180deg, rgba(31,35,40,.96), rgba(24,27,31,.92));
}

html[data-pp-theme="dark"] .pp-menu--quick a:hover,
html[data-pp-theme="dark"] .pp-menu--quick .current-menu-item a {
  background: rgba(245,241,236,.94);
  color: #111;
  border-color: rgba(245,241,236,.20);
}

@media (max-width: 980px) {
  .pp-header-capsule {
    border-radius: 22px;
  }
  .pp-header-brandbar {
    height: 54px;
    grid-template-columns: 54px 1fr 54px;
  }
  .pp-menu-toggle,
  .pp-header-search {
    width: 54px;
    height: 54px;
  }
  .pp-header-quick {
    height: 46px;
    padding: 5px;
  }
  .pp-menu--quick a {
    font-size: 10px;
    padding-inline: 8px;
  }
}

@media (max-width: 680px) {
  .pp-site-header {
    top: max(8px, env(safe-area-inset-top, 0px));
  }
  .pp-header-capsule {
    border-radius: 20px;
    box-shadow:
      0 22px 48px rgba(0,0,0,.16),
      inset 0 1px 0 rgba(255,255,255,.32);
  }
  .pp-header-brandbar {
    height: 52px;
    grid-template-columns: 52px 1fr 52px;
  }
  .pp-wordmark {
    font-size: clamp(24px, 8vw, 33px);
    padding-inline: 10px;
  }
}

@media (prefers-reduced-motion: no-preference) {
  @keyframes ppHeaderShimmer {
    0% { transform: translateX(-22%); }
    100% { transform: translateX(22%); }
  }
}

/* ========================================================================
   v3.12.7 — GLOBAL QUICK NAV / ROUTE-INVARIANT SHELL
   The shell must look identical on Studio, Entdecken, FilmLab and Modelle.
   No WooCommerce or route stylesheet is allowed to redesign this component.
   ======================================================================== */
.pp-global-shell .pp-header-capsule{
  overflow:hidden!important;
  border-radius:24px!important;
  border:1px solid color-mix(in srgb,var(--pp-border) 78%,rgba(255,255,255,.22))!important;
  background:linear-gradient(180deg,color-mix(in srgb,var(--pp-surface) 96%,rgba(255,255,255,.04)),color-mix(in srgb,var(--pp-surface) 90%,rgba(0,0,0,.04)))!important;
  box-shadow:0 30px 80px rgba(0,0,0,.14),0 12px 28px rgba(0,0,0,.08),inset 0 1px 0 rgba(255,255,255,.42),inset 0 -1px 0 rgba(0,0,0,.08)!important;
}
.pp-global-shell .pp-header-brandbar{
  height:58px!important;
  grid-template-columns:58px minmax(0,1fr) 58px!important;
  background:linear-gradient(135deg,#B94625 0%,#CD542F 24%,#E06A46 53%,#B14323 100%)!important;
  color:#fff!important;
}
.pp-global-shell .pp-header-quick{
  position:relative!important;
  box-sizing:border-box!important;
  height:50px!important;
  padding:6px!important;
  background:linear-gradient(180deg,#FBF8F3 0%,#F5F1EC 100%)!important;
  color:#111315!important;
}
.pp-global-shell .pp-menu--quick{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:6px!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.pp-global-shell .pp-menu--quick>li{
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  list-style:none!important;
}
.pp-global-shell .pp-menu--quick>li>a{
  position:relative!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:0 20px!important;
  border:1px solid transparent!important;
  border-radius:999px!important;
  background:transparent!important;
  color:#111315!important;
  box-shadow:none!important;
  font:800 11px/1 var(--pp-sans)!important;
  letter-spacing:.015em!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  transform:none!important;
}
.pp-global-shell .pp-menu--quick>li>a::after{
  content:''!important;
  position:absolute!important;
  right:12px!important;
  top:50%!important;
  left:auto!important;
  bottom:auto!important;
  width:6px!important;
  height:6px!important;
  border:0!important;
  border-radius:50%!important;
  background:var(--pp-red)!important;
  opacity:0!important;
  transform:translateY(-50%) scale(.45)!important;
}
.pp-global-shell .pp-menu--quick>li>a:hover{
  background:rgba(17,19,21,.045)!important;
  color:#111315!important;
  border-color:rgba(17,19,21,.10)!important;
  box-shadow:none!important;
  transform:none!important;
}
.pp-global-shell .pp-menu--quick>li>a:hover::after{
  opacity:.32!important;
  transform:translateY(-50%) scale(.7)!important;
}
/* Sole active treatment — same component on all four routes. */
.pp-global-shell .pp-menu--quick>li>a.is-route-active,
.pp-global-shell .pp-menu--quick>li>a[aria-current='page']{
  padding-right:26px!important;
  background:#F8F5EF!important;
  color:#111315!important;
  border-color:rgba(17,19,21,.42)!important;
  box-shadow:0 8px 20px rgba(17,19,21,.09),inset 0 1px 0 rgba(255,255,255,.95)!important;
  transform:none!important;
}
.pp-global-shell .pp-menu--quick>li>a.is-route-active::after,
.pp-global-shell .pp-menu--quick>li>a[aria-current='page']::after{
  opacity:1!important;
  transform:translateY(-50%) scale(1)!important;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--pp-red) 15%,transparent),0 0 14px color-mix(in srgb,var(--pp-red) 30%,transparent)!important;
}
html[data-pp-theme='dark'] .pp-global-shell .pp-header-quick{
  background:linear-gradient(180deg,#1F2328 0%,#181B1E 100%)!important;
  color:#F5F1EC!important;
}
html[data-pp-theme='dark'] .pp-global-shell .pp-menu--quick>li>a{
  color:#F5F1EC!important;
}
html[data-pp-theme='dark'] .pp-global-shell .pp-menu--quick>li>a:hover{
  background:rgba(245,241,236,.07)!important;
  color:#F5F1EC!important;
  border-color:rgba(245,241,236,.12)!important;
}
html[data-pp-theme='dark'] .pp-global-shell .pp-menu--quick>li>a.is-route-active,
html[data-pp-theme='dark'] .pp-global-shell .pp-menu--quick>li>a[aria-current='page']{
  background:#F5F1EC!important;
  color:#111315!important;
  border-color:rgba(245,241,236,.34)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.28),inset 0 1px 0 #fff!important;
}
@media(max-width:980px){
  .pp-global-shell .pp-header-brandbar{height:54px!important;grid-template-columns:54px minmax(0,1fr) 54px!important}
  .pp-global-shell .pp-header-quick{height:46px!important;padding:5px!important}
  .pp-global-shell .pp-menu--quick>li>a{font-size:10px!important;padding-inline:14px!important}
  .pp-global-shell .pp-menu--quick>li>a.is-route-active,
  .pp-global-shell .pp-menu--quick>li>a[aria-current='page']{padding-right:22px!important}
  .pp-global-shell .pp-menu--quick>li>a::after{right:10px!important;width:5px!important;height:5px!important}
}


/* ============================================================
   3.15.22 — PERMANENT ELECTRONIC WITHDRAWAL ENTRY
   ============================================================ */
.pp-withdrawal-utility{
  position:fixed;
  z-index:10008;
  left:14px;
  bottom:max(14px,env(safe-area-inset-bottom));
  min-height:42px;
  padding:0 13px 0 10px;
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid color-mix(in srgb,var(--pp-text) 18%,transparent);
  border-radius:999px;
  background:color-mix(in srgb,var(--pp-surface) 92%,transparent);
  color:var(--pp-text)!important;
  text-decoration:none!important;
  box-shadow:0 10px 34px color-mix(in srgb,#000 14%,transparent);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.pp-withdrawal-utility:hover{transform:translateY(-2px);border-color:var(--pp-red);background:var(--pp-surface);color:var(--pp-text)!important}
.pp-withdrawal-utility>span{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--pp-red) 10%,transparent);color:var(--pp-red);font:800 13px/1 var(--pp-sans)}
.pp-withdrawal-utility>b{font:800 8px/1 var(--pp-mono);letter-spacing:.055em;text-transform:uppercase;white-space:nowrap}
.pp-footer-withdrawal{font-weight:750!important}
@media(max-width:680px){
  .pp-withdrawal-utility{left:9px;bottom:max(78px,calc(env(safe-area-inset-bottom) + 72px));min-height:38px;padding-inline:8px 10px}
  .pp-withdrawal-utility>span{width:22px;height:22px}.pp-withdrawal-utility>b{font-size:7px}
  body.single-product .pp-withdrawal-utility{bottom:max(86px,calc(env(safe-area-inset-bottom) + 80px))}
}
@media(prefers-reduced-motion:reduce){.pp-withdrawal-utility{transition:none!important}}
