.header-logo a,
.header-upper,
.header-actions a.ico-cart,
.header-menu > ul > li > a::after,
#goToTop,
.social-sharing li,
.newsletter-email .newsletter-subscribe-button,
.footer-block .title + *::before,
.header-2 .header-lower,
.mega-menu .title::after,
.item-box button,
.item-box .with-icon .product-box-add-to-cart-button,
.pager li.previous-page *,
.pager li.next-page *,
.pager li.first-page *,
.pager li.last-page *,
.overview .add-to-cart-button,
.variant-overview .add-to-cart-button,
.write-review .button-1,
.wishlist-content .button-2.wishlist-add-to-cart-button,
.compare-products-page .button-2,
.registration-page .button-1,
.registration-result-page .button-1,
.login-page .login-button,
.login-page .register-button,
.password-recovery-page .button-1,
.account-page .button-1,
.return-request-page .button-1,
.user-agreement-page .button-1,
.contact-page .button-1,
.email-a-friend-page .button-1,
.account-page .title strong::after,
.account-page .button-2,
.order-details-page .button-2.print-order-button,
.order-details-page .actions button,
.mini-shopping-cart .count,
.mini-shopping-cart button,
.shopping-cart-page .button-2.update-cart-button,
.shopping-cart-page .estimate-shipping-button,
.shopping-cart-page .button-1,
.checkout-page .button-1,
.search-input .button-1,
.sitemap-page .entity-title h2::after,
.post-title::after,
.news-title::after,
.blog-posts .read-more,
.news-items .read-more,
.new-comment .title strong::after,
.comment-list .title strong::after,
.new-comment .button-1,
.forum-search-box .basic .search-box-button,
.forums-table-section-title > a::after,
.forums-table-section-title strong::after,
.topic-post .pm-button,
.profile-info-box .pm-button,
.forum-edit-page .buttons button.button-1,
.move-topic-page .buttons button.button-1,
.private-messages .buttons button.button-1,
.responsive-nav-wrapper,
.item-box .rating div,
.overview .rating div,
.product-review-box .rating div,
.footer-2 .newsletter-block .title,
.apply-vendor-page .button-1,
.ui-dialog-titlebar,
.ui-dialog .notify-me-button,
button.apply-shipping-button,
/*plugins*/ .ajaxCart .productAddedToCartWindowCheckout,
.previous-product a:hover .previous-product-label,
.next-product a:hover .next-product-label,
.sale-of-the-day-offer .go-to-product-page,
.blog-search-box .search-box-button,
.post-navigation a:hover::before,
.jCarouselMainWrapper .slick-dots .slick-active button,
.ajaxFilters .k-window-titlebar,
.ropc .complete-button button,
.header-menu > ul > li > span:after,
.shops-item .shop-name:after,
.shops-item .read-more,
.newsletter-subscribe-popup .newsletter-subscribe-popup-title::after,
.sale-of-the-day-offer li.slick-active button {
  background-color: #2c3944;
}
/* set same border color as bg */

.pager li.previous-page *,
.pager li.next-page *,
.pager li.first-page *,
.pager li.last-page *,
.wishlist-content .button-2.wishlist-add-to-cart-button,
.account-page .button-2,
.order-details-page .button-2.print-order-button,
.order-details-page .actions button,
.shopping-cart-page .button-2.update-cart-button,
.shopping-cart-page .estimate-shipping-button,
.forum-edit-page .buttons button.button-1,
.move-topic-page .buttons button.button-1,
.private-messages .buttons button.button-1,
.attribute-squares .selected-value .attribute-square,
/*plugins*/ .previous-product a:hover .previous-product-label,
.next-product a:hover .next-product-label,
.ui-slider-handle,
.mega-menu .dropdown.fullWidth,
.post-navigation a:hover::before,
.product-filters .ui-slider-handle {
  border-color: #2c3944;
}
/* set differen background color to this button */

.header-2 .header-actions a.ico-cart {
  background-color: #405363;
}
/* color */

.ui-dialog-titlebar,
.eu-cookie-bar-notification button,
.eu-cookie-bar-notification a,
.header-2 .header-links a span:hover,
.header-2 .header-links a:hover,
.styleSelect_item li:hover span,
.footer-block a:hover,
.footer-powered-by a,
.footer-designed-by a,
.block .list li.active > a,
.block.block-account-navigation .list li.active a,
.block .list a:hover,
.block .view-all a,
.block .tags li a:hover,
.product-tags-all-page li a:hover,
.news-list-homepage .news-date,
.poll strong,
.poll .buttons button,
.poll-total-votes,
.breadcrumb a:hover,
.contact-vendor .button-2,
.product-filters .filter-content li a:hover,
.item-box .product-title a:hover,
.item-box .actual-price,
.item-box .tax-shipping-info a,
.pager li a:hover,
.pager li.current-page span,
.product-review-links a,
.overview .subscribe-button,
.variant-overview .subscribe-button,
.overview .value a,
.variant-overview .value a,
.overview .product-price,
.variant-overview .product-price,
.overview .prices .tax-shipping-info a,
.variant-overview .prices .tax-shipping-info a,
.ui-tabs .ui-tabs-nav li a,
.product-tags-list li,
.vendor-list li,
.product-reviews-page h1 a,
.product-review-item .review-info a,
.product-review-helpfulness .vote,
.wishlist-content .tax-shipping-info a,
.wishlist-content .button-2,
.wishlist-page .share-info a:hover,
.compare-products-page .clear-list,
.topic-block a,
.topic-page a,
.enter-password-form button,
.email-a-friend-page .title h2,
#check-availability-button,
.login-page .inputs.reversed a,
.login-page .checkout-as-guest-button,
.add-more-external-records a,
.account-page .return-items-button,
.return-request-list-page a,
.reward-points-history td.points-balance,
.avatar-page .buttons .button-2,
.shopping-cart-page .button-2,
.checkout-page .button-2,
.order-details-page .page-title a,
.terms-of-service a,
.order-completed .details a,
.opc .back-link a:hover,
.order-details-page .order-overview strong,
.order-details-page .tax-shipping-info a,
.order-details-page button.return-items-button,
.sitemap-page a:hover,
.post-title:hover,
.news-title:hover,
.blog-page .tags li,
.blogpost-page .tags li,
.blog-posts .read-comments,
.comment-info .username,
.news-list-homepage .view-all a,
.forum-search-box .advanced a,
.forums-table-section a:hover,
.forums-table-section-title > a:hover,
.forums-table-section .view-all a,
.forums-table-section .latest-post .origin a,
.forums-table-section .latest-post .author a,
.forums-table-section .topic-details .topic-starter a,
.forum-actions .actions a,
.topic-actions .actions a,
.topic-post .username,
.topic-post .post-actions .quote-post-button,
.topic-post .post-actions a:hover,
.forum-edit-page .buttons button,
.move-topic-page .buttons button,
.private-messages .buttons button,
.private-messages-page td a.pm-unread,
.private-messages-page .to a:hover,
.private-messages-page .from a:hover,
.private-messages-page .subject a:hover,
.profile-page .topic-title a,
.profile-page .topic-title a:hover,
.header-menu .sublist li:hover > a,
.mini-shopping-cart .price span,
.mini-shopping-cart .totals strong,
.cart .edit-item > a,
.cart tbody .subtotal,
.compare-products-table .product-price td,
td.footable-last-column,
.go-to-page,
.blog-page .buttons .read-more,
.order-details-page .button-2.re-order-button,
.account-page .button-2.return-items-button,
/*topics descriptions posts*/ .category-description a,
.manufacturer-description a,
.full-description a,
.topic-html-content a,
.post-body a,
.news-body a,
.custom-tab a,
/*plugins*/ .mega-menu .box li a:hover,
.sale-of-the-day-offer .price.actual-price,
.rich-blog-homepage .view-all a,
.instant-search-item .detail .price,
.priceRangeCurrentPricesPanel span,
.specification-current-value-panel span,
.filtersGroupPanel li > a:hover,
.filter-block a.clearFilterOptions,
.filter-block a.clearPriceRangeFilter,
.selected-options-list > li span,
.productAddedToCartWindowSummary a,
.productAddedToCartWindowDescription strong,
.quickViewWindow .links-panel a,
.sale-of-the-day-offer .product-name h4:hover,
.blog-search-results li a,
.jDropDown li span:hover,
.jDropDown li.selected span,
.footer-tax-shipping a,
p .search-term-highlighter,
.ropc .estimate-shipping button,
.ropc .coupon-code button,
.post-relations li a,
.checkbox-list li label:hover,
.spc-header li span,
.spc-categories .category-sublist li a:hover,
.spc-categories .category-info:hover .category-title a,
.getUserGeoLocation,
.align-map-button,
.filter-shops-button,
.shops-item .show-directions,
.shop-map-images .map-controls a,
.shop-full-description a,
.product-filters .selected-price-range {
  color: #2c3944;
}
.home-page-category-grid .picture a:before,
.sub-category-grid .picture a:before {
  padding-top: 100%;
}
/*****ADDED BY INTACT START*****/

