:root { --wine:#590008; --deep-wine:#370006; --gold:#f6c845; --paper:#fffaf0; --ink:#39131a; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; background:var(--deep-wine); color:var(--paper); font-family:Arial,Helvetica,sans-serif; }
button,a { -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
button { font:inherit; cursor:pointer; }
[hidden] { display:none!important; }
a:focus-visible,button:focus-visible,[tabindex]:focus-visible { outline:3px solid var(--gold); outline-offset:4px; }
.page { width:min(100%,660px); margin:auto; padding:32px 20px calc(32px + env(safe-area-inset-bottom)); }
.shell { padding:28px; border-top:4px solid var(--gold); border-radius:18px; background:var(--wine); box-shadow:0 16px 50px #19000340; }
.header { display:flex; align-items:center; gap:20px; padding:0 0 26px; }
.logo { display:block; flex:none; width:96px; height:96px; border-radius:20px; border:1px solid #f6c84570; }
h1 { margin:0; font-size:clamp(25px,5.2vw,34px); font-weight:800; letter-spacing:-1px; line-height:1.1; }
.header p { margin:10px 0 0; color:#f4d7d5; font-size:15px; line-height:1.45; }
.actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.action-btn { display:flex; align-items:center; justify-content:center; gap:10px; padding:15px 12px; min-height:56px; border:1px solid transparent; border-radius:10px; font-size:15px; line-height:1.25; font-weight:700; text-decoration:none; }
.action-btn svg { flex:none; width:22px; height:22px; }
.offers-link { background:var(--gold); color:#4c2600; }
.offers-link:hover { background:#ffda6d; }
.contact-link { color:#fffaf0; border-color:#b56668; background:#ffffff0a; }
.contact-link:hover { background:#ffffff18; }
.action-btn:active { transform:translateY(1px); }
.action-btn:disabled { opacity:.6; cursor:wait; }
.carousel { margin-top:24px; }
.offers-track { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-x:contain; border-radius:12px; }
.offers-track::-webkit-scrollbar { display:none; }
.offer-slide { flex:0 0 100%; min-width:0; scroll-snap-align:start; scroll-snap-stop:always; }
.offer-card { display:flex; flex-direction:column; height:100%; background:#fff; border-radius:12px; overflow:hidden; text-decoration:none; color:var(--ink); }
.offer-card:focus-visible { outline-offset:-4px; }
.offer-photo { display:flex; align-items:center; justify-content:center; height:264px; padding:20px; background:#fff; }
.offer-photo img { display:block; width:100%; height:100%; object-fit:contain; }
.offer-details { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:20px; background:var(--paper); border-top:1px solid #eddfcb; min-height:114px; }
.offer-details h2 { margin:0; font-size:20px; line-height:1.25; font-weight:700; overflow-wrap:anywhere; }
.offer-price { flex:none; display:flex; align-items:baseline; gap:1px; margin:0; color:#97030e; white-space:nowrap; }
.offer-price strong { font-size:48px; letter-spacing:-2px; line-height:1; font-weight:900; }
.offer-price span { font-size:23px; font-weight:700; }
.offer-price span:first-child { font-size:14px; margin-right:4px; }
.carousel-controls { display:flex; align-items:center; justify-content:space-between; margin-top:12px; }
.carousel-controls button { display:grid; place-items:center; width:48px; height:44px; border:1px solid #b56668; border-radius:9px; background:#ffffff0a; color:var(--paper); }
.carousel-controls button:hover:not(:disabled) { background:#ffffff18; }
.carousel-controls button:disabled { opacity:.35; cursor:default; }
.carousel-controls svg { width:24px; height:24px; }
.offer-counter { font-size:14px; font-variant-numeric:tabular-nums; color:#f4d7d5; }
#offer-current { color:#fffaf0; font-weight:700; }
.counter-divider { color:#cc9998; }
@media(max-width:540px) {
    .page { padding:16px 12px calc(16px + env(safe-area-inset-bottom)); }
    .shell { padding:20px 16px 16px; border-radius:14px; }
    .header { gap:16px; padding-bottom:22px; }
    .logo { width:80px; height:80px; border-radius:16px; }
    .header p { font-size:14px; margin-top:7px; }
    .actions { grid-template-columns:1fr; }
    .action-btn { min-height:54px; font-size:16px; }
    .carousel { margin-top:20px; }
    .offer-photo { height:224px; padding:18px; }
    .offer-details { align-items:flex-start; flex-direction:column; gap:12px; padding:16px 18px 18px; min-height:142px; }
    .offer-details h2 { font-size:18px; }
    .offer-price { align-self:flex-end; }
    .offer-price strong { font-size:48px; }
}
@media(max-width:350px) {
    .header { gap:12px; }
    .logo { width:66px; height:66px; border-radius:13px; }
    h1 { font-size:24px; }
    .offer-photo { height:200px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; } }
