/* Themesation Base - main styles (GPL-2.0-or-later). */
:root{--tb-container:1100px;--tb-accent:#1e73be;--tb-text:#222;--tb-bg:#fff;--tb-link:#1e73be;--tb-muted:#5f6b76;--tb-border:#e1e5ea;--tb-surface:#f3f5f7;--tb-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--tb-bg);color:var(--tb-text);font-family:var(--tb-font);font-size:1rem;line-height:1.7;word-wrap:break-word}
img,video,iframe,svg{max-width:100%;height:auto}
figure{margin:0 0 1.5em}
a{color:var(--tb-link);text-decoration:underline;text-underline-offset:.15em}
a:hover{text-decoration-thickness:2px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--tb-accent);outline-offset:2px}
h1,h2,h3,h4,h5,h6{line-height:1.25;margin:1.6em 0 .6em}
h1{font-size:2.25rem}h2{font-size:1.75rem}h3{font-size:1.375rem}h4{font-size:1.125rem}h5,h6{font-size:1rem}
p,ul,ol,dl,blockquote,pre,table{margin:0 0 1.5em}
ul,ol{padding-left:1.5em}
blockquote{border-left:4px solid var(--tb-accent);padding:.25em 0 .25em 1.25em;color:var(--tb-muted)}
pre,code,kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}
pre{background:var(--tb-surface);padding:1em;overflow:auto;border-radius:4px}
code{background:var(--tb-surface);padding:.1em .3em;border-radius:3px}
pre code{background:none;padding:0}
hr{border:0;border-top:1px solid var(--tb-border);margin:2em 0}
table{border-collapse:collapse;width:100%}
th,td{border:1px solid var(--tb-border);padding:.5em .75em;text-align:left}
th{background:var(--tb-surface)}
input[type=text],input[type=email],input[type=url],input[type=password],input[type=search],input[type=number],input[type=tel],textarea,select{width:100%;max-width:100%;padding:.6em .8em;border:1px solid #b8c0c8;border-radius:4px;background:#fff;color:#222;font:inherit}
button,input[type=submit],input[type=button],.wp-block-button__link{display:inline-block;padding:.65em 1.25em;border:0;border-radius:4px;background:var(--tb-accent);color:#fff;font:inherit;font-weight:600;line-height:1.3;text-decoration:none;cursor:pointer}
button:hover,input[type=submit]:hover,.wp-block-button__link:hover{filter:brightness(.9);color:#fff}
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:var(--tb-accent);border:2px solid currentColor}

.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.screen-reader-text:focus,.skip-link:focus{background:#fff;clip:auto;clip-path:none;color:#000;display:block;font-weight:700;height:auto;left:8px;padding:.8em 1.2em;top:8px;width:auto;z-index:100000;box-shadow:0 0 4px rgba(0,0,0,.4);text-decoration:none}

.container{width:100%;max-width:var(--tb-container);margin-inline:auto;padding-inline:1.25rem}

/* Header */
.site-header{border-bottom:1px solid var(--tb-border);background:var(--tb-bg)}
.header-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-block:1rem}
.site-branding{display:flex;align-items:center;gap:.9rem}
.custom-logo{display:block;max-height:38px;width:auto}
.site-logo-link{display:block;line-height:0}
.site-logo-svg{display:block;height:54px;width:auto}
.site-title{margin:0;font-size:1.5rem;font-weight:700;line-height:1.2}
.site-title a{color:var(--tb-text);text-decoration:none}
.site-description{margin:0;font-size:.875rem;color:var(--tb-muted)}
.main-navigation ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem 1.25rem}
.main-navigation li{position:relative}
.main-navigation a{display:block;padding:.5rem 0;color:var(--tb-text);text-decoration:none;font-weight:500}
.main-navigation a:hover,.main-navigation .current-menu-item>a,.main-navigation .current_page_item>a{color:var(--tb-accent)}
.main-navigation ul ul{display:none;position:absolute;left:0;top:100%;min-width:200px;flex-direction:column;gap:0;background:var(--tb-bg);border:1px solid var(--tb-border);padding:.25rem .75rem;z-index:50}
.main-navigation li:hover>ul,.main-navigation li:focus-within>ul{display:flex}
.menu-toggle{display:none;background:transparent;color:var(--tb-text);border:1px solid var(--tb-border);padding:.5rem .7rem}
.menu-toggle:hover{background:var(--tb-surface);color:var(--tb-text);filter:none}
.menu-toggle-icon,.menu-toggle-icon::before,.menu-toggle-icon::after{display:block;width:22px;height:2px;background:currentColor;content:"";position:relative}
.menu-toggle-icon::before{top:-7px;position:absolute}
.menu-toggle-icon::after{top:7px;position:absolute}
.header-centered .header-inner{flex-direction:column;text-align:center}
.header-centered .site-branding{flex-direction:column;gap:.4rem}
.header-centered .main-navigation ul{justify-content:center}

/* Layout */
.site-content{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:3rem;padding-block:2.5rem}
.no-sidebar .site-content{grid-template-columns:minmax(0,1fr)}
.no-sidebar .content-area{max-width:760px;width:100%;margin-inline:auto}
.content-area>*:first-child{margin-top:0}

/* Entries */
.entry{margin-bottom:3rem}
.entry-title{margin:0 0 .4rem;font-size:1.75rem}
.single .entry-title,.page .entry-title{font-size:2.25rem}
.entry-title a{color:var(--tb-text);text-decoration:none}
.entry-title a:hover{color:var(--tb-accent)}
.entry-meta,.entry-footer{font-size:.875rem;color:var(--tb-muted)}
.entry-footer span{margin-right:1em}
.entry-thumb{display:block;margin-bottom:1rem}
.entry-thumb img{display:block;width:100%;border-radius:4px}
.page-header{margin-bottom:2rem}
.page-title{margin:0;font-size:2rem}
.archive-description{color:var(--tb-muted)}
.page-links{margin-bottom:1.5em}
.alignwide{max-width:min(100vw - 2.5rem,1100px);margin-inline:auto}
.alignleft{float:left;margin:0 1.5em 1em 0}
.alignright{float:right;margin:0 0 1em 1.5em}
.aligncenter{display:block;margin-inline:auto}
.wp-caption-text,figcaption{font-size:.875rem;color:var(--tb-muted);text-align:center}
.entry-content::after{content:"";display:table;clear:both}
.entry-content .alignfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw)}

