/**
 * single-event.php ページ固有CSS（F分類・docs/29_template-map.md §2-2）
 * 正本: design/pages/event-detail.html <style id="page-scoped">（無改変で移植・開催前型は
 * design/pages/_backup/20260810k/event-detail.html の該当スタイルを補完）。
 *
 * @package idworks
 */

.wf-note,.wf-banner,.wf-label{display:none!important;}
[id]{scroll-margin-top:70px;}

.status-badge{display:inline-block;font-family:var(--ff-en);font-size:var(--fs-micro);letter-spacing:.08em;padding:2px 10px;border:1px solid var(--c-text);background:var(--c-bg);margin-bottom:8px;}
.status-badge--open{background:var(--c-btn);color:var(--c-btn-text);border-color:var(--c-btn);}
.status-badge--full,.status-badge--closed{background:var(--c-bg);color:var(--c-text-sub);border-color:var(--c-line-dark);}

.page-hero__body--onimg .status-badge{background:transparent;border-color:rgba(255,255,255,.85);color:#fff;margin-bottom:16px;}
.page-hero__body--onimg .page-hero__title{margin-bottom:16px;}
.ev-fv__meta{color:#fff;font-size:var(--fs-body);line-height:1.95;text-shadow:0 1px 24px rgba(0,0,0,.28);}

.report-body{max-width:var(--c1-measure);margin:0 auto;}
/* 2026-10-02 開催レポートの帯（single-event.php .ev-report＝section--sub）。直後の「当日の様子」も同じ帯色のため、
   間の上余白を消して1本の帯としてつなげる（セクション2つ分の余白が空かないように） */
.ev-report.section--sub + .section--sub{padding-top:0;}
.report-body p{font-size:var(--fs-body);line-height:2;margin-bottom:1.7em;}
.report-body p:last-child{margin-bottom:0;}

/* 2026-10-02 ディレクター決定：施工事例詳細 n062 の .gallery と同じ組み方（幅980px・2列・行間56px・縦横比のまま）。
   並び（先頭の横長＝全幅／横長どうし・縦長どうしの2枚組／余りの横長＝全幅・縦長＝中央に半分）は PHP 側で決める */
.report-gallery{max-width:980px;margin:0 auto;display:grid;gap:40px;grid-template-columns:1fr;align-items:start;}
.report-gallery figure{margin:0;min-width:0;}
.report-gallery img{display:block;width:100%;height:auto;}
@media(min-width:768px){
  .report-gallery{grid-template-columns:repeat(2,1fr);gap:56px var(--grid-gap);}
  .report-gallery__item.is-full{grid-column:1/-1;}
  .report-gallery__item.is-solo{grid-column:1/-1;justify-self:center;width:calc((100% - var(--grid-gap)) / 2);}
}
/* 2026-10-13 P138 試作：新しい形式の告知（リード文・見どころ）。既存トークンのみ使用 */
.ev-lead{max-width:var(--c1-measure);margin:0 auto 32px;font-size:var(--fs-lead);line-height:2;letter-spacing:var(--ls-body);}
/* 2026-10-29 20261029i（ディレクター確定）：見どころ＝写真と文を左右交互に1つずつ縦に（偶数番目は写真が右）。
   全体980px・横長の行は「写真の欄7：文の欄5」。文は外側の端にそろえる（同日「縦写真のとき文が内側に引っ込む」）。
   横長＝3:2で写真の欄いっぱい／縦長＝4:5で「写真5：文7」＝文の欄を少し広げる（同日「縦写真のときは文の幅を広げてOK」）。文はどの行も外側の端まで。縦は中央揃え。
   写真なしの見どころは文だけを本文幅で。SPは写真→文の縦積み */
.ev-points{list-style:none;margin:0 auto;padding:0;display:grid;gap:56px;max-width:980px;}/* 幅は下の「会場の写真」（.report-gallery 980px）とそろえる＝同日「セクション幅広すぎる」 */
.ev-point__photo{aspect-ratio:3/2;overflow:hidden;margin-bottom:20px;}
.ev-point__photo img{display:block;width:100%;height:100%;object-fit:cover;}
.ev-point__num{display:block;font-family:var(--ff-en);font-size:var(--fs-caption);letter-spacing:.12em;color:var(--c-text-note);margin-bottom:6px;}
.ev-point__title{font-size:var(--fs-h3);font-weight:var(--fw-normal);letter-spacing:var(--ls-2);line-height:1.7;margin-bottom:12px;}
.ev-point__text{font-size:var(--fs-body);line-height:2;color:var(--c-text-sub);}
.ev-point.is-portrait .ev-point__photo{aspect-ratio:4/5;}
.ev-point.is-nophoto{max-width:var(--c1-measure);width:100%;margin:0 auto;}
@media(min-width:768px){
  .ev-points{gap:96px;}
  .ev-point:not(.is-nophoto){display:grid;grid-template-columns:7fr 5fr;gap:var(--grid-gap);column-gap:64px;align-items:center;}
  .ev-point:not(.is-nophoto):nth-child(even){grid-template-columns:5fr 7fr;}
  .ev-point.is-portrait{grid-template-columns:5fr 7fr;}
  .ev-point.is-portrait:nth-child(even){grid-template-columns:7fr 5fr;}
  .ev-point:not(.is-nophoto) .ev-point__photo{margin-bottom:0;}
  .ev-point:not(.is-nophoto):nth-child(even) .ev-point__photo{order:2;}
  .ev-points:has(.is-nophoto){gap:48px;}
}
/* 本文（WP標準の本文）に貼られた画像は、旧サイト由来の aspect-ratio/width 直書きがあっても写真本来の比率で表示する
   2026-10-30 tag 20261030a: aspect-ratio:auto を全画像に掛けると width/height 属性の比率まで消え、
   WP の遅延読み込み画像（sizes="auto"）に付く contain-intrinsic-size 3000×1500 を拾って高さ1500pxに伸びていた
   （/event/hikami-model/ ほか）→ 比率の上書きは直書きのある画像だけに絞る */
.ev-body img{height:auto !important;}
.ev-body img[style*="aspect-ratio"]{aspect-ratio:auto !important;}
.report-gallery figcaption{font-size:var(--fs-note);color:var(--c-text-sub);margin-top:8px;line-height:1.85;}

.ov-table{max-width:var(--c1-measure-narrow);margin:0 auto;width:100%;border-collapse:collapse;font-size:var(--fs-body);}
.ov-table th,.ov-table td{border-bottom:1px solid var(--c-line);padding:14px 8px;text-align:left;vertical-align:top;line-height:1.9;}
.ov-table th{width:32%;color:var(--c-text-sub);white-space:nowrap;font-weight:var(--fw-normal);}

.line-box{max-width:var(--c1-measure);margin:0 auto;border:1px solid var(--c-text);background:var(--c-bg);padding:32px 20px;text-align:center;}
.line-box__title{font-size:var(--c1-fs-h3);font-weight:500;letter-spacing:var(--ls-2);margin-bottom:14px;}
.line-box__row{display:grid;gap:20px;margin-top:24px;justify-items:center;}
.line-box__btn{width:min(360px,100%);}

.nowrap{white-space:nowrap;}

/* 2026-09-25 本文エリア（WP標準の本文＝ブロックエディタ）。文字組みは .report-body を継承し、写真・見出し・リストに対応 */
.ev-body > * + *{margin-top:1.2em;}
.ev-body h2,.ev-body h3{font-size:var(--c1-fs-h3);font-weight:var(--fw-normal);letter-spacing:var(--ls-2);line-height:1.6;margin-top:2.4em;}
.ev-body ul,.ev-body ol{font-size:var(--fs-body);line-height:2;margin-left:1.4em;}
.ev-body img{max-width:100%;height:auto;display:block;}
.ev-body figure{margin-left:0;margin-right:0;}
.ev-body a{text-decoration:underline;}

/* ==========================================================
   2026-11-04 記事内の予約フォーム（試作・docs/19 P200・inc/event-booking.php）
   入力欄の見た目は contact.css のフォームと同じ値を .ev-reserve の中だけに当てる
   （contact.css はページ見出しなどの指定も含むため、見学会ページでは読み込まない）。
   ========================================================== */
.ev-reserve .section__lead{text-align:center;}
.ev-reserve__note{max-width:var(--c1-measure);margin:0 auto;text-align:center;line-height:2;border:1px solid var(--c-line);background:var(--c-bg);padding:32px 20px;}
.ev-reserve .form{max-width:var(--c1-measure);margin:40px auto 0;text-align:left;border:1px solid var(--c-line);background:var(--c-bg);padding:32px 20px;}
@media(min-width:768px){
  .ev-reserve .form{padding:48px 56px;}
}
.ev-reserve .form__row{margin-bottom:36px;}
.ev-reserve .form__label{display:block;font-size:var(--fs-body-sm);font-weight:var(--fw-normal);margin-bottom:8px;}
.ev-reserve .form__req{font-size:var(--fs-micro);color:#fff;background:var(--c-btn);padding:1px 6px;margin-left:8px;vertical-align:middle;letter-spacing:.05em;}
.ev-reserve .form__opt{font-size:var(--fs-micro);color:var(--c-text-sub);border:1px solid var(--c-line-dark);padding:1px 6px;margin-left:8px;vertical-align:middle;letter-spacing:.05em;}
.ev-reserve .form__hint{font-size:var(--fs-note);color:var(--c-text-sub);margin-top:6px;line-height:1.8;}
.ev-reserve .form__input,.ev-reserve .form__select,.ev-reserve .form__textarea{
  width:100%;padding:12px;font-size:16px;/* iOSズーム防止のため16px */
  border:1px solid var(--c-line-dark);background:var(--c-bg);
  font-family:inherit;color:var(--c-text);border-radius:0;
}
.ev-reserve .form__textarea{min-height:110px;resize:vertical;}
.ev-reserve .form__inline{display:grid;gap:10px;}
@media(min-width:768px){.ev-reserve .form__inline--2col{grid-template-columns:1fr 1fr;}}
.ev-reserve .form__consent{display:flex;align-items:flex-start;gap:10px;justify-content:center;font-size:var(--fs-caption);}
.ev-reserve .form__consent input{width:18px;height:18px;margin-top:4px;accent-color:#2b2b2b;}
.ev-reserve .form__submit{margin-top:48px;text-align:center;}
.ev-reserve .form__submit .btn{width:100%;font-family:inherit;font-size:var(--fs-h3);line-height:var(--lh-body);min-height:0;padding-block:22px;padding-inline:max(42px,min(64px,8%));}
@media(min-width:768px){
  .ev-reserve .form__submit .btn{width:auto;min-width:min(420px,100%);padding-inline:max(60px,min(64px,8%));}
}

/* カレンダー（assets/js/event-booking.js が描く） */
.ev-cal{border:1px solid var(--c-line);padding:16px 12px 14px;background:var(--c-bg);}
@media(min-width:768px){.ev-cal{padding:20px 24px 18px;}}
.ev-cal__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.ev-cal__month{margin:0;font-family:var(--ff-en);font-size:var(--fs-body);letter-spacing:.08em;}
.ev-cal__nav{width:40px;height:40px;border:1px solid var(--c-line-dark);background:var(--c-bg);font-size:20px;line-height:1;cursor:pointer;color:var(--c-text);}
.ev-cal__nav:disabled{opacity:.3;cursor:default;}
.ev-cal__grid{width:100%;border-collapse:collapse;table-layout:fixed;}
.ev-cal__grid th{font-size:var(--fs-caption);font-weight:var(--fw-normal);color:var(--c-text-sub);padding:6px 0;text-align:center;}
.ev-cal__grid td{height:56px;text-align:center;vertical-align:middle;border-top:1px solid var(--c-line-soft);padding:2px;}
.ev-cal__grid .is-sun .ev-cal__num,.ev-cal__grid th.is-sun{color:#b5413a;}
.ev-cal__grid .is-sat .ev-cal__num,.ev-cal__grid th.is-sat{color:#3a5fb5;}
.ev-cal__num{display:block;font-family:var(--ff-en);font-size:var(--fs-body-sm);line-height:1.4;}
.ev-cal__mark{display:block;font-size:var(--fs-caption);line-height:1.4;}
.ev-cal__day.is-none .ev-cal__num{opacity:.35;}
.ev-cal__day.is-full{color:var(--c-text-sub);}
.ev-cal__day.is-open button{display:block;width:100%;height:100%;min-height:50px;border:1px solid transparent;background:none;font:inherit;color:inherit;cursor:pointer;}
.ev-cal__day.is-open button:hover{border-color:var(--c-line-dark);}
.ev-cal__day.is-picked button,.ev-cal__day.is-picked{background:var(--c-btn);color:#fff;}
.ev-cal__day.is-picked .ev-cal__num{color:#fff;}
.ev-cal__legend{display:flex;gap:16px;justify-content:flex-end;margin:10px 0 0;font-size:var(--fs-caption);color:var(--c-text-sub);}
.ev-cal__times{margin-top:16px;padding-top:16px;border-top:1px solid var(--c-line);}
.ev-cal__times[hidden]{display:none;}
.ev-cal__times-title{margin:0 0 10px;font-size:var(--fs-body-sm);}
.ev-cal__times-list{display:flex;flex-wrap:wrap;gap:10px;}
.ev-cal__time{display:flex;flex-direction:column;align-items:center;min-width:104px;padding:10px 14px;border:1px solid var(--c-line-dark);background:var(--c-bg);font:inherit;font-family:var(--ff-en);font-size:var(--fs-body);color:var(--c-text);cursor:pointer;}
.ev-cal__time.is-picked{background:var(--c-btn);border-color:var(--c-btn);color:#fff;}
.ev-cal__time:disabled{opacity:.4;cursor:default;}
.ev-cal__left{font-family:inherit;font-size:var(--fs-caption);margin-top:2px;}
.ev-reserve__open{margin-top:8px;}
.ev-reserve__open[hidden],.ev-reserve__body[hidden]{display:none;}
.ev-reserve__body .section__lead{margin-top:0;}
/* 2026-11-04 人数（大人・小人・幼児）とお車＝SP 2列・768px以上 4列 */
.ev-reserve .ev-party{grid-template-columns:1fr 1fr;}
@media(min-width:768px){.ev-reserve .ev-party{grid-template-columns:repeat(4,1fr);}}
/* 選んだ日時は文字で示す。送信用のセレクトは、カレンダーが動いているときだけ見えなくする（読み上げ・エラー表示は残す） */
.ev-cal__picked{margin:14px 0 0;padding:12px 14px;border:1px solid var(--c-line);background:var(--c-bg-sub);font-size:var(--fs-body-sm);}
.ev-cal__picked.is-set{border-color:var(--c-btn);background:var(--c-bg);}
.ev-cal__picked:not(.is-set){color:var(--c-text-sub);}
.ev-cal-ready .ev-slot-select select,
.ev-cal-ready .ev-slot-select label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap;}
.ev-cal__picked{display:none;}
.ev-cal-ready .ev-cal__picked{display:block;}
/* 2026-11-05 tag 20261105f：受付中のフォームは開催概要の中（ボタンの下）に閉じて置く。開いたらボタンの位置からフォーム */
.ev-reserve--inline{text-align:left;}
.ev-reserve--inline .ev-reserve__body{margin-top:40px;}
/* 2026-11-05 tag 20261105j：満席・締切後の案内は開催概要の表の下（予約ボタンの位置） */
.ev-reserve__note--overview{margin-top:40px;}

/* 2026-11-05 tag 20261105l：ディレクター指示「上の罫線と同じ幅に」＝送信後の完了の枠と、満席・締切後の案内の枠を、開催概要の表（.ov-table＝--c1-measure-narrow 640px）と同じ幅にそろえる */
.ev-reserve .wpcf7 form[data-idw-step="done"] .idw-done,
.ev-reserve__note--overview{max-width:var(--c1-measure-narrow);margin-left:auto;margin-right:auto;}
