/*
Theme Name: Dhakaz
Theme URI: https://dhakaz.com
Author: Zulzon / Rahamat
Author URI: https://zulzon.com
Description: Algorithmic Visa Compliance & Financial Audit Platform theme for dhakaz.com. Auto-provisions the full site structure (store, agency portal, certificate verification, country audit hubs, legal pages) on activation, and ships a 7-country compliance engine and Lemon Squeezy checkout embedded in the toolkit store.
Version: 4.0.0
Text Domain: dhakaz
Requires PHP: 7.4
*/

:root{
  --dz-bg:#F8FAFC;
  --dz-surface:#FFFFFF;
  --dz-text:#0F172A;
  --dz-primary:#2563EB;
  --dz-primary-hover:#1D4ED8;
  --dz-success:#16A34A;
  --dz-risk:#DC2626;
  --dz-border:#E2E8F0;
  --dz-radius:10px;
  --dz-max-w:1140px;
  --dz-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--dz-bg);
  color:var(--dz-text);
  font-family:var(--dz-font);
  line-height:1.55;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--dz-primary);text-decoration:none;}
a:hover{color:var(--dz-primary-hover);}

.dz-container{max-width:var(--dz-max-w);margin:0 auto;padding:0 20px;}

/* Header */
.dz-header{background:var(--dz-surface);border-bottom:1px solid var(--dz-border);position:sticky;top:0;z-index:50;}
.dz-header-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 0;}
.dz-logo{font-weight:800;font-size:1.25rem;color:var(--dz-text);letter-spacing:-0.02em;}
.dz-logo span{color:var(--dz-primary);}
.dz-nav{display:flex;gap:24px;align-items:center;}
.dz-nav ul{list-style:none;display:flex;gap:24px;margin:0;padding:0;}
.dz-nav a{color:var(--dz-text);font-weight:500;font-size:0.95rem;}
.dz-nav a:hover{color:var(--dz-primary);}
.dz-nav-toggle{display:none;background:none;border:1px solid var(--dz-border);border-radius:8px;padding:8px 10px;cursor:pointer;}

@media (max-width:820px){
  .dz-nav{display:none;flex-direction:column;align-items:flex-start;position:absolute;top:100%;left:0;right:0;background:var(--dz-surface);border-bottom:1px solid var(--dz-border);padding:16px 20px;}
  .dz-nav.is-open{display:flex;}
  .dz-nav ul{flex-direction:column;gap:14px;width:100%;}
  .dz-nav-toggle{display:inline-block;}
}

