/* DIRECPRO v0.5.0 — Premium Contrast System
   Refina color, contraste, jerarquía, espaciado y responsive global.
*/
:root{
  --lux-midnight:#07142f;
  --lux-navy:#0d214a;
  --lux-blue:#173b72;
  --lux-ink:#101a33;
  --lux-text:#3f4d67;
  --lux-muted:#6f7b91;
  --lux-ivory:#f7f4ec;
  --lux-paper:#fffdf8;
  --lux-white:#ffffff;
  --lux-line:#d9dfE9;
  --lux-gold:#c9a748;
  --lux-gold-deep:#9d7c22;
  --lux-gold-soft:#f2e4b6;
  --lux-success:#1f815a;
  --lux-shadow:0 18px 50px rgba(7,20,47,.08);
  --lux-shadow-strong:0 28px 80px rgba(7,20,47,.13);
}

body{background:var(--lux-ivory);color:var(--lux-ink)}
.dp-wrap{width:min(1260px,calc(100% - 48px))}

/* HEADER */
.dp-topbar{background:rgba(7,20,47,.96);border-bottom:1px solid rgba(255,255,255,.09);box-shadow:0 12px 30px rgba(2,8,24,.12)}
.dp-topbar-inner{min-height:82px}
.dp-brand img{width:118px}
.dp-brand strong{font-size:14px;letter-spacing:.14em}
.dp-brand small{font-size:10px;color:rgba(255,255,255,.64)}
.dp-nav{gap:4px}
.dp-nav a{font-size:12px;padding:10px 13px;color:#e7edf8}
.dp-nav a:hover{background:rgba(255,255,255,.06)}
.dp-nav-cta{border-color:rgba(201,167,72,.48)!important;color:#fff!important;background:rgba(201,167,72,.08)}

/* HERO */
.dp-hero,.dp-page-head,.dp-profile-hero{
  background:
    radial-gradient(circle at 88% 5%,rgba(201,167,72,.16),transparent 22%),
    radial-gradient(circle at 12% 100%,rgba(45,88,157,.18),transparent 28%),
    linear-gradient(125deg,#07142f 0%,#0d214a 52%,#173b72 100%);
}
.dp-hero.dp-hero-compact{padding:50px 0 48px}
.dp-hero-grid.slim{grid-template-columns:minmax(0,1.2fr) minmax(300px,.64fr);gap:34px}
.dp-hero-copy{max-width:800px}
.dp-hero h1,.dp-page-head h1,.dp-profile-heading h1{font-size:clamp(38px,4.7vw,64px);line-height:1.02;letter-spacing:-.045em;text-wrap:balance}
.dp-hero .dp-lead{max-width:780px;color:#d8e0ee;font-size:15px;line-height:1.8}
.dp-kicker{color:#e6c76f}
.dp-kicker.dark{color:#6a758d}
.dp-search-hero.compact{max-width:760px;background:#fff;box-shadow:0 18px 46px rgba(0,0,0,.18)}
.dp-search-hero input{font-size:13px;color:#17243f}
.dp-search-hero button,.dp-sidebar-actions button,.dp-filters button,.dp-btn{background:linear-gradient(180deg,#d8b95e,#c39c35);color:#151515;box-shadow:0 10px 20px rgba(157,124,34,.17)}
.dp-search-hero button:hover,.dp-sidebar-actions button:hover,.dp-filters button:hover,.dp-btn:hover{background:linear-gradient(180deg,#e2c66f,#cfa941)}
.dp-hero-shortcuts a{border-color:rgba(255,255,255,.13);background:rgba(255,255,255,.05);color:#edf2fa}

.dp-hero-menu{padding:20px;background:linear-gradient(180deg,rgba(10,25,58,.78),rgba(10,25,58,.58));border:1px solid rgba(201,167,72,.24);box-shadow:0 22px 58px rgba(2,8,24,.2)}
.dp-hero-menu-header strong{font-size:20px}
.dp-panel-mark{background:rgba(201,167,72,.18);color:#f3df9d}
.dp-hero-menu-list{gap:7px}
.dp-hero-menu-list a{padding:13px 14px;background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.07)}
.dp-hero-menu-list a:hover{background:rgba(201,167,72,.12);border-color:rgba(201,167,72,.22)}
.dp-hero-menu-list a small{background:rgba(201,167,72,.18);color:#f3df9d}
.dp-hero-menu-stats span{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.07)}

/* MAIN STRUCTURE */
.dp-home-shell{background:linear-gradient(180deg,#f7f4ec 0%,#f3f5f8 100%);padding:34px 0 0}
.dp-home-grid{grid-template-columns:300px minmax(0,1fr);gap:34px}
.dp-home-main{gap:34px;min-width:0}
.dp-section-head{margin-bottom:24px}
.dp-section-head h2,.dp-content-card h2,.dp-contact-card h2,.dp-trust-section h2,.dp-join h2{font-size:clamp(27px,2.7vw,42px);color:var(--lux-ink);line-height:1.05;text-wrap:balance}
.dp-text-action{color:#19345f}
.dp-result-count{background:#fffdf8;border-color:#e1dfd6;color:#59667d;box-shadow:0 8px 20px rgba(7,20,47,.05)}

/* SIDEBAR — dark utility panel for contrast */
.dp-sidebar{top:102px;gap:16px}
.dp-sidebar-section{background:linear-gradient(180deg,#0a1a3d,#0d214a);border:1px solid rgba(255,255,255,.08);box-shadow:0 24px 54px rgba(7,20,47,.13);padding:20px}
.dp-sidebar-section .dp-kicker.dark{color:#d3b75e}
.dp-sidebar-form label span{color:#bcc7db}
.dp-sidebar-form input,.dp-sidebar-form select{background:#f8fafc;border-color:#d6dce7;color:#18243d;height:46px}
.dp-sidebar-actions a{color:#d8e0ee}
.dp-sidebar-list{max-height:360px}
.dp-sidebar-list a{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.07);color:#f5f7fb}
.dp-sidebar-list a:hover{background:rgba(201,167,72,.12);border-color:rgba(201,167,72,.22)}
.dp-sidebar-list small{background:rgba(201,167,72,.18);color:#f3df9d}
.dp-mini-pills a{width:100%;justify-content:space-between;background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.07);color:#f5f7fb}
.dp-mini-pills a small{background:rgba(201,167,72,.18);color:#f3df9d}

/* FEATURED STAGE */
.dp-featured-stage{position:relative}
.dp-spotlight-grid{grid-template-columns:minmax(0,1.34fr) minmax(290px,.66fr);gap:20px}
.dp-spotlight-card{grid-template-columns:minmax(250px,34%) minmax(0,1fr);border:1px solid #e4dfd3;background:var(--lux-paper);box-shadow:var(--lux-shadow-strong);border-radius:28px}
.dp-spotlight-media{background:#e9e5dc;min-height:420px}
.dp-spotlight-body{padding:34px 36px}
.dp-spotlight-card h3{font-size:clamp(34px,3.3vw,50px);color:var(--lux-ink)}
.dp-spotlight-card .dp-card-title{font-size:14px;color:#495872}
.dp-spotlight-card .dp-summary.large{font-size:13px;color:#56637a}
.dp-spotlight-card .dp-tags span{background:#f5f0e2;border-color:#e8ddbd;color:#4a4f58}
.dp-spotlight-side{gap:16px}
.dp-card.compact{border-color:#e1dfd7;background:#fff;box-shadow:0 14px 34px rgba(7,20,47,.07)}
.dp-card.compact .dp-card-media{background:#eef1f6}

/* CATEGORY CHIPS */
.dp-compact-categories{padding:2px 0 0}
.dp-category-pills{gap:9px}
.dp-category-pills a{background:#fffdf8;border-color:#e2ddd1;color:#253652;box-shadow:0 8px 20px rgba(7,20,47,.045)}
.dp-category-pills a:hover{background:#fff8e3;border-color:#dbc883}
.dp-category-pills a small{background:#f2e4b6;color:#725b16}

/* DIRECTORY CARDS */
.dp-directory.slim{padding-top:4px}
.dp-grid.home-grid-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.dp-card{background:#fff;border-color:#dfe4eb;box-shadow:0 14px 36px rgba(7,20,47,.065)}
.dp-card:hover{box-shadow:0 22px 54px rgba(7,20,47,.11)}
.dp-card-media{background:#e9edf4}
.dp-card h3{color:var(--lux-ink)}
.dp-card-title{color:#4e5c74}
.dp-summary{color:#5a677d}
.dp-tags span{background:#f3f5f8;border-color:#e2e6ec;color:#4e5c74}
.dp-card-footer{border-top-color:#edf0f4}
.dp-link{color:#17345f}
.dp-type{background:rgba(7,20,47,.9)}
.dp-badge-verified{background:#ecf7f1;color:#1f815a}

/* TRUST / CTA */
.dp-trust-section.compact{background:#fffdf8;border-top:1px solid #e7e1d7;border-bottom:1px solid #e7e1d7;padding:58px 0}
.dp-trust-grid>div:first-child p:not(.dp-kicker){color:#536178}
.dp-trust-points article{background:#fff;border-color:#e3dfd7;box-shadow:0 12px 30px rgba(7,20,47,.055)}
.dp-trust-points span{background:#f5e9c4;color:#7d6218}
.dp-join.compact{background:linear-gradient(125deg,#07142f,#0f2856 72%,#173b72);padding:58px 0}
.dp-join h2{color:#fff}
.dp-join p:not(.dp-kicker){color:#d6deec}
.dp-btn.light{background:#fffdf8;color:#17243e;border-color:#fffdf8;box-shadow:0 12px 28px rgba(0,0,0,.12)}

/* CATEGORIES PAGE */
.dp-page-head{padding:64px 0 58px}
.dp-page-stat{background:rgba(255,255,255,.07);border-color:rgba(201,167,72,.18)}
.dp-category-layout.premium-compact .dp-content-card{background:#fffdf8;border-color:#e3ded3;box-shadow:var(--lux-shadow)}
.dp-category-page.dp-category-pills a{background:#fff;border-color:#e3dfd6}

/* PROFILE */
.dp-profile-hero{padding:36px 0 64px}
.dp-profile-hero-grid{grid-template-columns:300px minmax(0,1fr);gap:46px}
.dp-profile-photo{width:300px;height:348px;border-radius:28px;box-shadow:0 28px 76px rgba(2,8,24,.24)}
.dp-profile-heading h1{font-size:clamp(40px,4.5vw,62px)}
.dp-profile-heading h2{color:#dbe3f1;font-size:clamp(18px,2vw,26px)}
.dp-profile-meta span{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.14)}
.dp-tags.profile-tags span{background:rgba(201,167,72,.12);border-color:rgba(201,167,72,.2);color:#f7e7b7}
.dp-profile-body{background:linear-gradient(180deg,#f7f4ec,#f3f5f8);padding:58px 0}
.dp-profile-layout{grid-template-columns:minmax(0,1.55fr) minmax(310px,.72fr);gap:28px}
.dp-content-card,.dp-contact-card{background:#fffdf8;border-color:#e3ded3;box-shadow:var(--lux-shadow)}
.dp-content-card p{color:#4f5d73}
.dp-profile-side{top:104px}
.dp-contact-card>div:not(.dp-social):not(.dp-trust){border-bottom-color:#ece6dc}
.dp-social a{background:#fff;border-color:#e0dcd2;color:#20355c}
.dp-services article{background:#fff;border-color:#e5e0d6}
.dp-services article>span{background:#f3e7c2;color:#715716}
.dp-related{background:#f3f5f8}

/* FOOTER */
.dp-footer{background:#050d21;padding:48px 0 22px}
.dp-footer-grid{gap:40px}
.dp-footer-title{color:#d6bc68}
.dp-footer a{color:#bac4d6}
.dp-footer-bottom{color:#78849a}

/* RESPONSIVE */
@media(max-width:1200px){
  .dp-wrap{width:min(1260px,calc(100% - 36px))}
  .dp-home-grid{grid-template-columns:280px minmax(0,1fr)}
  .dp-spotlight-card{grid-template-columns:minmax(220px,32%) minmax(0,1fr)}
}
@media(max-width:1080px){
  .dp-hero-grid.slim,.dp-home-grid,.dp-spotlight-grid,.dp-profile-layout{grid-template-columns:1fr}
  .dp-sidebar{position:static}
  .dp-sidebar-section{background:#fff;border-color:#dfe4eb;box-shadow:var(--lux-shadow)}
  .dp-sidebar-section .dp-kicker.dark{color:#6a758d}
  .dp-sidebar-form label span{color:#77829a}
  .dp-sidebar-actions a{color:#65728a}
  .dp-sidebar-list a,.dp-mini-pills a{background:#f7f9fc;border-color:#e5e9f0;color:#1b2b4b}
  .dp-sidebar-list small,.dp-mini-pills a small{background:#f2e4b6;color:#725b16}
  .dp-profile-side{position:static}
}
@media(max-width:820px){
  .dp-wrap{width:min(100% - 26px,1260px)}
  .dp-hero.dp-hero-compact{padding:42px 0 40px}
  .dp-hero h1{font-size:clamp(36px,8vw,48px)}
  .dp-hero-menu{padding:18px}
  .dp-spotlight-card{grid-template-columns:1fr}
  .dp-spotlight-media{min-height:300px}
  .dp-spotlight-body{padding:24px}
  .dp-grid.home-grid-cards{grid-template-columns:1fr}
  .dp-profile-hero-grid{grid-template-columns:1fr;gap:28px}
  .dp-profile-photo{width:min(100%,250px);height:290px}
  .dp-footer-grid{grid-template-columns:1fr 1fr}
  .dp-footer-brand{grid-column:1/-1}
}
@media(max-width:520px){
  .dp-wrap{width:min(100% - 20px,1260px)}
  .dp-topbar-inner{min-height:70px}
  .dp-hero h1,.dp-page-head h1,.dp-profile-heading h1{font-size:34px;line-height:1.04}
  .dp-hero .dp-lead,.dp-profile-summary,.dp-page-head p:not(.dp-kicker){font-size:14px}
  .dp-search-hero.compact{grid-template-columns:auto 1fr}
  .dp-search-hero.compact button{grid-column:1/-1;width:100%}
  .dp-hero-menu-stats{grid-template-columns:1fr 1fr 1fr}
  .dp-home-shell{padding-top:22px}
  .dp-sidebar-section{padding:17px}
  .dp-spotlight-media{min-height:240px}
  .dp-spotlight-body{padding:20px}
  .dp-spotlight-card h3{font-size:32px}
  .dp-section-head h2,.dp-content-card h2,.dp-contact-card h2,.dp-trust-section h2,.dp-join h2{font-size:30px}
  .dp-category-pills a,.dp-mini-pills a{width:100%;justify-content:space-between}
  .dp-profile-photo{width:210px;height:245px}
  .dp-profile-actions,.dp-card-footer,.dp-join-inner,.dp-footer-bottom{align-items:stretch;flex-direction:column}
  .dp-btn{width:100%}
  .dp-footer-grid{grid-template-columns:1fr}
}
.dp-state.dp-state-compact{max-width:none;margin:0;padding:30px;text-align:left;background:#fffdf8;border-color:#e3ded3}
.dp-state.dp-state-compact .dp-state-icon{margin-bottom:10px}
.dp-state.dp-state-compact h2{font-size:26px;margin-bottom:10px}
.dp-state.dp-state-compact p{max-width:760px;margin:0 0 18px;font-size:13px}
.dp-state.dp-state-compact .dp-btn{width:auto}
@media(max-width:520px){.dp-state.dp-state-compact{text-align:center}.dp-state.dp-state-compact .dp-btn{width:100%}}
