/*
Theme Name: Water Distiller Parts
Theme URI: https://waterdistillerparts.com
Author: WaterDistillers.com
Author URI: https://waterdistillers.com
Description: One-page guide to water distiller parts and filters for Durastill, Pure Water, Waterwise, Dolfyn and non-electric distillers. Every section links to WaterDistillers.com.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: distiller-parts
*/

:root {
	--char: #1c232b;
	--char-2: #2a333d;
	--cobalt: #1f5fd6;
	--cobalt-dark: #164aa8;
	--cobalt-soft: #eaf1fd;
	--amber: #f5b027;
	--ink: #1c232b;
	--muted: #5e6a76;
	--line: #e3e7ec;
	--bg-alt: #f5f6f8;
	--radius: 14px;
	--font: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 84px; }
body { margin: 0; font-family: var(--font); color: var(--ink); background: #fff; line-height: 1.6; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--cobalt); }
h1, h2, h3 { line-height: 1.18; margin: 0 0 .5em; color: var(--char); letter-spacing: -.015em; }
h1 { font-size: clamp(2.2rem, 5.2vw, 3.5rem); font-weight: 800; }
h2 { font-size: clamp(1.7rem, 3.6vw, 2.4rem); font-weight: 800; }
h3 { font-size: 1.12rem; font-weight: 700; }
p { margin: 0 0 1em; }

.wrap { width: min(1200px, 100% - 32px); margin-inline: auto; }
section { padding: clamp(56px, 7.5vw, 96px) 0; }
.alt { background: var(--bg-alt); }
.kicker { display: inline-flex; align-items: center; gap: 8px; font-size: .8rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--cobalt); margin-bottom: .8em; }
.kicker::before { content: ""; width: 10px; height: 10px; border-radius: 3px; background: var(--amber); }
.lead { font-size: 1.1rem; color: var(--muted); max-width: 700px; }
.sec-head { display: flex; justify-content: space-between; align-items: end; gap: 24px; flex-wrap: wrap; margin-bottom: 36px; }
.sec-head .lead { margin: 0; }