@media (min-width: 1281px) 
{
    .mega-menu .dropdown.fullWidth {width: 1440px;}
}

@media (min-width: 1025px) 
{
    .mega-menu .categories .picture {height: 100%;}
}

/*Hide Date on blog post preview*/
.blogpost-page .post-date {
    display: none;
}

/* Hides unwanted filters (specification attributes) from side */
.specificationFilterPanel7Spikes .checkbox-item.disabled {
    display: none;
}

/* Stop customer from changing email address - Hide Customer Info */
li.customer-info {
    display: none;
}
.page.account-page.customer-info-page {
    display: none;
}

/*  Nivo slider image sizing  
.slider-wrapper img {
   padding-top: 0px;
    width: 1920px;
    height: auto;
    max-width: 1920px;
    max-height: none;
}
*/



/* Re-arrange checkout screen to be more friendly freshdesk case xxxxxxxxx */
@media (min-width: 1025px){
/* move delivery notes to right */
.checkout-attributes {float: right;}

/* set text area for delivery notes to match values box */
textarea#checkout_attribute_2 {width: 390px;}

/* set calendar to be float left to reduce white space */
div#datepicker {float: left;}
}

  .social-sharing .rss {
    display: none;
  }

/* remove manufacturer navigation from sidebar ref FD ticket 1414677 */
.block.block-manufacturer-navigation {
    display: none;
}


/*****ADDED BY INTACT END*****/



/*****ADDED BY AG*****/




/* ============================================================
   FILTER PANEL ORDERING FIX (7 Spikes plugin)
   ============================================================ */
.filtersPanel {
    display: flex;
    flex-direction: column;
}

.filtersPanel>.block {
    width: 100%;
}

.manufacturerFilterPanel7Spikes {
    order: 1;
}

.specificationFilterPanel7Spikes {
    order: 2;
}

.priceRangeFilterPanel7Spikes {
    order: 0;
}

/* ============================================================
   HETTICH MANUFACTURER (NEW)
   ============================================================ */

/* Add NEW badge to Hettich manufacturer filter */
label.filter-item-name[data-originaltext="Hettich"]::after {
    content: "NEW";
    display: inline-block;
    margin-left: 6px;
    padding: 2px 6px;
    font-size: 10px;
    font-weight: 600;
    line-height: 1;
    color: #ffffff;
    background-color: #6DB1A7;
    /* red badge */
    border-radius: 3px;
    vertical-align: middle;
}

/* ============================================================
   HERO - CATEGORY: desktop video, mobile image
   TOPIC: desktop video, mobile image
   ============================================================ */

/* CATEGORY hero sizing */
.AG-category-hero {
    width: 100%;
    height: 300px;
    display: block;
    margin: 0;
    object-fit: cover;
}

/* TOPIC hero sizing */
.AG-topic-hero {
    width: 100%;
    height: 300px;
    display: block;
    margin: 0;
    object-fit: cover;
}

/* Desktop defaults */
.AG-category-hero-video,
.AG-topic-hero-video {
    display: block;
}

.AG-category-hero-image,
.AG-topic-hero-image {
    display: none;
}

/* TOPIC main video sizing (desktop only) */
.AG-topic-main-video {
    width: 100%;
    height: 500px;
    display: block;
    margin: 0;
    object-fit: cover;
}

/* ============================================================
   INTRO (CATEGORY + TOPIC)
   ============================================================ */

.AG-category-intro,
.AG-topic-intro {
    margin: 20px 0;
    line-height: 1.6;
    font-size: 16px;
}

/* ============================================================
   CATEGORY: DETAILS CONTAINERS
   ============================================================ */

.AG-category-details {
    padding: 15px;
}

.AG-category-details:nth-of-type(even) {
    background-color: #ffffff;
}

.AG-category-details:nth-of-type(odd) {
    background-color: #f5f5f5;
}

.AG-category-details-blank {
    padding: 15px;
}

/* Space between summary header and content */
.AG-category-details>.AG-category-info-column,
.AG-category-details>.AG-category-info-paragraph,
.AG-category-details>.AG-category-info-pdf,
.AG-category-details>.AG-category-info-video,
.AG-category-details-blank>.AG-category-info-video,
.AG-category-details>.AG-sales-team-map__fullscreen,
.AG-category-details>.AG-sales-team-map__image-wrapper {
    margin-top: 10px;
}

/* ============================================================
   CATEGORY: SUMMARY (DROPDOWN HEADER)
   ============================================================ */

.AG-category-summary {
    cursor: pointer;
    list-style: none;
    position: relative;
    padding-right: 24px;
}

.AG-category-summary::-webkit-details-marker {
    display: none;
}

.AG-category-summary::after {
    content: "+";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 20px;
    font-weight: 700;
    transition: color 0.2s ease;
}

.AG-category-details[open]>.AG-category-summary::after {
    content: "−";
}

.AG-category-title,
.AG-category-subtitle {
    transition: color 0.2s ease;
}

.AG-category-summary:hover .AG-category-title,
.AG-category-summary:hover .AG-category-subtitle,
.AG-category-summary:hover::after {
    color: #2B3944;
}

/* ============================================================
   CATEGORY: TITLES & SUBTITLES
   ============================================================ */

.AG-category-title {
    font-size: 20px;
    font-weight: 700;
}

.AG-category-subtitle {
    font-size: 16px;
}

/* ============================================================
   TWO-COLUMN INFO (CATEGORY + TOPIC)
   ============================================================ */

.AG-category-info-column,
.AG-topic-info-column {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 5px 30px;
}

.AG-category-info-column p,
.AG-topic-info-column p {
    margin: 0;
    line-height: 1.6;
}

.AG-category-info-column strong,
.AG-topic-info-column strong {
    display: inline-block;
    margin: 4px 0 2px;
    font-size: 1.05em;
}

/* ============================================================
   CATEGORY: PARAGRAPH AREA
   ============================================================ */

.AG-category-info-paragraph p {
    margin: 4px 0 0;
    line-height: 1.6;
}

/* ============================================================
   CATEGORY: PDF VIEWER
   ============================================================ */

.AG-category-pdf-fullscreen {
    margin: 4px 0;
    display: inline-block;
}

.AG-category-pdf-frame {
    width: 100%;
    height: 600px;
    border-radius: 6px;
    overflow: hidden;
    border: 0;
}

