
:root{
  --m1-bg:#f3f3f3;
  --m1-card:#ffffff;
  --m1-border:#e7e7e7;
  --m1-muted:#777;
  --m1-text:#111;
  --m1-accent:#1f7ae0;
  --m1-accent2:#0f62c9;
  --m1-radius:10px;
  --m1-shadow:0 6px 20px rgba(0,0,0,.06);
  --m1-shadow2:0 10px 30px rgba(0,0,0,.18);
  --m1-container:1180px;
  --m1-sidebar:240px;
  --m1-rightbar:320px;
  --m1-grid-cols:3;
  --m1-grid-gap:14px;
  --m1-thumb-ratio:16/9;
  --m1-font-size:16px;
  --m1-font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --m1-logo-max-w:220px;
  --m1-logo-max-h:44px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{font-size:var(--m1-font-size);}
body{
  font-family: var(--m1-font-family);
  font-size:1rem;
  background:var(--m1-bg);
  color:var(--m1-text);
  line-height:1.4;
}

a{color:inherit;text-decoration:none}
a:hover{color:var(--m1-accent)}
img{max-width:100%;height:auto;display:block}

.m1-container{
  max-width:var(--m1-container);
  margin: 0 auto;
  padding: 14px 14px 40px;
}

.m1-header{
  background:#fff;
  border-bottom:1px solid var(--m1-border);
}

.m1-topbar{
  max-width:var(--m1-container);
  margin:0 auto;
  padding:14px 14px 10px;
  display:flex;
  align-items:center;
  gap:14px;
}

.m1-brand{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:700;
  letter-spacing:.2px;
  font-size:1.375rem;
}

.m1-user{font-size:0.8125rem;color:#555;}

.m1-logo .custom-logo-link{
  display:inline-flex;
  align-items:center;
}
.m1-logo .custom-logo{
  max-width:var(--m1-logo-max-w);
  max-height:var(--m1-logo-max-h);
  width:auto;
  height:auto;
  object-fit:contain;
}
.m1-brand-dot{
  width:14px;height:14px;border-radius:999px;background:var(--m1-accent);
  display:inline-block;
}

.m1-search{
  flex:1;
  display:flex;
  justify-content:center;
}
.m1-searchform{
  width:min(640px, 100%);
  display:flex;
  gap:8px;
}
.m1-search-input{
  flex:1;
  border:1px solid var(--m1-border);
  border-radius:999px;
  padding:10px 14px;
  outline:none;
  background:#fff;
}
.m1-search-input:focus{
  border-color:#cbd8f1;
  box-shadow:0 0 0 3px rgba(31,122,224,.12);
}
.m1-search-btn{
  border:0;
  border-radius:999px;
  padding:10px 16px;
  background:#111;
  color:#fff;
  cursor:pointer;
}
.m1-search-btn:hover{background:#222}

.m1-auth{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-end;
}
.m1-auth a, .m1-auth button{
  font-size:0.8125rem;
  color:#222;
  background:transparent;
  border:0;
  cursor:pointer;
  padding:6px 8px;
}
.m1-auth a:hover, .m1-auth button:hover{color:var(--m1-accent)}
.m1-auth .m1-auth-primary{
  background:var(--m1-accent);
  color:#fff;
  border-radius:999px;
  padding:8px 12px;
}
.m1-auth .m1-auth-primary:hover{background:var(--m1-accent2); color:#fff}

.m1-nav{
  border-top:1px solid var(--m1-border);
  background:#fff;
}
.m1-nav-inner{
  max-width:var(--m1-container);
  margin:0 auto;
  padding:0 14px;
}
.m1-nav ul{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:18px;
}
.m1-nav a{
  display:inline-block;
  padding:10px 0;
  font-size:0.8125rem;
  color:#222;
  text-transform:uppercase;
  letter-spacing:.3px;
}
.m1-nav a:hover{color:var(--m1-accent)}

.m1-layout{
  display:flex;
  gap:18px;
  align-items:flex-start;
}

.m1-sidebar{
  width:var(--m1-sidebar);
}

.m1-main{flex:1; min-width:0;}

.m1-rightbar{
  width:var(--m1-rightbar);
}

.m1-section{
  background:#fff;
  border:1px solid var(--m1-border);
  border-radius:14px;
  padding:14px;
  margin-bottom:16px;
}

.m1-section-title{
  margin:0 0 12px;
  font-size:1.125rem;
  font-weight:700;
}

.m1-grid{
  display:grid;
  grid-template-columns: repeat(var(--m1-grid-cols), minmax(0, 1fr));
  gap:var(--m1-grid-gap);
}

@media (max-width: 1100px){
  .m1-rightbar{display:none}
  :root{--m1-sidebar:220px}
}
@media (max-width: 900px){
  .m1-layout{flex-direction:column}
  .m1-sidebar, .m1-rightbar{width:100%}
  .m1-grid{grid-template-columns: repeat(2, minmax(0,1fr))}
  .m1-topbar{flex-wrap:wrap}
  .m1-search{order:3; width:100%}
}
@media (max-width: 560px){
  .m1-grid{grid-template-columns: 1fr}
}

.m1-card{
  border:1px solid var(--m1-border);
  border-radius:12px;
  overflow:hidden;
  background:var(--m1-card);
  transition: transform .08s ease, box-shadow .08s ease, border-color .08s ease;
}
.m1-card:hover{
  transform: translateY(-1px);
  box-shadow: var(--m1-shadow);
  border-color:#dfe7f8;
}
.m1-thumb{
  position:relative;
  background:#eee;
  aspect-ratio: var(--m1-thumb-ratio);
  overflow:hidden;
}
.m1-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.m1-badge{
  position:absolute;
  right:8px;
  top:8px;
  font-size:0.6875rem;
  background:#ff2e2e;
  color:#fff;
  padding:3px 6px;
  border-radius:6px;
  font-weight:700;
}
.m1-card-body{padding:10px 10px 12px;}
.m1-title{
  margin:0 0 8px;
  font-size:0.8125rem;
  line-height:1.2;
  font-weight:650;
  color:#111;
}
.m1-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  font-size:0.75rem;
  color:var(--m1-muted);
}
.m1-meta span{
  display:inline-flex;
  align-items:center;
  gap:6px;
}

.m1-box{
  background:#fff;
  border:1px solid var(--m1-border);
  border-radius:14px;
  padding:12px;
  margin-bottom:12px;
}
.m1-box-title{
  margin:0 0 10px;
  font-size:0.875rem;
  font-weight:800;
}
.m1-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:8px;
}
.m1-list a{
  font-size:0.8125rem;
  color:#333;
}
.m1-list a:hover{color:var(--m1-accent)}

.m1-flash{
  margin:14px auto 0;
  max-width:var(--m1-container);
  padding:0 14px;
}
.m1-flash .m1-flash-box{
  border:1px solid var(--m1-border);
  border-left:4px solid var(--m1-accent);
  background:#fff;
  padding:10px 12px;
  border-radius:12px;
  box-shadow: var(--m1-shadow);
  font-size:0.875rem;
}
.m1-flash .is-error{border-left-color:#d22}
.m1-flash .is-success{border-left-color:#1a9b58}

.m1-footer{
  margin-top:30px;
  padding:26px 0 18px;
  border-top:1px solid var(--m1-border);
  background:#fff;
}
.m1-footer-inner{
  max-width:var(--m1-container);
  margin:0 auto;
  padding:0 14px;
  color:#444;
  font-size:0.8125rem;
}
.m1-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
.m1-tags a{
  background:#f2f2f2;
  border:1px solid #e8e8e8;
  padding:6px 10px;
  border-radius:999px;
  font-size:0.75rem;
  color:#333;
}
.m1-tags a:hover{background:#eaf2ff;border-color:#d8e6ff;color:#0f62c9}

/* Single */
.m1-single-wrap{
  display:flex;
  gap:18px;
  align-items:flex-start;
}
.m1-single-main{flex:1; min-width:0;}
.m1-video{
  border:1px solid var(--m1-border);
  border-radius:14px;
  overflow:hidden;
  background:#fff;
}
.m1-video-head{
  padding:12px 14px;
  border-bottom:1px solid var(--m1-border);
}
.m1-video-title{margin:0;font-size:1.25rem;font-weight:800}
.m1-video-player{
  background:#000;
  aspect-ratio: 16/9;
  display:grid;
  place-items:center;
}
.m1-video-player iframe,
.m1-video-player video{
  width:100%;
  height:100%;
}
.m1-video-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding:12px 14px;
  border-top:1px solid var(--m1-border);
  background:#fff;
}
.m1-btn{
  border:1px solid var(--m1-border);
  background:#fff;
  padding:8px 12px;
  border-radius:10px;
  cursor:pointer;
  font-size:0.8125rem;
}
.m1-btn:hover{border-color:#d8e6ff;background:#f7fbff}

.m1-tabs{
  display:flex;
  gap:8px;
  padding:0 14px 14px;
  background:#fff;
  border-top:1px solid var(--m1-border);
}
.m1-tab{
  border:1px solid var(--m1-border);
  background:#fff;
  padding:7px 10px;
  border-radius:999px;
  cursor:pointer;
  font-size:0.75rem;
}
.m1-tab.is-active{
  background:#0f62c9;
  border-color:#0f62c9;
  color:#fff;
}
.m1-tabpanes{
  padding:0 14px 14px;
  background:#fff;
}
.m1-tabpane{display:none}
.m1-tabpane.is-active{display:block}
.m1-tabpane p{margin-top:0}

/* Modal */
.m1-modal{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  z-index:9999;
}
.m1-modal.is-open{display:flex}
.m1-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.55);
}
.m1-modal-dialog{
  position:relative;
  width:min(780px, 100%);
  background:#f7f7f7;
  border-radius:14px;
  box-shadow: var(--m1-shadow2);
  overflow:hidden;
}
.m1-modal-header{
  padding:18px 22px 10px;
  font-size:1.625rem;
  font-weight:800;
  color:#111;
  background:#f7f7f7;
}
.m1-modal-close{
  position:absolute;
  right:14px;
  top:12px;
  width:34px;
  height:34px;
  border-radius:999px;
  border:0;
  background:#fff;
  cursor:pointer;
  display:grid;
  place-items:center;
  box-shadow: 0 3px 10px rgba(0,0,0,.12);
}
.m1-modal-body{
  padding: 8px 22px 22px;
}
.m1-form{
  display:grid;
  gap:12px;
}
.m1-field label{
  display:block;
  font-size:0.8125rem;
  font-weight:700;
  margin-bottom:6px;
  color:#222;
}
.m1-field input,
.m1-field textarea{
  width:100%;
  border:1px solid var(--m1-border);
  border-radius:999px;
  padding:12px 14px;
  outline:none;
  background:#fff;
}
.m1-field textarea{
  border-radius:16px;
  min-height:120px;
  resize:vertical;
}
.m1-field input:focus,
.m1-field textarea:focus{
  border-color:#cbd8f1;
  box-shadow:0 0 0 3px rgba(31,122,224,.12);
}
.m1-form-row{
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
}
.m1-captcha{
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
}
.m1-captcha img{
  width:120px;
  height:44px;
  border-radius:10px;
  border:1px solid var(--m1-border);
  background:#eee;
}
.m1-captcha .m1-captcha-refresh{
  font-size:0.75rem;
  color:var(--m1-accent);
  background:transparent;
  border:0;
  cursor:pointer;
}
.m1-submit{
  margin-top:6px;
  display:flex;
  justify-content:flex-start;
}
.m1-submit button{
  border:0;
  border-radius:999px;
  padding:12px 18px;
  background:var(--m1-accent);
  color:#fff;
  font-weight:800;
  cursor:pointer;
}
.m1-submit button:hover{background:var(--m1-accent2)}
.m1-help{
  margin-top:10px;
  font-size:0.75rem;
  color:#555;
}
.m1-help a{color:var(--m1-accent)}

/* Inline forms (shortcode/page template) */
.m1-inline-form{
  max-width: 760px;
  margin: 0 auto;
  background:#fff;
  border:1px solid var(--m1-border);
  border-radius:14px;
  padding: 16px;
}
