/* 段階2: 料金・クーポン・イベント・入力画面 */
.gw-demo-note{margin:14px 0;padding:10px 14px;border-radius:12px;background:#fff8e1;border:1px solid #f3d98b;color:#6b5600;font-size:13px}

/* カードのバッジ */
.gw-scard__badges{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 6px}
.gw-scard__est,.gw-scard__cp{font-size:11px;font-weight:700;border-radius:6px;padding:2px 6px}
.gw-scard__est{background:#fff1f7;color:#c12a6e}
.gw-scard__cp{background:#fff4d6;color:#a3610a}

/* 店舗ページ上部の要点 */
.gw-shop__quick{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin-top:14px}
.gw-shop__quick a{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 6px;border-radius:14px;background:#fff;border:2px solid #ffd6e8;text-decoration:none;text-align:center;min-height:64px}
.gw-shop__quick span{font-size:11px;color:#8a7f8f}
.gw-shop__quick strong{font-size:16px;color:var(--gw-pink-d);line-height:1.3}

/* 料金 */
.gw-price__est{text-align:center;padding:14px;border-radius:14px;background:linear-gradient(135deg,#fff1f7,#f6efff)}
.gw-price__est-label{margin:0;font-size:12px;color:#8a7f8f;font-weight:700}
.gw-price__est-yen{margin:2px 0;font-size:14px;color:#3d3340}
.gw-price__est-yen strong{font-family:"M PLUS Rounded 1c",sans-serif;font-size:32px;font-weight:900;color:var(--gw-pink-d);margin:0 2px}
.gw-price__est-note{margin:0;font-size:11px;color:#7a7080}
.gw-price__first{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0 0;padding:10px 12px;border-radius:12px;border:2px dashed #ffb3d4;font-size:14px}
.gw-price__first span{background:var(--gw-pink);color:#fff;border-radius:999px;padding:1px 10px;font-size:12px;font-weight:700}
.gw-price__first strong{color:var(--gw-pink-d);margin-left:auto}
.gw-price__table{width:100%;border-collapse:collapse;margin-top:12px;font-size:14px}
.gw-price__table th,.gw-price__table td{padding:10px 4px;border-bottom:1px solid #f3e6ee;text-align:left;vertical-align:top}
.gw-price__table th{font-weight:700;color:#3d3340}
.gw-price__table th small{display:block;font-weight:400;font-size:11px;color:#8a7f8f}
.gw-price__table td{text-align:right;white-space:nowrap;font-weight:700}
.gw-price__pay{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0;padding:0}
.gw-price__pay li{font-size:12px;padding:3px 10px;border-radius:999px;background:#f2f7ff;color:#335c9e}
.gw-price__note{margin:10px 0 0;font-size:13px;color:#5f5763}
.gw-price__src{margin:10px 0 0;font-size:11px;color:#9a909f}

/* クーポン（チケット風。左右の切り欠きはセクションの白に合わせる） */
.gw-coupons{display:grid;gap:12px}
.gw-coupon{position:relative;padding:16px 16px 12px;border-radius:16px;background:linear-gradient(135deg,#fff,#fff6fa);border:2px dashed #ffb3d4}
.gw-coupon::before,.gw-coupon::after{content:"";position:absolute;top:50%;width:18px;height:18px;margin-top:-9px;border-radius:50%;background:#fff;border:2px dashed #ffb3d4}
.gw-coupon::before{left:-12px;border-left-color:transparent;border-bottom-color:transparent;transform:rotate(45deg)}
.gw-coupon::after{right:-12px;border-right-color:transparent;border-top-color:transparent;transform:rotate(45deg)}
.gw-coupon__tag{display:inline-block;margin:0;padding:1px 10px;border-radius:999px;background:var(--gw-grad);color:#fff;font-size:11px;font-weight:700}
.gw-coupon__title{margin:6px 0 2px;font-family:"M PLUS Rounded 1c",sans-serif;font-weight:900;font-size:18px;color:var(--gw-pink-d)}
.gw-coupon__detail{margin:0 0 8px;font-size:13px;color:#3d3340}
.gw-coupon__meta{display:grid;grid-template-columns:4.5em 1fr;margin:0;font-size:12px}
.gw-coupon__meta dt{color:#8a7f8f}
.gw-coupon__meta dd{margin:0 0 4px}
.gw-coupon__shop{margin:8px 0 0;padding-top:8px;border-top:1px dotted #f0c8db;font-size:11px;color:#b07b98;text-align:right}

/* イベント */
.gw-events{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.gw-events li{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border-radius:12px;background:#faf6fb}
.gw-events__date{flex:none;min-width:6.5em;font-weight:700;color:#7a52c7;font-size:14px}
.gw-events__title{margin:0;font-weight:700}
.gw-events__detail{margin:2px 0 0;font-size:13px;color:#5f5763}

/* 一覧の絞り込み */
.gw-sfilter{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.gw-sfilter a{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border-radius:999px;border:1px solid #f0c8db;background:#fff;color:#3d3340;font-size:13px;text-decoration:none}
.gw-sfilter a[aria-current]{background:#3d3340;color:#fff;border-color:#3d3340}
.gw-sfilter__clear{color:#8a7f8f!important;border-style:dashed!important}

/* 入力画面 */
.gw-owner{padding-bottom:32px}
.gw-owner__en{margin:0;font-size:11px;letter-spacing:.3em;color:#f07aaf;font-weight:700}
.gw-owner__err{padding:10px 14px;border-radius:12px;background:#ffeef0;color:#b3261e}
.gw-owner__ok{padding:12px 14px;border-radius:12px;background:#e9f8ef;color:#1e6b3a;font-weight:700}
.gw-ophoto{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.gw-ophoto__now img{width:64px;height:64px;border-radius:50%;object-fit:cover;display:block}
.gw-ophoto input[type=file]{font-size:13px;max-width:100%}
.gw-ofs{margin:0 0 16px;padding:16px;border:0;border-radius:18px;background:#fff;box-shadow:0 4px 14px rgba(226,54,127,.08)}
.gw-ofs legend{float:left;width:100%;margin:0 0 4px;font-size:17px;font-weight:700;color:var(--gw-pink-d)}
.gw-ofs__help{clear:both;margin:0 0 10px;font-size:12px;color:#7a7080}
.gw-orow{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 0;border-top:1px solid #f6e9f0}
@media (min-width:760px){.gw-orow{grid-template-columns:2fr 1fr 1fr 2fr}}
.gw-orow--wrap{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.gw-orow--card{grid-template-columns:1fr 1fr}
.gw-orow label,.gw-oblock{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#5f5763}
.gw-orow input[type=text],.gw-orow input[type=number],.gw-orow input[type=date],.gw-oblock input{width:100%;min-height:44px;padding:8px 10px;border:1px solid #e6d3df;border-radius:10px;font:inherit;font-size:16px;background:#fff;box-sizing:border-box}
.gw-orow input:focus,.gw-oblock input:focus{outline:0;border-color:var(--gw-pink);box-shadow:0 0 0 3px rgba(255,95,162,.18)}
.gw-oblock{grid-column:1/-1;margin-top:8px}
.gw-orow--card .gw-oblock{margin-top:0}
.gw-ocheck{flex-direction:row!important;align-items:center;gap:6px!important;font-size:14px!important;color:#3d3340!important;min-height:44px}
.gw-ocheck input{width:20px;height:20px;accent-color:var(--gw-pink)}
.gw-olabel{font-size:12px;color:#5f5763;width:100%}
.gw-owner__preview{border-top:4px dashed #ffc1dc;margin-top:12px;padding-top:8px;background:#fffafd}
.gw-orow input[type=time],.gw-orow select{width:100%;min-height:44px;padding:8px 10px;border:1px solid #e6d3df;border-radius:10px;font:inherit;font-size:16px;background:#fff;box-sizing:border-box}

/* 段階3: 今日の出勤・出勤表・キャスト */
.gw-shop__h3{margin:18px 0 8px;font-size:15px;color:#7a52c7}
.gw-today{list-style:none;margin:0;padding:0;display:flex;gap:12px;overflow-x:auto;padding-bottom:4px}
.gw-today li{flex:none;width:96px;text-align:center}
.gw-today__photo,.gw-cast__photo{display:block;width:84px;height:84px;margin:0 auto;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#ffe4f0,#efe4ff);border:3px solid #fff;box-shadow:0 0 0 2px #ffb3d4}
.gw-today__photo img,.gw-cast__photo img{width:100%;height:100%;object-fit:cover;object-position:top}
.gw-cast__noimg{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:28px;font-weight:900;color:#e2367f}
.gw-today__name{display:block;margin-top:6px;font-size:13px;font-weight:700;line-height:1.3}
.gw-today__time{display:inline-block;margin-top:2px;padding:0 8px;border-radius:999px;background:var(--gw-pink);color:#fff;font-size:12px;font-weight:700}
.gw-week{overflow-x:auto;margin-top:14px;border-radius:12px;border:1px solid #f3e6ee}
.gw-week table{border-collapse:collapse;min-width:560px;width:100%;font-size:12px}
.gw-week th,.gw-week td{padding:8px 6px;border-bottom:1px solid #f3e6ee;text-align:center;white-space:nowrap}
.gw-week thead th{background:#fff1f7;color:#c12a6e}
.gw-week tbody th{text-align:left;background:#fff;position:sticky;left:0}
.gw-week td{color:#c9bccf}
.gw-week td.is-on{color:#c12a6e;font-weight:700;background:#fff6fa}
.gw-casts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}
.gw-cast{display:flex;flex-direction:column;align-items:center;text-align:center;padding:12px 8px;border-radius:14px;background:#faf6fb}
.gw-cast__name{margin-top:6px;font-weight:700}
.gw-cast__profile{margin-top:4px;font-size:12px;color:#5f5763;line-height:1.5}
.gw-cast__tags{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;margin-top:6px}
.gw-cast__tags em{font-style:normal;font-size:11px;padding:1px 8px;border-radius:999px;background:#fff;color:#7a52c7;border:1px solid #e3d6f5}

/* 段階3: ランキング */
.gw-rank{list-style:none;margin:0;padding:0;display:grid;gap:8px}
@media (min-width:760px){.gw-rank{grid-template-columns:1fr 1fr}}
.gw-rank__item a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:#fff;text-decoration:none;color:#2f2a33;box-shadow:0 4px 12px rgba(226,54,127,.08)}
.gw-rank__no{flex:none;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#f3eef5;color:#7a7080;font-weight:900}
.gw-rank__item.is-top .gw-rank__no{background:var(--gw-grad);color:#fff}
.gw-rank__img{flex:none;width:56px;height:56px;border-radius:10px;overflow:hidden;background:#fbeef4}
.gw-rank__img img{width:100%;height:100%;object-fit:cover}
.gw-rank__body{display:flex;flex-direction:column;min-width:0;flex:1}
.gw-rank__item{min-width:0}
.gw-shop__body>*,.gw-shop__sec{min-width:0}
.gw-rank__name{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gw-rank__meta{font-size:12px;color:#8a7f8f}

/* 掲載について: 料金プラン */
.gw-plans{display:grid;gap:14px}
@media (min-width:760px){.gw-plans{grid-template-columns:repeat(3,1fr)}}
.gw-plan{position:relative;padding:22px 18px;border-radius:var(--gw-radius,20px);background:#fff;border:1px solid var(--gw-line,#f3dbe7);box-shadow:var(--gw-shadow,0 6px 18px rgba(0,0,0,.05))}
.gw-plan.is-top{border:2px solid var(--gw-pink);background:linear-gradient(160deg,#fff,var(--gw-pink-l,#fff4f7))}
.gw-plan__name{margin:0;font-size:13px;letter-spacing:.2em;font-weight:700;color:var(--gw-pink-d)}
.gw-plan__price{margin:6px 0 4px;font-size:16px}
.gw-plan__price strong{font-size:34px;font-weight:700}
.gw-plan__price span{font-size:12px;color:var(--gw-muted,#8a7f8f)}
.gw-plan__for{margin:0 0 10px;font-size:13px;color:var(--gw-muted,#5f5763)}
.gw-plan__list{list-style:none;margin:0;padding:0}
.gw-plan__list li{position:relative;padding:6px 0 6px 22px;border-top:1px dashed var(--gw-line,#f3dbe7);font-size:14px}
.gw-plan__list li::before{content:"";position:absolute;left:2px;top:13px;width:10px;height:10px;border-radius:50%;background:var(--gw-pink)}
.gw-plan__note{margin:10px 0 0;font-size:12px;color:#b3261e}
.gw-keisai__notes{margin-top:18px;font-size:13px}
.gw-keisai__btns{display:flex;flex-wrap:wrap;gap:8px}
.gw-keisai{padding-bottom:24px}