/* ============================================================
   VIDEO THUMBNAIL (SHARED)
   ============================================================ */

.AG-video-thumbnail {
    position: relative;
    display: block;
    width: 100%;
    cursor: pointer;
    border-radius: 6px;
    overflow: hidden;
    background: #000;
    aspect-ratio: 16 / 9;
}

.AG-video-thumbnail img {
    width: 100%;
    height: 100%;
    display: block;
    opacity: 0.85;
    border-radius: 6px;
    object-fit: cover;
}

.AG-video-play-button {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 64px;
    height: 64px;
    transform: translate(-50%, -50%);
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.55);
}

.AG-video-play-button::before {
    content: "";
    position: absolute;
    left: 52%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    border-left: 18px solid #ffffff;
    border-top: 11px solid transparent;
    border-bottom: 11px solid transparent;
}

.AG-category-video-wrapper {
    margin-top: 8px;
}

.AG-category-video-fullscreen {
    margin: 4px 0;
    display: inline-block;
}

.AG-video-embed {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
}

/* ============================================================
   LOCAL VIDEO
   ============================================================ */

.AG-local-video {
    width: 100%;
    max-width: 100%;
    display: block;
    border-radius: 6px;
    overflow: hidden;
}

.AG-local-video video {
    width: 100%;
    height: auto;
    display: block;
}

/* ============================================================
   BUTTONS (CATEGORY + TOPIC)
   ============================================================ */

.AG-category-buttons,
.AG-category-buttons-gap,
.AG-topic-buttons,
.AG-topic-buttons-gap {
    margin: 40px 0 0;
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
}

.AG-category-button,
.AG-topic-button {
    width: 232px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    background-color: #626262;
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 14px;
    transition: background-color 0.2s ease;
    cursor: pointer;
}

.AG-category-button {
    width: 225px;
}

.AG-category-button:hover,
.AG-topic-button:hover {
    background-color: #2B3944;
}

/* ============================================================
   LIST
   ============================================================ */

.AG-suite-list {
    max-width: 700px;
}

.AG-suite-list ul {
    margin: 0;
}

.AG-suite-list li {
    margin-bottom: 6px;
    line-height: 1.5;
}

/* ============================================================
   AG Breadcrumb – V1 (HTML arrows, final typography)
   ============================================================ */

.topic-page .ag-crumbs {
    position: relative;
    display: flex !important;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: -23px 0 12px;
    padding: 0 10px;
    box-sizing: border-box;
    border: 2px solid #eee;
    border-bottom: none;
    font-family: inherit;
    font-size: 9px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #666;
}

.topic-page .ag-crumbs::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background: #eee;
}

.topic-page .ag-crumbs .ag-crumb {
    display: inline-flex !important;
    align-items: center;
    height: 30px;
    padding: 0 14px;
    border-left: 2px solid #eee;
    border-right: 2px solid #eee;
    background: transparent;
    color: #666;
    text-decoration: none;
    white-space: nowrap;
    box-sizing: border-box;
    font-weight: 400;
}

.topic-page .ag-crumbs .ag-crumb+.ag-crumb {
    border-left: 0;
}

.topic-page .ag-crumbs .ag-sep {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    height: 34px;
    padding: 0 8px;
    font-size: 16px;
    line-height: 1;
    color: #7c7c7c;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    flex-shrink: 0;
}

.topic-page .ag-crumbs .ag-current {
    font-weight: 500;
    color: #666;
    cursor: default;
}

/* Space after hero media (Category + Topic) */
.category-page .AG-category-hero,
.category-page .AG-category-hero-video,
.category-page .AG-category-hero-image,
.topic-page .AG-topic-main-video,
.topic-page .AG-topic-main-image,
.topic-page .AG-topic-hero-video {
    margin-bottom: 22px !important;
}

/* ============================================================
   SALES TEAM (CARDS)
   ============================================================ */

.AG-sales-team {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}

.AG-sales-team__card {
    width: 100%;
    display: grid;
    grid-template-columns: 360px 1fr;
    gap: 28px;
    padding: 22px 0;
    align-items: stretch;
}

.AG-sales-team__photo {
    height: 100%;
    overflow: hidden;
    border-radius: 2px;
}

.AG-sales-team__photo img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.AG-sales-team__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.AG-sales-team__name {
    margin: 0 0 10px;
    font-size: 22px;
    font-weight: 700;
    color: #444;
    display: flex;
    align-items: center;
    gap: 10px;
}

.AG-sales-team__role {
    font-weight: 600;
    color: #777;
}

.AG-sales-team__role::before {
    content: "– ";
}

.AG-sales-team__bio {
    margin: 0 0 10px;
    line-height: 1.5;
    color: #666;
}

.AG-sales-team__heading {
    margin: 2px 0 0;
    font-size: 14px;
    font-weight: 600;
    color: #777;
}

.AG-sales-team__contact,
.AG-sales-team__postcodes {
    margin: 0;
    color: #555;
}

.AG-sales-team__map-link {
    margin-left: 8px;
    white-space: nowrap;
}

.AG-sales-team__key {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    display: inline-block;
    border: 1px solid #bdbdbd;
    box-sizing: border-box;
    object-fit: cover;
}

/* Planning Team / software logo */
.AG-sales-team__software {
    height: 28px;
    width: auto;
    max-width: 80px;
    margin: 6px 0 10px 0;
    display: block;
    object-fit: contain;
    align-self: flex-start;
}

/* ============================================================
   SALES TEAM MAP / EMBED
   ============================================================ */

.AG-sales-team-map {
    margin: 0;
    width: 100%;
    max-width: 100%;
}

.AG-sales-team-map__fullscreen {
    font-size: 14px;
    line-height: 1.6;
    color: #666;
}

.AG-sales-team-map__image-wrapper {
    width: 100%;
    max-width: 100%;
}

.AG-sales-team-map__image {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    border: 1px solid #e5e5e5;
}

.AG-sales-team-map__pdf {
    width: 100%;
    height: 400px;
    border: 0;
    display: block;
}

/* Link styling (fullscreen button) */
.AG-sales-team-map__fullscreen a {
    display: inline-block;
    margin-left: 6px;
    padding: 4px 10px;
    font-size: 13px;
    line-height: 1.4;
    border: 1px solid #ccc;
    color: #444;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.AG-sales-team-map__fullscreen a:hover {
    background-color: #2B3944;
    color: #fff;
    text-decoration: none;
}

/* ============================================================
   TOPIC: DETAILS CONTAINERS (topic equivalent of AG-category-details)
   ============================================================ */

.AG-topic-details {
    padding: 15px;
    background-color: #f5f5f5;
}

.AG-topic-details-blank {
    padding: 15px;
}

/* Space between summary header and content (topic version) */
.AG-topic-details>.AG-topic-info-column,
.AG-topic-details>.AG-topic-info-paragraph,
.AG-topic-details>.AG-topic-info-pdf,
.AG-topic-details>.AG-topic-info-video,
.AG-topic-details-blank>.AG-topic-info-video,
.AG-topic-details>.AG-sales-team-map__fullscreen,
.AG-topic-details>.AG-sales-team-map__image-wrapper {
    margin-top: 10px;
}

/* ============================================================
   RESPONSIVE (MOBILE)
   ============================================================ */

