/* LINE coupon price, Lightning full width single column */
#line-coupon-price-main{margin:0 auto;width:100%;max-width:1240px;padding:18px 20px 64px;color:#183f2e;box-sizing:border-box}
#line-coupon-price-main *{box-sizing:border-box}
.coupon-wrap{width:100%}.coupon-hero{background:linear-gradient(125deg,#e8f4ec,#f9fcfa);border:1px solid #d5e6da;border-radius:24px;padding:28px 32px;margin:12px 0 22px}
.coupon-kicker{font-size:13px;font-weight:800;letter-spacing:.13em;color:#338358;margin:0 0 7px}
.coupon-hero h1{font-size:clamp(25px,3vw,36px);line-height:1.4;margin:0 0 14px;color:#103b27}
.coupon-hero p:not(.coupon-kicker){font-size:17px;line-height:1.8}
.coupon-line-btn{display:inline-block;padding:12px 22px;border-radius:10px;background:#198a56;color:#fff!important;text-decoration:none!important;font-weight:700}
.coupon-nav{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 26px}.coupon-nav a{flex:1;min-width:145px;text-align:center;background:white;border:1px solid #c7ddce;border-radius:11px;padding:13px 12px;color:#174f31;text-decoration:none;font-weight:700}
.coupon-section{margin:0 0 30px;padding:24px;border:1px solid #d8e8de;border-radius:22px;background:white;scroll-margin-top:90px}
.coupon-section h2{font-size:clamp(23px,2.6vw,31px);margin:0 0 18px;color:#133e2c}
.coupon-layout{display:grid;grid-template-columns:minmax(220px,31%) minmax(0,1fr);gap:22px;align-items:start}
.coupon-photo{border-radius:17px;background:#f4f8f5;padding:12px}.coupon-photo img{width:100%;height:auto;display:block;border-radius:10px}
.coupon-tax{font-weight:750;color:#b64227;margin:0 0 10px;font-size:17px}.coupon-scroll{max-width:100%;overflow-x:auto;border-radius:12px}
.coupon-price-table{border-collapse:collapse;width:100%;table-layout:fixed;min-width:610px;font-size:17px!important;line-height:1.5}
.coupon-price-table th,.coupon-price-table td{border:1px solid #d4e0d7;padding:14px 10px!important;vertical-align:middle;text-align:center;font-size:17px!important;line-height:1.55!important}
.coupon-price-table thead th{background:#e6f1e8;color:#123e2a;font-size:17px!important;font-weight:800}
.coupon-price-table thead th:nth-child(2){background:#fff0dd}.coupon-price-table thead span{color:#b63b26;font-weight:800;font-size:17px!important}
.coupon-price-table tbody th{font-weight:750;background:#f8faf8}.coupon-price-table tbody tr:nth-child(even) td{background:#fcfdfc}
.coupon-price-table td span{font-size:17px!important}.coupon-price-table td span:nth-of-type(1){color:#626c66}.coupon-price-table .coupon-discount,.coupon-price-table .coupon-discount span{font-weight:800!important;color:#c54427!important;font-size:20px!important}
.coupon-price-table a{color:#0b6944}.coupon-details-link{margin:14px 0 0;text-align:right}.coupon-details-link a{color:#116f4b;font-weight:750}
.coupon-nutrition{background:#f9fcfa}.coupon-nutrition-card{background:white;border:1px solid #dae8df;border-radius:16px;padding:22px;margin-bottom:18px}.coupon-nutrition-card h3{font-size:21px;color:#143f2b}.coupon-nutrition-card p{font-size:16px;line-height:1.85;overflow-wrap:anywhere}
.coupon-nutrition-table{border-collapse:collapse;width:100%;max-width:660px;font-size:17px}.coupon-nutrition-table th,.coupon-nutrition-table td{padding:10px 14px;border-bottom:1px solid #d7e5db;text-align:left;font-size:17px}.coupon-nutrition-table td{text-align:right;font-weight:650}.coupon-footer-line{text-align:center;margin-top:22px}.coupon-top{text-align:right}
@media(max-width:900px){.coupon-layout{grid-template-columns:1fr}.coupon-photo{max-width:410px;margin:0 auto}.coupon-price-table{min-width:610px}}
@media(max-width:568px){#line-coupon-price-main{padding:8px 10px 55px}.coupon-hero{padding:19px 16px}.coupon-section{padding:17px 11px}.coupon-nav a{min-width:calc(50% - 7px);font-size:15px}.coupon-price-table{font-size:16px!important}.coupon-price-table th,.coupon-price-table td,.coupon-price-table td span,.coupon-price-table thead span{font-size:16px!important;padding:12px 8px!important}.coupon-price-table .coupon-discount,.coupon-price-table .coupon-discount span{font-size:19px!important}.coupon-nutrition-card{padding:15px}.coupon-photo{max-width:310px}}

/* LINE QR pop-up: scoped to coupon-price page only */
.coupon-line-modal[hidden]{display:none !important}
.coupon-line-modal{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:16px}
.coupon-line-modal.is-open{display:flex}
.coupon-line-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.62)}
.coupon-line-modal-box{position:relative;z-index:1;width:min(440px,100%);max-height:90dvh;overflow:auto;background:#fff;border-radius:18px;padding:32px 26px 26px;text-align:center;box-shadow:0 14px 48px rgba(0,0,0,.3);color:#173d2d}
.coupon-line-modal-box h2{font-size:25px;line-height:1.4;margin:0 0 12px}
.coupon-line-modal-box p{font-size:16px;line-height:1.8;margin:10px 0}
.coupon-line-modal-box img{display:block;width:min(290px,100%);height:auto;margin:18px auto;image-rendering:auto}
.coupon-line-modal-close{position:absolute;top:8px;right:12px;appearance:none;border:0;background:transparent;color:#222;cursor:pointer;font-size:34px;line-height:1.2;padding:3px 9px}
.coupon-line-modal-url a{color:#167751;overflow-wrap:anywhere}
body.coupon-line-modal-open{overflow:hidden}

/* ============================================================
   2026-11-02: mobile overflow and clipping fix
   Keep pricing, imagery, and desktop design unchanged.
   ============================================================ */
#line-coupon-price-main,
#line-coupon-price-main .coupon-wrap,
#line-coupon-price-main .coupon-section,
#line-coupon-price-main .coupon-layout,
#line-coupon-price-main .coupon-table-panel {
  min-width: 0;
  max-width: 100%;
}
#line-coupon-price-main .coupon-section,
#line-coupon-price-main .coupon-layout,
#line-coupon-price-main .coupon-table-panel {
  overflow: visible;
}
#line-coupon-price-main .coupon-photo {min-width:0;max-width:100%;overflow:hidden;}
#line-coupon-price-main .coupon-photo img {
  display:block;
  max-width:100%;
  width:100%;
  height:auto;
  object-fit:contain;
  object-position:center;
}
#line-coupon-price-main .coupon-scroll {
  position:relative;
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:auto !important;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  touch-action:pan-x pan-y;
  border:1px solid #d4e0d7;
  border-radius:10px;
  scrollbar-width:thin;
  scrollbar-color:#418966 #e6eee9;
}
#line-coupon-price-main .coupon-scroll::-webkit-scrollbar {height:9px;}
#line-coupon-price-main .coupon-scroll::-webkit-scrollbar-track {background:#e6eee9;}
#line-coupon-price-main .coupon-scroll::-webkit-scrollbar-thumb {background:#418966;border-radius:10px;}
#line-coupon-price-main .coupon-price-table {
  min-width:690px !important;
  width:690px !important;
  max-width:none !important;
  table-layout:fixed;
  margin:0;
}
#line-coupon-price-main .coupon-price-table th,
#line-coupon-price-main .coupon-price-table td {
  overflow-wrap:anywhere;
  word-break:normal;
  white-space:normal;
}
#line-coupon-price-main .coupon-price-table tbody td,
#line-coupon-price-main .coupon-price-table tbody th {
  vertical-align:middle;
}
#line-coupon-price-main .coupon-swipe-hint {
  display:none;
  align-items:center;
  gap:6px;
  margin:0 0 8px;
  color:#255b41;
  font-size:14px;
  font-weight:750;
}
@media (min-width:901px){
  #line-coupon-price-main .coupon-price-table {width:100% !important;min-width:690px !important;}
}
@media (max-width:900px) {
  #line-coupon-price-main .coupon-layout {display:block;width:100%;min-width:0;}
  #line-coupon-price-main .coupon-photo {width:min(100%,420px);margin:0 auto 18px;}
  #line-coupon-price-main .coupon-table-panel {width:100%;min-width:0;}
  #line-coupon-price-main .coupon-swipe-hint {display:flex;}
}
@media (max-width:568px){
  #line-coupon-price-main {width:100%;padding:8px 8px 55px;overflow:visible;}
  #line-coupon-price-main .coupon-wrap {width:100%;}
  #line-coupon-price-main .coupon-section {width:100%;padding:16px 9px;}
  #line-coupon-price-main .coupon-layout {width:100%;}
  #line-coupon-price-main .coupon-photo {width:100%;max-width:330px;padding:8px;}
  #line-coupon-price-main .coupon-photo img {width:100%;max-width:100%;height:auto;}
  #line-coupon-price-main .coupon-price-table th,
  #line-coupon-price-main .coupon-price-table td,
  #line-coupon-price-main .coupon-price-table td span,
  #line-coupon-price-main .coupon-price-table thead span {font-size:16px !important;line-height:1.45 !important;}
  #line-coupon-price-main .coupon-price-table .coupon-discount,
  #line-coupon-price-main .coupon-price-table .coupon-discount span {font-size:19px !important;}
  #line-coupon-price-main .coupon-price-table th,
  #line-coupon-price-main .coupon-price-table td {padding:11px 8px !important;}
  #line-coupon-price-main .coupon-nutrition-card,
  #line-coupon-price-main .coupon-nutrition-table {width:100%;max-width:100%;}
  #line-coupon-price-main .coupon-nutrition-table th,
  #line-coupon-price-main .coupon-nutrition-table td {font-size:16px;padding:10px 5px;}
  #line-coupon-price-main h1,
  #line-coupon-price-main h2,
  #line-coupon-price-main h3,
  #line-coupon-price-main p {overflow-wrap:anywhere;}
}
