/* ==========================================================================
   Sahand — dark sweep
   --------------------------------------------------------------------------
   Loaded last. Covers the light surfaces WHMCS/Bootstrap still paint after
   sahand.css and sahand-fix.css. Structural only; no layout opinions here.
   ========================================================================== */

/* ── surfaces ─────────────────────────────────────────────────────────── */
.card, .panel, .well, .jumbotron, .modal-content, .popover, .tooltip-inner,
.list-group, .list-group-item, .media, .thumbnail, .dropdown-menu,
.accordion, .accordion-item, .collapse .card, .tab-content, .tab-pane,
.announcement, .announcements, .kb-article, .article-body,
.ticket-reply, .ticket-message, .support-ticket, .invoice-container,
.order-summary, .summary-container, .cart-body, .toast, .offcanvas {
    background-color: var(--card) !important;
    border-color: var(--line) !important;
    color: var(--text) !important;
}

.card-header, .card-footer, .panel-heading, .panel-footer,
.modal-header, .modal-footer, .list-group-item-heading,
.accordion-button, .popover-header {
    background-color: var(--raised) !important;
    border-color: var(--line) !important;
    color: var(--text) !important;
}

/* ── typography inside content ────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6, p, li, dt, dd, td, th, label, legend, address,
.card-title, .panel-title, .media-heading, .lead {
    color: var(--text);
}
.text-muted, small, .small, .help-block, .form-text, .text-secondary {
    color: var(--muted) !important;
}
blockquote, pre, code, kbd, samp, .code {
    background-color: var(--raised) !important;
    border-color: var(--line) !important;
    color: var(--text) !important;
}
hr { border-color: var(--line) !important; }

/* ── tables ───────────────────────────────────────────────────────────── */
.table, table {
    color: var(--text) !important;
    background-color: transparent !important;
}
.table > :not(caption) > * > *,
.table thead th, .table tbody td, .table tbody th, .table tfoot td {
    background-color: transparent !important;
    border-color: var(--line) !important;
    color: inherit;
}
.table thead th, .table thead td { color: var(--muted) !important; }
.table-striped > tbody > tr:nth-of-type(odd) > * {
    background-color: rgba(23,23,23,.55) !important;
}
.table-hover > tbody > tr:hover > * {
    background-color: var(--raised) !important;
}
.table-bordered, .table-bordered > :not(caption) > * ,
.table-bordered > :not(caption) > * > * { border-color: var(--line) !important; }
.dataTables_wrapper, .dataTables_info, .dataTables_length,
.dataTables_filter, .dataTables_paginate {
    color: var(--muted) !important;
    background: transparent !important;
}
.dataTables_wrapper select, .dataTables_filter input {
    background: var(--raised) !important;
    border: 1px solid var(--line) !important;
    color: var(--text) !important;
    border-radius: 9px;
}

/* ── controls ─────────────────────────────────────────────────────────── */
.form-control, .form-select, .custom-select, select, textarea,
input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=hidden]) {
    background-color: var(--raised) !important;
    border-color: var(--line) !important;
    color: var(--text) !important;
}
.form-control:disabled, .form-control[readonly] {
    background-color: #121212 !important;
    color: var(--muted) !important;
}
.input-group-text, .input-group-addon {
    background-color: var(--raised) !important;
    border-color: var(--line) !important;
    color: var(--muted) !important;
}
.btn-default, .btn-secondary, .btn-light, .btn-outline-secondary {
    background-color: var(--raised) !important;
    border-color: var(--line) !important;
    color: var(--text) !important;
}
.btn-default:hover, .btn-secondary:hover, .btn-light:hover {
    background-color: #171717 !important;
    color: var(--text) !important;
}

/* ── navigation bits ──────────────────────────────────────────────────── */
.nav-tabs, .nav-pills, .nav { border-color: var(--line) !important; }
.nav-tabs .nav-link, .nav-pills .nav-link, .nav-link { color: var(--muted) !important; }
.nav-tabs .nav-link.active, .nav-pills .nav-link.active {
    background-color: var(--card) !important;
    border-color: var(--line) var(--line) transparent !important;
    color: var(--text) !important;
}
.nav-pills .nav-link.active { background-color: var(--blue) !important; color: #060606 !important; }
.breadcrumb { background: transparent !important; }
.page-link, .pagination > li > a, .pagination > li > span {
    background-color: var(--card) !important;
    border-color: var(--line) !important;
    color: var(--muted) !important;
}
.page-item.active .page-link, .pagination > .active > a {
    background-color: var(--blue) !important;
    border-color: var(--blue) !important;
    color: #060606 !important;
}
.dropdown-item { color: var(--text) !important; }
.dropdown-item:hover, .dropdown-item:focus {
    background-color: var(--raised) !important;
    color: var(--text) !important;
}
.dropdown-divider { border-color: var(--line) !important; }

/* ── feedback ─────────────────────────────────────────────────────────── */
.alert { border-radius: 11px; border-width: 1px; }
.alert-success { background: rgba(62,213,152,.10) !important; border-color: rgba(62,213,152,.28) !important; color: #7EE7C0 !important; }
.alert-info    { background: var(--blue-soft) !important;    border-color: rgba(255,255,255,.28) !important; color: #aaaaaa !important; }
.alert-warning { background: rgba(255,181,71,.10) !important; border-color: rgba(255,181,71,.28) !important; color: #FFCF87 !important; }
.alert-danger  { background: rgba(255,92,122,.10) !important; border-color: rgba(255,92,122,.28) !important; color: #FF9AAF !important; }
.alert a { color: inherit; text-decoration: underline; }

.badge, .label { border-radius: 7px; }
.badge-secondary, .label-default { background-color: var(--raised) !important; color: var(--muted) !important; }

.progress { background-color: var(--raised) !important; }
.modal-backdrop { background-color: #060606 !important; }
.close, .btn-close { color: var(--muted) !important; opacity: .75; text-shadow: none !important; }
.btn-close { filter: invert(1) grayscale(1); }

/* ── standalone documents (invoice / quote / email view) ──────────────── */
.invoice-container, .invoice-header, .invoice-items, .invoice-totals,
.invoice-body, .invoice-footer {
    background-color: transparent !important;
    color: var(--text) !important;
}
body > .container-fluid.invoice-container { background: var(--bg) !important; }

/* ── announcement bodies often carry inline light styling ─────────────── */
.announcement .announcement-content,
.announcement [style*="background"],
.kb-article [style*="background"],
.ticket-message [style*="background"] {
    background: transparent !important;
    color: var(--text) !important;
}

/* ══ list tables: frame, sorted cell, overflow ══ */
.table-container,.listtable,.tablelist,#tableLoading,
table.dataTable,.dataTables_wrapper > table{
  border:1px solid var(--line)!important;border-radius:12px!important;
  border-collapse:separate!important;border-spacing:0!important;overflow:hidden!important;
  background:var(--card)!important;outline:0!important;box-shadow:none!important}
table.dataTable thead th,table.dataTable thead td,
table.dataTable thead .sorting,table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc,
.table thead th.sorting,.table thead th.sorting_asc,.table thead th.sorting_desc{
  background:var(--raised)!important;background-image:none!important;
  color:var(--muted)!important;border-bottom:1px solid var(--line)!important;
  border-top:0!important;border-left:0!important;border-right:0!important}
table.dataTable tbody td{border-left:0!important;border-right:0!important}
.dataTables_wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.dataTables_filter input,.dataTables_filter label{
  background:var(--raised)!important;border:1px solid var(--line)!important;
  color:var(--text)!important;border-radius:10px;background-image:none!important}
.dataTables_filter input::placeholder{color:var(--muted)!important}
.sh-wrap,.sh-main{overflow-x:hidden}
.table-responsive{border:0!important}

/* ══ tables: let them scroll instead of clipping ══ */
.sh-wrap,.sh-main{overflow-x:visible!important}
.table-container,.listtable,.tablelist{
  overflow-x:auto!important;-webkit-overflow-scrolling:touch;max-width:100%}
.dataTables_wrapper{overflow-x:auto!important;max-width:100%;padding-bottom:2px}
table.dataTable,.table{min-width:560px;width:100%!important;margin:0!important}
.table-container>table,.listtable>table{border:0!important;border-radius:0!important}
.dataTables_wrapper::-webkit-scrollbar{height:6px}
.dataTables_wrapper::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}
.dataTables_length,.dataTables_info,.dataTables_paginate{padding:10px 12px}

/* ══ stacked panels need breathing room ══ */
.sh-wrap > .card,.sh-wrap > .panel,.sh-wrap > form > .card,
.sh-wrap > .table-container,.sh-wrap > .row{margin-bottom:14px!important}
.sh-wrap > *:last-child{margin-bottom:0!important}
.card + .card,.panel + .panel{margin-top:14px!important}

/* ══ invoices as cards ══ */
.sh-invlist{display:grid;gap:12px}
.sh-inv{display:block;background:var(--card);border:1px solid var(--line);
  border-radius:12px;padding:15px;color:inherit;transition:.18s}
.sh-inv:hover{border-color:rgba(255,255,255,.45);color:inherit}
.sh-inv-top{display:flex;align-items:center;gap:10px}
.sh-inv-num{font-size:14px;font-weight:700}
.sh-inv-top .sh-chip{margin-inline-start:auto}
.sh-inv-amt{font-size:20px;font-weight:800;margin:10px 0 6px}
.sh-inv-meta{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--muted)}
@media(min-width:820px){.sh-invlist{grid-template-columns:1fr 1fr}}

/* ══ bootstrap columns: vertical gap ══ */
.row > [class*="col-"] > .card,
.row > [class*="col-"] > .panel{margin-bottom:14px}
.row > [class*="col-"]:last-child > .card{margin-bottom:0}
.row{row-gap:14px}

/* addfunds: gap between the two stacked cards */
.row > [class*="col-"] > .card{margin-bottom:14px}
.row > [class*="col-"]:last-child > .card{margin-bottom:0}

/* ══ v42: kill forced table width, contain overflow ══ */
.sh-wrap,.sh-main{overflow-x:clip!important;max-width:100%}
table.dataTable,.table,.dataTable{min-width:0!important;width:100%!important;table-layout:auto!important}
.dataTables_wrapper,.table-container,.table-responsive,.listtable,.tablelist{
  max-width:100%!important;width:100%!important;overflow-x:auto!important;
  -webkit-overflow-scrolling:touch}
.dataTables_wrapper .row,.sh-wrap .row,.sh-wrap form > .row{margin-left:0!important;margin-right:0!important}
.dataTables_wrapper .row > [class*="col-"],.sh-wrap .row > [class*="col-"]{
  padding-left:0!important;padding-right:0!important;max-width:100%!important}
.sh-wrap .row{row-gap:14px}
@media(min-width:820px){.sh-wrap .row > [class*="col-"]{padding-left:7px!important;padding-right:7px!important}}
@media(max-width:820px){
  table.dataTable th,table.dataTable td,.table th,.table td{padding:9px 7px!important;white-space:nowrap}
  .dataTables_wrapper{font-size:12.5px}
}

/* ══ v44: order page — country / datacenter groups ══ */
.sh-geo{margin:0 0 26px}
.sh-geo:last-child{margin-bottom:0}
.sh-geo-head{display:flex;align-items:center;gap:9px;margin:0 0 12px;
  padding:0 2px 9px;border-bottom:1px solid var(--line)}
.sh-geo-flag{font-size:19px;line-height:1}
.sh-geo-country{font-size:15px;font-weight:700;color:var(--text)}
.sh-geo-dc{font-size:12.5px;color:var(--muted);margin-inline-start:auto;
  background:var(--raised);border:1px solid var(--line);
  border-radius:999px;padding:4px 10px;white-space:nowrap}

/* ══ v45: order button + horizontal country/dc chip rows ══ */
.sh-svcbar{display:flex;align-items:center;margin:0 0 12px!important}
.sh-svcbar .sh-order{margin:0!important;flex:0 0 auto}
.sh-chiprow{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;
  padding:2px 2px 9px;margin:0 0 8px;scrollbar-width:none}
.sh-chiprow::-webkit-scrollbar{display:none}
.sh-chipbtn{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;
  background:var(--card);border:1px solid var(--line);color:var(--muted);
  border-radius:999px;padding:8px 15px;font:inherit;font-size:13px;
  line-height:1;cursor:pointer;white-space:nowrap;transition:.15s}
.sh-chipbtn:hover{border-color:rgba(255,255,255,.45);color:var(--text)}
.sh-chipbtn.on{background:var(--blue);border-color:var(--blue);color:#060606}
.sh-chipbtn .fl{font-size:15px;line-height:1}
.sh-dcrow{margin-bottom:16px}
.sh-dcrow .sh-chipbtn{font-size:12.5px;padding:7px 13px}
.sh-catbar{display:none!important}

/* ══ v46: order button to the left, centered chip rows ══ */
.sh-svcbar{display:flex;align-items:center;gap:10px;justify-content:flex-end;margin:0 0 12px!important}
.sh-secttl{margin:0;margin-inline-end:auto;font-size:16px;font-weight:700;
  color:var(--text);line-height:1.4}
#shCountryTabs{justify-content:flex-end}

/* cart: country / datacenter rows centered */
#shGeoCountry,#shGeoDc{justify-content:center}
@supports (justify-content:safe center){
  #shGeoCountry,#shGeoDc{justify-content:safe center}
}

/* ══ v48: chips start at the right edge, button pinned to the left ══ */
.sh-svcbar .sh-order{order:2!important;flex:0 0 auto!important}
.sh-svcbar #shCountryTabs{order:1!important;flex:1 1 auto!important;
  min-width:0;justify-content:flex-start!important}

/* ══ v49: vertical alignment of order button + chip row ══ */
.sh-svcbar{align-items:center!important}
.sh-svcbar > *{align-self:center!important}
.sh-svcbar #shCountryTabs{align-items:center!important;
  padding:0!important;margin:0!important}
.sh-svcbar .sh-order,.sh-svcbar .sh-chipbtn{
  height:40px;min-height:40px;padding-top:0!important;padding-bottom:0!important;
  display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}

/* ══ v50: cart — segmented country control + outlined datacenter pills ══ */
#shGeoCountry{
  width:fit-content;max-width:100%;margin:0 auto 12px!important;
  background:var(--card);border:1px solid var(--line);
  border-radius:999px;padding:4px!important;gap:2px}
#shGeoCountry .sh-chipbtn{
  background:transparent!important;border:0!important;color:var(--muted);
  height:38px;padding:0 20px!important;border-radius:999px;
  font-size:13.5px;font-weight:600}
#shGeoCountry .sh-chipbtn:hover{color:var(--text)}
#shGeoCountry .sh-chipbtn.on{
  background:var(--blue)!important;color:#060606;
  box-shadow:0 1px 8px rgba(255,255,255,.32)}

#shGeoDc{width:fit-content;max-width:100%;margin:0 auto 20px!important;gap:10px}
#shGeoDc .sh-chipbtn{
  background:transparent!important;border:1px solid var(--line)!important;
  color:var(--muted);height:38px;padding:0 18px!important;
  border-radius:999px;font-size:13px}
#shGeoDc .sh-chipbtn:hover{border-color:rgba(255,255,255,.42)!important;color:var(--text)}
#shGeoDc .sh-chipbtn.on{
  border-color:var(--blue)!important;color:#aaaaaa;
  background:rgba(255,255,255,.10)!important}

/* ══ v52: configure-product page — RTL + tidy ══ */
#order-standard_cart .cart-sidebar{display:none!important}
#order-standard_cart .header-lined h1,
#order-standard_cart h1.font-size-36{font-size:20px!important;font-weight:700}
#order-standard_cart,#frmConfigureProduct{text-align:right;direction:rtl}
#frmConfigureProduct label{display:block;text-align:right;margin-bottom:6px}
#frmConfigureProduct .form-control,
#frmConfigureProduct select.custom-select{text-align:right;direction:rtl}
#frmConfigureProduct .form-group{margin-bottom:16px}
#order-standard_cart .sub-heading{text-align:right}
#order-standard_cart .product-info{text-align:right}

/* ══ v53: account dropdown ══ */
.sh-top{overflow:visible}
.sh-acctwrap{position:relative;display:inline-flex}
.sh-acctbtn{display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:12px;cursor:pointer;
  background:var(--blue);border:0;color:#060606}
.sh-acctbtn:hover{filter:brightness(1.08)}
.sh-acctmenu{position:absolute;top:calc(100% + 10px);left:0;z-index:120;
  min-width:250px;background:var(--card);border:1px solid var(--line);
  border-radius:14px;padding:6px;box-shadow:0 12px 34px rgba(0,0,0,.55);
  text-align:right;direction:rtl}
.sh-acctmenu[hidden]{display:none}
.sh-acctuser{padding:11px 12px 12px;border-bottom:1px solid var(--line)}
.sh-acctuser b{display:block;font-size:14px;color:var(--text)}
.sh-acctuser small{display:block;margin-top:3px;font-size:11.5px;color:var(--muted)}
.sh-acctstats{padding:6px 0;border-bottom:1px solid var(--line)}
.sh-acctstats div{display:flex;justify-content:space-between;align-items:center;
  gap:12px;padding:7px 12px}
.sh-acctstats span{font-size:12.5px;color:var(--muted)}
.sh-acctstats b{font-size:13px;color:var(--text);white-space:nowrap}
.sh-acctlinks{display:flex;flex-direction:column;padding:4px 0 2px}
.sh-acctlinks a{padding:9px 12px;border-radius:9px;font-size:13px;
  color:var(--muted);text-decoration:none}
.sh-acctlinks a:hover{background:var(--raised);color:var(--text)}
.sh-acctlinks a:last-child{color:#ff7a7a}

/* ══ v54: configure-product layout cleanup ══ */
#order-standard_cart .cart-body,
#order-standard_cart .secondary-cart-body{
  width:100%!important;max-width:100%!important;flex:0 0 100%!important;
  padding-left:0!important;padding-right:0!important}
#order-standard_cart .header-lined{margin-bottom:6px}
#order-standard_cart .header-lined h1{margin:0}
#frmConfigureProduct > .row{margin:0!important}

#order-standard_cart .product-info{
  background:var(--raised);border:1px solid var(--line);border-radius:12px;
  padding:14px 16px;margin:14px 0 18px}
#order-standard_cart .product-info .product-title{
  font-size:16px;font-weight:700;color:var(--text);margin:0 0 8px}
#order-standard_cart .product-info p{margin:0;font-size:13px;
  color:var(--muted);line-height:2}

#frmConfigureProduct .field-container{width:100%}
#frmConfigureProduct select,
#frmConfigureProduct .select-inline,
#frmConfigureProduct .custom-select,
#frmConfigureProduct input.form-control{
  width:100%!important;max-width:100%!important;
  height:44px;border-radius:10px;
  background:var(--raised)!important;border:1px solid var(--line)!important;
  color:var(--text)!important;padding:0 12px}
#frmConfigureProduct label{font-size:13px;color:var(--muted);font-weight:600}

#order-standard_cart .sub-heading{margin:20px 0 12px;text-align:right}
#order-standard_cart .sub-heading span{
  background:transparent!important;padding:0!important;
  font-size:14px;font-weight:700;color:var(--text)}
#order-standard_cart .alert{border-radius:12px;text-align:right}

/* ══ v55: cart pages — contain rows, match site style ══ */
#order-standard_cart{max-width:100%;overflow-x:clip}
#order-standard_cart .row{margin-left:0!important;margin-right:0!important}
#order-standard_cart [class*="col-"]{padding-left:0!important;padding-right:0!important;max-width:100%}
#order-standard_cart .cart-sidebar{display:none!important}

/* cards */
#order-standard_cart .summary-container,
#order-standard_cart .tab-content,
#order-standard_cart .cart-totals-container,
#order-standard_cart .promo-code-container{
  background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:14px 16px;margin:0 0 16px}

/* kill bootstrap blue bars */
#order-standard_cart .nav-tabs{border-bottom:1px solid var(--line);gap:4px}
#order-standard_cart .nav-tabs .nav-link,
#order-standard_cart .nav-tabs>li>a{
  background:transparent!important;border:0!important;border-radius:10px 10px 0 0;
  color:var(--muted)!important;font-size:13px;padding:10px 14px}
#order-standard_cart .nav-tabs .nav-link.active,
#order-standard_cart .nav-tabs>li.active>a{
  background:var(--raised)!important;color:var(--text)!important}
#order-standard_cart .primary-bg-color,
#order-standard_cart thead,
#order-standard_cart thead th{
  background:var(--raised)!important;color:var(--text)!important;border:0!important}
#order-standard_cart table{width:100%;border-collapse:separate;border-spacing:0}
#order-standard_cart th,#order-standard_cart td{
  padding:11px 12px!important;font-size:13px;border-bottom:1px solid var(--line)!important;
  text-align:right;vertical-align:middle}

/* buttons */
#order-standard_cart .btn{border-radius:11px;font-size:13.5px;padding:11px 18px;
  border:1px solid var(--line);background:var(--raised);color:var(--text)!important}
#order-standard_cart .btn-primary,
#order-standard_cart .btn-checkout,
#order-standard_cart .checkout-button{
  background:var(--blue)!important;border-color:var(--blue)!important;color:#060606!important}
#order-standard_cart .btn-primary *,
#order-standard_cart .btn-checkout *{color:#fff!important}

/* inputs */
#order-standard_cart input.form-control,
#order-standard_cart select,#order-standard_cart .custom-select{
  width:100%!important;max-width:100%!important;height:44px;border-radius:10px;
  background:var(--raised)!important;border:1px solid var(--line)!important;
  color:var(--text)!important;padding:0 12px;text-align:right}
#order-standard_cart .input-group{width:100%}

/* ══ v56: restore inner spacing on cart pages ══ */
#order-standard_cart [class*="col-"]{
  padding-left:12px!important;padding-right:12px!important}
#order-standard_cart > .row,
#order-standard_cart .cart-body > .row{margin:0!important}
#order-standard_cart .cart-body > .row > [class*="col-"],
#order-standard_cart .secondary-cart-body{padding-left:0!important;padding-right:0!important}

/* item rows */
#order-standard_cart .view-cart-items-header{
  background:var(--raised);border:1px solid var(--line);border-bottom:0;
  border-radius:12px 12px 0 0;padding:11px 4px;font-size:12.5px;color:var(--muted)}
#order-standard_cart .view-cart-items{
  border:1px solid var(--line);border-radius:0 0 12px 12px;
  background:var(--card);overflow:hidden;margin-bottom:16px}
#order-standard_cart .view-cart-items .item{
  padding:14px 4px;border-bottom:1px solid var(--line)}
#order-standard_cart .view-cart-items .item:last-child{border-bottom:0}
#order-standard_cart .item-title{display:block;font-size:14px;font-weight:700;color:var(--text)}
#order-standard_cart .item-group{display:block;font-size:12px;color:var(--muted);margin-top:3px}
#order-standard_cart .item-domain{display:block;font-size:12px;margin-top:3px;
  color:var(--blue);direction:ltr;text-align:right}

/* empty-cart + tabs */
#order-standard_cart .nav-tabs{border-bottom:1px solid var(--line);margin-bottom:0}
#order-standard_cart .btn-empty-cart,
#order-standard_cart [onclick*="emptyCart"],
#order-standard_cart a[href*="empty"]{
  background:transparent!important;border:1px solid var(--line)!important;
  color:#ff7a7a!important;border-radius:10px;padding:8px 14px;font-size:12.5px}
#order-standard_cart .btn-empty-cart *{color:#ff7a7a!important}

/* totals */
#order-standard_cart .cart-totals-container,
#order-standard_cart .summary-container{padding:16px}
#order-standard_cart .cart-totals-container td,
#order-standard_cart .summary-container td{padding:9px 0!important}
#order-standard_cart .header-lined h1{font-size:19px!important}
#order-standard_cart h2,#order-standard_cart h3{font-size:16px}