@media (max-width: 768px) {

    /* CATEGORY hero swap */
    .AG-category-hero-video {
        display: none;
    }

    .AG-category-hero-image {
        display: block;
        width: 100%;
        height: auto;
        object-fit: cover;
    }

    .AG-category-hero {
        height: auto;
    }

    /* TOPIC hero swap */
    .AG-topic-hero-video {
        display: none;
    }

    .AG-topic-hero-image {
        display: block;
        width: 100%;
        height: auto;
        object-fit: cover;
    }

    .AG-topic-hero {
        height: auto;
    }

    /* Hide main topic video on mobile */
    .AG-topic-main-video {
        display: none;
        height: auto;
    }

    /* CATEGORY: details padding */
    .AG-category-details,
    .AG-category-details-blank {
        padding: 10px;
    }

    /* TOPIC: details padding */
    .AG-topic-details,
    .AG-topic-details-blank {
        padding: 10px;
    }

    /* INFO COLUMNS: 1 per row */
    .AG-category-info-column,
    .AG-topic-info-column {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    /* CATEGORY: PDF height */
    .AG-category-pdf-frame {
        height: 300px;
    }

    /* CATEGORY: summary alignment */
    .AG-category-summary {
        padding-right: 0;
        text-align: center;
    }

    .AG-category-summary::after {
        position: static;
        display: block;
        transform: none;
    }

    /* BUTTONS: stack */
    .AG-category-buttons,
    .AG-category-buttons-gap,
    .AG-topic-buttons,
    .AG-topic-buttons-gap {
        flex-direction: column;
        align-items: center;
        gap: 8px;
    }

    .AG-category-button,
    .AG-topic-button {
        width: 100%;
        max-width: 300px;
    }

    /* SALES TEAM: mobile layout */
    .AG-sales-team__card {
        grid-template-columns: 1fr;
        gap: 14px;
        padding: 18px 0;
        align-items: start;
    }

    .AG-sales-team__photo {
        height: auto;
    }

    .AG-sales-team__photo img {
        width: 100%;
        height: auto;
        object-fit: cover;
    }

    /* Center content */
    .AG-sales-team__content {
        justify-content: flex-start;
        align-items: center;
        text-align: center;
    }

    /* Center name */
    .AG-sales-team__name {
        justify-content: center;
        flex-wrap: wrap;
        text-align: center;
    }

    /* Role centered under name, and NO dash on mobile */
    .AG-sales-team__role {
        display: block;
        width: 100%;
        margin: 6px 0 0;
        text-align: center;
    }

    .AG-sales-team__role::before {
        content: "";
    }

    /* Center software logo on mobile */
    .AG-sales-team__software {
        align-self: center;
        margin-left: auto;
        margin-right: auto;
    }

    .AG-category-title {
        display: inline-block;
        text-align: center;
        max-width: 220px;
    }
}

.AG-sales-team-map {
    margin-top: 20px;
}

/* ============================================================
   BROCHURE GRID – 3 columns, clean (no card background)
   Includes: hover lift + shadow on image + title
   ============================================================ */

.AG-category-brochure-grid {
    width: 100%;
    max-width: 1100px;
    margin: 22px auto 0;
    padding: 0 10px;
    box-sizing: border-box;

    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px 22px;
}

/* Card (link wrapper) */
.AG-category-brochure-card {
    display: flex;
    flex-direction: column;
    align-items: center;

    text-decoration: none !important;
    color: inherit;

    background: none;
    border: 0;
    box-shadow: none;

    transition: transform 150ms ease;
}

/* Image – full cover visible, no frame */
/* Image – full cover visible, no frame */
.AG-category-brochure-card img {
    width: 100%;
    max-width: 260px;

    aspect-ratio: 3 / 4;
    object-fit: contain;
    display: block;

    /* IMPORTANT: do not use box-shadow here */
    transition: filter 150ms ease;
}

/* Title */
.AG-category-brochure-title {
    margin-top: 8px;
    text-align: center;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
    color: #626262;

    /* No title shadow */
    transition: color 150ms ease;
}

/* Hover – lift + image shadow only */
.AG-category-brochure-card:hover {
    transform: translateY(-2px);
}

.AG-category-brochure-card:hover img {
    filter: drop-shadow(8px 6px 6px rgb(151, 151, 151));
}

.AG-category-brochure-card:hover .AG-category-brochure-title {
    color: #2B3944;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1024px) {
    .AG-category-brochure-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px 0px;
    }
}