/* Navigation / pagination */
.pagination .nav-links,.post-navigation .nav-links{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between}
.pagination .nav-links{justify-content:flex-start}
.page-numbers{padding:.35em .8em;border:1px solid var(--tb-border);border-radius:4px;text-decoration:none}
.page-numbers.current{background:var(--tb-accent);border-color:var(--tb-accent);color:#fff}
.post-navigation{margin:2rem 0;border-top:1px solid var(--tb-border);padding-top:1rem}
.nav-label{display:block;font-size:.8rem;color:var(--tb-muted);text-transform:uppercase;letter-spacing:.04em}

/* Widgets */
.widget{margin-bottom:2rem}
.widget-title{margin:0 0 .75rem;font-size:1.125rem}
.widget ul{list-style:none;padding:0;margin:0}
.widget li{padding:.3em 0;border-bottom:1px solid var(--tb-border)}
.search-form{display:flex;gap:.5rem}
.search-form label{flex:1}

/* Comments */
.comments-area{margin-top:3rem}
.comment-list{list-style:none;padding:0}
.comment-list .children{list-style:none;padding-left:1.5rem}
.comment-body{padding:1rem 0;border-top:1px solid var(--tb-border)}
.comment-meta{font-size:.875rem;color:var(--tb-muted)}
.comment-author .avatar{float:left;margin-right:.75rem;border-radius:50%}
.comment-form label{display:block;margin-bottom:.25rem}

/* Footer */
.site-footer{margin-top:2rem;padding:2rem 0;background:var(--tb-surface);border-top:1px solid var(--tb-border);font-size:.9rem}
.footer-widgets{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;margin-bottom:1.5rem}
.footer-navigation ul{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1.25rem}
.site-info{color:var(--tb-muted)}

/* Responsive */
@media (max-width:860px){
.site-content{grid-template-columns:minmax(0,1fr);gap:2rem}
.menu-toggle{display:inline-block}
.main-navigation{display:none;width:100%}
.main-navigation.is-open{display:block}
.main-navigation ul{flex-direction:column;gap:0}
.main-navigation li{border-top:1px solid var(--tb-border)}
.main-navigation ul ul{display:flex;position:static;border:0;padding:0 0 0 1rem}
.header-centered .header-inner{flex-direction:row;text-align:left}
}