/* ══ v57: rewritten view cart ══ */
.sh-cart{max-width:100%}
.sh-cartlist{display:flex;flex-direction:column;gap:12px;margin:0 0 14px}
.sh-ci{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.sh-ci-sub{margin-inline-start:16px;background:var(--raised)}
.sh-ci-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sh-ci-name{font-size:15px;font-weight:700;color:var(--text)}
.sh-ci-acts{margin-inline-start:auto;display:flex;gap:6px}
.sh-ci-edit,.sh-ci-del{background:transparent;border:1px solid var(--line);
  border-radius:9px;padding:5px 11px;font:inherit;font-size:12px;
  color:var(--muted);cursor:pointer;text-decoration:none}
.sh-ci-edit:hover{color:var(--blue);border-color:var(--blue)}
.sh-ci-del{color:#ff8a8a}
.sh-ci-del:hover{border-color:#ff8a8a}
.sh-ci-group{font-size:12.5px;color:var(--muted);margin-top:6px}
.sh-ci-domain{font-size:12.5px;color:var(--blue);margin-top:4px;text-align:right}
.sh-ci-opts{margin-top:8px;display:flex;flex-direction:column;gap:3px;
  font-size:12px;color:var(--muted)}
.sh-ci-qty{display:flex;gap:8px;align-items:center;margin-top:10px}
.sh-ci-qty input{width:82px;height:38px;border-radius:9px;text-align:center;
  background:var(--raised);border:1px solid var(--line);color:var(--text)}
.sh-ci-upd{height:38px;padding:0 14px;border-radius:9px;font-size:12.5px;
  background:var(--raised);border:1px solid var(--line);color:var(--text);cursor:pointer}
.sh-ci-foot{display:flex;align-items:baseline;gap:8px;margin-top:12px;
  padding-top:11px;border-top:1px solid var(--line)}
.sh-ci-price{font-size:16px;font-weight:700;color:var(--text)}
.sh-ci-cycle{font-size:12px;color:var(--muted)}
.sh-ci-note{margin-top:6px;font-size:11.5px;color:var(--muted)}
.sh-cart-empty{background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:28px 16px;text-align:center;color:var(--muted)}
.sh-cart-emptybar{display:flex;justify-content:flex-end;margin:0 0 16px}

.sh-promo{background:var(--card);border:1px solid var(--line);
  border-radius:14px;margin:0 0 14px;overflow:hidden}
.sh-promo>summary{padding:14px 16px;cursor:pointer;font-size:13.5px;
  color:var(--text);list-style:none}
.sh-promo>summary::-webkit-details-marker{display:none}
.sh-promo>summary::after{content:"+";float:left;color:var(--muted)}
.sh-promo[open]>summary::after{content:"−"}
.sh-promo-form{display:flex;flex-direction:column;gap:10px;padding:0 16px 16px}
.sh-promo-form input,.sh-promo-form select{height:44px;border-radius:10px;
  background:var(--raised);border:1px solid var(--line);color:var(--text);padding:0 12px}
.sh-promo-on{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:0 16px 16px;font-size:13px;color:var(--muted)}

.sh-sum{margin:0}
.sh-sum-title{font-size:16px;font-weight:700;margin:0 0 10px;color:var(--text)}
.sh-sum .summary-container{background:var(--card);border:1px solid var(--line);
  border-radius:14px;padding:16px}
.sh-sum-row{display:flex;justify-content:space-between;align-items:flex-start;
  gap:14px;padding:9px 0;font-size:13px;color:var(--muted);
  border-bottom:1px solid var(--line)}
.sh-sum-row span:last-child{color:var(--text);text-align:left}
.sh-sum-total{display:flex;flex-direction:column;align-items:flex-start;
  gap:2px;padding:14px 0 16px}
.sh-sum-total .amt{font-size:24px;font-weight:800;color:var(--text)}
.sh-sum-total .lbl{font-size:12px;color:var(--muted)}
.sh-checkout{display:flex;align-items:center;justify-content:center;
  width:100%;height:48px;border-radius:12px;font-size:15px;font-weight:700;
  text-decoration:none}
.sh-checkout.disabled{opacity:.5;pointer-events:none}
.sh-continue{display:block;text-align:center;margin-top:12px;
  font-size:13px;color:var(--muted);text-decoration:none}
.sh-continue:hover{color:var(--text)}
.sh-btn.ghost{background:transparent;border:1px solid var(--line);
  color:var(--muted);border-radius:10px;padding:9px 15px;font-size:12.5px}

/* ══ v58: configure-product — hard containment + inner cards ══ */
#order-standard_cart .row,
#order-standard_cart .cart-body,
#order-standard_cart .secondary-cart-body,
#order-standard_cart .secondary-cart-sidebar,
#frmConfigureProduct,
#frmConfigureProduct .row{
  margin-left:0!important;margin-right:0!important;
  padding-left:0!important;padding-right:0!important;
  width:100%!important;max-width:100%!important;flex:0 0 100%!important}

#order-standard_cart .header-lined{padding:0;margin:0 0 4px}
#order-standard_cart .secondary-cart-body > p{margin:0 0 14px;font-size:13px;
  color:var(--muted);line-height:1.9}

/* every form section becomes a card so nothing touches the edge */
#frmConfigureProduct .field-container,
#frmConfigureProduct .product-configurable-options{
  background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:14px 16px!important;margin:0 0 14px}
#frmConfigureProduct .field-container .row,
#frmConfigureProduct .product-configurable-options .row{margin:0!important}
#frmConfigureProduct .form-group{margin-bottom:0}
#frmConfigureProduct .form-group + .form-group{margin-top:14px}
#frmConfigureProduct label{margin-bottom:7px}

#order-standard_cart .product-info{margin:0 0 14px}
#order-standard_cart .sub-heading{margin:18px 0 10px;padding:0}
#order-standard_cart #productAddonsContainer,
#order-standard_cart .alert{margin-left:0;margin-right:0}

/* cart item price row spacing */
.sh-ci-foot{gap:10px}
.sh-ci-cycle{margin-inline-start:2px}

/* ══ v59: cart panel padding + kill broken divider lines ══ */
#order-standard_cart{padding:16px 16px 24px!important;box-sizing:border-box}

#order-standard_cart .header-lined,
#order-standard_cart .sub-heading{
  border:0!important;background:none!important;text-align:right}
#order-standard_cart .header-lined::before,
#order-standard_cart .header-lined::after,
#order-standard_cart .sub-heading::before,
#order-standard_cart .sub-heading::after{content:none!important;display:none!important}
#order-standard_cart .sub-heading{margin:20px 0 11px;padding:0}
#order-standard_cart .sub-heading span{
  background:transparent!important;padding:0!important;
  font-size:15px;font-weight:700;color:var(--text)}

/* breathing room around the continue / complete button */
#order-standard_cart .order-summary{margin-bottom:0}
#order-standard_cart .checkout-button-container,
#order-standard_cart .text-right,
#order-standard_cart .text-center{margin-top:18px}
#order-standard_cart #btnCompleteOrder,
#order-standard_cart .btn-checkout,
#order-standard_cart button[type="submit"].btn-primary{
  margin-bottom:6px}
#order-standard_cart > *:last-child{margin-bottom:0!important}

/* checkout page cards */
#order-standard_cart .signup-container,
#order-standard_cart .payment-details,
#order-standard_cart .order-notes,
#order-standard_cart .cart-security-notice{
  background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:14px 16px;margin:0 0 14px}
#order-standard_cart textarea{
  width:100%;min-height:110px;border-radius:10px;padding:12px;
  background:var(--raised)!important;border:1px solid var(--line)!important;
  color:var(--text)!important;text-align:right}

/* ══ v60: revert outer padding, space the inner cards instead ══ */
#order-standard_cart{
  padding:0!important;background:transparent!important;
  border:0!important;box-shadow:none!important}

#order-standard_cart .header-lined h1{margin:0 0 6px;font-size:19px}
#order-standard_cart .secondary-cart-body > p{margin:0 0 16px}

/* inner cards: consistent inset + gap */
#frmConfigureProduct .field-container,
#frmConfigureProduct .product-configurable-options,
#order-standard_cart .product-info,
#order-standard_cart .signup-container,
#order-standard_cart .payment-details,
#order-standard_cart .order-notes,
#order-standard_cart .cart-security-notice,
#order-standard_cart .summary-container{
  padding:16px 18px!important;margin:0 0 16px!important}

#order-standard_cart .product-info p{line-height:2.1}
#order-standard_cart .sub-heading{margin:22px 0 12px}

/* continue / complete button */
#order-standard_cart .checkout-button-container,
#order-standard_cart .text-right,
#order-standard_cart .text-center{margin:20px 0 8px}

/* ══ v61: strip the leftover panel background from cart wrappers ══ */
#order-standard_cart .cart-body,
#order-standard_cart .secondary-cart-body,
#order-standard_cart .secondary-cart-sidebar,
#order-standard_cart .view-cart-tabs,
#order-standard_cart .order-summary,
#order-standard_cart > .row{
  background:transparent!important;background-color:transparent!important;
  border:0!important;box-shadow:none!important;border-radius:0!important}

/* ══ v62: neutralize every cart wrapper in the chain ══ */
#order-standard_cart,
#order-standard_cart > div,
#order-standard_cart > .row > div,
#order-standard_cart .cart-body > div,
#order-standard_cart form > div,
#order-standard_cart form > .row > div{
  background:transparent!important;background-color:transparent!important;
  border:0!important;box-shadow:none!important;
  padding-left:0!important;padding-right:0!important;
  margin-left:0!important;margin-right:0!important}
/* ══ v64: full-width continue button + tidy summary ══ */
#order-standard_cart .order-summary{
  background:none!important;border:0!important;box-shadow:none!important}
#order-standard_cart .order-summary h2{
  background:none!important;color:var(--text)!important;
  font-size:16px!important;font-weight:700!important;
  text-align:right!important;padding:0!important;margin:0 0 10px!important}
#order-standard_cart .order-summary .total-due-today{margin:16px 0 4px}
#order-standard_cart .order-summary .total-due-today .amt{font-size:24px}

#order-standard_cart .btn-lg,
#order-standard_cart .btn-checkout,
#order-standard_cart .order-summary .btn-primary,
#order-standard_cart .order-summary .btn-success{
  display:flex!important;width:100%!important;height:50px!important;
  align-items:center;justify-content:center;gap:8px;
  border-radius:12px!important;font-size:15px;font-weight:700;
  margin:16px 0 0!important;padding:0 18px!important}
#order-standard_cart .modal .btn{
  display:inline-block!important;width:auto!important;height:auto!important;margin:0 4px!important}
#order-standard_cart .btn-continue-shopping{
  display:block;width:100%;text-align:center;margin-top:12px;
  background:none!important;border:0!important;color:var(--muted)!important}

/* ══ v66: re-assert geo chip rows above v62 ══ */
div#order-standard_cart div#shGeoCountry{
  width:fit-content!important;max-width:100%!important;
  margin:0 auto 12px!important;
  background:var(--card)!important;
  border:1px solid var(--line)!important;
  border-radius:999px!important;
  padding:4px!important;gap:2px;
  display:flex!important;justify-content:center!important}
div#order-standard_cart div#shGeoCountry .sh-chipbtn{
  background:transparent!important;border:0!important;color:var(--muted);
  height:38px;padding:0 20px!important;border-radius:999px;
  font-size:13.5px;font-weight:600}
div#order-standard_cart div#shGeoCountry .sh-chipbtn.on{
  background:var(--blue)!important;color:#060606;
  box-shadow:0 1px 8px rgba(255,255,255,.32)}

div#order-standard_cart div#shGeoDc{
  width:fit-content!important;max-width:100%!important;
  margin:0 auto 20px!important;padding:0!important;gap:10px;
  background:none!important;border:0!important;
  display:flex!important;justify-content:center!important}
div#order-standard_cart div#shGeoDc .sh-chipbtn{
  background:transparent!important;border:1px solid var(--line)!important;
  color:var(--muted);height:38px;padding:0 18px!important;
  border-radius:999px;font-size:13px}
div#order-standard_cart div#shGeoDc .sh-chipbtn.on{
  border-color:var(--blue)!important;color:#aaaaaa;
  background:rgba(255,255,255,.10)!important}

/* ══ v67: order-summary title centered + RTL label alignment ══ */
#order-standard_cart .order-summary{margin-top:26px!important}
#order-standard_cart .order-summary h2{
  text-align:center!important;margin:0 0 14px!important;
  font-size:17px!important;font-weight:700!important}

/* swap bootstrap floats so labels sit right, values left */
#order-standard_cart .order-summary .pull-left,
#order-standard_cart .order-summary .float-left{
  float:right!important;text-align:right!important}
#order-standard_cart .order-summary .pull-right,
#order-standard_cart .order-summary .float-right{
  float:left!important;text-align:left!important}
#order-standard_cart .order-summary .clearfix{overflow:hidden}
#order-standard_cart .order-summary .summary-totals,
#order-standard_cart .order-summary .subtotal,
#order-standard_cart .order-summary .bordered-totals,
#order-standard_cart .order-summary .recurring-totals{
  text-align:right!important}
#order-standard_cart .order-summary .product-name,
#order-standard_cart .order-summary .product-group{text-align:right!important}
#order-standard_cart .order-summary .total-due-today span{text-align:right!important}

/* ══ v68: breathing room above the order-summary title ══ */
div#order-standard_cart div.order-summary{
  background:transparent!important;background-color:transparent!important;
  border:0!important;box-shadow:none!important;
  padding:0!important;margin-top:26px!important}
div#order-standard_cart div.order-summary h2{
  padding:16px 0 0!important;margin:0 0 14px!important;
  text-align:center!important;font-size:17px!important;font-weight:700!important;
  background:transparent!important;color:var(--text)!important}

/* ══ v69: checkout — gateway fee row + tidy panels ══ */
#order-standard_cart #totalDueToday{
  background:var(--card)!important;border:1px solid var(--line)!important;
  border-radius:12px!important;padding:14px 16px!important;
  margin:0 0 10px!important;color:var(--text)!important;
  font-size:15px!important;font-weight:700;text-align:center!important}
/* SH_FEEROW_ONE: single rule for fee + credit rows */
#order-standard_cart .sh-feerow{
  display:flex!important;justify-content:space-between;align-items:center;gap:12px;
  background:var(--raised);border:1px solid var(--line);border-radius:12px;
  padding:12px 16px;margin:12px 0 0;font-size:13px}
#order-standard_cart .sh-feerow .lbl{color:var(--muted)}
#order-standard_cart .sh-feerow .val{color:var(--text);font-weight:700;white-space:nowrap}
#order-standard_cart .sh-feerow .val::after{content:" تومان";font-weight:400;color:var(--muted)}

#order-standard_cart .account-select-container div.account{
  display:flex;flex-direction:column;gap:6px}
#order-standard_cart .account-select-container div.account .iradio_square-blue{
  margin-left:8px}
#order-standard_cart .radio label,#order-standard_cart .radio-inline label{
  display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--text)}

/* ══ v68: hide gateway progress bar above crypto button ══ */
.view-cart-gateway-checkout .progress,
.view-cart-gateway-checkout .progress-bar,
.view-cart-gateway-checkout [role="progressbar"]{
  display:none!important;
}

/* ══ v69: remove stray payment progress bar ══ */
body #order-standard_cart .progress,
body #order-standard_cart .progress-bar,
body #order-standard_cart [role="progressbar"],
body #order-standard_cart .payment-progress,
body #order-standard_cart .gateway-progress {
    display:none!important;
    width:0!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
}

/* ══ v72: hidden inputs must never render ══ */
input[type="hidden"]{
  display:none!important;width:0!important;height:0!important;
  padding:0!important;margin:0!important;border:0!important;
  background:none!important;box-shadow:none!important}

/* ══ v73: hide value-less submit/button controls ══ */
input[type="submit"]:not([value]),
input[type="submit"][value=""],
input[type="button"]:not([value]),
input[type="button"][value=""],
button:empty{display:none!important}

/* ══ v74: desktop → same drawer behavior as mobile ══ */
@media(min-width:1000px){
  .sh-rail{display:none!important}
  #shMenuBtn{display:inline-flex!important}
  .sh-stage{border-inline-start:0!important}
}
/* keep the full drawer from stretching too wide on desktop */
.sh-sheet{width:320px;max-width:88vw;margin-inline-start:auto}

/* ══ v77: dark scrollbars ══ */
html{scrollbar-color:#171717 #101010;scrollbar-width:thin}
*{scrollbar-color:#171717 transparent}
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:#101010}
::-webkit-scrollbar-thumb{background:#171717;border-radius:8px;border:2px solid #101010}
::-webkit-scrollbar-thumb:hover{background:#171717}
::-webkit-scrollbar-corner{background:#101010}

/* ══ v78: force dark scrollbar on the main document ══ */
html,body{scrollbar-color:#171717 #101010!important;scrollbar-width:thin!important}
html::-webkit-scrollbar,body::-webkit-scrollbar{width:11px!important;height:11px!important}
html::-webkit-scrollbar-track,body::-webkit-scrollbar-track{background:#101010!important}
html::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb{
  background:#171717!important;border-radius:8px!important;border:2px solid #101010!important}

/* ══ v80: constrain auth & addfunds forms (no padding hacks) ══ */
@media(min-width:1000px){
  .login-form{max-width:460px;margin-inline:auto!important}
  .login-form .card{margin:0!important}
  #frmCheckout{max-width:760px;margin-inline:auto!important}
  /* addfunds: shrink the cards themselves, leave the columns alone */
  .sh-wrap .col-md-8.offset-md-2 > .card{max-width:600px;margin-inline:auto!important}
}
/* RTL alignment, all sizes */
.login-form,.login-form .card-body{text-align:right;direction:rtl}
.login-form label,.login-form h3,.login-form h6,.login-form p{text-align:right}
#frmCheckout .card-title,#frmCheckout label{text-align:right;display:block}
.sh-wrap .col-md-8.offset-md-2 .card-body{text-align:right;direction:rtl}

/* ══ v81: RTL everywhere + fixes ══ */

/* global RTL safety net */
.sh-wrap,.sh-main,.sh-pagebar{direction:rtl}
.sh-wrap .card,.sh-wrap .card-body,.sh-wrap table,
.sh-wrap .alert,.sh-wrap h1,.sh-wrap h2,.sh-wrap h3,.sh-wrap h4,
.sh-wrap p,.sh-wrap label,.sh-wrap td,.sh-wrap th{text-align:right}
.sh-wrap .text-center{text-align:center!important}
.sh-wrap .text-left,.sh-wrap .textleft{text-align:left!important}

/* addfunds: center the whole column, not just the card */
@media(min-width:1000px){
  .sh-wrap .col-md-8.offset-md-2{
    margin-inline:auto!important;float:none!important;max-width:640px}
  .sh-wrap .col-md-8.offset-md-2 > .card{max-width:100%!important;margin:0 0 16px!important}
}

/* order pages: order button to the LEFT edge */
.sh-svcbar .sh-order{margin-inline-start:0!important;margin-inline-end:auto!important;order:2!important}
.sh-svcbar #shCountryTabs{order:1!important}

/* invoice page: dark cards, RTL, kill teal header bars */
.sh-wrap .invoice-container,.sh-wrap #invoice,
.sh-wrap .panel,.sh-wrap .card{direction:rtl;text-align:right}
.sh-wrap .panel-heading,.sh-wrap .card-header,
.sh-wrap thead th,.sh-wrap .table thead{
  background:var(--raised)!important;color:var(--text)!important;border:0!important}
.sh-wrap table{width:100%;border-collapse:separate;border-spacing:0}
.sh-wrap .table td,.sh-wrap .table th{
  padding:11px 14px!important;border-bottom:1px solid var(--line)!important;
  text-align:right;vertical-align:middle}
.sh-wrap .table-striped tbody tr:nth-child(odd){background:rgba(255,255,255,.02)}

/* ══ v82: hide account-select block + redundant intro on checkout ══ */
#order-standard_cart #containerExistingAccountSelect{display:none!important}
#order-standard_cart #containerExistingAccountSelect + .sub-heading,
#order-standard_cart .sub-heading:has(.primary-bg-color){}
#order-standard_cart form#frmCheckout > .sub-heading:first-of-type{display:none!important}
#order-standard_cart .secondary-cart-body > p.text-sm-left{display:none!important}

/* ══ v83: cart total — label above amount, no box around amount ══ */
.sh-sum-total{display:flex;flex-direction:column-reverse;align-items:flex-start;gap:2px}
.sh-sum-total .amt{background:none!important;border:0!important;padding:0!important;
  font-size:24px;font-weight:800;color:var(--text)}
.sh-sum-total .lbl{font-size:12px;color:var(--muted);order:2}
#order-standard_cart #totalDueToday{
  background:none!important;border:0!important;padding:0!important;
  text-align:right!important;font-size:24px!important;font-weight:800!important}

/* ══ v84: wallet tile number formatting ══ */
.sh-tile .v.num{direction:ltr;display:flex;align-items:baseline;gap:6px;
  justify-content:flex-end;flex-direction:row-reverse}
.sh-tile .v.num span{font-size:12px;color:var(--muted);font-weight:400}

/* ══ v85: empty-state centered ══ */
.sh-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;min-height:46vh;gap:10px;padding:30px 16px}
.sh-empty h3{font-size:18px;font-weight:700;color:var(--text);margin:0}
.sh-empty p{font-size:13.5px;color:var(--muted);margin:0}
.sh-empty .sh-btn{margin-top:8px}

/* ══ v86: checkout — payment details card ══ */
.sh-paycard{background:var(--card);border:1px solid var(--line);
  border-radius:14px;padding:16px;margin:0 0 16px;box-sizing:border-box}

/* total row */
.sh-paycard #totalDueToday{
  background:transparent!important;border:0!important;box-shadow:none!important;
  color:var(--text)!important;font-size:13.5px;text-align:right!important;
  display:flex;justify-content:space-between;align-items:baseline;gap:12px;
  padding:0 0 12px!important;margin:0!important;
  border-bottom:1px solid var(--line)!important;border-radius:0!important}
.sh-paycard #totalCartPrice{font-size:22px;font-weight:800;color:var(--text)}


/* payment methods */
.sh-paycard #paymentGatewaysContainer{margin:14px 0 0}
.sh-paycard #paymentGatewaysContainer > p{
  font-size:12.5px;color:var(--muted);margin:0 0 10px;text-align:right}
.sh-paycard #paymentGatewaysContainer .text-center{
  display:flex;flex-direction:column;gap:8px;text-align:right!important}
.sh-paycard .radio-inline{
  display:flex;align-items:center;gap:9px;margin:0;padding:11px 12px;
  background:var(--raised);border:1px solid var(--line);border-radius:11px;
  font-size:13.5px;color:var(--text);cursor:pointer;transition:.15s}
.sh-paycard .radio-inline:hover{border-color:rgba(255,255,255,.45)}

/* empty containers that flicker open/closed */
.sh-paycard #paymentGatewayInput:empty,
.sh-paycard .gateway-errors:empty{display:none!important;margin:0!important}
.sh-paycard .clearfix{display:none}

/* notes textarea */
#frmCheckout textarea{
  width:100%!important;max-width:100%!important;min-height:110px;
  background:var(--card)!important;border:1px solid var(--line)!important;
  color:var(--text)!important;border-radius:12px;padding:12px;
  font:inherit;font-size:13px;line-height:1.9;text-align:right;resize:vertical}
#frmCheckout textarea::placeholder{color:var(--muted)}


/* ══ v97: configure-product page only — scale down, wider container ══ */
@media (min-width:992px){
  #order-standard_cart:has(#frmConfigureProduct){
    max-width:1100px!important;margin-inline:auto!important}
}
#order-standard_cart:has(#frmConfigureProduct) .sh-card,
#order-standard_cart:has(#frmConfigureProduct) .panel{
  padding:15px!important;border-radius:13px!important;margin-bottom:12px!important}
#order-standard_cart:has(#frmConfigureProduct) h2,
#order-standard_cart:has(#frmConfigureProduct) h3{font-size:15.5px!important}
#order-standard_cart:has(#frmConfigureProduct) select,
#order-standard_cart:has(#frmConfigureProduct) .form-control{
  height:auto!important;padding:10px 12px!important;font-size:13px!important;border-radius:10px!important}

/* ══ v98: configure page — wider + continue button outside summary card ══ */
@media (min-width:992px){
  #order-standard_cart:has(#frmConfigureProduct){
    max-width:850px!important;margin-inline:auto!important}
}

/* strip card styling from the outer wrappers */
#order-standard_cart #scrollingPanelContainer,
#order-standard_cart #orderSummary{
  background:transparent!important;border:0!important;
  padding:0!important;box-shadow:none!important;border-radius:0!important}

/* put the card on the summary itself */
#order-standard_cart #orderSummary .order-summary{
  background:var(--card)!important;border:1px solid var(--line)!important;
  border-radius:13px!important;padding:15px!important;margin:0 0 14px!important}

/* continue button now sits on its own, below the card */
#order-standard_cart #orderSummary > .text-center{margin:0!important;padding:0!important}
#order-standard_cart #btnCompleteProductConfig{
  display:block!important;width:100%!important;max-width:none!important;
  margin:0!important;padding:12px 24px!important;
  font-size:14.5px!important;border-radius:11px!important;
  height:auto!important;min-height:0!important}

/* ══ v99: cart view page — scale down ══ */
@media (min-width:992px){
  #order-standard_cart:has(#btnEmptyCart){
    max-width:1100px!important;margin-inline:auto!important}
}
#order-standard_cart:has(#btnEmptyCart) .sh-card,
#order-standard_cart:has(#btnEmptyCart) .sh-cartlist,
#order-standard_cart:has(#btnEmptyCart) .sh-sumbox{
  padding:14px!important;border-radius:12px!important;margin-bottom:12px!important}
#order-standard_cart:has(#btnEmptyCart) .sh-ci-name{font-size:14px!important}
#order-standard_cart:has(#btnEmptyCart) p,
#order-standard_cart:has(#btnEmptyCart) .sh-sumrow{font-size:13px!important}
#order-standard_cart:has(#btnEmptyCart) .sh-checkout,
#order-standard_cart:has(#btnEmptyCart) #checkout{
  padding:11px 24px!important;font-size:14px!important;border-radius:11px!important}

/* ══ v100: fix flex-item collapse on cart + configure pages ══ */
@media (min-width:992px){
  #order-standard_cart:has(#btnEmptyCart),
  #order-standard_cart:has(#frmConfigureProduct){
    width:100%!important;flex:1 1 100%!important;
    margin-left:auto!important;margin-right:auto!important}
  #order-standard_cart:has(#btnEmptyCart){max-width:900px!important}
  #order-standard_cart:has(#frmConfigureProduct){max-width:850px!important}
}

/* ══ v101: cart view — smaller order summary ══ */
#order-standard_cart:has(#btnEmptyCart) .sh-sumbox,
#order-standard_cart:has(#btnEmptyCart) .order-summary{
  width:100%!important;max-width:none!important;
  margin-left:auto!important;margin-right:auto!important;
  padding:13px 15px!important;border-radius:12px!important}

#order-standard_cart:has(#btnEmptyCart) .sh-secttl,
#order-standard_cart:has(#btnEmptyCart) .sh-sumbox h2,
#order-standard_cart:has(#btnEmptyCart) .sh-sumbox h3{
  font-size:14.5px!important;margin:0 0 10px!important}

#order-standard_cart:has(#btnEmptyCart) .sh-sumrow{
  font-size:12.5px!important;padding:7px 0!important}

#order-standard_cart:has(#btnEmptyCart) .sh-sumtotal,
#order-standard_cart:has(#btnEmptyCart) .sh-sumbox strong{
  font-size:17px!important}

#order-standard_cart:has(#btnEmptyCart) .sh-checkout,
#order-standard_cart:has(#btnEmptyCart) #checkout{
  width:100%!important;max-width:none!important;
  margin:12px auto 0!important;
  padding:10px 22px!important;font-size:13.5px!important}

#order-standard_cart:has(#btnEmptyCart) .sh-continue{
  font-size:12.5px!important;margin-top:8px!important}

/* ══ v103: cart summary — match configure page ══ */
#order-standard_cart:has(#btnEmptyCart) #orderSummary{
  background:var(--card)!important;border:1px solid var(--line)!important;
  border-radius:13px!important;padding:15px!important;
  margin:0 0 14px!important;width:100%!important;max-width:none!important}

#order-standard_cart:has(#btnEmptyCart) #orderSummary .summary-container{
  background:transparent!important;border:0!important;
  padding:0!important;box-shadow:none!important;border-radius:0!important}

#order-standard_cart:has(#btnEmptyCart) .sh-sum-title{
  font-size:15.5px!important;margin:0 0 12px!important;text-align:center!important}

