/* Image cards, call buttons and slim hero — loaded after styles.css */
/* Image sits in a fixed 3:2 frame, so a 1200x800 upload shows whole instead of being cropped to the card's height */
.offer-card.has-image{grid-template-columns:300px minmax(0,1fr) 225px}
.offer-media{position:relative;padding:18px 0 18px 18px;align-self:start}
.offer-media img{display:block;width:100%;aspect-ratio:3/2;height:auto;object-fit:cover;border-radius:12px;background:var(--mint)}
.badge{position:absolute;top:28px;left:28px;background:#dc8d20;color:#fff;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:5px 10px;border-radius:20px;box-shadow:0 3px 10px #0002}
.offer-card.has-image .offer-content{padding:22px 22px}
.offer-card .offer-details h3{font-size:22px}
.button.call{gap:10px;padding:10px 12px}
.button.call svg{flex-shrink:0}
.call-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2;text-align:left}
.call-text span{font-size:13px}
.call-text small{font-size:12px;font-weight:600;opacity:.9;letter-spacing:.01em}
.offer-actions .button span.call-text span{font-size:13px}
.empty{padding:30px;background:#fffefb;border:1px dashed var(--line);border-radius:var(--radius);text-align:center}
.hero-slim .container{padding-top:34px;padding-bottom:30px}
.hero-slim h1{font-size:clamp(32px,3.6vw,48px)}
.hero-slim .intro{max-width:620px;margin:14px 0 0;font-size:17px}
.hero-slim .eyebrow{margin-bottom:12px}
.hero-slim + .offers-section{padding-top:34px}
.admin-bar{background:#0b1e42;color:#fff;font-size:13px;text-align:center;padding:8px}
.admin-bar a{color:#9ff0c0;margin-left:8px}
@media(min-width:1400px){.offer-card.has-image{grid-template-columns:320px minmax(0,1fr) 240px}}
@media(max-width:1050px){.offer-card.has-image{grid-template-columns:230px minmax(0,1fr) 185px}.offer-card.has-image .offer-content{padding:18px 15px}}
@media(max-width:800px){.offer-card.has-image{grid-template-columns:200px minmax(0,1fr) 200px}.offer-media{padding:15px 0 15px 15px}}
@media(max-width:700px){
  .offer-card.has-image{grid-template-columns:1fr}
  .offer-media{padding:0}
  .offer-media img{border-radius:0}
  .badge{top:12px;left:12px}
  .offer-actions{margin:0 17px;padding:15px 0 17px;border-left:0;border-top:1px solid #e4e9e1;display:grid;grid-template-columns:1fr 1fr;gap:9px}
  .offer-actions.single{grid-template-columns:1fr}
  .offer-actions .fine,.offer-actions .connection-note{grid-column:1/-1;margin:0}
}
@media(max-width:600px){
  .offer-card.has-image .offer-content{padding:16px 17px 12px}
  .offer-card .offer-details h3{font-size:21px}
  .hero-slim .container{padding-top:24px;padding-bottom:22px}
  .hero-slim h1{font-size:31px}
  .hero-slim .intro{font-size:14px}
  .offer-actions{grid-template-columns:1fr}
  .offer-actions .button{min-height:52px;font-size:14px}
  .call-text span,.offer-actions .button span.call-text span{font-size:15px}
}
