/* Card styles derived from owned WHMCS Nebula source; public catalogue adapter only. */
.storefront-catalog .nebula-cart-control-badge { display:inline-grid; min-width:20px; min-height:20px; place-items:center; margin-left:auto; padding:0 6px; border-radius:999px; background:rgb(151 164 211 / .22); color:#f4f5ff; font-size:11px; font-weight:750; }
.storefront-catalog .nebula-cart-control-body { padding:9px; color:#e8edf9; }
.storefront-catalog .nebula-cart-control-body :is(label,p,span,small,strong) { color:#e8edf9; }
.storefront-catalog .nebula-cart-control-body :is(select,.form-control,.custom-select) { width:100%; min-height:40px; border:1px solid #566581; border-radius:8px; background:#0c1427; color:#f3f6ff; }
.storefront-catalog .nebula-cart-control-body option { background:#121b31; color:#f3f6ff; }
.storefront-catalog .nebula-cart-control-body :is(button,.btn) { border-color:#8575de; background:#a995ff; color:#11172b; }
.storefront-catalog.nebula-order-products a { color:#d9e0f1; text-decoration:underline; text-underline-offset:3px; }
.storefront-catalog.nebula-order-products a:hover { color:#8ff5ed; }
.storefront-catalog.nebula-order-products :focus-visible { outline:3px solid #087f9a; outline-offset:3px; }
.storefront-catalog.nebula-order-products .header-lined { max-width:1000px; margin:2px auto 18px; padding:8px 14px 16px; border:0; text-align:center; }
.storefront-catalog .nebula-cart-kicker { margin:0 0 8px; color:#8ff5ed; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.storefront-catalog.nebula-order-products .header-lined h1 { margin:0; color:#f7f7ff; font-size:clamp(31px,4.2vw,49px); font-weight:740; letter-spacing:-.045em; line-height:1.08; text-wrap:balance; text-shadow:0 6px 28px rgb(8 13 36 / .5); }
.storefront-catalog.nebula-order-products .header-lined > p:not(.nebula-cart-kicker) { margin:12px auto 0; color:#d2d9eb; font-size:clamp(14px,1.5vw,17px); }
.storefront-catalog.nebula-order-products .nebula-product-carousel-controls { display:flex; min-height:52px; align-items:center; justify-content:flex-end; gap:10px; margin:0 0 14px; }
.storefront-catalog.nebula-order-products .nebula-product-carousel-controls[hidden] { display:none!important; }
.storefront-catalog.nebula-order-products .nebula-product-carousel-status { margin-right:4px; color:#c5d1e8; font-size:12px; font-weight:600; }
.storefront-catalog.nebula-order-products .nebula-product-carousel-button { display:grid; width:52px; height:52px; flex:none; place-items:center; border:1px solid rgb(118 206 244 / .62); border-radius:16px; background:linear-gradient(145deg,rgb(48 153 203 / .72),rgb(102 82 197 / .88) 58%,rgb(154 76 201 / .84)); color:#f7fbff; box-shadow:0 8px 24px rgb(33 96 190 / .26),inset 0 1px rgb(255 255 255 / .3); cursor:pointer; transition:transform .16s ease,filter .16s ease,border-color .16s ease,box-shadow .16s ease; }
.storefront-catalog.nebula-order-products .nebula-product-carousel-button svg { width:25px; height:25px; }
.storefront-catalog.nebula-order-products .nebula-product-carousel-button:hover:not(:disabled) { transform:translateY(-1px); border-color:#a5f2ff; filter:brightness(1.12); box-shadow:0 10px 28px rgb(66 152 235 / .36),0 0 18px rgb(130 116 255 / .2),inset 0 1px rgb(255 255 255 / .36); }
.storefront-catalog.nebula-order-products .nebula-product-carousel-button:focus-visible { outline:3px solid #91f4ed; outline-offset:3px; }
.storefront-catalog.nebula-order-products .nebula-product-carousel-button:disabled { border-color:rgb(110 130 171 / .35); background:linear-gradient(145deg,rgb(36 49 76 / .72),rgb(24 34 58 / .82)); color:#8999b7; box-shadow:inset 0 1px rgb(255 255 255 / .04); cursor:not-allowed; opacity:.58; }
.storefront-catalog.nebula-order-products .nebula-products-grid { width:100%; min-width:0; overflow:hidden; }
.storefront-catalog.nebula-order-products .nebula-products-grid > .row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:18px; margin:0; }
.storefront-catalog.nebula-order-products .nebula-product-carousel.nebula-product-carousel-ready .nebula-products-grid > .row { grid-template-columns:repeat(var(--nebula-product-visible-count,3),minmax(0,1fr)); }
.storefront-catalog.nebula-order-products .nebula-product-carousel.nebula-product-carousel-overflowing .nebula-products-grid { overflow-x:auto; overflow-y:hidden; overscroll-behavior-inline:contain; scroll-snap-type:x mandatory; scroll-padding-inline:2px; scrollbar-width:none; }
.storefront-catalog.nebula-order-products .nebula-product-carousel.nebula-product-carousel-overflowing .nebula-products-grid::-webkit-scrollbar { display:none; }
.storefront-catalog.nebula-order-products .nebula-product-carousel.nebula-product-carousel-overflowing .nebula-products-grid > .row { width:max-content; min-width:100%; grid-template-columns:none; grid-template-rows:minmax(0,1fr); grid-auto-flow:column; grid-auto-columns:var(--nebula-product-card-width,280px); }
.storefront-catalog.nebula-order-products .nebula-product-carousel.nebula-product-carousel-overflowing .nebula-product-column { scroll-snap-align:start; }
.storefront-catalog.nebula-order-products .nebula-product-carousel[data-carousel-direction="rtl"].nebula-product-carousel-overflowing .nebula-product-column { scroll-snap-align:end; }
.storefront-catalog.nebula-order-products .nebula-product-column { display:flex; min-width:0; max-width:none; flex:initial; padding:0; }
.storefront-catalog.nebula-order-products .nebula-products-grid .product.nebula-product-card { position:relative; display:flex; width:100%; min-width:0; min-height:540px; flex-direction:column; overflow:hidden; margin:0; border:1px solid rgb(111 151 214 / .58); border-radius:17px; background:linear-gradient(155deg,rgb(23 34 61 / .48),rgb(10 17 34 / .30)); color:#f3f6ff; box-shadow:0 18px 42px rgb(1 5 15 / .28),inset 0 1px rgb(255 255 255 / .06); backdrop-filter:blur(16px) saturate(138%); transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.storefront-catalog.nebula-order-products .nebula-products-grid .product.nebula-product-card:hover { transform:translateY(-3px); border-color:rgb(123 222 239 / .7); box-shadow:0 24px 48px rgb(1 5 15 / .35),0 0 24px rgb(72 150 225 / .12); }
.storefront-catalog.nebula-order-products .nebula-products-grid .nebula-product-card:has(.nebula-plan-featured) { border-color:rgb(109 216 247 / .86); box-shadow:0 0 0 1px rgb(157 102 245 / .4),0 18px 42px rgb(1 5 15 / .32),0 0 32px rgb(58 193 233 / .18); }
.storefront-catalog.nebula-order-products .nebula-products-grid .nebula-product-card .nebula-product-header { position:relative; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:9px; min-height:126px; padding:22px 20px 10px; border-bottom:0; background:radial-gradient(ellipse at 50% 0%,rgb(88 111 205 / .25),transparent 72%); flex-direction:column; text-align:center; color:#f3f6ff; }
.storefront-catalog.nebula-order-products .nebula-products-grid .nebula-product-card .nebula-product-header h2 { margin:0; background:transparent; color:#f3f6ff; font-size:clamp(20px,2vw,24px); font-weight:720; line-height:1.25; overflow-wrap:anywhere; }
.storefront-catalog.nebula-order-products .nebula-product-tagline { max-width:32ch; margin:0; color:#c9d2e8; font-size:13px; line-height:1.45; text-align:center; }
.storefront-catalog.nebula-order-products .nebula-plan-featured { position:absolute; top:11px; right:11px; padding:5px 8px; border:1px solid rgb(121 231 247 / .6); border-radius:999px; background:linear-gradient(110deg,rgb(30 145 181 / .84),rgb(96 72 194 / .88)); color:#effcff; font-size:9px; font-weight:800; letter-spacing:.07em; box-shadow:0 0 16px rgb(74 184 241 / .2); }
.storefront-catalog.nebula-order-products .nebula-products-grid .nebula-product-card .nebula-product-header .nebula-stock { flex:none; padding:5px 8px; border:1px solid #3d765f; border-radius:999px; background:#173327; color:#ddfff0; font-size:12px; font-weight:650; }
.storefront-catalog.nebula-order-products .nebula-products-grid .nebula-product-card .nebula-product-description { float:none; width:100%; flex:1 1 auto; padding:16px 22px 18px; border-top:1px solid rgb(100 126 183 / .28); background:transparent; color:#e8edf9; font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
.storefront-catalog.nebula-order-products .nebula-products-grid .nebula-product-card .nebula-product-description :is(p,div,span,li,small,strong,em) { background:transparent; color:#dbe4f4; }
.storefront-catalog.nebula-order-products .nebula-product-copy-kicker { margin:0 0 5px; color:#87e9ef!important; font-size:11px; font-weight:750; letter-spacing:.035em; }
.storefront-catalog.nebula-order-products .nebula-product-summary { margin:0 0 10px; color:#d5def0!important; font-size:12px; line-height:1.45; }
.storefront-catalog.nebula-order-products .nebula-product-rich-source { display:none; }
.storefront-catalog.nebula-order-products .nebula-product-rich-content { padding:13px 0 2px; color:#d5deef; font-size:12px; line-height:1.55; overflow-wrap:anywhere; }
.storefront-catalog.nebula-order-products .nebula-product-rich-content :where(*) { max-width:100%; background:transparent; color:inherit; }
.storefront-catalog.nebula-order-products .nebula-product-rich-content :is(h1,h2,h3,h4,h5,h6,strong,b) { color:#f3f6ff; }
.storefront-catalog.nebula-order-products .nebula-product-rich-content :is(p,div) { margin:0 0 8px; }
.storefront-catalog.nebula-order-products .nebula-product-rich-content :is(ul,ol) { margin:8px 0; padding-left:20px; }
.storefront-catalog.nebula-order-products .nebula-product-rich-content a { color:#c6bcff; text-decoration:underline; text-underline-offset:2px; }
.storefront-catalog.nebula-order-products .nebula-products-grid .nebula-product-card .nebula-feature-list { display:grid; gap:7px; margin:12px 0 0; padding:0; list-style:none; }
.storefront-catalog.nebula-order-products .nebula-products-grid .nebula-product-card .nebula-feature-list li { display:flex; align-items:flex-start; gap:9px; margin:0; padding:0; color:#d9e3f4; line-height:1.4; }
.storefront-catalog.nebula-order-products .nebula-products-grid .nebula-product-card .nebula-feature-check { display:grid; flex:none; width:18px; height:18px; place-items:center; margin-top:1px; border:1px solid rgb(70 229 201 / .46); border-radius:50%; background:rgb(17 126 117 / .28); color:#70f1d4; font-size:11px; font-weight:850; line-height:1; }
.storefront-catalog.nebula-order-products .nebula-products-grid .nebula-product-card .nebula-feature-negative .nebula-feature-check { border-color:rgb(244 111 147 / .5); background:rgb(123 33 66 / .3); color:#ff9db6; }
.storefront-catalog.nebula-order-products .nebula-product-more { margin-top:10px; }
.storefront-catalog.nebula-order-products .nebula-product-more > summary,.storefront-catalog.nebula-order-products .nebula-product-full-description > summary { display:list-item; padding:7px 0; color:#b8c7e3; cursor:pointer; font-size:11px; font-weight:700; }
.storefront-catalog.nebula-order-products .nebula-product-more > summary:hover,.storefront-catalog.nebula-order-products .nebula-product-full-description > summary:hover { color:#8ff5ed; }
.storefront-catalog.nebula-order-products .nebula-product-full-description { margin-top:11px; border-top:1px solid rgb(100 126 183 / .18); }
.storefront-catalog.nebula-order-products .nebula-products-grid .nebula-product-card .nebula-plan-icon { display:grid; width:64px; height:64px; place-items:center; border:1px solid rgb(139 142 255 / .64); border-radius:14px; background:#182b4b; color:#b6eaff; box-shadow:0 0 28px rgb(79 127 255 / .22),inset 0 1px rgb(255 255 255 / .18); }
.storefront-catalog.nebula-order-products .nebula-plan-icon svg { width:48px; height:48px; }
.storefront-catalog.nebula-order-products .nebula-plan-icon svg path:first-child { fill:currentColor!important; }
.storefront-catalog.nebula-order-products .nebula-plan-icon svg path:not(:first-child) { fill:none!important; }
.storefront-catalog.nebula-order-products .nebula-product-column:nth-child(3n + 1) .nebula-plan-icon { color:#b4b9ff; filter:drop-shadow(0 0 7px rgb(139 215 255 / .68)); }
.storefront-catalog.nebula-order-products .nebula-product-column:nth-child(3n + 2) .nebula-plan-icon { color:#89f2ff; filter:drop-shadow(0 0 7px rgb(87 230 242 / .68)); }
.storefront-catalog.nebula-order-products .nebula-product-column:nth-child(3n) .nebula-plan-icon { color:#e0b4ff; filter:drop-shadow(0 0 7px rgb(216 156 255 / .68)); }
.storefront-catalog.nebula-order-products .nebula-product-description p { margin:0 0 14px; }
.storefront-catalog.nebula-order-products .nebula-product-description ul { margin:12px 0 0; padding-left:20px; }
.storefront-catalog.nebula-order-products .nebula-product-description li { margin:0 0 8px; }
.storefront-catalog.nebula-order-products .nebula-product-description a { color:#a995ff; }
.storefront-catalog.nebula-order-products .nebula-products-grid .nebula-product-card .nebula-product-footer { float:none; width:100%; margin:auto 0 0; display:flex; flex-direction:column; align-items:stretch; gap:9px; padding:14px 19px 19px; border-top:1px solid rgb(100 126 183 / .18); background:linear-gradient(180deg,transparent,rgb(8 15 32 / .24)); color:#f3f6ff; }
.storefront-catalog.nebula-order-products .nebula-products-grid .nebula-product-card .nebula-product-pricing { display:flex; min-height:76px; flex-direction:column; align-items:center; justify-content:center; gap:2px; padding:9px 18px 14px; text-align:center; background:transparent; color:#dbe4f4; font-size:14px; line-height:1.35; }
.storefront-catalog.nebula-order-products .nebula-products-grid .nebula-product-card .nebula-product-pricing .price { display:block; max-width:100%; background:transparent; color:#fff; font-size:clamp(28px,3vw,36px); font-weight:780; letter-spacing:-.04em; line-height:1.15; overflow-wrap:anywhere; }
.storefront-catalog.nebula-order-products .nebula-price-cycle { color:#c8d1e6; font-size:12px; }
.storefront-catalog.nebula-order-products .nebula-price-prefix { color:#c8d1e6; font-size:12px; }
.storefront-catalog.nebula-order-products .nebula-setup-fee { color:#c1cce2; font-size:11px; }
.storefront-catalog.nebula-order-products .nebula-order-unavailable { display:flex; min-height:46px; align-items:center; justify-content:center; border:1px solid #52617a; border-radius:10px; background:rgb(39 51 73 / .86); color:#c7d0e2; font-weight:700; }
.storefront-catalog.nebula-order-products .nebula-product-pricing small { color:#c1cce2; font-size:12px; }
.storefront-catalog.nebula-order-products .nebula-products-grid .nebula-product-card .nebula-order-button { display:flex; min-height:46px; align-items:center; justify-content:center; gap:8px; padding:10px 16px; border:1px solid rgb(194 188 255 / .7); border-radius:10px; background:linear-gradient(105deg,#38c9f2,#9a68f5 66%,#cc53de); color:#0c1226; font-size:14px; font-weight:750; text-align:center; text-decoration:none; box-shadow:0 10px 24px rgb(93 88 224 / .2); }
.storefront-catalog.nebula-order-products .nebula-products-grid .nebula-product-card .nebula-order-button:hover { border-color:#d2f9ff; background:linear-gradient(105deg,#62dbfa,#ad83ff 66%,#d97bec); color:#0a1023; }
.storefront-catalog.nebula-order-products .nebula-products-grid .nebula-product-card .nebula-order-button:focus-visible { outline-color:#8ff5ed; }.storefront-catalog { padding-top:1rem; }
.storefront-catalog .catalog-controls { position:relative; z-index:3; display:flex; justify-content:center; align-items:center; flex-wrap:nowrap; gap:.65rem; margin:0 auto 1.2rem; width:max-content; max-width:100%; padding:.35rem; border:1px solid #465b85; border-radius:.9rem; background:rgb(15 24 45 / .58); backdrop-filter:blur(12px); }
.storefront-catalog .catalog-category { position:relative; min-width:0; }
.storefront-catalog .catalog-category summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; cursor:pointer; list-style:none; padding:.7rem 1rem; border:1px solid #4a5b7e; border-radius:.6rem; background:rgb(25 37 61 / .82); font-size:.8rem; font-weight:700; }
.storefront-catalog .catalog-category nav { position:absolute; z-index:4; top:calc(100% + .5rem); left:0; width:max-content; max-width:min(22rem,85vw); min-width:15rem; padding:.5rem; border:1px solid #6478a5; border-radius:.8rem; background:#101b32; box-shadow:0 15px 40px #030719aa; }
.storefront-catalog .catalog-category a { display:block; padding:.65rem .8rem; border:1px solid transparent; border-radius:.5rem; font-size:.8rem; text-decoration:none; overflow-wrap:anywhere; }
.storefront-catalog .catalog-category a:hover,.storefront-catalog .catalog-category a[aria-current] { border-color:#8d7be1; background:#383264; color:#fff; }
.storefront-catalog .cycle-control { gap:.5rem; flex-direction:row; width:auto; }
.storefront-catalog .cycle-control label { margin:0; color:#d3dded; font-size:.75rem; }
.storefront-catalog .cycle-control select { min-width:8rem; border-radius:.6rem; background:#16233c; }
.storefront-catalog .currency-menu summary { border-radius:.6rem; background:#16233c; border-color:#4a5b7e; }
.storefront-catalog .catalog-notice { text-align:center; margin:0 0 1.1rem; color:#c4d0e5; font-size:.73rem; }
.storefront-catalog .nebula-product-column[hidden] { display:none!important; }
.storefront-catalog .nebula-product-carousel-button { font-size:2rem; line-height:1; }
.storefront-catalog .catalog-detail-link { text-align:center; font-size:.72rem; color:#baccdf; }
.storefront-catalog .nebula-order-button:disabled { border-color:#596a86; background:#27344c; color:#d2dbee; box-shadow:none; cursor:not-allowed; }
.storefront-catalog .plan-card .config-options-note { color:#baccdf; font-size:.72rem; margin:.3rem 0 0; }
@media(max-width:620px) { .storefront-catalog { padding-top:2.5rem; }.storefront-catalog .catalog-controls { width:100%; gap:.35rem; }.storefront-catalog .catalog-category summary { padding:.65rem .55rem; font-size:.73rem; gap:.4rem; }.storefront-catalog .cycle-control { gap:.35rem; }.storefront-catalog .cycle-control label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }.storefront-catalog .cycle-control select { min-width:0; width:7rem; padding-inline:.55rem; font-size:.73rem; }.storefront-catalog .currency-menu summary { padding:.65rem .55rem; font-size:.73rem; }.storefront-catalog .nebula-product-carousel-status { margin-right:auto; font-size:.7rem; }.storefront-catalog .nebula-product-carousel-button { width:48px; height:48px; }.storefront-catalog .nebula-product-card { min-height:0!important; } }
