/* ==========================================================================
   Maitronics child theme
   1. Fonts and variables   2. Base   3. Header and menu   4. Homepage
   5. Post lists (cards)    6. Single posts and pages      7. Sidebar
   8. Footer                9. Small screens
   ========================================================================== */

/* 1. Fonts (stored in the theme, no request to Google) ---------------------- */
@font-face{font-family:"Inter";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/inter-400.woff2) format("woff2")}
@font-face{font-family:"Inter";font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/inter-500.woff2) format("woff2")}
@font-face{font-family:"Inter";font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/inter-600.woff2) format("woff2")}
@font-face{font-family:"Inter";font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/inter-700.woff2) format("woff2")}
@font-face{font-family:"Inter";font-weight:800;font-style:normal;font-display:swap;src:url(../fonts/inter-800.woff2) format("woff2")}

:root{
	--mt-blue:#1f77c4;
	--mt-blue-dark:#185f9e;
	--mt-blue-light:#17aff9;
	--mt-navy:#001328;
	--mt-navy-2:#062a55;
	--mt-ink:#14213a;
	--mt-mute:#5b6880;
	--mt-line:#e3e8f0;
	--mt-bg:#f6f8fb;
	--mt-accent:#17aff9;
	--mt-radius:14px;
	--mt-font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}

/* 2. Base ------------------------------------------------------------------- */
html body,
html body button,
html body input,
html body select,
html body textarea{
	font-family:var(--mt-font);
	letter-spacing:normal;
}
html body{
	background:#fff;
	color:var(--mt-ink);
	font-size:17px;
	line-height:1.65;
}
body h1,body h2,body h3,body h4,body h5,body h6{
	font-family:var(--mt-font);
	color:var(--mt-ink);
	letter-spacing:-.01em;
	font-weight:700;
	line-height:1.25;
}
body a{color:var(--mt-blue);text-decoration:none}
body a:hover,body a:focus{color:var(--mt-blue-dark)}
body .entry-content a{text-decoration:underline;text-underline-offset:3px}

