/*
Theme Name: GrafiskWeb
Theme URI: https://grafiskweb.dk/
Author: GrafiskWeb
Description: Rebuild of the GrafiskWeb theme with breadcrumbs, selectable layouts (grid columns, sidebar left/right/none, card or list) and a mobile-first design. Layout options: Appearance → Customize → Layout.
Version: 1.2.3
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: grafiskweb
*/

:root{
  --gw-bg:#f3f3f3; --gw-surface:#ffffff; --gw-text:#333333; --gw-muted:#777777;
  --gw-accent:#d4b896; --gw-logo:#b5d3d9; --gw-header-bg:#ffffff; --gw-link:#222222;
  --gw-border:#dcdcdc; --gw-radius:10px; --gw-max:1480px; --gw-sidebar:330px;
  --gw-gap:clamp(1rem,2.2vw,1.5rem);
  --gw-font:"Open Sans","Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;
  --gw-font-head:"Wix Madefor Display","Outfit","Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--gw-bg);color:var(--gw-text);font:400 var(--gw-fs,16px)/var(--gw-lh,1.8) var(--gw-font)}
img,video,iframe{max-width:100%;height:auto}
a{color:var(--gw-link);text-decoration:none}
a:hover,a:focus{color:var(--gw-accent)}
:focus-visible{outline:3px solid var(--gw-accent);outline-offset:2px}
.screen-reader-text,.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:1rem;top:1rem;z-index:1000;background:#fff;color:#000;padding:.75rem 1rem}
.wrap{width:100%;max-width:var(--gw-max);margin:0 auto;padding:0 var(--gw-gap)}

/* Header */
.site-header{background:var(--gw-header-bg);border-top:1px solid #000;border-bottom:1px solid var(--gw-border);position:relative;z-index:100}
.site-header>.wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:84px;flex-wrap:wrap}
.site-title{margin:0;font:var(--gw-hw,700) 2.2rem/1 var(--gw-font-head);letter-spacing:.06em;text-transform:uppercase;color:var(--gw-logo)}
.site-title a{color:inherit}
.site-title a:hover{color:inherit}
.custom-logo{max-height:56px;width:auto;display:block}
.header-tools{display:flex;align-items:center;gap:.5rem;margin-left:auto}
.menu-toggle,.search-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;background:none;border:0;color:var(--gw-text);font-size:1.15rem;cursor:pointer}
.menu-toggle{border:1px solid var(--gw-border);border-radius:8px}
.search-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4}
.main-navigation{display:none;flex-basis:100%;order:5}
.main-navigation.is-open{display:block}
.main-navigation ul{list-style:none;margin:0;padding:0}
.main-navigation a{display:block;padding:.8rem 0;color:var(--gw-menu,var(--gw-text));text-transform:uppercase;letter-spacing:.03em;border-top:1px solid var(--gw-border);min-height:44px}
.main-navigation .current-menu-item>a,.main-navigation .current-menu-ancestor>a,.main-navigation .current_page_item>a{color:var(--gw-accent)}
.search-panel{background:var(--gw-surface);border-bottom:1px solid var(--gw-border);padding:.75rem 0}
.search-panel[hidden]{display:none!important}
@media (min-width:861px){
  .menu-toggle{display:none}
  .main-navigation{display:block;flex-basis:auto;order:1;margin-left:auto}
  .header-tools{order:2;margin-left:0}
  .main-navigation ul{display:flex;gap:.25rem}
  .main-navigation a{border:0;padding:0 1.2rem;line-height:84px;min-height:0;border-bottom:3px solid transparent;margin-bottom:-1px}
  .main-navigation .current-menu-item>a,.main-navigation .current-menu-ancestor>a,.main-navigation .current_page_item>a,.main-navigation a:hover{border-bottom-color:var(--gw-accent)}
}

