/* =========================================================
    Component: Stay Dog Info
    File: assets/css/3_components/stay-dog.css
    役割: 犬同伴に関する宿泊条件、設備アイコン、アメニティ、エリアの装飾
   ========================================================= */

/* ==========================================
   1. 共通の余白・見出し設計
   ========================================== */
.p-stayDogPolicy,
.p-stayDogFacility,
.p-stayDogAmenities,
.p-stayDogAreas {
    margin-bottom: var(--wan-s-10);
}

.p-stayDogPolicy:last-child,
.p-stayDogFacility:last-child,
.p-stayDogAmenities:last-child,
.p-stayDogAreas:last-child {
    margin-bottom: 0;
}

/* セクション内の大見出し (h3) */
.p-stayDogPolicy__title,
.p-stayDogAmenities__title,
.p-stayDogAreas__title {
    font-size: var(--wan-f-size-lg);
    font-weight: var(--wan-f-weight-bold);
    color: var(--wan-color-text);
    margin-bottom: var(--wan-s-3);
    padding-bottom: var(--wan-s-2);
    border-bottom: 2px solid var(--wan-color-brand-light); /* 薄いブランドカラーの線 */
}

/* セクション内の各ブロック (h4を内包) */
.p-stayDogPolicy__block,
.p-stayDogFacility__block,
.p-stayDogAmenities__block,
.p-stayDogAreas__block {
    margin-bottom: var(--wan-s-8);
}

.p-stayDogPolicy__block:last-child,
.p-stayDogFacility__block:last-child,
.p-stayDogAmenities__block:last-child,
.p-stayDogAreas__block:last-child {
    margin-bottom: 0;
}

/* 小見出し (h4) */
.p-stayDogPolicy__subTitle,
.p-stayDogFacility__subTitle,
.p-stayDogAmenities__subTitle,
.p-stayDogAreas__subTitle {
    font-size: var(--wan-f-size-md);
    font-weight: var(--wan-f-weight-bold);
    color: var(--wan-color-brand);
    margin-bottom: var(--wan-s-3);
    display: flex;
    align-items: center;
    gap: var(--wan-s-2);
}


/* ==========================================
   2. テーブルスタイル（料金表、頭数、アメニティ、エリア）
   ========================================== */
.p-stayDogPolicy__tableWrapper,
.p-stayDogAmenities__tableWrapper,
.p-stayDogAreas__tableWrapper {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; /* スマホでの横スクロールを滑らかに */
    border-radius: var(--wan-r-md);
    border: 1px solid var(--wan-color-border-light);
}

.p-stayDogPolicy__table,
.p-stayDogAmenities__table,
.p-stayDogAreas__table {
    width: 100%;
    border-collapse: collapse;
    line-height: var(--wan-f-lh-base);
    white-space: nowrap; /* スマホでセルが縦に潰れないように */
}

.p-stayDogPolicy__table th, .p-stayDogPolicy__table td,
.p-stayDogAmenities__table th, .p-stayDogAmenities__table td,
.p-stayDogAreas__table th, .p-stayDogAreas__table td {
    padding: var(--wan-s-3) var(--wan-s-4);
    text-align: left;
    border-bottom: 1px solid var(--wan-color-border-light);
}

.p-stayDogPolicy__table tr:last-child th, .p-stayDogPolicy__table tr:last-child td,
.p-stayDogAmenities__table tr:last-child th, .p-stayDogAmenities__table tr:last-child td,
.p-stayDogAreas__table tr:last-child th, .p-stayDogAreas__table tr:last-child td {
    border-bottom: none;
}

/* テーブルヘッダー (thead) */
.p-stayDogPolicy__table thead th,
.p-stayDogAmenities__table thead th,
.p-stayDogAreas__table thead th {
    background-color: var(--wan-color-bg-sub);
    font-weight: var(--wan-f-weight-bold);
}

/* 行見出し (tbody th) */
.p-stayDogPolicy__table tbody th,
.p-stayDogAmenities__table tbody th,
.p-stayDogAreas__table tbody th {
    background-color: #fafafa;
    width: 160px;
    font-weight: var(--wan-f-weight-bold);
}


/* ==========================================
   3. 状態表示（◯ / — / あり / なし）
   ========================================== */
.p-stayDogAmenities__status,
.p-stayDogAreas__status {
    font-size: 1.2em;
    font-weight: bold;
}

/* 「あり」の強調 */
.p-stayDogAmenities__status.-yes,
.p-stayDogAreas__status.-yes { 
    color: var(--wan-color-brand); 
}

/* 「なし」のトーンダウン */
.p-stayDogAmenities__status.-no,
.p-stayDogAreas__status.-no { 
    color: var(--wan-color-text-muted);
    opacity: 0.5;
}

/* ==========================================
   5. 補足・注意事項（箇条書きリスト）
   ========================================== */
.p-stayDogPolicy__list,
.p-stayDogFacility__noteList,
.p-stayDogAmenities__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.p-stayDogPolicy__listItem,
.p-stayDogFacility__noteItem,
.p-stayDogAmenities__listItem {
    position: relative;
    padding-left: 1.5em;
    color: var(--wan-color-text);
    line-height: var(--wan-f-lh-relaxed);
    margin-bottom: var(--wan-s-2);
}

/* チェックマーク風のリストマーカー */
.p-stayDogPolicy__listItem::before,
.p-stayDogFacility__noteItem::before,
.p-stayDogAmenities__listItem::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--wan-color-brand);
    font-weight: bold;
}

/* 一般的なテキスト（体重制限など） */
.p-stayDogPolicy__text,
.p-stayDogPolicy__noteText,
.p-stayDogAreas__noteText {
    line-height: var(--wan-f-lh-relaxed);
    color: var(--wan-color-text);
}

.p-stayDogPolicy__noteText{
	margin-top: var(--wan-s-3);
}