/*
Theme Name: Take Aim Online
Theme URI: https://takeaimonline.com
Author: Take Aim Online
Description: Block theme for Take Aim Online — website design, SEO and content creation. Wireframe/blueprint aesthetic: hairline-framed objects with registration corner marks, condensed uppercase headings, orange accent on near-black.
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 8.0
Version: 1.0.5
License: GNU General Public License v2 or later
Text Domain: takeaim
Tags: block-theme, full-site-editing, business, one-column, custom-colors
*/

/* Design tokens live in theme.json. This sheet carries only what theme.json
   cannot express: the blueprint frame, its registration marks, the duotone
   image treatment, and the condensed-heading optical details. */

:root {
  --ta-rule: rgba(20, 20, 20, 0.18);
  --ta-mark: rgba(20, 20, 20, 0.55);
}

@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('assets/fonts/barlow-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('assets/fonts/barlow-500.woff2') format('woff2');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('assets/fonts/barlow-condensed-600.woff2') format('woff2');
}

/* — blueprint frame: add the .ta-blueprint class to any group/columns/image — */
.ta-blueprint {
  position: relative;
  border: 1px solid var(--ta-rule);
  border-radius: 0;
  background: transparent;
}
.ta-blueprint::before,
.ta-blueprint::after,
.ta-blueprint > .ta-corner::before,
.ta-blueprint > .ta-corner::after { content: ""; position: absolute; }

/* the four "+" registration marks are drawn with layered gradients so the
   pattern needs no extra markup in the editor */
.ta-blueprint::before,
.ta-blueprint::after {
  width: 11px; height: 11px; pointer-events: none;
  background:
    linear-gradient(var(--ta-mark), var(--ta-mark)) 5px 0 / 1px 100% no-repeat,
    linear-gradient(var(--ta-mark), var(--ta-mark)) 0 5px / 100% 1px no-repeat;
}
.ta-blueprint::before { top: -6px; left: -6px; }
.ta-blueprint::after  { top: -6px; right: -6px; }
.ta-blueprint > .ta-corner { position: absolute; bottom: -6px; width: 11px; height: 11px; pointer-events: none;
  background:
    linear-gradient(var(--ta-mark), var(--ta-mark)) 5px 0 / 1px 100% no-repeat,
    linear-gradient(var(--ta-mark), var(--ta-mark)) 0 5px / 100% 1px no-repeat; }
.ta-blueprint > .ta-corner.left  { left: -6px; }
.ta-blueprint > .ta-corner.right { right: -6px; }

/* on the dark field the marks and rules reverse */
.ta-invert { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--paper); }
.ta-invert .ta-blueprint { --ta-rule: rgba(242, 242, 243, 0.28); --ta-mark: rgba(242, 242, 243, 0.6); }

/* — kicker: the small uppercase label above a hairline rule — */
.ta-kicker {
  display: block; font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--wp--preset--color--accent-deep);
  margin-bottom: 0.75rem;
}
.ta-rule { height: 1px; background: var(--ta-rule); border: 0; margin: 0 0 2rem; }
.ta-invert .ta-rule { background: rgba(242, 242, 243, 0.24); }

/* — headings: condensed, uppercase, optically aligned — */
.wp-site-blocks h1, .wp-site-blocks h2, .wp-site-blocks h3,
.wp-site-blocks h4, .wp-site-blocks h5, .wp-site-blocks h6 {
  text-transform: uppercase; letter-spacing: 0.02em; text-wrap: balance;
}
.ta-display { margin-left: -0.05em; line-height: 1.04; letter-spacing: 0.01em; }

/* — duotone photographs: desaturated and washed in the accent — */
.ta-duotone { position: relative; overflow: hidden; aspect-ratio: 4 / 3; background: var(--wp--preset--color--rule); }
.ta-duotone img[src='']{ display: none; }
.ta-duotone img { display: block; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.05); }
.ta-duotone::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: var(--wp--preset--color--accent); mix-blend-mode: color; }

/* — the AIM logo lockup (site title is replaced by this in the header part) — */
.ta-logo { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: inherit; }
.ta-logo__mark { display: grid; justify-items: start; }
.ta-logo__word { font-family: var(--wp--preset--font-family--heading); font-weight: 600;
  font-size: 1.625rem; line-height: 0.9; letter-spacing: 0.05em; text-transform: uppercase; }
.ta-logo__word em { font-style: normal; color: var(--wp--preset--color--accent); }
.ta-logo__rule { display: block; width: 100%; height: 2px; background: currentColor; margin-top: 5px; }
.ta-logo__name { font-size: 0.625rem; font-weight: 600; letter-spacing: 0.22em;
  text-transform: uppercase; opacity: 0.7; }
@media (max-width: 600px) { .ta-logo__name { display: none; } }

/* — tables read as printed data sheets — */
.wp-block-table table { border-collapse: collapse; width: 100%; }
.wp-block-table th { font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; text-align: left; opacity: 0.7; }
.wp-block-table th, .wp-block-table td {
  border: 0; border-bottom: 1px solid var(--ta-rule); padding: 0.75rem 1.5rem 0.75rem 0; }
.wp-block-table tr:last-child td { border-bottom: 0; }
.ta-num { font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.08em;
  color: var(--wp--preset--color--accent-deep); font-variant-numeric: tabular-nums; }
.ta-val { font-family: var(--wp--preset--font-family--heading); font-weight: 600;
  font-size: 1.375rem; letter-spacing: 0.02em; white-space: nowrap; font-variant-numeric: tabular-nums; }

/* — interaction states: never the browser default — */
a { color: var(--wp--preset--color--accent-deep); text-decoration: none; }
a:hover { color: var(--wp--preset--color--accent); }
:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 2px; }
::selection { background: rgba(224, 78, 22, 0.22); }
.wp-block-button__link { border-radius: 0 !important; min-height: 44px; display: inline-flex;
  align-items: center; font-size: 0.9375rem; letter-spacing: 0.01em; }
.wp-block-button__link:hover { background: var(--wp--preset--color--accent-600) !important; }
.is-style-outline .wp-block-button__link { border: 1px solid var(--ta-rule); }
.is-style-outline .wp-block-button__link:hover { background: rgba(20, 20, 20, 0.06) !important;
  color: var(--wp--preset--color--ink) !important; }

/* — duotone placeholder: shown until a real project screenshot replaces it — */
.ta-duotone.ta-placeholder { display: flex; align-items: center; justify-content: center; text-align: center; padding: 1rem; }
.ta-placeholder__label { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ta-mark); }

/* — service-schedule title bar: data-sheet header above the table — */
.ta-schedule-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0.75rem 1rem; }
.ta-schedule-head__title { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 0.9375rem;
  letter-spacing: 0.03em; text-transform: uppercase; }
.ta-schedule-head__tags { display: flex; gap: 0.625rem; }
.ta-tag { display: inline-flex; align-items: center; font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; border: 1px solid var(--ta-rule); padding: 0.3125rem 0.625rem; color: var(--ta-mark); }
