/* =====================================================================
   体験会予約LP（/lp/event/）— ../assets/lp.css の上に重ねる追加スタイル
   ===================================================================== */

/* ---- ヒーロー ---- */
.ev-hero{
  background:
    radial-gradient(circle at 85% 20%, rgba(143,211,167,.35) 0, transparent 45%),
    linear-gradient(135deg, var(--green-deep) 0%, #1b5a3d 55%, var(--green-main) 100%);
  color:#fff; padding:52px 20px 58px; text-align:center;
}
.ev-hero-inner{max-width:var(--wrap); margin:0 auto;}
.ev-badge{
  display:inline-block; font-family:var(--font-head); font-weight:700; font-size:12px; letter-spacing:.06em;
  background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.35); border-radius:999px; padding:4px 14px;
}
.ev-hero h1{font-family:var(--font-head); font-weight:900; font-size:30px; line-height:1.45; margin:16px 0 12px; letter-spacing:.04em;}
.ev-hero h1 span{font-size:44px; color:#c9f1d6;}
.ev-hero-sub{font-size:14px; line-height:2; color:#dcecdf; margin:0 0 24px;}
.ev-hero-sub b{color:#fff;}
.ev-hero-meta{display:flex; justify-content:center; gap:12px; flex-wrap:wrap; margin:0 0 26px;}
.ev-hero-meta > div{
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.25); border-radius:14px;
  padding:12px 18px; text-align:left; min-width:240px;
}
.ev-hero-meta dt{font-family:var(--font-head); font-size:11px; font-weight:700; color:var(--mint); letter-spacing:.1em;}
.ev-hero-meta dd{margin:2px 0 0; font-family:var(--font-head); font-weight:700; font-size:15px; line-height:1.6;}
.ev-hero-meta dd small{display:block; font-size:11.5px; font-weight:500; color:#cfe3d6;}
.ev-hero-btn{
  display:inline-flex; flex-direction:column; align-items:center; gap:2px;
  background:#fff; color:var(--green-deep); font-family:var(--font-head); font-weight:900; font-size:16px;
  border-radius:999px; padding:14px 38px; box-shadow:0 18px 36px -18px rgba(0,0,0,.5); transition:transform .15s;
}
.ev-hero-btn:hover{transform:translateY(-2px);}
.ev-hero-btn span{font-size:11px; font-weight:700; color:var(--green-main);}
@media (max-width:640px){
  .ev-hero{padding:40px 16px 44px;}
  .ev-hero h1{font-size:23px;} .ev-hero h1 span{font-size:34px;}
  .ev-hero-meta > div{min-width:0; width:100%;}
}

.ev-wrap{padding-top:40px;}
.ev-small{font-size:11.5px; color:var(--muted); line-height:1.8; margin:8px 0 0;}
.ev-link{color:var(--blue-deep); font-weight:700; font-size:12px;}

/* ---- 体験内容 ---- */
.ev-feature-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:6px 0 18px;}
.ev-feature{background:#fff; border:1px solid var(--green-line); border-radius:16px; padding:18px 16px;}
.ev-feature .ic{font-size:24px;}
.ev-feature h3{font-family:var(--font-head); font-size:15px; color:var(--green-deep); margin:6px 0 4px;}
.ev-feature p{font-size:12px; line-height:1.85; color:var(--muted); margin:0;}
@media (max-width:640px){ .ev-feature-grid{grid-template-columns:1fr;} }
.ev-products{display:flex; gap:12px; justify-content:center; flex-wrap:wrap; background:var(--green-soft); border-radius:16px; padding:16px;}
.ev-product{display:flex; flex-direction:column; align-items:center; gap:6px; width:150px; text-align:center;}
.ev-product img{height:110px; width:auto; object-fit:contain;}
.ev-product b{font-family:var(--font-head); font-size:12px; color:var(--green-deep); line-height:1.5;}

/* ---- 開催概要 ---- */
.ev-info{background:#fff; border:1px solid var(--green-line); border-radius:var(--radius); padding:18px; }
.ev-banner{width:100%; max-width:528px; margin:0 auto 14px; border-radius:10px;}
.ev-table{width:100%; border-collapse:collapse; font-size:13px;}
.ev-table th{width:7.5em; text-align:left; vertical-align:top; font-family:var(--font-head); color:var(--green-deep); padding:9px 8px; border-bottom:1px solid var(--green-line); white-space:nowrap;}
.ev-table td{padding:9px 8px; border-bottom:1px solid var(--green-line); line-height:1.7;}
.ev-table small{color:var(--muted);}
.ev-table tr:last-child th, .ev-table tr:last-child td{border-bottom:0;}
.ev-table-sm{font-size:12.5px; margin:0 0 16px; background:var(--green-soft); border-radius:12px; overflow:hidden;}
.ev-table-sm th{width:5em; padding-left:14px;}

/* ---- 予約フォーム ---- */
.ev-form{background:#fff; border:1px solid var(--green-line); border-radius:var(--radius); padding:22px 20px; box-shadow:0 22px 40px -32px rgba(18,68,47,.5);}
@media (max-width:520px){ .ev-form{padding:18px 14px;} }
.ev-step{display:flex; align-items:center; gap:8px; font-family:var(--font-head); font-weight:900; font-size:15px; color:var(--green-deep); margin:4px 0 12px;}
.ev-step .n{width:26px; height:26px; border-radius:50%; background:var(--green-main); color:#fff; display:grid; place-items:center; font-size:13px;}
.ev-step:not(:first-of-type){margin-top:26px; padding-top:20px; border-top:1px dashed var(--green-line);}

.ev-cal-wrap{display:grid; grid-template-columns:260px 1fr; gap:18px; align-items:start;}
@media (max-width:700px){ .ev-cal-wrap{grid-template-columns:1fr;} }
.ev-cal{border:1px solid var(--green-line); border-radius:14px; padding:12px; background:var(--paper);}
.ev-cal-head{font-family:var(--font-head); font-weight:900; text-align:center; color:var(--green-deep); margin-bottom:6px;}
.ev-cal-grid{display:grid; grid-template-columns:repeat(7,1fr); gap:3px; text-align:center; font-size:12px;}
.ev-cal-grid .dow{font-size:10.5px; color:var(--muted); font-weight:700;}
.ev-cal-grid .dow.sun{color:var(--wrong);} .ev-cal-grid .dow.sat{color:var(--blue-deep);}
.ev-off{padding:6px 0; color:#b9c4bd;}
.ev-day{
  border:2px solid var(--green-main); background:#fff; color:var(--green-deep); border-radius:8px; cursor:pointer;
  font:inherit; font-weight:900; padding:3px 0; line-height:1.3;
}
.ev-day small{display:block; font-size:9px; font-weight:700;}
.ev-day.is-sel{background:var(--green-main); color:#fff;}
.ev-day.is-full{border-color:#bbb; color:#999;}
.ev-day.is-full.is-sel{background:#999; color:#fff;}

.ev-slots-head{font-family:var(--font-head); font-weight:900; color:var(--green-deep); margin:0 0 8px;}
.ev-slot-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:8px;}
.ev-slot{position:relative; display:flex; flex-direction:column; align-items:center; border:2px solid var(--green-line); border-radius:12px; padding:9px 6px; cursor:pointer; background:#fff; transition:border-color .12s, background .12s;}
.ev-slot input{position:absolute; opacity:0; pointer-events:none;}
.ev-slot .t{font-family:var(--font-head); font-weight:900; font-size:15px; color:var(--green-deep);}
.ev-slot .st{font-size:11px; font-weight:700; color:var(--green-main);}
.ev-slot:hover{border-color:var(--green-mid);}
.ev-slot:has(input:checked){border-color:var(--green-main); background:var(--green-main);}
.ev-slot:has(input:checked) .t, .ev-slot:has(input:checked) .st{color:#fff;}
.ev-slot:has(input:focus-visible){outline:3px solid var(--mint); outline-offset:2px;}
.ev-slot.is-dis{cursor:not-allowed; background:#f1f2f1; border-color:#e1e3e1;}
.ev-slot.is-dis .t{color:#a3aaa6; text-decoration:line-through;}
.ev-slot.is-dis .st{color:#a3aaa6;}

.ev-selected{background:var(--green-soft); border:1px solid var(--green-line); border-radius:10px; padding:8px 12px; font-size:13px; margin:0 0 14px; color:var(--green-deep);}
.ev-fields{display:grid; grid-template-columns:1fr 1fr; gap:0 14px;}
.ev-fields .ev-full{grid-column:1 / -1;}
@media (max-width:560px){ .ev-fields{grid-template-columns:1fr;} }
.ev-fields textarea{
  width:100%; font:inherit; font-size:14px; border:1.5px solid var(--green-line); border-radius:10px; padding:10px 12px; background:#fff; resize:vertical;
}
.ev-fields textarea:focus{outline:none; border-color:var(--green-main);}
.ev-submit{margin-top:16px; font-size:16px;}
.ev-submit:disabled{opacity:.6; cursor:wait;}

/* ---- 完了・取消 ---- */
.ev-card{max-width:520px;}
.ev-btn-link{display:block; text-align:center; margin-top:16px;}
.ev-btn-danger{background:var(--wrong);}
.ev-btn-danger:hover{background:#a8352d;}

/* ---- 管理 ---- */
.ev-admin-day{font-family:var(--font-head); font-size:16px; color:var(--green-deep); margin:22px 0 8px;}
.ev-admin-table tr.is-empty td{background:#fafafa !important;}
.ev-mini-btn{font:inherit; font-size:11px; border:1px solid var(--wrong-line); background:var(--wrong-soft); color:var(--wrong); border-radius:6px; padding:3px 10px; cursor:pointer;}

/* ---- 上部の体験会お知らせ帯 ---- */
.ev-notice{display:block; text-align:center; background:var(--gold-soft); border-bottom:1px solid var(--gold-line); color:var(--gold-deep); font-size:12.5px; padding:9px 16px; line-height:1.6;}
.ev-notice b{font-family:var(--font-head);}
.ev-notice:hover{background:#fbefcf;}
.ev-hero{margin-top:10px;}

/* ---- 管理: 企業URL ---- */
.ev-url-cell{min-width:190px;}
.ev-url-cell a{display:block; word-break:break-all; margin-bottom:4px;}
.ev-url-form{display:flex; gap:4px;}
.ev-url-form input{flex:1; min-width:0; font:inherit; font-size:11px; border:1px solid var(--green-line); border-radius:6px; padding:3px 6px;}
.ev-mini-save{border-color:var(--green-line); background:var(--green-soft); color:var(--green-deep);}
