/* A quiet, compact offer card; native coupon data and claim behavior stay intact. */
.product-coupon product-coupon { display:block; }
.product-coupon .coupon-box {
  display:flex; flex-direction:column; gap:10px; padding:0;
  background:transparent; border:0; border-radius:0; box-shadow:none;
}
.product-coupon .item-coupon {
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  width:100%; min-width:0; min-height:86px; padding:17px 20px;
  background:#f0f3ed; border:1px solid #d3dccf; border-inline-start:3px solid #40584b;
  border-radius:3px; box-shadow:none; color:#40584b; box-sizing:border-box;
}
.product-coupon .item-coupon .left-info {
  flex:1 1 auto; min-width:0; width:auto; padding:0; color:#40584b;
}
.product-coupon .item-coupon .left-info::before,
.product-coupon .item-coupon .left-info::after,
.product-coupon .coupon-item-divider { display:none; }
.product-coupon .item-coupon .off {
  display:block; margin:0; font-size:21px; line-height:1.25; font-weight:600;
  letter-spacing:.015em; color:#293f33; font-variant-numeric:tabular-nums;
}
.product-coupon .item-coupon .condition {
  display:block; margin-top:5px; font-size:12px; line-height:1.5;
  font-weight:400; letter-spacing:.01em; color:#5b685e; overflow-wrap:anywhere;
}
.product-coupon .item-coupon .right-info {
  flex:0 0 auto; width:auto; height:auto; padding:0; align-self:center;
}
.product-coupon .item-coupon .code-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  min-width:100px; width:auto; min-height:42px; height:auto; max-width:180px;
  padding:10px 17px; border:1px solid #40584b; border-radius:2px;
  background:#40584b; color:#fffdf9; font-family:inherit; font-size:13px;
  font-weight:500; line-height:1.4; letter-spacing:.02em; cursor:pointer;
  transition:background-color .18s ease,border-color .18s ease;
}
.product-coupon .code-btn span { color:inherit; overflow-wrap:anywhere; }
.product-coupon .item-coupon .code-btn:hover { background:#293f33; border-color:#293f33; }
.product-coupon .item-coupon .code-btn:focus-visible { outline:2px solid #40584b; outline-offset:4px; }
.product-coupon .coupon-label { background:#f0f3ed; border:1px solid #d3dccf; padding:16px 18px; border-radius:3px; color:#293f33; }
.product-coupon .coupon-label .icon path:not([opacity]) { fill:#40584b; }
.product-coupon .coupon-label .icon path[fill='#FFFFFF'] { fill:#fffdf9; }
.product-coupon .coupon-tag { background:#e1e8dd; color:#293f33; border:0; border-radius:2px; padding:4px 8px; }
.product-coupon .coupon-tag .left-arrow,
.product-coupon .coupon-tag .right-arrow { display:none; }
.product-coupon .coupon-list { background:#fffdf9; border:1px solid #d3dccf; border-radius:4px; box-shadow:0 12px 30px rgb(40 62 47 / 10%); max-width:100%; box-sizing:border-box; }
.product-coupon .coupon-list .title { color:#293f33; font-weight:500; }
@media(max-width:600px) {
  .product-coupon .item-coupon { padding:14px 15px; min-height:80px; gap:14px; }
  .product-coupon .item-coupon .off { font-size:20px; }
  .product-coupon .item-coupon .code-btn { min-width:88px; max-width:140px; min-height:42px; padding:10px 13px; }
}
@media(prefers-reduced-motion:reduce) { .product-coupon .item-coupon .code-btn { transition:none; } }

/* Compact brand offer: slim proportions, native claim and copy behavior. */
.product-coupon .item-coupon{display:grid;grid-template-columns:108px minmax(0,1fr) auto;gap:0;min-height:64px;padding:0;background:linear-gradient(110deg,#ecf1e8,#f7f9f3);border:1px solid #d1dacb;border-radius:3px;box-shadow:0 2px 7px rgb(40 62 47 / 3%);overflow:hidden}
.product-coupon .item-coupon .left-info{display:contents}
.product-coupon .ct-coupon-value{position:relative;align-self:stretch;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:10px 12px;min-height:0;background:linear-gradient(135deg,#47604f,#304638);isolation:isolate}
.product-coupon .ct-coupon-value:before{content:"";position:absolute;inset:5px;border:1px solid rgb(225 236 208 / 25%);pointer-events:none;z-index:-1}
.product-coupon .item-coupon .off{font-size:19px;line-height:1.2;font-weight:500;letter-spacing:-.025em;color:#fff8ec;text-align:center}
.product-coupon .ct-coupon-copy{padding:11px 16px;min-width:0;box-sizing:border-box}
.product-coupon .ct-coupon-brand{display:block;font-size:9px;letter-spacing:.2em;font-weight:600;color:#40584b;margin:0 0 4px;line-height:1.2}
.product-coupon .item-coupon .condition{margin:0;font-size:11px;line-height:1.45;letter-spacing:0}
.product-coupon .item-coupon .right-info{display:flex;align-items:center;justify-content:center;padding:0 12px;border-inline-start:1px solid #d2ddce;margin:12px 0;align-self:stretch;min-width:0}
.product-coupon .item-coupon .code-btn{box-sizing:border-box;min-width:72px;max-width:140px;min-height:34px;padding:7px 12px;font-size:11px;line-height:1.4;letter-spacing:.03em}
@media(max-width:600px){
.product-coupon .item-coupon{grid-template-columns:88px minmax(0,1fr) auto;min-height:64px;padding:0;gap:0}
.product-coupon .ct-coupon-value{padding:10px 7px}
.product-coupon .item-coupon .off{font-size:17px}
.product-coupon .ct-coupon-copy{padding:10px}
.product-coupon .ct-coupon-brand{font-size:8px;letter-spacing:.15em}
.product-coupon .item-coupon .condition{font-size:10px}
.product-coupon .item-coupon .right-info{padding:0 8px;margin:8px 0}
.product-coupon .item-coupon .code-btn{min-width:62px;max-width:100px;min-height:44px;padding:8px 9px;font-size:11px}
}
