/*
Theme Name: Alanddin
Theme URI: https://alanddin.com/
Author: Alanddin Hosting
Author URI: https://alanddin.com/
Description: A calm, typography-led block theme for managed WordPress hosting and small service businesses. Built from the Alanddin Brand Guide v1.2, with locally hosted fonts and the original logo.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.0
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: alanddin
Tags: full-site-editing, block-patterns, custom-colors, custom-logo, editor-style, featured-images, wide-blocks, blog
*/

:root {
 --alanddin-radius: 1.25rem;
 --alanddin-shadow: 0 1px 2px rgba(28,27,25,.04), 0 8px 24px -14px rgba(28,27,25,.14);
 --alanddin-lift: 0 2px 4px rgba(28,27,25,.05), 0 20px 44px -20px rgba(28,27,25,.22);
 --alanddin-motion: 180ms cubic-bezier(.22,.61,.36,1);
}
html { scroll-behavior:smooth; scroll-padding-top:2rem; }
body { -webkit-font-smoothing:antialiased; }
* { box-sizing:border-box; }
img { max-width:100%; height:auto; }
:where(a,button,input,textarea,select,summary):focus-visible { outline:3px solid #8A4A05; outline-offset:5px; }
a { text-underline-offset:.2em; text-decoration-thickness:1px; }
:where(h1,h2,h3,h4) { text-wrap:balance; }
p, li { overflow-wrap:break-word; }
.wp-site-blocks > * { margin-block-start:0; }
.wp-block-template-part { margin-block:0; }
.ah-header { border-bottom:1px solid var(--wp--preset--color--border); padding-block:1.15rem; }
.ah-header-row { gap:1.25rem; }
.ah-brand { gap:.4rem; flex-shrink:0; }
.ah-logo { margin:0; width:68px; flex-shrink:0; }
.ah-logo img { display:block; width:68px; height:auto; }
.ah-brand .wp-block-site-title { font-size:22px; font-weight:600; letter-spacing:-.02em; white-space:nowrap; }
.ah-brand .wp-block-site-title a { text-decoration:none; }
.ah-header .wp-block-navigation { font-size:15px; font-weight:500; gap:1.5rem; }
.ah-header .wp-block-navigation a:hover { color:var(--wp--preset--color--primary); }
.ah-header .wp-block-navigation__responsive-container-open { padding:.7rem; border:1px solid var(--wp--preset--color--border); border-radius:.5rem; }
.ah-header .wp-block-navigation__responsive-container.is-menu-open { padding:2rem; background:#FBF9F6; color:#1C1B19; }
.ah-hero { padding-block:clamp(3rem,7vw,6.5rem); background:linear-gradient(165deg,#FBF9F6 0%,#F4EFE7 100%); border-bottom:1px solid var(--wp--preset--color--border); }
.ah-hero-grid { gap:clamp(2rem,5vw,5rem); align-items:center!important; }
.ah-hero-title { font-size:clamp(2.6rem,1.8rem + 3.6vw,4.25rem); line-height:1.06; letter-spacing:-.026em; max-width:12ch; margin-block:1.2rem 1.5rem; }
.ah-hero-copy { max-width:36rem; }
.ah-lede { font-size:1.125rem; color:var(--wp--preset--color--muted); line-height:1.75; }
.ah-eyebrow { font-family:var(--wp--preset--font-family--body); font-size:.9375rem; line-height:1.5; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--wp--preset--color--primary); margin-bottom:1rem; }
.ah-note { font-size:.8125rem; color:var(--wp--preset--color--muted); }
.ah-assurance { margin-top:1.5rem; font-size:.8125rem; color:var(--wp--preset--color--muted); }
.ah-status-card { background:#FFFFFF; border:1px solid var(--wp--preset--color--border); border-radius:var(--alanddin-radius); padding:clamp(1.5rem,3vw,2.5rem); box-shadow:var(--alanddin-shadow); }
.ah-status-card h2 { font-size:2rem; margin-block:0 1.5rem; }
.ah-checklist { padding:0; list-style:none; margin-block:1.5rem; }
.ah-checklist li { padding:.85rem 0 .85rem 1.8rem; border-bottom:1px solid var(--wp--preset--color--border); position:relative; font-size:.9375rem; }
.ah-checklist li::before { content:'✓'; position:absolute; left:0; color:var(--wp--preset--color--primary); font-weight:600; }
.ah-checklist li:last-child { border:0; }
.ah-section { padding-block:clamp(3rem,6vw,5rem); }
.ah-section-title { font-size:clamp(2rem,1.7rem + 1.2vw,3.15rem); line-height:1.12; letter-spacing:-.02em; max-width:24ch; margin-block:.75rem 1.25rem; }
.ah-section-intro { font-family:var(--wp--preset--font-family--display); font-size:1.375rem; font-weight:600; line-height:1.7; color:var(--wp--preset--color--muted); max-width:42rem; margin-bottom:2rem; }
.ah-cards { gap:1.5rem; margin-top:2rem; }
.ah-card { padding:2rem; background:#FFFFFF; border:1px solid var(--wp--preset--color--border); border-radius:var(--alanddin-radius); box-shadow:var(--alanddin-shadow); height:100%; }
.ah-card h3 { font-size:1.65rem; line-height:1.2; margin-top:.75rem; }
.ah-card p { color:var(--wp--preset--color--muted); font-size:.9375rem; }
.ah-card .ah-number { color:var(--wp--preset--color--accent-strong); font-size:.8125rem; letter-spacing:.08em; font-weight:600; }
.ah-band { padding-block:3rem; background:linear-gradient(160deg,#14614C 0%,#0E4738 100%); color:#FBF9F6; }
.ah-band h2,.ah-band h3 { color:#FBF9F6; font-size:1.8rem; }
.ah-band p { color:#E7F0EC; font-size:.9375rem; }
.ah-band .wp-block-column + .wp-block-column { border-left:1px solid rgba(251,249,246,.22); padding-left:2rem; }
.ah-band :focus-visible { outline-color:#FBF0DF; }
.ah-plan { position:relative; display:flex; flex-direction:column; gap:.5rem; }
.ah-plan h3 { margin-block:.25rem; font-size:1.875rem; }
.ah-plan .ah-price { font-family:var(--wp--preset--font-family--display); font-size:3rem; font-weight:500; line-height:1.1; letter-spacing:-.02em; color:#1C1B19; margin-block:1.25rem .25rem; }
.ah-plan .ah-price small { font-family:var(--wp--preset--font-family--body); font-size:.8125rem; font-weight:400; letter-spacing:normal; color:var(--wp--preset--color--muted); }
.ah-plan .ah-plan-description { min-height:3.5rem; }
.ah-plan .wp-block-buttons { margin-top:auto; padding-top:1rem; }
.ah-plan .wp-block-button { width:100%; }
.ah-plan .wp-block-button__link { width:100%; }
.ah-plan-featured { border:2px solid var(--wp--preset--color--primary); background:#E7F0EC; }
.ah-plan-label { font-size:.75rem!important; font-weight:600; text-transform:uppercase; letter-spacing:.1em; color:var(--wp--preset--color--primary)!important; }
.ah-plan-list { padding-left:1.15rem; font-size:.9375rem; margin-block:1rem 1.5rem; }
.ah-plan-list li { margin-block:.5rem; }
.ah-faq { max-width:48rem!important; }
.ah-faq .wp-block-details { border-bottom:1px solid var(--wp--preset--color--border); padding:1.15rem 0; }
.ah-faq summary { cursor:pointer; font-weight:500; font-size:1.0625rem; padding:.25rem; }
.ah-faq .wp-block-details p { color:var(--wp--preset--color--muted); padding-left:.25rem; }
.ah-about { background:#E7F0EC; border-radius:var(--alanddin-radius); padding:clamp(1.5rem,4vw,3rem); }
.ah-about .ah-section-title { max-width:22ch; }
.ah-guide-list .wp-block-post { background:#FFFFFF; border:1px solid var(--wp--preset--color--border); border-radius:var(--alanddin-radius); padding:2rem; }
.ah-guide-list .wp-block-post-title { font-size:1.75rem; }
.ah-guide-list .wp-block-post-title a { text-decoration:none; }
.ah-guide-list .wp-block-post-excerpt { font-size:.9375rem; color:var(--wp--preset--color--muted); }
.ah-guide-list .wp-block-post-date { font-size:.8125rem; color:var(--wp--preset--color--muted); }
.ah-contact { background:linear-gradient(165deg,#FBF9F6 0%,#F4EFE7 100%); border-top:1px solid var(--wp--preset--color--border); }
.ah-contact .ah-section-title { max-width:26ch; }
.ah-footer { padding-block:3rem 1.5rem; border-top:1px solid var(--wp--preset--color--border); }
.ah-footer h2 { font-size:1.1rem; }
.ah-footer p,.ah-footer a { font-size:.9375rem; }
.ah-footer-bottom { border-top:1px solid var(--wp--preset--color--border); padding-top:1.5rem; margin-top:2rem; font-size:.8125rem; color:var(--wp--preset--color--muted); }
.ah-footer-bottom p,.ah-footer-bottom a { font-size:inherit; }
.wp-block-button__link { transition:background var(--alanddin-motion),box-shadow var(--alanddin-motion); }
.wp-block-button__link:hover { background:var(--wp--preset--color--primary-strong); color:var(--wp--preset--color--base); box-shadow:var(--alanddin-shadow); }
.wp-block-button.is-style-outline .wp-block-button__link { background:transparent; color:var(--wp--preset--color--primary); border:1px solid var(--wp--preset--color--primary); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background:var(--wp--preset--color--primary-tint); color:var(--wp--preset--color--primary-strong); }
.ah-document { padding-block:clamp(2.5rem,6vw,5rem); min-height:50vh; }
.ah-document .wp-block-post-title { line-height:1.12; }
.ah-document .wp-block-post-content { line-height:1.8; }
.ah-document .wp-block-post-content h2 { margin-top:2.5rem; }
.wp-block-post-content :where(pre,table) { max-width:100%; overflow-x:auto; }
.wp-block-search__input,input,textarea { border:1px solid var(--wp--preset--color--border); border-radius:.5rem; padding:.75rem; font:inherit; background:#FFFFFF; color:#1C1B19; }
.wp-block-search__button { border:0; border-radius:999px; padding:.75rem 1.25rem; background:#14614C; color:#FBF9F6; font:inherit; cursor:pointer; }
.wp-block-query-pagination { margin-top:2rem; }
.wp-block-post-featured-image img { border-radius:1rem; }
@media (min-width:782px) { .ah-plan-featured { transform:translateY(-.5rem); } }
@media (max-width:900px) and (min-width:600px) { .ah-header-row { flex-wrap:wrap!important; } }
@media (max-width:781px) {
 .ah-hero-grid,.ah-cards { gap:1.5rem; }
 .ah-status-card { margin-top:1rem; }
 .ah-plan .ah-plan-description { min-height:0; }
 .ah-band .wp-block-column + .wp-block-column { border-left:0; border-top:1px solid rgba(251,249,246,.22); padding:1.25rem 0 0; }
 .ah-card { padding:1.5rem; }
 .ah-guide-list .wp-block-post-template.is-layout-grid { grid-template-columns:1fr; }
 .ah-header-row { flex-wrap:nowrap!important; }
 .ah-footer-bottom { align-items:flex-start!important; }
}
@media (max-width:380px) { .ah-brand .wp-block-site-title { font-size:19px; } .ah-logo,.ah-logo img { width:54px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; animation:none!important; } }
@media print { .ah-header .wp-block-navigation,.wp-block-buttons { display:none; } .ah-section { padding-block:1rem; } .ah-card { box-shadow:none; } }
