/* /public/assets/theme.css
   ShasTech-IT shared UI system — Phase 3
*/

:root{
  --brand-900:#1b2680;
  --brand-950:#16206b;
  --accent-500:#02a1e5;
  --accent-600:#028fd0;
  --bg:#f8fafc;
  --card:#ffffff;
  --text:#0f172a;
  --muted:#64748b;
  --muted-2:#94a3b8;
  --border:#e2e8f0;
  --soft-blue:#e9f5ff;
  --soft-border:#d6e8f7;
  --success-soft:#ecfdf5;
  --warning-soft:#fff7ed;
  --danger-soft:#fef2f2;
  --radius-sm:10px;
  --radius:14px;
  --radius-lg:20px;
  --shadow-sm:0 1px 2px rgba(15,23,42,.04);
  --shadow-md:0 10px 30px rgba(15,23,42,.08);
}

html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
main{min-height:55vh}
a{color:var(--brand-900)}
a:hover{color:var(--accent-600)}
img{max-width:100%}

/* Accessible keyboard focus */
:where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid rgba(2,161,229,.30);
  outline-offset:2px;
}

/* Shared navigation */
.navbar.bg-dark,
.site-navbar,
.student-portal-navbar,
.student-auth-navbar{
  background:var(--brand-900)!important;
}
.site-navbar,
.student-portal-navbar,
.student-auth-navbar{
  box-shadow:0 5px 22px rgba(15,23,42,.12);
}
.navbar .navbar-brand{font-weight:700;letter-spacing:-.02em}
.site-navbar .navbar-brand img,
.student-portal-navbar .navbar-brand img,
.student-auth-navbar .navbar-brand img{height:23px;width:auto}
.navbar-dark .navbar-toggler{border-color:rgba(255,255,255,.28)}
.navbar-dark .navbar-toggler:focus{box-shadow:0 0 0 .2rem rgba(2,161,229,.28)}
.navbar .nav-link{
  color:rgba(255,255,255,.86)!important;
  border-radius:.7rem;
  transition:background-color .18s ease,color .18s ease,transform .18s ease;
}
.navbar .nav-link:hover,
.navbar .nav-link:focus-visible{color:#fff!important;background:rgba(255,255,255,.10)}
.navbar .nav-link.active{color:#fff!important;background:rgba(2,161,229,.20);font-weight:600}
.navbar .nav-link.active::after{display:none}

.site-search{min-width:160px}
.site-search .form-control{
  border-color:rgba(255,255,255,.24);
  background:rgba(255,255,255,.10);
  color:#fff;
}
.site-search .form-control::placeholder{color:rgba(255,255,255,.68)}
.site-search .form-control:focus{
  background:#fff;
  color:var(--text);
  border-color:#fff;
}

/* Hero */
.hero-gradient{
  background:linear-gradient(135deg,var(--brand-900) 0%,var(--accent-500) 100%);
}

/* Buttons */
.btn{
  border-radius:12px;
  transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease,border-color .15s ease;
}
.btn:active{transform:translateY(1px)}
.btn-primary{background-color:var(--brand-900)!important;border-color:var(--brand-900)!important}
.btn-primary:hover,.btn-primary:focus{background-color:var(--brand-950)!important;border-color:var(--brand-950)!important}
.btn-outline-primary{color:var(--brand-900)!important;border-color:var(--brand-900)!important}
.btn-outline-primary:hover,.btn-outline-primary:focus{background:var(--brand-900)!important;color:#fff!important}
.btn-accent,.btn-student-accent{background:var(--accent-500)!important;border-color:var(--accent-500)!important;color:#fff!important}
.btn-accent:hover,.btn-accent:focus,.btn-student-accent:hover,.btn-student-accent:focus{background:var(--accent-600)!important;border-color:var(--accent-600)!important;color:#fff!important}
.btn-student-outline{background:#fff;color:var(--brand-900)!important;border:1px solid var(--brand-900)}
.btn-student-outline:hover,.btn-student-outline:focus{background:var(--brand-900);color:#fff!important}

/* Cards and panels */
.card{
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
}
.card .card-footer{border-color:var(--border)!important}
.rounded-4{border-radius:var(--radius)!important}
.hover-lift{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
@media (hover:hover) and (pointer:fine){
  a.text-decoration-none .card:hover,.card.hover-lift:hover,.hover-lift:hover{
    transform:translateY(-3px);
    box-shadow:var(--shadow-md);
    border-color:rgba(2,161,229,.35);
  }
}
.soft-panel{background:var(--soft-blue);border:1px solid var(--soft-border);border-radius:var(--radius)}
.bg-soft-primary{background:linear-gradient(180deg,rgba(27,38,128,.04),rgba(2,161,229,.03))}

/* Avoid overriding Bootstrap's generic .bg-light globally. */
footer.bg-light{background:#fff!important}

/* Forms */
.form-control,.form-select{
  border-color:#cbd5e1;
  border-radius:11px;
}
.form-control:focus,.form-select:focus{
  border-color:var(--accent-500);
  box-shadow:0 0 0 .2rem rgba(2,161,229,.15);
}
.form-label{font-weight:600;color:#334155}
.form-text{color:var(--muted)}

/* Tables */
.table{--bs-table-bg:transparent}
.table>:not(caption)>*>*{border-bottom-color:var(--border)}
.table thead th{
  color:#475569;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.035em;
  white-space:nowrap;
}
.table-responsive{border-radius:var(--radius-sm)}

/* Badges */
.badge.text-bg-light{background:var(--soft-blue)!important;border:1px solid var(--soft-border)!important;color:var(--brand-900)!important}
.badge.text-bg-warning{background:var(--warning-soft)!important;color:#9a3412!important;border:1px solid #fed7aa!important}
.badge.text-bg-success{background:var(--success-soft)!important;color:#065f46!important;border:1px solid #a7f3d0!important}
.badge.text-bg-danger{background:var(--danger-soft)!important;color:#991b1b!important;border:1px solid #fecaca!important}

/* Content readability */
h1,h2,h3,h4,h5,h6{letter-spacing:-.02em}
.content{line-height:1.75;color:var(--text)}
.content p{margin-bottom:1rem}
.content h2,.content h3{margin-top:1.5rem;margin-bottom:.75rem}
.content a{color:var(--accent-600);text-decoration:underline;text-underline-offset:3px}
.content a:hover{color:var(--brand-900)}
hr{border-color:var(--border);opacity:1}
section.py-5{padding-top:3.5rem!important;padding-bottom:3.5rem!important}

/* Student portal */
.student-portal .card,.student-auth .card{box-shadow:0 8px 26px rgba(15,23,42,.055)}
.student-portal-navbar .portal-actions,.student-auth-navbar .auth-actions{align-items:center}
.student-portal-navbar .nav-link,.student-auth-navbar .nav-link{font-weight:500}
.portal-page-heading{margin-bottom:1.25rem}

/* Footer */
.site-footer{background:#fff;border-top:1px solid var(--border)}
.site-footer a{color:var(--muted);text-decoration:none}
.site-footer a:hover{color:var(--brand-900)}
footer .text-muted{color:var(--muted)!important}

/* Public mobile sticky CTA */
.mobile-cta{
  position:fixed;
  left:0;right:0;bottom:0;
  z-index:1030;
  padding:.65rem .75rem calc(.65rem + env(safe-area-inset-bottom));
  display:flex;
  gap:.5rem;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(10px);
  border-top:1px solid rgba(15,23,42,.10);
  box-shadow:0 -8px 26px rgba(15,23,42,.08);
}
.site-public.has-mobile-cta{padding-bottom:82px}

@media (max-width:991.98px){
  .navbar-collapse{padding:.75rem 0}
  .navbar-nav{gap:.3rem!important}
  .navbar .nav-link{padding:.78rem .9rem}
  .site-search{width:100%;min-width:0;margin-top:.35rem}
  .site-search .form-control{min-height:44px}
  .student-portal-navbar .portal-actions,.student-auth-navbar .auth-actions{padding-top:.7rem;width:100%}
  .student-portal-navbar .portal-actions .btn,.student-auth-navbar .auth-actions .btn{flex:1}
}
@media (min-width:992px){
  .site-public.has-mobile-cta{padding-bottom:0}
}

/* Respect reduced-motion preferences. */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Compact desktop More menu */
.site-navbar .dropdown-menu{
  border:1px solid var(--border);
  border-radius:12px;
  padding:.45rem;
  box-shadow:var(--shadow-md);
}
.site-navbar .dropdown-item{border-radius:9px;padding:.55rem .7rem;color:#334155}
.site-navbar .dropdown-item:hover,.site-navbar .dropdown-item:focus{background:var(--soft-blue);color:var(--brand-900)}
.site-navbar .dropdown-item.active{background:var(--brand-900);color:#fff}

/* ========================================================================
   Phase 4 — page-level modernization
   ======================================================================== */
.page-section{padding:4.25rem 0}
.page-section-soft{background:linear-gradient(180deg,#f8fbff 0%,#f4f7fb 100%);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.section-kicker{font-size:.76rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--accent-600);margin-bottom:.45rem}
.section-heading{max-width:760px}
.section-heading h2{font-size:clamp(1.65rem,2.4vw,2.2rem);margin-bottom:.55rem}
.section-heading p{color:var(--muted);font-size:1.02rem;margin-bottom:0}
.hero-gradient{position:relative;overflow:hidden;background:linear-gradient(130deg,#141d66 0%,var(--brand-900) 46%,var(--accent-500) 115%)}
.hero-gradient::before,.hero-gradient::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.hero-gradient::before{width:380px;height:380px;right:-120px;top:-190px;background:rgba(255,255,255,.08)}
.hero-gradient::after{width:260px;height:260px;right:18%;bottom:-190px;background:rgba(2,161,229,.22)}
.hero-gradient>.container{position:relative;z-index:1}
.hero-copy{max-width:720px}
.hero-copy .display-5{font-size:clamp(2.2rem,5vw,4.15rem);line-height:1.02;letter-spacing:-.055em}
.hero-eyebrow{display:inline-flex;align-items:center;gap:.45rem;padding:.42rem .72rem;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.08);font-size:.78rem;font-weight:700;letter-spacing:.04em;margin-bottom:1rem}
.hero-capability-card{background:rgba(255,255,255,.10);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.18)!important;box-shadow:0 20px 55px rgba(5,12,45,.22)}
.hero-capability-item{display:flex;gap:.8rem;padding:.72rem 0;border-bottom:1px solid rgba(255,255,255,.12)}
.hero-capability-item:last-child{border-bottom:0}
.hero-capability-mark{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:rgba(255,255,255,.14);font-weight:800;color:#fff;flex:0 0 auto}

.catalog-card{overflow:hidden;border:1px solid var(--border);background:#fff;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.catalog-card-media{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,#eef2ff,#e0f2fe);overflow:hidden}
.catalog-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.catalog-card-placeholder{width:100%;height:100%;display:grid;place-items:center;color:var(--muted);font-weight:600}
.catalog-card-body{padding:1.25rem}
.catalog-card-title{font-size:1.06rem;font-weight:800;line-height:1.3;color:var(--text);margin-bottom:.45rem}
.catalog-card-copy{color:var(--muted);font-size:.92rem;line-height:1.6}
.catalog-card-footer{padding:1rem 1.25rem;background:#fff;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:1rem}
.catalog-card .badge{font-weight:700}
@media (hover:hover) and (pointer:fine){
  .catalog-card:hover{transform:translateY(-5px);box-shadow:0 18px 45px rgba(15,23,42,.10);border-color:rgba(2,161,229,.36)}
  .catalog-card:hover .catalog-card-media img{transform:scale(1.035)}
}
.service-card{height:100%;padding:1.35rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
.service-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(27,38,128,.10),rgba(2,161,229,.14));color:var(--brand-900);font-weight:800;margin-bottom:1rem}
.service-card h3{font-size:1.02rem;font-weight:800;margin-bottom:.45rem}
.service-card p{font-size:.92rem;line-height:1.6;color:var(--muted);margin:0}
.empty-state{padding:2.5rem 1.5rem;text-align:center;border:1px dashed #cbd5e1;border-radius:var(--radius);background:#fff;color:var(--muted)}

/* Student portal page components */
.student-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}
.student-page-head h1,.student-page-head h2{margin:0 0 .35rem;font-weight:800}
.student-kpi{height:100%;padding:1.15rem;border:1px solid var(--border);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-sm)}
.student-kpi-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:var(--muted)}
.student-kpi-value{font-size:1.8rem;font-weight:850;line-height:1.1;margin-top:.35rem;color:var(--text)}
.student-toolbar{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;padding:1rem;border:1px solid var(--border);border-radius:var(--radius);background:#fff;margin-bottom:1.25rem}
.student-toolbar .form-control,.student-toolbar .form-select{min-height:44px}
.student-course-card{border-radius:18px;overflow:hidden}
.student-course-cover{aspect-ratio:16/9;object-fit:cover;width:100%;background:#eef2f7}
.student-course-status{padding:.85rem 1rem;border-radius:12px;background:#f8fafc;border:1px solid var(--border)}
.mobile-data-card{display:none}
.student-empty{padding:3rem 1.25rem;text-align:center;border:1px dashed #cbd5e1;border-radius:var(--radius);background:#fff}
.student-empty .student-empty-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;margin:0 auto .9rem;background:var(--soft-blue);color:var(--brand-900);font-weight:900;font-size:1.15rem}

@media (max-width:767.98px){
  .student-page-head{align-items:stretch;flex-direction:column}
  .student-page-head .btn-group-mobile{display:grid!important;grid-template-columns:1fr 1fr;width:100%}
  .student-toolbar{display:grid;grid-template-columns:1fr 1fr}
  .student-toolbar .student-search{grid-column:1/-1}
  .desktop-data-table{display:none!important}
  .mobile-data-card{display:block}
  .page-section{padding:3rem 0}
  .hero-gradient .container{padding-top:3rem!important;padding-bottom:3rem!important}
}

/* ========================================================================
   Growth Upgrade Phase 1 — resource hubs and contextual navigation
   ======================================================================== */
.growth-hub-card{
  padding:1.35rem;
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:var(--shadow-sm);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.growth-hub-icon{
  min-width:46px;
  width:max-content;
  height:46px;
  padding:0 .75rem;
  display:grid;
  place-items:center;
  margin-bottom:1rem;
  border-radius:14px;
  background:linear-gradient(135deg,rgba(27,38,128,.10),rgba(2,161,229,.14));
  color:var(--brand-900);
  font-size:.76rem;
  font-weight:850;
  letter-spacing:.03em;
}
.growth-hub-link{font-weight:750;color:var(--brand-900)}
.growth-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
  padding:1.5rem;
  border:1px solid var(--border);
  border-radius:calc(var(--radius) + 4px);
  background:linear-gradient(135deg,#fff 0%,#f7fbff 100%);
  box-shadow:var(--shadow-sm);
}
@media (hover:hover) and (pointer:fine){
  .growth-hub-card:hover{
    transform:translateY(-4px);
    border-color:rgba(2,161,229,.36);
    box-shadow:0 18px 45px rgba(15,23,42,.10);
  }
}
@media (max-width:767.98px){
  .growth-cta{align-items:stretch;flex-direction:column}
  .growth-cta .d-flex{display:grid!important;grid-template-columns:1fr}
}

/* ========================================================================
   Growth Upgrade Phase 2 — Developer Tools Center
   ======================================================================== */
.tool-workspace,
.tool-sidebar{
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:var(--shadow-sm);
}
.tool-workspace{padding:1.5rem}
.tool-sidebar{padding:1.35rem;position:sticky;top:96px}
.tool-form .tool-textarea{
  min-height:180px;
  resize:vertical;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
  font-size:.9rem;
  line-height:1.55;
}
.tool-output{padding-top:.25rem}
.tool-result-grid{
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  overflow:hidden;
}
.tool-result-row{
  display:grid;
  grid-template-columns:minmax(150px,.7fr) minmax(0,1.3fr);
  gap:1rem;
  padding:.85rem 1rem;
  border-bottom:1px solid var(--border);
  background:#fff;
}
.tool-result-row:last-child{border-bottom:0}
.tool-result-row span{font-weight:700;color:#475569}
.tool-result-row code{word-break:break-word;color:var(--text)}
.tool-status-card{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:1.25rem;
  align-items:center;
  padding:1.25rem;
  border:1px solid var(--soft-border);
  border-radius:var(--radius);
  background:linear-gradient(135deg,#f8fbff,#fff);
}
.tool-status-code{
  min-width:86px;
  min-height:86px;
  display:grid;
  place-items:center;
  border-radius:20px;
  background:var(--brand-900);
  color:#fff;
  font-size:1.55rem;
  font-weight:850;
}
.tool-status-table tbody tr:hover{background:#f8fafc}
.tool-qr-result{
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:1.5rem;
  border:1px dashed #cbd5e1;
  border-radius:var(--radius);
  background:#f8fafc;
}
.tool-qr-result img{
  width:min(320px,100%);
  height:auto;
  aspect-ratio:1;
  object-fit:contain;
  background:#fff;
  border:1px solid var(--border);
  border-radius:12px;
  padding:.5rem;
}
.tool-mini-card{
  display:flex;
  align-items:center;
  gap:.9rem;
  height:100%;
  padding:1rem;
  color:var(--text);
  text-decoration:none;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  background:#fff;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.tool-mini-card strong{display:block;font-size:.95rem}
.tool-mini-card small{display:block;color:var(--muted);margin-top:.15rem}
.tool-mini-icon{
  min-width:48px;
  height:42px;
  padding:0 .55rem;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:var(--soft-blue);
  color:var(--brand-900);
  font-size:.7rem;
  font-weight:850;
}
@media (hover:hover) and (pointer:fine){
  .tool-mini-card:hover{
    transform:translateY(-2px);
    border-color:rgba(2,161,229,.36);
    box-shadow:var(--shadow-sm);
  }
}
@media (max-width:991.98px){
  .tool-sidebar{position:static}
}
@media (max-width:575.98px){
  .tool-workspace{padding:1.1rem}
  .tool-result-row{grid-template-columns:1fr;gap:.35rem}
  .tool-status-card{grid-template-columns:1fr}
  .tool-status-code{min-width:72px;min-height:72px;width:72px}
}

/* ========================================================================
   Growth Upgrade Phase 3 — Troubleshooting & Knowledge Hub
   ======================================================================== */
.troubleshooting-search{
  max-width:920px;
}
.troubleshooting-search .input-group{
  border-radius:var(--radius-sm);
  box-shadow:var(--shadow-sm);
}
.troubleshooting-search .input-group-text,
.troubleshooting-search .form-control,
.troubleshooting-search .btn{
  border-color:var(--border);
}
.troubleshooting-topics .btn{
  border-radius:999px;
  padding:.42rem .8rem;
}
.troubleshooting-result-summary{
  padding:.85rem 1rem;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  background:#f8fafc;
  color:#475569;
}
.troubleshooting-card .badge{
  font-size:.72rem;
  font-weight:700;
}
.article-layout{align-items:flex-start}
.article-content-card .card-body{padding:clamp(1.25rem,2vw,2rem)}
.article-content h2,
.article-content h3{
  scroll-margin-top:105px;
}
.article-content h2{
  margin-top:2rem;
  margin-bottom:.85rem;
}
.article-content h3{
  margin-top:1.5rem;
  margin-bottom:.7rem;
}
.article-content pre{
  overflow:auto;
  padding:1rem;
  border:1px solid #1e293b;
  border-radius:var(--radius-sm);
  background:#0f172a;
  color:#e2e8f0;
}
.article-content code{word-break:break-word}
.article-content pre code{word-break:normal;color:inherit}
.article-sidebar{
  position:sticky;
  top:96px;
}
.article-detail-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.75rem 0;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  color:#64748b;
}
.article-detail-row strong{color:var(--text)}
.troubleshooting-workflow{
  padding:1rem;
  border:1px solid var(--soft-border);
  border-radius:var(--radius-sm);
  background:var(--soft-blue);
}
.troubleshooting-workflow li+li{margin-top:.35rem}
.article-toc-list li+li{margin-top:.4rem}
.article-toc-list a{
  display:block;
  color:#475569;
  text-decoration:none;
  line-height:1.4;
}
.article-toc-list a:hover{color:var(--brand-900)}
.article-toc-subitem{padding-left:1rem;font-size:.92rem}
@media (max-width:991.98px){
  .article-sidebar{position:static}
}
@media (max-width:575.98px){
  .troubleshooting-search .input-group-lg{flex-wrap:wrap}
  .troubleshooting-search .input-group-text{display:none}
  .troubleshooting-search .form-control{
    width:100%;
    border-radius:var(--radius-sm)!important;
  }
  .troubleshooting-search .btn{
    width:100%;
    margin-top:.5rem;
    border-radius:var(--radius-sm)!important;
  }
}

/* ========================================================================
   Phase 5 — accessibility, keyboard navigation, and interaction resilience
   ======================================================================== */
html{scroll-padding-top:92px}
.skip-link{
  position:fixed;
  z-index:1100;
  top:.75rem;
  left:.75rem;
  transform:translateY(-180%);
  padding:.65rem 1rem;
  border-radius:.5rem;
  background:#fff;
  color:#111827;
  box-shadow:0 6px 24px rgba(15,23,42,.22);
  font-weight:700;
  text-decoration:none;
}
.skip-link:focus{transform:translateY(0)}
.site-public :focus-visible{
  outline:3px solid #ffbf47;
  outline-offset:3px;
  border-radius:.2rem;
}
.site-public .nav-link,
.site-public .dropdown-item,
.site-public .btn,
.site-public .mobile-cta a{min-height:32px}
.site-public main:focus{outline:none}
.form-honeypot,
.contact-honeypot,
.product-form-honeypot{
  position:absolute!important;
  left:-10000px!important;
  top:auto!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
.blog-gallery-thumb{
  display:inline-grid;
  place-items:center;
  width:76px;
  height:76px;
  padding:2px;
  border:0;
  border-radius:.5rem;
  background:transparent;
}
.blog-gallery-thumb img{width:72px;height:72px;object-fit:cover}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
}
