/*!
 * Emargy Theme — base stylesheet
 * Version: 1.0.0
 */

/* -----------------------------
   Reset & base
------------------------------*/
*,*::before,*::after{box-sizing:border-box}
html{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;line-height:var(--emargy-line-height,1.5);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--emargy-bg,#f7f8f9);color:var(--emargy-text,#3a3a3a);font-size:var(--emargy-font-size,17px);line-height:var(--emargy-line-height,1.5);word-wrap:break-word}
h1,h2,h3,h4,h5,h6{margin:0 0 .5em;font-weight:600;line-height:1.25;color:#222}
h1{font-size:2.4rem}h2{font-size:1.9rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.1rem}h6{font-size:1rem}
p{margin:0 0 1.5em}
a{color:var(--emargy-link,#1e73be);text-decoration:none;transition:color .2s ease}
a:hover,a:focus{color:var(--emargy-link-hover,#000)}
img,svg,video{max-width:100%;height:auto;vertical-align:middle}
figure{margin:0 0 1.5em}
ul,ol{margin:0 0 1.5em 1.5em;padding:0}
blockquote{margin:0 0 1.5em;padding:.5em 1.5em;border-left:4px solid #ddd;color:#555}
code,pre{font-family:Menlo,Consolas,monospace;font-size:.95em}
pre{padding:1em;background:#f5f5f5;overflow:auto;border-radius:3px}
hr{border:0;border-top:1px solid #e5e5e5;margin:2em 0}
table{width:100%;border-collapse:collapse;margin:0 0 1.5em}
th,td{padding:.5em .75em;border:1px solid #e5e5e5;text-align:left}

/* -----------------------------
   Forms & buttons
------------------------------*/
input,textarea,select,button{font:inherit;color:inherit}
input[type=text],input[type=email],input[type=url],input[type=password],input[type=search],input[type=number],input[type=tel],textarea{width:100%;padding:.6em .8em;border:1px solid #d2d2d2;border-radius:3px;background:#fff}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--emargy-link,#1e73be);box-shadow:0 0 0 2px rgba(30,115,190,.15)}
button,input[type=submit],.button,.wp-block-button__link{display:inline-block;padding:.65em 1.4em;background:var(--emargy-link,#1e73be);color:#fff;border:0;border-radius:3px;cursor:pointer;line-height:1.4;transition:background .2s ease}
button:hover,input[type=submit]:hover,.button:hover,.wp-block-button__link:hover{background:var(--emargy-link-hover,#000);color:#fff}

/* -----------------------------
   Accessibility helpers
------------------------------*/
.screen-reader-text{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.screen-reader-text:focus{position:static !important;width:auto;height:auto;clip:auto;background:#f1f1f1;padding:1em;color:#21759b;z-index:100000;display:block}
.skip-link{position:absolute;left:-9999rem;top:1.25rem;z-index:999999}
.skip-link:focus{left:1rem}

/* -----------------------------
   Layout containers
------------------------------*/
.emargy-container{width:100%;max-width:var(--emargy-container,1200px);margin:0 auto;padding:0 20px}
.emargy-page-wrap{display:flex;flex-direction:column;min-height:100vh}

/* -----------------------------
   Header
------------------------------*/
.site-header{background:#fff;border-bottom:1px solid #eee}
.inside-header{display:flex;align-items:center;justify-content:space-between;padding:20px}
.site-branding-container{display:flex;align-items:center;gap:15px}
.site-logo img{max-height:60px;width:auto}
.main-title{margin:0;font-size:1.6rem;font-weight:700}
.main-title a{color:#222}
.site-description{margin:0;font-size:.9rem;color:#777}

/* -----------------------------
   Navigation
------------------------------*/
.main-navigation{background:#222;color:#fff}
.main-navigation a{color:#fff;display:block;padding:1em 1.25em}
.main-navigation a:hover,.main-navigation a:focus{background:rgba(255,255,255,.08);color:#fff}
.inside-navigation{display:flex;align-items:center;justify-content:flex-start}
.main-nav ul{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap}
.main-nav li{position:relative}
.main-nav .sub-menu{position:absolute;top:100%;left:0;min-width:220px;background:#222;display:none;z-index:99;box-shadow:0 4px 12px rgba(0,0,0,.15)}
.main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu,.main-nav .sub-menu.toggled-on{display:block}
.main-nav .sub-menu li{width:100%}
.main-nav .sub-menu a{padding:.7em 1.25em;border-top:1px solid rgba(255,255,255,.05)}
.menu-toggle{display:none;background:transparent;color:#fff;padding:1em 1.25em}
.menu-toggle .emargy-menu-bar{display:inline-block;width:20px;height:2px;background:#fff;position:relative}
.menu-toggle .emargy-menu-bar::before,.menu-toggle .emargy-menu-bar::after{content:"";position:absolute;left:0;width:20px;height:2px;background:#fff}
.menu-toggle .emargy-menu-bar::before{top:-6px}
.menu-toggle .emargy-menu-bar::after{top:6px}

/* -----------------------------
   Content grid
------------------------------*/
.site-content{display:flex;flex-wrap:wrap;gap:40px;padding:40px 0}
.site-main{flex:1 1 0}
.widget-area.sidebar{flex:0 0 300px}
.grid-100{width:100%}
.grid-70{flex:1 1 0}
.grid-50{flex:1 1 0}
.grid-30{flex:0 0 300px}

/* -----------------------------
   Articles
------------------------------*/
.inside-article{background:#fff;padding:40px;border-radius:3px;margin-bottom:30px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.entry-title{margin:0 0 .5em}
.entry-title a{color:inherit}
.entry-meta{font-size:.875em;color:#777;margin-bottom:1em}
.entry-meta a{color:inherit;text-decoration:underline}
.entry-meta > span{margin-right:1em}
.post-image{margin:0 0 1.5em}
.post-image img{display:block;width:100%;height:auto}
.read-more{display:inline-block;font-weight:600}

/* -----------------------------
   Pagination
------------------------------*/
.pagination,.nav-links{display:flex;flex-wrap:wrap;gap:6px;margin:1.5em 0}
.pagination .page-numbers,.nav-links a,.nav-links span{display:inline-block;padding:.4em .8em;background:#fff;border:1px solid #e5e5e5;border-radius:3px}
.pagination .current{background:var(--emargy-link,#1e73be);color:#fff;border-color:var(--emargy-link,#1e73be)}

/* -----------------------------
   Comments
------------------------------*/
.comments-area{margin-top:2em;background:#fff;padding:40px;border-radius:3px}
.comment-list{list-style:none;margin:0;padding:0}
.comment-list .children{list-style:none;margin-left:2em;padding:0}
.comment-body{padding:1.5em 0;border-top:1px solid #eee}
.comment-author img{border-radius:50%;margin-right:.75em;vertical-align:middle}
.comment-metadata{font-size:.85em;color:#777}
.reply a{display:inline-block;margin-top:.5em;font-weight:600}

/* -----------------------------
   Footer widgets
------------------------------*/
.footer-widgets{background:#1f1f1f;color:#bbb;padding:50px 0}
.footer-widgets a{color:#fff}
.footer-widgets .widget-title{color:#fff;font-size:1.05rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:1em}
.inside-footer-widgets{display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}

/* -----------------------------
   Site info (footer bar)
------------------------------*/
.site-info{background:#111;color:#aaa;padding:1.25em 0;font-size:.9em}
.inside-site-info{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1em}
.site-info a{color:#fff}

/* -----------------------------
   Back to top
------------------------------*/
.emargy-back-to-top{position:fixed;right:20px;bottom:20px;width:42px;height:42px;line-height:42px;text-align:center;background:var(--emargy-link,#1e73be);color:#fff;border-radius:50%;display:none;z-index:9999;box-shadow:0 2px 6px rgba(0,0,0,.2)}
.emargy-back-to-top.is-visible{display:block}
.emargy-back-to-top:hover{color:#fff;opacity:.9}

/* -----------------------------
   Gutenberg / WP core blocks
------------------------------*/
.alignwide{margin-left:-80px;margin-right:-80px;max-width:none}
.alignfull{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);max-width:none;width:auto}
.wp-block-image figcaption,.wp-caption-text{text-align:center;color:#777;font-size:.9em}
.wp-block-quote{border-left:4px solid var(--emargy-link,#1e73be);padding-left:1.5em}

/* -----------------------------
   Layout: sidebar variants
------------------------------*/
.left-sidebar #right-sidebar{order:99}
.left-sidebar .site-content{flex-direction:row-reverse}
.both-sidebars .site-content{justify-content:space-between}
.no-sidebar .site-main{width:100%}

/* -----------------------------
   Responsive
------------------------------*/
@media (max-width: 768px){
	.inside-header{flex-direction:column;text-align:center;gap:15px}
	.site-content{flex-direction:column;gap:30px}
	.widget-area.sidebar,.grid-30{flex:1 1 100%;width:100%}
	.inside-article,.comments-area{padding:25px}
	.menu-toggle{display:block;margin-left:auto}
	.main-nav{display:none;width:100%}
	.main-nav.toggled{display:block}
	.main-nav ul{flex-direction:column}
	.main-nav .sub-menu{position:static;box-shadow:none;border-left:2px solid rgba(255,255,255,.1);margin-left:1em}
	.alignwide{margin-left:0;margin-right:0}
}