#order-standard_cart:has(#btnEmptyCart) .sh-sum-row{
  font-size:13px!important;padding:8px 0!important}

#order-standard_cart:has(#btnEmptyCart) .sh-sum-total .amt{font-size:19px!important}

#order-standard_cart:has(#btnEmptyCart) .sh-sum-actions{margin:0!important}
#order-standard_cart:has(#btnEmptyCart) .sh-sum-actions #checkout{
  display:block!important;width:100%!important;max-width:none!important;
  margin:0!important;padding:12px 24px!important;
  font-size:14.5px!important;border-radius:11px!important;text-align:center!important}
#order-standard_cart:has(#btnEmptyCart) .sh-sum-actions .sh-continue{
  display:block!important;text-align:center!important;
  margin-top:10px!important;font-size:13px!important}

/* ══ v104: checkout security note — centered ══ */
#order-standard_cart .checkout-security-msg,
#frmCheckout .checkout-security-msg,
.checkout-security-msg{
  text-align:center!important;
  display:block!important;
  width:100%!important;
  margin:14px auto 0!important;
  float:none!important;
  font-size:12.5px!important}

/* ══ v105: invoice page — dark theme + mobile ══ */
.invoice-container{max-width:1000px!important;margin-inline:auto!important;padding:14px!important}

/* cards */
.invoice-container .card{
  background:var(--card)!important;border:1px solid var(--line)!important;
  border-radius:13px!important;overflow:hidden!important;margin-bottom:14px!important}

/* kill bootstrap colored headers (teal / green) */
.invoice-container .card-header,
.invoice-container .card-header.bg-info,
.invoice-container .card-header.bg-success,
.invoice-container .card-header.bg-primary,
.invoice-container .card-header.text-white{
  background:var(--raised)!important;color:var(--text)!important;
  border-bottom:1px solid var(--line)!important;padding:11px 15px!important}
.invoice-container .card-header h3,
.invoice-container .card-header .card-title,
.invoice-container .card-header .card-subtitle{
  font-size:15px!important;margin:0!important;color:var(--text)!important}

.invoice-container .card-body{background:transparent!important;padding:14px 15px!important}

/* tables */
.invoice-container .table{
  background:transparent!important;color:var(--text)!important;
  margin:0!important;font-size:13px!important}
.invoice-container .table td,
.invoice-container .table th{
  border-color:var(--line)!important;padding:9px 12px!important;
  vertical-align:middle!important;background:transparent!important}
.invoice-container .table thead td,
.invoice-container .table thead th{
  background:var(--raised)!important;font-size:12.5px!important;color:var(--muted)!important}
.invoice-container .table .total-row{background:transparent!important;font-weight:600!important}
.invoice-container .table-responsive{
  border:0!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}

