/*
Theme Name: DW Stack CardioMedicine
Theme URI: https://DWStack.com/theme
Author: DW McEwing
Author URI: https://DWStack.com/theme
Description: A clean landing-page style WordPress theme for CardioMedicine.com inspired by a classic domain profile layout, customized for DW Stack.
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: dwstack-cardiomedicine
Tags: one-column, two-columns, custom-menu, featured-images, blog, landing-page
*/

/* NOTE:
   This theme keeps styles self-contained for easy deployment.
   If you prefer a build pipeline (Sass, PostCSS), we can add it later.
*/

/* Base */
:root {
  --blue:#4f79b8;
  --blue2:#3f6fb1;
  --lightbar:#eef2f6;
  --border:#d9e1ea;
  --text:#1f2a37;
  --muted:#6b7280;
  --green:#2ea44f;
  --green2:#2f9b4a;
  --card:#ffffff;
  --bg:#ffffff;
  --shadow:0 2px 8px rgba(0,0,0,.08);
  --max:1040px;
  --radius:4px;
  --font: Arial, Helvetica, sans-serif;
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  font-family:var(--font);
  color:var(--text);
  background:var(--bg);
  line-height:1.35;
}

a{ color:var(--blue2); text-decoration:none; }
a:hover{ text-decoration:underline; }

/* WP core helpers */
.screen-reader-text{
  border:0; clip:rect(1px,1px,1px,1px);
  clip-path:inset(50%); height:1px; margin:-1px;
  overflow:hidden; padding:0; position:absolute;
  width:1px; word-wrap:normal !important;
}
.alignwide, .alignfull { width: 100%; }
.wp-block-image img{ max-width:100%; height:auto; }

/* Header bars */
.dw-topbar{
  background:var(--blue);
  color:#fff;
  height:56px;
  display:flex;
  align-items:center;
}
.dw-wrap{
  width:min(var(--max), calc(100% - 24px));
  margin:0 auto;
}
.dw-topbar .dw-wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.dw-brand{
  display:flex;
  align-items:center;
  gap:12px;
}
.dw-brand img{
  height:36px;
  width:auto;
  display:block;
}
.dw-brand .dw-site-title{
  display:none; /* keep logo-only for now */
}

