/* ================================================================
   GENESIS THEME 2.0 | css/custom.css
   Child of: twenty-one (Bootstrap 4) | WHMCS 8.1+
================================================================ */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600;9..40,700;9..40,800&display=swap');

:root{
  --p:#673DE6;--ph:#5530C9;--pb:#F0EBFF;--pm:#C4B0F0;
  --bg:#F3F3F6;--sf:#FFFFFF;--bd:#E6E6EC;--bd2:#D1D1DC;
  --tx:#1A1A2C;--t2:#4B4B60;--mu:#8888A0;
  --sw:258px;--sc:64px;--th:60px;
  --r:8px;--rl:12px;--rx:16px;
  --sh:0 1px 3px rgba(0,0,0,.06),0 4px 12px rgba(0,0,0,.06);
  --shl:0 8px 32px rgba(0,0,0,.14);
  --f:"DM Sans",-apple-system,BlinkMacSystemFont,sans-serif;
  --e:cubic-bezier(.4,0,.2,1);
  --gn:#16A34A;--gnb:#DCFCE7;--gnt:#14532D;
  --yw:#D97706;--ywb:#FEF9C3;--ywt:#92400E;
  --rd:#DC2626;--rdb:#FEE2E2;--rdt:#991B1B;
  --bl:#2563EB;--blb:#DBEAFE;--blt:#1E40AF;
}
[data-gn-theme=dark]{
  --bg:#0D0D18;--sf:#161624;--bd:#252540;--bd2:#2E2E50;
  --tx:#EEEEF5;--t2:#A0A0BC;--mu:#606080;--pb:#1A1040;
  --gnb:#042014;--gnt:#6EE7B7;--ywb:#1C1000;--ywt:#FDE68A;
  --rdb:#1C0505;--rdt:#FCA5A5;--blb:#080E30;--blt:#93C5FD;
}

