/* Printbox vendég-figyelmeztetés. A panel az #app-on belül él, ezért kis z-index is elég.
   A háttér `fixed`, nem `absolute`: az #app magassága a tartalomtól függ, abszolút pozicionálással
   a réteg nem biztos, hogy kitöltené a képernyőt. Az #app-on nincs transform, így a `fixed`
   a nézetablakhoz igazodik. */
.pbx-gp-backdrop {
    position: fixed; inset: 0; z-index: 10;
    display: flex; align-items: flex-end; justify-content: center;
    background: rgba(0, 0, 0, .5);
    padding: 16px;
}
.pbx-gp-backdrop[hidden] { display: none; }
.pbx-gp-panel {
    position: relative; z-index: 20;
    width: 100%; max-width: 420px;
    background: #fff; color: #1f2933;
    border-radius: 12px; padding: 24px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, .24);
    font-size: 16px; line-height: 1.5; text-align: left;
    transform: translateY(16px); opacity: 0;
    transition: transform 200ms ease-out, opacity 200ms ease-out;
    max-height: calc(100% - 32px); overflow-y: auto;
    box-sizing: border-box;
}
.pbx-gp-backdrop.is-open .pbx-gp-panel { transform: translateY(0); opacity: 1; }
.pbx-gp-title { margin: 0 0 12px; font-size: 20px; line-height: 1.3; font-weight: 600; padding-right: 40px; }
.pbx-gp-title:focus { outline: none; }
.pbx-gp-body { margin: 0 0 24px; }
.pbx-gp-actions { display: flex; flex-direction: column; gap: 8px; }
.pbx-gp-btn {
    min-height: 48px; padding: 12px 16px;
    border-radius: 8px; border: 1px solid transparent;
    font-size: 16px; font-weight: 600; cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center;
    text-decoration: none; box-sizing: border-box;
}
.pbx-gp-btn--primary { background: #7ab800; color: #fff; }
.pbx-gp-btn--secondary { background: #fff; color: #1f2933; border-color: #cbd2d9; }
.pbx-gp-btn--ghost { background: transparent; color: #52606d; }
.pbx-gp-btn:focus-visible, .pbx-gp-input:focus-visible, .pbx-gp-close:focus-visible {
    outline: 2px solid #1f2933; outline-offset: 2px;
}
.pbx-gp-btn[disabled] { opacity: .45; cursor: default; }
.pbx-gp-close {
    position: absolute; top: 8px; right: 8px;
    width: 44px; height: 44px; border: 0; background: transparent;
    font-size: 24px; line-height: 1; cursor: pointer; color: #52606d;
}
.pbx-gp-field { display: flex; flex-direction: column; gap: 4px; margin-bottom: 16px; text-align: left; }
.pbx-gp-label { font-size: 14px; font-weight: 600; }
.pbx-gp-input {
    min-height: 48px; padding: 12px;
    border: 1px solid #cbd2d9; border-radius: 8px;
    font-size: 16px; /* 16px alatt az iOS ráközelít az inputra */
    width: 100%; box-sizing: border-box;
}
.pbx-gp-error { color: #a4262c; font-size: 14px; margin: 8px 0 0; }
.pbx-gp-error:empty { display: none; }

/* Nagyobb képernyőn a panel középre kerül. A gombok szándékosan MARADNAK egymás alatt:
   a 420 px-es panelen egy sorba rendezve a hosszabb feliratok kéthasábosra törnek,
   és a gombok egyenetlen magasságúak lesznek. */
@media (min-width: 768px) {
    .pbx-gp-backdrop { align-items: center; }
}
@media (prefers-reduced-motion: reduce) {
    .pbx-gp-panel { transition: none; transform: none; opacity: 1; }
}

/* Amíg a párbeszédablak nyitva van, egyetlen idegen réteg sem ülhet fölötte: a bolt
   chat-widgetje a mobil nézetben eltakarta és elnyelte a gombokra irányuló kattintást.
   A modális ablak a megnyitása idejére kizárólagos — bezáráskor minden visszaáll. */
html.pbx-gp-open molin-shop-ai { display: none !important; }

/* Jelölőnégyzetes mezők (hozzájárulások): a jelölő és a felirat egy sorban, tapintható méretben. */
.pbx-gp-field--check { margin-bottom: 12px; }
.pbx-gp-check { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; line-height: 1.4; cursor: pointer; }
.pbx-gp-check input { width: 22px; height: 22px; margin: 0; flex: 0 0 auto; }
.pbx-gp-check a { text-decoration: underline; }

/* Nyitott párbeszédnél a háttér ne görögjön. (Nyitott szerkesztőnél ezt az editor már megteszi;
   a bezárás utáni figyelmeztetésnél viszont a termékoldal görgethető maradna alatta.) */
html.pbx-gp-open, html.pbx-gp-open body { overflow: hidden; }
