/* Scoped editor UI: leaves the existing main marketplace and private PWA untouched. */
.wppp-layout-editor{margin:20px auto 36px;padding:clamp(16px,3vw,28px);max-width:1100px;background:#fff;border:1px solid #dbe5ec;border-radius:20px;color:#112d40;box-shadow:0 8px 28px #102c4511;box-sizing:border-box}
.wppp-layout-editor *{box-sizing:border-box}
.wppp-layout-editor h2{font-size:clamp(23px,3vw,31px);margin:8px 0 10px;color:#112d40}
.wppp-layout-editor p{line-height:1.55}
.wppp-layout-notice{padding:11px 14px;background:#ebf7ee;border-left:4px solid #18804a;border-radius:8px}
.wppp-layout-tools{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:22px 0}
.wppp-layout-tools label{display:grid;gap:6px;font-weight:700}
.wppp-layout-editor select{min-height:44px;border:1px solid #b7cad8;border-radius:10px;padding:8px 12px}
.wppp-layout-tools span{font-size:13px;color:#456173}
.wppp-layout-list{list-style:none!important;padding:0!important;margin:0!important;display:grid;gap:9px}
.wppp-layout-list>li{display:flex;align-items:center;gap:9px;padding:12px 10px;border:1px solid #d8e3ec;border-radius:12px;background:#f9fbfd;min-width:0;margin:0!important}
.wppp-layout-list>li.is-dragging{outline:2px dashed #de7a21;background:#fff6ed}
.wppp-layout-label{flex:1;min-width:0;display:grid;gap:3px}
.wppp-layout-label strong{font-size:14px;overflow-wrap:anywhere}
.wppp-layout-label small{font-size:11px;color:#557082}
.wppp-layout-visible{display:inline-flex;align-items:center;gap:4px;font-size:12px;white-space:nowrap}
.wppp-layout-list button{display:grid;place-items:center;min-height:42px;min-width:42px;border:1px solid #c9dbe5;border-radius:9px;background:#fff;color:#153e54;cursor:pointer;font-size:19px}
.wppp-layout-list button:disabled{opacity:.45;cursor:default}
.wppp-layout-handle{touch-action:none;user-select:none;cursor:grab!important}
.wppp-layout-fixed{font-size:12px;color:#526777}
.wppp-layout-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}
.wppp-layout-button{min-height:46px;padding:10px 18px;border:1px solid #c6d6df;border-radius:10px;background:white;color:#193f55;font-weight:750;cursor:pointer}
.wppp-layout-button.primary{background:#ea741b;color:#fff;border-color:#ea741b}
.wppp-layout-button.danger{color:#943a23;border-color:#e3b8ac}
.wppp-layout-editor button:focus-visible,.wppp-layout-editor a:focus-visible,.wppp-layout-editor select:focus-visible{outline:3px solid #106ca8;outline-offset:2px}
.wppp-layout-preview-controls{border-top:1px solid #dfe8ee;padding-top:18px;display:grid;gap:10px}
.wppp-layout-switch{display:flex;gap:8px}
.wppp-layout-switch button{min-height:40px;padding:9px 17px;background:#f0f5fa;border:1px solid #cee0ec;border-radius:9px;cursor:pointer}
.wppp-layout-switch button[aria-pressed="true"]{background:#092d43;color:white}
.wppp-layout-preview-shell{margin:auto;width:100%;height:520px;border:1px solid #cddbe5;border-radius:16px;overflow:hidden;transition:max-width .2s ease;background:#fafcfe}
.wppp-layout-preview-shell.is-mobile{max-width:390px}
.wppp-layout-preview-shell.is-desktop{max-width:1100px}
.wppp-layout-preview-shell iframe{width:100%;height:100%;border:0}
@media(max-width:520px){.wppp-layout-list>li{gap:5px;padding:10px 6px}.wppp-layout-list button{min-width:34px;min-height:40px}.wppp-layout-label strong{font-size:12px}.wppp-layout-visible{font-size:11px}.wppp-layout-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.wppp-layout-actions button{font-size:12px;padding:10px 6px}.wppp-layout-editor{padding:15px 10px}}
/* Published Store: only the opted-in partner page is reordered. Defaults unchanged. */
.wppp-public.wppp-layout-custom .wppp-container{display:flex;flex-direction:column}
.wppp-public.wppp-layout-custom .wppp-columns,
.wppp-public.wppp-layout-custom .wppp-maincol,
.wppp-public.wppp-layout-custom .wppp-sidebar{display:contents!important}
.wppp-public.wppp-layout-custom [data-wppp-hidden="1"]{display:none!important}
.wppp-public.wppp-layout-custom .wppp-breadcrumb{order:0}
.wppp-public.wppp-layout-custom .wppp-hero{order:100}
.wppp-public.wppp-layout-custom .wppp-store-jump{order:101}
.wppp-public.wppp-layout-custom .wppp-stats{order:102}
.wppp-public.wppp-layout-custom .wppp-store-context{order:115}
.wppp-public.wppp-layout-custom #gallery{order:800}
.wppp-public.wppp-layout-custom #videos{order:810}
.wppp-public.wppp-layout-custom #testimonials{order:820}
.wppp-public.wppp-layout-custom .wppp-sidebar >.wppp-panel:not([data-wppp-section]){order:830}
.wppp-public.wppp-layout-custom .wppp-bottom-cta{order:850}
.wppp-public.wppp-layout-custom .wppp-disclaimer{order:960}
.wppp-public.wppp-layout-custom .wppp-footer{order:990}
.wppp-public.wppp-layout-custom .wppp-panel{width:100%;min-width:0}
.wppp-public.wppp-layout-custom.wppp-theme-forest{--wp-accent:#2b8165}
.wppp-public.wppp-layout-custom.wppp-theme-slate{--wp-accent:#48627a}
.wppp-public.wppp-layout-custom .wppp-select-btn{background:var(--wp-accent,#ee7419)}
.wppp-public.wppp-layout-custom .wppp-service-symbol{color:var(--wp-accent,#ee7419)}
.wppp-public .wppp-builder-why-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.wppp-public .wppp-builder-why-items>div{background:#f2f7fb;border-radius:12px;padding:15px;display:grid;gap:6px}
.wppp-public .wppp-builder-why-items span{font-size:13px;color:#38566c}
.wppp-public .wppp-builder-enquiry label{display:grid;gap:5px;margin-bottom:12px;font-weight:600}
.wppp-public .wppp-builder-enquiry :is(input,textarea,select){width:100%;box-sizing:border-box;border:1px solid #bed0de;border-radius:9px;padding:10px;min-height:44px}
.wppp-public .wppp-builder-enquiry input[type=checkbox]{width:auto;min-height:auto}
.wppp-public .wppp-builder-enquiry .wppp-consent{display:flex;align-items:flex-start;gap:8px;font-weight:400;line-height:1.5}
.wppp-public .wppp-builder-enquiry .wppp-honeypot{position:absolute;left:-10000px;height:1px;width:1px;overflow:hidden}
@media(max-width:600px){.wppp-public.wppp-layout-custom .wppp-container{min-width:0}.wppp-public.wppp-layout-custom .wppp-builder-why-items{grid-template-columns:1fr}}

.wppp-public .wppp-builder-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;flex:1 1 100%;width:100%}
.wppp-public .wppp-builder-filter-grid label{font-weight:700;font-size:13px;display:grid;gap:6px;color:#244c63}
.wppp-public .wppp-builder-filter-grid select,.wppp-public .wppp-builder-filter-grid input{max-width:100%;width:100%;box-sizing:border-box;min-height:45px;padding:9px;border-radius:10px;border:1px solid #c6d7e2;background:white}
@media(max-width:600px){.wppp-public .wppp-builder-filter-grid{grid-template-columns:1fr}}

/* One branded attribution inside the existing theme footer flow; no second footer landmark. */
.wppp-public.wppp-layout-custom .wppp-store-attribution{order:990;text-align:center;color:#526777;font-size:13px;margin:14px 0 22px}

/* 1.2.0 Universal Premium Store — presentation only, isolated to public partner pages. */
.wppp-public.wppp-layout-custom{--wp-accent:#e97525;--wp-deep:#09263b;background:linear-gradient(180deg,#edf3f7,#fff 62%);color:#152f42}
.wppp-public.wppp-layout-custom .wppp-container{gap:clamp(13px,2.5vw,23px)}
.wppp-public.wppp-layout-custom .wppp-hero{min-height:380px;border-radius:24px;box-shadow:0 22px 55px rgba(5,25,43,.19)}
.wppp-public.wppp-layout-custom .wppp-hero-cover{background-position:center;background-size:cover}
.wppp-public.wppp-layout-custom .wppp-hero-inside{min-height:380px;padding:clamp(22px,4.5vw,56px);gap:24px;background:linear-gradient(90deg,rgba(4,24,39,.42),transparent)}
.wppp-public.wppp-layout-custom .wppp-logo{width:clamp(105px,12vw,148px);height:clamp(105px,12vw,148px);border-radius:20px;border:3px solid #fff;box-shadow:0 10px 35px #0005}
.wppp-public.wppp-layout-custom .wppp-logo img{object-fit:contain;padding:5px}
.wppp-public.wppp-layout-custom .wppp-brand h1{font-size:clamp(30px,5vw,52px);letter-spacing:-.025em;text-shadow:0 2px 12px #0004}
.wppp-public.wppp-layout-custom .wppp-tagline{font-weight:600}
.wppp-public.wppp-layout-custom .wppp-hero-actions{gap:12px}
.wppp-public.wppp-layout-custom .wppp-hero-actions .wppp-btn{min-height:49px;padding:13px 19px;border-radius:12px;box-shadow:0 5px 18px #0002;transition:transform .18s ease,box-shadow .18s ease}
.wppp-public.wppp-layout-custom .wppp-hero-actions .wppp-btn:hover{transform:translateY(-2px);box-shadow:0 8px 22px #0003}
.wppp-public.wppp-layout-custom .wppp-hero-actions .wppp-btn-white{background:var(--wp-accent);color:white!important}
.wppp-public.wppp-layout-custom .wppp-hero-actions .wppp-btn-green{background:#138650;color:#fff!important}
.wppp-public.wppp-layout-custom .wppp-panel{border:1px solid #e2e9ee;border-radius:20px;padding:clamp(18px,3vw,32px);box-shadow:0 10px 32px #102b4310;background:#fff}
.wppp-public.wppp-layout-custom .wppp-heading h2{color:#0b2d42;font-size:clamp(23px,2.9vw,34px);line-height:1.2;letter-spacing:-.02em}
.wppp-public.wppp-layout-custom .wppp-eyebrow{color:#d96b22;font-weight:800;letter-spacing:.13em}
.wppp-public.wppp-layout-custom .wppp-service{border:1px solid #e2e9ed;border-radius:14px;background:linear-gradient(180deg,#fff,#f7fafc);min-height:110px;box-shadow:0 5px 15px #112b3c0a}
.wppp-public.wppp-layout-custom .wppp-service-symbol{font-size:28px;color:#dd742e}
.wppp-public.wppp-layout-custom .wppp-builder-why-items>div{background:#f4f8fa;border:1px solid #e0e9ee;border-radius:14px;padding:18px}
.wppp-public.wppp-layout-custom .wppp-select-btn{border-radius:11px;min-height:48px;background:var(--wp-accent)}
.wppp-public.wppp-layout-custom .wppp-store-attribution{background:#09283b;color:#fff;padding:18px 15px;border-radius:14px;margin-top:0}
.wppp-public.wppp-layout-custom .wppp-store-attribution strong{color:#f7b37a}
.wppp-public.wppp-layout-custom :is(a,button,input,select,textarea):focus-visible{outline:3px solid #0d78ac;outline-offset:3px}
@media(max-width:640px){.wppp-public.wppp-layout-custom .wppp-hero{border-radius:20px}.wppp-public.wppp-layout-custom .wppp-hero-inside{padding:23px 19px;min-height:350px}.wppp-public.wppp-layout-custom .wppp-identity{gap:14px;align-items:flex-start}.wppp-public.wppp-layout-custom .wppp-logo{width:94px;height:94px;border-radius:15px}.wppp-public.wppp-layout-custom .wppp-brand h1{font-size:clamp(26px,7vw,34px)}.wppp-public.wppp-layout-custom .wppp-hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.wppp-public.wppp-layout-custom .wppp-hero-actions .wppp-btn{padding:12px 8px;font-size:13px;min-width:0}.wppp-public.wppp-layout-custom .wppp-panel{border-radius:16px;padding:19px 15px}}
@media(prefers-reduced-motion:reduce){.wppp-public.wppp-layout-custom .wppp-hero-actions .wppp-btn{transition:none}}

/* v1.4.0 Reference Photo storefront: scoped to the existing partner public store. */
.wppp-public.wppp-layout-custom .wppp-hero-inside{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,290px);align-content:center;align-items:center;column-gap:clamp(18px,4vw,48px)}
.wppp-public.wppp-layout-custom .wppp-hero-actions{grid-column:1/-1}
.wppp-public.wppp-layout-custom .wppp-hero-service-panel{background:rgba(5,22,35,.88);border:1px solid #ffffff35;box-shadow:0 12px 30px #0004;border-radius:16px;color:white;padding:19px 20px;backdrop-filter:blur(8px)}
.wppp-public.wppp-layout-custom .wppp-hero-service-panel>strong{font-size:12px;letter-spacing:.12em;color:#ffc995}
.wppp-public.wppp-layout-custom .wppp-hero-service-panel ul{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}
.wppp-public.wppp-layout-custom .wppp-hero-service-panel li{display:flex;align-items:center;gap:10px;font-size:14px;line-height:1.4}
.wppp-public.wppp-layout-custom .wppp-hero-service-panel li span{color:#a4dcb5}
.wppp-public.wppp-layout-custom .wppp-services{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:14px}
.wppp-public.wppp-layout-custom .wppp-service{padding:0 0 14px;overflow:hidden;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;min-height:145px}
.wppp-public.wppp-layout-custom .wppp-service-photo{width:100%;aspect-ratio:1.55;overflow:hidden;background:#eaf0f4}
.wppp-public.wppp-layout-custom .wppp-service-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s ease}
.wppp-public.wppp-layout-custom .wppp-service:hover img{transform:scale(1.035)}
.wppp-public.wppp-layout-custom .wppp-service strong{padding:0 9px;line-height:1.35}
.wppp-public.wppp-layout-custom .wppp-service-symbol{margin-top:20px}
.wppp-public.wppp-layout-custom .wppp-area-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
.wppp-public.wppp-layout-custom .wppp-area-card{min-height:110px;border-radius:15px;overflow:hidden;position:relative;display:flex;align-items:end;background:linear-gradient(135deg,#153b51,#0b2638);isolation:isolate}
.wppp-public.wppp-layout-custom .wppp-area-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.wppp-public.wppp-layout-custom .wppp-area-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#061c2ae8,transparent);z-index:-1}
.wppp-public.wppp-layout-custom .wppp-area-card strong{padding:15px;color:white;font-size:18px}
.wppp-public.wppp-layout-custom .wppp-highlight-note{background:#fff6eb;border-left:4px solid var(--wp-accent);border-radius:9px;padding:14px 17px}
.wppp-public.wppp-layout-custom .wppp-listings{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.wppp-public.wppp-layout-custom .wppp-builder-enquiry form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}
.wppp-public.wppp-layout-custom .wppp-builder-enquiry form>label:has(textarea),.wppp-public.wppp-layout-custom .wppp-builder-enquiry form>.wppp-consent,.wppp-public.wppp-layout-custom .wppp-builder-enquiry form>button{grid-column:1/-1}
@media(max-width:720px){.wppp-public.wppp-layout-custom .wppp-hero-inside{grid-template-columns:1fr}.wppp-public.wppp-layout-custom .wppp-hero-service-panel{grid-column:1;padding:13px 15px}.wppp-public.wppp-layout-custom .wppp-hero-service-panel ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.wppp-public.wppp-layout-custom .wppp-hero-service-panel li{font-size:12px}.wppp-public.wppp-layout-custom .wppp-hero-actions{grid-column:1}.wppp-public.wppp-layout-custom .wppp-builder-enquiry form{grid-template-columns:1fr}.wppp-public.wppp-layout-custom .wppp-services{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.wppp-public.wppp-layout-custom .wppp-service-photo img{transition:none}}

/* 1.5.2: mobile-first layout controls; prevent narrow labels and buttons overlapping. */
.wppp-preview-guidance{padding:12px 14px;background:#f0f6fa;border:1px solid #cbdde9;border-radius:12px;font-size:14px}
.wppp-preview-open{display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important;max-width:100%;width:max-content}
@media(max-width:600px){
.wppp-layout-list>li{display:grid;grid-template-columns:40px minmax(0,1fr) 46px 46px;gap:8px;padding:12px}
.wppp-layout-list>li>.wppp-layout-handle{grid-column:1;grid-row:1/3}
.wppp-layout-list>li>.wppp-layout-label{grid-column:2;grid-row:1;min-width:0}
.wppp-layout-list>li>.wppp-layout-visible{grid-column:2;grid-row:2;justify-self:start}
.wppp-layout-list>li>.wppp-layout-up{grid-column:3;grid-row:1/3}
.wppp-layout-list>li>.wppp-layout-down{grid-column:4;grid-row:1/3}
.wppp-layout-list>li button{min-width:40px;min-height:44px}
.wppp-layout-label strong{font-size:14px;line-height:1.3}
.wppp-layout-editor{margin:10px auto 25px;padding:14px 12px;border-radius:14px}
.wppp-layout-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
.wppp-layout-actions .danger{grid-column:1/-1}
.wppp-preview-open{width:100%}
}
