:root{color-scheme:light dark;--preview-max:1120px;--preview-gap:clamp(1rem,2vw,2rem);--preview-border:color-mix(in srgb,currentColor 16%,transparent);--preview-surface:color-mix(in srgb,Canvas 96%,CanvasText 4%);--preview-accent:#0d6efd}.skip-link{position:absolute;left:-9999px;top:auto}.skip-link:focus{left:1rem;top:1rem;z-index:10;padding:.75rem 1rem;background:Canvas;color:CanvasText}.preview-container{width:min(calc(100% - 2rem),var(--preview-max));margin-inline:auto}.preview-header{border-bottom:1px solid var(--preview-border);background:var(--preview-surface)}.preview-header-inner{min-height:4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.preview-badge{font-size:.75rem;font-weight:700;letter-spacing:.05em;padding:.25rem .5rem;border:1px solid currentColor;border-radius:999px}.preview-main{padding-block:clamp(2rem,7vw,6rem)}.preview-card{max-width:780px;padding:clamp(1.25rem,4vw,3rem);border:1px solid var(--preview-border);border-radius:1rem;background:var(--preview-surface)}.preview-kicker{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:700;opacity:.72}.preview-card h1{font-size:clamp(2rem,5vw,4rem);line-height:1.04;margin:.35em 0}.preview-runtime-data{display:grid;gap:.75rem;margin:2rem 0}.preview-runtime-data div{display:grid;grid-template-columns:minmax(12rem,1fr) 2fr;gap:1rem;padding-block:.65rem;border-bottom:1px solid var(--preview-border)}.preview-runtime-data dt{font-weight:700}.preview-runtime-data dd{margin:0;overflow-wrap:anywhere}.preview-note{padding:1rem;border-left:4px solid var(--preview-accent);background:color-mix(in srgb,var(--preview-accent) 8%,transparent)}.preview-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}.preview-actions a{color:inherit;text-underline-offset:.2em}.preview-actions a:focus-visible{outline:3px solid var(--preview-accent);outline-offset:3px}@media(max-width:640px){.preview-runtime-data div{grid-template-columns:1fr;gap:.25rem}}
.preview-header-badges{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.preview-badge-secondary{background:transparent;color:inherit;border:1px solid currentColor}.preview-resolver-state{margin-top:1.5rem;padding:1rem 1.125rem;border:1px solid currentColor;border-radius:.75rem;background:color-mix(in srgb,currentColor 5%,transparent)}

/* Step 12.03 - infrastructure-only style bridge for the shared Page Builder renderer.
   This is not the final Theme Runtime: it only supplies neutral layout primitives until 12.04. */
.preview-main-rendered{min-height:calc(100vh - 8rem);padding-block:1rem 3rem}.preview-main-rendered>.page-builder-content{width:100%}.preview-runtime-footer{border-top:1px solid var(--preview-border);padding:1rem 0;font-size:.8rem;opacity:.78}.preview-runtime-footer .preview-container{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.preview-runtime-footer a{color:inherit}.page-builder-content .container{width:min(calc(100% - 2rem),var(--preview-max));margin-inline:auto}.page-builder-content .container-fluid{width:100%;padding-inline:1rem}.page-builder-content .row{display:flex;flex-wrap:wrap;margin-inline:-.75rem}.page-builder-content .row>*{box-sizing:border-box;padding-inline:.75rem;width:100%}.page-builder-content .g-4{row-gap:1.5rem}.page-builder-content .col-12{width:100%}.page-builder-content .py-2{padding-block:.5rem}.page-builder-content .py-4{padding-block:1.5rem}.page-builder-content .py-5{padding-block:3rem}.page-builder-content .img-fluid{max-width:100%;height:auto}.page-builder-content .w-100{width:100%}.page-builder-content .card{border:1px solid var(--preview-border);border-radius:.75rem;overflow:hidden}.page-builder-content .card-body{padding:1.25rem}.page-builder-content .btn{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1rem;border:1px solid currentColor;border-radius:.5rem;text-decoration:none;cursor:pointer}.page-builder-content .btn-link{border-color:transparent;padding-inline:0}.page-builder-content .alert{padding:1rem;border:1px solid var(--preview-border);border-radius:.5rem}.page-builder-content .ratio{position:relative;width:100%}.page-builder-content .ratio::before{display:block;padding-top:56.25%;content:""}.page-builder-content .ratio>*{position:absolute;inset:0;width:100%;height:100%;border:0}.page-builder-content .page-header{padding-block:clamp(1.5rem,4vw,3.5rem)}.page-builder-content .page-title{margin:0;font-size:clamp(2rem,5vw,4.5rem);line-height:1.05}.page-builder-content .page-block:empty{display:none}.page-builder-content .page-tabs-list{display:flex;gap:.5rem;flex-wrap:wrap;border-bottom:1px solid var(--preview-border);margin-bottom:1rem}.page-builder-content .page-tab-button{border:0;border-bottom:3px solid transparent;background:transparent;padding:.75rem;cursor:pointer;color:inherit}.page-builder-content .page-tab-button.active{border-bottom-color:currentColor}.page-builder-content .page-slider-controls,.page-builder-content .page-slider-dots{display:flex;gap:.5rem;align-items:center;margin-top:.75rem}.page-builder-content .page-slider-dot{width:.75rem;height:.75rem;border-radius:50%;border:1px solid currentColor;background:transparent}.page-builder-content .page-slider-dot.is-active{background:currentColor}@media(min-width:768px){.page-builder-content .col-md-1{width:8.333333%}.page-builder-content .col-md-2{width:16.666667%}.page-builder-content .col-md-3{width:25%}.page-builder-content .col-md-4{width:33.333333%}.page-builder-content .col-md-5{width:41.666667%}.page-builder-content .col-md-6{width:50%}.page-builder-content .col-md-7{width:58.333333%}.page-builder-content .col-md-8{width:66.666667%}.page-builder-content .col-md-9{width:75%}.page-builder-content .col-md-10{width:83.333333%}.page-builder-content .col-md-11{width:91.666667%}.page-builder-content .col-md-12{width:100%}}@media(min-width:992px){.page-builder-content .col-lg-2{width:16.666667%}.page-builder-content .col-lg-3{width:25%}.page-builder-content .col-lg-4{width:33.333333%}.page-builder-content .col-lg-6{width:50%}.page-builder-content .col-lg-12{width:100%}}@media(prefers-reduced-motion:reduce){.page-builder-content *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Step 12.03 hotfix 02 - shared component behaviours. */
.padm-lightbox-dialog{width:min(96vw,1440px);max-width:none;border:0;padding:0;background:transparent;color:#fff}.padm-lightbox-dialog::backdrop{background:rgba(0,0,0,.9)}.padm-lightbox-shell{position:relative;display:grid;grid-template-rows:auto 1fr auto;gap:.75rem;max-height:92vh;padding:1rem}.padm-lightbox-toolbar{display:flex;justify-content:flex-end;gap:.5rem}.padm-lightbox-close,.padm-lightbox-prev,.padm-lightbox-next{min-width:44px;min-height:44px;border:1px solid rgba(255,255,255,.65);border-radius:.5rem;background:rgba(0,0,0,.45);color:#fff;cursor:pointer}.padm-lightbox-stage{display:flex;align-items:center;justify-content:center;min-height:0}.padm-lightbox-image{display:block;max-width:100%;max-height:76vh;width:auto;height:auto;object-fit:contain}.padm-lightbox-nav{display:flex;align-items:center;justify-content:center;gap:1rem}.padm-lightbox-caption{margin:0;text-align:center;max-width:70ch}.padm-lightbox-status{font-size:.875rem;opacity:.8}.padm-lightbox-dialog:focus-visible,.padm-lightbox-dialog button:focus-visible{outline:3px solid currentColor;outline-offset:3px}@media(max-width:640px){.padm-lightbox-shell{padding:.5rem}.padm-lightbox-image{max-height:70vh}.padm-lightbox-caption{font-size:.875rem}}

/* Step 12.04 - Theme Runtime. Preview chrome remains isolated from theme content. */
[data-preview-chrome]{position:relative;z-index:1000}.preview-main-rendered{padding-block:0}.preview-main-rendered>.theme-shell,.preview-main-rendered>[data-padm-theme-shell]{min-height:calc(100vh - 8rem)}.theme-main{display:block}.theme-shell a:focus-visible,.theme-shell button:focus-visible,.theme-shell input:focus-visible,.theme-shell select:focus-visible,.theme-shell textarea:focus-visible{outline:3px solid var(--padm-color-focus,currentColor);outline-offset:3px}


/* Step 12.17 - Gallery Pro shared frontend presentation */
.page-builder-content .page-gallery-pro{--padm-gallery-gap:1rem;--padm-gallery-radius:.75rem;align-items:stretch}
.page-builder-content .page-gallery-pro.page-gallery-radius-none{--padm-gallery-radius:0}
.page-builder-content .page-gallery-pro.page-gallery-radius-sm{--padm-gallery-radius:.35rem}
.page-builder-content .page-gallery-pro.page-gallery-radius-md{--padm-gallery-radius:.75rem}
.page-builder-content .page-gallery-pro.page-gallery-radius-lg{--padm-gallery-radius:1.25rem}
.page-builder-content .page-gallery-item{margin:0}
.page-builder-content .page-gallery-frame{position:relative;overflow:hidden;border-radius:var(--padm-gallery-radius);background:color-mix(in srgb,currentColor 5%,transparent);isolation:isolate}
.page-builder-content .page-gallery-shadow .page-gallery-frame{box-shadow:0 .5rem 1.5rem rgba(0,0,0,.12)}
.page-builder-content .page-gallery-link{display:block;position:relative;color:inherit;text-decoration:none;overflow:hidden;border-radius:inherit}
.page-builder-content .page-gallery-media{display:block;width:100%;transition:transform .35s ease,filter .35s ease,opacity .35s ease}
.page-builder-content .page-gallery-ratio-1-1 .page-gallery-media{aspect-ratio:1/1;object-fit:cover}
.page-builder-content .page-gallery-ratio-4-3 .page-gallery-media{aspect-ratio:4/3;object-fit:cover}
.page-builder-content .page-gallery-ratio-3-2 .page-gallery-media{aspect-ratio:3/2;object-fit:cover}
.page-builder-content .page-gallery-ratio-16-9 .page-gallery-media{aspect-ratio:16/9;object-fit:cover}
.page-builder-content .page-gallery-zoom{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,0);opacity:0;transition:background .25s ease,opacity .25s ease;pointer-events:none}
.page-builder-content .page-gallery-zoom>span{display:grid;place-items:center;width:2.75rem;height:2.75rem;border:1px solid rgba(255,255,255,.8);border-radius:999px;background:rgba(0,0,0,.48);color:#fff;font-size:1.6rem;line-height:1;transform:scale(.85);transition:transform .25s ease}
.page-builder-content .page-gallery-hover-zoom .page-gallery-link:hover .page-gallery-media,.page-builder-content .page-gallery-hover-zoom .page-gallery-link:focus-visible .page-gallery-media{transform:scale(1.035)}
.page-builder-content .page-gallery-hover-overlay .page-gallery-link:hover .page-gallery-media,.page-builder-content .page-gallery-hover-overlay .page-gallery-link:focus-visible .page-gallery-media{transform:scale(1.02);filter:saturate(.9) brightness(.78)}
.page-builder-content .page-gallery-hover-overlay .page-gallery-link:hover .page-gallery-zoom,.page-builder-content .page-gallery-hover-overlay .page-gallery-link:focus-visible .page-gallery-zoom,.page-builder-content .page-gallery-hover-zoom .page-gallery-link:hover .page-gallery-zoom,.page-builder-content .page-gallery-hover-zoom .page-gallery-link:focus-visible .page-gallery-zoom{opacity:1;background:rgba(0,0,0,.12)}
.page-builder-content .page-gallery-link:focus-visible{outline:3px solid currentColor;outline-offset:3px}
.page-builder-content .page-gallery-link:focus-visible .page-gallery-zoom>span,.page-builder-content .page-gallery-link:hover .page-gallery-zoom>span{transform:scale(1)}
.page-builder-content .page-gallery-caption{padding:.65rem .2rem 0;font-size:.9rem;line-height:1.4;opacity:.78}
.page-builder-content .page-gallery-layout-masonry{display:block;column-count:var(--padm-gallery-cols-mobile);column-gap:var(--padm-gallery-gap)}
.page-builder-content .page-gallery-layout-masonry .page-gallery-item{display:inline-block;width:100%;break-inside:avoid;margin:0 0 var(--padm-gallery-gap);vertical-align:top}
.page-builder-content .page-gallery-layout-masonry .page-gallery-media{height:auto;aspect-ratio:auto;object-fit:contain}
@media(min-width:768px){.page-builder-content .page-gallery-layout-masonry{column-count:var(--padm-gallery-cols-tablet)}}
@media(min-width:992px){.page-builder-content .page-gallery-layout-masonry{column-count:var(--padm-gallery-cols-desktop)}}
@media(prefers-reduced-motion:reduce){.page-builder-content .page-gallery-media,.page-builder-content .page-gallery-zoom,.page-builder-content .page-gallery-zoom>span{transition:none!important;transform:none!important}}

/* Gallery Pro lightbox polish */
.padm-lightbox-dialog::backdrop{background:rgba(0,0,0,.88);backdrop-filter:blur(6px)}
.padm-lightbox-shell{border:1px solid rgba(255,255,255,.14);border-radius:1rem;background:rgba(14,14,16,.88);box-shadow:0 2rem 5rem rgba(0,0,0,.5)}
.padm-lightbox-toolbar{position:absolute;top:1.25rem;right:1.25rem;z-index:2}
.padm-lightbox-close,.padm-lightbox-prev,.padm-lightbox-next{backdrop-filter:blur(8px);transition:transform .18s ease,background .18s ease,border-color .18s ease}
.padm-lightbox-close:hover,.padm-lightbox-prev:hover,.padm-lightbox-next:hover{transform:translateY(-1px);background:rgba(255,255,255,.14);border-color:#fff}
.padm-lightbox-image{border-radius:.75rem;box-shadow:0 1rem 3rem rgba(0,0,0,.35)}
.padm-lightbox-nav>div{min-width:8rem;text-align:center}

/* Hotfix 12.17.2 - Gallery Pro angular cinematic lightbox */
.padm-lightbox-pro{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;border:0;padding:clamp(.35rem,1vw,1rem);background:transparent;color:#fff;overflow:hidden}
.padm-lightbox-pro::backdrop{background:rgba(4,4,5,.72);backdrop-filter:blur(4px)}
.padm-lightbox-pro .padm-lightbox-shell{width:min(98vw,1800px);height:min(97vh,1120px);margin:auto;padding:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:0;border:1px solid rgba(255,255,255,.2);border-radius:0;background:#0b0b0c;box-shadow:0 24px 70px rgba(0,0,0,.58);overflow:hidden}
.padm-lightbox-pro .padm-lightbox-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;background:rgba(13,13,14,.96);overflow:hidden}
.padm-lightbox-pro .padm-lightbox-stage.is-zoomed{overflow:auto;align-items:flex-start;justify-content:flex-start;padding:2rem}
.padm-lightbox-pro .padm-lightbox-image{display:block;max-width:calc(100% - 7rem);max-height:calc(97vh - 104px);width:auto;height:auto;object-fit:contain;border-radius:0;box-shadow:none;transform-origin:center center;transition:transform .2s ease}
.padm-lightbox-pro .padm-lightbox-stage.is-zoomed .padm-lightbox-image{max-width:none;max-height:none;margin:auto}
.padm-lightbox-pro .padm-lightbox-counter{position:absolute;top:18px;left:20px;z-index:8;padding:0;background:transparent;border-radius:0;font-size:1rem;letter-spacing:.02em;text-shadow:0 1px 3px #000}
.padm-lightbox-pro .padm-lightbox-actions{position:absolute;top:14px;right:14px;z-index:10;display:flex;gap:6px;align-items:center}
.padm-lightbox-pro .padm-lightbox-action,.padm-lightbox-pro .padm-lightbox-prev,.padm-lightbox-pro .padm-lightbox-next,.padm-lightbox-pro .padm-lightbox-thumbs-prev,.padm-lightbox-pro .padm-lightbox-thumbs-next{display:grid;place-items:center;width:46px;height:46px;min-width:46px;min-height:46px;padding:0;border:1px solid rgba(255,255,255,.28);border-radius:0;background:rgba(0,0,0,.38);color:#fff;cursor:pointer;backdrop-filter:blur(5px);transition:background .18s ease,border-color .18s ease,opacity .18s ease}
.padm-lightbox-pro .padm-lightbox-action:hover,.padm-lightbox-pro .padm-lightbox-prev:hover,.padm-lightbox-pro .padm-lightbox-next:hover,.padm-lightbox-pro .padm-lightbox-thumbs-prev:hover,.padm-lightbox-pro .padm-lightbox-thumbs-next:hover{background:rgba(0,0,0,.7);border-color:rgba(255,255,255,.72)}
.padm-lightbox-pro .padm-lightbox-action[disabled]{opacity:.34;cursor:not-allowed}
.padm-lightbox-pro .padm-lightbox-icon{display:block;width:25px;height:25px;fill:currentColor;pointer-events:none}
.padm-lightbox-pro .padm-lightbox-prev,.padm-lightbox-pro .padm-lightbox-next{position:absolute;z-index:7;top:50%;transform:translateY(-50%)}
.padm-lightbox-pro .padm-lightbox-prev{left:16px}.padm-lightbox-pro .padm-lightbox-next{right:16px}
.padm-lightbox-pro .padm-lightbox-caption-wrap{position:absolute;left:0;right:0;bottom:0;z-index:5;padding:4.5rem 1.5rem 1.15rem;background:linear-gradient(transparent,rgba(0,0,0,.74));pointer-events:none}.padm-lightbox-pro .padm-lightbox-caption{max-width:80ch;margin:0;text-align:left;font-size:1rem;font-weight:600;text-shadow:0 1px 3px #000}
.padm-lightbox-pro .padm-lightbox-thumbs-bar{display:grid;grid-template-columns:46px minmax(0,1fr) 46px;align-items:stretch;background:#050505;border-top:1px solid rgba(255,255,255,.1)}
.padm-lightbox-pro .padm-lightbox-thumbs{display:flex;gap:8px;align-items:center;overflow-x:auto;overscroll-behavior-inline:contain;padding:10px 8px;scrollbar-width:thin;scroll-snap-type:x proximity;scroll-behavior:smooth}
.padm-lightbox-pro .padm-lightbox-thumb{flex:0 0 100px;height:72px;padding:0;border:2px solid transparent;border-radius:0;background:#181818;overflow:hidden;opacity:.62;cursor:pointer;scroll-snap-align:center;transition:opacity .18s ease,border-color .18s ease}.padm-lightbox-pro .padm-lightbox-thumb img{display:block;width:100%;height:100%;object-fit:cover}.padm-lightbox-pro .padm-lightbox-thumb:hover{opacity:1}.padm-lightbox-pro .padm-lightbox-thumb.is-active{opacity:1;border-color:var(--padm-color-primary,#ff7a00)}
.padm-lightbox-pro .padm-lightbox-thumbs-prev,.padm-lightbox-pro .padm-lightbox-thumbs-next{width:46px;height:auto;border-top:0;border-bottom:0;background:#0a0a0a}
.padm-lightbox-pro .padm-lightbox-thumbs-prev{border-left:0}.padm-lightbox-pro .padm-lightbox-thumbs-next{border-right:0}
.padm-lightbox-pro button:focus-visible{outline:3px solid var(--padm-color-focus,#fff);outline-offset:3px}
@media(max-width:700px){.padm-lightbox-pro{padding:0}.padm-lightbox-pro .padm-lightbox-shell{width:100vw;height:100vh;border:0}.padm-lightbox-pro .padm-lightbox-image{max-width:calc(100% - 3.5rem);max-height:calc(100vh - 82px)}.padm-lightbox-pro .padm-lightbox-prev,.padm-lightbox-pro .padm-lightbox-next{width:40px;height:48px;min-width:40px;left:auto}.padm-lightbox-pro .padm-lightbox-prev{left:4px}.padm-lightbox-pro .padm-lightbox-next{right:4px}.padm-lightbox-pro .padm-lightbox-action{width:42px;height:42px;min-width:42px;min-height:42px}.padm-lightbox-pro .padm-lightbox-actions{top:8px;right:8px}.padm-lightbox-pro .padm-lightbox-thumb{flex-basis:78px;height:56px}.padm-lightbox-pro .padm-lightbox-caption-wrap{padding-inline:.75rem}.padm-lightbox-pro .padm-lightbox-counter{left:10px;top:12px}.padm-lightbox-pro .padm-lightbox-thumbs-bar{grid-template-columns:38px minmax(0,1fr) 38px}.padm-lightbox-pro .padm-lightbox-thumbs-prev,.padm-lightbox-pro .padm-lightbox-thumbs-next{width:38px;min-width:38px}.padm-lightbox-pro .padm-lightbox-icon{width:22px;height:22px}}
@media(prefers-reduced-motion:reduce){.padm-lightbox-pro *{scroll-behavior:auto!important;transition:none!important}}



/* Hotfix 12.17.3 - centered lightbox, no fullscreen, clean thumbnail controls */
.padm-lightbox-pro{
  position:fixed;
  inset:0;
  box-sizing:border-box;
  width:100%;
  height:100%;
  margin:0;
  padding:clamp(.35rem,1vw,1rem);
}
.padm-lightbox-pro[open]{
  display:grid;
  place-items:center;
}
.padm-lightbox-pro .padm-lightbox-shell{
  box-sizing:border-box;
  width:min(calc(100vw - clamp(.7rem,2vw,2rem)),1800px);
  max-width:1800px;
  margin:auto;
}
.padm-lightbox-pro .padm-lightbox-thumbs-prev,
.padm-lightbox-pro .padm-lightbox-thumbs-next{
  border:0!important;
}
@media(max-width:700px){
  .padm-lightbox-pro{padding:0}
  .padm-lightbox-pro .padm-lightbox-shell{width:100%;max-width:none;margin:0 auto}
}