.dw-subbar{
  background:var(--lightbar);
  border-bottom:1px solid var(--border);
}
.dw-subbar .dw-wrap{
  height:38px;
  display:flex;
  align-items:center;
  gap:18px;
  font-size:12px;
  color:#334155;
}
.dw-subbar a{ color:#334155; }
.dw-subbar .dw-spacer{ margin-left:auto; }

/* Menu */
.dw-menu ul{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  gap:18px;
  align-items:center;
}
.dw-menu a{
  display:inline-block;
  padding:8px 0;
}
.dw-menu a:hover{ text-decoration:underline; }

/* Main layout */
.dw-main{
  width:min(var(--max), calc(100% - 24px));
  margin:0 auto;
  padding:18px 0 28px;
}
.dw-grid{
  display:grid;
  grid-template-columns: 1fr 320px;
  gap:28px;
  align-items:start;
}
.dw-h1{
  margin:0;
  font-size:28px;
  color:var(--green2);
  font-weight:700;
}
.dw-subline{
  margin-top:8px;
  font-size:13px;
  color:#111827;
}
.dw-minirow{
  margin-top:8px;
  font-size:12px;
  color:var(--muted);
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.dw-minirow .sep{ color:#c0c8d2; }

.dw-expert{
  margin-top:12px;
  font-size:12px;
  color:var(--muted);
}
.dw-divider{
  margin:14px 0;
  height:1px;
  background:var(--border);
}

/* Right CTA box */
.dw-cta{
  border:1px solid var(--border);
  background:var(--card);
  border-radius:2px;
  box-shadow:var(--shadow);
  padding:14px 14px 12px;
  position:sticky;
  top:10px;
}
.dw-cta .domain{
  font-size:11px;
  color:var(--green2);
  font-weight:700;
  margin-bottom:4px;
}
.dw-cta .row{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:10px;
  margin-bottom:10px;
}
.dw-cta .label{
  font-size:11px;
  color:#111827;
  font-weight:700;
}
.dw-cta .price{
  font-size:12px;
  font-weight:700;
  color:#111827;
}
.dw-btn{
  width:100%;
  border:0;
  border-radius:2px;
  cursor:pointer;
  font-size:12px;
  font-weight:700;
  padding:9px 10px;
  margin-top:8px;
}
.dw-btn.primary{ background:var(--green); color:#fff; }
.dw-btn.primary:hover{ background:var(--green2); }
.dw-cta .fine{
  margin-top:10px;
  font-size:11px;
  color:var(--muted);
}
.dw-cta .guarantee{
  margin-top:10px;
  text-align:center;
  font-size:11px;
  color:#111827;
  font-weight:700;
}

/* Testimonials */
.dw-kicker{
  margin-top:18px;
  font-size:12px;
  color:var(--blue2);
  font-weight:700;
}
.dw-testimonials{ margin-top:10px; }
.dw-titem{
  display:grid;
  grid-template-columns: 30px 1fr;
  gap:10px;
  margin:10px 0;
}
.dw-avatar{
  width:30px; height:30px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
  font-weight:700;
  font-size:12px;
  background:#5b84c8;
}
.dw-quote{ font-size:12px; color:#111827; }
.dw-qmeta{ font-size:10.5px; color:var(--muted); margin-top:3px; }

/* Promise cards */
.dw-promise-title{
  margin-top:18px;
  font-size:12px;
  color:var(--blue2);
  font-weight:700;
}
.dw-promise-card{
  margin-top:10px;
  border:1px solid var(--border);
  background:#f5f7fa;
  border-radius:2px;
  padding:12px;
}
.dw-promise-card h3{
  margin:0 0 6px;
  font-size:12px;
  color:#111827;
}
.dw-promise-card p{
  margin:0;
  font-size:11.5px;
  color:#334155;
}

/* FAQ */
.dw-faq-head{
  margin-top:18px;
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:10px;
}
.dw-faq-head .title{
  font-size:12px;
  color:var(--blue2);
  font-weight:700;
}
.dw-faq{
  margin-top:8px;
  border:1px solid var(--border);
  border-radius:2px;
  overflow:hidden;
}
.dw-faq button{
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:10px 10px;
  border:0;
  cursor:pointer;
  background:#5b84c8;
  color:#fff;
  font-weight:700;
  font-size:11.5px;
  border-bottom:1px solid rgba(255,255,255,.25);
  text-align:left;
}
.dw-faq button:last-of-type{ border-bottom:0; }
.dw-plus{
  width:16px; height:16px;
  border:1px solid rgba(255,255,255,.6);
  border-radius:2px;
  display:grid;
  place-items:center;
  font-weight:900;
  line-height:1;
  flex:0 0 auto;
}
.dw-ans{
  display:none;
  padding:10px 10px 12px;
  font-size:11.5px;
  background:#f3f6fb;
  border-bottom:1px solid var(--border);
  color:#334155;
}
.dw-faq-item.open + .dw-ans{ display:block; }

/* Footer */
.dw-footer{
  margin-top:26px;
  background:var(--blue);
  color:#fff;
  padding:18px 0;
}
.dw-footer .dw-wrap{
  width:min(var(--max), calc(100% - 24px));
  margin:0 auto;
  font-size:12px;
  opacity:.95;
}

/* Responsive */
@media (max-width: 980px){
  .dw-grid{ grid-template-columns:1fr; }
  .dw-cta{ position:relative; top:0; }
}


/* ===== Domain For Sale components ===== */
.dw-sale-note{
  margin-top:10px;
  font-size:12px;
  color:#334155;
}
.dw-sale-note strong{ color: var(--green2); }

.dw-trustbar{
  margin-top:10px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  font-size:11.5px;
  color:var(--muted);
}
.dw-trustpill{
  border:1px solid var(--border);
  background:#f7f9fc;
  padding:6px 8px;
  border-radius:2px;
}

.dw-offer{
  margin-top:10px;
  border-top:1px solid var(--border);
  padding-top:10px;
}
.dw-offer .or{
  display:flex;
  align-items:center;
  gap:8px;
  margin:10px 0 4px;
  font-size:11px;
  color:var(--muted);
}
.dw-offer .or:before,
.dw-offer .or:after{
  content:"";
  height:1px;
  background:var(--border);
  flex:1;
}
.dw-btn.secondary{
  background:#e5e7eb;
  color:#111827;
}
.dw-btn.secondary:hover{
  background:#dbe3ee;
}

.dw-listbox{
  margin-top:18px;
  border:1px solid var(--border);
  border-radius:2px;
  padding:10px;
  background:#f7f9fc;
  max-width:520px;
}
.dw-listrow{
  display:grid;
  grid-template-columns: 1fr 84px 96px;
  gap:10px;
  align-items:center;
  padding:6px 6px;
  border:1px solid var(--border);
  background:#fff;
  border-radius:2px;
  margin-bottom:8px;
}
.dw-listrow:last-child{ margin-bottom:0; }
.dw-listrow .name{
  font-size:11.5px;
  color:var(--blue2);
  font-weight:700;
}
.dw-listrow .p{
  font-size:11.5px;
  text-align:right;
  color:#111827;
  font-weight:700;
}
.dw-listrow .cta{
  text-align:right;
}
.dw-mini-cta{
  display:inline-block;
  background:var(--green);
  color:#fff !important;
  font-size:11px;
  font-weight:700;
  padding:6px 10px;
  border-radius:2px;
  text-decoration:none !important;
}
.dw-mini-cta:hover{ background:var(--green2); }

.dw-stats{
  margin-top:8px;
  border:1px solid var(--border);
  border-radius:2px;
  max-width:520px;
  background:#fff;
}
.dw-stats .row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:7px 10px;
  font-size:11.5px;
  border-bottom:1px dotted #e6edf5;
}
.dw-stats .row:last-child{ border-bottom:0; }
.dw-stats .k{ color:#334155; }
.dw-stats .v{ color:#111827; font-weight:700; }

.dw-modal-backdrop{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.45);
  display:none;
  z-index:80;
  padding:16px;
}
.dw-modal{
  max-width:520px;
  margin:70px auto 0;
  background:#fff;
  border-radius:4px;
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  overflow:hidden;
}
.dw-modal header{
  background:#f7f9fc;
  border-bottom:1px solid var(--border);
  padding:10px 12px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  font-weight:700;
  font-size:12px;
  color:#111827;
}
.dw-modal .close{
  border:1px solid var(--border);
  background:#fff;
  cursor:pointer;
  border-radius:3px;
  padding:4px 8px;
  font-weight:700;
}
.dw-modal .content{
  padding:12px;
  display:grid;
  gap:10px;
}
.dw-modal label{
  font-size:11px;
  color:#334155;
  font-weight:700;
}
.dw-modal input, .dw-modal textarea{
  width:100%;
  border:1px solid var(--border);
  border-radius:3px;
  padding:8px;
  font-size:12px;
  outline:none;
}
.dw-modal textarea{ min-height:110px; resize:vertical; }

.dw-float-stack{
  position:fixed;
  right:10px;
  top:240px;
  display:grid;
  gap:14px;
  z-index:70;
}
.dw-float-btn{
  width:34px;
  height:34px;
  border-radius:4px;
  background:#2f3542;
  display:grid;
  place-items:center;
  box-shadow:0 2px 8px rgba(0,0,0,.22);
  cursor:pointer;
  user-select:none;
}
.dw-float-btn svg{ width:16px; height:16px; fill:#fff; opacity:.95; }

@media (max-width: 980px){
  .dw-float-stack{ display:none; }
}


/* ===== Sale page extras (benefits + video) ===== */
.dw-benefits{
  margin-top:12px;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:10px;
  max-width:520px;
}
.dw-benefit{
  display:flex;
  gap:10px;
  align-items:center;
  border:1px solid var(--border);
  background:#f7f9fc;
  padding:8px 10px;
  border-radius:2px;
  font-size:11.5px;
  color:#334155;
}
.dw-benefit .icon{
  width:26px; height:26px;
  border-radius:2px;
  background:#ffffff;
  border:1px solid var(--border);
  display:grid;
  place-items:center;
  font-weight:900;
  color:var(--blue2);
  flex:0 0 auto;
}
.dw-benefit strong{ color:#111827; }

.dw-video{
  margin-top:16px;
  width:520px;
  max-width:100%;
  border:1px solid var(--border);
  background:#e5e7eb;
  height:190px;
  display:grid;
  place-items:center;
  color:#6b7280;
  font-size:12px;
  border-radius:2px;
  position:relative;
}
.dw-cookie{
  position:absolute;
  left:10px;
  bottom:10px;
  background:rgba(0,0,0,.7);
  color:#fff;
  padding:6px 8px;
  font-size:11px;
  border-radius:2px;
}
.dw-video-caption{
  margin-top:8px;
  font-size:11px;
  color:#334155;
  max-width:520px;
}

@media (max-width: 980px){
  .dw-benefits{ grid-template-columns: 1fr; }
}
