/* Speedloc theme on Bootstrap 5.3.8. Legacy product selectors remain for no-JS fallback. */
:root { --bs-primary:#167fa8; --bs-primary-rgb:22,127,168; --bs-body-color:#283c4b; --bs-body-font-family:Arial,Helvetica,sans-serif; }
body { background:#edf4f8; padding:0 0 24px; color:var(--bs-body-color); font-size:16px; line-height:1.55; width:auto; }
a { color:#096d94; border:0; text-decoration:none; }
a:hover { text-decoration:underline; }
a:focus-visible,button:focus-visible,.table-responsive:focus-visible { outline:3px solid #e89c24; outline-offset:3px; }
h1,h2,h3,.newh1,.newh2,.serh1,.serh2 { font-family:var(--bs-body-font-family); font-weight:700; line-height:1.25; color:#183649; }
h1,.newh1,.serh1 { font-size:clamp(1.5rem,3vw,2.1rem); padding-bottom:1rem; }
h2,.newh2,.serh2 { font-size:1.3rem; margin-bottom:.75rem; }
p { line-height:1.6; }
#wrapper { width:100%; margin:20px auto 0; padding:0; }
#header { width:100%; height:auto; min-height:125px; padding:24px; background:#dff1fa; border-radius:14px 14px 0 0; position:relative; }
#logo { width:auto; height:auto; float:none; }
.sl-logo { padding:0; max-width:min(100%,360px); height:auto; }
.logoright { position:absolute; right:24px; top:24px; float:none; }
.logocontent { width:auto; height:auto; margin:0; padding:10px 14px; border-radius:8px; background:#167fa8; box-shadow:none; }
.logocontent a { display:inline-flex; align-items:center; justify-content:center; min-width:24px; min-height:24px; }
.hotline { margin:16px 0 0; padding:0; font-size:1rem; text-align:left; }
.hotline a { color:inherit; }
#menu { width:100%; height:auto; margin:0; padding:8px 12px; background:#243d4e; }
#menu ul { padding:0; margin:0; line-height:normal; width:100%; }
#menu li { float:none; height:auto; background:none; }
#menu a { margin:0; padding:12px 10px; font-size:.9rem; color:#fff; border:0; }
#menu .nav-link[aria-current="page"] { background:#167fa8; border-radius:6px; }
#menu .navbar-brand { font-size:1rem; }
.menuwk { float:none !important; }
#page,#page-bgtop,#page-bgbtm { width:100%; background:none; }
#content { width:100%; padding:24px 0; }
.post { background:#fff; border:1px solid #d8e6ee; border-radius:12px; box-shadow:0 8px 25px #18364908; }
.post .entry { padding:clamp(16px,3vw,32px); text-align:left; display:flow-root; }
.newtxt,.impr { text-align:left; line-height:1.65; }
img { max-width:100%; height:auto; }
hr { width:100%; margin:12px 0; border-top:1px solid #d7e4ec; opacity:1; }
.priceinfo { font-size:.82rem; color:#526676; line-height:1.6; margin-top:20px; }
sup { font-size:.7em; }
#footer { width:100%; padding:24px; background:#243d4e; box-shadow:none; border-radius:12px; }
#footercontent { margin:0; }
#footer a { color:#e7f5fc; display:inline-block; padding:7px 0; font-size:.9rem; }
#footer h2 { color:#fff; font-size:1rem; }
.skip-link { position:absolute; z-index:1050; padding:12px; background:#fff; }
#homeCarousel { border-radius:8px; overflow:hidden; }
.carousel-control-prev,.carousel-control-next { width:9%; }
.carousel-control-prev-icon,.carousel-control-next-icon { background-color:#243d4e; border-radius:50%; padding:18px; }
.comparison-hint { display:none; font-size:.85rem; color:#526676; margin:0 0 8px; }
.table-responsive { border:1px solid #d8e6ee; border-radius:10px; margin:12px 0 24px; }
.comparison-table { margin:0; font-size:.93rem; --bs-table-striped-bg:#f0f7fb; --bs-table-bg:#fff; }
.comparison-table td,.comparison-table th { padding:12px; text-align:center; vertical-align:middle; min-width:110px; overflow-wrap:break-word; }
.comparison-table tr > :first-child { text-align:left; min-width:160px; }
.comparison-table thead th { background:#e1f1f8; color:#183649; }
.comparison-table .section-heading { background:#e1f1f8; text-align:left; }
.btn-primary { --bs-btn-bg:#167fa8; --bs-btn-border-color:#167fa8; --bs-btn-hover-bg:#116787; --bs-btn-hover-border-color:#116787; color:white; }
.btn { min-height:44px; display:inline-flex; align-items:center; justify-content:center; white-space:normal; }
.form-control,.form-select { font-size:1rem; background:#fff; color:#283c4b; border:1px solid #9eb7c5; min-height:44px; }
.form-check-input { width:1.25em; height:1.25em; background-color:white; }
.form-control:focus,.form-select:focus { background:white; }
.form-control:not(textarea) { display:inline-block; }
.kdinputsmall,.koninputkl { width:80px; }
.kdinputmiddle,.koninputmd { width:min(100%,240px); }
.kdinputbig,.koninputgr,.konmsg { width:100%; max-width:420px; }
.konmsg { min-height:160px; }
.kdrigth,.kdright { float:left; width:80%; padding:0 0 12px; }
.kdleft,.konleft { padding-top:10px; }
.konright { padding-bottom:12px; }
.orderwidth { width:100%; margin:0; display:flow-root; }
.orderleft,.orderright { width:47%; }
.ordermiddle { width:6%; }
.wkwidth,.imp,.lizwidth { padding:0; }
.srvleft,.srvright { padding:16px; }
.srvunten,.lizunten,.sslunten,.vpnunten { height:auto; display:flow-root; padding:16px 0; }
.lizpics { padding:8px; max-width:150px; max-height:75px; object-fit:contain; }
.vpnpicunten { margin-left:0; width:50%; text-align:center; }
.vpnpicuntenmiddle { display:none; }
.serleft,.sermiddle,.serright { width:33.333%; margin:0; padding:12px; }
.admin-page { max-width:1140px; margin:24px auto; padding:16px; }
@media (max-width:1199.98px) { #menu .menuwk { margin-left:0!important; } #menu .nav-link { padding:12px; } }
@media (max-width:767.98px) {
 #wrapper { margin-top:0; } #header { border-radius:0; padding:20px 16px; } .sl-logo { max-width:270px; } .logoright { position:static; margin-top:16px; } .logocontent { display:inline-block; } .hotline { font-size:.95rem; } #content { padding:16px 0; } .post { border-radius:0; } #footer { border-radius:0; padding:24px 16px; }

 .srvleft,.srvright,.impl,.impr,.impleft,.impright,.dcleft,.dcright,.dctxtleft,.koncontentleft,.koncontentright,.orderleft,.orderright,.serleft,.sermiddle,.serright { float:none; width:100%; margin:0; padding:10px 0; }
 .dcmiddle,.koncontentmiddle,.ordermiddle { display:none; }
 .kdleft,.konleft { float:none; width:100%; font-weight:600; margin-bottom:4px; }
 .kdright,.kdrigth,.konright { float:none; width:100%; }
 .loginwidth,.logininput,.loginleft,.loginright,.loginright2 { width:100%; float:none; }
 .vpnpicunten { float:none; width:100%; margin-bottom:16px; }
 .newtxt { text-align:left; }
 /* Readable stacked fallback when JavaScript is unavailable. */
 .entry > div[class*="top"],.entry > div[class*="left"],.entry > div[class*="right"] { max-width:100%; overflow-wrap:anywhere; }
}
@media (prefers-reduced-motion:reduce) { .carousel-item { transition:none; } }
.post .entry { overflow-wrap:anywhere; }
.section-heading.alert { font-weight:700; background:#e1f1f8; border-color:#d8e6ee; color:#183649; margin-top:16px; }
/* Mobile and tablet: complete product cards, no horizontal comparison scrolling. */
.product-comparison { overflow:visible; }
.mobile-product-cards { display:grid; gap:16px; padding:0; }
.product-card { border:1px solid #d8e6ee; border-radius:12px; overflow-wrap:anywhere; min-width:0; }
.product-card-title { font-size:1.2rem; background:#e1f1f8; margin:-16px -16px 12px; padding:16px; }
.product-card-title img { display:block; margin:12px auto 0; max-width:100%; }
.product-card-title .propic,.product-card-title .propic1,.product-card-title .propic2 { padding-top:0; }
.product-detail { padding:10px 0; border-bottom:1px solid #e0eaf0; }
.product-detail:last-child { border-bottom:0; }
.product-detail-label { color:#526676; font-size:.85rem; margin-bottom:4px; }
.product-detail-value { font-size:1rem; }
.product-detail-value .btn { width:100%; }
.product-detail-value input,.product-detail-value select { max-width:100%; }
@media (max-width:991.98px) {
 .product-comparison { border:0; background:transparent; }
 .comparison-hint { display:none; }
}
@media (min-width:576px) and (max-width:991.98px) { .mobile-product-cards { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.product-more-details { margin:12px 0; }
.product-more-details summary { min-height:44px; padding:10px 0; color:#096d94; cursor:pointer; font-weight:600; }
.product-more-details summary:focus-visible { outline:3px solid #e89c24; outline-offset:3px; }
.product-more-details[open] summary { border-bottom:1px solid #d8e6ee; }
