/*
Theme Name: Ahostify
Theme URI: https://ahostify.com
Author: Ahostify
Author URI: https://ahostify.com
Description: Original, editable block theme for the Ahostify web hosting and reseller hosting business. Built for the WordPress Site Editor with reusable patterns for hero, plans, features, FAQ and contact sections. All prices and package limits are placeholders until confirmed by the owner.
Requires at least: 6.4
Tested up to: 6.6
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ahostify
Tags: block-theme, full-site-editing, one-column, custom-colors, custom-logo, wide-blocks, translation-ready
*/

/* Hero background (gradient navy to blue) */
.ahx-hero {
	background: linear-gradient(135deg, #0a1630 0%, #10286b 55%, #1553e0 100%);
	position: relative;
	overflow: hidden;
}
.ahx-hero::after {
	content: "";
	position: absolute;
	right: -120px;
	top: -120px;
	width: 420px;
	height: 420px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(25, 211, 243, 0.35), rgba(25, 211, 243, 0) 70%);
	pointer-events: none;
}
.ahx-hero > * { position: relative; z-index: 1; }

/* Cards */
.ahx-card {
	background: #ffffff;
	border: 1px solid #e3e9f5;
	border-radius: 14px;
	box-shadow: 0 6px 24px rgba(10, 22, 48, 0.06);
	height: 100%;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.ahx-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 32px rgba(10, 22, 48, 0.12);
}
.ahx-card-featured {
	border: 2px solid #19d3f3;
	position: relative;
}
.ahx-badge {
	display: inline-block;
	background: #d4a53a;
	color: #0a1630;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: 999px;
}

/* Price block */
.ahx-price {
	font-size: 2.4rem;
	font-weight: 800;
	line-height: 1.1;
	margin: 0;
}

/* Tick list for plan features */
ul.ahx-ticks {
	list-style: none;
	padding-left: 0;
	margin: 0;
}
ul.ahx-ticks li {
	position: relative;
	padding-left: 1.7em;
	margin-bottom: 0.55em;
}
ul.ahx-ticks li::before {
	content: "\2713";
	position: absolute;
	left: 0;
	top: 0;
	color: #1553e0;
	font-weight: 800;
}

/* Placeholder notice: shown to the owner, easy to find and delete */
.ahx-todo {
	background: #fff8e1;
	border-left: 4px solid #d4a53a;
	padding: 10px 14px;
	font-size: 0.9rem;
	border-radius: 6px;
}

/* FAQ (details block) */
.wp-block-details {
	border: 1px solid #e3e9f5;
	border-radius: 10px;
	padding: 14px 18px;
	background: #fff;
	margin-bottom: 12px;
}
.wp-block-details summary { font-weight: 600; cursor: pointer; }

/* Header: sticky on larger screens */
.ahx-header {
	position: sticky;
	top: 0;
	z-index: 50;
	backdrop-filter: saturate(140%) blur(6px);
}

/* Keyboard focus visibility */
a:focus-visible,
button:focus-visible,
.wp-block-button__link:focus-visible,
summary:focus-visible {
	outline: 3px solid #19d3f3;
	outline-offset: 2px;
}

@media (max-width: 781px) {
	.ahx-price { font-size: 2rem; }
	.ahx-hero::after { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.ahx-card { transition: none; }
	.ahx-card:hover { transform: none; }
}

/* Contact Form 7: centered, readable, on-brand form */
.wpcf7 { max-width: 640px; margin: 0 auto; padding: 0 24px; box-sizing: border-box; }
.wpcf7 form p { margin: 0 0 1.1rem; }
.wpcf7 label { display: block; font-weight: 600; }
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 select,
.wpcf7 textarea {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin-top: 0.4rem;
	padding: 0.75rem 0.9rem;
	font: inherit;
	color: #0a1630;
	background: #ffffff;
	border: 1px solid #cdd7ea;
	border-radius: 10px;
}
.wpcf7 textarea { min-height: 150px; }
.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus { outline: 3px solid #19d3f3; outline-offset: 1px; border-color: #1553e0; }
.wpcf7 input[type="submit"] {
	background: #1553e0;
	color: #ffffff;
	border: 0;
	border-radius: 10px;
	padding: 0.85rem 1.8rem;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}
.wpcf7 input[type="submit"]:hover { background: #0f3fb0; }
.wpcf7-not-valid-tip { color: #b42318; font-size: 0.9rem; }
.wpcf7 form .wpcf7-response-output { border-radius: 10px; margin: 1rem 0 0; padding: 0.8rem 1rem; }

/* Footer: readable links on the dark navy background */
footer.wp-block-template-part a,
footer.wp-block-template-part a:visited { color: #d8e4ff; text-decoration: underline; text-underline-offset: 3px; }
footer.wp-block-template-part a:hover,
footer.wp-block-template-part a:focus-visible { color: #19d3f3; }
footer.wp-block-template-part ul { padding-left: 1.1rem; }

/* Mobile header: logo + menu button only, keep it on one line */
@media (max-width: 781px) {
	.ahx-header .wp-block-buttons { display: none; }
	.ahx-header { padding-left: 16px !important; padding-right: 16px !important; }
}

/* Pricing cards: "Most Popular" badge floats on the card edge so all three cards line up */
.ahx-card-featured > p:first-child {
	position: absolute;
	top: -14px;
	left: 28px;
	margin: 0;
}
@media (max-width: 781px) {
	.ahx-card-featured { margin-top: 14px; }
}
