/* CEO承認のセール見本5版のCSS。仕様本文に合わせた補正を末尾に記載。 */

:root{--rz-sale:#c62828;--rz-sale-soft:#fdecea;--rz-sale-line:#f3c4bf}
.rz-sale-badge{display:inline-block;background:var(--rz-sale);color:#fff;font-weight:700;font-size:12px;line-height:24px;padding:0 8px;border-radius:4px;white-space:nowrap}
.rz-time{white-space:nowrap}
.rz-time b{font-weight:700}

/* 固定表示（全ページのヘッダーの下）。帯全体がセール情報の記事へのリンク */
.rz-salebar{display:block;background:var(--rz-sale-soft);border-bottom:1px solid var(--rz-sale-line);color:var(--rz-fg);text-decoration:none}
.rz-salebar-in{display:grid;grid-template-columns:1fr 24px;align-items:center;column-gap:8px;row-gap:8px;padding-top:8px;padding-bottom:8px;min-height:56px;box-sizing:border-box}
.rz-salebar .t{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.rz-salebar .t .rz-time{font-size:12px;line-height:16px;color:var(--rz-sub)}
.rz-salebar .t .rz-time b{font-size:13px;color:var(--rz-fg);margin-right:8px}
.rz-salebar .m{font-size:14px;line-height:24px;font-weight:700}
.rz-salebar .msg-pc,.rz-salebar .go{display:none}
.rz-salebar .chev{grid-column:2;grid-row:1 / span 2;font-size:24px;line-height:24px;color:var(--rz-sale);text-align:center}
.rz-salebar .t,.rz-salebar .m{grid-column:1}
@media (min-width:768px){
  .rz-salebar-in{grid-template-columns:240px 1fr 24px;column-gap:16px}
  .rz-salebar .t{grid-column:1;flex-direction:column;align-items:flex-start;padding-right:16px;border-right:1px solid var(--rz-sale-line)}
  .rz-salebar .m{grid-column:2;grid-row:1;font-weight:400;display:flex;flex-wrap:wrap;gap:0 16px}
  .rz-salebar .chev{grid-column:3;grid-row:1}
  .rz-salebar .msg-sp{display:none}
  .rz-salebar .msg-pc{display:inline}
  .rz-salebar .go{display:inline;font-weight:700;text-decoration:underline;text-underline-offset:4px}
}

/* 写真の上は割引だけ */
.rz-gallery{position:relative}
.rz-photo-sale{position:absolute;left:8px;top:8px;z-index:2;display:flex;flex-direction:column;background:#fff;color:var(--rz-sale);font-weight:800;font-size:16px;line-height:24px;padding:4px 8px;border-radius:4px;border:1px solid var(--rz-sale-line)}
.rz-photo-sale .at{font-size:12px;line-height:16px;font-weight:400;color:var(--rz-sub)}
.rz-at-link{color:inherit;text-decoration:underline;text-underline-offset:2px}
.rz-amazon-note{max-width:var(--rz-wide);margin:0 auto;padding:16px;font-size:12px;line-height:16px;color:var(--rz-sub)}
.rz-amazon-note b{display:block;margin-bottom:8px}
.rz-cta-at{display:block;font-size:12px;line-height:16px;color:var(--rz-sub);margin:0 0 8px;text-align:right}

/* 見出しのすぐ下の、セールと値段の箱（Amazon の値をそのまま出す）。余白は8の倍数 */
.rz-dp-header .rz-variants{margin:24px 0 0}
.rz-dp-header .rz-variants .rz-variants-label{margin:0 0 8px}
.rz-sale{position:relative;border:2px solid var(--rz-sale);border-radius:8px;padding:24px 16px 16px;margin:24px 0 8px;background:#fff}
.rz-sale > .rz-sale-badge{position:absolute;top:-12px;left:16px}
.rz-sale-time{margin:0 0 8px;font-size:12px;line-height:16px;color:var(--rz-sub)}
.rz-sale-time b{font-size:14px;color:var(--rz-fg);margin-right:8px}
.rz-sale-was{margin:0;color:var(--rz-sub);font-size:14px;line-height:24px}
.rz-sale-was s{margin-left:8px}
.rz-sale-now{margin:0;color:var(--rz-sale);font-weight:800;font-size:32px;line-height:40px}
.rz-sale-now .u{font-size:16px;margin-left:2px}
.rz-sale-now .tax{font-size:12px;font-weight:400;color:var(--rz-sub);margin-left:8px}
.rz-sale-off{display:inline-block;margin:8px 0 0;background:var(--rz-sale-soft);color:var(--rz-sale);font-weight:700;font-size:16px;line-height:32px;padding:0 8px;border-radius:4px}
.rz-sale-at{margin:8px 0 0;font-size:12px;line-height:16px;color:var(--rz-sub)}
.rz-sale .rz-shop.is-primary{margin-top:16px;width:100%;min-height:56px;font-size:1em;background:var(--rz-teal);color:#fff !important}
.rz-sale .rz-shop.is-primary:hover{background:#00656a}
/* REVIEWZOO の言葉（買い時）は Amazon の値段と線で分ける */
.rz-sale-verdict{margin:24px 0 0;padding:24px 0 0;border-top:1px solid var(--rz-line)}
.rz-sale-verdict .h{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:16px;line-height:24px;font-weight:700}
.rz-sale-verdict .h::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}
.rz-sale-verdict.is-ok .h{color:var(--rz-ok-fg)}
.rz-sale-verdict.is-wait .h{color:#8a5a00}
.rz-sale-verdict p{margin:0;font-size:15px;line-height:24px}
.rz-sale-verdict a{color:inherit;font-weight:700}
.rz-sale-verdict .src{margin-top:8px;font-size:12px;line-height:16px;color:var(--rz-sub)}

/* 一覧（組み合わせ・世代・近いデバイス）のセール中の印 */
.rz-list-sale{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:13px;line-height:16px;font-weight:700;color:var(--rz-sale)}
.rz-card .rz-list-sale{margin:8px 0 0}
.rz-list-sale .at{font-size:12px;font-weight:400;color:var(--rz-sub)}

/* スマホの下のボタン：「◯円引き」と「あと◯」だけ */
.rz-device-cta .rz-shop.is-primary .rz-shop-label{display:flex;flex-direction:column;align-items:center;line-height:1.25}
.rz-cta-off{font-size:12px;line-height:16px;font-weight:700;background:#fff;color:var(--rz-sale);border-radius:4px;padding:0 8px;margin-top:0}

/* 仕様本文を優先する補正。失効・型切り替え・320px幅と独立した時点リンク。 */
[data-rz-expire][hidden] { display:none !important; }
.rz-sale-slot:empty { display:none; }
.rz-sale-slot[data-rz-sale-part="box"] { display:block; }
.rz-sale-slot[data-rz-sale-part="at"] { grid-column:1 / -1; }
.rz-sale-slot[data-rz-sale-part="cta"] { display:block; }
.rz-sale-slot[data-rz-sale-part="photo"] { display:contents; }
.rz-photo-sale .at { display:block; }
.rz-sale .rz-sale-now { margin:0; }
.rz-sale .rz-time { display:inline-flex; gap:8px; }
.rz-sale .rz-time b { margin:0; }
.rz-sale .rz-shop.is-primary { box-sizing:border-box; }
.rz-device-cta .rz-shop-label { display:flex; flex-direction:column; align-items:center; }
.rz-card-with-sale > .n { color:inherit; text-decoration:none; }
.rz-amazon-note { scroll-margin-bottom:120px; }
.rz-at-link:focus-visible { outline:2px solid var(--rz-teal,#007a80); outline-offset:3px; }
.rz-content .rz-pcard-sale { grid-column:1 / -1; margin:16px 0 0; }
.rz-content .rz-pcard-sale p { margin-bottom:0; }
.rz-content .rz-pcard-sale .rz-sale-time { margin-bottom:8px; }
.rz-content .rz-pcard-sale .rz-sale-at { margin-top:8px; }
.rz-content .rz-pcard-sale .rz-sale-off { margin-top:8px; }
.rz-content .rz-pcard-sale .rz-shop { margin-top:16px; }
.rz-pcard-normal-price[hidden] { display:none !important; }
.rz-pcard-after-sale { grid-column:1 / -1; }
.rz-pcard-after-sale[hidden] { display:none !important; }
@media (max-width:767px) {
  .rz-salebar { height:72px; box-sizing:border-box; }
  .rz-salebar-in { grid-template-columns:minmax(0,1fr) 16px; height:100%; min-height:0; padding-top:8px; padding-bottom:8px; row-gap:0; column-gap:0; }
  .rz-salebar .t { grid-column:1 / -1; flex-wrap:nowrap; white-space:nowrap; gap:6px; min-width:0; overflow-x:auto; scrollbar-width:none; }
  .rz-salebar .t::-webkit-scrollbar { display:none; }
  .rz-salebar .rz-sale-badge { flex:none; font-size:11px; padding:0 6px; }
  .rz-salebar .t .rz-time { display:inline-flex; align-items:baseline; gap:6px; font-size:10px; }
  .rz-salebar .t .rz-time b { font-size:11px; margin:0; }
  .rz-salebar .m { font-size:12px; white-space:nowrap; }
  .rz-salebar .chev { grid-row:2; grid-column:2; }
  .rz-device-cta .rz-shop:not(:first-child) { flex-basis:64px; }
  .rz-device-cta .rz-cta-off { font-size:10px; padding:0 4px; white-space:nowrap; }
}
@media (max-width:359px) {
  .rz-salebar .rz-sale-badge { font-size:10px; padding:0 4px; }
  .rz-salebar .t { gap:4px; }
  .rz-salebar .t .rz-time, .rz-salebar .t .rz-time b { font-size:10px; gap:4px; }
  .rz-salebar .m { font-size:11px; }
  .rz-sale .rz-time { gap:4px; font-size:10px; }
  .rz-sale .rz-time b { font-size:12px; }
}
@media (min-width:768px) {
  .rz-salebar-in { min-height:80px; }
  .rz-salebar .t { width:240px; box-sizing:border-box; }
  .rz-salebar .t .rz-time { display:flex; gap:6px; }
  .rz-salebar .t .rz-time b { margin:0; }
}

