/* AKAMI theme - mobile-first. Brand: navy #1F3864, orange #E8621A, gold #C9A84C, white. */
:root{
  --navy:#1F3864; --navy-dark:#162a4d; --orange:#E8621A; --orange-dark:#C74F0E; --gold:#C9A84C;
  --white:#fff; --ink:#1d2433; --muted:#5b6475; --line:#e3e7ee; --bg-alt:#f5f7fa;
  --radius:10px; --shadow:0 2px 10px rgba(31,56,100,.08); --shadow-lg:0 8px 24px rgba(31,56,100,.14);
  --font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --container:1200px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--font);font-size:1rem;line-height:1.65;color:var(--ink);background:var(--white);overflow-x:hidden}
img,svg,video{max-width:100%;height:auto}
a{color:var(--navy)}
a:hover{color:var(--orange-dark)}
h1,h2,h3,h4{line-height:1.25;color:var(--navy);margin:0 0 .6em}
h1{font-size:clamp(1.75rem,5vw,2.75rem)} h2{font-size:clamp(1.4rem,3.5vw,2rem)} h3{font-size:1.15rem}
p{margin:0 0 1em}
ul,ol{padding-left:1.2em}
:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.skip-link:focus{position:fixed;left:8px;top:8px;width:auto;height:auto;clip:auto;background:#fff;padding:.6rem 1rem;z-index:1000}
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 1.1rem}
.narrow{max-width:820px}
.center{text-align:center;justify-content:center}
.hp-field{position:absolute;left:-9999px;height:0;overflow:hidden}

