/*
Theme Name: othMidnightSteel
Theme URI: https://www.othdetail.com/
Author: Webified Services
Author URI: https://webifiedservices.com/
Description: Off The Hood "Midnight Steel" (Theme 5, Option A) — a dark navy, steel-blue editorial look built from the OTH logo palette. Requires the "Off The Hood — Content" plugin for pages, blog, and the instant-quote tool.
Version: 1.0.0
License: GPL-2.0+
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: othmidnightsteel
*/

/* =====================================================================
   Off The Hood — "Midnight Steel" (Option A)
   ink #0E1420 · navy #16243A · steel #4A86B8 · sky #6FA8D4 · paper #F2F5F8
   ===================================================================== */
:root{
  --ink:#0E1420; --navy:#16243A; --steel:#4A86B8; --sky:#6FA8D4;
  --paper:#F2F5F8; --card:#141c29; --line:#223044; --muted:#aeb8c6;
  --text:#e7ecf3; --white:#fff; --ok:#1f9d6b; --max:1180px;
  --serif:Georgia,'Times New Roman',serif;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
}

html.oth-html, html.oth-html body{ margin:0; padding:0; }
.oth-page{
  margin:0; background:var(--ink); color:var(--text);
  font-family:var(--sans); font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.oth-page *{ box-sizing:border-box; }
.oth-page img{ max-width:100%; }
.oth-page a{ color:var(--sky); text-decoration:none; }
.oth-page a:hover{ color:var(--steel); }
.oth-wrap{ max-width:var(--max); margin:0 auto; padding:0 24px; }
.oth-page h1,.oth-page h2,.oth-page h3,.oth-page h4{ font-family:var(--serif); font-weight:400; color:#fff; line-height:1.2; }
.oth-page main{ display:block; }

/* ---------- Buttons ---------- */
.oth-btn{ display:inline-block; cursor:pointer; border:0; border-radius:6px;
  padding:14px 30px; font-family:var(--sans); font-size:12.5px; letter-spacing:2px;
  text-transform:uppercase; font-weight:600; transition:.15s; }
.oth-btn--primary{ background:var(--steel); color:#fff; }
.oth-btn--primary:hover{ background:#3f76a3; color:#fff; }
.oth-btn--ghost{ border:1px solid #44505f; color:var(--text); background:transparent; }
.oth-btn--ghost:hover{ border-color:var(--steel); color:#fff; }
.oth-btn--sm{ padding:9px 18px; letter-spacing:1px; }

/* ---------- Header / nav ---------- */
.oth-header{ position:sticky; top:0; z-index:120; background:rgba(10,14,22,.92);
  backdrop-filter:blur(8px); border-bottom:1px solid var(--line); }
.oth-nav{ display:flex; align-items:center; justify-content:space-between;
  max-width:var(--max); margin:0 auto; padding:12px 24px; gap:16px; }
.oth-nav__logo img{ height:50px; width:auto; display:block; }
.oth-nav__name{ color:#fff; font-family:var(--serif); font-size:20px; }
.oth-menu{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.oth-menu a{ color:var(--muted); font-size:12.5px; letter-spacing:1px; text-transform:uppercase;
  padding:8px 12px; border-radius:5px; }
.oth-menu a:hover,.oth-menu a.is-current{ color:#fff; }
.oth-menu .oth-cta{ border:1px solid var(--steel); color:var(--sky); margin-left:6px; }
.oth-menu .oth-cta:hover{ background:var(--steel); color:#fff; }
.oth-burger{ display:none; background:none; border:1px solid var(--line); border-radius:6px;
  width:44px; height:40px; cursor:pointer; color:#fff; font-size:20px; }

/* ---------- Hero ---------- */
.oth-hero{ position:relative; overflow:hidden; min-height:88vh; display:flex; align-items:center;
  text-align:center; background:var(--ink); }
.oth-hero__video,.oth-hero__poster{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.oth-hero__poster{ z-index:0; background:linear-gradient(120deg,#16243A,#0E1420); }
.oth-hero__video{ z-index:1; }
.oth-hero::after{ content:""; position:absolute; inset:0; z-index:2;
  background:linear-gradient(rgba(14,20,32,.62),rgba(14,20,32,.82)); }
.oth-hero__inner{ position:relative; z-index:3; width:100%; padding:120px 24px; }
.oth-hero .kicker{ letter-spacing:6px; text-transform:uppercase; font-size:12px; color:var(--sky); font-family:var(--sans); }
.oth-hero h1{ font-size:clamp(34px,6vw,58px); font-style:italic; margin:18px 0 16px; }
.oth-hero h1 span{ color:var(--sky); }
.oth-hero p.lede{ font-size:clamp(16px,2.2vw,19px); max-width:600px; margin:0 auto 30px; color:#d4dbe5; }
.oth-hero .oth-btn{ margin:6px; }

/* ---------- Strip ---------- */
.oth-strip{ background:#0a0f17; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  text-align:center; padding:20px; letter-spacing:3px; text-transform:uppercase;
  font-size:12px; color:#8a97a8; font-family:var(--sans); }
.oth-strip b{ color:var(--sky); }

/* ---------- Sections ---------- */
.oth-section{ padding:84px 0; }
.oth-section--alt{ background:#0b111b; }
.oth-section__head{ text-align:center; max-width:680px; margin:0 auto 50px; }
.oth-section__head .eyebrow{ letter-spacing:3px; text-transform:uppercase; font-size:11px; color:var(--steel); font-family:var(--sans); }
.oth-section__head h2{ font-size:clamp(28px,4vw,40px); font-style:italic; margin:10px 0 8px; }
.oth-section__head p{ color:var(--muted); }

/* ---------- Cards ---------- */
.oth-grid{ display:grid; gap:22px; }
.oth-grid--3{ grid-template-columns:repeat(3,1fr); }
.oth-grid--2{ grid-template-columns:repeat(2,1fr); }
.oth-grid--4{ grid-template-columns:repeat(4,1fr); }
.oth-card{ background:var(--card); border:1px solid var(--line); border-radius:12px; padding:34px 28px; transition:.15s; }
.oth-card:hover{ border-color:var(--steel); transform:translateY(-3px); }
.oth-card .num{ color:var(--sky); font-family:var(--sans); font-size:13px; letter-spacing:2px; }
.oth-card h3{ font-size:22px; margin:10px 0 4px; }
.oth-card .price{ color:var(--sky); font-size:20px; margin:0 0 14px; }
.oth-card ul{ list-style:none; margin:0; padding:0; color:var(--muted); font-size:14px; line-height:2; }
.oth-card ul li::before{ content:"›"; color:var(--steel); margin-right:8px; }
.oth-card .oth-btn{ margin-top:18px; }

/* ---------- Pricing tiers ---------- */
.oth-tiers{ display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.oth-tier{ background:var(--card); border:1px solid var(--line); border-radius:12px; padding:28px; }
.oth-tier h3{ font-size:20px; margin:0 0 4px; }
.oth-tier .lvl{ font-family:var(--sans); font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:var(--steel); }
.oth-tier .price{ color:var(--sky); font-size:24px; margin:8px 0 12px; font-family:var(--serif); }
.oth-tier ul{ list-style:none; margin:0; padding:0; color:var(--muted); font-size:14px; line-height:1.95; }
.oth-tier ul li::before{ content:"✓"; color:var(--steel); margin-right:8px; }
.oth-badge{ display:inline-block; background:var(--steel); color:#fff; font-family:var(--sans);
  font-size:10px; letter-spacing:1px; text-transform:uppercase; padding:3px 9px; border-radius:999px; margin-left:8px; }

/* ---------- CTA band ---------- */
.oth-band{ background:linear-gradient(90deg,#16243A,#0E1420); border-top:1px solid var(--line); text-align:center; padding:74px 24px; }
.oth-band h2{ font-size:clamp(26px,4vw,36px); font-style:italic; margin:0 0 18px; color:#fff; }
.oth-band__sub{ color:#cdd6e2; max-width:560px; margin:0 auto 22px; }

/* ---------- Prose ---------- */
.oth-prose{ max-width:760px; margin:0 auto; font-size:17px; }
.oth-prose h2{ font-size:28px; font-style:italic; margin:42px 0 14px; }
.oth-prose h3{ font-size:21px; margin:30px 0 10px; color:#dbe3ee; }
.oth-prose p{ margin:0 0 18px; color:#cdd6e2; }
.oth-prose ul,.oth-prose ol{ margin:0 0 18px; padding-left:22px; color:#cdd6e2; }
.oth-prose li{ margin:6px 0; }
.oth-prose strong{ color:#fff; }
.oth-prose blockquote{ border-left:3px solid var(--steel); margin:24px 0; padding:8px 0 8px 20px; color:var(--muted); font-style:italic; }
.oth-prose img{ border-radius:10px; margin:24px auto; }
.oth-lead{ font-size:19px; color:#e7ecf3; }

/* ---------- FAQ ---------- */
.oth-faq{ max-width:820px; margin:0 auto; }
.oth-faq__item{ border:1px solid var(--line); border-radius:10px; margin-bottom:12px; background:var(--card); overflow:hidden; }
.oth-faq__q{ width:100%; text-align:left; background:none; border:0; color:#fff; cursor:pointer;
  font-family:var(--serif); font-size:18px; padding:20px 22px; display:flex; justify-content:space-between; gap:14px; align-items:center; }
.oth-faq__q .ico{ color:var(--steel); font-size:22px; transition:.2s; flex:none; }
.oth-faq__item.open .ico{ transform:rotate(45deg); }
.oth-faq__a{ max-height:0; overflow:hidden; transition:max-height .25s ease; }
.oth-faq__a div{ padding:0 22px 20px; color:var(--muted); }

/* ---------- Gallery ---------- */
.oth-gallery{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.oth-gallery .ph{ aspect-ratio:4/3; border-radius:10px; border:1px dashed #2c3b50;
  background:linear-gradient(135deg,#13202f,#0d1722); display:flex; align-items:center; justify-content:center;
  color:#52647b; font-family:var(--sans); font-size:13px; letter-spacing:1px; text-align:center; padding:14px; }

/* ---------- Blog ---------- */
.oth-posts{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.oth-post-card{ background:var(--card); border:1px solid var(--line); border-radius:12px; overflow:hidden; display:flex; flex-direction:column; transition:.15s; }
.oth-post-card:hover{ border-color:var(--steel); transform:translateY(-3px); }
.oth-post-card .thumb{ aspect-ratio:16/9; background:linear-gradient(135deg,#16243A,#0d1722);
  display:flex; align-items:center; justify-content:center; color:#46586e; font-size:12px; letter-spacing:1px; text-transform:uppercase; }
.oth-post-card .thumb img{ width:100%; height:100%; object-fit:cover; }
.oth-post-card .body{ padding:22px; flex:1; display:flex; flex-direction:column; }
.oth-post-card h3{ font-size:19px; margin:0 0 8px; line-height:1.3; }
.oth-post-card h3 a{ color:#fff; }
.oth-post-card h3 a:hover{ color:var(--sky); }
.oth-post-card .excerpt{ color:var(--muted); font-size:14px; flex:1; }
.oth-post-card .meta{ color:#5f6f84; font-size:12px; margin-top:14px; font-family:var(--sans); letter-spacing:.5px; }
.oth-tag{ display:inline-block; background:#16243A; color:var(--sky); font-family:var(--sans);
  font-size:10px; letter-spacing:1px; text-transform:uppercase; padding:3px 9px; border-radius:4px; }
.oth-article{ padding:60px 0; }
.oth-article__head{ max-width:760px; margin:0 auto 30px; text-align:center; }
.oth-article__head h1{ font-size:clamp(28px,4.5vw,42px); font-style:italic; margin:14px 0; }
.oth-article__head .meta{ color:#5f6f84; font-size:13px; font-family:var(--sans); }
.oth-article__cta{ max-width:760px; margin:48px auto 0; padding-top:28px; border-top:1px solid var(--line); text-align:center; }
.oth-notice{ max-width:760px; margin:0 auto 30px; background:#16243A; border:1px solid var(--line);
  border-radius:10px; padding:14px 18px; color:var(--sky); font-size:13.5px; font-family:var(--sans); }

/* ---------- Forms ---------- */
.oth-form{ max-width:640px; margin:0 auto; }
.oth-field{ margin-bottom:16px; }
.oth-field label{ display:block; font-family:var(--sans); font-size:12px; letter-spacing:.5px; color:var(--muted); margin-bottom:6px; }
.oth-field input,.oth-field select,.oth-field textarea{ width:100%; padding:12px 14px; border-radius:8px;
  border:1px solid var(--line); background:#0d1521; color:#fff; font-size:15px; font-family:var(--sans); }
.oth-field input:focus,.oth-field select:focus,.oth-field textarea:focus{ outline:none; border-color:var(--steel); box-shadow:0 0 0 3px rgba(74,134,184,.18); }
.oth-field textarea{ min-height:130px; resize:vertical; }

/* ---------- Quote tool ---------- */
.oth-quote{ display:grid; grid-template-columns:1fr 360px; gap:26px; align-items:start; }
.oth-quote .qcard{ background:var(--card); border:1px solid var(--line); border-radius:14px; padding:24px; margin-bottom:22px; }
.oth-step{ display:flex; align-items:center; gap:10px; margin:0 0 8px; }
.oth-step .n{ width:26px; height:26px; border-radius:50%; background:var(--steel); color:#fff;
  font-size:13px; font-weight:700; display:flex; align-items:center; justify-content:center; font-family:var(--sans); }
.oth-step h3{ font-size:18px; margin:0; }
.oth-hint{ color:var(--muted); font-size:13px; margin:0 0 14px; }
.qsel{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; }
.qsel label{ font-size:11px; color:var(--muted); display:block; margin-bottom:5px; font-family:var(--sans); }
.qsel select{ width:100%; padding:11px 12px; border-radius:9px; border:1px solid var(--line); background:#0d1521; color:#fff; font-size:14px; }
.qsel select:disabled{ opacity:.5; }
.qnote{ font-size:11.5px; color:var(--muted); margin-top:10px; font-family:var(--sans); }
.qnote .dot{ display:inline-block; width:8px; height:8px; border-radius:50%; background:#7a8699; margin-right:6px; }
.qnote.live .dot{ background:var(--ok); } .qnote.err .dot{ background:#d9534f; }
.qtiles{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:12px; }
.qtile{ border:1.5px solid var(--line); border-radius:11px; padding:14px; cursor:pointer; transition:.14s; background:#0f1825; }
.qtile:hover{ border-color:var(--steel); }
.qtile.sel{ border-color:var(--steel); background:#16263a; box-shadow:0 0 0 3px rgba(74,134,184,.14); }
.qtile .t{ font-weight:600; font-size:14px; color:#fff; font-family:var(--sans); }
.qtile .d{ color:var(--muted); font-size:12px; margin-top:2px; }
.qtile .m{ float:right; color:var(--sky); font-size:12px; font-weight:700; }
.qpkgs{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; }
.qpkg{ border:1.5px solid var(--line); border-radius:11px; padding:16px; cursor:pointer; transition:.14s; position:relative; background:#0f1825; }
.qpkg:hover{ border-color:var(--steel); }
.qpkg.sel{ border-color:var(--steel); background:#16263a; box-shadow:0 0 0 3px rgba(74,134,184,.14); }
.qpkg .lvl{ font-size:11px; text-transform:uppercase; letter-spacing:1px; color:var(--muted); font-family:var(--sans); }
.qpkg h4{ margin:2px 0; font-size:15px; color:#fff; }
.qpkg ul{ margin:10px 0 0; padding-left:16px; color:var(--muted); font-size:12.5px; line-height:1.7; }
.qpkg .pop{ position:absolute; top:-10px; right:10px; background:var(--steel); color:#fff; font-family:var(--sans);
  font-size:10px; letter-spacing:.5px; padding:3px 8px; border-radius:999px; }
.qadds{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.qadd{ display:flex; align-items:center; gap:10px; border:1px solid var(--line); border-radius:9px; padding:11px 12px;
  cursor:pointer; font-size:13.5px; color:var(--text); font-family:var(--sans); background:#0f1825; }
.qadd:hover{ border-color:var(--steel); }
.qadd.sel{ border-color:var(--steel); background:#16263a; }
.qadd input{ accent-color:var(--steel); width:16px; height:16px; }
.qadd .pr{ margin-left:auto; color:var(--sky); font-weight:700; }
.qpanel{ position:sticky; top:90px; background:var(--navy); border:1px solid var(--line); border-radius:16px; padding:24px; }
.qpanel h3{ font-style:italic; font-size:22px; margin:0 0 14px; color:#fff; font-family:var(--serif); }
.qpanel .line{ display:flex; justify-content:space-between; gap:10px; font-size:13.5px; padding:7px 0; border-bottom:1px solid #243650; font-family:var(--sans); }
.qpanel .line span:first-child{ color:#9fb2c9; } .qpanel .line span:last-child{ color:#fff; font-weight:600; text-align:right; }
.qpanel .total{ text-align:center; margin-top:18px; }
.qpanel .total .lbl{ font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--sky); font-family:var(--sans); }
.qpanel .total .amt{ font-size:34px; font-weight:800; color:#fff; font-family:var(--sans); margin:4px 0; }
.qpanel .total .sub{ font-size:12px; color:#9fb2c9; font-family:var(--sans); }
.qpanel .qcta{ display:block; text-align:center; background:var(--steel); color:#fff; font-weight:700; padding:14px; border-radius:10px; margin-top:18px; font-family:var(--sans); }
.qpanel .qcta:hover{ background:#3f76a3; }
.qpanel .disc{ font-size:11px; color:#8a9cb3; margin-top:14px; line-height:1.5; font-family:var(--sans); }
.autotag{ display:inline-block; font-size:11px; color:var(--sky); background:#16263a; padding:3px 8px; border-radius:999px; margin-left:8px; font-family:var(--sans); }

/* ---------- Footer ---------- */
.oth-footer{ background:#080c12; border-top:1px solid var(--line); padding:54px 24px 30px; }
.oth-footer__grid{ max-width:var(--max); margin:0 auto; display:grid; grid-template-columns:2fr 1fr 1fr; gap:34px; }
.oth-footer img.flogo{ height:54px; margin-bottom:14px; }
.oth-footer__name{ color:#fff; }
.oth-footer p{ color:#7c8696; font-size:14px; }
.oth-footer h4{ font-family:var(--sans); font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:var(--sky); margin:0 0 14px; }
.oth-footer ul{ list-style:none; margin:0; padding:0; }
.oth-footer ul li{ margin:8px 0; }
.oth-footer ul li a{ color:#9aa6b6; font-size:14px; }
.oth-footer ul li a:hover{ color:#fff; }
.oth-footer__social a{ display:inline-block; margin-right:14px; color:#9aa6b6; font-family:var(--sans); font-size:13px; }
.oth-footer__bottom{ max-width:var(--max); margin:34px auto 0; padding-top:22px; border-top:1px solid var(--line);
  color:#5f6b7c; font-size:12.5px; font-family:var(--sans); display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; }

/* ---------- Responsive ---------- */
@media(max-width:980px){
  .oth-grid--3,.oth-grid--4,.oth-posts,.oth-gallery{ grid-template-columns:1fr 1fr; }
  .oth-quote{ grid-template-columns:1fr; }
  .qpanel{ position:static; }
  .oth-footer__grid{ grid-template-columns:1fr; }
}
@media(max-width:760px){
  .oth-menu{ display:none; position:absolute; top:100%; left:0; right:0; flex-direction:column;
    background:#0a0f17; border-bottom:1px solid var(--line); padding:10px 16px; align-items:stretch; }
  .oth-menu.open{ display:flex; }
  .oth-menu a{ padding:12px 8px; }
  .oth-burger{ display:block; }
  .oth-grid--3,.oth-grid--4,.oth-posts,.oth-gallery,.oth-tiers,.qsel,.qpkgs,.qadds,.qtiles{ grid-template-columns:1fr; }
  .oth-section{ padding:60px 0; }
}
