@import url(https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;700;800&display=swap);
/* ===== Horror Theme - Dark Mode for kowabana-file.com ===== */

body {
  background-color: #0a0a0a !important;
  color: #d4d4d4 !important;
}

.l-header {
  background: #0d0d0d !important;
  border-bottom: 1px solid #1a1a1a !important;
}
.l-header a, .c-gnav a, .c-gnav__link {
  color: #e0e0e0 !important;
}
.l-header .c-headLogo__link { color: #e94560 !important; }

.l-mainContent, .post_content, .p-articleContent,
.l-content, .l-fixSidebar { color: #d4d4d4 !important; }

.-type-list .p-postList__item, .-type-card .p-postList__item,
.p-postList__body, .post_content, .p-articleContent,
.-type-card2 .p-postList__item {
  background: #141414 !important;
  border: 1px solid #1a1a1a !important;
  border-radius: 8px;
}

a { color: #e94560 !important; }
a:hover { color: #ff6b6b !important; }

h1, h2, h3, h4, h5, h6,
.p-articleTitle, .c-pageTitle {
  color: #e94560 !important;
}

.l-footer { background: #050505 !important; color: #888 !important; }
.l-footer a { color: #888 !important; }

.l-sidebar, .l-sidebar .widget { color: #d4d4d4 !important; }

.c-categoryBadge { background: #8b0000 !important; color: #fff !important; }

.p-breadcrumb { background: #0d0d0d !important; color: #888 !important; }
.p-breadcrumb a { color: #888 !important; }

.p-infoBar { background: #8b0000 !important; color: #fff !important; }

::selection { background: #8b0000; color: #fff; }

::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #0a0a0a; }
::-webkit-scrollbar-thumb { background: #333; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #8b0000; }

.search-form input, .s-entryContent input {
  background: #1a1a1a !important;
  color: #e0e0e0 !important;
  border: 1px solid #333 !important;
}

.swell-block-button a { background: #8b0000 !important; }

.p-postList__title { color: #e0e0e0 !important; }
.p-postList__excerpt { color: #999 !important; }
.p-postList__meta { color: #666 !important; }

.widget, .c-widget { background: #141414 !important; border: 1px solid #1a1a1a !important; border-radius: 8px; }
.widget_title, .c-widget__title { color: #e94560 !important; border-color: #8b0000 !important; }

.p-spMenu { background: #0a0a0a !important; }
.p-spMenu a { color: #e0e0e0 !important; }

.c-pagination .page-numbers { background: #1a1a1a !important; color: #e0e0e0 !important; }
.c-pagination .page-numbers.current { background: #8b0000 !important; color: #fff !important; }

.p-articleMetas, .p-articleMetas a { color: #888 !important; }

.wp-block-table td, .wp-block-table th { border-color: #333 !important; }

/* Hide SWELL default main visual */
.p-mainVisual, .p-mainVisual__inner, .p-mainVisual__slide,
.l-topMV, .p-topMV { display: none !important; }

/* Custom hero section for horror */
.p-topPage .l-mainContent__inner::before {
  content: "全国の心霊スポットを完全網羅";
  display: block;
  text-align: center;
  font-size: 2.5rem;
  font-weight: 900;
  color: #e94560;
  padding: 80px 20px 20px;
  text-shadow: 0 0 20px rgba(233,69,96,0.5);
  letter-spacing: 0.1em;
}

.p-topPage .l-mainContent__inner::after {
  content: "実話怪談・心霊体験・都市伝説の恐怖アーカイブ";
  display: block;
  text-align: center;
  font-size: 1.1rem;
  color: #888;
  padding: 0 20px 60px;
  border-bottom: 1px solid #1a1a1a;
  margin-bottom: 40px;
}

/* Horror ambient glow effect */
.l-header::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, #8b0000, transparent);
}

/* Site title horror styling */
.c-headLogo {
  text-shadow: 0 0 10px rgba(233,69,96,0.3) !important;
}

/* Menu items hover effect */
.c-gnav__link:hover {
  text-shadow: 0 0 8px rgba(233,69,96,0.5) !important;
}

/* Hero banner styling */
.horror-hero-banner {
  margin: 0 !important;
  max-width: 100vw !important;
  width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  position: relative;
}

.horror-hero-banner img {
  width: 100% !important;
  height: 400px !important;
  object-fit: cover !important;
  filter: brightness(0.55) contrast(1.2) !important;
}

.horror-hero-banner::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100px;
  background: linear-gradient(transparent, #0a0a0a);
  pointer-events: none;
}

/* Remove the CSS pseudo-element hero since we have an image now */
.p-topPage .l-mainContent__inner::before,
.p-topPage .l-mainContent__inner::after {
  display: none !important;
}

/* ===== Readability Fix v2 ===== */

/* Article body text - brighter for readability */
.post_content, .p-articleContent, .s-entryContent,
.post_content p, .p-articleContent p, .s-entryContent p {
  color: #e0e0e0 !important;
  line-height: 1.9 !important;
  font-size: 16px !important;
}

/* Headings - more contrast */
.post_content h2, .s-entryContent h2 {
  color: #ff4757 !important;
  border-bottom: 2px solid #8b0000 !important;
  padding-bottom: 8px !important;
  margin-top: 40px !important;
  font-size: 1.5rem !important;
}

.post_content h3, .s-entryContent h3 {
  color: #ff6b81 !important;
  border-left: 4px solid #8b0000 !important;
  padding-left: 12px !important;
  margin-top: 30px !important;
  font-size: 1.25rem !important;
}

/* Strong/bold text */
.post_content strong, .s-entryContent strong {
  color: #fff !important;
}

/* Emphasis */
.post_content em, .s-entryContent em {
  color: #ff9999 !important;
}

/* List items */
.post_content li, .s-entryContent li {
  color: #d4d4d4 !important;
  margin-bottom: 6px !important;
}

/* Links in articles */
.post_content a, .s-entryContent a {
  color: #ff6b6b !important;
  text-decoration: underline !important;
}
.post_content a:hover, .s-entryContent a:hover {
  color: #ff4757 !important;
}

/* Article meta (date, category) */
.p-articleMetas, .p-articleMetas a, .p-articleMetas span,
.p-postList__meta, .p-postList__date {
  color: #999 !important;
}

/* Category badge in articles */
.p-articleMetas .c-categoryBadge {
  background: #8b0000 !important;
  color: #fff !important;
}

/* Google Maps iframe container */
.post_content iframe {
  border-radius: 8px !important;
  border: 1px solid #333 !important;
}

/* Ghost emoji placeholder boxes */
.post_content div[style*=linear-gradient] {
  border: 1px solid #2a2a2a !important;
}

/* Sidebar widget text */
.l-sidebar .widget, .l-sidebar .c-widget {
  color: #ccc !important;
}
.l-sidebar .widget a {
  color: #ddd !important;
}
.l-sidebar .widget a:hover {
  color: #ff6b6b !important;
}

/* Comment section */
.p-commentArea {
  background: #0f0f0f !important;
  color: #ccc !important;
}

/* TOC (table of contents) */
.p-toc, .p-toc__list, .p-toc a {
  color: #ccc !important;
  background: #111 !important;
}

/* Blockquote */
.post_content blockquote {
  background: #111 !important;
  border-left: 4px solid #8b0000 !important;
  color: #bbb !important;
}

/* Article card on listing */
.p-postList__title {
  color: #eee !important;
  font-size: 1.1rem !important;
}
.p-postList__excerpt {
  color: #aaa !important;
}

/* ===== Fix light-background blocks in dark theme v2 ===== */

.swell-block-capbox, .cap_box, .is-style-border,
.is-style-icon_announce, .is-style-icon_good, .is-style-icon_bad,
.is-style-icon_info, .is-style-icon_pen,
.post_content .has-background,
.wp-block-group.has-background,
.is-style-bg_stripe, .is-style-bg_gray, .is-style-bg_main,
.is-style-bg_main_thin {
  background: #141414 !important;
  color: #d4d4d4 !important;
  border-color: #333 !important;
}

.cap_box_title, .swell-block-capbox__title {
  background: #1a1a1a !important;
  color: #ff6b81 !important;
}

.post_content .is-style-alert_box,
.post_content .is-style-memo_box,
.post_content .is-style-point_box,
.post_content .is-style-check_box,
.post_content .is-style-blank_box {
  background: #141414 !important;
  color: #d4d4d4 !important;
  border-color: #333 !important;
}

.swell-block-step, .swell-block-faq, .swell-block-accordion,
.swell-block-dl {
  color: #d4d4d4 !important;
}

.post_content table, .post_content td, .post_content th {
  background: #0f0f0f !important;
  color: #d4d4d4 !important;
  border-color: #2a2a2a !important;
}
.post_content th {
  background: #1a1a1a !important;
  color: #e0e0e0 !important;
}

.wp-block-group {
  color: #d4d4d4 !important;
}

.post_content hr {
  border-color: #2a2a2a !important;
}

.post_content h2 {
  background: transparent !important;
  color: #ff4757 !important;
}

.post_content .has-luminous-vivid-orange-color,
.post_content .has-vivid-red-color {
  color: #ff6b6b !important;
}

/* Force dark on Gemini article light sections */
.post_content div[style*="background-color"],
.post_content section[style*="background-color"],
.post_content div[style*="background:"] {
  background-color: #141414 !important;
  color: #d4d4d4 !important;
}

/* Override inline color styles from AI-generated content */
.post_content p[style*="color:#3"],
.post_content p[style*="color:#4"],
.post_content p[style*="color:#5"],
.post_content li[style*="color:#3"],
.post_content li[style*="color:#4"] {
  color: #d4d4d4 !important;
}

/* ===== Header Nav Fix - Red text on scroll ===== */

/* Fixed header on scroll */
.l-header.is-fixed, .l-fixHeader,
.l-header.-fixed, .-header-fixed .l-header {
  background: #0d0d0d !important;
  border-bottom: 1px solid #8b0000 !important;
}

/* Nav menu items - always red/light on dark */
.c-gnav .c-gnav__link,
.c-gnav a,
.l-header .c-gnav__link,
.l-fixHeader .c-gnav__link,
.l-header.is-fixed .c-gnav__link,
.-header-fixed .c-gnav__link {
  color: #e94560 !important;
}
.c-gnav .c-gnav__link:hover,
.c-gnav a:hover {
  color: #ff6b6b !important;
  text-shadow: 0 0 8px rgba(233,69,96,0.4);
}

/* Site logo in header */
.c-headLogo a, .c-headLogo__link,
.l-fixHeader .c-headLogo a {
  color: #e94560 !important;
}

/* SWELL h2 heading - remove teal/blue background bar */
.post_content h2,
.s-entryContent h2,
.-style-section_ttl h2,
.swell-block-fullWide h2 {
  background: transparent !important;
  background-color: transparent !important;
  border-bottom: 2px solid #8b0000 !important;
  border-left: none !important;
  padding: 10px 0 !important;
  color: #ff4757 !important;
}

/* Remove SWELL default h2 styles with colored bar */
.post_content h2::before,
.post_content h2::after {
  display: none !important;
}

/* SWELL caption box with teal header - fix to dark */
.swell-block-capbox .cap_box_ttl,
.cap_box_ttl,
.swell-block-capbox__title,
.is-style-onborder_ttl .cap_box_ttl,
.is-style-inner .cap_box_ttl {
  background: #1a0a0a !important;
  background-color: #1a0a0a !important;
  color: #ff4757 !important;
  border-color: #8b0000 !important;
}

/* Caption box body */
.swell-block-capbox .cap_box_content,
.cap_box_content,
.swell-block-capbox__body {
  background: #141414 !important;
  color: #d4d4d4 !important;
  border-color: #333 !important;
}

/* The entire caption box border */
.swell-block-capbox,
.cap_box {
  border-color: #333 !important;
  background: #141414 !important;
}

/* Light pink/salmon background sections - force dark */
.post_content .has-pale-pink-background-color,
.post_content .has-pale-cyan-blue-background-color,
.post_content .has-vivid-cyan-blue-background-color,
.post_content .has-luminous-vivid-amber-background-color,
.post_content .has-light-green-cyan-background-color {
  background-color: #141414 !important;
  color: #d4d4d4 !important;
}

/* Footer nav links */
.l-footer a, .l-footer .c-gnav__link {
  color: #999 !important;
}
.l-footer a:hover {
  color: #e94560 !important;
}

/* ===== Fix spacing between thumbnail and title ===== */

/* Remove gap between featured image and article title */
.p-articleThumb, .p-articleFig {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.p-articleTitle, .p-articleHeader__title {
  margin-top: 10px !important;
  padding-top: 0 !important;
}

/* Article header overall spacing */
.p-articleHeader {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* The empty space between thumb and content */
.l-articleBody > .p-articleThumb + *,
.p-articleThumb + .p-articleHeader,
.p-articleThumb + .p-articleTitle {
  margin-top: 5px !important;
}

/* Single post thumbnail margin */
.p-articleFig img {
  margin-bottom: 0 !important;
}

/* SWELL specific: article content top margin */
.p-articleContent {
  padding-top: 10px !important;
}

/* Remove any extra space from the figure caption area */
.p-articleThumb figcaption {
  display: none !important;
}

/* ===== Scroll Header Fix - dark bg + red text ===== */

/* SWELL fixed/sticky header when scrolled */
.l-header.-scrolled,
.l-header.is-scrolled,
.l-fixHeader,
.-header-fixed .l-header,
.l-header[style*="position: fixed"],
.l-header[style*="position:fixed"],
.l-header.-transparent.-scrolled,
.-header-overlay .l-header.-scrolled {
  background: #0d0d0d !important;
  background-color: #0d0d0d !important;
  border-bottom: 1px solid #8b0000 !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.5) !important;
}

/* Override ANY white background on header */
.l-header,
.l-header__inner,
.l-header__bar,
.l-header *[style*="background-color: #fff"],
.l-header *[style*="background-color: white"],
.l-header *[style*="background: #fff"],
.l-header *[style*="background: white"] {
  background-color: #0d0d0d !important;
}

/* Force dark header even with transparent/overlay mode */
.l-header.-transparent {
  background: transparent !important;
}
.l-header.-transparent.-scrolled {
  background: #0d0d0d !important;
}

/* All nav text red when scrolled */
.l-header.-scrolled .c-gnav__link,
.l-header.-scrolled .c-gnav a,
.l-header.is-scrolled .c-gnav__link,
.l-fixHeader .c-gnav__link {
  color: #e94560 !important;
}

/* Site logo always red */
.l-header .c-headLogo a,
.l-header.-scrolled .c-headLogo a {
  color: #e94560 !important;
}

/* ===== Dark Google Maps iframe ===== */
.post_content iframe[src*="maps.google.com"],
.post_content iframe[src*="google.com/maps"] {
  filter: invert(90%) hue-rotate(180deg) brightness(0.8) contrast(1.2) !important;
  border-radius: 8px;
}

/* ===== Dark Google Maps v2 - catch all iframes ===== */
.post_content iframe,
.l-mainContent iframe,
.l-articleBody iframe,
iframe[src*="maps.google"],
iframe[data-src*="maps.google"],
iframe[src*="google.com/maps"],
iframe[data-src*="google.com/maps"] {
  filter: invert(90%) hue-rotate(180deg) brightness(0.8) contrast(1.2) !important;
  border-radius: 8px !important;
}

/* ===== Author Box Fix for Dark Theme ===== */
.p-authorBox, .p-profileBox {
  background: #141414 !important;
  border: 1px solid #2a2a2a !important;
  color: #d4d4d4 !important;
}

.p-authorBox__name, .p-profileBox__name,
.p-authorBox .p-authorBox__name a {
  color: #e94560 !important;
  font-size: 1.2rem !important;
  font-weight: bold !important;
}

.p-authorBox__desc, .p-profileBox__desc,
.p-authorBox__text, .p-profileBox__text {
  color: #ccc !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
}

.p-authorBox__img img, .p-profileBox__img img {
  border: 2px solid #8b0000 !important;
}

/* Section title */
.l-articleBottom__title {
  color: #e94560 !important;
  border-color: #8b0000 !important;
}

/* ===== Ranking Numbers - Horror Style ===== */

/* SWELL popular posts ranking badges */
.p-postList__item .p-postList__rank,
.widget_swell_popular_posts .p-postList__rank,
.p-postList.-ranking .p-postList__rank {
  background: #8b0000 !important;
  color: #fff !important;
  font-weight: bold !important;
  border: none !important;
  text-shadow: 0 0 5px rgba(139,0,0,0.8) !important;
}

/* 1st place - blood red glow */
.p-postList__item:nth-child(1) .p-postList__rank,
.widget_swell_popular_posts .p-postList__item:nth-child(1) .p-postList__rank {
  background: #8b0000 !important;
  box-shadow: 0 0 10px rgba(139,0,0,0.6) !important;
}

/* 2nd place - dark crimson */
.p-postList__item:nth-child(2) .p-postList__rank,
.widget_swell_popular_posts .p-postList__item:nth-child(2) .p-postList__rank {
  background: #6b0000 !important;
  box-shadow: 0 0 8px rgba(107,0,0,0.5) !important;
}

/* 3rd place - deep dark red */
.p-postList__item:nth-child(3) .p-postList__rank,
.widget_swell_popular_posts .p-postList__item:nth-child(3) .p-postList__rank {
  background: #4a0000 !important;
  box-shadow: 0 0 6px rgba(74,0,0,0.4) !important;
}

/* Remove default gold/silver/bronze colors */
.p-postList.-ranking .p-postList__item:nth-child(1) .p-postList__rank {
  background: #8b0000 !important;
}
.p-postList.-ranking .p-postList__item:nth-child(2) .p-postList__rank {
  background: #6b0000 !important;
}
.p-postList.-ranking .p-postList__item:nth-child(3) .p-postList__rank {
  background: #4a0000 !important;
}

/* ===== Ranking Badge Fix v2 - SWELL specific ===== */

/* SWELL ranking list item ::before pseudo element */
.p-postList.-w-ranking li:before,
.p-postList.-w-ranking > li:before,
.p-postList.-w-ranking .p-postList__item:before {
  background: #8b0000 !important;
  background-image: none !important;
  color: #fff !important;
  box-shadow: 0 0 8px rgba(139,0,0,0.6) !important;
}

/* 1st */
.p-postList.-w-ranking li:nth-child(1):before,
.p-postList.-w-ranking > li:nth-child(1):before {
  background: #8b0000 !important;
  background-image: none !important;
  box-shadow: 0 0 12px rgba(233,69,96,0.6) !important;
}

/* 2nd */
.p-postList.-w-ranking li:nth-child(2):before,
.p-postList.-w-ranking > li:nth-child(2):before {
  background: #6b0000 !important;
  background-image: none !important;
  box-shadow: 0 0 8px rgba(107,0,0,0.5) !important;
}

/* 3rd */
.p-postList.-w-ranking li:nth-child(3):before,
.p-postList.-w-ranking > li:nth-child(3):before {
  background: #4a0000 !important;
  background-image: none !important;
  box-shadow: 0 0 6px rgba(74,0,0,0.4) !important;
}

/* 4th+ */
.p-postList.-w-ranking li:nth-child(n+4):before,
.p-postList.-w-ranking > li:nth-child(n+4):before {
  background: #2a0000 !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* ===== Contact Form 7 - Dark Horror Style ===== */
.wpcf7 label {
  color: #d4d4d4 !important;
  font-size: 15px !important;
  display: block !important;
  margin-bottom: 5px !important;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea {
  background: #1a1a1a !important;
  color: #e0e0e0 !important;
  border: 1px solid #333 !important;
  border-radius: 8px !important;
  padding: 12px 15px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  font-size: 15px !important;
  transition: border-color 0.3s !important;
}

.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 textarea:focus {
  border-color: #8b0000 !important;
  outline: none !important;
  box-shadow: 0 0 8px rgba(139,0,0,0.3) !important;
}

.wpcf7 textarea {
  min-height: 150px !important;
  resize: vertical !important;
}

.wpcf7 input[type="submit"] {
  background: #8b0000 !important;
  color: #fff !important;
  border: none !important;
  padding: 14px 40px !important;
  border-radius: 8px !important;
  font-size: 16px !important;
  font-weight: bold !important;
  cursor: pointer !important;
  transition: all 0.3s !important;
  margin-top: 10px !important;
}

.wpcf7 input[type="submit"]:hover {
  background: #a00000 !important;
  box-shadow: 0 0 15px rgba(139,0,0,0.5) !important;
}

.wpcf7 .wpcf7-response-output {
  background: #1a1a1a !important;
  color: #d4d4d4 !important;
  border-color: #333 !important;
  border-radius: 8px !important;
}

.wpcf7 .wpcf7-not-valid-tip {
  color: #ff6b6b !important;
}

.wpcf7-form p {
  margin-bottom: 20px !important;
}

/* ===== CF7 validation messages - dark theme ===== */
.wpcf7-not-valid-tip {
  color: #ff6b6b !important;
  font-size: 13px !important;
  margin-top: 5px !important;
}
.wpcf7-response-output {
  background: #1a1a1a !important;
  color: #d4d4d4 !important;
  border: 1px solid #333 !important;
  border-radius: 8px !important;
  padding: 15px !important;
}
.wpcf7-validation-errors {
  border-color: #8b0000 !important;
}
.wpcf7-mail-sent-ok {
  border-color: #4CAF50 !important;
  color: #4CAF50 !important;
}

/* Override browser validation tooltip language */
input:invalid, textarea:invalid {
  box-shadow: none !important;
}
