/*
Theme Name: Aquavap Group GP Child
Template: generatepress
Version: 1.0.0
Description: GeneratePress child theme generated by the Phasma migration rail from the source site's own stylesheets. Reproduces the global look; see the engagement's draft record for what was not carried.
*/

/* Design tokens — written by the Phasma migration rail from the signed design brief.
 *
 * PLATFORM-OWNED. Every value below was validated before it was written and none of it is
 * model output; the stylesheet under it refers to these by name. Polish the site here:
 * change a value once and every rule that uses it follows. Values the brief did not give
 * (or that it gave badly — see the draft record's `brief_unhonoured`) carry the neutral
 * default, so the site renders either way.
 */
:root {
	--phasma-color-primary: #4f6d8a;
	--phasma-color-secondary: #232b38;
	--phasma-color-background: #ffffff;
	--phasma-color-text: #1a192e;
	--phasma-color-muted: #5b6874;
	--phasma-color-accent: #4f6d8a;
	--phasma-font-heading: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--phasma-font-body: Arial;
	--phasma-size-body: 17px;
	--phasma-line-body: 1.6;
	--phasma-weight-body: 400;
	--phasma-size-h1: 40px;
	--phasma-line-h1: 1.15;
	--phasma-weight-h1: 700;
	--phasma-size-h2: 30px;
	--phasma-line-h2: 1.2;
	--phasma-weight-h2: 700;
	--phasma-size-h3: 24px;
	--phasma-line-h3: 1.25;
	--phasma-weight-h3: 600;
	--phasma-size-small: 14px;
	--phasma-line-small: 1.5;
	--phasma-weight-small: 400;
	--phasma-container-max: 1100px;
	--phasma-grid-columns: 12;
	--phasma-space-1: 4px;
	--phasma-space-2: 8px;
	--phasma-space-3: 16px;
	--phasma-space-4: 24px;
	--phasma-space-5: 32px;
	--phasma-space-6: 48px;
	--phasma-space-7: 64px;
}

@media (max-width: 782px) {
	:root {
		--phasma-size-body: 16px;
		--phasma-size-h1: 32px;
		--phasma-size-h2: 26px;
		--phasma-size-h3: 21px;
	}
}

/* =============================================================
   Aquavap Group — GeneratePress Child Theme
   Target design: primary #4f6d8a, body font Arial
   ============================================================= */

/* -------------------------------------------------------------
   Typography — body
   ------------------------------------------------------------- */
body {
    font-family: var(--phasma-font-body);
    font-size: var(--phasma-size-body);
    line-height: var(--phasma-line-body);
    font-weight: var(--phasma-weight-body);
    color: var(--phasma-color-text);
    background-color: var(--phasma-color-background);
}

/* -------------------------------------------------------------
   Typography — headings
   ------------------------------------------------------------- */
h1, .h1 {
    font-family: var(--phasma-font-heading);
    font-size: var(--phasma-size-h1);
    line-height: var(--phasma-line-h1);
    font-weight: var(--phasma-weight-h1);
    color: var(--phasma-color-text);
}

h2, .h2 {
    font-family: var(--phasma-font-heading);
    font-size: var(--phasma-size-h2);
    line-height: var(--phasma-line-h2);
    font-weight: var(--phasma-weight-h2);
    color: var(--phasma-color-text);
}

h3, .h3 {
    font-family: var(--phasma-font-heading);
    font-size: var(--phasma-size-h3);
    line-height: var(--phasma-line-h3);
    font-weight: var(--phasma-weight-h3);
    color: var(--phasma-color-text);
}

h4, h5, h6 {
    font-family: var(--phasma-font-heading);
    color: var(--phasma-color-text);
}

/* Small / meta text */
small,
.small,
.entry-meta,
.post-meta {
    font-size: var(--phasma-size-small);
    line-height: var(--phasma-line-small);
    font-weight: var(--phasma-weight-small);
    color: var(--phasma-color-muted);
}

/* -------------------------------------------------------------
   Links
   ------------------------------------------------------------- */
a {
    color: var(--phasma-color-primary);
    text-decoration: none;
}

a:hover,
a:focus {
    color: var(--phasma-color-secondary);
    text-decoration: underline;
}

/* -------------------------------------------------------------
   Layout — inner container
   ------------------------------------------------------------- */
.inside-header,
.site-inner,
.inside-navigation,
.inside-top-bar,
.inside-site-info,
.inside-footer-widgets,
.gb-container .gb-inside-container {
    max-width: var(--phasma-container-max);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--phasma-space-4);
    padding-right: var(--phasma-space-4);
}

/* -------------------------------------------------------------
   Header
   ------------------------------------------------------------- */
