/* YCW Portal RC33 | Product catalogue dark surface finalisation.
   Applies only to dark mode and to the native WHMCS products.tpl catalogue.
   The existing product URL, dynamic icon classification and payment logic stay untouched. */
html[data-ycw-theme='dark'] body.ycw-portal #order-ycw-of.ycw-products-page {
 --ycw33-order-bg:#101a2a;
 --ycw33-order-card:#1c2a3e;
 --ycw33-order-header:#22334b;
 --ycw33-order-border:#3e526d;
 --ycw33-order-text:#ecf3fe;
 --ycw33-order-muted:#b3c5da;
 color:var(--ycw33-order-text)!important;
 background:transparent!important;
}
/* The catalogue canvas is *not* itself a giant additional blue card. */
html[data-ycw-theme='dark'] body.ycw-portal #order-ycw-of.ycw-products-page :is(
 .cart-body,.header-lined,.products.ycw-responsive-catalog,
 .products.ycw-responsive-catalog > .row.row-eq-height,
 .products.ycw-responsive-catalog > .row.row-eq-height > .col-md-4
) {background:transparent!important;box-shadow:none!important;}
html[data-ycw-theme='dark'] body.ycw-portal #order-ycw-of.ycw-products-page .header-lined :is(h1,p) {
 color:var(--ycw33-order-text)!important;
}
html[data-ycw-theme='dark'] body.ycw-portal #order-ycw-of.ycw-products-page .header-lined p {color:var(--ycw33-order-muted)!important;}
/* Specificity deliberately exceeds the old type-specific RC10 light gradients. */
html[data-ycw-theme='dark'] body.ycw-portal #order-ycw-of.ycw-products-page .products.ycw-responsive-catalog .product {
 background:var(--ycw33-order-card)!important;
 border-color:var(--ycw33-order-border)!important;
 box-shadow:0 9px 25px rgba(0,5,15,.15)!important;
 color:var(--ycw33-order-text)!important;
}
html[data-ycw-theme='dark'] body.ycw-portal #order-ycw-of.ycw-products-page .products.ycw-responsive-catalog .product:hover {
 border-color:#986244!important;
 box-shadow:0 13px 30px rgba(0,5,15,.24)!important;
}
html[data-ycw-theme='dark'] body.ycw-portal #order-ycw-of.ycw-products-page .products.ycw-responsive-catalog .product header,
html[data-ycw-theme='dark'] body.ycw-portal #order-ycw-of.ycw-products-page .products.ycw-responsive-catalog .product[data-product-type] header {
 background:linear-gradient(145deg,#24364e,#202e43)!important;
 color:var(--ycw33-order-text)!important;
 border-color:var(--ycw33-order-border)!important;
}
html[data-ycw-theme='dark'] body.ycw-portal #order-ycw-of.ycw-products-page .products.ycw-responsive-catalog .product header > span[id$='-name'] {
 color:#f0f6ff!important;
 text-shadow:none!important;
}
html[data-ycw-theme='dark'] body.ycw-portal #order-ycw-of.ycw-products-page .products.ycw-responsive-catalog .product header .qty {color:var(--ycw33-order-muted)!important;}
/* Preserve the distinctive icon colors but use dark-backed icon containers. */
html[data-ycw-theme='dark'] body.ycw-portal #order-ycw-of.ycw-products-page .products.ycw-responsive-catalog .product[data-product-type] header > i {
 background:#1a2a40!important;
 border:1px solid #3b516e!important;
 color:#8ebaff!important;
}
html[data-ycw-theme='dark'] body.ycw-portal #order-ycw-of.ycw-products-page .products.ycw-responsive-catalog .product[data-product-type='domain'] header > i,
html[data-ycw-theme='dark'] body.ycw-portal #order-ycw-of.ycw-products-page .products.ycw-responsive-catalog .product[data-product-type='telephony'] header > i {
 color:#ffad75!important;background:#3a2c28!important;border-color:#684b3b!important;
}
html[data-ycw-theme='dark'] body.ycw-portal #order-ycw-of.ycw-products-page .products.ycw-responsive-catalog .product[data-product-type='security'] header > i,
html[data-ycw-theme='dark'] body.ycw-portal #order-ycw-of.ycw-products-page .products.ycw-responsive-catalog .product[data-product-type='connectivity'] header > i {
 color:#79e7b4!important;background:#1a3a34!important;border-color:#3b6759!important;
}
/* Price, action and description are visually one coherent component. */
html[data-ycw-theme='dark'] body.ycw-portal #order-ycw-of.ycw-products-page .products.ycw-responsive-catalog .product .product-pricing,
html[data-ycw-theme='dark'] body.ycw-portal #order-ycw-of.ycw-products-page .products.ycw-responsive-catalog .product footer,
html[data-ycw-theme='dark'] body.ycw-portal #order-ycw-of.ycw-products-page .products.ycw-responsive-catalog .product .product-desc {
 background:var(--ycw33-order-card)!important;
 border-color:var(--ycw33-order-border)!important;
 color:var(--ycw33-order-text)!important;
}
html[data-ycw-theme='dark'] body.ycw-portal #order-ycw-of.ycw-products-page .products.ycw-responsive-catalog .product .product-pricing {color:var(--ycw33-order-muted)!important;}
html[data-ycw-theme='dark'] body.ycw-portal #order-ycw-of.ycw-products-page .products.ycw-responsive-catalog .product .product-pricing .price {color:#ff955b!important;}
html[data-ycw-theme='dark'] body.ycw-portal #order-ycw-of.ycw-products-page .products.ycw-responsive-catalog .product .product-pricing small {color:var(--ycw33-order-muted)!important;}
html[data-ycw-theme='dark'] body.ycw-portal #order-ycw-of.ycw-products-page .products.ycw-responsive-catalog .product .product-desc :is(p,li,.feature-value,small,span) {
 color:#d3e0f0!important;
 background:transparent!important;
}
html[data-ycw-theme='dark'] body.ycw-portal #order-ycw-of.ycw-products-page .products.ycw-responsive-catalog .product .product-desc li::before {color:#ff9a64!important;}
html[data-ycw-theme='dark'] body.ycw-portal #order-ycw-of.ycw-products-page .products.ycw-responsive-catalog .product header .txt-container {
 background:#eb590c!important;color:#fff!important;border-color:#eb590c!important;
}
html[data-ycw-theme='dark'] body.ycw-portal #order-ycw-of.ycw-products-page .products.ycw-responsive-catalog .product footer a.wdes-ycw-of-order-btn {
 background:#ff5900!important;border-color:#ff5900!important;color:#fff!important;
 box-shadow:0 5px 12px rgba(8,12,26,.16)!important;
}
html[data-ycw-theme='dark'] body.ycw-portal #order-ycw-of.ycw-products-page .products.ycw-responsive-catalog .product footer a.wdes-ycw-of-order-btn:hover {
 background:#dc4d00!important;border-color:#dc4d00!important;
}
html[data-ycw-theme='dark'] body.ycw-portal #order-ycw-of.ycw-products-page .products.ycw-responsive-catalog .product footer a.wdes-ycw-of-order-btn:focus-visible {
 outline:3px solid #ffb587!important;outline-offset:3px;
}
/* Bootstrap row helpers must never become hidden first catalogue items. */
#order-ycw-of.ycw-products-page .ycw-responsive-catalog > .row.row-eq-height::before,
#order-ycw-of.ycw-products-page .ycw-responsive-catalog > .row.row-eq-height::after {
 content:none!important;display:none!important;
}
/* No horizontal overflow for long product names or descriptions on phones. */
@media(max-width:767px) {
 html[data-ycw-theme='dark'] body.ycw-portal #order-ycw-of.ycw-products-page .products.ycw-responsive-catalog .product,
 html[data-ycw-theme='dark'] body.ycw-portal #order-ycw-of.ycw-products-page .products.ycw-responsive-catalog .product :is(header,.product-desc,footer,.product-pricing) {min-width:0;max-width:100%;}
 html[data-ycw-theme='dark'] body.ycw-portal #order-ycw-of.ycw-products-page .products.ycw-responsive-catalog .product header > span[id$='-name'] {overflow-wrap:anywhere!important;}
}
@media print {
 html[data-ycw-theme='dark'] body.ycw-portal #order-ycw-of.ycw-products-page .products.ycw-responsive-catalog .product :is(header,.product-pricing,footer,.product-desc) {background:#fff!important;color:#142642!important;border-color:#d5dfe9!important;}
 html[data-ycw-theme='dark'] body.ycw-portal #order-ycw-of.ycw-products-page .products.ycw-responsive-catalog .product header > span[id$='-name'] {color:#142642!important;}
}
