.ppcs-single-note,.ppcs-variation-note,.ppcs-alert-box,.ppcs-alert-response{border-radius:9px;padding:14px 17px;margin:14px 0;background:#f6f8fa;border:1px solid #e2e7ec;line-height:1.6}
.ppcs-single-note strong{display:inline-block;margin-right:5px}
.ppcs-variation-note:empty{display:none}
.ppcs-availability{font-weight:600;color:var(--wd-primary-color,#2d6841)}
.ppcs-loop-labels{position:absolute;z-index:11;top:12px;left:12px;display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:5px;pointer-events:none;max-width:calc(100% - 24px)}
.ppcs-loop-badge{display:inline-block;font-size:11px;line-height:1.3;font-weight:700;letter-spacing:.03em;background:#183a57;color:#fff;border-radius:4px;padding:6px 9px;pointer-events:none;box-shadow:0 1px 5px #0002}
.ppcs-offer-badge{display:inline-block;max-width:100%;padding:6px 10px;border-radius:4px;background:var(--ppcs-offer-bg,#d32f2f);color:var(--ppcs-offer-fg,#fff);font-size:12px;font-weight:800;line-height:1.4;letter-spacing:.02em;box-shadow:0 1px 5px #0002;text-transform:uppercase;white-space:normal}
.ppcs-single-offer-wrap{display:inline-flex;vertical-align:middle;margin:4px 0 4px 10px;max-width:100%}.ppcs-single-offer-fallback .ppcs-single-offer-wrap{margin:6px 0 12px}
.ppcs-loop-offer{font-size:11px}

.ppcs-loop-badge.ppcs-badge-coming{background:#6b4a15}
.ppcs-alert-box{clear:both;padding:18px 20px;background:#fff;border:1px solid #e1e5e9}
.ppcs-alert-box h3{font-size:18px;margin:0 0 7px}
.ppcs-alert-box p{margin:0 0 13px}
.ppcs-alert-form>label:not(.ppcs-consent){display:block;margin-bottom:7px;font-weight:600}
.ppcs-alert-inputs{display:flex;gap:10px;flex-wrap:wrap}
.ppcs-alert-inputs input[type=email]{flex:1 1 195px;min-width:0;max-width:100%;padding:10px 12px;min-height:42px}
.ppcs-alert-inputs button{padding:10px 20px;min-height:42px;cursor:pointer;border-radius:5px;background:var(--wd-primary-color,#1b5679);color:#fff;border:0}
.ppcs-alert-inputs button:hover{filter:brightness(.91)}
.ppcs-alert-form .ppcs-consent{display:flex;gap:9px;align-items:flex-start;margin-top:11px;font-size:12px;line-height:1.5;font-weight:400}
.ppcs-consent input[type=checkbox]{margin-top:4px;flex:0 0 auto}
.ppcs-alert-form .ppcs-honeypot{position:absolute!important;left:-9999px!important;opacity:0!important;width:1px!important;height:1px!important}
.ppcs-alert-response{background:#eaf6ee;border-color:#c8e2d0}
.ppcs-countdown{font-size:13px;font-weight:600;margin:8px 0 12px}
.ppcs-pick-variation{font-size:12px;color:#666}
@media(max-width:480px){.ppcs-alert-inputs button{width:100%}.ppcs-loop-labels{top:7px;left:7px;max-width:calc(100% - 14px)}}

/* v1.0.2: original price - saving - actual price; purely visual. */
.ppcs-price-breakdown{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;line-height:1.45;text-align:left;max-width:100%;font-size:12px}
.ppcs-price-breakdown>span{display:block;white-space:normal}
.ppcs-price-regular{color:#717171}
.ppcs-price-regular del{opacity:.8;text-decoration:line-through}
.ppcs-price-saving{color:#277341;font-weight:600}
.ppcs-price-final{color:inherit;font-size:13px}
.ppcs-price-final strong{font-weight:700}
.woocommerce-checkout-review-order-table .ppcs-price-breakdown{font-size:11px}
.woocommerce-checkout-review-order-table .ppcs-price-final{font-size:12px}
.ppcs-loop-labels .ppcs-loop-badge,.ppcs-loop-labels .ppcs-loop-offer{flex:0 0 auto;max-width:100%}
.ppcs-single-offer-wrap .ppcs-offer-badge{vertical-align:middle}
/* Store API / Woo Blocks formatter spans */
.ppcs-block-price-row{display:block;margin:0 0 3px;font-size:.85em;line-height:1.4}
.ppcs-block-price-row.ppcs-block-saving{color:#277341;font-weight:600}
.ppcs-block-price-row.ppcs-block-regular{opacity:.78}
@media(max-width:480px){.ppcs-loop-labels{gap:3px}.ppcs-loop-labels .ppcs-loop-badge,.ppcs-loop-labels .ppcs-loop-offer{padding:4px 6px;font-size:10px}.ppcs-price-breakdown{font-size:11px}}

/* v1.0.4 — editable badge, Coming Soon and stock-alert visual system. */
.ppcs-loop-labels{
 top:var(--ppcs-shop-y,4%)!important;
 left:var(--ppcs-shop-x,4%)!important;
 gap:var(--ppcs-shop-gap,5px)!important;
 max-width:calc(100% - var(--ppcs-shop-x,4%) - 3px)!important;
}
.ppcs-loop-labels .ppcs-loop-badge,
.ppcs-loop-labels .ppcs-loop-offer{
 font-size:var(--ppcs-shop-size,11px)!important;
 padding:var(--ppcs-shop-pad-y,6px) var(--ppcs-shop-pad-x,9px)!important;
 line-height:1.25!important;
}
.ppcs-loop-badge.ppcs-badge-preorder,
.ppcs-gallery-mode.ppcs-badge-preorder{background:var(--ppcs-pre-bg,#183a57)!important;color:var(--ppcs-pre-fg,#fff)!important}
.ppcs-loop-badge.ppcs-badge-coming,
.ppcs-gallery-mode.ppcs-badge-coming{background:var(--ppcs-coming-bg,#6b4a15)!important;color:var(--ppcs-coming-fg,#fff)!important}
.ppcs-single-gallery-labels{
 position:absolute;z-index:15;top:var(--ppcs-single-y,4%);left:var(--ppcs-single-x,4%);
 display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--ppcs-single-gap,6px);
 max-width:calc(100% - var(--ppcs-single-x,4%) - 4px);pointer-events:none;
}
.ppcs-single-gallery-labels .ppcs-loop-badge,
.ppcs-single-gallery-labels .ppcs-offer-badge{
 font-size:var(--ppcs-single-size,13px)!important;
 padding:var(--ppcs-single-pad-y,8px) var(--ppcs-single-pad-x,12px)!important;
 border-radius:4px;line-height:1.25!important;letter-spacing:.02em;font-weight:750;
}
.ppcs-gallery-host{position:relative!important}
.ppcs-single-note.ppcs-note-coming,
.ppcs-variation-note.ppcs-note-coming{
 background:var(--ppcs-coming-note-bg,#fff7eb);color:var(--ppcs-coming-note-fg,#57350d);
 border:1px solid var(--ppcs-coming-note-border,#e9d8bc);
}
.ppcs-variation-note:empty{display:none}
.ppcs-notify-jump{display:inline-block;font-weight:700;margin:7px 0 2px;text-decoration:underline!important;color:inherit!important}
.ppcs-loop-coming-note{
 background:var(--ppcs-shop-note-bg,#fff7eb);color:var(--ppcs-shop-note-fg,#57350d);
 border-radius:6px;padding:7px 9px;margin:8px 0;font-size:12px;line-height:1.45;
 display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;
}
.ppcs-shop-alert-link{margin:8px 0 3px;clear:both;font-size:12px;font-weight:700;line-height:1.4}
.ppcs-shop-alert-link a{display:inline-flex;align-items:center;gap:4px;text-decoration:underline!important}
.ppcs-alert-box{
 background:var(--ppcs-notify-bg,#f6faff)!important;
 color:var(--ppcs-notify-fg,#253b50)!important;
 border-color:color-mix(in srgb,var(--ppcs-notify-fg,#253b50) 18%,transparent)!important;
 scroll-margin-top:115px;
}
.ppcs-alert-box h3,.ppcs-alert-box p,.ppcs-alert-form label{color:inherit!important}
.ppcs-alert-inputs button{
 background:var(--ppcs-notify-btn-bg,#1b5679)!important;
 color:var(--ppcs-notify-btn-fg,#fff)!important;
}
.ppcs-alert-box .ppcs-alert-hint{font-size:12px;margin-top:5px;opacity:.82}
@media(max-width:480px){
 .ppcs-loop-labels{top:var(--ppcs-shop-y,4%)!important;left:var(--ppcs-shop-x,4%)!important}
 .ppcs-single-gallery-labels .ppcs-loop-badge,.ppcs-single-gallery-labels .ppcs-offer-badge{font-size:min(var(--ppcs-single-size,13px),15px)!important}
}


/* v1.0.5: compact buttons and stock-alert dialog. No inline details-hook form. */
.ppcs-notify-trigger{
 display:inline-flex;align-items:center;justify-content:center;gap:6px;
 min-height:40px;padding:10px 16px;margin:8px 0 6px;
 border:1px solid transparent;border-radius:6px;
 background:var(--ppcs-notify-btn-bg,#1b5679);color:var(--ppcs-notify-btn-fg,#fff);
 font:inherit;font-size:13px;font-weight:700;line-height:1.25;
 text-decoration:none;cursor:pointer;white-space:normal;text-align:center;
}
.ppcs-notify-trigger:hover,.ppcs-notify-trigger:focus-visible{filter:brightness(.92);color:var(--ppcs-notify-btn-fg,#fff)}
.ppcs-single-alert-button{display:flex;width:fit-content;max-width:100%;clear:both;margin:12px 0 15px}
.ppcs-shop-alert-link .ppcs-notify-trigger{margin:0;padding:8px 12px;min-height:36px;font-size:12px}
body.ppcs-modal-open{overflow:hidden}
.ppcs-notify-modal[hidden],.ppcs-notify-modal [hidden],.ppcs-notify-modal .ppcs-alert-response[hidden]{display:none!important}
.ppcs-notify-modal{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:16px;isolation:isolate}
.ppcs-notify-backdrop{position:absolute;inset:0;background:rgba(10,21,37,.72);cursor:pointer;z-index:0}
.ppcs-notify-dialog{
 position:relative;z-index:1;width:min(100%,520px);max-height:min(90vh,840px);
 overflow:auto;overscroll-behavior:contain;background:var(--ppcs-notify-bg,#f6faff);
 color:var(--ppcs-notify-fg,#253b50);border:1px solid #dbe3ed;border-radius:13px;
 box-shadow:0 22px 65px #0006;padding:26px 28px;line-height:1.5;
}
.ppcs-notify-dialog:focus{outline:0}
.ppcs-notify-dialog h2{font-size:23px;font-weight:700;line-height:1.35;padding:0 35px 0 0;margin:0 0 10px;color:inherit}
.ppcs-notify-dialog p{color:inherit}
.ppcs-notify-product{font-weight:700;margin:2px 0 8px}
.ppcs-notify-close{position:absolute;top:12px;right:13px;border:0!important;background:transparent!important;color:inherit!important;box-shadow:none!important;font-size:29px;line-height:1;width:36px;height:36px;cursor:pointer}
.ppcs-notify-close:focus-visible,.ppcs-notify-dialog button:focus-visible,.ppcs-notify-dialog input:focus-visible,.ppcs-notify-dialog select:focus-visible{outline:2px solid #2377b9;outline-offset:3px}
.ppcs-notify-dialog .ppcs-alert-form>label:not(.ppcs-consent),.ppcs-notify-variation-row>label{display:block;margin:14px 0 6px;font-size:13px;font-weight:700;color:inherit}
.ppcs-notify-dialog input[type=email],.ppcs-notify-dialog select{width:100%;min-height:44px;padding:10px 12px;border:1px solid #aebccc;border-radius:6px;background:#fff;color:#202a33;box-shadow:none;max-width:100%;font-size:15px}
.ppcs-notify-dialog .ppcs-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;margin:13px 0 14px;line-height:1.5;color:inherit}
.ppcs-notify-dialog .ppcs-consent input{margin-top:4px;flex:0 0 auto}
.ppcs-notify-submit{width:100%;min-height:46px;padding:11px 16px;border:0;border-radius:6px;background:var(--ppcs-notify-btn-bg,#1b5679);color:var(--ppcs-notify-btn-fg,#fff);font-size:14px;font-weight:700;cursor:pointer}
.ppcs-notify-submit:disabled{opacity:.55;cursor:progress}
.ppcs-notify-dialog .ppcs-alert-hint,.ppcs-notify-manage-note,.ppcs-notify-option-hint{font-size:12px;opacity:.83;line-height:1.5;margin:10px 0 0}
.ppcs-notify-manage-note{border-top:1px solid #cfd7e0;padding-top:12px;margin-top:16px}
.ppcs-notify-dialog .ppcs-alert-response{margin:12px 0;padding:12px 14px;border-radius:7px;font-size:13px}
.ppcs-alert-response.ppcs-alert-error{background:#fff0ef;color:#7e221b;border-color:#f1bdba}
.ppcs-alert-response.ppcs-alert-success{background:#eaf6ee;color:#265b37;border-color:#c8e2d0}
@media(max-width:480px){.ppcs-notify-modal{padding:10px}.ppcs-notify-dialog{padding:23px 17px;border-radius:10px;max-height:94vh}.ppcs-notify-dialog h2{font-size:20px}}

/* v1.0.6: visible stock-alert triggers even when a WoodMart Layout Builder
   omits WooCommerce hooks or its optimizations delay JavaScript. */
.ppcs-single-alert-inline{display:block!important;visibility:visible!important;opacity:1!important;position:relative;z-index:10;clear:both;margin:8px 0 16px}
.ppcs-single-alert-inline>.ppcs-notify-trigger{display:inline-flex!important;visibility:visible!important;opacity:1!important}
.ppcs-single-alert-fallback{display:block!important;visibility:visible!important;opacity:1!important;position:fixed;right:18px;bottom:84px;z-index:999999;max-width:min(320px,calc(100vw - 28px));padding:0;margin:0}
.ppcs-single-alert-fallback .ppcs-notify-trigger{display:inline-flex!important;visibility:visible!important;opacity:1!important;max-width:100%;margin:0;box-shadow:0 5px 20px rgba(0,0,0,.24)}
.ppcs-shop-alert-link{display:block!important;visibility:visible!important;opacity:1!important;position:relative;z-index:12;width:100%;height:auto;clear:both;margin:10px 0 5px}
.ppcs-shop-alert-link .ppcs-notify-trigger{display:inline-flex!important;visibility:visible!important;opacity:1!important;max-width:100%;pointer-events:auto;position:relative;z-index:13}
@media(max-width:600px){.ppcs-single-alert-fallback{right:12px;bottom:78px;max-width:calc(100vw - 24px)}.ppcs-single-alert-fallback .ppcs-notify-trigger{font-size:12px;padding:9px 12px;min-height:40px}}

/* v1.0.7 — Coming Soon + stock alert share ONE message panel.
   The signup button is no longer a floating/fixed overlay, on any breakpoint. */
.ppcs-single-alert-fallback,
.ppcs-single-alert-inline{
 position:static!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
 width:auto!important;max-width:100%!important;margin:12px 0!important;z-index:auto!important;
 padding:0!important;visibility:visible!important;opacity:1!important;
}
.ppcs-single-note.ppcs-notify-inline-group,
.ppcs-single-notice-group{
 display:flex!important;flex-wrap:wrap;align-items:center;justify-content:space-between;
 gap:11px 15px;width:100%;max-width:100%;clear:both;
 font-size:var(--ppcs-single-note-size,14px)!important;
}
.ppcs-single-note .ppcs-note-copy{flex:1 1 215px;min-width:0;line-height:1.55}
.ppcs-single-note.ppcs-notify-inline-group>.ppcs-notify-trigger,
.ppcs-single-notice-group>.ppcs-notify-trigger{
 flex:0 1 auto;max-width:100%;margin:0!important;
 box-shadow:none!important;
}
.ppcs-single-notice-group .ppcs-variation-note{flex:1 1 225px;min-width:0;margin:0;font-size:var(--ppcs-single-note-size,14px)}
.ppcs-single-notice-group .ppcs-variation-note:empty{display:none}
.ppcs-single-note.ppcs-note-coming,
.ppcs-variation-note.ppcs-note-coming{
 background:var(--ppcs-coming-note-bg,#fff7eb)!important;
 color:var(--ppcs-coming-note-fg,#57350d)!important;
}
.ppcs-loop-coming-note{
 display:flex!important;flex-direction:column;align-items:stretch;justify-content:flex-start;
 gap:8px;white-space:normal!important;
 -webkit-line-clamp:unset!important;overflow:visible!important;
 font-size:var(--ppcs-shop-note-size,12px)!important;
 max-width:100%;min-width:0;
}
.ppcs-loop-coming-note .ppcs-shop-note-copy{
 display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;
 line-height:1.45;overflow:hidden;min-width:0;
}
/* Clearly visible call-to-action inside the note, not an unrelated link below SKU. */
.ppcs-loop-coming-note .ppcs-notify-trigger,
.ppcs-shop-alert-link .ppcs-notify-trigger{
 display:inline-flex!important;align-self:stretch;max-width:100%;width:100%;
 min-height:36px!important;margin:0!important;line-height:1.3!important;
}
.ppcs-notify-trigger{
 font-family:var(--ppcs-notify-font,inherit)!important;
 font-weight:var(--ppcs-notify-weight,700)!important;
 border-radius:var(--ppcs-notify-radius,6px)!important;
 transition:filter .15s ease,background-color .15s ease;
}
.ppcs-loop-coming-note .ppcs-notify-trigger,
.ppcs-shop-alert-link .ppcs-notify-trigger{
 background:var(--ppcs-notify-shop-bg,var(--ppcs-notify-btn-bg,#1b5679))!important;
 color:var(--ppcs-notify-shop-fg,var(--ppcs-notify-btn-fg,#fff))!important;
 border-color:var(--ppcs-notify-shop-bg,var(--ppcs-notify-btn-bg,#1b5679))!important;
 font-size:var(--ppcs-notify-shop-size,12px)!important;
 padding:9px 12px!important;
}
.ppcs-single-note .ppcs-notify-trigger,
.ppcs-single-notice-group .ppcs-notify-trigger,
.ppcs-single-alert-inline .ppcs-notify-trigger,
.ppcs-single-alert-fallback .ppcs-notify-trigger,
.ppcs-shortcode-trigger{
 background:var(--ppcs-notify-single-bg,var(--ppcs-notify-btn-bg,#1b5679))!important;
 color:var(--ppcs-notify-single-fg,var(--ppcs-notify-btn-fg,#fff))!important;
 border-color:var(--ppcs-notify-single-bg,var(--ppcs-notify-btn-bg,#1b5679))!important;
 font-size:var(--ppcs-notify-single-size,14px)!important;
 padding:11px 16px!important;
}
.ppcs-single-note .ppcs-notify-trigger:hover,.ppcs-loop-coming-note .ppcs-notify-trigger:hover,
.ppcs-single-notice-group .ppcs-notify-trigger:hover,
.ppcs-shop-alert-link .ppcs-notify-trigger:hover{filter:brightness(.91)}
.ppcs-notify-trigger:focus-visible{outline:3px solid #2277b9!important;outline-offset:2px!important}
/* WoodMart sometimes sets dimensions on action containers; keep the alignment
   gap as normal document flow so buttons and the SKU beneath them line up. */
.ppcs-row-aligned-action{position:relative;transition:none!important}
@media(max-width:650px){
 .ppcs-single-note.ppcs-notify-inline-group,.ppcs-single-notice-group{align-items:stretch}
 .ppcs-single-note.ppcs-notify-inline-group>.ppcs-notify-trigger,
 .ppcs-single-notice-group>.ppcs-notify-trigger{width:100%;justify-content:center}
 .ppcs-loop-coming-note{gap:6px}
 .ppcs-loop-coming-note .ppcs-notify-trigger{font-size:min(var(--ppcs-notify-shop-size,12px),14px)!important;padding:8px!important}
}

/* v1.0.8 — Single product: one Coming Soon / stock alert panel at price.
   Stock status still exists in WooCommerce; only its duplicate visual label is
   hidden once the complete message + CTA has been mounted beside the price. */
body.single-product .ppcs-price-notice-mounted{
 position:relative!important;float:none!important;clear:both!important;
 display:flex!important;flex-wrap:wrap;align-items:center;justify-content:space-between;
 gap:10px 14px;width:100%;max-width:100%;margin:9px 0 17px!important;
 z-index:auto!important;
}
body.single-product .ppcs-price-notice-mounted .ppcs-note-copy{flex:1 1 225px;min-width:0}
body.single-product .ppcs-price-notice-mounted .ppcs-notify-trigger{
 flex:0 1 auto;max-width:100%;margin:0!important;
}
body.single-product .ppcs-redundant-stock-status{display:none!important}
/* Inline product-card prices get a temporary block display only on rows where
   alignment is needed; the JS restores all original styles on every pass. */
.ppcs-row-aligned-price{position:relative!important;transition:none!important}
@media(max-width:650px){
 body.single-product .ppcs-price-notice-mounted{align-items:stretch;gap:9px}
 body.single-product .ppcs-price-notice-mounted .ppcs-notify-trigger{width:100%;justify-content:center}
}
