*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-font-smoothing:antialiased; }

:root {
  --red:     #D71920;
  --red-dk: #B01419;
  --yellow: #FFD600;
  --white:  #FFFFFF;
  --off:    #FAFAFA;
  --text:   #1A1A1A;
  --muted:  #757575;
  --border: #E0E0E0;
}

body { font-family:'Noto Sans JP',sans-serif; color:var(--text); background:var(--white); line-height:1.75; }

/* ── TOPBAR ── */
.topbar {
  position:fixed; top:0; left:0; right:0; z-index:200;
  background:rgba(255,255,255,.85); backdrop-filter:blur(8px);
  border-bottom:1px solid var(--border);
  display:flex; align-items:center; justify-content:space-between;
  padding:0 clamp(16px,4vw,40px); height:52px;
}
.topbar-logo { font-size:13px; font-weight:900; }
.topbar-logo b { color:var(--red); }
.topbar-tel { font-size:11px; color:var(--muted); text-align:right; line-height:1.6; display:none; }
@media(min-width:600px){ .topbar-tel { display:block; } }

/* ── HERO ── */
.hero { margin-top:96px; }
.hero-img { display:block; width:100%; height:auto; }
.hero-foot {
  background:var(--red);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:28px;
  padding:10px 20px;
  flex-wrap:nowrap;
}
.hero-foot p {
  margin:0;
  color:rgba(255,255,255,.9);
  font-size:28px;
  font-weight:700;
  white-space:nowrap;
}

/* ── BUTTONS ── */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  font-family:inherit; font-weight:900; font-size:15px;
  padding:0 28px; height:52px; border-radius:999px;
  border:none; cursor:pointer; text-decoration:none;
  transition:transform .15s, box-shadow .15s; white-space:nowrap;
  position:relative; overflow:hidden;
  user-select:none;
}
.btn:hover { transform:translateY(-2px); }