.site-header {
    background-color: var(--phasma-color-secondary);
    border-bottom: 3px solid var(--phasma-color-primary);
}

.site-title a,
.site-title a:hover {
    color: #fff;
    text-decoration: none;
}

.site-description {
    color: rgba(255, 255, 255, 0.7);
    font-size: var(--phasma-size-small);
}

/* -------------------------------------------------------------
   Navigation
   ------------------------------------------------------------- */
.main-navigation,
.nav-primary {
    background-color: var(--phasma-color-secondary);
}

.main-navigation a,
.nav-primary a {
    color: #fff;
    font-family: var(--phasma-font-body);
}

.main-navigation a:hover,
.nav-primary a:hover,
.main-navigation .current-menu-item > a,
.nav-primary .current-menu-item > a {
    color: var(--phasma-color-primary);
    text-decoration: none;
}

.main-navigation .sub-menu {
    background-color: var(--phasma-color-secondary);
    border-top: 2px solid var(--phasma-color-primary);
}

.main-navigation .sub-menu a:hover {
    background-color: var(--phasma-color-primary);
    color: #fff;
}

/* -------------------------------------------------------------
   Buttons
   ------------------------------------------------------------- */
.button,
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.wp-block-button__link {
    background-color: var(--phasma-color-primary);
    color: #fff;
    border: none;
    border-radius: 3px;
    padding: var(--phasma-space-2) var(--phasma-space-4);
    font-family: var(--phasma-font-body);
    font-size: var(--phasma-size-small);
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.button:hover,
button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover {
    background-color: var(--phasma-color-secondary);
    color: #fff;
    text-decoration: none;
}

/* -------------------------------------------------------------
   Content area
   ------------------------------------------------------------- */
.content-area {
    padding-top: var(--phasma-space-6);
    padding-bottom: var(--phasma-space-6);
}

.entry-title a {
    color: var(--phasma-color-text);
}

.entry-title a:hover {
    color: var(--phasma-color-primary);
    text-decoration: none;
}

/* Horizontal rule */
hr {
    border: none;
    border-top: 1px solid #e1e1e1;
    margin: var(--phasma-space-5) 0;
}

/* -------------------------------------------------------------
   Sidebar widgets
   ------------------------------------------------------------- */
.widget-title {
    font-size: var(--phasma-size-h3);
    font-weight: var(--phasma-weight-h3);
    color: var(--phasma-color-text);
    border-bottom: 2px solid var(--phasma-color-primary);
    padding-bottom: var(--phasma-space-2);
    margin-bottom: var(--phasma-space-3);
}

.widget a {
    color: var(--phasma-color-primary);
}

.widget a:hover {
    color: var(--phasma-color-secondary);
}

/* -------------------------------------------------------------
   Footer
   ------------------------------------------------------------- */
.site-footer {
    background-color: var(--phasma-color-secondary);
    color: rgba(255, 255, 255, 0.75);
    padding: var(--phasma-space-5) 0;
    font-size: var(--phasma-size-small);
}

.site-footer a {
    color: var(--phasma-color-primary);
}

.site-footer a:hover {
    color: #fff;
}

/* -------------------------------------------------------------
   Forms
   ------------------------------------------------------------- */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="password"],
textarea,
select {
    border: 1px solid #dedede;
    border-radius: 3px;
    padding: var(--phasma-space-2) var(--phasma-space-3);
    font-family: var(--phasma-font-body);
    font-size: var(--phasma-size-body);
    color: var(--phasma-color-text);
    background-color: #fff;
    width: 100%;
    box-sizing: border-box;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
    border-color: var(--phasma-color-primary);
    outline: none;
    box-shadow: 0 0 0 2px rgba(79, 109, 138, 0.2);
}

/* -------------------------------------------------------------
   Tables
   ------------------------------------------------------------- */
table {
    border-collapse: collapse;
    width: 100%;
    margin-bottom: var(--phasma-space-4);
}

th, td {
    padding: var(--phasma-space-2) var(--phasma-space-3);
    border: 1px solid #e1e1e1;
    text-align: left;
}

th {
    background-color: var(--phasma-color-secondary);
    color: #fff;
    font-weight: 600;
}

tr:nth-child(even) {
    background-color: #f8f8f8;
}

/* -------------------------------------------------------------
   Utility — muted / secondary text
   ------------------------------------------------------------- */
.text-muted,
.byline,
.posted-on,
.cat-links {
    color: var(--phasma-color-muted);
    font-size: var(--phasma-size-small);
}

/* -------------------------------------------------------------
   Accent colour hook (platform writes per-site body class rule)
   ------------------------------------------------------------- */
.accent-bg {
    background-color: var(--phasma-color-accent);
}

.accent-text {
    color: var(--phasma-color-accent);
}
