/* Safari Tools, Tour Filters (1.4.1; sticky class 1.4.5). Look = design 17 "Olive & Gold". Everything is scoped under .etsc-tf.
 * Colours are the --p-* tokens: another colour set from the design's palettes.json can be dropped in here. */
.etsc-tf{--p-bg1:#4A5E37;--p-bg2:#36452A;--p-angle:165deg;--p-stop:70%;--p-text:#F4F0E6;--p-title:#fff;--p-kick:#E6CB8E;--p-h3:#E6CB8E;--p-link:#E6CB8E;--p-border:rgba(201,164,92,.35);--p-shadow:rgba(16,24,10,.6);--p-inset:rgba(255,255,255,.06);--p-rule:rgba(201,164,92,.55);--p-sep:rgba(255,255,255,.1);--p-n:#D2DAC4;--p-tr:#2C3922;--p-tr-b:rgba(255,255,255,.6);--p-knob:#E6E0D2;--p-knob-sh:rgba(0,0,0,.4);--p-hov:#E6CB8E;--p-on:#C9A45C;--p-knob-on:#36452A;--p-lb-on:#fff;--p-ring:#fff;--p-seg-b:#C9A45C;--p-seg-hover:rgba(201,164,92,.18);--p-seg-on:#C9A45C;--p-seg-on-t:#141B0E;--p-live:#DDE3D0;--p-live-b:rgba(255,255,255,.12);--p-live-n:#E6CB8E;--p-f-b:rgba(201,164,92,.6);--p-badge:#C9A45C;--p-badge-t:#141B0E;--p-ov:rgba(20,28,14,.62);--p-grab:rgba(255,255,255,.6);--p-cl:#E6CB8E;--p-sf-b:rgba(201,164,92,.3);--p-sb:#C9A45C;--p-sb-t:#141B0E;
--e-olive:#5B7444;--e-olive-h:#66834B;--e-olive-d:#47592F;--e-ink:#1F2937;--e-line:#E2DCD2;--e-ease:cubic-bezier(.22,1,.36,1);--etsc-tf-bar:0px;display:block;position:relative;font-family:inherit;color:#3A3A3A;line-height:1.5}
.etsc-tf *,.etsc-tf *::before,.etsc-tf *::after{box-sizing:border-box}
.etsc-tf [hidden],.etsc-tf .etsc-tf__item[hidden]{display:none!important}
html.etsc-tf-js .etsc-tf .etsc-tf__item[data-etf-parked]{display:none}
html.etsc-tf-pending .etsc-tf .etsc-tf__item{display:none}
html.etsc-tf-pending .etsc-tf .etsc-tf__list{min-height:min(100vh,1200px)}
html.etsc-tf-pending .etsc-tf .etsc-tf__pager{visibility:hidden}
html.etsc-tf-lock{overflow:hidden}
.etsc-tf :focus-visible:not(:where(.etsc-tf__extra *)){outline:3px solid var(--e-ink);outline-offset:2px;border-radius:4px}
.etsc-tf .etsc-tf__panel :focus-visible,.etsc-tf .etsc-tf__pill:focus-visible{outline-color:var(--p-ring)}
.etsc-tf .etsc-tf__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.etsc-tf .etsc-tf__vh{position:absolute;opacity:0;width:1px;height:1px;margin:0;padding:0;border:0;pointer-events:none}

/* Layout: sidebar + list are siblings in one grid, so position:sticky works. */
.etsc-tf .etsc-tf__layout{display:grid;grid-template-columns:344px minmax(0,1fr);gap:32px}
.etsc-tf.etsc-tf--nofilters .etsc-tf__layout,html:not(.etsc-tf-js) .etsc-tf .etsc-tf__layout{display:block}
html:not(.etsc-tf-js) .etsc-tf .etsc-tf__slot,html:not(.etsc-tf-js) .etsc-tf .etsc-tf__bar,html:not(.etsc-tf-js) .etsc-tf .etsc-tf__pager,html:not(.etsc-tf-js) .etsc-tf .etsc-tf__pill{display:none}
.etsc-tf .etsc-tf__main{min-width:0}
.etsc-tf .etsc-tf__list{display:grid;gap:30px;grid-template-columns:repeat(var(--etsc-tf-c1,3),minmax(0,1fr));grid-auto-rows:1fr}
.etsc-tf .etsc-tf__item{min-width:0;height:100%;overflow-wrap:break-word;word-break:break-word}
.etsc-tf .etsc-tf__plain{height:100%;background:#fff;border:1px solid var(--e-line);border-radius:14px;overflow:hidden}
.etsc-tf .etsc-tf__plain img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.etsc-tf .etsc-tf__plain-title{margin:0;padding:14px 16px;font-size:17px;line-height:1.35}
.etsc-tf .etsc-tf__notice{padding:8px 12px;background:#fff8e1;border:1px solid #e6cb8e;font-size:13px}

/* Toolbar, empty state, pager. */
.etsc-tf .etsc-tf__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;min-height:44px}
.etsc-tf .etsc-tf__count{margin:0;min-height:26px;font-size:17px;font-weight:500;color:var(--e-ink)}
.etsc-tf .etsc-tf__num{display:inline-block;min-width:1ch;text-align:center;font-weight:600;font-variant-numeric:tabular-nums}
.etsc-tf .etsc-tf__empty{text-align:center;padding:48px 20px;background:#fff;border:1px dashed var(--e-line);border-radius:16px}
.etsc-tf .etsc-tf__empty svg{width:64px;height:64px;color:var(--e-olive)}
.etsc-tf .etsc-tf__empty p{margin:0 0 16px;color:#675F55}
.etsc-tf button[class]:not(:where(.etsc-tf__extra *)){appearance:none;-webkit-appearance:none;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:inherit;font:inherit;line-height:1.3;letter-spacing:normal;text-transform:none;text-decoration:none;cursor:pointer}
.etsc-tf button[class]:not(:where(.etsc-tf__extra *)):hover,.etsc-tf button[class]:not(:where(.etsc-tf__extra *)):focus{background:none;border:0;box-shadow:none;color:inherit;text-decoration:none}
.etsc-tf button.etsc-tf__lnk,.etsc-tf button.etsc-tf__lnk:hover,.etsc-tf button.etsc-tf__lnk:focus{min-height:44px;padding:6px 8px;color:var(--e-olive-d);text-decoration:underline;text-underline-offset:3px;font-size:14px;font-weight:500}
.etsc-tf button.etsc-tf__btn,.etsc-tf button.etsc-tf__btn:hover,.etsc-tf button.etsc-tf__btn:focus{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 24px;border-radius:999px;background:var(--e-olive);color:#fff;font-weight:500;font-size:15px;transition:background .2s,transform .15s var(--e-ease)}
.etsc-tf button.etsc-tf__btn:hover{background:var(--e-olive-h)}
.etsc-tf button.etsc-tf__btn:active{transform:scale(.96)}

/* Pager: olive outline buttons, the current page filled olive (4.8:1 and 5.2:1 on the light page), 44 px targets. */
.etsc-tf .etsc-tf__pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;margin-top:36px}
.etsc-tf .etsc-tf__pgs{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px}
.etsc-tf .etsc-tf__pg,.etsc-tf button.etsc-tf__pg,.etsc-tf button.etsc-tf__pg:hover,.etsc-tf button.etsc-tf__pg:focus{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 10px;border:1px solid var(--e-olive);border-radius:12px;background:transparent;color:var(--e-olive);font-size:15px;font-weight:500;font-variant-numeric:tabular-nums;line-height:1;transition:background .2s,color .2s}
.etsc-tf button.etsc-tf__pg:hover{background:rgba(91,116,68,.12)}
.etsc-tf .etsc-tf__pg.is-cur,.etsc-tf .etsc-tf__pg.is-cur:hover{background:var(--e-olive);border-color:var(--e-olive);color:#fff;cursor:default}
.etsc-tf button.etsc-tf__pg:disabled{opacity:.4;cursor:default;background:transparent}
.etsc-tf .etsc-tf__pg:focus-visible{outline:3px solid #C9A45C;outline-offset:2px;box-shadow:0 0 0 2px #47592F}
.etsc-tf .etsc-tf__pg svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.etsc-tf .etsc-tf__gap{min-width:24px;text-align:center;color:#675F55}
.etsc-tf .etsc-tf__bar:focus:not(:focus-visible),.etsc-tf .etsc-tf__main:focus:not(:focus-visible){outline:none}

/* Content below the filter panel (1.4.4). With a panel, one wrapper (.etsc-tf__side) holds the panel and the content; with sticky on (the class
 * .etsc-tf--sticky, 1.4.5) it is sticky, so they stay in view together (the script lowers `top` when the wrapper is taller than the window). Without a panel the content simply follows the list and the pager. */
.etsc-tf .etsc-tf__side{align-self:start;min-width:0}
.etsc-tf.etsc-tf--sticky .etsc-tf__side{position:sticky;top:24px}
.etsc-tf .etsc-tf__side .etsc-tf__slot>.etsc-tf__panel{position:static}
/* 1.4.5: the column is too tall for the window (script adds .is-split): the wrapper is the full-height column and only the PANEL sticks, above the content. */
@media (min-width:1025px){
/* 1.4.7: "box at the end" (the script adds .is-end): the wrapper is a full-height column; the slot is the panel's track and the sticky panel stays inside it; the
 * content below sits at the bottom of the column, so it appears at the end of the tour list and can never overlap the panel. */
.etsc-tf.etsc-tf--stick-extra .etsc-tf__side.is-end{position:static;align-self:stretch;display:flex;flex-direction:column}
.etsc-tf.etsc-tf--stick-extra .etsc-tf__side.is-end .etsc-tf__slot{flex:1 1 auto;min-height:0}
.etsc-tf.etsc-tf--stick-extra .etsc-tf__side.is-end .etsc-tf__slot>.etsc-tf__panel{position:sticky;top:24px;z-index:3}
.etsc-tf.etsc-tf--stick-extra .etsc-tf__side.is-end .etsc-tf__extra{flex:none}
/* 1.4.6: compact panel (the script adds .is-compact when panel and content do not fit together at the normal size): smaller header, padding, rows and gaps. */
.etsc-tf.etsc-tf--stick-extra .etsc-tf__panel.is-compact{padding:14px 16px 12px}
.etsc-tf.etsc-tf--stick-extra .is-compact .etsc-tf__kick{display:none}
.etsc-tf.etsc-tf--stick-extra .is-compact .etsc-tf__title{font-size:19px}
.etsc-tf.etsc-tf--stick-extra .is-compact .etsc-tf__ph{margin-bottom:2px}
.etsc-tf.etsc-tf--stick-extra .is-compact .etsc-tf__rule{margin:8px 0 6px}
.etsc-tf.etsc-tf--stick-extra .is-compact .etsc-tf__h3{margin:0 0 2px}
.etsc-tf.etsc-tf--stick-extra .is-compact .etsc-tf__sw{min-height:36px;padding:1px 0}
.etsc-tf.etsc-tf--stick-extra .is-compact .etsc-tf__grp--segs{margin-top:4px}
.etsc-tf.etsc-tf--stick-extra .is-compact .etsc-tf__seg{min-height:44px}
.etsc-tf.etsc-tf--stick-extra .is-compact .etsc-tf__live{margin-top:6px;padding-top:6px}
.etsc-tf.etsc-tf--stick-extra .is-compact .etsc-tf__livetxt{min-height:28px}
.etsc-tf.etsc-tf--stick-extra .is-compact .etsc-tf__livetxt .etsc-tf__num{font-size:26px}
.etsc-tf.etsc-tf--sticky .etsc-tf__side.is-split{position:static;align-self:stretch}
.etsc-tf.etsc-tf--sticky .etsc-tf__side.is-split .etsc-tf__slot{display:contents}
.etsc-tf.etsc-tf--sticky .etsc-tf__side.is-split .etsc-tf__slot>.etsc-tf__panel{position:sticky;top:24px;z-index:3}
.etsc-tf.etsc-tf--sticky .etsc-tf__side.is-split .etsc-tf__extra{position:relative;z-index:1}
}
.etsc-tf .etsc-tf__extra{min-width:0;max-width:100%;margin-top:24px;overflow-wrap:break-word}
.etsc-tf .etsc-tf__main>.etsc-tf__extra{margin-top:36px}
.etsc-tf .etsc-tf__extra *{max-width:100%!important}
.etsc-tf .etsc-tf__extra .elementor-sticky,.etsc-tf .etsc-tf__extra .elementor-sticky--active{position:static!important;top:auto!important;width:auto!important;transform:none!important}
.etsc-tf .etsc-tf__extra .elementor-sticky__spacer{display:none!important}
html:not(.etsc-tf-js) .etsc-tf.etsc-tf--extra .etsc-tf__layout{display:flex;flex-direction:column;gap:0}
html:not(.etsc-tf-js) .etsc-tf .etsc-tf__side{display:contents}
html:not(.etsc-tf-js) .etsc-tf .etsc-tf__extra{order:2;margin-top:32px}
html:not(.etsc-tf-js) .etsc-tf .etsc-tf__main{order:1}
.etsc-tf .etsc-tf__extra.is-empty{margin-top:0!important}

/* The panel. */
.etsc-tf .etsc-tf__panel{border-radius:24px;background:linear-gradient(var(--p-angle),var(--p-bg1) 0%,var(--p-bg2) var(--p-stop));color:var(--p-text);padding:22px 24px 18px;border:1px solid var(--p-border);box-shadow:0 30px 60px -30px var(--p-shadow),inset 0 1px 0 var(--p-inset)}
.etsc-tf.etsc-tf--sticky .etsc-tf__layout>.etsc-tf__slot>.etsc-tf__panel{position:sticky;top:24px}
.etsc-tf .etsc-tf__ph{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:6px}
.etsc-tf .etsc-tf__kick{margin:0 0 4px;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--p-kick);font-weight:500}
.etsc-tf .etsc-tf__title{margin:0;color:var(--p-title);font-size:24px;font-weight:500;line-height:1.2}
.etsc-tf .etsc-tf__grab,.etsc-tf .etsc-tf__x,.etsc-tf .etsc-tf__pfoot,.etsc-tf .etsc-tf__pill{display:none}
.etsc-tf .etsc-tf__rule{height:1px;margin:14px 0 12px;border:0;background:linear-gradient(90deg,transparent,var(--p-rule),transparent)}
.etsc-tf .etsc-tf__h3{margin:0 0 4px;color:var(--p-h3);font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase}
.etsc-tf .etsc-tf__sw{position:relative;display:flex;align-items:center;gap:12px;min-height:44px;padding:3px 0;cursor:pointer;border-bottom:1px solid var(--p-sep);transition:opacity .2s}
.etsc-tf .etsc-tf__sw:last-child{border-bottom:0}
.etsc-tf .etsc-tf__lb{flex:1;min-width:0;overflow-wrap:anywhere;font-size:15px;line-height:1.3;color:var(--p-text);transition:color .2s}
.etsc-tf .etsc-tf__n{min-width:16px;text-align:right;font-size:12.5px;color:var(--p-n);font-variant-numeric:tabular-nums}
.etsc-tf .etsc-tf__tr{position:relative;flex:none;width:46px;height:26px;border-radius:99px;background:var(--p-tr);border:1px solid var(--p-tr-b);transition:background .3s var(--e-ease),border-color .3s}
.etsc-tf .etsc-tf__tr::after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:var(--p-knob);box-shadow:0 1px 3px var(--p-knob-sh);transition:transform .35s cubic-bezier(.34,1.5,.5,1),background .3s}
.etsc-tf .etsc-tf__sw:hover .etsc-tf__tr{border-color:var(--p-hov)}
.etsc-tf .etsc-tf__sw:has(:checked) .etsc-tf__tr{background:var(--p-on);border-color:var(--p-on)}
.etsc-tf .etsc-tf__sw:has(:checked) .etsc-tf__tr::after{transform:translateX(20px);background:var(--p-knob-on)}
.etsc-tf .etsc-tf__sw:has(:checked) .etsc-tf__lb{color:var(--p-lb-on)}
.etsc-tf .etsc-tf__sw:has(:focus-visible) .etsc-tf__tr,.etsc-tf .etsc-tf__seg:has(:focus-visible){outline:3px solid var(--p-ring);outline-offset:2px}
.etsc-tf .etsc-tf__grp--segs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:3px;margin-top:6px;padding:3px;border:1px solid var(--p-seg-b);border-radius:14px}
.etsc-tf .etsc-tf__seg{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:48px;padding:2px 4px;border-radius:11px;cursor:pointer;text-align:center;font-size:15px;font-weight:500;line-height:1.1;color:var(--p-text);transition:background .25s var(--e-ease),color .25s,opacity .2s}
.etsc-tf .etsc-tf__seg small{margin-top:3px;font-size:11.5px;font-weight:400;opacity:.8;overflow-wrap:anywhere}
.etsc-tf .etsc-tf__seg:hover{background:var(--p-seg-hover)}
.etsc-tf .etsc-tf__seg:has(:checked){background:var(--p-seg-on);color:var(--p-seg-on-t)}
.etsc-tf .etsc-tf__sw[data-n="0"],.etsc-tf .etsc-tf__seg[data-n="0"]{opacity:.55}
.etsc-tf .etsc-tf__live{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid var(--p-live-b);color:var(--p-live);font-size:14px}
.etsc-tf .etsc-tf__livetxt{flex:1;margin:0;min-height:38px;display:flex;align-items:baseline;gap:8px}
.etsc-tf .etsc-tf__livetxt .etsc-tf__num{font-size:34px;line-height:1;color:var(--p-live-n)}
.etsc-tf button.etsc-tf__clr,.etsc-tf button.etsc-tf__clr:hover,.etsc-tf button.etsc-tf__clr:focus{min-width:44px;min-height:44px;padding:0 4px;color:var(--p-link);font-size:14px;text-decoration:underline;text-underline-offset:3px}
.etsc-tf button.etsc-tf__clr:hover{color:var(--p-hov)}
.etsc-tf button.etsc-tf__clr:disabled{visibility:hidden}

/* Phone and tablet (1024 px and below): no sidebar. A floating pill opens the panel in a bottom sheet. */
@media (max-width:1024px){
.etsc-tf .etsc-tf__layout{display:block;padding-bottom:calc(84px + var(--etsc-tf-bar))}
.etsc-tf.etsc-tf--extra .etsc-tf__layout{display:flex;flex-direction:column;gap:0}
.etsc-tf .etsc-tf__side{display:contents}
.etsc-tf .etsc-tf__main{order:1}
.etsc-tf .etsc-tf__extra{order:2;margin-top:32px}
.etsc-tf .etsc-tf__extra.is-empty{margin-top:0!important}
.etsc-tf .etsc-tf__slot{display:none}
.etsc-tf .etsc-tf__main{scroll-margin-top:84px}
.etsc-tf .etsc-tf__list{grid-template-columns:repeat(var(--etsc-tf-c2,2),minmax(0,1fr))}
.etsc-tf button.etsc-tf__pill,.etsc-tf button.etsc-tf__pill:hover,.etsc-tf button.etsc-tf__pill:focus{position:fixed;z-index:1000;left:50%;bottom:calc(var(--etsc-tf-bar,0px) + 12px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:10px;min-height:52px;padding:0 22px 0 18px;border:1px solid var(--p-f-b);border-radius:99px;background:linear-gradient(165deg,var(--p-bg1),var(--p-bg2));color:#fff;font-size:15px;font-weight:500;box-shadow:0 14px 30px -8px var(--p-shadow);transform:translateX(-50%) translateY(12px);opacity:0;visibility:hidden;transition:opacity .25s,transform .25s var(--e-ease),visibility 0s .25s}
.etsc-tf button.etsc-tf__pill.is-in{opacity:1;visibility:visible;transform:translateX(-50%);transition:opacity .25s,transform .25s var(--e-ease)}
.etsc-tf .etsc-tf__pill svg{width:18px;height:18px;fill:none;stroke:var(--p-kick);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.etsc-tf .etsc-tf__badge{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:99px;background:var(--p-badge);color:var(--p-badge-t);font-size:12px}
.etsc-tf .etsc-tf__sheet{z-index:100000000;position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--p-ov);overflow:hidden;color:inherit}
.etsc-tf .etsc-tf__sheet:not([open]){display:none}
.etsc-tf .etsc-tf__sheet[open]{display:flex;align-items:flex-end}
.etsc-tf .etsc-tf__sheet::backdrop{background:transparent}
.etsc-tf .etsc-tf__sheet .etsc-tf__panel{display:flex;flex-direction:column;width:100%;max-height:88vh;max-height:88dvh;padding:0;border-radius:26px 26px 0 0;border-bottom:0;animation:etsc-tf-up .4s var(--e-ease)}
.etsc-tf .etsc-tf__sheet .etsc-tf__grab{display:block;flex:none;width:44px;height:5px;margin:10px auto 0;border-radius:9px;background:var(--p-grab)}
.etsc-tf .etsc-tf__sheet .etsc-tf__ph{align-items:center;margin:0;padding:8px 20px 0}
.etsc-tf .etsc-tf__sheet .etsc-tf__pbody{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:0 20px 8px}
.etsc-tf .etsc-tf__sheet .etsc-tf__live{display:none}
.etsc-tf button.etsc-tf__x,.etsc-tf button.etsc-tf__x:hover,.etsc-tf button.etsc-tf__x:focus{display:none;place-items:center;flex:none;width:44px;height:44px;border:1px solid var(--p-cl);border-radius:50%;color:var(--p-cl)}
.etsc-tf .etsc-tf__sheet button.etsc-tf__x{display:grid}
.etsc-tf .etsc-tf__x svg{width:18px;height:18px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round}
.etsc-tf .etsc-tf__sheet .etsc-tf__pfoot{display:flex;flex:none;align-items:center;gap:10px;padding:12px 20px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--p-sf-b);background:var(--p-bg2)}
.etsc-tf button.etsc-tf__show,.etsc-tf button.etsc-tf__show:hover,.etsc-tf button.etsc-tf__show:focus{display:flex;flex:1;align-items:center;justify-content:center;gap:6px;min-height:54px;border-radius:16px;background:var(--p-sb);color:var(--p-sb-t);font-size:16px;font-weight:600}
}
@media (max-width:767px){
.etsc-tf .etsc-tf__list{grid-template-columns:repeat(var(--etsc-tf-c3,1),minmax(0,1fr));grid-auto-rows:auto}
}
@media (max-width:480px){
.etsc-tf .etsc-tf__pgs{order:-1;flex:0 0 100%}
}
@keyframes etsc-tf-up{from{transform:translateY(100%)}}
@media (prefers-reduced-motion:reduce){.etsc-tf *{transition:none!important;animation:none!important}}
