/* =========================================================
   UstazOnline — Custom CSS (Elementor Free + Astra + EHF)
   Scoped with uo- prefixed classes only. No global overrides
   of core Elementor/Astra elements. Paste into
   Astra > Customizer > Additional CSS, or Elementor >
   Custom Code, or a child theme style.css.
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,400&family=DM+Sans:wght@400;500;600;700&display=swap');

:root{
  --uo-navy: #102541;
  --uo-navy-deep: #0B1B32;
  --uo-navy-light: #2A476F;
  --uo-gold: #C89D41;
  --uo-gold-soft: #D8B364;
  --uo-gold-pale: #F6EFDF;
  --uo-mist: #F5F7FA;
}

body{ font-family:'DM Sans', sans-serif; overflow-x:clip; }
.uo-header, .uo-footer, .uo-hero, .uo-pagehero, [class*="uo-"]{ font-family:'DM Sans', sans-serif; }
.uo-header h1, .uo-header h2, .uo-header h3,
[class*="uo-"] .elementor-heading-title{ font-family:'Fraunces', serif; }

/* push page content below the fixed header on inner (non-transparent-hero) pages */
body:not(.home) .elementor-location-header + *,
.elementor-location-header ~ .site-content{ }
.uo-pagehero{ margin-top:0; }