@media (max-width: 520px) {
    .AG-category-brochure-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

/* ============================================================
   TEAM SECTION
   ============================================================ */

.AG-team-section {
    border: 1px solid #e0e0e0;
    background-color: white;
}

.AG-team-section>summary {
    padding: 4px 6px;
}

/* ============================================================
   FIND A RETAILER (scoped to .page.all-shops-page only)
   ============================================================ */

/* 3 per row layout */
.page.all-shops-page .shops-list {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

/* Each shop card */
.page.all-shops-page .shops-item {
    box-sizing: border-box;
    flex: 0 0 calc(33.333% - 20px);
    margin: 0 10px 20px;
    display: flex;
    flex-direction: column;
}

/* Picture on top, info underneath */
.page.all-shops-page .shops-item .picture-wrap,
.page.all-shops-page .shops-item .info-wrap {
    width: 100% !important;
    float: none !important;
}

/* Reduce gap under the image */
.page.all-shops-page .shops-item .picture-wrap {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.page.all-shops-page .shops-item .picture-link {
    display: block;
    margin: 0 !important;
    padding: 0 !important;
}

.page.all-shops-page .shops-item .picture-img {
    display: block;
}

/* ------------------------------------------------------------
   INFO AREA (grid so Distance + Show Directions can share a row)
   ------------------------------------------------------------ */

.page.all-shops-page .shops-item .info-wrap {
    display: grid !important;
    grid-template-columns: auto 1fr;
    column-gap: 10px;
    align-items: center;
    flex: 1;
    padding-top: 8px !important;
}

/* By default, keep everything stacked full width */
.page.all-shops-page .shops-item .info-wrap>* {
    grid-column: 1 / -1;
}

/* Distance + Show Directions on the same line */
.page.all-shops-page .shops-item .info-wrap .distance-line {
    grid-column: 1;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.page.all-shops-page .shops-item .info-wrap a.show-directions {
    grid-column: 2;
    justify-self: start;
    margin: 0 0 0 4px !important;
    padding: 0 !important;
}

/* Hide the word "Distance:" (optional, but matches what you did) */
.page.all-shops-page .shops-item .distance-line .distance-label {
    display: none !important;
}

.page.all-shops-page .shops-item .info-wrap .distance-line,
.page.all-shops-page .shops-item .info-wrap a.show-directions {
    font-size: 14px;
}

/* Keep Read More button at the bottom */
.page.all-shops-page .shops-item .info-wrap .read-more {
    margin-top: auto;
}

/* Small gap above the short description */
.page.all-shops-page .shops-item .short-description {
    margin-top: 8px !important;
}

.page.all-shops-page .retailer-page-address {
    color: #2B3944;
    margin-bottom: 4px;
}

/* ============================================================
   Retailer card icons (SVG via mask-image) - scoped
   ============================================================ */

.page.all-shops-page .short-description a[href^="tel:"],
.page.all-shops-page .short-description a[href^="mailto:"],
.page.all-shops-page .short-description a[href^="http"] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

/* shared icon styles */
.page.all-shops-page .short-description a[href^="tel:"]::before,
.page.all-shops-page .short-description a[href^="mailto:"]::before,
.page.all-shops-page .short-description a[href^="http"]::before {
    content: "";
    width: 14px;
    height: 14px;
    display: inline-block;
    background-color: currentColor;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
}

/* phone icon */
.page.all-shops-page .short-description a[href^="tel:"]::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79a15.05 15.05 0 006.59 6.59l2.2-2.2a1 1 0 011.01-.24c1.12.37 2.33.57 3.58.57a1 1 0 011 1v3.5a1 1 0 01-1 1C10.07 22 2 13.93 2 3.5a1 1 0 011-1H6.5a1 1 0 011 1c0 1.25.2 2.46.57 3.58a1 1 0 01-.24 1.01l-2.21 2.2z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79a15.05 15.05 0 006.59 6.59l2.2-2.2a1 1 0 011.01-.24c1.12.37 2.33.57 3.58.57a1 1 0 011 1v3.5a1 1 0 01-1 1C10.07 22 2 13.93 2 3.5a1 1 0 011-1H6.5a1 1 0 011 1c0 1.25.2 2.46.57 3.58a1 1 0 01-.24 1.01l-2.21 2.2z'/%3E%3C/svg%3E");
}

/* email icon */
.page.all-shops-page .short-description a[href^="mailto:"]::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4a2 2 0 00-2 2v12a2 2 0 002 2h16a2 2 0 002-2V6a2 2 0 00-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4a2 2 0 00-2 2v12a2 2 0 002 2h16a2 2 0 002-2V6a2 2 0 00-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E");
}

/* website icon */
.page.all-shops-page .short-description a[href^="http"]::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 100 20 10 10 0 000-20zm7.93 9h-3.02a15.7 15.7 0 00-1.02-5.05A8.02 8.02 0 0119.93 11zM12 4c.88 1.28 1.52 3.07 1.82 5H10.18C10.48 7.07 11.12 5.28 12 4zM4.07 13h3.02c.2 1.78.62 3.49 1.22 5.05A8.02 8.02 0 014.07 13zm3.02-2H4.07a8.02 8.02 0 014.22-5.05A15.7 15.7 0 007.09 11zM12 20c-.88-1.28-1.52-3.07-1.82-5h3.64c-.3 1.93-.94 3.72-1.82 5zm2.69-1.95c.6-1.56 1.02-3.27 1.22-5.05h3.02a8.02 8.02 0 01-4.24 5.05zM9.97 13c-.05-.66-.08-1.33-.08-2s.03-1.34.08-2h4.06c.05.66.08 1.33.08 2s-.03 1.34-.08 2H9.97z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 100 20 10 10 0 000-20zm7.93 9h-3.02a15.7 15.7 0 00-1.02-5.05A8.02 8.02 0 0119.93 11zM12 4c.88 1.28 1.52 3.07 1.82 5H10.18C10.48 7.07 11.12 5.28 12 4zM4.07 13h3.02c.2 1.78.62 3.49 1.22 5.05A8.02 8.02 0 014.07 13zm3.02-2H4.07a8.02 8.02 0 014.22-5.05A15.7 15.05 0 007.09 11zM12 20c-.88-1.28-1.52-3.07-1.82-5h3.64c-.3 1.93-.94 3.72-1.82 5zm2.69-1.95c.6-1.56 1.02-3.27 1.22-5.05h3.02a8.02 8.02 0 01-4.24 5.05zM9.97 13c-.05-.66-.08-1.33-.08-2s.03-1.34.08-2h4.06c.05.66.08 1.33.08 2s-.03 1.34-.08 2H9.97z'/%3E%3C/svg%3E");
}

/* Hover colour for links + icons */
.page.all-shops-page .short-description a:hover {
    color: #2B3944 !important;
    text-decoration: underline !important;
}

/* ============================================================
   Mobile layout: 1 per row
   ============================================================ */
@media (max-width: 767px) {

    /* One shop card per row */
    .page.all-shops-page .shops-item {
        flex: 0 0 100%;
        margin: 0 0 20px;
        /* remove side margins */
    }

    /* Optional: prevent any unexpected horizontal overflow */
    .page.all-shops-page .shops-list {
        padding-left: 0;
        padding-right: 0;
    }

    /* Left align all text content inside the info area */
    .page.all-shops-page .shops-item .info-wrap,
    .page.all-shops-page .shops-item .short-description,
    .page.all-shops-page .shops-item .retailer-page-address {
        text-align: left !important;
        justify-items: start !important;
    }

    /* Ensure the inline-flex links don't try to centre themselves */
    .page.all-shops-page .shops-item .short-description a {
        justify-content: flex-start !important;
    }
}

/* ============================================================
   INDIVIDUAL RETAILER PAGE
   ============================================================ */

/* Hide title on retailer full page only */
.page.shop-page .page-title {
    display: none !important;
}

.page.shop-page .shop-full-description h3 {
    color: #2B3944;
    font-size: 20pt;
    margin-bottom: 15px;
}

.page.shop-page .shop-full-description .retailer-role {
    color: #2B3944;
    font-size: 14pt;
    margin-bottom: 10px;
}

.page.shop-page .shop-full-description .retailer-address {
    font-size: 13pt;
    margin-bottom: 20px;
}

.page.shop-page .shop-full-description .retailer-description {
    font-size: 12pt;
    margin-bottom: 10px;
    text-align: justify;
    font-style: italic;
}


.page.shop-page .shop-full-description .retailer-contact-title {
    color: #2B3944;
    font-size: 12pt;
    margin-bottom: 6px;
    margin-top: 20px;
}

/* Individual retailer page - links default colour */
.page.shop-page .shop-full-description a {
    color: inherit !important;
    text-decoration: none !important;
    font-size: 12pt;
}

/* Hover colour */
.page.shop-page .shop-full-description a:hover {
    color: #2B3944 !important;
    text-decoration: underline !important;
}

/* Make contact links match the listing style (icons + alignment) */
.page.shop-page .shop-full-description a[href^="tel:"],
.page.shop-page .shop-full-description a[href^="mailto:"],
.page.shop-page .shop-full-description a[href^="http"] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* shared icon styles */
.page.shop-page .shop-full-description a[href^="tel:"]::before,
.page.shop-page .shop-full-description a[href^="mailto:"]::before,
.page.shop-page .shop-full-description a[href^="http"]::before {
    content: "";
    width: 22px;
    height: 22px;
    display: inline-block;
    background-color: currentColor;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
}

/* phone icon */
.page.shop-page .shop-full-description a[href^="tel:"]::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79a15.05 15.05 0 006.59 6.59l2.2-2.2a1 1 0 011.01-.24c1.12.37 2.33.57 3.58.57a1 1 0 011 1v3.5a1 1 0 01-1 1C10.07 22 2 13.93 2 3.5a1 1 0 011-1H6.5a1 1 0 011 1c0 1.25.2 2.46.57 3.58a1 1 0 01-.24 1.01l-2.21 2.2z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79a15.05 15.05 0 006.59 6.59l2.2-2.2a1 1 0 011.01-.24c1.12.37 2.33.57 3.58.57a1 1 0 011 1v3.5a1 1 0 01-1 1C10.07 22 2 13.93 2 3.5a1 1 0 011-1H6.5a1 1 0 011 1c0 1.25.2 2.46.57 3.58a1 1 0 01-.24 1.01l-2.21 2.2z'/%3E%3C/svg%3E");
}

/* email icon */
.page.shop-page .shop-full-description a[href^="mailto:"]::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4a2 2 0 00-2 2v12a2 2 0 002 2h16a2 2 0 002-2V6a2 2 0 00-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4a2 2 0 00-2 2v12a2 2 0 002 2h16a2 2 0 002-2V6a2 2 0 00-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E");
}

