/* Soft Enterprises — brand colours, polish and mobile fixes (17-Oct-2026)
   Loaded by wp-content/mu-plugins/se-site-style.php after Elementor's own CSS.
   To undo: delete that file. */

:root{
  --se-navy:#0F3B4C; --se-navy-2:#0B2C39; --se-teal:#1E7F86;
  --se-gold:#C8951F; --se-gold-d:#A67A14; --se-ink:#1F2A33; --se-text:#4A5560;
  --se-soft:#F4F7F8; --se-line:#E3E8EB; --se-radius:14px;
  --se-shadow:0 10px 30px rgba(15,59,76,.08);
}

/* Elementor global colours/fonts were never set (Elementor defaults: light blue, green). Brand them once here. */
.elementor-kit-44{
  --e-global-color-primary:#0F3B4C;
  --e-global-color-secondary:#1E7F86;
  --e-global-color-text:#4A5560;
  --e-global-color-accent:#C8951F;
  --e-global-typography-primary-font-family:"Poppins";
  --e-global-typography-primary-font-weight:600;
}
body{color:var(--se-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto}
html,body{overflow-x:clip}

/* Headings: one family, tighter and darker */
.elementor-heading-title{font-family:"Poppins",Roboto,sans-serif;letter-spacing:-.01em}
h1.elementor-heading-title,h2.elementor-heading-title{color:var(--se-navy)}

/* Buttons: gold pill with a gentle hover */
.elementor-button{background-color:var(--se-gold)!important;color:#fff!important;border-radius:999px!important;
  font-weight:600!important;letter-spacing:.02em;border:0!important;
  transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease}
.elementor-button:hover,.elementor-button:focus{background-color:var(--se-gold-d)!important;transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(200,149,31,.28)}

/* Header: white bar with a soft shadow; visible menu button on phones */
.xpro-theme-builder-header{background:#fff;box-shadow:0 2px 16px rgba(15,59,76,.08);position:relative;z-index:50}
.xpro-elementor-horizontal-menu-toggler{color:var(--se-navy)!important;border:1px solid var(--se-line)!important;
  border-radius:10px!important;background:#fff!important}
.xpro-elementor-horizontal-menu-toggler i,.xpro-elementor-horizontal-menu-toggler svg{color:var(--se-navy)!important;fill:var(--se-navy)!important}
.xpro-elementor-nav-link{transition:color .2s}
.xpro-elementor-nav-link:hover{color:var(--se-gold)!important}

/* Home: hero text readable on the photo */
.elementor-element-d5cfde3 .elementor-heading-title{color:#fff!important;text-shadow:0 2px 18px rgba(0,0,0,.35)}

/* Home: numbers strip as neat cards */
.elementor-element-e570d09 > .e-con-inner,.elementor-element-e570d09{gap:18px}
.elementor-element-5688748,.elementor-element-dd1d9b2,.elementor-element-5e2dc3c,.elementor-element-b3d0a98{
  background:#fff!important;border:1px solid var(--se-line);border-radius:var(--se-radius);box-shadow:var(--se-shadow);
  padding:22px 18px!important;text-align:center;justify-content:center;align-items:center}
.elementor-element-5688748 .elementor-heading-title,.elementor-element-dd1d9b2 .elementor-heading-title,
.elementor-element-5e2dc3c .elementor-heading-title,.elementor-element-b3d0a98 .elementor-heading-title{text-align:center}
/* the 4th box was left empty */
.elementor-element-b3d0a98{display:none!important}
.elementor-element-e570d09 .e-heading-base{color:var(--se-navy)!important;font-family:"Poppins",sans-serif;text-align:center;line-height:1.3}
.elementor-element-e570d09 .e-heading-base::first-line{color:var(--se-gold);font-size:1.25em;font-weight:700}

/* Home: product cards lift on hover */
.elementor-element-76b52626 .elementor-widget-image-box .elementor-image-box-wrapper{
  background:#fff;border:1px solid var(--se-line);border-radius:var(--se-radius);padding:16px;height:100%;
  transition:transform .25s ease,box-shadow .25s ease}
.elementor-element-76b52626 .elementor-widget-image-box:hover .elementor-image-box-wrapper{transform:translateY(-4px);box-shadow:var(--se-shadow)}
.elementor-element-76b52626 .elementor-image-box-img img{border-radius:10px}

/* Home: "Why Choose Us" — the grey text on grey boxes was unreadable */
.elementor-element-3422c57e,.elementor-element-3c11ef1e,.elementor-element-896f1cc,.elementor-element-28ff6772{
  background:linear-gradient(160deg,var(--se-navy) 0%,#145565 100%)!important;border-radius:var(--se-radius)!important;
  box-shadow:var(--se-shadow);transition:transform .25s ease}
.elementor-element-3422c57e:hover,.elementor-element-3c11ef1e:hover,.elementor-element-896f1cc:hover,.elementor-element-28ff6772:hover{transform:translateY(-4px)}
.elementor-element-3422c57e *,.elementor-element-3c11ef1e *,.elementor-element-896f1cc *,.elementor-element-28ff6772 *{color:rgba(255,255,255,.88)!important}
.elementor-element-3422c57e .elementor-element:first-child .elementor-heading-title,
.elementor-element-3c11ef1e .elementor-element:first-child .elementor-heading-title,
.elementor-element-896f1cc .elementor-element:first-child .elementor-heading-title,
.elementor-element-28ff6772 .elementor-element:first-child .elementor-heading-title{color:#F2C766!important}

/* Images in content: soft corners */
.elementor-widget-image img,.elementor-image-gallery img,.gallery img{border-radius:10px}

/* Footer: deep navy band */
.elementor-155 > .e-con,.elementor-155 > .elementor-element{background-color:var(--se-navy-2)!important}
.elementor-155 .elementor-heading-title{color:#fff!important}
.elementor-155 p,.elementor-155 li,.elementor-155 span,.elementor-155 a,.elementor-155 .elementor-icon-list-text{color:rgba(255,255,255,.78)!important}
.elementor-155 a:hover,.elementor-155 a:hover .elementor-icon-list-text{color:#F2C766!important}
.elementor-155 .elementor-image img{background:#fff;border-radius:10px;padding:6px}

/* ---------- Phones and small tablets ---------- */
@media (max-width:767px){
  h1.elementor-heading-title{font-size:clamp(28px,8.4vw,38px)!important;line-height:1.15!important}
  h2.elementor-heading-title{font-size:clamp(24px,7vw,30px)!important;line-height:1.2!important}
  .elementor-widget-text-editor{font-size:16px;line-height:1.65}

  /* numbers strip: three small cards in a row */
  .elementor-element-e570d09 > .e-con-inner,.elementor-element-e570d09{display:grid!important;grid-template-columns:repeat(3,1fr);gap:8px!important}
  .elementor-element-e570d09 .e-heading-base{font-size:15px!important}
  .elementor-element-5688748,.elementor-element-dd1d9b2,.elementor-element-5e2dc3c,.elementor-element-b3d0a98{width:auto!important;padding:16px 10px!important}

  /* Blog list was wider than the screen */
  .tpg-el-main-wrapper,.rt-tpg-container,.rt-row{margin-left:0!important;margin-right:0!important;max-width:100%!important;width:100%!important}
  .tpg-header-wrapper{max-width:100%}

  /* Products page: image-left call-to-action boxes were wider than the screen */
  .elementor-cta--layout-image-left .elementor-cta,.elementor-cta--layout-image-right .elementor-cta{flex-direction:column!important}
  .elementor-cta--layout-image-left .elementor-cta__bg-wrapper,.elementor-cta--layout-image-right .elementor-cta__bg-wrapper{
    width:100%!important;min-width:0!important;min-height:220px!important;position:relative}
  .elementor-cta__content{width:100%!important;min-width:0!important}
  .elementor-cta__image img{max-width:100%}

  /* Product photo galleries: 2 per row, inside the screen */
  .gallery{display:grid!important;grid-template-columns:1fr 1fr;gap:10px;margin:0!important}
  .gallery .gallery-item{width:auto!important;max-width:none!important;margin:0!important;padding:0!important}
  .gallery br{display:none}

  /* desktop side margins were kept on phones and pushed boxes off-screen */
  .e-con.e-parent{--padding-left:16px;--padding-right:16px;margin-left:0!important;margin-right:0!important;max-width:100%!important}
  .e-con{--margin-left:0px;--margin-right:0px}
}
@media (prefers-reduced-motion:reduce){
  .elementor-button,.elementor-element-76b52626 .elementor-image-box-wrapper,.elementor-element-3422c57e{transition:none!important}
}

/* ---------- Blog articles (posts written 17-Oct-2026 use class "se-post") ---------- */
.se-post{max-width:820px;margin:0 auto;color:var(--se-text);font-size:17px;line-height:1.75}
.se-post h2{font-family:"Poppins",sans-serif;color:var(--se-navy);font-size:clamp(22px,2.6vw,30px);line-height:1.25;margin:44px 0 14px}
.se-post h3{font-family:"Poppins",sans-serif;color:var(--se-navy);font-size:19px;line-height:1.35;margin:0 0 8px}
.se-post p{margin:0 0 16px}
.se-post ul{margin:0 0 18px;padding-left:22px}
.se-post li{margin:0 0 8px}
.se-post a{color:var(--se-teal);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(30,127,134,.35)}
.se-post a:hover{color:var(--se-gold-d);border-color:var(--se-gold)}
.se-post .se-lede{font-size:19px;line-height:1.7;color:var(--se-ink)}
.se-post .se-box{background:#FBF5E6;border-left:4px solid var(--se-gold);border-radius:0 12px 12px 0;padding:20px 22px;margin:26px 0}
.se-post .se-box > strong:first-child{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--se-gold-d);margin-bottom:6px}
.se-post .se-box p{margin:0}
.se-post .se-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:18px 0 8px}
.se-post .se-card{background:#fff;border:1px solid var(--se-line);border-radius:var(--se-radius);padding:20px;box-shadow:var(--se-shadow)}
.se-post .se-card p{font-size:15.5px;margin-bottom:10px}
.se-post .se-table{width:100%;border-collapse:collapse;margin:18px 0 10px;font-size:15.5px;background:#fff;border:1px solid var(--se-line);border-radius:12px;overflow:hidden;display:table}
.se-post .se-table th,.se-post .se-table td{border-left:0;border-right:0}
.se-post .se-table thead th{background:var(--se-navy);color:#fff;text-align:left;padding:12px 14px;font-weight:600;white-space:nowrap}
.se-post .se-table td{padding:11px 14px;border-top:1px solid var(--se-line);vertical-align:top}
.se-post .se-table tbody tr:nth-child(even){background:var(--se-soft)}
.se-post .se-note{font-size:14px;color:#6B7680}
.se-post .se-formula{background:var(--se-soft);border:1px dashed var(--se-teal);border-radius:10px;padding:14px 16px;font-weight:600;color:var(--se-navy);text-align:center}
.se-post .se-faq{border-top:1px solid var(--se-line);margin-top:8px}
.se-post .se-faq h3{margin-top:20px}
.se-post .se-cta{background:linear-gradient(150deg,var(--se-navy),#145565);color:#fff;border-radius:18px;padding:30px 26px;margin:44px 0 10px;text-align:center}
.se-post .se-cta h3{color:#fff;font-size:22px}
.se-post .se-cta p{color:rgba(255,255,255,.85);max-width:560px;margin:0 auto 18px}
.se-post .se-btn{display:inline-block;background:var(--se-gold);color:#fff!important;border:0!important;border-radius:999px;padding:12px 26px;font-weight:600}
.se-post .se-btn:hover{background:var(--se-gold-d)}
@media (max-width:767px){
  .se-post{font-size:16px}
  .se-post .se-lede{font-size:17px}
  .se-post .se-cta{padding:24px 18px}
  .se-post .se-table{display:block;overflow-x:auto;font-size:14.5px}
}

/* Phone menu panel in brand navy */
@media (max-width:1024px){
  .xpro-elementor-horizontal-navbar-wrapper,.xpro-elementor-horizontal-navbar-wrapper .xpro-elementor-horizontal-navbar{background:var(--se-navy)!important}
}

/* Blog list (The Post Grid): brand buttons and titles */
.tpg-el-main-wrapper .read-more a{background:var(--se-gold)!important;border-color:var(--se-gold)!important;border-radius:999px!important;color:#fff!important;padding:8px 18px!important}
.tpg-el-main-wrapper .read-more a:hover{background:var(--se-gold-d)!important;border-color:var(--se-gold-d)!important}
.tpg-el-main-wrapper .entry-title a{color:var(--se-navy)!important}
.tpg-el-main-wrapper .entry-title a:hover{color:var(--se-gold-d)!important}
.tpg-el-main-wrapper img{border-radius:12px}