/* Buttons: large bold text keeps white-on-orange readable (3.4:1 meets WCAG for large text) */
.btn{display:inline-block;background:var(--orange);color:#fff;border:2px solid var(--orange);border-radius:8px;padding:.7rem 1.4rem;font:700 1.17rem/1.2 var(--font);text-decoration:none;cursor:pointer;text-align:center;transition:background .15s,border-color .15s,color .15s}
.btn:hover,.btn:focus-visible{background:var(--orange-dark);border-color:var(--orange-dark);color:#fff}
.btn-sm{padding:.5rem 1rem;font-size:1.17rem}
.btn-outline{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn-outline:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.btn-outline-light{background:transparent;color:#fff;border-color:#fff}
.btn-outline-light:hover{background:#fff;color:var(--navy);border-color:#fff}
.btn-ghost{background:transparent;color:var(--gold);border-color:var(--gold)}
.btn-ghost:hover{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.btn-row{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.2rem 0 0}


/* Brand lockup: custom logo icon with AKAMI wordmark beside it. */
.site-brand-lockup{display:flex;align-items:center;gap:.7rem;min-width:0}
.site-brand-lockup .custom-logo-link{display:inline-flex;align-items:center;flex:0 0 auto;line-height:0}
.site-brand-lockup .custom-logo{display:block;width:auto;max-width:76px;object-fit:contain}
.site-wordmark{display:inline-block;color:#fff!important;font-size:clamp(1.25rem,2.1vw,1.9rem);font-weight:850;letter-spacing:.035em;line-height:1;text-decoration:none;white-space:nowrap}
.site-wordmark:hover,.site-wordmark:focus{color:#fff!important;text-decoration:none}
@media(max-width:600px){
  .site-brand-lockup{gap:.6rem}
  .site-brand-lockup .custom-logo{max-height:48px;width:auto}
  .site-wordmark{font-size:1.45rem;letter-spacing:.025em}
}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:var(--white);border-bottom:3px solid var(--gold);box-shadow:var(--shadow)}
.header-inner{display:flex;align-items:center;gap:.75rem;min-height:68px}
.site-branding{margin-right:auto}
.site-logo-text{font-weight:900;font-size:1.9rem;letter-spacing:.14em;color:var(--navy);text-decoration:none;line-height:1}
.site-logo-text span{border-bottom:4px solid var(--orange);padding-bottom:2px}
.custom-logo{max-height:52px;width:auto}
.nav-toggle,.search-toggle,.account-link,.cart-link{background:none;border:0;color:var(--navy);cursor:pointer;padding:.6rem;border-radius:8px;position:relative;display:inline-flex;align-items:center;min-width:44px;min-height:44px;justify-content:center}
.account-link{text-decoration:none}
.search-toggle:hover,.account-link:hover,.cart-link:hover,.search-toggle:focus-visible,.account-link:focus-visible,.cart-link:focus-visible{background:rgba(255,255,255,.09);color:var(--orange)}
.nav-toggle .bars,.nav-toggle .bars::before,.nav-toggle .bars::after{display:block;width:24px;height:3px;background:var(--navy);border-radius:2px;position:relative;content:""}
.nav-toggle .bars::before{position:absolute;top:-7px}.nav-toggle .bars::after{position:absolute;top:7px}
.cart-count{position:absolute;top:2px;right:0;background:var(--orange-dark);color:#fff;border-radius:99px;font-size:.7rem;min-width:18px;height:18px;line-height:18px;text-align:center;font-weight:700}
.main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:3px solid var(--gold);padding:.5rem 1.1rem 1.1rem;box-shadow:var(--shadow-lg)}
.main-nav.is-open{display:block}
.main-nav ul{list-style:none;margin:0;padding:0}
.main-nav a{display:block;padding:.75rem .25rem;font-weight:600;color:var(--navy);text-decoration:none;border-bottom:1px solid var(--line)}
.main-nav a:hover,.main-nav .current-menu-item>a{color:var(--orange-dark)}
.main-nav .sub-menu{padding-left:1rem}
.nav-cta-mobile{margin-top:1rem;display:block}
.header-cta{display:none}
.header-search{background:var(--bg-alt);padding:.8rem 0;border-bottom:1px solid var(--line)}
.search-form{display:flex;gap:.5rem;max-width:560px}
.search-field{flex:1;min-width:0;padding:.65rem .9rem;border:1px solid #b9c1d0;border-radius:8px;font:inherit}
@media(min-width:960px){
  .nav-toggle,.nav-cta-mobile{display:none}
  .main-nav{display:block;position:static;box-shadow:none;border:0;padding:0;background:none}
  .main-nav ul{display:flex;gap:.2rem}
  .main-nav a{border:0;padding:.5rem .65rem;font-size:.95rem;border-radius:6px}
  .main-nav li{position:relative}
  .main-nav .sub-menu{display:none;position:absolute;left:0;top:100%;background:#fff;box-shadow:var(--shadow-lg);min-width:200px;padding:.4rem;border-radius:8px}
  .main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu{display:block}
  .header-cta{display:inline-block}
  .site-branding{margin-right:1rem}
  .header-actions{margin-left:auto;display:flex;align-items:center;gap:.4rem}
}
.header-actions{display:flex;align-items:center;gap:.2rem}

/* Hero */
.hero{position:relative;background:linear-gradient(135deg,var(--navy-dark),var(--navy) 60%,#2a4a82);color:#fff;overflow:hidden}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero.has-image::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,42,77,.92),rgba(22,42,77,.55))}
.hero-inner{position:relative;z-index:2;padding-top:3.5rem;padding-bottom:3.5rem;max-width:var(--container)}
.hero h1{color:#fff;max-width:18ch;margin-bottom:.5em}
.hero-text{font-size:1.15rem;max-width:56ch;color:#e8edf6}
.hero::before{content:"";position:absolute;left:0;bottom:0;height:5px;width:100%;background:linear-gradient(90deg,var(--orange),var(--gold));z-index:3}
@media(min-width:768px){.hero-inner{padding-top:6rem;padding-bottom:6rem}}

/* Sections */
.section{padding:3rem 0}
.section-alt{background:var(--bg-alt)}
.section-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}
.section-head h2{margin:0;position:relative;padding-bottom:.4rem}
.section-head h2::after{content:"";position:absolute;left:0;bottom:0;width:48px;height:3px;background:var(--gold)}
.more-link{font-weight:700;color:var(--navy)}
.band-navy{background:var(--navy);color:#fff}
.band-navy h2{color:#fff}
.band-inner{display:flex;flex-direction:column;gap:1.2rem;align-items:flex-start}
@media(min-width:768px){.band-inner{flex-direction:row;align-items:center;justify-content:space-between}}
.cta-grid,.contact-grid,.service-grid{display:grid;gap:2rem}
@media(min-width:860px){.cta-grid,.contact-grid{grid-template-columns:1.2fr 1fr}.service-grid{grid-template-columns:2fr 1fr}}
.page-header{background:var(--bg-alt);border-bottom:1px solid var(--line);padding:1.6rem 0 1.8rem}
.page-header h1{margin-bottom:.3em}
.page-intro{color:var(--muted);max-width:70ch;margin:0}
.breadcrumbs{font-size:.88rem;color:var(--muted);margin-bottom:.8rem}
.breadcrumbs ol{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.breadcrumbs li+li::before{content:"/";margin:0 .45rem;color:#9aa3b5}
.breadcrumbs a{color:var(--muted)}

/* Grids */
.grid{list-style:none;margin:0;padding:0;display:grid;gap:1.2rem;grid-template-columns:1fr}
.grid>li{min-width:0}
@media(min-width:560px){.grid-products,.grid-posts,.grid-services,.grid-why{grid-template-columns:repeat(2,1fr)}.grid-cats{grid-template-columns:repeat(3,1fr)}}
@media(min-width:960px){.grid-products{grid-template-columns:repeat(4,1fr)}.grid-posts,.grid-services,.grid-why{grid-template-columns:repeat(3,1fr)}.grid-cats{grid-template-columns:repeat(4,1fr)}}
@media(min-width:1200px){.grid-cats{grid-template-columns:repeat(5,1fr)}}
.grid-cats{grid-template-columns:repeat(2,1fr)}

/* Cards */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);height:100%;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}
.card:hover{box-shadow:var(--shadow-lg)}
.card-media{display:block;aspect-ratio:4/3;background:var(--bg-alt);overflow:hidden}
.card-media img{width:100%;height:100%;object-fit:cover;display:block}
.no-image{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:120px;background:linear-gradient(135deg,#e9eef7,#d9e1ef);color:var(--navy);font-weight:900;letter-spacing:.2em;opacity:.55}
.no-image.big{min-height:320px;font-size:2rem;border-radius:var(--radius)}
.card-body{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;flex:1}
.card-kicker{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 .3rem}
.card-title{font-size:1.05rem;margin-bottom:.4rem}
.card-title a{text-decoration:none}
.card-title a:hover{color:var(--orange-dark)}
.card-price,.product-price{font-weight:800;color:var(--navy);margin:0 0 .3rem}
.price del{color:var(--muted);font-weight:400;margin-right:.3rem}.price ins{text-decoration:none}
.stock{display:inline-block;font-size:.8rem;font-weight:700;padding:.1rem .55rem;border-radius:99px;margin:0 0 .6rem;align-self:flex-start}
.stock.is-in{background:#e3f4e8;color:#17602d}.stock.is-out{background:#fbe5e5;color:#8d1d1d}.stock.is-back{background:#fff3d6;color:#7a5600}
.card-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto;padding-top:.6rem}
.card-actions .btn{flex:1 1 auto;padding:.45rem .6rem;font-size:1.17rem}
.cat-card{display:flex;flex-direction:column;gap:.2rem;justify-content:flex-end;min-height:110px;padding:1rem;background:#fff;border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:var(--radius);text-decoration:none;box-shadow:var(--shadow);height:100%}
.cat-card:hover{border-left-color:var(--orange);box-shadow:var(--shadow-lg)}
.cat-card img{border-radius:6px;margin-bottom:.5rem;aspect-ratio:4/3;object-fit:cover;width:100%}
.cat-name{font-weight:800;color:var(--navy)}
.cat-count{font-size:.85rem;color:var(--muted)}
.why-item{padding:1.2rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.why-icon{display:block;width:34px;height:5px;background:var(--orange);border-radius:3px;margin-bottom:.8rem}
.why-item h3{margin-bottom:.3rem}.why-item p{margin:0;color:var(--muted)}
.chips{list-style:none;padding:0;margin:0 0 1.5rem;display:flex;flex-wrap:wrap;gap:.5rem}
.chips a{display:inline-block;padding:.35rem .9rem;border:1px solid var(--navy);border-radius:99px;text-decoration:none;font-weight:600;font-size:.9rem}
.chips a:hover{background:var(--navy);color:#fff}

/* Empty state, notices */
.empty-state{background:#fff;border:2px dashed #c3cbdb;border-radius:var(--radius);padding:2rem 1.2rem;text-align:center}
.admin-hint{background:#fff8e1;border-left:4px solid var(--gold);padding:.6rem .9rem;text-align:left;font-size:.9rem;border-radius:4px}
.notice{padding:.9rem 1.1rem;border-radius:8px;margin:0 0 1.2rem;border-left:5px solid}
.notice-ok{background:#e6f5ea;border-color:#1f8a43}.notice-err{background:#fdeaea;border-color:#c0392b}

/* Forms */
.akami-form{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem;box-shadow:var(--shadow)}
.field{margin:0 0 1rem}.field label,.field-label{display:block;font-weight:700;margin-bottom:.25rem;font-size:.95rem}
.akami-form input[type=text],.akami-form input[type=tel],.akami-form input[type=date],.akami-form select,.akami-form textarea{width:100%;padding:.7rem .8rem;border:1px solid #b9c1d0;border-radius:8px;font:inherit;background:#fff;color:var(--ink)}
.akami-form textarea{min-height:90px;max-height:150px;resize:vertical}
.akami-optional-fields{margin:0 0 1rem;border:1px solid var(--line);border-radius:8px;background:#fff}
.akami-optional-fields>summary{padding:.8rem 1rem;color:var(--navy);font-weight:700;cursor:pointer}
.akami-optional-fields__content{padding:0 1rem .2rem}
.akami-book-installation-cta{margin:1rem 0 1.5rem}
.akami-book-installation-cta .btn{display:inline-flex;align-items:center;justify-content:center}
.akami-whatsapp-followup{margin:.75rem 0 1.25rem}
.single-akami_service .akami-service-entry .woocommerce div.product form.cart .quantity,
.single-akami_service .akami-service-entry .woocommerce div.product form.cart .single_add_to_cart_button,
.single-akami_service .akami-service-entry .woocommerce div.product form.cart .woocommerce-variation-add-to-cart{display:none!important}
.single-akami_service #inquiry-form{scroll-margin-top:110px}
.field-row{display:grid;gap:0 1rem}
@media(min-width:640px){.field-row{grid-template-columns:1fr 1fr}}
.form-note{color:var(--muted);font-size:.95rem}
.inquiry-section{background:var(--bg-alt)}

/* Single pages */
.entry-content>*{max-width:100%}
.entry-content img{border-radius:8px}
.entry-thumb{margin:0 0 1.5rem}.entry-thumb img{width:100%;border-radius:var(--radius)}
.check-list{list-style:none;padding:0}
.check-list li{padding-left:1.6rem;position:relative;margin-bottom:.4rem}
.check-list li::before{content:"";position:absolute;left:0;top:.5em;width:.8rem;height:.45rem;border-left:3px solid var(--orange);border-bottom:3px solid var(--orange);transform:rotate(-45deg)}
.side-box{background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem;align-self:start}
.faq details{border:1px solid var(--line);border-radius:8px;padding:.7rem 1rem;margin-bottom:.6rem;background:#fff}
.faq summary,.wp-block-details summary{font-weight:700;cursor:pointer;color:var(--navy)}
.wp-block-details{border:1px solid var(--line);border-radius:8px;padding:.7rem 1rem;margin-bottom:.6rem}
.post-cta{margin:2.5rem 0;padding:1.4rem;background:var(--navy);color:#fff;border-radius:var(--radius)}
.post-cta h2{color:#fff}.post-cta .btn-outline{color:#fff;border-color:#fff}.post-cta .btn-outline:hover{background:#fff;color:var(--navy)}
.pagination,.navigation.pagination{margin-top:2rem;text-align:center}
.pagination .page-numbers,.nav-links .page-numbers{display:inline-block;padding:.45rem .85rem;margin:.15rem;border:1px solid var(--line);border-radius:6px;text-decoration:none;font-weight:600}
.page-numbers.current{background:var(--navy);color:#fff;border-color:var(--navy)}
.table-wrap{overflow-x:auto}
table{border-collapse:collapse;width:100%}
.specs th,.specs td{border:1px solid var(--line);padding:.55rem .8rem;text-align:left}.specs th{background:var(--bg-alt);width:35%}

/* Product page */
.product-page{padding-top:1.2rem;padding-bottom:2rem}
.product-single{display:grid;gap:1.5rem}
@media(min-width:860px){.product-single{grid-template-columns:1fr 1fr;gap:2.5rem}}
.gallery-main{margin:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}
.gallery-main img{width:100%;display:block;aspect-ratio:4/3;object-fit:contain}
.gallery-thumbs{list-style:none;display:flex;gap:.5rem;padding:0;margin:.6rem 0 0;flex-wrap:wrap}
.thumb-btn{border:2px solid var(--line);border-radius:6px;padding:0;background:#fff;cursor:pointer;width:72px;height:72px;overflow:hidden}
.thumb-btn.is-active,.thumb-btn:hover{border-color:var(--orange)}
.thumb-btn img{width:100%;height:100%;object-fit:cover;display:block}
.meta-list{display:grid;grid-template-columns:auto 1fr;gap:.2rem 1rem;margin:1rem 0}
.meta-list dt{font-weight:700}.meta-list dd{margin:0}
.enquire-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.2rem 0}
.product-details h2{margin-top:2rem}
.woo-wrap{padding-top:1.5rem;padding-bottom:3rem}
.woocommerce div.product div.images{margin-bottom:1.5rem}

.contact-list .lbl{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gold)}
.contact-list li{margin-bottom:.8rem}

/* Misc */
.alignwide{max-width:100%}.alignleft{float:left;margin:0 1rem 1rem 0}.alignright{float:right;margin:0 0 1rem 1rem}
.wp-caption{max-width:100%}
@media(max-width:400px){.btn,.btn-sm{font-size:1.17rem}.card-actions .btn{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.contact-list .lbl{color:var(--muted)}

/* ===== AKAMI footer (all rules scoped to .akami-footer) ===== */
.akami-footer{--af-line:rgba(255,255,255,.16);position:relative;overflow:hidden;isolation:isolate;color:#e6ecf7;background:linear-gradient(180deg,#1F3864 0%,#172c52 55%,#10213f 100%);border-top:4px solid var(--gold)}
.akami-footer__scene{position:absolute;left:0;right:0;bottom:0;width:100%;height:min(220px,38%);min-height:140px;z-index:-1;pointer-events:none}
.akami-footer__inner{width:min(94%,1280px);margin:0 auto}
.akami-footer a{color:#fff;text-decoration:none}
.akami-footer a:hover{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.akami-footer a:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:4px}
.akami-footer ul{list-style:none;margin:0;padding:0}
.akami-footer__main{display:grid;gap:2.5rem;padding:3.5rem 0}
.akami-footer__brand{min-width:0}
.akami-footer__logo{margin-bottom:1.1rem}
.akami-footer__logo img{max-height:64px;width:auto}
.akami-footer .site-logo-text{color:#fff;font-size:2.4rem}
.akami-footer__about{max-width:46ch;font-size:1.05rem;line-height:1.7;margin:0 0 1rem}
.akami-footer__cats{color:var(--gold);font-weight:700;font-size:.95rem;margin:0 0 1.4rem}
.akami-footer__socials{display:flex;flex-wrap:wrap;gap:.75rem}
.akami-footer__socials a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.09);border:1px solid var(--af-line);color:#fff;transition:background .15s,color .15s,border-color .15s}
.akami-footer__socials a:hover,.akami-footer__socials a:focus-visible{background:var(--orange);border-color:var(--orange);color:#fff;text-decoration:none}
.akami-footer__columns{display:grid;column-gap:1.5rem;row-gap:0;grid-template-columns:1fr;min-width:0}
.akami-footer__column{min-width:0}
.akami-footer__heading{position:relative;margin:0 0 1.4rem;padding-bottom:.7rem;color:#fff;font-size:1.1rem;font-weight:800}
.akami-footer__heading::after{content:"";position:absolute;left:0;bottom:0;width:44px;height:3px;border-radius:2px;background:var(--orange)}
.akami-footer__column li{margin:0 0 .35rem}
.akami-footer__column>ul>li>a{display:inline-block;padding:.3rem 0;overflow-wrap:anywhere}
.akami-footer__details li{display:flex;align-items:flex-start;gap:.7rem;padding:.15rem 0;overflow-wrap:anywhere}
.akami-footer__details .akami-icon{flex:none;margin-top:.3rem;color:var(--orange)}
.akami-footer__note{margin:0 0 1rem;color:#d3dcec;line-height:1.6}
.akami-footer__rule{border:0;border-top:1px solid var(--af-line);margin:1.3rem 0}
.akami-footer__help{margin:0 0 .4rem;color:#fff;font-size:1.1rem}
.akami-footer__cta{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.3rem;border-radius:999px;background:var(--orange);border:2px solid var(--orange);color:#fff;font-weight:700;font-size:1.17rem;line-height:1.2;transition:background .15s,border-color .15s}
.akami-footer a.akami-footer__cta:hover,.akami-footer a.akami-footer__cta:focus-visible{background:var(--orange-dark);border-color:var(--orange-dark);color:#fff;text-decoration:none}
.akami-footer__cta .akami-icon{transition:transform .15s}
.akami-footer__cta:hover .akami-icon{transform:translateX(3px)}
.akami-footer__bottom{border-top:1px solid var(--af-line);background:rgba(10,24,48,.55)}
.akami-footer__bottom-inner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 2rem;padding:1.5rem 0}
.akami-footer__copy{margin:0;color:#cfd8ea;font-size:.95rem}
.akami-footer__legal{display:flex;flex-wrap:wrap;gap:.3rem 0}
.akami-footer__legal li+li::before{content:"";display:inline-block;width:1px;height:.9em;background:var(--orange);margin:0 .9rem;vertical-align:-.1em}
.akami-footer__legal a{font-size:.95rem;padding:.35rem 0;display:inline-block}
/* Each link column = heading row + list row. With subgrid, headings share one row, so lists line up even if a heading wraps. */
.akami-footer__column{margin-bottom:2rem}
@supports (grid-template-rows:subgrid){
  .akami-footer__column{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:0;margin-bottom:0}
  .akami-footer__column+.akami-footer__column,.akami-footer__contact{margin-top:0}
}
@media(min-width:340px){
  .akami-footer__columns{grid-template-columns:repeat(2,minmax(0,1fr))}
  .akami-footer__contact{grid-column:1/-1;margin-top:2rem}
}
@media(min-width:600px){
  .akami-footer__columns{column-gap:2.5rem;padding-top:2rem;border-top:1px solid var(--af-line)}
}
@media(min-width:1000px){
  .akami-footer__main{grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:0;padding:4.25rem 0 4.5rem}
  .akami-footer__brand{padding-right:3rem}
  .akami-footer__columns{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:2.5rem;padding:0 0 0 3rem;border-top:0;border-left:1px solid var(--af-line)}
  .akami-footer__contact{grid-column:auto;margin-top:0}
}
@media(min-width:1000px) and (max-width:1239px){
  .akami-footer__main{grid-template-columns:minmax(0,1.6fr) minmax(0,3fr)}
  .akami-footer__brand{padding-right:2rem}
  .akami-footer__columns{column-gap:1.5rem;padding-left:2rem}
}
@media(max-width:420px){.akami-footer__cta{width:100%;justify-content:center}.akami-footer__legal li+li::before{margin:0 .6rem}}

/* Reference-matched AKAMI footer layout */
.akami-footer{border-top:0;background:linear-gradient(155deg,#17345e 0%,#102b50 58%,#071d3b 100%);padding:0 0 1px}
.akami-footer__scene{height:240px;min-height:180px}
.akami-footer__main{grid-template-columns:minmax(0,2fr) minmax(0,3.3fr);gap:0;padding:4.25rem 0 5rem}
.akami-footer__brand{padding-right:3rem}
.akami-footer__columns{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:2.5rem;padding-left:3rem;border-left:1px solid rgba(255,255,255,.2)}
.akami-footer__heading{display:flex;width:100%;align-items:center;justify-content:space-between;gap:.5rem;border:0;background:none;padding:0 0 .75rem;text-align:left;cursor:default}
.akami-footer__heading span:first-child{position:relative}
.akami-footer__heading span:first-child:after{content:"";position:absolute;left:0;bottom:-.75rem;width:54px;height:4px;background:#f47716}
.akami-footer__chevron{display:none}
.akami-footer__column>ul>li>a{font-size:1rem;padding:.42rem 0}
.akami-footer__cats{color:#e6ecf7;font-weight:400;font-size:1rem;line-height:1.6}
.akami-footer__cats span{color:#f47716;padding:0 .35rem}
.akami-footer__socials{margin-top:1.5rem}
.akami-footer__socials a{width:58px;height:58px;background:rgba(117,153,204,.2);border:0}
.akami-footer__about{font-size:1.15rem;line-height:1.65}
.akami-footer__bottom{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-top:1px solid rgba(255,255,255,.32);background:transparent;padding:1.4rem 0}
.akami-footer__bottom .akami-footer__inner{width:100%}
.akami-footer__bottom-inner{border:0}
.akami-footer__copy,.akami-footer__legal a{font-size:1rem}
@media(max-width:999px){
 .akami-footer{width:calc(100% - 32px);margin:0 auto;border-radius:5px;padding:0 24px}
 .akami-footer__inner{width:100%}
 .akami-footer__main{display:flex;flex-direction:column;gap:2rem;padding:2.5rem 0 3rem}
 .akami-footer__brand{padding:0}
 .akami-footer__logo img{max-height:72px}
 .akami-footer__about{font-size:1.15rem;max-width:38ch}
 .akami-footer__cats{font-size:1rem}
 .akami-footer__socials a{width:58px;height:58px}
 .akami-footer__columns{display:flex;flex-direction:column;gap:0;padding:0;border:0}
 .akami-footer__column{margin:0!important;padding:1.1rem 0;border-top:1px solid rgba(255,255,255,.24)}
 .akami-footer__heading{cursor:pointer;font-size:1.25rem;margin:0;padding:0 .1rem .8rem}
 .akami-footer__heading span:first-child:after{bottom:-.8rem;width:64px;height:4px}
 .akami-footer__chevron{display:block;width:11px;height:11px;border-top:2px solid #fff;border-left:2px solid #fff;transform:rotate(45deg);transition:transform .2s;margin-right:.3rem}
 .akami-footer__heading[aria-expanded="false"] .akami-footer__chevron{transform:rotate(225deg)}
 .akami-footer__link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.3rem;padding-top:.7rem!important}
 .akami-footer__link-grid li{margin:0}
 .akami-footer__link-grid a{display:flex!important;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .1rem!important;font-size:1.05rem}
 .akami-footer__link-grid a:after{content:"›";font-size:1.6rem;line-height:1}
 .akami-footer__contact .akami-footer__body{padding-top:.8rem}
 .akami-footer__details li{font-size:1.05rem;padding:.4rem 0}
 .akami-footer__help{display:block;margin-top:.8rem;font-size:1.08rem}.akami-footer__note{display:block;margin:.35rem 0 .8rem;font-size:.95rem;line-height:1.5}.akami-footer__rule{display:block;margin:.8rem 0;border:0;border-top:1px solid rgba(255,255,255,.2)}.akami-footer__cta{display:inline-flex;margin-top:.15rem;padding:.6rem 1rem;font-size:1rem}
 .akami-footer__bottom{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.7rem;padding:1.5rem 0 1.1rem;border-top:1px solid rgba(255,255,255,.35)}
 .akami-footer__copy{font-size:1rem}
 .akami-footer__legal{justify-content:center}
 .akami-footer__legal a{font-size:.95rem}
 .akami-footer__scene{height:230px;min-height:200px}
}
@media(max-width:480px){.akami-footer{width:calc(100% - 20px);padding:0 18px}.akami-footer__link-grid{column-gap:.8rem}.akami-footer__link-grid a{font-size:.95rem}.akami-footer__socials{gap:.65rem}}

.akami-footer [hidden]{display:none!important}


/* =========================================================
   AKAMI marketplace-inspired homepage refresh (v1.0.2)
   Keeps existing product, service, menu and inquiry routes.
   ========================================================= */
:root{--container:1440px;--navy:#1f3864;--navy-dark:#030b13;--orange:#f45b0b;--orange-dark:#d94a00;--gold:#c9a84c}
body{background:#f7f8fa;color:#101722}
.site-header{background:#030b13;border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 8px 24px rgba(0,0,0,.12)}
.header-inner{min-height:78px;gap:1rem}
.site-logo-text{color:#fff}
.custom-logo{max-height:56px}
.main-nav a{color:#f7f8fa}
.main-nav a:hover,.main-nav .current-menu-item>a{color:var(--orange)}
@media(min-width:960px){.main-nav ul{gap:.35rem}.main-nav a{padding:.6rem .72rem;font-size:.96rem}.site-branding{margin-right:1.3rem}.header-cta{padding:.72rem 1.25rem;font-size:1rem}}
.nav-toggle .bars,.nav-toggle .bars::before,.nav-toggle .bars::after{background:#fff}
.nav-toggle,.search-toggle,.account-link,.cart-link{color:#fff}
.main-nav{background:#030b13}
@media(max-width:959px){.main-nav{border-bottom:1px solid rgba(255,255,255,.1)}.main-nav a{border-color:rgba(255,255,255,.1)}}
.hero{background:#030b13;min-height:590px;padding-bottom:86px;overflow:visible}
.hero.has-image::after{background:linear-gradient(90deg,rgba(2,9,16,.96) 0%,rgba(2,9,16,.83) 34%,rgba(2,9,16,.28) 76%,rgba(2,9,16,.12) 100%)}
.hero::before{display:none}
.hero-inner{max-width:var(--container);display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:480px;padding-top:3rem;padding-bottom:2rem}
.hero-copy{position:relative;z-index:2;max-width:650px;padding:1.4rem 0 2rem}
.hero-kicker{color:var(--orange);font-size:.96rem;font-weight:800;letter-spacing:.045em;margin:0 0 1rem;text-transform:uppercase}
.hero-kicker span{padding:0 .18rem;color:#ff7b2b}
.hero h1{font-size:clamp(2.5rem,5.2vw,4.25rem);line-height:1.08;letter-spacing:-.035em;max-width:13ch;margin:0 0 1rem;color:#fff;font-weight:850}
.hero-text{font-size:clamp(1rem,1.3vw,1.18rem);line-height:1.75;color:#e1e6ed;max-width:56ch;margin:0}
.hero .btn-row{gap:.85rem;margin-top:1.7rem}
.hero .btn{font-size:1rem;padding:.95rem 1.45rem;border-radius:10px;min-height:54px}
.hero .btn-outline-light{border-color:rgba(255,255,255,.8);color:#fff}
.hero .btn-ghost{display:none}
.hero-proof{position:relative;z-index:2;display:flex;align-items:center;gap:.8rem;max-width:250px;padding:1.1rem 1.2rem;background:rgba(7,15,25,.78);border:1px solid rgba(255,255,255,.12);border-radius:14px;color:#fff;backdrop-filter:blur(10px);align-self:flex-start;margin-top:2rem}
.proof-mark{display:grid;place-items:center;flex:0 0 42px;height:42px;border:2px solid var(--orange);border-radius:50%;font-size:1.5rem;font-weight:800;color:var(--orange)}
.hero-proof strong,.hero-proof small{display:block}.hero-proof strong{font-size:.9rem;line-height:1.35}.hero-proof small{font-size:.76rem;color:#c9d0db;line-height:1.5;margin-top:.18rem}
.hero-search-wrap{position:absolute;z-index:5;left:50%;bottom:-32px;transform:translateX(-50%);width:100%}
.hero-search{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;align-items:stretch;gap:0;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:.7rem;box-shadow:0 14px 40px rgba(0,0,0,.18)}
.hero-search-field{display:flex;align-items:center;gap:.85rem;min-width:0;padding:.65rem 1rem;border-right:1px solid #e5e7eb}
.search-symbol{font-size:2rem;line-height:1;color:#111b2a;flex:0 0 auto}
.search-field-copy{display:flex;flex-direction:column;gap:.15rem;min-width:0;width:100%}
.search-field-copy strong{font-size:.83rem;color:#111827;font-weight:800}
.search-field-copy input,.search-field-copy select{width:100%;min-width:0;border:0;outline:0;background:transparent;padding:0;color:#5b6475;font:inherit;font-size:.96rem;box-shadow:none}
.search-field-copy input:focus,.search-field-copy select:focus{outline:0;box-shadow:none}
.hero-search-submit{min-width:150px;display:flex;align-items:center;justify-content:center;gap:.55rem;font-size:1rem;padding:.8rem 1.3rem;margin-left:.7rem;border-radius:10px}
.hero-search-submit span{font-size:1.5rem;line-height:1}
.front-page .section{padding:3.3rem 0}
.front-page .section:first-of-type{padding-top:4.6rem}
.front-page .section-alt{background:#f5f7fa}
.front-page .section-head h2{color:#101722;font-weight:850;letter-spacing:-.025em}
.front-page .section-head h2::after{background:var(--orange);height:4px;border-radius:4px}
.front-page .grid-cats{gap:1rem}
.front-page .cat-card{position:relative;justify-content:center;min-height:126px;padding:1.15rem 1.15rem 1.15rem 1.35rem;background:#151c24;border:1px solid rgba(255,255,255,.04);border-left:0;border-radius:13px;box-shadow:none;color:#fff;transition:transform .2s,background .2s}
.front-page .cat-card::before{content:"";position:absolute;left:0;top:18%;bottom:18%;width:4px;border-radius:0 4px 4px 0;background:var(--orange)}
.front-page .cat-card:hover{transform:translateY(-3px);background:#202a35;border-left:0;box-shadow:0 10px 24px rgba(0,0,0,.12)}
.front-page .cat-card img{display:none}
.front-page .cat-name{font-size:1.05rem;color:#fff}
.front-page .cat-count{font-size:.88rem;color:#c7cdd6}
.front-page .grid-why{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.front-page .why-item{display:grid;grid-template-columns:56px 1fr;column-gap:.9rem;align-content:center;min-height:125px;padding:1rem 1.15rem;background:#fff;border:0;border-right:1px solid #e4e7eb;border-radius:0;box-shadow:none}
.front-page .why-icon{grid-row:span 2;width:54px;height:54px;margin:0;align-self:center;border-radius:15px;background:#fff0e8;position:relative}
.front-page .why-icon::after{content:"✓";display:grid;place-items:center;width:100%;height:100%;color:var(--orange);font-size:1.6rem;font-weight:900}
.front-page .why-item h3{font-size:1rem;color:#101722;margin:0 0 .2rem;align-self:end}
.front-page .why-item p{font-size:.9rem;line-height:1.45;color:#46505e}
.front-page .grid-products .card,.front-page .grid-services .card{border-radius:14px}
@media(min-width:960px){.hero{min-height:610px}.hero-inner{min-height:525px}.hero-copy{max-width:660px}.hero-search{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) auto}.front-page .grid-why{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:959px){.hero{min-height:0;padding-bottom:0}.hero-inner{min-height:0;display:block;padding-top:3rem;padding-bottom:6.3rem}.hero-copy{padding:0;max-width:620px}.hero-proof{display:none}.hero-search-wrap{bottom:-52px}.hero-search{grid-template-columns:1fr auto;padding:.55rem}.hero-search-field{padding:.5rem .6rem}.hero-category-field{display:none}.hero-search-submit{min-width:100px;padding:.7rem .8rem;margin-left:.3rem}.front-page .section:first-of-type{padding-top:5.6rem}}
@media(max-width:600px){.header-inner{min-height:68px}.custom-logo{max-height:44px}.hero-inner{padding-top:2.4rem;padding-bottom:5.8rem}.hero-kicker{font-size:.78rem;margin-bottom:.8rem}.hero h1{font-size:clamp(2.2rem,10vw,3.15rem);max-width:12ch}.hero-text{font-size:1rem;line-height:1.6}.hero .btn-row{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:1.3rem}.hero .btn{font-size:.9rem;padding:.82rem .55rem;min-height:48px}.hero .btn-ghost{display:none}.hero-search-wrap{bottom:-48px}.hero-search{border-radius:13px}.hero-search-field{gap:.5rem;padding:.4rem .35rem}.search-symbol{font-size:1.6rem}.search-field-copy strong{font-size:.72rem}.search-field-copy input{font-size:.83rem}.hero-search-submit{min-width:44px;font-size:0;padding:.65rem .8rem}.hero-search-submit span{font-size:1.4rem}.front-page .section{padding:2.4rem 0}.front-page .section:first-of-type{padding-top:5rem}.front-page .grid-cats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.front-page .cat-card{min-height:108px;padding:.85rem .8rem .85rem 1rem}.front-page .cat-name{font-size:.94rem}.front-page .cat-count{font-size:.78rem}.front-page .grid-why{grid-template-columns:1fr;gap:0}.front-page .why-item{grid-template-columns:48px 1fr;min-height:100px;padding:.8rem .4rem;border-right:0;border-bottom:1px solid #e4e7eb}.front-page .why-icon{width:44px;height:44px;border-radius:12px}.front-page .why-item h3{font-size:.95rem}.front-page .why-item p{font-size:.84rem}}

/* Homepage section layering to echo the supplied reference layout. */
.front-page .section-home-categories{background:#030b13;padding-top:2.6rem;padding-bottom:5.5rem}
.front-page .section-home-categories .section-head h2{color:#fff}
.front-page .section-home-categories .section-head h2::after{background:var(--orange)}
.front-page .section-home-why{position:relative;z-index:3;margin-top:-3rem;padding-top:0!important;background:transparent}
.front-page .section-home-why .container{padding:2rem 2rem 1.5rem;background:#fff;border-radius:18px;box-shadow:0 16px 40px rgba(12,22,35,.10)}
.front-page .section-home-why .section-head{justify-content:center;text-align:center;margin-bottom:1.2rem}
.front-page .section-home-why .section-head h2::after{left:50%;transform:translateX(-50%)}
@media(max-width:600px){.front-page .section-home-categories{padding-top:2rem;padding-bottom:4.5rem}.front-page .section-home-why{margin-top:-2.5rem}.front-page .section-home-why .container{padding:1.25rem .9rem 1rem;border-radius:14px}}

/* v1.0.3 mobile layout fix: keep the search panel in document flow so it
   cannot cover the Shop by category heading or category content. */
@media (max-width: 959px) {
  .hero {
    padding-bottom: 0;
    overflow: hidden;
  }
  .hero-inner {
    padding-bottom: 2rem;
  }
  .hero-search-wrap {
    position: relative;
    inset: auto;
    left: auto;
    bottom: auto;
    transform: none;
    width: 100%;
    margin: 0 auto;
  }
  .hero-search {
    width: 100%;
    box-sizing: border-box;
  }
  .front-page .section-home-categories {
    padding-top: 2rem;
  }
}

/* Make the empty-catalog message fit the dark homepage design. */
.front-page .section-home-categories .empty-state {
  max-width: 760px;
  margin: 0 auto;
  padding: 1.5rem 1.25rem;
  color: #e7ebf1;
  background: #151c24;
  border: 1px solid rgba(255,255,255,.12);
  border-style: solid;
  border-radius: 14px;
  box-shadow: none;
}
.front-page .section-home-categories .empty-state h3 {
  color: #fff;
  margin-top: 0;
  font-size: clamp(1.15rem, 4vw, 1.5rem);
}
.front-page .section-home-categories .empty-state p {
  color: #c9d0db;
  margin-bottom: .8rem;
}
.front-page .section-home-categories .empty-state .btn {
  margin-top: .25rem;
  padding: .75rem 1.2rem;
  font-size: 1rem;
}
@media (max-width: 600px) {
  .front-page .section-home-categories .empty-state {
    padding: 1.25rem 1rem;
  }
  .front-page .section-home-categories .empty-state p {
    font-size: .95rem;
    line-height: 1.6;
  }
}


/* Homepage refinements: clearer category discovery and more balanced mobile hero. */
.front-page .cat-card-suggested {
  align-items: flex-start;
  justify-content: center;
  gap: .45rem;
  min-height: 142px;
  padding: 1.1rem;
}
.front-page .cat-card-toprow {
  display: flex;
  align-items: center;
  align-self: flex-start;
  flex-wrap: wrap;
  gap: .65rem;
  width: 100%;
  margin-bottom: .15rem;
}
.front-page .cat-suggested-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  margin-bottom: 0;
  border-radius: 10px;
  color: #ff6818;
  background: rgba(255, 104, 24, .12);
  font-size: 1.35rem;
  font-weight: 800;
}
.front-page .cat-card-suggested .cat-name { line-height: 1.3; }
.front-page .cat-coming-soon {
  display: inline-flex;
  align-items: center;
  align-self: center;
  flex: 0 0 auto;
  width: fit-content;
  margin: 0;
  padding: .24rem .58rem;
  border-radius: 999px;
  background: #e8621a;
  color: #fff;
  font-size: .72rem;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.front-page .cat-card-suggested .cat-count { color: #c9d0db; line-height: 1.45; }
.front-page .cat-card-suggested:hover .cat-suggested-icon { background: rgba(255, 104, 24, .2); }
@media (max-width: 600px) {
  .hero h1 { font-size: clamp(2.05rem, 9.1vw, 2.9rem); line-height: 1.07; max-width: 14ch; }
  .hero-inner { padding-top: 2.2rem; }
  .front-page .cat-card-suggested { min-height: 126px; padding: .85rem .8rem .9rem 1rem; }
  .front-page .cat-card-toprow { gap: .5rem; }
  .front-page .cat-suggested-icon { flex-basis: 32px; width: 32px; height: 32px; font-size: 1.1rem; }
  .front-page .cat-coming-soon { font-size: .64rem; padding: .22rem .48rem; }
}


/* v1.0.6: compact homepage search panel without changing its functionality. */
@media (min-width: 960px) {
  .hero-search-wrap { bottom: -26px; }
  .hero-search { padding: .45rem; border-radius: 14px; }
  .hero-search-field { padding: .4rem .85rem; gap: .7rem; }
  .hero-search-submit { padding: .65rem 1.1rem; min-width: 138px; }
  .front-page .section-home-categories { padding-top: 2.2rem; }
}
@media (max-width: 959px) {
  .hero-search { padding: .4rem; border-radius: 13px; }
  .hero-search-field { padding: .35rem .5rem; gap: .45rem; }
  .hero-search-submit { padding: .6rem .75rem; }
  .front-page .section-home-categories { padding-top: 1.6rem; }
}
@media (max-width: 600px) {
  .hero-search { padding: .3rem; }
  .hero-search-field { padding: .3rem .25rem; }
  .hero-search-submit { padding: .55rem .65rem; }
  .front-page .section-home-categories { padding-top: 1.4rem; }
}


/* v1.0.7: highlight the middle A in AKAMI wordmarks (header and footer fallback). */
.site-wordmark .site-wordmark-highlight,
.site-logo-text .site-wordmark-highlight { color: var(--orange, #E8621A) !important; }

/* Further compact the homepage search panel while preserving its controls and behavior. */
@media (min-width: 960px) {
  .hero-search-wrap { max-width: min(100% - 48px, 1320px); }
  .hero-search { min-height: 76px; padding: .35rem; }
  .hero-search-field { min-height: 60px; padding: .3rem .7rem; gap: .55rem; }
  .search-field-copy strong { font-size: .9rem; }
  .search-field-copy input, .search-field-copy select { font-size: .95rem; }
  .hero-search-submit { min-height: 56px; padding: .55rem 1rem; min-width: 120px; }
}
@media (max-width: 959px) {
  .hero-search-wrap { max-width: 100%; }
  .hero-search { min-height: 0; padding: .3rem; }
  .hero-search-field { min-height: 48px; padding: .25rem .4rem; }
  .search-field-copy strong { font-size: .72rem; }
  .search-field-copy input, .search-field-copy select { font-size: .82rem; }
  .hero-search-submit { min-height: 42px; padding: .45rem .65rem; min-width: 44px; }
}


/* v1.0.10: removed conflicting legacy positioning overrides; mobile/tablet search stays in normal flow. */

/* v1.0.9 DEBUG FIX: mobile hero search must stay in normal flow.
   Earlier compact-search overrides reintroduced negative bottom offsets,
   clipping the search panel and letting it overlap Shop by category. */
@media (max-width: 959px) {
  .front-page .hero {
    overflow: visible !important;
    padding-bottom: 0 !important;
  }
  .front-page .hero-inner {
    padding-bottom: 1.25rem !important;
  }
  .front-page .hero-search-wrap {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: calc(100% - 30px) !important;
    max-width: var(--container) !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
  }
  .front-page .hero-search {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .front-page .section-home-categories {
    padding-top: 1.5rem !important;
  }
}
@media (max-width: 600px) {
  .front-page .hero-inner {
    padding-bottom: 1rem !important;
  }
  .front-page .hero-search-wrap {
    width: calc(100% - 30px) !important;
  }
  .front-page .section-home-categories {
    padding-top: 1.4rem !important;
  }
}


/* v1.0.11: shorter mobile search panel, restore the original full container width. */
@media (max-width: 959px) {
  .front-page .hero-search-wrap {
    width: 100% !important;
    max-width: var(--container) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }
  .front-page .hero-search {
    min-height: 0 !important;
    padding: 2px !important;
    gap: 0 !important;
  }
  .front-page .hero-search-field {
    min-height: 34px !important;
    padding: 2px 5px !important;
    gap: 5px !important;
  }
  .front-page .hero-search-submit {
    min-height: 30px !important;
    padding: 3px 7px !important;
    line-height: 1.1 !important;
  }
}
@media (max-width: 600px) {
  .front-page .hero-search-wrap {
    width: 100% !important;
  }
  .front-page .hero-search-field {
    min-height: 32px !important;
    padding: 1px 4px !important;
  }
  .front-page .search-symbol {
    font-size: 1.25rem !important;
  }
  .front-page .search-field-copy strong {
    font-size: .66rem !important;
    line-height: 1.15 !important;
  }
  .front-page .search-field-copy input {
    font-size: .76rem !important;
    line-height: 1.2 !important;
  }
  .front-page .hero-search-submit {
    min-height: 29px !important;
    padding: 3px 6px !important;
  }
  .front-page .hero-search-submit span svg {
    width: 18px !important;
    height: 18px !important;
  }
}

/* v1.0.13: homepage hero search is desktop/laptop only; hide on phone and tablet. */
@media (max-width: 1024px) {
  .front-page .hero-search-wrap {
    display: none !important;
  }
}
@media (min-width: 1025px) {
  .front-page .hero-search-wrap {
    display: block !important;
  }
}


/* v1.0.16: widen desktop search bar beyond the hero inner container while preserving visibility. */
@media (min-width: 1025px) {
  .front-page .hero-search-wrap {
    left: 50% !important;
    width: min(calc(100vw - 96px), 1700px) !important;
    max-width: none !important;
    transform: translateX(-50%) !important;
    box-sizing: border-box !important;
  }
  .front-page .hero-search {
    min-height: 0 !important;
    padding: .35rem !important;
    box-sizing: border-box !important;
  }
  .front-page .hero-search-field {
    min-height: 50px !important;
    padding: 4px 10px !important;
    gap: 8px !important;
    box-sizing: border-box !important;
  }
  .front-page .hero-search-submit {
    min-height: 46px !important;
    padding: 8px 16px !important;
    min-width: 108px !important;
    box-sizing: border-box !important;
  }
}


/* AKAMI storefront refinement v1.0.17
   Consistent premium product cards for the built-in catalog, WooCommerce,
   and Elementor's WooCommerce Products widget. */
:root {
  --akami-card-title: #1F3864;
  --akami-card-border: #E5E7EB;
  --akami-page-bg: #F5F7FA;
}

/* Built-in AKAMI catalog cards */
.grid-products .product-card {
  border: 1px solid var(--akami-card-border);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(31, 56, 100, .06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.grid-products .product-card:hover {
  transform: translateY(-2px);
  border-color: #d4dbe6;
  box-shadow: 0 8px 22px rgba(31, 56, 100, .12);
}
.grid-products .product-card .card-media {
  aspect-ratio: 1 / 1;
  background: #fff;
  padding: 8px;
}
.grid-products .product-card .card-media img {
  object-fit: contain;
}
.grid-products .product-card .card-body {
  padding: 10px 12px 12px;
}
.grid-products .product-card .card-title {
  font-size: 14px;
  line-height: 1.45;
  font-weight: 650;
  margin: 0 0 9px;
}
.grid-products .product-card .card-title a {
  color: var(--akami-card-title);
  text-decoration: none;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
.grid-products .product-card .card-title a:hover {
  color: var(--orange-dark);
}
.grid-products .product-card .card-price {
  color: var(--navy);
  font-size: 15px;
  line-height: 1.4;
  font-weight: 750;
  margin: auto 0 10px;
}
.grid-products .product-card .card-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 7px;
  margin-top: auto;
}
.grid-products .product-card .card-actions .btn {
  width: 100%;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 8px;
  border-radius: 7px;
  font-size: 12px;
  line-height: 1.25;
  font-weight: 700;
  white-space: normal;
}
.grid-products .product-card .card-actions .btn:not(.btn-outline) {
  background: var(--navy);
  border-color: var(--navy);
  color: #fff;
}
.grid-products .product-card .card-actions .btn:not(.btn-outline):hover {
  background: var(--orange);
  border-color: var(--orange);
  color: #fff;
}
.grid-products .product-card .card-actions .btn-outline {
  background: #fff;
  border-color: var(--navy);
  color: var(--navy);
}
.grid-products .product-card .card-actions .btn-outline:hover {
  background: var(--navy);
  color: #fff;
}

/* WooCommerce default loop and Elementor WooCommerce product widgets */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px !important;
  margin: 0 !important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
  display: none !important;
  content: none !important;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.elementor-widget-woocommerce-products ul.products li.product,
.elementor-widget-wc-archive-products ul.products li.product {
  float: none !important;
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  padding: 8px 8px 12px !important;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--akami-card-border);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(31, 56, 100, .06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover,
.elementor-widget-woocommerce-products ul.products li.product:hover,
.elementor-widget-wc-archive-products ul.products li.product:hover {
  transform: translateY(-2px);
  border-color: #d4dbe6;
  box-shadow: 0 8px 22px rgba(31, 56, 100, .12);
}
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img,
.elementor-widget-woocommerce-products ul.products li.product a img,
.elementor-widget-wc-archive-products ul.products li.product a img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  margin: 0 0 4px !important;
  padding: 0;
  background: #fff;
  border-radius: 8px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.elementor-widget-woocommerce-products .woocommerce-loop-product__title,
.elementor-widget-wc-archive-products .woocommerce-loop-product__title {
  color: var(--akami-card-title);
  font-size: 14px !important;
  font-weight: 650;
  line-height: 1.45;
  padding: 0 !important;
  margin: 0 0 9px !important;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.elementor-widget-woocommerce-products ul.products li.product .price,
.elementor-widget-wc-archive-products ul.products li.product .price {
  color: var(--navy) !important;
  font-size: 15px !important;
  line-height: 1.4;
  font-weight: 750;
  margin: auto 0 10px !important;
}
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button,
.elementor-widget-woocommerce-products ul.products li.product .button,
.elementor-widget-wc-archive-products ul.products li.product .button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 42px;
  margin: 7px 0 0 !important;
  padding: 10px 8px !important;
  border: 1px solid var(--navy) !important;
  border-radius: 7px !important;
  background: var(--navy) !important;
  color: #fff !important;
  font-size: 12px !important;
  line-height: 1.25;
  font-weight: 700;
  text-align: center;
  white-space: normal;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce-page ul.products li.product .button:hover,
.elementor-widget-woocommerce-products ul.products li.product .button:hover,
.elementor-widget-wc-archive-products ul.products li.product .button:hover {
  background: var(--orange) !important;
  border-color: var(--orange) !important;
  color: #fff !important;
}
.woocommerce span.onsale,
.woocommerce-page span.onsale {
  top: 8px !important;
  left: 8px !important;
  min-height: 0;
  min-width: 0;
  padding: 5px 8px;
  border-radius: 5px;
  background: var(--orange);
  color: #fff;
  font-size: 11px;
  line-height: 1.2;
}
.woocommerce .woocommerce-result-count,
.woocommerce-page .woocommerce-result-count {
  color: var(--muted);
  font-size: 13px;
}
.woocommerce .woocommerce-ordering select,
.woocommerce-page .woocommerce-ordering select {
  max-width: 100%;
  padding: 9px 30px 9px 10px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fff;
  color: var(--ink);
  font: inherit;
}

/* Give ordinary WordPress pages the same restrained AKAMI surface. */
.site-main:not(.front-page) .entry-content {
  color: var(--ink);
}
.site-main:not(.front-page) .entry-content h2,
.site-main:not(.front-page) .entry-content h3 {
  color: var(--navy);
}
.site-main:not(.front-page) .entry-content a:not(.btn) {
  text-underline-offset: 3px;
}
.site-main:not(.front-page) .entry-content blockquote {
  margin: 1.5rem 0;
  padding: 1rem 1.25rem;
  border-left: 4px solid var(--orange);
  background: var(--bg-alt);
  border-radius: 0 8px 8px 0;
}

@media (min-width: 600px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px !important;
  }
}
@media (min-width: 960px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px !important;
  }
}
@media (max-width: 380px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    gap: 8px !important;
  }
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product {
    padding: 6px 6px 9px !important;
  }
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce-page ul.products li.product .woocommerce-loop-product__title {
    font-size: 13px !important;
  }
}


/* AKAMI single product layout refinement v1.0.20 */
.woocommerce div.product .summary .akami-product-sku { margin: 0 0 .45rem; color: #526174; font-size: .88rem; font-weight: 600; }
.woocommerce div.product .summary > .product_title { margin-top: 0; margin-bottom: .55rem; }
.woocommerce div.product .summary > .price { margin: .25rem 0 .8rem; display: block; }
.woocommerce div.product .summary form.cart { margin: .65rem 0 1rem; }
.woocommerce div.product .summary .woocommerce-product-details__short-description { display: none !important; }
.woocommerce div.product .product_meta { display: none !important; }
.woocommerce div.product .akami-product-taxonomy { clear: both; margin: 1.25rem 0 1.5rem; padding: 1rem 0; border-top: 1px solid #dce2e9; border-bottom: 1px solid #dce2e9; color: #526174; font-size: .9rem; line-height: 1.7; }
.woocommerce div.product .akami-product-taxonomy a { overflow-wrap: anywhere; }
.woocommerce div.product .akami-product-taxonomy > div + div { margin-top: .25rem; }
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs { display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; margin-top: 8px !important; }
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li { width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important; }
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li img { display: block; width: 100% !important; height: 64px !important; object-fit: contain; padding: 4px; border: 1px solid #e2e6eb; border-radius: 8px; background: #fff; opacity: .72; }
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active { opacity: 1; border-color: #f56619; }
.woocommerce div.product .woocommerce-product-gallery__image img { max-height: 460px; width: 100%; object-fit: contain; }
@media (max-width: 767px) {
  .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 5px; }
  .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li img { height: 54px !important; }
  .woocommerce div.product .woocommerce-product-gallery__image img { max-height: 360px; }
}


/* AKAMI product-page controls and polish v1.0.21 */
.woocommerce div.product .reset_variations { display: none !important; }
.woocommerce div.product .summary .enquire-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1rem; }
.woocommerce div.product .summary .enquire-actions .btn { margin: 0; }
.woocommerce div.product .summary .enquire-actions a { text-decoration: none; }
.woocommerce div.product .summary .enquire-actions .btn-outline { border: 1px solid var(--navy, #1f3864); }
.woocommerce div.product .summary .enquire-actions .btn:focus-visible, .woocommerce div.product .summary .enquire-actions a:focus-visible { outline: 3px solid #f56619; outline-offset: 3px; }
.woocommerce div.product .inquiry-section { scroll-margin-top: 100px; }
@media (max-width: 767px) { .woocommerce div.product .summary .enquire-actions { gap: .6rem; } .woocommerce div.product .summary .enquire-actions .btn { flex: 1 1 auto; text-align: center; } .woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; } }


/* AKAMI responsive marketplace product cards v1.0.22
   Scoped to shop/category/search listings; single product layout is unaffected. */
body.woocommerce-shop .site-main > .container,
body.post-type-archive-product .site-main > .container,
body.tax-product_cat .site-main > .container,
body.tax-product_tag .site-main > .container,
body.woocommerce-shop .woo-wrap,
body.post-type-archive-product .woo-wrap,
body.tax-product_cat .woo-wrap {
  width: min(100% - 32px, 1280px);
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}
body.woocommerce-shop ul.products,
body.post-type-archive-product ul.products,
body.tax-product_cat ul.products,
body.tax-product_tag ul.products,
body.woocommerce-shop .woocommerce ul.products,
body.post-type-archive-product .woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch;
  width: 100% !important;
  max-width: none !important;
  gap: 16px !important;
  padding: 0 !important;
  margin: 18px 0 28px !important;
  box-sizing: border-box;
}
body.woocommerce-shop ul.products li.product,
body.post-type-archive-product ul.products li.product,
body.tax-product_cat ul.products li.product,
body.tax-product_tag ul.products li.product {
  position: relative;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 12px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch;
  background: #fff;
  border: 1px solid #e2e7ee;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(31,56,100,.06);
  overflow: hidden;
  box-sizing: border-box;
}
body.woocommerce-shop ul.products li.product:hover,
body.post-type-archive-product ul.products li.product:hover,
body.tax-product_cat ul.products li.product:hover,
body.tax-product_tag ul.products li.product:hover {
  border-color: #cbd5e1;
  box-shadow: 0 6px 18px rgba(31,56,100,.11);
}
body.woocommerce-shop ul.products li.product a.woocommerce-LoopProduct-link,
body.post-type-archive-product ul.products li.product a.woocommerce-LoopProduct-link,
body.tax-product_cat ul.products li.product a.woocommerce-LoopProduct-link,
body.tax-product_tag ul.products li.product a.woocommerce-LoopProduct-link {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  color: inherit;
  text-decoration: none;
  min-width: 0;
}
body.woocommerce-shop ul.products li.product a img,
body.post-type-archive-product ul.products li.product a img,
body.tax-product_cat ul.products li.product a img,
body.tax-product_tag ul.products li.product a img {
  display: block;
  width: 100% !important;
  height: 190px !important;
  min-height: 190px;
  max-height: 190px;
  object-fit: contain !important;
  margin: 0 0 12px !important;
  padding: 8px;
  border-radius: 8px;
  background: #fff;
  box-sizing: border-box;
}
body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
body.tax-product_tag ul.products li.product .woocommerce-loop-product__title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  min-height: 3.9em;
  padding: 0 !important;
  margin: 0 0 8px !important;
  color: #172b4d;
  font-size: 14px !important;
  font-weight: 600;
  line-height: 1.35;
}
body.woocommerce-shop ul.products li.product .price,
body.post-type-archive-product ul.products li.product .price,
body.tax-product_cat ul.products li.product .price,
body.tax-product_tag ul.products li.product .price {
  display: block;
  margin: 0 0 10px !important;
  color: #172b4d !important;
  font-size: 17px !important;
  font-weight: 750;
  line-height: 1.35;
}
body.woocommerce-shop ul.products li.product .price del,
body.post-type-archive-product ul.products li.product .price del,
body.tax-product_cat ul.products li.product .price del,
body.tax-product_tag ul.products li.product .price del {
  color: #7b8492 !important;
  font-size: .82em;
  font-weight: 400;
}
body.woocommerce-shop ul.products li.product .price ins,
body.post-type-archive-product ul.products li.product .price ins,
body.tax-product_cat ul.products li.product .price ins,
body.tax-product_tag ul.products li.product .price ins {
  color: #b38a00 !important;
  text-decoration: none;
}
/* Keep variation choices available but compact on listing cards. */
body.woocommerce-shop ul.products li.product form.variations_form,
body.post-type-archive-product ul.products li.product form.variations_form,
body.tax-product_cat ul.products li.product form.variations_form,
body.tax-product_tag ul.products li.product form.variations_form {
  margin: 0 0 8px !important;
  font-size: 11px;
}
body.woocommerce-shop ul.products li.product .variations,
body.post-type-archive-product ul.products li.product .variations,
body.tax-product_cat ul.products li.product .variations,
body.tax-product_tag ul.products li.product .variations {
  margin: 0 0 6px !important;
}
body.woocommerce-shop ul.products li.product .variations td,
body.post-type-archive-product ul.products li.product .variations td,
body.tax-product_cat ul.products li.product .variations td,
body.tax-product_tag ul.products li.product .variations td {
  display: block;
  padding: 2px 0 !important;
}
body.woocommerce-shop ul.products li.product .variations select,
body.post-type-archive-product ul.products li.product .variations select,
body.tax-product_cat ul.products li.product .variations select,
body.tax-product_tag ul.products li.product .variations select {
  width: 100%;
  max-width: 100%;
  min-height: 34px;
  padding: 6px 8px;
  border: 1px solid #d7dde5;
  border-radius: 6px;
  background: #fff;
  font-size: 12px;
}
body.woocommerce-shop ul.products li.product .button,
body.post-type-archive-product ul.products li.product .button,
body.tax-product_cat ul.products li.product .button,
body.tax-product_tag ul.products li.product .button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  min-height: 40px;
  margin: 7px 0 0 !important;
  padding: 9px 8px !important;
  border-radius: 7px !important;
  background: #1f3864 !important;
  border: 1px solid #1f3864 !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  white-space: normal;
}
body.woocommerce-shop ul.products li.product .button:hover,
body.post-type-archive-product ul.products li.product .button:hover,
body.tax-product_cat ul.products li.product .button:hover,
body.tax-product_tag ul.products li.product .button:hover {
  background: #f56619 !important;
  border-color: #f56619 !important;
}
body.woocommerce-shop ul.products li.product .added_to_cart,
body.post-type-archive-product ul.products li.product .added_to_cart,
body.tax-product_cat ul.products li.product .added_to_cart,
body.tax-product_tag ul.products li.product .added_to_cart {
  display: block;
  margin-top: 6px;
  text-align: center;
  font-size: 12px;
}
body.woocommerce-shop ul.products li.product .star-rating,
body.post-type-archive-product ul.products li.product .star-rating,
body.tax-product_cat ul.products li.product .star-rating,
body.tax-product_tag ul.products li.product .star-rating {
  margin: 0 0 8px;
  font-size: 12px;
}
@media (min-width: 600px) {
  body.woocommerce-shop ul.products,
  body.post-type-archive-product ul.products,
  body.tax-product_cat ul.products,
  body.tax-product_tag ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }
}
@media (min-width: 1000px) {
  body.woocommerce-shop ul.products,
  body.post-type-archive-product ul.products,
  body.tax-product_cat ul.products,
  body.tax-product_tag ul.products {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }
  body.woocommerce-shop ul.products li.product a img,
  body.post-type-archive-product ul.products li.product a img,
  body.tax-product_cat ul.products li.product a img,
  body.tax-product_tag ul.products li.product a img {
    height: 210px !important;
    min-height: 210px;
    max-height: 210px;
  }
}
@media (max-width: 599px) {
  body.woocommerce-shop .site-main > .container,
  body.post-type-archive-product .site-main > .container,
  body.tax-product_cat .site-main > .container,
  body.tax-product_tag .site-main > .container,
  body.woocommerce-shop .woo-wrap,
  body.post-type-archive-product .woo-wrap,
  body.tax-product_cat .woo-wrap {
    width: calc(100% - 24px);
  }
  body.woocommerce-shop ul.products li.product,
  body.post-type-archive-product ul.products li.product,
  body.tax-product_cat ul.products li.product,
  body.tax-product_tag ul.products li.product {
    padding: 8px !important;
    border-radius: 10px;
  }
  body.woocommerce-shop ul.products li.product a img,
  body.post-type-archive-product ul.products li.product a img,
  body.tax-product_cat ul.products li.product a img,
  body.tax-product_tag ul.products li.product a img {
    height: 145px !important;
    min-height: 145px;
    max-height: 145px;
    padding: 4px;
    margin-bottom: 8px !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,
  body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
  body.tax-product_tag ul.products li.product .woocommerce-loop-product__title {
    font-size: 13px !important;
    min-height: 3.8em;
    -webkit-line-clamp: 3;
  }
  body.woocommerce-shop ul.products li.product .price,
  body.post-type-archive-product ul.products li.product .price,
  body.tax-product_cat ul.products li.product .price,
  body.tax-product_tag ul.products li.product .price {
    font-size: 15px !important;
  }
}


/* AKAMI v1.0.23: compact sale badge on shop/archive product cards. */
body.woocommerce-shop ul.products li.product span.onsale,
body.post-type-archive-product ul.products li.product span.onsale,
body.tax-product_cat ul.products li.product span.onsale,
body.tax-product_tag ul.products li.product span.onsale,
.woocommerce-page ul.products li.product span.onsale {
  position: absolute !important;
  top: 8px !important;
  left: 8px !important;
  right: auto !important;
  bottom: auto !important;
  display: inline-block !important;
  width: auto !important;
  max-width: max-content !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 5px 9px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: var(--orange, #f56619) !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-transform: none !important;
  transform: none !important;
  box-sizing: border-box !important;
  z-index: 3 !important;
}


/* AKAMI v1.0.24: compact two-column homepage cards on mobile. */
@media (max-width: 559px) {
  .front-page .grid-products,
  .front-page .grid-services {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    align-items: stretch;
  }
  .front-page .grid-products > li,
  .front-page .grid-services > li {
    min-width: 0;
  }
  .front-page .grid-products .card-media,
  .front-page .grid-services .card-media {
    aspect-ratio: 1 / 1;
    min-height: 0;
  }
  .front-page .grid-products .card-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #fff;
  }
  /* Homepage service photos match the Services page: 4:3 crop with cover. */
  .front-page .grid-services .card-media {
    aspect-ratio: 4 / 3 !important;
    overflow: hidden;
  }
  .front-page .grid-services .card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover !important;
    background: transparent;
  }
  .front-page .grid-products .card-body,
  .front-page .grid-services .card-body {
    padding: .7rem .7rem .8rem;
  }
  .front-page .grid-products .card-title,
  .front-page .grid-services .card-title {
    font-size: .9rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }
  .front-page .grid-products .card-price,
  .front-page .grid-products .product-price,
  .front-page .grid-services .card-body > p {
    font-size: .82rem;
    line-height: 1.4;
  }
  .front-page .grid-products .card-actions,
  .front-page .grid-services .card-actions {
    display: flex;
    flex-direction: column;
    gap: .4rem;
    padding-top: .5rem;
  }
  .front-page .grid-products .card-actions .btn,
  .front-page .grid-services .card-actions .btn {
    width: 100%;
    min-width: 0;
    font-size: .78rem;
    line-height: 1.25;
    padding: .55rem .45rem;
    text-align: center;
  }
  .front-page .grid-products .stock {
    font-size: .72rem;
    margin-bottom: .35rem;
  }
}
.akami-single-image-preview {
  margin: 8px 0;
  min-height: 8px;
}
.akami-single-image-preview img {
  display: block;
  width: auto;
  max-width: 160px;
  max-height: 110px;
  object-fit: contain;
  border: 1px solid #dcdcde;
  border-radius: 4px;
  background: #fff;
}


/* AKAMI service product-first layout v1.0.25 */
.single-akami_service .akami-service-entry > .entry-thumb { display: none !important; }
.single-akami_service .akami-service-entry > .woocommerce,
.single-akami_service .akami-service-entry > .wp-block-woocommerce-product-collection { margin: 0 0 2rem; }
.single-akami_service .akami-service-overview-title { margin-top: 2rem; }

/* AKAMI v1.0.26: single-column service content after removing duplicate contact CTAs */
@media (min-width: 860px) { .single-akami_service .service-grid--single { grid-template-columns: minmax(0, 1fr); } }


/* Service product layout v1.0.29: hide duplicate short description/category metadata. */
.single-akami_service .akami-service-entry .woocommerce div.product .summary{display:flex;flex-direction:column;align-items:stretch}
.single-akami_service .akami-service-entry .woocommerce div.product .summary .product_title{order:1}
.single-akami_service .akami-service-entry .woocommerce div.product .summary .woocommerce-product-details__short-description{display:none!important}
.single-akami_service .akami-service-entry .woocommerce div.product .product_meta{display:none!important}
.single-akami_service .akami-service-entry .woocommerce div.product .summary .price{order:3;margin:.25rem 0 .8rem}
.single-akami_service .akami-service-entry .woocommerce div.product .summary .variations_form,
.single-akami_service .akami-service-entry .woocommerce div.product .summary form.cart{order:4}
.akami-book-installation-cta{display:flex;width:100%;justify-content:center;align-items:center;margin:1.75rem auto 1.25rem;text-align:center}
.akami-book-installation-cta .btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;max-width:100%;min-height:62px;padding:1rem 2rem;border-radius:12px;font-size:1.12rem;font-weight:800;line-height:1.25;box-sizing:border-box}
.akami-service-product-categories{width:100%;margin:0 auto 2.25rem;text-align:center;color:var(--muted);font-size:1rem}
.akami-service-product-categories a{color:var(--navy);font-weight:600}
@media(max-width:640px){.akami-book-installation-cta{padding:0 1rem;margin:1.5rem auto 1rem;box-sizing:border-box}.akami-book-installation-cta .btn{width:100%;max-width:460px;min-height:64px;font-size:1.15rem}.akami-service-product-categories{margin-bottom:2.5rem}}


/* AKAMI v1.0.30 service page final override: robust selectors for embedded WooCommerce product shortcodes. */
body.single-akami_service .akami-service-entry .woocommerce-product-details__short-description,
body.single-akami_service .akami-service-entry .summary .woocommerce-product-details__short-description,
body.single-akami_service .akami-service-entry .wp-block-woocommerce-product-details .woocommerce-product-details__short-description {
  display: none !important;
}
body.single-akami_service .akami-service-entry .product_meta,
body.single-akami_service .akami-service-entry .product_meta .posted_in,
body.single-akami_service .akami-service-entry .posted_in,
body.single-akami_service .akami-service-entry .wp-block-woocommerce-product-meta {
  display: none !important;
}
body.single-akami_service .akami-book-installation-cta {
  position: relative !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  display: flex !important;
  width: min(720px, calc(100vw - 32px)) !important;
  max-width: calc(100vw - 32px) !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 2rem 0 1.5rem !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  text-align: center !important;
}
body.single-akami_service .akami-book-installation-cta .btn {
  display: inline-flex !important;
  width: min(100%, 560px) !important;
  max-width: 560px !important;
  min-height: 72px !important;
  padding: 1.15rem 2rem !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  font-size: 1.22rem !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  border-radius: 14px !important;
  box-sizing: border-box !important;
}
body.single-akami_service .akami-service-product-categories {
  position: relative !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: min(720px, calc(100vw - 32px)) !important;
  max-width: calc(100vw - 32px) !important;
  margin: 0 0 2.5rem !important;
  text-align: center !important;
  box-sizing: border-box !important;
}


/* AKAMI v1.0.31: tighten service booking spacing and style preferred contact field. */
body.single-akami_service .akami-service-entry > .woocommerce,
body.single-akami_service .akami-service-entry > .wp-block-woocommerce-product-collection {
  margin-bottom: .65rem !important;
}
body.single-akami_service .akami-service-entry .woocommerce div.product .summary .price {
  margin-bottom: .35rem !important;
}
body.single-akami_service .akami-service-entry .woocommerce div.product .summary .variations_form,
body.single-akami_service .akami-service-entry .woocommerce div.product .summary form.cart {
  margin-bottom: .35rem !important;
}
body.single-akami_service .akami-book-installation-cta {
  margin-top: .65rem !important;
  margin-bottom: .65rem !important;
}
body.single-akami_service .akami-service-product-categories {
  margin-bottom: 1.15rem !important;
}
body.single-akami_service .akami-service-entry > h2,
body.single-akami_service .akami-service-entry > .entry-content h2 {
  margin-top: 1.1rem;
}
body.single-akami_service .akami-service-entry > .check-list {
  margin-bottom: .75rem;
}
body.single-akami_service .site-main > .section {
  padding-bottom: .75rem !important;
}
body.single-akami_service .inquiry-section {
  padding-top: 1.25rem !important;
}
body.single-akami_service .akami-service-entry .check-list + h2 {
  margin-bottom: .5rem;
}
#inquiry-form .akami-form #f-contact-method {
  width: 100%;
}
@media (max-width: 640px) {
  body.single-akami_service .akami-book-installation-cta { margin-top: .5rem !important; margin-bottom: .5rem !important; }
  body.single-akami_service .akami-service-product-categories { margin-bottom: .85rem !important; }
  body.single-akami_service .site-main > .section { padding-bottom: .5rem !important; }
  body.single-akami_service .inquiry-section { padding-top: 1rem !important; }
}


/* AKAMI v1.0.32: paired service booking and WhatsApp CTAs, slightly more compact. */
body.single-akami_service .akami-service-cta-stack {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .6rem;
  margin: .55rem auto 1.15rem;
}
body.single-akami_service .akami-service-cta-stack .akami-book-installation-cta,
body.single-akami_service .akami-service-cta-stack .akami-service-whatsapp-cta {
  position: static !important;
  left: auto !important;
  transform: none !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: min(520px, calc(100vw - 32px)) !important;
  max-width: calc(100vw - 32px) !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  text-align: center !important;
}
body.single-akami_service .akami-service-cta-stack .btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 520px !important;
  min-height: 60px !important;
  padding: .9rem 1.25rem !important;
  border-radius: 12px !important;
  box-sizing: border-box !important;
  text-align: center !important;
  font-size: 1.08rem !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}
body.single-akami_service .akami-service-whatsapp-cta .btn {
  background: #16834a !important;
  border-color: #16834a !important;
  color: #fff !important;
}
body.single-akami_service .akami-service-whatsapp-cta .btn:hover,
body.single-akami_service .akami-service-whatsapp-cta .btn:focus {
  background: #116b3b !important;
  border-color: #116b3b !important;
  color: #fff !important;
}
@media (max-width: 640px) {
  body.single-akami_service .akami-service-cta-stack { gap: .55rem; margin-top: .45rem; margin-bottom: 1rem; }
  body.single-akami_service .akami-service-cta-stack .btn { min-height: 58px !important; font-size: 1.02rem !important; padding: .8rem 1rem !important; }
}


/* AKAMI v1.0.35: render service subtitle and linked product short description below the paired CTAs. */
body.single-akami_service .akami-service-subtitle,
body.single-akami_service .akami-service-product-subtitle {
  width: 100%;
  max-width: 100%;
  margin: .35rem 0 1rem;
  text-align: left;
  color: var(--muted, #596579);
  line-height: 1.65;
}
body.single-akami_service .akami-service-product-subtitle ul,
body.single-akami_service .akami-service-product-subtitle ol {
  margin-top: .4rem;
  margin-bottom: .5rem;
  padding-left: 1.35rem;
}
body.single-akami_service .akami-service-product-categories {
  width: 100% !important;
  margin: .25rem 0 2rem !important;
  text-align: left !important;
}


/* AKAMI v1.0.36: hide the linked product's native short description only in the product block.
   The service subtitle and product short description are intentionally shown below the CTAs. */
body.single-akami_service .akami-service-embedded-product .woocommerce-product-details__short-description,
body.single-akami_service .akami-service-embedded-product .wc-block-components-product-summary,
body.single-akami_service .akami-service-embedded-product .wp-block-post-excerpt,
body.single-akami_service .akami-service-embedded-product .wp-block-woocommerce-product-summary {
  display: none !important;
}


/* AKAMI v1.0.37: clearer variation labels and compact service-product spacing. */
body.single-akami_service .akami-service-embedded-product .variations th.label,
body.single-akami_service .akami-service-embedded-product .variations td.label,
body.single-akami_service .akami-service-embedded-product table.variations .label {
  text-align: left !important;
  vertical-align: middle !important;
  padding: .2rem .5rem .2rem 0 !important;
  white-space: normal !important;
}
body.single-akami_service .akami-service-embedded-product table.variations {
  margin: 0 0 .3rem !important;
  border-collapse: separate !important;
  border-spacing: 0 .2rem !important;
}
body.single-akami_service .akami-service-embedded-product table.variations td,
body.single-akami_service .akami-service-embedded-product table.variations th {
  padding-top: .2rem !important;
  padding-bottom: .2rem !important;
}
body.single-akami_service .akami-service-embedded-product table.variations select {
  max-width: 100% !important;
  min-height: 2rem !important;
  margin: 0 !important;
}
body.single-akami_service .akami-service-embedded-product .variations_form,
body.single-akami_service .akami-service-embedded-product form.cart,
body.single-akami_service .akami-service-embedded-product .single_variation_wrap {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
body.single-akami_service .akami-service-embedded-product .woocommerce-variation.single_variation,
body.single-akami_service .akami-service-embedded-product .woocommerce-variation-price {
  min-height: 0 !important;
  margin: .2rem 0 .35rem !important;
  padding: 0 !important;
}
body.single-akami_service .akami-service-embedded-product .woocommerce-variation-add-to-cart {
  margin: 0 !important;
  padding: 0 !important;
}
body.single-akami_service .akami-service-embedded-product > .woocommerce,
body.single-akami_service .akami-service-embedded-product .woocommerce div.product {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
body.single-akami_service .akami-service-cta-stack {
  margin-top: .25rem !important;
  gap: .5rem !important;
}
@media (max-width: 640px) {
  body.single-akami_service .akami-service-embedded-product table.variations {
    border-spacing: 0 .12rem !important;
  }
  body.single-akami_service .akami-service-embedded-product table.variations td.label,
  body.single-akami_service .akami-service-embedded-product table.variations th.label {
    padding-right: .35rem !important;
  }
  body.single-akami_service .akami-service-cta-stack {
    margin-top: .15rem !important;
  }
}


/* AKAMI v1.0.40: clearer variation prompt, compact description and CTA spacing. */
body.single-akami_service .akami-service-embedded-product .akami-variation-help {
  order: 3;
  margin: .15rem 0 .35rem !important;
  color: var(--muted, #596579);
  font-size: .9rem;
  line-height: 1.45;
}
body.single-akami_service .akami-service-entry .woocommerce div.product .summary .price {
  margin-bottom: .2rem !important;
}
body.single-akami_service .akami-service-entry .woocommerce div.product .summary .variations_form,
body.single-akami_service .akami-service-entry .woocommerce div.product .summary form.cart {
  margin-bottom: .1rem !important;
  padding-bottom: 0 !important;
}
body.single-akami_service .akami-service-cta-stack {
  margin: .15rem 0 .85rem !important;
  gap: .5rem !important;
}
body.single-akami_service .akami-service-subtitle,
body.single-akami_service .akami-service-product-subtitle {
  font-size: 1rem !important;
  line-height: 1.55 !important;
  margin: .3rem 0 .8rem !important;
  color: var(--muted, #596579);
}
body.single-akami_service .akami-service-product-subtitle p {
  margin: .25rem 0 !important;
}
body.single-akami_service .akami-service-product-subtitle ul,
body.single-akami_service .akami-service-product-subtitle ol {
  margin: .35rem 0 .55rem !important;
  padding-left: 1.25rem !important;
}
body.single-akami_service .akami-service-product-subtitle li {
  margin: .18rem 0 !important;
}
@media (max-width: 767px) {
  body.single-akami_service .akami-service-cta-stack {
    margin-top: .1rem !important;
    margin-bottom: .75rem !important;
  }
  body.single-akami_service .akami-service-embedded-product .akami-variation-help {
    font-size: .86rem;
    margin-bottom: .25rem !important;
  }
}


/* AKAMI v1.0.41: automotive guide cards match the homepage product/service row. */
.front-page .grid-guide-cards .card-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 559px) {
  .front-page .grid-guide-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    align-items: stretch;
  }
  .front-page .grid-guide-cards > li { min-width: 0; }
  .front-page .grid-guide-cards .card-media { aspect-ratio: 1 / 1; }
  .front-page .grid-guide-cards .card-body { padding: .7rem .7rem .8rem; }
  .front-page .grid-guide-cards .card-title { font-size: .9rem; line-height: 1.35; overflow-wrap: anywhere; }
  .front-page .grid-guide-cards .card-body > p { font-size: .82rem; line-height: 1.4; }
  .front-page .grid-guide-cards .more-link { font-size: .82rem; }
}




/* AKAMI v1.0.46: reliable mobile homepage product buttons (main.front-page, not body class). */
@media (max-width: 559px) {
  .front-page .grid-products,
  .front-page ul.grid-products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 12px !important;
  }
  .front-page .grid-products > li,
  .front-page .grid-products > li > .product-card {
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .front-page .grid-products .product-card {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }
  .front-page .grid-products .product-card .card-body {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .front-page .grid-products .product-card .card-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-flow: row !important;
    align-items: stretch !important;
    gap: 7px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-top: auto !important;
    padding-top: .6rem !important;
    box-sizing: border-box !important;
  }
  .front-page .grid-products .product-card .card-actions > a,
  .front-page .grid-products .product-card .card-actions > .btn,
  .front-page .grid-products .product-card .card-actions > a.btn {
    display: flex !important;
    float: none !important;
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 44px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 10px 6px !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    text-align: center !important;
    line-height: 1.25 !important;
  }
  /* Keep guide excerpts compact and cards aligned despite different excerpt lengths. */
  .front-page .grid-guide-cards .card-body > p:not(.card-kicker) {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 4 !important;
    overflow: hidden !important;
    line-height: 1.4 !important;
    max-height: calc(1.4em * 4) !important;
  }
}

/* Guide excerpts stay tidy on larger screens too. */
.front-page .grid-guide-cards .card-body > p:not(.card-kicker) {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  line-height: 1.5;
  max-height: calc(1.5em * 3);
}

/* AKAMI v1.0.46: prevent intermittent mobile whitespace on embedded service product pages.
   Stack the gallery and product summary in normal flow; remove stale slider heights. */
@media (max-width: 767px) {
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product .woocommerce-product-gallery {
    float: none !important;
    clear: both !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 0 .75rem !important;
    padding: 0 !important;
  }
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product .woocommerce-product-gallery .flex-viewport,
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__image {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product .woocommerce-product-gallery__image img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: 340px !important;
    object-fit: contain !important;
  }
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product .summary {
    float: none !important;
    clear: both !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product::before,
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product::after {
    display: none !important;
    content: none !important;
  }
}


/* AKAMI v1.0.75: match homepage service image framing to the Services page. */
.front-page .grid-services .card-media {
  aspect-ratio: 4 / 3;
  overflow: hidden;
}
.front-page .grid-services .card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* AKAMI v1.0.47: fix homepage service-card actions on narrow screens.
   Keep both actions inside each card and stack them like the product-card buttons. */
@media (max-width: 559px) {
  .front-page .grid-services {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 12px !important;
  }
  .front-page .grid-services > li,
  .front-page .grid-services > li > .service-card {
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .front-page .grid-services .service-card {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    height: 100% !important;
  }
  .front-page .grid-services .service-card .card-body {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .front-page .grid-services .service-card .card-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-flow: row !important;
    align-items: stretch !important;
    gap: 7px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-top: auto !important;
    padding-top: .6rem !important;
    box-sizing: border-box !important;
  }
  .front-page .grid-services .service-card .card-actions > a,
  .front-page .grid-services .service-card .card-actions > .btn,
  .front-page .grid-services .service-card .card-actions > a.btn {
    display: flex !important;
    float: none !important;
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 44px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 10px 6px !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    text-align: center !important;
    line-height: 1.25 !important;
  }
}


/* AKAMI v1.0.50: responsive Services Overview card grid.
   Keep two service cards per row on mobile, two on tablets, and three on desktop.
   Scope these refinements to the Services Overview page so homepage cards remain unchanged. */
.page-template-template-services .grid-services {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 1.25rem;
  width: 100%;
}
.page-template-template-services .grid-services > li {
  display: flex;
  min-width: 0;
}
.page-template-template-services .grid-services > li > .service-card {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  height: 100%;
  overflow: hidden;
}
.page-template-template-services .grid-services .card-media {
  aspect-ratio: 4 / 3;
  width: 100%;
  overflow: hidden;
}
.page-template-template-services .grid-services .card-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page-template-template-services .grid-services .card-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
}
.page-template-template-services .grid-services .card-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: .55rem;
  margin-top: auto;
  padding-top: .85rem;
}
.page-template-template-services .grid-services .card-actions .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  min-height: 44px;
  margin: 0;
  padding: .65rem .55rem;
  box-sizing: border-box;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
  font-size: .95rem;
  line-height: 1.25;
}
@media (min-width: 600px) {
  .page-template-template-services .grid-services {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
  }
}
@media (min-width: 960px) {
  .page-template-template-services .grid-services {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
  }
}
@media (max-width: 420px) {
  .page-template-template-services .grid-services {
    gap: .7rem;
  }
  .page-template-template-services .grid-services .card-actions {
    grid-template-columns: minmax(0, 1fr);
  }
}


/* AKAMI v1.0.53: consistent compact product cards on every page.
   These shared rules cover catalog pages, homepage product grids, search/archive
   results, WooCommerce loops and Elementor product widgets. Future pages using
   the same product-card markup inherit the same spacing automatically. */
.grid-products {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch;
  gap: 12px;
}
.grid-products > li {
  min-width: 0;
  max-width: 100%;
}
.grid-products .product-card .card-media {
  aspect-ratio: 4 / 3;
  padding: 4px;
  margin: 0;
  box-sizing: border-box;
  overflow: hidden;
  background: #fff;
}
.grid-products .product-card .card-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.grid-products .product-card .card-body {
  padding: 8px 10px 10px;
}

/* Keep WooCommerce and Elementor product grids compact on all pages too. */
.woocommerce ul.products,
.woocommerce-page ul.products,
.elementor-widget-woocommerce-products ul.products,
.elementor-widget-wc-archive-products 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,
.elementor-widget-woocommerce-products ul.products li.product a img,
.elementor-widget-wc-archive-products ul.products li.product a img {
  aspect-ratio: 4 / 3;
  object-fit: contain;
  margin: 0 0 4px !important;
  padding: 0;
  background: #fff;
}
@media (min-width: 960px) {
  .grid-products,
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .elementor-widget-woocommerce-products ul.products,
  .elementor-widget-wc-archive-products ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 1.25rem !important;
  }
}
@media (max-width: 420px) {
  .grid-products { gap: 8px; }
  .grid-products .product-card .card-body { padding: 7px; }
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .elementor-widget-woocommerce-products ul.products,
  .elementor-widget-wc-archive-products ul.products { gap: 8px !important; }
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product,
  .elementor-widget-woocommerce-products ul.products li.product,
  .elementor-widget-wc-archive-products ul.products li.product { padding: 6px !important; }
}


/* AKAMI v1.0.57: dashboard-controlled global page-title/content and footer spacing. */
body .page-header{padding-top:var(--akami-page-title-space,16px);padding-bottom:var(--akami-page-title-space,16px)}
body .page-header .breadcrumbs{margin-bottom:8px}
body .page-header h1{margin-bottom:0}
.akami-footer__main{padding-top:var(--akami-footer-main-top,40px);padding-bottom:var(--akami-footer-main-bottom,40px)}
.akami-footer__columns{column-gap:var(--akami-footer-columns-gap,32px)}
.akami-footer__column>ul>li{margin-bottom:var(--akami-footer-link-spacing,6px)}
.akami-footer__bottom{padding-top:var(--akami-footer-bottom-space,16px);padding-bottom:var(--akami-footer-bottom-space,16px)}

/* AKAMI v1.0.58: clearer reading experience for policy, return, blog and standard pages. */
.site-main:not(.front-page) .entry {
  min-width: 0;
}
.site-main:not(.front-page) .entry-content {
  font-size: 1.03rem;
  line-height: 1.8;
  overflow-wrap: anywhere;
}
.site-main:not(.front-page) .entry-content > * {
  max-width: 78ch;
}
.site-main:not(.front-page) .entry-content > .alignwide,
.site-main:not(.front-page) .entry-content > .alignfull,
.site-main:not(.front-page) .entry-content > .wp-block-table,
.site-main:not(.front-page) .entry-content > .wp-block-columns,
.site-main:not(.front-page) .entry-content > .wp-block-group {
  max-width: 100%;
}
.site-main:not(.front-page) .entry-content p {
  margin: 0 0 1.15em;
}
.site-main:not(.front-page) .entry-content h2 {
  font-size: clamp(1.35rem, 2.2vw, 1.8rem);
  line-height: 1.3;
  margin: 2rem 0 .8rem;
  padding-bottom: .45rem;
  border-bottom: 1px solid var(--line);
}
.site-main:not(.front-page) .entry-content h3 {
  font-size: clamp(1.12rem, 1.7vw, 1.35rem);
  line-height: 1.4;
  margin: 1.5rem 0 .55rem;
}
.site-main:not(.front-page) .entry-content h2:first-child,
.site-main:not(.front-page) .entry-content h3:first-child {
  margin-top: 0;
}
.site-main:not(.front-page) .entry-content ul,
.site-main:not(.front-page) .entry-content ol {
  padding-left: 1.45rem;
  margin: .5rem 0 1.4rem;
}
.site-main:not(.front-page) .entry-content li {
  padding-left: .2rem;
  margin: .35rem 0;
}
.site-main:not(.front-page) .entry-content li::marker {
  color: var(--orange);
}
.site-main:not(.front-page) .entry-content a:not(.btn) {
  color: var(--navy);
  font-weight: 600;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.site-main:not(.front-page) .entry-content a:not(.btn):hover {
  color: var(--orange-dark);
}
.site-main:not(.front-page) .entry-content table,
.site-main:not(.front-page) .entry-content .wp-block-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 1.4rem 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 10px;
}
.site-main:not(.front-page) .entry-content th,
.site-main:not(.front-page) .entry-content td {
  padding: .8rem 1rem;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}
.site-main:not(.front-page) .entry-content th {
  color: var(--navy);
  background: var(--bg-alt);
  font-weight: 800;
}
.site-main:not(.front-page) .entry-content tr:last-child td {
  border-bottom: 0;
}
.site-main:not(.front-page) .entry-content hr {
  border: 0;
  border-top: 1px solid var(--line);
  margin: 2rem 0;
}
.site-main:not(.front-page) .entry-content figure {
  margin: 1.4rem 0;
}
.site-main:not(.front-page) .entry-content figcaption {
  color: var(--muted);
  font-size: .9rem;
  line-height: 1.5;
  margin-top: .45rem;
}
.site-main:not(.front-page) .entry-content .wp-block-group,
.site-main:not(.front-page) .entry-content .wp-block-quote,
.site-main:not(.front-page) .entry-content .wp-block-pullquote {
  border-radius: 10px;
}
/* Long legal pages stay readable without changing their published content. */
body.page .site-main:not(.front-page) .container.narrow {
  max-width: 900px;
}
body.page .site-main:not(.front-page) article.entry {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: 0 8px 28px rgba(16, 35, 65, .045);
  padding: clamp(1.15rem, 3.2vw, 2.5rem);
}
/* Blog posts and guide archive cards have a clearer hierarchy and calmer spacing. */
body.single-post .entry-thumb img {
  display: block;
  max-height: 560px;
  object-fit: cover;
}
body.single-post .page-intro {
  font-size: .92rem;
}
.grid-posts .card-title a,
.grid-posts .card-title {
  line-height: 1.35;
}
.grid-posts .card-body > p {
  line-height: 1.65;
}
.akami-footer__extra-text {
  color: #d3dcec;
  font-size: .96rem;
  line-height: 1.65;
  margin: .65rem 0 0;
  overflow-wrap: anywhere;
}
.akami-footer__details strong {
  color: #fff;
  font-weight: 700;
}
@media (max-width: 600px) {
  .site-main:not(.front-page) .entry-content {
    font-size: 1rem;
    line-height: 1.72;
  }
  body.page .site-main:not(.front-page) article.entry {
    border-radius: 10px;
    padding: 1rem;
  }
  .site-main:not(.front-page) .entry-content th,
  .site-main:not(.front-page) .entry-content td {
    padding: .6rem .65rem;
  }
}

/* =========================================================
   AKAMI v1.0.59 — unified brand palette across every page.
   Matches the near-black hero, navy footer and orange accents.
   ========================================================= */
:root {
  --navy: #1f3b66;
  --navy-dark: #030b13;
  --orange: #f45b0b;
  --orange-dark: #d94a00;
  --gold: #f45b0b;
  --ink: #172235;
  --muted: #5b687a;
  --line: #e0e6ef;
  --bg-alt: #f5f7fa;
  --akami-surface: #ffffff;
  --akami-hero: #030b13;
  --akami-footer: #132e53;
}
html { scroll-behavior: smooth; }
body { background: #f5f7fa; color: var(--ink); }
body h1, body h2, body h3, body h4, body h5, body h6 { color: var(--navy); }
body a:not(.btn):not(.akami-footer__cta) { text-underline-offset: .18em; text-decoration-thickness: 1px; }
body a:not(.btn):not(.akami-footer__cta):hover,
body a:not(.btn):not(.akami-footer__cta):focus-visible { color: var(--orange-dark); }
:focus-visible { outline: 3px solid rgba(244, 91, 11, .5); outline-offset: 3px; }

/* Page-title bands use the same pale surface and navy/orange hierarchy. */
.page-header {
  background: linear-gradient(180deg, #f7f9fc 0%, #f1f5fa 100%);
  border-bottom: 1px solid #dfe6f0;
}
.page-header h1 { color: var(--navy); letter-spacing: -.025em; font-weight: 850; }
.page-header h1::after {
  content: ""; display: block; width: 52px; height: 4px;
  margin-top: .5rem; border-radius: 4px; background: var(--orange);
}
.breadcrumbs a { color: var(--navy); }
.breadcrumbs li+li::before { color: var(--orange); }
.site-main:not(.front-page) { color: var(--ink); }
.site-main:not(.front-page) .entry,
.site-main:not(.front-page) .side-box,
.site-main:not(.front-page) .akami-form,
.site-main:not(.front-page) .faq details {
  border-color: var(--line);
}
.site-main:not(.front-page) .entry-content h2 {
  color: var(--navy); border-bottom: 1px solid #e7ebf2;
  padding-bottom: .42rem; margin-top: 2rem;
  position: relative;
}
.site-main:not(.front-page) .entry-content h2::after {
  content: ""; display: block; width: 42px; height: 3px;
  background: var(--orange); border-radius: 3px;
  position: absolute; left: 0; bottom: -2px;
}
.site-main:not(.front-page) .entry-content h3,
.site-main:not(.front-page) .entry-content h4 { color: var(--navy); }
.site-main:not(.front-page) .entry-content a:not(.btn) { color: var(--navy); }
.site-main:not(.front-page) .entry-content a:not(.btn):hover { color: var(--orange-dark); }
.site-main:not(.front-page) .entry-content li::marker { color: var(--orange); }
.site-main:not(.front-page) .entry-content blockquote,
.site-main:not(.front-page) .entry-content .wp-block-quote,
.site-main:not(.front-page) .entry-content .wp-block-pullquote {
  border-left: 4px solid var(--orange); background: #f7f9fc;
  color: #34445c; padding: 1rem 1.2rem;
}
.site-main:not(.front-page) .entry-content th { background: #edf2f8; color: var(--navy); }
.site-main:not(.front-page) .entry-content hr { border-top-color: #dfe6f0; }

/* Reuse the brand orange for controls, forms, notices and pagination. */
.btn, button, input[type="submit"], .woocommerce a.button,
.woocommerce button.button, .woocommerce input.button {
  accent-color: var(--orange);
}
.btn:not(.btn-outline):not(.btn-outline-light),
input[type="submit"], .woocommerce a.button.alt,
.woocommerce button.button.alt, .woocommerce input.button.alt {
  background: var(--orange); border-color: var(--orange); color: #fff;
}
.btn:not(.btn-outline):not(.btn-outline-light):hover,
input[type="submit"]:hover, .woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover {
  background: var(--orange-dark); border-color: var(--orange-dark); color: #fff;
}
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):focus,
select:focus, textarea:focus {
  border-color: var(--orange); box-shadow: 0 0 0 3px rgba(244, 91, 11, .12); outline: none;
}
.faq summary, .wp-block-details summary { color: var(--navy); }
.faq details[open], .wp-block-details[open] { border-color: rgba(244, 91, 11, .45); }
.pagination .page-numbers, .nav-links .page-numbers { border-color: var(--line); color: var(--navy); background: #fff; }
.page-numbers.current { background: var(--navy); color: #fff; border-color: var(--navy); }
.chips a { border-color: #dfe6f0; color: var(--navy); background: #fff; }
.chips a:hover { background: var(--navy); border-color: var(--navy); color: #fff; }

/* Shared cards keep a clean white surface with subtle blue-grey borders. */
.card, .why-item, .gallery-main, .thumb-btn, .empty-state {
  border-color: var(--line);
}
.card { box-shadow: 0 5px 18px rgba(19, 46, 83, .055); }
.card-title, .card-title a { color: var(--navy); }
.card-title a:hover { color: var(--orange-dark); }
.stock.is-in { background: #e6f5eb; color: #17613a; }
.stock.is-out { background: #fff0ed; color: #a72e1b; }
.stock.is-back { background: #fff5df; color: #805500; }
.post-cta, .band-navy { background: linear-gradient(120deg, #1f3b66, #132e53); }
.post-cta h2, .band-navy h2 { color: #fff; }

/* The header and footer retain the near-black/navy contrast of the homepage. */
.site-header { background: var(--akami-hero); }
.akami-footer { background: linear-gradient(155deg, #17345e 0%, #102b50 58%, #071d3b 100%); border-top-color: var(--orange); }
.akami-footer__heading span:first-child::after { background: var(--orange); }
.akami-footer__cats span { color: var(--orange); }
@media (max-width: 600px) {
  .page-header { background: linear-gradient(180deg, #f7f9fc 0%, #f1f5fa 100%); }
  .page-header h1::after { width: 42px; height: 3px; margin-top: .4rem; }
  .site-main:not(.front-page) .entry-content h2 { margin-top: 1.6rem; }
}

/* v1.0.60: compact footer rhythm on phones while leaving desktop layout untouched. */
@media (max-width: 600px) {
  .akami-footer__main {
    gap: 1rem !important;
    padding-top: 1.35rem !important;
    padding-bottom: 1.25rem !important;
  }
  .akami-footer__logo { margin-bottom: .65rem; }
  .akami-footer__logo img { max-height: 56px; }
  .akami-footer .site-logo-text { font-size: 2rem; }
  .akami-footer__about {
    max-width: none;
    font-size: 1rem;
    line-height: 1.5;
    margin-bottom: .65rem;
  }
  .akami-footer__cats {
    font-size: .9rem;
    line-height: 1.45;
    margin-bottom: .8rem;
  }
  .akami-footer__socials { gap: .5rem; margin-top: .8rem; }
  .akami-footer__socials a { width: 44px; height: 44px; }
  .akami-footer__column {
    padding: .75rem 0 !important;
  }
  .akami-footer__heading {
    font-size: 1.08rem;
    padding-bottom: .55rem;
  }
  .akami-footer__heading span:first-child:after {
    bottom: -.55rem;
    width: 48px;
    height: 3px;
  }
  .akami-footer__link-grid { padding-top: .35rem !important; column-gap: .65rem; }
  .akami-footer__link-grid a {
    font-size: .92rem;
    line-height: 1.35;
    padding: .32rem .1rem !important;
  }
  .akami-footer__link-grid a:after { font-size: 1.25rem; }
  .akami-footer__contact { display: block !important; grid-row: auto !important; grid-template-rows: none !important; margin-top: 0 !important; }
  .akami-footer__contact .akami-footer__body { display: block !important; padding-top: .35rem; }
  .akami-footer__help { margin-top: .35rem; }
  .akami-footer__note { margin-bottom: .55rem; }
  .akami-footer__rule { margin: .65rem 0; }
  .akami-footer__cta { margin-top: .1rem; }
  .akami-footer__details li {
    gap: .5rem;
    font-size: .92rem;
    line-height: 1.4;
    padding: .22rem 0;
  }
  .akami-footer__extra-text { margin-top: .45rem; font-size: .92rem; line-height: 1.45; }
  .akami-footer__bottom {
    gap: .45rem;
    padding-top: .9rem;
    padding-bottom: .75rem;
  }
  .akami-footer__copy { font-size: .88rem; line-height: 1.4; }
  .akami-footer__legal a { font-size: .86rem; padding: .25rem 0; }
  .akami-footer__scene { height: 155px; min-height: 125px; }
}


/* AKAMI v1.0.63: reduce excess mobile space between the footer CTA and copyright divider. */
@media (max-width: 999px) {
  .akami-footer__main { padding-bottom: 12px !important; }
  .akami-footer__contact .akami-footer__body { padding-bottom: 0 !important; margin-bottom: 0 !important; }
  .akami-footer__bottom { margin-top: 0 !important; }
}
@media (max-width: 480px) {
  .akami-footer__main { padding-bottom: 8px !important; }
}

/* AKAMI v1.0.64: align footer contact icons consistently with their text on all screen sizes. */
.akami-footer__details li {
  display: flex !important;
  align-items: center !important;
  gap: .7rem;
  min-width: 0;
}
.akami-footer__details li > .akami-icon {
  display: block;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  margin: 0 !important;
  align-self: center;
}
.akami-footer__details li > a,
.akami-footer__details li > span {
  flex: 1 1 auto;
  min-width: 0;
  overflow-wrap: anywhere;
}
@media (max-width: 999px) {
  .akami-footer__details li { gap: .65rem; }
  .akami-footer__details li > .akami-icon {
    flex-basis: 24px;
    width: 24px;
    height: 24px;
  }
}


/* AKAMI v1.0.67: hidden footer accordion panels must override mobile display rules. */
.akami-footer__link-grid[hidden],
.akami-footer__contact .akami-footer__body[hidden] { display: none !important; }

/* Optional dashboard-configured icon before each homepage hero button label. */
.hero .btn .hero-button-icon { display: inline-flex; align-items: center; justify-content: center; margin-right: .45rem; line-height: 1; }

/* AKAMI v1.0.72: limit Services Overview card descriptions to four lines.
   Scoped to the Services page so homepage cards and full service pages are unchanged. */
/* Use the Services overview body classes and a non-home fallback. The fallback
   handles WordPress installations where the page-template body class differs. */
body.page-template-template-services .grid-services .service-card .card-body > p,
body.page-template-template-services-php .grid-services .service-card .card-body > p,
body:not(.home):not(.front-page) .grid-services .service-card .card-body > p {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  overflow: hidden !important;
  max-height: calc(1.6em * 4) !important;
}


/* AKAMI v1.0.74: align Services overview spacing with the Auto Parts catalog.
   Keep the shared page title/header padding consistent; remove the oversized
   top gap before the Services cards so they begin at the same distance below
   the title divider as product cards do. */
body.page-template-template-services .site-main > .section {
  padding-top: 1rem !important;
}


/* Service-page media, pricing and selectable variants (v1.0.76). */
.akami-service-media{margin:28px 0 36px}
.akami-service-media__main{margin:0 0 14px}
.akami-service-media__main img{display:block;width:100%;max-height:560px;object-fit:cover;border-radius:16px}
.akami-service-media__gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}
.akami-service-media__gallery img{display:block;width:100%;height:140px;object-fit:cover;border-radius:10px}
.akami-service-pricing{margin:28px 0;padding:24px;background:#fff;border:1px solid #dfe5ee;border-radius:16px;box-shadow:0 4px 18px rgba(20,40,70,.05)}
.akami-service-pricing h2{margin-top:0}
.akami-service-starting-price{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 18px;color:#53657d}
.akami-service-starting-price strong{font-size:1.35em;color:#203f6c}
.akami-service-variants{margin:0;padding:0;border:0;display:grid;gap:10px}
.akami-service-variants legend{font-weight:700;margin-bottom:10px}
.akami-service-variant{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #d8e0eb;border-radius:12px;cursor:pointer;background:#fff}
.akami-service-variant.is-selected{border-color:#ff5b0b;box-shadow:0 0 0 1px #ff5b0b;background:#fffaf6}
.akami-service-variant input{flex:0 0 auto;accent-color:#ff5b0b}
.akami-service-variant__body{display:flex;flex:1;min-width:0;flex-direction:column;gap:4px}
.akami-service-variant__body small{color:#62728a;font-size:.9em}
.akami-service-variant__price{white-space:nowrap;color:#203f6c}
.akami-service-variant-note{margin:12px 0 0;color:#64748b;font-size:.9em}
@media(max-width:640px){.akami-service-pricing{padding:16px}.akami-service-variant{align-items:flex-start;padding:12px}.akami-service-variant__price{font-size:.95em}}


/* AKAMI v1.0.78: product-first service layout refined for desktop, tablet and phone.
   Desktop: image gallery on the left and title/pricing/options on the right.
   Mobile: single-column flow with a horizontally scrollable thumbnail strip. */
body.single-akami_service .akami-service-embedded-product,
body.single-akami_service .akami-service-embedded-product > .woocommerce {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
@media (min-width: 768px) {
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product {
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    align-items: start;
    column-gap: clamp(20px, 3vw, 42px);
    row-gap: 20px;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product .woocommerce-product-gallery {
    float: none !important;
    position: relative !important;
    grid-column: 1;
    grid-row: 1;
    display: grid !important;
    grid-template-columns: minmax(64px, 94px) minmax(0, 1fr);
    align-items: start;
    gap: 12px;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product .woocommerce-product-gallery .flex-viewport {
    grid-column: 2;
    grid-row: 1;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow: hidden;
    background: #fff;
    border-radius: 12px;
  }
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__image {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product .woocommerce-product-gallery__image img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: 460px !important;
    object-fit: contain !important;
    margin: 0 auto;
  }
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs {
    grid-column: 1;
    grid-row: 1;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    width: 100% !important;
    max-height: 460px;
    overflow-y: auto;
    overflow-x: hidden;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li {
    flex: 0 0 auto;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li img {
    display: block !important;
    width: 100% !important;
    height: 86px !important;
    object-fit: contain !important;
    border-radius: 8px;
    background: #fff;
  }
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product .summary {
    grid-column: 2;
    grid-row: 1;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    align-self: start;
  }
}
@media (max-width: 767px) {
  body.single-akami_service .akami-service-embedded-product {
    margin: 0 0 1.25rem !important;
  }
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product .woocommerce-product-gallery {
    display: flex !important;
    flex-direction: column !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 0 1rem !important;
    padding: 0 !important;
  }
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product .woocommerce-product-gallery .flex-viewport {
    order: 1;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    overflow: hidden;
    border-radius: 10px;
    background: #fff;
  }
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__image {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product .woocommerce-product-gallery__image img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: min(72vw, 360px) !important;
    object-fit: contain !important;
    margin: 0 auto;
  }
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs {
    order: 2;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    width: 100% !important;
    max-height: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    margin: 10px 0 0 !important;
    padding: 0 0 4px !important;
    list-style: none !important;
    -webkit-overflow-scrolling: touch;
  }
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li {
    flex: 0 0 72px !important;
    float: none !important;
    width: 72px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li img {
    display: block !important;
    width: 72px !important;
    height: 62px !important;
    object-fit: contain !important;
    border-radius: 7px;
    background: #fff;
  }
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product .summary {
    order: 2;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product .summary .product_title {
    font-size: clamp(1.35rem, 5.5vw, 1.8rem) !important;
    line-height: 1.25 !important;
    overflow-wrap: anywhere;
    margin: 0 0 .65rem !important;
  }
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product .summary .price {
    font-size: 1.05rem !important;
    line-height: 1.4 !important;
    margin: .2rem 0 .75rem !important;
    overflow-wrap: anywhere;
  }
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product .summary table.variations,
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product .summary table.variations tbody,
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product .summary table.variations tr {
    display: block !important;
    width: 100% !important;
  }
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product .summary table.variations tr {
    margin: 0 0 .55rem !important;
  }
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product .summary table.variations th.label,
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product .summary table.variations td.value {
    display: block !important;
    width: 100% !important;
    padding: .15rem 0 !important;
    text-align: left !important;
  }
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product .summary table.variations select {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 44px !important;
    font-size: 16px !important;
  }
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product .summary .single_add_to_cart_button,
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product .summary .enquire-actions .btn,
  body.single-akami_service .akami-service-cta-stack .btn {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 46px;
    justify-content: center;
    text-align: center;
    box-sizing: border-box;
    white-space: normal;
  }
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product::before,
  body.single-akami_service .akami-service-embedded-product .woocommerce div.product::after {
    display: none !important;
    content: none !important;
  }
  body.single-akami_service .akami-service-media__main img {
    max-height: 70vw;
    object-fit: contain;
  }
  body.single-akami_service .akami-service-media__gallery {
    display: flex;
    overflow-x: auto;
    gap: 8px;
    padding-bottom: 4px;
    -webkit-overflow-scrolling: touch;
  }
  body.single-akami_service .akami-service-media__gallery img {
    flex: 0 0 82px;
    width: 82px;
    height: 72px;
    object-fit: contain;
    background: #fff;
  }
}


/* v1.0.79: usable service gallery controls and service-option CTAs */
body.single-akami_service .akami-service-media { min-width: 0; }
body.single-akami_service .akami-service-media__stage { position: relative; margin: 0 0 14px; overflow: hidden; border-radius: 16px; background: #fff; }
body.single-akami_service .akami-service-media__stage img { display: block; width: 100%; height: auto; max-height: 620px; object-fit: contain; margin: 0 auto; }
body.single-akami_service .akami-service-gallery-arrow { position: absolute; z-index: 2; top: 50%; transform: translateY(-50%); display: flex; align-items: center; justify-content: center; width: 42px; height: 48px; padding: 0; border: 0; border-radius: 10px; background: rgba(255,255,255,.92); color: #203f6c; font-size: 32px; line-height: 1; box-shadow: 0 2px 12px rgba(0,0,0,.14); cursor: pointer; }
body.single-akami_service .akami-service-gallery-arrow.is-prev { left: 10px; }
body.single-akami_service .akami-service-gallery-arrow.is-next { right: 10px; }
body.single-akami_service .akami-service-media__gallery { display: flex; gap: 10px; overflow-x: auto; overflow-y: hidden; padding: 2px 2px 10px; scroll-snap-type: x mandatory; scroll-behavior: smooth; -webkit-overflow-scrolling: touch; touch-action: pan-x; scrollbar-width: thin; }
body.single-akami_service .akami-service-gallery-thumb { display: block; flex: 0 0 112px; width: 112px; height: 94px; overflow: hidden; padding: 0; border: 2px solid transparent; border-radius: 12px; background: #fff; cursor: pointer; scroll-snap-align: start; }
body.single-akami_service .akami-service-gallery-thumb.is-active { border-color: #ff5b0b; box-shadow: 0 0 0 1px #ff5b0b; }
body.single-akami_service .akami-service-gallery-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
body.single-akami_service .akami-service-cta-stack--pricing { display: grid; grid-template-columns: 1fr; gap: 10px; margin: 18px 0 0; }
body.single-akami_service .akami-service-cta-stack--pricing .btn { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 48px; box-sizing: border-box; text-align: center; white-space: normal; }
body.single-akami_service .akami-service-cta-stack--pricing .akami-book-installation-cta .btn { background: #ff5b0b; color: #fff; }
body.single-akami_service .akami-service-cta-stack--pricing .akami-service-whatsapp-cta .btn { background: #16834a; color: #fff; }
@media (max-width: 640px) {
  body.single-akami_service .akami-service-media { margin: 18px 0 26px; }
  body.single-akami_service .akami-service-media__stage { border-radius: 14px; }
  body.single-akami_service .akami-service-media__stage img { max-height: 72vw; min-height: 210px; object-fit: contain; }
  body.single-akami_service .akami-service-gallery-thumb { flex-basis: 84px; width: 84px; height: 76px; }
  body.single-akami_service .akami-service-gallery-arrow { width: 36px; height: 42px; font-size: 27px; }
  body.single-akami_service .akami-service-cta-stack--pricing { gap: 9px; margin-top: 16px; }
  body.single-akami_service .akami-service-cta-stack--pricing .btn { min-height: 50px; padding: 12px 14px; font-size: 16px; }
}


/* v1.0.80: enforce working service gallery controls across cached themes and mobile browsers. */
body.single-akami_service .akami-service-media__main { min-width: 0; }
body.single-akami_service .akami-service-media__stage {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	margin: 0 0 14px !important;
	padding: 0 !important;
	overflow: hidden !important;
	border-radius: 16px !important;
	background: #fff !important;
	line-height: 0;
}
body.single-akami_service .akami-service-media__stage > img {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	max-height: 620px !important;
	min-height: 0 !important;
	margin: 0 auto !important;
	object-fit: contain !important;
	border-radius: inherit !important;
	cursor: grab;
}
body.single-akami_service .akami-service-gallery-arrow,
body.single-akami_service .akami-service-gallery-arrow:hover,
body.single-akami_service .akami-service-gallery-arrow:focus {
	position: absolute !important;
	top: 50% !important;
	z-index: 8 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 44px !important;
	height: 52px !important;
	min-width: 44px !important;
	min-height: 52px !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: translateY(-50%) !important;
	border: 1px solid rgba(32,63,108,.12) !important;
	border-radius: 12px !important;
	background: rgba(255,255,255,.94) !important;
	color: #203f6c !important;
	font-size: 34px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	box-shadow: 0 2px 12px rgba(0,0,0,.18) !important;
	cursor: pointer !important;
	opacity: 1 !important;
	visibility: visible !important;
}
body.single-akami_service .akami-service-gallery-arrow.is-prev { left: 12px !important; right: auto !important; }
body.single-akami_service .akami-service-gallery-arrow.is-next { right: 12px !important; left: auto !important; }
body.single-akami_service .akami-service-media__gallery {
	display: flex !important;
	flex-wrap: nowrap !important;
	gap: 10px !important;
	width: 100% !important;
	max-width: 100% !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	padding: 3px 3px 12px !important;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	touch-action: pan-x;
	scrollbar-width: thin;
}
body.single-akami_service .akami-service-gallery-thumb {
	position: relative !important;
	display: block !important;
	flex: 0 0 112px !important;
	width: 112px !important;
	height: 92px !important;
	min-width: 112px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 2px solid transparent !important;
	border-radius: 10px !important;
	background: #fff !important;
	cursor: pointer !important;
	scroll-snap-align: start;
}
body.single-akami_service .akami-service-gallery-thumb.is-active { border-color: #ff5b0b !important; }
body.single-akami_service .akami-service-gallery-thumb img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	object-fit: cover !important;
}
@media (min-width: 900px) {
	body.single-akami_service .akami-service-media__stage > img { max-height: 680px !important; }
	body.single-akami_service .akami-service-gallery-thumb { flex-basis: 128px !important; width: 128px !important; height: 100px !important; min-width: 128px !important; }
}
@media (max-width: 640px) {
	body.single-akami_service .akami-service-media { margin: 18px 0 26px !important; }
	body.single-akami_service .akami-service-media__stage { border-radius: 14px !important; }
	body.single-akami_service .akami-service-media__stage > img {
		width: 100% !important;
		max-height: 72vw !important;
		min-height: 210px !important;
		object-fit: contain !important;
	}
	body.single-akami_service .akami-service-gallery-arrow,
	body.single-akami_service .akami-service-gallery-arrow:hover,
	body.single-akami_service .akami-service-gallery-arrow:focus {
		width: 38px !important;
		height: 44px !important;
		min-width: 38px !important;
		min-height: 44px !important;
		font-size: 30px !important;
	}
	body.single-akami_service .akami-service-gallery-arrow.is-prev { left: 8px !important; }
	body.single-akami_service .akami-service-gallery-arrow.is-next { right: 8px !important; }
	body.single-akami_service .akami-service-gallery-thumb {
		flex-basis: 84px !important;
		width: 84px !important;
		min-width: 84px !important;
		height: 74px !important;
	}
}


/* AKAMI v1.0.82: align service CTAs and make mobile actions fill the pricing card. */
body.single-akami_service .akami-service-pricing .akami-service-cta-stack--pricing {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  width: 100% !important;
  max-width: 520px !important;
  margin: 18px auto 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
body.single-akami_service .akami-service-pricing .akami-service-cta-stack--pricing > .akami-book-installation-cta,
body.single-akami_service .akami-service-pricing .akami-service-cta-stack--pricing > .akami-service-whatsapp-cta {
  display: block !important;
  position: static !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  box-sizing: border-box !important;
}
body.single-akami_service .akami-service-pricing .akami-service-cta-stack--pricing > .akami-book-installation-cta .btn,
body.single-akami_service .akami-service-pricing .akami-service-cta-stack--pricing > .akami-service-whatsapp-cta .btn {
  display: flex !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 50px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
  text-align: center !important;
  justify-content: center !important;
}
@media (max-width: 640px) {
  body.single-akami_service .akami-service-pricing { min-width: 0; }
  body.single-akami_service .akami-service-pricing .akami-service-cta-stack--pricing {
    width: 100% !important;
    max-width: none !important;
    gap: 10px !important;
    margin: 16px 0 0 !important;
  }
  body.single-akami_service .akami-service-pricing .akami-service-cta-stack--pricing .btn {
    min-height: 50px !important;
    padding: 13px 16px !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
  }
}


/* AKAMI v1.0.83: keep service pricing CTAs inside the pricing card on narrow screens.
   Older global CTA rules used viewport-based widths; reset those rules in this card. */
body.single-akami_service .akami-service-pricing {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden;
}
body.single-akami_service .akami-service-pricing .akami-service-cta-stack--pricing {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 16px 0 0 !important;
  padding: 0 !important;
  gap: 10px !important;
  position: static !important;
  left: auto !important;
  transform: none !important;
  box-sizing: border-box !important;
}
body.single-akami_service .akami-service-pricing .akami-service-cta-stack--pricing > .akami-book-installation-cta,
body.single-akami_service .akami-service-pricing .akami-service-cta-stack--pricing > .akami-service-whatsapp-cta {
  display: flex !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  box-sizing: border-box !important;
}
body.single-akami_service .akami-service-pricing .akami-service-cta-stack--pricing > .akami-book-installation-cta > .btn,
body.single-akami_service .akami-service-pricing .akami-service-cta-stack--pricing > .akami-service-whatsapp-cta > .btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 13px 12px !important;
  box-sizing: border-box !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  text-align: center !important;
}
@media (max-width: 640px) {
  body.single-akami_service .akami-service-pricing {
    width: 100% !important;
    padding: 16px !important;
    overflow: hidden !important;
  }
  body.single-akami_service .akami-service-pricing .akami-service-cta-stack--pricing,
  body.single-akami_service .akami-service-pricing .akami-service-cta-stack--pricing > .akami-book-installation-cta,
  body.single-akami_service .akami-service-pricing .akami-service-cta-stack--pricing > .akami-service-whatsapp-cta,
  body.single-akami_service .akami-service-pricing .akami-service-cta-stack--pricing .btn {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
}


/* AKAMI v1.0.84: round the footer logo itself (not only its wrapper). */
.akami-footer .akami-footer__logo img.custom-logo,
.akami-footer .akami-footer__logo .custom-logo-link img,
.akami-footer__logo .site-brand-lockup img.custom-logo {
  border-radius: 14px !important;
  overflow: hidden;
  clip-path: inset(0 round 14px);
}

/* AKAMI v1.0.84: consistent featured-product image fitment, matching the service gallery. */
.front-page .grid-products .product-card .card-media,
.front-page .grid-products .product-card .card-media img {
  box-sizing: border-box;
}
.front-page .grid-products .product-card .card-media {
  display: block;
  aspect-ratio: 4 / 3 !important;
  width: 100%;
  padding: 0 !important;
  overflow: hidden;
  border-radius: 11px 11px 0 0;
  background: #fff;
}
.front-page .grid-products .product-card .card-media img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: 100%;
  object-fit: cover !important;
  object-position: center;
  margin: 0;
}
@media (max-width: 600px) {
  .front-page .grid-products .product-card .card-media { aspect-ratio: 4 / 3 !important; }
}


/* AKAMI v1.0.85: compact content spacing and consistent image fit across product/service pages. */
/* Bring the first service image closer to the title band, matching the tighter catalog/product layout. */
body.single-akami_service .site-main > .section:first-child {
  padding-top: 1.1rem !important;
}
body.single-akami_service .akami-service-media {
  margin-top: 0 !important;
}
/* Keep the built-in product detail gallery visually consistent with service galleries. */
body.single-akami_product .product-page {
  padding-top: .65rem !important;
}
body.single-akami_product .product-single {
  align-items: start;
}
body.single-akami_product .product-gallery,
body.single-akami_product .gallery-main {
  min-width: 0;
  overflow: hidden;
}
body.single-akami_product .gallery-main img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  max-height: min(68vh, 620px);
  object-fit: contain;
  object-position: center;
  background: #fff;
  border-radius: inherit;
}
/* WooCommerce product detail pages: reduce excess top gap and prevent product images from cropping. */
body.single-product .woo-wrap {
  padding-top: .65rem !important;
}
body.single-product .woocommerce div.product {
  margin-top: 0 !important;
}
body.single-product .woocommerce div.product div.images,
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper,
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image {
  min-width: 0;
  overflow: hidden;
  border-radius: 14px;
  background: #fff;
}
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  max-height: min(68vh, 620px);
  object-fit: contain !important;
  object-position: center;
  background: #fff;
}
/* Compact top spacing on shop, product-category and product-tag pages. */
body.woocommerce-shop .woo-wrap,
body.post-type-archive-product .woo-wrap,
body.tax-product_cat .woo-wrap,
body.tax-product_tag .woo-wrap {
  padding-top: .65rem !important;
}
/* General interior pages: tighten the first section after the title band without changing the homepage hero. */
body:not(.home):not(.front-page) .page-header + .site-main > .section:first-child {
  padding-top: 1.25rem;
}
@media (max-width: 640px) {
  body.single-akami_service .site-main > .section:first-child {
    padding-top: .8rem !important;
  }
  body.single-akami_service .akami-service-media {
    margin-bottom: 1rem !important;
  }
  body.single-akami_product .product-page,
  body.single-product .woo-wrap,
  body.woocommerce-shop .woo-wrap,
  body.post-type-archive-product .woo-wrap,
  body.tax-product_cat .woo-wrap,
  body.tax-product_tag .woo-wrap {
    padding-top: .45rem !important;
  }
  body.single-akami_product .product-single {
    gap: 1rem;
  }
  body.single-akami_product .gallery-main img,
  body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img {
    max-height: 62vh;
    aspect-ratio: 4 / 3;
  }
  body:not(.home):not(.front-page) .page-header + .site-main > .section:first-child {
    padding-top: .9rem;
  }
}


/* AKAMI v1.0.86: homepage services carousel, six published services max. */
.front-page .akami-home-services-scroll {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 14px !important;
  width: 100%;
  max-width: 100%;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 2px 2px 14px !important;
  margin: 0 !important;
  list-style: none;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: 2px;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
}
.front-page .akami-home-services-scroll > li {
  flex: 0 0 calc(50% - 7px) !important;
  width: calc(50% - 7px) !important;
  min-width: 0 !important;
  max-width: none !important;
  scroll-snap-align: start;
  display: flex;
}
.front-page .akami-home-services-scroll > li > .service-card {
  width: 100% !important;
  min-width: 0 !important;
  height: 100%;
  overflow: hidden;
}
.front-page .akami-home-services-scroll .card-media {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden;
  background: #fff;
}
.front-page .akami-home-services-scroll .card-media img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: 100%;
  object-fit: cover !important;
  object-position: center;
  margin: 0 !important;
}
@media (min-width: 560px) {
  .front-page .akami-home-services-scroll > li {
    flex-basis: calc(33.333% - 10px) !important;
    width: calc(33.333% - 10px) !important;
  }
}
@media (min-width: 1100px) {
  .front-page .akami-home-services-scroll > li {
    flex-basis: calc(25% - 11px) !important;
    width: calc(25% - 11px) !important;
  }
}

/* Match product-card image frames to service cards across catalog pages. */
.grid-products .product-card .card-media {
  aspect-ratio: 4 / 3 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #fff;
}
.grid-products .product-card .card-media img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center;
  padding: 0 !important;
  margin: 0 !important;
}


/* AKAMI v1.0.87: consistent horizontal browsing for all homepage card rows.
   Featured products, services, and guides all swipe/scroll instead of wrapping. */
.front-page .akami-home-featured-scroll,
.front-page .akami-home-services-scroll,
.front-page .akami-home-guides-scroll {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch;
  gap: 14px !important;
  width: 100%;
  max-width: 100%;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 2px 2px 14px !important;
  margin: 0 !important;
  list-style: none;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: 2px;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  touch-action: pan-x pan-y;
}
.front-page .akami-home-featured-scroll > li,
.front-page .akami-home-services-scroll > li,
.front-page .akami-home-guides-scroll > li {
  flex: 0 0 calc(50% - 7px) !important;
  width: calc(50% - 7px) !important;
  min-width: 0 !important;
  max-width: none !important;
  scroll-snap-align: start;
  display: flex;
}
.front-page .akami-home-featured-scroll > li > .product-card,
.front-page .akami-home-services-scroll > li > .service-card,
.front-page .akami-home-guides-scroll > li > .post-card {
  display: flex;
  flex-direction: column;
  width: 100% !important;
  min-width: 0 !important;
  height: 100%;
  overflow: hidden;
}
.front-page .akami-home-featured-scroll .card-media,
.front-page .akami-home-services-scroll .card-media,
.front-page .akami-home-guides-scroll .card-media {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden;
  background: #fff;
  flex: 0 0 auto;
}
.front-page .akami-home-featured-scroll .card-media img,
.front-page .akami-home-services-scroll .card-media img,
.front-page .akami-home-guides-scroll .card-media img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: 100%;
  object-fit: cover !important;
  object-position: center;
  margin: 0 !important;
}
@media (min-width: 560px) {
  .front-page .akami-home-featured-scroll > li,
  .front-page .akami-home-services-scroll > li,
  .front-page .akami-home-guides-scroll > li {
    flex-basis: calc(33.333% - 10px) !important;
    width: calc(33.333% - 10px) !important;
  }
}
@media (min-width: 1100px) {
  .front-page .akami-home-featured-scroll > li,
  .front-page .akami-home-services-scroll > li,
  .front-page .akami-home-guides-scroll > li {
    flex-basis: calc(25% - 11px) !important;
    width: calc(25% - 11px) !important;
  }
}


/* AKAMI v1.0.88: reliable horizontal scrolling for homepage card rows. */
.front-page ul.akami-home-featured-scroll,
.front-page ul.akami-home-services-scroll,
.front-page ul.akami-home-guides-scroll {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch !important;
  touch-action: pan-x pan-y !important;
  scroll-snap-type: x mandatory !important;
  scrollbar-width: auto;
  padding: 2px 2px 16px !important;
  margin: 0 !important;
}
.front-page ul.akami-home-featured-scroll > li,
.front-page ul.akami-home-services-scroll > li,
.front-page ul.akami-home-guides-scroll > li {
  display: flex !important;
  flex: 0 0 calc(50% - 7px) !important;
  width: calc(50% - 7px) !important;
  min-width: calc(50% - 7px) !important;
  max-width: calc(50% - 7px) !important;
  scroll-snap-align: start;
}
@media (min-width: 700px) {
  .front-page ul.akami-home-featured-scroll > li,
  .front-page ul.akami-home-services-scroll > li,
  .front-page ul.akami-home-guides-scroll > li {
    flex-basis: calc(33.333% - 10px) !important;
    width: calc(33.333% - 10px) !important;
    min-width: calc(33.333% - 10px) !important;
    max-width: calc(33.333% - 10px) !important;
  }
}
@media (min-width: 1100px) {
  .front-page ul.akami-home-featured-scroll > li,
  .front-page ul.akami-home-services-scroll > li,
  .front-page ul.akami-home-guides-scroll > li {
    flex-basis: calc(25% - 11px) !important;
    width: calc(25% - 11px) !important;
    min-width: calc(25% - 11px) !important;
    max-width: calc(25% - 11px) !important;
  }
}


/* AKAMI v1.0.89: force Featured Products into the same single horizontal carousel row as Services and Guides. */
.front-page ul.grid.grid-products.akami-home-featured-scroll {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  grid-template-columns: none !important;
  grid-auto-flow: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  overscroll-behavior-x: contain !important;
  -webkit-overflow-scrolling: touch !important;
  scroll-snap-type: x mandatory !important;
  padding: 2px 2px 16px !important;
  margin: 0 !important;
  list-style: none !important;
}
.front-page ul.grid.grid-products.akami-home-featured-scroll > li {
  display: flex !important;
  flex: 0 0 calc(50% - 7px) !important;
  width: calc(50% - 7px) !important;
  min-width: calc(50% - 7px) !important;
  max-width: calc(50% - 7px) !important;
  grid-column: auto !important;
  grid-row: auto !important;
  float: none !important;
  clear: none !important;
  scroll-snap-align: start !important;
  margin: 0 !important;
}
.front-page ul.grid.grid-products.akami-home-featured-scroll > li > .product-card {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
}
@media (min-width: 700px) {
  .front-page ul.grid.grid-products.akami-home-featured-scroll > li {
    flex-basis: calc(33.333% - 10px) !important;
    width: calc(33.333% - 10px) !important;
    min-width: calc(33.333% - 10px) !important;
    max-width: calc(33.333% - 10px) !important;
  }
}
@media (min-width: 1100px) {
  .front-page ul.grid.grid-products.akami-home-featured-scroll > li {
    flex-basis: calc(25% - 11px) !important;
    width: calc(25% - 11px) !important;
    min-width: calc(25% - 11px) !important;
    max-width: calc(25% - 11px) !important;
  }
}


/* AKAMI v1.0.95: clamp homepage service-card descriptions to two lines and align actions. */
.front-page ul.akami-home-services-scroll > li > .service-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}
.front-page ul.akami-home-services-scroll .service-card > .card-body {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  min-height: 0;
}
.front-page ul.akami-home-services-scroll .service-card > .card-body > p {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  min-height: 0;
}
.front-page ul.akami-home-services-scroll .service-card .card-actions {
  margin-top: auto !important;
  padding-top: 12px;
}


/* AKAMI v1.0.93: reduce the excessive space between homepage service descriptions and actions.
   Keep the buttons close to the excerpt instead of pushing them to the bottom of tall cards. */
.front-page ul.akami-home-services-scroll .service-card > .card-body > p {
  margin-bottom: 0 !important;
}
.front-page ul.akami-home-services-scroll .service-card .card-actions {
  margin-top: 8px !important;
  padding-top: 0 !important;
}


/* AKAMI v1.0.95: align homepage service-card buttons on a common baseline.
   Reserve two description lines in every card and let actions sit at the bottom. */
.front-page ul.akami-home-services-scroll > li {
  align-self: stretch !important;
}
.front-page ul.akami-home-services-scroll > li > .service-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}
.front-page ul.akami-home-services-scroll .service-card > .card-body {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  min-height: 0 !important;
}
.front-page ul.akami-home-services-scroll .service-card > .card-body > p {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.5 !important;
  min-height: 3em !important; /* reserve two lines, even for short descriptions */
  max-height: 3em !important;
  margin-bottom: 0 !important;
}
.front-page ul.akami-home-services-scroll .service-card .card-actions {
  margin-top: auto !important;
  padding-top: 12px !important;
}


/* AKAMI v1.0.96: enforce two-line homepage service excerpts regardless of front-page body classes. */
ul.akami-home-services-scroll > li { display: flex !important; align-items: stretch !important; }
ul.akami-home-services-scroll > li > .service-card { display: flex !important; flex-direction: column !important; height: 100% !important; width: 100%; }
ul.akami-home-services-scroll .service-card > .card-body { display: flex !important; flex: 1 1 auto !important; flex-direction: column !important; min-height: 0 !important; }
ul.akami-home-services-scroll .service-card > .card-body > p { display: -webkit-box !important; -webkit-box-orient: vertical !important; -webkit-line-clamp: 2 !important; line-clamp: 2 !important; overflow: hidden !important; text-overflow: ellipsis !important; line-height: 1.5 !important; height: 3em !important; min-height: 3em !important; max-height: 3em !important; margin-bottom: 0 !important; }
ul.akami-home-services-scroll .service-card .card-actions { margin-top: auto !important; padding-top: 8px !important; }


/* AKAMI v1.0.97: homepage service summaries use three lines for a better balance. */
.front-page ul.akami-home-services-scroll .service-card > .card-body > p {
  -webkit-line-clamp: 3 !important;
  line-clamp: 3 !important;
  min-height: 4.5em !important;
  max-height: 4.5em !important;
}


/* AKAMI v1.0.98: cache-busted, consistent three-line service summaries.
   Apply to the homepage carousel and Services archive, independent of body classes. */
ul.akami-home-services-scroll .service-card > .card-body > p,
ul.grid-services .service-card > .card-body > p {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  line-clamp: 3 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.5 !important;
  height: 4.5em !important;
  min-height: 4.5em !important;
  max-height: 4.5em !important;
  margin: 0 !important;
}
ul.akami-home-services-scroll .service-card,
ul.grid-services .service-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}
ul.akami-home-services-scroll .service-card > .card-body,
ul.grid-services .service-card > .card-body {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  min-height: 0 !important;
}
ul.akami-home-services-scroll .service-card .card-actions,
ul.grid-services .service-card .card-actions {
  margin-top: auto !important;
  padding-top: 10px !important;
}

/* Make service price/time read like product information, not a loose paragraph. */
body.single-akami_service .akami-service-price-time {
  margin: 18px 0 24px !important;
  padding: 18px 20px !important;
  background: #fff !important;
  border: 1px solid #dfe5ee !important;
  border-radius: 14px !important;
  box-shadow: 0 4px 16px rgba(20,40,70,.05) !important;
}
body.single-akami_service .akami-service-price-time h2 {
  margin: 0 0 8px !important;
  font-size: clamp(18px, 2vw, 24px) !important;
  line-height: 1.3 !important;
}
body.single-akami_service .akami-service-price-time p {
  margin: 0 !important;
  line-height: 1.65 !important;
}
@media (max-width: 640px) {
  body.single-akami_service .akami-service-price-time { padding: 15px !important; }
}


/* AKAMI v1.0.99: compact service gallery thumbnails and editable pricing heading support. */
body.single-akami_service .akami-service-gallery-thumb {
  flex: 0 0 88px !important;
  width: 88px !important;
  height: 72px !important;
  border-radius: 10px !important;
}
body.single-akami_service .akami-service-media__gallery {
  gap: 8px !important;
  padding-bottom: 8px !important;
}
@media (max-width: 640px) {
  body.single-akami_service .akami-service-gallery-thumb {
    flex-basis: 72px !important;
    width: 72px !important;
    height: 62px !important;
    border-radius: 9px !important;
  }
  body.single-akami_service .akami-service-media__gallery {
    gap: 7px !important;
    margin-right: -2px;
  }
}


/* AKAMI v1.0.100: unified editable service headings and compact gallery thumbnails. */
body.single-akami_service .akami-service-gallery-heading {
  margin: 14px 0 18px !important;
  color: var(--akami-navy, #1f3864) !important;
  font-size: clamp(20px, 2.4vw, 28px) !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
}
body.single-akami_service .akami-service-gallery-thumb {
  flex: 0 0 76px !important; width: 76px !important; height: 62px !important;
}
@media (max-width: 640px) {
  body.single-akami_service .akami-service-gallery-thumb {
    flex-basis: 64px !important; width: 64px !important; height: 54px !important;
  }
  body.single-akami_service .akami-service-gallery-heading { margin: 10px 0 14px !important; }
}


/* AKAMI v1.0.101: premium service detail polish for desktop and mobile. */
body.single-akami_service .akami-service-entry {
  color: #26364b;
  font-size: 16px;
  line-height: 1.72;
}
body.single-akami_service .akami-service-entry > * { min-width: 0; }
body.single-akami_service .akami-service-media {
  margin: 0 0 22px !important;
}
body.single-akami_service .akami-service-media__stage {
  border: 1px solid #e2e8f0 !important;
  border-radius: 18px !important;
  background: linear-gradient(145deg, #fff, #f8fafc) !important;
  box-shadow: 0 8px 28px rgba(20, 40, 70, .07) !important;
}
body.single-akami_service .akami-service-media__stage > img {
  width: 100%;
  max-height: min(66vh, 650px) !important;
  object-fit: contain !important;
  object-position: center;
}
body.single-akami_service .akami-service-gallery-thumb {
  flex: 0 0 84px !important;
  width: 84px !important;
  height: 68px !important;
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid #dbe3ee !important;
  border-radius: 11px !important;
  background: #fff !important;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
body.single-akami_service .akami-service-gallery-thumb.is-active {
  border: 2px solid #f45b0b !important;
  box-shadow: 0 0 0 2px rgba(244, 91, 11, .12) !important;
}
body.single-akami_service .akami-service-gallery-thumb:hover { transform: translateY(-1px); }
body.single-akami_service .akami-service-gallery-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body.single-akami_service .akami-service-subtitle,
body.single-akami_service .akami-service-product-subtitle {
  margin: 0 0 22px !important;
  color: #526176 !important;
  font-size: clamp(15px, 1.2vw, 17px) !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
}
body.single-akami_service .akami-service-pricing {
  margin: 24px 0 30px !important;
  padding: clamp(20px, 2.5vw, 32px) !important;
  border: 1px solid #dce4ef !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 26px rgba(24, 49, 83, .07) !important;
}
body.single-akami_service .akami-service-pricing h2 {
  margin: 0 0 12px !important;
  color: #1f3864 !important;
  font-size: clamp(22px, 2.2vw, 29px) !important;
  line-height: 1.25 !important;
  letter-spacing: -.025em;
}
body.single-akami_service .akami-service-starting-price {
  margin: 0 0 22px !important;
  gap: 8px;
  color: #64748b !important;
  font-size: 16px !important;
}
body.single-akami_service .akami-service-starting-price strong {
  color: #1f3864 !important;
  font-size: clamp(21px, 2vw, 27px) !important;
  font-weight: 800 !important;
}
body.single-akami_service .akami-service-variants { gap: 9px !important; }
body.single-akami_service .akami-service-variant {
  min-height: 60px;
  padding: 14px 16px !important;
  border-color: #dce4ef !important;
  border-radius: 12px !important;
  gap: 12px !important;
}
body.single-akami_service .akami-service-variant.is-selected {
  border-color: #f45b0b !important;
  background: #fff8f3 !important;
  box-shadow: 0 0 0 1px #f45b0b !important;
}
body.single-akami_service .akami-service-variant__body strong { color: #1f2937; line-height: 1.45; }
body.single-akami_service .akami-service-variant__body small { line-height: 1.45; }
body.single-akami_service .akami-service-variant__price {
  color: #1f3864 !important;
  font-size: 15px;
  font-weight: 800;
}
body.single-akami_service .akami-service-variant-note {
  font-size: 13px !important;
  line-height: 1.55 !important;
}
body.single-akami_service .akami-service-overview,
body.single-akami_service .akami-service-inclusions,
body.single-akami_service .akami-service-problems,
body.single-akami_service .akami-service-work,
body.single-akami_service .akami-service-vehicles,
body.single-akami_service .akami-service-price-time,
body.single-akami_service .akami-service-faq {
  margin: 28px 0 !important;
}
body.single-akami_service .akami-service-entry h2 {
  color: #1f3864;
  font-size: clamp(21px, 2vw, 27px);
  line-height: 1.3;
  letter-spacing: -.02em;
}
body.single-akami_service .akami-service-overview-intro,
body.single-akami_service .akami-service-vehicles p,
body.single-akami_service .akami-service-price-time p,
body.single-akami_service .akami-service-overview .entry-content {
  color: #425168;
  font-size: 16px;
  line-height: 1.8;
}
body.single-akami_service .akami-service-entry .check-list {
  display: grid;
  gap: 7px;
  margin: 12px 0 0;
}
body.single-akami_service .akami-service-entry .check-list li { line-height: 1.65; }
body.single-akami_service .akami-service-faq .faq details {
  margin: 0 0 9px !important;
  border: 1px solid #e1e8f1 !important;
  border-radius: 11px !important;
  background: #fff !important;
  overflow: hidden;
}
body.single-akami_service .akami-service-faq .faq summary {
  padding: 14px 16px !important;
  color: #1f3864;
  font-weight: 700;
  line-height: 1.5;
  cursor: pointer;
}
body.single-akami_service .akami-service-faq .faq details > p {
  margin: 0 !important;
  padding: 0 16px 15px !important;
  color: #526176;
  line-height: 1.75;
}
@media (max-width: 640px) {
  body.single-akami_service .akami-service-entry { font-size: 15px; line-height: 1.68; }
  body.single-akami_service .akami-service-media { margin-bottom: 16px !important; }
  body.single-akami_service .akami-service-media__stage { border-radius: 14px !important; }
  body.single-akami_service .akami-service-media__stage > img { max-height: 68vw !important; min-height: 210px; }
  body.single-akami_service .akami-service-gallery-thumb { flex-basis: 70px !important; width: 70px !important; height: 58px !important; }
  body.single-akami_service .akami-service-pricing { margin: 18px 0 24px !important; padding: 18px 16px !important; border-radius: 16px !important; }
  body.single-akami_service .akami-service-pricing h2 { font-size: 22px !important; }
  body.single-akami_service .akami-service-starting-price { margin-bottom: 17px !important; }
  body.single-akami_service .akami-service-variant { padding: 12px !important; gap: 9px !important; }
  body.single-akami_service .akami-service-variant__price { font-size: 14px; }
  body.single-akami_service .akami-service-overview,
  body.single-akami_service .akami-service-inclusions,
  body.single-akami_service .akami-service-problems,
  body.single-akami_service .akami-service-work,
  body.single-akami_service .akami-service-vehicles,
  body.single-akami_service .akami-service-price-time,
  body.single-akami_service .akami-service-faq { margin: 23px 0 !important; }
  body.single-akami_service .akami-service-entry h2 { font-size: 21px; }
  body.single-akami_service .akami-service-overview-intro,
  body.single-akami_service .akami-service-vehicles p,
  body.single-akami_service .akami-service-price-time p,
  body.single-akami_service .akami-service-overview .entry-content { font-size: 15px; line-height: 1.75; }
  body.single-akami_service .akami-service-faq .faq summary { padding: 13px 14px !important; }
}


/* AKAMI v1.0.103: starting price directly below the service gallery/title, using brand colors. */
body.single-akami_service .akami-service-title-price--gallery {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 7px;
  margin: 12px 0 22px !important;
  color: #64748b !important;
  font-size: clamp(16px, 1.5vw, 19px) !important;
  line-height: 1.45 !important;
  font-weight: 500;
}
body.single-akami_service .akami-service-title-price--gallery strong {
  color: #1f3864 !important;
  font-size: 1.2em !important;
  font-weight: 800 !important;
}
body.single-akami_service .akami-service-price-time {
  margin: 26px 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
body.single-akami_service .akami-service-price-time h2 {
  margin: 0 0 8px !important;
  padding: 0 !important;
}
body.single-akami_service .akami-service-price-time p {
  margin: 0 !important;
  padding: 0 !important;
}
@media (max-width: 640px) {
  body.single-akami_service .akami-service-title-price--gallery {
    margin: 10px 0 18px !important;
    font-size: 16px !important;
  }
  body.single-akami_service .akami-service-price-time { margin: 22px 0 !important; padding: 0 !important; }
}


/* AKAMI v1.0.104: remove duplicate pricing title/starting price and make the option label editable. */
body.single-akami_service .akami-service-pricing { padding-top: 20px; }
body.single-akami_service .akami-service-variants legend {
  display: block; width: 100%; margin: 0 0 12px; padding: 0;
  color: #1f3864; font-size: clamp(18px, 1.7vw, 22px);
  font-weight: 800; line-height: 1.35;
}
@media (max-width: 640px) {
  body.single-akami_service .akami-service-pricing { padding-top: 16px !important; }
  body.single-akami_service .akami-service-variants legend { font-size: 19px; margin-bottom: 10px; }
}


/* AKAMI v1.0.105: strengthen price hierarchy, add mobile booking shortcut, and prevent bottom-bar overlap. */
body.single-akami_service .akami-service-title-price--gallery {
  margin: 10px 0 20px !important;
  color: #1f3864 !important;
}
body.single-akami_service .akami-service-title-price--gallery span {
  color: #526176 !important;
  font-weight: 500 !important;
}
body.single-akami_service .akami-service-title-price--gallery strong {
  color: #e8621a !important;
  font-size: 1.15em !important;
  font-weight: 800 !important;
}
.akami-mobile-booking-bar { display: none; }
@media (max-width: 767px) {
  body.single-akami_service .akami-mobile-booking-bar {
    display: block;
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: calc(var(--akami-mobile-booking-bottom, 10px) + env(safe-area-inset-bottom, 0px));
    z-index: 9998;
    padding: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(8px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
  }
  body.single-akami_service .akami-mobile-booking-bar.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }
  body.single-akami_service .akami-mobile-booking-bar .btn {
    display: flex;
    width: 100%;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    border-radius: 12px;
    background: #e8621a;
    color: #fff;
    box-shadow: 0 5px 18px rgba(12, 30, 53, .22);
    text-align: center;
    text-decoration: none;
  }
  body.single-akami_service.akami-mobile-booking-space { padding-bottom: 76px !important; }
  body.single-akami_service .akami-service-title-price--gallery { margin: 8px 0 18px !important; }
}


/* AKAMI v1.0.108: make the mobile sticky Book Installation action comfortably tappable. */
@media (max-width: 767px) {
  body.single-akami_service .akami-mobile-booking-bar {
    left: 12px;
    right: 12px;
    padding: 0;
  }
  body.single-akami_service .akami-mobile-booking-bar .btn {
    min-height: 58px !important;
    padding: 15px 18px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    border-radius: 12px !important;
  }
  body.single-akami_service.akami-mobile-booking-space {
    padding-bottom: 92px !important;
  }
}


/* AKAMI v1.0.112: polished WooCommerce My Account dashboard */
body.woocommerce-account .woo-wrap {
  max-width: 1280px;
  padding-top: 28px;
  padding-bottom: 54px;
}
body.woocommerce-account .woocommerce {
  display: grid;
  grid-template-columns: minmax(220px, 270px) minmax(0, 1fr);
  align-items: start;
  gap: 26px;
  margin: 0 auto;
  color: #182b46;
}
body.woocommerce-account .woocommerce::before,
body.woocommerce-account .woocommerce::after { display: none !important; content: none !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content {
  float: none !important;
  width: auto !important;
  min-width: 0;
  box-sizing: border-box;
  border: 1px solid #dce5f0;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 28px rgba(20, 43, 75, .045);
}
body.woocommerce-account .woocommerce-MyAccount-navigation {
  overflow: hidden;
  padding: 12px;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 0;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li {
  margin: 0 0 4px;
  padding: 0;
  border: 0;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { margin-bottom: 0; }
body.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 46px;
  padding: 11px 13px;
  border-radius: 10px;
  color: #29415f;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.35;
  text-decoration: none;
  transition: color .16s ease, background .16s ease, transform .16s ease;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
  color: #1f3864;
  background: #f1f5fa;
  transform: translateX(2px);
}
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  color: #fff;
  background: #1f3864;
  box-shadow: inset 3px 0 0 #e8621a;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li a::before {
  content: '';
  flex: 0 0 7px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #e8621a;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a::before { background: #ffb184; }
body.woocommerce-account .woocommerce-MyAccount-content {
  min-height: 270px;
  padding: clamp(24px, 3.2vw, 42px);
  font-size: 16px;
  line-height: 1.8;
}
body.woocommerce-account .woocommerce-MyAccount-content > p:first-child {
  margin-top: 0;
  padding: 18px 20px;
  border: 1px solid #e1e9f3;
  border-left: 4px solid #e8621a;
  border-radius: 12px;
  background: #f6f8fb;
  color: #43536a;
  line-height: 1.75;
}
body.woocommerce-account .woocommerce-MyAccount-content strong { color: #142b4b; font-weight: 750; }
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button) {
  color: #1f3864;
  font-weight: 650;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button):hover { color: #e8621a; }
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error {
  border-top-color: #e8621a;
  border-radius: 10px;
}
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table {
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border: 1px solid #e0e7f0;
  border-radius: 12px;
  font-size: 14px;
}
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table th {
  background: #f3f6fa;
  color: #1f3864;
  font-weight: 750;
}
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table th,
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table td { padding: 13px 15px; }
body.woocommerce-account .woocommerce-MyAccount-content .button,
body.woocommerce-account .woocommerce-MyAccount-content button.button {
  min-height: 42px;
  padding: 11px 18px;
  border: 0;
  border-radius: 9px;
  background: #1f3864;
  color: #fff;
  font-weight: 700;
  line-height: 1.35;
  transition: background .16s ease, transform .16s ease;
}
body.woocommerce-account .woocommerce-MyAccount-content .button:hover,
body.woocommerce-account .woocommerce-MyAccount-content button.button:hover {
  background: #e8621a;
  color: #fff;
  transform: translateY(-1px);
}
body.woocommerce-account .woocommerce-MyAccount-content form .form-row label {
  margin-bottom: 6px;
  color: #29415f;
  font-size: 14px;
  font-weight: 700;
}
body.woocommerce-account .woocommerce-MyAccount-content input.input-text,
body.woocommerce-account .woocommerce-MyAccount-content textarea,
body.woocommerce-account .woocommerce-MyAccount-content select {
  min-height: 44px;
  border: 1px solid #cfd9e6;
  border-radius: 9px;
  background: #fff;
  padding: 10px 12px;
  color: #182b46;
  box-shadow: none;
}
body.woocommerce-account .woocommerce-MyAccount-content input.input-text:focus,
body.woocommerce-account .woocommerce-MyAccount-content textarea:focus,
body.woocommerce-account .woocommerce-MyAccount-content select:focus {
  outline: 2px solid rgba(232, 98, 26, .2);
  border-color: #e8621a;
}
@media (max-width: 760px) {
  body.woocommerce-account .woo-wrap { padding-top: 18px; padding-bottom: 34px; }
  body.woocommerce-account .woocommerce { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  body.woocommerce-account .woocommerce-MyAccount-navigation { padding: 8px; }
  body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; min-width: 0; }
  body.woocommerce-account .woocommerce-MyAccount-navigation li a {
    min-height: 42px;
    padding: 9px 10px;
    font-size: 13px;
    gap: 8px;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation li a::before { flex-basis: 6px; width: 6px; height: 6px; }
  body.woocommerce-account .woocommerce-MyAccount-content { min-height: 0; padding: 20px 16px; font-size: 15px; }
  body.woocommerce-account .woocommerce-MyAccount-content > p:first-child { padding: 14px; }
  body.woocommerce-account .woocommerce-MyAccount-content table.shop_table { font-size: 12px; }
  body.woocommerce-account .woocommerce-MyAccount-content table.shop_table th,
  body.woocommerce-account .woocommerce-MyAccount-content table.shop_table td { padding: 9px 8px; }
}


/* v1.0.113: Ensure the active WooCommerce account tab remains readable.
   Some theme/plugin styles override the active Dashboard link color. */
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active > a,
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active > a:link,
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active > a:visited,
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active > a:hover,
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active > a:focus,
body.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--dashboard.is-active > a {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
  background-color: #1f3864 !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active > a * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}


/* Request page: clearer hierarchy and polished Fluent Forms styling. */
body.page-request .site-main.section{padding-top:1.5rem!important;padding-bottom:3.5rem!important;background:var(--bg-alt)}
body.page-request .site-main.section>.container.narrow{max-width:900px}
body.page-request .entry{background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 34px rgba(31,56,100,.08);overflow:hidden}
body.page-request .entry-content{padding:clamp(1.15rem,4vw,2.5rem)}
body.page-request .entry-content>p:first-child{font-size:.82rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--orange-dark);margin-bottom:.8rem}
body.page-request .entry-content h2{font-size:clamp(1.55rem,3.5vw,2.15rem);line-height:1.18;margin:0 0 .8rem;color:var(--navy);letter-spacing:-.025em}
body.page-request .entry-content h3{color:var(--navy);font-size:1.2rem;margin:1.4rem 0 .5rem}
body.page-request .entry-content p{line-height:1.75}
body.page-request .entry-content hr{border:0;border-top:1px solid var(--line);margin:1.5rem 0}
body.page-request .entry-content ul{padding-left:0;list-style:none;display:grid;gap:.75rem;margin:1rem 0 1.5rem}
body.page-request .entry-content ul li{position:relative;padding:.85rem 1rem .85rem 2.8rem;border:1px solid var(--line);border-radius:10px;background:#fbfcfe}
body.page-request .entry-content ul li:before{content:"";position:absolute;left:1rem;top:1.15rem;width:9px;height:9px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px rgba(232,98,26,.12)}
body.page-request .entry-content .fluentform,
body.page-request .entry-content form.fluent_form{margin-top:1.1rem;padding:clamp(1rem,3vw,1.5rem);border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 4px 18px rgba(31,56,100,.05)}
body.page-request .entry-content .ff-el-group{margin-bottom:1.1rem}
body.page-request .entry-content .ff-el-input--label label{font-weight:700;color:var(--navy);font-size:.96rem;margin-bottom:.4rem}
body.page-request .entry-content .ff-el-form-control{width:100%;min-height:48px;border:1px solid #cbd3df;border-radius:8px;background:#fff;color:var(--ink);padding:.7rem .85rem;font:inherit;box-shadow:none;transition:border-color .15s,box-shadow .15s}
body.page-request .entry-content textarea.ff-el-form-control{min-height:125px;resize:vertical}
body.page-request .entry-content .ff-el-form-control:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(31,56,100,.12);outline:0}
body.page-request .entry-content .ff-el-form-control::placeholder{color:#7b8494;opacity:1}
body.page-request .entry-content .ff-btn-submit,
body.page-request .entry-content button[type=submit]{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.75rem 1.5rem;border:2px solid var(--orange);border-radius:8px;background:var(--orange);color:#fff;font:700 1rem/1.2 var(--font);cursor:pointer;transition:background .15s,border-color .15s,transform .15s}
body.page-request .entry-content .ff-btn-submit:hover,
body.page-request .entry-content button[type=submit]:hover{background:var(--orange-dark);border-color:var(--orange-dark);color:#fff}
body.page-request .entry-content .ff-message-success{border-radius:10px;padding:1rem;border:1px solid #b8e0c3;background:#effaf2;color:#155b2b}
body.page-request .entry-content .ff-el-is-error .ff-el-form-control{border-color:#c62828}
body.page-request .entry-content .ff-el-error{font-size:.85rem;margin-top:.3rem}
@media(max-width:600px){
 body.page-request .site-main.section{padding-top:.75rem!important;padding-bottom:2rem!important}
 body.page-request .entry{border-radius:12px}
 body.page-request .entry-content{padding:1.1rem}
 body.page-request .entry-content .fluentform,
 body.page-request .entry-content form.fluent_form{padding:.9rem;border-radius:10px}
 body.page-request .entry-content .ff-btn-submit,
 body.page-request .entry-content button[type=submit]{width:100%}
}


/* Native AKAMI request form (email + saved inquiry, no external form plugin needed). */
body.page-request .akami-request-page .inquiry-section{padding:1rem 0 0!important}
body.page-request .akami-request-page #inquiry-form h2{color:var(--navy);font-size:clamp(1.45rem,3vw,1.9rem);margin:0 0 .5rem}
body.page-request .akami-request-page .form-note{color:var(--muted);line-height:1.7}
body.page-request .akami-request-page .akami-form{padding:clamp(1rem,3vw,1.5rem);border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 4px 18px rgba(31,56,100,.05)}
body.page-request .akami-request-page .akami-form .field{margin-bottom:1.1rem}
body.page-request .akami-request-page .akami-form .field label{display:block;font-weight:700;color:var(--navy);margin-bottom:.4rem}
body.page-request .akami-request-page .akami-form input,
body.page-request .akami-request-page .akami-form select,
body.page-request .akami-request-page .akami-form textarea{width:100%;min-height:48px;border:1px solid #cbd3df;border-radius:8px;padding:.7rem .85rem;background:#fff;color:var(--ink);font:inherit}
body.page-request .akami-request-page .akami-form textarea{min-height:125px}
body.page-request .akami-request-page .akami-form input:focus,
body.page-request .akami-request-page .akami-form select:focus,
body.page-request .akami-request-page .akami-form textarea:focus{outline:0;border-color:var(--navy);box-shadow:0 0 0 3px rgba(31,56,100,.12)}
body.page-request .akami-request-page .akami-form .btn{background:var(--orange);border-color:var(--orange);color:#fff;font-weight:700;min-height:48px}
body.page-request .akami-request-page .akami-form .btn:hover{background:var(--orange-dark);border-color:var(--orange-dark)}


/* v1.0.118: force readable text on the active My Account tab across theme/plugin states. */
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active > a,
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active > a:link,
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active > a:visited,
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active > a:hover,
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active > a:focus,
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active > a:active {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active > a * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}


/* v1.0.119: readable WooCommerce temporary-password / resend-reset-link notice. */
body.woocommerce-account .woocommerce-info a,
body.woocommerce-account .woocommerce-message a,
body.woocommerce-account .woocommerce-error a,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info a,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message a,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error a {
  color: #1f3864 !important;
  -webkit-text-fill-color: #1f3864 !important;
  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: 700;
}
body.woocommerce-account .woocommerce-info a:hover,
body.woocommerce-account .woocommerce-message a:hover,
body.woocommerce-account .woocommerce-error a:hover,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info a:hover,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message a:hover,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error a:hover {
  color: #e8621a !important;
  -webkit-text-fill-color: #e8621a !important;
}
body.woocommerce-account .woocommerce-info a.button,
body.woocommerce-account .woocommerce-message a.button,
body.woocommerce-account .woocommerce-error a.button,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info a.button,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message a.button,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error a.button {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: #1f3864 !important;
  border-color: #1f3864 !important;
  text-decoration: none !important;
  text-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}
body.woocommerce-account .woocommerce-info a.button:hover,
body.woocommerce-account .woocommerce-message a.button:hover,
body.woocommerce-account .woocommerce-error a.button:hover,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info a.button:hover,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message a.button:hover,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error a.button:hover {
  background: #e8621a !important;
  border-color: #e8621a !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}


/* v1.0.122 footer legal links: keep policy links tidy on narrow screens. */
.akami-footer__legal{align-items:center;row-gap:.25rem}
.akami-footer__legal li{min-width:0}
.akami-footer__legal a{overflow-wrap:anywhere}
@media(max-width:640px){
  .akami-footer__bottom{display:flex;flex-direction:column;align-items:flex-start;gap:.85rem}
  .akami-footer__legal{max-width:100%;gap:.35rem 0}
  .akami-footer__legal li+li::before{margin:0 .55rem}
}


/* AKAMI v1.0.124: align homepage automotive guide cards */
.front-page .akami-home-guides-scroll > li > .post-card,
.front-page .grid-guide-cards > .post-card,
.front-page .grid-guide-cards > li > .post-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.front-page .akami-home-guides-scroll .post-card .card-body,
.front-page .grid-guide-cards .post-card .card-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}
.front-page .akami-home-guides-scroll .post-card .card-title,
.front-page .grid-guide-cards .post-card .card-title {
  line-height: 1.35;
  min-height: 4.05em;
  margin-bottom: .4rem;
}
.front-page .akami-home-guides-scroll .post-card .card-body > p:not(.card-kicker),
.front-page .grid-guide-cards .post-card .card-body > p:not(.card-kicker) {
  line-height: 1.55;
  min-height: 6.2em;
  margin-bottom: 1rem;
}
.front-page .akami-home-guides-scroll .post-card .more-link,
.front-page .grid-guide-cards .post-card .more-link {
  margin-top: auto;
  align-self: flex-start;
}
@media (max-width: 767px) {
  .front-page .akami-home-guides-scroll .post-card .card-title,
  .front-page .grid-guide-cards .post-card .card-title {
    min-height: 0;
  }
  .front-page .akami-home-guides-scroll .post-card .card-body > p:not(.card-kicker),
  .front-page .grid-guide-cards .post-card .card-body > p:not(.card-kicker) {
    min-height: 0;
  }
}

/* AKAMI v1.0.144: reduce excess vertical space above homepage featured products and services. */
.front-page .section:has(.akami-home-featured-scroll),
.front-page .section:has(.akami-home-services-scroll) {
  padding-top: 1.5rem;
}
@media (max-width: 600px) {
  .front-page .section:has(.akami-home-featured-scroll),
  .front-page .section:has(.akami-home-services-scroll) {
    padding-top: 1.1rem;
  }
}

/* AKAMI v1.0.147: center copyright on mobile and bust cached theme assets. */
@media screen and (max-width: 767px) {
  footer.akami-footer .akami-footer__bottom {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;
    width: 100% !important;
    text-align: center !important;
  }
  footer.akami-footer .akami-footer__bottom > p.akami-footer__copy {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 12px !important;
    float: none !important;
    text-align: center !important;
    text-indent: 0 !important;
    align-self: stretch !important;
  }
}


/* AKAMI v1.0.150: hide the Need Help block in the footer on mobile only. */
@media screen and (max-width: 767px) {
  footer.akami-footer .akami-footer__contact .akami-footer__help,
  footer.akami-footer .akami-footer__contact .akami-footer__note,
  footer.akami-footer .akami-footer__contact .akami-footer__cta,
  footer.akami-footer .akami-footer__contact .akami-footer__rule {
    display: none !important;
  }
}


/* v1.0.151 homepage refinements: softer Why AKAMI panel, tighter spacing, CTA after guides. */
.front-page .section-home-why { background: #edf3f9; padding: 1.25rem 0 1.5rem; margin-top: -3rem; }
.front-page .section-home-why .container { padding: 1.5rem 1.5rem 1.1rem; background: #edf3f9; border: 1px solid #dce6f0; border-radius: 18px; box-shadow: 0 10px 28px rgba(12,22,35,.07); }
.front-page .section-home-why .section-head { margin-bottom: .75rem; }
.front-page .section-home-why .grid-why { gap: .45rem; }
.front-page .section-home-why .why-item { min-height: 105px; padding: .7rem .85rem; }
.front-page .section-home-guides .section-head { margin-bottom: .75rem; }
.front-page .section-home-guides { padding-top: 1.75rem; padding-bottom: 1.5rem; }
.front-page .section-home-guides .akami-home-guides-scroll { gap: .85rem; }
.front-page .section-home-guides .more-link { display: inline-block; margin-top: auto; padding-top: .65rem; }
.front-page .section-home-help { padding-top: 1.25rem; padding-bottom: 1.5rem; }
.front-page .section-home-help .band-inner { padding-top: 1.25rem; padding-bottom: 1.25rem; }
@media (max-width: 600px) {
 .front-page .section-home-why { margin-top: -2.5rem; padding: .8rem 0 1rem; }
 .front-page .section-home-why .container { padding: 1rem .85rem .75rem; border-radius: 14px; }
 .front-page .section-home-why .section-head { margin-bottom: .55rem; }
 .front-page .section-home-why .grid-why { gap: 0; }
 .front-page .section-home-why .why-item { min-height: 88px; padding: .65rem .2rem; }
 .front-page .section-home-guides { padding-top: 1.25rem; padding-bottom: 1rem; }
 .front-page .section-home-guides .akami-home-guides-scroll { gap: .65rem; }
 .front-page .section-home-help { padding-top: .75rem; padding-bottom: 1rem; }
 .front-page .section-home-help .band-inner { padding-top: 1rem; padding-bottom: 1rem; }
}


/* AKAMI v1.0.152: homepage card corners, guides link placement, and enquiry band spacing. */
.front-page .section-home-why .why-item { border-radius: 12px; overflow: hidden; }
.front-page .section-home-help { background: #e7eef6 !important; color: #172f4d; margin-bottom: 2rem; padding-top: .65rem; padding-bottom: .65rem; }
.front-page .section-home-help .band-inner { gap: .65rem; padding-top: .8rem; padding-bottom: .8rem; }
.front-page .section-home-help h2, .front-page .section-home-help p { color: #172f4d; }
.front-page .section-home-help .btn { flex-shrink: 0; }
.front-page .akami-guides-all-wrap { display: flex; justify-content: flex-start; margin-top: .7rem; }
.front-page .akami-guides-all-link { display: inline-block; font-weight: 700; color: var(--primary, #17365d); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 600px) {
 .front-page .section-home-why .why-item { border-radius: 10px; border: 1px solid #dce6f0; margin-bottom: .5rem; padding: .75rem .6rem; }
 .front-page .section-home-help { margin-bottom: 1.25rem; padding-top: .4rem; padding-bottom: .4rem; }
 .front-page .section-home-help .band-inner { gap: .5rem; padding-top: .7rem; padding-bottom: .7rem; }
 .front-page .akami-guides-all-wrap { margin-top: .6rem; }
}


/* AKAMI v1.0.153: guide-card links and responsive inquiry forms. */
.front-page .section-home-guides .post-card .card-body { min-width: 0; }
.front-page .section-home-guides .post-card .more-link { display: inline-block !important; margin-top: auto; padding-top: .65rem; }
.front-page .section-home-guides .post-card .card-title a,
.front-page .section-home-guides .post-card .more-link { overflow-wrap: anywhere; }

/* Keep request and service forms readable on laptops and phones without overflow. */
body.page-request .akami-request-page,
body.single-akami_service #inquiry-form { min-width: 0; }
body.page-request .akami-request-page .inquiry-section .container,
body.single-akami_service #inquiry-form .container { width: min(100% - 2rem, 820px); max-width: 820px; margin-left: auto; margin-right: auto; }
body.page-request .akami-request-page .akami-form,
body.single-akami_service #inquiry-form .akami-form { width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; padding: clamp(.85rem, 2vw, 1.35rem); }
body.page-request .akami-request-page .akami-form *,
body.single-akami_service #inquiry-form .akami-form * { box-sizing: border-box; min-width: 0; }
body.page-request .akami-request-page .akami-form input,
body.page-request .akami-request-page .akami-form select,
body.page-request .akami-request-page .akami-form textarea,
body.single-akami_service #inquiry-form .akami-form input,
body.single-akami_service #inquiry-form .akami-form select,
body.single-akami_service #inquiry-form .akami-form textarea { display: block; width: 100%; max-width: 100%; }
body.page-request .akami-request-page .akami-form .field-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
@media (max-width: 640px) {
 body.page-request .akami-request-page .inquiry-section .container,
 body.single-akami_service #inquiry-form .container { width: calc(100% - 1.25rem); }
 body.page-request .akami-request-page .akami-form,
 body.single-akami_service #inquiry-form .akami-form { padding: .8rem; border-radius: 10px; }
 body.page-request .akami-request-page .akami-form .field-row { grid-template-columns: minmax(0, 1fr); }
 body.page-request .akami-request-page .akami-form .field,
 body.single-akami_service #inquiry-form .akami-form .field { margin-bottom: .8rem; }
 body.page-request .akami-request-page .akami-form input,
 body.page-request .akami-request-page .akami-form select,
 body.page-request .akami-request-page .akami-form textarea,
 body.single-akami_service #inquiry-form .akami-form input,
 body.single-akami_service #inquiry-form .akami-form select,
 body.single-akami_service #inquiry-form .akami-form textarea { font-size: 16px; }
 body.page-request .akami-request-page .akami-form button[type=submit],
 body.single-akami_service #inquiry-form .akami-form button[type=submit] { width: 100%; }
}


/* AKAMI v1.0.154: force guide links to remain visible and improve service form fit. */
.front-page .akami-guides-all-wrap,
.front-page .akami-guides-all-link { display: none !important; }
.front-page .section-home-guides .post-card { height: auto; min-height: 0; }
.front-page .section-home-guides .post-card .card-body { display: flex; flex-direction: column; height: auto; min-height: 0; overflow: visible; }
.front-page .section-home-guides .post-card .more-link,
.front-page .section-home-guides .post-card a.more-link { display: inline-flex !important; visibility: visible !important; opacity: 1 !important; position: static !important; align-self: flex-start; flex: 0 0 auto; margin-top: .5rem !important; padding: .35rem 0 .1rem !important; line-height: 1.4; }
.front-page .section-home-guides .post-card .card-body > p:not(.card-kicker) { min-height: 0; margin-bottom: .65rem; }
.front-page .section-home-guides .post-card .card-title { min-height: 0; }
body.single-akami_service #inquiry-form { scroll-margin-top: 140px; padding-block: clamp(1.5rem, 3vw, 3rem); }
body.single-akami_service #inquiry-form .container { width: calc(100% - 3rem); max-width: 1000px; }
body.single-akami_service #inquiry-form .form-note { max-width: 75ch; }
body.single-akami_service #inquiry-form .akami-form { max-width: 100%; }
@media (max-width: 767px) {
  body.single-akami_service #inquiry-form { scroll-margin-top: 90px; padding-block: 1.25rem; }
  body.single-akami_service #inquiry-form .container { width: calc(100% - 1.25rem); }
  .front-page .section-home-guides .post-card .more-link,
  .front-page .section-home-guides .post-card a.more-link { margin-top: .35rem !important; }
}


/* AKAMI v1.0.155: preserve full guide artwork and tighten services-to-guides spacing. */
.front-page .section-home-guides .akami-home-guides-scroll .card-media {
  aspect-ratio: 16 / 9 !important;
  width: 100%;
  height: auto !important;
  overflow: hidden;
  background: #eaf0f6;
}
.front-page .section-home-guides .akami-home-guides-scroll .card-media img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: 100%;
  object-fit: contain !important;
  object-position: center center;
}
.front-page .section-home-services { padding-bottom: 1rem !important; margin-bottom: 0 !important; }
.front-page .section-home-guides { padding-top: 1rem !important; }
@media (max-width: 767px) {
  .front-page .section-home-services { padding-bottom: .65rem !important; }
  .front-page .section-home-guides { padding-top: .65rem !important; }
}


/* AKAMI v1.0.156: make guide artwork fill the complete card image area. */
.front-page .section-home-guides .akami-home-guides-scroll .card-media {
  display: block !important;
  aspect-ratio: 16 / 9 !important;
  height: auto !important;
  padding: 0 !important;
  background: transparent !important;
  overflow: hidden !important;
}
.front-page .section-home-guides .akami-home-guides-scroll .card-media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center !important;
  margin: 0 !important;
}
.front-page .section-home-guides { padding-top: .5rem !important; }
.front-page .section-home-services { padding-bottom: .5rem !important; }
@media (max-width: 767px) {
  .front-page .section-home-guides { padding-top: .35rem !important; }
  .front-page .section-home-services { padding-bottom: .35rem !important; }
}


/* AKAMI v1.0.161: robustly hide the WooCommerce Description tab navigation on product pages, while preserving the Description heading and body content. */
body.single-product .woocommerce-tabs ul.tabs,
body.single-product .woocommerce-tabs ul.wc-tabs,
body.single-product .woocommerce-tabs .tabs,
body.single-product div.product .woocommerce-tabs > ul,
body.single-product .product .woocommerce-tabs > ul.tabs,
body.single-product .woocommerce div.product .woocommerce-tabs > ul.tabs,
.woocommerce.single-product .woocommerce-tabs ul.tabs {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
body.single-product .woocommerce-tabs,
body.single-product div.product .woocommerce-tabs,
body.single-product .product .woocommerce-tabs {
  border-top: 0 !important;
  padding-top: 0 !important;
  margin-top: 1.25rem !important;
}


/* Consistent emphasis for labels inside product descriptions. */
.single-product .entry-content .akami-product-description-label,
.single-akami_product .entry-content .akami-product-description-label {
  display: inline;
  font-size: 0.92em;
  font-weight: 750;
  letter-spacing: 0.01em;
}
.single-product .entry-content .akami-product-description-label--availability,
.single-akami_product .entry-content .akami-product-description-label--availability {
  color: #203f69;
}
.single-product .entry-content .akami-product-description-label--options,
.single-akami_product .entry-content .akami-product-description-label--options {
  color: #f45b0b;
}

/* AKAMI v1.0.163: make product and service card images flush with the card's top edge.
   Override legacy horizontal-scroll padding that created a thin inset/gap around images. */
.grid-products .product-card,
.grid-services .service-card {
  overflow: hidden;
}
.grid-products .product-card > .card-media,
.grid-services .service-card > .card-media {
  display: block !important;
  position: relative;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  background: #fff;
  flex: 0 0 auto;
  border-radius: 0 !important;
  scroll-snap-type: none !important;
  touch-action: auto;
}
.grid-products .product-card > .card-media img,
.grid-services .service-card > .card-media img {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  vertical-align: top;
}


/* AKAMI v1.0.164: true edge-to-edge image fit for every catalog card, including WooCommerce related products.
   Previous rules only covered .grid-products/.grid-services; WooCommerce related cards use ul.products li.product. */
.grid-products .product-card,
.grid-services .service-card,
.front-page .akami-home-featured-scroll .product-card,
.front-page .akami-home-services-scroll .service-card,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce .related ul.products li.product,
.woocommerce .up-sells ul.products li.product,
.woocommerce .cross-sells ul.products li.product {
  box-sizing: border-box !important;
  overflow: hidden !important;
}
.grid-products .product-card > .card-media,
.grid-services .service-card > .card-media,
.front-page .akami-home-featured-scroll .product-card > .card-media,
.front-page .akami-home-services-scroll .service-card > .card-media {
  width: calc(100% + 2px) !important;
  max-width: none !important;
  margin: -1px -1px 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
  box-sizing: border-box !important;
}
.grid-products .product-card > .card-media img,
.grid-services .service-card > .card-media img,
.front-page .akami-home-featured-scroll .product-card > .card-media img,
.front-page .akami-home-services-scroll .service-card > .card-media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  vertical-align: top !important;
}
/* WooCommerce loop cards (including Related products): remove link/image insets and fill the card's top edge. */
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link,
.woocommerce-page ul.products li.product > a.woocommerce-LoopProduct-link,
.woocommerce ul.products li.product > a:first-child,
.woocommerce-page ul.products li.product > a:first-child {
  display: block !important;
  width: calc(100% + 2px) !important;
  max-width: none !important;
  margin: -1px -1px 0 !important;
  padding: 0 !important;
  border: 0 !important;
  line-height: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
  object-position: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  vertical-align: top !important;
}



/* AKAMI v1.0.171: single-row horizontally scrollable Related Products carousel.
   Up to eight related products; touch-scroll on mobile and horizontal scroll on desktop. */
body.single-akami_product .akami-related-products,
body.single-product .akami-related-products {
  display: block !important;
  clear: both !important;
  float: none !important;
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 20px 0 !important;
  box-sizing: border-box !important;
}
body.single-akami_product .akami-related-products > .container,
body.single-product .akami-related-products > .container {
  display: block !important;
  width: min(100% - 32px, 1200px) !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
body.single-akami_product .akami-related-products .section-head,
body.single-product .akami-related-products .section-head {
  display: block !important;
  width: 100% !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
}
body.single-akami_product .akami-related-products ul.akami-related-grid,
body.single-product .akami-related-products ul.akami-related-grid {
  display: flex !important;
  flex-flow: row nowrap !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 0 10px !important;
  list-style: none !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
  box-sizing: border-box !important;
}
body.single-akami_product .akami-related-products ul.akami-related-grid::before,
body.single-akami_product .akami-related-products ul.akami-related-grid::after,
body.single-product .akami-related-products ul.akami-related-grid::before,
body.single-product .akami-related-products ul.akami-related-grid::after {
  content: none !important;
  display: none !important;
}
body.single-akami_product .akami-related-products ul.akami-related-grid > li,
body.single-product .akami-related-products ul.akami-related-grid > li {
  display: block !important;
  flex: 0 0 calc((100% - 32px) / 3) !important;
  width: calc((100% - 32px) / 3) !important;
  min-width: 0 !important;
  max-width: calc((100% - 32px) / 3) !important;
  position: static !important;
  float: none !important;
  clear: none !important;
  inset: auto !important;
  grid-area: auto !important;
  order: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  scroll-snap-align: start;
  box-sizing: border-box !important;
}
body.single-akami_product .akami-related-products ul.akami-related-grid > li > article.product-card,
body.single-product .akami-related-products ul.akami-related-grid > li > article.product-card {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}
@media (max-width: 760px) {
  body.single-akami_product .akami-related-products,
  body.single-product .akami-related-products { padding: 12px 0 !important; }
  body.single-akami_product .akami-related-products > .container,
  body.single-product .akami-related-products > .container {
    width: calc(100% - 24px) !important;
  }
  body.single-akami_product .akami-related-products ul.akami-related-grid,
  body.single-product .akami-related-products ul.akami-related-grid { gap: 12px !important; }
  body.single-akami_product .akami-related-products ul.akami-related-grid > li,
  body.single-product .akami-related-products ul.akami-related-grid > li {
    flex-basis: 72% !important;
    width: 72% !important;
    max-width: 72% !important;
  }
}


/* AKAMI v1.0.172: compact product-page enquiry and related-products spacing.
   Keeps this change scoped to product detail pages; other pages are unchanged. */
body.single-akami_product #inquiry-form.inquiry-section,
body.single-product #inquiry-form.inquiry-section {
  padding-top: 0.75rem !important;
  padding-bottom: 0.5rem !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
body.single-akami_product #inquiry-form.inquiry-section > .container,
body.single-product #inquiry-form.inquiry-section > .container {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
body.single-akami_product #inquiry-form.inquiry-section h2,
body.single-product #inquiry-form.inquiry-section h2 {
  margin-top: 0 !important;
  margin-bottom: 0.5rem !important;
}
body.single-akami_product #inquiry-form.inquiry-section .form-note,
body.single-product #inquiry-form.inquiry-section .form-note {
  margin-top: 0.35rem !important;
  margin-bottom: 0.85rem !important;
}
body.single-akami_product .akami-related-products,
body.single-product .akami-related-products {
  margin-top: 0 !important;
  padding-top: 0.5rem !important;
  padding-bottom: 1rem !important;
}
body.single-akami_product .akami-related-products .section-head,
body.single-product .akami-related-products .section-head {
  margin-bottom: 0.75rem !important;
}
@media (max-width: 640px) {
  body.single-akami_product #inquiry-form.inquiry-section,
  body.single-product #inquiry-form.inquiry-section {
    padding-top: 0.35rem !important;
    padding-bottom: 0.25rem !important;
  }
  body.single-akami_product .akami-related-products,
  body.single-product .akami-related-products {
    padding-top: 0.25rem !important;
    padding-bottom: 0.75rem !important;
  }
}


/* AKAMI v1.0.173: keep Related products heading and View all link on one line. */
body.single-akami_product .akami-related-products .section-head,
body.single-product .akami-related-products .section-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
}
body.single-akami_product .akami-related-products .section-head h2,
body.single-product .akami-related-products .section-head h2 {
  margin: 0 !important;
}
body.single-akami_product .akami-related-products .section-head .more-link,
body.single-product .akami-related-products .section-head .more-link {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}
@media (max-width: 420px) {
  body.single-akami_product .akami-related-products .section-head,
  body.single-product .akami-related-products .section-head { gap: 8px !important; }
}


/* AKAMI v1.0.174: mobile heading alignment and tighter carousel-to-footer spacing. */
body.single-akami_product .akami-related-products .section-head,
body.single-product .akami-related-products .section-head {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  gap: 10px !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  text-align: left !important;
}
body.single-akami_product .akami-related-products .section-head > h2,
body.single-product .akami-related-products .section-head > h2 {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}
body.single-akami_product .akami-related-products .section-head > .more-link,
body.single-product .akami-related-products .section-head > .more-link {
  display: inline-block !important;
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
  align-self: center !important;
}
body.single-akami_product .akami-related-products,
body.single-product .akami-related-products {
  margin-bottom: 0 !important;
  padding-bottom: 8px !important;
}
body.single-akami_product .akami-related-products ul.akami-related-grid,
body.single-product .akami-related-products ul.akami-related-grid {
  margin-bottom: 0 !important;
  padding-bottom: 4px !important;
}
body.single-akami_product .akami-related-products + footer,
body.single-product .akami-related-products + footer,
body.single-akami_product .akami-related-products ~ footer,
body.single-product .akami-related-products ~ footer {
  margin-top: 0 !important;
}
@media (max-width: 640px) {
  body.single-akami_product .akami-related-products,
  body.single-product .akami-related-products {
    padding-top: 8px !important;
    padding-bottom: 6px !important;
  }
  body.single-akami_product .akami-related-products .section-head,
  body.single-product .akami-related-products .section-head {
    gap: 8px !important;
    margin-bottom: 10px !important;
  }
  body.single-akami_product .akami-related-products .section-head > h2,
  body.single-product .akami-related-products .section-head > h2 {
    font-size: clamp(1.35rem, 5.5vw, 2rem) !important;
  }
  body.single-akami_product .akami-related-products .section-head > .more-link,
  body.single-product .akami-related-products .section-head > .more-link {
    font-size: 0.95rem !important;
  }
}


/* AKAMI v1.0.175: enforce one-line Related Products heading on mobile and desktop. */
body.single-akami_product section.akami-related-products .container > .section-head,
body.single-product section.akami-related-products .container > .section-head {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  text-align: left !important;
  width: 100% !important;
}
body.single-akami_product section.akami-related-products .container > .section-head > h2,
body.single-product section.akami-related-products .container > .section-head > h2 {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  flex: 1 1 0% !important;
  min-width: 0 !important;
  margin: 0 !important;
}
body.single-akami_product section.akami-related-products .container > .section-head > .more-link,
body.single-product section.akami-related-products .container > .section-head > .more-link {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 0 0 auto !important;
  white-space: nowrap !important;
  align-self: center !important;
}
@media (max-width: 640px) {
  body.single-akami_product section.akami-related-products .container > .section-head,
  body.single-product section.akami-related-products .container > .section-head {
    gap: 8px !important;
  }
  body.single-akami_product section.akami-related-products .container > .section-head > h2,
  body.single-product section.akami-related-products .container > .section-head > h2 {
    font-size: clamp(1.25rem, 5.2vw, 2rem) !important;
  }
  body.single-akami_product section.akami-related-products .container > .section-head > .more-link,
  body.single-product section.akami-related-products .container > .section-head > .more-link {
    font-size: 0.95rem !important;
  }
}


/* AKAMI v1.0.177: tighten product taxonomy-to-enquiry and enquiry-to-related spacing. */
body.single-akami_product #inquiry-form.inquiry-section.section,
body.single-product #inquiry-form.inquiry-section.section {
  margin-block: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
body.single-akami_product #inquiry-form.inquiry-section.section > .container,
body.single-product #inquiry-form.inquiry-section.section > .container {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
body.single-product .woocommerce div.product .akami-product-taxonomy {
  margin-top: .6rem !important;
  margin-bottom: .35rem !important;
  padding-top: .55rem !important;
  padding-bottom: .55rem !important;
}
body.single-akami_product #inquiry-form.inquiry-section + .akami-related-products,
body.single-product #inquiry-form.inquiry-section + .akami-related-products {
  margin-top: 0 !important;
  padding-top: .25rem !important;
}
body.single-akami_product #inquiry-form.inquiry-section h2,
body.single-product #inquiry-form.inquiry-section h2 {
  margin-top: 0 !important;
  margin-bottom: .4rem !important;
}
body.single-akami_product #inquiry-form.inquiry-section .form-note,
body.single-product #inquiry-form.inquiry-section .form-note {
  margin-top: .25rem !important;
  margin-bottom: .55rem !important;
}
@media (max-width: 640px) {
  body.single-akami_product #inquiry-form.inquiry-section.section,
  body.single-product #inquiry-form.inquiry-section.section {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  body.single-product .woocommerce div.product .akami-product-taxonomy {
    margin-top: .4rem !important;
    margin-bottom: .2rem !important;
    padding-block: .4rem !important;
  }
  body.single-akami_product #inquiry-form.inquiry-section + .akami-related-products,
  body.single-product #inquiry-form.inquiry-section + .akami-related-products {
    padding-top: .15rem !important;
  }
}


/* Gallery image loading feedback and consistent swipe behaviour. */
.akami-service-media__stage,
.product-gallery .gallery-main {
	position: relative;
	overflow: hidden;
	touch-action: pan-y;
}
.akami-service-media__stage.is-loading::after,
.product-gallery .gallery-main.is-loading::after {
	content: "";
	position: absolute;
	z-index: 5;
	top: 50%;
	left: 50%;
	width: 34px;
	height: 34px;
	margin: -17px 0 0 -17px;
	border: 3px solid rgba(31, 56, 100, .18);
	border-top-color: #1f3864;
	border-radius: 50%;
	animation: akami-gallery-spin .75s linear infinite;
	pointer-events: none;
}
.akami-service-media__stage.is-loading img,
.product-gallery .gallery-main.is-loading img {
	opacity: .45;
	transition: opacity .18s ease;
}
.akami-service-media__stage:not(.is-loading) img,
.product-gallery .gallery-main:not(.is-loading) img {
	opacity: 1;
	transition: opacity .18s ease;
}
@keyframes akami-gallery-spin {
	to { transform: rotate(360deg); }
}
