/* Plener campaign components; admin previews use these same rules. */
.pm-popup{box-sizing:border-box;background:var(--pm-bg,#fff);color:var(--pm-fg,#111);font:15px/1.65 Poppins,Arial,sans-serif;position:relative;border:0;}
dialog.pm-popup{padding:0;width:min(780px,calc(100% - 32px));max-width:none;max-height:90dvh;overflow:auto;box-shadow:0 20px 80px #0003;}
dialog.pm-popup:not([open]){display:none;}
.pm-popup[open],.pm-popup.pm-popup-static{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);}
.pm-popup::backdrop{background:#0007;backdrop-filter:blur(3px);}
.pm-popup *{box-sizing:border-box;}
.pm-popup .pm-popup-close{position:absolute;right:12px;top:10px;z-index:5;width:36px;height:36px;display:grid;place-items:center;border:0;background:var(--pm-bg,#fff);color:var(--pm-fg,#111);font:30px/1 Arial,sans-serif;cursor:pointer;padding:0;border-radius:50%;}
.pm-popup-photo{min-width:0;min-height:100%;position:relative;overflow:hidden;}
.pm-popup-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.pm-popup-copy{padding:48px 36px 32px;min-width:0;text-align:center;}
.pm-popup .pm-popup-copy h2{font:400 clamp(26px,3vw,38px)/1.15 Tenor,Arial,sans-serif;color:inherit;white-space:pre-line;margin:0 0 18px;}
.pm-popup-callout{display:block;font:700 62px/1.1 Poppins,Arial,sans-serif;letter-spacing:-2px;margin:22px 0;color:var(--pm-accent,#111);white-space:pre-line;}
.pm-popup .pm-popup-text{font:14px/1.75 Poppins,Arial,sans-serif;white-space:pre-line;color:inherit;margin:0 0 18px;}
.pm-popup .pm-popup-clock{font:13px/1.7 Poppins,Arial,sans-serif;margin:0 0 22px;}.pm-popup-clock time{font-variant-numeric:tabular-nums;font-weight:600;}
.pm-popup .pm-popup-primary{display:flex;align-items:center;justify-content:center;position:relative;gap:14px;background:var(--pm-accent,#111);color:var(--pm-button-text,#fff);border:1px solid var(--pm-accent,#111);border-radius:0;min-height:48px;padding:12px 30px;font:600 13px/1.5 Poppins,Arial,sans-serif;text-decoration:none;width:100%;cursor:pointer;}
.pm-popup-primary>span{position:absolute;right:16px;font-size:24px;font-weight:400;}
.pm-popup .pm-popup-secondary{display:block;margin:16px auto;padding:0 0 2px;color:inherit;background:none;border:0;border-bottom:1px solid currentColor;border-radius:0;min-height:0;font:12px/1.5 Poppins,Arial,sans-serif;cursor:pointer;}
.pm-popup-footer{display:block;font:11px/1.7 Poppins,Arial,sans-serif;white-space:pre-line;margin-top:22px;opacity:.75;}
.pm-popup[data-layout=center]{grid-template-columns:minmax(0,1fr);max-width:520px;}.pm-popup[data-layout=center] .pm-popup-copy{padding:54px 46px 36px;}
.pm-popup[data-layout=photo-top]{grid-template-columns:minmax(0,1fr);max-width:560px;}.pm-popup[data-layout=photo-top] .pm-popup-photo{height:210px;min-height:0;}.pm-popup[data-layout=photo-top] .pm-popup-copy{padding-top:28px;}
.pm-popup :is(a,button):focus-visible{outline:2px solid currentColor;outline-offset:3px;}
.pm-overlay-host{position:relative;}
.pm-product-overlay{position:absolute;z-index:3;pointer-events:none;overflow:hidden;display:flex;align-items:flex-start;justify-content:flex-start;container-type:inline-size;box-sizing:border-box;text-align:left;}
.pm-product-overlay[data-position^=bottom]{align-items:flex-end;}.pm-product-overlay[data-position$=right]{justify-content:flex-end;text-align:right;}
.pm-mark-label{position:relative;display:block;color:var(--pm-mark-fg,#fff);background:var(--pm-mark-bg,#111);font:500 clamp(7px,4.2cqw,18px)/1.35 Poppins,Arial,sans-serif;padding:.55em .9em;max-width:94%;overflow-wrap:anywhere;margin:6% 0;box-sizing:border-box;}
.pm-product-overlay[data-style=ribbon] .pm-mark-label{padding-right:1.5em;clip-path:polygon(0 0,100% 0,calc(100% - .7em) 50%,100% 100%,0 100%);}
.pm-product-overlay[data-style=ribbon][data-position$=right] .pm-mark-label{padding-left:1.5em;padding-right:.9em;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,.7em 50%);}
.pm-product-overlay[data-style=band] .pm-mark-label{width:100%;max-width:100%;margin:0;text-align:center;}
.pm-product-overlay[data-style=label] .pm-mark-label{margin:6%;max-width:88%;border-radius:3px;}
.pm-mark-graphic{width:70%!important;height:40%!important;object-fit:contain!important;object-position:top left;margin:4%;max-width:92%;max-height:92%;}
.pm-product-overlay[data-position$=right] .pm-mark-graphic{object-position:top right;}.pm-product-overlay[data-position^=bottom] .pm-mark-graphic{object-position:bottom left;}.pm-product-overlay[data-position=bottom-right] .pm-mark-graphic{object-position:bottom right;}
@media(max-width:600px){dialog.pm-popup{max-height:90dvh;}.pm-popup[open]{grid-template-columns:minmax(0,1fr);}.pm-popup .pm-popup-photo{height:190px;min-height:0;}.pm-popup-copy,.pm-popup[data-layout=center] .pm-popup-copy{padding:36px 25px 26px;}.pm-popup .pm-popup-copy h2{font-size:29px;}.pm-popup-callout{font-size:52px;margin:18px 0;}.pm-popup .pm-popup-text{font-size:13px;}}

.pm-popup:not(:has(.pm-popup-photo)){grid-template-columns:minmax(0,1fr);}
.pm-overlay-inline{display:inline-block;}

.product-card:has(.pm-product-overlay[data-position^=top]) .badge{top:auto;bottom:12px;}
.product-card:has(.pm-product-overlay[data-position=top-right]) .pm-mark-label,.product-gallery-stage:has(.pm-product-overlay[data-position=top-right]) .pm-mark-label{margin-top:54px;}
