.dni-topline{background:#292923;color:#eee;text-align:center;padding:7px 10px;font-size:10px;letter-spacing:2px}
.dni-topline span{color:#bd9658}.dni-container{width:min(1160px,92%);margin:0 auto}
.dni-header{position:sticky;top:0;z-index:999;background:rgba(255,253,249,.97);border-bottom:1px solid #eee}
.admin-bar .dni-header{top:32px}.dni-nav-wrap{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.dni-brand-text,.dni-footer-brand{font:600 25px/1.1 'Playfair Display',serif;color:#292923}.dni-brand-text span,.dni-footer-brand span{color:#bd9658}
.dni-brand-text small,.dni-footer-brand small{display:block;font:10px 'DM Sans',sans-serif;letter-spacing:4px;color:#777;margin-top:5px}
.dni-brand img{max-height:62px;width:auto}.dni-navigation{margin-left:auto}
.dni-menu,.dni-footer-menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:16px}
.dni-menu a{font:700 12px 'DM Sans',sans-serif;color:#292923;text-decoration:none}.dni-menu a:hover{color:#bd9658}
.dni-header-cta,.dni-quote-btn{background:#bd9658;color:#211f1a;padding:13px 18px;border:0;border-radius:4px;font:700 12px 'DM Sans',sans-serif;text-decoration:none;cursor:pointer}
.dni-menu-toggle{display:none;border:0;background:none;font-size:26px;color:#292923;cursor:pointer}
.dni-content{padding:45px 0;min-height:45vh}.dni-page-title,.dni-post-title{font:600 40px 'Playfair Display',serif}
.dni-footer{background:#24241f;color:#fff;padding:48px 0 25px}.dni-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px}
.dni-footer p,.dni-footer a{font-size:13px;color:#ccc;text-decoration:none}.dni-footer h3{font:600 20px 'Playfair Display',serif}
.dni-footer-menu{display:grid;gap:9px}.dni-copyright{border-top:1px solid #555;margin-top:30px;padding-top:18px;font-size:11px;color:#aaa}
.dni-mobile-cta{display:none}.dni-modal{display:none;position:fixed;inset:0;z-index:100000;background:rgba(0,0,0,.68);align-items:center;justify-content:center;padding:16px}
.dni-modal.is-open{display:flex}.dni-modal-panel{position:relative;background:#fff;width:min(650px,100%);max-height:90vh;overflow:auto;border-radius:10px;padding:28px;color:#292923}
.dni-modal-panel h2{font:600 28px 'Playfair Display',serif;margin:8px 35px 8px 0}.dni-modal-panel>p{font-size:13px;color:#716f68}
.dni-modal-close{position:absolute;right:14px;top:8px;border:0;background:none;font-size:29px;cursor:pointer;color:#292923}
.dni-eyebrow{color:#bd9658;font:700 11px 'DM Sans',sans-serif;letter-spacing:2px}
.dni-forminator-wrap{margin-top:18px}.dni-forminator-wrap .forminator-ui{max-width:100%}
.elementor-page .dni-content{width:100%;max-width:none;padding:0}
@media(max-width:1024px){.dni-menu{gap:10px}.dni-menu a{font-size:11px}.dni-header-cta{padding:11px 12px}}
@media(max-width:767px){
 .dni-nav-wrap{min-height:68px}.dni-menu-toggle{display:block}.dni-navigation{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;padding:18px 5%;border-top:1px solid #eee;box-shadow:0 12px 18px #0001}
 .dni-navigation.is-open{display:block}.dni-menu{display:flex;align-items:flex-start;flex-direction:column;gap:15px}.dni-menu a{font-size:14px}
 .dni-header-cta{display:none}.dni-mobile-cta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:99999;gap:8px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:rgba(255,253,249,.98);box-shadow:0 -4px 18px rgba(0,0,0,.13)}
 .dni-mobile-cta a,.dni-mobile-cta button{flex:1;min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center;border-radius:4px;font:700 12px 'DM Sans',sans-serif;text-decoration:none}
 .dni-call-btn{background:#292923;color:#fff}.dni-quote-btn{background:#bd9658;color:#211f1a}
 body{padding-bottom:66px}.admin-bar .dni-mobile-cta{bottom:46px}
 .dni-footer{padding-bottom:95px}.dni-footer-grid{grid-template-columns:1fr 1fr;gap:22px}.dni-footer-grid>div:first-child{grid-column:1/-1}
 .dni-modal-panel{padding:22px 16px}.dni-page-title,.dni-post-title{font-size:32px}
}

/* Consultation popup - split premium layout */
.dni-modal{backdrop-filter:blur(4px);background:rgba(8,15,32,.88);padding:24px}
.dni-modal-panel.dni-consultation-modal{display:grid;grid-template-columns:minmax(250px,34%) minmax(0,66%);width:min(1120px,100%);max-height:92vh;padding:0;overflow:hidden;border-radius:20px;background:#fffdf9;box-shadow:0 24px 80px rgba(0,0,0,.35)}
.dni-modal-close{z-index:5;right:16px;top:14px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font:300 30px/1 'DM Sans',sans-serif}
.dni-modal-aside{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:620px;padding:34px 28px;color:#fff;background:linear-gradient(180deg,rgba(10,20,46,.08) 5%,rgba(10,20,46,.88) 100%),url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1000&q=85') center/cover no-repeat}
.dni-modal-promo{margin-bottom:30px;padding:22px;border:1px solid rgba(192,154,91,.85);border-radius:14px;background:rgba(14,29,65,.72);backdrop-filter:blur(5px)}
.dni-modal-kicker{font-size:11px;letter-spacing:2.5px;color:#d0a653;font-weight:700}
.dni-modal-promo h3{font:600 29px/1.15 'Playfair Display',serif;color:#fff;margin:12px 0}
.dni-modal-promo p{font-size:13px;line-height:1.65;color:#eee;margin:0}
.dni-modal-benefits{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.dni-modal-benefits li{display:flex;align-items:center;gap:13px}
.dni-modal-benefits li>span{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.14);color:#d0a653;font-size:19px}
.dni-modal-benefits strong,.dni-modal-benefits small{display:block}.dni-modal-benefits strong{font-size:13px;color:#fff}.dni-modal-benefits small{font-size:12px;color:#d8dbe4;margin-top:3px}
.dni-modal-aside-note{margin-top:28px;padding-top:17px;border-top:1px solid rgba(255,255,255,.28);font-size:10px;letter-spacing:2px;color:#e8d8b8}
.dni-modal-main{min-width:0;overflow:auto;background:#fffdf9}
.dni-modal-heading{padding:30px 34px 22px;background:#142653;color:#fff}
.dni-modal-heading .dni-eyebrow{color:#d0a653}.dni-modal-heading h2{font:700 27px/1.2 'Playfair Display',serif;color:#fff;margin:7px 45px 6px 0}
.dni-modal-heading p{margin:0;color:#e3e8f3;font-size:13px}
.dni-modal-trust{display:grid;grid-template-columns:repeat(3,1fr);padding:14px 22px;border-bottom:1px solid #e8dfd2;background:#f7f3ec}
.dni-modal-trust>div{display:grid;grid-template-columns:32px 1fr;column-gap:8px;align-items:center;padding:0 10px;border-right:1px solid #ded5c8}
.dni-modal-trust>div:last-child{border:0}.dni-modal-trust span{grid-row:span 2;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#142653;color:#d0a653}
.dni-modal-trust b{font-size:12px;color:#142653}.dni-modal-trust small{font-size:10px;color:#777}
.dni-forminator-wrap{padding:22px 30px 0;margin:0}.dni-modal-privacy{padding:0 30px 22px;margin:4px 0 0;font-size:11px;color:#858585}
.dni-forminator-wrap .forminator-ui.forminator-custom-form{max-width:100%!important}
.dni-forminator-wrap .forminator-ui .forminator-label{font:700 11px 'DM Sans',sans-serif!important;letter-spacing:1.5px!important;color:#142653!important;text-transform:uppercase}
.dni-forminator-wrap .forminator-ui input:not([type=checkbox]):not([type=radio]),.dni-forminator-wrap .forminator-ui select,.dni-forminator-wrap .forminator-ui textarea{min-height:48px!important;border:1px solid #d9deea!important;border-radius:9px!important;background:#fff!important;color:#25241f!important;box-shadow:none!important;font:14px 'DM Sans',sans-serif!important}
.dni-forminator-wrap .forminator-ui .forminator-button-submit{min-height:54px!important;width:100%!important;border:0!important;border-radius:9px!important;background:linear-gradient(100deg,#142653,#1c3676)!important;color:#d0a653!important;font:700 16px 'DM Sans',sans-serif!important;box-shadow:none!important}
.dni-forminator-wrap .forminator-ui .forminator-button-submit:hover{filter:brightness(1.12)}
.dni-phone-icon{width:17px;height:17px;fill:currentColor;flex:0 0 auto}
.dni-call-btn{gap:8px}
.dni-modal-open{overflow:hidden}
@media(max-width:767px){
 .dni-modal{padding:8px;align-items:center}
 .dni-modal-panel.dni-consultation-modal{display:block;width:100%;max-height:94vh;border-radius:14px;overflow:auto}
 .dni-modal-aside{min-height:0;padding:18px 18px 16px;background-position:center 45%}
 .dni-modal-promo{margin:0;padding:14px 16px}.dni-modal-promo h3{font-size:22px;margin:7px 0}.dni-modal-promo p{font-size:12px}
 .dni-modal-benefits{display:none}.dni-modal-aside-note{display:none}
 .dni-modal-heading{padding:22px 18px 16px}.dni-modal-heading h2{font-size:23px;margin-right:35px}.dni-modal-heading p{font-size:12px}
 .dni-modal-trust{padding:10px 5px}.dni-modal-trust>div{grid-template-columns:25px 1fr;padding:0 5px;column-gap:5px}.dni-modal-trust span{width:23px;height:23px;font-size:12px}.dni-modal-trust b{font-size:10px}.dni-modal-trust small{font-size:9px}
 .dni-forminator-wrap{padding:17px 16px 0}.dni-modal-privacy{padding:0 16px 18px;font-size:10px}
 .dni-modal-close{right:12px;top:12px;width:34px;height:34px;font-size:26px}
 .dni-mobile-cta a,.dni-mobile-cta button{gap:7px}
}

/* Header and footer typography: Roboto Condensed */
.dni-header, .dni-header *, .dni-footer, .dni-footer * {
  font-family: 'Roboto Condensed', sans-serif !important;
}


/* v1.1 - Force consultation popup into a two-column desktop layout */
@media (min-width: 768px) {
  html body #dni-quote.dni-modal.is-open .dni-modal-panel.dni-consultation-modal {
    display: grid !important;
    grid-template-columns: minmax(280px, 34%) minmax(0, 66%) !important;
    grid-template-rows: minmax(0, 1fr) !important;
    align-items: stretch !important;
    width: min(1120px, calc(100vw - 48px)) !important;
    max-width: 1120px !important;
    height: auto !important;
    max-height: 92vh !important;
    min-height: 620px !important;
    padding: 0 !important;
    overflow: hidden !important;
    position: relative !important;
    background: #fffdf9 !important;
  }
  html body #dni-quote.dni-modal.is-open .dni-modal-panel.dni-consultation-modal > .dni-modal-aside {
    display: flex !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 620px !important;
    height: 100% !important;
    box-sizing: border-box !important;
  }
  html body #dni-quote.dni-modal.is-open .dni-modal-panel.dni-consultation-modal > .dni-modal-main {
    display: block !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    max-width: none !important;
    width: auto !important;
    height: 100% !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
  }
}

/* Keep popup typography and list layout independent of Elementor/global theme rules */
html body #dni-quote .dni-modal-aside,
html body #dni-quote .dni-modal-main {
  font-family: 'Roboto Condensed', sans-serif !important;
}
html body #dni-quote .dni-modal-benefits {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body #dni-quote .dni-modal-benefits li {
  display: flex !important;
  align-items: center !important;
  gap: 13px !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body #dni-quote .dni-modal-benefits li div { display: block !important; }
html body #dni-quote .dni-modal-benefits strong,
html body #dni-quote .dni-modal-benefits small { display: block !important; }
html body #dni-quote .dni-modal-heading h2 {
  color: #fff !important;
  font-family: 'Playfair Display', serif !important;
}
html body #dni-quote .dni-forminator-wrap,
html body #dni-quote .dni-modal-trust { box-sizing: border-box !important; width: 100% !important; }

/* Mobile: stack image/intro above the form for comfortable scrolling */
@media (max-width: 767px) {
  html body #dni-quote.dni-modal.is-open .dni-modal-panel.dni-consultation-modal {
    display: block !important;
    width: calc(100vw - 16px) !important;
    max-width: 560px !important;
    min-height: 0 !important;
    max-height: 94vh !important;
    height: auto !important;
    overflow-y: auto !important;
  }
  html body #dni-quote.dni-modal.is-open .dni-modal-panel.dni-consultation-modal > .dni-modal-aside {
    display: flex !important;
    min-height: 190px !important;
    height: auto !important;
  }
  html body #dni-quote.dni-modal.is-open .dni-modal-panel.dni-consultation-modal > .dni-modal-main {
    display: block !important;
    height: auto !important;
    overflow: visible !important;
  }
}