.btn-yellow { 
  background: linear-gradient(135deg, #FFD600 0%, #FFA600 100%) !important; 
  color:var(--text); 
  box-shadow: 0 0 20px rgba(255,214,0,0.6), inset 0 0 12px rgba(255,255,255,0.6);
  animation: pulse-glow 1.5s infinite alternate;
}
.btn-yellow:hover { box-shadow:0 0 30px rgba(255,214,0,0.9), 0 0 15px #FFD600; }

.btn-white-out { background:transparent; color:var(--white); border:2px solid rgba(255,255,255,.6); }
.btn-white-out:hover { background:rgba(255,255,255,.1); }

.btn-red { 
  background: linear-gradient(135deg, #D71920 0%, #FF454B 100%) !important; 
  color:var(--white); 
  box-shadow: 0 0 20px rgba(215,25,32,0.5), inset 0 0 12px rgba(255,255,255,0.4);
}
.btn-red:hover { background:var(--red-dk); }
.btn-dark { background:var(--text); color:var(--white); }

@keyframes pulse-glow {
  0% { transform: scale(1); box-shadow: 0 0 15px rgba(255,214,0,0.5); }
  100% { transform: scale(1.04); box-shadow: 0 0 35px rgba(255,214,0,0.9), 0 0 15px #FFD600; }
}

/* ⚡️ 光の帯 */
.btn::before, .pill-l::before, .prod-label::before {
  content: '';
  position: absolute; top: 0; left: -150%;
  width: 80%; height: 100%;
  background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 50%, rgba(255,255,255,0) 100%);
  transform: skewX(-35deg);
  animation: auto-shine 3s infinite ease-in-out;
}

.btn::after, .pill-l::after, .prod-label::after {
  content: '';
  position: absolute; top: 0; left: -150%;
  width: 150%; height: 100%;
  background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
  transform: skewX(-35deg);
  opacity: 0;
}

@media (hover: hover) {
  .btn:hover::after, .pill-l:hover::after, .prod-label:hover::after {
    opacity: 1;
    animation: mega-shine 0.4s ease-out forwards;
  }
}

.btn.is-active::after, .pill-l.is-active::after, .prod-label.is-active::after,
.pill-r:checked + .pill-l::after, .prod-radio:checked + .prod-label::after,
.fp-r:checked + .fp-l::after {
  opacity: 1;
  animation: mega-shine 0.4s ease-out forwards;
}

@keyframes auto-shine {
  0% { left: -150%; }
  25% { left: 200%; }
  100% { left: 200%; }
}

@keyframes mega-shine {
  0% { left: -150%; filter: brightness(1); }
  50% { filter: brightness(2.5); }
  100% { left: 250%; filter: brightness(1); }
}

/* ── SECTION ── */
.sec { padding:clamp(52px,8vh,88px) clamp(20px,6vw,72px); scroll-margin-top:90px; }
.sec-inner { max-width:760px; margin:0 auto; }
.sec-inner-wide { max-width:960px; margin:0 auto; }
.sec-kicker { display:inline-block; font-size:11px; font-weight:900; letter-spacing:.18em; text-transform:uppercase; color:var(--red); margin-bottom:10px; }

/* ── ESTIMATE ── */
.sec-estimate { background:var(--off); }
.est-h2 { font-size:clamp(32px,6vw,56px); font-weight:900; line-height:1.2; margin-bottom:28px; }
.est-h2 .mark { display:inline-block; background:var(--yellow); padding:2px 12px; border-radius:8px; transform:rotate(-1.5deg); }

/* 商品カード */
.prod-cards { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:24px; }
.prod-radio { position:fixed; top:-9999px; left:-9999px; opacity:0; pointer-events:none; }
.prod-label {
  display:flex; flex-direction:column; gap:6px;
  border:2.5px solid var(--border); border-radius:16px;
  padding:20px; cursor:pointer;
  transition:border-color .15s, background .15s, transform .1s;
  user-select:none; background:var(--white); position:relative; overflow:hidden;
}
.prod-label:hover { border-color:var(--red); transform:translateY(-2px); }

.prod-radio:checked + .prod-label,
.pill-r:checked + .pill-l,
.fp-r:checked + .fp-l {
  animation: select-flash 0.3s ease-out, border-pulse 1.5s infinite alternate;
}
.prod-radio:checked + .prod-label { background:#FFF5F5; }

@keyframes select-flash {
  0% { filter: brightness(3); transform: scale(0.96); }
  100% { filter: brightness(1); transform: scale(1); }
}
@keyframes border-pulse {
  0% { border-color: var(--red); box-shadow: 0 0 10px rgba(215,25,32,0.4); }
  100% { border-color: #FF8F00; box-shadow: 0 0 25px rgba(255,143,0,0.8); }
}

.prod-check {
  width:22px; height:22px; border-radius:50%; border:2px solid var(--border);
  display:flex; align-items:center; justify-content:center; transition:all .15s; flex-shrink:0; z-index:2;
}
.prod-radio:checked + .prod-label .prod-check { background:var(--red); border-color:var(--red); }
.prod-check::after { content:''; width:8px; height:8px; border-radius:50%; background:var(--white); opacity:0; transition:opacity .15s; }
.prod-radio:checked + .prod-label .prod-check::after { opacity:1; }
.prod-tag { font-size:11px; font-weight:700; color:var(--muted); letter-spacing:.1em; display:flex; align-items:center; gap:4px; z-index:2; }
.prod-name { font-size:17px; font-weight:900; z-index:2; }
.prod-desc { font-size:12px; color:var(--muted); z-index:2; }
.prod-price { font-size:22px; font-weight:900; color:var(--red); margin-top:auto; z-index:2; }
.prod-price small { font-size:12px; color:var(--muted); font-weight:400; }

.badge-gold { color:#B8860B; font-weight:900; }
.badge-silver { color:#555555; font-weight:900; }

/* ステッパー */
.step-label { font-size:13px; font-weight:700; margin-bottom:10px; display:block; }
.stepper { display:flex; align-items:center; border:2px solid var(--border); border-radius:14px; overflow:hidden; width:fit-content; margin-bottom:24px; background:var(--white); }
.stepper-btn { width:52px; height:52px; background:var(--white); border:none; cursor:pointer; font-size:22px; font-weight:900; color:var(--text); transition:background .15s; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; user-select:none; }
.stepper-btn:hover { background:var(--off); }
.stepper-input { width:80px; height:52px; text-align:center; border:none; border-left:2px solid var(--border); border-right:2px solid var(--border); font-family:inherit; font-size:20px; font-weight:900; color:var(--text); background:var(--white); }
.stepper-input:focus { outline:none; }

/* ラジオピル */
.pills-label { font-size:13px; font-weight:700; margin-bottom:10px; display:block; }
.pills { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.pill-r { position:fixed; top:-9999px; left:-9999px; opacity:0; pointer-events:none; }
.pill-l {
  display:inline-flex; align-items:center; padding:10px 20px; border-radius:999px;
  border:2px solid var(--border); font-size:14px; font-weight:700; cursor:pointer;
  transition:all .15s; user-select:none; background:var(--white);
  position:relative; overflow:hidden;
}
.pill-l:hover { border-color:var(--text); }
.pill-r:checked + .pill-l { background:var(--text); color:var(--white); border-color:var(--text); }

/* ── 見積もりボード（黄金カスタム） ── */
.result-box-festa {
  background: linear-gradient(145deg, #111111 0%, #222222 100%);
  border: 4px solid var(--yellow);
  box-shadow: 0 0 35px rgba(255, 214, 0, 0.4), inset 0 0 20px rgba(255,255,255,0.05);
  border-radius: 28px;
  padding: 38px 20px;
  text-align: center;
  margin-bottom: 24px;
  position: relative;
  overflow: hidden;
}

.result-lbl {
  color: var(--yellow);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.1em;
  margin-bottom: 8px;
}

/* 🎰 金額デカ文字：初期フォントベース、黄金グラデーション、切れない高さを確保 */
.r-num-festa {
  font-size: clamp(52px, 13vw, 84px) !important;
  font-weight: 900;
  line-height: 1.25 !important;
  letter-spacing: -0.02em;
  background: linear-gradient(to bottom, #FFFFFF 0%, #FFEE55 20%, #FFD600 55%, #FF9900 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 4px 12px rgba(255,214,0,0.5));
  display: inline-block;
  font-variant-numeric: tabular-nums;
}

.r-unit-festa {
  font-size: clamp(18px, 4vw, 24px);
  font-weight: 900;
  color: #FFD600;
  text-shadow: 0 2px 8px rgba(255,214,0,0.5);
  margin-left: 4px;
  display: inline-block;
}

/* 内訳表示ボックス */
.result-sub-festa {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: rgba(255,255,255,0.15);
  border-radius: 14px;
  overflow: hidden;
  margin-top: 24px;
}
.rs-item-festa {
  background: rgba(255,255,255,0.05);
  padding: 16px 8px;
}
.rs-item-festa .lbl-text {
  font-size: 11px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.8) !important;
  letter-spacing: 0.05em;
  margin-bottom: 6px;
}
.rs-item-festa .val-text {
  font-size: 18px;
  font-weight: 900;
  color: var(--white) !important;
  font-variant-numeric: tabular-nums;
}

/* ── CATALOG ── */
.sec-catalog { background:var(--white); }
.catalog-lead { font-size:clamp(22px,3.5vw,32px); font-weight:900; margin-bottom:8px; line-height:1.35; }
.hl { background:linear-gradient(transparent 55%, var(--yellow) 55%); }
.catalog-desc { color:var(--muted); font-size:14px; margin-bottom:36px; }
.catalog-cards { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.catalog-card { border-radius:20px; overflow:hidden; text-decoration:none; color:inherit; display:flex; flex-direction:column; transition:transform .2s, box-shadow .2s; }
.catalog-card:hover { transform:translateY(-4px); box-shadow:0 16px 40px rgba(0,0,0,.12); }
.cc-head { padding:28px 24px 20px; display:flex; flex-direction:column; gap:8px; }
.printstar .cc-head { background:#FFF8E1; }
.ua         .cc-head { background:#E8EAF6; }
.cc-badge { display:inline-block; font-size:11px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; padding:4px 12px; border-radius:999px; }
.printstar .cc-badge { background:#FF8F00; color:var(--white); }
.ua         .cc-badge { background:#3949AB; color:var(--white); }
.cc-brand { font-size:16px; font-weight:700; color:var(--muted); }
.cc-char  { font-size:26px; font-weight:900; }
.cc-desc  { font-size:13px; color:var(--muted); line-height:1.8; }
.cc-foot  { margin-top:auto; padding:16px 24px; display:flex; align-items:center; justify-content:space-between; border-top:1px solid rgba(0,0,0,.06); font-size:13px; font-weight:700; }
.printstar .cc-foot { color:#FF8F00; }
.ua         .cc-foot { color:#3949AB; }

/* ── FORM ── */
.sec-form { background:var(--off); }
.form-h2 { font-size:clamp(22px,3.5vw,34px); font-weight:900; margin-bottom:8px; line-height:1.3; }
.form-desc { color:var(--muted); font-size:14px; margin-bottom:36px; }
.form-card { background:var(--white); border-radius:20px; padding:clamp(24px,4vw,44px); border:1px solid var(--border); }
.rg { margin-bottom:28px; }
.rg-label { display:block; font-size:13px; font-weight:700; margin-bottom:12px; }
.req { display:inline-block; margin-left:5px; background:var(--red); color:var(--white); font-size:10px; padding:1px 7px; border-radius:999px; font-weight:700; vertical-align:middle; }
.form-pills { display:flex; flex-wrap:wrap; gap:8px; }
.fp-r { position:fixed; top:-9999px; left:-9999px; opacity:0; pointer-events:none; }
.fp-l {
  display:inline-flex; align-items:center; padding:9px 18px; border-radius:999px;
  border:2px solid var(--border); font-size:14px; font-weight:500; cursor:pointer;
  transition:all .15s; user-select:none; background:var(--white);
  position:relative; overflow:hidden;
}
.fp-l:hover { border-color:var(--red); }
.fp-r:checked + .fp-l { background:var(--red); color:var(--white); border-color:var(--red); }

.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:20px; }
.field { display:flex; flex-direction:column; gap:7px; }
.field label { font-size:12px; font-weight:700; }
.field input, .field textarea { width:100%; padding:12px 14px; border:2px solid var(--border); border-radius:12px; font-family:inherit; font-size:15px; color:var(--text); background:var(--white); transition:border-color .15s; }
.field textarea { min-height:160px; resize:vertical; font-variant-numeric:tabular-nums; }
.field input:focus, .field textarea:focus { outline:none; border-color:var(--red); }
.field-full { grid-column:1/-1; }
.field-note { font-size:11px; color:var(--muted); margin-top:4px; }
.privacy-wrap { background:#FFF9C4; border:2px solid var(--yellow); border-radius:14px; padding:16px 18px; margin-bottom:24px; font-size:13px; color:var(--text); line-height:1.8; }
.privacy-check { display:flex; align-items:center; gap:10px; margin-top:10px; cursor:pointer; }
.privacy-check input[type="checkbox"] { width:20px; height:20px; accent-color:var(--red); flex-shrink:0; }
.privacy-check span { font-size:14px; font-weight:700; }
.privacy-check a { color:var(--red); text-decoration:underline; }
.submit-wrap { text-align:center; }
.submit-btn { width:100%; max-width:400px; height:60px; font-size:18px; border-radius:16px; }
.status-box { display:none; margin-top:14px; padding:14px; border-radius:12px; font-weight:700; font-size:14px; }
.status-box.show { display:block; }
.status-box.sending { background:#fff8cc; border:1px solid #e6c600; color:#5a4500; }
.status-box.error   { background:#fff2f2; border:1px solid #e74c3c; color:#8a1f11; }
.submit-note { font-size:11px; color:var(--muted); margin-top:10px; text-align:center; }

/* 🥈 ハニーポット（スパムBot防御用隠し罠フィールド） */
.festa-hp-gate { display: none !important; visibility: hidden !important; }

/* ── FOOTER ── */
.footer { background:var(--red); color:rgba(255,255,255,.85); text-align:center; padding:clamp(36px,5vh,56px) 20px; }
.footer h3 { font-size:18px; font-weight:900; color:var(--white); margin-bottom:16px; }
.footer-row { display:flex; flex-wrap:wrap; justify-content:center; gap:24px; margin-bottom:20px; }
.footer-item .l { font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.5); margin-bottom:4px; }
.footer-item .v { font-size:18px; font-weight:900; color:var(--white); }
.footer-copy { font-size:11px; color:rgba(255,255,255,.4); }

@media(max-width:600px){
  .prod-cards { grid-template-columns:1fr; }
  .catalog-cards { grid-template-columns:1fr; }
  .field-grid { grid-template-columns:1fr; }
  .result-sub-festa { grid-template-columns:1fr; }
  .hero-foot { flex-direction:column; }
  .hero-foot .btn { width:100%; max-width:340px; }
}

.coop-page-top-wrap {
  max-width: 1200px;
  margin: 52px auto 0;
  padding: 0 clamp(20px, 5vw, 48px) 34px;
  border-top: 1px solid rgba(0,0,0,.16);
  text-align: right;
}
.coop-page-top {
  display: inline-block;
  margin-top: 28px;
  color: rgb(0,178,149);
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
}
.coop-page-top:hover { text-decoration: underline; }

/* ── 中央大学生協 既存風フッター（GAS確認用 v4） ── */
.coop-foot {
  font-family: inherit;
  color: rgb(50,47,46);
  font-size: 14px;
  line-height: 1.5;
  background-image: url("https://www.chudai-seikyo.or.jp/re_img/common/bg.jpg");
  background-repeat: repeat;
  padding: 21.6px 0 0;
}
.coop-foot, .coop-foot * { box-sizing: border-box; }
.coop-foot a { color: rgb(50,47,46); text-decoration: none; }
.coop-foot__wrapper {
  width: min(486px, calc(100% - 54px));
  margin: 0 auto;
}
.coop-foot__wrap { margin: 0 0 35.1px; }
.coop-foot__info { margin: 0 0 22px; }
.coop-foot__logo { width: 194px; margin: 0 0 18px; }
.coop-foot__logo img { display: block; width: 100%; height: auto; }
.coop-foot__address { font-size: 14px; line-height: 1.5; margin: 0 0 22px; }
.coop-foot__links { font-size: 13px; line-height: 1.5; }
.coop-foot__link-item {
  display: inline-block;
  position: relative;
  font-size: 13px;
  line-height: 19.5px;
  background: #fff;
  margin: 0 8px 10px 0;
  padding: 3px 24px 3px 10px;
  border: 1px solid rgba(0,0,0,.1);
  border-radius: 50px;
  box-shadow: 2px 3px 0 rgba(0,0,0,.10);
  vertical-align: top;
  white-space: nowrap;
}
.coop-foot__link-item::after {
  content: "›";
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-52%);
  color: rgb(0,178,149);
  font-weight: 700;
}
.coop-foot__sns-block { display: block; }
.coop-foot__sns-wrap {
  width: 360px;
  max-width: 100%;
  display: flex;
  margin: 0 0 15px;
  border-radius: 5px;
  overflow: hidden;
  box-shadow: 2px 3px 0 rgba(0,0,0,.08);
}
.coop-foot__sns-head {
  width: 107px;
  min-height: 86.6667px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 107px;
}
.coop-foot__sns-head--line { background: rgb(0, 185, 0); }
.coop-foot__sns-head--x { background: rgb(29, 139, 215); }
.coop-foot__sns-head--line img { display: block; width: 78%; max-width: 84px; height: auto; }
.coop-foot__sns-head--x img { display: block; width: 78%; max-width: 84px; height: auto; }
.coop-foot__sns-body {
  width: 253px;
  display: flex;
  flex-wrap: wrap;
  background: #fff;
}
.coop-foot__sns-item {
  width: 50%;
  min-height: 43.6667px;
  display: flex;
  align-items: center;
  position: relative;
  font-size: 12px;
  line-height: 18px;
  background: #fff;
  padding: 12px 24px 10px 18px;
  border-left: 1px solid rgba(0,178,149,.55);
  border-bottom: 1px solid rgba(0,178,149,.55);
}
.coop-foot__sns-wrap--x .coop-foot__sns-item {
  border-left-color: rgba(29,139,215,.55);
  border-bottom-color: rgba(29,139,215,.55);
}
.coop-foot__sns-item:nth-child(3),
.coop-foot__sns-item:nth-child(4) { border-bottom: 0; }
.coop-foot__sns-item::after {
  content: "▶";
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  color: rgb(0,178,149);
  font-size: 10px;
  font-weight: 700;
}
.coop-foot__sns-wrap--x .coop-foot__sns-item::after { color: #1d8bd7; }
.coop-foot__app {
  display: flex;
  align-items: center;
  gap: 22px;
  margin: 22px 0 0;
  min-height: 100px;
  flex-wrap: nowrap;
}
.coop-foot__app-main img { width: 100px; height: 100px; display: block; }
.coop-foot__store-badges {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: nowrap;
}
.coop-foot__store-badges img { width: 110px; height: auto; display: block; }
.coop-foot__bottom {
  background: rgb(0,178,149);
  padding: 20px 0 40px;
  font-size: 12px;
  line-height: 18px;
  color: #fff;
}
.coop-foot__bottom-inner {
  width: min(486px, calc(100% - 54px));
  margin: 0 auto;
}
.coop-foot__copyright { margin: 0 0 10px; }
.coop-foot__bottom-links a {
  color: #fff;
  font-size: 12px;
  margin: 0 22px 0 0;
  text-decoration: none;
}
.coop-foot__bottom-links a::after { content: "↗"; margin-left: 6px; font-size: 10px; }
.coop-foot__bottom-links a:not(:first-child)::after { content: ""; margin: 0; }
@media (min-width: 768px) {
  .coop-foot__wrapper,
  .coop-foot__bottom-inner { width: min(1080px, calc(100% - 80px)); }
  .coop-foot__wrap { display: flex; justify-content: space-between; align-items: flex-start; gap: 40px; }
  .coop-foot__info { flex: 1; margin-bottom: 0; }
  .coop-foot__sns-block { width: 520px; flex-shrink: 0; }
  .coop-foot__bottom-inner { display: flex; justify-content: space-between; gap: 24px; }
  .coop-foot__copyright { margin: 0; }
}
@media (max-width: 600px) {
  .coop-foot__wrapper,
  .coop-foot__bottom-inner { width: calc(100% - 32px); }
  .coop-foot__sns-wrap { width: 100%; }
  .coop-foot__sns-head { width: 96px; flex-basis: 96px; }
  .coop-foot__sns-body { width: calc(100% - 96px); }
  .coop-foot__sns-item { padding-left: 12px; padding-right: 20px; }
  .coop-foot__app { gap: 14px; flex-wrap: wrap; }
  .coop-foot__store-badges { gap: 10px; }
}

/* ── RESULT FLOW BAR: 商品代 + 加工代 = 合計 ── */
.result-sub-flow {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1.15fr;
  align-items: stretch;
  gap: 0;
}

.result-sub-flow .rs-item-festa {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.rs-operator {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  padding: 0 6px;
  background: rgba(255,255,255,0.05);
  color: #FFD600;
  font-size: 28px;
  font-weight: 900;
  text-shadow: 0 2px 8px rgba(255,214,0,0.45);
}

.rs-item-total {
  background: rgba(255,214,0,0.12) !important;
}

.rs-item-total .lbl-text {
  color: #FFD600 !important;
}

.rs-item-total .val-text {
  color: #FFD600 !important;
  font-size: 22px;
}



/* ── HERO CONTACT ── */
.hero-contact {
  display:flex;
  align-items:center;
  gap:14px;
  width:auto;
  margin:0 0 0 24px;
  padding-left:28px;
  border-left:1px solid rgba(255,255,255,.45);
  color:#fff;
  font-size:12px;
  font-weight:700;
  line-height:1.2;
  white-space:nowrap;
}
.hero-contact strong,
.hero-contact span {
  display:inline;
}
.hero-contact a {
  color:#FFFFFF;
  text-decoration:none;
}

@media screen and (max-width: 920px) {
  .hero { margin-top:12%; }
}
@media(max-width:900px){
    .hero { margin-top:13%; }
  .hero-foot {
    flex-wrap:wrap;
    gap:10px;
    padding:10px 14px;
  }
  .hero-contact {
    width:100%;
    justify-content:center;
    margin:4px 0 0;
    padding-left:0;
    border-left:0;
    gap:10px;
    flex-wrap:wrap;
  }
}

@media(max-width: 600px) {
  .hero { margin-top:15%; }
  .result-sub-flow {
    grid-template-columns: 1fr;
  }

  .rs-operator {
    min-height: 34px;
    font-size: 22px;
  }

  .rs-item-total .val-text {
    font-size: 20px;
  }
}