body button,
body input[type="submit"],
body input[type="button"],
body a.button,
body .button,
body .wp-block-button__link{
	background:var(--mt-blue);
	color:#fff;
	border-radius:8px;
	font-weight:600;
	font-size:16px;
	padding:12px 22px;
	text-decoration:none;
	border:0;
}
body button:hover,
body input[type="submit"]:hover,
body a.button:hover,
body .button:hover,
body .wp-block-button__link:hover{background:var(--mt-blue-dark);color:#fff}

body input[type="text"],body input[type="email"],body input[type="url"],body input[type="search"],body input[type="number"],body textarea,body select{
	border:1px solid var(--mt-line);
	border-radius:8px;
	background:#fff;
	color:var(--mt-ink);
}

.mt-wrap{max-width:1200px;margin:0 auto;padding:0 24px}

.mt-btn{display:inline-block;padding:13px 24px;border-radius:8px;font-weight:600;font-size:16px;line-height:1.3;text-decoration:none;transition:background .15s,border-color .15s}
body .mt-btn--accent{background:var(--mt-accent);color:#001328}
body .mt-btn--accent:hover{background:#4cc2fb;color:#001328}
body .mt-btn--ghost{border:1.5px solid rgba(255,255,255,.35);color:#fff;padding:11.5px 24px}
body .mt-btn--ghost:hover{border-color:#fff;color:#fff}
body .mt-btn--blue{background:var(--mt-blue);color:#fff}
body .mt-btn--blue:hover{background:var(--mt-blue-dark);color:#fff}

/* 3. Header and menu -------------------------------------------------------- */
body .site-header{
	background:#fff;
	border-bottom:1px solid var(--mt-line);
	position:sticky;
	top:0;
	z-index:999;
}
body.admin-bar .site-header{top:32px}
body .site-header{transition:box-shadow .25s}
body .inside-header{transition:padding .25s}
body .site-header .header-image,body .site-logo img{transition:max-height .25s}
body.mt-scrolled .site-header{box-shadow:0 6px 24px rgba(0,19,40,.10)}
body.mt-scrolled .inside-header{padding-top:4px;padding-bottom:4px}
body.mt-scrolled .site-header .header-image,body.mt-scrolled .site-logo img{max-height:40px}
body .grid-container{max-width:1200px}
body .inside-header{padding:14px 24px}
body .site-header .header-image,
body .site-logo img{width:auto;max-height:52px}
body .main-title a,body .main-title a:hover{color:var(--mt-ink);font-weight:800}
/* When a logo is set, the text title next to it is not needed. */
body .site-header:has(.site-logo) .site-branding{display:none}

body .main-navigation,
body .main-navigation ul ul{background:#fff}
body .main-navigation{border:0}
body .main-navigation .inside-navigation{border:0}
body .main-navigation .main-nav ul li a,
body .main-navigation .menu-toggle,
body .main-navigation .menu-bar-items{
	color:var(--mt-ink);
	font-size:16px;
	font-weight:500;
	letter-spacing:normal;
}
body .main-navigation .main-nav ul li:not([class*="current-menu-"]):hover > a,
body .main-navigation .main-nav ul li:not([class*="current-menu-"]):focus > a,
body .main-navigation .main-nav ul li.sfHover:not([class*="current-menu-"]) > a,
body .main-navigation .main-nav ul li[class*="current-menu-"] > a,
body .main-navigation .menu-bar-item:hover > a{
	color:var(--mt-blue);
	background:transparent;
}
body .main-navigation .main-nav > ul > li > a{padding-left:16px;padding-right:16px}
body .main-navigation .main-nav ul ul{
	border:1px solid var(--mt-line);
	border-radius:10px;
	box-shadow:0 12px 30px rgba(10,25,48,.10);
	overflow:hidden;
}
body .main-navigation .main-nav ul ul li a{font-size:15px;padding-top:12px;padding-bottom:12px;line-height:1.4}

/* 4. Homepage --------------------------------------------------------------- */
body.mt-front #page{max-width:none;width:100%;padding:0;margin:0}
body.mt-front .site-content{display:block;padding:0}
body.mt-front .mt-home{width:100%}

.mt-hero{background:linear-gradient(135deg,var(--mt-navy) 0%,var(--mt-navy-2) 100%);color:#fff;padding:26px 0}
.mt-hero__inner{display:flex;gap:40px;align-items:center}
.mt-hero__text{flex:1;min-width:0}
.mt-tag{display:inline-block;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#8fd6fd;background:rgba(23,175,249,.14);padding:6px 12px;border-radius:99px;margin:0 0 12px}
body .mt-hero h1{font-size:40px;line-height:1.1;font-weight:800;letter-spacing:-.02em;color:#fff;margin:0}
body .mt-hero h1 span{color:var(--mt-blue-light)}
.mt-hero__lead{color:#b9c6dc;font-size:16.5px;line-height:1.5;margin:10px 0 0}
.mt-hero__actions{margin:0;display:flex;flex-wrap:wrap;gap:12px}

.mt-scope{flex:0 0 520px;max-width:100%;min-width:0;background:#000d1c;border:1px solid #123a66;border-radius:var(--mt-radius);padding:12px 16px 12px;box-shadow:0 14px 36px rgba(0,0,0,.3)}
.mt-scope__top{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#8ea3c4;margin-bottom:4px}
.mt-scope__top b{color:#fff;font-weight:600}
.mt-scope__top span{white-space:nowrap}
.mt-scope__hint{font-style:normal}
@media (max-width:480px){.mt-scope__hint{display:none}}
.mt-scope svg{display:block;width:100%;height:auto}
.mt-scope svg text{font-family:var(--mt-font)}
.mt-scope__controls{display:flex;gap:16px;margin-top:6px}
.mt-scope__controls label{flex:1;font-size:11.5px;margin:0;color:#8ea3c4;display:block}
.mt-scope__controls b{color:#fff;float:right;font-weight:600}
body .mt-scope input[type="range"]{-webkit-appearance:none;appearance:none;display:block;width:100%;height:4px;margin:9px 0 4px;padding:0;border:0;border-radius:4px;background:#1e3559;cursor:pointer}
.mt-scope input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid #17aff9}
.mt-scope input[type="range"]::-moz-range-thumb{width:11px;height:11px;border-radius:50%;background:#fff;border:3px solid #17aff9}

.mt-section{padding:76px 0}
.mt-section--alt{background:var(--mt-bg)}
.mt-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:34px}
body .mt-head h2,body .mt-about h2{font-size:32px;margin:0}
.mt-head p{color:var(--mt-mute);margin:6px 0 0}
.mt-more{font-weight:600;font-size:16px;white-space:nowrap}

.mt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}

body .mt-card{position:relative;display:block;border:1px solid var(--mt-line);border-radius:var(--mt-radius);padding:26px;background:#fff;color:var(--mt-ink);transition:border-color .15s,box-shadow .15s,transform .15s}
body a.mt-card:hover{border-color:#b9d3f1;box-shadow:0 10px 28px rgba(10,25,48,.08);transform:translateY(-2px);color:var(--mt-ink)}
.mt-card__icon{width:48px;height:48px;border-radius:12px;background:#e9f2fd;color:var(--mt-blue);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
body .mt-card h3{font-size:19px;margin:0 0 6px}
.mt-card p{color:var(--mt-mute);font-size:15.5px;line-height:1.55;margin:0}
.mt-card__go{display:block;margin-top:16px;color:var(--mt-blue);font-weight:600;font-size:15px}
.mt-card--soon{background:#fbfcfe}
.mt-soon{position:absolute;right:22px;top:26px;font-size:11.5px;font-weight:600;color:var(--mt-blue);background:#e9f2fd;padding:4px 9px;border-radius:99px;line-height:1.4}

body .mt-post{display:block;border:1px solid var(--mt-line);border-radius:var(--mt-radius);overflow:hidden;background:#fff;color:var(--mt-ink);transition:box-shadow .15s,transform .15s}
body a.mt-post:hover{box-shadow:0 10px 28px rgba(10,25,48,.08);transform:translateY(-2px);color:var(--mt-ink)}
.mt-post__thumb{display:block;aspect-ratio:16/9;background:var(--mt-navy);overflow:hidden}
.mt-post__thumb img{display:block;width:100%;height:100%;object-fit:cover}
.mt-post__thumb--auto{background:linear-gradient(135deg,var(--mt-navy),#17386b);padding:22px;color:#fff}
.mt-post__thumb--auto small{display:block;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#8fc2ff}
.mt-post__thumb--auto strong{display:block;font-size:22px;line-height:1.25;margin-top:8px;max-width:80%}
.mt-post__body{padding:22px}
.mt-post__cat{display:block;font-size:12.5px;font-weight:600;color:var(--mt-blue);text-transform:uppercase;letter-spacing:.06em}
body .mt-post h3{font-size:19px;line-height:1.3;margin:8px 0}
.mt-post p{color:var(--mt-mute);font-size:15.5px;line-height:1.55;margin:0}

.mt-about__inner{display:flex;gap:44px;align-items:center}
.mt-about__photo{width:170px;height:170px;border-radius:50%;object-fit:cover;flex:none}
.mt-about p{color:var(--mt-mute);margin:10px 0 20px;max-width:720px}

.mt-news{background:var(--mt-blue);color:#fff;padding:54px 0}
.mt-news__inner{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}
body .mt-news h2{font-size:28px;color:#fff;margin:0}
.mt-news p{color:#d5e6fb;margin:4px 0 0}
body .mt-news button,body .mt-news input[type="submit"]{background:#fff;color:var(--mt-blue)}

/* 5. Post lists: blog page, categories, tags, search ------------------------ */
body.mt-cards .site-content{padding:48px 24px 64px}
body.mt-cards .site-main{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0}
body.mt-cards .site-main > *{margin:0}
body.mt-cards .site-main > .page-header,
body.mt-cards .site-main > .paging-navigation,
body.mt-cards .site-main > .no-results,
body.mt-cards .site-main > nav{grid-column:1/-1}
body.mt-cards .page-header{background:none;padding:0 0 6px}
body.mt-cards .page-header h1{font-size:36px;font-weight:800;margin:0}
body.mt-cards .page-header .taxonomy-description{color:var(--mt-mute);margin-top:8px}

body.mt-cards .site-main > article{border:1px solid var(--mt-line);border-radius:var(--mt-radius);overflow:hidden;background:#fff;transition:box-shadow .15s,transform .15s;width:auto;float:none;padding:0;display:flex;flex-direction:column}
body.mt-cards .site-main > article:hover{box-shadow:0 10px 28px rgba(10,25,48,.08);transform:translateY(-2px)}
body.mt-cards .site-main > article .inside-article{display:flex;flex-direction:column;flex:1;padding:0 0 22px;background:none}
body.mt-cards .inside-article > *{padding-left:22px;padding-right:22px;margin-left:0;margin-right:0}
body.mt-cards .inside-article > .post-image{order:-1;padding:0;margin:0 0 20px;float:none;width:100%;max-width:none}
body.mt-cards .inside-article > .post-image a{display:block}
body.mt-cards .inside-article > .post-image img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
body.mt-cards .site-main > article .inside-article:not(:has(.post-image)){padding-top:24px}
body.mt-cards .entry-header{margin:0}
body.mt-cards .entry-title{font-size:20px;line-height:1.3;font-weight:700;margin:0}
body.mt-cards .entry-title a{color:var(--mt-ink)}
body.mt-cards .entry-title a:hover{color:var(--mt-blue)}
body.mt-cards .entry-header .entry-meta .byline{display:none}
body.mt-cards .entry-header .entry-meta{font-size:13px;color:var(--mt-mute);margin-top:6px}
body.mt-cards .entry-summary{margin-top:10px;color:var(--mt-mute);font-size:15.5px;line-height:1.55}
body.mt-cards .entry-summary p{margin:0 0 12px}
body.mt-cards .entry-summary p:last-child{margin-bottom:0}
body.mt-cards .entry-summary a.read-more,
body.mt-cards .entry-summary a.button{background:none;color:var(--mt-blue);padding:0;font-size:15px;font-weight:600;border-radius:0}
body.mt-cards footer.entry-meta{margin-top:auto;padding-top:14px;font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}
body.mt-cards footer.entry-meta .tags-links,
body.mt-cards footer.entry-meta .comments-link,
body.mt-cards footer.entry-meta .gp-icon{display:none}
body.mt-cards footer.entry-meta .cat-links{display:block}
body.mt-cards footer.entry-meta:empty{display:none}
body .cat-links a[href*="/category/uncategorized"]{display:none}

body .paging-navigation{padding:10px 0 0;background:none}
body .paging-navigation .nav-links{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
body .paging-navigation .page-numbers{display:inline-block;min-width:40px;text-align:center;padding:7px 12px;border:1px solid var(--mt-line);border-radius:8px;font-weight:600;font-size:15px;color:var(--mt-ink)}
body .paging-navigation .page-numbers.current{background:var(--mt-blue);border-color:var(--mt-blue);color:#fff}

/* 6. Single posts and pages ------------------------------------------------- */
body.single .site-content,body.page:not(.mt-front) .site-content{padding-top:40px;padding-bottom:64px}
body.single .entry-header .entry-title,
body.page:not(.mt-front) .entry-header .entry-title{font-size:40px;font-weight:800;letter-spacing:-.02em;line-height:1.15}
body.single .entry-header .entry-meta{color:var(--mt-mute);font-size:14px;margin-top:10px}
body.single .entry-content,body.page .entry-content{font-size:17.5px;line-height:1.75}
body .entry-content h2{font-size:28px;margin:1.8em 0 .6em}
body .entry-content h3{font-size:22px;margin:1.6em 0 .5em}
body .entry-content img,body .featured-image img,body .page-header-image-single img{border-radius:12px}
body .entry-content table{border-collapse:collapse;font-size:16px}
body .entry-content th{background:var(--mt-bg);text-align:left}
body .entry-content th,body .entry-content td{border:1px solid var(--mt-line);padding:10px 14px}
body .entry-content pre,body .entry-content code{background:#0f1d33;color:#e6eefb;border-radius:8px}
body .entry-content code{padding:2px 6px;font-size:.9em}
body .entry-content pre{padding:18px 20px;overflow:auto}
body .entry-content pre code{padding:0;background:none}
body .entry-content blockquote{border-left:4px solid var(--mt-blue);background:var(--mt-bg);padding:16px 22px;border-radius:0 10px 10px 0;font-size:inherit;font-style:normal}
body.single footer.entry-meta{margin-top:36px;padding-top:20px;border-top:1px solid var(--mt-line);font-size:14px;color:var(--mt-mute)}
body .comments-area{border-top:1px solid var(--mt-line)}

/* 7. Sidebar ---------------------------------------------------------------- */
body .sidebar .widget{border:1px solid var(--mt-line);border-radius:var(--mt-radius);padding:24px;background:#fff;font-size:15.5px;line-height:1.6;color:var(--mt-mute)}
body .sidebar .widget .widget-title,
body .sidebar .widget h2{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--mt-ink);margin-bottom:14px}
body .sidebar .widget ul li{padding:6px 0;border-bottom:1px solid var(--mt-line);margin:0}
body .sidebar .widget ul li:last-child{border-bottom:0}
body .sidebar .widget a{font-weight:500}

/* 8. Footer ----------------------------------------------------------------- */
body .site-footer{background:var(--mt-navy);color:#9fb0cb}
.mt-footer{padding:54px 0 34px;font-size:15px;line-height:1.6}
.mt-footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}
body .mt-footer__logo{font-size:24px;font-weight:800;color:#fff;letter-spacing:-.01em}
.mt-footer__brand p{margin:12px 0 0;max-width:340px}
body .mt-footer__title{font-size:16px;font-weight:600;color:#fff;margin:0 0 12px;letter-spacing:0}
.mt-footer ul{list-style:none;margin:0;padding:0}
.mt-footer li{margin:0 0 7px}
body .mt-footer a{color:#9fb0cb}
body .mt-footer a:hover{color:#fff}
body .site-footer .footer-widgets{background:transparent;color:#9fb0cb}
body .site-footer .footer-widgets .widget-title{color:#fff}
body .site-footer .footer-widgets a{color:#9fb0cb}
body .site-info{background:transparent;color:#8194b3;font-size:13.5px;border-top:1px solid #1e3559}
body .site-info a{color:#b9c6dc}
body .site-info a:hover{color:#fff}
body .inside-site-info{padding-top:20px;padding-bottom:24px}

/* 9. Small screens ---------------------------------------------------------- */
@media (max-width:1024px){
	.mt-grid,body.mt-cards .site-main{grid-template-columns:repeat(2,minmax(0,1fr))}
	.mt-hero__inner{flex-direction:column;align-items:stretch;gap:22px}
	.mt-hero__text{flex:none}
	.mt-scope{flex:none}
	.mt-footer__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:782px){
	body.admin-bar .site-header{top:46px}
}
@media (max-width:768px){
	body .site-header{position:static}
	body .site-header .header-image,body .site-logo img{max-height:42px}
	.mt-hero{padding:28px 0 30px}
	body .mt-hero h1{font-size:32px}
	.mt-section{padding:52px 0}
	body .mt-head h2,body .mt-about h2{font-size:26px}
	.mt-head{flex-direction:column;align-items:flex-start;gap:10px}
	.mt-grid,body.mt-cards .site-main{grid-template-columns:1fr}
	.mt-about__inner{flex-direction:column;align-items:flex-start;gap:24px}
	.mt-about__photo{width:120px;height:120px}
	.mt-footer__grid{grid-template-columns:1fr;gap:28px}
	body.single .entry-header .entry-title,body.page:not(.mt-front) .entry-header .entry-title{font-size:30px}
	body.mt-cards .site-content{padding-top:28px}
}

/* Search block button */
body .wp-block-search__button{background:var(--mt-blue);color:#fff;border:0;border-radius:8px;margin-left:8px}
body.mt-cards footer.entry-meta .cat-links:before{display:none}

/* 10. Motion ---------------------------------------------------------------- */
/* Cards fade in while scrolling. The classes are added by assets/js/site.js,
   so nothing is hidden if JavaScript is off. */
.mt-reveal{opacity:0;transform:translateY(18px)}
.mt-reveal.is-in{opacity:1;transform:none;transition:opacity .55s ease,transform .55s ease}

/* Reading progress line on single posts */
.mt-progress{position:fixed;left:0;top:0;height:3px;width:100%;background:var(--mt-blue-light);transform:scaleX(0);transform-origin:0 50%;z-index:1001;pointer-events:none}
body.admin-bar .mt-progress{top:32px}
@media (max-width:782px){body.admin-bar .mt-progress{top:46px}}

@media (prefers-reduced-motion:reduce){
	.mt-reveal{opacity:1;transform:none}
	body .site-header,body .inside-header,body .site-logo img,body .mt-card,body .mt-post{transition:none}
}
