body.offer-modal-open { overflow: hidden; }
.offer-modal { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 18px; }
.offer-modal__backdrop { position: absolute; inset: 0; background: rgba(20, 18, 16, .72); }
.offer-modal__dialog { position: relative; z-index: 1; width: min(1040px, 100%); max-height: min(860px, calc(100vh - 36px)); overflow: auto; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr); background: #f7f4ee; color: #23211e; box-shadow: 0 28px 90px rgba(0, 0, 0, .32); }
.offer-modal__close { position: absolute; z-index: 2; inset: 14px 14px auto auto; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(35, 33, 30, .22); background: #fff; font-size: 1.6rem; cursor: pointer; }
.offer-modal__gallery { display: grid; align-content: start; background: #ddd7cc; }
.offer-modal__gallery img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.offer-modal__content { padding: clamp(32px, 5vw, 70px); }
.offer-modal__content h2 { margin: 8px 0 18px; font: 400 clamp(2rem, 4vw, 3.4rem)/1.04 Marcellus, serif; }
.offer-modal__content ul { padding-inline-start: 20px; line-height: 1.8; }
.offer-modal__price { display: flex; align-items: baseline; gap: 12px; margin: 24px 0; }
.offer-modal__price strong { font-size: 1.65rem; }
.offer-modal__content button, .offer-modal__content a { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 12px 18px; border: 1px solid #23211e; background: #23211e; color: #fff; text-decoration: none; cursor: pointer; }
.offer-modal__content a { margin-inline-start: 8px; background: transparent; color: #23211e; }
.fixed-offer { display: grid; gap: 14px; margin-top: 24px; }
.fixed-offer__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.fixed-offer label { display: grid; gap: 5px; font-size: .86rem; }
.fixed-offer input:not([type="checkbox"]) { min-width: 0; min-height: 44px; padding: 10px 12px; border: 1px solid rgba(35,33,30,.3); background: #fff; color: #23211e; }
.fixed-offer__privacy { grid-template-columns: auto 1fr; align-items: start; }
.fixed-offer__privacy input { margin-top: 3px; }
.fixed-offer__hp { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.fixed-offer [role="alert"] { color: #8d241d; }
.fixed-offer [role="status"] { color: #1d6836; }
.public-offers { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 22px; margin: 24px 0 42px; }
.public-offer-card { background: #fff; border: 1px solid rgba(35, 33, 30, .12); }
.public-offer-card > img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.public-offer-card > div { padding: 22px; }
.public-offer-card__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; }
.public-offer-card__price strong { font-size: 1.35rem; }
.public-offer-card button { min-height: 44px; padding: 11px 16px; border: 0; background: #23211e; color: #fff; cursor: pointer; }
@media (max-width: 720px) { .offer-modal__dialog { grid-template-columns: 1fr; } .offer-modal__content { padding: 28px 20px; } .fixed-offer__grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .offer-modal *, .public-offer-card * { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
