/* shared/templates/style.css
 * Plain CSS3, mobile-first, no framework, no build step.
 * Shared across all 診断・比較ツール sites (denki-gas, water-server, sim-hikari).
 */

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: "Hiragino Sans", "Yu Gothic", "Segoe UI", sans-serif;
    background: #f5f6f8;
    color: #222;
    line-height: 1.6;
}

.page-container {
    max-width: 640px;
    margin: 0 auto;
    padding: 0 16px 32px;
}

header.site-header {
    padding: 20px 0 8px;
}

header.site-header h1 {
    font-size: 1.4rem;
    margin: 0;
}

/* --- PR / advertising disclosure banner ---
 * Must stay legible and clearly visible (no tiny text, no hiding),
 * per Japanese 景品表示法 stealth-marketing disclosure rules.
 */
.pr-notice {
    background: #fff8e1;
    color: #5c4a00;
    border: 1px solid #e0c46c;
    border-radius: 4px;
    padding: 10px 14px;
    margin: 0 auto;
    max-width: 640px;
    font-size: 0.9rem;
    text-align: center;
}

/* --- Form --- */
.diagnosis-form {
    background: #fff;
    border-radius: 8px;
    padding: 20px;
    margin-top: 20px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.form-field {
    margin-bottom: 16px;
}

.form-field label {
    display: block;
    font-weight: bold;
    margin-bottom: 6px;
}

.form-field select,
.form-field input[type="number"] {
    width: 100%;
    padding: 10px;
    font-size: 1rem;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #fff;
}

.form-submit {
    width: 100%;
    padding: 14px;
    font-size: 1.1rem;
    font-weight: bold;
    color: #fff;
    background: #1a73e8;
    border: none;
    border-radius: 6px;
    cursor: pointer;
}

.form-submit:hover {
    background: #1558b0;
}

/* --- Results --- */
.results-list {
    list-style: none;
    margin: 20px 0 0;
    padding: 0;
}

.result-item {
    background: #fff;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 14px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    position: relative;
}

.result-item.rank-1 {
    border: 2px solid #ffb300;
}

.result-rank {
    display: inline-block;
    font-weight: bold;
    font-size: 0.85rem;
    color: #fff;
    background: #999;
    border-radius: 12px;
    padding: 2px 10px;
    margin-bottom: 8px;
}

.result-item.rank-1 .result-rank {
    background: #ffb300;
}

.result-name {
    font-size: 1.1rem;
    font-weight: bold;
    margin: 4px 0;
}

.result-cost {
    font-size: 1.3rem;
    font-weight: bold;
    color: #1a73e8;
}

.result-savings {
    font-size: 0.9rem;
    color: #2e7d32;
    margin-top: 4px;
}

.cta-button {
    display: block;
    text-align: center;
    margin-top: 12px;
    padding: 12px;
    background: #ff5722;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    border-radius: 6px;
}

.cta-button:hover {
    background: #e64a19;
}

@media (min-width: 480px) {
    .page-container {
        padding: 0 24px 40px;
    }
}

/* --- Footer --- */
.site-footer {
    margin-top: 40px;
    padding: 20px 0;
    border-top: 1px solid #dde1e4;
    text-align: center;
    font-size: 0.85rem;
}

.site-footer a {
    color: #555;
    margin: 0 10px;
    text-decoration: none;
}

.site-footer a:hover {
    text-decoration: underline;
}

/* --- Static pages (運営者情報, プライバシーポリシー) --- */
.static-page h2 {
    margin-top: 0;
}

.static-page h3 {
    margin-top: 24px;
    font-size: 1.05rem;
}

.static-page p {
    margin: 8px 0;
}

.info-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 12px;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.info-table th,
.info-table td {
    text-align: left;
    padding: 12px 16px;
    border-bottom: 1px solid #eee;
}

.info-table th {
    width: 30%;
    color: #555;
    white-space: nowrap;
}
