/* OceanVPS Home Catalogue v1.1.4 — all rules scoped under .ovpsc
   Palette sampled from the supplied reference screenshot (reference/reference.png). */

/* Poppins (SIL Open Font License 1.1, see ../fonts/OFL.txt + FONTS-README.txt), served from this plugin — no CDN.
   Local alias "Poppins OVPSC" so it never clashes with a Poppins the theme may load. Latin subset; other
   characters fall back to the next font in the stack. font-display:swap keeps text visible while loading. */
@font-face{font-family:"Poppins OVPSC";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/poppins-latin-400.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Poppins OVPSC";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/poppins-latin-500.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Poppins OVPSC";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/poppins-latin-600.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Poppins OVPSC";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/poppins-latin-700.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Poppins OVPSC";font-style:normal;font-weight:800;font-display:swap;src:url("../fonts/poppins-latin-800.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
.ovpsc{--bg:#00110f;--bg2:#000c0a;--panel:#08221e;--panel2:#0b2b25;--tab-on:#026d54;--line:rgba(20,137,107,.55);--line2:rgba(34,211,197,.5);--acc:#2fe39a;--acc2:#057254;--accb:#1f9d78;--tq:#22d3c5;--mint:#8cf5cf;--win:#2a9df4;--txt:#fff;--mut:#a3bdb4;--dim:#6b857a;
	position:relative;box-sizing:border-box;color:var(--txt);font-family:"Poppins OVPSC","Poppins","Inter","Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;line-height:1.35;background:var(--bg)}
.ovpsc *,.ovpsc *::before,.ovpsc *::after{box-sizing:border-box}
.ovpsc h2,.ovpsc h3,.ovpsc p,.ovpsc ul{margin:0;padding:0}
.ovpsc ul{list-style:none}
:where(.ovpsc) button{font:inherit;color:inherit;cursor:pointer}
.ovpsc a{text-decoration:none}
.ovpsc .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.ovpsc .ovpsc-ico{flex:none;width:20px;height:20px;color:var(--acc)}
.ovpsc [hidden]{display:none!important}
.ovpsc strong{font-weight:700}

/* layout: full = edge-to-edge band (default), boxed = framed card */
/* Full-bleed breakout. !important beats block-theme "constrained layout" auto-margins; catalogue.js then
   measures the real offset and corrects any residual (asymmetric parents, scrollbar width). */
.ovpsc.ovpsc--full{position:relative;left:50%;right:50%;width:100vw;max-width:none;margin-left:-50vw!important;margin-right:-50vw!important;padding-bottom:24px;overflow:hidden}
.ovpsc--boxed{max-width:1240px;margin:0 auto;border:1px solid var(--line);border-radius:16px;overflow:hidden;padding-bottom:16px}
.ovpsc__inner{max-width:1280px;margin:0 auto;padding:0 20px}
.ovpsc-notice{margin:12px 0 0;padding:10px 14px;border:1px solid var(--line2);border-radius:10px;background:rgba(34,211,197,.08);color:#d6fff0;font-size:14px}
.ovpsc .ovpsc-guest-note{margin:10px 0 0;padding:8px 12px;border:1px solid var(--line2);border-radius:8px;background:rgba(34,211,197,.08);color:#d6fff0;font-family:inherit;font-size:13px;font-weight:400;line-height:1.4;text-align:start}

/* hero — solid dark; a rack photo is layered in only when the owner supplies an image URL */
.ovpsc-hero{position:relative;min-height:300px;background:var(--bg2);border-bottom:1px solid var(--line);overflow:hidden}
.ovpsc-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;z-index:0}
.ovpsc-hero::after{content:"";position:absolute;inset:0;z-index:0;background:rgba(0,12,10,.35)}
.ovpsc-hero__in{position:relative;z-index:1;display:grid;grid-template-columns:1fr 240px;gap:24px;align-items:center;max-width:1280px;margin:0 auto;padding:22px 20px 18px;min-height:300px}
.ovpsc-eyebrow{display:inline-flex;align-items:center;gap:7px;margin-bottom:14px;padding:5px 14px;border:1px solid var(--acc);border-radius:999px;background:rgba(47,227,154,.06);color:var(--acc);font-size:12px;font-weight:700;letter-spacing:.04em}
.ovpsc-eyebrow .ovpsc-ico{width:14px;height:14px}
.ovpsc-hero__title{font-size:clamp(30px,4.1vw,54px);line-height:1.1;font-weight:800;color:#fff;letter-spacing:-.015em}
.ovpsc-hero__title span{display:block;color:var(--acc)}
.ovpsc-hero__text{max-width:600px;margin-top:12px;color:#e3efe9;font-size:15.5px;line-height:1.5}
.ovpsc-hero__links{display:grid;gap:8px}
.ovpsc-hero__link{display:flex;align-items:center;gap:12px;width:100%;padding:11px 14px;text-align:left;border:1px solid var(--line);border-radius:10px;background:rgba(5,28,23,.88)}
.ovpsc-hero__link .ovpsc-ico{width:36px;height:36px;color:var(--mint)}
.ovpsc-hero__link:hover,.ovpsc-hero__link:focus-visible{border-color:var(--acc);box-shadow:0 0 16px rgba(47,227,154,.3)}
.ovpsc-hero__link strong{display:block;font-size:16px;line-height:1.2}
.ovpsc-hero__link small{display:block;font-size:11.5px;line-height:1.25}

/* OS icon colouring: Windows is blue as in the reference */
.ovpsc .ovpsc-ico--windows{fill:currentColor;stroke:none}
.ovpsc-tab[data-ovpsc-tab="windows"] .ovpsc-ico,.ovpsc-hero__link[data-ovpsc-tab="windows"] .ovpsc-ico{color:var(--win)}
.ovpsc-tab[data-ovpsc-tab="linux"] .ovpsc-ico,.ovpsc-hero__link[data-ovpsc-tab="linux"] .ovpsc-ico{color:#fff}

/* feature strips */
.ovpsc-strip strong{display:block;color:#fff;font-size:13.5px;line-height:1.25}
.ovpsc-strip small{display:block;color:var(--mut);font-size:12px;line-height:1.25}
.ovpsc-strip__item{display:flex;align-items:center;gap:10px;padding:6px 4px}
.ovpsc-strip--hero{display:flex;flex-wrap:wrap;gap:8px 26px;margin-top:22px}
.ovpsc-strip--hero .ovpsc-ico{width:36px;height:36px;color:var(--acc)}
.ovpsc-strip--hero strong{font-weight:500;font-size:13.5px}
.ovpsc-strip--hero small{color:#fff;font-size:13.5px}
.ovpsc-strip--top{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px 10px;margin-top:12px}
.ovpsc-strip--foot{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:6px 12px;margin-top:20px;padding:6px 10px;border:1px solid var(--line);border-radius:12px;background:var(--bg2)}
.ovpsc-strip--foot .ovpsc-ico{width:34px;height:34px;color:var(--acc)}
.ovpsc-strip--foot strong{font-size:13px}

/* tabs */
.ovpsc-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:14px}
.ovpsc-tab{display:flex;align-items:center;justify-content:center;gap:14px;min-height:66px;padding:10px 14px;text-align:left;border:1px solid var(--line);border-radius:8px;background:#001512}
.ovpsc-tab .ovpsc-ico{width:40px;height:40px;color:var(--mint)}
.ovpsc-tab strong{display:block;color:#fff;font-size:17px;line-height:1.2;font-weight:600}
.ovpsc-tab small{display:block;color:var(--mut);font-size:13px;line-height:1.25}
.ovpsc-tab:hover{border-color:var(--line2)}
.ovpsc-tab.is-active{border-color:#14896b;background:var(--tab-on);box-shadow:0 0 18px rgba(47,227,154,.22)}
.ovpsc-tab.is-active .ovpsc-ico{color:#fff}
.ovpsc-tab.is-active[data-ovpsc-tab="windows"] .ovpsc-ico{color:var(--win)}

/* filters — one row on desktop */
.ovpsc-filters{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.ovpsc-select{position:relative;flex:1 1 150px;min-width:0;display:block}
.ovpsc-select>.ovpsc-ico{position:absolute;left:14px;top:50%;width:17px;height:17px;margin-top:-8.5px;color:var(--tq);pointer-events:none}
.ovpsc select,.ovpsc input[type=search]{width:100%;height:40px;padding:0 12px;color:#fff;font:inherit;font-size:13.5px;background:#07211e;border:1px solid var(--line);border-radius:6px;outline:0;-webkit-appearance:none;appearance:none}
.ovpsc-select select{padding-left:40px;padding-right:30px;text-overflow:ellipsis;background-image:linear-gradient(45deg,transparent 50%,#fff 50%),linear-gradient(135deg,#fff 50%,transparent 50%);background-position:calc(100% - 17px) 17px,calc(100% - 12px) 17px;background-size:5px 5px;background-repeat:no-repeat}
.ovpsc select option{background:#07211e;color:#fff}
.ovpsc select:focus,.ovpsc input[type=search]:focus{border-color:var(--acc);box-shadow:0 0 0 2px rgba(47,227,154,.18)}
.ovpsc-search{position:relative;flex:1.8 1 260px;display:block}
.ovpsc-search input{padding-right:56px;color:#fff}
.ovpsc-search input::placeholder{color:#7f968d}
.ovpsc-search__btn{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;width:52px;height:40px;border-radius:0 6px 6px 0;background:#3beda6}
.ovpsc-search__btn .ovpsc-ico{color:#02130d;width:20px;height:20px}
@media (min-width:1000px){.ovpsc-filters{flex-wrap:nowrap}}

/* popular series */
.ovpsc-popular{margin-top:22px}
.ovpsc-popular__head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:10px}
.ovpsc-popular h3,.ovpsc-bar h3{font-size:24px;font-weight:700;color:#fff;line-height:1.2}
.ovpsc-popular__head p,.ovpsc-bar__sub,.ovpsc-bar__count{color:var(--mut);font-size:14px}
.ovpsc-bar__count{font-size:12.5px;color:var(--dim)}
.ovpsc-viewall{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border:1px solid var(--acc);border-radius:8px;background:transparent;color:#fff;font-size:13.5px}
.ovpsc-viewall .ovpsc-ico{width:14px;height:14px;color:#fff}
.ovpsc-popular__wrap{position:relative;padding:0 38px}
.ovpsc-popular__row{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:none;scroll-behavior:smooth}
.ovpsc-popular__row::-webkit-scrollbar{display:none}
.ovpsc-popular__nav{position:absolute;top:50%;margin-top:-20px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line2);border-radius:50%;background:var(--bg2)}
.ovpsc-popular__nav--prev{left:0}.ovpsc-popular__nav--next{right:0}
.ovpsc-popular__nav .ovpsc-ico{width:15px;height:15px;color:#fff}
.ovpsc-popular__row button{display:flex;align-items:center;gap:10px;min-width:124px;padding:9px 12px;text-align:left;border:1px solid var(--line);border-radius:8px;background:#07211e}
.ovpsc-popular__row .ovpsc-ico{width:17px;height:17px;color:var(--tq)}
.ovpsc-popular__row button:hover{border-color:var(--acc)}
.ovpsc-popular__row button.is-active{border-color:var(--acc);background:#115144;box-shadow:0 0 14px rgba(47,227,154,.25)}
.ovpsc-popular__row strong{display:block;font-size:14px;color:#fff;line-height:1.2;font-weight:500}
.ovpsc-popular__row small{display:block;font-size:12px;color:var(--mut);line-height:1.2}

/* results bar */
.ovpsc-bar{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:22px 0 12px}
.ovpsc-bar__tools{display:flex;align-items:center;gap:10px}
.ovpsc-sort{display:flex;align-items:center;gap:10px;color:#e3efe9;font-size:13.5px}
.ovpsc-sort select{width:auto;min-width:150px;height:38px;font-size:13.5px;padding-left:12px;padding-right:30px;border-radius:6px}
.ovpsc-view{display:flex;gap:0;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.ovpsc-view button{display:flex;align-items:center;justify-content:center;width:40px;height:38px;border:0;background:#07211e}
.ovpsc-view button .ovpsc-ico{width:18px;height:18px;color:#fff}
.ovpsc-view button.is-active{background:#3beda6}
.ovpsc-view button.is-active .ovpsc-ico{color:#02130d}

/* grid + cards (v1.1.2)
   Geometry comes from tokens on .ovpsc (changed per breakpoint at the end of this block). Every card rule is scoped as
   ".ovpsc .ovpsc-card ..." (specificity 0,3,0 and up; the card box itself is ".ovpsc .ovpsc-grid .ovpsc-card") and states the properties a theme or page builder normally controls
   (font-family/size/weight, line-height, margin, padding, list-style, text-decoration, text-transform, letter-spacing,
   height, border, shadow), so ordinary rules for h3, p, ul, li, a, img, article, button (up to 0,2,2) cannot resize or
   restyle a card. Nothing outside .ovpsc is touched. Only the long-standing link colour keeps !important. */
.ovpsc{--ovpsc-cols:4;--ovpsc-gap:14px;--ovpsc-media-h:88px;--ovpsc-title:17px;--ovpsc-text:13px;--ovpsc-btn-h:30px;--ovpsc-btn-fs:13.5px;--ovpsc-pad:6px 12px 10px}
.ovpsc .ovpsc-grid{display:grid;grid-template-columns:repeat(var(--ovpsc-cols),minmax(0,1fr));gap:var(--ovpsc-gap);width:auto;max-width:none;min-height:0;margin:0;padding:0;list-style:none;transition:opacity .15s}
.ovpsc .ovpsc-grid.is-loading{opacity:.55}
.ovpsc .ovpsc-grid .ovpsc-card{display:flex;flex-direction:column;float:none;width:auto;min-width:0;max-width:none;height:auto;min-height:0;margin:0;padding:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#09231e;box-shadow:none;color:var(--txt);text-align:start;transition:box-shadow .2s,border-color .2s}
.ovpsc .ovpsc-grid .ovpsc-card:hover{border-color:var(--acc);box-shadow:0 0 18px rgba(47,227,154,.2)}
.ovpsc .ovpsc-grid .ovpsc-card.is-out{border-color:#26382f}
.ovpsc .ovpsc-grid .ovpsc-card.is-out:hover{border-color:#3a4f45;box-shadow:none}

/* image strip: fixed height, never driven by the image */
.ovpsc .ovpsc-card .ovpsc-card__media{position:relative;flex:none;height:var(--ovpsc-media-h);min-height:0;max-height:var(--ovpsc-media-h);margin:0;padding:0;border:0;background:#031009;overflow:hidden}
.ovpsc .ovpsc-card .ovpsc-card__media img{display:block;position:static;float:none;width:100%;height:100%;min-width:0;min-height:0;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;object-fit:cover;object-position:center;vertical-align:top}
.ovpsc .ovpsc-card.is-out .ovpsc-card__media img{filter:grayscale(.7) brightness(.75)}
.ovpsc .ovpsc-card .ovpsc-badge{position:absolute;top:8px;left:8px;display:inline-flex;align-items:center;gap:5px;margin:0;padding:4px 10px;border-radius:5px;font-family:inherit;font-size:11px;font-weight:800;line-height:1.35;letter-spacing:.03em;text-transform:uppercase;text-decoration:none;white-space:nowrap}
.ovpsc .ovpsc-card .ovpsc-dot{display:inline-block;width:7px;height:7px;margin:0;padding:0;border-radius:50%;background:#02130d;font-size:0;line-height:0}
.ovpsc .ovpsc-card .ovpsc-badge--in{color:#02130d;background:#3beda6;border:0}
.ovpsc .ovpsc-card .ovpsc-badge--out{color:#cfd8d4;background:rgba(28,34,32,.9);border:1px solid #4b5753}
.ovpsc .ovpsc-card .ovpsc-os{position:absolute;left:10px;bottom:-4px;display:flex;align-items:center;justify-content:center;width:38px;height:38px;margin:0;padding:0}
.ovpsc .ovpsc-card .ovpsc-os .ovpsc-ico{width:34px;height:34px;color:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.6))}
.ovpsc .ovpsc-card .ovpsc-os.ovpsc-os--windows .ovpsc-ico{color:var(--win)}
.ovpsc .ovpsc-card .ovpsc-os--proxy .ovpsc-ico{color:var(--acc)}
.ovpsc .ovpsc-card .ovpsc-os--servers .ovpsc-ico{color:var(--mut)}
.ovpsc .ovpsc-card.is-out .ovpsc-os .ovpsc-ico{opacity:.75}

/* body */
.ovpsc .ovpsc-card .ovpsc-card__body{display:flex;flex:1 1 auto;flex-direction:column;gap:5px;min-width:0;margin:0;padding:var(--ovpsc-pad);border:0;background:none}
.ovpsc .ovpsc-card .ovpsc-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin:0;padding:0}
.ovpsc .ovpsc-card .ovpsc-card__title{min-width:0;margin:0;padding:2px 0 0;border:0;background:none;font-family:inherit;font-size:var(--ovpsc-title);font-weight:700;line-height:1.2;letter-spacing:0;text-transform:none;text-decoration:none;color:#fff;word-break:break-word}
.ovpsc .ovpsc-card .ovpsc-pin{flex:none;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;margin:0;padding:0;border-radius:50%;border:1px solid var(--line2);background:rgba(34,211,197,.1)}
.ovpsc .ovpsc-card .ovpsc-pin .ovpsc-ico{width:15px;height:15px;color:var(--tq)}
.ovpsc .ovpsc-card .ovpsc-card__sub{margin:0;padding:0;font-family:inherit;font-size:var(--ovpsc-text);font-weight:400;line-height:1.25;letter-spacing:0;text-transform:none;color:var(--mut)}
.ovpsc .ovpsc-card .ovpsc-specs{display:flex;flex-wrap:wrap;align-items:center;margin:0;padding:0;list-style:none;font-family:inherit;font-size:var(--ovpsc-text);font-weight:400;line-height:1.25;color:#fff}
.ovpsc .ovpsc-card .ovpsc-specs li{display:flex;align-items:center;gap:7px;min-height:0;margin:0;padding:0;border:0;background:none;list-style:none;font-size:inherit;line-height:inherit}
.ovpsc .ovpsc-card .ovpsc-specs li+li{margin-left:12px;padding-left:12px;border-left:1px solid rgba(255,255,255,.25)}
.ovpsc .ovpsc-card .ovpsc-specs li::before,.ovpsc .ovpsc-card .ovpsc-chips li::before{content:none}
.ovpsc .ovpsc-card .ovpsc-specs .ovpsc-ico,.ovpsc .ovpsc-card .ovpsc-card__type .ovpsc-ico{width:16px;height:16px;color:#fff}
.ovpsc .ovpsc-card .ovpsc-card__type{display:flex;align-items:center;gap:7px;min-width:0;margin:0;padding:0;font-family:inherit;font-size:var(--ovpsc-text);font-weight:400;line-height:1.25;letter-spacing:0;text-transform:none;color:var(--mut)}
.ovpsc .ovpsc-card .ovpsc-card__type span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ovpsc .ovpsc-card .ovpsc-configs{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;margin:0;padding:0}
.ovpsc .ovpsc-card .ovpsc-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.ovpsc .ovpsc-card .ovpsc-chips li{min-width:36px;min-height:0;margin:0;padding:3px 10px;border:1px solid rgba(255,255,255,.55);border-radius:4px;background:#001512;list-style:none;font-family:inherit;font-size:var(--ovpsc-text);font-weight:400;line-height:1.25;color:#fff;text-align:center}
.ovpsc .ovpsc-card .ovpsc-chips li.is-off{color:var(--dim);text-decoration:line-through;border-color:var(--line)}
.ovpsc .ovpsc-card .ovpsc-chips .ovpsc-chips__more{color:var(--mut)}
.ovpsc .ovpsc-card .ovpsc-chips li.is-pick{cursor:pointer;transition:border-color .15s,background .15s}
.ovpsc .ovpsc-card .ovpsc-chips li.is-pick:hover{border-color:var(--acc)}
.ovpsc .ovpsc-card .ovpsc-chips li.is-pick.is-selected{border-color:var(--acc);background:rgba(47,227,154,.18);box-shadow:inset 0 0 0 1px var(--acc)}
.ovpsc .ovpsc-card .ovpsc-chips li.is-pick:focus-visible{outline:2px solid var(--acc);outline-offset:1px}
.ovpsc .ovpsc-card .ovpsc-configs__count{margin:0;padding:0;font-size:11.5px;line-height:1.25;color:var(--dim)}
.ovpsc .ovpsc-card .ovpsc-card__actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin:auto 0 0;padding:8px 0 0}

/* card buttons (the generic .ovpsc-btn below still serves Load More and other non-card buttons) */
.ovpsc .ovpsc-card .ovpsc-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;width:auto;height:var(--ovpsc-btn-h);min-height:var(--ovpsc-btn-h);margin:0;padding:0 10px;white-space:nowrap;border-radius:5px;border:1px solid rgba(214,232,225,.55);background:#001512;box-shadow:none;font-family:inherit;font-size:var(--ovpsc-btn-fs);font-weight:500;line-height:1;letter-spacing:0;text-transform:none;text-decoration:none;text-align:center;color:#fff!important;transition:background .15s,box-shadow .15s}
.ovpsc .ovpsc-card .ovpsc-btn .ovpsc-ico{width:14px;height:14px;color:currentColor}
.ovpsc .ovpsc-card .ovpsc-btn--ghost:hover{background:rgba(34,211,197,.12)}
.ovpsc .ovpsc-card .ovpsc-btn--primary{background:var(--acc2);border-color:var(--accb);color:#fff!important}
.ovpsc .ovpsc-card .ovpsc-btn--primary:hover{box-shadow:0 0 14px rgba(47,227,154,.45);background:#06825f}
.ovpsc .ovpsc-card .ovpsc-btn--disabled{background:#414445;border-color:#4b5052;color:#98a39e!important;cursor:not-allowed}

/* generic buttons (Load More etc.) */
.ovpsc-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:28px;padding:0 10px;white-space:nowrap;border-radius:5px;border:1px solid rgba(214,232,225,.55);font-size:13.5px;font-weight:500;text-align:center;color:#fff!important;background:#001512;transition:background .15s,box-shadow .15s}
.ovpsc-btn .ovpsc-ico{width:14px;height:14px;color:currentColor}
.ovpsc-btn--ghost:hover{background:rgba(34,211,197,.12)}
.ovpsc-btn--primary{background:var(--acc2);border-color:var(--accb);color:#fff!important}
.ovpsc-btn--primary:hover{box-shadow:0 0 14px rgba(47,227,154,.45);background:#06825f}
.ovpsc-btn--disabled{color:#98a39e!important;background:#414445;border-color:#4b5052;cursor:not-allowed}
.ovpsc-empty{padding:26px;text-align:center;color:var(--mut);border:1px dashed var(--line);border-radius:10px;font-size:14px}
.ovpsc-more{display:flex;justify-content:center;margin-top:16px}
.ovpsc-more .ovpsc-btn{min-width:170px;min-height:38px}

/* list view */
.ovpsc .ovpsc-grid.is-list{--ovpsc-cols:1}
.ovpsc .ovpsc-grid.is-list .ovpsc-card{flex-direction:row}
.ovpsc .ovpsc-grid.is-list .ovpsc-card .ovpsc-card__media{flex:0 0 220px;height:auto;min-height:130px;max-height:none}
.ovpsc .ovpsc-grid.is-list .ovpsc-card .ovpsc-card__actions{max-width:320px}

/* card tokens per width: 4 columns desktop, 3 tablet, 2 small tablet / phone, 1 only when two cards cannot fit */
@media (max-width:1180px){.ovpsc{--ovpsc-cols:3}}
@media (max-width:720px){.ovpsc{--ovpsc-cols:2;--ovpsc-gap:12px;--ovpsc-media-h:80px;--ovpsc-btn-h:28px;--ovpsc-title:15px;--ovpsc-text:12.5px;--ovpsc-btn-fs:13px}}
@media (max-width:479px){
	.ovpsc{--ovpsc-gap:10px;--ovpsc-media-h:72px;--ovpsc-title:14px;--ovpsc-text:12px;--ovpsc-btn-fs:12.5px;--ovpsc-pad:6px 10px 10px}
	.ovpsc .ovpsc-card .ovpsc-card__actions{grid-template-columns:1fr;gap:6px}
	.ovpsc .ovpsc-card .ovpsc-chips{gap:4px}
	.ovpsc .ovpsc-card .ovpsc-chips li{min-width:30px;padding:2px 6px}
	.ovpsc .ovpsc-card .ovpsc-specs li{gap:5px}
	.ovpsc .ovpsc-card .ovpsc-specs li+li{margin-left:6px;padding-left:6px}
	.ovpsc .ovpsc-card .ovpsc-specs .ovpsc-ico,.ovpsc .ovpsc-card .ovpsc-card__type .ovpsc-ico{width:14px;height:14px}
	.ovpsc .ovpsc-card .ovpsc-badge{top:6px;left:6px;padding:3px 8px;font-size:10px}
}
@media (max-width:339px){.ovpsc{--ovpsc-cols:1;--ovpsc-media-h:80px}}

/* responsive (the card grid columns and card sizes are the tokens above) */
@media (max-width:900px){
	/* Narrow screens show the bright right-hand racks behind the text: darker overlay keeps the headline legible (AA). */
	.ovpsc-hero::after{background:rgba(0,12,10,.5)}
	.ovpsc-hero__in{grid-template-columns:1fr;padding-top:24px}
	.ovpsc-hero__links{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
	.ovpsc-tabs{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){
	.ovpsc__inner,.ovpsc-hero__in{padding-left:14px;padding-right:14px}
	.ovpsc-hero__in{min-height:0}
	.ovpsc-hero__title{font-size:30px}
	.ovpsc-strip--hero{gap:8px 16px}
	.ovpsc-strip--hero .ovpsc-ico{width:28px;height:28px}
	.ovpsc-tab{gap:8px;padding:8px}
	.ovpsc-tab .ovpsc-ico{width:28px;height:28px}
	.ovpsc-tab strong{font-size:14px}
	.ovpsc-select{flex:1 1 100%}
	.ovpsc-popular__wrap{padding:0 30px}
	.ovpsc .ovpsc-grid.is-list .ovpsc-card{flex-direction:column}
	.ovpsc .ovpsc-grid.is-list .ovpsc-card .ovpsc-card__media{flex:none;height:var(--ovpsc-media-h);min-height:0;max-height:var(--ovpsc-media-h)}
	.ovpsc-view{display:none}
}
@media (prefers-reduced-motion:reduce){.ovpsc *{transition:none!important;scroll-behavior:auto!important}}
/* 1.1.5: scoped visibility improvements; disabled products remain non-interactive. */
.ovpsc{--mut:#b9cec5;--dim:#a5bfb3}
.ovpsc .ovpsc-card .ovpsc-btn--disabled,.ovpsc .ovpsc-btn--disabled{background:#b4232d;border-color:#dc5860;color:#fff!important;opacity:1;cursor:not-allowed;pointer-events:none;box-shadow:none}
.ovpsc .ovpsc-card .ovpsc-btn--disabled:hover{background:#b4232d;box-shadow:none}
.ovpsc .ovpsc-card .ovpsc-card__title{font-weight:600;line-height:1.45}
.ovpsc button:focus-visible,.ovpsc a:focus-visible,.ovpsc select:focus-visible,.ovpsc input:focus-visible{outline:3px solid #e0bf6e;outline-offset:3px}
.ovpsc input::placeholder{color:#b1c7be;opacity:1}
@media(max-width:560px){
 .ovpsc{--ovpsc-cols:1;--ovpsc-title:17px;--ovpsc-text:14px;--ovpsc-btn-fs:14px;--ovpsc-btn-h:42px;--ovpsc-media-h:105px;--ovpsc-pad:14px;--ovpsc-gap:16px}
 .ovpsc .ovpsc-card .ovpsc-card__actions{grid-template-columns:1fr 1fr;gap:10px}
 .ovpsc-select select,.ovpsc-search input{min-height:44px}
 .ovpsc-popular__arrow{min-width:36px;min-height:36px}
}
/* 1.1.6: one category selector, clear specs and compact homepage navigation. */
.ovpsc .ovpsc-hero__links{display:none}
.ovpsc .ovpsc-hero__in{grid-template-columns:1fr}
.ovpsc h1.ovpsc-hero__title{margin:0;padding:0}
.ovpsc .ovpsc-card__details{font-size:var(--ovpsc-text);font-weight:400;color:var(--mut);line-height:1.6;margin:6px 0}
.ovpsc-menu-toggle{display:none}
body.page-id-4097 .ovpsc-header-menu nav[hidden]{display:none!important}
@media(max-width:767px){
 body.page-id-4097 header.elementor-location-header .elementor-element-c01af63{padding:8px 12px!important}
 body.page-id-4097 header.elementor-location-header .elementor-element-ab3882f{display:grid!important;grid-template-columns:110px 1fr auto;gap:10px;align-items:center;position:relative;padding:0!important}
 body.page-id-4097 header.elementor-location-header .elementor-element-ddd819e{grid-column:1;grid-row:1;width:auto!important;padding:0!important;margin:0!important}
 body.page-id-4097 header.elementor-location-header .elementor-element-06238e6{grid-column:2;grid-row:1;width:auto!important;padding:0!important;margin:0!important}
 body.page-id-4097 header.elementor-location-header .elementor-element-13f83af{display:none!important}
 body.page-id-4097 header.elementor-location-header .ovpsc-header-menu{grid-column:3;grid-row:1;width:auto!important;padding:0!important;margin:0!important;position:static}
 body.page-id-4097 header.elementor-location-header img{max-width:110px!important;max-height:42px;width:auto;height:auto}
 body.page-id-4097 header.elementor-location-header .elementor-button{padding:10px 12px!important;font-size:12px!important;min-height:42px}
 body.page-id-4097 .ovpsc-menu-toggle{display:block;background:transparent;border:1px solid #b5d4c9;border-radius:7px;color:white;font:600 13px/1.4 system-ui;padding:10px;min-height:42px;cursor:pointer}
 body.page-id-4097 .ovpsc-header-menu nav{position:absolute;top:calc(100% + 8px);left:0;right:0;padding:12px;background:#004d47;border:1px solid #709a89;z-index:999;box-shadow:0 8px 20px #0003}
 body.page-id-4097 .ovpsc-header-menu nav ul{display:flex!important;flex-direction:column;gap:4px;margin:0;padding:0}
 body.page-id-4097 .ovpsc-header-menu nav a{display:block;padding:12px!important;font-size:14px!important;color:white!important}
 body.page-id-4097 .sales-booster-popup{display:none!important}
 body.page-id-4097 .ovpsc-menu-toggle:focus-visible{outline:3px solid #e0bf6e;outline-offset:2px}
}
