/* One campaign, two presentations: header capsules and offer cards. */
:root{--campaign-banner-height:0px;--product-announcement-height:0px;--campaign-ink:#665039;--campaign-dark:#292929;--campaign-gold:#b09061}
[data-campaign][hidden]{display:none!important}
.campaign-banner{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:149px;padding:16px 16px 17px;background:#D8B7B0;color:#59442e;text-align:center}
.campaign-flower{position:absolute;z-index:0;display:block;width:205px;height:149px;object-fit:contain;pointer-events:none;user-select:none}
.campaign-flower-left{top:0;left:0;object-position:left top}
.campaign-flower-right{right:0;bottom:0;width:212px;height:126px;object-fit:cover;object-position:right bottom}
.campaign-heading{margin:0;font-weight:700;line-height:1.3;letter-spacing:.15px}
.campaign-banner .campaign-heading{position:relative;z-index:1;font-family:Georgia,"Times New Roman",serif;font-size:28px;font-weight:400;line-height:32px;letter-spacing:0}
.campaign-banner .campaign-date{font-weight:400}
.campaign-date{font-weight:800;white-space:nowrap}
.campaign-leaf{display:inline-block;margin-left:4px;font-size:.95em}
.campaign-banner .campaign-capsules{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:480px;max-width:100%;height:74px;padding:11px 14px;border:0;border-radius:999px;background:#624c39;color:#fff5e6}
.campaign-banner .campaign-capsule{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-width:0;padding:0 8px;border:0;background:none;line-height:1.1;white-space:nowrap}
.campaign-banner .campaign-capsule+.campaign-capsule::before{position:absolute;top:50%;left:0;width:1px;height:36px;background:#fff5e6b3;transform:translateY(-50%);content:""}
.campaign-banner .campaign-capsule strong{font-family:Georgia,"Times New Roman",serif;font-size:26px;line-height:29px;font-weight:400;font-variant-numeric:tabular-nums}
.campaign-banner .campaign-capsule span{font-size:17px;line-height:20px;font-weight:400;color:inherit}
.campaign-offer{margin:0 5px 26px;padding:14px 20px 16px;background:#f4f0ed;text-align:center;border-radius:0;color:#59442e}
.campaign-offer .campaign-heading{font-family:Georgia,"Times New Roman",serif;font-size:24px;font-weight:700;line-height:1.3;letter-spacing:0}
.campaign-offer .campaign-date{font-weight:700}
.campaign-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;width:min(100%,374px);margin:20px auto 0}
.campaign-card{display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1.22;min-width:0;min-height:60px;border:1px solid #b39a7e80;border-radius:10px;background:linear-gradient(180deg,#80674e,#7a614a);box-shadow:inset 0 1px 2px #ffffff33,0 5px 12px #5a412838;color:#fdfdfc}
.campaign-card strong{font-family:Georgia,"Times New Roman",serif;font-size:32px;line-height:1.05;font-weight:400;font-variant-numeric:tabular-nums}
.campaign-card span{font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.2;margin-top:2px;color:#f5eee5}
.product-info:has(.campaign-offer:not([hidden])) .stock{margin-bottom:18px}
.gallery .main-image-button{--gallery-main-height:min(100cqw,max(1px,calc(100svh - var(--header-height) - var(--campaign-banner-height) - var(--product-announcement-height) - var(--gallery-top) - var(--thumbnail-top) - (100cqw - var(--thumbnail-spacing)) / 5 - 24px)));height:var(--gallery-main-height)}
/* Enlarge only the desktop main image; thumbnail dimensions stay unchanged. */
@media(min-width:761px){
  .gallery .main-image-button{height:calc(var(--gallery-main-height) * 1.56)}
}
@media(max-width:1100px) and (min-width:761px){
  .campaign-offer{padding:14px 14px 16px}
  .campaign-offer .campaign-heading{font-size:20px}
  .campaign-cards{gap:10px;margin-top:20px}
  .campaign-card strong{font-size:30px}
  .campaign-card span{font-size:16px}
}
@media(max-width:760px){
  .campaign-banner{min-height:126px;padding:14px 12px;gap:9px}
  .campaign-banner .campaign-heading{font-size:20px;line-height:25px}
  .campaign-flower{width:110px;height:126px;object-fit:contain;opacity:.65}
  .campaign-banner .campaign-capsules{width:340px;height:64px;padding:9px 10px}
  .campaign-banner .campaign-capsule{padding:0 5px}
  .campaign-banner .campaign-capsule+.campaign-capsule::before{height:32px}
  .campaign-banner .campaign-capsule strong{font-size:24px;line-height:27px}
  .campaign-banner .campaign-capsule span{font-size:14px;line-height:18px}
  .campaign-offer{margin:0 1px 24px;padding:16px 12px 18px}
  .campaign-offer .campaign-heading{font-size:22px}
  .campaign-cards{gap:10px;margin-top:18px}
  .campaign-card strong{font-size:30px}
  .campaign-card span{font-size:15px}
}
@media(max-width:360px){
  .campaign-banner{min-height:120px;padding:12px;gap:8px}
  .campaign-banner .campaign-heading{font-size:18px;line-height:24px}
  .campaign-flower{width:84px;height:120px;opacity:.5}
  .campaign-offer{padding:14px 10px 16px}
  .campaign-offer .campaign-heading{font-size:19px}
  .campaign-cards{gap:8px;margin-top:16px}
  .campaign-card strong{font-size:28px}
  .campaign-card span{font-size:14px}
}
