/*
Theme Name: Franchise Suppliers
Template: bricks
Version: 1.4.1
Description: Franchise Suppliers child theme (presentation only). Layouts are native Bricks; colours, type and icons follow the approved Franchise Suppliers brand guide: charcoal #2D2F30 leads, mustard #CB8D28 marks the detail, warm neutral #F4F1EB surfaces, Archivo Black headings and Source Sans 3 text, square corners and an 8 px rhythm.
*/

/* ===== Tokens (brand asset pack tokens/brand.css, font names quoted) ===== */
@font-face{font-family:'Archivo Black';src:url('assets/fonts/ArchivoBlack-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('assets/fonts/SourceSans3-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('assets/fonts/SourceSans3-Semibold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
:root{
 --char:#2D2F30;--char-2:#46494A;--ink-deep:#1E2021;--mustard:#CB8D28;--mustard-tint:#F7EBD4;--neutral:#F4F1EB;--neutral-2:#ECE7DD;
 --line:#DCD6CA;--line-2:#E9E4DA;--muted:#585B5D;--field:#87898B;--white:#FFFFFF;--error:#A3261C;
 --f-head:'Archivo Black','Arial Black',Arial,sans-serif;--f-body:'Source Sans 3',Arial,sans-serif;
 --r:2px;--gutter:24px;--sec:64px;--sec-head:48px;--wrap:1200px;
 --brand-charcoal:#2D2F30;--brand-mustard:#CB8D28;--brand-white:#FFFFFF;--brand-neutral:#F4F1EB;--font-display:var(--f-head);--font-body:var(--f-body);
}

/* ===== Base ===== */
html{-webkit-text-size-adjust:100%}
body{font-family:var(--f-body);font-size:18px;line-height:1.5;color:var(--char);background:#fff;margin:0;text-rendering:optimizeLegibility}
h1,h2,h3,h4{font-family:var(--f-head);font-weight:400;color:var(--char);letter-spacing:-.005em;text-wrap:balance;hyphens:none}
h1{font-size:clamp(34px,4vw,48px);line-height:1.17}
h2{font-size:clamp(26px,2.4vw,32px);line-height:1.25}
h3{font-size:21px;line-height:1.3}
p{margin:0 0 16px}
a{color:var(--char);text-decoration:underline;text-decoration-color:var(--mustard);text-decoration-thickness:2px;text-underline-offset:3px}
a:hover{text-decoration-color:var(--char)}
:focus-visible{outline:3px solid var(--mustard);outline-offset:2px}
img{max-width:100%;height:auto}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.frs-void{display:none}
.brxe-shortcode:has(> .frs-void){display:none}
.brxe-section:has(> .brxe-container > .brxe-shortcode > .frs-void){display:none}
.frs-i{flex:0 0 auto;vertical-align:-3px}

/* ===== Layout ===== */
.frs-sec.brxe-section{padding:0;margin:var(--sec) 0;width:100%}
/* One section-spacing token. Plain sections space themselves with margins, so two of them in a row (or one either side
   of a hidden, empty section) sit exactly one --sec apart; banded sections pad inside their colour instead. */
.frs-sec--neutral.brxe-section,.frs-sec--dark.brxe-section{margin:0;padding:var(--sec) 0}
#brx-content{display:flow-root}
.frs-wrap.brxe-container{width:100%;max-width:calc(var(--wrap) + 2 * var(--gutter));margin:0 auto;padding:0 var(--gutter);box-sizing:border-box}
.frs-wrap--narrow.brxe-container{max-width:calc(760px + 2 * var(--gutter))}
.frs-sec--neutral.brxe-section{background:var(--neutral)}
.frs-sec--dark.brxe-section{background:var(--char);color:#fff}
.frs-sec--dark h2,.frs-sec--dark h3,.frs-sec--dark p{color:#fff}
@media(max-width:767px){:root{--sec:44px;--sec-head:32px;--gutter:20px}}
.frs-nowrap{white-space:nowrap}

/* Eyebrow with the brand's short mustard rule (marks a section; never repeated as wallpaper). */
.frs-eyebrow{font:600 14px/21px var(--f-body);letter-spacing:.07em;text-transform:uppercase;color:var(--char);margin:0 0 10px}
.frs-eyebrow::before{content:"";display:block;width:32px;height:4px;background:var(--mustard);margin:0 0 14px}
.frs-sec--dark .frs-eyebrow{color:#fff}
.frs-h1{margin:0 0 16px;max-width:22ch}
.frs-lead{font-size:20px;line-height:1.5;max-width:68ch;margin:0 0 20px}
.frs-muted{color:var(--muted);font-size:16px}
.frs-credit{font-size:13px;line-height:1.4;color:var(--muted);margin:8px 0 0}
.frs-sec-head.brxe-block{display:flex;flex-direction:row;align-items:flex-end;justify-content:space-between;gap:12px 32px;flex-wrap:wrap;margin:0 0 32px;width:100%}
.frs-sec-head-t.brxe-block{width:auto;flex:1 1 520px;max-width:760px;align-items:flex-start}
.frs-sec-head .frs-more{flex:0 0 auto;margin-bottom:6px}
.frs-sec-head h2{margin:0}
.frs-sec-lead{margin:12px 0 0;font-size:18px;color:var(--char)}
.frs-more,.frs-link{font-weight:600;font-size:17px}
.frs-more::after{content:" \2192";text-decoration:none;display:inline-block;margin-left:2px}
.frs-link--strong{font-weight:600}
.frs-empty-line{color:var(--muted);font-size:17px;margin:0}

/* ===== Buttons ===== */
.frs-btn,.brxe-button.frs-btn,.frs-search-go,.frs-filters button,.ed-form button,.ed-form input[type=submit],.gform_wrapper .gform_button,.ed-plan-cta,.ed-pricing form button,.woocommerce .button,.woocommerce button.button,.ed-sign-in a.button,.ed-alert-row button{
 display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border:0;border-radius:var(--r);background:var(--mustard);color:var(--char)!important;
 font:600 17px/1.2 var(--f-body);text-decoration:none!important;cursor:pointer;box-sizing:border-box;transition:background-color .15s ease}
.frs-btn:hover,.frs-search-go:hover,.frs-filters button:hover,.ed-form button:hover,.gform_wrapper .gform_button:hover,.ed-plan-cta:hover,.woocommerce .button:hover,.ed-alert-row button:hover{background:var(--char);color:#fff!important}
/* Brand mustard marks the primary action (charcoal on mustard 4.7:1); secondary actions are charcoal outlines. */
.frs-btn--ghost,.brxe-button.frs-btn--ghost{background:#fff;color:var(--char)!important;box-shadow:inset 0 0 0 2px var(--char)}
.frs-btn--ghost:hover{background:var(--neutral);color:var(--char)!important}
.frs-btn .frs-i{width:18px;height:18px}
.frs-btn-tag{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;background:var(--char);color:#fff;padding:2px 6px;border-radius:var(--r);margin-left:4px}
.frs-btn-row.brxe-block{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:14px 24px;margin-top:8px;width:100%}

/* ===== Header (logo at its 260 px floor; on phones it keeps its own row with Menu below, per the brand guide) ===== */
#brx-header{position:relative;z-index:50}
.frs-header.brxe-section{padding:0;margin:0;background:#fff;border-bottom:1px solid var(--line)}
.frs-header > .frs-wrap.brxe-container{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px 28px;min-height:96px}
.frs-logo--header{display:block;width:260px;flex:0 0 260px;line-height:0;margin-left:-9px}
.frs-logo--header img{width:260px;height:auto;display:block}
.frs-header-nav.brxe-block{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:12px 30px;width:auto;flex:1 1 auto}
.frs-menu .bricks-nav-menu{display:flex;gap:4px 28px;margin:0;padding:0}
.frs-menu .bricks-nav-menu>li>a{font:600 17px/1 var(--f-body);color:var(--char);text-decoration:none;padding:14px 0 11px;border-bottom:3px solid transparent;display:inline-block}
.frs-menu .bricks-nav-menu>li>a:hover,.frs-menu .bricks-nav-menu>li.current-menu-item>a,.frs-menu .bricks-nav-menu>li.current-menu-ancestor>a,.frs-menu .bricks-nav-menu>li.current-page-ancestor>a{border-bottom-color:var(--mustard)}
.frs-menu .bricks-nav-menu>li.frs-menu-cta{display:none}
.frs-btn--header.brxe-button{min-height:46px;padding:0 18px;font-size:16px;white-space:nowrap;background:#fff;color:var(--char)!important;box-shadow:inset 0 0 0 2px var(--char)}
.frs-btn--header.brxe-button:hover{background:var(--char);color:#fff!important}
.frs-menu .bricks-mobile-menu-toggle{display:none;color:var(--char)}
@media(max-width:1180px){.frs-menu .bricks-nav-menu{gap:4px 20px}.frs-menu .bricks-nav-menu>li>a{font-size:16px}}
@media(max-width:991px){
 .frs-header > .frs-wrap.brxe-container{flex-wrap:wrap;min-height:0;padding-top:10px;padding-bottom:10px;gap:4px 16px}
 .frs-logo--header{flex:0 0 100%}
 .frs-header-nav.brxe-block{flex:1 1 100%;justify-content:space-between;padding-top:2px}
 .frs-menu{order:0}
 .frs-menu .bricks-mobile-menu-toggle{display:inline-flex;align-items:center;gap:10px;position:relative;width:auto;height:44px;padding:0 4px 0 0;font:600 17px/1 var(--f-body)}
 .frs-menu .bricks-mobile-menu-toggle::after{content:"Menu";padding-left:38px}
 .frs-menu .bricks-mobile-menu-toggle .bar-top,.frs-menu .bricks-mobile-menu-toggle .bar-center,.frs-menu .bricks-mobile-menu-toggle .bar-bottom{background:var(--char);width:26px;height:2.5px;left:0}
 .frs-menu:not(.show-mobile-menu) .bricks-mobile-menu-toggle .bar-top{top:13px}
 .frs-menu:not(.show-mobile-menu) .bricks-mobile-menu-toggle .bar-center{top:21px}
 .frs-menu:not(.show-mobile-menu) .bricks-mobile-menu-toggle .bar-bottom{top:29px}
 .frs-menu.show-mobile-menu .bricks-mobile-menu-toggle{position:fixed;top:14px;right:20px;z-index:1001}
 .frs-menu.show-mobile-menu .bricks-mobile-menu-toggle::after{content:"Close"}
 .frs-menu .bricks-mobile-menu-wrapper,.frs-menu .bricks-mobile-menu-wrapper::before{background:#fff!important;background-color:#fff!important}
 .frs-menu .bricks-mobile-menu-wrapper{padding:84px 24px 32px;width:100%!important;max-width:100%;box-sizing:border-box}
 .frs-menu .bricks-mobile-menu-wrapper .bricks-mobile-menu>li>a{font:400 24px/1.2 var(--f-head)!important;color:var(--char)!important;padding:16px 0;border-bottom:1px solid var(--line)!important;display:block;text-decoration:none}
 .frs-menu .bricks-mobile-menu>li.frs-menu-cta{display:block;margin-top:24px}
 .frs-menu .bricks-mobile-menu>li.frs-menu-cta>a{background:var(--mustard);color:var(--char)!important;border-radius:var(--r);text-align:center;font:600 18px/1.2 var(--f-body)!important;padding:16px!important;border:0!important}
 .frs-menu .bricks-mobile-menu-overlay{background:rgba(45,47,48,.4)}
 .frs-btn--header.brxe-button{min-height:44px;font-size:15px;padding:0 16px}
}

/* ===== Footer ===== */
.frs-footer.brxe-section{background:var(--ink-deep);color:#E9E7E3;padding:56px 0 28px;margin:0;font-size:16px;border-top:4px solid var(--mustard)}
/* Brand block plus four equal link columns of six or seven items each. */
.frs-footer-grid.brxe-block{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(4,minmax(0,1fr));gap:32px;width:100%}
.frs-footer-types{display:flex;flex-direction:column;gap:9px;align-items:flex-start}
.frs-footer-types li{margin:0;font-size:15px;line-height:1.35}
.frs-footer .frs-footer-all{text-decoration:underline!important;text-decoration-color:var(--mustard)!important;text-decoration-thickness:1px!important;text-underline-offset:3px}
.frs-footer .frs-footer-all::after{content:" \2192";display:inline-block;margin-left:2px}
.frs-logo--footer{display:block;width:260px;line-height:0;margin:0 0 16px -9px}
.frs-logo--footer img{width:260px;height:auto}
.frs-footer-about{color:#E9E7E3;max-width:34ch;margin:0 0 14px;font-size:16px}
.frs-footer-cta,.frs-footer .frs-footer-cta{color:#fff;font-weight:600}
.frs-footer-col.brxe-block{display:flex;flex-direction:column;gap:9px;align-items:flex-start}
.frs-footer-h{font:600 14px/1.4 var(--f-body)!important;letter-spacing:.07em;text-transform:uppercase;color:var(--mustard)!important;margin:0 0 6px;min-height:20px}
.frs-footer a{color:#fff;text-decoration-color:rgba(203,141,40,.8)}
.frs-footer-link,.frs-footer-types a{font-size:15px;line-height:1.35;text-decoration:none!important;color:#fff}
.frs-footer-link:hover,.frs-footer-types a:hover{text-decoration:underline!important;text-decoration-color:var(--mustard)!important}
.frs-footer-types{list-style:none;margin:0;padding:0}
.frs-footer-base.brxe-block{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;width:100%;margin-top:40px;padding-top:20px;border-top:1px solid rgba(255,255,255,.18)}
.frs-footer-legal p{margin:0;font-size:14px;line-height:1.5;color:#D8D5CF;max-width:none}
.frs-footer-legal.brxe-text{flex:1 1 600px;width:auto}
.frs-footer-cookies.brxe-shortcode{width:auto;flex:0 0 auto}
.frs-footer-cookies .seopress-edit-choice{text-align:left!important;position:static!important;inset:auto!important;margin:0!important;padding:0!important;background:none!important;box-shadow:none!important;width:auto!important;display:block!important}
.frs-footer-cookies .seopress-edit-choice p{margin:0!important}
.frs-footer-cookies button{position:static!important;background:transparent!important;border:1px solid rgba(255,255,255,.55)!important;color:#fff!important;border-radius:var(--r)!important;padding:8px 14px!important;font:600 14px var(--f-body)!important;cursor:pointer}
@media(max-width:1023px){.frs-footer-grid.brxe-block{grid-template-columns:1fr 1fr;gap:32px 24px}.frs-footer-brand{grid-column:1/-1}}

/* ===== Home hero: search on the left, real suppliers with their own logos on the right, columns of equal height ===== */
.frs-hero.brxe-section{background:var(--neutral);padding:var(--sec) 0;margin:0}
.frs-hero-grid.brxe-block{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 48px;align-items:stretch;width:100%}
.frs-hero-main.brxe-block{grid-column:span 2;box-sizing:border-box;justify-content:center}
.frs-hero-side.brxe-block{width:100%;display:flex;flex-direction:column}
.frs-hero-side > .brxe-shortcode{width:100%;flex:1 1 auto;display:flex}
.frs-hero-h1{max-width:20ch}
.frs-hero-main .frs-lead{max-width:56ch}
.frs-proof{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:inset 0 4px 0 var(--mustard);padding:26px 24px 20px;display:flex;flex-direction:column;width:100%;box-sizing:border-box}
.frs-proof-t{font:600 14px/21px var(--f-body)!important;letter-spacing:.07em;text-transform:uppercase;color:var(--char)!important;margin:0 0 16px}
.frs-proof-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;flex:1 1 auto;align-content:space-between}
.frs-proof-grid li{position:relative;display:flex;flex-direction:column;gap:4px;min-width:0}
.frs-proof-grid .frs-mark.frs-mark--xs{width:100%;height:68px;margin-bottom:6px}
.frs-proof-name{font:600 16px/1.3 var(--f-body);color:var(--char);text-decoration:none}
.frs-proof-grid li:hover .frs-proof-name{text-decoration:underline;text-decoration-color:var(--mustard)}
.frs-proof-type{font-size:14px;line-height:1.35;color:var(--muted)}
.frs-proof-all{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--line-2)}
.frs-proof-all a{font-weight:600;font-size:16px;text-decoration-skip-ink:none}
.frs-proof-all a::after{content:" \2192";display:inline-block;margin-left:2px}
.frs-hero-trust{margin-top:18px}
.frs-hero-trust,.frs-hero-trust span{font-size:16px;line-height:1.45;color:var(--char)}
.brxe-shortcode.frs-hero-trust{display:flex;gap:8px;align-items:flex-start}
.frs-hero-trust .frs-i{margin-top:3px}
@media(max-width:560px){.frs-hero-h1.brxe-heading{font-size:31px;line-height:1.16}}
@media(max-width:991px){.frs-hero-grid.brxe-block{grid-template-columns:1fr;gap:28px}.frs-hero-main.brxe-block{grid-column:auto}.frs-hero.brxe-section{padding:28px 0 var(--sec)}}
@media(max-width:560px){.frs-proof{padding:22px 18px 16px}.frs-proof-grid li:nth-child(n+5){display:none}.frs-proof-grid .frs-mark.frs-mark--xs{height:60px}}

/* ===== Search ===== */
.frs-search{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) auto;gap:12px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px;box-sizing:border-box;width:100%}
.frs-search--hero{padding:22px 24px 24px;gap:14px;border-color:#CFC7B8;box-shadow:inset 0 4px 0 var(--mustard),0 14px 36px rgba(45,47,48,.10)}
.frs-search-t{grid-column:1/-1;margin:4px 0 0;font:400 20px/1.3 var(--f-head);color:var(--char);text-wrap:balance}
.frs-search-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.frs-search-field label{font:600 15px/21px var(--f-body);color:var(--char)}
.frs-search input,.frs-search select,.frs-f input,.frs-f select{width:100%;min-height:50px;border:1px solid var(--field);border-radius:var(--r);padding:10px 14px;font:400 17px var(--f-body);color:var(--char);background:#fff;box-sizing:border-box}
.frs-search--hero input,.frs-search--hero select,.frs-search--hero .frs-search-go{min-height:54px}
.frs-search select,.frs-f select{appearance:none;-webkit-appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%232D2F30' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.frs-search input::placeholder,.frs-f input::placeholder,input::placeholder,textarea::placeholder,.gform_wrapper.gravity-theme input::placeholder{color:#5E6062!important;opacity:1}
.frs-search-go{min-height:50px;white-space:nowrap;font-size:18px;padding:0 26px}
.frs-search--bar{margin-top:8px;max-width:960px}
@media(max-width:860px){.frs-search{grid-template-columns:1fr}.frs-search-go{width:100%}.frs-search--hero{padding:18px}}

/* ===== Audience cards (brand guide: Franchisors / Franchisees / Suppliers): one lens, one link each, pinned to the bottom ===== */
.frs-audience{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.frs-aud{position:relative;background:var(--neutral);border-radius:var(--r);padding:24px 24px 20px;display:flex;flex-direction:column}
.frs-aud-n{font:400 15px/1 var(--f-head);color:var(--char);margin:0 0 12px;display:flex;align-items:center;gap:10px}
.frs-aud-n::after{content:"";width:24px;height:3px;background:var(--mustard)}
.frs-aud-t{font-size:24px;margin:0 0 2px}
.frs-aud-k{font:600 16px/1.4 var(--f-body);color:var(--char);margin:0 0 10px}
.frs-aud-d{font-size:17px;line-height:1.5;margin:0 0 16px}
.frs-aud-go{margin:auto 0 0;padding-top:14px;border-top:1px solid #D9D2C4;display:flex;justify-content:space-between;align-items:center;gap:12px;font-weight:600;font-size:17px}
.frs-aud-go a{text-decoration:none;color:var(--char)}
.frs-aud-go .frs-i{transition:transform .15s ease}
.frs-aud:hover .frs-aud-go a{text-decoration:underline;text-decoration-color:var(--mustard)}
.frs-aud:hover .frs-aud-go .frs-i{transform:translateX(3px)}
@media(max-width:860px){.frs-audience{grid-template-columns:1fr;gap:14px}}

/* ===== Service type cards: same parts in the same place on every card; whole card is the link ===== */
.frs-sectors{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.frs-sector{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px;display:grid;grid-template-columns:48px minmax(0,1fr);grid-template-rows:auto 1fr auto;column-gap:14px;row-gap:12px;transition:border-color .15s ease}
.frs-sector:hover{border-color:var(--char)}
.frs-sector-i{grid-column:1;grid-row:1;width:48px;height:48px;padding:10px;box-sizing:border-box;background:var(--neutral);color:var(--char);border-radius:var(--r)}
.frs-sector-name{grid-column:2;grid-row:1;margin:0;font:400 18px/1.25 var(--f-head);min-height:2.5em;display:flex;align-items:flex-start;padding-top:1px}
.frs-sector-name a{color:var(--char);text-decoration:none}
.frs-sector:hover .frs-sector-name a{text-decoration:underline;text-decoration-color:var(--mustard)}
.frs-sector-desc{grid-column:1/-1;grid-row:2;margin:0;font-size:15px;line-height:1.45;color:var(--muted);min-height:2.9em}
.frs-sector-go{grid-column:1/-1;grid-row:3;margin:0;padding-top:12px;border-top:1px solid var(--line-2);display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:16px;color:var(--char)}
.frs-sector-go .frs-i{width:16px;height:16px;transition:transform .15s ease}
.frs-sector:hover .frs-sector-go .frs-i{transform:translateX(3px)}
.frs-sec--neutral .frs-sector{border-color:#D3CCBF}
.frs-sectors--compact{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1100px){.frs-sectors{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.frs-sectors,.frs-sectors--compact{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.frs-sectors,.frs-sectors--compact{grid-template-columns:1fr}.frs-sector-name,.frs-sector-desc{min-height:0}}

/* ===== Cards ===== */
.frs-rows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.frs-dir-main .frs-rows,.frs-rows--featured.frs-rows--n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.frs-dir-main .frs-rows--featured.frs-rows--n1{grid-template-columns:1fr}
.frs-rows--shows{grid-template-columns:repeat(2,minmax(0,1fr))}
.frs-agenda .frs-rows,.frs-dir-main .frs-agenda .frs-rows{grid-template-columns:1fr;gap:14px}
@media(max-width:1023px){.frs-rows{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.frs-rows,.frs-dir-main .frs-rows,.frs-rows--shows{grid-template-columns:1fr}}
.frs-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px;display:flex;flex-direction:column;gap:12px;min-width:0;transition:border-color .15s ease}
.frs-card:hover{border-color:var(--char)}
.frs-sec--neutral .frs-card{border-color:#D3CCBF}
.frs-card-top{display:flex;gap:14px;align-items:flex-start}
.frs-card-id{flex:1 1 auto;min-width:0}
.frs-card-eyebrow{font:600 13px/1.4 var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 4px;display:flex;gap:8px;flex-wrap:nowrap;align-items:center;min-width:0}
.frs-card-eyebrow>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.frs-card-eyebrow .frs-tier{flex:0 0 auto}
.frs-card-title{font:400 20px/1.25 var(--f-head);margin:0;overflow-wrap:break-word}
.frs-card-title a{text-decoration:none;color:var(--char)}
.frs-card:hover .frs-card-title a{text-decoration:underline;text-decoration-color:var(--mustard)}
.frs-stretch::after{content:"";position:absolute;inset:0;z-index:1}
.frs-card-place{display:flex;gap:6px;align-items:flex-start;font-size:15px;color:var(--char);margin:6px 0 0}
.frs-card-place .frs-i{width:16px;height:16px;margin-top:3px;color:var(--muted)}
.frs-card-text{font-size:16px;line-height:1.5;margin:0;color:var(--char);flex:1 1 auto}
.frs-card-foot{margin:auto 0 0;padding-top:12px;border-top:1px solid var(--line-2)}
.frs-card-cta{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:16px;color:var(--char)}
.frs-card-cta .frs-i{width:16px;height:16px;transition:transform .15s ease}
.frs-card:hover .frs-card-cta .frs-i{transform:translateX(3px)}
.frs-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.frs-chip{display:inline-flex;align-items:center;gap:5px;font-size:14px;line-height:1.3;padding:4px 9px;border-radius:var(--r);background:var(--neutral);color:var(--char)}
.frs-sec--neutral .frs-chip{background:var(--neutral-2)}
.frs-chip .frs-i{width:14px;height:14px}
.frs-chip--assoc{background:#fff;box-shadow:inset 0 0 0 1px var(--char)}
.frs-tier{display:inline-block;font:600 12px/1.3 var(--f-body);letter-spacing:.05em;text-transform:uppercase;padding:4px 8px;border-radius:var(--r);background:var(--mustard);color:var(--char);white-space:nowrap;position:relative;z-index:2}
.frs-tier--silver{background:#E3E5E6}
.frs-tier--bronze{background:#EED9C5}
.frs-card.ed-tier--gold{border-color:var(--char);box-shadow:inset 0 4px 0 var(--mustard)}
.frs-card.ed-tier--silver{border-color:#AEB2B4}
.frs-card.ed-tier--bronze{border-color:#C9A88A}
/* Logo tiles: one system everywhere. A fixed tile with an inner safe area; the logo is contain-fitted on white (reversed
   logos on charcoal), so faint marks, square icons and long wordmarks all render at a predictable size. Listings without
   a usable official logo get the designed initials tile: same size, warm neutral, charcoal initials, mustard base rule. */
.frs-mark,.elm-mark.frs-mark{position:relative;display:flex;align-items:center;justify-content:center;width:136px;height:72px;padding:10px 12px;border-radius:var(--r);border:1px solid var(--line);background:#fff;overflow:hidden;flex:0 0 auto;box-sizing:border-box}
.frs-mark img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;object-position:center}
.frs-mark.is-light{background:var(--char);border-color:var(--char)}
.frs-mark.is-mono,.frs-mark:has(.elm-mono){background:var(--neutral);border-color:#E2DCD0;box-shadow:inset 0 -3px 0 var(--mustard)}
.frs-mark .elm-mono{font:400 24px/1 var(--f-head);color:var(--char);letter-spacing:.02em}
.frs-sec--neutral .frs-mark.is-mono,.frs-hero .frs-mark.is-mono{background:var(--neutral-2)}
.frs-mark--xs,.frs-mark.frs-mark--xs{width:112px;height:60px;padding:8px 10px}.frs-mark--xs .elm-mono{font-size:19px}
.frs-mark--lg,.frs-mark.frs-mark--lg{width:208px;height:120px;padding:16px 18px}.frs-mark--lg .elm-mono{font-size:40px}
/* Card logos sit on their own row at the top of the card. */
.frs-card--supplier .frs-card-top,.frs-card--organiser .frs-card-top{flex-direction:column;gap:14px}
.frs-card--supplier .frs-card-id,.frs-card--organiser .frs-card-id{width:100%;max-width:100%;flex:0 0 auto}
.frs-card .frs-mark,.frs-card .elm-mark.frs-mark{width:168px}
/* Show cards: charcoal date tile, then type, title, venue and what is on; the whole card is the link. */
.frs-card--show{flex-direction:row;align-items:stretch;gap:18px;padding:18px 20px}
.frs-card--show .frs-dtile{align-self:flex-start}
.frs-card--show .frs-card-who{margin-top:auto;padding-top:4px}
@media(max-width:560px){.frs-card--show{flex-direction:column;gap:10px}.frs-card--show .frs-dtile{flex:0 0 auto;width:auto;min-height:0;flex-direction:row;align-items:baseline;gap:7px;padding:7px 12px 6px;box-shadow:inset 0 3px 0 var(--mustard)}.frs-card--show .frs-dtile-d{font-size:18px;margin:0}.frs-card--show .frs-dtile-m,.frs-card--show .frs-dtile-y{font-size:13px;opacity:1}}
.frs-card--show .frs-card-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:6px}
.frs-card--show .frs-card-place{margin:0}
.frs-card--show .frs-card-text{margin-top:4px;flex:0 0 auto}
.frs-card-who{font-size:15px;line-height:1.45;color:var(--muted);margin:0}
.frs-card--show .frs-card-title{font-size:19px}
.frs-dtile{flex:0 0 88px;width:88px;min-height:84px;background:var(--char);color:#fff;border-radius:var(--r);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 4px;box-sizing:border-box;text-align:center;box-shadow:inset 0 4px 0 var(--mustard)}
.frs-dtile-m{font:600 13px/1.2 var(--f-body);letter-spacing:.08em;text-transform:uppercase}
.frs-dtile-d{font:400 22px/1.1 var(--f-head);margin:2px 0;white-space:nowrap;letter-spacing:-.02em}
.frs-dtile-y{font-size:13px;opacity:.9}
.frs-dtile.is-tbc .frs-dtile-d{font-size:20px}
.frs-card.is-ended{opacity:.75}
.frs-status{font:600 12px/1.3 var(--f-body);letter-spacing:.05em;text-transform:uppercase;background:var(--neutral-2);color:var(--char);padding:3px 7px;border-radius:var(--r)}
.frs-month{font-size:22px;margin:40px 0 14px;padding-bottom:8px;border-bottom:2px solid var(--char)}
.frs-agenda .frs-month:first-child{margin-top:0}
/* In the calendar the month heading carries the year, so the tile drops it. */
.frs-agenda .frs-dtile-y{display:none}
/* Results */
.frs-result-count{font-size:16px;margin:0 0 12px}
.frs-result-count span{color:var(--muted)}
.ed-list-note{font-size:15px;color:var(--char);margin:0 0 16px;padding:10px 14px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--mustard);border-radius:var(--r)}
.frs-empty{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px}
.frs-empty h2{font-size:24px;margin:0 0 8px}
.frs-empty p{margin:0}
.ed-pagination,.frs-pagination{margin-top:28px}
.ed-pagination .page-numbers,.frs-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 12px;margin:0 6px 6px 0;border:1px solid var(--line);border-radius:var(--r);background:#fff;color:var(--char);text-decoration:none;font-weight:600;box-sizing:border-box}
.ed-pagination .page-numbers.current,.frs-pagination .page-numbers.current{background:var(--char);border-color:var(--char);color:#fff}
.ed-pagination a.page-numbers:hover{border-color:var(--char)}

/* ===== Featured (paid, labelled) ===== */
.frs-featured-panel{display:flex;flex-direction:column;gap:16px}
.frs-featured-head{display:block}
.frs-featured-head h2{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.frs-featured-label{margin:0;font:600 13px/1.4 var(--f-body);vertical-align:middle;letter-spacing:.06em;text-transform:uppercase;background:var(--mustard);color:var(--char);padding:4px 9px;border-radius:var(--r)}
.frs-featured-panel .ed-list-note{margin:0}
.frs-dir-main .frs-featured-panel{margin:0 0 28px;padding:20px;background:var(--neutral);border-radius:var(--r)}
@media(max-width:560px){.frs-dir-main .frs-featured-panel{padding:14px;margin-left:-6px;margin-right:-6px}}
.frs-dir-main .frs-featured-head h2{font-size:22px}
.frs-featured-promo{border:1px dashed #BDB5A6;border-radius:var(--r);padding:22px;display:flex;flex-direction:column;gap:6px;justify-content:center;background:rgba(255,255,255,.5)}
.frs-featured-promo p{margin:0;font-size:16px}
.frs-featured-promo-t{font:400 18px/1.3 var(--f-head)!important}
.frs-featured-promo a{font-weight:600;font-size:16px;margin-top:6px}
.frs-featured-promo--span2{grid-column:span 2}
@media(max-width:1023px){.frs-featured-promo--span2{grid-column:auto}}

/* ===== Page heads ===== */
.frs-pagehead.brxe-section{background:var(--neutral);padding:var(--sec-head) 0;margin:0}
.frs-pagehead .frs-h1,.frs-hub-h1{max-width:30ch;margin:0 0 14px}
.frs-hub-h1{font-size:clamp(32px,3.6vw,44px);line-height:1.18}
.frs-hub-lead{font-size:19px;line-height:1.5;max-width:70ch;margin:0 0 14px}
.frs-hub-meta{font-size:16px;margin:0}
.frs-crumbs{font-size:15px;margin:0 0 18px;display:flex;flex-wrap:wrap;gap:4px 8px;color:var(--muted)}
.frs-crumbs a{color:var(--char);text-decoration-thickness:1px}
.frs-crumbs span[aria-hidden]{color:var(--muted)}
.frs-crumbs-wrap{margin:0}
.frs-hubhead{display:flex;justify-content:space-between;gap:32px;align-items:flex-start}
.frs-hubhead-text{max-width:820px}
.frs-hubhead-icon{flex:0 0 auto;width:120px;height:120px;background:#fff;border-radius:var(--r);display:flex;align-items:center;justify-content:center;box-shadow:inset 0 4px 0 var(--mustard)}
.frs-hubhead-icon .frs-sector-i{width:72px;height:72px;padding:0;background:none}
@media(max-width:767px){.frs-hubhead-icon{display:none}}
.frs-pagehead-grid.brxe-block{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:40px;align-items:center;width:100%}
.frs-pagehead-photo,.frs-pagehead-photo img{display:block;width:100%;aspect-ratio:828/480;object-fit:cover;border-radius:var(--r)}
@media(max-width:991px){.frs-pagehead-grid.brxe-block{grid-template-columns:1fr;gap:24px}.frs-pagehead-media{max-width:520px}}
.frs-pagehead--post .frs-h1{max-width:none}
.frs-anchor{position:relative;top:-24px}

/* ===== Directory layout and filters ===== */
.frs-dir-grid.brxe-block{display:grid;grid-template-columns:290px minmax(0,1fr);gap:32px;align-items:start;width:100%}
.frs-dir-grid--cal.brxe-block{grid-template-columns:minmax(0,1fr) 300px}
.frs-dir-side.brxe-block{display:flex;flex-direction:column;gap:20px}
@media(max-width:991px){.frs-dir-grid.brxe-block,.frs-dir-grid--cal.brxe-block{grid-template-columns:1fr}.frs-dir-side.brxe-block{position:static}.frs-dir-grid--cal .frs-dir-side{order:2}}
.frs-filters-box{background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.frs-filters-box>summary{list-style:none;cursor:pointer;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.frs-filters-box>summary::-webkit-details-marker{display:none}
.frs-filters-box>summary::after{content:"";width:10px;height:10px;border-right:2px solid var(--char);border-bottom:2px solid var(--char);transform:rotate(45deg);margin:-4px 4px 0 auto;transition:transform .15s ease}
.frs-filters-box[open]>summary::after{transform:rotate(-135deg);margin-top:4px}
.frs-filters-on{font:600 12px/1.3 var(--f-body);letter-spacing:.05em;text-transform:uppercase;background:var(--mustard);color:var(--char);padding:3px 7px;border-radius:var(--r)}
.frs-filters{padding:0 20px 20px;display:flex;flex-direction:column;gap:14px}
.frs-filters-title{font:400 19px/1.2 var(--f-head);margin:0}
.frs-f{display:flex;flex-direction:column;gap:6px}
.frs-f span{font:600 14px/1.4 var(--f-body)}
.frs-f input,.frs-f select{min-height:46px;font-size:16px}
.frs-check{display:flex;gap:10px;align-items:center;font-size:16px;cursor:pointer}
.frs-check input{width:20px;height:20px;accent-color:var(--char);margin:0}
.frs-filters button{width:100%}
.frs-filters-clear{font-size:15px;text-align:center}
.frs-related-types{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px 20px}
.frs-related-types-t{font:400 17px/1.3 var(--f-head);margin:0 0 10px}
.frs-related-types ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.frs-related-types a{font-size:16px;display:flex;justify-content:space-between;gap:10px;text-decoration-thickness:1px;text-decoration-color:var(--line)}
.frs-related-types a:hover{text-decoration-color:var(--mustard)}
.frs-related-types a span,.frs-type-index li span,.frs-ti-n{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}
.frs-side-note{background:var(--neutral);border-radius:var(--r);padding:18px 20px;font-size:16px;margin:0 0 16px}
.frs-sec--neutral .frs-side-note{background:#fff}
.frs-side-note:last-child{margin-bottom:0}
.frs-side-note p{margin:0 0 10px}.frs-side-note p:last-child{margin:0}
.frs-side-note-t{font:400 17px/1.3 var(--f-head)!important;margin-bottom:8px!important}
.frs-steps,.frs-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.frs-ticks{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:9px}
.frs-ticks li{position:relative;padding-left:28px;font-size:17px;line-height:1.45}
.frs-ticks li{padding-left:24px}
.frs-ticks li::before{content:"";position:absolute;left:0;top:.7em;width:14px;height:3px;background:var(--mustard)}

/* Service type index (suppliers hub) */
.frs-type-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 36px}
.frs-ti{border-top:2px solid var(--char);padding-top:14px}
.frs-ti-h{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 10px;font-size:18px}
.frs-ti-h a{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--char)}
.frs-ti-h a:hover span{text-decoration:underline;text-decoration-color:var(--mustard)}
.frs-ti-h .frs-sector-i{width:36px;height:36px;padding:7px;flex:0 0 36px}
.frs-ti ul{list-style:none;margin:0;padding:0 0 0 46px;display:flex;flex-direction:column;gap:6px}
.frs-ti li{font-size:16px;display:flex;justify-content:space-between;gap:10px}
.frs-ti li a{text-decoration-thickness:1px;text-decoration-color:var(--line)}
.frs-ti li a:hover{text-decoration-color:var(--mustard)}
.frs-ti-desc{font-size:15px;color:var(--muted);margin:0 0 0 46px}
@media(max-width:991px){.frs-type-index{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.frs-type-index{grid-template-columns:1fr}}

/* ===== Home sections ===== */
.frs-recent{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px}
.frs-recent-note{display:flex;gap:8px;align-items:flex-start;font-size:16px;margin:-12px 0 8px;color:var(--char)}
.frs-recent-note .frs-i{margin-top:3px}
.frs-recent li{position:relative;display:flex;gap:16px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--line)}
.frs-recent-b{display:flex;flex-direction:column;gap:3px;min-width:0}
.frs-recent-b a{font:400 17px/1.3 var(--f-head);text-decoration:none;color:var(--char)}
.frs-recent li:hover .frs-recent-b a{text-decoration:underline;text-decoration-color:var(--mustard)}
.frs-recent-meta{font-size:15px;color:var(--char)}
.frs-recent-place{display:block;font-size:15px;color:var(--muted)}
.frs-recent-date{font-size:14px;color:var(--muted);display:flex;gap:5px;align-items:center}
.frs-recent-date .frs-i{width:14px;height:14px}
@media(max-width:991px){.frs-recent{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.frs-recent{grid-template-columns:1fr}}
.frs-about-grid.brxe-block{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:48px;align-items:stretch;width:100%}
.frs-about-copy .frs-prose p:last-child{margin-bottom:0}
.frs-about-copy .frs-prose p{max-width:70ch}
.frs-about-side.brxe-block{background:#fff;border-radius:var(--r);padding:28px;box-shadow:inset 0 4px 0 var(--mustard)}
.frs-qs{list-style:none;counter-reset:q;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:0}
.frs-qs li{counter-increment:q;position:relative;padding:12px 0 12px 44px;border-top:1px solid var(--line-2);font-size:17px;line-height:1.45}
.frs-qs li:first-child{border-top:0;padding-top:4px}
.frs-qs li::before{content:counter(q);position:absolute;left:0;top:10px;width:28px;height:28px;border-radius:50%;background:var(--mustard-tint);color:var(--char);font:400 14px/28px var(--f-head);text-align:center}
.frs-qs li:first-child::before{top:2px}
.frs-side-foot,.frs-about-side .frs-prose .frs-side-foot{font-size:16px;margin:auto 0 0;padding-top:14px;border-top:1px solid var(--line-2)}
.frs-about-side.brxe-block > .brxe-text{flex:1 1 auto;display:flex;flex-direction:column}
.frs-about-side .frs-qs{flex:1 1 auto;margin-bottom:20px}
.frs-about-side .frs-qs li{flex:1 1 auto;display:flex;align-items:center;padding-top:10px;padding-bottom:10px}
.frs-about-side .frs-qs li::before,.frs-about-side .frs-qs li:first-child::before{top:50%;transform:translateY(-50%)}
.frs-about-side .frs-qs li:first-child{padding-top:10px}
.frs-side-h{font-size:21px;margin:0 0 16px}
@media(max-width:991px){.frs-about-grid.brxe-block{grid-template-columns:1fr;gap:28px}}
.frs-plans-grid.brxe-block{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:48px;align-items:start;width:100%}
.frs-plans-copy h2{margin:0 0 14px}
.frs-plans{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--r)}
.frs-plan{display:grid;grid-template-columns:80px 118px 1fr;gap:14px;align-items:center;padding:14px 18px;border-top:1px solid var(--line);background:#fff}
.frs-plan:first-child{border-top:0}
.frs-plan-name{font:400 17px/1.2 var(--f-head)}
.frs-plan-price{font:600 19px/1.2 var(--f-body)}
.frs-plan-price small{font-size:14px;font-weight:400;color:#4F5254}
.frs-plan-what{font-size:15px;line-height:1.4}
.frs-plan--gold{background:var(--mustard-tint)}
.frs-plans-note{font-size:15px;color:#4F5254;margin:12px 0 0}
@media(max-width:991px){.frs-plans-grid.brxe-block{grid-template-columns:1fr;gap:28px}}
@media(max-width:560px){.frs-plan{grid-template-columns:1fr auto;row-gap:4px}.frs-plan-what{grid-column:1/-1}}
/* Newsletter band: warm neutral, so it reads as its own section above the dark footer. Consent is kept, as on the sister sites. */
.frs-nl-grid.brxe-block{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start;width:100%}
.frs-nl-copy h2{margin:0 0 12px}
.frs-nl-copy p{font-size:18px;margin:0}
.frs-nl .gform_wrapper{margin:0!important}
.frs-nl .gform_fields{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}
.frs-nl--band .gfield_label,.frs-nl--band .gfield_description,.frs-nl--band .gfield_consent_label,.frs-nl--band legend{color:var(--char)!important}
.frs-nl--band .gform_validation_errors{background:#fff}
.frs-nl--band .gform_wrapper .gform_button:hover{background:var(--char)!important;color:#fff!important}
.frs-nl .gfield_required,.frs-nl .gfield_required_text{display:none!important}
.frs-nl .gfield_consent_description,.frs-nl .gfield--type-consent .gfield_description,.gform_wrapper .gfield_consent_description_text{border:0!important;padding:0!important;max-height:none!important;overflow:visible!important;background:none!important}
.frs-nl--band .gform_footer .gform_button{width:100%;min-height:52px;font-size:18px}
.gfield_required{color:var(--muted)!important;font-style:normal!important}
.frs-nl--band .gfield--type-consent .gfield_label{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
.frs-nl .gfield_consent_description_text a{white-space:nowrap}
.frs-nl--band .gform_wrapper.gravity-theme .ginput_container_consent input{width:22px;height:22px;flex:0 0 22px;margin-top:1px}
.frs-nl--band .gform_wrapper.gravity-theme .gfield_consent_label{font-size:17px;font-weight:600}
.frs-sec--dark .gform_confirmation_message{background:#fff;color:var(--char)}
@media(max-width:860px){.frs-nl-grid.brxe-block{grid-template-columns:1fr;gap:24px}}

/* ===== Posts ===== */
.frs-posts--cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.frs-posts--list{display:flex;flex-direction:column}
.frs-post{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;height:100%;box-sizing:border-box}
.frs-posts--list .frs-post{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
.frs-posts--list .frs-post-body{padding:18px 0}
.frs-sec--neutral .frs-posts--list .frs-post{border-color:#D3CCBF}
.frs-post-media img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.frs-post-body{padding:20px;display:flex;flex-direction:column;gap:6px;flex:1 1 auto}
.frs-post-meta{font-size:14px;color:var(--muted);margin:0}
.frs-post-title{font:400 20px/1.3 var(--f-head);margin:0}
.frs-post-title a{text-decoration:none;color:var(--char)}
.frs-post:hover .frs-post-title a{text-decoration:underline;text-decoration-color:var(--mustard)}
.frs-post-text{font-size:16px;margin:0}
.frs-post-more{margin:auto 0 0;padding-top:8px;font-weight:600;font-size:16px;display:flex;gap:6px;align-items:center}
.frs-post-more .frs-i{width:16px;height:16px}
@media(max-width:991px){.frs-posts--cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.frs-posts--cards{grid-template-columns:1fr}}
.frs-split.brxe-block{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:40px;width:100%;align-items:start}
@media(max-width:991px){.frs-split.brxe-block{grid-template-columns:1fr}}
.frs-byline{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:16px;color:var(--muted);margin:4px 0 0}
.frs-byline a{color:var(--char)}
.frs-post-h1{max-width:none}
.frs-post-hero img{display:block;width:100%;border-radius:var(--r);margin:0 0 28px}
.frs-article-foot{margin-top:40px;padding:18px 20px;background:var(--neutral);border-radius:var(--r);font-size:16px}
.frs-article-foot p{margin:0}

/* ===== Prose (guides, text pages, listing descriptions) ===== */
.frs-prose{font-size:18px;line-height:1.6}
.frs-prose p{margin:0 0 18px}
.frs-prose h2,.frs-text-h{font-size:26px;line-height:1.3;margin:40px 0 14px}
.frs-prose h3{font-size:21px;margin:30px 0 10px}
.frs-prose ul,.frs-prose ol{margin:0 0 18px;padding-left:24px}
.frs-prose li{margin:0 0 8px}
.frs-prose table{width:100%;border-collapse:collapse;margin:0 0 22px;font-size:16px}
.frs-prose th,.frs-prose td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top;line-height:1.45}
@media(min-width:768px){.frs-prose td:first-child,.frs-prose th:first-child{min-width:11em}}
.frs-prose figure:has(> table){overflow-x:auto;max-width:100%}
@media(max-width:767px){.frs-prose table{font-size:15px}.frs-prose th,.frs-prose td{padding:8px 8px}}
.frs-prose thead th{background:var(--neutral)}
.frs-prose blockquote{margin:0 0 18px;padding:4px 0 4px 18px;border-left:4px solid var(--mustard)}
.frs-sec--text .frs-text-h:first-child{margin-top:0}
.frs-sec--text > .frs-wrap--narrow.brxe-container{max-width:calc(var(--wrap) + 2 * var(--gutter))}
.frs-sec--text > .frs-wrap > *{max-width:760px}
.frs-sec--article .frs-prose{max-width:none}
.frs-prose figure{margin:0 0 22px}
.frs-prose figcaption{font-size:15px;line-height:1.45;color:#4F5254;margin-top:8px;text-align:left!important}
.frs-prose .frs-guide-photo{margin:28px 0 30px}
.frs-prose .frs-guide-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r)}
.frs-prose .frs-guide-photo figcaption{font-size:15px;line-height:1.45;color:#4F5254;margin-top:10px;padding-left:12px;border-left:3px solid var(--mustard)}
.frs-prose .guide-meta{font-size:15px;color:var(--muted)}
.frs-prose .table-wrap,.frs-prose .guide-table{overflow-x:auto}

/* ===== Profile (supplier, show, organiser) ===== */
.frs-profile-head.brxe-section{background:var(--neutral);padding:var(--sec-head) 0;margin:0}
.frs-profile-top.brxe-block{display:flex;flex-direction:row;gap:28px;align-items:flex-start;width:100%}
.frs-profile-mark.brxe-shortcode{flex:0 0 auto;width:auto}
.frs-profile-head .frs-mark.is-mono,.frs-profile-head .frs-mark:has(.elm-mono){background:#fff}
.frs-profile-mark .frs-dtile{width:104px;flex-basis:104px;min-height:112px}
.frs-profile-mark .frs-dtile-d{font-size:30px}
.frs-profile-id.brxe-block{flex:1 1 auto;min-width:0}
.frs-kicker{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;font-size:16px;margin:0 0 10px}
.frs-kicker-k{font:600 14px/1.4 var(--f-body);letter-spacing:.07em;text-transform:uppercase}
.frs-kicker-m{display:inline-flex;gap:6px;align-items:center}
.frs-kicker-m .frs-i{width:16px;height:16px}
.frs-tier-link{text-decoration:none}
.frs-profile-h1{max-width:28ch;margin:0 0 12px;overflow-wrap:break-word}
.frs-profile-lead{font-size:19px;max-width:70ch;margin:0 0 18px}
.frs-profile-lead:empty{display:none}
.frs-profile-actions.brxe-block{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px;margin:0 0 16px}
.frs-checked{display:flex;gap:8px;align-items:flex-start;font-size:15px;margin:0;color:var(--char)}
.frs-checked .frs-i{margin-top:3px}
.frs-paid-note{font-size:15px;margin:12px 0 0;padding:10px 14px;background:#fff;border-left:3px solid var(--mustard);border-radius:var(--r);max-width:80ch}

.frs-profile-grid.brxe-block{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:48px;align-items:start;width:100%}
.frs-profile-h{font-size:26px;margin:0 0 14px}
.frs-profile-content{max-width:70ch}
.frs-profile-content .ed-source{display:none}
.frs-supplies,.frs-exhibitors{margin:32px 0 0}
.frs-supplies-t{font-size:21px;margin:0 0 12px}
.frs-supplies ul,.frs-exhibitors ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.frs-supplies a,.frs-exhibitors a{display:inline-block;padding:6px 11px;border-radius:var(--r);font-size:16px;font-weight:600;background:var(--neutral);text-decoration-thickness:1px;text-decoration-color:var(--line)}
.frs-supplies a:hover,.frs-exhibitors a:hover{text-decoration-color:var(--mustard)}
.frs-exhibitors .frs-muted{margin:10px 0 0;font-size:15px}
.frs-profile-side.brxe-block{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;box-shadow:inset 0 4px 0 var(--mustard);position:sticky;top:20px}
.frs-profile-side .frs-side-h{font-size:21px;margin:0 0 14px}
.frs-facts{margin:0;display:flex;flex-direction:column}
.frs-fact{display:grid;grid-template-columns:22px 1fr;column-gap:12px;padding:12px 0;border-top:1px solid var(--line-2)}
.frs-fact:first-child{border-top:0;padding-top:0}
.frs-fact .frs-i{grid-row:1/3;margin-top:2px;color:var(--char)}
.frs-fact dt{font:600 13px/1.4 var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.frs-fact dd{margin:2px 0 0;font-size:16px;line-height:1.45;overflow-wrap:anywhere}
.frs-fact address{font-style:normal}
.frs-fact .elm-nap-line{display:block}
.frs-fact-sub{display:block;font-size:14px;color:var(--muted);margin-top:3px}
.frs-sponsored{display:inline-block;margin-left:8px;vertical-align:1px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;background:var(--mustard);color:var(--char);padding:2px 6px;border-radius:var(--r)}
.frs-social{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:14px 0 0;border-top:1px solid var(--line-2);list-style:none}
.frs-profile-actions-box .ed-actions{margin-top:32px;padding-top:24px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:12px;font-size:16px}
.frs-profile-actions-box .ed-actions>a{font-size:15px;color:var(--char)}
.frs-claim{margin:0;padding:16px 18px;background:var(--neutral);border-radius:var(--r);font-size:16px;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}
.frs-claim-q{font-weight:600}
.frs-claim-a{font-weight:600}
.frs-claimed{display:flex;gap:6px;align-items:center;font-weight:600;font-size:15px;margin:0}
.ed-tier-badge{display:none}
.ed-enquiry{margin-top:16px;background:var(--neutral);border-radius:var(--r);padding:20px}
.ed-enquiry h2{font-size:24px;margin:0 0 6px}
.ed-gallery,.frs-gallery ul{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;list-style:none;margin:0;padding:0}
.frs-gallery{margin:32px 0 0}.frs-gallery h2{font-size:21px;margin:0 0 12px}
.frs-gallery figure{margin:0}.frs-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
.frs-gallery figcaption{font-size:14px;color:var(--muted);margin-top:4px}
.frs-profile-related .frs-related h2{margin:0 0 20px}
@media(max-width:991px){.frs-profile-grid.brxe-block{grid-template-columns:1fr;gap:32px}.frs-profile-side.brxe-block{position:static}}
@media(max-width:767px){.frs-profile-top.brxe-block{flex-direction:column;gap:16px}.frs-mark.frs-mark--lg{width:168px;height:96px;padding:12px 14px}.frs-mark--lg .elm-mono{font-size:32px}.frs-profile-actions .frs-btn{width:100%}.frs-profile-mark .frs-dtile{width:84px;flex-basis:84px;min-height:92px}}

/* ===== Forms and tools (engine, Gravity Forms, WooCommerce) ===== */

.frs-tool-grid.brxe-block{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px;align-items:start;width:100%}
.frs-tool-grid--full.brxe-block{grid-template-columns:1fr}
.frs-tool-main{min-width:0}
.frs-tool-side.brxe-block{width:100%}
@media(max-width:991px){.frs-tool-grid.brxe-block{grid-template-columns:1fr;gap:28px}}
.ed-form{display:flex;flex-direction:column;gap:18px;max-width:720px}
.ed-form h2,.ed-form h3{margin:8px 0 0;font-size:24px}
.ed-field{display:flex;flex-direction:column;gap:6px;margin:0}
.ed-field label,.ed-form label{font-weight:600;font-size:16px}
label,legend,.gform-field-label{color:var(--char)}
.ed-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]):not([type=submit]),.ed-form select,.ed-form textarea,
.gform_wrapper.gravity-theme input:not([type=checkbox]):not([type=radio]):not([type=submit]),.gform_wrapper.gravity-theme select,.gform_wrapper.gravity-theme textarea,
.woocommerce form .input-text,.woocommerce form select,.ed-alert-row input[type=email]{width:100%;min-height:48px;border:1px solid var(--field);border-radius:var(--r);padding:10px 14px;font:400 17px var(--f-body);color:var(--char);background:#fff;box-sizing:border-box}
.ed-form textarea,.gform_wrapper.gravity-theme textarea{min-height:140px}
.ed-form input:focus,.ed-form select:focus,.ed-form textarea:focus,.gform_wrapper input:focus,.gform_wrapper textarea:focus,.gform_wrapper select:focus,.frs-search input:focus,.frs-search select:focus,.frs-f input:focus,.frs-f select:focus{border-color:var(--char);outline:2px solid var(--mustard);outline-offset:0}
.ed-form button{align-self:flex-start}
.ed-notice{background:var(--neutral);border-left:4px solid var(--mustard);border-radius:var(--r);padding:14px 16px;margin:0 0 18px;font-size:16px}
.ed-error{background:#FBEDEB;border-left:4px solid var(--error);border-radius:var(--r);padding:14px 16px;margin:0 0 18px}
.ed-sign-in{font-weight:600}
.gform_wrapper.gravity-theme .gfield_label{font-weight:600;font-size:16px;color:var(--char)}
.gform_wrapper.gravity-theme .gfield_description{font-size:14px;color:var(--muted)}
.frs-sec--dark .gform_wrapper.gravity-theme .gfield_description{color:#fff}
.gform_wrapper.gravity-theme .gform_footer{margin:12px 0 0;padding:0}
.gform_wrapper.gravity-theme .gfield_required{display:none}
.gform_wrapper.gravity-theme .gfield--type-consent .gfield_description,.gform_wrapper.gravity-theme .gfield_consent_description{border:0!important;padding:0!important;margin:6px 0 0!important;max-height:none!important;overflow:visible!important;font-size:14px;line-height:1.45}
.gform_wrapper.gravity-theme fieldset.gfield--type-consent{display:flex;flex-direction:column}
.gform_wrapper.gravity-theme .gfield--type-consent .ginput_container_consent{order:1}
.gform_wrapper.gravity-theme .gfield--type-consent .gfield_description{order:2;margin-top:8px!important}
.gform_wrapper.gravity-theme .ginput_container_consent{display:flex;gap:10px;align-items:flex-start}
.gform_wrapper.gravity-theme .ginput_container_consent input{width:20px;height:20px;margin-top:2px;accent-color:var(--char);flex:0 0 20px}
.frs-sec--dark .gform_wrapper.gravity-theme .ginput_container_consent input{accent-color:var(--mustard)}
.gform_wrapper.gravity-theme .gfield_consent_label{font-size:16px}
.gform_wrapper.gravity-theme .gform_fields{row-gap:18px}
.gform_wrapper select,.ed-form select,.woocommerce form select{height:auto;min-height:48px;line-height:1.3;padding:10px 40px 10px 12px;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%232D2F30' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;font-size:17px}
.gform_confirmation_message,.ed-newsletter-msg{background:var(--neutral);border-left:4px solid var(--mustard);border-radius:var(--r);padding:16px 18px;font-weight:600;color:var(--char)}
.ed-account h2,.ed-account h3{font-size:24px;margin:24px 0 10px}
.frs-requests{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.frs-requests li{display:flex;justify-content:space-between;gap:12px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--r);font-size:16px}
.frs-req-id{color:var(--muted)}
.frs-status--pending{background:var(--mustard-tint)}.frs-status--approved,.frs-status--complete{background:#E4EFE6}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.woocommerce-MyAccount-navigation li a{display:inline-block;padding:8px 14px;border:1px solid var(--line);border-radius:var(--r);text-decoration:none;font-weight:600;font-size:15px}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--char);color:#fff;border-color:var(--char)}
.woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content{float:none;width:100%}
.woocommerce form.login,.woocommerce form.register{border:1px solid var(--line)!important;border-radius:var(--r)!important;padding:22px!important;margin:0 0 24px!important}
.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2{width:100%;float:none}
@media(min-width:900px){.woocommerce #customer_login.col2-set{display:grid;grid-template-columns:1fr 1fr;gap:28px}.woocommerce #customer_login.col2-set::before,.woocommerce #customer_login.col2-set::after{display:none}}
.woocommerce-info,.woocommerce-message,.woocommerce-error{border-top-color:var(--mustard)!important;background:var(--neutral)!important;color:var(--char)}
/* Pricing (engine plans) */
.frs-sec--tool .ed-pricing{display:flex;flex-direction:column;gap:24px}
.ed-plan-grid{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:640px){.ed-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){.ed-plan-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ed-plan{background:#fff;border:1px solid var(--line);border-top:5px solid var(--char);border-radius:var(--r);padding:22px;display:flex;flex-direction:column;gap:8px}
.ed-plan--bronze{border-top-color:#B07A4F}.ed-plan--silver{border-top-color:#8E9497}.ed-plan--gold{border-top-color:var(--mustard);background:linear-gradient(var(--mustard-tint),#fff 140px)}
.ed-plan h2{font-size:26px;margin:0}
.ed-plan-price{font:400 34px/1.1 var(--f-head);margin:4px 0 0;color:var(--char)}
.ed-plan-price span{display:block;font:400 15px/1.4 var(--f-body);color:var(--char);margin-top:6px}
.ed-plan-note,.ed-plan-position{margin:0;font-size:15px;color:var(--muted)}
.ed-plan-position{color:var(--char);font-weight:600}
.ed-plan-cta{margin-top:auto;width:100%;font-size:16px}
.ed-plan-cta--interest{background:#fff;color:var(--char)!important;box-shadow:inset 0 0 0 2px var(--char)}
.ed-plan-cta--interest:hover{background:var(--neutral);color:var(--char)!important}
.ed-plan-matrix-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.ed-plan-matrix{width:100%;border-collapse:collapse;font-size:15px;min-width:620px}
.ed-plan-matrix caption{text-align:left;font:400 22px var(--f-head);padding:16px 18px 6px}
.ed-plan-matrix th,.ed-plan-matrix td{padding:11px 14px;border-top:1px solid var(--line-2);text-align:center}
.ed-plan-matrix th[scope=row],.ed-plan-matrix thead th:first-child{text-align:left;font-weight:400}
.ed-plan-matrix thead th{font-weight:600;background:var(--neutral)}
.ed-plan-matrix td span[aria-label=Included]{color:var(--char);font-weight:700}
.ed-plan-seller{font-size:15px;color:var(--muted)}
.ed-ordering h2{font-size:28px;margin:36px 0 12px}
.ed-ordering ol li::marker{color:var(--char);font-weight:600}
.ed-score-table{width:100%;border-collapse:collapse;font-size:16px;margin:0 0 20px}
.ed-score-table th,.ed-score-table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}
.ed-score-table thead th{background:var(--neutral)}
.ed-score-table td:last-child,.ed-score-table th:last-child{text-align:right;width:80px}
/* 404 */
.frs-sec .brxe-text{width:100%}
.frs-404-links{list-style:none;margin:0;padding:0;width:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.frs-404-links a{display:block;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r);font-weight:600;text-decoration:none}
.frs-404-links a:hover{border-color:var(--char)}

/* ===== Cookie notice (SEOPress) ===== */
.seopress-user-consent{font-family:var(--f-body)!important}
.seopress-user-consent.seopress-user-message{border-top:4px solid var(--mustard)!important;box-shadow:0 -6px 24px rgba(45,47,48,.14)!important;color:var(--char)!important}
#seopress-user-consent-accept,#seopress-user-consent-close{border-radius:var(--r)!important;font-family:var(--f-body)!important;font-weight:600!important;min-height:44px}
#seopress-user-consent-accept{background:var(--char)!important;color:#fff!important;border:0!important}
#seopress-user-consent-close{background:#fff!important;color:var(--char)!important;border:2px solid var(--char)!important}

/* ---- events-directory 1.7 components (EVS-16) — start ---- */
/* Calendar, shortlist and compare sit under the profile actions; buttons are the site's own ghost buttons. */
.frs-edtools{display:flex;flex-direction:column;gap:12px;margin:24px 0 0;padding-top:24px;border-top:1px solid var(--line)}
.frs-edtools .ed-calendar{margin:0;display:flex;flex-wrap:wrap;gap:0 20px;align-items:baseline}
.frs-edtools .frs-edtools-label{flex-basis:100%;margin:0 0 2px;font-size:13px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.frs-edtools .ed-calendar>a,.frs-edtools .ed-calendar-feed a{color:inherit;font-weight:400;font-size:15px}
.frs-edtools .ed-calendar-feed{flex-basis:100%;margin:0}
.frs-edtools .ed-tools-row{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin:10px 0 0}
.frs-edtools .frs-btn{min-height:44px;font-size:15px;cursor:pointer}
.frs-edtools [aria-pressed="true"]{background:var(--char)!important;color:#fff!important}
.frs-edtools .ed-shortlist-link{color:var(--char);font-weight:600}
.frs-edfaq{margin:36px 0 0}
.frs-edfaq .ed-faq-item{border-bottom:1px solid var(--line);padding:14px 0}
.frs-edfaq .ed-faq-item summary{font-weight:600;font-size:17px;cursor:pointer}
.ed-alert-row{display:flex;flex-wrap:wrap;gap:10px}
.ed-compare-table thead th a{color:var(--char);font-size:19px}
.ed-shortlist .ed-card-actions .ed-save,.ed-shortlist .ed-card-actions .ed-compare-toggle{border:2px solid var(--char);border-radius:var(--r);background:#fff;color:var(--char);font-weight:600;min-height:44px;padding:0 14px;cursor:pointer}
/* ---- events-directory 1.7 components (EVS-16) — end ---- */

/* ---------- Round 3 ---------- */
/* Logos: one optical-size rule (frs_mark sets each image's width from its measured shape and weight, centred on its ink). */
.frs-mark.is-optical img{object-fit:contain;object-position:center}
/* Recently checked: a slightly larger tile so wordmarks with straplines stay legible. */
.frs-recent .frs-mark.frs-mark--xs{width:136px;height:68px;padding:8px 10px}
@media(max-width:620px){.frs-recent .frs-mark.frs-mark--xs{width:120px;height:62px}}
/* Choosing suppliers: the heading runs across both columns on one line at desktop widths, so no empty band sits beside it. */
.frs-sec--about .frs-sec-head-t.brxe-block{max-width:none}
/* Service cards on phones (one column): titles are mostly one line, so they centre on the icon; a two-line title fills it. */
@media(max-width:560px){.frs-sector-name{align-self:center;align-items:center;padding-top:0}}
/* 1.4.1: hyphenated words in service-type names (e.g. fit-out) never break at the hyphen */
.frs-nobr{white-space:nowrap}