*,*::before,*::after{box-sizing:border-box}
body{font-family:var(--f)!important;background:var(--bg)!important;color:var(--tx)!important;font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-thumb{background:var(--bd2);border-radius:99px}
a{color:var(--p)}a:hover{color:var(--ph)}
h1,h2,h3,h4,h5,h6{color:var(--tx);font-family:var(--f);font-weight:600}
.navbar.navbar-default,.navbar-fixed-top,.navbar-collapse.collapse,.navbar-header{display:none!important}
.nav-tabs{display:flex!important}

/* LAYOUT */
.gn-wrap{display:flex;min-height:100vh}
.gn-ovl{display:none;position:fixed;inset:0;background:rgba(8,8,20,.55);z-index:190;opacity:0;transition:opacity .25s var(--e);backdrop-filter:blur(3px)}
.gn-ovl.on{opacity:1}

/* SIDEBAR */
.gn-sb{width:var(--sw);background:var(--sf);border-right:1px solid var(--bd);position:fixed;top:0;left:0;height:100vh;z-index:200;display:flex;flex-direction:column;overflow:hidden;transition:width .2s var(--e),transform .2s var(--e);will-change:width}
.gn-sb.col{width:var(--sc)}
.gn-sb.col .gn-lbl,.gn-sb.col .gn-chv,.gn-sb.col .gn-nbdg,.gn-sb.col .gn-sec,.gn-sb.col .gn-logo-tx,.gn-sb.col .gn-ui,.gn-sb.col .gn-sub{opacity:0;width:0;overflow:hidden;flex-shrink:0;pointer-events:none;white-space:nowrap}
.gn-sb.col .gn-sbi{justify-content:center;padding:8px 0}
.gn-sb.col .gn-user{justify-content:center;padding:8px 0}
.gn-sb.col .gn-sbi[data-tip]::after{content:attr(data-tip);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);background:var(--tx);color:var(--sf);font-size:12px;padding:5px 10px;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s;z-index:300;box-shadow:var(--sh)}
.gn-sb.col .gn-sbi:hover[data-tip]::after{opacity:1}
.gn-logo{display:flex;align-items:center;gap:10px;padding:0 14px;border-bottom:1px solid var(--bd);height:var(--th);flex-shrink:0;text-decoration:none;transition:background .15s;overflow:hidden}
.gn-logo:hover{background:var(--bg);text-decoration:none}
.gn-lmk{width:34px;height:34px;min-width:34px;background:linear-gradient(135deg,var(--p),#9B6FE8);border-radius:10px;display:flex;align-items:center;justify-content:center}
.gn-lmk svg{width:18px;height:18px;fill:#fff}
.gn-logo-tx{font-size:15px;font-weight:700;color:var(--tx);letter-spacing:-.3px;white-space:nowrap}
.gn-logo-tx span{color:var(--p)}
.gn-tog{position:absolute;top:76px;right:-11px;width:22px;height:22px;background:var(--sf);border:1px solid var(--bd);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;box-shadow:var(--sh);transition:background .15s}
.gn-tog:hover{background:var(--pb)}
.gn-tog svg{width:11px;height:11px;stroke:var(--mu);fill:none;stroke-width:2.5;transition:transform .2s}
.gn-sb.col .gn-tog svg{transform:rotate(180deg)}
.gn-nav{flex:1;padding:6px;overflow-y:auto;overflow-x:hidden}
.gn-nav::-webkit-scrollbar{width:0}
.gn-sec{padding:14px 10px 3px;font-size:10px;font-weight:700;color:var(--mu);letter-spacing:1px;text-transform:uppercase;white-space:nowrap;overflow:hidden}
.gn-div{height:1px;background:var(--bd);margin:5px 6px}
.gn-sbi{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;color:var(--t2);font-size:13.5px;text-decoration:none;white-space:nowrap;position:relative;transition:background .12s,color .12s;margin:1px 0;user-select:none}
.gn-sbi:hover{background:var(--bg);color:var(--tx);text-decoration:none}
.gn-sbi.on{background:var(--pb);color:var(--p);font-weight:600}
.gn-ico{width:20px;height:20px;min-width:20px;display:flex;align-items:center;justify-content:center;color:var(--mu)}
.gn-sbi:hover .gn-ico{color:var(--t2)}
.gn-sbi.on .gn-ico{color:var(--p)}
.gn-ico svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.gn-lbl{flex:1;overflow:hidden;text-overflow:ellipsis}
.gn-nbdg{font-size:10px;font-weight:700;padding:2px 7px;border-radius:99px;flex-shrink:0;line-height:1.5}
.gn-nbdg.p{background:var(--pb);color:var(--p)}.gn-nbdg.r{background:var(--rdb);color:var(--rd)}
.gn-nbdg.w{background:var(--ywb);color:var(--yw)}.gn-nbdg.g{background:var(--gnb);color:var(--gn)}
.gn-chv svg{width:13px;height:13px;stroke:var(--mu);fill:none;stroke-width:2;transition:transform .2s}
.gn-sbi.sub-on .gn-chv svg{transform:rotate(90deg)}
.gn-sub{overflow:hidden;max-height:0;transition:max-height .25s var(--e)}
.gn-sub.on{max-height:600px}
.gn-subi{display:flex;align-items:center;gap:8px;padding:7px 10px 7px 40px;border-radius:7px;margin:1px 0;color:var(--mu);font-size:13px;text-decoration:none;transition:background .12s,color .12s}
.gn-subi:hover{background:var(--bg);color:var(--tx);text-decoration:none}
.gn-subi.on{color:var(--p);font-weight:600;background:var(--pb)}
.gn-bot{padding:6px;border-top:1px solid var(--bd);flex-shrink:0}
.gn-user{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;transition:background .12s;text-decoration:none;overflow:hidden}
.gn-user:hover{background:var(--bg);text-decoration:none}
.gn-av{width:32px;height:32px;min-width:32px;border-radius:50%;background:linear-gradient(135deg,var(--p),#9B6FE8);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:12px;letter-spacing:-.5px}
.gn-ui{flex:1;min-width:0;overflow:hidden}
.gn-ui strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--tx);font-weight:600}
.gn-ui small{font-size:11.5px;color:var(--mu);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* MAIN */
.gn-main{flex:1;margin-left:var(--sw);display:flex;flex-direction:column;min-width:0;min-height:100vh;transition:margin-left .2s var(--e)}
.gn-sb.col~.gn-main{margin-left:var(--sc)}
/* Bootstrap container/row preserved inside sidebar layout for store/cart pages */

/* TOPBAR */
.gn-top{position:fixed;top:0;left:var(--sw);right:0;height:var(--th);background:var(--sf);border-bottom:1px solid var(--bd);display:flex;align-items:center;padding:0 20px;gap:8px;z-index:100;transition:left .2s var(--e)}
.gn-sb.col~.gn-main .gn-top{left:var(--sc)}
.gn-ham{display:none;width:36px;height:36px;align-items:center;justify-content:center;border-radius:8px;border:none;background:transparent;color:var(--t2);cursor:pointer;flex-shrink:0;transition:background .12s}
.gn-ham:hover{background:var(--bg)}
.gn-ham svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8}
.gn-sch{display:flex;align-items:center;gap:8px;background:var(--bg);border:1.5px solid var(--bd);border-radius:var(--r);padding:0 12px;height:38px;flex:1;max-width:360px;cursor:text;transition:border-color .15s,box-shadow .15s,background .15s}
.gn-sch:focus-within{border-color:var(--p);box-shadow:0 0 0 3px rgba(103,61,230,.12);background:var(--sf)}
.gn-sch>svg{width:15px;height:15px;stroke:var(--mu);fill:none;stroke-width:2;flex-shrink:0}
.gn-sch input{border:none;background:transparent;outline:none;font-size:13.5px;color:var(--tx);width:100%;font-family:var(--f)}
.gn-sch input::placeholder{color:var(--mu)}
.gn-kbd{font-size:10px;background:var(--sf);border:1px solid var(--bd2);border-radius:4px;padding:1px 5px;color:var(--mu);line-height:1.8;flex-shrink:0}
.gn-sp{flex:1;min-width:4px}
.gn-tbtn{display:flex;align-items:center;gap:6px;height:34px;padding:0 14px;border-radius:7px;border:none;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;font-family:var(--f);transition:background .12s,color .12s;text-decoration:none;flex-shrink:0}
.gn-tbtn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}
.gn-tbtn.pr{background:var(--pb);color:var(--p)}.gn-tbtn.pr:hover{background:var(--p);color:#fff;text-decoration:none}
.gn-tbtn.ou{background:transparent;color:var(--p);border:1.5px solid var(--p)!important;border-radius:99px!important}.gn-tbtn.ou:hover{background:var(--pb);text-decoration:none}
.gn-ib{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:none;background:transparent;color:var(--mu);cursor:pointer;position:relative;transition:background .12s,color .12s;flex-shrink:0}
.gn-ib:hover{background:var(--bg);color:var(--tx)}
.gn-ib svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7}
.gn-dot{position:absolute;top:6px;right:6px;width:7px;height:7px;background:var(--rd);border-radius:50%;border:2px solid var(--sf)}
.gn-tav{width:32px;height:32px;min-width:32px;border-radius:50%;background:linear-gradient(135deg,var(--p),#9B6FE8);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:12px;cursor:pointer;border:2px solid transparent;transition:border-color .12s,box-shadow .12s}
.gn-tav:hover{border-color:var(--p);box-shadow:0 0 0 2px rgba(103,61,230,.2)}
.gn-dd{position:absolute;top:calc(100% + 8px);right:0;background:var(--sf);border:1px solid var(--bd);border-radius:var(--rl);padding:6px;min-width:210px;box-shadow:var(--shl);opacity:0;pointer-events:none;transform:translateY(-6px) scale(.98);transition:opacity .15s,transform .15s;z-index:500}
.gn-dd.on{opacity:1;pointer-events:auto;transform:none}
.gn-ddh{padding:10px 10px 8px;border-bottom:1px solid var(--bd);margin-bottom:4px}
.gn-ddh strong{display:block;font-size:13.5px;font-weight:600;color:var(--tx)}
.gn-ddh small{font-size:11.5px;color:var(--mu)}
.gn-ddi{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:7px;font-size:13.5px;color:var(--t2);cursor:pointer;transition:background .1s;text-decoration:none}
.gn-ddi:hover{background:var(--bg);color:var(--tx);text-decoration:none}
.gn-ddi svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.7;flex-shrink:0;color:var(--mu)}
.gn-ddi.d{color:var(--rd)}.gn-ddi.d svg{color:var(--rd)}.gn-ddi.d:hover{background:var(--rdb)}
.gn-ddiv{height:1px;background:var(--bd);margin:4px 0}
.gn-np{position:absolute;top:calc(100% + 8px);right:0;background:var(--sf);border:1px solid var(--bd);border-radius:var(--rl);width:340px;box-shadow:var(--shl);opacity:0;pointer-events:none;transform:translateY(-6px) scale(.98);transition:opacity .15s,transform .15s;z-index:500;overflow:hidden}
.gn-np.on{opacity:1;pointer-events:auto;transform:none}
.gn-nph{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 12px;border-bottom:1px solid var(--bd)}
.gn-nph h4{font-size:14px;font-weight:700;margin:0;color:var(--tx)}
.gn-npi{display:flex;gap:12px;padding:12px 16px;border-bottom:1px solid var(--bd);cursor:pointer;transition:background .1s;position:relative}
.gn-npi:last-child{border-bottom:none}
.gn-npi:hover{background:var(--bg)}
.gn-npi.unread::before{content:'';position:absolute;left:7px;top:50%;transform:translateY(-50%);width:6px;height:6px;background:var(--p);border-radius:50%}
.gn-npi.unread{padding-left:20px}
.gn-nii{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.gn-nii svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8}
.gn-nib p{font-size:13px;line-height:1.4;margin:0;color:var(--tx)}
.gn-nib time{font-size:11px;color:var(--mu);display:block;margin-top:3px}
.gn-npe{padding:28px;text-align:center;color:var(--mu);font-size:13px}

/* CONTENT */
.gn-ct{margin-top:var(--th);padding:26px 26px 60px;flex:1;min-width:0}

/* AUTH */
.gn-auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg)}
.gn-auth-box{background:var(--sf);border:1px solid var(--bd);border-radius:20px;padding:40px;width:100%;max-width:420px;box-shadow:var(--shl)}
.gn-auth-box.wide{max-width:520px}
.gn-auth-head{text-align:center;margin-bottom:28px}
.gn-auth-head .gn-lmk{margin:0 auto 14px;width:48px;height:48px;border-radius:14px}
.gn-auth-head h1{font-size:22px;font-weight:700;letter-spacing:-.3px;margin:0 0 6px}
.gn-auth-head p{font-size:13.5px;color:var(--mu);margin:0}
.gn-auth-box .panel{background:transparent!important;border:none!important;box-shadow:none!important;margin:0!important}
.gn-auth-box .panel-heading{display:none!important}
.gn-auth-box .panel-body{padding:0!important}
.gn-auth-box .panel-footer{background:transparent!important;border-top:1px solid var(--bd)!important;padding:16px 0 0!important;margin-top:16px!important;text-align:center;font-size:13px}
.gn-auth-box .btn-block{width:100%!important;height:42px!important;font-size:14.5px!important;margin-top:4px}
.gn-auth-box .help-block{font-size:12px!important;color:var(--mu)!important}

/* GLOBAL BOOTSTRAP / WHMCS OVERRIDES */
.alert{border-radius:var(--r)!important;font-family:var(--f)!important;font-size:13.5px!important;border-width:1px!important;padding:12px 16px!important}
.alert-success{background:var(--gnb)!important;color:var(--gnt)!important;border-color:#A7F3D0!important}
.alert-danger,.alert-error{background:var(--rdb)!important;color:var(--rdt)!important;border-color:#FECACA!important}
.alert-info{background:var(--blb)!important;color:var(--blt)!important;border-color:#BFDBFE!important}
.alert-warning{background:var(--ywb)!important;color:var(--ywt)!important;border-color:#FDE68A!important}
.alert .close{opacity:.6!important}
.panel{background:var(--sf)!important;border:1px solid var(--bd)!important;border-radius:var(--rl)!important;box-shadow:none!important;overflow:hidden;margin-bottom:20px!important}
.panel-heading{background:transparent!important;border-bottom:1px solid var(--bd)!important;font-weight:600!important;font-family:var(--f)!important;padding:16px 20px!important;color:var(--tx)!important;font-size:14.5px!important}
.panel-body{padding:20px!important}
.panel-footer{background:var(--bg)!important;border-top:1px solid var(--bd)!important;padding:12px 20px!important}
.panel-title{font-size:14.5px!important;font-weight:600!important}
.panel-primary>.panel-heading{background:var(--pb)!important;color:var(--p)!important;border-bottom:none!important}
.panel-success>.panel-heading{background:var(--gnb)!important;color:var(--gnt)!important;border-bottom:none!important}
.panel-danger>.panel-heading{background:var(--rdb)!important;color:var(--rdt)!important;border-bottom:none!important}
.panel-warning>.panel-heading{background:var(--ywb)!important;color:var(--ywt)!important;border-bottom:none!important}
.panel-info>.panel-heading{background:var(--blb)!important;color:var(--blt)!important;border-bottom:none!important}
.card{background:var(--sf)!important;border:1px solid var(--bd)!important;border-radius:var(--rl)!important;box-shadow:none!important}
.card-header{background:transparent!important;border-bottom:1px solid var(--bd)!important;font-weight:600!important;padding:14px 18px!important;color:var(--tx)!important}
.card-body{padding:18px!important}
.card-footer{background:var(--bg)!important;border-top:1px solid var(--bd)!important;padding:12px 18px!important}
.card-accent-blue{border-left:3px solid var(--bl)!important}
.card-accent-green{border-left:3px solid var(--gn)!important}
.card-accent-red{border-left:3px solid var(--rd)!important}
.card-accent-orange,.card-accent-warning{border-left:3px solid var(--yw)!important}
.card-accent-purple{border-left:3px solid var(--p)!important}
.table{font-family:var(--f)!important;color:var(--tx)!important;margin-bottom:0!important}
.table thead th{font-size:11.5px!important;font-weight:700!important;color:var(--mu)!important;text-transform:uppercase!important;letter-spacing:.5px!important;border-bottom:1.5px solid var(--bd)!important;border-top:none!important;background:transparent!important;padding:10px 16px!important;white-space:nowrap}
.table td,.table th{border-color:var(--bd)!important;vertical-align:middle!important;padding:13px 16px!important;font-size:13.5px!important}
.table tbody tr{transition:background .1s}
.table tbody tr:hover{background:var(--bg)!important}
.table-bordered{border-color:var(--bd)!important}
.table-striped tbody tr:nth-of-type(odd){background:rgba(103,61,230,.025)!important}
.table-responsive{border:none!important;background:var(--sf);border:1px solid var(--bd)!important;border-radius:var(--rl);overflow:hidden}
.dataTables_wrapper{background:var(--sf);border:1px solid var(--bd);border-radius:var(--rl);overflow:hidden;padding:0!important}
.dataTables_length,.dataTables_filter,.dataTables_info,.dataTables_paginate{padding:12px 16px!important;font-size:13px!important;font-family:var(--f)!important;color:var(--mu)!important}
.dataTables_filter{border-bottom:1px solid var(--bd)}
.dataTables_filter input{height:34px!important;border-radius:6px!important;border:1.5px solid var(--bd)!important;padding:0 10px!important;font-family:var(--f)!important;font-size:13px!important}
.dataTables_filter input:focus{border-color:var(--p)!important;box-shadow:0 0 0 3px rgba(103,61,230,.12)!important;outline:none!important}
.dataTables_paginate{border-top:1px solid var(--bd)!important}
.dataTables_paginate .paginate_button{border-radius:6px!important;border:1px solid transparent!important;padding:4px 10px!important;font-size:13px!important;margin:0 2px!important;color:var(--t2)!important;cursor:pointer;transition:background .1s!important}
.dataTables_paginate .paginate_button:hover{background:var(--bg)!important;color:var(--tx)!important}
.dataTables_paginate .paginate_button.current{background:var(--p)!important;color:#fff!important;border-color:var(--p)!important}
.dataTables_paginate .paginate_button.disabled{color:var(--mu)!important;cursor:default}
.form-control{background:var(--sf)!important;border:1.5px solid var(--bd)!important;border-radius:var(--r)!important;color:var(--tx)!important;font-family:var(--f)!important;font-size:13.5px!important;height:40px!important;padding:0 12px!important;transition:border-color .15s,box-shadow .15s!important}
.form-control:focus{border-color:var(--p)!important;box-shadow:0 0 0 3px rgba(103,61,230,.12)!important;outline:none!important;background:var(--sf)!important}
.form-control:disabled,.form-control[readonly]{background:var(--bg)!important;color:var(--mu)!important}
textarea.form-control{height:auto!important;padding:10px 12px!important;resize:vertical}
select.form-control{-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238888A0' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-size:14px!important;background-position:right 10px center!important;padding-right:32px!important}
label{font-size:12.5px!important;font-weight:600!important;color:var(--t2)!important;font-family:var(--f)!important;margin-bottom:5px!important}
.form-group{margin-bottom:18px!important}
.input-group-text,.input-group-addon{background:var(--bg)!important;border:1.5px solid var(--bd)!important;color:var(--mu)!important;font-family:var(--f)!important}
.help-block,.form-text{font-size:12px!important;color:var(--mu)!important;margin-top:4px!important}
input[type=checkbox],input[type=radio]{accent-color:var(--p)}
.btn{font-family:var(--f)!important;border-radius:var(--r)!important;font-weight:500!important;font-size:13.5px!important;height:38px!important;padding:0 18px!important;transition:background .15s,border-color .15s,box-shadow .15s!important;display:inline-flex!important;align-items:center!important;gap:6px!important;white-space:nowrap!important}
.btn-lg{height:44px!important;font-size:15px!important;border-radius:10px!important}
.btn-sm{height:30px!important;font-size:12.5px!important;padding:0 12px!important}
.btn-xs{height:26px!important;font-size:11.5px!important;padding:0 9px!important;border-radius:6px!important}
.btn-block{width:100%!important;justify-content:center!important}
.btn-primary{background:var(--p)!important;border-color:var(--p)!important;color:#fff!important}
.btn-primary:hover,.btn-primary:focus{background:var(--ph)!important;border-color:var(--ph)!important;box-shadow:0 4px 14px rgba(103,61,230,.4)!important;color:#fff!important}
.btn-default{background:transparent!important;border-color:var(--bd2)!important;color:var(--t2)!important}
.btn-default:hover{background:var(--bg)!important;color:var(--tx)!important}
.btn-success{background:var(--gn)!important;border-color:var(--gn)!important;color:#fff!important}
.btn-success:hover{background:#15803D!important}
.btn-danger{background:var(--rd)!important;border-color:var(--rd)!important;color:#fff!important}
.btn-danger:hover{background:#B91C1C!important}
.btn-warning{background:var(--yw)!important;border-color:var(--yw)!important;color:#fff!important}
.btn-info{background:var(--bl)!important;border-color:var(--bl)!important;color:#fff!important}
.btn-link{background:transparent!important;border:none!important;color:var(--p)!important;height:auto!important;padding:0!important}
.btn-link:hover{color:var(--ph)!important;text-decoration:underline!important}
.nav-tabs{border-bottom:1.5px solid var(--bd)!important;flex-wrap:nowrap!important;overflow-x:auto!important}
.nav-tabs::-webkit-scrollbar{height:0}
.nav-tabs .nav-link,.nav-tabs>li>a{color:var(--mu)!important;border:none!important;border-bottom:2px solid transparent!important;border-radius:0!important;margin-bottom:-2px!important;font-size:13.5px!important;font-family:var(--f)!important;padding:10px 16px!important;transition:color .12s!important;white-space:nowrap}
.nav-tabs .nav-link:hover,.nav-tabs>li>a:hover{color:var(--tx)!important;background:transparent!important}
.nav-tabs .nav-link.active,.nav-tabs>li.active>a{color:var(--p)!important;border-bottom-color:var(--p)!important;font-weight:600!important;background:transparent!important}
.tab-content{padding-top:20px}
.breadcrumb{background:transparent!important;padding:0 0 16px!important;margin:0!important;font-size:12.5px!important;border-radius:0!important}
.breadcrumb-item+.breadcrumb-item::before{color:var(--mu)!important}
.breadcrumb-item a,.breadcrumb>li>a{color:var(--mu)!important}
.breadcrumb-item a:hover,.breadcrumb>li>a:hover{color:var(--tx)!important}
.breadcrumb-item.active,.breadcrumb>li.active{color:var(--tx)!important}
.pagination>li>a,.pagination>li>span{color:var(--p)!important;border-color:var(--bd)!important;font-family:var(--f)!important;transition:background .1s!important;font-size:13px!important}
.pagination>li>a:hover{background:var(--pb)!important}
.pagination>.active>a,.pagination>.active>span{background:var(--p)!important;border-color:var(--p)!important;color:#fff!important}
.page-link{color:var(--p)!important;border-color:var(--bd)!important;font-family:var(--f)!important}
.page-item.active .page-link{background:var(--p)!important;border-color:var(--p)!important;color:#fff!important}
.badge,.label{border-radius:99px!important;font-size:11px!important;font-weight:700!important;padding:3px 9px!important;font-family:var(--f)!important}
.badge-primary,.label-primary{background:var(--pb)!important;color:var(--p)!important}
.badge-success,.label-success,.label.status-active{background:var(--gnb)!important;color:var(--gnt)!important}
.badge-danger,.label-danger,.label.status-terminated,.label.status-cancelled,.label.status-fraud{background:var(--rdb)!important;color:var(--rdt)!important}
.badge-warning,.label-warning,.label.status-suspended,.label.status-overdue{background:var(--ywb)!important;color:var(--ywt)!important}
.badge-info,.label-info,.label.status-pending{background:var(--blb)!important;color:var(--blt)!important}
.badge-default,.label-default{background:var(--bg)!important;color:var(--mu)!important}
.bg-color-blue{background:var(--bl)!important}.bg-color-green{background:var(--gn)!important}
.bg-color-red{background:var(--rd)!important}.bg-color-orange{background:var(--yw)!important}
.bg-color-purple{background:var(--p)!important}.text-muted{color:var(--mu)!important}
.modal-content{background:var(--sf)!important;border:1px solid var(--bd)!important;border-radius:18px!important;box-shadow:var(--shl)!important;overflow:hidden}
.modal-header{border-bottom:1px solid var(--bd)!important;padding:18px 20px!important;background:transparent!important}
.modal-title{font-size:15.5px!important;font-weight:700!important;color:var(--tx)!important}
.modal-body{padding:20px!important}
.modal-footer{border-top:1px solid var(--bd)!important;padding:14px 20px!important;background:transparent!important}
.close{color:var(--mu)!important;opacity:1!important;font-size:22px!important}
.close:hover{color:var(--tx)!important}
.modal-backdrop{background:rgba(8,8,20,.6)!important}
.progress{height:8px!important;border-radius:99px!important;background:var(--bd)!important;box-shadow:none!important;margin-bottom:12px!important}
.progress-bar{border-radius:99px!important;transition:width .4s ease!important}
.progress-bar-success{background:var(--gn)!important}.progress-bar-warning{background:var(--yw)!important}
.progress-bar-danger{background:var(--rd)!important}.progress-bar-info{background:var(--bl)!important}
.dropdown-menu{background:var(--sf)!important;border:1px solid var(--bd)!important;border-radius:var(--rl)!important;box-shadow:var(--shl)!important;padding:6px!important;font-family:var(--f)!important}
.dropdown-item,.dropdown-menu>li>a{color:var(--t2)!important;font-size:13.5px!important;border-radius:6px!important;padding:8px 12px!important;transition:background .1s!important;font-family:var(--f)!important}
.dropdown-item:hover,.dropdown-menu>li>a:hover{background:var(--bg)!important;color:var(--tx)!important}
.dropdown-divider,.divider{border-color:var(--bd)!important;margin:4px 0!important}
.well{background:var(--bg)!important;border:1px solid var(--bd)!important;border-radius:var(--r)!important;box-shadow:none!important}
.list-group-item{background:var(--sf)!important;border-color:var(--bd)!important;color:var(--tx)!important;font-family:var(--f)!important;transition:background .1s}
.list-group-item:hover{background:var(--bg)!important}
.list-group-item.active{background:var(--pb)!important;border-color:var(--p)!important;color:var(--p)!important}
.tiles{margin-bottom:24px}
.tiles .tile{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;background:var(--sf)!important;border:1px solid var(--bd)!important;border-radius:var(--rl)!important;padding:24px 16px!important;text-decoration:none!important;color:var(--tx)!important;transition:box-shadow .15s,transform .15s!important;position:relative;overflow:hidden;min-height:110px;cursor:pointer}
.tiles .tile:hover{box-shadow:0 4px 20px rgba(103,61,230,.15)!important;transform:translateY(-2px)!important;text-decoration:none!important}
.tiles .tile .icon{font-size:28px;margin-bottom:8px;color:var(--t2)}
.tiles .tile .stat{font-size:28px;font-weight:800;color:var(--tx);letter-spacing:-1px;line-height:1}
.tiles .tile .title{font-size:12.5px;color:var(--mu);margin-top:4px;font-weight:500}
.tiles .tile .highlight{position:absolute;bottom:0;left:0;right:0;height:3px;border-radius:0}

/* GENESIS COMPONENTS */
.gn-toasts{position:fixed;bottom:24px;right:24px;z-index:999;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.gn-toast{background:var(--tx);color:var(--sf);padding:12px 16px;border-radius:var(--r);font-size:13.5px;font-weight:500;box-shadow:var(--shl);display:flex;align-items:center;gap:10px;pointer-events:auto;max-width:320px;animation:gnIn .3s var(--e)}
.gn-toast svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;flex-shrink:0}
.gn-toast.ok{background:var(--gn)}.gn-toast.er{background:var(--rd)}.gn-toast.wn{background:var(--yw)}
@keyframes gnIn{from{transform:translateX(110%);opacity:0}to{transform:none;opacity:1}}
.gn-sr{position:fixed;background:var(--sf);border:1px solid var(--bd);border-radius:var(--rl);box-shadow:var(--shl);width:380px;max-height:380px;overflow-y:auto;z-index:600;display:none}
.gn-sr.on{display:block}
.gn-sr::-webkit-scrollbar{width:4px}
.gn-src{font-size:10.5px;text-transform:uppercase;font-weight:700;letter-spacing:.6px;padding:8px 14px 4px;color:var(--mu)}
.gn-sri{display:flex;align-items:center;gap:10px;padding:9px 14px;cursor:pointer;transition:background .1s;font-size:13.5px;text-decoration:none;color:var(--tx)}
.gn-sri:hover{background:var(--bg);text-decoration:none;color:var(--tx)}
.gn-sric{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.gn-sric svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8}
.gn-ph{font-size:22px;font-weight:700;letter-spacing:-.4px;margin:0 0 4px;color:var(--tx)}
.gn-pr{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;gap:12px;flex-wrap:wrap}
.gn-pr .gn-ph{margin:0}
.gn-b{display:inline-flex;align-items:center;font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:99px;white-space:nowrap;line-height:1.4}
.gn-bg{background:var(--gnb);color:var(--gnt)}.gn-by{background:var(--ywb);color:var(--ywt)}
.gn-br{background:var(--rdb);color:var(--rdt)}.gn-bb{background:var(--blb);color:var(--blt)}
.gn-bx{background:var(--bg);color:var(--mu)}.gn-bp{background:var(--pb);color:var(--p)}
.gn-card{background:var(--sf);border:1px solid var(--bd);border-radius:var(--rl);padding:20px}
.gn-card-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:10px}
.gn-card-ti{font-size:14.5px;font-weight:700;margin:0;color:var(--tx)}
.gn-btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 16px;border-radius:var(--r);border:none;font-size:13.5px;font-weight:500;cursor:pointer;font-family:var(--f);white-space:nowrap;transition:background .15s,box-shadow .15s;text-decoration:none}
.gn-btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2}
.gn-btn.pri{background:var(--p);color:#fff}.gn-btn.pri:hover{background:var(--ph);box-shadow:0 4px 12px rgba(103,61,230,.4);color:#fff;text-decoration:none}
.gn-btn.out{background:transparent;border:1.5px solid var(--bd2)!important;color:var(--t2)}.gn-btn.out:hover{border-color:var(--tx)!important;color:var(--tx);text-decoration:none}
.gn-btn.gh{background:transparent;color:var(--t2)}.gn-btn.gh:hover{background:var(--bg);color:var(--tx);text-decoration:none}
.gn-btn.sm{height:30px;padding:0 12px;font-size:12.5px;border-radius:6px}
.gn-stat{background:var(--sf);border:1px solid var(--bd);border-radius:var(--rl);padding:18px 20px;text-decoration:none;display:block;transition:box-shadow .15s}
.gn-stat:hover{text-decoration:none;box-shadow:var(--sh)}
.gn-stat-v{font-size:26px;font-weight:800;letter-spacing:-.5px;margin-bottom:4px;color:var(--tx)}
.gn-stat-l{font-size:12px;color:var(--mu);font-weight:500}
.gn-g2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.gn-g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.gn-g4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.gn-sg{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.gn-sc{background:var(--sf);border:1px solid var(--bd);border-radius:var(--rl);padding:18px 20px;display:flex;align-items:center;gap:14px;cursor:pointer;text-decoration:none;color:var(--tx);transition:border-color .15s,box-shadow .15s}
.gn-sc:hover{border-color:var(--pm);box-shadow:0 2px 14px rgba(103,61,230,.1);text-decoration:none;color:var(--tx)}
.gn-sco{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.gn-sco svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.7}
.gn-scn{font-size:14px;font-weight:600;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gn-scm{font-size:12px;color:var(--mu)}
.gn-avlg{width:72px;height:72px;min-width:72px;border-radius:50%;background:linear-gradient(135deg,var(--p),#9B6FE8);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:26px}
.gn-tdl{background:var(--sf);border:1px solid var(--bd);border-radius:var(--rx);overflow:hidden}
.gn-tdi{display:flex;align-items:center;gap:14px;padding:16px 20px;border-bottom:1px solid var(--bd);transition:background .1s}
.gn-tdi:last-child{border-bottom:none}
.gn-tdi:hover{background:var(--bg)}
.gn-tdo{width:40px;height:40px;min-width:40px;border-radius:11px;display:flex;align-items:center;justify-content:center}
.gn-tdo svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7}
.gn-tdb{flex:1;min-width:0}
.gn-tdb strong{display:block;font-size:13.5px;font-weight:600;margin-bottom:2px}
.gn-tdb p{font-size:12.5px;color:var(--mu);margin:0}
.gn-tdx{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:6px;color:var(--mu);cursor:pointer;flex-shrink:0}
.gn-tdx:hover{background:var(--bg);color:var(--tx)}
.gn-tdx svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}
/* Domain search */
.gn-ds{background:linear-gradient(145deg,#EAE2FB,#D4CAFE,#C8BDEE);border-radius:20px;padding:40px;text-align:center;margin-bottom:24px}
[data-gn-theme=dark] .gn-ds{background:linear-gradient(145deg,#1A1140,#110C30)}
.gn-ds h2{font-size:20px;font-weight:800;color:#261950;margin-bottom:6px}
[data-gn-theme=dark] .gn-ds h2{color:var(--pm)}
.gn-ds .gn-ds-sub{font-size:13.5px;color:#6B5B95;margin-bottom:22px}
[data-gn-theme=dark] .gn-ds .gn-ds-sub{color:#8870B8}
.gn-drow{display:flex;gap:8px;max-width:560px;margin:0 auto 18px;position:relative}
.gn-di{flex:1;height:48px;border:2px solid rgba(103,61,230,.2);border-radius:12px;padding:0 16px 0 46px;font-size:14.5px;font-family:var(--f);color:var(--tx);outline:none;background:rgba(255,255,255,.9);transition:border-color .15s,box-shadow .15s}
.gn-di:focus{border-color:var(--p);box-shadow:0 0 0 3px rgba(103,61,230,.15);background:#fff}
[data-gn-theme=dark] .gn-di{background:rgba(26,16,60,.75);color:var(--tx);border-color:rgba(103,61,230,.3)}
.gn-dico{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--mu);pointer-events:none}
.gn-dico svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2}
.gn-db{height:48px;padding:0 24px;background:var(--pm);color:#fff;border:none;border-radius:12px;font-size:14.5px;font-weight:600;cursor:pointer;font-family:var(--f);transition:background .15s,transform .1s;white-space:nowrap;flex-shrink:0}
.gn-db.rdy{background:var(--p)}.gn-db.rdy:hover{background:var(--ph);transform:scale(1.02)}
.gn-db.busy{opacity:.65;cursor:wait;pointer-events:none}
.gn-dr{max-width:560px;margin:0 auto 14px;background:rgba(255,255,255,.92);border-radius:12px;overflow:hidden;border:1px solid rgba(103,61,230,.12)}
[data-gn-theme=dark] .gn-dr{background:rgba(26,16,60,.85);border-color:rgba(103,61,230,.22)}
.gn-dri{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid rgba(103,61,230,.08);font-size:13.5px}
.gn-dri:last-child{border-bottom:none}
.gn-drdot{width:10px;height:10px;min-width:10px;border-radius:50%}
.gn-drdot.av{background:var(--gn)}.gn-drdot.na{background:var(--rd)}.gn-drdot.uk{background:var(--mu)}
.gn-drn{flex:1;font-weight:600}
.gn-drp{color:var(--mu);font-size:12.5px;white-space:nowrap}
.gn-dload{padding:14px;text-align:center;color:var(--mu);font-size:13px;display:flex;align-items:center;justify-content:center;gap:8px}
.gn-spin{width:16px;height:16px;border:2px solid var(--bd2);border-top-color:var(--p);border-radius:50%;animation:gnSpin .6s linear infinite}
@keyframes gnSpin{to{transform:rotate(360deg)}}
.gn-tlps{display:flex;flex-wrap:wrap;gap:7px;justify-content:center}
.gn-tlp{background:rgba(255,255,255,.75);border:1.5px solid rgba(103,61,230,.15);border-radius:99px;padding:5px 14px;font-size:12.5px;color:#5C3EA8;cursor:pointer;transition:all .15s;font-weight:500}
[data-gn-theme=dark] .gn-tlp{background:rgba(103,61,230,.15);color:var(--pm);border-color:rgba(103,61,230,.3)}
.gn-tlp:hover{border-color:var(--p);background:var(--p);color:#fff}
.gn-prom{background:var(--sf);border:1px solid var(--bd);border-radius:18px;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;position:relative;overflow:hidden;gap:20px}
.gn-prom::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--p),#9B6FE8)}
.gn-promc h3{font-size:15.5px;font-weight:700;margin:0 0 6px}
.gn-promc p{font-size:13.5px;color:var(--mu);margin:0;line-height:1.5}
.gn-promas{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.gn-prombd{width:70px;height:70px;background:linear-gradient(135deg,var(--pb),var(--pm));border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0;transform:rotate(-8deg)}
.gn-promx{position:absolute;top:10px;right:10px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:6px;border:none;background:transparent;cursor:pointer;color:var(--mu)}
.gn-promx:hover{background:var(--bg)}
.gn-promx svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2.5}
.gn-stit{font-size:15px;font-weight:700;display:flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--tx)}
.gn-sbdg{min-width:18px;height:18px;background:var(--rd);color:#fff;font-size:10px;font-weight:800;border-radius:99px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}
.gn-prog{height:5px;background:var(--bd);border-radius:99px;overflow:hidden;margin-top:6px}
.gn-pf{height:100%;border-radius:99px;transition:width .5s ease}
.gn-al{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--r);font-size:13px;border:1px solid transparent;margin-bottom:14px}
.gn-al svg{width:16px;height:16px;flex-shrink:0;margin-top:1px;stroke:currentColor;fill:none;stroke-width:2}
.gn-al.i{background:var(--blb);color:var(--blt);border-color:#BFDBFE}
.gn-al.w{background:var(--ywb);color:var(--ywt);border-color:#FDE68A}
.gn-al.s{background:var(--gnb);color:var(--gnt);border-color:#BBF7D0}
.gn-al.d{background:var(--rdb);color:var(--rdt);border-color:#FECACA}
.mt8{margin-top:8px!important}.mt16{margin-top:16px!important}.mt20{margin-top:20px!important}.mt24{margin-top:24px!important}
.mb8{margin-bottom:8px!important}.mb16{margin-bottom:16px!important}.mb20{margin-bottom:20px!important}.mb24{margin-bottom:24px!important}

@media(max-width:1200px){.gn-g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1024px){.gn-tbtn.pr{display:none}.gn-g3{grid-template-columns:1fr 1fr}}
@media(max-width:768px){
  .gn-sb{transform:translateX(-100%);width:var(--sw)!important}
  .gn-sb.mob{transform:none;box-shadow:4px 0 24px rgba(0,0,0,.18)}
  .gn-ovl{display:block}
  .gn-top{left:0!important}
  .gn-ham{display:flex}
  .gn-main{margin-left:0!important}
  .gn-ct{padding:16px 14px 48px}
  .gn-top{padding:0 14px;gap:6px}
  .gn-sch{max-width:160px}
  .gn-ph{font-size:18px}
  .gn-sg,.gn-g2,.gn-g3,.gn-g4{grid-template-columns:1fr}
  .gn-tbtn.ou{display:none}
  .gn-ds{padding:24px 16px}
  .gn-drow{flex-direction:column}
  .gn-di{padding-left:16px}
  .gn-dico{display:none}
  .gn-sr{width:calc(100vw - 24px)}
  .gn-prom{flex-direction:column}
  .gn-prombd{display:none}
  .gn-auth-box{padding:28px 16px}
}
@media(max-width:480px){
  .gn-sch{max-width:120px}.gn-kbd{display:none}
  .gn-ct{padding:12px 10px 40px}.gn-top{padding:0 10px;gap:4px}
  .gn-tog{display:none}
}
@media print{
  .gn-sb,.gn-top,.gn-toasts,.gn-ovl,.gn-tog{display:none!important}
  .gn-main{margin-left:0!important}
  .gn-ct{margin-top:0!important;padding:0!important}
}

/* ════════════════════════════════════════
   AUTH PAGE POLISH
   Parent's login/register form renders inside our gn-auth div.
   We style Bootstrap panels + forms to match Genesis.
════════════════════════════════════════ */
.gn-auth .panel,
.gn-auth .login-panel {
  background: var(--sf) !important;
  border: 1px solid var(--bd) !important;
  border-radius: 20px !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.14) !important;
  width: 100%;
  max-width: 440px;
  margin: 0 auto !important;
}
.gn-auth .panel-heading {
  border-radius: 20px 20px 0 0 !important;
  padding: 28px 32px 20px !important;
  text-align: center;
  border-bottom: 1px solid var(--bd) !important;
}
.gn-auth .panel-heading h3,
.gn-auth .panel-heading .panel-title {
  font-size: 20px !important;
  font-weight: 700 !important;
  letter-spacing: -.3px;
}
.gn-auth .panel-heading::before {
  content: '';
  display: block;
  width: 44px;
  height: 44px;
  background: linear-gradient(135deg, var(--p), #9B6FE8);
  border-radius: 12px;
  margin: 0 auto 14px;
}
.gn-auth .panel-body {
  padding: 24px 32px !important;
}
.gn-auth .panel-footer {
  padding: 16px 32px !important;
  border-radius: 0 0 20px 20px !important;
  text-align: center;
  font-size: 13px;
}
/* Wide panel for register */
.gn-auth .panel.registration-panel,
.gn-auth .register-panel,
.gn-auth form[action*="register"] + .panel {
  max-width: 560px;
}
/* Container that holds the panel */
.gn-auth .container,
.gn-auth .container-fluid {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(100vh - 40px);
  padding: 20px !important;
}
/* Cart / Store full-page styles */
.gn-store-page .container { max-width: 1100px; margin: 0 auto; }

/* ════════════════════════════════════════
   CART / STORE PAGES (guest layout)
════════════════════════════════════════ */
body { padding-top: 0 !important; }

/* ════════════════════════════════════════
   GENESIS 2.1 — COMPREHENSIVE FIXES
════════════════════════════════════════ */

/* ── GUEST LAYOUT (cart, store, KB) ── */
.gn-guest-wrap {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--bg);
}
.gn-guest-top {
  height: 58px;
  background: var(--sf);
  border-bottom: 1px solid var(--bd);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 24px;
  position: sticky;
  top: 0;
  z-index: 100;
  gap: 12px;
}
.gn-guest-logo {
  display: flex;
  align-items: center;
  gap: 9px;
  text-decoration: none;
}
.gn-guest-ct {
  flex: 1;
  padding: 28px 28px 60px;
  max-width: 1280px;
  width: 100%;
  margin: 0 auto;
}
/* Make the container/row of parent visible in guest context */
.gn-guest-ct .container,
.gn-guest-ct .container-fluid {
  max-width: 100% !important;
  padding: 0 !important;
}

/* ── STORE PAGES ── */
.gn-guest-ct .product-list .panel,
.gn-guest-ct .order-form-addons .panel {
  transition: box-shadow .15s, transform .15s;
}
.gn-guest-ct .product-list .panel:hover {
  box-shadow: 0 4px 20px rgba(103,61,230,.12) !important;
  transform: translateY(-2px);
}
/* Store product pricing */
.gn-guest-ct .price {
  color: var(--p) !important;
  font-weight: 800 !important;
  font-size: 22px !important;
}
.gn-guest-ct .billing-cycle-options .btn-default {
  border-radius: var(--r) !important;
}
.gn-guest-ct .billing-cycle-options .btn-primary {
  box-shadow: 0 4px 12px rgba(103,61,230,.35) !important;
}

/* ── SERVICES TABLE FIX ── */
/* Ensure DataTables content is visible */
.dataTables_wrapper,
.table-responsive {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
/* Remove any parent theme margins that push content off-screen */
.panel > .table,
.panel > .table-responsive {
  margin-bottom: 0 !important;
}

/* ── TICKET VIEW ── */
.ticket-message,
.ticket-reply,
.ticket-open {
  background: var(--sf) !important;
  border: 1px solid var(--bd) !important;
  border-radius: var(--rl) !important;
  margin-bottom: 16px !important;
  overflow: hidden;
}
.ticket-message .panel-heading,
.ticket-reply .panel-heading,
.ticket-open .panel-heading {
  background: var(--bg) !important;
  border-bottom: 1px solid var(--bd) !important;
  padding: 14px 18px !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}
.ticket-message .panel-body,
.ticket-reply .panel-body {
  padding: 18px 20px !important;
  line-height: 1.7 !important;
  font-size: 14px !important;
}
/* Staff vs client reply styling */
.panel-staff-reply > .panel-heading,
.reply-from-staff > .panel-heading {
  background: linear-gradient(to right, var(--pb), var(--sf)) !important;
  border-left: 3px solid var(--p) !important;
}
/* Reply form */
.reply-form textarea.form-control {
  min-height: 140px !important;
}
/* Attachments */
.ticket-attachments {
  padding: 10px 18px;
  border-top: 1px solid var(--bd);
  background: var(--bg) !important;
  font-size: 12.5px;
  color: var(--mu);
}

/* ── INVOICE VIEW ── */
.invoice-box,
.invoice-summary {
  background: var(--sf) !important;
  border-radius: var(--rl) !important;
  border: 1px solid var(--bd) !important;
}
/* Invoice items table */
.invoice-items td:last-child {
  text-align: right !important;
  font-weight: 600 !important;
}

/* ── DOMAIN MANAGEMENT ── */
.domain-info-list li,
.domain-details-list li {
  padding: 10px 0 !important;
  border-bottom: 1px solid var(--bd) !important;
  font-size: 13.5px !important;
}
.domain-info-list li:last-child { border-bottom: none !important; }

/* ── PRODUCT/SERVICE DETAILS ── */
/* Service stats at top */
.service-info-overview .panel {
  border-left: 3px solid var(--p) !important;
}
/* Usage meters */
.usage-meter .progress { height: 10px !important; }
/* cPanel/control panel buttons */
.service-actions .btn { margin: 3px !important; }

/* ── CART / ORDER PROCESS ── */
.order-form-heading h1 { font-size: 22px !important; font-weight: 700 !important; }
.order-form-domain-check .input-group .form-control { height: 44px !important; }
.order-form-domain-check .input-group .btn { height: 44px !important; }
/* Step indicators */
.order-form-breadcrumb .step-complete { color: var(--gn) !important; }
.order-form-breadcrumb .step-active { color: var(--p) !important; font-weight: 700 !important; }
/* Cart summary */
.order-summary-total { font-size: 20px !important; font-weight: 800 !important; color: var(--p) !important; }
/* Product selection cards */
.product-addon label { cursor: pointer; }
.product-addon .panel { cursor: pointer; transition: border-color .15s, box-shadow .15s !important; }
.product-addon input:checked + .panel,
.product-addon .panel.selected { border-color: var(--p) !important; box-shadow: 0 0 0 3px rgba(103,61,230,.15) !important; }

/* ── RESPONSIVE FIXES ── */
@media (max-width: 768px) {
  /* Sidebar */
  .gn-sb {
    transform: translateX(-100%) !important;
    width: var(--sw) !important;
    box-shadow: none;
    transition: transform .22s var(--e) !important;
  }
  .gn-sb.mob {
    transform: translateX(0) !important;
    box-shadow: 6px 0 24px rgba(0,0,0,.2);
  }
  /* Overlay */
  .gn-ovl { display: block !important; pointer-events: none; }
  .gn-ovl.on { opacity: 1 !important; pointer-events: auto; }
  /* Main has no left margin on mobile */
  .gn-main { margin-left: 0 !important; }
  /* Topbar full width */
  .gn-top { left: 0 !important; right: 0 !important; }
  /* Hamburger visible */
  .gn-ham { display: flex !important; }
  /* Hide some topbar items on small screens */
  .gn-tbtn.ou { display: none !important; }
  /* Content padding */
  .gn-ct { padding: 16px 14px 48px !important; }
  /* Search narrower */
  .gn-sch { max-width: 180px !important; }
  /* Grids → 1 col */
  .gn-g2, .gn-g3, .gn-g4 { grid-template-columns: 1fr !important; }
  /* Domain search */
  .gn-ds { padding: 24px 16px !important; }
  .gn-drow { flex-direction: column !important; }
  .gn-di { padding-left: 16px !important; }
  .gn-dico { display: none !important; }
  /* Promo */
  .gn-prom { flex-direction: column !important; align-items: flex-start !important; }
  .gn-prombd { display: none !important; }
  /* Guest */
  .gn-guest-ct { padding: 16px 14px 48px !important; }
  /* Tables — horizontal scroll */
  .table-responsive { overflow-x: auto !important; -webkit-overflow-scrolling: touch; }
  .table { min-width: 600px; }
  /* Search results width */
  .gn-sr { width: calc(100vw - 20px) !important; left: 10px !important; }
  /* Auth box */
  .gn-auth-box, .gn-auth .panel { padding: 24px 16px !important; }
  /* Topbar padding */
  .gn-top { padding: 0 12px !important; gap: 6px !important; }
  /* Hide ⌘K badge */
  .gn-kbd { display: none !important; }
}

@media (max-width: 480px) {
  .gn-sch { max-width: 130px !important; }
  .gn-tbtn.pr span { display: none; }
  .gn-tbtn.pr { padding: 0 10px !important; }
  .gn-ct, .gn-guest-ct { padding: 12px 10px 40px !important; }
}

@media (min-width: 769px) {
  /* Desktop: never show mobile overlay */
  .gn-ovl { display: none !important; }
  /* Sidebar col state */
  .gn-sb.col { width: var(--sc) !important; }
  .gn-sb.col ~ .gn-main { margin-left: var(--sc) !important; }
  .gn-sb.col ~ .gn-main .gn-top { left: var(--sc) !important; }
}

/* ── MISC UI FIXES ── */
/* Fix parent theme's body padding */
body { padding-top: 0 !important; padding-left: 0 !important; }
/* Remove parent's .container max-width constraints inside sidebar layout */
/* Only fix the outer container if WHMCS wraps content directly in .container */
.gn-ct > .container { max-width: 100% !important; }
.gn-ct > .container-fluid { padding-left: 0 !important; padding-right: 0 !important; }
/* Fix panel inside gn-ct */
.gn-ct .panel { margin-bottom: 20px; }
/* Fix breadcrumb inside content */
.gn-ct .breadcrumb { padding: 0 0 16px !important; }
/* Page headers from parent */
.gn-ct h2 { font-size: 20px; font-weight: 700; margin: 0 0 16px; }
.gn-ct .page-header { border-bottom: 1px solid var(--bd) !important; padding-bottom: 14px !important; margin: 0 0 20px !important; }
.gn-ct .page-header h1, .gn-ct .page-header h2 { font-size: 22px !important; font-weight: 700 !important; margin: 0 !important; }
/* Buttons in header area */
.gn-ct .page-header .btn { margin-left: 8px; }

/* Fix collapse pending on initial load */
.gn-sb-col-pending #gnSb { width: var(--sc) !important; }

/* ════════════════════════════════════════
   GENESIS 2.2 — ORDERFORM + DATATABLES FIX
════════════════════════════════════════ */

/* ── DATATABLES FIX ── 
   Never hide or collapse the datatable wrapper */
.dataTables_wrapper { min-height: 100px; }
.dataTables_wrapper table { min-width: 100%; }
/* Ensure the content area has enough room */
.gn-ct .container { width: 100%; max-width: 100%; padding: 0; }
.gn-ct .container-fluid { padding: 0; }
/* Do NOT touch .row — it's needed by DataTables column layout */

/* ── ORDERFORM PAGES ── */
/* These apply when using our genesis orderform template */
.gn-guest-ct .product-listing {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 18px;
  margin-bottom: 24px;
}
.gn-guest-ct .product-block {
  background: var(--sf) !important;
  border: 1px solid var(--bd) !important;
  border-radius: var(--rl) !important;
  overflow: hidden;
  transition: box-shadow .15s, transform .15s !important;
}
.gn-guest-ct .product-block:hover {
  box-shadow: 0 4px 20px rgba(103,61,230,.12) !important;
  transform: translateY(-2px);
}
.gn-guest-ct .product-block .panel-heading {
  background: var(--pb) !important;
  color: var(--p) !important;
  border-bottom: none !important;
  font-weight: 700 !important;
  font-size: 15px !important;
}
.gn-guest-ct .product-block .price-block,
.gn-guest-ct .price-primary {
  font-size: 26px !important;
  font-weight: 800 !important;
  color: var(--p) !important;
  letter-spacing: -1px;
}
.gn-guest-ct .product-block .price-block .per,
.gn-guest-ct .price-secondary { 
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--mu) !important;
}
/* Domain search in cart */
.gn-guest-ct #domain-lookup-form .form-control,
.gn-guest-ct #domain-lookup input[type="text"] {
  height: 48px !important;
  font-size: 15px !important;
  border-radius: 12px 0 0 12px !important;
}
.gn-guest-ct #domain-lookup-form .btn,
.gn-guest-ct #domain-lookup .btn {
  height: 48px !important;
  font-size: 14.5px !important;
  border-radius: 0 12px 12px 0 !important;
  padding: 0 24px !important;
}
/* Domain results */
.gn-guest-ct .domain-search-results .alert { margin-bottom: 10px !important; }
.gn-guest-ct .domain-search-results .available { color: var(--gn) !important; font-weight: 700 !important; }
.gn-guest-ct .domain-search-results .taken { color: var(--rd) !important; }
/* Cart summary */
.gn-guest-ct #order-summary,
.gn-guest-ct .order-summary { 
  background: var(--sf) !important;
  border: 1px solid var(--bd) !important;
  border-radius: var(--rl) !important;
  padding: 20px !important;
}
.gn-guest-ct .order-total,
.gn-guest-ct #order-summary .total { 
  font-size: 22px !important;
  font-weight: 800 !important;
  color: var(--p) !important;
}
/* Billing cycle selector */
.gn-guest-ct .billing-cycle-options .btn-group { border-radius: var(--r) !important; overflow: hidden; }
.gn-guest-ct .billing-cycle-options .btn { border-radius: 0 !important; height: 36px !important; }
/* Payment methods */
.gn-guest-ct .payment-option { 
  border: 1.5px solid var(--bd) !important;
  border-radius: var(--gr) !important;
  padding: 12px 16px !important;
  margin-bottom: 8px !important;
  cursor: pointer;
  transition: border-color .15s !important;
}
.gn-guest-ct .payment-option:hover { border-color: var(--p) !important; }
.gn-guest-ct .payment-option.selected { border-color: var(--p) !important; background: var(--pb) !important; }
/* Register/complete order button */
.gn-guest-ct #btn-register,
.gn-guest-ct #complete-order,
.gn-guest-ct .btn-complete-order {
  height: 50px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 14px rgba(103,61,230,.4) !important;
}
/* Step indicators */
.gn-guest-ct .nav-tabs.order-form-breadcrumb { 
  border-bottom: 2px solid var(--bd) !important;
  margin-bottom: 24px;
}
/* Config table */
.gn-guest-ct .config-options table { width: 100%; }

/* ════════════════════════════════════════
   CART PAGE LAYOUT (cart.php - logged in)
════════════════════════════════════════ */
.gn-cart-wrap {
  min-height: 100vh;
  background: var(--bg);
  display: flex;
  flex-direction: column;
}
.gn-cart-top {
  height: 60px;
  background: var(--sf);
  border-bottom: 1px solid var(--bd);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 28px;
  position: sticky;
  top: 0;
  z-index: 100;
  gap: 12px;
}
.gn-cart-ct {
  flex: 1;
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
  padding: 28px 28px 60px;
}

/* ── CART CONTENT STYLING ── */
/* Kill parent container constraints inside cart */
.gn-cart-ct .container,
.gn-cart-ct .container-fluid {
  padding: 0 !important;
  max-width: 100% !important;
}

/* Cart main panel */
.gn-cart-ct .panel { margin-bottom: 20px; }

/* Cart table */
.gn-cart-ct table.table thead th {
  background: var(--bg) !important;
}

/* Order summary box */
.gn-cart-ct #order-summary,
.gn-cart-ct .order-summary,
.gn-cart-ct .cart-totals {
  background: var(--sf) !important;
  border: 1px solid var(--bd) !important;
  border-radius: var(--rl) !important;
  padding: 20px !important;
  position: sticky;
  top: 80px;
}
.gn-cart-ct .order-summary h3,
.gn-cart-ct #order-summary h3 {
  font-size: 16px !important;
  font-weight: 700 !important;
  margin: 0 0 14px !important;
  color: var(--tx) !important;
}

/* Totals */
.gn-cart-ct .total-due,
.gn-cart-ct .order-total,
.gn-cart-ct tfoot tr:last-child td {
  font-size: 20px !important;
  font-weight: 800 !important;
  color: var(--p) !important;
}

/* Checkout button */
.gn-cart-ct #btn-checkout,
.gn-cart-ct .btn-checkout,
.gn-cart-ct a[href*="checkout"].btn-primary,
.gn-cart-ct input[type="submit"].btn-primary {
  width: 100% !important;
  height: 48px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  border-radius: 12px !important;
  margin-top: 8px !important;
  box-shadow: 0 4px 14px rgba(103,61,230,.4) !important;
}

/* Promo code */
.gn-cart-ct .promo-code input.form-control {
  border-radius: var(--r) 0 0 var(--r) !important;
}
.gn-cart-ct .promo-code .btn {
  border-radius: 0 var(--r) var(--r) 0 !important;
}

/* Categories dropdown */
.gn-cart-ct .categories-panel .panel-heading,
.gn-cart-ct .actions-panel .panel-heading {
  cursor: pointer;
  user-select: none;
}
.gn-cart-ct .categories-panel select.form-control {
  height: 44px !important;
  font-size: 14px !important;
}

/* Domain search inside cart */
.gn-cart-ct .domain-search input[type="text"],
.gn-cart-ct #domain-query {
  height: 48px !important;
  font-size: 15px !important;
}
.gn-cart-ct .domain-search .btn,
.gn-cart-ct #domain-lookup-go {
  height: 48px !important;
}

/* Domain result rows */
.gn-cart-ct .domain-result-row {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  border-bottom: 1px solid var(--bd);
  font-size: 14px;
}
.gn-cart-ct .domain-result-available { color: var(--gn) !important; font-weight: 700; }
.gn-cart-ct .domain-result-unavailable { color: var(--rd) !important; }

/* Transfer input */
.gn-cart-ct #transfer-domain-name {
  height: 48px !important;
  font-size: 15px !important;
}

/* Product list in cart/store */
.gn-cart-ct .product-group-heading {
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 0 0 16px !important;
  color: var(--tx) !important;
}
.gn-cart-ct .product-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid var(--bd);
  gap: 16px;
}
.gn-cart-ct .product-row:last-child { border-bottom: none; }
.gn-cart-ct .product-row:hover { background: var(--bg); }
.gn-cart-ct .product-name {
  font-size: 14.5px !important;
  font-weight: 600 !important;
  color: var(--tx) !important;
}
.gn-cart-ct .product-price {
  font-size: 16px !important;
  font-weight: 800 !important;
  color: var(--p) !important;
  white-space: nowrap;
}

/* Configurable options */
.gn-cart-ct .configoptions { margin-top: 12px; }
.gn-cart-ct .configoptions .form-group { margin-bottom: 14px !important; }

/* Payment gateways */
.gn-cart-ct .payment-methods { margin-top: 16px; }
.gn-cart-ct .payment-method-label {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border: 1.5px solid var(--bd);
  border-radius: var(--r);
  cursor: pointer;
  margin-bottom: 8px;
  transition: border-color .15s;
}
.gn-cart-ct .payment-method-label:hover { border-color: var(--p); }
.gn-cart-ct input[type=radio]:checked + .payment-method-label,
.gn-cart-ct .payment-method-label.selected {
  border-color: var(--p) !important;
  background: var(--pb) !important;
}

/* Cart empty state */
.gn-cart-ct .cart-empty {
  text-align: center;
  padding: 60px 20px;
  color: var(--mu);
}

/* Cart page title */
.gn-cart-ct h1.page-title,
.gn-cart-ct .page-header h1 {
  font-size: 26px !important;
  font-weight: 800 !important;
  letter-spacing: -.5px !important;
  margin: 0 0 24px !important;
}

/* Two-column cart layout */
@media (min-width: 768px) {
  .gn-cart-ct .cart-layout {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 24px;
    align-items: start;
  }
}

@media (max-width: 767px) {
  .gn-cart-ct { padding: 16px 14px 48px; }
  .gn-cart-top { padding: 0 14px; }
}

/* ================================================================
   STORE / ORDERFORM PAGES — inside client area wrapper
   These styles apply to /store/* URLs which use client area layout
================================================================ */

/* ── Store wrap ──────────────────────────────────────────────── */
#order-standard_cart { width: 100%; }
#order-standard_cart > .row {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 24px !important;
  margin: 0 !important;
  align-items: flex-start !important;
}

/* ── Store sidebar ───────────────────────────────────────────── */
#order-standard_cart > .row > .cart-sidebar {
  width: 220px !important; flex: 0 0 220px !important;
  padding: 0 !important; position: sticky !important; top: 80px !important;
}
.cart-sidebar .panel, .cart-sidebar .card {
  background: var(--sf) !important; border: 1px solid var(--bd) !important;
  border-radius: 14px !important; box-shadow: none !important;
  margin: 0 0 12px !important; overflow: hidden !important;
}
.cart-sidebar .panel-heading, .cart-sidebar .card-header {
  background: var(--pb) !important; border-bottom: 1px solid var(--bd) !important;
  padding: 11px 14px !important; font-size: 11px !important; font-weight: 800 !important;
  letter-spacing: .6px !important; text-transform: uppercase !important; color: var(--p) !important;
}
.cart-sidebar .panel-body, .cart-sidebar .card-body { padding: 10px !important; }
.cart-sidebar .list-group { margin: 0 !important; border: none !important; }
.cart-sidebar .list-group-item {
  background: transparent !important; border: none !important;
  border-radius: 8px !important; padding: 9px 11px !important;
  font-size: 13px !important; color: var(--tx) !important; margin-bottom: 2px !important;
  display: flex !important; align-items: center !important; justify-content: space-between !important;
  transition: all .15s !important; cursor: pointer !important;
}
.cart-sidebar .list-group-item + .list-group-item { border-top: none !important; }
.cart-sidebar .list-group-item:hover { background: var(--pb) !important; color: var(--p) !important; }
.cart-sidebar .list-group-item.active { background: var(--p) !important; color: #fff !important; }
.sidebar-categories-collapsed { display: none !important; }

/* ── Store body ──────────────────────────────────────────────── */
#order-standard_cart > .row > .cart-body {
  flex: 1 1 0 !important; min-width: 0 !important; padding: 0 !important;
}
/* Inner rows */
.cart-body .row { display: flex !important; flex-wrap: wrap !important; margin: 0 -8px !important; }
.cart-body [class*="col-"] { padding: 0 8px !important; }
.cart-body .col-sm-6 { flex: 0 0 50% !important; max-width: 50% !important; }
.cart-body .col-sm-4 { flex: 0 0 33.333% !important; max-width: 33.333% !important; }
.cart-body .col-sm-3 { flex: 0 0 25% !important; max-width: 25% !important; }
.cart-body .col-sm-12 { flex: 0 0 100% !important; max-width: 100% !important; }

/* Header */
.header-lined { padding-bottom: 16px !important; margin-bottom: 22px !important; border-bottom: 2px solid var(--bd) !important; }
.header-lined h1, .header-lined .font-size-36 { font-size: 22px !important; font-weight: 800 !important; letter-spacing: -.4px !important; color: var(--tx) !important; margin: 0 !important; }
.sub-heading { margin: 22px 0 14px !important; padding-bottom: 10px !important; border-bottom: 1.5px solid var(--bd) !important; }
.sub-heading > span, .sub-heading .primary-bg-color { font-size: 13.5px !important; font-weight: 700 !important; color: var(--p) !important; background: none !important; padding: 0 !important; }

/* Panels inside cart-body */
.cart-body .panel, .cart-body .card {
  background: var(--sf) !important; border: 1.5px solid var(--bd) !important;
  border-radius: 14px !important; box-shadow: none !important; margin-bottom: 16px !important; overflow: hidden !important;
}
.cart-body .panel-default > .panel-heading, .cart-body .card-header {
  background: var(--bg) !important; border-bottom: 1px solid var(--bd) !important;
  padding: 13px 18px !important; font-size: 14px !important; font-weight: 700 !important; color: var(--tx) !important;
}
.cart-body .panel-body, .cart-body .card-body { padding: 18px !important; }

/* Forms */
.cart-body .form-control {
  height: 42px !important; border: 1.5px solid var(--bd2) !important;
  border-radius: 10px !important; background: var(--sf) !important;
  color: var(--tx) !important; font-size: 13.5px !important;
  font-family: inherit !important; padding: 0 12px !important; width: 100% !important;
  transition: border-color .15s, box-shadow .15s !important; box-shadow: none !important;
}
.cart-body .form-control:focus { border-color: var(--p) !important; box-shadow: 0 0 0 3px rgba(103,61,230,.12) !important; outline: none !important; }
.cart-body select.form-control {
  appearance: none !important; -webkit-appearance: none !important;
  padding-right: 30px !important; cursor: pointer !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238888A0' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important; background-position: right 10px center !important; background-size: 15px !important;
}
.cart-body textarea.form-control { height: auto !important; padding: 10px 12px !important; min-height: 90px !important; resize: vertical !important; }
.cart-body .form-group { margin-bottom: 14px !important; }
.cart-body .form-group > label { font-size: 12.5px !important; font-weight: 600 !important; color: var(--t2) !important; margin-bottom: 5px !important; display: block !important; }

/* Prepend icon */
.cart-body .prepend-icon { position: relative !important; }
.cart-body .prepend-icon .field-icon { position: absolute !important; left: 11px !important; top: 50% !important; transform: translateY(-50%) !important; color: var(--mu) !important; z-index: 5 !important; margin: 0 !important; display: flex !important; align-items: center !important; pointer-events: none !important; }
.cart-body .prepend-icon .form-control { padding-left: 36px !important; }

/* Buttons */
.cart-body .btn {
  font-family: inherit !important; font-weight: 600 !important; font-size: 13.5px !important;
  border-radius: 10px !important; padding: 0 18px !important; height: 40px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  gap: 6px !important; border: 1.5px solid transparent !important; cursor: pointer !important;
  transition: all .15s !important; text-decoration: none !important; line-height: 1 !important;
}
.cart-body .btn-primary { background: var(--p) !important; border-color: var(--p) !important; color: #fff !important; }
.cart-body .btn-primary:hover { background: var(--ph) !important; border-color: var(--ph) !important; }
.cart-body .btn-success { background: var(--gn) !important; border-color: var(--gn) !important; color: #fff !important; }
.cart-body .btn-default { background: var(--sf) !important; border-color: var(--bd2) !important; color: var(--tx) !important; }
.cart-body .btn-default:hover { border-color: var(--p) !important; color: var(--p) !important; }
.cart-body .btn-lg { height: 50px !important; font-size: 15px !important; padding: 0 28px !important; border-radius: 13px !important; }
.cart-body .btn-sm { height: 34px !important; font-size: 12.5px !important; padding: 0 14px !important; }
#btnCompleteOrder, #btnCompleteProductConfig {
  height: 50px !important; font-size: 15px !important; font-weight: 800 !important;
  border-radius: 13px !important; min-width: 180px !important;
  box-shadow: 0 4px 16px rgba(103,61,230,.3) !important;
}

/* Alerts */
.cart-body .alert { border-radius: 12px !important; padding: 13px 16px !important; font-size: 13.5px !important; border-width: 1.5px !important; border-style: solid !important; margin-bottom: 14px !important; }
.cart-body .alert-success { background: var(--gnb) !important; border-color: #86efac !important; color: var(--gnt) !important; }
.cart-body .alert-danger  { background: var(--rdb) !important; border-color: #fca5a5 !important; color: var(--rdt) !important; }
.cart-body .alert-warning { background: var(--ywb) !important; border-color: #fde68a !important; color: var(--ywt) !important; }
.cart-body .alert-info    { background: var(--blb) !important; border-color: #93c5fd !important; color: var(--blt) !important; }

/* Domain checker */
.domain-checker-bg { background: var(--sf) !important; border: 1.5px solid var(--bd) !important; border-radius: 16px !important; padding: 22px !important; margin-bottom: 20px !important; }
.domain-checker-bg .form-control { height: 52px !important; font-size: 16px !important; border-radius: 12px 0 0 12px !important; }
.domain-checker-bg .btn { height: 52px !important; border-radius: 0 12px 12px 0 !important; padding: 0 24px !important; }
.domain-checker-available { color: var(--gn) !important; font-weight: 700 !important; }
.domain-checker-unavailable { color: var(--rd) !important; font-weight: 600 !important; }

/* Payment */
#totalDueToday { background: linear-gradient(135deg, var(--pb), var(--sf)) !important; border: 1.5px solid var(--pm) !important; border-radius: 14px !important; padding: 16px 20px !important; text-align: center !important; color: var(--p) !important; }
#totalDueToday strong, #totalCartPrice { font-size: 22px !important; font-weight: 900 !important; color: var(--p) !important; }
.radio-inline { display: inline-flex !important; align-items: center !important; gap: 8px !important; background: var(--sf) !important; border: 1.5px solid var(--bd2) !important; border-radius: 10px !important; padding: 10px 14px !important; cursor: pointer !important; font-size: 13.5px !important; font-weight: 500 !important; margin: 4px !important; transition: all .15s !important; }
.radio-inline:hover { border-color: var(--p) !important; background: var(--pb) !important; }
.radio-inline:has(input:checked) { border-color: var(--p) !important; background: var(--pb) !important; }
#paymentGatewaysContainer .text-center { display: flex !important; flex-wrap: wrap !important; justify-content: flex-start !important; text-align: left !important; }

/* Misc */
.w-hidden { display: none !important; }
.text-muted { color: var(--mu) !important; }
.already-registered { background: var(--bg) !important; border: 1.5px solid var(--bd) !important; border-radius: 12px !important; padding: 12px 16px !important; margin-bottom: 20px !important; display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 12px !important; }
.account { background: var(--sf) !important; border: 1.5px solid var(--bd) !important; border-radius: 12px !important; padding: 14px 16px !important; cursor: pointer !important; transition: border-color .15s !important; margin-bottom: 10px !important; }
.account:hover { border-color: var(--p) !important; }
.account.active { border-color: var(--p) !important; background: var(--pb) !important; }

/* ── Responsive store ────────────────────────────────────────── */
@media (max-width: 900px) {
  #order-standard_cart > .row { flex-direction: column !important; flex-wrap: wrap !important; }
  #order-standard_cart > .row > .cart-sidebar { width: 100% !important; flex: 0 0 100% !important; position: static !important; }
  .sidebar-categories-collapsed { display: block !important; margin-bottom: 16px !important; }
}
@media (max-width: 768px) {
  .cart-body .col-sm-6, .cart-body .col-sm-4, .cart-body .col-sm-3 { flex: 0 0 100% !important; max-width: 100% !important; }
}
