/*
Theme Name: Webtools Theme
Theme URI: https://example.com/
Author: ZumiTool
Author URI: https://example.com/
Description: Lightweight theme for the /webtools/ tool collection.
Version: 0.1
Text Domain: webtools-theme
*/

/* Basic styles */
:root{--accent:#14b8a6;--accent-dark:#0d9488;}
html.light :root{--accent:#3b82f6;}
html,body{height:100%}
body{display:flex;flex-direction:column;font-family:Inter,system-ui,-apple-system,'Helvetica Neue',Arial,sans-serif;margin:0;color:#e6eef8;background:#0b1220;}
.container{max-width:1100px;width: 100%;margin:60px auto 0 auto;padding:24px 16px}
@media (min-width:768px){.container{padding:24px}}
.tool-card{border:1px solid #374151;border-radius:8px;background:#111827;color:#e6eef8;transition:transform .2s,box-shadow .2s}
.tool-card a{display:block;padding:16px;}
.tool-card:hover{transform:translateY(-4px);box-shadow:0 4px 8px rgba(0,0,0,.4)}

/* responsive grid for cards */
.grid-tools{display:grid;grid-template-columns:repeat(1,1fr);gap:1.5rem;}

/* semantic card elements */
.tool-list-heading{font-size:1.5rem;color:#fff;margin-bottom:1.5rem}
.archive-nav{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}
.archive-nav a{color:#e6eef8;text-decoration:none;padding:0.25rem 0}
.archive-nav a:hover{color:var(--accent)}
.archive-nav .theme-toggle{background:#374151;color:#e6eef8;border:none;padding:4px 8px;border-radius:4px;cursor:pointer}
.card-link{display:block;padding:1rem;text-decoration:none}
.card-title{font-size:1.125rem;font-weight:600;color:#f5f5f5}
.card-title a{color:inherit;text-decoration:none}
.card-title:hover{color:var(--accent)}
.card-excerpt{margin-top:0.5rem;font-size:0.875rem;color:#9ca3af}
@media(min-width:640px){.grid-tools{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.grid-tools{grid-template-columns:repeat(3,1fr);}}

/* header/nav styles */
.site-header{background:#111827;color:#e6eef8;box-shadow:0 1px 2px rgba(0,0,0,.3);position:fixed;width:100%}
.site-header-inner{max-width:1100px;margin:0 auto;padding:0 1rem;display:flex;justify-content:space-between;align-items:center;height:60px}
.site-title a{color:#fff;text-decoration:none;font-size:1.25rem;font-weight:600}
.site-nav{display:flex;align-items:center;gap:1rem}
.site-nav a{color:#e6eef8;text-decoration:none;padding:0.5rem 0}
.site-nav a:hover{color:var(--accent)}
.theme-toggle{background:#374151;color:#e6eef8;border:none;padding:4px 8px;border-radius:4px;cursor:pointer}

/* card and article titles */
.card-title a{color:#fff;text-decoration:none}
.card-title a:hover{color:var(--accent)}
.tool-article{margin:0 auto;color:#e6eef8}
.tool-title{color:#fff;font-size:2rem;margin-bottom:1rem}
.tool-description{background:#1f2937;border-left:4px solid var(--accent);padding:1rem;margin-bottom:1.5rem;border-radius:4px;color:#d1d5db;font-size:0.95rem;line-height:1.6}
html.light .tool-description{background:#f0f4f8;border-left-color:var(--accent);color:#374151}
.tool-area{margin-top:1rem}
.tool-content{margin-top:1.5rem}

/* footer styles */
.site-footer {
    background: #1f2937;
    border-top: 1px solid #374151;
    padding: 1.5rem;
    margin-top: auto;
    color: #9ca3af;
}

.footer-container {
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 0.75rem; /* リンクとコピーライトの間隔 */
}

.footer-links {
    font-size: 0.875rem;
}

.footer-links a {
    color: #9ca3af;
    text-decoration: none;
    transition: color 0.2s ease;
}

/* ホバー時に指定のアクセントカラー #0d9488 を使用 */
.footer-links a:hover {
    color: #0d9488;
    text-decoration: underline;
}

.footer-text {
    /* text-align: center は親要素で指定済みのため、フォントサイズを維持 */
    font-size: 0.875rem;
}
/* お問い合わせ */
/* Contact Form 7 全体のレイアウト */
.contact-form-container {
    max-width: 700px;
    margin: 0 auto;
    color: #e5e7eb;
}

.form-group {
    margin-bottom: 1.5rem;
}

.form-group label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: bold;
    font-size: 0.9rem;
}

/* 入力フィールドの装飾 */
.wpcf7-form-control:not(.wpcf7-submit) {
    width: 100%;
    padding: 0.8rem;
    background-color: #111827; /* 深いダーク背景 */
    border: 1px solid #374151;
    border-radius: 6px;
    color: #ffffff;
    font-size: 1rem;
    transition: all 0.2s ease;
}

/* フォーカス時にターコイズブルー #0d9488 で光らせる */
.wpcf7-form-control:focus {
    outline: none;
    border-color: #0d9488;
    box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.2);
}

/* 送信ボタンの装飾 */
.wpcf7-submit {
    display: block;
    width: 100%;
    padding: 1rem;
    background-color: #0d9488 !important;
    color: #ffffff !important;
    border: none;
    border-radius: 6px;
    font-weight: bold;
    font-size: 1.1rem;
    cursor: pointer;
    transition: opacity 0.2s;
}

.wpcf7-submit:hover {
    opacity: 0.9;
}

/* エラーメッセージ等の調整 */
.wpcf7-not-valid-tip {
    color: #ef4444;
    font-size: 0.8rem;
    margin-top: 0.3rem;
}

/* pagination spacing */
.pagination-wrap{margin-top:2rem;margin-bottom:2rem}
/* ページネーション全体のコンテナ */
.pagination-wrap {
    margin: 4rem 0;
    display: flex;
    justify-content: center;
}

/* リンク共通のスタイル */
.pagination-wrap .nav-links {
    display: flex;
    gap: 10px;
    align-items: center;
}

/* 各数字・ボタンのベース（カードスタイル） */
.pagination-wrap .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 45px;
    height: 45px;
    padding: 0 10px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.05); /* ツールカードに近い背景 */
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #a0a0a0;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
}

/* ホバー時：ネオンブルーの光を演出 */
.pagination-wrap a.page-numbers:hover {
    background: rgba(52, 152, 219, 0.1);
    border-color: #3498db;
    color: #3498db;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(52, 152, 219, 0.2);
}

/* 現在のページ：ネオンオレンジで強調（Webtoolsの差し色） */
.pagination-wrap .page-numbers.current {
    background: #0d9488;
    border-color: #0d9488;
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(13, 148, 136, 0.3); /* 柔らかい光の演出 */
}

/* 「次へ」「前へ」のテキストを少しリッチに */
.pagination-wrap .prev.page-numbers,
.pagination-wrap .next.page-numbers {
    padding: 0 20px;
    font-size: 0.9em;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* ドット（...）のスタイル */
.pagination-wrap .dots {
    border: none;
    background: none;
}

/* webtool container (replaces iframe) */
.webtool-container{border:1px solid #374151;border-radius:6px;padding:16px;background:#111827;}
.webtool-container .webtools-ad{margin-top:16px}

/* json formatter styles */
.json-formatter{border:1px solid #374151;border-radius:8px;overflow:hidden;background:#1f2937;max-width:800px;margin:1rem 0}
.json-header{background:var(--accent);color:#fff;padding:8px 12px;display:flex;justify-content:space-between;align-items:center}
.json-header h2{margin:0;font-size:1.125rem;font-weight:600}
.json-controls{display:flex;gap:8px}
.btn{background:#fff;color:var(--accent);padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:background .2s,transform .1s}
.btn:hover{background:#f3f4f6;transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.jf-input, .jf-output{width:100%;height:12rem;border:none;padding:8px;border-radius:0;background:#111827;color:#e6eef8;overflow:auto;white-space:pre-wrap;word-wrap:break-word;resize:none}
.jf-input{border-bottom:1px solid #374151}
.jf-input::-webkit-scrollbar, .jf-output::-webkit-scrollbar{display:none}
.jf-spacer{height:1rem}
.jf-error{color:#f87171;margin-top:6px;display:none}

/* button redesign */
.btn{background:var(--accent);color:#fff;padding:8px 16px;border:none;border-radius:6px;font-weight:600;box-shadow:0 2px 4px rgba(0,0,0,.2);transition:background .2s,transform .1s}
.btn:hover{background:var(--accent-dark);transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.tool-card:hover{transform:translateY(-4px);box-shadow:0 4px 8px rgba(0,0,0,.3)}
.webtools-ad{margin:16px 0;text-align:center}

/* light variant */
html.light body{background:#f8fafc;color:#111}
html.light .tool-card{background:#fff;color:#111;border-color:#e5e7eb}
html.light .webtools-ad{color:#000}
html.light .site-header{background:#fff;color:#111}
html.light .site-title a{color:#111}
html.light .site-nav a{color:#111}
html.light .site-nav a:hover{color:var(--accent)}
html.light .theme-toggle{background:#e2e8f0;color:#111}
html.light .card-title a{color:#111}
html.light .card-excerpt{color:#4b5563}
html.light .tool-title{color:#111}
html.light .tool-content{color:#111}
html.light .tool-content{color:#111}
html.light .contact-form-container{color:#111}
html.light .wpcf7-form-control:not(.wpcf7-submit){background:#e2e8f0;color:#111}