.btn { display: inline-flex; align-items: center; gap: .5em; padding: .9em 1.5em; border-radius: 10px; font-weight: 700; text-decoration: none; transition: background .15s, transform .15s; }
.btn:hover { transform: translateY(-1px); }
.btn-cobalt { background: var(--cobalt); color: #fff; }
.btn-cobalt:hover { background: var(--cobalt-dark); }
.btn-amber { background: var(--amber); color: var(--char); }
.btn-outline { border: 2px solid var(--line); color: var(--char); }

/* Header */
.site-header { position: sticky; top: 0; z-index: 50; background: #fff; border-bottom: 1px solid var(--line); }
.site-header .wrap { display: flex; align-items: center; justify-content: space-between; gap: 16px; height: 70px; }
.brand { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--char); font-weight: 800; font-size: 1.15rem; letter-spacing: -.02em; }
.brand-icon { width: 34px; height: 34px; border-radius: 9px; background: var(--char); display: grid; place-items: center; flex: none; }
.brand-icon::before { content: ""; width: 12px; height: 12px; border: 3px solid var(--amber); border-radius: 50%; }
.brand b { color: var(--cobalt); }
.brand img { max-height: 44px; width: auto; }
.header-nav { display: flex; align-items: center; gap: 24px; }
.header-nav a { color: var(--ink); text-decoration: none; font-weight: 600; font-size: .94rem; }
.header-nav a:hover { color: var(--cobalt); }
.header-nav .btn { padding: .55em 1.1em; font-size: .9rem; color: #fff; }
@media (max-width: 900px) { .header-nav .nav-link { display: none; } }

/* Hero */
.hero { background: var(--char); color: #fff; padding-bottom: clamp(56px, 7vw, 88px); }
.hero .wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
.hero .wrap > * { min-width: 0; }
.hero h1 { color: #fff; }
.hero .kicker { color: #9fc0f7; }
.hero .lead { color: #b8c3ce; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 28px 0 22px; }
.hero-note { color: #b8c3ce; font-size: .95rem; }
.hero-note a { color: #fff; font-weight: 700; text-decoration: none; }
.directory { background: var(--char-2); border-radius: 18px; padding: 26px; display: grid; grid-template-columns: 1fr 1fr; gap: 22px; border: 1px solid rgba(255, 255, 255, .08); }
.directory h2 { font-size: .8rem; text-transform: uppercase; letter-spacing: .1em; color: var(--amber); margin: 0 0 10px; }
.directory ul { list-style: none; margin: 0; padding: 0; }
.directory li a { display: block; padding: 7px 0; color: #e3e9ef; text-decoration: none; border-bottom: 1px solid rgba(255, 255, 255, .07); font-weight: 500; font-size: .94rem; }
.directory li a:hover { color: #fff; padding-left: 4px; }
@media (max-width: 900px) { .hero .wrap { grid-template-columns: 1fr; } }
@media (max-width: 480px) { .directory { grid-template-columns: 1fr; } }

/* Area cards */
.area-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.area { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); display: flex; flex-direction: column; overflow: hidden; scroll-margin-top: 90px; }
.area-top { display: grid; grid-template-columns: 96px 1fr; gap: 16px; padding: 22px 22px 0; align-items: center; }
.area-img { width: 96px; height: 96px; border-radius: 12px; background: var(--bg-alt); display: grid; place-items: center; padding: 8px; }
.area-img img { max-height: 100%; object-fit: contain; }
.area-img.icon { background: var(--cobalt-soft); color: var(--cobalt); font-weight: 800; font-size: 1.6rem; }
.area h3 { margin: 0; }
.area-body { padding: 14px 22px 22px; display: flex; flex-direction: column; flex: 1; }
.area-body > p { color: var(--muted); font-size: .94rem; }
.area ul { list-style: none; padding: 0; margin: 0 0 18px; flex: 1; }
.area li { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-top: 1px dashed var(--line); font-size: .9rem; }
.area li a, .area li span.n { color: var(--ink); text-decoration: none; }
.area li a:hover { color: var(--cobalt); }
.area li .p { color: var(--muted); font-weight: 600; white-space: nowrap; }
.area .shop { font-weight: 700; text-decoration: none; color: var(--cobalt); display: inline-flex; gap: 6px; }
.area .shop:hover { text-decoration: underline; }
.area.featured { border-color: var(--char); box-shadow: inset 0 4px 0 var(--amber); }
@media (max-width: 1000px) { .area-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .area-grid { grid-template-columns: 1fr; } }

/* Filter guide table */
.guide { width: 100%; border-collapse: collapse; background: #fff; border-radius: var(--radius); overflow: hidden; border: 1px solid var(--line); font-size: .95rem; }
.guide th { background: var(--char); color: #fff; text-align: left; padding: 14px 16px; font-size: .82rem; letter-spacing: .04em; text-transform: uppercase; }
.guide td { padding: 14px 16px; border-top: 1px solid var(--line); vertical-align: top; }
.guide td:first-child { font-weight: 700; }
.guide td:last-child a { font-weight: 700; text-decoration: none; white-space: nowrap; }
@media (max-width: 760px) {
	.guide thead { display: none; }
	.guide, .guide tbody, .guide tr, .guide td { display: block; width: 100%; }
	.guide tr { padding: 14px 16px; border-top: 1px solid var(--line); }
	.guide td { border: 0; padding: 2px 0; }
	.guide td[data-l]::before { content: attr(data-l) ": "; color: var(--muted); font-weight: 600; }
}

/* Maintenance */
.maint { display: grid; grid-template-columns: .8fr 1.2fr; gap: 36px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: clamp(24px, 4vw, 44px); }
.maint .area-img { width: 100%; height: auto; aspect-ratio: 1; }
.maint ul { list-style: none; padding: 0; margin: 0 0 22px; }
.maint li { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-top: 1px solid var(--line); }
.maint li a { color: var(--ink); text-decoration: none; font-weight: 600; }
.maint li .p { color: var(--muted); font-weight: 600; white-space: nowrap; }
@media (max-width: 820px) { .maint { grid-template-columns: 1fr; } .maint .area-img { max-width: 260px; } }

/* Help band */
.help { background: var(--cobalt); color: #fff; }
.help .wrap { display: grid; grid-template-columns: 1.3fr 1fr; gap: 36px; align-items: center; }
.help h2 { color: #fff; }
.help p { color: #dbe6fb; }
.help-box { background: rgba(0, 0, 0, .16); border-radius: 16px; padding: 26px; }
.help-box a.tel { display: block; color: #fff; font-size: 1.6rem; font-weight: 800; text-decoration: none; margin-bottom: 4px; }
.help-box small { color: #dbe6fb; display: block; margin-bottom: 18px; }
@media (max-width: 820px) { .help .wrap { grid-template-columns: 1fr; } }

/* FAQ */
.faq-list { max-width: 900px; }
.faq details { background: #fff; border: 1px solid var(--line); border-radius: 12px; margin-bottom: 10px; padding: 0 22px; }
.faq details[open] { border-color: var(--cobalt); }
.faq summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 0; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; width: 28px; height: 28px; flex: none; border-radius: 8px; background: var(--cobalt-soft); color: var(--cobalt); display: grid; place-items: center; font-weight: 700; }
.faq details[open] summary::after { content: "−"; background: var(--cobalt); color: #fff; }
.faq summary h3 { margin: 0; font-size: 1.04rem; }
.faq details p { color: var(--muted); margin: 0 0 20px; }

.site-footer { background: var(--char); color: #93a1ae; padding: 30px 0; font-size: .86rem; }
.site-footer .wrap { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.site-footer a { color: #fff; }
