/*
Theme Name: Twenty Twenty-Five
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfive
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
a {
	text-decoration-thickness: 1px !important;
	text-underline-offset: .1em;
}

/* Focus styles */
:where(.wp-site-blocks *:focus) {
	outline-width: 2px;
	outline-style: solid;
}

/* Increase the bottom margin on submenus, so that the outline is visible. */
.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
	margin-bottom: 3px;
}

/* Increase the outline offset on the parent menu items, so that the outline does not touch the text. */
.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	outline-offset: 4px;
}

/* Remove outline offset from the submenus, otherwise the outline is visible outside the submenu container. */
.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	outline-offset: 0;
}

/*
 * Progressive enhancement to reduce widows and orphans
 * https://github.com/WordPress/gutenberg/issues/55190
 */
h1,
h2,
h3,
h4,
h5,
h6,
blockquote,
caption,
figcaption,
p {
	text-wrap: pretty;
}

/*
 * Change the position of the more block on the front, by making it a block level element.
 * https://github.com/WordPress/gutenberg/issues/65934
*/
.more-link {
	display: block;
}


.hikawa-container {
	max-width: 1200px;
	margin: 0 auto;
	background: white;
	min-height: 100vh;
}

/* Header */
.hikawa-header {
	background: linear-gradient(to right, #7dd3fc, #bae6fd);
	padding: 15px 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: 2px solid #0ea5e9;
}

.hikawa-logo {
	display: flex;
	align-items: center;
	gap: 10px;
}

.hikawa-logo h1 {
	font-size: 28px;
	color: #1e40af;
	font-weight: bold;
}

.hikawa-social-icons {
	display: flex;
	gap: 10px;
}

.hikawa-social-icons a {
	color: #1e40af;
	font-size: 24px;
	text-decoration: none;
}

.hikawa-brand-logo {
	background: #3b82f6;
	color: white;
	padding: 8px 16px;
	border-radius: 4px;
	font-size: 12px;
	font-weight: bold;
}

/* Navigation */
.hikawa-nav {
	background: #f8fafc;
	padding: 0;
	border-bottom: 1px solid #e2e8f0;
}

.hikawa-nav-list {
	display: flex;
	list-style: none;
}

.hikawa-nav-item {
	flex: 1;
	text-align: center;
	border-right: 1px solid #e2e8f0;
}

.hikawa-nav-item:last-child {
	border-right: none;
}

.hikawa-nav-link {
	display: block;
	padding: 15px 10px;
	text-decoration: none;
	color: #334155;
	font-weight: bold;
	transition: background-color 0.3s;
}

.hikawa-nav-link:hover {
	background: #e2e8f0;
}

.hikawa-nav-icon {
	margin-right: 8px;
	color: #f59e0b;
}

/* Hero Image */
.hikawa-hero {
	height: 200px;
	background: linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%);
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #6b7280;
	font-size: 18px;
}

.hikawa-hero-content {
	display: flex;
	align-items: center;
	gap: 15px;
}

.hikawa-hero-icon {
	font-size: 48px;
	color: #9ca3af;
}

/* Main Content */
.hikawa-main {
	display: grid;
	grid-template-columns: 1fr 300px;
	gap: 20px;
	padding: 20px;
}

.hikawa-content {
	background: white;
}

/* News Section */
.hikawa-news-section {
	margin-bottom: 30px;
}

.hikawa-section-title {
	background: #fbbf24;
	color: #1f2937;
	padding: 8px 15px;
	font-weight: bold;
	margin-bottom: 10px;
	font-size: 14px;
}

.hikawa-news-item {
	display: flex;
	padding: 8px 0;
	border-bottom: 1px solid #f1f5f9;
	align-items: center;
}

.hikawa-news-date {
	color: #ef4444;
	font-weight: bold;
	margin-right: 15px;
	white-space: nowrap;
	font-size: 13px;
}

.hikawa-news-title {
	color: #1e40af;
	text-decoration: none;
	font-size: 13px;
	line-height: 1.4;
}

.hikawa-news-title:hover {
	text-decoration: underline;
}

/* Events Section */
.hikawa-events {
	margin-top: 30px;
}

.hikawa-events-title {
	background: #e2e8f0;
	padding: 10px 15px;
	font-weight: bold;
	color: #374151;
	margin-bottom: 20px;
}

.hikawa-event-item {
	border: 1px solid #e5e7eb;
	margin-bottom: 20px;
	border-radius: 8px;
	overflow: hidden;
}

.hikawa-event-header {
	background: #f3f4f6;
	padding: 10px 15px;
	font-weight: bold;
	color: #374151;
	font-size: 14px;
}

.hikawa-event-content {
	padding: 15px;
}

.hikawa-event-date {
	color: #6b7280;
	font-size: 12px;
	margin-bottom: 5px;
}

