/* GP Popup – okienko w stylu motywu Grześkowa Pasieka */
.gp-popup { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; padding: 20px; }
.gp-popup[hidden] { display: none; }
.gp-popup__overlay { position: absolute; inset: 0; background: rgba(35, 22, 8, .55); backdrop-filter: blur(2px); }
.gp-popup__box { position: relative; width: 100%; max-width: 520px; background: #fdfaf3; border: 1px solid #e6d7b3; border-radius: 12px; padding: 40px 42px 36px; box-shadow: 0 24px 70px rgba(35, 22, 8, .35); font-family: 'Manrope', Arial, sans-serif; color: #3c2f1d; animation: gp-popup-in .32s ease-out; }
@keyframes gp-popup-in { from { opacity: 0; transform: translateY(14px) scale(.98); } to { opacity: 1; transform: none; } }
.gp-popup__x { position: absolute; top: 12px; right: 12px; width: 36px; height: 36px; border: none; background: none; border-radius: 50%; color: #8a7551; font-size: 15px; cursor: pointer; }
.gp-popup__x:hover { background: #f2eadb; color: #3c2f1d; }
.gp-popup__kicker { font-size: 11px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: #b3821f; }
.gp-popup__title { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 34px; font-weight: 500; line-height: 1.15; color: #33240d; margin: 10px 0 0; }
.gp-popup__line { width: 54px; height: 2px; background: #d3ab54; margin: 18px 0 20px; }
.gp-popup__text { font-size: 15px; line-height: 1.8; color: #55452c; }
.gp-popup__text p { margin: 0 0 12px; }
.gp-popup__text p:last-child { margin-bottom: 0; }
.gp-popup__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 26px; }
.gp-popup__btn { display: inline-flex; align-items: center; justify-content: center; height: 46px; padding: 0 26px; border-radius: 6px; font-family: 'Manrope', Arial, sans-serif; font-size: 11.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; cursor: pointer; }
.gp-popup__btn--primary { background: #3a2a15; color: #f4ead1; border: 1px solid #3a2a15; }
.gp-popup__btn--primary:hover { background: #4d3a20; color: #f4ead1; }
.gp-popup__btn--ghost { background: transparent; color: #3c2f1d; border: 1px solid #c7b691; }
.gp-popup__btn--ghost:hover { border-color: #3a2a15; color: #3a2a15; }
@media (max-width: 600px) {
  .gp-popup { padding: 14px; align-items: flex-end; }
  .gp-popup__box { padding: 30px 22px 24px; border-radius: 12px 12px 10px 10px; }
  .gp-popup__title { font-size: 28px; }
  .gp-popup__text { font-size: 14px; }
  .gp-popup__actions .gp-popup__btn { width: 100%; }
}
