/*
Theme Name: 大塚行政書士事務所
Theme URI:
Author: Otsuka
Description: 大塚行政書士事務所のオリジナルテーマ（Twenty Twenty-Five 子テーマ）
Template: twentytwentyfive
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.2
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: otsuka-gyosei
*/

body {
	font-feature-settings: "palt";
	word-break: break-all;
	overflow-wrap: break-word;
}

.site-header-phone {
	font-weight: 700;
	letter-spacing: 0.05em;
}

.site-header-phone a {
	text-decoration: none;
	color: inherit;
}

.wp-block-navigation a:hover {
	opacity: 0.8;
}

.site-footer {
	border-top: 3px solid var(--wp--preset--color--accent-3);
}

.site-footer-info dt {
	font-weight: 700;
	margin-bottom: 0.25em;
}

.site-footer-info dd {
	margin-left: 0;
	margin-bottom: 1em;
}

.wp-block-button__link {
	border-radius: 4px;
}

.section-heading {
	position: relative;
	padding-bottom: 0.75em;
}

.section-heading::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 60px;
	height: 3px;
	background-color: var(--wp--preset--color--accent-3);
}

.service-card {
	border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: 8px;
	padding: 2rem;
	transition: box-shadow 0.3s ease;
}

.service-card:hover {
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.cta-section {
	background-color: var(--wp--preset--color--accent-1);
	color: var(--wp--preset--color--base);
	border-radius: 8px;
}

.cta-section a {
	color: var(--wp--preset--color--base);
}

/* Pricing table */
.wp-block-table table {
	border-collapse: collapse;
	width: 100%;
}

.wp-block-table th,
.wp-block-table td {
	padding: 0.75rem 1rem;
	border-bottom: 1px solid var(--wp--preset--color--accent-6);
}

.wp-block-table thead th {
	background-color: var(--wp--preset--color--accent-1);
	color: var(--wp--preset--color--base);
	font-weight: 700;
}

.wp-block-table tbody tr:hover {
	background-color: var(--wp--preset--color--accent-5);
}

/* Section heading centered variant */
.section-heading.has-text-align-center::after {
	left: 50%;
	transform: translateX(-50%);
}

/* CTA button hover */
.cta-section .wp-block-button__link:hover {
	opacity: 0.9;
	transform: translateY(-1px);
	transition: all 0.3s ease;
}

/* Service card link */
.service-card a {
	text-decoration: none;
	color: inherit;
}

/* Smooth scroll for anchor links */
html {
	scroll-behavior: smooth;
}

@media (max-width: 781px) {
	.site-header-phone {
		font-size: 0.875rem;
	}

	.service-card {
		padding: 1.25rem;
	}

	.cta-section {
		padding: 2rem 1.5rem !important;
	}
}