/* website icon */
.page.shop-page .shop-full-description a[href^="http"]::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 100 20 10 10 0 000-20zm7.93 9h-3.02a15.7 15.7 0 00-1.02-5.05A8.02 8.02 0 0119.93 11zM12 4c.88 1.28 1.52 3.07 1.82 5H10.18C10.48 7.07 11.12 5.28 12 4zM4.07 13h3.02c.2 1.78.62 3.49 1.22 5.05A8.02 8.02 0 014.07 13zm3.02-2H4.07a8.02 8.02 0 014.22-5.05A15.7 15.7 0 007.09 11zM12 20c-.88-1.28-1.52-3.07-1.82-5h3.64c-.3 1.93-.94 3.72-1.82 5zm2.69-1.95c.6-1.56 1.02-3.27 1.22-5.05h3.02a8.02 8.02 0 01-4.24 5.05zM9.97 13c-.05-.66-.08-1.33-.08-2s.03-1.34.08-2h4.06c.05.66.08 1.33.08 2s-.03 1.34-.08 2H9.97z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 100 20 10 10 0 000-20zm7.93 9h-3.02a15.7 15.7 0 00-1.02-5.05A8.02 8.02 0 0119.93 11zM12 4c.88 1.28 1.52 3.07 1.82 5H10.18C10.48 7.07 11.12 5.28 12 4zM4.07 13h3.02c.2 1.78.62 3.49 1.22 5.05A8.02 8.02 0 014.07 13zm3.02-2H4.07a8.02 8.02 0 014.22-5.05A15.7 15.7 0 007.09 11zM12 20c-.88-1.28-1.52-3.07-1.82-5h3.64c-.3 1.93-.94 3.72-1.82 5zm2.69-1.95c.6-1.56 1.02-3.27 1.22-5.05h3.02a8.02 8.02 0 01-4.24 5.05zM9.97 13c-.05-.66-.08-1.33-.08-2s.03-1.34.08-2h4.06c.05.66.08 1.33.08 2s-.03 1.34-.08 2H9.97z'/%3E%3C/svg%3E");
}


/* ============================================================
   TAGS (NEW STYLE)
   ============================================================ */

/* Tags above store name */
.page.all-shops-page .shops-item .info-wrap .tags {
    order: -1;
    margin: 4px 0 6px 0;
    text-transform: uppercase;
    font-size: 10pt;
}

/* Tags above store name */
.page.all-shops-page .shops-item .info-wrap .shop-name {
    order: -2;
}

/* Hide the "Tags:" label */
.page.all-shops-page .shops-item .info-wrap .tags .tags-label {
    display: none !important;
}

/* Tag list layout + separator */
.page.all-shops-page .shops-item .info-wrap .tags .tag-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    /* prevents spacing gaps */
    margin: 0;
    padding: 0;
    list-style: none;
}

.page.all-shops-page .shops-item .info-wrap .tags .tag-list .tag-item {
    display: inline-flex;
    align-items: center;
    margin: 0;
    padding: 0;
    letter-spacing: 1px;
}

/* Add separator after each tag */
.page.all-shops-page .shops-item .info-wrap .tags .tag-list .tag-item::after {
    content: "  |  ";
    opacity: 0.6;
    margin: 0;
    padding: 0;
}

/* Remove separator after the last tag */
.page.all-shops-page .shops-item .info-wrap .tags .tag-list .tag-item:last-child::after {
    content: "";
}

/* Hide tags on retailer full page only */
.page.shop-page .tags {
    display: none !important;
}

.page.all-shops-page .shops-item .short-description .A-retailer-role {
    color: #2B3944;
    margin-bottom: 2px;
    font-weight: bold !important;
}

.retailer-brands {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    margin-bottom: 6px;
    color: #fff;
}

.page.all-shops-page .shops-item .short-description .retailers-volpi {
    background-color: #31302D;
    padding: 2px 6px;
}

.page.all-shops-page .shops-item .short-description .retailers-gaddesby {
    background-color: #63777B;
    padding: 2px 6px;
}

.page.all-shops-page .shops-item .short-description .retailers-robe {
    background-color: #778477;
    padding: 2px 6px;
}

.page.all-shops-page .shops-item .short-description .retailers-volante {
    background-color: #C0B9A6;
    padding: 2px 6px;
}

.page.all-shops-page .shops-item .short-description .retailers-innostor {
    background-color: #70B2A8;
    padding: 2px 6px;
}

/* ============================================================
   BROCHURE: DETAILS CONTAINER
   ============================================================ */

.AG-category-brochure-details {
    /* spacing between sections */
    margin-bottom: 10px;

    /* define a section colour (set per <details style="--brochure-colour:#xxxxxx">) */
    --brochure-colour: #2B2B2B;
    /* fallback if not set */
}

/* remove default details spacing quirks */
.AG-category-brochure-details>* {
    box-sizing: border-box;
}

/* ============================================================
   BROCHURE: SUMMARY (dropdown header)
   ============================================================ */

.AG-category-brochure-summary {
    cursor: pointer;
    list-style: none;
    position: relative;

    /* header padding */
    padding: 15px;
    padding-right: 44px;
    /* room for + / − */

    /* header uses section colour */
    background: var(--brochure-colour);
}

.AG-category-brochure-summary::-webkit-details-marker {
    display: none;
}

/* + / - icon base style */
.AG-category-brochure-summary::after {
    content: "+";
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 20px;
    font-weight: 700;
    color: #ffffff;
    opacity: 1;
    transition: color 0.2s ease, opacity 0.2s ease;
}

.AG-category-brochure-details[open]>.AG-category-brochure-summary::after {
    content: "−";
    color: #ffffff;
}

/* ============================================================
   BROCHURE: TITLE
   ============================================================ */

.AG-category-brochure-title {
    font-size: 20px;
    font-weight: normal;
    transition: color 0.2s ease;
    color: #fff;
}

/* ============================================================
   BROCHURE: HOVER EFFECTS
   ============================================================ */

.AG-category-brochure-summary:hover .AG-category-brochure-title {
    color: #fff;
}

.AG-category-brochure-details>.AG-category-brochure-summary:hover::after {
    color: #fff;
}

/* ============================================================
   BROCHURE: DROPDOWN CONTENT AREA (GREY WITH COLOUR BORDER)
   ============================================================ */

.AG-category-brochure-content {
    background: #F5F5F5;
    padding: 14px;

    border: 4px solid var(--brochure-colour);

    border-top: 0;
}

/* If you want the grey area to align perfectly with the header edges */
.AG-category-brochure-details>.AG-category-brochure-summary+.AG-category-brochure-content {
    margin-top: 0;
}

/* ============================================================
   BROCHURE: BLOCK GRID (TEXT VERSION)
   ============================================================ */

.AG-category-brochure-blocks {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

/* block card */
.AG-category-brochure-block {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: #ffffff;
    padding: 14px 16px;
    text-decoration: none;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.AG-category-brochure-block:hover {
    transform: translateY(-4px);
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.18);
}

.AG-category-brochure-block:hover .AG-category-brochure-block-title,
.AG-category-brochure-block:hover .AG-category-brochure-block-subtitle {
    text-decoration-line: underline;
    text-decoration-color: #fff;
}

/* title */
.AG-category-brochure-block-title {
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    line-height: 1.2;
    text-align: center;
}

/* optional subtitle */
.AG-category-brochure-block-subtitle {
    font-size: 13px;
    font-weight: 400;
    color: #fff;
    text-align: center;
}

/* Image fills the tile */
.AG-category-brochure-block--image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    /* fills the tile completely (may crop) */
}

/* Image tile variant: remove padding/white and let image fill */
.AG-category-brochure-block--image {
    padding: 0;
    background: transparent;
    overflow: hidden;
    height: auto;
}

/* Mobile: 1 block per row */
@media (max-width: 767px) {
    .AG-category-brochure-blocks {
        grid-template-columns: 1fr;
    }
}

/* ============================================================

   2026 AG

   ============================================================ */

/* ============================================================
   Custom
   ============================================================ */