/* header block */
.invoice-container .invoice-header{margin-bottom:16px!important}
.invoice-container .invoice-status .unpaid{color:#ff5b6b!important}
.invoice-container .invoice-status .paid{color:#2ecc71!important}
.invoice-container address,
.invoice-container .small-text{font-size:12.5px!important;color:var(--muted)!important}

/* buttons */
.invoice-container .btn{border-radius:10px!important;font-size:13px!important;padding:9px 18px!important}
.invoice-container .custom-select,
.invoice-container .form-control{
  background:var(--raised)!important;color:var(--text)!important;
  border:1px solid var(--line)!important;border-radius:10px!important;
  padding:8px 12px!important;font-size:13px!important}

/* ── mobile ── */
@media (max-width:767px){
  .invoice-container{padding:10px!important}
  .invoice-container .card{border-radius:11px!important;margin-bottom:11px!important}
  .invoice-container .table{font-size:11.5px!important}
  .invoice-container .table td,
  .invoice-container .table th{padding:7px 8px!important;white-space:normal!important}
  .invoice-container .card-header h3{font-size:14px!important}
  .invoice-container .invoice-col{text-align:center!important;margin-bottom:12px!important}
  .invoice-container .invoice-col address,
  .invoice-container .invoice-col .small-text{text-align:center!important}
  .invoice-container .float-sm-right{float:none!important}
  .invoice-container .btn{width:100%!important;margin:5px 0!important}
  .invoice-container .payment-btn-container .btn{width:auto!important;min-width:160px!important}
  .invoice-container h1{font-size:19px!important}
}

/* ══ v106: invoice — kill teal panel + RTL header ══ */
.invoice-container .panel,
.invoice-container .panel-info,
.invoice-container .card.border-info{
  background:var(--card)!important;border:1px solid var(--line)!important;
  border-radius:13px!important;overflow:hidden!important;margin-bottom:14px!important}

.invoice-container .panel-heading,
.invoice-container .panel-info > .panel-heading,
.invoice-container .card-header,
.invoice-container [class*="bg-info"],
.invoice-container [class*="bg-success"],
.invoice-container [class*="bg-primary"]{
  background:var(--raised)!important;background-color:var(--raised)!important;
  background-image:none!important;
  color:var(--text)!important;border-color:var(--line)!important;
  padding:11px 15px!important}

.invoice-container .panel-heading h3,
.invoice-container .panel-title,
.invoice-container [class*="bg-info"] h3,
.invoice-container [class*="bg-info"] .panel-title{
  color:var(--text)!important;font-size:15px!important;margin:0!important}

.invoice-container .panel-body{
  background:transparent!important;color:var(--text)!important;padding:14px 15px!important}

/* RTL header alignment */
.invoice-container .invoice-header .text-sm-left{text-align:right!important}
.invoice-container .invoice-col.right,
.invoice-container .text-sm-right{text-align:right!important}
.invoice-container .invoice-col{text-align:right!important}
.invoice-container .invoice-col.text-center,
.invoice-container .invoice-status,
.invoice-container .payment-btn-container{text-align:center!important}
.invoice-container address{text-align:right!important;margin-bottom:0!important}

/* ══ v107: invoice — RTL + tables + spacing ══ */
.invoice-container{direction:rtl!important;text-align:right!important}

/* header */
.invoice-container .invoice-header h1,
.invoice-container .invoice-header h2{
  text-align:right!important;font-size:20px!important;margin:0 0 5px!important}
.invoice-container .invoice-header .invoice-status,
.invoice-container .invoice-header .payment-btn-container{text-align:center!important}

/* address / meta rows get a real card */
.invoice-container .invoice-header + .row,
.invoice-container .row.justify-content-sm-between{
  background:var(--card)!important;border:1px solid var(--line)!important;
  border-radius:13px!important;padding:15px!important;
  margin:0 0 14px!important;--bs-gutter-x:0!important}
.invoice-container .row.justify-content-sm-between h4,
.invoice-container .row.justify-content-sm-between strong{
  font-size:13px!important;color:var(--muted)!important;
  display:block!important;margin-bottom:6px!important}

/* tables: RTL text */
.invoice-container .table th,
.invoice-container .table td{text-align:right!important}
.invoice-container .table th.text-center,
.invoice-container .table td.text-center{text-align:center!important}
.invoice-container .table .total-row{text-align:right!important}
.invoice-container .table tbody tr:last-child td{border-bottom:0!important}

/* breathing room inside cards */
.invoice-container .card > .table-responsive{padding:0 6px 6px!important}
.invoice-container .transactions-container{
  background:var(--card)!important;border:1px solid var(--line)!important;
  border-radius:13px!important;padding:6px!important;margin-bottom:14px!important}

/* bottom action buttons */
.invoice-container .d-print-none{margin-top:14px!important}
.invoice-container .btn-group{gap:8px!important;display:inline-flex!important}
.invoice-container .btn-group .btn{margin:0!important;border-radius:10px!important}

/* ══ v108: invoice — unstick bottom action buttons ══ */
.invoice-container .float-right.btn-group,
.invoice-container .btn-group.d-print-none{
  float:none!important;display:flex!important;
  justify-content:flex-start!important;flex-wrap:wrap!important;
  gap:9px!important;margin:4px 0 16px!important;padding:0!important;
  width:auto!important}

.invoice-container .btn-group.d-print-none .btn,
.invoice-container .float-right.btn-group .btn{
  float:none!important;margin:0!important;
  border-radius:10px!important;
  padding:9px 18px!important;font-size:13px!important;
  background:var(--raised)!important;
  border:1px solid var(--line)!important;
  color:var(--text)!important}

.invoice-container .btn-group.d-print-none .btn:hover,
.invoice-container .float-right.btn-group .btn:hover{
  border-color:#f8f8f8!important;color:#f8f8f8!important}

/* back-to-clientarea link must not sit under a float */
.invoice-container + p.text-center,
p.text-center.d-print-none{
  clear:both!important;margin:16px 0 24px!important;font-size:13px!important}

@media (max-width:767px){
  .invoice-container .float-right.btn-group,
  .invoice-container .btn-group.d-print-none{justify-content:center!important}
  .invoice-container .btn-group.d-print-none .btn{flex:1 1 45%!important;text-align:center!important}
}

/* ══ v109: global mobile overflow guard ══ */
@media (max-width:767px){
  html,body{overflow-x:hidden!important;max-width:100vw!important}
  .container,.container-fluid{padding-left:12px!important;padding-right:12px!important}
  .row{margin-left:0!important;margin-right:0!important}
  [class*="col-"]{padding-left:6px!important;padding-right:6px!important}

  /* nothing may exceed the viewport */
  table,iframe,pre,img,canvas,.card,.panel{max-width:100%!important}
  .table-responsive,.dataTables_wrapper{
    overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;max-width:100%!important}

  /* stat card rows stack instead of clipping */
  .sh-statrow,.sh-cards,.stats-row,.row.stats{
    flex-wrap:wrap!important;gap:10px!important}
  .sh-statrow > *,.stats-row > *{flex:1 1 100%!important;min-width:0!important;max-width:100%!important}

  /* long strings must wrap, not push the page */
  td,th,p,span,div{word-break:break-word!important;overflow-wrap:anywhere!important}

  /* scrollable tab bars */
  .nav-tabs,.sh-tabs,.nav-pills{
    flex-wrap:nowrap!important;overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;white-space:nowrap!important}
  .nav-tabs::-webkit-scrollbar,.sh-tabs::-webkit-scrollbar{display:none}
}

/* ══ v110: services bar — order button always hard-left ══ */
.sh-svcbar{
  display:flex!important;align-items:center!important;
  gap:10px!important;flex-wrap:wrap!important}
.sh-svcbar .sh-order,
.sh-svcbar .sh-btn.primary{margin-inline-start:auto!important}

/* ══ v111: order button pinned to the left edge, both views ══ */
.sh-svcbar .sh-order,
.sh-svcbar .sh-btn.primary{
  order:99!important;margin-inline-start:auto!important;
  flex:0 0 auto!important;width:auto!important}
.sh-svcbar .sh-chiprow{order:1!important}

/* ══ v112: kill the auto-margin tug-of-war; button hard-left ══ */
.sh-svcbar{justify-content:flex-start!important}
.sh-svcbar .sh-order,
.sh-svcbar .sh-btn.primary{
  order:99!important;
  margin-inline-start:0!important;margin-inline-end:0!important;
  flex:0 0 auto!important;width:auto!important}
.sh-svcbar .sh-secttl{order:1!important;margin-inline-end:auto!important}
.sh-svcbar #shCountryTabs,.sh-svcbar .sh-chiprow{
  order:2!important;flex:1 1 auto!important;min-width:0!important}

/* empty state — centered card, same on mobile */
.sh-empty{
  display:flex!important;flex-direction:column!important;
  align-items:center!important;justify-content:center!important;
  text-align:center!important;gap:10px!important;
  max-width:520px!important;margin:40px auto!important;
  padding:34px 22px!important;
  background:var(--card)!important;border:1px solid var(--line)!important;
  border-radius:14px!important}
.sh-empty h3{margin:0!important;font-size:17px!important;color:var(--text)!important}
.sh-empty p{margin:0!important;font-size:13.5px!important;color:var(--muted)!important}
.sh-empty .sh-btn{margin-top:6px!important;width:auto!important;padding:11px 26px!important}

/* ══ v113: module output (CDN / Virtualizor) — contain + round ══ */
.product-details-tab-container,
.tab-content.product-details-tab-container{
  background:var(--card)!important;
  border:1px solid var(--line)!important;
  border-radius:14px!important;
  overflow:hidden!important;
  padding:14px!important;
  max-width:100%!important;box-sizing:border-box!important}

.product-details-tab-container > *,
.product-details-tab-container .tab-pane{
  max-width:100%!important;box-sizing:border-box!important}

/* every card the module draws inherits our look */
.product-details-tab-container .card,
.product-details-tab-container .panel,
.product-details-tab-container .well{
  background:var(--raised)!important;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  box-shadow:none!important;max-width:100%!important}

/* stat tiles stop clipping at the edges */
.product-details-tab-container .row{
  margin-left:0!important;margin-right:0!important;
  flex-wrap:wrap!important}
.product-details-tab-container [class*="col-"]{
  padding-left:5px!important;padding-right:5px!important;
  max-width:100%!important}

/* tables scroll instead of pushing the page */
.product-details-tab-container table{
  width:100%!important;max-width:100%!important;
  border-radius:10px!important;overflow:hidden!important}
.product-details-tab-container .table-responsive{
  overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;
  max-width:100%!important;border-radius:10px!important}

@media (max-width:767px){
  .product-details-tab-container{padding:10px!important;border-radius:12px!important}
  .product-details-tab-container [class*="col-"]{flex:1 1 100%!important;max-width:100%!important}
}

/* ══ v114: service details — minimal ══ */
.sh-svcmeta{display:flex!important;flex-direction:column!important;gap:1px!important;
  text-align:right!important;padding:0!important}
.sh-svcmeta .sh-mrow{display:flex!important;align-items:center!important;
  justify-content:space-between!important;gap:12px!important;
  padding:11px 2px!important;border-bottom:1px solid var(--line)!important}
.sh-svcmeta .sh-mrow:last-child{border-bottom:none!important}
.sh-svcmeta .k{font-size:12.5px!important;color:var(--muted)!important;font-weight:400!important}
.sh-svcmeta .v{font-size:14px!important;color:var(--text)!important;font-weight:600!important}
.sh-svcmeta .warn .v{color:#ff7a7a!important}

/* product icon: small and on-theme */
.product-details .product-icon .fa-stack{font-size:12px!important}
.product-details .product-icon .fa-circle{color:var(--raised)!important}
.product-details .product-icon .fa-inverse{color:var(--muted)!important}

/* status: a chip, not a banner */
.product-details .product-status-text{
  display:inline-block!important;width:auto!important;
  padding:5px 14px!important;border-radius:999px!important;
  font-size:12.5px!important;font-weight:600!important;
  background:var(--raised)!important;color:var(--text)!important;
  border:1px solid var(--line)!important;margin:8px auto 0!important}
.product-details .product-status-active .product-status-text{
  color:#4ade80!important;border-color:rgba(74,222,128,.35)!important}

/* action buttons: slim, auto width, centered */
.product-actions-wrapper{justify-content:center!important;gap:8px!important;margin-top:14px!important}
.product-actions-wrapper [class*="col-"]{flex:0 0 auto!important;width:auto!important;max-width:100%!important}
.product-actions-wrapper .btn-block{
  display:inline-flex!important;width:auto!important;
  align-items:center!important;justify-content:center!important;gap:7px!important;
  padding:8px 16px!important;font-size:12.5px!important;border-radius:10px!important}
.product-actions-wrapper .btn-danger{
  background:transparent!important;color:#ff7a7a!important;
  border:1px solid rgba(255,122,122,.4)!important}
.product-actions-wrapper .btn-success{
  background:transparent!important;color:#4ade80!important;
  border:1px solid rgba(74,222,128,.4)!important}

/* ══ v116: root cause — grid items may not shrink ══ */
.sh-wrap{
  grid-template-columns:minmax(0,1fr)!important;
  box-sizing:border-box!important;max-width:100%!important}
.sh-wrap > *{min-width:0!important;max-width:100%!important}
.sh-main{max-width:100%!important;overflow-x:clip!important}

/* tables scroll inside their box instead of widening the page */
@media (max-width:767px){
  table.dataTable,.table{min-width:0!important}
  .sh-wrap table{display:block!important;width:100%!important;
    overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;
    white-space:nowrap!important}
  .sh-wrap .table-responsive{max-width:100%!important;overflow-x:auto!important}
}

/* ══ v117a: narrow v116's blanket table rule ══ */
@media (max-width:767px){
  .sh-wrap table{display:table!important;white-space:normal!important;
    width:100%!important;table-layout:auto!important}
  .sh-wrap .table-responsive > table,
  .sh-wrap table.dataTable{display:table!important;width:100%!important}
  .sh-wrap .table-responsive{overflow-x:auto!important;max-width:100%!important}
}

/* ══ v117b: CDN module — rounded shell, RTL text ══ */
.sdns{
  direction:rtl!important;text-align:right!important;
  border-radius:14px!important;overflow:hidden!important;
  background:var(--card)!important;border:1px solid var(--line)!important;
  padding:14px!important;box-sizing:border-box!important}
.sdns table{border-radius:12px!important;overflow:hidden!important;
  border-collapse:separate!important;border-spacing:0!important}
.sdns th{text-align:right!important;color:var(--muted)!important;
  font-weight:600!important;font-size:12.5px!important}
.sdns td{text-align:right!important;border-top:1px solid var(--line)!important}
.sdns input,.sdns select,.sdns textarea{
  direction:rtl!important;text-align:right!important;
  border-radius:10px!important;background:var(--raised)!important;
  border:1px solid var(--line)!important;color:var(--text)!important}
.sdns .btn,.sdns button{border-radius:10px!important}

/* ══ v121: DataTables pages (replaces v117c + v118 + v119) ══ */
.dataTables_wrapper{direction:rtl!important;text-align:right!important;
  max-width:100%!important;overflow:visible!important}
.dataTables_wrapper > *,
.dataTables_wrapper > .row,
.dataTables_wrapper > .row > [class*="col-"]{
  width:100%!important;max-width:100%!important;flex:1 1 100%!important;
  box-sizing:border-box!important;float:none!important;
  padding-left:0!important;padding-right:0!important;
  margin-left:0!important;margin-right:0!important}

.dataTables_wrapper .dataTables_filter{width:100%!important;margin:0 0 10px!important}
.dataTables_wrapper .dataTables_filter label{display:block!important;width:100%!important;margin:0!important}
.dataTables_wrapper .dataTables_filter input{
  width:100%!important;max-width:100%!important;box-sizing:border-box!important;
  margin:6px 0 0!important;padding:10px 12px!important;
  background:var(--raised)!important;border:1px solid var(--line)!important;
  border-radius:10px!important;color:var(--text)!important;
  direction:rtl!important;text-align:right!important}

.dataTables_wrapper .dataTables_length{
  display:flex!important;align-items:center!important;gap:8px!important;
  flex-wrap:nowrap!important;width:auto!important;
  font-size:13px!important;color:var(--muted)!important}
.dataTables_wrapper .dataTables_length label{
  display:flex!important;align-items:center!important;gap:8px!important;
  margin:0!important;white-space:nowrap!important;font-weight:400!important}
.dataTables_wrapper .dataTables_length select{
  width:auto!important;min-width:74px!important;max-width:110px!important;
  flex:0 0 auto!important;margin:0!important;padding:8px 10px!important;
  text-align:center!important;text-align-last:center!important;
  background:var(--raised)!important;border:1px solid var(--line)!important;
  border-radius:10px!important;color:var(--text)!important}

.dataTables_wrapper table.dataTable{
  width:100%!important;border-radius:12px!important;overflow:hidden!important;
  border-collapse:separate!important;border-spacing:0!important}
.dataTables_wrapper table.dataTable th{
  text-align:right!important;background:var(--raised)!important;
  color:var(--muted)!important;font-size:12.5px!important;
  font-weight:600!important;padding:11px 12px!important}
.dataTables_wrapper table.dataTable td{
  text-align:right!important;padding:12px!important;font-size:13.5px!important;
  border-top:1px solid var(--line)!important}

.dataTables_wrapper .dataTables_info{
  text-align:right!important;font-size:12.5px!important;
  color:var(--muted)!important;padding:10px 0 0!important}
.dataTables_wrapper .dataTables_paginate{
  display:flex!important;gap:8px!important;flex-wrap:wrap!important;
  justify-content:flex-start!important;padding:10px 0 0!important}
.dataTables_wrapper .dataTables_paginate .paginate_button{
  border-radius:9px!important;border:1px solid var(--line)!important;
  background:var(--raised)!important;color:var(--text)!important;
  padding:7px 14px!important;font-size:12.5px!important}
.dataTables_wrapper .dataTables_empty{color:var(--muted)!important}

/* ══ v120: no more horizontal scroll — tables simply fit ══ */
.dataTables_wrapper table.dataTable{
  display:table!important;table-layout:fixed!important;
  width:100%!important;min-width:0!important;max-width:100%!important;
  overflow:visible!important}

.dataTables_wrapper table.dataTable th,
.dataTables_wrapper table.dataTable td{
  white-space:normal!important;overflow-wrap:anywhere!important;
  word-break:break-word!important;vertical-align:middle!important}

@media (max-width:767px){
  .dataTables_wrapper table.dataTable th{
    font-size:11px!important;padding:9px 6px!important;line-height:1.5!important}
  .dataTables_wrapper table.dataTable td{
    font-size:12px!important;padding:11px 6px!important}
  .dataTables_wrapper table.dataTable .label,
  .dataTables_wrapper table.dataTable .badge{
    font-size:10.5px!important;padding:4px 8px!important;
    white-space:nowrap!important;display:inline-block!important}
}

.dataTables_wrapper table.dataTable td.dataTables_empty{
  text-align:center!important;padding:28px 10px!important}

/* ══ v122: service details — compact header, no tab bar ══ */

/* --- kill the oversized icon --- */
.product-details .product-icon{margin:0 0 8px!important}
.product-details .product-icon .fa-stack{font-size:10px!important;
  width:2em!important;height:2em!important;line-height:2em!important}
.product-details .product-icon .fa-circle{color:var(--raised)!important}
.product-details .product-icon .fa-inverse{color:var(--muted)!important}

/* --- status: full-width green bar -> small pill --- */
.product-details .product-status{background:none!important;border:0!important;
  padding:0!important;margin:0 0 12px!important;text-align:center!important}
.product-details .product-status-text{
  display:inline-block!important;width:auto!important;max-width:none!important;
  padding:5px 15px!important;border-radius:999px!important;
  font-size:12px!important;font-weight:700!important;line-height:1.7!important;
  background:var(--raised)!important;color:var(--text)!important;
  border:1px solid var(--line)!important}
.product-status-active .product-status-text{
  background:rgba(74,222,128,.13)!important;color:#4ade80!important;
  border-color:rgba(74,222,128,.35)!important}
.product-status-suspended .product-status-text,
.product-status-terminated .product-status-text,
.product-status-cancelled .product-status-text{
  background:rgba(255,122,122,.13)!important;color:#ff7a7a!important;
  border-color:rgba(255,122,122,.35)!important}

/* --- action buttons: small and inline --- */
.product-actions-wrapper{display:flex!important;flex-wrap:wrap!important;
  gap:8px!important;justify-content:center!important;margin:0!important}
.product-actions-wrapper > *{width:auto!important;flex:0 0 auto!important;
  padding:0!important;margin:0!important;max-width:none!important}
.product-actions-wrapper .btn,
.product-actions-wrapper .btn-block{
  display:inline-flex!important;align-items:center!important;
  width:auto!important;margin:0!important;
  padding:7px 15px!important;font-size:12.5px!important;
  border-radius:10px!important;font-weight:600!important}

/* --- the whole overview becomes one tidy card --- */
.product-details{padding:4px 0!important}
.product-details .row{align-items:flex-start!important}

/* --- remove the tab strip; stack the panes into the second card --- */
.nav-tabs.responsive-tabs-sm,
.responsive-tabs-sm-connector,
.product-details-tab-container ~ .nav-tabs{display:none!important}
.product-details-tab-container{
  padding:14px!important;border-radius:14px!important;
  background:var(--card)!important;border:1px solid var(--line)!important}
.product-details-tab-container > .tab-pane{
  display:block!important;opacity:1!important;visibility:visible!important;
  height:auto!important;overflow:visible!important;
  padding:0 0 6px!important}
.product-details-tab-container > .tab-pane + .tab-pane{
  margin-top:14px!important;padding-top:14px!important;
  border-top:1px solid var(--line)!important}

/* rows inside that card read as label / value */
.product-details-tab-container .row{
  display:flex!important;align-items:center!important;
  gap:10px!important;margin:0!important;
  padding:9px 0!important;border-bottom:1px solid var(--line)!important}
.product-details-tab-container .row:last-child{border-bottom:0!important}
.product-details-tab-container .row > [class*="col-sm-"]{
  flex:1 1 auto!important;width:auto!important;max-width:none!important;
  padding:0!important;text-align:right!important}
.product-details-tab-container .row > .col-sm-5{
  flex:0 0 42%!important;color:var(--muted)!important;font-size:12.5px!important}
.product-details-tab-container .row > .col-sm-5 strong{font-weight:600!important}
.product-details-tab-container .row > .col-sm-7{
  font-size:13.5px!important;font-weight:600!important;
  text-align:left!important;direction:ltr!important;
  unicode-bidi:plaintext!important;overflow-wrap:anywhere!important}

/* ══ v123: tidy the header block + breathing room between cards ══ */

/* everything in the top block shares one axis: centered */
.product-details > .row > [class*="col-md-"]:first-child,
.product-details .product-status,
.product-details .product-icon{
  display:flex!important;flex-direction:column!important;
  align-items:center!important;justify-content:center!important;
  text-align:center!important;width:100%!important;max-width:100%!important}

/* product name + type, tight and proportional */
.product-details > .row > [class*="col-md-"]:first-child h1,
.product-details > .row > [class*="col-md-"]:first-child h2,
.product-details > .row > [class*="col-md-"]:first-child h3{
  margin:0!important;font-size:19px!important;font-weight:800!important;
  line-height:1.5!important;text-align:center!important;color:var(--text)!important}
.product-details > .row > [class*="col-md-"]:first-child h4,
.product-details > .row > [class*="col-md-"]:first-child p{
  margin:2px 0 0!important;font-size:13px!important;font-weight:500!important;
  line-height:1.6!important;text-align:center!important;color:var(--muted)!important}

/* icon sits above the name with a small, even gap */
.product-details .product-icon{margin:0 0 10px!important}
.product-details .product-status{margin:12px 0 0!important;gap:10px!important}

/* space between the two cards */
.product-details-tab-container{margin-top:14px!important}
.tab-content.margin-bottom > #tabOverview > .card,
#tabOverview > .card{margin-bottom:0!important}

/* ══ v124: separate the two cards cleanly, drop the icon ══ */

/* wrappers must not paint anything */
.sh-wrap .tab-content,
.sh-wrap .tab-content.margin-bottom,
#tabOverview,
#tabOverview > .card > .card-body,
.product-details{
  background:transparent!important;background-color:transparent!important;
  border:0!important;box-shadow:none!important}
.sh-wrap .tab-content,
#tabOverview{padding:0!important;margin:0!important}

/* card one: the overview */
#tabOverview > .card{
  background:var(--card)!important;border:1px solid var(--line)!important;
  border-radius:14px!important;overflow:hidden!important;
  margin:0!important;box-shadow:none!important}
#tabOverview > .card > .card-body{padding:18px 16px!important}

/* card two: the details */
.product-details-tab-container{
  background:var(--card)!important;background-color:var(--card)!important;
  border:1px solid var(--line)!important;border-radius:14px!important;
  margin-top:14px!important}

/* the leftover WHMCS bootstrap helper on that container */
.product-details-tab-container.bg-white{background:var(--card)!important}

/* remove the product icon entirely */
.product-details .product-icon{display:none!important}

/* ══ v125: repair v124 ══ */

/* the name lives inside .product-icon — show the block, hide only the glyph */
.product-details .product-icon{display:block!important;margin:0 0 10px!important}
.product-details .product-icon .fa-stack{display:none!important}

/* card two is itself a .tab-content — win the specificity fight */
.sh-wrap .tab-content.product-details-tab-container,
.sh-wrap div.tab-content.product-details-tab-container{
  background:var(--card)!important;background-color:var(--card)!important;
  border:1px solid var(--line)!important;border-radius:14px!important;
  padding:16px 14px!important;margin-top:14px!important;
  box-shadow:none!important}

/* ══ v126: bigger name, hostname line, no cancel button ══ */

/* remove the cancel action */
.product-actions-wrapper a[href*="action=cancel"],
.product-actions-wrapper .btn-danger{display:none!important}

/* larger product name / type */
.product-details > .row > [class*="col-md-"]:first-child h1,
.product-details > .row > [class*="col-md-"]:first-child h2,
.product-details > .row > [class*="col-md-"]:first-child h3{
  font-size:26px!important;font-weight:800!important;line-height:1.35!important}
.product-details > .row > [class*="col-md-"]:first-child h4,
.product-details > .row > [class*="col-md-"]:first-child p{
  font-size:15px!important;margin-top:4px!important}

/* hostname between the name and the status pill */
.sh-svchost{
  display:block!important;margin:10px 0 0!important;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important;
  font-size:14px!important;font-weight:600!important;
  color:var(--muted)!important;direction:ltr!important;
  unicode-bidi:plaintext!important;text-align:center!important;
  overflow-wrap:anywhere!important}

/* clear air around the status pill */
.product-details .product-status{margin:14px 0 0!important}
.product-actions-wrapper{margin-top:12px!important}

/* ══ v128: halve the gap under the product name ══ */
.product-details .product-icon{margin:0 0 4px!important;padding-bottom:0!important}
.product-details .product-icon > *:last-child{margin-bottom:0!important}
.product-details .product-icon h4,
.product-details .product-icon p{margin-bottom:0!important}
.product-details .product-status{margin:8px 0 0!important}

/* ══ v129: faint IP on the services list ══ */
.sh-svc .sh-svc-ip{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important;
  font-size:12px!important;color:var(--muted)!important;opacity:.72!important;
  direction:ltr!important;unicode-bidi:plaintext!important;
  white-space:nowrap!important}

/* ══ v129: faint IP on the services list ══ */
.sh-svc .sh-svc-ip{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important;
  font-size:12px!important;color:var(--muted)!important;opacity:.72!important;
  direction:ltr!important;unicode-bidi:plaintext!important;
  white-space:nowrap!important}

/* ══ v130: IP inline next to the service name ══ */
.sh-svc .sh-svc-top .sh-svc-ip{
  margin-inline-start:8px!important;margin-inline-end:0!important;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important;
  font-size:12px!important;font-weight:400!important;
  color:var(--muted)!important;opacity:.65!important;
  direction:ltr!important;unicode-bidi:plaintext!important;
  white-space:nowrap!important}

/* ══ v131 — bidi fix for plan descriptions ══ */
.sh-plan-desc{direction:rtl;text-align:right;unicode-bidi:plaintext;line-height:2}
.sh-plan-desc *{direction:rtl;text-align:right;unicode-bidi:plaintext}

/* ══ v133 — center product cards ══ */
.sh-plan,
.sh-plan .sh-plan-top,
.sh-plan .sh-plan-body,
.sh-plan .sh-plan-foot{text-align:center!important}
.sh-plan .sh-plan-top{justify-content:center}
.sh-plan .sh-plan-top h3{text-align:center!important;width:100%}
.sh-plan .sh-plan-desc,
.sh-plan .sh-plan-desc *{text-align:center!important}
.sh-plan .sh-plan-specs{justify-items:center}
.sh-plan .sh-plan-specs li{justify-content:center;text-align:center!important}
.sh-plan .sh-plan-price{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center!important}

/* ===== v134: dimensions of header login button ===== */
.sh-loginbtn{flex:0 0 auto!important;width:auto!important;min-width:0!important;padding:8px 16px!important;font-size:13px!important;white-space:nowrap;margin-inline-end:4px}
@media (max-width:640px){
  .sh-loginbtn{padding:7px 14px!important;font-size:12.5px!important}
}


/* ==========================================================================
   Sahand - support tickets UI  (2026-08-16)
   ========================================================================== */

/* --- markdown editor -------------------------------------------------- */
.md-editor{border:1px solid var(--line) !important;border-radius:10px !important;overflow:hidden !important;background-color:var(--raised) !important}
.md-editor>.md-header{display:flex !important;flex-wrap:wrap !important;gap:6px !important;align-items:center !important;justify-content:flex-start !important;padding:8px !important;background-color:var(--card) !important;border-bottom:1px solid var(--line) !important}
.md-editor>.md-header .btn-toolbar,.md-editor>.md-header .btn-group{float:none !important;margin:0 !important;display:flex !important;flex-wrap:wrap !important;gap:6px !important}
.md-editor>.md-header .btn{border-radius:8px !important;padding:6px 10px !important}
.md-editor .md-preview,.md-editor .md-input,.md-editor textarea,.md-editor .CodeMirror,.md-editor .CodeMirror-scroll{background-color:var(--raised) !important;color:var(--text) !important;border-color:var(--line) !important}
.md-editor textarea,.md-editor .md-input{min-height:220px !important;padding:12px 14px !important;border:0 !important;box-shadow:none !important;resize:vertical !important;line-height:1.9 !important}
.md-editor .md-preview{padding:12px 14px !important;min-height:220px !important}
.md-editor .CodeMirror{min-height:220px !important}
.md-editor .CodeMirror-cursor{border-left-color:var(--text) !important}
.md-editor>.md-footer{padding:6px 12px !important;font-size:12px !important;color:var(--muted) !important;background-color:var(--card) !important;border-top:1px solid var(--line) !important}
.md-editor [style*="background"]{background-color:var(--raised) !important}
.md-editor ::placeholder{color:var(--muted) !important}

/* --- file upload ------------------------------------------------------ */
.custom-file{position:relative !important;display:block !important;width:100% !important;height:auto !important}
.custom-file-input{position:absolute !important;top:0 !important;right:0 !important;bottom:0 !important;left:0 !important;width:100% !important;height:100% !important;opacity:0 !important;cursor:pointer !important;z-index:2 !important;margin:0 !important}
.custom-file-label{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:10px !important;margin:0 !important;padding:9px 12px !important;height:auto !important;background:var(--raised) !important;border:1px solid var(--line) !important;border-radius:9px !important;color:var(--muted) !important;font-size:14px !important;cursor:pointer !important}
.custom-file-label::after{content:"\0627\0646\062A\062E\0627\0628 \0641\0627\06CC\0644" !important;position:static !important;display:inline-block !important;background:#ffffff !important;color:#060606 !important;border:0 !important;border-radius:7px !important;padding:6px 14px !important;font-weight:700 !important;white-space:nowrap !important;height:auto !important}
.attachment-group{display:flex !important;gap:8px !important;align-items:stretch !important;flex-wrap:nowrap !important}
.attachment-group .input-group-append{display:flex !important}
#btnTicketAttachmentsAdd{border-radius:9px !important;white-space:nowrap !important}

/* --- ticket list table ------------------------------------------------ */
.table-container{overflow-x:auto !important;-webkit-overflow-scrolling:touch !important;max-width:100% !important}
.table-container>table{min-width:620px !important;margin:0 !important}
.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate,.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter{float:none !important;text-align:center !important;margin:10px 0 !important}

/* --- ticket thread ---------------------------------------------------- */
.ticket-reply{border:1px solid var(--line) !important;border-radius:12px !important;padding:14px 16px !important;margin-bottom:14px !important}
.ticket-reply.staff{border-right:3px solid #ffffff !important}
.posted-by-name{font-weight:700 !important;color:var(--text) !important}
.posted-on{color:var(--muted) !important;font-size:13px !important}
.requestor-badge{display:inline-block !important;float:none !important;padding:3px 10px !important;border-radius:999px !important;font-size:12px !important;background:var(--raised) !important;border:1px solid var(--line) !important;color:var(--muted) !important}
.requestor-type-admin,.requestor-type-operator{background:#171717 !important;border-color:#ffffff !important;color:#aaaaaa !important}
.attachment-list{list-style:none !important;padding:0 !important;margin:8px 0 0 !important;display:flex !important;flex-wrap:wrap !important;gap:8px !important}
.attachment-list li a{display:inline-flex !important;align-items:center !important;gap:6px !important;padding:7px 12px !important;border:1px solid var(--line) !important;border-radius:9px !important;background:var(--raised) !important;max-width:100% !important;word-break:break-all !important}
.ticket-rating i,.rating i{font-size:20px !important;margin:0 3px !important;color:#F5A623 !important}
.card-header .float-right,.card-header .float-md-right{display:inline-flex !important;gap:8px !important;flex-wrap:wrap !important}
.card-header .btn{border-radius:9px !important}

/* --- department list on new-ticket page -------------------------------- */
.list-group-item{padding:12px 14px !important}
.list-group-item a{color:#f8f8f8 !important;font-weight:600 !important}
.list-group-item i,.list-group-item .fa,.list-group-item .far,.list-group-item .fas{margin-left:8px !important;color:#f8f8f8 !important}
.list-group-item:hover{background-color:#171717 !important}
.form-group{margin-bottom:16px !important}


/* ==== Sahand - tickets UI patch 2 (2026-08-16) ==== */

/* editor: neutralise every white child, whatever builds it */
.md-editor{background-color:var(--raised) !important}
.md-editor *:not(.btn):not(.btn *):not(i):not(svg):not(path){background-color:transparent !important;color:var(--text) !important;border-color:var(--line) !important}
.md-editor .btn{color:var(--text) !important}
.md-editor>.md-header,.md-editor>.md-header *{background-color:transparent !important}
.md-editor>.md-header{background-color:var(--card) !important}
.md-editor>.md-footer{background-color:var(--card) !important;color:var(--muted) !important}
.md-editor>.md-footer *{color:var(--muted) !important}
.md-editor iframe,.md-editor iframe html,.md-editor iframe body{background-color:var(--raised) !important;color:var(--text) !important}
.md-editor [contenteditable],.md-editor .md-input,.md-editor textarea,.md-editor .md-preview{min-height:220px !important;padding:12px 14px !important;line-height:1.9 !important;caret-color:var(--text) !important}

/* file upload: real spacing, wrapping row */
.custom-file-label::after{content:"انتخاب فایل" !important}
.custom-file-label{overflow:hidden !important;white-space:nowrap !important}
.attachment-group{display:flex !important;flex-wrap:wrap !important;gap:8px !important;align-items:center !important}
.attachment-group .custom-file{flex:1 1 220px !important;min-width:0 !important}
.attachment-group .input-group-append{flex:0 0 auto !important}
#btnTicketAttachmentsAdd{flex:0 0 auto !important;padding:9px 14px !important}

/* helper text: stop the parenthesis flipping */
.attachment-group ~ small,.form-group>small,label+small,small{display:block !important;margin-top:6px !important;line-height:2 !important;unicode-bidi:plaintext !important;color:var(--muted) !important}

/* submit / cancel */
input[type=reset].btn,input[type=reset].btn-default{display:block !important;margin:12px auto 0 !important;min-width:130px !important;padding:10px 18px !important;border-radius:9px !important}
input[type=submit].btn-primary{padding:12px 18px !important;border-radius:10px !important;font-weight:700 !important}


/* ==== Sahand - tickets UI patch 3 (2026-08-16) ==== */

/* attachment row: kill every overlap */
.attachment-group{position:relative !important;display:flex !important;flex-wrap:wrap !important;gap:8px !important;align-items:center !important}
.attachment-group>*{position:relative !important;float:none !important;top:auto !important;right:auto !important;bottom:auto !important;left:auto !important;margin:0 !important;transform:none !important}
.attachment-group .custom-file{flex:1 1 190px !important;min-width:0 !important;order:1 !important}
.attachment-group .input-group-append,.attachment-group .input-group-btn{flex:0 0 auto !important;order:2 !important;display:flex !important}
.attachment-group .custom-file-input{position:absolute !important;top:0 !important;left:0 !important;width:100% !important;height:100% !important;opacity:0 !important;z-index:2 !important;cursor:pointer !important}
#btnTicketAttachmentsAdd{width:auto !important;white-space:nowrap !important;border-radius:9px !important}

/* submit / cancel: stacked, never overlapping */
form:has(.md-editor) input[type=submit].btn,form:has(.md-editor) input[type=reset].btn,
#frmTicketSubmit input[type=submit].btn,#frmTicketSubmit input[type=reset].btn{
    position:relative !important;float:none !important;display:block !important;
    width:100% !important;max-width:none !important;margin:0 0 10px !important}
form:has(.md-editor) input[type=reset].btn,#frmTicketSubmit input[type=reset].btn{
    background-color:var(--raised) !important;color:var(--text) !important;border:1px solid var(--line) !important}

/* helper line under the uploader */
.attachment-group ~ small,.form-group>small{unicode-bidi:isolate !important;direction:rtl !important;text-align:right !important}
.attachment-group ~ small span[dir=ltr],.form-group>small span[dir=ltr]{unicode-bidi:isolate !important;direction:ltr !important;display:inline-block !important}


/* ==== Sahand - tickets UI patch 4 (2026-08-16) ==== */

/* the real culprit: bootstrap makes the file label absolute */
.custom-file{position:relative !important;display:block !important;width:100% !important;height:auto !important;min-height:46px !important}
.custom-file-label{position:relative !important;top:auto !important;right:auto !important;bottom:auto !important;left:auto !important;height:auto !important;min-height:46px !important;box-sizing:border-box !important;display:flex !important;align-items:center !important;justify-content:space-between !important;gap:10px !important;margin:0 !important;padding:8px 8px 8px 14px !important;background:var(--raised) !important;border:1px solid var(--line) !important;border-radius:10px !important;color:var(--muted) !important;line-height:1.6 !important}
.custom-file-label::after{content:"انتخاب فایل" !important;position:relative !important;top:auto !important;right:auto !important;bottom:auto !important;left:auto !important;display:inline-flex !important;align-items:center !important;height:auto !important;background:#ffffff !important;color:#060606 !important;border:0 !important;border-radius:8px !important;padding:8px 16px !important;font-weight:700 !important;white-space:nowrap !important}
.attachment-group .input-group-append{margin:0 !important}
#btnTicketAttachmentsAdd{min-height:46px !important;padding:8px 14px !important}

/* cancel button */
input[type=reset],input[type=reset].btn,input[type=reset].btn-default{position:relative !important;float:none !important;display:block !important;width:100% !important;max-width:none !important;margin:10px 0 0 !important;padding:12px 18px !important;border-radius:10px !important;background-color:var(--raised) !important;color:var(--text) !important;border:1px solid var(--line) !important;font-weight:700 !important;font-size:15px !important;z-index:1 !important}
input[type=reset]:hover{background-color:#171717 !important;border-color:#ffffff !important}
input[type=submit].btn-primary{margin-bottom:0 !important}

/* department picker: one card per department */
a[href*="submitticket.php?step=2"],a[href*="&deptid="],a[href*="?deptid="]{
    display:flex !important;align-items:center !important;gap:12px !important;
    padding:16px 18px !important;margin:12px 0 !important;
    background-color:var(--raised) !important;border:1px solid var(--line) !important;
    border-radius:14px !important;color:var(--text) !important;
    font-weight:700 !important;font-size:16px !important;text-decoration:none !important;
    transition:border-color .15s,background-color .15s !important}
a[href*="submitticket.php?step=2"]:hover,a[href*="&deptid="]:hover{
    background-color:#171717 !important;border-color:#ffffff !important;color:#fff !important}
a[href*="submitticket.php?step=2"] i,a[href*="&deptid="] i,
a[href*="submitticket.php?step=2"] .fa,a[href*="submitticket.php?step=2"] .fal,
a[href*="submitticket.php?step=2"] .far,a[href*="submitticket.php?step=2"] .fas{
    color:#ffffff !important;font-size:19px !important;width:24px !important;text-align:center !important;margin:0 !important;flex:0 0 24px !important}
a[href*="submitticket.php?step=2"]::after,a[href*="&deptid="]::after{
    content:"\2039" !important;margin-right:auto !important;font-size:26px !important;line-height:1 !important;color:var(--muted) !important}
[class*="col-"]:has(>a[href*="submitticket.php?step=2"]),
[class*="col-"]:has(>a[href*="&deptid="]){flex:1 1 100% !important;width:100% !important;max-width:100% !important}
/* ==== Sahand - tickets UI patch 5 (2026-08-16) ==== */

/* attachment row, exact markup: .input-group.attachment-group > .custom-file + .input-group-append */
.input-group.attachment-group{display:flex !important;flex-wrap:nowrap !important;gap:8px !important;align-items:stretch !important}
.input-group.attachment-group>.custom-file{flex:1 1 auto !important;width:auto !important;min-width:0 !important;height:auto !important}
.input-group.attachment-group>.input-group-append{flex:0 0 auto !important;margin:0 !important}
.custom-file-label{border-radius:10px !important;padding:7px 14px 7px 7px !important}
.custom-file-label::after{margin:0 !important}
#btnTicketAttachmentsAdd{display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:7px !important;min-height:46px !important;padding:8px 16px !important;background-color:#171717 !important;border:1px solid var(--line) !important;color:var(--text) !important;border-radius:10px !important;font-weight:600 !important;white-space:nowrap !important}
#btnTicketAttachmentsAdd:hover{border-color:#ffffff !important;background-color:#171717 !important}
#btnTicketAttachmentsAdd i{color:#ffffff !important;margin:0 !important}

@media (max-width:520px){
    .input-group.attachment-group{flex-wrap:wrap !important}
    .input-group.attachment-group>.custom-file{flex:1 1 100% !important}
    .input-group.attachment-group>.input-group-append{width:100% !important}
    #btnTicketAttachmentsAdd{width:100% !important}
}

/* submit + cancel, both forms */
p.text-center:has(#openTicketSubmit),.form-group.text-center:has(input[type=submit][name=save]){display:flex !important;flex-direction:column !important;gap:10px !important;align-items:stretch !important;margin-top:6px !important}
#openTicketSubmit,.form-group.text-center input[type=submit].btn-primary{width:100% !important;margin:0 !important;padding:13px 18px !important;border-radius:10px !important;font-weight:700 !important;font-size:16px !important}
p.text-center>a.btn.btn-default,.form-group.text-center input[type=reset].btn-default{display:block !important;float:none !important;width:100% !important;max-width:none !important;margin:0 !important;padding:12px 18px !important;border-radius:10px !important;background-color:var(--raised) !important;color:var(--text) !important;border:1px solid var(--line) !important;font-weight:700 !important;font-size:15px !important;line-height:1.6 !important;text-align:center !important;text-decoration:none !important}
p.text-center>a.btn.btn-default:hover,.form-group.text-center input[type=reset].btn-default:hover{background-color:#171717 !important;border-color:#ffffff !important;color:#fff !important}


/* ==== Sahand - tickets UI patch 6: lock button order (2026-08-16) ==== */
p.text-center:has(#openTicketSubmit),.form-group.text-center:has(input[type=submit][name=save]){flex-direction:column !important;flex-wrap:nowrap !important}
#openTicketSubmit,.form-group.text-center input[type=submit].btn-primary{order:1 !important}
p.text-center>a.btn.btn-default,.form-group.text-center input[type=reset].btn-default{order:2 !important}
/* ==== Sahand - VirtualizorPro clientarea patch 1 (2026-08-16) ==== */
.module-clientarea .card,.card.shadow-sm,.card.extra-bandwidth{background-color:var(--card)!important;border:1px solid var(--line)!important;color:var(--text)!important;box-shadow:none!important;border-radius:14px}
.module-clientarea .card>.card-header,.card.shadow-sm>.card-header,.module-clientarea .card>.card-footer,.card.shadow-sm>.card-footer{background-color:var(--raised)!important;border-color:var(--line)!important;color:var(--text)!important}
.module-clientarea .card-title,.card.shadow-sm .card-title,.card.shadow-sm .card-header h5{border-bottom-color:var(--line)!important;color:var(--text)!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:2;min-height:auto}
.module-clientarea .alert-secondary,.card.extra-bandwidth .alert-secondary{background-color:var(--raised)!important;border:1px solid var(--line)!important;color:var(--text)!important;border-radius:10px}
.module-clientarea .alert-info,.card.extra-bandwidth .alert-info{background-color:#171717!important;border:1px solid #171717!important;color:#aaaaaa!important;border-radius:10px}
.module-clientarea .alert-success,.card.extra-bandwidth .alert-success{background-color:#10261B!important;border:1px solid #1F5134!important;color:#7EE2A8!important;border-radius:10px}
.module-clientarea .alert-danger,.card.extra-bandwidth .alert-danger{background-color:#2A1418!important;border:1px solid #5A2028!important;color:#FF9AA5!important;border-radius:10px}
.module-clientarea table.table,.card.shadow-sm table.table{color:var(--text)!important;background-color:transparent!important}
.module-clientarea table.table th,.card.shadow-sm table.table th{background-color:#171717!important;border-color:var(--line)!important;color:var(--muted)!important}
.module-clientarea table.table td,.card.shadow-sm table.table td{border-color:var(--line)!important}
tr.table-success,tr.table-success>td,tr.table-success>th{background-color:#10261B!important;color:#B7F0CE!important}
.table-hover tbody tr:hover,.table-hover tbody tr:hover>td{background-color:#171717!important;color:var(--text)!important}
.module-clientarea .form-control,.card.extra-bandwidth .form-control{background-color:#171717!important;border:1px solid var(--line)!important;color:var(--text)!important;height:auto;min-height:46px;border-radius:10px}
.card.extra-bandwidth select.form-control{white-space:normal;text-overflow:ellipsis;padding-inline-end:2.2rem;line-height:2}
.card.extra-bandwidth select.form-control option{background-color:#171717;color:var(--text)}
.module-clientarea .text-muted,.card.shadow-sm .text-muted,.card.extra-bandwidth .text-muted{color:var(--muted)!important}
.apexcharts-canvas,.apexcharts-svg,.apexcharts-canvas foreignObject{background:transparent!important}
.apexcharts-text tspan,.apexcharts-legend-text,.apexcharts-datalabel,.apexcharts-datalabel-label,.apexcharts-datalabel-value{fill:var(--text)!important;color:var(--text)!important}
.apexcharts-gridline,.apexcharts-xaxis line,.apexcharts-yaxis line{stroke:var(--line)!important}
.apexcharts-tooltip{background:var(--raised)!important;border:1px solid var(--line)!important;color:var(--text)!important;box-shadow:none!important}
.apexcharts-tooltip-title{background:#171717!important;border-color:var(--line)!important}

/* ==== Sahand - VirtualizorPro clientarea patch 3 (2026-08-16) ==== */
#content .card, .module-clientarea .card,
.module-clientarea div:has(> .apexcharts-canvas),
.module-clientarea div:has(.apexcharts-canvas){background-color:var(--card)!important;color:var(--text)!important;border-color:var(--line)!important}
.apexcharts-canvas,.apexcharts-canvas svg,.apexcharts-canvas foreignObject{background:transparent!important}
.apexcharts-legend-text{color:var(--text)!important;opacity:1!important}
.apexcharts-text,.apexcharts-text tspan,.apexcharts-xaxis-label,.apexcharts-yaxis-label,
.apexcharts-yaxis-title-text,.apexcharts-xaxis-title-text,.apexcharts-datalabel,
.apexcharts-datalabel-label,.apexcharts-datalabel-value,.apexcharts-title-text{fill:var(--text)!important}
.apexcharts-gridline,.apexcharts-grid line{stroke:var(--line)!important}
.apexcharts-tooltip,.apexcharts-tooltip-title{background:var(--raised)!important;color:var(--text)!important;border-color:var(--line)!important}
.module-clientarea .card-title,.module-clientarea .card-header,
.module-clientarea .card-header h5{overflow:visible!important;white-space:normal!important;height:auto!important;max-height:none!important;line-height:2!important;text-overflow:clip!important}
.apexcharts-yaxis-title-text{font-size:12px!important}
.apexcharts-yaxis{transform:translateX(-4px)}

/* ==== Sahand - VirtualizorPro clientarea patch 4 (2026-08-16) ==== */
div.apexcharts-canvas{background:transparent!important;background-color:transparent!important}
div.apexcharts-canvas>svg,.apexcharts-svg{background:transparent!important;background-color:transparent!important}
.apexcharts-svg>rect:first-child,rect.apexcharts-backgroundRect{fill:transparent!important;opacity:0!important}
div:has(>div.apexcharts-canvas),div:has(>div>div.apexcharts-canvas){background:var(--card)!important;background-color:var(--card)!important;border-color:var(--line)!important;overflow:visible!important}
.apexcharts-legend-text{color:var(--text)!important;opacity:1!important;font-size:12px!important}
.apexcharts-legend-series{margin:4px 8px!important}
.apexcharts-datalabels text,.apexcharts-datalabel,.apexcharts-datalabel-label,.apexcharts-datalabel-value{fill:#101010!important;font-weight:700!important;paint-order:stroke;stroke:none!important}
.apexcharts-toolbar svg{fill:var(--text)!important;stroke:var(--text)!important}
.apexcharts-menu{background:var(--raised)!important;color:var(--text)!important;border-color:var(--line)!important}
.apexcharts-title-text,.apexcharts-subtitle-text{fill:var(--text)!important;font-size:14px!important}

/* ==== Sahand - VirtualizorPro clientarea patch 5 (2026-08-16) ==== */
.apexcharts-yaxis-title,.apexcharts-yaxis-title-text,.apexcharts-xaxis-title,.apexcharts-xaxis-title-text{display:none!important}
.apexcharts-title-text{fill:var(--text)!important;font-size:13px!important}
.apexcharts-legend{padding-top:6px!important}
.apexcharts-legend-series{margin:5px 10px!important}
.apexcharts-yaxis-label,.apexcharts-xaxis-label{font-size:11px!important}
.apexcharts-toolbar{opacity:.55!important}

/* ==== Sahand - VirtualizorPro clientarea patch 6 (2026-08-16) ==== */
.apexcharts-toolbar{display:none!important}
.apexcharts-subtitle-text{fill:var(--muted)!important;font-size:11px!important}
.apexcharts-yaxis-annotation-label,.apexcharts-xaxis-annotation-label{font-size:10px!important}

/* ==== Sahand - VirtualizorPro clientarea patch 8 (2026-08-16) ==== */
table.table tr.table-success,table.table tr.table-success>td,table.table tr.table-success>th,
.module-clientarea table.table tr.table-success,
.module-clientarea table.table tr.table-success>td,
.module-clientarea table.table tr.table-success>th,
.table-success,.table-success>td,.table-success>th,
.table-hover tbody tr.table-success{background-color:#171717!important;background-image:none!important;color:var(--text)!important;box-shadow:none!important;border-color:var(--line)!important}
table.table tr.table-success>td strong,table.table tr.table-success>td b,
table.table tr.table-success>td span,table.table tr.table-success .text-success{color:var(--text)!important}
.module-clientarea table.table tr.table-success>td:first-child{box-shadow:inset -3px 0 0 0 #2E7D5B!important}
.module-clientarea table.table tbody tr.table-success:hover,
.module-clientarea table.table tbody tr.table-success:hover>td{background-color:#171717!important}

/* ==== Sahand - VirtualizorPro clientarea patch 9 (2026-08-16) ==== */
table.table tr.table-success,table.table tr.table-success>td,table.table tr.table-success>th,
.module-clientarea table.table tr.table-success,
.module-clientarea table.table tr.table-success>td,
.module-clientarea table.table tr.table-success>th,
.table-success,.table-success>td,.table-success>th,
.table-hover tbody tr.table-success{background-color:#121212!important;color:var(--text)!important}
.module-clientarea table.table tr.table-success>td{border-top-color:#171717!important}
.module-clientarea table.table tbody tr.table-success:hover,
.module-clientarea table.table tbody tr.table-success:hover>td{background-color:#171717!important}
.module-clientarea table.table tr.table-success>td:first-child{box-shadow:inset -3px 0 0 0 #245C45!important}

/* ==== Sahand - VirtualizorPro clientarea patch 19: consolidated chart card (2026-08-16) ==== */
div[data-sahand-card="1"],div:has(> div.apexcharts-canvas){
  background-color:var(--card)!important;border:1px solid var(--line)!important;border-radius:14px!important;
  padding:16px 4px 12px!important;margin-bottom:16px!important;box-sizing:border-box!important;
  overflow:visible!important;overflow-x:visible!important;overflow-y:visible!important;
  width:auto!important;max-width:100%!important;touch-action:auto!important}
div[data-sahand-card="1"]::-webkit-scrollbar{height:0}
div[data-sahand-scroll="1"]{display:contents!important}
div.apexcharts-canvas{background:transparent!important;overflow:visible!important;min-width:0!important}
div.apexcharts-canvas>svg,.apexcharts-svg{background:transparent!important;overflow:visible!important}
.apexcharts-svg>rect:first-child,rect.apexcharts-backgroundRect{fill:transparent!important;opacity:0!important}
.apexcharts-inner{overflow:visible!important}
.apexcharts-legend{padding-top:8px!important}
.apexcharts-legend-series{margin:5px 10px!important}
.apexcharts-legend-text{color:var(--text)!important;font-size:12px!important;opacity:1!important}
.apexcharts-yaxis-label,.apexcharts-xaxis-label{font-size:11px!important}
.apexcharts-title-text{font-size:14px!important;font-weight:700!important;fill:var(--text)!important}
.apexcharts-subtitle-text{font-size:11px!important;fill:var(--muted)!important}
.apexcharts-yaxis-title,.apexcharts-yaxis-title-text,.apexcharts-xaxis-title,.apexcharts-xaxis-title-text{display:none!important}
.apexcharts-toolbar{display:none!important}
.apexcharts-yaxis-annotations rect,.apexcharts-xaxis-annotations rect{opacity:0!important;fill:none!important}
.apexcharts-yaxis-annotation-label,.apexcharts-xaxis-annotation-label{font-size:10px!important}
.apexcharts-datalabels text,.apexcharts-datalabels tspan{paint-order:stroke!important}

/* ==== Sahand - onepage order form patch 1 ==== */
.sh-op-section{margin:0 0 26px}
.sh-op-head{display:flex;align-items:center;gap:10px;margin:0 0 14px}
.sh-op-num{flex:0 0 auto;width:28px;height:28px;border-radius:50%;background:#ffffff;color:#060606;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:15px}
.sh-op-title{font-size:17px;font-weight:700;margin:0}
.sh-op-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:14px;align-items:start}
.sh-op-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sh-op-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.sh-op-card{position:relative;background:#121212;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px;cursor:pointer;transition:border-color .15s,box-shadow .15s;min-width:0}
.sh-op-card:hover{border-color:rgba(255,255,255,.55)}
#order-standard_cart .sh-op-card.is-selected,.sh-op-card.is-selected{border-color:#ffffff;box-shadow:0 0 0 1px #ffffff inset;background:rgba(255,255,255,.10)!important}
.sh-op-card input[type=radio],.sh-op-card input[type=checkbox]{position:absolute;opacity:0;pointer-events:none}
.sh-op-card-name{font-weight:700;font-size:15px;margin:0 0 8px}
.sh-op-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.sh-op-chip{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.07);border-radius:999px;padding:3px 9px;font-size:12px;line-height:1.7;white-space:nowrap}
.sh-op-price{color:#2FBF71;font-weight:700;font-size:16px}
.sh-op-price small{font-weight:400;font-size:12px;opacity:.75}
.sh-op-oslogo{width:34px;height:34px;object-fit:contain;margin:0 auto 8px;display:block}
.sh-op-flagline{display:flex;align-items:center;gap:8px;font-weight:700;margin:0 0 10px}
.sh-op-sticky{position:sticky;bottom:0;z-index:20;background:#121212;border-top:1px solid rgba(255,255,255,.09);padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.sh-op-total{font-size:18px;font-weight:700;color:#2FBF71}
.sh-op-total-label{font-size:13px;opacity:.8;font-weight:400}
.sh-op-cta{background:#ffffff;border:0;color:#060606;font-weight:700;border-radius:10px;padding:11px 22px;font-size:15px}
.sh-op-cta:hover{background:#e2e2e2}
.sh-op-cta[disabled]{opacity:.5}
@media (max-width:900px){.sh-op-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.sh-op-grid-4,.sh-op-grid-2{grid-template-columns:minmax(0,1fr)}.sh-op-sticky{padding:10px 12px}}
/* ==== end Sahand - onepage order form patch 1 ==== */

/* ==== Sahand - onepage order form patch 2 ==== */
.sh-op-headcard{background:#121212;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:16px;margin:0 0 18px}
.sh-op-headcard h2{font-size:19px;font-weight:700;margin:0 0 6px}
.sh-op-headcard p{margin:0;opacity:.7;font-size:13px}
.sh-op-cardlink{display:block;text-decoration:none;color:inherit}
.sh-op-cardlink:hover{text-decoration:none;color:inherit}
.sh-op-ico{font-size:26px;line-height:1;text-align:center;margin:0 0 8px}
.sh-op-center{text-align:center}
.sh-op-static{cursor:default}
.sh-op-sub{font-size:12px;opacity:.65;margin:4px 0 0}
.sh-op-hidesel{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.sh-op-cyc{text-align:center}
.sh-op-cyc .sh-op-price{display:block;margin:6px 0 0;font-size:14px}
.sh-op-save{display:inline-block;margin:8px 0 0;background:rgba(47,191,113,.14);color:#2FBF71;border-radius:999px;padding:2px 10px;font-size:12px}
.sh-op-field{margin:0 0 12px}
.sh-op-field label{display:block;font-size:13px;opacity:.8;margin:0 0 6px}
.sh-op-optcard{background:#121212;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px;min-width:0}
.sh-op-flag{font-size:22px}
/* ==== end Sahand - onepage order form patch 2 ==== */

/* ==== Sahand - onepage order form patch 3 ==== */
#order-standard_cart{padding-bottom:120px}
#order-standard_cart .sh-op-title{text-align:center;flex:1 1 auto}
#order-standard_cart .sh-op-headcard{text-align:right}
#order-standard_cart .sh-op-card{text-align:center}
#order-standard_cart .sh-op-chips{justify-content:center}
#order-standard_cart .sh-op-price{white-space:nowrap;display:block;text-align:center}
#order-standard_cart .sh-op-price small{margin-right:4px;margin-left:4px}
#order-standard_cart .sh-op-field{text-align:right}
#order-standard_cart .sh-op-field label{text-align:right;font-weight:600}
#order-standard_cart .sh-op-field select,#order-standard_cart .sh-op-field input{text-align:center;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.10);color:#fff;border-radius:10px;height:44px}
#order-standard_cart .sh-op-field input[dir=ltr]{direction:ltr;text-align:center}
#order-standard_cart .sh-op-sumcard{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
#order-standard_cart .sh-op-sumtitle{text-align:center;font-size:17px;font-weight:700;margin:0 0 12px}
.sh-op-sticky{position:fixed;left:0;right:0;bottom:0;border-radius:0;background:rgba(16,16,16,.97);backdrop-filter:blur(8px);box-shadow:0 -6px 24px rgba(0,0,0,.45)}
.sh-op-sticky .sh-op-total{white-space:nowrap}
.sh-op-sticky .sh-op-cta{flex:0 0 auto;min-width:210px}
.sh-op-stickybox{display:flex;flex-direction:column;align-items:flex-end;line-height:1.4}
@media (max-width:560px){.sh-op-sticky .sh-op-cta{min-width:0;flex:1 1 auto}.sh-op-sticky .sh-op-total{font-size:16px}}
/* ==== end Sahand - onepage order form patch 3 ==== */

/* ==== Sahand - onepage order form patch 4 ==== */
#order-standard_cart{padding-bottom:150px}
.sh-op-sticky{box-sizing:border-box;width:100%;max-width:100%;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px}
.sh-op-sticky .sh-op-stickybox{align-items:flex-end;flex:0 1 auto;min-width:0}
.sh-op-sticky .sh-op-total{font-size:17px;font-weight:700;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.sh-op-sticky .sh-op-total-label{font-size:12px;opacity:.7}
.sh-op-sticky .sh-op-cta{flex:0 0 auto;min-width:170px;padding:12px 18px}
@media (max-width:560px){.sh-op-sticky .sh-op-cta{min-width:140px;padding:12px}.sh-op-sticky .sh-op-total{font-size:15px}}
/* ==== end Sahand - onepage order form patch 4 ==== */

/* ==== Sahand - onepage order form patch 5 ==== */
#order-standard_cart{padding-bottom:28px}
.sh-op-sticky{position:static !important;left:auto;right:auto;bottom:auto;width:100%;box-sizing:border-box;display:flex;flex-direction:column-reverse;align-items:stretch;gap:12px;margin:20px 0 8px;padding:18px 16px;border-radius:14px;background:#121212;border:1px solid rgba(255,255,255,.08);box-shadow:none;backdrop-filter:none;overflow:visible}
.sh-op-sticky .sh-op-cta{width:100%;min-width:0;padding:14px 18px;font-size:16px}
.sh-op-sticky .sh-op-stickybox{align-items:center;width:100%;flex:1 1 auto}
.sh-op-sticky .sh-op-total{font-size:20px;font-weight:700;text-align:center;white-space:nowrap;overflow:visible;text-overflow:clip;max-width:100%}
.sh-op-sticky .sh-op-total-label{font-size:13px;opacity:.75;text-align:center}
#order-standard_cart .sh-op-flagline{display:flex;align-items:center;justify-content:center;gap:8px;width:fit-content;margin:0 auto 14px;padding:6px 16px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);font-weight:600}
/* ==== end Sahand - onepage order form patch 5 ==== */
/* ==== Sahand - onepage order form patch 6 ==== */
#order-standard_cart .sh-op-plan{cursor:pointer;transition:border-color .12s ease,background .12s ease}
#order-standard_cart .sh-op-plan:hover{border-color:rgba(255,255,255,.55)}
#order-standard_cart .sh-op-note{display:none;margin:10px 0 0;padding:10px 14px;border-radius:10px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.35);font-size:13px;text-align:center}
/* ==== end Sahand - onepage order form patch 6 ==== */

/* ===== sahand one page order - patch 7 ===== */
.sh-op-sumcard,
.sh-op-sumcard .summary-container,
#producttotal,
#producttotal * {
    direction: rtl !important;
    text-align: right !important;
}
#producttotal .row,
#producttotal .summary-row {
    display: block !important;
}
.sh-op-price,
.sh-op-total {
    color: #f8f8f8 !important;
}
.sh-op-price small {
    color: #aaaaaa !important;
}

/* ===== sahand one page order - patch 8 ===== */
.sh-op-unit {
    display: block;
    font-size: 13px;
    font-weight: 400;
    color: #aaaaaa !important;
    margin-top: 2px;
}

/* ===== sahand one page order - patch 9 ===== */
#producttotal .clearfix::after {
    content: "";
    display: table;
    clear: both;
}
#producttotal .pull-left,
#producttotal .float-left {
    float: right !important;
    text-align: right !important;
}
#producttotal .pull-right,
#producttotal .float-right {
    float: left !important;
    text-align: left !important;
}
#producttotal .product-name,
#producttotal .product-group {
    display: block;
    text-align: right !important;
}
#producttotal .total-due-today {
    text-align: right !important;
    border-top: 1px solid #171717;
    margin-top: 10px;
    padding-top: 10px;
}
#producttotal .total-due-today .amt {
    font-weight: 700;
    color: #f8f8f8 !important;
}

/* ===== sahand one page order - patch 10 ===== */
#producttotal .product-name {
    display: none !important;
}
.sh-op-plan .sh-op-price,
.sh-op-plan .sh-op-unit {
    display: none !important;
}

/* ===== sahand checkout guest mode - patch 11 ===== */
#btnAlreadyRegistered,
#btnNewUserSignup,
#btnExistingLogin,
#btnCompleteOrder,
.generate-password {
    background: #ffffff !important;
    border: 1px solid #ffffff !important;
    color: #060606fff !important;
    border-radius: 10px !important;
    padding: 10px 18px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}
#btnAlreadyRegistered,
#btnNewUserSignup {
    background: #171717 !important;
    border: 1px solid #171717 !important;
    color: #e2e2e2 !important;
}
#btnExistingLogin,
#btnCompleteOrder {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    margin-top: 12px !important;
}
.generate-password {
    background: #171717 !important;
    border: 1px solid #171717 !important;
    color: #e2e2e2 !important;
    padding: 7px 12px !important;
    font-size: 13px !important;
}
label.checkbox-inline {
    display: inline-block !important;
    text-align: right !important;
    padding-right: 0 !important;
}
.payment-methods {
    text-align: right !important;
}

/* ===== sahand checkout segmented switch - patch 12 ===== */
#btnAlreadyRegistered,
#btnNewUserSignup {
    display: inline-block !important;
    width: 49% !important;
    margin: 0 !important;
    padding: 11px 6px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-align: center !important;
    border-radius: 10px !important;
    background: #171717 !important;
    border: 1px solid #171717 !important;
    color: #aaaaaa !important;
    box-shadow: none !important;
}
#btnAlreadyRegistered.w-hidden,
#btnNewUserSignup.w-hidden {
    background: #ffffff !important;
    border-color: #060606fff !important;
    color: #060606fff !important;
}

/* ===== sahand checkout segmented bar - patch 13 ===== */
.sh-seg {
    display: flex !important;
    width: 100% !important;
    gap: 10px !important;
    margin: 10px 0 18px 0 !important;
}
.sh-seg > button {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    float: none !important;
}

/* ===== sahand checkout segmented bar fix - patch 14 ===== */
#shSegWrap.sh-seg {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 10px !important;
    margin: 4px 0 20px 0 !important;
    float: none !important;
    clear: both !important;
}
#shSegWrap.sh-seg > button {
    flex: 1 1 50% !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    white-space: nowrap !important;
    overflow: visible !important;
    padding: 12px 8px !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
}
.marketing-email-optin {
    padding-right: 14px !important;
    padding-left: 14px !important;
}

/* ===== sahand checkout cards - patch 15 ===== */
#shSegWrap.sh-seg { margin-bottom: 16px !important; }
.marketing-email-optin { padding-right: 0 !important; padding-left: 0 !important; }
.marketing-email-optin .sh-optin { display: block !important; margin-top: 10px !important; }

/* ===== sahand checkout spacing - patch 17 ===== */
#containerNewUserSignup .sub-heading,
#containerNewUserSecurity .sub-heading,
#containerExistingUserSignin .sub-heading {
    margin-top: 8px !important;
    margin-bottom: 12px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
#containerNewUserSecurity {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* ===== sahand checkout heading gap - patch 19 ===== */
#containerNewUserSignup .sub-heading,
#containerNewUserSecurity .sub-heading,
#containerExistingUserSignin .sub-heading {
    margin-top: 26px !important;
    margin-bottom: 20px !important;
}

/* ===== sahand checkout login button - patch 21 ===== */
#containerExistingUserSignin #btnExistingLogin {
    display: inline-block !important;
    width: auto !important;
    min-width: 150px !important;
    max-width: 60% !important;
    padding: 11px 28px !important;
}

/* ===== sahand login button bigger - patch 22 ===== */
#containerExistingUserSignin #btnExistingLogin {
    display: inline-block !important;
    width: 88% !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 15px 28px !important;
    font-size: 16px !important;
}

/* ===== sahand login button size - patch 23 ===== */
#containerExistingUserSignin #btnExistingLogin {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 10px 20px !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    height: auto !important;
}

/* ===== sahand login button align - patch 24 ===== */
#containerExistingUserSignin #btnExistingLogin {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-left: 15px !important;
    margin-right: 15px !important;
    padding: 10px 20px !important;
    font-size: 15px !important;
}


/* ===== sahand restore submit button - patch 25 ===== */
/* ══ v89: register submit == login submit ══ */
.sh-submit-btn{
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:100%!important;max-width:100%!important;
  padding:12px!important;margin:0!important;
  border:0!important;border-radius:11px!important;
  background:var(--blue)!important;color:#060606!important;
  font-family:inherit!important;font-size:14.5px!important;font-weight:700!important;
  line-height:1.2!important;height:auto!important;min-height:0!important;
  box-shadow:none!important;cursor:pointer;transition:.18s}

.sh-submit-btn:hover{background:#f8f8f8!important}

p.text-center:has(> .sh-submit-btn){margin:18px 0 0!important;padding:0!important}

/* ══ v90: register submit — narrow + centered like login ══ */
.sh-submit-btn{
  width:100%!important;max-width:280px!important;
  margin-inline:auto!important}

p.text-center:has(> .sh-submit-btn){
  display:flex!important;justify-content:center!important}

/* ══ v91: register submit — fix centering (input, not flex) + smaller ══ */
.sh-submit-btn{
  display:inline-block!important;
  width:100%!important;max-width:220px!important;
  padding:10px 16px!important;margin-inline:auto!important;
  text-align:center!important;
  font-size:13.5px!important;font-weight:700!important;line-height:1.4!important;
  border:0!important;border-radius:10px!important;
  background:var(--blue)!important;color:#060606!important;
  height:auto!important;min-height:0!important;box-shadow:none!important}

p.text-center:has(> .sh-submit-btn){
  display:block!important;text-align:center!important;margin:18px 0 0!important}

/* ══ v92: register submit — smaller ══ */
input.sh-submit-btn,
.sh-submit-btn{
  width:auto!important;min-width:0!important;max-width:170px!important;
  padding:8px 22px!important;
  font-size:13px!important;line-height:1.4!important;
  border-radius:9px!important}

/* ══ v93: beat form[action*=register] .btn-primary specificity ══ */
form input.btn.btn-primary.sh-submit-btn,
input.btn.btn-primary.sh-submit-btn{
  display:inline-block!important;
  width:auto!important;min-width:0!important;max-width:170px!important;
  padding:8px 22px!important;margin-inline:auto!important;
  text-align:center!important;
  font-size:13px!important;font-weight:700!important;line-height:1.4!important;
  height:auto!important;min-height:0!important;
  border:0!important;border-radius:9px!important;
  background:var(--blue)!important;color:#060606!important;box-shadow:none!important}

/* ══ v94: register submit — size up ══ */
form input.btn.btn-primary.sh-submit-btn,
input.btn.btn-primary.sh-submit-btn{
  max-width:260px!important;
  padding:12px 34px!important;
  font-size:14.5px!important;
  border-radius:11px!important}

/* ══ v94: register submit — size up ══ */
form input.btn.btn-primary.sh-submit-btn,
input.btn.btn-primary.sh-submit-btn{
  max-width:260px!important;
  padding:12px 34px!important;
  font-size:14.5px!important;
  border-radius:11px!important}

/* ══ v95: register submit — fixed width ══ */
form input.btn.btn-primary.sh-submit-btn,
input.btn.btn-primary.sh-submit-btn{
  width:380px!important;max-width:380px!important;
  padding:13px 0!important;font-size:15px!important;
  display:block!important;margin:18px auto 0!important;
  text-align:center!important;border-radius:11px!important}

#btnCompleteOrder.sh-submit-btn { display: block !important; width: 100% !important; }

/* ===== sahand login button width fix - patch 26 ===== */
#containerExistingUserSignin #btnExistingLogin {
    display: block !important;
    box-sizing: border-box !important;
    flex: 0 0 auto !important;
    align-self: stretch !important;
    width: calc(100% - 30px) !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 15px !important;
    padding: 10px 20px !important;
    font-size: 15px !important;
}

/* ===== sahand hide order page total - patch 27 ===== */
.sh-op-sticky .sh-op-stickybox {
    display: none !important;
}

/* ===== sahand payment box and promo - patch 28 ===== */
.sh-pay-box {
    background: #121212 !important;
    border: 1px solid #171717 !important;
    border-radius: 14px !important;
    padding: 18px 16px !important;
    margin: 18px 0 !important;
}
.sh-promo-row {
    display: flex !important;
    gap: 8px !important;
    margin-top: 16px !important;
    align-items: center !important;
}
.sh-promo-row #shPromoInput {
    flex: 1 1 auto !important;
    width: auto !important;
}
.sh-promo-row #shPromoBtn {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
}

/* ===== sahand payment box visible border and promo msg - patch 29 ===== */
.sh-pay-box {
    background: #171717 !important;
    border: 1px solid #171717 !important;
    border-radius: 14px !important;
    padding: 16px 14px !important;
    margin: 22px 0 !important;
}
.sh-pay-box .sub-heading {
    margin-top: 0 !important;
}
.sh-pay-box #totalDueToday {
    margin-bottom: 10px !important;
}
.sh-promo-row {
    margin-top: 14px !important;
}
.sh-promo-msg {
    margin-top: 8px !important;
    font-size: 13px !important;
    color: #ff9a9a !important;
    text-align: right !important;
}

/* ===== sahand payment box neutral dark tone - patch 30 ===== */
.sh-pay-box {
    background: #121212 !important;
    border: 1px solid #171717 !important;
    border-radius: 12px !important;
    box-shadow: none !important;
}

/* ===== sahand payment box tighter top gap - patch 31 ===== */
.sh-pay-box {
    margin-top: 10px !important;
}

/* ===== sahand center payment method label - patch 32 ===== */
#paymentGatewaysContainer > p {
    text-align: center !important;
}

/* ===== sahand paybox darker tone and gateway spacing - patch 33 ===== */
.sh-pay-box,
.sh-paycard {
    background: #101010 !important;
    border: 1px solid #171717 !important;
}
#paymentGatewaysContainer > p {
    margin-bottom: 16px !important;
}
#paymentGatewaysContainer input[type="radio"] {
    margin-left: 10px !important;
    margin-right: 10px !important;
}
#paymentGatewaysContainer label {
    gap: 10px !important;
}

/* ===== sahand gateway rows more spacing - patch 34 ===== */
#paymentGatewaysContainer label,
#paymentGatewaysContainer .radio,
#paymentGatewaysContainer .radio-inline,
#paymentGatewaysContainer li {
    margin-bottom: 14px !important;
}
#paymentGatewaysContainer input[type="radio"] {
    margin-left: 14px !important;
    margin-right: 14px !important;
}

/* ===== sahand gateway label gap - patch 35 ===== */
#paymentGatewaysContainer label.radio-inline {
    padding-right: 42px !important;
}
#paymentGatewaysContainer input.payment-methods {
    margin-left: 12px !important;
}

/* ===== sahand gateway circle to text gap - patch 36 ===== */
#paymentGatewaysContainer label.radio-inline {
    padding-right: 14px !important;
}
#paymentGatewaysContainer input.payment-methods {
    margin-left: 22px !important;
    margin-right: 0 !important;
}

/* ===== sahand gateway boxes half width right aligned - patch 37 ===== */
#paymentGatewaysContainer > div {
    text-align: right !important;
}
#paymentGatewaysContainer label.radio-inline {
    display: block !important;
    width: 50% !important;
    margin-left: auto !important;
    margin-right: 0 !important;
}

/* ===== sahand gateway boxes side by side - patch 38 ===== */
#paymentGatewaysContainer > div {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    justify-content: flex-start !important;
    text-align: right !important;
}
#paymentGatewaysContainer label.radio-inline {
    display: block !important;
    width: calc(50% - 6px) !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
}

/* ===== sahand gateway row centered - patch 39 ===== */
#paymentGatewaysContainer > div {
    justify-content: center !important;
}

/* ===== sahand gateway boxes inline side by side - patch 40 ===== */
#paymentGatewaysContainer {
    text-align: center !important;
}
#paymentGatewaysContainer label.radio-inline {
    display: inline-block !important;
    width: 46% !important;
    max-width: 340px !important;
    vertical-align: middle !important;
    float: none !important;
    margin: 0 6px 10px 6px !important;
}

/* ===== sahand gateway real row - patch 42 ===== */
.sh-gwrow {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 12px !important;
}
.sh-gwrow > * {
    flex: 0 0 auto !important;
    margin: 0 !important;
}

/* ===== sahand gateway row high specificity - patch 43 ===== */
div#paymentGatewaysContainer div.text-center.sh-gwrow {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 12px !important;
}
div#paymentGatewaysContainer div.sh-gwrow > label.radio-inline {
    flex: 1 1 0 !important;
    width: auto !important;
    max-width: 240px !important;
    min-width: 0 !important;
    margin: 0 !important;
}

/* ===== sahand gateway label content centered - patch 44 ===== */
div#paymentGatewaysContainer div.sh-gwrow > label.radio-inline {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    padding-right: 12px !important;
    padding-left: 12px !important;
    text-align: center !important;
}
div#paymentGatewaysContainer div.sh-gwrow > label.radio-inline > div {
    flex: 0 0 auto !important;
    margin: 0 !important;
}
div#paymentGatewaysContainer div.sh-gwrow label.radio-inline input.payment-methods {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* ==== Sahand - configureproduct patch 47 (OS tiles) ==== */
.sh-os-card{padding:16px 14px 12px}
.sh-os-label{margin:0 0 12px;font-weight:700;text-align:center;font-size:15px}
.sh-os-row{direction:rtl;display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;padding:4px 2px 12px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;justify-content:center!important}
#order-standard_cart .sh-os-row:has(> .sh-os-tile:nth-child(3)),.sh-os-row:has(> .sh-os-tile:nth-child(3)){justify-content:flex-start!important}
.sh-os-row::-webkit-scrollbar{height:6px}
.sh-os-row::-webkit-scrollbar-track{background:rgba(255,255,255,.06);border-radius:6px}
.sh-os-row::-webkit-scrollbar-thumb{background:rgba(170,170,170,.45);border-radius:6px}
.sh-os-tile{flex:0 0 132px;min-width:0;box-sizing:border-box;height:132px;scroll-snap-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:1px solid rgba(255,255,255,.10);border-radius:14px;background:#171717;cursor:pointer;transition:border-color .15s,background .15s}
.sh-os-tile:hover{border-color:rgba(255,255,255,.45)}
#order-standard_cart .sh-os-tile.is-selected,.sh-os-tile.is-selected{border-color:#ffffff;background:rgba(255,255,255,.10)!important}
.sh-os-logo{width:46px;height:46px;object-fit:contain;pointer-events:none}
.sh-os-name{font-size:13px;font-weight:600;line-height:1.4;text-align:center;pointer-events:none}
.sh-os-card .sh-op-sub{text-align:center;margin-top:2px}
@media (max-width:480px){.sh-os-tile{flex:0 0 118px;height:120px}.sh-os-logo{width:40px;height:40px}}

/* ==== Sahand - configureproduct patch 48 (panel shell) ==== */
.sh-op-section{background:#171717;border:1px solid rgba(255,255,255,.09);border-radius:18px;padding:14px 12px 16px;margin:0 0 18px}
.sh-op-head{display:flex;align-items:center;justify-content:center;gap:9px;border-bottom:1px solid rgba(255,255,255,.08);padding:2px 4px 12px;margin:0 0 14px}
.sh-op-head .sh-op-title{margin:0;font-size:16px;font-weight:800}
.sh-op-head .sh-op-num{flex:0 0 auto;width:26px;height:26px;line-height:26px;text-align:center;border-radius:50%;background:#ffffff;color:#060606;font-size:13px;font-weight:700}
.sh-op-card,.sh-op-optcard{background:#121212;border-color:rgba(255,255,255,.09)}
.sh-os-tile{background:#121212}
.sh-os-card{background:transparent;border:0;box-shadow:none;padding:0}
.sh-os-label{display:none}
.sh-op-section .sh-op-flagline{justify-content:center;margin:0 0 12px}
.sh-op-section>.sh-op-optcard,.sh-op-section>.sh-op-grid{margin-top:0}

/* ==== Sahand - configureproduct patch 49 (dark inner + big tiles) ==== */
.sh-op-optcard{background:#171717}
.sh-op-field input,.sh-op-field select,.sh-op-field textarea,.sh-op-optcard .form-control{background:#171717;border:1px solid rgba(255,255,255,.09);color:#e2e2e2}
.sh-op-chip{background:#171717;border:1px solid rgba(255,255,255,.08)}
.sh-op-sumcard{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
.sh-op-sumcard .summary-container,.sh-op-sumcard #producttotal{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important}
.sh-os-tile{flex:0 0 46%;min-width:150px;height:152px}
.sh-os-logo{width:58px;height:58px}
@media (max-width:480px){.sh-os-tile{min-width:140px;height:144px}.sh-os-logo{width:52px;height:52px}}

/* ==== Sahand - configureproduct patch 50 (logo fit fix) ==== */
.sh-os-logo{width:58px;height:58px;aspect-ratio:1/1;object-fit:contain;flex:0 0 auto}

/* ==== Sahand - configureproduct patch 51 (region + plan rows) ==== */
.sh-rg-row,.sh-pl-row{direction:rtl;display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;padding:4px 2px 12px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.sh-rg-row::-webkit-scrollbar,.sh-pl-row::-webkit-scrollbar{height:6px}
.sh-rg-row::-webkit-scrollbar-track,.sh-pl-row::-webkit-scrollbar-track{background:rgba(255,255,255,.06);border-radius:6px}
.sh-rg-row::-webkit-scrollbar-thumb,.sh-pl-row::-webkit-scrollbar-thumb{background:rgba(170,170,170,.45);border-radius:6px}
.sh-rg-card{flex:0 0 74%;min-width:228px;box-sizing:border-box;scroll-snap-align:center;background:#121212;border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:14px 12px;text-align:center}
#order-standard_cart .sh-rg-card.is-selected,.sh-rg-card.is-selected{border-color:#ffffff;background:rgba(255,255,255,.10)!important}
.sh-rg-top{display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;color:#e2e2e2}
.sh-rg-city{font-size:21px;font-weight:800;margin:8px 0 4px}
.sh-rg-meta{font-size:12px;color:#aaaaaa}
.sh-rg-bar{height:8px;border-radius:6px;background:rgba(255,255,255,.07);margin-top:12px;overflow:hidden}
.sh-rg-bar>span{display:block;height:100%;width:70%;border-radius:6px;background:#22C55E}
.sh-op-plan.sh-pl-card{flex:0 0 78%;min-width:248px;box-sizing:border-box;scroll-snap-align:center;margin:0;padding:14px 12px;border-radius:16px;background:#121212;border:1px solid rgba(255,255,255,.09);text-align:center;cursor:pointer}
#order-standard_cart .sh-op-plan.sh-pl-card.is-selected,.sh-op-plan.sh-pl-card.is-selected{border-color:#ffffff;background:rgba(255,255,255,.10)!important}
.sh-pl-name{font-size:17px;font-weight:800;margin-bottom:10px}
.sh-pl-specs{display:flex;flex-direction:column;gap:5px}
.sh-pl-spec{font-size:14px;color:#e2e2e2;line-height:1.5}
.sh-pl-sep{height:1px;background:rgba(255,255,255,.10);margin:12px 6px}
.sh-pl-amount{display:block;font-size:26px;font-weight:800}
.sh-pl-unit{font-size:12px;color:#aaaaaa}
#order-standard_cart .sh-op-section .sh-op-sub,.sh-op-section .sh-op-sub{text-align:center;color:#aaaaaa;font-size:12px;margin:2px 0 0;margin-top:14px!important}

/* ==== Sahand - configureproduct patch 52 (neutral dark + no nested box) ==== */
.sh-op-section{background:#101010;border:1px solid rgba(255,255,255,.08)}
.sh-op-card,.sh-op-optcard,.sh-os-tile,.sh-rg-card,.sh-op-plan.sh-pl-card{background:#0A0A0C;border-color:rgba(255,255,255,.09)}
#order-standard_cart .sh-op-card.is-selected,#order-standard_cart .sh-os-tile.is-selected,#order-standard_cart .sh-rg-card.is-selected,#order-standard_cart .sh-op-plan.sh-pl-card.is-selected,.sh-op-card.is-selected,.sh-os-tile.is-selected,.sh-rg-card.is-selected,.sh-op-plan.sh-pl-card.is-selected{border-color:#ffffff;background:rgba(255,255,255,.10)!important}
.sh-op-field input,.sh-op-field select,.sh-op-field textarea,.sh-op-optcard .form-control{background:#171717}
.sh-op-chip{background:#171717}
.sh-op-sumcard .summary-container,.sh-op-sumcard #producttotal{background:#171717}
.sh-op-optcard.sh-os-card{background:transparent;border:0;padding:0;box-shadow:none}
.sh-op-section .product-configurable-options,.sh-op-section #productConfigurableOptions{background:transparent;border:0;padding:0;box-shadow:none}
.sh-rg-card{flex:0 0 86%;min-width:278px;padding:18px 16px}
.sh-rg-top{font-size:15px}
.sh-rg-city{font-size:24px;margin:10px 0 5px}
.sh-rg-bar{margin-top:16px}
.sh-os-tile{height:158px}

/* ==== Sahand - configureproduct patch 53 (signup palette + os box back + bigger region) ==== */
.sh-op-section{background:#101010;border:1px solid rgba(255,255,255,.07)}
.sh-op-card,.sh-op-optcard,.sh-rg-card,.sh-op-plan.sh-pl-card{background:#171717;border-color:rgba(255,255,255,.08)}
#order-standard_cart .sh-op-card.is-selected,#order-standard_cart .sh-rg-card.is-selected,#order-standard_cart .sh-op-plan.sh-pl-card.is-selected,.sh-op-card.is-selected,.sh-rg-card.is-selected,.sh-op-plan.sh-pl-card.is-selected{border-color:#ffffff;background:rgba(255,255,255,.10)!important}
.sh-op-field input,.sh-op-field select,.sh-op-field textarea,.sh-op-optcard .form-control{background:#171717}
.sh-op-chip{background:#171717}
.sh-op-sumcard .summary-container,.sh-op-sumcard #producttotal{background:#171717}
.sh-op-optcard.sh-os-card{background:#171717;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:14px 12px;box-shadow:none}
.sh-op-section .product-configurable-options,.sh-op-section #productConfigurableOptions{background:transparent;border:0;padding:0;box-shadow:none;margin-bottom:0!important;padding-bottom:0!important}
.sh-os-tile{background:#101010;border-color:rgba(255,255,255,.09)}
#order-standard_cart .sh-os-tile.is-selected,.sh-os-tile.is-selected{border-color:#ffffff;background:rgba(255,255,255,.10)!important}
.sh-rg-card{flex:0 0 92% !important;min-width:300px !important;padding:22px 18px}
.sh-rg-top{font-size:16px}
.sh-rg-city{font-size:27px;margin:12px 0 6px}
.sh-rg-meta{font-size:13px}
.sh-rg-bar{height:10px;margin-top:20px}

/* ==== Sahand - configureproduct patch 54 (darker + full-width region card) ==== */
.sh-op-section{background:#101010}
.sh-op-card,.sh-op-optcard,.sh-rg-card,.sh-op-plan.sh-pl-card{background:#121212}
#order-standard_cart .sh-op-card.is-selected,#order-standard_cart .sh-rg-card.is-selected,#order-standard_cart .sh-op-plan.sh-pl-card.is-selected,.sh-op-card.is-selected,.sh-rg-card.is-selected,.sh-op-plan.sh-pl-card.is-selected{border-color:#ffffff;background:rgba(255,255,255,.10)!important}
.sh-op-field input,.sh-op-field select,.sh-op-field textarea,.sh-op-optcard .form-control{background:#171717}
.sh-op-chip{background:#171717}
.sh-op-sumcard .summary-container,.sh-op-sumcard #producttotal{background:#171717}
.sh-op-optcard.sh-os-card{background:#121212}
.sh-os-tile{background:#101010}
#order-standard_cart .sh-os-tile.is-selected,.sh-os-tile.is-selected{border-color:#ffffff;background:rgba(255,255,255,.10)!important}
.sh-op-section .sh-rg-row{padding-left:0;padding-right:0}
.sh-op-section .sh-rg-card{flex:0 0 100% !important;min-width:100% !important;padding:26px 20px;min-height:200px;display:flex;flex-direction:column;justify-content:center}
.sh-rg-top{font-size:17px}
.sh-rg-city{font-size:31px;margin:14px 0 7px}
.sh-rg-meta{font-size:14px}
.sh-rg-bar{height:12px;margin-top:24px}

/* ==== Sahand - configureproduct patch 55 (darker + region size revert + center single) ==== */
.sh-op-section{background:#060606}
.sh-op-card,.sh-op-optcard,.sh-rg-card,.sh-op-plan.sh-pl-card{background:#101010}
#order-standard_cart .sh-op-card.is-selected,#order-standard_cart .sh-rg-card.is-selected,#order-standard_cart .sh-op-plan.sh-pl-card.is-selected,.sh-op-card.is-selected,.sh-rg-card.is-selected,.sh-op-plan.sh-pl-card.is-selected{border-color:#ffffff;background:rgba(255,255,255,.10)!important}
.sh-op-field input,.sh-op-field select,.sh-op-field textarea,.sh-op-optcard .form-control{background:#171717}
.sh-op-chip{background:#171717}
.sh-op-sumcard .summary-container,.sh-op-sumcard #producttotal{background:#171717}
.sh-op-optcard.sh-os-card{background:#101010}
.sh-os-tile{background:#060606}
#order-standard_cart .sh-os-tile.is-selected,.sh-os-tile.is-selected{border-color:#ffffff;background:rgba(255,255,255,.10)!important}
.sh-op-section .sh-rg-card{flex:0 0 92% !important;min-width:300px !important;padding:22px 18px;min-height:0}
.sh-rg-top{font-size:16px}
.sh-rg-city{font-size:27px;margin:12px 0 6px;margin-top:9px;margin-bottom:18px;line-height:1.35}
.sh-rg-meta{font-size:13px}
.sh-rg-bar{height:10px;margin-top:20px}
.sh-rg-card:only-child,.sh-op-plan.sh-pl-card:only-child,.sh-os-tile:only-child{margin-right:auto;margin-left:auto}

/* ==== Sahand - configureproduct patch 56 (darker + root password card) ==== */
.sh-op-section{background:#060606}
.sh-op-card,.sh-op-optcard,.sh-rg-card,.sh-op-plan.sh-pl-card{background:#101010}
#order-standard_cart .sh-op-card.is-selected,#order-standard_cart .sh-rg-card.is-selected,#order-standard_cart .sh-op-plan.sh-pl-card.is-selected,.sh-op-card.is-selected,.sh-rg-card.is-selected,.sh-op-plan.sh-pl-card.is-selected{border-color:#ffffff;background:rgba(255,255,255,.10)!important}
.sh-op-field input,.sh-op-field select,.sh-op-field textarea,.sh-op-optcard .form-control{background:#171717}
.sh-op-chip{background:#171717}
.sh-op-sumcard .summary-container,.sh-op-sumcard #producttotal{background:#171717}
.sh-op-optcard.sh-os-card{background:#101010}
.sh-os-tile{background:#060606}
#order-standard_cart .sh-os-tile.is-selected,.sh-os-tile.is-selected{border-color:#ffffff;background:rgba(255,255,255,.10)!important}
.sh-op-pwcard{background:#101010;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:16px 14px;margin:14px 0}
.sh-op-pwlabel{display:block;font-size:14px;color:#aaaaaa;margin-bottom:9px}
.sh-op-pwinput{display:block;width:100%;box-sizing:border-box;background:#171717;border:1px solid rgba(255,255,255,.10);border-radius:12px;color:#e2e2e2;font-size:16px;letter-spacing:.4px;padding:13px 14px;text-align:center}
.sh-op-pwinput:focus{outline:none;border-color:#ffffff}
.sh-op-pwhint{margin:9px 0 0;font-size:12px;color:#aaaaaa;line-height:1.8;text-align:center}

/* ==== Sahand - configureproduct patch 57 (one more step darker) ==== */
.sh-op-section{background:#060606;border-color:rgba(255,255,255,.10)}
.sh-op-card,.sh-op-optcard,.sh-rg-card,.sh-op-plan.sh-pl-card{background:#060606;border-color:rgba(255,255,255,.12)}
#order-standard_cart .sh-op-card.is-selected,#order-standard_cart .sh-rg-card.is-selected,#order-standard_cart .sh-op-plan.sh-pl-card.is-selected,.sh-op-card.is-selected,.sh-rg-card.is-selected,.sh-op-plan.sh-pl-card.is-selected{border-color:#ffffff;background:rgba(255,255,255,.10)!important}
.sh-op-field input,.sh-op-field select,.sh-op-field textarea,.sh-op-optcard .form-control{background:#171717;border-color:rgba(255,255,255,.12)}
.sh-op-chip{background:#171717}
.sh-op-sumcard .summary-container,.sh-op-sumcard #producttotal{background:#171717}
.sh-op-optcard.sh-os-card{background:#060606;border-color:rgba(255,255,255,.12)}
.sh-os-tile{background:#060606;border-color:rgba(255,255,255,.12)}
#order-standard_cart .sh-os-tile.is-selected,.sh-os-tile.is-selected{border-color:#ffffff;background:rgba(255,255,255,.10)!important}
.sh-op-pwcard{background:#060606;border-color:rgba(255,255,255,.12)}
.sh-op-pwinput{background:#171717;border-color:rgba(255,255,255,.12)}

/* ==== Sahand - configureproduct patch 58 (one step lighter) ==== */
.sh-op-section{background:#060606;border-color:rgba(255,255,255,.09)}
.sh-op-card,.sh-op-optcard,.sh-rg-card,.sh-op-plan.sh-pl-card{background:#101010;border-color:rgba(255,255,255,.11)}
#order-standard_cart .sh-op-card.is-selected,#order-standard_cart .sh-rg-card.is-selected,#order-standard_cart .sh-op-plan.sh-pl-card.is-selected,.sh-op-card.is-selected,.sh-rg-card.is-selected,.sh-op-plan.sh-pl-card.is-selected{border-color:#ffffff;background:rgba(255,255,255,.10)!important}
.sh-op-field input,.sh-op-field select,.sh-op-field textarea,.sh-op-optcard .form-control{background:#171717;border-color:rgba(255,255,255,.11)}
.sh-op-chip{background:#171717}
.sh-op-sumcard .summary-container,.sh-op-sumcard #producttotal{background:#171717}
.sh-op-optcard.sh-os-card{background:#101010;border-color:rgba(255,255,255,.11)}
.sh-os-tile{background:#060606;border-color:rgba(255,255,255,.11)}
#order-standard_cart .sh-os-tile.is-selected,.sh-os-tile.is-selected{border-color:#ffffff;background:rgba(255,255,255,.10)!important}
.sh-op-pwcard{background:#060606;border-color:rgba(255,255,255,.10)}
#order-standard_cart .sh-op-pwinput,.sh-op-pwinput{background:#171717;border-color:rgba(255,255,255,.11);direction:ltr!important;text-align:left!important;unicode-bidi:plaintext!important;padding:8px 12px!important;font-size:13.5px!important;height:42px!important;line-height:1.2!important;letter-spacing:.2px}

/* ==== Sahand - configureproduct patch 59 (badge titles, no numbers) ==== */
.sh-op-head{display:flex;justify-content:center;align-items:center;gap:0;text-align:center}
.sh-op-num{display:none !important}
.sh-op-title{display:block;width:100%;margin:0 auto;padding:0;text-align:center;font-size:16px;font-weight:800}

/* ==== Sahand - configureproduct patch 60 (framed sections) ==== */
.sh-op-section{background:#101010;border:1px solid rgba(255,255,255,.35);border-radius:20px;padding:16px 14px 20px;margin:0 0 22px;box-shadow:0 2px 14px rgba(0,0,0,.35)}
.sh-op-head{display:flex;justify-content:center;align-items:center;border-bottom:0;padding-bottom:0;margin:0 0 16px}
.sh-op-title{display:block;width:100%;margin:0 auto;padding:0;text-align:center;font-size:16px;font-weight:800}
#order-standard_cart .sh-op-card,#order-standard_cart .sh-rg-card,#order-standard_cart .sh-op-plan.sh-pl-card,.sh-op-card,.sh-rg-card,.sh-op-plan.sh-pl-card{background:#060606!important}
#order-standard_cart .sh-os-tile,.sh-os-tile{background:#060606!important}
#order-standard_cart .sh-op-card.is-selected,#order-standard_cart .sh-rg-card.is-selected,#order-standard_cart .sh-op-plan.sh-pl-card.is-selected,#order-standard_cart .sh-os-tile.is-selected,.sh-op-card.is-selected,.sh-rg-card.is-selected,.sh-op-plan.sh-pl-card.is-selected,.sh-os-tile.is-selected{border-color:#ffffff;background:rgba(255,255,255,.10)!important}
.sh-op-optcard.sh-os-card{background:transparent;border:0;padding:0;box-shadow:none;margin-bottom:0!important;padding-bottom:0!important}
.sh-op-optcard{background:#060606;border-color:rgba(255,255,255,.12);margin-bottom:0!important}
/* patch 74 - visible soft panel */
.sh-op-section{background:#171717;border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:16px 14px 20px;margin:0 0 22px;box-shadow:none}
/* patch 75 - undo display:contents on order sections only */
div.sh-op-section[data-sahand-scroll="1"]{display:block!important}
div.sh-op-section{display:block}
/* patch 85 - native section panel on fresh class */
#order-standard_cart .sh-panel,.sh-panel{background:#101010!important;background-color:#101010!important;border:1px solid rgba(255,255,255,.09)!important;border-radius:18px!important;padding:16px 14px 20px!important;margin:0 0 22px!important}
/* patch 93 - circular country flag + status link */
.sh-rg-flag{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#121212;font-size:15px;line-height:1;flex:0 0 auto}
.sh-rg-status{color:#aaaaaa;text-decoration:none;border-bottom:1px dotted rgba(255,255,255,.25)}
.sh-rg-status:hover{color:#ffffff}
/* patch 103 - root password visibility toggle */
#order-standard_cart .sh-op-pwrow,.sh-op-pwrow{display:flex!important;flex-direction:row-reverse!important;align-items:center!important;gap:8px!important}
#order-standard_cart .sh-op-pwrow .sh-op-pwinput,.sh-op-pwrow .sh-op-pwinput{flex:1 1 auto!important;width:auto!important;margin:0!important}
#order-standard_cart .sh-op-pwtoggle,.sh-op-pwtoggle{flex:0 0 auto!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:42px!important;height:42px!important;margin:0!important;padding:0!important;background:#121212!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:10px!important;color:#aaaaaa!important;cursor:pointer}
#order-standard_cart .sh-op-pwtoggle.is-off,.sh-op-pwtoggle.is-off{color:#171717!important}

/* SH_CDN_STEPS */
#order-standard_cart .sh-cdn-steps{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
#order-standard_cart .sh-cdn-step{padding:14px!important;text-align:right!important}
#order-standard_cart .sh-cdn-step-t{margin:0 0 6px!important;font-weight:700!important;font-size:15px!important;color:#fff!important}
#order-standard_cart .sh-cdn-step .sh-op-sub{margin:0!important}
#order-standard_cart .sh-cdn-ns{margin-top:6px!important;color:#f8f8f8!important;font-size:13px!important}
@media (min-width:900px){#order-standard_cart .sh-cdn-steps{grid-template-columns:repeat(3,1fr)!important}}

/* SH_CDN_FLAT */
#order-standard_cart .sh-op-flat{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important}

/* SH_CDN_PH */
#order-standard_cart .sh-op-flat input::placeholder{color:#aaaaaa!important;opacity:1!important;letter-spacing:.2px!important}
#order-standard_cart .sh-op-flat input::-webkit-input-placeholder{color:#aaaaaa!important;opacity:1!important}

/* SH_CDN_NSBOX2 */
#order-standard_cart .sh-cdn-nsbox{background:rgba(255,255,255,.08)!important;border:1px solid #ffffff!important;border-radius:14px!important;padding:14px 14px 8px!important;margin:14px 0 0!important}
#order-standard_cart .sh-cdn-nsbox .sh-cdn-nsbox-t{margin:0 0 6px!important;font-weight:700!important;font-size:15px!important;color:#fff!important;text-align:right!important}
#order-standard_cart .sh-cdn-nsbox .sh-cdn-nsbox-s{margin:0 0 10px!important;font-size:13px!important;color:#aaaaaa!important;text-align:right!important}
#order-standard_cart .sh-cdn-nsbox .sh-cdn-nschips{text-align:right!important}
#order-standard_cart .sh-cdn-nsbox .sh-cdn-nschip{display:inline-block!important;background:#060606!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:10px!important;padding:8px 12px!important;margin:0 0 8px 0!important;color:#aaaaaa!important;font-size:14px!important;font-family:monospace!important}

/* SH_CDN_NSBOX3 */
#order-standard_cart .sh-cdn-nsbox{background:rgba(255,255,255,.08)!important;border:1px solid #ffffff!important;border-radius:14px!important;padding:16px 14px 10px!important;margin:0 0 22px!important}
#order-standard_cart .sh-cdn-nsbox .sh-cdn-nschip{display:inline-block!important;width:auto!important;margin:0 0 8px 0!important}
#order-standard_cart .sh-op-field input::placeholder{font-family:monospace!important;letter-spacing:1px!important;font-size:15px!important}

/* SH_CDN_NSBOX4 */
#order-standard_cart .sh-op-field label:empty{display:none!important}
#order-standard_cart .sh-cdn-nschips{display:block!important;text-align:right!important}
#order-standard_cart .sh-cdn-nschip{display:inline-block!important;width:auto!important;background:#060606!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:10px!important;padding:8px 12px!important;margin:0 8px 8px 0!important;color:#aaaaaa!important;font-size:14px!important;font-family:monospace!important}

/* SH_CDN_NSBOX5 */
#order-standard_cart .sh-cdn-nschip{padding:6px 10px!important;margin:0 6px 8px 6px!important;font-size:13px!important;border-radius:9px!important;line-height:1.5!important}
#order-standard_cart .sh-cdn-nschips{margin:0 -6px!important}

/* SH_CDN_NSBOX6 */
#order-standard_cart .sh-cdn-nsbox .sh-cdn-nschips .sh-cdn-nschip{display:inline-block!important;width:auto!important;padding:6px 10px!important;margin:0 6px 8px 6px!important;font-size:13px!important;border-radius:9px!important;line-height:1.5!important}
#order-standard_cart .sh-cdn-nsbox .sh-cdn-nschips{margin:0 -6px!important}

/* SH_WHIDDEN */
.w-hidden{display:none!important}
#order-standard_cart .w-hidden{display:none!important}
#order-standard_cart div.w-hidden{display:none!important}

/* SH_WALLETBOX */
#order-standard_cart #applyCreditContainer{background:#101010!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:14px!important;padding:16px 14px 10px!important;margin:0 0 22px!important}
#order-standard_cart #applyCreditContainer p{color:#fff!important;font-size:14px!important;margin:0 0 10px!important}
#order-standard_cart #applyCreditContainer label.radio{display:block!important;margin:0 0 10px!important;padding:0!important;color:#aaaaaa!important;font-size:13px!important;line-height:1.9!important}

/* SH_SVC_SWAP */
.sh-svc-meta .plan{direction:rtl!important;letter-spacing:normal!important;word-spacing:normal!important;font-family:inherit!important;color:#aaaaaa!important;font-size:13px!important}

/* SH_SVC_DOMFONT */
.sh-svc .sh-svc-top b .dom{font-family:var(--mono)!important;color:#FFFFFF!important;font-size:14.5px!important;font-weight:700!important;letter-spacing:normal!important}

/* SH_LOGIN_FIX */
.login-form .input-group-merge .form-control{height:44px!important;min-height:44px!important;padding-top:0!important;padding-bottom:0!important;text-align:right!important;padding-inline-start:12px!important}
.login-form .input-group-merge .input-group-text{height:44px!important;display:flex!important;align-items:center!important}
.login-form .input-group-merge .btn-reveal-pw{height:44px!important;padding-top:0!important;padding-bottom:0!important;display:flex!important;align-items:center!important}
/* SH_LOGIN_EMAIL_BIDI */
.login-form #inputEmail{unicode-bidi:-webkit-plaintext!important;unicode-bidi:plaintext!important;text-align:right!important;padding-inline-start:12px!important;padding-inline-end:12px!important}
.login-form .card-footer{display:flex!important;align-items:baseline!important;gap:8px!important;flex-wrap:wrap!important}

/* SH_LOGIN_FIX2 */
.login-form #inputPassword{padding-inline-start:12px!important;padding-inline-end:12px!important}
.login-form .card-footer{padding-top:6px!important;padding-bottom:18px!important}

/* SH_REG_PWCLEAN */
form[name=orderfrm] .generate-password{display:none!important}
form[name=orderfrm] .password-strength-meter .progress{display:none!important}

/* SH_REG_PWGAP */
form[name=orderfrm] #containerPassword .form-group:not(.prepend-icon){display:none!important}

/* SH_REG_PWGAP2 */
form[name=orderfrm] #containerPassword>div:nth-child(3) .form-group{margin-bottom:8px!important}

/* SH_REG_PWGAP3 */
form[name=orderfrm] #passwordStrengthTextLabel{margin-top:0!important;margin-bottom:0!important}

/* SH_REG_PWGAP4 */
form[name=orderfrm] #containerPassword>div:nth-child(3) .form-group{margin-bottom:0!important}
form[name=orderfrm] .password-strength-meter{margin-top:0!important;padding-top:0!important}

/* SH_REG_PWGAP5 */
form[name=orderfrm] #containerPassword .password-strength-meter{margin-top:-10px!important;margin-bottom:-6px!important}

/* SH_REG_NOOPTIN */
form[name=orderfrm] .sh-optin-card{display:none!important}

/* SH_REG_SUBMITGAP2 */
#registration input.btn.btn-primary.sh-submit-btn{margin-top:40px!important}

/* SH_INV_CARDS */
.sh-inv-filters{display:flex;gap:8px;margin:0 0 14px}
.sh-inv-fbtn{background:#171717;color:#aaaaaa;border:1px solid #171717;border-radius:999px;padding:8px 14px;font-size:13px}
.sh-inv-fbtn.on{background:#ffffff;color:#060606;border-color:#060606}
.sh-inv-list{display:flex;flex-direction:column;gap:12px}
.sh-inv-card{display:block;background:#121212;border:1px solid #171717;border-radius:16px;padding:16px;text-decoration:none}
.sh-inv-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.sh-inv-num{color:#e2e2e2;font-size:14px;font-weight:700}
.sh-inv-chip{border-radius:999px;padding:4px 10px;font-size:12px;background:#171717;color:#e2e2e2}
.sh-inv-chip.st-paid{background:#123a24;color:#57d68b}
.sh-inv-chip.st-unpaid{background:#3a1a1a;color:#ff8a8a}
.sh-inv-amt{color:#fff;font-size:20px;font-weight:800;margin-bottom:8px}
.sh-inv-meta{color:#aaaaaa;font-size:13px;line-height:1.9}
.sh-inv-empty{text-align:center;padding:44px 20px;background:#121212;border:1px solid #171717;border-radius:16px}
.sh-inv-empty h3{color:#e2e2e2;font-size:17px;margin:0 0 8px}
.sh-inv-empty p{color:#aaaaaa;font-size:14px;margin:0}

/* SH_QT_CARDS */
.sh-qt-title{display:block;color:#e2e2e2;font-size:15px;font-weight:700;text-decoration:none;margin:0 0 8px}
.sh-qt-dl{margin:14px 0 0}
.sh-qt-dlbtn{background:#171717;color:#e2e2e2;border:1px solid #171717;border-radius:12px;padding:10px 16px;font-size:13px;width:100%}

/* SH_TK_CARDS */
.sh-tk-new{display:block;background:#ffffff;color:#060606;text-align:center;text-decoration:none;border-radius:14px;padding:13px 0;font-size:14px;font-weight:700;margin:0 0 14px}
.sh-tk-title{color:#e2e2e2;font-size:15px;font-weight:700;margin:0 0 8px;line-height:1.7}
.sh-tk-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ffffff;margin-inline-end:8px}
.sh-inv-chip.st-Open{background:#3a2a12;color:#ffbf6b}
.sh-inv-chip.st-Answered{background:#123a24;color:#57d68b}
.sh-inv-chip.st-Closed{background:#171717;color:#aaaaaa}

/* SH_TK_CARDS2 */
.sh-tk-top{align-items:flex-start}
/* SH_TK_TITLE_RTL */
.sh-tk-top .sh-tk-title{margin:0;flex:1 1 auto;min-width:0;line-height:1.6;text-align:right}
.sh-tk-top .sh-inv-chip{flex:0 0 auto;white-space:nowrap}
/* SH_TK_NUM_RTL */
.sh-tk-num{margin:10px 0 0;color:#aaaaaa;font-size:12.5px;font-weight:400;font-family:inherit;line-height:1.9;direction:rtl;text-align:right}
.sh-tk-tid{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#e2e2e2;font-weight:700;direction:ltr;unicode-bidi:plaintext;display:inline-block;margin-inline-start:5px}

/* SH_INV_AMTRTL */
.sh-inv-card .sh-inv-amt{text-align:right}

/* SH_EM_CARDS */
.sh-em-subj{color:#e2e2e2;font-size:15px;font-weight:700;line-height:1.7;text-align:right;margin:0 0 8px}

/* SH_KB_CARDS */
.sh-kb-search{display:flex;gap:8px;margin:0 0 14px}
.sh-kb-input{flex:1 1 auto;min-width:0;background:#171717;color:#e2e2e2;border:1px solid #171717;border-radius:14px;padding:12px 14px;font-size:14px;font-family:inherit;text-align:right}
.sh-kb-input::placeholder{color:#aaaaaa}
/* SH_KB_ICON */
.sh-kb-btn{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:48px;background:#ffffff;color:#060606;border:0;border-radius:14px;padding:0;font-family:inherit}
.sh-kb-ico{display:block}
.sh-kb-name{flex:1 1 auto;min-width:0;color:#e2e2e2;font-size:15px;font-weight:700;line-height:1.7;text-align:right}
.sh-kb-poptitle{color:#e2e2e2;font-size:15px;font-weight:700;margin:18px 0 10px;text-align:right}

/* SH_ANN_CARDS */
.sh-ann-card{text-align:right}
.sh-ann-title{display:block;color:#e2e2e2;font-size:17px;font-weight:800;line-height:1.7;text-decoration:none;unicode-bidi:plaintext}
.sh-ann-date{display:block;color:#aaaaaa;font-size:13px;margin:8px 0 0;text-align:right;unicode-bidi:plaintext}
.sh-ann-body{color:#e2e2e2;font-size:14px;line-height:1.9;margin:10px 0 0;unicode-bidi:plaintext}
.sh-ann-more{display:inline-block;margin:14px 0 0;background:#171717;color:#e2e2e2;border:1px solid #171717;border-radius:12px;padding:9px 14px;font-size:13px;text-decoration:none}

/* SH_UNPAID_CARD */
.sh-unpaid{background:#121212;border:1px solid #3a2a12;border-radius:16px;padding:16px;margin:0 0 16px;text-align:right}
.sh-unpaid-msg{color:#ffcf87;font-size:14px;line-height:1.9;unicode-bidi:plaintext}
.sh-unpaid-btn{display:block;margin:14px 0 0;background:#ffffff;color:#060606;text-align:center;text-decoration:none;border-radius:14px;padding:12px 0;font-size:14px;font-weight:700}
.sh-unpaid-due{border-color:#3a1a1a}
.sh-unpaid-due .sh-unpaid-msg{color:#ff8a8a}
/* SH_UNPAID_CENTER */
.sh-unpaid .sh-unpaid-msg{text-align:center}

/* SH_INVFEE: display-only gateway fee row on the invoice */
.sh-invfee td{font-size:12.5px!important;color:var(--muted)!important}
.sh-invfee td strong{font-weight:600!important;color:var(--muted)!important}

/* SH_TKV: view ticket page v2 */
.sh-tkv-note{background:#171717;border:1px solid #171717;border-radius:12px;padding:12px 14px;margin:0 0 12px;font-size:13px;line-height:1.9;color:#e2e2e2;text-align:center}
.sh-tkv-note.bad{border-color:#4a2020;color:#ff8a8a}
.sh-tkv-card{background:#171717;border:1px solid #171717;border-radius:16px;padding:16px;margin:0 0 12px}
.sh-tkv-hrow{display:flex;align-items:center;justify-content:space-between;gap:10px}
.sh-tkv-tid{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;color:#aaaaaa;direction:ltr;unicode-bidi:plaintext}
.sh-tkv-chip{flex:0 0 auto;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid #171717;background:#171717;color:#e2e2e2}
.sh-tkv-chip.closed{background:#3a1a1a;border-color:#4a2020;color:#ff8a8a}
.sh-tkv-chip.open{background:#123a24;border-color:#17492d;color:#57d68b}
.sh-tkv-subj{font-size:16px;font-weight:800;color:#e2e2e2;line-height:1.8;margin:10px 0 0}
.sh-tkv-acts{display:flex;gap:10px;margin:14px 0 0}
.sh-tkv-btn{flex:1 1 auto;text-align:center;border:1px solid #171717;background:#171717;color:#e2e2e2;border-radius:12px;padding:11px 0;font-size:13.5px;font-weight:700;font-family:inherit;cursor:pointer}
.sh-tkv-btn.primary{background:#ffffff;border-color:#060606;color:#060606}
.sh-tkv-btn.danger{background:transparent;border-color:#4a2020;color:#ff8a8a}
.sh-tkv-btn.ghost{background:transparent}
.sh-tkv-btn.wide{width:100%;flex:none;display:block}
.sh-tkv-msg{background:#171717;border:1px solid #171717;border-radius:16px;padding:14px 16px;margin:0 0 12px}
.sh-tkv-msg.staff{background:#171717;border-color:#171717}
.sh-tkv-mhead{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:0 0 10px;border-bottom:1px solid #171717}
.sh-tkv-mhead .who{font-size:13.5px;font-weight:700;color:#e2e2e2}
.sh-tkv-mhead .when{font-size:12px;color:#aaaaaa;direction:ltr;unicode-bidi:plaintext}
.sh-tkv-mbody{font-size:14px;line-height:2;color:#e2e2e2;padding:12px 0 0;word-break:break-word}
.sh-tkv-ip{margin:12px 0 0;padding:10px 0 0;border-top:1px solid #171717;font-size:12px;color:#aaaaaa}
.sh-tkv-ip .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;direction:ltr;unicode-bidi:plaintext}
.sh-tkv-att{margin:12px 0 0;padding:10px 0 0;border-top:1px solid #171717;font-size:12.5px;color:#aaaaaa}
.sh-tkv-att ul{list-style:none;margin:8px 0 0;padding:0}
.sh-tkv-att li{margin:0 0 6px}
.sh-tkv-att a{color:#ffffff;text-decoration:none}
.sh-tkv-att .gone{color:#aaaaaa;text-decoration:line-through}
.sh-tkv-rate{margin:12px 0 0;padding:10px 0 0;border-top:1px solid #171717}
.sh-tkv-h2{font-size:14px;font-weight:700;color:#e2e2e2;margin:0 0 12px}
.sh-tkv-hint{margin:8px 0 0;font-size:11.5px;color:#aaaaaa;line-height:1.9}
.sh-tkv-submit{display:flex;flex-direction:column;gap:10px;margin:14px 0 0}
#ticketReplyContainer label{display:block;font-size:13px;color:#aaaaaa;margin-bottom:8px}
#ticketReplyContainer .form-group{margin-bottom:14px}
/* SH_TKV_END */

/* SH_TKS: new ticket form v2 */
.sh-tks-card{background:#171717;border:1px solid #171717;border-radius:16px;padding:16px;margin:0 0 12px}
.sh-tks-h2{font-size:15px;font-weight:800;color:#e2e2e2;margin:0 0 14px;line-height:1.8}
.sh-tks-note{background:#171717;border:1px solid #4a2020;border-radius:12px;padding:12px 14px;margin:0 0 14px;font-size:13px;line-height:1.9;color:#ff8a8a}
.sh-tks-f{margin:0 0 14px}
.sh-tks-f label{display:block;font-size:13px;color:#aaaaaa;margin:0 0 8px}
.sh-tks-hint{margin:8px 0 0;font-size:11.5px;color:#aaaaaa;line-height:1.9}
.sh-tks-cap{margin:14px 0 0;text-align:center}
.sh-tks-submit{display:flex;flex-direction:column;gap:10px;margin:16px 0 0}
.sh-tks-btn{display:block;width:100%;text-align:center;border:1px solid #171717;background:#171717;color:#e2e2e2;border-radius:12px;padding:12px 0;font-size:14px;font-weight:700;font-family:inherit;cursor:pointer;text-decoration:none}
.sh-tks-btn.primary{background:#ffffff;border-color:#060606;color:#060606}
.sh-tks-btn.ghost{background:transparent}
.sh-tks-btn:hover,.sh-tks-btn:focus{text-decoration:none}
.sh-tks-btn.ghost:hover{color:#e2e2e2}
.sh-tks-submit .sh-tks-btn,.sh-tkv-submit .sh-tkv-btn{text-align:center!important}
/* SH_TKS_END */
/* SH_SIDEBRAND p316 */
.sh-sheet .brand .sh-logo-sheet{height:30px;width:auto;display:block;flex:0 0 auto}

/* SH_P371_EYE */
.input-group-append .btn-reveal-pw,.btn-reveal-pw{background:transparent!important;border:0!important;box-shadow:none!important;color:#aaaaaa!important;padding:0 12px!important}
.input-group-append .btn-reveal-pw i,.btn-reveal-pw i{color:#aaaaaa!important;font-size:15px!important}
.input-group-append .btn-reveal-pw:hover,.btn-reveal-pw:hover,.input-group-append .btn-reveal-pw:hover i,.btn-reveal-pw:hover i{color:#f8f8f8!important}

/* ===== p466: order form plan list, sahand vps module palette (sv2) ===== */
/* sv2 tokens: bg #070707  panel #101010  panel2 #151515  line #1e1e1e
   hair #262626  text #f6f6f6  muted #8b8b8b  accent #ffffff  ok #4b9d55   */
.sh-pl2{direction:rtl}
.sh-pl2-switch{display:flex;gap:6px;background:#151515;border:1px solid #262626;border-radius:14px;padding:5px;margin:0 0 14px}
.sh-pl2-sw{flex:1 1 0;display:flex;align-items:center;justify-content:center;gap:8px;background:transparent;border:0;border-radius:11px;color:#8b8b8b;font:inherit;font-size:13.5px;font-weight:700;padding:9px 6px;cursor:pointer;transition:background .15s,color .15s}
.sh-pl2-sw i{width:15px;height:15px;border-radius:50%;border:1.5px solid #3a3a3a;display:inline-block;position:relative;flex:0 0 auto}
.sh-pl2-sw.is-on{background:rgba(255,255,255,.07);color:#f6f6f6}
.sh-pl2-sw.is-on i{border-color:#ffffff}
.sh-pl2-sw.is-on i:after{content:'';position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:#ffffff}
.sh-pl2-head{display:flex;align-items:baseline;justify-content:space-between;color:#8b8b8b;font-size:12px;font-weight:700;padding:0 14px 8px}
.sh-pl2-list{display:flex;flex-direction:column;gap:10px}
#order-standard_cart .sh-op-card.sh-pl2-row,.sh-op-card.sh-pl2-row{display:block;width:100%;min-width:0;margin:0;padding:13px 14px;border-radius:16px;background:#101010!important;border:1px solid #262626!important;text-align:right!important;cursor:pointer;position:relative;transition:border-color .15s,background .15s}
#order-standard_cart .sh-op-card.sh-pl2-row:hover,.sh-op-card.sh-pl2-row:hover{border-color:#4a4a4a!important}
#order-standard_cart .sh-op-card.sh-pl2-row.is-selected,.sh-op-card.sh-pl2-row.is-selected{border-color:#f6f6f6!important;background:rgba(255,255,255,.07)!important;box-shadow:none}
.sh-pl2-line{display:flex;align-items:center;gap:10px}
.sh-pl2-tick{width:19px;height:19px;border-radius:50%;border:1.5px solid #3a3a3a;flex:0 0 auto;position:relative}
.sh-pl2-row.is-selected .sh-pl2-tick{border-color:#ffffff;background:#ffffff}
.sh-pl2-row.is-selected .sh-pl2-tick:after{content:'';position:absolute;top:4px;right:4.5px;width:9px;height:5px;border:2px solid #070707;border-top:0;border-right:0;transform:rotate(-45deg)}
.sh-pl2-name{font-size:15.5px;font-weight:800;color:#f6f6f6;letter-spacing:.3px;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sh-pl2-price{flex:0 0 auto;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:1px}
.sh-pl2-amount{font-size:19px;font-weight:800;color:#f6f6f6;font-variant-numeric:tabular-nums}
.sh-pl2-unit{font-style:normal;font-size:11px;font-weight:600;color:#8b8b8b}
.sh-pl2-specs{display:flex;flex-wrap:wrap;gap:4px 8px;margin:10px 0 0;padding:9px 11px;background:#151515;border:1px solid #1e1e1e;border-radius:11px}
.sh-pl2-specs span{font-size:12px;color:#8b8b8b;line-height:1.5}
.sh-pl2-specs span+span:before{content:'\2022';margin-left:8px;margin-right:0;color:#3a3a3a}
/* sales closed: grey, quiet, unclickable */
#order-standard_cart .sh-op-card.sh-pl2-row.is-off,.sh-op-card.sh-pl2-row.is-off{background:#0d0d0d!important;border-color:#1e1e1e!important;cursor:not-allowed;opacity:.5;filter:grayscale(1)}
.sh-pl2-row.is-off .sh-pl2-name,.sh-pl2-row.is-off .sh-pl2-amount{color:#8b8b8b}
.sh-pl2-row.is-off .sh-pl2-tick{border-color:#2a2a2a;background:transparent}
.sh-pl2-row.is-off .sh-pl2-tick:after{display:none}
.sh-pl2-off{position:absolute;top:11px;left:13px;font-size:10.5px;font-weight:700;color:#8b8b8b;background:rgba(255,255,255,.06);border:1px solid #262626;border-radius:999px;padding:2px 8px}
@media (min-width:560px){.sh-pl2-amount{font-size:21px}.sh-pl2-name{font-size:16.5px}}
/* ===== end p466 ===== */
/* p467 */
#order-standard_cart :is(.sh-op-card,.sh-os-tile,.sh-rg-card){background:#101010!important;border-color:#262626!important}
#order-standard_cart :is(.sh-op-card,.sh-os-tile,.sh-rg-card).is-selected{background:rgba(255,255,255,.07)!important;border-color:#fff!important;box-shadow:none!important}
#order-standard_cart .sh-pl2-row.is-off{background:#0d0d0d!important;border-color:#1e1e1e!important;opacity:.5}
#order-standard_cart .sh-pl2-specs{background:#151515!important;border-color:#1e1e1e!important}
/* p468 */
body #order-standard_cart :is(.sh-op-card,.sh-os-tile,.sh-rg-card,.sh-op-optcard){background:#151515!important;border:1px solid #262626!important}
body #order-standard_cart :is(.sh-op-card,.sh-os-tile,.sh-rg-card).is-selected{background:rgba(255,255,255,.10)!important;border-color:#fff!important;box-shadow:none!important}
body #order-standard_cart :is(.sh-pl2-specs,.sh-op-field input,.sh-op-field select,.sh-op-field textarea){background:#1e1e1e!important;border-color:#2e2e2e!important}
body #order-standard_cart .sh-pl2-row.is-off{background:#0f0f0f!important;border-color:#1e1e1e!important;opacity:.5}
body #order-standard_cart .sh-panel{background:#101010!important}
/* p470 */
body #order-standard_cart .sh-op-optcard.sh-os-card{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
body #order-standard_cart :is(.sh-os-tile,.sh-op-optcard,.sh-op-pwcard){background:#151515!important;border:1px solid #262626!important;box-shadow:none!important}
body #order-standard_cart .sh-os-tile.is-selected{background:#151515!important;border-color:#262626!important;box-shadow:inset 0 0 0 1px #ffffff!important}
body #order-standard_cart :is(.sh-op-field input,.sh-op-field select,.sh-op-pwinput,.sh-op-pwtoggle){background:#101010!important;border:1px solid #262626!important;color:#f6f6f6!important;box-shadow:none!important}
body #order-standard_cart :is(.sh-os-tile,.sh-op-optcard,.sh-op-pwcard,.sh-op-field input,.sh-op-pwinput,.sh-op-pwtoggle){transition:none!important}
body #order-standard_cart :is(.sh-os-tile,.sh-op-optcard,.sh-op-pwcard,.sh-op-field input,.sh-op-pwinput,.sh-op-pwtoggle):is(:hover,:focus,:active){transform:none!important;outline:none!important;box-shadow:none!important}
body #order-standard_cart .sh-os-tile.is-selected:is(:hover,:focus,:active){box-shadow:inset 0 0 0 1px #ffffff!important}
/* p475 */
body #order-standard_cart .sh-op-section :is(.sh-os-tile,.sh-op-optcard,.sh-op-pwcard):not(.sh-os-card){background:#101010!important;border:1px solid #262626!important}
body #order-standard_cart .sh-op-section .sh-os-tile.is-selected{background:rgba(255,255,255,.07)!important;border-color:#f6f6f6!important;box-shadow:none!important}
/* p476 */
body #order-standard_cart :is(.sh-op-sub,.sh-op-field label,.sh-op-pwlabel,.sh-op-pwhint){opacity:1!important;color:#aaaaaa!important;transition:none!important;transform:none!important;text-shadow:none!important;will-change:auto!important}
/* p477 */
body #order-standard_cart :is(.sh-op-sub,.sh-op-field label,.sh-op-pwlabel,.sh-op-pwhint){color:#aaaaaa!important;opacity:1!important;font-weight:500!important}
body #order-standard_cart .sh-op-pwtoggle{background:#101010!important;border:1px solid #262626!important;color:#aaaaaa!important;opacity:1!important}
body #order-standard_cart .sh-op-pwtoggle svg{fill:currentColor!important;stroke:currentColor!important;opacity:1!important}
body #order-standard_cart .sh-op-pwtoggle:is(:hover,:focus,:active){color:#f6f6f6!important;border-color:#3a3a3a!important;background:#101010!important}
/* p478 */
body #order-standard_cart .sh-op-pwtoggle,body #order-standard_cart .sh-op-pwtoggle.is-off{color:#f6f6f6!important;opacity:1!important;border-color:#3a3a3a!important}
body #order-standard_cart .sh-op-pwtoggle svg{stroke:#f6f6f6!important;opacity:1!important}
/* p479 */
body #order-standard_cart .sh-op-pwtoggle svg,body #order-standard_cart .sh-op-pwtoggle svg *{fill:none!important;stroke:#aaaaaa!important;opacity:1!important}
body #order-standard_cart .sh-op-pwtoggle,body #order-standard_cart .sh-op-pwtoggle.is-off{color:#aaaaaa!important;border-color:#262626!important}
body #order-standard_cart .sh-op-pwtoggle:is(:hover,:focus,:active) svg,body #order-standard_cart .sh-op-pwtoggle:is(:hover,:focus,:active) svg *{stroke:#d0d0d0!important}
/* p480 */
body #order-standard_cart :is(.sh-op-sub,.sh-op-field label,.sh-op-pwlabel,.sh-op-pwhint){color:#8b8b8b!important;opacity:1!important}
/* p481 */
body #order-standard_cart :is(.sh-op-sub,.sh-op-field label,.sh-op-pwlabel,.sh-op-pwhint){color:#6f6f6f!important;opacity:1!important}
/* p482 */
body #order-standard_cart :is(.sh-op-field label,.sh-op-pwlabel){color:#8b8b8b!important;opacity:1!important}
/* p484 */
body #order-standard_cart :is(.sh-panel,.sh-op-section){background:#151515!important;border:1px solid #2e2e2e!important}
/* p485 */
body #order-standard_cart :is(.sh-panel,.sh-op-section){background:#131313!important;border:1px solid #292929!important}
/* p486 */
body #order-standard_cart :is(.sh-panel,.sh-op-section){background:#101010!important;border:1px solid #262626!important}
body #order-standard_cart .sh-op-card.sh-pl2-row:not(.is-selected){background:#131313!important;border-color:#292929!important}
body #order-standard_cart .sh-rg-card:not(.is-selected){background:#131313!important;border-color:#292929!important}
body #order-standard_cart .sh-op-section :is(.sh-os-tile,.sh-op-optcard,.sh-op-pwcard):not(.sh-os-card):not(.is-selected){background:#131313!important;border:1px solid #292929!important}
/* p488 */
body #order-standard_cart .sh-op-section.sh-panel > .sh-op-optcard,body #order-standard_cart .sh-op-section.sh-panel > .sh-op-pwcard{background:none!important;background-color:transparent!important;border:0 none!important;border-width:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important}
body #order-standard_cart .sh-op-section.sh-panel > .sh-op-optcard{margin:0 0 20px!important}
body #order-standard_cart .sh-op-section.sh-panel > .sh-op-pwcard{margin:0!important}
body #order-standard_cart .sh-op-field{margin:0!important}
/* p488 */
body #order-standard_cart .sh-op-section.sh-panel > .sh-op-optcard,body #order-standard_cart .sh-op-section.sh-panel > .sh-op-pwcard{background:none!important;background-color:transparent!important;border:0 none!important;border-width:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important}
body #order-standard_cart .sh-op-section.sh-panel > .sh-op-optcard{margin:0 0 20px!important}
body #order-standard_cart .sh-op-section.sh-panel > .sh-op-pwcard{margin:0!important}
body #order-standard_cart .sh-op-field{margin:0!important}
/* p489 */
body #order-standard_cart .sh-op-section:has(.sh-op-pwcard) :is(.field-container,.product-configurable-options,#productConfigurableOptions,.form-group,.sh-op-optcard,.sh-op-pwcard){background:none!important;background-color:transparent!important;border:0 none!important;border-radius:0!important;box-shadow:none!important;padding:0!important}
body #order-standard_cart .sh-op-section:has(.sh-op-pwcard) > .sh-op-optcard{margin:0 0 20px!important}
body #order-standard_cart .sh-op-section:has(.sh-op-pwcard) > .sh-op-pwcard{margin:0!important}
/* p489 */
body #order-standard_cart .sh-op-section:has(.sh-op-pwcard) :is(.field-container,.product-configurable-options,#productConfigurableOptions,.form-group,.sh-op-optcard,.sh-op-pwcard){background:none!important;background-color:transparent!important;border:0 none!important;border-radius:0!important;box-shadow:none!important;padding:0!important}
body #order-standard_cart .sh-op-section:has(.sh-op-pwcard) > .sh-op-optcard{margin:0 0 20px!important}
body #order-standard_cart .sh-op-section:has(.sh-op-pwcard) > .sh-op-pwcard{margin:0!important}
/* p491 */
body #order-standard_cart .sh-op-pwinput{-webkit-text-security:disc!important}
body #order-standard_cart .sh-op-pwinput.is-shown{-webkit-text-security:none!important}
/* p493 RENDERFIX */
/* p500 off: body #order-standard_cart{transform:translateZ(0);backface-visibility:hidden} */
body #order-standard_cart *{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;will-change:auto!important}
body #order-standard_cart :is(.sh-panel,.sh-op-section,.sh-op-card,.sh-op-plan,.sh-pl2-row,.sh-op-optcard,.sh-op-pwcard,.sh-os-tile,.sh-op-field,.sh-op-pwrow,.sh-op-field input,.sh-op-pwinput,.sh-op-pwtoggle,.sh-op-sticky){transform:none!important;backface-visibility:visible!important;filter:none!important}
/* p502 */
body #order-standard_cart .sh-op-section:has(.sh-op-pwcard){transform:translateZ(0)!important;backface-visibility:hidden!important}
body #order-standard_cart .sh-op-section:has(.sh-op-pwcard) :is(.sh-op-optcard,.sh-op-pwcard,.sh-op-field,.sh-op-pwrow,.sh-op-field input,.sh-op-pwinput){transform:none!important;backface-visibility:visible!important}
/* p504 */
body #order-standard_cart .sh-sum-raw,body #order-standard_cart #orderSummaryLoader{display:none!important}
body #order-standard_cart .sh-sum2-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;background:#101010;border:1px solid #262626;border-radius:12px;margin:0 0 8px}
body #order-standard_cart .sh-sum2-k{font-size:12.5px;color:#8b8b8b}
body #order-standard_cart .sh-sum2-v{font-size:14px;color:#f6f6f6;font-weight:600;direction:ltr;unicode-bidi:plaintext;text-align:left}
body #order-standard_cart .sh-sum2-sep{height:1px;background:#1e1e1e;margin:12px 0}
body #order-standard_cart .sh-sum2-pay{background:#151515;border-color:#2e2e2e;margin:0}
body #order-standard_cart .sh-sum2-pay .sh-sum2-k{color:#f6f6f6;font-weight:700;font-size:13.5px}
body #order-standard_cart .sh-sum2-pay .sh-sum2-v{color:#ff8a00;font-size:15px}
/* p505 */
body #order-standard_cart .sh-sum2-row{background:transparent!important;border:0!important;border-radius:0!important;padding:10px 2px!important;margin:0!important;box-shadow:none!important}
body #order-standard_cart .sh-sum2-row+.sh-sum2-row{border-top:1px solid #1e1e1e!important}
body #order-standard_cart .sh-sum2-sep{display:none!important}
body #order-standard_cart .sh-sum2-pay{border-top:1px solid #262626!important;padding-top:13px!important;margin-top:4px!important}
body #order-standard_cart .sh-sum2-pay .sh-sum2-v{color:#f6f6f6!important;font-size:15.5px;font-weight:700}
/* p508 */
.sh-sheet .sh-grp{color:#9a9a9a!important}
.sh-svc-meta .geo{color:#bdbdbd!important;font-size:12.5px}
.sh-svc-meta .geo.dc{color:#8b8b8b!important}
/* p510 */
.sh-svc-meta .geo.dc{color:#bdbdbd!important}
/* p511 */
.sh-svc-meta .plan{color:#bdbdbd!important;font-size:12.5px!important}
/* p512 */
.sh-svc-meta .plan,.sh-svc-meta .geo,.sh-svc-meta .geo.dc{color:#d4d4d4!important}
/* p512 */
.sh-svc-meta .plan,.sh-svc-meta .geo,.sh-svc-meta .geo.dc{color:#d4d4d4!important}
/* p513 */
.sh-svc-meta .plan,.sh-svc-meta .geo,.sh-svc-meta .geo.dc{color:#a8a8a8!important;font-size:15.5px!important}
/* p514 */
.sh-svc-meta .plan,.sh-svc-meta .geo,.sh-svc-meta .geo.dc{color:#b8b8b8!important;font-size:13px!important}
/* p515 */
body #order-standard_cart .sh-pl2-specs span:before{content:'\2022';margin-left:8px;margin-right:0;color:#3a3a3a}
/* p518 */
body #order-standard_cart .sh-op-section .sh-op-optcard.sh-op-flat.sh-op-flat:not(.sh-os-card):not(.is-selected){background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important;margin:0!important}

/* ROOTSCROLL 0918 - document scrolling, not body scrolling */
html{overflow-x:clip!important;overflow-y:visible!important;height:auto!important;max-width:none!important}
body{overflow-x:clip!important;overflow-y:visible!important;height:auto!important;min-height:100vh!important;max-width:none!important;position:static!important}

/* p473 - type chip pinned to the far edge of the meta row */
.sh-dash .sh-svc .sh-svc-meta .sh-chip.gray{margin-inline-start:auto!important}

/* p474 - type chip last in the meta row, flush to the far edge */
.sh-dash .sh-svc .sh-svc-meta .sh-chip.gray{order:9!important;margin-inline-start:auto!important}

/* p414: centre the checkout button label; the trailing arrow icon was
   taking up width and pushing the text off centre. */
html body #btnCompleteOrder{text-align:center!important}
html body #btnCompleteOrder>i{display:none!important}

/* p416: the price block in the plan rows stacks amount + unit and both are
   flush to the left edge of the column. direction stays rtl so the phrase
   "تومان / ماهانه" keeps its word order. */
html body .sh-pl2-price{display:block!important;text-align:left!important}
html body .sh-pl2-price>.sh-pl2-amount,
html body .sh-pl2-price>.sh-pl2-unit{display:block!important;text-align:left!important}

/* p417b: OS family cards on a rail, each with a version dropdown */
body #order-standard_cart .sh-os-row{display:none!important}
.sh-osf-row{direction:rtl;display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;
  padding:4px 2px 12px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
  justify-content:center}
.sh-osf-row:has(>.sh-osf-card:nth-child(3)){justify-content:flex-start}
.sh-osf-row::-webkit-scrollbar{height:6px}
.sh-osf-row::-webkit-scrollbar-track{background:rgba(255,255,255,.06);border-radius:6px}
.sh-osf-row::-webkit-scrollbar-thumb{background:rgba(170,170,170,.45);border-radius:6px}
.sh-osf-card{position:relative;flex:0 0 146px;min-width:0;box-sizing:border-box;
  scroll-snap-align:center;display:flex;flex-direction:column;align-items:center;gap:9px;
  padding:16px 12px 12px;border:1px solid #262626;border-radius:16px;background:#151515;
  cursor:pointer}
.sh-osf-card.is-selected{border-color:#ffffff;box-shadow:inset 0 0 0 1px #ffffff}
.sh-osf-logo{width:52px;height:52px;object-fit:contain;pointer-events:none}
.sh-osf-name{font-size:14px;font-weight:700;line-height:1.3;text-align:center;pointer-events:none}
.sh-osf-pick{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;
  box-sizing:border-box;margin-top:2px;padding:8px 10px;border:1px solid #2b2b2b;border-radius:10px;
  background:#101010;color:#9a9a9a;font:inherit;font-size:12px;font-weight:600;cursor:pointer}
.sh-osf-card.is-selected .sh-osf-pick{color:#f6f6f6;border-color:#3a3a3a}
.sh-osf-pick .t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sh-osf-caret{width:0;height:0;flex:0 0 auto;border-left:4px solid transparent;
  border-right:4px solid transparent;border-top:5px solid currentColor}
.sh-osf-pick.is-open .sh-osf-caret{border-top:0;border-bottom:5px solid currentColor}
.sh-osf-menu{display:none;position:fixed;z-index:9999;box-sizing:border-box;padding:7px;
  border:1px solid #303030;border-radius:13px;background:#0d0d0d;
  box-shadow:0 14px 34px rgba(0,0,0,.7)}
.sh-osf-opt{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;
  box-sizing:border-box;margin:0;padding:11px 12px;border:0;border-radius:10px;background:transparent;
  color:#d2d2d2;font:inherit;font-size:12.5px;font-weight:600;white-space:nowrap;cursor:pointer;
  text-align:start}
.sh-osf-opt+.sh-osf-opt{margin-top:6px}
.sh-osf-opt:hover{background:rgba(255,255,255,.07)}
.sh-osf-opt.is-on{background:rgba(255,255,255,.10);color:#ffffff}
.sh-osf-dot{flex:0 0 auto;width:15px;height:15px;border-radius:50%;border:1.6px solid #4a4a4a;
  background:transparent}
.sh-osf-opt.is-on .sh-osf-dot{border-color:#ffffff;background:#ffffff;
  box-shadow:inset 0 0 0 3.5px #0d0d0d}

/* p419: selected OS family card + selected version row get the light fill */
#order-standard_cart .sh-osf-card.is-selected,
.sh-osf-card.is-selected{
  border-color:#ffffff;
  background:rgba(255,255,255,.10)!important;
  box-shadow:inset 0 0 0 1px #ffffff;
}
#order-standard_cart .sh-osf-card.is-selected .sh-osf-pick,
.sh-osf-card.is-selected .sh-osf-pick{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.35);
  color:#ffffff;
}
.sh-osf-opt.is-on{background:rgba(255,255,255,.10);color:#ffffff}
.sh-osf-opt.is-on .sh-osf-dot{border-color:#ffffff;background:#ffffff;
  box-shadow:inset 0 0 0 3.5px #0d0d0d}

/* p420: thin 1px outline on the selected OS card (drop the doubling inset ring) */
#order-standard_cart .sh-osf-card.is-selected,
.sh-osf-card.is-selected{box-shadow:none!important;border-width:1px!important}

/* p424: CDN order page — plan list as tariff cards (paid + multi plan safe) */
.sh-pl2-cdn .sh-pl2-list{display:flex;flex-direction:column;gap:12px}
#order-standard_cart .sh-pl2-cdn .sh-pl2-row,.sh-pl2-cdn .sh-pl2-row{
  padding:0!important;overflow:hidden;border-radius:18px;
  border:1px solid rgba(255,255,255,.10)!important;background:#0f0f0f!important;
  box-shadow:none!important;cursor:pointer}
#order-standard_cart .sh-pl2-cdn .sh-pl2-row.is-selected,.sh-pl2-cdn .sh-pl2-row.is-selected{
  border-color:#ffffff!important;background:rgba(255,255,255,.055)!important}
#order-standard_cart .sh-pl2-cdn .sh-pl2-row.is-off,.sh-pl2-cdn .sh-pl2-row.is-off{opacity:.5;cursor:not-allowed}
#order-standard_cart .sh-pl2-cdn .sh-pl2-line,.sh-pl2-cdn .sh-pl2-line{
  display:flex;align-items:center;gap:10px;padding:14px 16px;
  background:linear-gradient(270deg,rgba(255,255,255,.075),rgba(255,255,255,.012));
  border-bottom:1px solid rgba(255,255,255,.08)}
.sh-pl2-cdn .sh-pl2-name{flex:1 1 auto;font-size:15px;font-weight:800;text-align:right}
#order-standard_cart .sh-pl2-cdn .sh-pl2-price,.sh-pl2-cdn .sh-pl2-price{
  flex:0 0 auto;display:block!important;text-align:left!important}
#order-standard_cart .sh-pl2-cdn .sh-pl2-amount,.sh-pl2-cdn .sh-pl2-amount{
  display:block;font-size:15px;font-weight:800;color:#f5f5f5;text-align:left}
#order-standard_cart .sh-pl2-cdn .sh-pl2-unit,.sh-pl2-cdn .sh-pl2-unit{
  display:block;margin-top:2px;font-size:11px;font-style:normal;color:#8f8f8f;text-align:left}
.sh-pl2-cdn .sh-pl2-price:not(:has(.sh-pl2-unit)) .sh-pl2-amount{
  display:inline-block;padding:5px 14px;border-radius:999px;font-size:12.5px;
  background:rgba(255,255,255,.07);color:#e9e9e9;border:1px solid rgba(255,255,255,.18)}
#order-standard_cart .sh-pl2-cdn .sh-pl2-specs,.sh-pl2-cdn .sh-pl2-specs{
  display:block!important;margin:0!important;padding:4px 16px 12px!important;
  background:transparent!important;border:0!important;box-shadow:none!important}
#order-standard_cart .sh-pl2-cdn .sh-pl2-specs>span,.sh-pl2-cdn .sh-pl2-specs>span{
  display:flex!important;align-items:baseline;gap:10px;width:auto!important;margin:0!important;
  padding:10px 0!important;border:0!important;border-bottom:1px dashed rgba(255,255,255,.09)!important;
  border-radius:0!important;background:transparent!important;font-size:12.5px;line-height:1.7}
.sh-pl2-cdn .sh-pl2-specs>span:last-child{border-bottom:0!important}
.sh-pl2-cdn .sh-pl2-specs>span::before,.sh-pl2-cdn .sh-pl2-specs>span::after{content:none!important}
.sh-pl2-cdn .sh-pl2-specs .k{color:#9d9d9d;font-weight:600}
.sh-pl2-cdn .sh-pl2-specs .d{flex:1 1 auto;min-width:14px;align-self:center;
  border-bottom:1px dotted rgba(255,255,255,.20)}
.sh-pl2-cdn .sh-pl2-specs .v{color:#f3f3f3;font-weight:800;text-align:left}
.sh-pl2-cdn .sh-pl2-off{display:block;margin:0 16px 12px;padding:6px 0;border-radius:8px;
  background:rgba(255,255,255,.05);color:#b9b9b9;font-size:11.5px;text-align:center}

/* p425: CDN plan card — drop the tick + leftover bullets, no load flash */
#order-standard_cart .sh-pl2-cdn .sh-pl2-tick,.sh-pl2-cdn .sh-pl2-tick{display:none!important}
#order-standard_cart .sh-pl2-cdn .sh-pl2-specs span::before,
#order-standard_cart .sh-pl2-cdn .sh-pl2-specs span::after,
.sh-pl2-cdn .sh-pl2-specs span::before,
.sh-pl2-cdn .sh-pl2-specs span::after{content:none!important;display:none!important}
.sh-pl2-cdn .sh-pl2-specs span{list-style:none!important}
.sh-pl2-cdn .sh-pl2-specs{opacity:0}
.sh-pl2-cdn[data-cdnfmt="1"] .sh-pl2-specs{opacity:1;transition:opacity .12s linear}

/* p426: no separator under the last tariff row */
#order-standard_cart .sh-pl2-cdn .sh-pl2-specs>span:last-child,
#order-standard_cart .sh-pl2-cdn .sh-pl2-specs>span:last-of-type,
.sh-pl2-cdn .sh-pl2-specs>span:last-child{border-bottom:0!important}
#order-standard_cart .sh-pl2-cdn .sh-pl2-specs,.sh-pl2-cdn .sh-pl2-specs{border-bottom:0!important}


/* ===================================================================== p440
   Four fixes, all of them appended here because sahand-dark.css is the last
   stylesheet the header loads, so nothing earlier can win them back.
   ===================================================================== */

/* p440/2 - order form, plan specifications.
   p515 had dropped the "+ span" from the separator rule, so the bullet was
   printed before the first chip as well and dangled at the start of the box
   and at the start of every wrapped line. The separator now trails the chip
   it follows, which keeps it attached to the end of a line instead. */
body #order-standard_cart .sh-pl2-specs span:before,
body .sh-pl2-specs span + span:before{content:none !important}
body .sh-pl2-specs span:not(:last-child):after{content:'\2022';
  margin-inline:8px;color:#3a3a3a}

/* p440/3 - service list, the state dot.
   It used to be white for Active and for Pending alike, and the same bright
   pink for suspended and for closed, so a machine that was never built
   looked exactly like a running one. */
.sh-svc-dot{background:#8f8f8f;box-shadow:none}
.sh-svc-dot.active{background:#3ED598;box-shadow:0 0 9px rgba(62,213,152,.5)}
.sh-svc-dot.pending{background:#FFB547;box-shadow:0 0 9px rgba(255,181,71,.45)}
.sh-svc-dot.suspended{background:#FF8A3D;box-shadow:0 0 9px rgba(255,138,61,.45)}
.sh-svc-dot.terminated,
.sh-svc-dot.cancelled,
.sh-svc-dot.fraud{background:#8c3a44;box-shadow:none}
/* the chip beside it says the same thing in words */
.sh-chip.pend{background:rgba(255,181,71,.12);color:#FFB547}

/* p440/4 - order form, the hostname and root password section.
   That section carries transform:translateZ(0), which puts it on its own
   compositing layer; a 1px border then lands on a half pixel and the top
   edge fades out. The ring is painted inside the layer, where rounding
   cannot eat it. */
/* p442: no ring at all. The card is taken off its own compositing layer
   further down, so its ordinary 1px border renders exactly like every
   other card and nothing has to be faked. */
/* ================================================================ end p440 */

/* p442: the hostname and root password section was the only card promoted
   to its own compositing layer. That is what made its 1px top border land
   on a half pixel and fade out. It is put back with the others. */
body #order-standard_cart .sh-op-section:has(.sh-op-pwcard){
  transform:none !important;
  backface-visibility:visible !important;
  box-shadow:none !important}


/* ================================================================= p445 */
/* The reset and register pages are now built on the same markup as the
   login page, so they inherit the login look for free. What is left here
   is the handful of fixes that used to be written only for .login-form,
   repeated for .sh-authform, plus the two places where the register page
   still needs its own answer. */

.sh-authform .input-group-merge .form-control{height:44px!important;min-height:44px!important;
  padding-top:0!important;padding-bottom:0!important;text-align:right!important;
  padding-inline-start:12px!important;padding-inline-end:12px!important}
.sh-authform .input-group-merge select.form-control{height:44px!important;
  padding-inline-start:12px!important;padding-inline-end:34px!important}
.sh-authform .input-group-merge .input-group-text{height:44px!important;
  display:flex!important;align-items:center!important}
.sh-authform .input-group-merge .btn-reveal-pw{height:44px!important;
  padding-top:0!important;padding-bottom:0!important;display:flex!important;align-items:center!important}
.sh-authform #inputEmail{unicode-bidi:-webkit-plaintext!important;unicode-bidi:plaintext!important;
  text-align:right!important}

/* The old register rules pushed every direct child input 54px away from
   the edge to clear an absolutely positioned icon. The icon is a flex item
   now, so that padding would only leave a hole. */
#containerNewUserSignup .input-group.input-group-merge>.form-control,
#containerNewUserSecurity .input-group.input-group-merge>.form-control,
#containerNewUserSignup .input-group.input-group-merge .iti>input,
#containerNewUserSignup .input-group.input-group-merge .intl-tel-input>input{
  padding-inline-start:12px!important;padding-inline-end:12px!important}

/* Phone: the country flag is the icon of that field, so it sits where the
   other icons sit instead of floating next to a second one. */
.sh-authform .sh-telbox{position:relative}
.sh-authform .sh-telbox .iti,
.sh-authform .sh-telbox .intl-tel-input{flex:1 1 auto;min-width:0;width:100%}
.sh-authform .sh-telbox .iti__flag-container,
.sh-authform .sh-telbox .intl-tel-input .flag-container{
  inset-inline-start:0!important;inset-inline-end:auto!important;
  left:0!important;right:auto!important;padding:0 12px!important}
.sh-authform .sh-telbox .iti>input,
.sh-authform .sh-telbox .intl-tel-input>input{padding-inline-start:52px!important}

/* The heading block of the login page, reused by both pages. */
.sh-authform+.sh-authform,.card-body>.mb-4>h6.h3{margin-bottom:6px}
#registration .card-body>.mb-4>h6.h3,
.card-body>.mb-4>h6.h3{font-size:19px;font-weight:800}
#registration .card-body>.mb-4{margin-bottom:22px!important}

/* Password strength block: a label like every other field, and the meter
   under it instead of floating in the middle of the card. */
.sh-authform .sh-pwstrength{margin-top:2px}
.sh-authform .sh-pwstrength .progress{margin-top:4px}

/* The reset card footer holds one link, centred like the login one. */
.card-footer.px-md-5:has(>a:only-child){text-align:center}


/* ================================================================= p446 */
/* SH_REG_PWGAP hides .form-group:not(.prepend-icon) inside
   #containerPassword. p445 took that class away, so the password and the
   confirm field went with it. They come back here, and the one thing the
   old rule was really after - the generate password button - stays hidden,
   exactly as SH_REG_PWCLEAN already wanted. */
form[name=orderfrm] #containerPassword .form-group{display:block!important}
form[name=orderfrm] #containerPassword .form-group:has(>.generate-password){display:none!important}
form[name=orderfrm] #containerPassword .password-strength-meter{margin-top:0!important}


/* ================================================================= p447 */
/* SH_REG_PWGAP is form[name=orderfrm] #containerPassword
   .form-group:not(.prepend-icon) - one id, three classes, one type. The
   p446 answer dropped the :not() and lost the tie. Same three classes,
   two more type selectors, and the fields come back. The generate button
   keeps the :has() on top of that, so it stays hidden. */
html body form[name=orderfrm] #containerPassword .form-group:not(.prepend-icon){
  display:block!important}
html body form[name=orderfrm] #containerPassword .form-group:not(.prepend-icon):has(>.generate-password){
  display:none!important}

/* The phone flag is that field's icon, so it belongs on the same side as
   every other icon on the page. */
html body .sh-authform .sh-telbox .iti__flag-container,
html body .sh-authform .sh-telbox .intl-tel-input .flag-container{
  left:auto!important;right:0!important;padding:0 14px!important}
html body .sh-authform .sh-telbox .iti>input,
html body .sh-authform .sh-telbox .intl-tel-input>input,
html body #containerNewUserSignup .sh-telbox .iti input{
  padding-right:54px!important;padding-left:12px!important;
  text-align:right!important;direction:rtl!important}


/* ================================================================= p448 */
/* SH_P448 : the icon sat 26px away from the text - 12px of input padding
   plus 14px on the inner side of the icon box. The input padding cannot
   be touched, .login-form #inputEmail is an id rule. So only the inner
   side of the icon box shrinks: 14px stays against the border, 2px faces
   the text. Measured 26px -> 14px. */
html body .login-form .input-group.input-group-merge .input-group-text,
html body .sh-authform .input-group.input-group-merge .input-group-text{
padding-right:14px!important;padding-left:2px!important}
