/* All rules are scoped; the existing widget and theme navigation are untouched. */
.gsim {
	--gsim-width: 450px;
	--gsim-bg: #fff;
	--gsim-text: #292821;
	--gsim-title: #292821;
	--gsim-description: #69675f;
	--gsim-divider: #e9e6de;
	--gsim-divider-width: 1px;
	--gsim-hover-bg: #faf7f0;
	--gsim-accent: #f6aa2e;
	--gsim-accent-text: #282114;
	--gsim-accent-hover: #ed9c1c;
	--gsim-accent-radius: 7px;
	--gsim-entry-radius: 6px;
	--gsim-entry-gap: 0px;
	--gsim-entry-min: 44px;
	--gsim-description-gap: 6px;
	--gsim-pad-top: 16px;
	--gsim-pad-right: 28px;
	--gsim-pad-bottom: 20px;
	--gsim-pad-left: 28px;
	--gsim-header-gap: 12px;
	--gsim-duration: 220ms;
	--gsim-overlay: rgba(25, 23, 18, .48);
	--gsim-focus: #a65b00;
	display: flex;
	justify-content: flex-start;
	font-family: inherit;
}
.gsim *, .gsim *::before, .gsim *::after { box-sizing: border-box; }
.gsim [hidden] { display: none !important; }
/* Outrank Elementor kit button:focus without removing or blurring keyboard focus. */
.gsim[data-gsim] .gsim-trigger, .gsim[data-gsim] .gsim-toolbar button, .gsim[data-gsim] .gsim-item {
	appearance: none; -webkit-appearance: none; margin: 0; font: inherit; letter-spacing: inherit;
	text-transform: none; text-decoration: none; box-shadow: none; cursor: pointer;
}
.gsim[data-gsim] .gsim-trigger {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-width: 44px; min-height: 44px; padding: 10px 14px;
	border: 0; border-radius: 24px; background: transparent; color: inherit;
	font-size: 14px; line-height: 1.4;
}
.gsim .gsim-trigger-icon { display: inline-flex; align-items: center; }
.gsim .gsim-trigger-icon:empty { display: none; }
.gsim .gsim-trigger-icon > svg, .gsim .gsim-trigger-icon > i { width: var(--gsim-trigger-icon-size, 20px); height: var(--gsim-trigger-icon-size, 20px); font-size: var(--gsim-trigger-icon-size, 20px); }
.gsim .gsim-trigger-icon > svg:not(.gsim-icon) { fill: currentColor; }
.gsim .gsim-icon { display: block; width: 20px; height: 20px; flex-shrink: 0; }
.gsim .gsim-dialog:not([open]) { display: none !important; }
.gsim .gsim-dialog {
	position: fixed; inset: 0; width: 100%; height: 100%; height: 100dvh;
	max-width: none; max-height: none; margin: 0; border: 0; padding: 0;
	display: flex; align-items: stretch; justify-content: flex-end;
	background: var(--gsim-overlay); color: var(--gsim-text); font: inherit;
	overflow: hidden; overscroll-behavior: contain;
}
.gsim .gsim-dialog::backdrop { background: transparent; }
.gsim .gsim-panel {
	display: grid; grid-template-rows: auto minmax(0, 1fr) auto;
	width: min(100%, var(--gsim-width)); max-width: 100%; height: 100%; min-width: 0;
	background: var(--gsim-bg); color: var(--gsim-text);
	border: 0; border-radius: 0; box-shadow: -10px 0 35px rgba(0, 0, 0, .1);
	overflow: hidden;
}
.gsim .gsim-header {
	display: block; position: relative; inset: auto; z-index: auto; width: auto; height: auto; min-height: 0; margin: 0;
	border: 0; background: transparent; box-shadow: none;
	padding: max(var(--gsim-pad-top), env(safe-area-inset-top, 0px)) var(--gsim-pad-right) var(--gsim-header-gap) var(--gsim-pad-left);
}
.gsim .gsim-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.gsim[data-gsim] .gsim-toolbar button {
	display: inline-flex; align-items: center; justify-content: center; gap: 7px;
	min-height: 44px; min-width: 44px; padding: 8px 0; border: 0; border-radius: 4px;
	background: transparent; color: var(--gsim-text); font-size: 13px; line-height: 1.4;
}
.gsim .gsim-close { margin-left: auto !important; }
.gsim .gsim-heading {
	margin: 14px 0 0; padding: 0; color: var(--gsim-text); font-family: inherit;
	font-size: 22px; font-weight: 600; line-height: 1.4; letter-spacing: -.35px; overflow-wrap: anywhere;
}
.gsim .gsim-scroll {
	min-height: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch; padding: 0 var(--gsim-pad-right) 14px var(--gsim-pad-left);
	scrollbar-width: thin;
}
.gsim .gsim-list { display: grid; gap: var(--gsim-entry-gap); list-style: none; padding: 0; margin: 0; }
.gsim .gsim-list-item { list-style: none; margin: 0; padding: 0; border: 0; }
.gsim.gsim--separators .gsim-list-item:not(.gsim-list-item--accent) + .gsim-list-item:not(.gsim-list-item--accent) { border-top: var(--gsim-divider-width) solid var(--gsim-divider); }
.gsim[data-gsim] .gsim-item {
	display: flex; align-items: center; justify-content: space-between; gap: 18px;
	width: 100%; min-height: max(44px, var(--gsim-entry-min)); padding: 20px 0;
	background: transparent; color: var(--gsim-text); border: 0; border-radius: var(--gsim-entry-radius); text-align: left;
}
.gsim .gsim-item-text { display: block; min-width: 0; }
.gsim .gsim-title { display: block; color: var(--gsim-title); font-family: inherit; font-size: 16px; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.gsim .gsim-description { display: block; margin-top: var(--gsim-description-gap); color: var(--gsim-description); font-family: inherit; font-size: 13px; line-height: 1.65; font-weight: 400; overflow-wrap: anywhere; }
.gsim .gsim-item > .gsim-icon { width: 18px; height: auto; color: var(--gsim-description); }
.gsim:where(.gsim-hover-enabled) .gsim-item:hover { background: var(--gsim-hover-bg); color: var(--gsim-text); }
.gsim .gsim-item.gsim-item--label { cursor: default; }
.gsim:where(.gsim-hover-enabled) .gsim-item.gsim-item--label:hover { background: transparent; }
.gsim .gsim-item.gsim-item--accent { padding: 16px; background: var(--gsim-accent); color: var(--gsim-accent-text); border-radius: var(--gsim-accent-radius); }
.gsim:where(.gsim-hover-enabled) .gsim-item.gsim-item--accent:hover { background: var(--gsim-accent-hover); color: var(--gsim-accent-text); }
.gsim .gsim-item--accent .gsim-title, .gsim .gsim-item--accent .gsim-description, .gsim .gsim-item--accent > .gsim-icon { color: var(--gsim-accent-text); }
.gsim .gsim-service {
	min-width: 0; margin: 0 var(--gsim-pad-right) 0 var(--gsim-pad-left);
	padding: 12px 0 max(var(--gsim-pad-bottom), env(safe-area-inset-bottom, 0px));
	border-top: var(--gsim-divider-width) solid var(--gsim-divider);
}
.gsim .gsim-service > ul { display: flex; flex-wrap: wrap; column-gap: 22px; row-gap: 0; list-style: none; padding: 0; margin: 0; }
.gsim .gsim-service li { list-style: none; margin: 0; padding: 0; }
.gsim .gsim-service li ul { margin: 0; padding-left: 12px; list-style: none; }
.gsim .gsim-service a { border:0; background:transparent; display: inline-flex; align-items: center; min-height: 44px; padding: 8px 0; color: var(--gsim-text); font-family: inherit; font-size: 14px; line-height: 1.5; text-decoration: none; overflow-wrap: anywhere; }
.gsim:where(.gsim-hover-enabled) .gsim-service a:hover { text-decoration: underline; text-underline-offset: 4px; }
.gsim button:focus-visible, .gsim a:focus-visible { outline: 2px solid var(--gsim-focus); outline-offset: -2px; }
.gsim .gsim-visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.gsim .gsim-fallback { font-size: 14px; }
.gsim .gsim-dialog.gsim-fallback-dialog { z-index: 2147483000; background: var(--gsim-overlay); }
.gsim .gsim-dialog.gsim-fallback-dialog::backdrop { background: transparent; }
@media (max-width: 767px) {
	.gsim { --gsim-width: 100%; --gsim-pad-top: 12px; --gsim-pad-right: 22px; --gsim-pad-bottom: 16px; --gsim-pad-left: 22px; }
	.gsim.gsim--hide-trigger-mobile .gsim-trigger-text { display: none; }
}
@media (prefers-reduced-motion: reduce) { .gsim { --gsim-duration: 0ms !important; } }

/* Modern reference design. The bundled font is licensed under SIL OFL 1.1. */
@font-face { font-family: 'GSIM Jakarta'; font-style: normal; font-weight: 400 800; font-display: swap; src: url('../fonts/plus-jakarta-sans-latin.woff2') format('woff2'); }
.gsim.gsim--modern {
 --gsim-width:450px; --gsim-duration:300ms; --gsim-stagger-step:45ms; --gsim-blur:3px; --gsim-edge-gap:20px;
 --gsim-feature-bg:#9d4f12; --gsim-feature-text:#fff; --gsim-circle-opacity:.09;
 --gsim-title:#14171a; --gsim-text:#14171a; --gsim-description:#5a616b; --gsim-divider:#e3e5e0;
 --gsim-header-gap:8px;
 font-family:'GSIM Jakarta',system-ui,sans-serif;
}
.gsim.gsim--modern .gsim-dialog, .gsim.gsim--modern .gsim-dialog.gsim-fallback-dialog { background:transparent; }
.gsim .gsim-shade { position:absolute; inset:0; background:var(--gsim-overlay); backdrop-filter:blur(var(--gsim-blur)); -webkit-backdrop-filter:blur(var(--gsim-blur)); pointer-events:none; }
.gsim.gsim--modern .gsim-panel { position:relative; z-index:1; width:min(var(--gsim-width),calc(100% - var(--gsim-edge-gap))); box-shadow:-12px 0 40px rgba(20,23,26,.18); }
.gsim.gsim--modern .gsim-brand { min-width:0; font-size:19px; font-weight:800; letter-spacing:-.02em; line-height:1.3; overflow-wrap:anywhere; }
.gsim .gsim-brand img { display:block; width:148px; max-width:100%; max-height:44px; object-fit:contain; }
.gsim.gsim--modern .gsim-toolbar { min-height:44px; }
.gsim.gsim--modern .gsim-toolbar button { padding:8px; background:#f4f5f2; border-radius:12px; font-size:14px; font-weight:600; }
.gsim.gsim--modern .gsim-toolbar .gsim-close { border-radius:50px; }
.gsim.gsim--modern .gsim-close span:empty { display:none; }
.gsim.gsim--modern .gsim-heading { font-size:26px; font-weight:800; letter-spacing:-.025em; }
.gsim .gsim-search-button { display:flex; align-items:center; gap:10px; min-height:52px; padding:12px 16px; border:0; border-radius:14px; background:#f4f5f2; color:#5a616b; font-size:14.5px; font-weight:500; line-height:1.5; text-decoration:none; }
.gsim .gsim-search-button span { flex:1; min-width:0; overflow-wrap:anywhere; }
.gsim .gsim-search-button > .gsim-icon { width:21px; height:21px; }
.gsim .gsim-search-button > .gsim-icon:last-child { width:17px; height:17px; }
.gsim .gsim-feature { position:relative; display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:44px; margin:14px 0 10px; padding:20px; border:0; border-radius:20px; background:var(--gsim-feature-bg); color:var(--gsim-feature-text); overflow:hidden; text-decoration:none; }
.gsim:where(.gsim-hover-enabled) .gsim-feature:hover { color:var(--gsim-feature-text); }
.gsim .gsim-feature--image { min-height:170px; color:var(--gsim-image-text,#fff); }
.gsim:where(.gsim-hover-enabled) .gsim-feature--image:hover { color:var(--gsim-image-text,#fff); }
.gsim .gsim-feature-image,.gsim .gsim-feature-image-overlay { position:absolute; inset:0; display:block; width:100%; height:100%; pointer-events:none; }
.gsim .gsim-feature-image { max-width:none; object-fit:cover; object-position:center center; border:0; margin:0; padding:0; }
.gsim .gsim-feature-image-overlay { background:#000; opacity:.65; }
.gsim .gsim-feature--decor::before,.gsim .gsim-feature--decor::after { content:''; position:absolute; border-radius:50%; background:var(--gsim-feature-text); pointer-events:none; }
.gsim .gsim-feature--decor::before { right:-40px; bottom:-64px; width:170px; height:170px; opacity:var(--gsim-circle-opacity); }
.gsim .gsim-feature--decor::after { right:18px; bottom:-78px; width:120px; height:120px; opacity:calc(var(--gsim-circle-opacity) * .78); }
.gsim .gsim-feature-copy { position:relative; z-index:1; display:flex; flex-direction:column; gap:6px; min-width:0; }
.gsim .gsim-feature-kicker { color:inherit; font-size:11.5px; font-weight:700; letter-spacing:.07em; line-height:1.5; text-transform:uppercase; }
.gsim .gsim-feature-title { color:inherit; font-size:21px; font-weight:800; letter-spacing:-.015em; line-height:1.25; overflow-wrap:anywhere; }
.gsim .gsim-feature-description { color:inherit; font-size:13px; font-weight:400; line-height:1.55; overflow-wrap:anywhere; }
.gsim .gsim-feature-arrow { position:relative; z-index:1; flex-shrink:0; display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; background:#fff; color:var(--gsim-feature-bg); }
.gsim .gsim-feature-arrow .gsim-icon { width:22px; height:22px; }
.gsim.gsim--modern .gsim-title { font-size:21px; font-weight:700; letter-spacing:-.015em; line-height:1.45; }
.gsim.gsim--modern .gsim-description { margin-top:3px; font-size:13.5px; line-height:1.55; }
.gsim.gsim--modern .gsim-item { min-height:60px; padding:12px 0; }
.gsim.gsim--modern .gsim-item--accent { padding:16px 18px; }
.gsim.gsim--modern .gsim-item > .gsim-icon { width:21px; }
.gsim .gsim-newsletter { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:20px; padding:14px; border-radius:16px; background:#f4f5f2; }
.gsim .gsim-newsletter-copy { min-width:0; display:flex; flex-direction:column; gap:3px; }
.gsim .gsim-newsletter-title { color:#14171a; font-size:14px; font-weight:700; line-height:1.4; overflow-wrap:anywhere; }
.gsim .gsim-newsletter-description { color:#5a616b; font-size:12.5px; font-weight:400; line-height:1.5; overflow-wrap:anywhere; }
.gsim .gsim-newsletter-button { border:0; flex-shrink:0; display:flex; align-items:center; justify-content:center; min-height:44px; max-width:50%; padding:8px 12px; border-radius:24px; background:#fff0d7; color:#7a3d0e; font-size:12.5px; font-weight:700; line-height:1.45; text-decoration:none; overflow-wrap:anywhere; }
.gsim .gsim-footer { min-width:0; border-top:1px solid var(--gsim-divider); background:var(--gsim-bg); }
.gsim .gsim-about-link { border:0; background:transparent; display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; margin:0 var(--gsim-pad-right) 0 var(--gsim-pad-left); padding:8px 0; color:#5a616b; font-size:13px; font-weight:500; line-height:1.5; text-decoration:none; overflow-wrap:anywhere; }
.gsim .gsim-about-link>.gsim-icon { width:16px; height:16px; }
.gsim:where(.gsim-hover-enabled) .gsim-about-link:hover { text-decoration:underline; text-underline-offset:3px; }
.gsim .gsim-footer--about-only { padding-bottom:max(12px,env(safe-area-inset-bottom,0px)); }
.gsim .gsim-account-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; min-width:0; padding:12px var(--gsim-pad-right) max(16px,env(safe-area-inset-bottom,0px)) var(--gsim-pad-left); border-top:1px solid var(--gsim-divider); background:var(--gsim-bg); }
.gsim .gsim-footer .gsim-account-nav { border-top:0; padding-top:6px; }
.gsim .gsim-account-button { display:flex; align-items:center; justify-content:center; gap:6px; min-width:0; min-height:52px; padding:8px; border:0; border-radius:14px; background:#f4f5f2; color:#14171a; font-size:14px; font-weight:600; line-height:1.4; text-decoration:none; }
.gsim .gsim-account-label { min-width:0; overflow-wrap:anywhere; }
.gsim .gsim-account-button > .gsim-icon { width:20px; height:20px; }
.gsim:where(.gsim-hover-enabled) .gsim-account-button:hover { color:inherit; }
.gsim .gsim-count { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; min-width:24px; min-height:24px; padding:2px 6px; border-radius:20px; background:var(--gsim-feature-bg); color:#fff; font-size:12px; font-weight:700; line-height:1.3; font-variant-numeric:tabular-nums; }
.gsim .gsim-fallback .gsim-account-nav { margin-top:16px; }
@media(max-width:767px) { .gsim.gsim--modern { --gsim-width:346px; } }
@media(max-width:359px) {
 .gsim.gsim--modern .gsim-account-nav { padding-left:16px; padding-right:16px; gap:8px; }
 .gsim.gsim--modern .gsim-account-button { gap:5px; padding:6px; font-size:12.5px; }
 .gsim.gsim--modern .gsim-account-button > .gsim-icon { width:18px; height:18px; }
 .gsim.gsim--modern .gsim-count { min-width:20px; min-height:22px; padding:2px 4px; font-size:11px; }
}
.gsim .gsim-feature:focus-visible { outline:3px solid var(--gsim-feature-text); outline-offset:-4px; }
.gsim .gsim-item--accent:focus-visible { outline-color:var(--gsim-accent-text); }

/* Accent actions are separate cards, with no adjoining list divider. */
.gsim .gsim-list-item--accent { padding-block:var(--gsim-accent-space,8px); }
/* Keep theme focus/hover shadows from looking like a retained hover state. */
.gsim :is(.gsim-search-button,.gsim-feature,.gsim-newsletter-button,.gsim-account-button,.gsim-about-link,.gsim-service a) { box-shadow:none; filter:none; }
