/*
Theme Name: AJCS Theme
Theme URI: http://localhost/sajcs
Author: AJ Computer Solutions
Author URI: https://ajcs.ca
Description: A modern, premium, conversion-focused custom theme for AJ Computer Solutions. Fully dynamic header, footer, colours, logo and contact details via the AJCS Theme Options panel. Page content is built with Elementor and styled by a cohesive design system.
Version: 2.0.0
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: ajcs
*/

/* ============================================================
   Design tokens  (brand colours re-declared inline from Theme
   Options in <head>; these are fallbacks)
   ============================================================ */
:root{
  --brand:#009cff;
  --brand-2:#0062ff;
  --secondary:#f39200;
  --navy:#0a1a2f;
  --navy-2:#0f2846;
  --ink:#12233a;
  --body:#54637a;
  --muted:#8a99ad;
  --line:#e7eef6;
  --bg-soft:#f4f8fc;
  --white:#ffffff;

  --grad:linear-gradient(135deg,var(--brand) 0%,var(--brand-2) 100%);
  --grad-navy:linear-gradient(140deg,#0a1a2f 0%,#0f2846 55%,#123a63 100%);
  --grad-soft:linear-gradient(180deg,#f4f8fc 0%,#ffffff 100%);

  --radius:18px;
  --radius-sm:12px;
  --radius-lg:26px;
  --shadow-sm:0 4px 16px rgba(10,26,47,.06);
  --shadow:0 18px 44px rgba(10,26,47,.10);
  --shadow-lg:0 34px 70px rgba(10,26,47,.16);
  --glow:0 14px 30px rgba(0,120,255,.35);

  --container:1200px;
  --font-body:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font-head:'Plus Jakarta Sans','Inter',system-ui,sans-serif;
}

/* Override Elementor global kit colours so all default headings/text
   inherit the AJCS brand palette instead of Elementor's defaults. */
:root,
body[class*="elementor-kit"]{
  --e-global-color-primary:#12233a !important;
  --e-global-color-secondary:#0a1a2f !important;
  --e-global-color-text:#54637a !important;
  --e-global-color-accent:#009cff !important;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;font-family:var(--font-body);color:var(--body);
  font-size:17px;line-height:1.75;background:#fff;-webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,h6{font-family:var(--font-head);color:var(--ink);line-height:1.18;margin:0 0 .5em;font-weight:700;letter-spacing:-.02em;}
h1{font-size:clamp(2.3rem,4.4vw,3.6rem);font-weight:800;}
h2{font-size:clamp(1.9rem,3vw,2.6rem);font-weight:800;}
h3{font-size:1.5rem;}
a{color:var(--brand);text-decoration:none;transition:.2s;}
a:hover{color:var(--brand-2);}
img{max-width:100%;height:auto;}
p{margin:0 0 1rem;}

.ajcs-container{max-width:var(--container);margin:0 auto;padding:0 22px;}

/* ============================================================
   Buttons (theme chrome + Elementor)
   ============================================================ */
.ajcs-btn,.elementor-button{
  display:inline-flex;align-items:center;gap:9px;background:var(--grad);color:#fff !important;
  padding:14px 30px;border-radius:60px;font-family:var(--font-head);font-weight:700;font-size:15px;
  letter-spacing:.2px;border:0;cursor:pointer;white-space:nowrap;box-shadow:var(--glow);
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease;line-height:1.2;
}
.ajcs-btn:hover,.elementor-button:hover{transform:translateY(-3px);box-shadow:0 20px 40px rgba(0,120,255,.45);color:#fff;}
.ajcs-btn-ghost{background:transparent;color:#fff !important;border:1.5px solid rgba(255,255,255,.35);box-shadow:none;}
.ajcs-btn-ghost:hover{background:rgba(255,255,255,.12);box-shadow:none;}
.ajcs-btnrow{display:flex;gap:14px;flex-wrap:wrap;margin:6px 0 4px;}
.ajcs-learn a{font-family:var(--font-head);font-weight:700;font-size:14.5px;color:var(--brand);display:inline-flex;align-items:center;gap:6px;}
.ajcs-learn a::after{content:"\f061";font-family:"Font Awesome 6 Free";font-weight:900;font-size:12px;transition:transform .25s;}
.ajcs-card:hover .ajcs-learn a::after{transform:translateX(5px);}
.ajcs-datebadge{display:inline-block;background:rgba(0,156,255,.10);color:var(--brand);font-family:var(--font-head);font-weight:700;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;padding:6px 13px;border-radius:60px;margin-bottom:14px;}
.ajcs-stepnum{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:18px;background:var(--grad);color:#fff;font-family:var(--font-head);font-size:22px;font-weight:800;box-shadow:var(--glow);}
/* Elementor "outline"/link buttons on dark or as secondary */
.elementor-button.elementor-size-sm{padding:11px 24px;font-size:14px;}
.elementor-button.ajcs-ghost{background:transparent;border:1.5px solid rgba(255,255,255,.4);box-shadow:none;color:#fff !important;}
.elementor-button.ajcs-ghost:hover{background:rgba(255,255,255,.12);box-shadow:none;}
.elementor-button.ajcs-btn-light{background:#fff;color:var(--brand-2) !important;box-shadow:0 14px 30px rgba(0,0,0,.14);}
.elementor-button.ajcs-btn-light:hover{background:var(--navy);color:#fff !important;}

/* ============================================================
   Section rhythm + labels
   ============================================================ */
.ajcs-eyebrow,.ajcs-label{
  display:inline-flex;align-items:center;gap:8px;font-family:var(--font-head);font-weight:700;
  font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);
  background:rgba(0,156,255,.10);padding:7px 16px;border-radius:60px;margin-bottom:18px;
}
.ajcs-eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--brand);}

/* ============================================================
   Top bar
   ============================================================ */
.ajcs-topbar{background:var(--navy);color:#b9c7d8;font-size:13.5px;padding:9px 0;font-weight:500;}
.ajcs-topbar .ajcs-container{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;}
.ajcs-topbar a{color:#cdd8e6;}
.ajcs-topbar a:hover{color:#fff;}
.ajcs-topbar i{color:var(--brand);margin-right:7px;}
.ajcs-topbar .ajcs-social a{margin-left:14px;font-size:14px;opacity:.85;}
.ajcs-topbar .ajcs-social a:hover{opacity:1;}

/* ============================================================
   Header (glassy, premium)
   ============================================================ */
.ajcs-header{
  background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(14px);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
  box-shadow:0 1px 0 rgba(10,26,47,.06);position:sticky;top:0;z-index:999;transition:box-shadow .3s;
}
.ajcs-header.ajcs-scrolled{box-shadow:0 10px 30px rgba(10,26,47,.10);}
.ajcs-header .ajcs-container{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:82px;}
.ajcs-logo img{max-height:50px;width:auto;display:block;}
.ajcs-logo .ajcs-site-title{font-family:var(--font-head);font-size:22px;color:var(--ink);font-weight:800;}
.ajcs-nav-wrap{display:flex;align-items:center;gap:16px;}

.ajcs-menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:2px;}
.ajcs-menu li{position:relative;}
.ajcs-menu a{display:block;padding:10px 13px;color:var(--ink);font-family:var(--font-head);font-weight:600;font-size:15px;border-radius:10px;white-space:nowrap;}
.ajcs-menu>li>a:hover,.ajcs-menu>li.current-menu-item>a,.ajcs-menu>li.current-menu-parent>a{color:var(--brand);background:rgba(0,156,255,.08);}
.ajcs-menu .sub-menu{
  position:absolute;top:calc(100% + 8px);left:0;min-width:230px;background:#fff;
  box-shadow:var(--shadow);list-style:none;margin:0;padding:10px;opacity:0;visibility:hidden;
  transform:translateY(10px);transition:.22s;z-index:1000;border-radius:16px;border:1px solid var(--line);
}
.ajcs-menu li:hover>.sub-menu{opacity:1;visibility:visible;transform:translateY(0);}
.ajcs-menu .sub-menu a{padding:10px 14px;font-weight:500;font-size:14.5px;color:var(--body);border-radius:10px;}
.ajcs-menu .sub-menu a:hover{background:var(--bg-soft);color:var(--brand);}
.ajcs-menu .menu-item-has-children>a::after{content:"\f107";font-family:"Font Awesome 6 Free";font-weight:900;margin-left:7px;font-size:11px;opacity:.6;}
.ajcs-menu-toggle{display:none;background:none;border:0;font-size:24px;color:var(--ink);cursor:pointer;}

/* ============================================================
   Interior page hero (gradient premium banner)
   ============================================================ */
.ajcs-page-banner{position:relative;background:var(--grad-navy);color:#fff;text-align:center;padding:96px 0 88px;overflow:hidden;}
.ajcs-page-banner::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% -10%,rgba(0,156,255,.32),transparent 45%);}
.ajcs-page-banner.has-image::after{content:"";position:absolute;inset:0;background-image:var(--ajcs-banner);background-size:cover;background-position:center;opacity:.14;mix-blend-mode:luminosity;}
.ajcs-page-banner>.ajcs-container{position:relative;z-index:2;}
.ajcs-page-banner h1{color:#fff;margin:0 0 12px;}
.ajcs-page-banner .ajcs-crumbs{color:#9fc4ec;font-size:14.5px;font-weight:500;}
.ajcs-page-banner .ajcs-crumbs a{color:#fff;}
.ajcs-page-banner .ajcs-crumbs .sep{opacity:.5;margin:0 8px;}

/* ============================================================
   Footer (premium)
   ============================================================ */
.ajcs-footer{background:var(--grad-navy);color:#9fb0c4;padding:0;font-size:15.5px;position:relative;}
/* Newsletter / CTA strip that overlaps the footer top */
.ajcs-foot-cta{position:relative;z-index:2;margin-bottom:-70px;}
.ajcs-foot-cta .ajcs-container{max-width:1060px;}
.ajcs-foot-cta-inner{background:var(--grad);border-radius:var(--radius-lg);padding:44px 50px;display:flex;align-items:center;justify-content:space-between;gap:30px;box-shadow:var(--shadow-lg);flex-wrap:wrap;}
.ajcs-foot-cta-inner h3{color:#fff;margin:0 0 6px;font-size:1.7rem;}
.ajcs-foot-cta-inner p{color:rgba(255,255,255,.9);margin:0;}
.ajcs-foot-cta-inner .ajcs-btn{background:#fff;color:var(--brand-2) !important;box-shadow:0 14px 30px rgba(0,0,0,.18);}
.ajcs-foot-cta-inner .ajcs-btn:hover{background:var(--navy);color:#fff !important;}
.ajcs-footer-main{padding:150px 0 44px;}
.ajcs-footer h4{color:#fff;font-size:17px;margin-bottom:22px;font-family:var(--font-head);font-weight:700;}
.ajcs-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1.3fr;gap:48px;}
.ajcs-footer a{color:#9fb0c4;}
.ajcs-footer a:hover{color:#fff;}
.ajcs-footer img{max-height:52px;margin-bottom:20px;filter:brightness(0) invert(1);opacity:.95;}
.ajcs-footer ul{list-style:none;margin:0;padding:0;}
.ajcs-footer ul li{margin-bottom:11px;}
.ajcs-footer ul li a{display:inline-flex;align-items:center;gap:9px;}
.ajcs-footer ul li a::before{content:"\f105";font-family:"Font Awesome 6 Free";font-weight:900;color:var(--brand);font-size:12px;}
.ajcs-footer .ajcs-contact-line{display:flex;gap:13px;margin-bottom:15px;align-items:flex-start;}
.ajcs-footer .ajcs-contact-line i{color:var(--brand);margin-top:5px;width:16px;text-align:center;}
.ajcs-footer .ajcs-social{margin-top:22px;display:flex;gap:10px;}
.ajcs-footer .ajcs-social a{width:40px;height:40px;border-radius:11px;background:rgba(255,255,255,.08);display:inline-flex;align-items:center;justify-content:center;font-size:15px;transition:.25s;}
.ajcs-footer .ajcs-social a:hover{background:var(--grad);transform:translateY(-3px);color:#fff;}
.ajcs-footer-bottom{border-top:1px solid rgba(255,255,255,.09);padding:22px 0;font-size:14px;}
.ajcs-footer-bottom .ajcs-container{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}

/* ============================================================
   Fallback content (non-Elementor pages / posts)
   ============================================================ */
.ajcs-content{padding:70px 0;}
.ajcs-content .ajcs-container{max-width:860px;}
.ajcs-post-meta{color:var(--muted);font-size:14px;margin-bottom:18px;display:flex;align-items:center;gap:8px;}
.ajcs-post-meta i{color:var(--brand);}
.ajcs-post-meta .sep{opacity:.5;}
.ajcs-post-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:32px;background:#fff;box-shadow:var(--shadow-sm);}
.ajcs-post-card .ajcs-post-body{padding:32px;}
.ajcs-post-card h2{font-size:1.55rem;margin:0 0 10px;}
.ajcs-post-card h2 a{color:var(--ink);}
.ajcs-post-card h2 a:hover{color:var(--brand);}
.ajcs-post-card .ajcs-post-meta{margin-bottom:14px;}
.ajcs-post-card .ajcs-btn{margin-top:6px;padding:12px 26px;font-size:14px;}
.ajcs-pagination{text-align:center;}
.ajcs-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 10px;border-radius:12px;border:1px solid var(--line);font-family:var(--font-head);font-weight:600;font-size:14.5px;color:var(--ink);margin:0 3px;}
.ajcs-pagination .page-numbers.current,.ajcs-pagination .page-numbers:hover{background:var(--grad);color:#fff;border-color:transparent;}

/* ============================================================
   ELEMENTOR WIDGET STYLING  — makes the whole builder premium
   ============================================================ */
/* Headings & text inherit theme fonts automatically. Constrain default line width for readability handled per-section. */
.elementor-widget-heading .elementor-heading-title{font-family:var(--font-head);letter-spacing:-.02em;}
.elementor-widget-text-editor{color:var(--body);}

/* Icon-box → premium tinted icon tile + hover card when inside .ajcs-card */
.elementor-widget-icon-box .elementor-icon{
  background:var(--grad) !important;color:#fff !important;border-radius:16px !important;
  width:62px !important;height:62px !important;display:inline-flex;align-items:center;justify-content:center;
  font-size:24px !important;box-shadow:var(--glow);transition:transform .3s ease;
}
.elementor-widget-icon-box .elementor-icon i{font-size:24px;}
.elementor-widget-icon-box .elementor-icon svg{width:24px;height:24px;}
.elementor-widget-icon-box .elementor-icon:hover{transform:translateY(-4px) rotate(-4deg);}
.elementor-widget-icon-box.elementor-position-top .elementor-icon-box-icon{margin-bottom:20px;}
.elementor-widget-icon-box .elementor-icon-box-title{font-family:var(--font-head);font-weight:700;color:var(--ink);font-size:19px;line-height:1.35;margin:0 0 10px;}
.elementor-widget-icon-box .elementor-icon-box-title a{color:var(--ink);}
.elementor-widget-icon-box .elementor-icon-box-description{color:var(--body);font-size:15.5px;line-height:1.7;margin:0;}

/* Image-box → clean modern card image (full-width media header) */
.elementor-widget-image-box .elementor-image-box-img{width:100% !important;margin:0 0 18px !important;}
.elementor-widget-image-box .elementor-image-box-img img{width:100%;height:190px;object-fit:cover;border-radius:14px;display:block;}
.elementor-widget-image-box .elementor-image-box-title{font-family:var(--font-head);font-weight:700;color:var(--ink);}

/* Icon lists → check bullets */
.elementor-widget-icon-list .elementor-icon-list-item{padding:8px 0;}
.elementor-widget-icon-list .elementor-icon-list-icon{color:var(--brand);}
.elementor-widget-icon-list .elementor-icon-list-icon i{font-size:16px;}
.elementor-widget-icon-list .elementor-icon-list-text{color:var(--ink);font-weight:500;padding-left:4px;}

/* Accordion → modern rounded cards */
.elementor-accordion .elementor-accordion-item{border:1px solid var(--line) !important;border-radius:14px !important;margin-bottom:14px;overflow:hidden;background:#fff;box-shadow:var(--shadow-sm);}
.elementor-accordion .elementor-tab-title{padding:20px 24px !important;font-family:var(--font-head);font-weight:700;font-size:17px;border:0 !important;}
.elementor-accordion .elementor-tab-title.elementor-active{color:var(--brand);}
.elementor-accordion .elementor-tab-content{padding:0 24px 22px !important;border:0 !important;color:var(--body);}

/* Dividers */
.elementor-widget-divider .elementor-divider-separator{border-radius:4px;}

/* Google map */
.elementor-widget-google_maps iframe{border-radius:var(--radius);box-shadow:var(--shadow);}

/* ============================================================
   Custom component classes (added as CSS classes in Elementor)
   ============================================================ */
/* Generic premium card column */
.ajcs-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-sm);transition:transform .3s ease,box-shadow .3s ease,border-color .3s;
  height:100%;
}
.ajcs-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:transparent;}

/* Service card: adds a subtle top accent on hover */
.ajcs-service-card{position:relative;overflow:hidden;}
.ajcs-service-card::before{content:"";position:absolute;left:0;top:0;height:4px;width:100%;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .35s ease;}
.ajcs-service-card:hover::before{transform:scaleX(1);}

/* Stat tile */
.ajcs-stat .elementor-widget-container{text-align:center;}
.ajcs-stat-num .elementor-heading-title{font-size:clamp(2rem,2.6vw,2.6rem);font-weight:800;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1.1;white-space:nowrap;}
.ajcs-stat-label .elementor-heading-title{font-size:15px;font-weight:600;color:var(--body) !important;letter-spacing:.01em;text-transform:none;}

/* Glass card (used on dark hero) */
.ajcs-glass{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);backdrop-filter:blur(6px);}
.ajcs-glass .elementor-heading-title,.ajcs-glass .elementor-icon-box-title,.ajcs-glass .elementor-icon-box-title a{color:#fff !important;}
.ajcs-glass .elementor-icon-box-description{color:rgba(255,255,255,.75) !important;}

/* On dark sections: white headings/text */
.ajcs-on-dark .elementor-heading-title{color:#fff !important;}
.ajcs-on-dark .elementor-widget-text-editor,.ajcs-on-dark p{color:rgba(255,255,255,.82) !important;}
.ajcs-on-dark .ajcs-eyebrow{color:#7fd0ff;background:rgba(255,255,255,.10);}
.ajcs-on-dark .ajcs-eyebrow::before{background:#7fd0ff;}

/* Numbered step */
.ajcs-step-num .elementor-heading-title{
  width:56px;height:56px;line-height:56px;border-radius:16px;background:var(--grad);color:#fff;
  font-size:22px;font-weight:800;text-align:center;box-shadow:var(--glow);
}

/* Rounded feature image with shadow (all standalone Image widgets are hero shots here) */
.elementor-widget-image > .elementor-widget-container img{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);}

/* Hero trust chips + dark eyebrow (literal HTML) */
.ajcs-chips{display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:6px;}
.ajcs-chips span{display:inline-flex;align-items:center;gap:9px;color:rgba(255,255,255,.92);font-weight:600;font-family:var(--font-head);font-size:15px;}
.ajcs-chips span i{color:#7fd0ff;}
.ajcs-eyebrow-dark{color:#8fd4ff !important;background:rgba(255,255,255,.10) !important;}
.ajcs-eyebrow-dark::before{background:#8fd4ff !important;}

/* Pill/soft section background helpers via section CSS classes are set inline in builder */

/* Hero background glow + trust chips */
.ajcs-herobg{position:relative;overflow:hidden;}
.ajcs-herobg::before{content:"";position:absolute;top:-30%;right:-10%;width:60%;height:120%;background:radial-gradient(circle,rgba(0,156,255,.35),transparent 62%);pointer-events:none;}
.ajcs-herobg::after{content:"";position:absolute;bottom:-40%;left:-8%;width:50%;height:110%;background:radial-gradient(circle,rgba(18,58,99,.55),transparent 60%);pointer-events:none;}
.ajcs-hero-chips .elementor-widget-container{display:flex;flex-wrap:wrap;gap:10px 22px;}
.ajcs-chip .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:8px 24px;}
.ajcs-chip .elementor-icon-list-text{color:rgba(255,255,255,.9) !important;font-weight:600;}
.ajcs-chip .elementor-icon-list-icon i{color:#7fd0ff !important;}

/* Rounded soft section pill wrapper */
.ajcs-round{border-radius:var(--radius-lg);}

/* Ensure equal-height flex columns for card rows */
.ajcs-eqrow .elementor-container .elementor-column .elementor-widget-wrap{align-content:flex-start;}

/* ============================================================
   Contact form (HTML widget)
   ============================================================ */
.ajcs-contact-form input,.ajcs-contact-form textarea{
  font-family:var(--font-body);font-size:15px;padding:15px 16px !important;border:1.5px solid var(--line) !important;
  border-radius:12px !important;width:100%;background:#fff;transition:.2s;color:var(--ink);
}
.ajcs-contact-form input:focus,.ajcs-contact-form textarea:focus{outline:0;border-color:var(--brand) !important;box-shadow:0 0 0 4px rgba(0,156,255,.12);}
.ajcs-contact-form button{background:var(--grad);color:#fff;border:0;padding:15px 36px;border-radius:60px;font-family:var(--font-head);font-weight:700;font-size:15px;cursor:pointer;box-shadow:var(--glow);transition:.25s;}
.ajcs-contact-form button:hover{transform:translateY(-3px);}
@media(max-width:600px){
  /* Stack the name/email pair on small phones */
  .ajcs-contact-form div[style*="grid"]{display:block !important;}
  .ajcs-contact-form div[style*="grid"] input{margin-bottom:14px;}
}

/* ============================================================
   Comments (single posts)
   ============================================================ */
.comment-respond{margin-top:50px;padding:36px;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);}
.comment-reply-title{font-size:1.35rem;margin-bottom:6px;}
.comment-notes{font-size:14px;color:var(--muted);margin-bottom:22px;}
.comment-form p{margin-bottom:18px;}
.comment-form label{display:block;font-family:var(--font-head);font-weight:600;font-size:14px;color:var(--ink);margin-bottom:7px;}
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea{
  width:100%;padding:13px 15px;border:1.5px solid var(--line);border-radius:12px;
  font-family:var(--font-body);font-size:15px;background:#fff;color:var(--ink);transition:.2s;
}
.comment-form input:focus,.comment-form textarea:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 4px rgba(0,156,255,.12);}
.comment-form-cookies-consent{display:flex;align-items:flex-start;gap:10px;}
.comment-form-cookies-consent input{margin-top:5px;}
.comment-form-cookies-consent label{display:inline;font-family:var(--font-body);font-weight:400;font-size:14.5px;color:var(--body);margin:0;}
.comment-form .form-submit{margin:6px 0 0;}
.comment-form input[type="submit"]{
  background:var(--grad);color:#fff;border:0;padding:14px 34px;border-radius:60px;
  font-family:var(--font-head);font-weight:700;font-size:15px;cursor:pointer;box-shadow:var(--glow);transition:.25s;
}
.comment-form input[type="submit"]:hover{transform:translateY(-2px);}
.comment-list{list-style:none;margin:44px 0 0;padding:0;}
.comment-list .comment{border:1px solid var(--line);border-radius:var(--radius-sm);padding:22px;margin-bottom:16px;background:#fff;}

/* ============================================================
   Layout polish — spacing & rhythm
   ============================================================ */
/* The Elementor pages were built with "no" column gap, leaving card
   columns flush against each other. Give every multi-column row
   consistent breathing room (flex columns shrink to absorb the gap).
   Top-level sections only — inner rows (e.g. the stats strip) are
   deliberately compact. */
.elementor-top-section > .elementor-container{column-gap:28px;row-gap:26px;}

/* Side padding so section content never touches the viewport edge —
   the pages were built with zero column/container padding. */
.elementor-top-section > .elementor-container{padding-left:22px;padding-right:22px;}

/* Stat tiles (inner-section headings like "Same-Day") must never
   break mid-word/hyphen. */
.elementor-inner-section .elementor-widget-heading .elementor-heading-title{white-space:nowrap;}

/* The two stacked service-card rows on the home page are adjacent
   zero-padding sections — separate them. */
.elementor-top-section[data-id="3297389"]{padding-bottom:28px !important;}

/* Don't let trailing paragraphs add uneven space inside cards */
.elementor-widget-text-editor p:last-child{margin-bottom:0;}

/* Consistent heading rhythm inside widgets */
.elementor-widget-heading .elementor-heading-title{margin:0;}
.elementor-widget-heading + .elementor-widget-text-editor .elementor-widget-container{margin-top:2px;}

/* ============================================================
   Responsive
   ============================================================ */
@media(max-width:1280px){
  /* Tighten the desktop menu so all items stay on one line on smaller laptops */
  .ajcs-menu a{padding:9px 10px;font-size:14px;}
  .ajcs-nav-wrap{gap:12px;}
  .ajcs-btn{padding:12px 22px;font-size:14px;}
}
@media(max-width:1099px){
  .ajcs-menu-toggle{display:block;}
  .ajcs-menu{
    position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;
    padding:12px;box-shadow:var(--shadow);display:none;border-top:1px solid var(--line);
  }
  .ajcs-menu.open{display:flex;}
  .ajcs-menu a{white-space:normal;font-size:15px;padding:10px 13px;}
  .ajcs-menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding-left:16px;min-width:0;}
  .ajcs-menu .menu-item-has-children>a::after{float:right;}
}
@media(max-width:1024px){
  .ajcs-footer-grid{grid-template-columns:1fr 1fr;gap:34px;}
}
/* Tablet: 3- and 4-across rows become 2-up so cards keep breathing room,
   the stats strip goes 2×2 instead of overlapping, and asymmetric
   text/image splits stack full width. */
@media(min-width:768px) and (max-width:1024px){
  .elementor-top-section > .elementor-container{flex-wrap:wrap;}
  .elementor-top-section > .elementor-container > .elementor-col-33,
  .elementor-top-section > .elementor-container > .elementor-col-25,
  .elementor-top-section > .elementor-container > .elementor-col-50{width:calc(50% - 14px) !important;}
  .elementor-top-section > .elementor-container > .elementor-col-30,
  .elementor-top-section > .elementor-container > .elementor-col-35,
  .elementor-top-section > .elementor-container > .elementor-col-40,
  .elementor-top-section > .elementor-container > .elementor-col-44,
  .elementor-top-section > .elementor-container > .elementor-col-45,
  .elementor-top-section > .elementor-container > .elementor-col-55,
  .elementor-top-section > .elementor-container > .elementor-col-60,
  .elementor-top-section > .elementor-container > .elementor-col-65,
  .elementor-top-section > .elementor-container > .elementor-col-66,
  .elementor-top-section > .elementor-container > .elementor-col-70{width:100% !important;}
  .elementor-inner-section > .elementor-container{flex-wrap:wrap;row-gap:10px;}
  .elementor-inner-section > .elementor-container > .elementor-col-25{width:50% !important;}
}
@media(max-width:767px){
  body{font-size:16px;}
  .ajcs-footer-grid{grid-template-columns:1fr;}
  .ajcs-topbar .ajcs-container{justify-content:center;text-align:center;}
  .ajcs-topbar .ajcs-social{display:none;}
  .ajcs-foot-cta-inner{flex-direction:column;text-align:center;padding:34px 26px;}
  .ajcs-page-banner{padding:70px 0 60px;}
  .ajcs-eyebrow,.ajcs-label,.ajcs-eyebrow-dark{font-size:11.5px;padding:6px 13px;letter-spacing:.1em;}
  .elementor-top-section > .elementor-container{row-gap:22px;}
  .ajcs-content{padding:50px 0;}
  .ajcs-post-card .ajcs-post-body{padding:24px;}
  .comment-respond{padding:24px;}
}

/* Top bar: keep each contact item on one line */
.ajcs-topbar-left span { white-space: nowrap; }
@media (max-width: 767px) {
	.ajcs-topbar { font-size: 12.5px; line-height: 1.8; }
}