.AG-custom-h2 {
    font-size: 1.1rem;
    margin-bottom: 1rem;
    margin-top: 1rem;
    line-height: normal;
}

/* ============================================================
   Back Button
   ============================================================ */

.back-btn {
    background-color: #2B3944;
    transition: background-color 0.2s ease;
    height: 40px;
    width: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
    font-weight: bold;
    color: white !important;
    text-decoration: none !important;
    float: left;
    margin-left: -120px;
}

.back-btn:hover {
    background-color: #405363;
}

p:has(.back-btn) {
    margin: 0 !important;
    padding: 0 !important;
}

/* ============================================================
   Careers & Vacancy Pages
   ============================================================ */

/*  LISTINGS PAGE */

.ecf-vacancies-label {
    font-size: 1.1rem;
    margin-bottom: 1rem;
    margin-top: 1rem;
    line-height: normal;
}

.ecf-jobs-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.ecf-job-card {
    display: flex;
    flex-direction: column;
    background-color: #F6F6F6;
    border: 1px solid #2B3944;
    padding: 1.5rem;
    text-decoration: none;
    transition: border-color 0.3s ease, background-color 0.3s ease;
    line-height: 0.9;
}

.ecf-job-card:hover,
.ecf-job-card:focus {
    border-color: #F6F6F6;
    background-color: #2B3944;
    color: white;
    text-decoration: none !important;
}

.ecf-job-title:active, .ecf-job-info:active, .ecf-job-readmore:active {
    color: black !important;
}

.ecf-job-title {
    font-size: 1rem;
    font-weight: 600;
    margin: 0 !important;
}

.ecf-job-info {
    font-size: 0.9rem;
    margin: 0 !important;
}

.ecf-job-readmore {
    font-size: 0.8rem;
    margin: 0 !important;
}

/* INDIVIDUAL PAGE */

.ecf-job-layout {
    display: grid;
    grid-template-columns: 1fr 3fr;
    gap: 1.5rem;
    margin-top: 1.5rem;
}

.ecf-job-sidebar-card {
    background-color: #F6F6F6;
    padding: 1rem;
    margin-bottom: 1rem;
}

.ecf-job-sidebar-label {
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin: 12px 0 6px 0 !important;
    font-weight: bold;
}

.ecf-job-sidebar-label:first-child {
    margin: 0 0 6px 0 !important;
}

.ecf-job-sidebar-value {
    font-size: 0.9rem;
    margin: 0 !important;
    line-height: 1.5;
}

.ecf-job-sidebar-list {
    font-size: 0.9rem;
    margin: 0 !important;
    padding-left: 1.2rem !important;
    line-height: 1.5;
}

.ecf-job-section {
    margin-bottom: 1rem !important;
}

.ecf-job-section-title {
    font-size: 1rem;
    font-weight: 600;
    margin: 0 0 4px 0 !important;
}

.ecf-job-list {
    font-size: 0.9rem;
    margin: -10px 0 12px 0 !important;
    line-height: 1.8;
}

details.ecf-job-section {
    background: #F6F6F6;
    border: 1px solid #F6F6F6;
    transition: border 0.2s ease;
}

details.ecf-job-section:hover {
    border: 1px solid #2B3944;
}

details[open].ecf-job-section {
    border-color: #2B3944;
}

details.ecf-job-section summary {
    cursor: pointer;
    list-style: none;
    padding: 12px !important;
    font-size: 1.2em;
    transition: color 0.2s ease;
}

details.ecf-job-section summary:hover {
    color: #2B3944;
}

details[open].ecf-job-section summary {
    color: #2B3944;
}

details.ecf-job-section summary::-webkit-details-marker {
    display: none;
}

details.ecf-job-section summary::after {
    content: '+';
    float: right;
}

details[open].ecf-job-section summary::after {
    content: '−';
}

.apply-btn {
    background-color: #2B3944;
    transition: background-color 0.2s ease;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
    font-weight: bold;
    color: white !important;
    text-decoration: none !important;
}

.apply-btn:hover {
    background-color: #405363
}

/*  MEDIA QUERIES */

@media (max-width: 1281px) {
    .ecf-jobs-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 768px) {
    .ecf-jobs-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .ecf-job-layout {
        grid-template-columns: 1fr;
    }

    .ecf-job-sidebar {
        order: 2;
    }

    .ecf-job-main {
        order: 1;
    }

    .ecf-job-layout {
        gap: 0;
    }

}

/* ============================================================
   Our Team Page
   ============================================================ */

/* OUR TEAMS */

.ecf-teams-grid {
    display: flex;
    gap: 24px;
}

.ecf-teams-card {
    position: relative;
    flex: 1;
    min-height: 400px;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    border: 2px solid #f6f6f6;
    transition: border-color 0.3s ease;
}

.ecf-teams-card--sales {
    background-image: url('/images/uploaded/2026/our teams/sales team_1000.jpeg');
}

.ecf-teams-card--planning {
    background-image: url('/images/uploaded/2026/our teams/planning team_1000.jpeg');
}

.ecf-teams-card:hover {
    border-color: #2B3944;
}

.ecf-teams-card__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(43, 57, 68, 0.85) 0%, rgba(43, 57, 68, 0.2) 60%, transparent 100%);
}

.ecf-teams-card__content {
    position: relative;
    z-index: 1;
    padding: 10px 20px;
    color: #ffffff;
    line-height: 1;
}

.ecf-teams-card__title {
    font-size: 1.5rem;
    color: #ffffff;
}

.ecf-teams-card__description {
    font-size: 0.9rem;
}

.ecf-teams-card__link {
    position: absolute;
    inset: 0;
    z-index: 2;
}

@media (max-width: 768px) {
    .ecf-teams-grid {
        flex-direction: column;
    }

    .ecf-teams-card {
        min-height: 300px;
    }
}
/* ============================================================
   Sales Team Page
   ============================================================ */

/* SALES TEAM */

.ecf-sales-team-territory {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    position: relative;
}

.ecf-sales-team-map {
    display: block;
    width: 100%;
    height: auto;
}

.ecf-sales-team-legend {
    list-style: none;
    padding: 12px;
    margin: 0;
    position: absolute;
    top: 16px;
    right: 64px;
}

.ecf-sales-team-legend__item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
}

.ecf-sales-team-legend__swatch {
    display: inline-block;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    border: 1px solid #2B3944;
}

.ecf-sales-team-legend__name {
    font-size: 0.95rem;
    color: #2B3944;
}

.ecf-sales-team-card {
    display: flex;
    align-items: stretch;
    gap: 24px;
    border: 1px solid #d1dce8;
    border-left: 8px solid;
    margin-bottom: 24px;
    overflow: hidden;
    padding: 24px 24px 24px 0;
}

.ryan-sheahan {
    border-color: #2B3944;
}

.paul-mcgrath {
    border-color: #C7D8E0;
}

.colin-dyke {
    border-color: #F7F1DF;
}

.dean-maynard {
    border-color: #CFA7A0;
}

.olivia-parelai {
    border-color: #BBB98D;
}

.mark-smith {
    border-color: #9EB3B0;
}

.dave-starling {
    border-color: #D6CCC4;
}

.customer-service-team {
    border-color: #6B7F9C;
}

.ecf-sales-team-card__photo {
    display: block;
    width: 300px;
    height: auto;
    object-fit: cover;
    flex-shrink: 0;
    padding: 24px 0 24px 24px;
}

.ecf-sales-team-card__content {
    flex: 1;
}

.ecf-sales-team-card__header {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 6px;
}

.ecf-sales-team-card__name {
    font-size: 1.4rem;
    margin: 0;
    color: #2B3944;
}

.ecf-sales-team-card__role {
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    margin: 0;
}