/* Buttons */
.dz-btn{display:inline-block;padding:12px 22px;border-radius:8px;font-weight:600;font-size:0.95rem;cursor:pointer;border:1px solid transparent;text-align:center;}
.dz-btn-primary{background:var(--dz-primary);color:#fff;}
.dz-btn-primary:hover{background:var(--dz-primary-hover);color:#fff;}
.dz-btn-outline{background:transparent;border-color:var(--dz-border);color:var(--dz-text);}
.dz-btn-outline:hover{border-color:var(--dz-primary);color:var(--dz-primary);}

/* Hero */
.dz-hero{padding:72px 0 56px;text-align:center;}
.dz-hero h1{font-size:clamp(2rem,4vw,2.75rem);margin:0 0 16px;letter-spacing:-0.03em;}
.dz-hero p{max-width:640px;margin:0 auto 28px;color:#475569;font-size:1.05rem;}
.dz-hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* Cards / grids */
.dz-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:32px 0;}
.dz-card{background:var(--dz-surface);border:1px solid var(--dz-border);border-radius:var(--dz-radius);padding:24px;}
.dz-card h3{margin-top:0;}
.dz-card .dz-flag{font-size:1.75rem;}

/* Sections */
.dz-section{padding:48px 0;}
.dz-section-title{font-size:1.5rem;margin-bottom:8px;letter-spacing:-0.02em;}
.dz-section-sub{color:#64748B;margin-top:0;margin-bottom:28px;}

/* Store */
.dz-product{display:flex;flex-direction:column;gap:10px;}
.dz-price{font-weight:800;color:var(--dz-success);font-size:1.4rem;}

/* Forms */
.dz-form{display:flex;flex-direction:column;gap:14px;max-width:520px;}
.dz-form label{font-weight:600;font-size:0.9rem;}
.dz-form input,.dz-form textarea,.dz-form select{
  padding:11px 12px;border:1px solid var(--dz-border);border-radius:8px;font-family:var(--dz-font);font-size:0.95rem;background:#fff;
}
.dz-form textarea{min-height:120px;resize:vertical;}

/* Result banners */
.dz-result{margin-top:20px;padding:16px;border-radius:8px;font-weight:600;}
.dz-result.pass{background:#F0FDF4;border:1px solid #BBF7D0;color:var(--dz-success);}
.dz-result.fail{background:#FEF2F2;border:1px solid #FECACA;color:var(--dz-risk);}
.dz-result.pending{background:#F1F5F9;border:1px solid var(--dz-border);color:#475569;}

/* Footer */
.dz-footer{background:var(--dz-text);color:#CBD5E1;padding:40px 0 24px;margin-top:64px;}
.dz-footer a{color:#E2E8F0;}
.dz-footer-grid{display:flex;flex-wrap:wrap;gap:32px;justify-content:space-between;margin-bottom:24px;}
.dz-footer-col h4{color:#fff;margin:0 0 12px;font-size:0.95rem;}
.dz-footer-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;font-size:0.9rem;}
.dz-disclaimer{border-top:1px solid #1E293B;padding-top:18px;font-size:0.8rem;color:#94A3B8;line-height:1.6;}

.dz-badge{display:inline-block;background:#EFF6FF;color:var(--dz-primary);border-radius:999px;padding:4px 12px;font-size:0.78rem;font-weight:700;letter-spacing:0.02em;text-transform:uppercase;}

/* v3 additions */
.dz-checkbox label{display:flex;gap:10px;align-items:flex-start;font-weight:500;font-size:0.92rem;}
.dz-checkbox input{margin-top:4px;}
.dz-audit-result{margin-top:8px;}
.dz-audit-widget select:disabled{background:#F1F5F9;color:var(--dz-text);opacity:1;}
.dz-quick-audit{max-width:640px;margin:0 auto;background:var(--dz-surface);border:1px solid var(--dz-border);border-radius:var(--dz-radius);padding:24px;}
@media (max-width:820px){
}

/* ===== v4: compact premium header ===== */
.dz-header-inner{padding:10px 0;}
.dz-logo{font-size:1.1rem;}
.dz-menu{list-style:none;display:flex;align-items:center;gap:4px;margin:0;padding:0;}
.dz-menu > li{position:relative;}
.dz-menu > li > a{display:block;padding:8px 12px;font-size:14px;font-weight:500;color:var(--dz-text);border-radius:8px;transition:background .15s,color .15s;}
.dz-menu > li > a:hover,.dz-menu > li:focus-within > a{background:#F1F5F9;color:var(--dz-primary);}
.dz-caret{font-size:.8em;opacity:.7;display:inline-block;transition:transform .2s;}
.dz-has-mega:hover .dz-caret,.dz-has-mega:focus-within .dz-caret{transform:rotate(180deg);}

/* Mega-menu */
.dz-mega{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(6px);padding-top:10px;opacity:0;visibility:hidden;transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:60;}
.dz-has-mega:hover .dz-mega,.dz-has-mega:focus-within .dz-mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.dz-mega-grid{display:grid;grid-template-columns:repeat(2,minmax(230px,1fr));gap:4px;background:#fff;border:1px solid var(--dz-border);border-radius:12px;box-shadow:0 10px 25px rgba(0,0,0,0.08);padding:10px;width:520px;}
.dz-mega-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;color:var(--dz-text);transition:background .15s;}
.dz-mega-item:hover,.dz-mega-item:focus{background:#EFF6FF;}
.dz-mega-flag{font-size:1.35rem;line-height:1;}
.dz-mega-text{display:flex;flex-direction:column;line-height:1.25;}
.dz-mega-text strong{font-size:14px;font-weight:600;}
.dz-mega-text small{font-size:12px;color:#64748B;}

@media (max-width:820px){
  .dz-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--dz-border);padding:10px 16px 16px;}
  .dz-nav.is-open{display:block;}
  .dz-menu{flex-direction:column;align-items:stretch;gap:0;}
  .dz-mega{position:static;transform:none;opacity:1;visibility:visible;padding:0 0 4px 8px;}
  .dz-has-mega:hover .dz-mega,.dz-has-mega:focus-within .dz-mega{transform:none;}
  .dz-mega-grid{grid-template-columns:1fr;width:auto;box-shadow:none;border:0;padding:0;}
}

/* ===== v4: custom country selector ===== */
.dz-field-label{display:block;font-weight:600;font-size:0.9rem;margin-bottom:6px;}
.dz-select{position:relative;}
.dz-select-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:1px solid var(--dz-border);border-radius:12px;padding:12px 14px;font-family:var(--dz-font);font-size:0.95rem;color:var(--dz-text);cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s;}
.dz-select-btn:hover{border-color:#CBD5E1;}
.dz-select.is-open .dz-select-btn,.dz-select-btn:focus-visible{border-color:var(--dz-primary);box-shadow:0 0 0 3px rgba(37,99,235,.12);outline:none;}
.dz-select.is-open .dz-caret{transform:rotate(180deg);}
.dz-select-label.is-placeholder{color:#94A3B8;}
.dz-select-menu{list-style:none;margin:6px 0 0;padding:6px;position:absolute;left:0;right:0;top:100%;z-index:40;background:#fff;border:1px solid var(--dz-border);border-radius:12px;box-shadow:0 10px 25px rgba(0,0,0,0.08);max-height:340px;overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s ease,transform .15s ease,visibility .15s;}
.dz-select.is-open .dz-select-menu{opacity:1;visibility:visible;transform:translateY(0);}
.dz-select-menu li{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;cursor:pointer;font-size:0.92rem;transition:background .12s;}
.dz-select-menu li:hover,.dz-select-menu li:focus,.dz-select-menu li.is-active{background:#EFF6FF;outline:none;}
.dz-select-menu li[aria-selected="true"]{background:#DBEAFE;}
.dz-opt-flag{font-size:1.25rem;line-height:1;}
.dz-opt-text{display:flex;flex-direction:column;line-height:1.25;}
.dz-opt-text small{font-size:12px;color:#64748B;}
.dz-select.is-disabled .dz-select-btn{background:#F1F5F9;cursor:default;}
.dz-select.is-disabled .dz-caret{display:none;}

/* Segmented control (UK location) */
.dz-seg{display:inline-flex;background:#F1F5F9;border-radius:10px;padding:3px;gap:2px;}
.dz-seg label{margin:0;font-weight:500;font-size:0.9rem;cursor:pointer;}
.dz-seg input{position:absolute;opacity:0;pointer-events:none;}
.dz-seg span{display:block;padding:8px 14px;border-radius:8px;transition:background .15s,box-shadow .15s;}
.dz-seg input:checked + span{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1);color:var(--dz-primary);font-weight:600;}
.dz-seg input:focus-visible + span{box-shadow:0 0 0 3px rgba(37,99,235,.2);}
