/* First-order coupon block and result dialog. All rules are local to this module. */
.pc-first-offer {
    --pc-offer-ink:#193e49;
    --pc-offer-accent:#127f94;
    --pc-offer-muted:#45646d;
    box-sizing:border-box;
    display:grid;
    grid-template-columns:52px minmax(0,1fr) minmax(240px,340px);
    align-items:center;
    gap:12px 20px;
    width:min(1200px,calc(100% - 48px));
    margin:24px auto 40px;
    padding:18px 24px;
    border:1px solid #d4e4e7;
    border-radius:16px;
    background:#f5fafb;
    color:var(--pc-offer-ink);
    isolation:isolate;
}
.pc-first-offer *, .pc-first-offer-result * { box-sizing:border-box; }
/* Tighten only the actual coupon-to-catalog boundary, retaining other section spacing. */
.vc-m--first-order-offer:has(> .pc-first-offer):has(+ .vc-m--product-collection .vc-demo-catalog) > .pc-first-offer { margin-block-end:12px; }
.vc-m--first-order-offer:has(> .pc-first-offer) + .vc-m--product-collection .vc-demo-catalog { padding-block-start:12px; }
.pc-first-offer__seal {
    display:grid;
    place-items:center;
    width:52px;
    height:52px;
    color:#145766;
}
.pc-first-offer__seal > svg { display:block;width:100%;height:100%;overflow:visible; }
.pc-first-offer__copy { min-width:0; }
.pc-first-offer .pc-first-offer__copy > h2 { margin:0;color:inherit;font-family:inherit;font-size:clamp(20px,2.2vw,25px);font-weight:600;line-height:1.25;letter-spacing:-.025em;text-wrap:balance; }
.pc-first-offer__actions { display:flex;align-items:stretch;gap:10px;min-width:0; }
.pc-first-offer__actions code { flex:1;display:flex;align-items:center;justify-content:center;min-width:0;max-width:100%;overflow-wrap:anywhere;padding:10px 12px;border:1px dashed #7ba9b3;border-radius:8px;background:#fff;text-align:center;color:var(--pc-offer-ink);font-size:15px;line-height:1.4;letter-spacing:.06em; }
.pc-first-offer__actions button { flex:none;min-width:104px;white-space:nowrap; }
.pc-first-offer button, .pc-first-offer-result button, .pc-first-offer-result > a {
    min-height:44px;
    border:1px solid #9cbac1;
    border-radius:8px;
    padding:9px 14px;
    background:#fff;
    color:#193e49;
    font-family:inherit;
    font-size:14px;
    font-weight:600;
    line-height:1.4;
    text-align:center;
    cursor:pointer;
    transition:background-color 160ms ease,color 160ms ease,border-color 160ms ease;
}
.pc-first-offer button:hover { background:#e6f1f3;border-color:#497f8b; }
.pc-first-offer button.pc-first-offer__apply, .pc-first-offer-result > a { background:#193e49;border-color:#193e49;color:#fff; }
.pc-first-offer button.pc-first-offer__apply:hover, .pc-first-offer-result > a:hover { background:#0c5969;border-color:#0c5969; }
.pc-first-offer button:disabled { opacity:.55;cursor:default; }
.pc-first-offer :focus-visible, .pc-first-offer-result :focus-visible { outline:3px solid #127f94;outline-offset:3px; }
.pc-first-offer__status { grid-column:2/-1;margin:0;font-size:13px;line-height:1.5;color:#365c66; }
.pc-first-offer__status:empty { display:none; }
.pc-first-offer ::selection, .pc-first-offer-result ::selection { background:#c5e7ec;color:#153b46; }
.pc-first-offer-result {
    box-sizing:border-box;
    position:fixed;
    inset:0;
    width:min(440px,calc(100% - 32px));
    max-height:calc(100dvh - 40px);
    margin:auto;
    padding:32px;
    overflow:auto;
    border:0;
    border-radius:16px;
    background:#fff;
    color:#193e49;
    font-family:inherit;
    box-shadow:0 18px 72px rgb(9 35 42 / .22);
}
.pc-first-offer-result[open] { display:flex;flex-direction:column;align-items:center;animation:pc-offer-reveal 240ms cubic-bezier(.16,1,.3,1); }
.pc-first-offer-result::backdrop { background:rgb(10 31 38 / .38); }
.pc-first-offer-result .pc-first-offer-result__close { position:absolute;inset-block-start:8px;inset-inline-end:8px;display:grid;place-items:center;width:44px;height:44px;padding:11px;border:0;background:transparent;color:#315661; }
.pc-first-offer-result__close:hover { background:#edf5f6; }
.pc-first-offer-result__close > svg { width:22px;height:22px; }
.pc-first-offer-result__face { width:64px;height:64px;margin:4px 0 20px;color:#127f94; }
.pc-first-offer-result__face svg { display:block;width:100%;height:100%; }
.pc-first-offer-result[data-kind=error] .pc-first-offer-result__face { display:none; }
.pc-first-offer-result > h2 { margin:0 0 16px;padding-inline:4px;font-family:inherit;font-size:26px;font-weight:600;line-height:1.2;letter-spacing:-.025em;text-align:center;text-wrap:balance; }
.pc-first-offer-result[data-kind=error] > h2 { margin-top:24px;font-size:23px; }
.pc-first-offer-result > dl { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;width:100%;margin:0;padding:18px 0;border-block:1px solid #e0eaec;font-size:14px;line-height:1.4; }
.pc-first-offer-result > dl:empty { display:none; }
.pc-first-offer-result dt, .pc-first-offer-result dd { margin:0; }
.pc-first-offer-result dd { font-size:16px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums; }
.pc-first-offer-result > p { margin:18px 0;color:#45646d;font-size:13px;line-height:1.5;text-align:center; }
.pc-first-offer-result > a { display:block;align-self:stretch;text-decoration:none; }
.pc-first-offer-result > small { display:block;margin-top:14px;color:#45646d;font-size:11px;line-height:1.5;text-align:center; }
.pc-first-offer-admin { max-width:1000px; }
.pc-first-offer-admin__panel { margin-block:20px;padding:24px;border:1px solid #ddd;border-radius:12px;background:#fff; }
.pc-first-offer-admin__panel select { width:min(100%,580px);min-height:44px; }
.pc-first-offer-admin__panel .description { max-width:75ch; }
.pc-first-offer-admin__panel label { font-weight:600; }
@keyframes pc-offer-reveal { from { opacity:.55;transform:translateY(8px) scale(.98); } to { opacity:1;transform:translateY(0) scale(1); } }
@media (max-width:1000px) {
    .pc-first-offer { grid-template-columns:52px minmax(0,1fr);gap:12px 16px;padding:18px 24px; }
    .pc-first-offer__actions { grid-column:2;max-width:380px;width:100%; }
    .pc-first-offer__status { grid-column:2; }
}
@media (max-width:600px) {
    .pc-first-offer { width:calc(100% - 32px);grid-template-columns:44px minmax(0,1fr);gap:12px;padding:16px; }
    .pc-first-offer__seal { width:44px;height:44px; }
    .pc-first-offer .pc-first-offer__copy > h2 { font-size:20px; }
    .pc-first-offer__actions, .pc-first-offer__status { grid-column:1/-1;max-width:none; }
    .pc-first-offer__actions code { padding:10px 8px;font-size:14px; }
    .pc-first-offer button { min-width:100px;padding:10px 14px;font-size:14px; }
    .pc-first-offer-result { width:calc(100% - 24px);padding:30px 24px 24px; }
    .pc-first-offer-result > h2 { font-size:24px; }
    .pc-first-offer-admin__panel { padding:18px; }
}
@media (prefers-reduced-motion:reduce) {
    .pc-first-offer-result[open] { animation:none; }
    .pc-first-offer button, .pc-first-offer-result button, .pc-first-offer-result > a { transition:none; }
}