/* Breadcrumb */
.breadcrumb{font-size:.85rem;color:var(--gw-muted)}
.breadcrumb ol{list-style:none;margin:0;padding:.9rem 0 0;display:flex;flex-wrap:wrap;gap:.2rem .5rem}
.breadcrumb li{display:inline-flex;align-items:center;gap:.5rem;min-width:0}
.breadcrumb li+li::before{content:"›";opacity:.6}
.breadcrumb a{color:var(--gw-muted)}
.breadcrumb a:hover{color:var(--gw-accent)}
.breadcrumb li[aria-current] span{color:var(--gw-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:70vw}

/* Layout: sidebar left / right / none */
.site-main{padding:var(--gw-gap) 0 calc(var(--gw-gap)*2)}
.layout{display:grid;gap:var(--gw-gap);grid-template-columns:minmax(0,1fr)}
.primary{background:var(--gw-surface);padding:clamp(1rem,3vw,2.8rem);min-width:0}
.sidebar{min-width:0}
@media (min-width:961px){
  .layout-right{grid-template-columns:minmax(0,1fr) var(--gw-sidebar)}
  .layout-left{grid-template-columns:var(--gw-sidebar) minmax(0,1fr)}
  .layout-left .sidebar{order:-1}
}
.widget{background:var(--gw-surface);padding:1.4rem 1.6rem;margin-bottom:var(--gw-gap)}
.sidebar .widget a{color:var(--gw-menu,var(--gw-text))}
.sidebar .widget a:hover,.sidebar .widget a:focus,.sidebar .widget .current-menu-item>a,.sidebar .widget .current_page_item>a{color:var(--gw-accent)}
.widget-title{font:300 1.5rem/1.3 var(--gw-font);text-transform:uppercase;margin:0 0 .6rem;padding-bottom:.4rem;border-bottom:1px solid var(--gw-border)}
.widget ul{list-style:none;margin:0;padding:0}
.widget li{padding:.55rem 0;border-bottom:1px solid var(--gw-border);line-height:1.8}
.widget li:last-child{border-bottom:0}

/* Post grid (columns set via .cols-N) */
.posts-grid{display:grid;grid-template-columns:1fr;gap:var(--gw-gap)}
@media (min-width:600px){.posts-grid.cols-2,.posts-grid.cols-3,.posts-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.posts-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.posts-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.post-card{background:var(--gw-surface);border:1px solid var(--gw-border);border-radius:var(--gw-radius);overflow:hidden;display:flex;flex-direction:column}
.post-card .thumb{aspect-ratio:16/9;background:#000;display:block;overflow:hidden}
.post-card .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.post-card .body{padding:1rem 1rem 1.2rem}
.post-meta{font-size:.82rem;color:var(--gw-muted);text-transform:uppercase;letter-spacing:.04em;margin:0;line-height:1.7}
.post-meta .source{color:var(--gw-text);font-weight:700}
.post-meta .source::before{content:"";display:inline-block;margin:0 .3rem 0 .45rem;border-left:.7em solid var(--gw-text);border-top:.4em solid transparent;border-bottom:.4em solid transparent}
.post-meta.date{margin-top:.25rem}
.post-card h3{font:var(--gw-hw,700) 1.15rem/1.25 var(--gw-font-head);margin:.5rem 0 .7rem}
.post-card h3 a{color:#222}
.post-card h3 a:hover{color:var(--gw-accent)}
.post-card .excerpt{margin:0;color:var(--gw-muted);font-size:.95rem;line-height:1.85}

/* List style cards */
.posts-grid.style-list{grid-template-columns:1fr!important}
.style-list .post-card{flex-direction:column}
@media (min-width:600px){
  .style-list .post-card{flex-direction:row}
  .style-list .post-card .thumb{flex:0 0 38%;aspect-ratio:auto;min-height:100%}
}

/* Pagination */
.pagination{margin-top:calc(var(--gw-gap)*1.5)}
.pagination .nav-links{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}
.pagination .page-numbers{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 .8rem;border:1px solid var(--gw-border);border-radius:8px;background:#fff}
.pagination .current{background:var(--gw-accent);border-color:var(--gw-accent);color:#fff}

/* Single / page */
.entry-title{font:var(--gw-hw,700) clamp(1.6rem,4.5vw,2.4rem)/1.2 var(--gw-font-head);margin:.4rem 0 1rem}
.entry-content{overflow-wrap:anywhere}
.entry-content iframe{width:100%;aspect-ratio:16/9;border:0}
.entry-content table{display:block;overflow-x:auto;max-width:100%}
.entry-content pre{overflow-x:auto}
.archive-title{font:var(--gw-hw,700) clamp(1.4rem,4vw,2rem)/1.2 var(--gw-font-head);margin:0 0 var(--gw-gap)}

/* Footer */
.site-footer{background:var(--gw-footer,#222);color:#cfcfd4;padding:2rem 0}
.site-footer a{color:#fff}
.footer-widgets{display:grid;gap:var(--gw-gap);grid-template-columns:1fr;margin-bottom:1.5rem}
@media (min-width:700px){.footer-widgets{grid-template-columns:repeat(2,1fr)}}
.footer-widgets .widget{background:none;padding:0}
.footer-widgets .widget-title{color:#fff;border-color:rgba(255,255,255,.2)}
.footer-widgets li{border-color:rgba(255,255,255,.12)}
.site-info{font-size:.875rem;border-top:1px solid rgba(255,255,255,.15);padding-top:1rem}

/* Forms & comments */
.search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;width:100%}
.search-form input[type=search]{flex:1;min-width:0;min-height:44px;padding:0 .75rem;border:1px solid var(--gw-border);border-radius:8px;font:inherit;background:#fff;color:var(--gw-text)}
.search-form button,.button{min-height:44px;padding:0 1rem;border:0;border-radius:8px;background:var(--gw-accent);color:#fff;font:inherit;cursor:pointer}
.comments-area{margin-top:2rem}
.comment-list{list-style:none;padding:0}
.comment-body{padding:1rem 0;border-bottom:1px solid var(--gw-border)}
.comment-respond input[type=text],.comment-respond input[type=email],.comment-respond input[type=url],.comment-respond textarea{width:100%;padding:.6rem;border:1px solid var(--gw-border);border-radius:8px;font:inherit}
.alignleft{float:left;margin:0 1rem 1rem 0}.alignright{float:right;margin:0 0 1rem 1rem}.aligncenter{display:block;margin:0 auto}
@media (max-width:599px){.alignleft,.alignright{float:none;margin:0 0 1rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Site button */
.site-button{display:inline-flex;align-items:center;min-height:44px;padding:0 1.1rem;border-radius:6px;background:var(--gw-btn-bg);color:var(--gw-btn-color);font-weight:600;white-space:nowrap}
.site-button:hover,.site-button:focus{color:var(--gw-btn-color);opacity:.88}
@media (max-width:420px){.site-button{padding:0 .75rem;font-size:.9rem}}

/* Social icons */
.social-icons{list-style:none;margin:0;padding:0;display:flex;gap:.25rem}
.social-icons a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:inherit}
.social-icons svg{width:22px;height:22px}
.social-header a{color:var(--gw-text)}
.social-icons a:hover{color:var(--gw-accent)}
.social-footer{margin-bottom:1rem}
@media (max-width:420px){.social-header{display:none}}

/* Important links (footer) */
.important-links{margin-bottom:1.5rem}
.important-links .widget-title{color:#fff;border-color:rgba(255,255,255,.2)}
.important-links ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem 1.5rem}
.important-links a{display:inline-block;padding:.5rem 0;min-height:44px}

/* Pre loader */
.gw-preloader{position:fixed;inset:0;z-index:99999;background:var(--gw-pre-bg);display:flex;align-items:center;justify-content:center;transition:opacity .4s ease,visibility .4s}
.gw-preloader{animation:gw-pl-out .4s ease 4s forwards}
.gw-preloader.is-done{opacity:0;visibility:hidden;pointer-events:none}
@keyframes gw-pl-out{to{opacity:0;visibility:hidden;pointer-events:none}}
.gw-pl{position:relative;display:block;width:48px;height:48px}
.pl-spinner .gw-pl{border:4px solid rgba(0,0,0,.1);border-top-color:var(--gw-pre-color);border-radius:50%;animation:gw-spin .8s linear infinite}
.pl-spinner .gw-pl i{display:none}
.pl-dots .gw-pl{width:64px;height:16px;display:flex;justify-content:space-between}
.pl-dots .gw-pl i{width:14px;height:14px;border-radius:50%;background:var(--gw-pre-color);animation:gw-bounce 1s ease-in-out infinite}
.pl-dots .gw-pl i:nth-child(2){animation-delay:.15s}.pl-dots .gw-pl i:nth-child(3){animation-delay:.3s}
.pl-bar .gw-pl{width:160px;height:4px;background:rgba(0,0,0,.1);overflow:hidden;border-radius:4px}
.pl-bar .gw-pl i{position:absolute;top:0;left:0;height:100%;width:40%;background:var(--gw-pre-color);animation:gw-slide 1.1s ease-in-out infinite}
.pl-bar .gw-pl i:nth-child(n+2){display:none}
@keyframes gw-spin{to{transform:rotate(360deg)}}
@keyframes gw-bounce{0%,80%,100%{transform:scale(.5);opacity:.5}40%{transform:scale(1);opacity:1}}
@keyframes gw-slide{0%{left:-40%}100%{left:100%}}
@media (prefers-reduced-motion:reduce){.gw-pl,.gw-pl i{animation:none!important}.gw-preloader{transition:none}}

/* Active top-menu item (post/category match) */
.main-navigation .gw-current>a{color:var(--gw-accent)}
@media (min-width:861px){.main-navigation .gw-current>a{border-bottom-color:var(--gw-accent)}}

/* Post / page / archive titles (H1): light, uppercase, body font */
h1.entry-title,h1.archive-title{
  font-family:var(--gw-font);font-weight:300;text-transform:uppercase;letter-spacing:0;
  font-size:clamp(1.35rem,3.4vw,1.9rem);line-height:1.3;color:var(--gw-text);margin:.4rem 0 1.1rem;
}

/* Current post highlighted in the sidebar list */
.sidebar .widget [aria-current="page"]{color:var(--gw-accent);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}

/* Search panel: always full width */
.search-panel .wrap{display:block;min-height:0}
.search-panel .search-form{width:100%;max-width:none}
.search-panel .search-form input[type=search]{flex:1 1 auto;width:100%;min-width:0}
