/* DPN Core Theme - theme.css (FULL REPLACEMENT)
   Fixes:
   - Agentic summary/results text showing white on white
   - Summary/results alignment should be left
   - Keep hero headline/search centered
*/

:root{
  --dpn-navy:#0a2f57;
  --dpn-gold:#f5a623;
  --dpn-bg:#fff;
  --dpn-ink:#0b1220;
  --dpn-radius:18px;
  --dpn-shadow:0 18px 45px rgba(0,0,0,.12);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:var(--dpn-bg);
  color:var(--dpn-ink);
  line-height:1.5;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--dpn-navy);text-decoration:none}
a:hover{color:var(--dpn-gold)}
.dpn-container{width:min(1180px,calc(100% - 40px));margin:0 auto}

/* Header */
.dpn-header{position:sticky;top:0;z-index:50;background:rgba(10,47,87,.96)}
.dpn-header__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0}
.dpn-brand img{height:52px;width:auto}
.dpn-nav--desktop{display:none}
.dpn-menu{list-style:none;margin:0;padding:0;display:flex;gap:22px;align-items:center}
.dpn-menu a{color:#fff;font-weight:700;font-size:14px}
.dpn-menu li{position:relative}
.dpn-menu .sub-menu{
  display:none;
  position:absolute;
  top:100%;
  right:0;
  background:#081f3a;
  border-radius:14px;
  padding:10px;
  min-width:220px;
  box-shadow:0 18px 45px rgba(0,0,0,.22)
}
.dpn-menu li:hover>.sub-menu,
.dpn-menu li:focus-within>.sub-menu{display:block}
.dpn-menu .sub-menu a{display:block;padding:8px 10px;border-radius:10px}
.dpn-menu .sub-menu a:hover{background:rgba(255,255,255,.08);color:#fff}

.dpn-menuBtn{
  background:transparent;
  border:1px solid rgba(255,255,255,.22);
  color:#fff;
  border-radius:14px;
  padding:10px 12px;
  cursor:pointer
}
.dpn-menu-btn__bars{display:block;width:18px;height:2px;background:#fff;position:relative}
.dpn-menu-btn__bars:before,
.dpn-menu-btn__bars:after{content:"";position:absolute;left:0;width:18px;height:2px;background:#fff}
.dpn-menu-btn__bars:before{top:-6px}
.dpn-menu-btn__bars:after{top:6px}

/* Drawer */
.dpn-drawer{position:fixed;inset:0;display:none;z-index:60}
.dpn-drawer[data-open="1"]{display:block}
.dpn-drawer__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.dpn-drawer__panel{
  position:absolute;
  top:0;right:0;
  height:100%;
  width:min(360px,92vw);
  background:#081f3a;
  color:#fff;
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:14px
}
.dpn-drawer__top{display:flex;align-items:center;justify-content:space-between}
.dpn-drawer__title{font-weight:800}
.dpn-drawer__close{
  background:transparent;
  border:1px solid rgba(255,255,255,.22);
  color:#fff;
  border-radius:14px;
  padding:6px 10px;
  cursor:pointer;
  font-size:18px;
  line-height:1
}
.dpn-menu--mobile{flex-direction:column;align-items:flex-start;gap:10px}
.dpn-menu--mobile a{font-size:16px}
.dpn-menu--footer{flex-direction:column;align-items:flex-start;gap:8px}
.dpn-drawer__footer{margin-top:auto;opacity:.9}

/* Hero (centered) */
.dpn-hero{
  background:
    radial-gradient(1100px 420px at 50% 40%, rgba(245,166,35,.18), rgba(10,47,87,.10) 55%, rgba(10,47,87,0) 72%),
    linear-gradient(180deg, #0a2f57 0%, #081f3a 100%);
  color:#fff;
}
.dpn-hero__inner{padding:56px 0 30px}
.dpn-hero__copy--center{text-align:center;display:flex;flex-direction:column;align-items:center}
.dpn-hero__title{margin:0;font-size:46px;letter-spacing:-.02em}
.dpn-hero__sub{margin:10px 0 22px;font-size:18px;opacity:.92;max-width:60ch}
.dpn-hero__bar{width:min(980px,100%)}

/* Chips */
.dpn-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:16px}
.dpn-chip{
  display:inline-flex;
  align-items:center;
  padding:9px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
  font-weight:700;
  font-size:13px
}
.dpn-chip--link{background:rgba(255,255,255,.14)}
.dpn-chip--link:hover{background:rgba(255,255,255,.20);color:#fff}

/* Sections */
.dpn-section{padding:34px 0}
.dpn-row{display:flex;justify-content:space-between;align-items:center;gap:16px}
.dpn-h2{margin:0;font-size:22px}
.dpn-link{font-weight:800}
.dpn-muted{color:rgba(11,18,32,.72);margin:6px 0 0}

/* Recent chips */
.dpn-recent{display:flex;flex-wrap:wrap;gap:10px}
.dpn-chiplink{
  display:inline-flex;
  align-items:center;
  padding:9px 12px;
  border-radius:999px;
  background:#f3f5f7;
  border:1px solid rgba(10,47,87,.14);
  color:#10253f;
  font-weight:700;
  font-size:13px;
  cursor:pointer
}
.dpn-chiplink:hover{border-color:rgba(10,47,87,.35)}

/* Deals grid */
.dpn-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:16px}
.dpn-card2{
  background:#fff;
  border-radius:18px;
  box-shadow:0 12px 26px rgba(0,0,0,.08);
  overflow:hidden;
  border:1px solid rgba(10,47,87,.10)
}
.dpn-card2__img{display:block;aspect-ratio:16/10;background:#f3f5f7;overflow:hidden}
.dpn-card2__img img{width:100%;height:100%;object-fit:contain}
.dpn-card2__body{padding:14px}
.dpn-card2__h{margin:0 0 6px 0;font-size:16px;line-height:1.25}

.dpn-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--dpn-navy);
  color:#fff;
  border-radius:14px;
  padding:10px 14px;
  font-weight:800;
  border:0;
  cursor:pointer
}
.dpn-btn:hover{background:#083058}
.dpn-btn--sm{padding:8px 12px;font-size:13px}

/* Tiles */
.dpn-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.dpn-tile{
  background:#f6f7f9;
  border:1px solid rgba(10,47,87,.12);
  border-radius:16px;
  padding:14px;
  font-weight:900;
  color:#10253f
}
.dpn-tile:hover{border-color:rgba(10,47,87,.30)}

/* Plugin shortcode styling in hero */
.dpn-hero .dpn-aac-title{display:none !important}
.dpn-hero .dpn-aac-wrap{background:transparent;border:0;padding:0;margin:0;width:100%}
.dpn-hero .dpn-aac-bar{display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap}
.dpn-hero .dpn-aac-input{
  width:min(720px,100%);
  padding:14px 16px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.10);
  color:#fff;
  font-size:16px;
  outline:none
}
.dpn-hero .dpn-aac-input::placeholder{color:rgba(255,255,255,.72)}
.dpn-hero .dpn-aac-btn{
  padding:12px 16px;
  border-radius:16px;
  background:var(--dpn-gold);
  border:0;
  font-weight:900;
  cursor:pointer
}
.dpn-hero .dpn-aac-btn:hover{filter:brightness(.96)}

/* =========================================================
   CRITICAL FIX: SUMMARY / RESULTS TEXT READABILITY + ALIGN
   The plugin summary area inherits white from .dpn-hero.
   Force summary/results to dark text and left alignment.
   ========================================================= */

/* Summary container (your plugin uses these IDs/classes) */
#dpn-aac-summary,
.dpn-aac-summary{
  background:#ffffff !important;
  color:#111111 !important;
  text-align:left !important;
  border:1px solid rgba(10,47,87,.14) !important;
  border-radius:18px !important;
  padding:14px 16px !important;
  margin:16px auto 0 !important;
  width:min(980px,100%) !important;
}

/* Everything inside summary must be dark + left */
#dpn-aac-summary *,
.dpn-aac-summary *{
  color:#111111 !important;
  text-align:left !important;
}

/* Headings inside summary */
#dpn-aac-summary h1,
#dpn-aac-summary h2,
#dpn-aac-summary h3,
#dpn-aac-summary h4,
.dpn-aac-summary h1,
.dpn-aac-summary h2,
.dpn-aac-summary h3,
.dpn-aac-summary h4{
  color:#0a2f57 !important;
  text-align:left !important;
}

/* Lists inside summary */
#dpn-aac-summary ul,
#dpn-aac-summary ol,
.dpn-aac-summary ul,
.dpn-aac-summary ol{
  padding-left:1.25rem !important;
}

/* If results area has its own wrapper, force readable defaults */
#dpn-aac-results,
.dpn-aac-results{
  color:#111 !important;
  text-align:left !important;
}
#dpn-aac-results *,
.dpn-aac-results *{
  color:#111 !important;
  text-align:left !important;
}

/* If the plugin wraps output in a generic container, protect it too */
.dpn-aac-wrap,
.dpn-aac-wrap *{
  /* do NOT force color here (input needs white in hero) */
}

/* Layout tweaks for responsiveness */
@media (min-width:760px){
  .dpn-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dpn-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:980px){
  .dpn-nav--desktop{display:block}
  .dpn-menuBtn{display:none}
  .dpn-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dpn-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
}


/* ===== Right sidebar layout ===== */
.dpn-layout{
  display:grid;
  grid-template-columns: 1fr;
  gap: 22px;
  padding: 26px 0;
}
.dpn-content{min-width:0}
.dpn-sidebar{
  background:#fff;
  border:1px solid rgba(10,47,87,.12);
  border-radius:18px;
  padding:14px;
  box-shadow:0 12px 26px rgba(0,0,0,.06);
}

@media (min-width: 980px){
  .dpn-layout{
    grid-template-columns: minmax(0,1fr) 320px;
    align-items:start;
  }
}