.ecf-sales-team-card__bio {
    font-size: 0.9rem;
    line-height: 1.7;
    color: #64748b;
    margin: 0 0 6px;
}

.ecf-sales-team-card__details {
    display: flex;
    align-items: flex-start;
    gap: 48px;
}

.ecf-sales-team-card__contact {
    flex-shrink: 0;
}

.ecf-sales-team-card__contact-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9rem;
    margin: 0 0 6px;
}

.ecf-sales-team-card__contact-icon {
    width: 16px;
    height: 16px;
    color: #2B3944;
    flex-shrink: 0;
}

.ecf-sales-team-card__area {
    flex: 1;
}

.ecf-sales-team-card__postcodes {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin: 0 0 6px;
}

.ecf-sales-team-card__postcode {
    font-size: 0.7rem;
    font-weight: 600;
    background-color: #f6f6f6;
    color: #2B3944;
    padding: 2px 6px;
}

.ecf-sales-team-card__map-link {
    font-size: 0.7rem;
    color: #2B3944;
    margin-left: 10px;
    text-transform: none;
    letter-spacing: normal;
}

.ecf-sales-team-card__area-row {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ecf-sales-team-card__details-heading {
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #64748b;
    margin: 0 0 6px;
}

@media (max-width: 768px) {
    .ecf-sales-team-territory {
        flex-direction: column;
    }

    .ecf-sales-team-card {
        flex-direction: column;
        padding: 0 0 16px 0;
        border-left-width: 4px;
    }

    .ecf-sales-team-card__photo {
        width: 100%;
        padding: 0;
    }

    .ecf-sales-team-card__content {
        padding: 0 16px;
        text-align: center !important;
    }

    .ecf-sales-team-card__details {
        flex-direction: column;
        gap: 16px;
        align-items: center !important;
    }

    .ecf-sales-team-card__header {
        flex-direction: column;
        gap: 4px;
        justify-content: center !important;
        flex-direction: column !important;
        align-items: center !important;
    }

    .ecf-sales-team-card__name {
        text-align: center !important;
    }

    .ecf-sales-team-card__role {
        text-align: center !important;
    }

    .ecf-sales-team-card__contact-item {
        justify-content: center !important;
    }

    .ecf-sales-team-card__details-heading {
        text-align: center !important;
    }

    .ecf-sales-team-card__postcodes {
        justify-content: center !important;
    }
}

@media (max-width: 940px) {
    .ecf-sales-team-legend {
        position: static;
        width: 100%;
        background: none;
        border: none;
        padding: 0;
        margin-top: 12px;
    }
}


/* ============================================================
   Planning Team Page
   ============================================================ */

/* PLANNING TEAM */

.ecf-pubhtml-embed {
    margin-bottom: 32px;
}

.ecf-pubhtml-embed iframe {
    display: block;
    width: 100%;
    height: 458px;
}

.ecf-planning-team-card {
    display: flex;
    align-items: stretch;
    gap: 24px;
    border: 1px solid #d1dce8;
    margin-bottom: 24px;
    overflow: hidden;
    padding: 24px 24px 24px 0;
}

.ecf-planning-team-card__photo {
    display: block;
    width: 300px;
    height: auto;
    object-fit: cover;
    flex-shrink: 0;
    padding: 24px 0 24px 24px;
}

.ecf-planning-team-card__content {
    flex: 1;
}

.ecf-planning-team-card__header {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 6px;
}

.ecf-planning-team-card__name {
    font-size: 1.4rem;
    margin: 0;
    color: #2B3944;
}

.ecf-planning-team-card__role {
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    margin: 0;
}

.ecf-planning-team-card__bio {
    font-size: 0.9rem;
    line-height: 1.7;
    color: #64748b;
    margin: 0 0 6px;
}

.ecf-planning-team-card__details {
    display: flex;
    align-items: flex-start;
    gap: 48px;
}

.ecf-planning-team-card__contact {
    flex-shrink: 0;
}

.ecf-planning-team-card__contact-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9rem;
    margin: 0 0 6px;
}

.ecf-planning-team-card__contact-icon {
    width: 16px;
    height: 16px;
    color: #2B3944;
    flex-shrink: 0;
}

.ecf-planning-team-card__details-heading {
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #64748b;
    margin: 0 0 6px;
}

.ecf-planning-team-card__software {
    flex: 1;
}

.ecf-planning-team-card__software-logos {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.ecf-planning-team-card__software-logo {
    height: 32px;
    width: auto;
    object-fit: contain;
}

@media (max-width: 768px) {
    .ecf-planning-team-card {
        flex-direction: column;
        padding: 0 0 16px 0;
    }

    .ecf-planning-team-card__photo {
        width: 100%;
        padding: 0;
    }

    .ecf-planning-team-card__content {
        padding: 0 16px;
        text-align: center !important;
    }

    .ecf-planning-team-card__header {
        justify-content: center !important;
        flex-direction: column !important;
        align-items: center !important;
    }

    .ecf-planning-team-card__contact-item {
        justify-content: center !important;
    }

    .ecf-planning-team-card__details {
        flex-direction: column;
        gap: 16px;
        align-items: center !important;
    }

    .ecf-planning-team-card__details-heading {
        text-align: center !important;
    }

    .ecf-planning-team-card__software-logos {
        justify-content: center;
    }
}

/* ============================================================
   Our Facilities Page
   ============================================================ */

/* OUR FACILITIES */

.ecf-facilities-list {
    margin-top: 1.5rem;
}

.ecf-facility-card {
    display: grid;
    grid-template-columns: 2fr 3fr;
    margin-bottom: 1.5rem;
    overflow: hidden;
}

.ecf-facility-card__image {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.ecf-facility-card__title {
    font-size: 1.4rem;
    color: #2B3944;
}

.ecf-facility-card__content {
    padding: 24px 0 24px 24px;
}

.ecf-facility-card--reverse {
    direction: rtl;
}

.ecf-facility-card--reverse .ecf-facility-card__content {
    direction: ltr;
    padding: 24px 24px 24px 0;
}

.ecf-facility-card__desc {
    font-size: 0.9rem;
    line-height: 1.7;
}

@media (max-width: 768px) {
    .ecf-facility-card {
        grid-template-columns: 1fr;
    }
    .ecf-facility-card__image {
        height: 220px;
    }
}

/* ============================================================
   HTML Widgets - Home Page
   ============================================================ */

.html-widget-title {
    margin: 0 0 30px;
    color: #444;
    text-align: center;
    font-size: 22px;
    letter-spacing: 3.3px;
    text-transform: uppercase;
}

/* Credentials */

.credentials-section {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 16px;
    margin-bottom: 60px;
}

.credential-block {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    padding: 1.25rem 1.5rem;
}

.credential-number {
    font-size: 2rem;
    font-weight: 500;
    margin: 0 0 4px;
}

.credential-label {
    font-size: 0.875rem;
    color: #6b6b6b;
    margin: 0;
}

/* Intro */

.intro-section {
    margin-bottom: 60px;
    padding: 1.25rem 1.5rem;
    font-size: 1.25rem;
    text-align: center;
}

/* Supplier Partners */
.suppliers {
    width: 100%;
    background-color: #ffffff;
    padding: 4rem 2rem;
}

.suppliers-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
    max-width: 100%;
    margin: 0 auto;
}

.supplier-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    border-radius: 6px;
}

.supplier-logo img {
    width: 90%;
    height: auto;
    object-fit: contain;
    opacity: 0.7;
    transition: opacity 0.3s ease;
}

.supplier-logo:hover img {
    opacity: 1;
}

@media (max-width: 768px) {
    .suppliers-grid {
        grid-template-columns: 1fr;
    }
}