/* All component styles stay inside plugin-owned roots, including the portal. */
.pip-root[data-pip-popup] .pip-trigger,
.pip-overlay[data-pip-popup] .pip-submit {
  border:1px solid #112233;background:#0f172a;color:#fff;padding:14px 24px;
  cursor:pointer;font-family:"Roboto Condensed",sans-serif;font-size:17px;
  font-weight:400;line-height:1.35;letter-spacing:.2em;white-space:normal;overflow-wrap:anywhere;
  max-width:100%;border-radius:5px;text-transform:uppercase;box-shadow:none;
}
.pip-root[data-pip-popup] .pip-trigger { min-height:44px;font-size:16px; }
.pip-root[data-pip-popup] .pip-trigger:hover,
.pip-overlay[data-pip-popup] .pip-submit:hover { background:#263f5b; }
.pip-overlay[data-pip-popup][hidden] { display:none!important; }
.pip-overlay[data-pip-popup] {
  position:fixed;inset:0;z-index:999999;background:rgba(15,21,31,.56);
  display:flex;align-items:center;justify-content:center;padding:24px;
  box-sizing:border-box;font-family:Roboto,Arial,sans-serif;
  font-size:16px;font-weight:400;line-height:1.5;text-align:left;color:#112233;
}
/* Measure the final content without exposing an intermediate frame or focus target. */
.pip-overlay[data-pip-popup].pip-preparing { visibility:hidden;pointer-events:none; }
body.pip-lock { overflow:hidden; }
.pip-overlay[data-pip-popup] *, .pip-overlay[data-pip-popup] *::before,
.pip-overlay[data-pip-popup] *::after { box-sizing:border-box; }
.pip-overlay[data-pip-popup] .pip-dialog {
  position:relative;width:min(880px,100%);max-height:calc(100vh - 48px);
  max-height:calc(100dvh - 48px);overflow:auto;overscroll-behavior:contain;
  background:#f9f8f6;color:#112233;box-shadow:0 24px 80px #10162038;min-width:0;
}
.pip-overlay[data-pip-popup] .pip-grid { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.pip-overlay[data-pip-popup] .pip-photo { position:relative;background:#fff;min-width:0;overflow:hidden; }
.pip-overlay[data-pip-popup] .pip-photo img {
  position:absolute;inset:0;width:100%;height:100%;max-width:100%;
  object-fit:cover;object-position:50% 45%;padding:0;display:block;
  transform:scale(1.2);transform-origin:50% 45%;
}
.pip-overlay[data-pip-popup] .pip-main { padding:48px 32px 24px;min-width:0;overflow-wrap:anywhere; }
.pip-overlay[data-pip-popup] h2 {
  font-family:"Roboto Condensed",sans-serif;font-size:30px;font-weight:400;line-height:1.2;
  letter-spacing:normal;text-transform:none;margin:0 0 8px;
  color:#112233;overflow-wrap:anywhere;
}
.pip-overlay[data-pip-popup] p { font-family:inherit; }
.pip-overlay[data-pip-popup] .pip-intro { font-size:13px;line-height:1.6;color:#6b6863;margin:0 0 18px; }
.pip-overlay[data-pip-popup] .pip-close {
  position:absolute;z-index:2;right:12px;top:12px;width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;background:transparent;
  border:0;border-radius:0;padding:0;color:#112233;
  font-family:Roboto,Arial,sans-serif;font-size:28px;font-weight:300;line-height:1;cursor:pointer;
  box-shadow:none;
}
.pip-overlay[data-pip-popup] .pip-close:hover { background:transparent;color:#6b6863; }
.pip-overlay[data-pip-popup] .pip-label { display:block;font-size:14px;font-weight:400;line-height:19px;color:#6b6863;margin:0 0 8px; }
.pip-overlay[data-pip-popup] .pip-email {
  display:block;width:100%;min-width:0;max-width:100%;height:49.5px;min-height:49.5px;
  padding:12.75px 12px;background:#fff;border:1px solid #e5e7eb;color:#112233;
  border-radius:5px;font:400 16px/22px Roboto,Arial,sans-serif;box-shadow:0 1px 2px rgb(0 0 0 / 5%);
}
.pip-overlay[data-pip-popup] .pip-email:hover { border-color:#b8c1c9; }
.pip-overlay[data-pip-popup] .pip-email:focus { border-color:#112233;box-shadow:0 0 0 3px rgb(17 34 51 / 14%); }
.pip-overlay[data-pip-popup] .pip-check { display:flex;align-items:flex-start;gap:12px;margin:14px 0;font-size:13px;line-height:1.5;cursor:pointer;color:#6b6863; }
.pip-overlay[data-pip-popup] .pip-check input { appearance:none;position:relative;margin:0;background:#fff;border:1px solid #172a43;border-radius:5px;flex-shrink:0;width:28px;height:28px;cursor:pointer; }
.pip-overlay[data-pip-popup] .pip-submit { width:100%;min-height:52px;margin:0; }
.pip-overlay[data-pip-popup] .pip-submit:disabled { opacity:.6;cursor:wait; }
.pip-overlay[data-pip-popup] .pip-fineprint { font-size:12px;line-height:1.5;color:#6b6863;margin:12px 0 0; }
.pip-overlay[data-pip-popup] a { color:#112233;text-decoration:underline;text-underline-offset:2px; }
.pip-overlay[data-pip-popup] .pip-feedback { margin:0;font-size:14px;line-height:1.5;color:#112233; }
.pip-overlay[data-pip-popup] .pip-feedback:not(:empty) { margin-top:16px;padding:12px 14px;background:#edf1f5;border-left:3px solid #596f8d; }
.pip-overlay[data-pip-popup] .pip-feedback.pip-error:not(:empty) { color:#87352c;background:#fcf0ed;border-left-color:#b65b4d; }
.pip-overlay[data-pip-popup] .pip-hp { position:absolute;left:-99999px;top:auto;width:1px;height:1px;overflow:hidden; }
.pip-overlay[data-pip-popup] :focus-visible,
.pip-root[data-pip-popup] .pip-trigger:focus-visible { outline:2px solid #56718d;outline-offset:3px; }
@media(max-width:620px) {
  .pip-overlay[data-pip-popup] { padding:12px; }
  .pip-overlay[data-pip-popup] .pip-dialog { max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px); }
  .pip-overlay[data-pip-popup] .pip-grid { grid-template-columns:minmax(0,1fr); }
  .pip-overlay[data-pip-popup] .pip-photo { height:200px; }
  .pip-overlay[data-pip-popup] .pip-photo img { inset:0;width:100%;height:100%;padding:0;transform:scale(1.05); }
  .pip-overlay[data-pip-popup] .pip-main { padding:20px 20px 22px; }
  .pip-overlay[data-pip-popup] h2 { font-size:28px;margin:0 0 8px; }
  .pip-overlay[data-pip-popup] .pip-intro { margin-bottom:16px; }
  .pip-overlay[data-pip-popup] .pip-check { margin:14px 0;font-size:13px; }
}

.pip-overlay[data-pip-popup] .pip-check input:checked { background:#112233;border-color:#112233; }
.pip-overlay[data-pip-popup] .pip-check input:checked::after { content:"";position:absolute;left:9px;top:4px;width:7px;height:13px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg); }
.pip-overlay[data-pip-popup] .pip-email:focus-visible { outline:2px solid transparent;outline-offset:2px; }
@media(forced-colors:active) {
  .pip-overlay[data-pip-popup] .pip-email:focus-visible { outline-color:Highlight; }
  .pip-overlay[data-pip-popup] .pip-check input { appearance:auto; }
  .pip-overlay[data-pip-popup] .pip-check input:checked::after { content:none; }
}

.pip-overlay[data-pip-popup] .pip-product-name { font:400 22px/1.25 "Roboto Condensed",sans-serif;letter-spacing:normal;text-transform:none;color:#112233;margin:0 0 8px;overflow-wrap:anywhere; }
@media(max-width:620px) {
  .pip-overlay[data-pip-popup] .pip-product-name { font-size:20px;margin-bottom:6px; }
}

.pip-overlay[data-pip-popup] .pip-newsletter-purpose[hidden] { display:none!important; }
.pip-overlay[data-pip-popup] .pip-newsletter-purpose { display:block;font:inherit;margin-top:4px; }

/* Receipt replaces the entry in the same column; no size or scale animation. */
.pip-overlay[data-pip-popup] .pip-stage { display:grid;min-width:0; }
.pip-overlay[data-pip-popup] .pip-entry,
.pip-overlay[data-pip-popup] .pip-thanks { grid-area:1/1;min-width:0; }
.pip-overlay[data-pip-popup] .pip-entry[hidden],
.pip-overlay[data-pip-popup] .pip-thanks[hidden] { display:none!important; }
.pip-overlay[data-pip-popup] .pip-thanks { align-self:center; }
.pip-overlay[data-pip-popup] .pip-thanks-message { font-size:14px;line-height:1.6;color:#6b6863;margin:0; }

/* Shared popup pending view; retain the existing public newsletter selectors. */
.pip-overlay[data-pip-popup] .pip-newsletter--pending-confirmation .pip-thanks-heading { font-size:26px;line-height:1.25;margin-bottom:12px; }
.pip-overlay[data-pip-popup] .pip-newsletter-confirmation { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;font-size:14px;line-height:1.6;color:#6b6863; }
.pip-newsletter-confirmation p { grid-column:1/-1;margin:0; }
.pip-newsletter__confirmation-email { font-size:16px;font-weight:500;line-height:1.5;color:#112233;overflow-wrap:anywhere; }
.pip-newsletter__confirmation-help { grid-column:1/-1;grid-row:3;margin-top:12px;font-size:13px;line-height:1.5;min-width:0; }
.pip-newsletter__confirmation-help summary { display:list-item;width:fit-content;max-width:calc(100% - 160px);min-height:44px;padding:12px 0;cursor:pointer;color:#112233; }
.pip-newsletter__confirmation-help ul { margin:4px 0 0;padding-left:18px; }
.pip-newsletter__confirmation-help li + li { margin-top:6px; }
.pip-overlay[data-pip-popup] .pip-newsletter__change-email { grid-column:2;grid-row:3;align-self:start;justify-self:end;min-height:44px;margin-top:12px;padding:12px 0;border:0;background:transparent;color:#112233;font:inherit;font-size:13px;line-height:1.5;text-transform:none;letter-spacing:normal;text-decoration:underline;text-underline-offset:2px;cursor:pointer; }
.pip-newsletter__confirmation-help summary:focus-visible,
.pip-newsletter__change-email:focus-visible { outline:2px solid #112233; outline-offset:3px; }
@media(max-width:620px) {
  .pip-overlay[data-pip-popup] .pip-newsletter--pending-confirmation .pip-thanks { text-align:center; }
  .pip-overlay[data-pip-popup] .pip-newsletter--pending-confirmation .pip-thanks-heading { font-size:24px;text-wrap:balance; }
  .pip-overlay[data-pip-popup] .pip-newsletter-confirmation { grid-template-columns:repeat(2,minmax(0,1fr));column-gap:8px; }
  .pip-newsletter__confirmation-help summary { width:calc(50% - 4px);max-width:none; }
  .pip-newsletter__confirmation-help ul { padding-left:0;list-style-position:inside; }
  .pip-overlay[data-pip-popup] .pip-newsletter__change-email { justify-self:center; }
}
