/* ボーイ個別ページ（single-product.php と英中韓 inc/intl-boy.php で共通）。2026-09-19 single-product.php から切り出し。 */
/* ボーイ個別ページ（2026-09-19）。.bdp の中だけに効く。
   ほかのページ（本日出勤・料金表など）と同じ赤・白の見せ方にそろえた。 */
.bdp{--red:#dc2626;--red-d:#991b1b;--red-l:#fef2f2;--ink:#1f2937;--mut:#6b7280;--line:#e5e7eb;--green:#06c755;--sat:#2563eb;--sun:#dc2626;
  color:var(--ink);font-size:15px;line-height:1.75;max-width:1160px;margin:0 auto;padding:0 16px 30px;overflow-x:hidden}
.bdp *{box-sizing:border-box}

/* 名前の帯 */
.bdp-hero{background:linear-gradient(135deg,#7f1d1d 0%,#dc2626 60%,#b91c1c 100%);color:#fff;border-radius:0 0 22px 22px;padding:26px 18px 22px;margin:0 -16px 18px;text-align:center}
.bdp-hero h1{color:#fff;font-size:clamp(26px,6vw,40px);font-weight:900;line-height:1.25;margin:0}
.bdp-hero h1 small{display:block;font-size:.42em;font-weight:700;letter-spacing:.12em;opacity:.85;margin-top:4px}
.bdp-hero__chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:12px 0 14px}
.bdp-hero__chips span{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:3px 12px;font-size:13px;font-weight:700}
.bdp-btns{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.bdp-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 20px;border-radius:999px;font-weight:800;font-size:14.5px;text-decoration:none!important;min-width:170px}
.bdp-btn--white{background:#fff;color:var(--red)!important}
.bdp-btn--ghost{border:2px solid rgba(255,255,255,.75);color:#fff!important}
.bdp-btn--line{background:var(--green);color:#fff!important}

/* 写真とプロフィール */
.bdp-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:24px;align-items:start}
.bdp-main > *{min-width:0}
.bdp .main-image-container{position:relative;background:#f3f4f6;border-radius:18px;overflow:hidden;aspect-ratio:3/4;box-shadow:0 10px 26px rgba(0,0,0,.1)}
.bdp .main-image{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;max-width:none}
.bdp .watermark{position:absolute;right:10px;bottom:8px;color:rgba(255,255,255,.85);font-size:11px;font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.6);pointer-events:none}
.bdp .thumbnails-container{display:flex;gap:8px;overflow-x:auto;padding:10px 2px 4px;scrollbar-width:thin}
.bdp .thumbnail-item{flex:0 0 68px;height:68px;border-radius:12px;overflow:hidden;border:2px solid transparent;cursor:pointer;position:relative;background:#f3f4f6}
.bdp .thumbnail-item.active{border-color:var(--red)}
.bdp .panel-img-container{width:100%;height:100%;position:relative}
.bdp .thumbnail-image{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;max-width:none}
.bdp .thumbnail-item .watermark{display:none}
.bdp .thumbnail-number{position:absolute;left:4px;top:3px;background:rgba(0,0,0,.55);color:#fff;font-size:10px;font-weight:700;border-radius:6px;padding:0 5px;line-height:1.6}
.bdp-imgcount{font-size:12.5px;color:var(--mut);text-align:center;margin:4px 0 0}

.bdp-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 4px 14px rgba(0,0,0,.04);margin-bottom:14px}
.bdp-card h2{font-size:17px;font-weight:900;margin:0 0 12px;padding-left:10px;border-left:4px solid var(--red);line-height:1.4}
.bdp-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.bdp-stat{background:#f9fafb;border-radius:12px;padding:8px 6px;text-align:center}
.bdp-stat span{display:block;font-size:11.5px;color:var(--mut);font-weight:700}
.bdp-stat b{display:block;font-size:17px;font-weight:900;line-height:1.3;word-break:break-all}
.bdp-rows{margin-top:10px}
.bdp-row{display:flex;gap:10px;padding:7px 0;border-bottom:1px dashed var(--line);font-size:14px}
.bdp-row:last-child{border-bottom:none}
.bdp-row span{flex:0 0 5em;color:var(--mut);font-weight:700;font-size:13px}
.bdp .boy-type-tags{display:flex;flex-wrap:wrap;gap:6px}
.bdp .boy-type-tag{background:var(--red-l);color:var(--red-d)!important;border-radius:999px;padding:2px 10px;font-size:12.5px;font-weight:700;text-decoration:none!important}

.bdp-plays{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.bdp-play{border:1.5px solid var(--line);border-radius:12px;padding:8px 4px;text-align:center}
.bdp-play span{display:block;font-size:12px;font-weight:700;color:#374151;line-height:1.35}
.bdp-play b{display:block;font-size:20px;line-height:1.3;font-weight:900}
.bdp-play.is-ok{border-color:#fecaca;background:var(--red-l)}
.bdp-play.is-ok b{color:var(--red)}
.bdp-play.is-tri b{color:#d97706}
.bdp-play.is-ng{background:#f9fafb}
.bdp-play.is-ng b{color:#c0c4cc}
.bdp-note{font-size:12px;color:var(--mut);margin:8px 0 0}

.bdp-comment{background:#f9fafb;border-radius:12px;padding:12px 14px;font-size:14px;margin-bottom:10px}
.bdp-comment:last-child{margin-bottom:0}
.bdp-comment h3{font-size:13px;font-weight:900;color:var(--red-d);margin:0 0 4px}

.bdp-comments{margin-top:14px}
.bdp-comments .bdp-comment{margin-bottom:10px}
@media (min-width:861px){
  .bdp-comments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}
  .bdp-comments > h2{grid-column:1 / -1}
  .bdp-comment--review{grid-column:1 / -1}
  .boy-images-section{position:sticky;top:70px}
}
.bdp-fold.is-folded{max-height:280px;overflow:hidden;position:relative}
.bdp-fold.is-folded::after{content:"";position:absolute;left:0;right:0;bottom:0;height:70px;background:linear-gradient(rgba(249,250,251,0),#f9fafb)}
.bdp-more{display:block;margin:8px auto 0;background:#fff;border:1.5px solid var(--red);color:var(--red);font-weight:800;border-radius:999px;padding:6px 18px;font-size:13px;cursor:pointer}
/* 出勤スケジュール */
.bdp-sec{margin-top:10px;scroll-margin-top:70px}
.bdp .schedule-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:0}
.bdp .schedule-table th,.bdp .schedule-table td{padding:9px 12px;border:none;border-bottom:1px solid #f1f1f1;text-align:left;font-size:14px}
.bdp .schedule-table thead th{background:#f9fafb;font-size:12.5px;color:var(--mut);font-weight:800}
.bdp .schedule-table tbody tr:last-child td{border-bottom:none}
.bdp .schedule-table tr.is-today td{background:var(--red-l)}
.bdp .schedule-table tr.is-today td:first-child::after{content:var(--bdp-today,"今日");display:inline-block;margin-left:6px;background:var(--red);color:#fff;font-size:10.5px;font-weight:800;border-radius:6px;padding:0 6px;vertical-align:1px}
.bdp .schedule-table tr.is-sat td:first-child{color:var(--sat);font-weight:800}
.bdp .schedule-table tr.is-sun td:first-child{color:var(--sun);font-weight:800}
.bdp .schedule-table .shift-time{font-weight:800}
.bdp .schedule-table tr.is-off .shift-time{color:#c0c4cc;font-weight:400}
.bdp .schedule-table .tomari-mark{color:var(--sat);font-weight:800}
.bdp-sch-note{font-size:13px;color:var(--mut);margin:10px 0 0}
.bdp-sch-note a{color:var(--red);font-weight:700}

.bdp .twitter-link-section{text-align:center;margin:18px 0 0}
.bdp .x-profile-link{display:inline-flex;align-items:center;gap:8px;background:#111;color:#fff!important;border-radius:999px;padding:10px 20px;font-weight:800;font-size:14px;text-decoration:none!important}
.bdp .x-profile-link svg{width:16px;height:16px}

/* 予約フォーム（中身の見た目は inc/boy-booking-form.php） */
.bdp .contact-form-section{margin-top:22px;background:#fff;border:2px solid var(--red);border-radius:18px;padding:18px;scroll-margin-top:70px}
.bdp .contact-form-section > h2{font-size:19px;font-weight:900;margin:0 0 12px;text-align:center}

@media (max-width:860px){
  .bdp-main{grid-template-columns:minmax(0,1fr);gap:12px}
  .bdp .main-image-container{max-height:78vh}
}
@media (max-width:560px){
  .bdp{font-size:14.5px}
  .bdp-btn{min-width:0;flex:1 1 100%}
  .bdp-plays{grid-template-columns:repeat(4,1fr);gap:6px}
  .bdp-play span{font-size:11px}
  .bdp-card{padding:14px}
  .bdp .contact-form-section{padding:14px 12px}
  .bdp .schedule-table th,.bdp .schedule-table td{padding:9px 8px;font-size:13.5px}
  .bdp .schedule-table .shift-time{white-space:nowrap}
  .bdp .schedule-table thead th:last-child{white-space:nowrap}
}

/* 英中韓の予約欄（LINE）で使う（2026-09-19） */
.bdp-book-note{background:#fff7ed;border-left:4px solid #f59e0b;border-radius:10px;padding:10px 14px;font-size:13.5px;color:#78350f;margin:0 0 14px;line-height:1.7}
.bdp-book-note a{color:var(--red);font-weight:800}
