/* customizer.css — z-okada page-specific overrides */

/* Breadcrumb */
.breadcrumb {
    background-color: var(--bg-light);
    padding: 12px 0;
    font-size: 13px;
    font-weight: 700;
    color: var(--text-sub);
    border-bottom: 1px solid var(--border);
}
.breadcrumb a { color: var(--text-sub); }
.breadcrumb a:hover { color: var(--primary); }
.breadcrumb span { margin: 0 8px; }
.breadcrumb .current { color: var(--text); }

/* Header: fixed position (sticky breaks with Astra's overflow/position) */
.top-bar { position: fixed !important; top: 0; left: 0; right: 0; z-index: 10000 !important; }
.site-header { position: fixed !important; top: 52px !important; left: 0; right: 0; z-index: 9999 !important; }
main { padding-top: 142px !important; } /* top-bar(52) + header(90) */

/* Admin bar: headerのtopだけオフセット。mainは不要（WPのhtml margin-topが自動補正） */
.admin-bar .top-bar { top: 32px !important; }
.admin-bar .site-header { top: 84px !important; } /* 32 + 52 */

@media (max-width: 960px) {
    /* Mobile: no top-bar, header only */
    .top-bar { display: none !important; }
    .site-header { top: 0 !important; }
    main { padding-top: 90px !important; }
    .admin-bar .site-header { top: 32px !important; }
}
@media (max-width: 782px) {
    .admin-bar .site-header { top: 46px !important; }
}

/* Form page: office intro card */
.office-intro-card {
    display: flex; gap: 30px; align-items: center;
    background-color: var(--bg-light); border-radius: 8px;
    padding: 35px; border: 1px solid var(--border);
}
.office-intro-img {
    flex: 0 0 180px; border-radius: 8px; overflow: hidden;
}
.office-intro-img img { width: 100%; height: auto; display: block; }
.office-intro-body h3 { margin-bottom: 12px; }
.office-intro-body p {
    font-weight: 700; color: var(--text-sub); line-height: 2; font-size: 14px;
}
.office-intro-body a { color: var(--primary); }

@media (max-width: 768px) {
    .office-intro-card { flex-direction: column; text-align: center; padding: 25px 20px; }
    .office-intro-img { flex: 0 0 auto; width: 140px; margin: 0 auto; }
    .form-card { margin: 30px auto; }
    .privacy-card { padding: 30px 20px; }
}

/* CF7 form styling */
.custom-contact-form dl {
    display: flex; flex-wrap: wrap; align-items: flex-start;
    padding: 20px 0; border-bottom: 1px solid var(--border);
}
.custom-contact-form dt {
    width: 200px; font-weight: 900; font-size: 15px; color: var(--primary);
    padding-top: 10px; flex-shrink: 0;
}
.custom-contact-form dd { flex: 1; min-width: 0; }
.custom-contact-form .hissu-label {
    display: inline-block; background-color: #e53935; color: #fff;
    font-size: 11px; padding: 2px 8px; border-radius: 3px; margin-left: 8px;
    font-weight: 700;
}
.custom-contact-form input[type="text"],
.custom-contact-form input[type="email"],
.custom-contact-form input[type="tel"],
.custom-contact-form textarea {
    width: 100%; padding: 12px 16px; border: 2px solid var(--border); border-radius: 6px;
    font-size: 16px; font-family: inherit; transition: border-color 0.3s;
}
.custom-contact-form input:focus,
.custom-contact-form textarea:focus {
    outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px rgba(27,67,50,0.1);
}
.custom-contact-form .wpcf7-list-item { margin-right: 15px; }
.custom-contact-form .wpcf7-list-item label { font-weight: 700; font-size: 14px; cursor: pointer; }
.custom-contact-form .mt-10 { margin-top: 10px; }
.custom-contact-form .address-zip { width: 120px !important; }
.okada-consent-box {
    text-align: center; padding: 25px 0; font-weight: 700; font-size: 14px;
}
.okada-consent-box a { color: var(--primary); text-decoration: underline; }
.btn-wrap { text-align: center; padding: 10px 0 30px; }
.btn-wrap .submit-btn,
.btn-wrap input[type="submit"] {
    display: inline-block; min-width: 300px; padding: 18px 40px;
    background-color: var(--primary); color: #fff; border: none; border-radius: 6px;
    font-size: 18px; font-weight: 900; cursor: pointer; transition: 0.3s;
    font-family: inherit;
}
.btn-wrap .submit-btn:hover,
.btn-wrap input[type="submit"]:hover {
    background-color: var(--accent); transform: translateY(-2px);
}
.wpcf7-response-output {
    text-align: center; font-weight: 700; margin: 20px 0 !important;
    padding: 15px !important; border-radius: 6px !important;
}
@media (max-width: 768px) {
    .custom-contact-form dl { flex-direction: column; }
    .custom-contact-form dt { width: 100%; padding-bottom: 8px; }
    .btn-wrap .submit-btn,
    .btn-wrap input[type="submit"] { width: 100%; min-width: auto; }
}

/* Scroll-to-top button: square */
.ast-scroll-top-icon,
#ast-scroll-top { border-radius: 4px !important; }

/* News hero image */
@media (max-width: 480px) {
    .blog-thumb { height: 180px; }
}
