/*
Theme Name: Hustro
Theme URI: https://www.hustro.com/
Author: Hustro
Description: Lightweight theme for hustro.com. Header and footer come from WPCode snippets; content is Gutenberg. Keeps legacy Divi wrapper markup and baseline styles so existing content renders unchanged.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: hustro
*/

/* ---------- Baseline (matches former Divi reset + customizer settings) ---------- */
a,abbr,acronym,address,applet,b,big,blockquote,body,center,cite,code,dd,del,dfn,div,dl,dt,em,fieldset,font,form,h1,h2,h3,h4,h5,h6,html,i,iframe,img,ins,kbd,label,legend,li,object,ol,p,pre,q,s,samp,small,span,strike,strong,sub,sup,tt,u,ul,var{margin:0;padding:0;border:0;outline:0;font-size:100%;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;vertical-align:baseline;background:transparent}
*,*:before,*:after{-webkit-box-sizing:border-box;box-sizing:border-box}
ol,ul{list-style:none}
blockquote,q{quotes:none}
blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}
blockquote{margin:20px 0 30px;border-left:5px solid #fbcc30;padding-left:20px}
blockquote p{padding-bottom:0}
:focus{outline:0}
:focus-visible{outline:2px solid #fbcc30;outline-offset:2px}
del{text-decoration:line-through}
pre{overflow:auto;padding:10px}
figure{margin:0}
table{border-collapse:collapse;border-spacing:0}
article,aside,footer,header,hgroup,nav,section,main{display:block}
body{font-family:'Archivo',Helvetica,Arial,Lucida,sans-serif;font-size:16px;color:#666;background-color:#fff;line-height:1.7em;font-weight:500;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
a{color:#fbcc30}
a,a:hover{text-decoration:none}
p{padding-bottom:1em}
p:not(.has-background):last-of-type{padding-bottom:0}
strong,b{font-weight:700}
cite,em,i{font-style:italic}
code,pre{font-family:Courier New,monospace;margin-bottom:10px}
ins{text-decoration:none}
sub,sup{height:0;line-height:1;position:relative;vertical-align:baseline}
sup{bottom:.8em}
sub{top:.3em}
dl{margin:0 0 1.5em}
dl dt{font-weight:700}
dd{margin-left:1.5em}
embed,iframe,object,video{max-width:100%}
h1,h2,h3,h4,h5,h6{font-family:'Archivo',Helvetica,Arial,Lucida,sans-serif;color:#333;padding-bottom:10px;line-height:1em;font-weight:700;font-style:normal;text-transform:none;text-decoration:none}
h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{color:inherit}
h1{font-size:30px}h2{font-size:26px}h3{font-size:22px}h4{font-size:18px}h5{font-size:16px}h6{font-size:14px}
input{-webkit-appearance:none}
input[type=checkbox]{-webkit-appearance:checkbox}
input[type=radio]{-webkit-appearance:radio}
input.text,input.title,input[type=email],input[type=password],input[type=tel],input[type=text],input[type=search],select,textarea{background-color:#fff;border:1px solid #bbb;padding:2px;color:#4e4e4e}
input.text:focus,input.title:focus,input[type=text]:focus,select:focus,textarea:focus{border-color:#2d3940;color:#3e3e3e}
textarea{padding:4px}
button,input,select,textarea{font-family:inherit}
img{max-width:100%;height:auto}
.clear{clear:both}
.clearfix:after{visibility:hidden;display:block;font-size:0;content:" ";clear:both;height:0}

/* ---------- Layout wrappers (legacy names kept on purpose) ---------- */
#page-container{position:relative;overflow-x:clip}
#main-content{background-color:#fff;display:block}
.container{width:80%;max-width:1080px;margin:auto;position:relative}
#main-content .container{padding-top:58px}
#left-area{width:100%;padding-bottom:23px}
.et_pb_post{margin-bottom:60px;word-wrap:break-word}
.single .post{padding-bottom:25px}
.main_title{margin-bottom:20px}
.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}

/* Lists and tables inside content (Divi defaults) */
#left-area ul,.entry-content ul{list-style-type:disc;padding:0 0 23px 1em;line-height:26px}
#left-area ol,.entry-content ol{list-style-type:decimal;list-style-position:inside;padding:0 0 23px;line-height:26px}
#left-area ul li ul,.entry-content ul li ol{padding:2px 0 2px 20px}
#left-area ol li ul,.entry-content ol li ol{padding:2px 0 2px 35px}
#left-area ul.wp-block-gallery{display:flex;flex-wrap:wrap;list-style-type:none;padding:0}
.entry-content table:not(.variations){border:1px solid #eee;margin:0 0 15px;text-align:left;width:100%}
.entry-content thead th,.entry-content tr th{color:#555;font-weight:700;padding:9px 24px}
.entry-content tr td{border-top:1px solid #eee;padding:6px 24px}

/* Post header for posts that do not bring their own hero */
.et_post_meta_wrapper{max-width:820px;margin:0 auto 32px}
body.single .et_post_meta_wrapper h1{font-size:38px;line-height:1.15;color:#1a1a1a;padding-bottom:12px}
#left-area .post-meta{font-size:14px;padding-bottom:15px;color:#6b7280}
#left-area .post-meta a{text-decoration:none;color:#6b7280}
#left-area .post-meta a:hover{color:#1a1a1a}
#left-area .et_featured_image{display:block;width:100%;border-radius:12px;margin-top:8px}


/* Gutenberg alignment helpers */
.alignwide{max-width:1280px;margin-left:auto;margin-right:auto}
.alignleft{float:left;margin:0 1.5em 1em 0}
.alignright{float:right;margin:0 0 1em 1.5em}
.aligncenter{display:block;margin-left:auto;margin-right:auto}
.wp-caption-text,figcaption{font-size:14px;color:#6b7280}

/* ---------- Former Divi "Theme Options > Custom CSS" (old article template) ---------- */
.article-container{max-width:680px!important;margin:0 auto!important;padding:0 24px!important;font-family:'Archivo',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif!important;line-height:1.8!important;color:#333!important}
.article-hero{width:100%!important;background:linear-gradient(135deg,#FBCC30 0%,#ffd952 100%)!important;padding:80px 20px!important;text-align:center!important;margin:0 0 60px 0!important}
.article-hero h1{font-family:'Archivo',sans-serif!important;font-weight:900!important;font-size:48px!important;color:#000000!important;line-height:1.2em!important;max-width:900px!important;margin:0 auto!important}
.article-intro{font-size:21px!important;line-height:1.8!important;margin:40px 0!important;font-weight:300!important}
.article-intro p{font-size:21px!important;margin:24px 0!important;font-weight:300!important}
.article-container h1{font-weight:900!important;font-size:36px!important;color:#000000!important;margin:50px 0 30px 0!important;line-height:1.2em!important}
.article-container h2{font-weight:700!important;font-size:28px!important;color:#000000!important;margin:40px 0 20px 0!important;line-height:1.2em!important}
.article-container h3{font-weight:700!important;font-size:22px!important;color:#000000!important;margin:30px 0 15px 0!important;line-height:1.2em!important}
.article-container p{margin:24px 0!important;font-size:18px!important;line-height:1.8!important}
.article-container ul{margin:24px 0!important;padding-left:24px!important;list-style-type:disc!important}
.article-container li{margin:12px 0!important;font-size:18px!important;line-height:1.8!important;padding-left:8px!important}
.article-container strong{font-weight:700!important;color:#000000!important}
.article-image{width:100%!important;height:400px!important;background:#f5f5f5!important;border-radius:4px!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:32px 0!important;border:1px solid #e6e6e6!important;position:relative!important;font-size:60px!important;opacity:0.2!important}
.article-image-caption{position:absolute!important;bottom:0!important;left:0!important;right:0!important;background:rgba(0,0,0,0.75)!important;color:white!important;padding:12px 16px!important;text-align:center!important;font-size:14px!important;opacity:1!important}
.article-box{background:#f9f9f9!important;border-left:3px solid #FBCC30!important;padding:24px!important;margin:32px 0!important}
.article-stat-grid{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:24px!important;margin:40px 0!important}
.article-stat-card{background:#f9f9f9!important;padding:24px!important;border-radius:4px!important;text-align:center!important;border-left:3px solid #FBCC30!important}
.article-stat-number{font-size:36px!important;font-weight:900!important;color:#000000!important;margin-bottom:8px!important}
.article-stat-text{font-size:14px!important;color:#666!important;line-height:1.5!important}
.article-cta{background:#FBCC30!important;color:#000000!important;padding:40px!important;text-align:center!important;border-radius:4px!important;margin:60px 0!important}
.article-cta h2{margin-bottom:16px!important;color:#000000!important}
.article-cta p{margin:0!important;color:#000000!important}
.article-sources{margin-top:80px!important;padding-top:40px!important;border-top:1px solid #e6e6e6!important}
.article-source{margin:16px 0!important;font-size:14px!important;line-height:1.6!important;color:#666!important}
@media (max-width:768px){.article-hero h1{font-size:32px!important}.article-container{padding:0 20px!important}.article-intro,.article-intro p{font-size:19px!important}.article-container h1{font-size:28px!important}.article-container h2{font-size:24px!important}.article-stat-grid{grid-template-columns:1fr!important}.article-image{height:250px!important}}

/* ---------- Archives, search, 404 (hx style) ---------- */
.hs-arch,.hs-404{--y:#FBCC30;--d:#1a1a1a;--g:#6b7280;--b:#e7e5e0;max-width:1280px;margin:0 auto;padding:72px 40px 96px;color:var(--d);letter-spacing:0}
.hs-eye{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--g,#6b7280);padding:0 0 12px!important}
.hs-eye i{width:8px;height:8px;border-radius:50%;background:#FBCC30;display:inline-block}
.hs-arch-head{max-width:760px;margin-bottom:40px}
.hs-arch h1,.hs-404 h1{font-size:clamp(32px,4vw,48px);line-height:1.1;color:var(--d);padding:0 0 12px}
.hs-arch-desc{color:var(--g);font-size:17px;line-height:1.6}
.hs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.hs-card{display:flex;flex-direction:column;border:1px solid var(--b);border-radius:14px;overflow:hidden;background:#fff;transition:box-shadow .2s,transform .2s}
.hs-card:hover{box-shadow:0 10px 30px rgba(0,0,0,.08);transform:translateY(-2px)}
.hs-card-img{display:block;aspect-ratio:16/9;background:#f6f6f3;overflow:hidden}
.hs-card-img img{width:100%;height:100%;object-fit:cover;display:block}
.hs-ph{display:block;width:100%;height:100%;background:linear-gradient(135deg,#f6f6f3,#efece4)}
.hs-card-b{padding:20px 22px 24px}
.hs-card-meta{font-size:13px;color:var(--g);padding:0 0 8px!important}
.hs-card h2{font-size:19px;line-height:1.3;padding:0 0 8px}
.hs-card h2 a{color:var(--d)}
.hs-card h2 a:hover{text-decoration:underline;text-decoration-color:#FBCC30;text-decoration-thickness:2px;text-underline-offset:3px}
.hs-card p{font-size:15px;line-height:1.55;color:var(--g);padding:0}
.hs-pag{display:flex;gap:6px;justify-content:center;margin-top:48px;flex-wrap:wrap}
.hs-pag .page-numbers{min-width:40px;height:40px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--b);border-radius:999px;color:var(--d);font-weight:600}
.hs-pag .page-numbers.current{background:#FBCC30;border-color:#FBCC30}
.hs-pag a.page-numbers:hover{border-color:var(--d)}
.hs-empty{font-size:17px;color:var(--g)}
.hs-404{max-width:760px;text-align:center;padding:120px 24px}
.hs-404 p{font-size:17px;color:var(--g);padding-bottom:1em}
.hs-404-links{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:12px 0 28px}
.hs-btn{display:inline-block;background:#FBCC30;color:#1a1a1a!important;font-weight:700;font-size:16px;padding:14px 26px;border-radius:999px}
.hs-btn:hover{background:#ffd84d}
.hs-btn-o{background:transparent;border:1px solid #1a1a1a}
.hs-btn-o:hover{background:#1a1a1a;color:#fff!important}
.search-form{display:flex;gap:8px;max-width:480px;margin:0 auto}
.hs-arch .search-form{margin:16px 0 0}
.search-form label{flex:1}
.search-form .search-field{width:100%;height:46px;border:1px solid #d6d3cc;border-radius:999px;padding:0 18px;font-size:16px;color:#1a1a1a}
.search-form .search-submit{height:46px;border:0;border-radius:999px;background:#1a1a1a;color:#fff;font-weight:700;padding:0 20px;cursor:pointer;-webkit-appearance:none}
@media (max-width:980px){.hs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.hs-grid{grid-template-columns:minmax(0,1fr)}.hs-arch{padding:48px 20px 72px}body.single .et_post_meta_wrapper h1{font-size:30px}}
