/*
Theme Name: VPNinfo
Description: Eget tema til vpninfo.dk. Klassisk PHP-tema uden jQuery, ikonfonte og webfonte. En stylesheet, systemfonte, inline SVG.
Version: 1.0.0
Requires PHP: 8.1
Text Domain: vpninfo
*/

/* Grundlag */
:root{--blue:#1b6394;--blue-dark:#144b70;--bg:#d3d3d3;--text:#444;--muted:#6b6b6b;--line:#e2e2e2;--green:#3a7f12;--wrap:1152px}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:100%/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;overflow-wrap:break-word}
img,video,iframe{max-width:100%;height:auto}
a{color:var(--blue);font-weight:700;text-decoration:none}
a:hover,a:focus{text-decoration:underline}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
/* Fokus på blå/grøn baggrund (header, menu, footer, knapper): hvid ring med mørk kant */
.site-header :focus-visible,.site-footer :focus-visible,.search-form button:focus-visible,.page-numbers.current:focus-visible{outline-color:#fff;box-shadow:0 0 0 4px #0f3b58}
a.fasc-button:focus-visible,.affiliate-button a:focus-visible,a.cwppose_affiliate_button:focus-visible,a.tableButton:focus-visible{outline-color:#222}
#content:focus{outline:0}
/* Links i brødtekst understreges (farven alene adskiller dem ikke fra teksten, 1,5:1) */
.entry-content :is(p,li,td,th,dd,figcaption,blockquote) a:not([class*=button]):not(.tableButton),.vi-disclosure a,.comment-content a{text-decoration:underline;text-underline-offset:.15em}
h1,h2,h3,h4,h5,h6{color:#222;line-height:1.25;margin:1.4em 0 .5em;font-weight:700}
h1{font-size:clamp(1.75rem,4vw,2.375rem);margin-top:.2em}
h2{font-size:clamp(1.5rem,3.2vw,1.875rem)}
h3{font-size:clamp(1.25rem,2.8vw,1.6875rem)}
h4{font-size:1.25rem}
h5,h6{font-size:1.0625rem}
p,ul,ol,dl,blockquote,figure,table,pre{margin:0 0 1.2em}
ul,ol{padding-left:1.6em}
li>ul,li>ol{margin:.3em 0 0}
blockquote{border-left:4px solid var(--blue);margin-left:0;padding:.6em 1em;background:#f6f8fa}
blockquote p:last-child{margin-bottom:0}
hr,.wp-block-separator{border:0;border-top:1px solid #ccc;margin:2em auto}
table{border-collapse:collapse;width:100%}
th,td{border:1px solid var(--line);padding:.5em .6em;vertical-align:top;text-align:left}
th{background:#f3f4f3}
pre,code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9em}
pre{overflow:auto;background:#f6f6f6;padding:1em}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link:focus{position:fixed!important;z-index:100;top:8px;left:8px;width:auto;height:auto;clip:auto;background:#fff;padding:.6em 1em}

/* GTranslate: .gt-hide vises kun på dansk, .gt-hide-da kun på oversatte sider (lang sættes af GTranslate) */
.gt-hide:not(:lang(da)){display:none!important}
.gt-hide-da:lang(da){display:none!important}

/* Layout */
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 16px}
.site-main{background:#fff;padding:24px 16px 32px;margin-top:20px;margin-bottom:20px}
.has-sidebar{display:grid;grid-template-columns:minmax(0,1fr);gap:32px}
@media (min-width:900px){
.site-main{padding:32px 40px 40px}
.has-sidebar{grid-template-columns:minmax(0,1fr) 300px}
}
.entry-content::after{content:"";display:table;clear:both}
#breadcrumbs{font-size:.875rem;color:var(--muted);margin:0 0 .8em}
#breadcrumbs a{font-weight:400}

/* Header og menu */
.site-header{background:var(--blue);color:#fff}
.header-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;min-height:64px}
.site-logo{padding:6px 0}
.site-logo a{display:block;color:#fff;font-size:1.5rem}
.site-logo img{display:block;width:240px;height:auto;aspect-ratio:4/1}
.site-nav{display:flex;align-items:center}
.nav-toggle{display:flex;align-items:center;gap:.4em;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.6);border-radius:4px;padding:.45em .8em;font:inherit;font-weight:700;cursor:pointer}
.nav-toggle svg{width:20px;height:20px;fill:currentColor}
.menu,.sub-menu{list-style:none;margin:0;padding:0}
.menu a{display:block;color:#fff;font-weight:700;padding:.7em 1em;text-decoration:none}
.menu a:hover,.menu a:focus{background:var(--blue-dark);text-decoration:none}
.menu li{position:relative}
.sub-toggle{position:absolute;top:0;right:0;width:44px;height:44px;background:transparent;border:0;color:#fff;cursor:pointer}
.sub-toggle::before{content:"";display:inline-block;width:8px;height:8px;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg);margin-top:-4px}
.sub-toggle[aria-expanded=true]::before{transform:rotate(-135deg);margin-top:4px}
@media (max-width:864px){
.site-header{position:relative}
.header-inner{flex-wrap:nowrap;gap:12px}
.site-logo{min-width:0}
.site-logo img{width:min(240px,56vw)}
.site-nav{flex:none}
.site-nav .menu{display:none;position:absolute;left:0;right:0;top:100%;z-index:50;background:var(--blue);border-top:1px solid rgba(255,255,255,.3);box-shadow:0 6px 12px rgba(0,0,0,.25);max-height:calc(100vh - 72px);overflow-y:auto}
.site-nav.is-open .menu{display:block}
.menu li{border-bottom:1px solid rgba(255,255,255,.15)}
.menu .menu-item-has-children>a{padding-right:52px}
.sub-menu{display:none;background:var(--blue-dark)}
.sub-menu .sub-menu{background:#0f3b58}
.sub-menu a{padding-left:2em}
.sub-menu .sub-menu a{padding-left:3em}
.sub-menu .sub-menu .sub-menu a{padding-left:4em}
li.is-open>.sub-menu{display:block}
.sub-menu li:last-child{border-bottom:0}
}
@media (min-width:865px){
.site-header .wrap{flex-wrap:nowrap}
.nav-toggle{display:none}
.site-nav .menu{display:flex;flex-wrap:wrap;justify-content:flex-end}
.menu>li>a{padding:1.3em 1em}
.menu .menu-item-has-children>a{padding-right:2em}
.sub-toggle{width:2em;height:100%;max-height:4em}
.sub-menu .sub-toggle{height:2.8em;transform:rotate(-90deg)}
.sub-menu{display:none;position:absolute;z-index:50;left:0;top:100%;min-width:240px;background:var(--blue);box-shadow:0 4px 12px rgba(0,0,0,.25)}
.sub-menu .sub-menu{left:100%;top:0}
.sub-menu a{padding:.6em 1em;font-weight:400}
.menu li:hover>.sub-menu,.menu li:focus-within>.sub-menu,.menu li.is-open>.sub-menu{display:block}
}

/* Indhold: billeder, blokke, bokse */
.alignleft{float:left;margin:.3em 1.5em 1em 0}
.alignright{float:right;margin:.3em 0 1em 1.5em}
.aligncenter{display:block;margin-left:auto;margin-right:auto;text-align:center}
.wp-caption{max-width:100%;margin-bottom:1.2em}
.wp-caption img{display:block}
.wp-caption-text,.wp-element-caption,figcaption{font-size:.875rem;color:var(--muted);text-align:center;margin:.4em 0 0}
.wp-block-image{margin-bottom:1.5em}
.wp-block-image img{height:auto}
.has-text-align-center{text-align:center}
.has-text-align-right{text-align:right}
#toc_container{display:table;width:100%;background:#f3f4f3;border:1px solid #000;padding:1em;margin-bottom:1em}
.toc_title{font-weight:700;text-align:center}
.dk-box,.status-box{background:#fff}
@media (max-width:600px){.alignleft,.alignright{float:none;margin:0 auto 1em;display:block}}

/* Knapper til /go/-links (FASC-markup i indholdet, uden FASC-CSS og dashicons) */
a.fasc-button,.affiliate-button a,a.cwppose_affiliate_button,a.tableButton{display:inline-block;color:#fff!important;background-color:var(--green)!important;border:0;border-radius:8px;text-decoration:none;font-weight:700;line-height:1.3;text-align:center}
a.fasc-button:hover,.affiliate-button a:hover,a.cwppose_affiliate_button:hover,a.tableButton:hover{background-image:linear-gradient(rgba(0,0,0,.12),rgba(0,0,0,.12));text-decoration:none}
a.fasc-button{margin:3px 0;padding:.45em .6em}
.fasc-size-small{font-size:.75rem}
.fasc-size-medium{font-size:.875rem}
.fasc-size-large{font-size:1.125rem}
.fasc-size-xlarge{font-size:1.5rem;padding:.45em .55em}
.fasc-rounded-medium.fasc-size-xlarge{border-radius:15px}
.fasc-rounded-medium.fasc-size-large{border-radius:10px}
a.fasc-ico-before::before{content:"";display:inline-block;width:1.1em;height:1.1em;margin:-.15em .3em 0 0;vertical-align:middle;background:currentColor;-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat}
a.dashicons-admin-home{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 2 1 10h3v8h5v-5h2v5h5v-8h3z'/%3E%3C/svg%3E")}
a.dashicons-admin-site{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 1a9 9 0 1 0 0 18 9 9 0 0 0 0-18zm6.9 8h-3a14 14 0 0 0-1.2-5.4A7 7 0 0 1 16.9 9zM10 3.1c.9 1.2 1.7 3.3 1.9 5.9H8.1C8.3 6.4 9.1 4.3 10 3.1zM7.3 3.6A14 14 0 0 0 6.1 9h-3a7 7 0 0 1 4.2-5.4zM3.1 11h3a14 14 0 0 0 1.2 5.4A7 7 0 0 1 3.1 11zm6.9 5.9c-.9-1.2-1.7-3.3-1.9-5.9h3.8c-.2 2.6-1 4.7-1.9 5.9zm2.7-.5a14 14 0 0 0 1.2-5.4h3a7 7 0 0 1-4.2 5.4z'/%3E%3C/svg%3E")}
/* "Besøg X"-knapper i teksten vises kun på mobil, når anmeldelsesboksen har knappen (ejerbeslutning 7) */
@media (min-width:720px){.vi-mobile-only{display:none!important}}

/* Reklameoplysning (modulet disclosure) og Top 5 (modulet top-list) */
.vi-disclosure{border:1px solid #ccc;border-radius:5px;padding:10px;font-size:.875rem;line-height:1.5;margin:0 0 1.2em}
.vi-moms{font-size:.7em;margin-left:.1em}.vi-moms-note{font-size:.875rem;color:#555;margin-top:1.5em}
.vi-top5{clear:both;margin:2em 0 0}
/* Prisboks [vpn_priser] (modulet data-output, data/price-box.php) */
.vi-priser{border:1px solid var(--line);border-radius:5px;padding:1em 1.2em;margin:1.5em 0}
.vi-priser p{margin:.4em 0}
.vi-priser-pris{font-size:1.25rem;color:#222}
.vi-priser-tabel{font-size:.95em;margin:.8em 0}
.vi-priser-tabel caption{text-align:left;font-weight:700;padding:.3em 0}
.vi-priser .notranslate{white-space:nowrap}
.vi-top5-wrap,.vi-table-scroll{overflow-x:auto}
.vi-top5 h3{margin-top:0}
.vi-top5-table{border:1px solid #e7e7e7;font-size:.875rem;color:#00184f;margin:0}
.vi-top5-table thead th{background:#eceef1;font-size:1rem;font-style:italic;font-weight:400;color:#32393f;text-align:center;border:0}
.vi-top5-table td,.vi-top5-table tbody th{border:0;border-bottom:1px solid #eee;padding:10px 6px;vertical-align:middle;text-align:center;font-weight:400;background:none}
.vi-top5-table tbody tr:nth-child(odd){background:#fafafa}
.vi-top5-table img{display:block;margin:0 auto;width:90px;height:auto}
.vi-top5-score{font-size:1.125rem}
.vi-top5-review{font-size:1rem}
.vi-top5-table a.tableButton{padding:7px 10px;font-size:.875rem}
@media (max-width:600px){
.vi-top5-table thead,.cwppose_reviews_table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
.vi-top5-table tr{display:grid;grid-template-columns:100px 1fr;align-items:center;border-bottom:2px solid #ddd;padding:6px 0}
.vi-top5-table td,.vi-top5-table tbody th{border:0;padding:4px 6px}
.vi-top5-logo{grid-row:span 3}
}
/* Gamle Compare Ninja-kopier i indhold (private sider) */
table[id^=vsTable_]{border:1px solid #e7e7e7;font-size:.875rem;color:#00184f}
table[id^=vsTable_] td{border:0;border-bottom:1px solid #eee;padding:10px 6px;vertical-align:middle;text-align:center}
table[id^=vsTable_] td p{margin:0}
table[id^=vsTable_] img{display:block;margin:0 auto;max-width:90px}

/* WP Product Review: anmeldelsesboks (theme-override wppr/default.php) */
.wppr-review-container{border:1px solid var(--line);border-radius:6px;margin:1.5em 0;padding:16px;clear:both}
.cwpr-review-top{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);margin-bottom:12px}
.cwpr-review-top h2{margin:0 0 .3em}
.review-wu-content{display:grid;gap:16px}
@media (min-width:720px){.review-wu-content{grid-template-columns:1fr 1fr}}
.review-wu-left-top{display:flex;align-items:center;gap:16px;margin-bottom:12px}
img.wppr-product-image{width:150px;height:150px;object-fit:contain;display:block}
.wppr-c100{width:96px;height:96px;border-radius:50%;border:8px solid var(--sc,#8dc153);display:flex;align-items:center;justify-content:center}
.wppr-c100>span{font-size:1.6rem;font-weight:700;color:#222}
.wppr-slice,.wppr-slice-center{display:none}
.wppr-very-good{--sc:#8dc153}.wppr-good{--sc:#50c1e9}.wppr-not-bad{--sc:#ffce55}.wppr-weak{--sc:#ff7f66}
.rev-option{margin-bottom:10px}
.rev-option .cwpr_clearfix{display:flex;justify-content:space-between;align-items:baseline}
.rev-option h3{font-size:1rem;margin:0;display:inline}
.rev-option ul{display:flex;gap:3px;list-style:none;padding:0;margin:4px 0 0}
.rev-option li{flex:1;height:8px;background:#ddd;border-radius:2px}
.rev-option li.colored{background:var(--sc,#8dc153)}
.pros ul,.cons ul{list-style:none;padding:0;margin:0 0 1em}
.pros li,.cons li{padding-left:1.6em;position:relative;margin-bottom:.3em}
.pros li::before,.cons li::before{position:absolute;left:0;font-weight:700}
.pros li::before{content:"\2714";content:"\2714"/"";color:#3f8f12}
.cons li::before{content:"\2716";content:"\2716"/"";color:#c8102e}
.wppr-proscons-title{font-size:1.125rem;margin:0 0 .4em}
.affiliate-button{text-align:center;margin-top:12px}
.affiliate-button a{font-size:1.25rem;padding:.6em 1.4em}

/* WPPR Pro-sammenligningstabel på /anmeldelser/ (statisk, theme-override wppr/table.php) */
.cwppose_reviews_table td,.cwppose_reviews_table tbody th{vertical-align:middle;background:none;font-weight:400}
.cwppose_reviews_table h2{font-size:1rem;margin:0 0 .3em}
.cwppose_reviews_table img{display:block;width:60px;height:60px;object-fit:contain}
.cwppose_reviews_table .vi-score{display:block;font-size:1.125rem;font-weight:700;color:#222}
a.cwppose_affiliate_button{padding:.45em .8em;font-size:.875rem}
@media (max-width:600px){
.cwppose_reviews_table tr{display:grid;grid-template-columns:2em 1fr;border-bottom:2px solid #ddd;padding:6px 0}
.cwppose_reviews_table td,.cwppose_reviews_table tbody th{border:0;padding:.25em .4em}
.cwppose_reviews_table tr>:nth-child(n+3){grid-column:2}
}

/* Sidebar (WPPR-widgetten "VPN anmeldelser") */
.sidebar .widget{margin-bottom:28px}
.widget-title{font-size:1.25rem;margin:0 0 .6em;padding-bottom:.3em;border-bottom:2px solid var(--blue)}
.widget ul{list-style:none;padding:0;margin:0}
.widget li{margin:0}
.cwp-popular-review{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #eee}
.cwp-popular-review img{display:block;width:50px;height:50px}
.cwp-popular-review .wppr-post-title{flex:1}
.review-grade-widget .wppr-c100{width:44px;height:44px;border-width:4px}
.review-grade-widget .wppr-c100>span{font-size:.875rem}
.wppr-review-stars-grade{color:#f5a623;letter-spacing:1px}
.wppr-dashicons::before{content:"\2605";content:"\2605"/""}
.wppr-review-stars-grade i{font-style:normal}

/* Liste over indlæg (kategori, arkiv, søgning) */
.post-list{margin-top:2em}
.excerpt{padding:1.2em 0;border-top:1px solid var(--line)}
.excerpt::after{content:"";display:table;clear:both}
.excerpt h2{font-size:1.375rem;margin:0 0 .4em}
.excerpt .excerpt-thumb{float:left;margin:0 20px .5em 0;max-width:min(300px,40%)}
.excerpt p{margin:0 0 .4em}
.read-more{font-size:.9375rem}
.pagination,.nav-links{margin-top:1.5em;display:flex;flex-wrap:wrap;gap:.4em}
.page-numbers{padding:.3em .7em;border:1px solid var(--line)}
.page-numbers.current{background:var(--blue);color:#fff}

/* Kommentarer (kun visning; nye kommentarer er lukket) */
.comments{margin-top:2.5em;border-top:2px solid var(--line);padding-top:1em}
.comment-list,.comment-list .children{list-style:none;padding:0;margin:0}
.comment-list .children{margin-left:1.5em}
.comment-body{border-bottom:1px solid #eee;padding:.8em 0}
.comment-meta{font-size:.875rem;color:var(--muted)}
.comment-meta .fn{font-weight:700;color:#222}
.comment-content p{margin:.3em 0}
.bypostauthor>.comment-body{background:#f6f8fa;padding-left:.8em;padding-right:.8em}

/* Søgning og 404 */
.search-form{display:flex;gap:.5em;max-width:420px;margin:1em 0}
.search-form input[type=search]{flex:1;padding:.5em;border:1px solid #767676;font:inherit}
.search-form button{background:var(--blue);color:#fff;border:0;padding:.5em 1em;font:inherit;font-weight:700;cursor:pointer}

/* Footer */
.site-footer{background:var(--blue);color:#fff;padding:24px 0 12px}
.site-footer a{color:#fff}
.footer-widgets{display:grid;gap:16px}
@media (min-width:720px){.footer-widgets{grid-template-columns:repeat(3,1fr)}}
.footer-widgets p{margin:0 0 .5em}
.gtranslate_wrapper select{font:inherit;padding:.4em;max-width:100%;border-radius:4px;border:0;color:#222}
.copyright{font-size:.875rem;margin-top:16px;padding-top:12px;border-top:1px solid rgba(255,255,255,.25)}
.menu li.is-closed>.sub-menu{display:none}

/* Nyheder (modulet news): kort i /nyheder/ og bokse under indholdet */
.vi-cards{display:grid;gap:24px;margin-top:1.5em}
@media (min-width:600px){.vi-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.vi-card{border:1px solid var(--line);border-radius:6px;overflow:hidden}
.vi-card-img{display:block;aspect-ratio:3/2;background:#eef2f5}
.vi-card-img img{display:block;width:100%;height:100%;object-fit:cover}
.vi-card-fallback{display:block;height:100%;background:linear-gradient(135deg,var(--blue),var(--blue-dark))}
.vi-card-body{padding:12px 16px 16px}
.vi-card-label{display:inline-block;background:#eef2f5;color:#222;font-size:.8125rem;font-weight:700;border-radius:3px;padding:.1em .5em;margin:0 0 .5em}
.vi-card-title{font-size:1.25rem;margin:0 0 .4em}
.vi-card-excerpt{margin:0 0 .4em}
.vi-card-date{font-size:.875rem;color:var(--muted);margin:0}
.vi-news-box{clear:both;border:1px solid var(--line);border-radius:6px;padding:12px 16px;margin:1.5em 0;background:#f6f8fa}
.vi-news-box h2{font-size:1.25rem;margin:0 0 .5em}
.vi-news-box ul{margin:0;padding-left:1.2em}
.vi-news-box p{margin:0}
.vi-news-box time{color:#595959;font-size:.875rem}
.vi-news-box a{text-decoration:underline;text-underline-offset:.15em}
.vi-rating-pending{font-size:.875rem;color:#555;margin:0}
.vi-tldr{border-left:4px solid var(--green);background:#f3f8ef;padding:.6em 1em;margin:0 0 1.2em;border-radius:0 4px 4px 0}
.vi-tldr p,.vi-tldr ul{margin:.2em 0}
.vi-tldr ul{padding-left:1.2em}
