/*
Theme Name: 321-IT SEO Conversion Theme
Theme URI: https://321-it.com/
Author: 321-IT
Description: Svenskt SEO- och konverteringsoptimerat tema för webbdesign, webbhosting, IT-support och laptopförsäljning.
Version: 2.0.0-enterprise-redesign
Requires at least: 6.0
Text Domain: 321it
*/
:root{--blue:#1455d9;--dark:#0f172a;--light:#f8fafc;--muted:#64748b;--line:#e2e8f0;--green:#16a34a}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--dark);background:white;line-height:1.65}a{color:var(--blue);text-decoration:none}img{max-width:100%;height:auto}.container{max-width:1180px;margin:auto;padding:0 22px}.topbar{background:var(--dark);color:white;font-size:14px}.topbar .container{display:flex;gap:18px;justify-content:space-between;padding-top:8px;padding-bottom:8px}.site-header{position:sticky;top:0;background:white;border-bottom:1px solid var(--line);z-index:10}.nav{display:flex;align-items:center;justify-content:space-between;padding:16px 0}.brand{font-weight:800;font-size:28px;color:var(--dark)}.menu{display:flex;gap:22px;list-style:none;margin:0;padding:0}.menu a{color:var(--dark);font-weight:650}.btn,.wp-block-button__link{display:inline-block;background:var(--blue);color:white!important;padding:12px 18px;border-radius:12px;font-weight:750}.btn.secondary{background:#e0ecff;color:var(--blue)!important}.hero{background:linear-gradient(135deg,#eff6ff,#fff);padding:74px 0}.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:42px;align-items:center}.kicker{color:var(--blue);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.hero h1{font-size:clamp(38px,6vw,64px);line-height:1.03;margin:10px 0 18px}.lead{font-size:20px;color:#334155}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card,.price,.faq-item,.post-card{border:1px solid var(--line);border-radius:22px;padding:24px;background:white;box-shadow:0 10px 25px rgba(15,23,42,.06)}.section{padding:64px 0}.section h2{font-size:38px;line-height:1.1;margin:0 0 12px}.price.featured{border:2px solid var(--blue);transform:scale(1.02)}.price .amount{font-size:34px;font-weight:900}.list{padding-left:20px}.cta{background:var(--dark);color:white;border-radius:30px;padding:42px}.cta h2{color:white}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:28px}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.post-card img{border-radius:16px}.site-footer{background:#0b1220;color:#cbd5e1;padding:46px 0;margin-top:50px}.site-footer a{color:white}.breadcrumb{font-size:14px;color:var(--muted);margin:24px 0}.content{max-width:850px}.content h1{font-size:44px;line-height:1.1}.content h2{margin-top:36px}.toc{background:#f1f5f9;border-radius:18px;padding:18px}.faq-item{margin:14px 0}.badge{display:inline-block;background:#dcfce7;color:#166534;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:800}@media(max-width:850px){.hero-grid,.grid-2,.cards,.blog-grid{grid-template-columns:1fr}.menu{flex-wrap:wrap}.topbar .container{display:block}.price.featured{transform:none}}
.package-intro{background:#f8fafc;border:1px solid var(--line);border-radius:24px;padding:26px;margin:24px 0}.pricing-cards{align-items:stretch;margin:28px 0}.package-card{display:flex;flex-direction:column}.package-card .btn{margin-top:auto;text-align:center}.package-subtitle{color:#475569;min-height:78px}.monthly{color:var(--muted);font-weight:700;margin-top:-20px}.package-list li{margin:7px 0}.best-for{background:#f8fafc;border-radius:16px;padding:14px}.product-cta{margin-top:36px}.content .pricing-cards{max-width:1180px;width:calc(100vw - 44px);margin-left:calc((850px - min(1180px, calc(100vw - 44px)))/2)}@media(max-width:1180px){.content .pricing-cards{width:auto;margin-left:0}}@media(max-width:850px){.package-subtitle{min-height:0}.content .pricing-cards{width:auto;margin-left:0}}

/* WooCommerce fixes */
.woocommerce-main{max-width:1180px}.woocommerce-main .content{max-width:none}.shop-hero{margin-bottom:28px}.woocommerce .woocommerce-breadcrumb{color:var(--muted);margin:0 0 24px}.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;list-style:none;margin:24px 0!important;padding:0!important}.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}.woocommerce ul.products li.product{float:none!important;width:auto!important;margin:0!important;border:1px solid var(--line);border-radius:22px;padding:18px!important;background:#fff;box-shadow:0 10px 25px rgba(15,23,42,.06);display:flex;flex-direction:column}.woocommerce ul.products li.product a img{width:100%;height:260px;object-fit:contain;background:#f8fafc;border-radius:16px;margin:0 0 14px!important}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:20px!important;line-height:1.25;color:var(--dark);padding:0!important}.woocommerce ul.products li.product .price{border:0;box-shadow:none;padding:0;color:var(--dark)!important;font-size:24px;font-weight:900}.woocommerce ul.products li.product .button,.woocommerce div.product form.cart .button{background:var(--blue);color:#fff!important;border-radius:12px;padding:12px 18px;font-weight:800}.woocommerce-result-count{margin-top:8px}.woocommerce-ordering select{padding:9px;border:1px solid var(--line);border-radius:10px}.woocommerce div.product{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:start}.woocommerce div.product div.images,.woocommerce div.product div.summary{float:none!important;width:auto!important}.woocommerce div.product .product_title{font-size:44px;line-height:1.1}.woocommerce div.product p.price{font-size:34px;color:var(--dark);font-weight:900}.woocommerce-tabs{grid-column:1/-1}.related.products{grid-column:1/-1}.woocommerce .quantity .qty{padding:10px;border:1px solid var(--line);border-radius:10px}.btn-secondary,.btn.btn-secondary{background:#e0ecff;color:var(--blue)!important}.webbpaket-shop .btn-secondary{margin-top:10px}@media(max-width:900px){.woocommerce ul.products{grid-template-columns:1fr}.woocommerce div.product{grid-template-columns:1fr}.woocommerce ul.products li.product a img{height:auto}}
.package-image-link{display:block;margin:1rem 0}.package-image{width:100%;height:auto;border-radius:18px;border:1px solid #e5e7eb}.webbdesign-page .webbpaket-shop{padding-top:1rem}.btn-secondary{background:#fff;color:#1557e8;border:1px solid #1557e8}.post-cards .card h3 a{color:inherit;text-decoration:none}.text-link{font-weight:700}.faq-grid details,.faq-grid .faq-item{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:1rem;margin:1rem 0}.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;list-style:none;margin:0;padding:0}.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:1rem;box-shadow:0 12px 30px rgba(15,23,42,.08)}.woocommerce ul.products li.product img{border-radius:14px;width:100%;height:auto}.woocommerce div.product{max-width:1180px;margin:0 auto;padding:3rem 1.25rem}.woocommerce div.product .product_title{font-size:clamp(2rem,4vw,3.5rem)}.woocommerce div.product div.images img{border-radius:18px;border:1px solid #e5e7eb}.woocommerce .price{font-size:1.6rem;font-weight:800;color:#0b1225}@media(max-width:850px){.woocommerce ul.products{grid-template-columns:1fr}.nav{flex-wrap:wrap}.menu{flex-wrap:wrap}}

/* Accordion FAQ page */
.faq-page{max-width:980px}.faq-toc{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 34px}.faq-toc a{background:#e0ecff;color:var(--blue);font-weight:800;padding:10px 14px;border-radius:999px}.faq-section{margin:42px 0}.faq-section h2{font-size:clamp(28px,4vw,40px);margin-bottom:18px}.faq-accordion{display:grid;gap:14px}.faq-accordion .faq-item{padding:0;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 10px 25px rgba(15,23,42,.05)}.faq-accordion summary{cursor:pointer;list-style:none;padding:18px 56px 18px 20px;font-weight:850;font-size:18px;position:relative}.faq-accordion summary::-webkit-details-marker{display:none}.faq-accordion summary:after{content:'+';position:absolute;right:20px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:999px;background:#e0ecff;color:var(--blue);display:grid;place-items:center;font-weight:900}.faq-accordion details[open] summary:after{content:'−';background:var(--blue);color:#fff}.faq-answer{padding:0 20px 20px;color:#334155}.faq-answer p{margin:0}.faq-accordion details[open] summary{border-bottom:1px solid var(--line);margin-bottom:16px;background:#f8fafc}@media(max-width:700px){.faq-accordion summary{font-size:16px;padding-right:52px}.faq-toc{display:grid}.faq-toc a{text-align:center}}

/* 321-IT shop compact grid fix - v1.1
   Makes /shop/ and product category archives smaller, aligned and uniform. */
body.woocommerce-shop .woocommerce-main,
body.tax-product_cat .woocommerce-main,
body.post-type-archive-product .woocommerce-main{
  max-width:1200px;
  padding:28px 18px;
}
body.woocommerce-shop .content,
body.tax-product_cat .content,
body.post-type-archive-product .content{
  max-width:1200px;
}
body.woocommerce-shop .shop-hero,
body.tax-product_cat .shop-hero,
body.post-type-archive-product .shop-hero{
  padding:24px 22px;
  margin:0 0 20px;
  border-radius:18px;
}
body.woocommerce-shop .shop-hero h1,
body.tax-product_cat .shop-hero h1,
body.post-type-archive-product .shop-hero h1,
.woocommerce-products-header__title.page-title{
  font-size:clamp(28px,3vw,42px)!important;
  line-height:1.1;
  margin:0 0 8px;
}
body.woocommerce-shop .shop-hero p,
body.tax-product_cat .shop-hero p,
body.post-type-archive-product .shop-hero p{
  font-size:16px;
  margin:0;
}
.woocommerce .woocommerce-result-count,
.woocommerce-page .woocommerce-result-count{
  font-size:14px;
  margin:0 0 14px!important;
}
.woocommerce .woocommerce-ordering,
.woocommerce-page .woocommerce-ordering{
  margin:0 0 14px!important;
}
.woocommerce .woocommerce-ordering select{
  min-height:36px;
  padding:7px 10px;
  font-size:14px;
}
.woocommerce ul.products,
.woocommerce-page ul.products{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:stretch!important;
  clear:both;
  list-style:none!important;
  padding:0!important;
  margin:18px 0 0!important;
}
.woocommerce ul.products:before,
.woocommerce ul.products:after,
.woocommerce-page ul.products:before,
.woocommerce-page ul.products:after{
  content:none!important;
  display:none!important;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  float:none!important;
  width:auto!important;
  margin:0!important;
  padding:12px!important;
  min-height:100%;
  border:1px solid #e5e7eb!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 6px 18px rgba(15,23,42,.06)!important;
  display:flex!important;
  flex-direction:column!important;
  text-align:left!important;
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  text-decoration:none!important;
}
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img,
.woocommerce ul.products li.product img,
.woocommerce-page ul.products li.product img{
  width:100%!important;
  height:145px!important;
  object-fit:contain!important;
  background:#f8fafc!important;
  border-radius:10px!important;
  margin:0 0 10px!important;
  padding:8px!important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title{
  font-size:15px!important;
  line-height:1.3!important;
  min-height:40px!important;
  margin:0 0 8px!important;
  padding:0!important;
  color:#0b1225!important;
  font-weight:800!important;
}
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price{
  display:block!important;
  font-size:16px!important;
  line-height:1.2!important;
  font-weight:900!important;
  margin:auto 0 10px!important;
  padding:0!important;
  color:#0b1225!important;
  border:0!important;
  box-shadow:none!important;
}
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button,
.woocommerce a.button.add_to_cart_button{
  width:100%!important;
  min-height:38px!important;
  padding:10px 12px!important;
  border-radius:10px!important;
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:800!important;
  text-align:center!important;
  margin-top:auto!important;
}
.woocommerce span.onsale{
  min-height:0!important;
  min-width:0!important;
  padding:5px 8px!important;
  font-size:12px!important;
  line-height:1!important;
  border-radius:999px!important;
}
@media(max-width:1100px){
  .woocommerce ul.products,
  .woocommerce-page ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:760px){
  .woocommerce ul.products,
  .woocommerce-page ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}
  .woocommerce ul.products li.product a img,
  .woocommerce-page ul.products li.product a img{height:125px!important;}
}
@media(max-width:430px){
  .woocommerce ul.products,
  .woocommerce-page ul.products{grid-template-columns:1fr!important;}
}


/* 321-IT shop final compact fix - v1.2
   Shop page should show normal WooCommerce products only, not large package cards. */
body.woocommerce-shop .shop-hero{
  background:#f8fafc!important;
  border:1px solid #e5e7eb!important;
  padding:18px 20px!important;
  margin-bottom:18px!important;
}
body.woocommerce-shop .shop-hero h1{
  font-size:clamp(26px,2.6vw,36px)!important;
}
body.woocommerce-shop .shop-hero .lead{
  font-size:16px!important;
  line-height:1.5!important;
  max-width:900px!important;
}
body.woocommerce-shop .webbpaket-shop,
body.post-type-archive-product .webbpaket-shop{
  display:none!important;
}
body.woocommerce-shop ul.products,
body.post-type-archive-product ul.products{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
}
body.woocommerce-shop ul.products li.product,
body.post-type-archive-product ul.products li.product{
  padding:10px!important;
  border-radius:14px!important;
  min-height:310px!important;
}
body.woocommerce-shop ul.products li.product img,
body.post-type-archive-product ul.products li.product img{
  height:135px!important;
  max-height:135px!important;
  object-fit:contain!important;
}
body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title{
  font-size:14px!important;
  min-height:38px!important;
}
body.woocommerce-shop ul.products li.product .price,
body.post-type-archive-product ul.products li.product .price{
  font-size:15px!important;
}
@media(max-width:1000px){
  body.woocommerce-shop ul.products,
  body.post-type-archive-product ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:700px){
  body.woocommerce-shop ul.products,
  body.post-type-archive-product ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

/* 321-IT compact webbdesign packages on shop - v1.3 */
body.woocommerce-shop .webbpaket-shop,
body.post-type-archive-product .webbpaket-shop{display:none!important;}
.it321-shop-packages{margin:0 0 24px!important;padding:18px!important;background:#f8fafc!important;border:1px solid #e5e7eb!important;border-radius:18px!important;}
.it321-shop-packages-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px;}
.it321-shop-packages-head h2{font-size:24px!important;line-height:1.1!important;margin:0!important;}
.it321-shop-packages-head p{font-size:15px!important;margin:0!important;color:#475569!important;max-width:650px;}
.it321-shop-package-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;}
.it321-mini-package{display:grid!important;grid-template-columns:118px 1fr!important;gap:12px!important;align-items:stretch!important;background:#fff!important;border:1px solid #e2e8f0!important;border-radius:14px!important;padding:10px!important;box-shadow:0 6px 16px rgba(15,23,42,.05)!important;min-height:178px!important;}
.it321-mini-package.is-popular{border-color:#1455d9!important;box-shadow:0 8px 18px rgba(20,85,217,.12)!important;}
.it321-mini-image{display:block!important;background:#f8fafc!important;border-radius:10px!important;overflow:hidden!important;height:156px!important;}
.it321-mini-image img{width:100%!important;height:100%!important;object-fit:contain!important;padding:6px!important;margin:0!important;}
.it321-mini-content{display:flex!important;flex-direction:column!important;min-width:0!important;}
.it321-mini-badge{display:inline-block!important;width:max-content!important;background:#dcfce7!important;color:#166534!important;border-radius:999px!important;padding:2px 9px!important;font-size:12px!important;font-weight:900!important;margin-bottom:5px!important;}
.it321-mini-content h3{font-size:17px!important;line-height:1.2!important;margin:0 0 5px!important;}
.it321-mini-content h3 a{color:#0b1225!important;text-decoration:none!important;}
.it321-mini-content p{font-size:13px!important;line-height:1.35!important;margin:0 0 8px!important;color:#475569!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}
.it321-mini-bottom{margin-top:auto!important;display:grid!important;gap:1px!important;}
.it321-mini-bottom strong,.it321-mini-bottom .woocommerce-Price-amount{font-size:16px!important;color:#0b1225!important;font-weight:900!important;}
.it321-mini-bottom small{font-size:12px!important;color:#64748b!important;}
.it321-mini-btn{display:inline-block!important;margin-top:7px!important;background:#1455d9!important;color:#fff!important;border-radius:9px!important;padding:7px 10px!important;text-align:center!important;font-size:13px!important;font-weight:850!important;}
body.woocommerce-shop ul.products,
body.post-type-archive-product ul.products{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;}
body.woocommerce-shop ul.products li.product,
body.post-type-archive-product ul.products li.product{min-height:285px!important;padding:10px!important;}
body.woocommerce-shop ul.products li.product img,
body.post-type-archive-product ul.products li.product img{height:118px!important;max-height:118px!important;}
.it321-product-sales-section{grid-column:1/-1;margin:28px 0 10px;padding:28px;border:1px solid #e5e7eb;border-radius:22px;background:#f8fafc;}
.it321-product-sales-section h2{font-size:clamp(26px,3vw,38px);margin:0 0 14px;}
.it321-product-feature-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:24px;align-items:start;}
.it321-check-list{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:8px;}
.it321-check-list li:before{content:'✓';font-weight:900;color:#16a34a;margin-right:8px;}
.it321-product-cta{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:20px;}
@media(max-width:980px){.it321-shop-package-grid{grid-template-columns:1fr!important}.it321-mini-package{grid-template-columns:105px 1fr!important}.it321-mini-image{height:140px!important}.it321-product-feature-grid{grid-template-columns:1fr}}
@media(max-width:560px){.it321-shop-packages-head{display:block}.it321-mini-package{grid-template-columns:1fr!important}.it321-mini-image{height:150px!important}}

/* 321-IT REAL compact shop layout - v1.4
   Fixes /shop/ when it is a normal WordPress page and prevents giant stacked package cards. */
.it321-clean-shop{
  max-width:1180px!important;
  width:100%!important;
  margin:0 auto!important;
  padding:36px 22px 70px!important;
}
.it321-clean-shop .content,
.it321-clean-shop article,
.it321-clean-shop .entry-content{
  max-width:none!important;
  width:100%!important;
}
.it321-clean-shop-hero{
  background:#f8fafc!important;
  border:1px solid #e5e7eb!important;
  border-radius:20px!important;
  padding:24px!important;
  margin:0 0 24px!important;
}
.it321-clean-shop-hero h1{
  font-size:clamp(30px,3.5vw,46px)!important;
  line-height:1.08!important;
  margin:6px 0 10px!important;
}
.it321-clean-shop-hero p:last-child{
  max-width:850px!important;
  font-size:17px!important;
  line-height:1.55!important;
  margin:0!important;
  color:#334155!important;
}
.it321-clean-shop .it321-shop-packages,
body.page-template-page-shop .it321-shop-packages,
body.page-id .it321-shop-packages{
  width:100%!important;
  max-width:1180px!important;
  margin:0 0 28px!important;
  padding:18px!important;
  display:block!important;
}
.it321-clean-shop .it321-shop-package-grid,
body.page-template-page-shop .it321-shop-package-grid,
body.page-id .it321-shop-package-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  width:100%!important;
}
.it321-clean-shop .it321-mini-package,
body.page-template-page-shop .it321-mini-package,
body.page-id .it321-mini-package{
  display:grid!important;
  grid-template-columns:110px minmax(0,1fr)!important;
  gap:12px!important;
  padding:10px!important;
  min-height:168px!important;
  max-height:190px!important;
  overflow:hidden!important;
}
.it321-clean-shop .it321-mini-image,
body.page-template-page-shop .it321-mini-image,
body.page-id .it321-mini-image{
  height:145px!important;
  max-height:145px!important;
}
.it321-clean-shop .it321-mini-content h3,
body.page-template-page-shop .it321-mini-content h3,
body.page-id .it321-mini-content h3{
  font-size:16px!important;
  margin:0 0 4px!important;
}
.it321-clean-shop .it321-mini-content p,
body.page-template-page-shop .it321-mini-content p,
body.page-id .it321-mini-content p{
  font-size:13px!important;
  line-height:1.32!important;
  -webkit-line-clamp:2!important;
}
.it321-clean-shop .it321-mini-btn,
body.page-template-page-shop .it321-mini-btn,
body.page-id .it321-mini-btn{
  padding:6px 9px!important;
  font-size:13px!important;
}
.it321-all-products{margin-top:8px!important;}
.it321-section-head{display:flex!important;align-items:end!important;justify-content:space-between!important;gap:16px!important;margin:0 0 14px!important;}
.it321-section-head h2{font-size:28px!important;margin:0!important;line-height:1.1!important;}
.it321-section-head p{margin:0!important;color:#64748b!important;}
.it321-clean-shop ul.products,
body.page-template-page-shop ul.products,
body.woocommerce-shop ul.products,
body.post-type-archive-product ul.products{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
  align-items:stretch!important;
  width:100%!important;
  margin:16px 0 0!important;
  padding:0!important;
}
.it321-clean-shop ul.products li.product,
body.page-template-page-shop ul.products li.product,
body.woocommerce-shop ul.products li.product,
body.post-type-archive-product ul.products li.product{
  width:auto!important;
  float:none!important;
  margin:0!important;
  min-height:285px!important;
  max-width:none!important;
  padding:10px!important;
  border:1px solid #e5e7eb!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 6px 18px rgba(15,23,42,.06)!important;
  display:flex!important;
  flex-direction:column!important;
}
.it321-clean-shop ul.products li.product img,
body.page-template-page-shop ul.products li.product img,
body.woocommerce-shop ul.products li.product img,
body.post-type-archive-product ul.products li.product img{
  width:100%!important;
  height:120px!important;
  max-height:120px!important;
  object-fit:contain!important;
  padding:8px!important;
  background:#f8fafc!important;
  border-radius:10px!important;
  margin:0 0 8px!important;
}
.it321-clean-shop ul.products li.product .woocommerce-loop-product__title,
body.page-template-page-shop ul.products li.product .woocommerce-loop-product__title,
body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title{
  font-size:14px!important;
  line-height:1.25!important;
  min-height:36px!important;
  margin:0 0 6px!important;
  padding:0!important;
  font-weight:800!important;
}
.it321-clean-shop ul.products li.product .price,
body.page-template-page-shop ul.products li.product .price,
body.woocommerce-shop ul.products li.product .price,
body.post-type-archive-product ul.products li.product .price{
  font-size:15px!important;
  margin:auto 0 8px!important;
  line-height:1.2!important;
}
.it321-clean-shop ul.products li.product .button,
body.page-template-page-shop ul.products li.product .button,
body.woocommerce-shop ul.products li.product .button,
body.post-type-archive-product ul.products li.product .button{
  width:100%!important;
  min-height:36px!important;
  padding:9px 10px!important;
  font-size:13px!important;
  border-radius:9px!important;
  margin-top:auto!important;
}
@media(max-width:1050px){
  .it321-clean-shop .it321-shop-package-grid,
  body.page-template-page-shop .it321-shop-package-grid{grid-template-columns:1fr!important;}
  .it321-clean-shop ul.products,
  body.page-template-page-shop ul.products,
  body.woocommerce-shop ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:760px){
  .it321-clean-shop ul.products,
  body.page-template-page-shop ul.products,
  body.woocommerce-shop ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}
  .it321-clean-shop .it321-mini-package,
  body.page-template-page-shop .it321-mini-package{grid-template-columns:95px 1fr!important;max-height:none!important;}
  .it321-clean-shop .it321-mini-image,
  body.page-template-page-shop .it321-mini-image{height:125px!important;}
}
@media(max-width:480px){
  .it321-clean-shop ul.products,
  body.page-template-page-shop ul.products,
  body.woocommerce-shop ul.products{grid-template-columns:1fr!important;}
  .it321-clean-shop .it321-mini-package,
  body.page-template-page-shop .it321-mini-package{grid-template-columns:1fr!important;}
}

/* 321-IT fixed single product pages */
.it321-single-product-page{max-width:1180px!important;margin:0 auto!important;padding-top:34px!important;}
.it321-product-hero{display:grid!important;grid-template-columns:minmax(280px,480px) 1fr!important;gap:38px!important;align-items:start!important;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:24px!important;padding:28px!important;box-shadow:0 14px 34px rgba(15,23,42,.06)!important;}
.it321-product-gallery{background:#f8fafc!important;border-radius:18px!important;border:1px solid #e2e8f0!important;padding:18px!important;display:flex!important;align-items:center!important;justify-content:center!important;min-height:340px!important;}
.it321-product-main-image{width:100%!important;max-height:360px!important;object-fit:contain!important;border-radius:14px!important;}
.it321-product-placeholder{height:280px!important;width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#0b1225!important;color:#fff!important;border-radius:14px!important;font-size:42px!important;font-weight:900!important;}
.it321-product-summary h1{font-size:clamp(34px,5vw,58px)!important;line-height:1.05!important;margin:8px 0 14px!important;color:#0b1225!important;}
.it321-product-pricebox{margin:18px 0!important;padding:18px!important;background:#f8fafc!important;border:1px solid #e2e8f0!important;border-radius:18px!important;}
.it321-price,.it321-price .woocommerce-Price-amount{font-size:34px!important;line-height:1!important;font-weight:950!important;color:#0b1225!important;}
.it321-monthly{margin-top:8px!important;color:#475569!important;font-size:16px!important;}
.it321-hero-checks{grid-template-columns:1fr!important;margin:16px 0!important;}
.it321-cart-wrap form.cart{display:flex!important;gap:10px!important;align-items:center!important;flex-wrap:wrap!important;margin:20px 0!important;}
.it321-cart-wrap .quantity .qty{width:82px!important;padding:12px!important;border:1px solid #cbd5e1!important;border-radius:10px!important;}
.it321-cart-wrap .single_add_to_cart_button{background:#1455d9!important;color:#fff!important;border:0!important;border-radius:12px!important;padding:14px 22px!important;font-weight:900!important;}
.it321-small-note{color:#64748b!important;font-size:14px!important;margin:10px 0!important;}
.it321-product-links{display:flex!important;gap:10px!important;flex-wrap:wrap!important;margin-top:14px!important;}
.it321-product-faq{margin:28px 0!important;padding:28px!important;border:1px solid #e5e7eb!important;border-radius:22px!important;background:#fff!important;}
.it321-product-faq h2{font-size:32px!important;margin:0 0 14px!important;}
.it321-product-faq details{border:1px solid #e2e8f0!important;border-radius:14px!important;padding:14px 16px!important;margin:10px 0!important;background:#f8fafc!important;}
.it321-product-faq summary{cursor:pointer!important;font-weight:900!important;color:#0b1225!important;}
.it321-product-faq p{margin:10px 0 0!important;color:#475569!important;}
@media(max-width:900px){.it321-product-hero{grid-template-columns:1fr!important;padding:18px!important}.it321-product-gallery{min-height:230px!important}.it321-product-summary h1{font-size:34px!important}}

/* 321-IT Option B shop rebuild - v2.0 */
.it321-wc-main{
  max-width:1180px!important;
  width:100%!important;
  margin:0 auto!important;
  padding:44px 22px 70px!important;
}
.it321-shop-hero-clean{
  background:linear-gradient(135deg,#eff6ff,#ffffff)!important;
  border:1px solid #e2e8f0!important;
  border-radius:22px!important;
  padding:28px!important;
  margin:0 0 24px!important;
}
.it321-shop-hero-clean h1{font-size:clamp(32px,4vw,52px)!important;line-height:1.05!important;margin:6px 0 10px!important;}
.it321-shop-hero-clean p:last-child{font-size:17px!important;color:#334155!important;max-width:850px!important;margin:0!important;}
.it321-wc-main .it321-shop-packages{display:block!important;width:100%!important;max-width:none!important;margin:0 0 26px!important;padding:18px!important;background:#f8fafc!important;border:1px solid #e5e7eb!important;border-radius:20px!important;}
.it321-wc-main .it321-shop-packages-head{display:flex!important;justify-content:space-between!important;align-items:end!important;gap:18px!important;margin:0 0 16px!important;}
.it321-wc-main .it321-shop-packages-head h2{font-size:28px!important;margin:0!important;line-height:1.1!important;}
.it321-wc-main .it321-shop-packages-head p{font-size:15px!important;max-width:650px!important;margin:0!important;color:#475569!important;}
.it321-wc-main .it321-shop-package-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;width:100%!important;align-items:stretch!important;}
.it321-wc-main .it321-mini-package{display:grid!important;grid-template-columns:108px minmax(0,1fr)!important;gap:12px!important;min-height:170px!important;max-height:190px!important;padding:10px!important;background:#fff!important;border:1px solid #e2e8f0!important;border-radius:16px!important;box-shadow:0 8px 20px rgba(15,23,42,.06)!important;overflow:hidden!important;}
.it321-wc-main .it321-mini-package.is-popular{border-color:#1455d9!important;box-shadow:0 10px 24px rgba(20,85,217,.14)!important;}
.it321-wc-main .it321-mini-image{height:150px!important;min-height:150px!important;background:#f8fafc!important;border-radius:12px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;}
.it321-wc-main .it321-mini-image img{width:100%!important;height:100%!important;object-fit:contain!important;padding:6px!important;margin:0!important;}
.it321-wc-main .it321-mini-content{display:flex!important;flex-direction:column!important;min-width:0!important;}
.it321-wc-main .it321-mini-badge{display:inline-block!important;width:max-content!important;font-size:12px!important;line-height:1!important;font-weight:900!important;background:#dcfce7!important;color:#166534!important;border-radius:999px!important;padding:5px 9px!important;margin:0 0 6px!important;}
.it321-wc-main .it321-mini-content h3{font-size:17px!important;line-height:1.15!important;margin:0 0 5px!important;}
.it321-wc-main .it321-mini-content h3 a{color:#0b1225!important;text-decoration:none!important;}
.it321-wc-main .it321-mini-content p{font-size:13px!important;line-height:1.3!important;color:#475569!important;margin:0 0 8px!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}
.it321-wc-main .it321-mini-bottom{margin-top:auto!important;display:grid!important;gap:2px!important;}
.it321-wc-main .it321-mini-bottom strong,.it321-wc-main .it321-mini-bottom .woocommerce-Price-amount{font-size:16px!important;font-weight:950!important;color:#0b1225!important;}
.it321-wc-main .it321-mini-bottom small{font-size:12px!important;color:#64748b!important;}
.it321-wc-main .it321-mini-btn{display:block!important;text-align:center!important;background:#1455d9!important;color:#fff!important;border-radius:9px!important;padding:7px 10px!important;font-size:13px!important;font-weight:900!important;margin-top:7px!important;}
.it321-other-products-links{margin-top:24px!important;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:20px!important;padding:22px!important;}
.it321-other-products-links h2{font-size:26px!important;line-height:1.1!important;margin:0 0 14px!important;}
.it321-link-cards{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;}
.it321-link-cards a{display:grid!important;gap:4px!important;padding:16px!important;border:1px solid #e2e8f0!important;border-radius:14px!important;background:#f8fafc!important;color:#0b1225!important;}
.it321-link-cards strong{font-size:17px!important;}
.it321-link-cards span{font-size:14px!important;color:#64748b!important;}
body.tax-product_cat .woocommerce-main ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;}
body.tax-product_cat .woocommerce-main ul.products li.product{width:auto!important;float:none!important;margin:0!important;padding:10px!important;border-radius:14px!important;min-height:285px!important;}
body.tax-product_cat .woocommerce-main ul.products li.product img{height:120px!important;object-fit:contain!important;background:#f8fafc!important;border-radius:10px!important;padding:8px!important;}
@media(max-width:1050px){.it321-wc-main .it321-shop-package-grid,.it321-link-cards{grid-template-columns:1fr!important}.it321-wc-main .it321-mini-package{max-height:none!important}.it321-wc-main .it321-mini-image{height:135px!important}.it321-wc-main .it321-shop-packages-head{display:block!important}body.tax-product_cat .woocommerce-main ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:700px){.it321-wc-main .it321-mini-package{grid-template-columns:96px minmax(0,1fr)!important}.it321-wc-main .it321-mini-image{height:125px!important}body.tax-product_cat .woocommerce-main ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:480px){.it321-wc-main .it321-mini-package{grid-template-columns:1fr!important}.it321-wc-main .it321-mini-image{height:150px!important}body.tax-product_cat .woocommerce-main ul.products{grid-template-columns:1fr!important}}

/* 321-IT SHOP HARD FIX v3 - compact Option B */
body.woocommerce-shop .site-main,
body.post-type-archive-product .site-main,
body.page-template-page-shop .site-main{max-width:none!important;width:100%!important;}
.it321-shop-fixed{
  width:min(1180px, calc(100% - 44px))!important;
  max-width:1180px!important;
  margin:0 auto!important;
  padding:38px 0 70px!important;
  display:block!important;
  float:none!important;
  clear:both!important;
}
.it321-shop-fixed *{box-sizing:border-box!important;}
.it321-shop-fixed-hero{
  width:100%!important;
  background:linear-gradient(135deg,#eff6ff,#fff)!important;
  border:1px solid #e2e8f0!important;
  border-radius:22px!important;
  padding:26px!important;
  margin:0 0 22px!important;
}
.it321-shop-fixed-hero h1{font-size:clamp(32px,4vw,50px)!important;line-height:1.05!important;margin:6px 0 10px!important;color:#0b1225!important;}
.it321-shop-fixed-hero p:last-child{font-size:17px!important;max-width:850px!important;margin:0!important;color:#334155!important;}
.it321-shop-fixed .it321-shop-packages,
body.woocommerce-shop .it321-shop-packages,
body.page-template-page-shop .it321-shop-packages{
  display:block!important;width:100%!important;max-width:none!important;margin:0 0 24px!important;padding:18px!important;
  background:#f8fafc!important;border:1px solid #e5e7eb!important;border-radius:20px!important;overflow:visible!important;
}
.it321-shop-fixed .it321-shop-packages-head{display:flex!important;justify-content:space-between!important;gap:16px!important;align-items:end!important;margin:0 0 16px!important;}
.it321-shop-fixed .it321-shop-packages-head h2{font-size:28px!important;line-height:1.1!important;margin:0!important;color:#0b1225!important;}
.it321-shop-fixed .it321-shop-packages-head p{font-size:15px!important;margin:0!important;color:#475569!important;max-width:650px!important;}
.it321-shop-fixed .it321-shop-package-grid,
body.woocommerce-shop .it321-shop-package-grid,
body.page-template-page-shop .it321-shop-package-grid{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;align-items:stretch!important;
}
.it321-shop-fixed .it321-mini-package,
body.woocommerce-shop .it321-mini-package,
body.page-template-page-shop .it321-mini-package{
  display:grid!important;grid-template-columns:112px minmax(0,1fr)!important;gap:12px!important;align-items:stretch!important;
  width:100%!important;max-width:none!important;min-height:170px!important;height:auto!important;margin:0!important;padding:10px!important;
  background:#fff!important;border:1px solid #e2e8f0!important;border-radius:16px!important;box-shadow:0 8px 20px rgba(15,23,42,.06)!important;overflow:hidden!important;float:none!important;
}
.it321-shop-fixed .it321-mini-package.is-popular{border-color:#1455d9!important;box-shadow:0 10px 24px rgba(20,85,217,.14)!important;}
.it321-shop-fixed .it321-mini-image,
body.woocommerce-shop .it321-mini-image{
  display:flex!important;align-items:center!important;justify-content:center!important;width:112px!important;max-width:112px!important;height:148px!important;min-height:148px!important;background:#f8fafc!important;border-radius:12px!important;overflow:hidden!important;margin:0!important;padding:0!important;
}
.it321-shop-fixed .it321-mini-image img,
body.woocommerce-shop .it321-mini-image img{
  width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;padding:6px!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;
}
.it321-shop-fixed .it321-mini-content{display:flex!important;flex-direction:column!important;min-width:0!important;width:100%!important;}
.it321-shop-fixed .it321-mini-badge{display:inline-block!important;width:max-content!important;font-size:12px!important;line-height:1!important;font-weight:900!important;background:#dcfce7!important;color:#166534!important;border-radius:999px!important;padding:5px 9px!important;margin:0 0 6px!important;}
.it321-shop-fixed .it321-mini-content h3{font-size:17px!important;line-height:1.15!important;margin:0 0 5px!important;padding:0!important;color:#0b1225!important;}
.it321-shop-fixed .it321-mini-content h3 a{color:#0b1225!important;text-decoration:none!important;}
.it321-shop-fixed .it321-mini-content p{font-size:13px!important;line-height:1.3!important;color:#475569!important;margin:0 0 8px!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}
.it321-shop-fixed .it321-mini-bottom{margin-top:auto!important;display:grid!important;gap:2px!important;}
.it321-shop-fixed .it321-mini-bottom strong,
.it321-shop-fixed .it321-mini-bottom .woocommerce-Price-amount{font-size:16px!important;font-weight:950!important;color:#0b1225!important;}
.it321-shop-fixed .it321-mini-bottom small{font-size:12px!important;color:#64748b!important;}
.it321-shop-fixed .it321-mini-btn{display:block!important;text-align:center!important;background:#1455d9!important;color:#fff!important;border-radius:9px!important;padding:7px 10px!important;font-size:13px!important;font-weight:900!important;margin-top:7px!important;text-decoration:none!important;}
.it321-shop-fixed .it321-other-products-links{margin-top:24px!important;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:20px!important;padding:22px!important;}
.it321-shop-fixed .it321-other-products-links h2{font-size:26px!important;line-height:1.1!important;margin:0 0 14px!important;}
.it321-shop-fixed .it321-link-cards{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;}
.it321-shop-fixed .it321-link-cards a{display:grid!important;gap:4px!important;padding:16px!important;border:1px solid #e2e8f0!important;border-radius:14px!important;background:#f8fafc!important;color:#0b1225!important;text-decoration:none!important;}
.it321-shop-fixed .it321-link-cards strong{font-size:17px!important;}
.it321-shop-fixed .it321-link-cards span{font-size:14px!important;color:#64748b!important;}
body.woocommerce-shop .webbpaket-shop,
body.woocommerce-shop .woocommerce-products-header,
body.woocommerce-shop .woocommerce-result-count,
body.woocommerce-shop .woocommerce-ordering,
body.woocommerce-shop ul.products{display:none!important;}
@media(max-width:1050px){.it321-shop-fixed .it321-shop-package-grid{grid-template-columns:1fr!important}.it321-shop-fixed .it321-shop-packages-head{display:block!important}.it321-shop-fixed .it321-link-cards{grid-template-columns:1fr!important}}
@media(max-width:560px){.it321-shop-fixed{width:calc(100% - 28px)!important;padding-top:24px!important}.it321-shop-fixed .it321-mini-package{grid-template-columns:1fr!important}.it321-shop-fixed .it321-mini-image{width:100%!important;max-width:none!important;height:155px!important}.it321-shop-fixed-hero{padding:20px!important}}

/* 321-IT category and service product grids */
.it321-shop-fixed,
.it321-category-page,
.it321-service-products-page{
  max-width:1180px!important;
  width:calc(100% - 40px)!important;
  margin:0 auto!important;
  padding:48px 0!important;
}
.it321-shop-fixed-hero{max-width:900px;margin-bottom:28px!important;}
.it321-real-product-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:22px!important;
  align-items:stretch!important;
}
.it321-real-product-card{
  border:1px solid #e5e7eb!important;
  border-radius:16px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:0 10px 30px rgba(15,23,42,.06)!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:100%!important;
}
.it321-real-product-img{display:block!important;background:#f8fafc!important;height:190px!important;overflow:hidden!important;}
.it321-real-product-img img{width:100%!important;height:100%!important;object-fit:contain!important;display:block!important;padding:10px!important;}
.it321-img-placeholder{height:190px;display:flex;align-items:center;justify-content:center;font-weight:800;color:#0f172a;}
.it321-real-product-body{padding:18px!important;display:flex!important;flex-direction:column!important;gap:10px!important;flex:1!important;}
.it321-real-product-body h3{font-size:20px!important;line-height:1.2!important;margin:0!important;}
.it321-real-product-body p{font-size:15px!important;line-height:1.5!important;margin:0!important;color:#475569!important;min-height:46px!important;}
.it321-card-price{font-size:18px!important;font-weight:800!important;color:#0f172a!important;margin-top:auto!important;}
.it321-card-price .amount{font-weight:800!important;}
.it321-mini-btn{display:inline-flex!important;align-items:center;justify-content:center;width:fit-content;background:#1455d9!important;color:#fff!important;border-radius:10px!important;padding:10px 14px!important;text-decoration:none!important;font-weight:700!important;margin-top:4px!important;}
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important;}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;}
@media(max-width:900px){.it321-real-product-grid,.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:620px){.it321-real-product-grid,.woocommerce ul.products{grid-template-columns:1fr!important;}.it321-shop-fixed{width:calc(100% - 24px)!important;padding:32px 0!important;}}

/* Unified service/category cards: match Handla page compact package card design */
.it321-service-products-page .it321-service-card-section,
.it321-category-page .it321-service-card-section{
  margin-top:24px!important;
}
.it321-service-products-page .it321-shop-package-grid,
.it321-category-page .it321-shop-package-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
}
.it321-service-products-page .it321-mini-package,
.it321-category-page .it321-mini-package{
  display:grid!important;
  grid-template-columns:108px minmax(0,1fr)!important;
  gap:12px!important;
  min-height:170px!important;
  max-height:190px!important;
  padding:10px!important;
  background:#fff!important;
  border:1px solid #e2e8f0!important;
  border-radius:16px!important;
  box-shadow:0 8px 20px rgba(15,23,42,.06)!important;
  overflow:hidden!important;
}
.it321-service-products-page .it321-mini-image,
.it321-category-page .it321-mini-image{
  width:108px!important;
  height:150px!important;
  min-height:150px!important;
  background:#f8fafc!important;
  border-radius:12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.it321-service-products-page .it321-mini-image img,
.it321-category-page .it321-mini-image img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  padding:6px!important;
  margin:0!important;
}
.it321-service-products-page .it321-mini-content,
.it321-category-page .it321-mini-content{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
}
.it321-service-products-page .it321-mini-content h3,
.it321-category-page .it321-mini-content h3{
  font-size:17px!important;
  line-height:1.15!important;
  margin:0 0 5px!important;
}
.it321-service-products-page .it321-mini-content p,
.it321-category-page .it321-mini-content p{
  font-size:13px!important;
  line-height:1.3!important;
  margin:0 0 8px!important;
  color:#475569!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.it321-service-products-page .it321-mini-btn,
.it321-category-page .it321-mini-btn{
  width:100%!important;
  margin-top:7px!important;
  padding:7px 10px!important;
  font-size:13px!important;
  border-radius:9px!important;
}
@media(max-width:1050px){
  .it321-service-products-page .it321-shop-package-grid,
  .it321-category-page .it321-shop-package-grid{grid-template-columns:1fr!important;}
  .it321-service-products-page .it321-mini-package,
  .it321-category-page .it321-mini-package{max-height:none!important;}
}
@media(max-width:480px){
  .it321-service-products-page .it321-mini-package,
  .it321-category-page .it321-mini-package{grid-template-columns:1fr!important;}
  .it321-service-products-page .it321-mini-image,
  .it321-category-page .it321-mini-image{width:100%!important;height:150px!important;}
}

/* Contact page built-in form */
.contact-page{max-width:1180px}.contact-hero{display:grid;grid-template-columns:1.4fr .6fr;gap:28px;align-items:stretch;background:linear-gradient(135deg,#eff6ff,#fff);border:1px solid var(--line);border-radius:24px;padding:34px;margin-bottom:28px}.contact-hero h1{font-size:clamp(34px,5vw,54px);line-height:1.05;margin:8px 0 14px}.contact-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.contact-info-card,.contact-form-card,.contact-side-card{border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 10px 25px rgba(15,23,42,.06);padding:24px}.contact-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:28px}.it321-contact-form{display:grid;gap:16px;margin-top:18px}.it321-contact-form label{display:grid;gap:7px;font-weight:750;color:var(--dark)}.it321-contact-form input,.it321-contact-form select,.it321-contact-form textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font:inherit;background:#fff;color:var(--dark)}.it321-contact-form textarea{resize:vertical}.form-row.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.it321-form-success{border:1px solid #86efac;background:#dcfce7;color:#166534;border-radius:14px;padding:14px 16px;font-weight:750;margin:16px 0}.it321-form-error{border:1px solid #fecaca;background:#fee2e2;color:#991b1b;border-radius:14px;padding:14px 16px;font-weight:750;margin:16px 0}.it321-hp{position:absolute;left:-9999px;opacity:0}.small-cta{padding:22px;border-radius:20px;margin-top:22px}.small-cta h3{margin-top:0;color:#fff}@media(max-width:850px){.contact-hero,.contact-grid,.form-row.two{grid-template-columns:1fr}.contact-hero{padding:24px}}

/* 321-IT homepage package size fix - compact cards on Startsida */
body.home main,
body.front-page main{width:100%!important;max-width:none!important;}
body.home .hero,
body.front-page .hero{padding:70px 0 50px!important;}
body.home .it321-home-packages-wrap,
body.front-page .it321-home-packages-wrap{width:min(1180px, calc(100% - 44px))!important;margin:0 auto 36px!important;display:block!important;}
body.home .it321-home-packages-wrap .it321-shop-packages,
body.front-page .it321-home-packages-wrap .it321-shop-packages{margin:0!important;padding:18px!important;max-width:none!important;width:100%!important;}
body.home .it321-home-packages-wrap .it321-shop-package-grid,
body.front-page .it321-home-packages-wrap .it321-shop-package-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;align-items:stretch!important;}
body.home .it321-home-packages-wrap .it321-mini-package,
body.front-page .it321-home-packages-wrap .it321-mini-package{display:grid!important;grid-template-columns:112px minmax(0,1fr)!important;gap:12px!important;min-height:170px!important;max-height:190px!important;padding:10px!important;border-radius:16px!important;overflow:hidden!important;}
body.home .it321-home-packages-wrap .it321-mini-image,
body.front-page .it321-home-packages-wrap .it321-mini-image{width:112px!important;height:150px!important;min-height:150px!important;max-height:150px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#f8fafc!important;border-radius:12px!important;overflow:hidden!important;}
body.home .it321-home-packages-wrap .it321-mini-image img,
body.front-page .it321-home-packages-wrap .it321-mini-image img{width:100%!important;height:100%!important;object-fit:contain!important;padding:6px!important;margin:0!important;}
body.home .it321-home-packages-wrap .it321-mini-content h3,
body.front-page .it321-home-packages-wrap .it321-mini-content h3{font-size:17px!important;line-height:1.15!important;margin:0 0 5px!important;}
body.home .it321-home-packages-wrap .it321-mini-content p,
body.front-page .it321-home-packages-wrap .it321-mini-content p{font-size:13px!important;line-height:1.3!important;margin:0 0 8px!important;color:#475569!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}
body.home .it321-home-packages-wrap .it321-mini-btn,
body.front-page .it321-home-packages-wrap .it321-mini-btn{width:100%!important;padding:7px 10px!important;font-size:13px!important;border-radius:9px!important;}
@media(max-width:1050px){body.home .it321-home-packages-wrap .it321-shop-package-grid,body.front-page .it321-home-packages-wrap .it321-shop-package-grid{grid-template-columns:1fr!important;}body.home .it321-home-packages-wrap .it321-shop-packages-head,body.front-page .it321-home-packages-wrap .it321-shop-packages-head{display:block!important;}}
@media(max-width:560px){body.home .it321-home-packages-wrap,body.front-page .it321-home-packages-wrap{width:calc(100% - 28px)!important;}body.home .it321-home-packages-wrap .it321-mini-package,body.front-page .it321-home-packages-wrap .it321-mini-package{grid-template-columns:1fr!important;max-height:none!important;}body.home .it321-home-packages-wrap .it321-mini-image,body.front-page .it321-home-packages-wrap .it321-mini-image{width:100%!important;height:155px!important;}}

/* 321-IT homepage package centering fix - keep three cards compact and centered */
body.home .it321-home-packages-wrap,
body.front-page .it321-home-packages-wrap,
body.page-template-front-page .it321-home-packages-wrap,
body .it321-home-packages-wrap{
  width:min(1080px, calc(100% - 44px))!important;
  max-width:1080px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.home .it321-home-packages-wrap .it321-shop-packages,
body.front-page .it321-home-packages-wrap .it321-shop-packages,
body.page-template-front-page .it321-home-packages-wrap .it321-shop-packages,
body .it321-home-packages-wrap .it321-shop-packages{
  width:100%!important;
  max-width:1080px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.home .it321-home-packages-wrap .it321-shop-package-grid,
body.front-page .it321-home-packages-wrap .it321-shop-package-grid,
body.page-template-front-page .it321-home-packages-wrap .it321-shop-package-grid,
body .it321-home-packages-wrap .it321-shop-package-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr))!important;
  gap:14px!important;
}
body.home .it321-home-packages-wrap .it321-mini-package,
body.front-page .it321-home-packages-wrap .it321-mini-package,
body.page-template-front-page .it321-home-packages-wrap .it321-mini-package,
body .it321-home-packages-wrap .it321-mini-package{
  max-width:100%!important;
  min-height:160px!important;
  max-height:180px!important;
  grid-template-columns:96px minmax(0,1fr)!important;
}
body.home .it321-home-packages-wrap .it321-mini-image,
body.front-page .it321-home-packages-wrap .it321-mini-image,
body.page-template-front-page .it321-home-packages-wrap .it321-mini-image,
body .it321-home-packages-wrap .it321-mini-image{
  width:96px!important;
  height:132px!important;
  min-height:132px!important;
  max-height:132px!important;
}
@media(max-width:1050px){
  body .it321-home-packages-wrap{max-width:720px!important;}
  body .it321-home-packages-wrap .it321-shop-package-grid{grid-template-columns:1fr!important;}
  body .it321-home-packages-wrap .it321-mini-package{max-height:none!important;}
}
@media(max-width:560px){
  body .it321-home-packages-wrap{width:calc(100% - 28px)!important;}
  body .it321-home-packages-wrap .it321-mini-package{grid-template-columns:1fr!important;}
  body .it321-home-packages-wrap .it321-mini-image{width:100%!important;height:150px!important;max-height:150px!important;}
}

/* 321-IT homepage v2: centered conversion layout */
body.home main, body.front-page main{width:100%!important;max-width:none!important;overflow-x:hidden!important;}
.it321-front-container{width:min(1120px, calc(100% - 44px));margin-left:auto!important;margin-right:auto!important;}
.it321-front-hero{text-align:center;padding:56px 0 28px;background:#fff;}
.it321-front-hero h1{font-size:clamp(34px,5vw,56px);line-height:1.05;margin:0 auto 18px;color:#0b1225;max-width:930px;letter-spacing:-.035em;}
.it321-front-lead{font-size:clamp(17px,2vw,21px);line-height:1.55;color:#334155;max-width:760px;margin:0 auto 20px;}
.it321-front-points{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;margin:18px 0 24px;font-weight:800;color:#0b1225;}
.it321-front-points span{display:inline-flex;align-items:center;gap:8px;}
.it321-front-points span::first-letter{color:#1455d9;}
.it321-front-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;}
.it321-front-help{padding:26px 0 44px;background:#fff;}
.it321-front-help h2{text-align:left;font-size:clamp(28px,3vw,40px);line-height:1.1;margin:0 0 14px;color:#0b1225;}
.it321-front-help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.it321-front-help-grid article{background:#fff;border:1px solid #e2e8f0;border-radius:22px;padding:26px;box-shadow:0 14px 32px rgba(15,23,42,.06);min-height:190px;}
.it321-front-help-grid h3{margin:0 0 16px;font-size:20px;color:#0b1225;}
.it321-front-help-grid p{color:#334155;line-height:1.55;margin:0 0 16px;}
.it321-front-help-grid a{font-weight:800;text-decoration:none;color:#1455d9;}
.it321-front-packages{padding:6px 0 26px;background:#fff;text-align:center;}
.it321-front-section-head{margin:0 auto 18px;max-width:760px;}
.it321-front-section-head h2{font-size:clamp(28px,3vw,34px);margin:0 0 8px;color:#0b1225;}
.it321-front-section-head p{font-size:16px;color:#475569;margin:0;}
.it321-front-package-grid{display:grid!important;grid-template-columns:repeat(3, minmax(0, 1fr))!important;gap:24px!important;align-items:stretch!important;width:100%!important;margin:0 auto!important;}
.it321-front-package{position:relative;text-align:left;background:#fff;border:1px solid #e2e8f0;border-top:4px solid #a16207;border-radius:16px;padding:22px;box-shadow:0 18px 40px rgba(15,23,42,.08);min-height:420px;display:flex;flex-direction:column;}
.it321-front-package.silver{border-top-color:#64748b;}
.it321-front-package.guld{border-top-color:#d09100;}
.it321-front-badge{display:inline-block;align-self:flex-start;background:#d1fae5;color:#166534;font-weight:900;border-radius:999px;padding:5px 13px;font-size:13px;margin-bottom:12px;}
.it321-front-package-top{display:grid;grid-template-columns:132px minmax(0,1fr);gap:18px;align-items:start;margin-bottom:18px;}
.it321-front-package-top img{width:132px;height:132px;object-fit:contain;background:#f8fafc;border:1px solid #edf2f7;border-radius:12px;padding:6px;}
.it321-front-package h3{font-size:20px;line-height:1.2;margin:2px 0 8px;color:#0b1225;}
.it321-front-package p{font-size:14px;line-height:1.45;color:#334155;margin:0 0 14px;}
.it321-front-package strong{display:block;font-size:24px;color:#0b1225;line-height:1.1;margin:0 0 4px;}
.it321-front-package small{display:block;color:#64748b;font-size:13px;}
.it321-front-package ul{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:10px;}
.it321-front-package li{font-size:14px;color:#0f172a;line-height:1.35;position:relative;padding-left:26px;}
.it321-front-package li:before{content:'✓';position:absolute;left:0;top:0;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;background:#dcfce7;color:#16a34a;border-radius:50%;font-weight:900;font-size:12px;}
.it321-front-package .btn{align-self:flex-start;margin-top:auto;padding:10px 18px;border-radius:9px;font-size:14px;}
.it321-front-compare{margin:16px 0 0;text-align:center;}
.it321-front-compare a{font-weight:800;color:#1455d9;text-decoration:none;}
.it321-front-cta{padding:16px 0 58px;background:#fff;}
.it321-front-cta-box{background:#081225;color:#fff;border-radius:22px;padding:36px 40px;display:grid;grid-template-columns:1.25fr .75fr;gap:26px;align-items:end;box-shadow:0 18px 38px rgba(15,23,42,.16);}
.it321-front-cta-box h2{color:#fff;font-size:clamp(26px,3vw,36px);line-height:1.1;margin:0 0 12px;}
.it321-front-cta-box p{margin:0 0 22px;color:#e2e8f0;}
.it321-front-cta-icons{display:flex;justify-content:flex-end;gap:24px;flex-wrap:wrap;color:#e2e8f0;font-weight:700;font-size:14px;}
@media(max-width:1050px){.it321-front-help-grid,.it321-front-package-grid{grid-template-columns:1fr!important;max-width:720px;margin-left:auto!important;margin-right:auto!important}.it321-front-cta-box{grid-template-columns:1fr}.it321-front-cta-icons{justify-content:flex-start}.it321-front-help h2{text-align:center}}
@media(max-width:600px){.it321-front-container{width:calc(100% - 28px)}.it321-front-hero{padding-top:34px}.it321-front-package-top{grid-template-columns:1fr}.it321-front-package-top img{width:100%;height:150px}.it321-front-cta-box{padding:26px 20px}.it321-front-points{gap:12px;justify-content:flex-start;text-align:left}.it321-front-actions{justify-content:flex-start}}

/* 321-IT fix: keep buttons aligned/visible on service product cards with longer titles */
.it321-service-products-page .it321-mini-package,
.it321-category-page .it321-mini-package{
  min-height:190px!important;
  max-height:none!important;
  height:100%!important;
  align-items:stretch!important;
}
.it321-service-products-page .it321-mini-content,
.it321-category-page .it321-mini-content{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  min-height:170px!important;
}
.it321-service-products-page .it321-mini-content h3,
.it321-category-page .it321-mini-content h3{
  display:-webkit-box!important;
  -webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.it321-service-products-page .it321-mini-bottom,
.it321-category-page .it321-mini-bottom{
  margin-top:auto!important;
  padding-top:6px!important;
}
.it321-service-products-page .it321-mini-btn,
.it321-category-page .it321-mini-btn{
  margin-top:8px!important;
  flex-shrink:0!important;
}

/* 321-IT fix: keep Webbdesign page product buttons and monthly text inside compact cards */
.webbdesign-page .it321-home-packages-wrap{
  width:100%!important;
  max-width:760px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.webbdesign-page .it321-home-packages-wrap .it321-shop-packages{
  width:100%!important;
  max-width:760px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  overflow:visible!important;
}
.webbdesign-page .it321-home-packages-wrap .it321-shop-package-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
}
.webbdesign-page .it321-home-packages-wrap .it321-mini-package{
  display:grid!important;
  grid-template-columns:96px minmax(0,1fr)!important;
  gap:10px!important;
  min-height:205px!important;
  max-height:none!important;
  height:100%!important;
  overflow:hidden!important;
  padding:10px!important;
  align-items:stretch!important;
}
.webbdesign-page .it321-home-packages-wrap .it321-mini-image{
  width:96px!important;
  height:142px!important;
  min-height:142px!important;
  max-height:142px!important;
  flex-shrink:0!important;
}
.webbdesign-page .it321-home-packages-wrap .it321-mini-content{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  height:100%!important;
  overflow:hidden!important;
}
.webbdesign-page .it321-home-packages-wrap .it321-mini-content h3{
  font-size:16px!important;
  line-height:1.15!important;
  margin:0 0 4px!important;
}
.webbdesign-page .it321-home-packages-wrap .it321-mini-content p{
  font-size:12.5px!important;
  line-height:1.25!important;
  margin:0 0 6px!important;
  -webkit-line-clamp:2!important;
}
.webbdesign-page .it321-home-packages-wrap .it321-mini-bottom{
  margin-top:auto!important;
  padding-top:4px!important;
  overflow:hidden!important;
}
.webbdesign-page .it321-home-packages-wrap .it321-mini-bottom strong,
.webbdesign-page .it321-home-packages-wrap .it321-mini-bottom .woocommerce-Price-amount{
  font-size:15px!important;
  line-height:1.1!important;
}
.webbdesign-page .it321-home-packages-wrap .it321-mini-bottom small{
  display:block!important;
  font-size:11.5px!important;
  line-height:1.2!important;
  white-space:normal!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.webbdesign-page .it321-home-packages-wrap .it321-mini-btn{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  margin-top:7px!important;
  padding:7px 10px!important;
  border-radius:9px!important;
  font-size:12.5px!important;
  line-height:1.15!important;
  flex-shrink:0!important;
}
@media(max-width:900px){
  .webbdesign-page .it321-home-packages-wrap{max-width:720px!important;}
  .webbdesign-page .it321-home-packages-wrap .it321-shop-package-grid{grid-template-columns:1fr!important;}
  .webbdesign-page .it321-home-packages-wrap .it321-mini-package{grid-template-columns:110px minmax(0,1fr)!important;min-height:180px!important;}
  .webbdesign-page .it321-home-packages-wrap .it321-mini-image{width:110px!important;height:145px!important;max-height:145px!important;}
}
@media(max-width:560px){
  .webbdesign-page .it321-home-packages-wrap .it321-mini-package{grid-template-columns:1fr!important;}
  .webbdesign-page .it321-home-packages-wrap .it321-mini-image{width:100%!important;height:155px!important;max-height:155px!important;}
}


/* 321-IT SEO Care Packs */
.it321-seo-page .shop-hero,
.it321-seo-services-page .shop-hero{background:#f8fafc;border:1px solid #e2e8f0;border-radius:22px;padding:34px;margin-bottom:26px;}
.it321-seo-page .kicker,
.it321-seo-services-page .kicker{font-weight:900;letter-spacing:.08em;color:#1455d9;margin:0 0 10px;text-transform:uppercase;}
.it321-seo-page .shop-hero h1,
.it321-seo-services-page .shop-hero h1{font-size:clamp(34px,4vw,52px);line-height:1.05;margin:0 0 14px;color:#0b1225;}
.it321-seo-page .shop-hero .lead,
.it321-seo-services-page .shop-hero .lead{font-size:18px;line-height:1.55;max-width:880px;color:#334155;}
.it321-seo-care-cards{max-width:1060px!important;margin-left:auto!important;margin-right:auto!important;}
.it321-seo-care-cards .it321-shop-package-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.it321-seo-mini-package{min-height:200px!important;max-height:none!important;height:100%!important;}
.it321-seo-mini-package .it321-mini-content{display:flex!important;flex-direction:column!important;height:100%!important;}
.it321-seo-mini-package .it321-mini-bottom{margin-top:auto!important;}
.it321-seo-mini-package .it321-mini-btn{margin-top:8px!important;}
.it321-seo-services-page h2,.it321-seo-services-page h3{color:#0b1225;}
.it321-seo-services-page p{line-height:1.7;color:#334155;}
@media(max-width:980px){.it321-seo-care-cards .it321-shop-package-grid{grid-template-columns:1fr!important}.it321-seo-page .shop-hero,.it321-seo-services-page .shop-hero{padding:24px}}

/* 321-IT mobile friendly menu */
.it321-mobile-menu-toggle{
  display:none;
  width:44px;
  height:44px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  cursor:pointer;
  padding:0;
}
.it321-mobile-menu-toggle span{
  display:block;
  width:22px;
  height:2px;
  background:var(--dark);
  border-radius:999px;
  transition:transform .2s ease, opacity .2s ease;
}
.it321-main-navigation{display:flex;align-items:center;gap:22px;}
.it321-mobile-quote{display:none!important;}
body.it321-menu-open{overflow:hidden;}
@media(max-width:980px){
  .topbar .container{display:flex!important;align-items:center;justify-content:center;text-align:center;gap:6px;flex-direction:column;padding-top:7px;padding-bottom:7px;font-size:13px;}
  .site-header{z-index:9999;}
  .nav{padding:12px 22px!important;min-height:68px;position:relative;}
  .brand{font-size:25px;}
  .it321-mobile-menu-toggle{display:flex;order:3;margin-left:10px;}
  .it321-desktop-quote{display:none!important;}
  .it321-main-navigation{
    position:fixed;
    left:0;
    right:0;
    top:0;
    transform:translateY(-110%);
    transition:transform .22s ease;
    background:#fff;
    border-bottom:1px solid var(--line);
    box-shadow:0 24px 70px rgba(15,23,42,.22);
    padding:88px 22px 24px;
    z-index:9998;
    display:block;
    max-height:100vh;
    overflow:auto;
  }
  body.it321-menu-open .it321-main-navigation{transform:translateY(0);}
  body.it321-menu-open .it321-mobile-menu-toggle{position:relative;z-index:10000;}
  body.it321-menu-open .it321-mobile-menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  body.it321-menu-open .it321-mobile-menu-toggle span:nth-child(2){opacity:0;}
  body.it321-menu-open .it321-mobile-menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .it321-main-navigation .menu{
    display:grid!important;
    grid-template-columns:1fr;
    gap:0!important;
    width:100%;
    margin:0!important;
    padding:0!important;
    list-style:none;
  }
  .it321-main-navigation .menu li{border-bottom:1px solid #eef2f7;}
  .it321-main-navigation .menu a{
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    width:100%;
    padding:15px 4px!important;
    font-size:18px;
    font-weight:800;
    color:var(--dark)!important;
  }
  .it321-main-navigation .menu a:after{content:'›';color:var(--muted);font-size:22px;line-height:1;}
  .it321-mobile-quote{
    display:flex!important;
    width:100%;
    justify-content:center;
    margin-top:18px;
    padding:14px 18px!important;
    font-size:17px;
  }
}
@media(min-width:981px){
  .it321-main-navigation .menu{display:flex;align-items:center;gap:22px;}
}


/* 321-IT header CTA cleanup: remove duplicate/extra blue quote buttons from header */
.site-header .it321-mobile-quote,
.site-header .it321-desktop-quote,
.site-header .header-cta,
.site-header .menu-cta,
.site-header .nav-cta {
  display: none !important;
}
@media(max-width:980px){
  .it321-mobile-quote{display:none!important;}
}


/* 321-IT logo update - replace text branding with image logo */
.brand.brand-logo{
  display:flex!important;
  align-items:center;
  gap:0;
  line-height:1;
  text-decoration:none!important;
  min-width:150px;
}
.brand.brand-logo img,
.brand.brand-logo .custom-logo,
.it321-header-logo{
  display:block;
  width:auto;
  height:54px;
  max-width:210px;
  object-fit:contain;
}
@media(max-width:980px){
  .brand.brand-logo{min-width:132px;}
  .brand.brand-logo img,
  .brand.brand-logo .custom-logo,
  .it321-header-logo{height:44px;max-width:172px;}
}
@media(max-width:420px){
  .brand.brand-logo img,
  .brand.brand-logo .custom-logo,
  .it321-header-logo{height:38px;max-width:150px;}
}

/* =========================================================
   321-IT Enterprise Redesign v2
   More professional B2B IT/support visual system
   ========================================================= */
:root{
  --it321-navy:#071227;
  --it321-navy-2:#0d1b33;
  --it321-blue:#1557e8;
  --it321-blue-2:#0ea5e9;
  --it321-cyan:#67e8f9;
  --it321-bg:#f5f8fc;
  --it321-card:#ffffff;
  --it321-text:#071227;
  --it321-muted:#536176;
  --it321-border:#dbe5f0;
  --it321-shadow:0 22px 60px rgba(7,18,39,.10);
  --it321-shadow-soft:0 14px 35px rgba(7,18,39,.07);
}
html{scroll-behavior:smooth}
body{background:linear-gradient(180deg,#fff 0%,#f8fbff 55%,#fff 100%);color:var(--it321-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(circle at 18% 8%,rgba(21,87,232,.10),transparent 28%),radial-gradient(circle at 92% 22%,rgba(14,165,233,.10),transparent 25%)}
.container,.it321-front-container{max-width:1180px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px}.it321-front-container{width:100%}
.topbar{background:linear-gradient(90deg,var(--it321-navy),#0b1f3d);border-bottom:1px solid rgba(255,255,255,.08);font-size:14px;letter-spacing:.01em}.topbar .container{padding-top:10px;padding-bottom:10px}.topbar a{color:#7dd3fc;font-weight:700}.topbar span:first-child{color:#e8f2ff;font-weight:650}.site-header{top:0;background:rgba(255,255,255,.92)!important;backdrop-filter:blur(18px);box-shadow:0 6px 24px rgba(7,18,39,.05);border-bottom:1px solid rgba(219,229,240,.85);z-index:999}.nav{min-height:88px;gap:26px}.brand,.brand-logo{display:flex;align-items:center;min-width:150px}.custom-logo,.it321-header-logo{max-height:58px!important;width:auto!important;display:block}.menu{gap:8px;align-items:center}.menu a{display:inline-flex;align-items:center;padding:10px 13px;border-radius:999px;color:#0b1629!important;font-size:15px;font-weight:800;letter-spacing:-.01em;transition:background .2s ease,color .2s ease,transform .2s ease}.menu a:hover,.menu .current-menu-item>a{background:#edf5ff;color:var(--it321-blue)!important;transform:translateY(-1px)}.btn,.wp-block-button__link,.it321-mini-btn{background:linear-gradient(135deg,var(--it321-blue),#0b63f6)!important;color:#fff!important;border:0;border-radius:14px;padding:13px 20px;font-weight:900;letter-spacing:-.01em;box-shadow:0 12px 26px rgba(21,87,232,.22);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.btn:hover,.wp-block-button__link:hover,.it321-mini-btn:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(21,87,232,.30);filter:saturate(1.05)}.btn.secondary{background:#fff!important;color:var(--it321-blue)!important;border:1px solid #bfd6ff;box-shadow:0 10px 28px rgba(7,18,39,.07)}
.it321-eyebrow,.kicker{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:950;color:var(--it321-blue);margin-bottom:14px}.it321-eyebrow:before{content:"";width:9px;height:9px;border-radius:50%;background:linear-gradient(135deg,var(--it321-blue),var(--it321-cyan));box-shadow:0 0 0 5px rgba(21,87,232,.10)}.it321-eyebrow.light{color:#93c5fd}.it321-eyebrow.light:before{background:#60a5fa}
.it321-enterprise-hero{position:relative;overflow:hidden;padding:86px 0 78px;background:linear-gradient(180deg,#fff 0%,#f5f9ff 100%);border-bottom:1px solid var(--it321-border)}.it321-enterprise-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(21,87,232,.08),transparent 40%),radial-gradient(circle at 75% 20%,rgba(14,165,233,.12),transparent 34%);pointer-events:none}.it321-enterprise-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.78fr);gap:48px;align-items:center}.it321-enterprise-copy h1{font-size:clamp(44px,6vw,78px);line-height:.98;letter-spacing:-.065em;margin:0 0 24px;color:#08152b;max-width:820px}.it321-front-lead{font-size:clamp(18px,2vw,22px);line-height:1.6;color:#34445c;max-width:720px;margin:0 0 26px}.it321-front-points{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 30px}.it321-front-points span{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid #dce8f8;border-radius:999px;padding:9px 13px;font-size:14px;font-weight:850;color:#10213d;box-shadow:0 6px 20px rgba(7,18,39,.05)}.it321-front-points span:before{content:"✓";display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#dcfce7;color:#15803d;font-size:13px}.it321-front-actions{display:flex;flex-wrap:wrap;gap:14px}.it321-enterprise-panel{position:relative;min-height:460px;border-radius:34px;padding:28px;background:linear-gradient(145deg,#061226,#102a52);box-shadow:0 30px 90px rgba(7,18,39,.25);overflow:hidden;color:#fff}.it321-enterprise-panel:before{content:"";position:absolute;inset:-1px;background:radial-gradient(circle at 28% 18%,rgba(31,138,255,.50),transparent 28%),radial-gradient(circle at 92% 8%,rgba(103,232,249,.28),transparent 23%),linear-gradient(90deg,transparent,rgba(255,255,255,.06));pointer-events:none}.it321-panel-top,.it321-panel-grid{position:relative}.it321-panel-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.14)}.it321-panel-top span{font-size:26px;font-weight:950}.it321-panel-top strong{font-size:13px;color:#bfdbfe;text-transform:uppercase;letter-spacing:.1em}.it321-panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}.it321-panel-grid a{min-height:150px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);border-radius:22px;padding:18px;color:#fff!important;display:flex;flex-direction:column;justify-content:flex-end;backdrop-filter:blur(10px);transition:transform .2s ease,background .2s ease}.it321-panel-grid a:hover{transform:translateY(-4px);background:rgba(255,255,255,.13)}.it321-panel-grid b{font-size:20px;line-height:1.15}.it321-panel-grid small{display:block;color:#cfe1ff;margin-top:8px;line-height:1.35}.it321-trust-strip{background:#fff;border-bottom:1px solid var(--it321-border);padding:22px 0}.it321-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.it321-trust-grid div{display:flex;flex-direction:column;gap:2px;border-left:3px solid #dbeafe;padding-left:14px}.it321-trust-grid strong{font-weight:950;color:#0b1629}.it321-trust-grid span{font-size:14px;color:var(--it321-muted)}
.it321-front-help,.it321-front-packages,.it321-process-section{padding:76px 0}.it321-front-section-head{margin-bottom:30px}.it321-front-section-head.centered{text-align:center;max-width:790px;margin-left:auto;margin-right:auto}.it321-front-section-head h2,.section h2{font-size:clamp(32px,4.4vw,52px);line-height:1.04;letter-spacing:-.045em;color:#08152b;margin:0 0 14px}.it321-front-section-head p{color:#475569;font-size:17px;margin:0}.it321-front-help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.it321-front-help-grid article,.card,.price,.post-card,.faq-item{border:1px solid rgba(219,229,240,.95);border-radius:26px;padding:28px;background:rgba(255,255,255,.86);box-shadow:var(--it321-shadow-soft);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.it321-front-help-grid article:hover,.card:hover,.post-card:hover{transform:translateY(-5px);box-shadow:var(--it321-shadow);border-color:#bfd7ff}.it321-card-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#eaf3ff,#fff);border:1px solid #d8e8ff;color:var(--it321-blue);font-weight:950;margin-bottom:20px}.it321-front-help-grid h3{font-size:23px;line-height:1.15;margin:0 0 12px}.it321-front-help-grid p{color:#475569;margin:0 0 22px}.it321-front-help-grid a{font-weight:900}
.it321-front-packages{background:linear-gradient(180deg,#f8fbff,#fff)}.it321-front-package-grid{max-width:1020px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}.it321-front-package{position:relative;display:flex;flex-direction:column;border-radius:26px;border:1px solid var(--it321-border);background:#fff;padding:24px;box-shadow:var(--it321-shadow-soft);overflow:hidden;min-height:100%}.it321-front-package:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#a16207,#f59e0b)}.it321-front-package.silver:before{background:linear-gradient(90deg,#64748b,#cbd5e1)}.it321-front-package.guld:before{background:linear-gradient(90deg,#ca8a04,#facc15)}.it321-front-package.silver{transform:translateY(-10px);border-color:var(--it321-blue);box-shadow:0 22px 60px rgba(21,87,232,.13)}.it321-front-badge,.it321-mini-badge{align-self:flex-start;background:#d9fce8;color:#166534;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:950;margin-bottom:18px}.it321-front-package-top{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:start}.it321-front-package-top img{width:120px;height:120px;object-fit:contain;background:#f8fafc;border:1px solid #e6eef8;border-radius:16px;padding:8px}.it321-front-package h3{font-size:21px;line-height:1.1;margin:0 0 8px}.it321-front-package p{font-size:14px;color:#475569;margin:0 0 10px;line-height:1.45}.it321-front-package strong{display:block;font-size:25px;line-height:1.1;margin-top:6px}.it321-front-package small{display:block;color:#64748b;font-size:13px;margin-top:4px}.it321-front-package ul{list-style:none;padding:0;margin:22px 0 24px;display:grid;gap:10px}.it321-front-package li{display:flex;gap:9px;align-items:flex-start;color:#26364f;font-size:14px}.it321-front-package li:before{content:"✓";display:grid;place-items:center;flex:0 0 auto;width:20px;height:20px;border-radius:50%;background:#dcfce7;color:#15803d;font-size:12px;font-weight:950}.it321-front-package .btn{margin-top:auto;align-self:flex-start;padding:11px 18px}.it321-front-compare{text-align:center;margin:22px 0 0}.it321-front-compare a{font-weight:900}.it321-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.it321-process-grid article{padding:24px;border-radius:24px;background:#fff;border:1px solid var(--it321-border);box-shadow:var(--it321-shadow-soft)}.it321-process-grid b{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:#edf5ff;color:var(--it321-blue);font-weight:950;margin-bottom:18px}.it321-process-grid h3{margin:0 0 8px;font-size:20px}.it321-process-grid p{margin:0;color:#526175}.it321-front-cta{padding:70px 0 86px}.it321-front-cta-box{position:relative;display:grid;grid-template-columns:1.3fr .9fr;gap:28px;align-items:center;background:linear-gradient(135deg,#061226,#102a52);border-radius:34px;padding:46px;color:#fff;box-shadow:0 28px 80px rgba(7,18,39,.22);overflow:hidden}.it321-front-cta-box:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 25%,rgba(21,87,232,.35),transparent 32%);pointer-events:none}.it321-front-cta-box>*{position:relative}.it321-front-cta-box h2{font-size:clamp(30px,4vw,46px);line-height:1.08;letter-spacing:-.04em;margin:0 0 12px;color:#fff}.it321-front-cta-box p{color:#d8e7ff;margin-bottom:22px}.it321-front-cta-icons{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.it321-front-cta-icons span{min-height:96px;border:1px solid rgba(255,255,255,.15);border-radius:20px;background:rgba(255,255,255,.07);display:flex;align-items:flex-end;justify-content:center;text-align:center;padding:16px;font-weight:850;color:#e8f2ff}
.content,.woocommerce-main{max-width:1180px}.content>h1,.shop-hero h1,.woocommerce-products-header__title.page-title{letter-spacing:-.045em}.package-intro,.shop-hero,.faq-page .toc,.it321-shop-packages,.it321-service-hero{background:rgba(255,255,255,.88)!important;border:1px solid var(--it321-border)!important;border-radius:28px!important;box-shadow:var(--it321-shadow-soft)!important}.site-footer{background:linear-gradient(135deg,#071227,#0d1b33);margin-top:70px;padding:56px 0;color:#dbeafe}.site-footer .grid-2{align-items:start}.site-footer h3{color:#fff;margin-top:0}.site-footer p{color:#d8e7ff}.site-footer a{color:#fff;font-weight:750}.footer-logo{display:inline-flex;align-items:center;margin-bottom:18px}.footer-logo img{max-width:170px;height:auto;display:block;filter:drop-shadow(0 10px 28px rgba(0,0,0,.22))}.footer-brand-col h3{display:none}
.it321-shop-packages{max-width:1120px;margin-left:auto!important;margin-right:auto!important;padding:22px!important}.it321-shop-package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.it321-mini-package{display:grid;grid-template-columns:112px 1fr;gap:16px;border:1px solid var(--it321-border);border-radius:18px;background:#fff;padding:14px;box-shadow:0 10px 28px rgba(7,18,39,.06);align-items:stretch;min-width:0}.it321-mini-package.is-popular{border-color:var(--it321-blue)}.it321-mini-image{display:flex;align-items:center;justify-content:center;background:#f8fbff;border-radius:14px;border:1px solid #e6eef8;overflow:hidden}.it321-mini-image img{height:112px!important;width:100%!important;object-fit:contain!important;padding:7px!important}.it321-mini-content{display:flex;flex-direction:column;min-width:0}.it321-mini-content h3{font-size:18px;line-height:1.1;margin:0 0 6px}.it321-mini-content p{font-size:13px;line-height:1.35;color:#475569;margin:0 0 10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.it321-mini-bottom strong{display:block;font-size:18px;line-height:1.1}.it321-mini-bottom small{display:block;color:#64748b;font-size:12px}.it321-mini-btn{margin-top:auto;align-self:flex-start;padding:8px 13px;border-radius:10px;font-size:13px;box-shadow:none!important}
.woocommerce ul.products li.product,.it321-service-card,.it321-product-card{border-radius:22px!important;box-shadow:var(--it321-shadow-soft)!important;border-color:var(--it321-border)!important}.woocommerce ul.products li.product .button{margin-top:auto!important;text-align:center!important}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-weight:950!important;letter-spacing:-.02em}.it321-mobile-menu-toggle{border:1px solid #d9e4f2;background:#fff;border-radius:12px;width:44px;height:42px;display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px}.it321-mobile-menu-toggle span{display:block;width:19px;height:2px;background:#0b1629;border-radius:2px}.site-header .menu-cta,.site-header .mobile-menu-cta,.main-navigation .header-cta{display:none!important}
@media(max-width:1080px){.it321-enterprise-hero-grid{grid-template-columns:1fr}.it321-enterprise-panel{min-height:auto}.it321-trust-grid,.it321-process-grid{grid-template-columns:repeat(2,1fr)}.it321-front-package-grid{grid-template-columns:1fr;max-width:650px}.it321-front-package.silver{transform:none}.it321-front-help-grid{grid-template-columns:1fr}.it321-shop-package-grid{grid-template-columns:1fr}.it321-front-cta-box{grid-template-columns:1fr}.it321-front-cta-icons{grid-template-columns:1fr}}
@media(max-width:980px){.topbar .container{display:flex;flex-direction:column;gap:4px;text-align:center}.nav{min-height:76px}.it321-mobile-menu-toggle{display:flex}.it321-main-navigation{position:fixed;left:16px;right:16px;top:134px;background:#fff;border:1px solid var(--it321-border);border-radius:22px;box-shadow:0 28px 80px rgba(7,18,39,.22);padding:16px;transform:translateY(-10px);opacity:0;visibility:hidden;transition:.2s ease;z-index:1000}.admin-bar .it321-main-navigation{top:166px}.it321-menu-open .it321-main-navigation{opacity:1;visibility:visible;transform:translateY(0)}.it321-main-navigation .menu{display:grid!important;gap:4px}.it321-main-navigation .menu a{padding:13px 14px;border-radius:14px}.custom-logo,.it321-header-logo{max-height:48px!important}}
@media(max-width:760px){.container,.it321-front-container{padding-left:18px;padding-right:18px}.it321-enterprise-hero{padding:58px 0}.it321-enterprise-copy h1{font-size:44px}.it321-panel-grid,.it321-trust-grid{grid-template-columns:1fr}.it321-front-package-top{grid-template-columns:94px 1fr}.it321-front-package-top img{width:94px;height:94px}.it321-front-cta-box{padding:28px;border-radius:26px}.grid-2{grid-template-columns:1fr}.it321-process-grid{grid-template-columns:1fr}.it321-mini-package{grid-template-columns:96px 1fr}.it321-mini-image img{height:96px!important}}


/* 321-IT enterprise header final polish */
.site-header{
  background:#fff!important;
  border-bottom:1px solid #e6edf7!important;
  box-shadow:0 8px 26px rgba(7,18,39,.04)!important;
}
.site-header .nav{
  max-width:1220px!important;
  min-height:86px!important;
  padding:12px 22px!important;
  gap:28px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
}
.site-header .brand-logo,
.site-header .brand{
  flex:0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  min-width:150px!important;
  margin-right:8px!important;
}
.site-header .custom-logo,
.site-header .it321-header-logo{
  max-height:52px!important;
  width:auto!important;
  max-width:170px!important;
  display:block!important;
}
.it321-main-navigation{
  flex:1 1 auto!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.it321-main-navigation .menu{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  flex-wrap:nowrap!important;
  list-style:none!important;
  margin:0!important;
  padding:0!important;
}
.it321-main-navigation .menu li{margin:0!important;padding:0!important;}
.it321-main-navigation .menu a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
  color:#0b1629!important;
  font-size:15px!important;
  line-height:1!important;
  font-weight:750!important;
  padding:13px 12px!important;
  border-radius:999px!important;
  transition:background .18s ease,color .18s ease,transform .18s ease!important;
}
.it321-main-navigation .menu a:hover,
.it321-main-navigation .menu .current-menu-item>a{
  background:#edf5ff!important;
  color:#1557e8!important;
}
.it321-header-actions{
  flex:0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:14px!important;
  margin-left:6px!important;
}
.it321-header-phone{
  display:inline-flex!important;
  align-items:center!important;
  white-space:nowrap!important;
  font-weight:850!important;
  color:#0b1629!important;
  font-size:15px!important;
}
.it321-header-quote{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
  background:#1557e8!important;
  color:#fff!important;
  border-radius:14px!important;
  padding:13px 18px!important;
  font-weight:900!important;
  line-height:1!important;
  box-shadow:0 12px 26px rgba(21,87,232,.22)!important;
}
/* Hide any old CTA/phone items that may still be injected by cached menus */
.it321-main-navigation .menu a[href^="tel:"],
.it321-main-navigation .menu a[href^="mailto:"],
.it321-main-navigation .menu a[href*="offert"]{
  display:none!important;
}
@media(max-width:1180px){
  .site-header .nav{gap:14px!important;}
  .it321-main-navigation .menu a{font-size:14px!important;padding:12px 9px!important;}
  .it321-header-phone{display:none!important;}
}
@media(max-width:980px){
  .site-header .nav{min-height:72px!important;}
  .it321-mobile-menu-toggle{display:flex!important;}
  .it321-main-navigation{
    position:fixed!important;
    left:16px!important;
    right:16px!important;
    top:142px!important;
    display:block!important;
    background:#fff!important;
    border:1px solid #dbe6f4!important;
    border-radius:22px!important;
    box-shadow:0 28px 80px rgba(7,18,39,.22)!important;
    padding:14px!important;
    transform:translateY(-8px)!important;
    opacity:0!important;
    visibility:hidden!important;
    z-index:9999!important;
  }
  .admin-bar .it321-main-navigation{top:174px!important;}
  body.it321-menu-open .it321-main-navigation{
    transform:translateY(0)!important;
    opacity:1!important;
    visibility:visible!important;
  }
  .it321-main-navigation .menu{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:4px!important;
  }
  .it321-main-navigation .menu a{
    width:100%!important;
    justify-content:flex-start!important;
    font-size:16px!important;
    padding:15px 14px!important;
    border-radius:14px!important;
  }
  .it321-header-actions{margin-left:auto!important;}
  .it321-header-quote{padding:12px 14px!important;font-size:14px!important;}
}
@media(max-width:520px){
  .it321-header-quote{display:none!important;}
  .site-header .custom-logo,.site-header .it321-header-logo{max-width:138px!important;max-height:44px!important;}
}


/* 321-IT header action/layout fix - keeps phone and CTA on one line */
@media (min-width:981px){
  .site-header .container.nav{
    max-width:1440px!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    align-items:center!important;
    column-gap:28px!important;
    padding-left:28px!important;
    padding-right:28px!important;
    overflow:visible!important;
  }
  .site-header .brand-logo,
  .site-header .brand{
    min-width:180px!important;
    margin:0!important;
  }
  .it321-main-navigation{
    min-width:0!important;
    justify-content:center!important;
    overflow:visible!important;
  }
  .it321-main-navigation .menu{
    width:auto!important;
    max-width:100%!important;
    gap:10px!important;
    flex-wrap:nowrap!important;
    overflow:visible!important;
  }
  .it321-main-navigation .menu a{
    white-space:nowrap!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
    padding:12px 13px!important;
    font-size:15px!important;
    line-height:1!important;
  }
  .it321-header-actions{
    min-width:245px!important;
    width:auto!important;
    max-width:none!important;
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:14px!important;
    white-space:nowrap!important;
    overflow:visible!important;
    margin-left:0!important;
  }
  .it321-header-actions a,
  .it321-header-phone,
  .it321-header-quote{
    display:inline-flex!important;
    flex:0 0 auto!important;
    width:auto!important;
    min-width:max-content!important;
    max-width:none!important;
    white-space:nowrap!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    text-align:center!important;
  }
  .it321-header-quote{
    padding:13px 18px!important;
  }
}
@media (min-width:981px) and (max-width:1280px){
  .site-header .container.nav{column-gap:18px!important;padding-left:22px!important;padding-right:22px!important;}
  .site-header .brand-logo,.site-header .brand{min-width:150px!important;}
  .it321-main-navigation .menu{gap:5px!important;}
  .it321-main-navigation .menu a{font-size:14px!important;padding:11px 9px!important;}
  .it321-header-actions{min-width:142px!important;}
  .it321-header-phone{display:none!important;}
}


/* 321-IT header nowrap polish: keep IT-support and header CTA professional */
@media (min-width:981px){
  .site-header .container.nav{
    display:grid!important;
    grid-template-columns:minmax(170px,220px) minmax(620px,1fr) minmax(245px,auto)!important;
    align-items:center!important;
    gap:22px!important;
    max-width:1440px!important;
    width:100%!important;
  }
  .it321-main-navigation .menu{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
  }
  .it321-main-navigation .menu a{
    white-space:nowrap!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
    min-width:max-content!important;
    line-height:1!important;
  }
  .it321-header-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    gap:14px!important;
    min-width:245px!important;
    width:auto!important;
    white-space:nowrap!important;
  }
  .it321-header-phone{
    display:inline-flex!important;
    align-items:center!important;
    white-space:nowrap!important;
    min-width:max-content!important;
    font-size:15px!important;
    color:#0b1629!important;
    font-weight:850!important;
  }
  .it321-header-quote{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    white-space:nowrap!important;
    min-width:max-content!important;
    background:#1557e8!important;
    color:#fff!important;
    padding:13px 18px!important;
    border-radius:14px!important;
    font-weight:900!important;
    line-height:1!important;
    box-shadow:0 12px 26px rgba(21,87,232,.22)!important;
  }
}
@media (min-width:981px) and (max-width:1320px){
  .site-header .container.nav{
    grid-template-columns:170px minmax(560px,1fr) auto!important;
    gap:14px!important;
    padding-left:20px!important;
    padding-right:20px!important;
  }
  .it321-main-navigation .menu{gap:4px!important;}
  .it321-main-navigation .menu a{font-size:14px!important;padding:11px 8px!important;}
  .it321-header-phone{display:none!important;}
  .it321-header-actions{min-width:130px!important;}
}


/* 321-IT CTA button contrast fix - dark CTA blocks */
.cta a.btn,
.cta .btn,
.it321-article .cta a.btn,
.it321-article .cta .btn,
.shop-hero + .cta a.btn,
section.cta a.btn {
    color:#ffffff !important;
    text-decoration:none !important;
}

.cta a.btn.btn-secondary,
.cta .btn.btn-secondary,
.cta a.btn.secondary,
.cta .btn.secondary,
.it321-article .cta a.btn-secondary,
.it321-article .cta .btn-secondary {
    background:#ffffff !important;
    color:#1557e8 !important;
    border:2px solid rgba(255,255,255,.9) !important;
    box-shadow:none !important;
}

.cta a.btn.btn-secondary:hover,
.cta .btn.btn-secondary:hover,
.cta a.btn.secondary:hover,
.cta .btn.secondary:hover,
.it321-article .cta a.btn-secondary:hover,
.it321-article .cta .btn-secondary:hover {
    background:#eaf2ff !important;
    color:#0f46c8 !important;
}

/* Make sure all CTA buttons keep readable text */
.btn, a.btn, .it321-mini-btn, .it321-contact-btn {
    text-decoration:none !important;
}

/* 321-IT global CTA contrast fix for light hero/landing sections */
.shop-hero .btn,
.local-page-hero .btn,
.local-hero .btn,
.hero .btn,
.it321-article .shop-hero .btn,
.it321-article .local-hero .btn,
a.btn {
  text-decoration:none !important;
}

.shop-hero .btn-secondary,
.shop-hero a.btn-secondary,
.local-page-hero .btn-secondary,
.local-page-hero a.btn-secondary,
.local-hero .btn-secondary,
.local-hero a.btn-secondary,
.hero .btn-secondary,
.hero a.btn-secondary,
a.btn.btn-secondary {
  background:#ffffff !important;
  color:#1557e8 !important;
  border:2px solid #1557e8 !important;
  box-shadow:0 10px 22px rgba(21,87,232,.12) !important;
}

.shop-hero .btn-secondary:hover,
.shop-hero a.btn-secondary:hover,
.local-page-hero .btn-secondary:hover,
.local-page-hero a.btn-secondary:hover,
.local-hero .btn-secondary:hover,
.local-hero a.btn-secondary:hover,
.hero .btn-secondary:hover,
.hero a.btn-secondary:hover,
a.btn.btn-secondary:hover {
  background:#1557e8 !important;
  color:#ffffff !important;
  border-color:#1557e8 !important;
}

/* Keep primary buttons readable everywhere */
.shop-hero .btn:not(.btn-secondary),
.local-page-hero .btn:not(.btn-secondary),
.local-hero .btn:not(.btn-secondary),
.hero .btn:not(.btn-secondary),
a.btn:not(.btn-secondary) {
  color:#ffffff !important;
}


/* 321-IT FINAL CTA READABILITY FIX - added 2026-06-16
   Forces every secondary CTA inside generated landing pages to remain readable. */
html body .shop-hero a.btn.btn-secondary,
html body .shop-hero .btn.btn-secondary,
html body article.it321-article .shop-hero a.btn.btn-secondary,
html body .it321-article .shop-hero .btn.btn-secondary,
html body section.shop-hero p a.btn.btn-secondary,
html body .local-page-hero a.btn.btn-secondary,
html body .local-hero a.btn.btn-secondary {
    background:#1557e8 !important;
    color:#ffffff !important;
    border:2px solid #1557e8 !important;
    opacity:1 !important;
    text-shadow:none !important;
    -webkit-text-fill-color:#ffffff !important;
}

html body .shop-hero a.btn.btn-secondary:hover,
html body .shop-hero .btn.btn-secondary:hover,
html body section.shop-hero p a.btn.btn-secondary:hover,
html body .local-page-hero a.btn.btn-secondary:hover,
html body .local-hero a.btn.btn-secondary:hover {
    background:#0f46c8 !important;
    color:#ffffff !important;
    border-color:#0f46c8 !important;
    -webkit-text-fill-color:#ffffff !important;
}


/* 321-IT authority guide readability */
.authority-content{max-width:980px;margin:0 auto;line-height:1.75;font-size:18px;color:#0f172a;}
.authority-content h1{font-size:clamp(36px,5vw,58px);line-height:1.1;margin-bottom:24px;}
.authority-content h2{font-size:clamp(26px,3vw,38px);margin-top:48px;margin-bottom:16px;}
.authority-content h3{font-size:22px;margin-top:28px;margin-bottom:10px;}
.authority-content p{margin-bottom:18px;}
.authority-content a{font-weight:700;text-decoration:underline;}
.authority-content .cta-box{background:#eef6ff;border:1px solid #bfdbfe;border-radius:18px;padding:28px;margin:36px 0;}


/* 321-IT authority FAQ accordion */
.it321-faq-section{
    max-width: 980px;
    margin: 48px auto;
}
.it321-faq-section h2{
    margin-bottom: 24px;
}
.it321-faq-item{
    border: 1px solid rgba(15,23,42,.12);
    border-radius: 14px;
    background: #fff;
    margin-bottom: 14px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(15,23,42,.05);
}
.it321-faq-item summary{
    cursor: pointer;
    list-style: none;
    font-weight: 800;
    padding: 20px 56px 20px 22px;
    position: relative;
}
.it321-faq-item summary::-webkit-details-marker{
    display:none;
}
.it321-faq-item summary:after{
    content: "+";
    position: absolute;
    right: 22px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #eaf1ff;
    color: #1557ff;
    font-size: 22px;
    line-height: 1;
}
.it321-faq-item[open] summary:after{
    content: "−";
}
.it321-faq-answer{
    padding: 0 22px 20px;
}
.it321-faq-answer p{
    margin: 0;
}



/* 321-IT unique authority article styling */
.it321-authority-article{max-width:980px;margin:0 auto;padding:48px 22px 72px;line-height:1.75}
.it321-authority-hero{margin-bottom:34px}
.it321-kicker{font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#1557ff;margin-bottom:8px}
.it321-lead{font-size:1.22rem;max-width:820px}
.it321-inline-cta{display:inline-block;margin:10px 10px 0 0;padding:12px 18px;border-radius:999px;background:#1557ff;color:#fff;text-decoration:none;font-weight:800}
.it321-inline-cta.secondary{background:#eaf1ff;color:#10213f}
.it321-image-placeholder{border:1px dashed rgba(15,23,42,.25);background:#f8fbff;border-radius:18px;padding:26px;margin:32px 0;color:#40516f;font-weight:700}
.it321-cta-panel{background:#071833;color:#fff;border-radius:22px;padding:30px;margin:42px 0}
.it321-cta-panel a{color:#fff;font-weight:800}
.it321-authority-article section{margin:34px 0}
.it321-authority-article h2{margin-bottom:14px}



/* 321-IT built-in authority article images */
.it321-article-image{
    margin: 34px 0;
}
.it321-authority-img{
    display:block;
    width:100%;
    height:auto;
    border-radius:22px;
    box-shadow:0 18px 48px rgba(7,18,43,.16);
}
.it321-article-image figcaption{
    font-size:.95rem;
    color:#526070;
    margin-top:10px;
    text-align:center;
}



/* 321-IT Blog Grid Cleanup
   Makes /blogg/ cards consistent height, aligned, and cleaner.
*/
.blog-grid,
.posts-grid,
.guides-grid,
.archive-grid,
.it321-blog-grid,
.blog .site-main,
.page-template-blog .site-main {
    align-items: stretch;
}

.blog-grid,
.posts-grid,
.guides-grid,
.archive-grid,
.it321-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}

.blog-grid > *,
.posts-grid > *,
.guides-grid > *,
.archive-grid > *,
.it321-blog-grid > *,
.blog-card,
.post-card,
.guide-card,
.article-card,
.card-post {
    height: 100%;
}

.blog-card,
.post-card,
.guide-card,
.article-card,
.card-post,
.blog-grid article,
.posts-grid article,
.guides-grid article,
.archive-grid article,
.it321-blog-grid article {
    display: flex !important;
    flex-direction: column;
    min-height: 420px;
    height: 100%;
    padding: 32px !important;
    border-radius: 22px;
    overflow: hidden;
}

.blog-card h2,
.blog-card h3,
.post-card h2,
.post-card h3,
.guide-card h2,
.guide-card h3,
.article-card h2,
.article-card h3,
.card-post h2,
.card-post h3,
.blog-grid article h2,
.posts-grid article h2,
.guides-grid article h2,
.archive-grid article h2,
.it321-blog-grid article h2 {
    font-size: clamp(2rem, 3vw, 3.1rem) !important;
    line-height: 1.03 !important;
    margin: 0 0 18px !important;
    overflow-wrap: anywhere;
    hyphens: auto;
}

.blog-card p,
.post-card p,
.guide-card p,
.article-card p,
.card-post p,
.blog-grid article p,
.posts-grid article p,
.guides-grid article p,
.archive-grid article p,
.it321-blog-grid article p {
    font-size: 1.05rem;
    line-height: 1.55;
}

.blog-card .excerpt,
.post-card .excerpt,
.guide-card .excerpt,
.article-card .excerpt,
.card-post .excerpt,
.blog-grid article p,
.posts-grid article p,
.guides-grid article p,
.archive-grid article p,
.it321-blog-grid article p {
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.blog-card a:last-child,
.post-card a:last-child,
.guide-card a:last-child,
.article-card a:last-child,
.card-post a:last-child,
.blog-grid article a:last-child,
.posts-grid article a:last-child,
.guides-grid article a:last-child,
.archive-grid article a:last-child,
.it321-blog-grid article a:last-child {
    margin-top: auto !important;
    align-self: flex-start;
    padding-top: 18px;
    font-weight: 800;
}

.blog-card img,
.post-card img,
.guide-card img,
.article-card img,
.card-post img,
.blog-grid article img,
.posts-grid article img,
.guides-grid article img,
.archive-grid article img,
.it321-blog-grid article img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 16px;
    margin-bottom: 20px;
}

/* Keep cards tidy on tablets */
@media (max-width: 1100px) {
    .blog-grid,
    .posts-grid,
    .guides-grid,
    .archive-grid,
    .it321-blog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .blog-card,
    .post-card,
    .guide-card,
    .article-card,
    .card-post,
    .blog-grid article,
    .posts-grid article,
    .guides-grid article,
    .archive-grid article,
    .it321-blog-grid article {
        min-height: 390px;
    }
}

/* Single column on mobile */
@media (max-width: 700px) {
    .blog-grid,
    .posts-grid,
    .guides-grid,
    .archive-grid,
    .it321-blog-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .blog-card,
    .post-card,
    .guide-card,
    .article-card,
    .card-post,
    .blog-grid article,
    .posts-grid article,
    .guides-grid article,
    .archive-grid article,
    .it321-blog-grid article {
        min-height: auto;
        padding: 24px !important;
    }

    .blog-card h2,
    .blog-card h3,
    .post-card h2,
    .post-card h3,
    .guide-card h2,
    .guide-card h3,
    .article-card h2,
    .article-card h3,
    .card-post h2,
    .card-post h3,
    .blog-grid article h2,
    .posts-grid article h2,
    .guides-grid article h2,
    .archive-grid article h2,
    .it321-blog-grid article h2 {
        font-size: 2rem !important;
    }
}



/* =========================================================
   321-IT REAL BLOG PAGE FIX
   Targets the /blogg/ page and forces equal, tidy cards.
   ========================================================= */

body.page-slug-blogg main,
body.page-id-blogg main,
body.it321-blog-clean-grid main {
    overflow: visible;
}

/* The screenshot shows a 3-column card layout with white rounded cards.
   These rules target direct card children even when the template has no useful class names. */
body.page-slug-blogg main .container > .grid,
body.page-slug-blogg main .section .grid,
body.page-slug-blogg main [class*="grid"],
body.it321-blog-clean-grid main .container > .grid,
body.it321-blog-clean-grid main .section .grid,
body.it321-blog-clean-grid main [class*="grid"] {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 28px !important;
    align-items: stretch !important;
}

/* Force cards same size */
body.page-slug-blogg main [class*="grid"] > *,
body.it321-blog-clean-grid main [class*="grid"] > *,
body.page-slug-blogg .blog-card,
body.it321-blog-clean-grid .blog-card {
    height: 100% !important;
    min-height: 460px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    padding: 30px !important;
    border-radius: 22px !important;
    box-sizing: border-box !important;
}

/* Titles: stop huge headings from creating broken card heights */
body.page-slug-blogg main [class*="grid"] > * h1,
body.page-slug-blogg main [class*="grid"] > * h2,
body.page-slug-blogg main [class*="grid"] > * h3,
body.it321-blog-clean-grid main [class*="grid"] > * h1,
body.it321-blog-clean-grid main [class*="grid"] > * h2,
body.it321-blog-clean-grid main [class*="grid"] > * h3 {
    font-size: 34px !important;
    line-height: 1.08 !important;
    letter-spacing: -0.04em !important;
    margin: 0 0 16px !important;
    min-height: 74px !important;
    max-height: 116px !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
}

/* Excerpts: same visual length */
body.page-slug-blogg main [class*="grid"] > * p,
body.it321-blog-clean-grid main [class*="grid"] > * p {
    font-size: 17px !important;
    line-height: 1.55 !important;
    margin: 0 0 14px !important;
    max-height: 132px !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 5 !important;
    -webkit-box-orient: vertical !important;
}

/* Link/button always at bottom */
body.page-slug-blogg main [class*="grid"] > * a:last-child,
body.it321-blog-clean-grid main [class*="grid"] > * a:last-child {
    margin-top: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    padding-top: 18px !important;
    font-weight: 800 !important;
}

/* Featured images if present */
body.page-slug-blogg main [class*="grid"] > * img,
body.it321-blog-clean-grid main [class*="grid"] > * img {
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
    border-radius: 16px !important;
    margin: 0 0 18px !important;
}

/* Fallback: if cards are in a custom blog wrapper */
.it321-fixed-blog-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    gap: 28px !important;
}
.it321-fixed-blog-card {
    min-height: 460px !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 30px !important;
    border-radius: 22px !important;
}
.it321-fixed-blog-card h2,
.it321-fixed-blog-card h3 {
    font-size: 34px !important;
    line-height: 1.08 !important;
    min-height: 74px !important;
    max-height: 116px !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
}
.it321-fixed-blog-card p {
    max-height: 132px !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 5 !important;
    -webkit-box-orient: vertical !important;
}
.it321-fixed-blog-card a:last-child { margin-top: auto !important; }

@media (max-width: 1100px) {
    body.page-slug-blogg main [class*="grid"],
    body.it321-blog-clean-grid main [class*="grid"],
    .it321-fixed-blog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 720px) {
    body.page-slug-blogg main [class*="grid"],
    body.it321-blog-clean-grid main [class*="grid"],
    .it321-fixed-blog-grid {
        grid-template-columns: 1fr !important;
    }
    body.page-slug-blogg main [class*="grid"] > *,
    body.it321-blog-clean-grid main [class*="grid"] > *,
    .it321-fixed-blog-card {
        min-height: auto !important;
    }
}



/* =========================================================
   321-IT Rebuilt /blogg/ template fixed equal cards
   ========================================================= */
.it321-blog-page{
    background: linear-gradient(110deg,#f8fbff 0%,#ffffff 48%,#eaf7ff 100%);
    padding-bottom: 72px;
}
.it321-blog-container{
    width: min(1220px, calc(100% - 40px));
    margin: 0 auto;
}
.it321-blog-hero{
    padding: 70px 0 34px;
}
.it321-blog-kicker{
    color:#1557ff;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
    margin:0 0 8px;
}
.it321-blog-hero h1{
    font-size: clamp(48px, 7vw, 92px);
    line-height:.95;
    letter-spacing:-.06em;
    margin:0 0 18px;
    color:#071833;
}
.it321-blog-hero p{
    max-width:760px;
    font-size:20px;
    line-height:1.6;
    color:#22314d;
}
.it321-blog-grid-fixed{
    display:grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap:28px !important;
    align-items:stretch !important;
}
.it321-blog-card-fixed{
    background:#fff;
    border:1px solid rgba(21,87,255,.12);
    box-shadow:0 14px 36px rgba(7,24,51,.06);
    border-radius:24px;
    padding:30px;
    min-height:360px;
    height:100%;
    display:flex;
    flex-direction:column;
    box-sizing:border-box;
}
.it321-blog-card-fixed h2{
    color:#1557ff;
    font-size: clamp(30px, 2.8vw, 46px) !important;
    line-height:1.03 !important;
    letter-spacing:-.055em;
    margin:0 0 18px;
    min-height:96px;
    max-height:144px;
    overflow:hidden;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
}
.it321-blog-card-fixed p{
    color:#17243d;
    font-size:17px;
    line-height:1.55;
    margin:0;
    overflow:hidden;
    display:-webkit-box;
    -webkit-line-clamp:5;
    -webkit-box-orient:vertical;
}
.it321-blog-card-fixed a{
    margin-top:auto;
    padding-top:24px;
    color:#1557ff;
    font-weight:800;
    text-decoration:none;
    display:inline-flex;
    gap:7px;
    align-items:center;
}
.it321-blog-card-fixed a:hover{
    text-decoration:underline;
}
@media (max-width: 1050px){
    .it321-blog-grid-fixed{
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    }
}
@media (max-width: 680px){
    .it321-blog-container{
        width:min(100% - 28px, 1220px);
    }
    .it321-blog-hero{
        padding:44px 0 24px;
    }
    .it321-blog-grid-fixed{
        grid-template-columns:1fr !important;
        gap:20px !important;
    }
    .it321-blog-card-fixed{
        min-height:auto;
        padding:24px;
    }
    .it321-blog-card-fixed h2{
        min-height:auto;
        font-size:32px !important;
    }
}



/* =========================================================
   321-IT Next Build v6 Blog UX/SEO Upgrades
   ========================================================= */
.it321-blog-page{
    background:linear-gradient(110deg,#f8fbff 0%,#ffffff 48%,#eaf7ff 100%);
    padding-bottom:72px;
}
.it321-blog-container{
    width:min(1220px,calc(100% - 40px));
    margin:0 auto;
}
.it321-blog-hero{
    padding:70px 0 34px;
}
.it321-blog-kicker{
    color:#1557ff;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
    margin:0 0 8px;
}
.it321-blog-hero h1{
    font-size:clamp(48px,7vw,92px);
    line-height:.95;
    letter-spacing:-.06em;
    margin:0 0 18px;
    color:#071833;
}
.it321-blog-hero p{
    max-width:760px;
    font-size:20px;
    line-height:1.6;
    color:#22314d;
}
.it321-blog-tools{
    margin-top:28px;
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    align-items:center;
}
#it321-blog-search{
    min-width:min(100%,340px);
    border:1px solid rgba(21,87,255,.22);
    border-radius:999px;
    padding:14px 18px;
    font-size:16px;
    background:#fff;
    box-shadow:0 8px 24px rgba(7,24,51,.05);
}
.it321-blog-filters{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}
.it321-blog-filters button{
    border:1px solid rgba(21,87,255,.22);
    background:#fff;
    color:#10213f;
    border-radius:999px;
    padding:11px 15px;
    font-weight:800;
    cursor:pointer;
}
.it321-blog-filters button.is-active,
.it321-blog-filters button:hover{
    background:#1557ff;
    color:#fff;
}
.it321-blog-grid-fixed{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:28px!important;
    align-items:stretch!important;
}
.it321-blog-card-fixed{
    background:#fff;
    border:1px solid rgba(21,87,255,.12);
    box-shadow:0 14px 36px rgba(7,24,51,.06);
    border-radius:24px;
    padding:22px;
    min-height:520px;
    height:100%;
    display:flex!important;
    flex-direction:column!important;
    box-sizing:border-box;
    overflow:hidden;
}
.it321-blog-card-image-link{
    display:block;
    margin:0 0 16px!important;
    padding:0!important;
}
.it321-blog-card-fixed img{
    width:100%!important;
    aspect-ratio:16/9!important;
    height:auto!important;
    object-fit:cover!important;
    border-radius:17px!important;
    display:block!important;
    margin:0!important;
}
.it321-blog-badge{
    align-self:flex-start;
    display:inline-flex;
    border-radius:999px;
    background:#eaf1ff;
    color:#1557ff;
    font-size:13px;
    font-weight:900;
    padding:7px 11px;
    margin-bottom:12px;
}
.it321-blog-card-fixed h2{
    color:#1557ff;
    font-size:30px!important;
    line-height:1.06!important;
    letter-spacing:-.04em;
    margin:0 0 12px!important;
    min-height:96px!important;
    max-height:96px!important;
    overflow:hidden!important;
    display:-webkit-box!important;
    -webkit-line-clamp:3!important;
    -webkit-box-orient:vertical!important;
}
.it321-blog-card-fixed p{
    color:#17243d;
    font-size:16px!important;
    line-height:1.5!important;
    margin:0!important;
    min-height:96px;
    max-height:96px!important;
    overflow:hidden!important;
    display:-webkit-box!important;
    -webkit-line-clamp:4!important;
    -webkit-box-orient:vertical!important;
}
.it321-blog-readmore{
    margin-top:auto!important;
    padding-top:22px!important;
    color:#1557ff;
    font-weight:900;
    text-decoration:none;
    display:inline-flex;
    gap:7px;
    align-items:center;
}
.it321-blog-readmore:hover{
    text-decoration:underline;
}
@media(max-width:1050px){
    .it321-blog-grid-fixed{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:680px){
    .it321-blog-container{width:min(100% - 28px,1220px);}
    .it321-blog-hero{padding:44px 0 24px;}
    .it321-blog-grid-fixed{grid-template-columns:1fr!important;gap:20px!important;}
    .it321-blog-card-fixed{min-height:auto;padding:20px;}
    .it321-blog-card-fixed h2{min-height:auto!important;max-height:none!important;font-size:30px!important;}
    .it321-blog-card-fixed p{min-height:auto;}
    .it321-blog-tools{display:block;}
    #it321-blog-search{width:100%;margin-bottom:14px;}
}



/* 321-IT article author and related guides */
.it321-author-box-v6,
.it321-related-guides-v6{
    max-width:980px;
    margin:42px auto;
    padding:28px;
    border-radius:22px;
    background:#f8fbff;
    border:1px solid rgba(21,87,255,.14);
}
.it321-author-box-v6 h2,
.it321-related-guides-v6 h2{
    margin-top:0;
}
.it321-related-grid-v6{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}
.it321-related-card-v6{
    display:flex;
    flex-direction:column;
    gap:12px;
    background:#fff;
    border:1px solid rgba(21,87,255,.14);
    border-radius:16px;
    padding:18px;
    font-weight:900;
    color:#10213f;
    text-decoration:none;
}
.it321-related-card-v6 span{
    color:#1557ff;
}
@media(max-width:800px){
    .it321-related-grid-v6{grid-template-columns:1fr;}
}



/* 321-IT Footer Logo Contrast Fix */
.site-footer .site-title,
.site-footer .site-title a,
.site-footer .logo-text,
.site-footer .footer-logo-text,
.site-footer .brand-text,
.site-footer .custom-logo-link + span,
.site-footer .custom-logo-link + strong,
.site-footer .it321-logo-text,
footer .site-title,
footer .site-title a,
footer .logo-text,
footer .footer-logo-text,
footer .brand-text,
footer .custom-logo-link + span,
footer .custom-logo-link + strong,
footer .it321-logo-text {
    color: #ffffff !important;
    opacity: 1 !important;
}

/* If the footer uses text next to a shield icon */
.site-footer .logo,
.site-footer .brand,
.site-footer .site-branding,
.site-footer .footer-logo,
footer .logo,
footer .brand,
footer .site-branding,
footer .footer-logo {
    color: #ffffff !important;
}

/* Improve visibility if old dark PNG is still used */
.site-footer img[src*="logo"],
footer img[src*="logo"] {
    opacity: 1 !important;
}



/* =========================================================
   321-IT Next Build v8: SEO authority components
   ========================================================= */
.it321-breadcrumbs{
    max-width:980px;
    margin:22px auto 28px;
    padding:0 22px;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:9px;
    font-size:.95rem;
    color:#526070;
}
.it321-breadcrumbs a{
    color:#1557ff;
    font-weight:800;
    text-decoration:none;
}
.it321-breadcrumbs a:hover{text-decoration:underline;}
.it321-breadcrumbs span:last-child{color:#17243d;font-weight:700;}

.it321-toc{
    max-width:980px;
    margin:28px auto 34px;
    padding:24px 26px;
    border:1px solid rgba(21,87,255,.14);
    border-radius:22px;
    background:#f8fbff;
    box-shadow:0 12px 32px rgba(7,24,51,.05);
}
.it321-toc strong{
    display:block;
    font-size:1.15rem;
    margin-bottom:12px;
}
.it321-toc ol{
    columns:2;
    column-gap:34px;
    margin:0;
    padding-left:20px;
}
.it321-toc li{
    break-inside:avoid;
    margin:8px 0;
}
.it321-toc li.toc-sub{
    margin-left:16px;
    font-size:.95rem;
}
.it321-toc a{
    color:#1557ff;
    font-weight:700;
    text-decoration:none;
}
.it321-toc a:hover{text-decoration:underline;}

.it321-faq-list{
    display:grid;
    gap:14px;
}
.it321-faq-item{
    background:#fff;
    border:1px solid rgba(21,87,255,.14);
    border-radius:16px;
    box-shadow:0 10px 24px rgba(7,24,51,.05);
    overflow:hidden;
}
.it321-faq-item summary{
    cursor:pointer;
    padding:18px 56px 18px 20px;
    font-weight:900;
    position:relative;
    list-style:none;
}
.it321-faq-item summary::-webkit-details-marker{display:none;}
.it321-faq-item summary:after{
    content:"+";
    position:absolute;
    right:18px;
    top:50%;
    transform:translateY(-50%);
    width:30px;
    height:30px;
    border-radius:999px;
    display:grid;
    place-items:center;
    background:#eaf1ff;
    color:#1557ff;
    font-size:24px;
}
.it321-faq-item[open] summary:after{content:"−";}
.it321-faq-answer{
    padding:0 20px 18px;
}
.it321-faq-answer p{margin:0;}

.it321-testimonials{
    max-width:980px;
    margin:44px auto;
    padding:30px;
    background:#f8fbff;
    border:1px solid rgba(21,87,255,.14);
    border-radius:24px;
}
.it321-testimonial-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}
.it321-testimonial-grid blockquote{
    margin:0;
    padding:22px;
    background:#fff;
    border-radius:18px;
    border:1px solid rgba(21,87,255,.12);
    box-shadow:0 10px 24px rgba(7,24,51,.04);
}
.it321-testimonial-grid p{
    margin-top:0;
}
.it321-testimonial-grid cite{
    color:#1557ff;
    font-weight:900;
    font-style:normal;
}

.it321-location-page{
    max-width:980px;
    margin:0 auto;
    padding:48px 22px 72px;
    line-height:1.75;
}
.it321-location-hero{
    margin-bottom:34px;
}
.it321-location-page section{
    margin:36px 0;
}
.it321-location-page ul{
    padding-left:22px;
}
.it321-infographic-img{
    background:#071833;
}

@media(max-width:800px){
    .it321-toc ol{columns:1;}
    .it321-testimonial-grid{grid-template-columns:1fr;}
}



/* 321-IT v9 service-specific location images */
.it321-location-service-img{
    background:#071833;
    border-radius:22px;
    box-shadow:0 18px 48px rgba(7,18,43,.16);
}

