/* eneen 衣装：表示側。以前のスニペット #12・#15〜#18・#20 の見た目をまとめたもの */

/* ===== 絞り込み（衣装の種類・サイズ／ロケーションのタグ） ===== */
.eneen-filter-pills,.eneen-detail-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:7px 8px;margin:0 0 24px;padding:0}
.eneen-costume-filters .eneen-filter-pills+.eneen-filter-pills{margin-top:-12px}
.eneen-filter-pills a,.eneen-detail-tags a,.single-dress .dress-terms a{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:4px 10px;border:1px solid #d7d7d7;border-radius:999px;background:#fff;color:#666;font-size:11px;line-height:1.25;text-decoration:none}
.eneen-filter-pills a:hover,.eneen-filter-pills a.is-active,.eneen-detail-tags a:hover,.single-dress .dress-terms a:hover{border-color:#555;background:#555;color:#fff}
/* ページタイトルの下へ移したあとは PLAN 一覧と同じ見た目（front.js） */
.eneen-plan-style-filters{width:100%!important;margin:16px 0 0!important}
.eneen-plan-style-filters.eneen-plan-style-nav{margin-top:16px!important}
.eneen-plan-style-filters>.eneen-plan-style-nav+.eneen-plan-style-nav{margin-top:6px!important}
.eneen-plan-style-nav{display:flex!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:wrap!important;gap:5.5px!important;max-width:none!important;padding:0 4px!important;margin:0!important;border:0!important}
/* タグは線だけの軽い見た目。選んでいるもの（ALL を含む）だけ薄く塗る。SWELL のフォルダのアイコンと区切りの矢印は出さない */
.eneen-plan-style-nav a.c-categoryList__link{display:block!important;width:auto!important;min-height:0!important;margin:0!important;padding:5px 9px!important;border:1px solid #cfd5d2!important;border-radius:999px!important;background:transparent!important;color:#7a8580!important;font-size:11px!important;font-weight:400!important;line-height:1!important;letter-spacing:.02em!important;text-decoration:none!important;transition:border-color .2s,color .2s}
.eneen-plan-style-nav a.c-categoryList__link:hover{border-color:#8e9994!important;color:#4f5955!important}
.eneen-plan-style-nav a.c-categoryList__link.is-active{border-color:#86938b!important;background:#eef1ef!important;color:#4f5955!important;pointer-events:none}
.eneen-plan-style-nav::before,.eneen-plan-style-nav .c-categoryList__separation{display:none!important}

/* ===== 一覧 ===== */
.dress-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 18px;margin:1.5em 0;width:100%;align-items:start}
.dress-card{display:block;min-width:0;text-decoration:none;color:inherit}
.dress-card__fig{display:block;margin:0!important;aspect-ratio:2/3;overflow:hidden;background:#f6f4f1}
.dress-card__img{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;transition:transform .4s ease}
.dress-card:hover .dress-card__img{transform:scale(1.04)}
.ecos-noimg{display:flex;align-items:center;justify-content:center;height:100%;color:#bbb;font-size:12px}
.dress-card__name{display:block;margin-top:.7em;text-align:center;font-size:13px;letter-spacing:.04em;line-height:1.4}
.dress-card__jp{display:block;font-size:12px;color:#999;margin-top:.15em}
.location-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 18px;margin:1.5em 0;width:100%;align-items:start}
.location-card{display:block;min-width:0;text-decoration:none;color:inherit}
.location-card__fig{display:block;margin:0!important;aspect-ratio:4/3;overflow:hidden;background:#f1efec}
.location-card__img{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;transition:transform .4s ease}
.location-card:hover .location-card__img{transform:scale(1.04)}
.location-card__name{display:block;margin-top:.6em;text-align:center;font-size:13px;letter-spacing:.04em;line-height:1.5}
@media(min-width:782px){.location-card__name,.dress-card__name{font-size:13px;line-height:19.5px}.dress-card__jp{font-size:12px;line-height:17px}}
@media(max-width:900px){.dress-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.dress-list,.location-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}}

/* 一覧から重ねて開く詳細 */
.dress-modal{position:fixed;inset:0;z-index:99999;display:none}
.dress-modal.is-open{display:block}
.dress-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.dress-modal__panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(760px,94vw);height:92vh;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 12px 48px rgba(0,0,0,.32)}
.dress-modal__frame{width:100%;height:100%;border:0;display:block;background:#fff}
.dress-modal__loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#aaa;font-size:.85rem;letter-spacing:.1em}
.dress-modal__close{position:absolute;top:10px;right:10px;z-index:3;width:42px;height:42px;border:0;border-radius:50%;background:rgba(0,0,0,.5);color:#fff;font-size:24px;line-height:42px;text-align:center;cursor:pointer;padding:0;transition:background .2s}
.dress-modal__close:hover{background:rgba(0,0,0,.8)}
body.dress-modal-open{overflow:hidden}
@media(max-width:600px){.dress-modal__panel{top:0;left:0;transform:none;width:100vw;height:100dvh;border-radius:0}}

/* ===== 詳細 ===== */
.single-dress .c-shareBtns,.single-dress .p-articleMetas__termList,.single-location .p-articleMetas__termList{display:none!important}
.c-postTitle .dress-jp,h1 .dress-jp,.entry-title .dress-jp{font-size:1rem;font-weight:400;margin-left:.5em;color:#666;letter-spacing:.04em;white-space:nowrap}
.single-dress .post_content{margin-top:.45em!important}
.single-dress .p-articleHead.c-postTitle{max-width:440px;margin-left:auto;margin-right:auto}
.single-dress .dress-terms{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:6px;width:min(100%,448px);margin:3px auto 12px!important;line-height:1}
.dress-gallery{max-width:360px;margin:0 auto 1.5em}
.dress-gallery__stage{position:relative;display:flex;align-items:center;justify-content:center}
.dress-gallery__main{width:100%;margin:0 auto;overflow:hidden}
.dress-gallery__main img{display:block;width:100%;height:auto;object-fit:contain;transition:opacity .35s ease}
.dress-gallery__thumbs{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:14px}
.dress-gallery__thumb{padding:0;border:2px solid transparent;background:none;cursor:pointer;width:72px;aspect-ratio:2/3;overflow:hidden}
.dress-gallery__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.dress-gallery__thumb.is-active{border-color:#1a1a1a}
@media(min-width:601px){
	.single-dress .dress-gallery{max-width:448px;display:flex;align-items:flex-start;justify-content:center;gap:16px}
	.single-dress .dress-gallery__stage{width:360px;flex:0 0 360px}
	.single-dress .dress-gallery__thumbs{width:64px;flex:0 0 64px;display:flex;flex-direction:column;align-items:stretch;gap:10px;margin-top:0}
	.single-dress .dress-gallery__thumb{width:64px;flex:0 0 auto}
}
.single-dress .dress-text{width:min(100%,448px);margin:10px auto 0;text-align:left}
.single-dress .dress-heading{margin:0 0 .3em!important;padding:0!important;border:0!important;background:none!important;font-size:14px;font-weight:700;letter-spacing:.04em;line-height:1.7}
.single-dress .dress-heading::before,.single-dress .dress-heading::after{display:none!important}
.single-dress .dress-desc{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin:0!important;line-height:1.8;color:#333}

/* 前後ナビ（衣装・ロケーション共通） */
.eneen-adjacent-nav{display:grid;grid-template-columns:1fr 1fr;gap:14px;width:min(100%,760px);margin:34px auto 10px}
.dress-adjacent-nav{border-top:1px solid #ddd;padding-top:1.2em}
.eneen-adjacent-nav a{display:flex;align-items:center;min-height:48px;padding:10px 14px;border:1px solid #d7d7d7;color:#555;font-size:13px;text-decoration:none;transition:.2s}
.eneen-adjacent-nav a:hover{background:#f5f3f0}
.eneen-adjacent-nav a:last-child{justify-content:flex-end;text-align:right}
.single-location .location-detail-tags{width:min(100%,820px);justify-content:flex-start;margin:6px auto 20px}

/* 画面の左右の前後ボタンとスワイプ */
.eneen-floating-pn{position:fixed;inset:50% 18px auto 18px;z-index:100002;display:flex;justify-content:space-between;pointer-events:none;transform:translateY(-50%)}
.eneen-floating-pn a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:72px;border:1px solid rgba(70,70,70,.24);border-radius:6px;background:rgba(255,255,255,.92);color:#555;font-size:0;pointer-events:auto;text-decoration:none;backdrop-filter:blur(6px)}
.eneen-floating-pn a::before{content:"";display:block;width:10px;height:10px;border-top:1px solid currentColor;border-left:1px solid currentColor}
.eneen-floating-pn .is-prev::before{transform:rotate(-45deg) translate(1px,1px)}
.eneen-floating-pn .is-next::before{transform:rotate(135deg) translate(1px,1px)}
.eneen-floating-pn[hidden]{display:none}
/* PC：画面の端だと気づかれにくいので、ページの本文（900px）・重ね表示の窓（最大 760px）のすぐ外に置く。画面が狭いときは今まで通り端から 18px */
@media(min-width:601px){
	body>.eneen-floating-pn,.dress-modal>.eneen-floating-pn{left:50%;right:auto;transform:translate(-50%,-50%)}
	body>.eneen-floating-pn{width:min(calc(100vw - 36px),1004px)}
	.dress-modal>.eneen-floating-pn{width:min(calc(100vw - 36px),calc(min(760px,94vw) + 100px))}
}
.eneen-swipe-hint{position:fixed;top:50%;left:50%;z-index:100003;max-width:calc(100vw - 70px);padding:7px 13px;border:1px solid rgba(70,70,70,.16);border-radius:999px;background:rgba(255,255,255,.92);color:#666;font-size:11px;white-space:nowrap;pointer-events:none;opacity:0;transform:translate(-50%,-42%);transition:opacity .6s,transform .6s}
.eneen-swipe-hint.is-visible{opacity:1;transform:translate(-50%,-50%)}
.is-eneen-swipe-next{transform:translateX(-100vw)!important;opacity:.08!important;transition:transform .43s ease,opacity .4s ease!important}
.is-eneen-swipe-prev{transform:translateX(100vw)!important;opacity:.08!important;transition:transform .43s ease,opacity .4s ease!important}

/* 一覧から重ねて開いたとき（?modal=1）：ヘッダー・フッターなどを隠し、写真を画面の高さに合わせる */
.is-item-modal .l-header,.is-item-modal .l-footer,.is-item-modal .p-breadcrumb,.is-item-modal .p-relatedPosts,.is-item-modal .l-articleBottom,.is-item-modal .c-fixBtn,.is-item-modal .c-fixBtns,.is-item-modal .p-fixBtnMenu,.is-item-modal .c-pageTop{display:none!important}
body:has(.is-item-modal),.is-item-modal{padding-top:0!important}
.is-item-modal .l-mainContent,.is-item-modal .l-article{margin-top:0!important;padding-top:1.2em!important}
@media(min-width:601px){
	html.eneen-dress-modal-fitted,html.eneen-dress-modal-fitted body{overflow-y:hidden!important}
	.is-item-modal .dress-gallery{height:var(--eneen-modal-photo-height)!important;align-items:flex-start!important}
	.is-item-modal .dress-gallery__stage,.is-item-modal .dress-gallery__main{height:var(--eneen-modal-photo-height)!important;max-height:var(--eneen-modal-photo-height)!important}
	.is-item-modal .dress-gallery__main{display:flex!important;align-items:center!important;justify-content:center!important}
	.is-item-modal .dress-gallery__main img{width:100%!important;height:100%!important;max-height:100%!important;object-fit:contain!important}
	.is-item-modal .dress-gallery__thumbs{max-height:var(--eneen-modal-photo-height)!important;overflow-y:auto!important;overflow-x:hidden!important;scrollbar-width:thin}
}

@media(max-width:600px){
	.single-dress .post_content{margin-top:.25em!important}
	/* スマホの衣装の写真：メインを画面の高さの56%までにして、最初の画面にサムネまで見えるように（下に続きがあると分かる） */
	.single-dress .dress-gallery__main img{width:auto;max-width:100%;max-height:56vh;max-height:56svh;margin:0 auto}
	.single-dress .dress-gallery__thumbs{gap:8px;margin-top:10px}
	.single-dress .dress-gallery__thumb{width:56px}
	/* スマホは浮いた前後ボタンを出さない（どこに置いても写真の矢印か本文に重なる）。前後へは左右スワイプと本文の最後のボタンで */
	.eneen-floating-pn{display:none!important}
	.eneen-adjacent-nav{gap:8px}
	.eneen-adjacent-nav a{padding:9px 8px;font-size:12px}
	.eneen-filter-pills{justify-content:flex-start}
	.eneen-plan-style-filters{margin-top:14px!important}
	.eneen-plan-style-nav{gap:5px!important;padding:0!important}
	.eneen-plan-style-nav a.c-categoryList__link{padding:5px 8px!important;font-size:10px!important}
}

/* ===== プラン ===== */
.plan-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 20px;margin:1.5em 0;width:100%;align-items:start}
.plan-card{display:block;min-width:0;text-decoration:none;color:inherit}
.plan-card__fig{display:block;margin:0!important;aspect-ratio:3/2;overflow:hidden;background:#f1efec}
.plan-card__img{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;transition:transform .4s ease}
.plan-card:hover .plan-card__img{transform:scale(1.04)}
.plan-card__name{display:block;margin-top:.7em;font-size:14px;letter-spacing:.03em;line-height:1.6}
.plan-card__jp{display:block;margin-top:.2em;font-size:12px;color:#888}
@media(max-width:600px){.plan-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.plan-card__name{font-size:13px}}
.single-plan .plan-prices{margin:0 0 1.6em}
.single-plan .plan-price{margin:0 0 .6em!important;line-height:1.7}
.single-plan .plan-perks .cap_box{margin-bottom:1.2em}
.single-plan .plan-perks{margin-bottom:2.4em}
.single-plan .plan-section{margin:0 0 3.6em}
.single-plan .plan-section .swell-block-button{margin:2.4em 0 .8em!important}
/* プラン詳細の本文は、上の囲み（cap_box_content の「小」）と同じ字の大きさに。
   【PHOTO】などの見出し・「必須」はベタに白抜き、見出しの下の行は 1 字下げ（type-plan.php の ecos_plan_section_text） */
.single-plan .plan-section .txt_contents{font-size:.9em}
.single-plan .plan-tag,.single-plan .plan-req{display:inline-block;padding:.1em .7em;background:var(--color_main,#86938b);color:#fff;font-size:.85em;letter-spacing:.08em;line-height:1.6}
.single-plan .plan-tag{margin:.3em 0 .2em;padding:.15em .9em;border-radius:4px;font-weight:700;letter-spacing:.1em}
.single-plan .plan-req{margin-right:.6em;padding:0 .5em;vertical-align:.08em}
.single-plan .plan-ind{display:inline-block;padding-left:1em}
/* プラン一覧の名前（PC）：2 字ぶん詰めれば 1 行に入るものは字間を詰めて 1 行に、入らないものは字間を少しあけ 2 行の行間を詰める（front.js の fitPlanCards） */
.plan-card__ttl.is-fit{white-space:nowrap}
.plan-card__ttl.is-two{letter-spacing:.08em}
.plan-card__name:has(.is-two){line-height:1.45}
.single-plan .plan-cta{display:flex;justify-content:center;margin:3em 0 1em}
/* PC のプラン・ロケーション・クリエイター・衣装の詳細：本文が枠の左から始まって左に寄って見えるので、表題・本文の枠を細くして中央に（アイキャッチの写真は今の幅のまま） */
@media(min-width:960px){:is(.single-plan,.single-location,.single-creator,.single-dress) .l-mainContent__inner>:not(.p-articleThumb){max-width:760px;margin-left:auto;margin-right:auto}}
/* 一覧から重ねて開いたとき（幅 760px の別ウィンドウ）も同じように細くする */
@media(min-width:601px){:is(.single-plan,.single-location,.single-creator,.single-dress).is-item-modal .l-mainContent__inner>:not(.p-articleThumb){max-width:600px;margin-left:auto;margin-right:auto}}
/* クリエイター：一覧（今までのカテゴリー一覧と同じ横長の写真＋名前・肩書き） */
/* クリエイター一覧：PC は正方形の写真で3列、スマホは1列 */
.creator-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px;margin:1.5em 0;width:100%;align-items:start}
.creator-card{display:block;min-width:0;text-decoration:none;color:inherit}
.creator-card__fig{display:block;margin:0!important;aspect-ratio:1.618/1;overflow:hidden;background:#f1efec}
.creator-card__img{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;transition:transform .4s ease}
.creator-card:hover .creator-card__img{transform:scale(1.04)}
.creator-card__name{display:block;margin-top:.7em;font-size:14px;letter-spacing:.03em;line-height:1.6}
.creator-card__jp{display:block;margin-top:.2em;font-size:12px;color:#888}
@media(min-width:601px){.creator-card__fig{aspect-ratio:1/1}.creator-list{margin-top:4.5em}}
@media(max-width:600px){.creator-list{grid-template-columns:1fr;gap:28px}}
/* クリエイターの個別ページ：プロフィールの写真と文章を PC でも縦に並べる（スマホと同じ1段） */
@media(min-width:601px){
	.single-creator .post_content .wp-block-media-text{grid-template-columns:100%!important}
	.single-creator .post_content .wp-block-media-text>.wp-block-media-text__media{grid-column:1;grid-row:1}
	.single-creator .post_content .wp-block-media-text>.wp-block-media-text__content{grid-column:1;grid-row:2;padding:1.5em 0 0}
}
/* プランの詳細の表題を1行に詰める・「｜」で改行する（front.js の initPlanTitle） */
.ecos-fit{display:inline-block;white-space:nowrap;transform-origin:left center;vertical-align:top}
.ecos-fit.is-loose{display:inline;white-space:normal}
/* 詳細の表題の下の分類（プランの「洋装プラン」など）：SWELL のフォルダの印をやめ、一覧のタグと同じ線だけの丸いタグに */
.p-articleMetas__termList.c-taxList::before{display:none!important}
.p-articleMetas__termList .c-taxList__link{padding:5px 10px;border:1px solid #cfd5d2;border-radius:999px;background:transparent;color:#7a8580;line-height:1;letter-spacing:.02em;transition:border-color .2s,color .2s}
.p-articleMetas__termList .c-taxList__link:hover{border-color:#8e9994;color:#4f5955}
/* スマホの詳細：表題の下の「‹ 左右にスワイプで前後の◯◯へ ›」（front.js の addFloating）。矢印がゆっくり外へ揺れる */
.eneen-swipe-note{display:none}
@media(max-width:600px){
	.eneen-swipe-note{display:flex;align-items:center;justify-content:center;gap:.7em;margin:.2em 0 1.2em!important;padding:0!important;color:#86938b;font-size:11px;letter-spacing:.08em;line-height:1}
	.eneen-swipe-note span{font-size:16px;line-height:1;animation:eneen-swipe-l 2.4s ease-in-out infinite}
	.eneen-swipe-note .is-next{animation-name:eneen-swipe-r}
	.eneen-swipe-note .is-off{opacity:.25;animation:none}
}
@keyframes eneen-swipe-l{0%,60%,100%{transform:none}30%{transform:translateX(-4px)}}
@keyframes eneen-swipe-r{0%,60%,100%{transform:none}30%{transform:translateX(4px)}}
@media(prefers-reduced-motion:reduce){.eneen-swipe-note span{animation:none}}
