:root{
  --promo-max-width:1200px;
  --promo-accent:#cc5134; // #ff6a00;
  --promo-new-price-bg-color:rgba(245, 0, 0, 0.8);
  --promo-new-price-text-color:#fff;;
  --promo-badge-bg: rgba(255,255,255,0.95);
  --font-sans: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

/* Page base */
html,body{height:100%;margin:0;color:#111;font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
.promo-page { max-width:var(--promo-max-width); margin:0 auto; padding:0px 20px 20px; box-sizing:border-box; }

body {
    background-color: var(--page-bg-color);
}

/* 1st section: two-column header */
.promo-hero { display:flex; gap:28px; align-items:center; min-height:40vh; }
.promo-hero .col-logo { flex: 0 0 150px; display:flex; align-items:center; justify-content:flex-start; }
.promo-hero .col-logo img { max-width:150px; height:auto; display:block; }
.logo-fallback { color:#111; font-size:18px; }

/* ensure logo stays visible and moves above heading on small screens */
.promo-hero .col-content { flex:1; display:flex; align-items:center; }
.promo-hero .heading { font-weight:800; font-size:40px; line-height:1.30; color:#111; margin:0; }
.promo-hero .heading .line { display:block; margin:2px; }
.promo-hero .address { margin-top:12px; color:rgba(0,0,0,0.65); font-weight:600; font-size:20px; }

/* 2nd section: image with absolute promo badge */
.promo-media { position:relative; margin:20px 0; }
.promo-media .promo-img { width:100%; display:block; border-radius:12px; overflow:hidden; }
.promo-media .promo-img img{ width:100%; height:auto; display:block; object-fit:cover; border-radius:12px; }
.promo-img-fallback { background: linear-gradient(180deg,#f3f3f3,#e9e9e9); height:320px; border-radius:12px; }

/* badge anchored to right-top corner of image */
.promo-badge {
  position:absolute;
  top:10%;
  left:10%;
  transform:none;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:14px 22px;
  border-radius:16px;
  box-shadow: 0 12px 36px rgba(2,6,23,0.08);
  text-align:center;
  max-width:44%;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

/* prices */
.promo-badge .old-price, .promo-badge .product-name { font-size:24px; color:#f1f1f1; letter-spacing:0.6px; margin-bottom:6px; }
.promo-badge .old-price { font-size:34px;}
.promo-badge .old-price s { position:relative; text-decoration:none; display:inline-block; padding:2px 4px; }
.promo-badge .old-price s::after {
  content:''; position:absolute; left:-6%; top:50%; width:112%; height:3px;
  background: linear-gradient(90deg,#fe4507,#ff2b2b); transform:rotate(-6deg);
  box-shadow:0 0 8px rgba(255,12,12,0.65);
}
.new-price-wrap {
    position: absolute;
    bottom: 10%;
    left: 10%;
    transform: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 14px 22px;
    border-radius: 10px;
    box-shadow: 0 12px 36px rgba(2, 6, 23, 0.08);
    text-align: center;
    max-width: 44%;
    background-color:var(--promo-new-price-bg-color);
}
.new-price-wrap .new-price { font-size:34px; color:var(--promo-new-price-text-color); }

/* 3rd section: big multiline text (lines set by <br> in ACF) */
/* уменьшенное расстояние между строками */
.promo-gift { margin:34px 0; color:#111; font-size:22px; line-height:1.3; letter-spacing:0.6px; }
.promo-gift p{margin:12px 0;padding:0;}

/* CTA button */
.promo-cta { margin: 18px auto 8px; text-align:center; }
.promo-cta .btn {
  display:inline-block;
  padding:16px 30px;
  border-radius:14px;
  background: var(--promo-accent);
  color:#fff;
  font-size:18px;
  text-decoration:none;
  box-shadow: 0 12px 30px rgba(255,106,0,0.18);
  line-height:1.05;
  min-width: 220px;
}
.promo-cta .btn .btn-line2 { display:block; font-size:12px; opacity:0.95; font-weight:700; margin-top:4px; }
.promo-disclaimer { margin-top:40px; font-size:13px; color:rgba(0,0,0,0.6); text-align:right; }

/* Responsive behaviour */
@media (max-width: 900px) {
  .promo-hero .heading { font-size:28px; }
  .promo-badge .new-price { font-size:30px; }
  .promo-badge { 
      max-width:52%; 
      padding:12px 16px;
      top: 5%;
      left: 5%;
  }
    .new-price-wrap { 
      bottom: 5%;
      left: 5%;
    }
}

@media (max-width: 640px) {
  /* logo above heading, centered */
  .promo-hero { flex-direction:column; align-items:center; gap:12px; min-height:auto; text-align:center; padding-top:16px; padding-bottom:16px; }
  .promo-hero .col-logo { flex:0 0 auto; order: -1; width:120px; margin-left: 25px; }
  .promo-hero .col-logo img { max-width:120px; }
  .promo-hero .col-content { align-items:center; }
  .promo-hero .heading { font-size:20px; }
  .promo-hero .address { font-size:18px; }
  .promo-badge { max-width:62%; padding:10px 14px; border-radius:12px; }
  .promo-badge .product-name { font-size:20px;}
  .promo-badge .old-price { font-size:26px;}
  .new-price-wrap .new-price { font-size:22px;}
  .promo-gift { font-size:18px; }
}

@media (max-width: 500px) {
  .promo-page {padding:0;}
  .promo-media .promo-img {border-radius:0;}
  .promo-media .promo-img img{border-radius:0;}
  .promo-badge {top:0;left:0; max-width:62%; padding:10px 10px; border-radius:12px; }
  .promo-badge .product-name { font-size: 18px; margin-bottom: 0px;}
  .promo-badge .old-price s{margin-bottom: 0;}
  .promo-badge .old-price { font-size: 24px;}
  .new-price-wrap {bottom:0;left:0; padding: 10px 20px; margin: 10px;}
  .new-price-wrap .new-price { font-size: 18px; }
  .promo-gift {font-size:16px;}
  .promo-cta{padding: 5px;}
  .promo-disclaimer{font-size:10px;}
}

@media (max-width: 391px) {
    .promo-hero .heading{font-size:16px;}
    .promo-hero .address{font-size:14px;}
    .promo-badge{padding: 5px 5px;}
    /*
    .promo-badge .product-name{font-size: 18px;}
    .promo-badge .old-price{font-size: 18px;}
    .new-price-wrap .new-price { font-size: 18px; }
    */
    .promo-gift{font-size:13px;}
    .promo-disclaimer{font-size:8px;}
}