/* ============ HEADER ============ */
.uo-header{
  position:fixed; top:0; left:0; right:0; z-index:9999;
  background:transparent !important;
  transition:background .3s ease, box-shadow .3s ease, backdrop-filter .3s ease;
}
.uo-header.is-scrolled{
  background:rgba(255,255,255,0.97) !important;
  backdrop-filter:blur(10px);
  box-shadow:0 4px 30px -12px rgba(20,40,70,0.25);
}
.uo-header-inner{ min-height:76px; }
.uo-logo{ text-decoration:none; cursor:pointer; }
.uo-logo-icon{ 
  display:grid; place-items:center; height:40px; width:40px; border-radius:999px;
  background:var(--uo-navy); color:var(--uo-gold-soft); transition:transform .3s ease;
}
.uo-logo:hover .uo-logo-icon{ transform:scale(1.06); }
.uo-logo-text{ font-family:'Fraunces', serif; font-size:20px; font-weight:600; letter-spacing:-0.01em; color:#fff; transition:color .3s ease; }
.uo-header.is-scrolled .uo-logo-text{ color:var(--uo-navy); }
.uo-logo-gold{ color:var(--uo-gold); }

.uo-nav-link a{
  position:relative; font-size:14px; font-weight:500; letter-spacing:.02em;
  color:rgba(255,255,255,0.9); text-decoration:none; transition:color .3s ease; padding-bottom:6px; display:inline-block;
}
.uo-header.is-scrolled .uo-nav-link a{ color:rgba(16,37,65,0.8); }
.uo-nav-link a::after{
  content:''; position:absolute; left:0; bottom:0; height:2px; width:0; background:var(--uo-gold); transition:width .3s ease;
}
.uo-nav-link a:hover::after{ width:100%; }
.uo-nav-link a:hover{ color:#fff; }
.uo-header.is-scrolled .uo-nav-link a:hover{ color:var(--uo-navy); }

.uo-header-cta a, .uo-btn-gold a, a.uo-btn-gold, .elementor-widget-button .uo-header-cta{ }
.uo-header-cta.elementor-widget-button .elementor-button,
.uo-btn-gold .elementor-button{
  background:var(--uo-gold) !important; color:var(--uo-navy-deep) !important; border-radius:999px !important;
  font-weight:600; box-shadow:0 8px 24px -8px rgba(190,150,60,0.7); transition:all .3s ease;
}
.uo-header-cta.elementor-widget-button .elementor-button:hover,
.uo-btn-gold .elementor-button:hover{ background:var(--uo-gold-soft) !important; transform:translateY(-2px); }

.uo-mobile-toggle{ cursor:pointer; display:grid; place-items:center; height:40px; width:40px; border-radius:999px; color:#fff; font-size:20px; transition:color .3s ease; }
.uo-header.is-scrolled .uo-mobile-toggle{ color:var(--uo-navy); }
.uo-header.menu-open .uo-mobile-toggle i:before{ content:"\\f00d"; }

.uo-mobile-menu{
  max-height:0; overflow:hidden; opacity:0; width:100%;
  background:#fff; border-top:1px solid rgba(16,37,65,0.06);
  transition:max-height .35s ease, opacity .3s ease;
}
.uo-mobile-menu.is-open{ max-height:600px; opacity:1; padding:8px 0 20px; }
.uo-mobile-nav-link a{
  display:block; padding:14px 4px; font-size:16px; font-weight:500; color:rgba(16,37,65,0.8);
  border-bottom:1px solid rgba(16,37,65,0.05); text-decoration:none;
}
.uo-mobile-cta{ margin-top:16px; }
.uo-mobile-cta .elementor-button{
  width:100%; justify-content:center; background:var(--uo-gold) !important; color:var(--uo-navy-deep) !important;
  border-radius:999px !important; font-weight:600;
}

/* ============ HERO (Home) ============ */
.uo-hero-badge{
  display:inline-flex; align-items:center; gap:8px; border-radius:999px;
  border:1px solid rgba(200,157,65,0.4); background:rgba(255,255,255,0.05);
  padding:7px 16px; font-size:12px; font-weight:500; letter-spacing:.03em; color:var(--uo-gold-soft);
}
.uo-dot{ display:inline-block; height:6px; width:6px; border-radius:999px; background:var(--uo-gold); animation:uo-pulse 1.6s infinite; }
@keyframes uo-pulse{ 0%,100%{opacity:1} 50%{opacity:.35} }
.uo-hero-sub{ max-width:520px; }
.uo-btn-outline .elementor-button{
  background:rgba(255,255,255,0.06) !important; border:1px solid rgba(255,255,255,0.25) !important;
  color:#fff !important; border-radius:999px !important; font-weight:600; transition:all .3s ease;
}
.uo-btn-outline .elementor-button:hover{ background:rgba(255,255,255,0.14) !important; transform:translateY(-2px); }
.uo-btn-navy .elementor-button{ background:var(--uo-navy) !important; color:#fff !important; border-radius:999px !important; font-weight:600; transition:all .3s ease; }
.uo-btn-navy .elementor-button:hover{ background:var(--uo-navy-light) !important; transform:translateY(-2px); }
.uo-btn-outline-navy .elementor-button{
  background:transparent !important; border:1px solid rgba(16,37,65,0.15) !important; color:var(--uo-navy) !important;
  border-radius:999px !important; font-weight:600; transition:all .3s ease;
}
.uo-btn-outline-navy .elementor-button:hover{ background:var(--uo-navy) !important; color:#fff !important; }

/* ============ SECTION HEADING ============ */
.uo-eyebrow{ text-transform:uppercase; }
.uo-section-heading{ margin:0 auto; }

/* ============ CARDS (feature / course / testimonial / blog) ============ */
.uo-card{
  background:#fff; border:1px solid rgba(16,37,65,0.05); border-radius:20px;
  box-shadow:0 20px 50px -30px rgba(20,40,70,0.3);
  transition:transform .3s ease, box-shadow .3s ease; overflow:hidden;
}
.uo-card:hover{ transform:translateY(-6px); box-shadow:0 34px 64px -28px rgba(20,40,70,0.42); }
.uo-feature-card, .uo-info-card{ padding:32px; }
.uo-icon-badge{
  display:grid; place-items:center; height:56px; width:56px; border-radius:16px;
  background:var(--uo-gold-pale); color:var(--uo-gold); font-size:22px; transition:all .3s ease;
}
.uo-card:hover .uo-icon-badge{ background:var(--uo-gold); color:#fff; }
.uo-card-body{ padding:24px; }
.uo-card-image-wrap{ overflow:hidden; }
.uo-card-image img{ height:192px; width:100%; object-fit:cover; transition:transform .5s ease; }
.uo-card-image-tall img{ height:220px; aspect-ratio:4/3; object-fit:cover; }
.uo-card:hover .uo-card-image img{ transform:scale(1.06); }
.uo-card-desc{ min-height:60px; }
.uo-card-link a{ color:var(--uo-navy); font-weight:600; font-size:14px; text-decoration:none; display:inline-flex; align-items:center; gap:6px; transition:color .3s ease; }
.uo-card:hover .uo-card-link a{ color:var(--uo-gold); }
.uo-card-link i{ transition:transform .3s ease; }
.uo-card:hover .uo-card-link i{ transform:translateX(3px); }

.uo-badge{ position:absolute; top:14px; left:14px; border-radius:999px; padding:5px 12px; font-size:11px; font-weight:600; }
.uo-badge-level{ background:rgba(255,255,255,0.9); color:var(--uo-navy); backdrop-filter:blur(4px); }
.uo-badge-category{ background:var(--uo-gold); color:var(--uo-navy-deep); }
.uo-blog-date{ font-size:11px; font-weight:500; color:rgba(16,37,65,0.4); }

.uo-testimonial-card{ padding:32px; }
.uo-quote-icon{ color:var(--uo-gold); font-size:22px; }
.uo-stars{ color:var(--uo-gold); letter-spacing:2px; }
.uo-avatar img{ height:48px; width:48px; border-radius:999px; object-fit:cover; }

/* ============ ABOUT SPLIT (Home) ============ */
.uo-about-image-wrap{ position:relative; }
.uo-about-image img{ width:100%; height:460px; object-fit:cover; border-radius:32px; box-shadow:0 40px 80px -40px rgba(20,40,70,0.5); }
.uo-floating-stat{
  position:absolute; bottom:-24px; right:16px; background:#fff; border-radius:16px; padding:18px 20px;
  box-shadow:0 20px 40px -20px rgba(20,40,70,0.35); border:1px solid rgba(16,37,65,0.05);
}
.uo-stat-icon{ background:var(--uo-navy); color:var(--uo-gold-soft); height:48px; width:48px; }

.uo-about-mv-image img{ width:100%; border-radius:32px; box-shadow:0 30px 60px -25px rgba(20,40,70,0.4); }

/* ============ STEPS (journey) ============ */
.uo-steps-row{ position:relative; }
.uo-step-icon-wrap{
  position:relative; height:72px; width:72px; margin:0 auto; border-radius:999px;
  background:#fff; border:1px solid rgba(16,37,65,0.1); box-shadow:0 18px 40px -20px rgba(20,40,70,0.4);
  display:grid; place-items:center;
}
.uo-step-icon-wrap .uo-icon-badge{ background:var(--uo-navy); color:var(--uo-gold-soft); border-radius:999px; height:64px; width:64px; }
.uo-step-number{
  position:absolute; top:-8px; right:-4px; display:grid; place-items:center; height:28px; width:28px;
  border-radius:999px; background:var(--uo-gold); color:var(--uo-navy-deep); font-size:12px; font-weight:700;
  box-shadow:0 2px 6px rgba(0,0,0,.15);
}

/* ============ STATS (About) ============ */
.uo-gold-line{ height:1px !important; background:linear-gradient(90deg, transparent, var(--uo-gold), transparent) !important; border:none !important; width:40px; margin:0 auto; }

/* ============ CTA BANNERS ============ */
.uo-cta-banner{ border-radius:40px; overflow:hidden; position:relative; }
.uo-cta-plain{ }

/* ============ FOOTER ============ */
.uo-footer{ color:rgba(255,255,255,0.7); }
.uo-footer-heading{ margin-bottom:16px; }
.uo-footer-links ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.uo-footer-links a{ color:rgba(255,255,255,0.7); text-decoration:none; font-size:14px; transition:color .3s ease; }
.uo-footer-links a:hover{ color:var(--uo-gold); }
.uo-footer-contact-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.uo-footer-contact-list li{ display:flex; align-items:center; gap:10px; font-size:14px; }
.uo-footer-contact-list i{ color:var(--uo-gold); width:16px; }
.uo-social-icon{
  display:grid; place-items:center; height:36px; width:36px; border-radius:999px;
  background:rgba(255,255,255,0.1); color:rgba(255,255,255,0.8); transition:all .3s ease;
}
.uo-social-icon:hover{ background:var(--uo-gold); color:var(--uo-navy-deep); transform:translateY(-2px); }
.uo-footer-cta.elementor-widget-button .elementor-button{ margin-top:6px; }
.uo-footer-bottom{ border-top:1px solid rgba(255,255,255,0.1); }
.uo-footer-bottom-text p{ margin:0; font-size:12px; color:rgba(255,255,255,0.5); }

.uo-whatsapp-wrap{ position:fixed !important; bottom:24px; right:24px; z-index:9998; width:auto !important; }
.uo-whatsapp-float{
  display:grid; place-items:center; height:56px; width:56px; border-radius:999px;
  background:#25D366; color:#fff; font-size:26px; box-shadow:0 10px 30px -8px rgba(37,211,102,0.6);
  transition:transform .3s ease;
}
.uo-whatsapp-float:hover{ transform:scale(1.08); }

/* ============ PAGE HERO (inner pages) ============ */
.uo-pagehero{ position:relative; overflow:hidden; }
.uo-hero{ position:relative; }
.uo-hero-content{ position:relative; z-index:2; }

/* ============ BLOGS SEARCH / FILTER ============ */
.uo-search-box{ position:relative; max-width:360px; width:100%; }
.uo-search-box i{ position:absolute; left:16px; top:50%; transform:translateY(-50%); color:rgba(16,37,65,0.4); }
.uo-search-box input{
  width:100%; border-radius:999px; border:1px solid rgba(16,37,65,0.15); background:#fff;
  padding:12px 16px 12px 42px; font-size:14px; color:var(--uo-navy); outline:none; transition:all .3s ease;
}
.uo-search-box input:focus{ border-color:var(--uo-gold); box-shadow:0 0 0 3px rgba(200,157,65,0.15); }
.uo-cat-filters{ display:flex; flex-wrap:wrap; gap:8px; }
.uo-cat-btn{
  border-radius:999px; padding:9px 18px; font-size:13px; font-weight:500; border:none; cursor:pointer;
  background:var(--uo-mist); color:rgba(16,37,65,0.7); transition:all .3s ease; font-family:'DM Sans', sans-serif;
}
.uo-cat-btn:hover{ background:var(--uo-gold-pale); color:var(--uo-navy); }
.uo-cat-btn.is-active{ background:var(--uo-navy); color:#fff; }
.uo-blog-card.uo-hidden{ display:none !important; }
.uo-blog-pagination{ display:flex; align-items:center; justify-content:center; gap:8px; margin-top:8px; }
.uo-blog-pagination button{
  height:40px; width:40px; border-radius:999px; border:1px solid rgba(16,37,65,0.15); background:#fff;
  color:var(--uo-navy); font-size:13px; font-weight:600; cursor:pointer; transition:all .3s ease; font-family:'DM Sans', sans-serif;
}
.uo-blog-pagination button.is-active{ background:var(--uo-gold); color:var(--uo-navy-deep); border-color:var(--uo-gold); }
.uo-blog-pagination button:hover:not(.is-active){ background:var(--uo-mist); }
.uo-blog-pagination button:disabled{ opacity:.4; cursor:not-allowed; }
.uo-blog-empty{ text-align:center; padding:80px 24px; background:var(--uo-mist); border-radius:28px; }

/* ============ CONTACT FORM (visual layer, HTML widget) ============ */
.uo-contact-form-wrap{ background:var(--uo-mist); border:1px solid rgba(16,37,65,0.05); border-radius:32px; padding:40px; }
.uo-form-row{ display:flex; gap:20px; margin-bottom:20px; flex-wrap:wrap; }
.uo-form-field{ flex:1 1 220px; display:flex; flex-direction:column; gap:8px; }
.uo-form-field-full{ display:flex; flex-direction:column; gap:8px; margin-bottom:20px; }
.uo-form-field label, .uo-form-field-full label{ font-size:14px; font-weight:500; color:var(--uo-navy); }
.uo-form-field input, .uo-form-field-full textarea{
  width:100%; border-radius:12px; border:1px solid rgba(16,37,65,0.15); background:#fff;
  padding:12px 16px; font-size:14px; color:var(--uo-navy); outline:none; transition:all .3s ease; font-family:'DM Sans', sans-serif;
}
.uo-form-field input:focus, .uo-form-field-full textarea:focus{ border-color:var(--uo-gold); box-shadow:0 0 0 3px rgba(200,157,65,0.15); }
.uo-form-submit.elementor-button, button.uo-form-submit{
  width:100%; border:none; border-radius:999px; background:var(--uo-gold); color:var(--uo-navy-deep);
  padding:16px; font-size:14px; font-weight:600; cursor:pointer; transition:all .3s ease; font-family:'DM Sans', sans-serif;
}
.uo-form-submit:hover{ background:var(--uo-gold-soft); transform:translateY(-2px); }
.uo-map-wrap{ border-radius:32px; overflow:hidden; border:1px solid rgba(16,37,65,0.05); box-shadow:0 20px 45px -30px rgba(20,40,70,0.35); }
.uo-map-wrap iframe{ width:100%; height:360px; border:0; display:block; }

/* ============ FAQ (Accordion widget) ============ */
.uo-faq .elementor-accordion-item{
  border-radius:20px !important; border:1px solid rgba(16,37,65,0.1) !important; margin-bottom:16px;
  box-shadow:0 16px 40px -30px rgba(20,40,70,0.35); overflow:hidden;
}
.uo-faq .elementor-tab-title{ font-family:'Fraunces', serif; font-weight:600; color:var(--uo-navy); padding:20px 24px !important; }
.uo-faq .elementor-tab-content{ color:rgba(16,37,65,0.65); line-height:1.7; padding:0 24px 20px !important; }

/* =========================================================
   RESPONSIVE — Tablet (≤1024px) and Mobile (≤767px)
   Elementor's own responsive width % values already reflow
   containers on wrap; these rules fix card counts, spacing,
   header sizing and hero scaling per the 3-2-1 column rule.
   ========================================================= */
@media (max-width:1024px){
  .uo-card, .uo-feature-card, .uo-course-card, .uo-testimonial-card, .uo-blog-card, .uo-info-card, .uo-step{
    width:47% !important;
  }
  .uo-hero-content{ width:100% !important; }
  .uo-about-image-wrap, .uo-about-mv-image-wrap{ width:100% !important; }
  .uo-header-inner{ padding-left:4px; padding-right:4px; }
  .uo-nav-desktop{ display:none !important; }
  .uo-hero h1, .uo-hero .elementor-heading-title{ font-size:38px !important; }
}

@media (max-width:767px){
  .uo-card, .uo-feature-card, .uo-course-card, .uo-testimonial-card, .uo-blog-card, .uo-info-card, .uo-step,
  .uo-about-image-wrap, .uo-about-mv-image-wrap, .uo-hero-content,
  .uo-section-heading, .uo-form-card, .uo-contact-form-section .elementor-container > div{
    width:100% !important;
  }
  .uo-hero{ min-height:100dvh !important; text-align:left; }
  .uo-hero h1, .uo-hero .elementor-heading-title{ font-size:30px !important; line-height:1.2 !important; }
  .uo-pagehero h1, .uo-pagehero .elementor-heading-title{ font-size:30px !important; }
  .uo-cta-banner h2, .uo-cta-plain h2{ font-size:26px !important; }
  .uo-hero-content .elementor-widget-button:nth-child(1) .elementor-widget-container,
  .uo-hero .uo-btn-row{ flex-direction:column !important; }
  .uo-header-cta{ display:none !important; }
  .uo-floating-stat{ position:static; margin-top:-24px; margin-left:16px; margin-right:16px; }
  .uo-form-row{ flex-direction:column; gap:16px; }
  .uo-blog-toolbar{ flex-direction:column; align-items:stretch !important; }
  .uo-search-box{ max-width:100%; }
  .uo-cta-banner{ border-radius:24px; }
  .uo-about-mv-section .elementor-container,
  .uo-about-split .elementor-container{ flex-direction:column-reverse; }
}

/* prevent any horizontal overflow */
.uo-header, .uo-footer, .uo-hero, .uo-pagehero, .elementor{ max-width:100%; overflow-x:hidden; }

/* =========================================================
   DYNAMIC ELEMENTOR FREE WIDGETS
   Courses and articles are queried from WordPress, while the
   controls remain editable in the Elementor sidebar.
   ========================================================= */
.uo-blog-widget,
.uo-course-grid-widget{ --uo-widget-accent:var(--uo-gold); width:100%; }

.uo-dynamic-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
  width:100%;
}
.uo-dynamic-grid .uo-card{
  display:flex;
  flex-direction:column;
  width:100% !important;
  min-width:0;
}
.uo-dynamic-grid .uo-card-image-wrap{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:16/10;
  overflow:hidden;
  background:var(--uo-mist);
}
.uo-dynamic-grid img.uo-card-image{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .5s ease;
}
.uo-dynamic-grid .uo-card:hover img.uo-card-image{ transform:scale(1.06); }
.uo-dynamic-grid .uo-card-body{
  display:flex;
  flex:1;
  flex-direction:column;
  align-items:flex-start;
  padding:26px;
}
.uo-dynamic-grid .uo-card-title{
  margin:9px 0 0;
  font-family:'Fraunces',serif;
  font-size:20px;
  font-weight:600;
  line-height:1.25;
}
.uo-dynamic-grid .uo-card-title a{ color:var(--uo-navy); text-decoration:none; }
.uo-dynamic-grid .uo-card-desc{
  flex:1;
  min-height:0;
  margin:13px 0 0;
  color:rgba(16,37,65,.62);
  font-size:14px;
  line-height:1.7;
}
.uo-dynamic-grid a.uo-card-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:20px;
  color:var(--uo-widget-accent);
  font-size:14px;
  font-weight:600;
  text-decoration:none;
}
.uo-dynamic-grid a.uo-card-link span{ transition:transform .25s ease; }
.uo-dynamic-grid .uo-card:hover a.uo-card-link span{ transform:translateX(4px); }
.uo-dynamic-grid .uo-badge{ z-index:2; }
.uo-image-placeholder{
  display:grid;
  width:100%;
  height:100%;
  place-items:center;
  color:var(--uo-gold);
  background:linear-gradient(145deg,var(--uo-gold-pale),var(--uo-mist));
  font-family:'Fraunces',serif;
  font-size:64px;
}

.uo-blog-widget .uo-blog-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  margin-bottom:44px;
}
.uo-blog-widget .uo-search-box{ display:block; }
.uo-blog-widget .uo-search-icon{
  position:absolute;
  z-index:2;
  top:50%;
  left:16px;
  color:rgba(16,37,65,.42);
  font-size:20px;
  transform:translateY(-52%);
  pointer-events:none;
}
.uo-blog-widget.is-loading .uo-blog-grid{ opacity:.45; pointer-events:none; }
.uo-blog-widget .uo-blog-grid{ transition:opacity .2s ease; }
.uo-blog-widget .uo-blog-empty{ grid-column:1/-1; width:100%; }
.uo-blog-widget .uo-blog-empty p{
  margin:0;
  color:var(--uo-navy);
  font-family:'Fraunces',serif;
  font-size:22px;
  font-weight:600;
}
.uo-blog-widget .uo-blog-pagination{ margin-top:52px; }

.uo-contact-form{
  display:block;
  width:100%;
}
.uo-contact-form .uo-form-field > span{
  color:var(--uo-navy);
  font-size:14px;
  font-weight:500;
}
.uo-contact-form .uo-form-field input,
.uo-contact-form .uo-form-field textarea{
  width:100%;
  border:1px solid rgba(16,37,65,.15);
  border-radius:12px;
  outline:none;
  background:#fff;
  color:var(--uo-navy);
  font-family:'DM Sans',sans-serif;
  font-size:14px;
  padding:13px 16px;
  transition:border-color .25s ease,box-shadow .25s ease;
}
.uo-contact-form .uo-form-field input:focus,
.uo-contact-form .uo-form-field textarea:focus{
  border-color:var(--uo-gold);
  box-shadow:0 0 0 3px rgba(200,157,65,.15);
}
.uo-contact-form .uo-form-field-full{ margin-bottom:20px; }
.uo-contact-form .uo-form-submit:disabled{ cursor:wait; opacity:.7; transform:none; }
.uo-form-status{ min-height:24px; margin:14px 0 0; font-size:14px; text-align:center; }
.uo-form-status.is-success{ color:#18794e; }
.uo-form-status.is-error{ color:#b42318; }
.uo-honeypot-wrap{
  position:absolute !important;
  left:-10000px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}

.screen-reader-text{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

@media (max-width:1024px){
  .uo-dynamic-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .uo-dynamic-grid .uo-card{ width:100% !important; }
}

@media (max-width:767px){
  .uo-dynamic-grid{ grid-template-columns:1fr; gap:22px; }
  .uo-dynamic-grid .uo-card{ width:100% !important; }
  .uo-blog-widget .uo-blog-toolbar{ align-items:stretch; margin-bottom:32px; }
  .uo-blog-widget .uo-cat-filters{ overflow-x:auto; flex-wrap:nowrap; padding-bottom:4px; }
  .uo-blog-widget .uo-cat-btn{ flex:0 0 auto; }
}