.hikawa-event-description {
	font-size: 13px;
	line-height: 1.5;
	color: #374151;
}

.hikawa-event-special {
	background: #fffbeb;
	border: 2px solid #fbbf24;
	padding: 15px;
	margin: 20px 0;
	border-radius: 8px;
}

.hikawa-event-special-title {
	font-weight: bold;
	color: #92400e;
	margin-bottom: 10px;
	text-align: center;
}

/* Sidebar */
.hikawa-sidebar {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.hikawa-info-box {
	background: #fce7f3;
	border: 2px solid #ec4899;
	border-radius: 8px;
	padding: 15px;
	text-align: center;
}

.hikawa-info-title {
	font-weight: bold;
	color: #be185d;
	margin-bottom: 10px;
}

.hikawa-hours {
	background: white;
	border: 1px solid #ec4899;
	border-radius: 4px;
	padding: 10px;
	margin: 10px 0;
	font-size: 12px;
	line-height: 1.4;
}

.hikawa-mascot {
	margin-top: 15px;
}

.hikawa-mascot-character {
	background: #60a5fa;
	color: white;
	border-radius: 50%;
	width: 80px;
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 10px auto;
	font-size: 24px;
}

.hikawa-mascot-name {
	color: #1e40af;
	font-size: 12px;
	text-align: center;
	font-weight: bold;
}

.hikawa-calendar {
	background: white;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	overflow: hidden;
}

.hikawa-calendar-header {
	background: #f3f4f6;
	padding: 10px;
	text-align: center;
	font-weight: bold;
	color: #374151;
}

.hikawa-calendar-content {
	padding: 15px;
	min-height: 150px;
	background: #f8fafc;
	position: relative;
}

.hikawa-calendar-placeholder {
	color: #9ca3af;
	text-align: center;
	font-size: 14px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.hikawa-button {
	background: #fbbf24;
	color: #1f2937;
	border: none;
	padding: 12px 20px;
	border-radius: 8px;
	font-weight: bold;
	cursor: pointer;
	text-decoration: none;
	display: inline-block;
	text-align: center;
	transition: background-color 0.3s;
}

.hikawa-button:hover {
	background: #f59e0b;
}

.hikawa-link-section {
	text-align: center;
	margin-top: 20px;
}

.hikawa-footer-text {
	background: #0ea5e9;
	color: white;
	padding: 20px;
	text-align: center;
	font-size: 12px;
	line-height: 1.6;
}

/* Event Images */
.hikawa-event-with-image {
	display: flex;
	gap: 15px;
	align-items: flex-start;
}

.hikawa-event-image {
	width: 80px;
	height: 60px;
	background: #f3f4f6;
	border: 1px solid #d1d5db;
	border-radius: 4px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 10px;
	color: #6b7280;
}

.hikawa-event-image i {
	font-size: 18px;
	color: #9ca3af;
}

/* Responsive Design */
@media (max-width: 768px) {
	.hikawa-header {
		flex-direction: column;
		gap: 10px;
		padding: 10px;
	}

	.hikawa-nav-list {
		flex-direction: column;
	}

	.hikawa-nav-item {
		border-right: none;
		border-bottom: 1px solid #e2e8f0;
	}

	.hikawa-nav-item:last-child {
		border-bottom: none;
	}

	.hikawa-main {
		grid-template-columns: 1fr;
		padding: 10px;
	}

	.hikawa-hero {
		height: 150px;
	}

	.hikawa-event-with-image {
		flex-direction: column;
	}

	.hikawa-event-image {
		width: 100%;
		height: 80px;
	}
}

@media (max-width: 480px) {
	.hikawa-logo h1 {
		font-size: 20px;
	}

	.hikawa-news-item {
		flex-direction: column;
		align-items: flex-start;
		gap: 5px;
	}

	.hikawa-news-date {
		margin-right: 0;
	}
}

.services-content {
	padding: 30px;
}

.services-page-title {
	font-size: 32px;
	color: #1e40af;
	margin-bottom: 20px;
	border-bottom: 3px solid #3b82f6;
	padding-bottom: 10px;
}

.services-intro {
	color: #4b5563;
	margin-bottom: 40px;
	font-size: 14px;
}

/* Service Categories */
.services-category {
	margin-bottom: 50px;
}

.services-category-title {
	background: linear-gradient(to right, #60a5fa, #93c5fd);
	color: white;
	padding: 12px 20px;
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 25px;
	border-radius: 8px;
}

.services-list {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	padding: 25px;
}

.services-list ul {
	list-style: none;
}

.services-list li {
	padding: 8px 0;
	border-bottom: 1px solid #e5e7eb;
	position: relative;
	padding-left: 20px;
}

.services-list li:last-child {
	border-bottom: none;
}

.services-list li:before {
	content: "▶";
	position: absolute;
	left: 0;
	color: #3b82f6;
	font-size: 12px;
}

/* Internet Service Details */
.internet-details {
	background: white;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	padding: 20px;
	margin-top: 15px;
}

.internet-section {
	margin-bottom: 25px;
}

.internet-section-title {
	font-weight: bold;
	color: #374151;
	margin-bottom: 10px;
	font-size: 15px;
}

.internet-description {
	color: #6b7280;
	font-size: 13px;
	line-height: 1.6;
	margin-bottom: 15px;
}

.internet-list {
	margin-left: 15px;
}

.internet-list li {
	color: #4b5563;
	font-size: 13px;
	margin-bottom: 5px;
	list-style: decimal;
}

.print-service-table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 15px;
	font-size: 13px;
}

.print-service-table th,
.print-service-table td {
	border: 1px solid #d1d5db;
	padding: 8px 12px;
	text-align: left;
}

.print-service-table th {
	background: #f3f4f6;
	font-weight: bold;
	color: #374151;
}

.print-service-table td {
	color: #4b5563;
}

/* Barrier-free Services */
.barrier-free-services {
	background: white;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	padding: 20px;
	margin-top: 15px;
}

.barrier-free-intro {
	color: #6b7280;
	font-size: 13px;
	margin-bottom: 20px;
}

.barrier-free-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
}

.barrier-free-table th,
.barrier-free-table td {
	border: 1px solid #d1d5db;
	padding: 12px;
	vertical-align: top;
}

.barrier-free-table th {
	background: #f3f4f6;
	font-weight: bold;
	color: #374151;
	width: 120px;
	text-align: center;
}

.barrier-free-table td {
	color: #4b5563;
	line-height: 1.5;
}

/* Books and Materials Section */
.books-materials {
	background: white;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	padding: 20px;
	margin-top: 15px;
}

.books-intro {
	color: #6b7280;
	font-size: 13px;
	margin-bottom: 15px;
}

.books-note {
	background: #fef3c7;
	border: 1px solid #f59e0b;
	border-radius: 4px;
	padding: 10px;
	margin-top: 15px;
	font-size: 12px;
	color: #92400e;
}

/* Other Services */
.other-services {
	background: white;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	padding: 20px;
	margin-top: 15px;
}

.other-services ul {
	list-style: none;
}

.other-services li {
	padding: 10px 0;
	border-bottom: 1px solid #f1f5f9;
	position: relative;
	padding-left: 20px;
}

.other-services li:last-child {
	border-bottom: none;
}

.other-services li:before {
	content: "●";
	position: absolute;
	left: 0;
	color: #3b82f6;
}

.other-services-description {
	color: #6b7280;
	font-size: 13px;
	margin-top: 5px;
	line-height: 1.5;
}

/* Footer */
.hikawa-footer-text {
	background: #0ea5e9;
	color: white;
	padding: 20px;
	text-align: center;
	font-size: 12px;
	line-height: 1.6;
}

/* Responsive Design */
@media (max-width: 768px) {
	.hikawa-header {
		flex-direction: column;
		gap: 10px;
		padding: 10px;
	}

	.hikawa-nav-list {
		flex-direction: column;
	}

	.hikawa-nav-item {
		border-right: none;
		border-bottom: 1px solid #e2e8f0;
	}

	.hikawa-nav-item:last-child {
		border-bottom: none;
	}

	.services-content {
		padding: 20px 15px;
	}

	.services-page-title {
		font-size: 24px;
	}

	.services-category-title {
		font-size: 16px;
		padding: 10px 15px;
	}

	.services-list {
		padding: 15px;
	}

	.internet-details,
	.barrier-free-services,
	.books-materials,
	.other-services {
		padding: 15px;
	}

	.print-service-table,
	.barrier-free-table {
		font-size: 11px;
	}

	.print-service-table th,
	.print-service-table td,
	.barrier-free-table th,
	.barrier-free-table td {
		padding: 6px 8px;
	}

	.barrier-free-table th {
		width: 80px;
	}
}

@media (max-width: 480px) {
	.hikawa-logo h1 {
		font-size: 20px;
	}

	.services-page-title {
		font-size: 20px;
	}

	.services-category-title {
		font-size: 14px;
	}

	.print-service-table,
	.barrier-free-table {
		font-size: 10px;
	}

	.services-list li {
		font-size: 12px;
	}

	.internet-description,
	.barrier-free-intro,
	.books-intro {
		font-size: 12px;
	}
}

.usage-content {
	padding: 30px;
}

.usage-page-title {
	font-size: 32px;
	color: #1e40af;
	margin-bottom: 20px;
	border-bottom: 3px solid #3b82f6;
	padding-bottom: 10px;
}

.usage-intro {
	color: #4b5563;
	margin-bottom: 30px;
	font-size: 14px;
	line-height: 1.8;
}

/* Basic Information Box */
.basic-info-box {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	padding: 25px;
	margin-bottom: 40px;
}

.basic-info-list {
	list-style: none;
}

.basic-info-list li {
	padding: 6px 0;
	border-bottom: 1px solid #e5e7eb;
	position: relative;
	padding-left: 20px;
	font-size: 14px;
	color: #374151;
}

.basic-info-list li:last-child {
	border-bottom: none;
}

.basic-info-list li:before {
	content: "▶";
	position: absolute;
	left: 0;
	color: #3b82f6;
	font-size: 12px;
}

/* Service Categories */
.usage-category {
	margin-bottom: 50px;
}

.usage-category-title {
	background: linear-gradient(to right, #60a5fa, #93c5fd);
	color: white;
	padding: 12px 20px;
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 25px;
	border-radius: 8px;
}

.usage-section {
	background: white;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	padding: 20px;
	margin-bottom: 20px;
}

.usage-section-title {
	font-weight: bold;
	color: #1e40af;
	margin-bottom: 15px;
	font-size: 16px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.usage-section-icon {
	color: #3b82f6;
}

.usage-description {
	color: #4b5563;
	font-size: 13px;
	line-height: 1.7;
	margin-bottom: 15px;
}

.usage-details {
	color: #6b7280;
	font-size: 13px;
	line-height: 1.6;
}

/* Tables */
.usage-table {
	width: 100%;
	border-collapse: collapse;
	margin: 15px 0;
	font-size: 13px;
}

.usage-table th,
.usage-table td {
	border: 1px solid #d1d5db;
	padding: 8px 12px;
	text-align: left;
}

.usage-table th {
	background: #f3f4f6;
	font-weight: bold;
	color: #374151;
	text-align: center;
}

.usage-table td {
	color: #4b5563;
}

/* Numbered Lists */
.usage-numbered-list {
	margin-left: 20px;
	color: #4b5563;
	font-size: 13px;
}

.usage-numbered-list li {
	margin-bottom: 8px;
	line-height: 1.6;
}

/* Highlight Box */
.usage-highlight {
	background: #fef3c7;
	border: 1px solid #f59e0b;
	border-radius: 6px;
	padding: 15px;
	margin: 15px 0;
	font-size: 13px;
	color: #92400e;
}

/* Note Box */
.usage-note {
	background: #ecfdf5;
	border: 1px solid #10b981;
	border-radius: 6px;
	padding: 15px;
	margin: 15px 0;
	font-size: 13px;
	color: #065f46;
}

/* Request Form Style */
.request-form-info {
	background: #eff6ff;
	border: 1px solid #3b82f6;
	border-radius: 6px;
	padding: 15px;
	margin: 15px 0;
	font-size: 13px;
	color: #1e40af;
}

/* Service Points */
.service-points {
	background: #f1f5f9;
	border-left: 4px solid #3b82f6;
	padding: 15px 20px;
	margin: 15px 0;
}

.service-points ul {
	list-style: none;
	margin: 0;
}

.service-points li {
	padding: 5px 0;
	position: relative;
	padding-left: 20px;
	font-size: 13px;
	color: #374151;
}

.service-points li:before {
	content: "✓";
	position: absolute;
	left: 0;
	color: #10b981;
	font-weight: bold;
}

/* Footer */
.hikawa-footer-text {
	background: #0ea5e9;
	color: white;
	padding: 20px;
	text-align: center;
	font-size: 12px;
	line-height: 1.6;
}

/* Responsive Design */
@media (max-width: 768px) {
	.hikawa-header {
		flex-direction: column;
		gap: 10px;
		padding: 10px;
	}

	.hikawa-nav-list {
		flex-direction: column;
	}

	.hikawa-nav-item {
		border-right: none;
		border-bottom: 1px solid #e2e8f0;
	}

	.hikawa-nav-item:last-child {
		border-bottom: none;
	}

	.usage-content {
		padding: 20px 15px;
	}

	.usage-page-title {
		font-size: 24px;
	}

	.usage-category-title {
		font-size: 16px;
		padding: 10px 15px;
	}

	.usage-section {
		padding: 15px;
	}

	.usage-table {
		font-size: 11px;
	}

	.usage-table th,
	.usage-table td {
		padding: 6px 8px;
	}

	.basic-info-box {
		padding: 15px;
	}
}

@media (max-width: 480px) {
	.hikawa-logo h1 {
		font-size: 20px;
	}

	.usage-page-title {
		font-size: 20px;
	}

	.usage-category-title {
		font-size: 14px;
	}

	.usage-table {
		font-size: 10px;
	}

	.basic-info-list li,
	.usage-description,
	.usage-details {
		font-size: 12px;
	}
}