/* EthioSearch Digital Directory Flipbook v1.4 */
.ethiosearch-flipbook{
  --es-red:#ed1c24;
  --es-red-dark:#c9141b;
  --es-ink:#171717;
  --es-muted:#6f6f6f;
  --es-paper:#fffdf9;
  --es-paper-edge:#e8dfd2;
  --es-bg:#e9e5df;
  --es-line:#ded7ce;
  max-width:1240px;
  margin:28px auto;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--es-ink);
}
.esfb-toolbar{
  height:54px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;
  padding:0 20px;background:#fff;border:1px solid #dcdcdc;border-bottom:0;border-radius:8px 8px 0 0;
}
.esfb-brand{font-size:14px;font-weight:900;letter-spacing:.11em;display:flex;align-items:center;gap:9px;}
.esfb-brand-dot{width:10px;height:10px;border-radius:50%;background:var(--es-red);display:inline-block;}
.esfb-page-status{font-size:12px;color:#666;}
.esfb-stage{
  position:relative;display:flex;align-items:center;justify-content:center;
  min-height:690px;padding:25px 70px;
  background:
    radial-gradient(circle at 50% 45%,rgba(255,255,255,.9),rgba(255,255,255,0) 42%),
    linear-gradient(135deg,#eeeae4,#ded9d1);
  overflow:hidden;
}
.esfb-book{
  position:relative;width:min(100%,1060px);height:650px;
  perspective:2400px;transform-style:preserve-3d;
}
.esfb-spread{
  position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;
  border-radius:3px;overflow:hidden;
}
.esfb-current-spread{z-index:3;}
.esfb-next-spread{z-index:1;}
.esfb-page{
  position:relative;min-width:0;min-height:650px;overflow:hidden;
  background:
    linear-gradient(90deg,rgba(0,0,0,.035),transparent 8%,transparent 92%,rgba(0,0,0,.025)),
    repeating-linear-gradient(0deg,rgba(80,60,40,.018) 0,rgba(80,60,40,.018) 1px,transparent 1px,transparent 4px),
    var(--es-paper);
  box-shadow:inset 0 0 0 1px rgba(60,45,30,.08);
}
.esfb-page-left{border-radius:3px 0 0 3px;}
.esfb-page-right{border-radius:0 3px 3px 0;}
.esfb-page-left:after,.esfb-page-right:after{
  content:"";position:absolute;top:0;bottom:0;width:1px;background:rgba(0,0,0,.07);pointer-events:none;
}
.esfb-page-left:after{right:0}.esfb-page-right:after{left:0}
.esfb-current-spread:after{
  content:"";position:absolute;z-index:8;left:50%;top:0;bottom:0;width:26px;transform:translateX(-50%);
  background:linear-gradient(90deg,rgba(0,0,0,.02),rgba(0,0,0,.16),rgba(255,255,255,.28),rgba(0,0,0,.04));
  pointer-events:none;opacity:.55;
}
.esfb-turn-sheet{
  position:absolute;z-index:20;inset:0;width:50%;height:100%;
  left:50%;transform-style:preserve-3d;transform-origin:left center;
  display:none;pointer-events:none;
}
.esfb-turn-front,.esfb-turn-back{
  position:absolute;inset:0;backface-visibility:hidden;overflow:hidden;
  background:var(--es-paper);
  box-shadow:0 0 28px rgba(0,0,0,.15);
}
.esfb-turn-front{transform:rotateY(0deg);}
.esfb-turn-back{transform:rotateY(180deg);}
.esfb-turn-forward{display:block;animation:esfbPageForward .7s cubic-bezier(.2,.72,.2,1) forwards;}
.esfb-turn-backward{
  display:block;left:0;transform-origin:right center;animation:esfbPageBackward .7s cubic-bezier(.2,.72,.2,1) forwards;
}
.esfb-turn-backward .esfb-turn-back{transform:rotateY(-180deg);}
@keyframes esfbPageForward{
  0%{transform:rotateY(0);box-shadow:0 0 0 rgba(0,0,0,0)}
  48%{box-shadow:18px 0 30px rgba(0,0,0,.22)}
  100%{transform:rotateY(-180deg);box-shadow:0 0 0 rgba(0,0,0,0)}
}
@keyframes esfbPageBackward{
  0%{transform:rotateY(0);box-shadow:0 0 0 rgba(0,0,0,0)}
  48%{box-shadow:-18px 0 30px rgba(0,0,0,.22)}
  100%{transform:rotateY(180deg);box-shadow:0 0 0 rgba(0,0,0,0)}
}
.esfb-page-inner{height:100%;box-sizing:border-box;display:flex;flex-direction:column;}
.esfb-cover{padding:54px 58px 45px;justify-content:center;background:linear-gradient(145deg,#fffdf9 0%,#faf3ea 100%);}
.esfb-cover-brand{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:900;letter-spacing:.13em;color:var(--es-red);}
.esfb-mark{font-size:20px;line-height:1;}
.esfb-cover-rule{height:5px;width:72px;background:var(--es-red);margin:25px 0 34px;}
.esfb-cover-kicker,.esfb-section-label{font-size:10px;font-weight:900;letter-spacing:.15em;color:var(--es-red);text-transform:uppercase;}
.esfb-cover h1{font-size:47px;line-height:1.02;letter-spacing:-.04em;margin:13px 0 18px;}
.esfb-cover p{font-size:17px;line-height:1.5;color:#454545;max-width:430px;margin:0;}
.esfb-cover-bottom{display:flex;gap:35px;margin-top:auto;padding-top:45px;font-size:9px;font-weight:900;letter-spacing:.13em;color:#777;}
.esfb-intro{padding:52px 58px 44px;}
.esfb-intro h2{font-size:30px;line-height:1.15;max-width:470px;margin:13px 0 20px;letter-spacing:-.02em;}
.esfb-intro p{font-size:14px;line-height:1.75;color:#4b4b4b;max-width:490px;}
.esfb-intro-grid{display:grid;grid-template-columns:1fr;gap:14px;margin:22px 0 28px;max-width:480px;}
.esfb-intro-grid div{border-top:1px solid var(--es-line);padding-top:12px;display:grid;grid-template-columns:100px 1fr;gap:10px;}
.esfb-intro-grid strong{font-size:10px;color:var(--es-red);letter-spacing:.1em;}
.esfb-intro-grid span{font-size:12px;color:#555;line-height:1.45;}
.esfb-listing{padding:0;}
.esfb-listing-top{height:50%;min-height:0;border-bottom:1px solid var(--es-line);overflow:hidden;}
.esfb-listing-photo{height:100%;width:100%;overflow:hidden;background:#eee;}
.esfb-listing-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.esfb-listing-photo-placeholder{height:100%;display:flex;align-items:center;justify-content:center;background:#f0ece6;color:#aaa;font-weight:900;letter-spacing:.12em;font-size:12px;}
.esfb-listing-info{height:50%;min-height:0;display:flex;flex-direction:column;padding:18px 30px 12px;box-sizing:border-box;overflow:hidden;}
.esfb-listing-summary{padding:0 0 10px;display:flex;flex-direction:column;justify-content:center;min-height:0;}
.esfb-listing-kicker{font-size:9px;font-weight:900;letter-spacing:.14em;color:var(--es-red);margin-bottom:9px;}
.esfb-listing h2{font-size:27px;line-height:1.08;letter-spacing:-.02em;margin:0 0 8px;}
.esfb-tagline{font-size:13px;line-height:1.45;color:#666;margin-bottom:11px;}
.esfb-rating{font-size:12px;margin:2px 0 11px;}
.esfb-stars{letter-spacing:2px;color:var(--es-red);font-size:13px;}
.esfb-reviews{color:#777;font-size:11px;}
.esfb-category-line{display:flex;flex-wrap:wrap;gap:5px;margin-top:3px;}
.esfb-tag{font-size:9px;padding:5px 7px;border-radius:2px;background:#fae4e5;color:#ad1118;font-weight:800;}
.esfb-listing-body{padding:22px 30px 19px;display:grid;grid-template-columns:1.35fr .65fr;gap:25px;flex:1;}
.esfb-listing-contact{border-left:1px solid var(--es-line);padding-left:21px;font-size:11px;}
.esfb-listing-body-contact-only{display:block;grid-template-columns:none;}
.esfb-listing-body-contact-only .esfb-listing-contact-full{width:100%;box-sizing:border-box;}
.esfb-contact-item{display:flex;gap:9px;align-items:flex-start;margin:10px 0;color:#4b4b4b;line-height:1.45;}
.esfb-contact-icon{color:var(--es-red);font-weight:900;width:14px;flex:0 0 14px;}
.esfb-contact-item a{color:#222;text-decoration:none;word-break:break-word;}
.esfb-listing-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 30px;border-top:1px solid var(--es-line);background:#faf6f0;}
.esfb-gallery-strip{display:flex;gap:5px;overflow:hidden;}
.esfb-gallery-thumb{width:42px;height:32px;object-fit:cover;border-radius:2px;}
.esfb-view{margin-top:18px;align-self:flex-start;text-decoration:none!important;background:var(--es-red);color:#fff!important;padding:9px 13px;border-radius:2px;font-size:9px;font-weight:900;letter-spacing:.06em;}
.esfb-listing-bottom .esfb-view{margin:0;}
.esfb-page-number{margin-top:auto;padding:10px 30px 12px;font-size:8px;color:#999;text-align:right;}

/* v3.6.8 listing layout: dedicate the upper half of each page to the featured image
   and the lower half to business identity, category and contact information. */
.esfb-listing .esfb-listing-top{height:50%;min-height:0;display:block;overflow:hidden;border-bottom:1px solid var(--es-line);}
.esfb-listing .esfb-listing-photo{width:100%;height:100%;}
.esfb-listing .esfb-listing-photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
.esfb-listing .esfb-listing-info{height:50%;min-height:0;display:flex;flex-direction:column;padding:18px 30px 12px;box-sizing:border-box;overflow:hidden;}
.esfb-listing .esfb-listing-summary{padding:0 0 8px;min-height:0;}
.esfb-listing .esfb-listing-kicker{margin-bottom:6px;}
.esfb-listing .esfb-listing h2{margin-bottom:6px;}
.esfb-listing .esfb-tagline{margin-bottom:7px;}
.esfb-listing .esfb-rating{margin:1px 0 7px;}
.esfb-listing .esfb-category-line{margin-top:2px;}
.esfb-listing .esfb-listing-contact-full{border-left:0;border-top:1px solid var(--es-line);padding:8px 0 0;font-size:10px;min-height:0;overflow:visible;flex:1 1 auto;}
.esfb-listing .esfb-listing-contact-full .esfb-contact-item{margin:4px 0;line-height:1.3;}.esfb-listing .esfb-contact-address span:last-child{overflow-wrap:anywhere;word-break:break-word;}
.esfb-listing .esfb-listing-actions{margin-top:auto;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-top:6px;border-top:1px solid var(--es-line);flex:0 0 auto;}
.esfb-listing .esfb-listing-actions .esfb-view{margin:0;white-space:nowrap;font-size:8px;padding:5px 8px;}

.esfb-nav{
  border:0;background:#fff;color:#4c4c4c;width:43px;height:62px;border-radius:8px;
  box-shadow:0 5px 18px rgba(0,0,0,.13);font-size:38px;line-height:1;cursor:pointer;z-index:30;
  position:absolute;top:50%;transform:translateY(-50%);
}
.esfb-nav:hover{color:var(--es-red);}
.esfb-prev{left:16px}.esfb-next{right:16px}.esfb-nav:disabled{opacity:.32;cursor:not-allowed;}
.esfb-controls{
  display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;
  padding:12px 10px;background:#fff;border:1px solid #dcdcdc;border-top:0;
}
.esfb-control{border:1px solid #d5d0c9;background:#fff;border-radius:3px;padding:8px 12px;cursor:pointer;font-size:11px;color:#555;}
.esfb-control:hover:not(:disabled){border-color:var(--es-red);color:var(--es-red);}
.esfb-hint{font-size:11px;color:#777;margin:0 9px;}
.esfb-footer{text-align:center;padding:13px;background:#fff;border:1px solid #dcdcdc;border-top:0;border-radius:0 0 8px 8px;}
.esfb-footer a{color:var(--es-red);font-size:11px;font-weight:800;text-decoration:none;}
.esfb-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(255,253,249,.94);z-index:40;font-size:13px;font-weight:700;color:#555;}
.esfb-error{text-align:center;padding:50px;color:#a00;}
.esfb-blank{background:var(--es-paper);}
@media(max-width:820px){
  .esfb-stage{padding:15px 9px;min-height:600px;}
  .esfb-book{height:560px;}
  .esfb-spread{grid-template-columns:1fr;}
  .esfb-page-left{display:none;}
  .esfb-page-right{display:block;border-radius:4px;}
  .esfb-page-right:after{left:auto;right:0;}
  .esfb-current-spread:after{display:none;}
  .esfb-turn-sheet{width:100%;left:0;}
  .esfb-listing-top{height:50%;min-height:0;}
  .esfb-listing-photo{height:100%;}
  .esfb-listing-info{height:50%;padding:15px 20px 10px;}
  .esfb-listing-summary{padding:0 0 8px;}
  .esfb-listing h2{font-size:22px;}
  .esfb-listing-body{grid-template-columns:1fr;padding:18px 20px;gap:13px;}
  .esfb-listing-contact{border-left:0;border-top:1px solid var(--es-line);padding:14px 0 0;}
  .esfb-listing-bottom{padding:10px 20px;}
  .esfb-intro,.esfb-cover{padding:35px 28px;}
  .esfb-cover h1{font-size:37px;}
  .esfb-nav{width:36px;height:54px;font-size:31px;}
  .esfb-prev{left:3px}.esfb-next{right:3px;}
  .esfb-hint{width:100%;text-align:center;order:5;}
}
@media(max-width:540px){
  .esfb-toolbar{padding:0 13px;}
  .esfb-brand{font-size:11px;}
  .esfb-stage{min-height:520px;}
  .esfb-book{height:480px;}
  .esfb-listing-top{height:50%;min-height:0;}
  .esfb-listing-photo{height:100%;}
  .esfb-listing-info{height:50%;padding:12px 18px 8px;}
  .esfb-listing-summary{padding:0 0 7px;}
  .esfb-listing h2{font-size:20px;}
  .esfb-listing .esfb-listing-contact-full{padding-top:7px;}
  .esfb-listing .esfb-listing-contact-full .esfb-contact-item{margin:4px 0;}
  .esfb-cover h1{font-size:31px;}
}
@media(prefers-reduced-motion:reduce){
  .esfb-turn-forward,.esfb-turn-backward{animation:none;}
}

/* v1.5 reliable page-turn engine: the destination spread is placed under the
   current spread, then the visible sheet rotates in 3D. */
.ethiosearch-flipbook .esfb-next-spread{z-index:1;visibility:hidden;opacity:1;}
.ethiosearch-flipbook .esfb-next-spread.esfb-prepared{visibility:visible;}
.ethiosearch-flipbook .esfb-current-spread{z-index:5;transform-style:preserve-3d;transform-origin:center center;transition:none;}
.ethiosearch-flipbook .esfb-current-spread .esfb-page{backface-visibility:hidden;}
.ethiosearch-flipbook .esfb-current-spread.esfb-flip-forward{animation:esfbSpreadForward .72s cubic-bezier(.2,.72,.2,1) forwards;}
.ethiosearch-flipbook .esfb-current-spread.esfb-flip-backward{animation:esfbSpreadBackward .72s cubic-bezier(.2,.72,.2,1) forwards;}
@keyframes esfbSpreadForward{
  0%{transform:rotateY(0deg);opacity:1;filter:none;}
  42%{transform:rotateY(-62deg);opacity:1;filter:drop-shadow(18px 0 18px rgba(0,0,0,.18));}
  100%{transform:rotateY(-180deg);opacity:0;filter:none;}
}
@keyframes esfbSpreadBackward{
  0%{transform:rotateY(0deg);opacity:1;filter:none;}
  42%{transform:rotateY(62deg);opacity:1;filter:drop-shadow(-18px 0 18px rgba(0,0,0,.18));}
  100%{transform:rotateY(180deg);opacity:0;filter:none;}
}
/* Hide the unused legacy turn-sheet so it cannot cover the book or intercept
   the visual transition. */
.ethiosearch-flipbook .esfb-turn-sheet{display:none!important;}
.ethiosearch-flipbook .esfb-loading{pointer-events:none;}
@media(max-width:820px){
  .ethiosearch-flipbook .esfb-current-spread.esfb-flip-forward{animation:esfbMobileForward .72s cubic-bezier(.2,.72,.2,1) forwards;}
  .ethiosearch-flipbook .esfb-current-spread.esfb-flip-backward{animation:esfbMobileBackward .72s cubic-bezier(.2,.72,.2,1) forwards;}
}
@keyframes esfbMobileForward{
  0%{transform:rotateY(0);opacity:1;}
  45%{transform:rotateY(-70deg);opacity:1;}
  100%{transform:rotateY(-180deg);opacity:0;}
}
@keyframes esfbMobileBackward{
  0%{transform:rotateY(0);opacity:1;}
  45%{transform:rotateY(70deg);opacity:1;}
  100%{transform:rotateY(180deg);opacity:0;}
}
@media(prefers-reduced-motion:reduce){
  .ethiosearch-flipbook .esfb-current-spread.esfb-flip-forward,
  .ethiosearch-flipbook .esfb-current-spread.esfb-flip-backward{animation:none;opacity:0;}
}
/* Featured ListingPro businesses are intentionally presented first. */
.esfb-featured-badge{display:inline-flex;align-items:center;gap:5px;background:#ed1c24;color:#fff;padding:5px 9px;border-radius:2px;font-size:9px;letter-spacing:.12em;font-weight:800;box-shadow:0 2px 5px rgba(0,0,0,.12);}
.esfb-listing.is-featured{border-top:4px solid #ed1c24;}

/* v2.3 — Yellow Pages / editorial index design */
.esfb-index-page{
  padding:24px 28px 16px!important;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 8%,rgba(232,194,43,.08),transparent 22%),
    radial-gradient(circle at 88% 20%,rgba(232,194,43,.07),transparent 25%),
    repeating-linear-gradient(0deg,rgba(92,68,25,.018) 0,rgba(92,68,25,.018) 1px,transparent 1px,transparent 4px),
    #fffdf3;
}
.esfb-index-masthead{
  height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  border-bottom:1px solid rgba(154,112,0,.18);
  margin-bottom:10px;
}
.esfb-index-logo{width:205px;max-height:45px;object-fit:contain;object-position:left center;}
.esfb-index-masthead-note{
  font-family:cursive;
  font-style:italic;
  font-size:13px;
  line-height:1.05;
  color:#1e1e1e;
  text-align:right;
}
.esfb-index-titlebar{
  background:linear-gradient(90deg,#f5ce32,#ffd94e);
  border-radius:5px;
  padding:8px 14px 9px;
  box-shadow:inset 0 -1px 0 rgba(134,91,0,.14);
  margin-bottom:8px;
}
.esfb-index-titlebar h2{
  font-family:Georgia,"Times New Roman",serif;
  font-size:27px;
  line-height:1;
  margin:0 0 4px;
  color:#17120a;
}
.esfb-index-titlebar p{
  font-family:Georgia,"Times New Roman",serif;
  font-size:10px;
  line-height:1.25;
  margin:0;
  color:#251d0c;
}
.esfb-index-meta{
  display:flex;
  justify-content:space-between;
  font-size:7px;
  font-weight:900;
  letter-spacing:.13em;
  color:#777;
  margin:7px 2px 7px;
}
.esfb-business-index-columns{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px 17px;
  align-content:start;
}
.esfb-index-group{min-width:0;break-inside:avoid;}
.esfb-index-letter{
  background:linear-gradient(90deg,#f2ca2e,#f8d84d);
  color:#18130b;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:900;
  font-size:13px;
  line-height:1;
  padding:3px 6px;
  margin:0 0 3px;
  border-radius:1px;
}
.esfb-index-link{
  display:flex;
  align-items:center;
  min-width:0;
  gap:4px;
  color:#24201a;
  text-decoration:none;
  font-family:Georgia,"Times New Roman",serif;
  font-size:8.5px;
  line-height:1.18;
  padding:2px 1px;
}
.esfb-index-link:hover{color:#d71920;}
.esfb-index-name{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.esfb-index-dots{
  flex:1 1 auto;
  min-width:8px;
  border-bottom:1px dotted #8c806c;
  transform:translateY(-1px);
}
.esfb-index-page-ref{
  flex:0 0 auto;
  font-size:8px;
  color:#312d27;
  font-variant-numeric:tabular-nums;
}
.esfb-index-star{
  flex:0 0 auto;
  color:#ed1c24;
  font-size:8px;
}
.esfb-index-footer{
  margin-top:auto;
  padding-top:7px;
  display:flex;
  align-items:baseline;
  gap:8px;
  font-family:cursive;
  font-style:italic;
  color:#2b2b2b;
}
.esfb-index-footer span{font-size:14px;}
.esfb-index-footer small{
  font-family:Arial,sans-serif;
  font-style:normal;
  font-size:6.5px;
  letter-spacing:.14em;
  color:#777;
}
.esfb-category-index{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 23px;
  margin-top:3px;
  flex:0 0 auto;
}
.esfb-category-index-col{min-width:0;}
.esfb-category-row{
  display:flex;
  align-items:center;
  gap:7px;
  color:#222;
  text-decoration:none;
  padding:5px 1px;
  border-bottom:1px dotted rgba(92,68,25,.22);
  font-family:Georgia,"Times New Roman",serif;
  font-size:10px;
  line-height:1.12;
}
.esfb-category-row:hover{color:#d71920;}
.esfb-category-icon{
  width:17px;
  flex:0 0 17px;
  text-align:center;
  font-family:Arial,sans-serif;
  font-size:13px;
  filter:grayscale(1);
}
.esfb-category-name{
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.esfb-category-row .esfb-index-dots{margin-left:1px;}
.esfb-category-row strong{
  flex:0 0 auto;
  min-width:27px;
  text-align:right;
  background:none;
  color:#222;
  border-radius:0;
  padding:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:9px;
  font-weight:400;
}
.esfb-index-callout{
  margin-top:11px;
  padding:9px 12px;
  background:linear-gradient(90deg,#fff0b0,#fff6d3);
  border:1px solid rgba(188,145,19,.2);
  border-radius:5px;
  display:flex;
  align-items:center;
  gap:20px;
}
.esfb-index-callout strong{
  font-family:cursive;
  font-style:italic;
  font-size:16px;
  line-height:1;
  white-space:nowrap;
}
.esfb-index-callout span{
  font-family:Georgia,"Times New Roman",serif;
  font-size:8.5px;
  line-height:1.35;
  color:#4b4332;
}
.esfb-business-index-page .esfb-page-number,
.esfb-category-index-page .esfb-page-number{
  padding:5px 0 0;
}
@media(max-width:820px){
  .esfb-index-page{padding:20px 20px 14px!important;}
  .esfb-index-masthead{height:48px;}
  .esfb-index-logo{width:175px;max-height:38px;}
  .esfb-index-masthead-note{font-size:10px;}
  .esfb-business-index-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px;}
  .esfb-index-link{font-size:8px;}
  .esfb-category-row{font-size:9px;}
}
@media(max-width:540px){
  .esfb-index-page{padding:17px 17px 12px!important;}
  .esfb-index-masthead-note{display:none;}
  .esfb-business-index-columns{grid-template-columns:1fr 1fr;gap:7px 10px;}
  .esfb-index-titlebar h2{font-size:23px;}
  .esfb-index-titlebar p{font-size:8.5px;}
  .esfb-index-link{font-size:7.5px;}
  .esfb-index-meta{font-size:6px;}
  .esfb-category-index{grid-template-columns:1fr;}
  .esfb-category-row{font-size:8.5px;padding:4px 0;}
  .esfb-index-callout{display:none;}
}

/* v2.2 — realistic yellow-pages binding / book frame */
.ethiosearch-flipbook{
  --es-yellow:#e7bd16;
  --es-yellow-deep:#b88700;
  --es-gold:#f3d24a;
  --es-cover:#f2c915;
  background:#e6e2db;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 18px 50px rgba(0,0,0,.14);
}
.esfb-toolbar{
  min-height:62px;height:auto;padding:7px 18px;
  border:0;border-bottom:1px solid #d5d0c8;border-radius:0;
  background:linear-gradient(#fff,#f7f6f3);
}
.esfb-brand{gap:0;letter-spacing:0;}
.esfb-brand-logo{display:block;width:185px;height:auto;max-height:42px;object-fit:contain;object-position:left center;}
.esfb-toolbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.esfb-tool{border:0;background:transparent;color:#222;padding:8px 7px;font-size:12px;cursor:pointer;display:flex;align-items:center;gap:6px;border-radius:4px;}
.esfb-tool:hover{background:#f1eee8;color:var(--es-red);}
.esfb-tool span{font-size:11px;}
.esfb-page-status{padding-left:7px;white-space:nowrap;}
.esfb-stage{
  min-height:690px;padding:34px 72px;
  background:
    radial-gradient(circle at 50% 45%,rgba(255,255,255,.72),rgba(255,255,255,0) 45%),
    linear-gradient(135deg,#efede9 0%,#d8d3ca 100%);
}
.esfb-book{
  width:min(100%,1120px);height:650px;
  position:relative;
  border:7px solid var(--es-yellow-deep);
  border-radius:11px;
  background:
    linear-gradient(90deg,#bd8b00 0,#e9bf18 3%,#f7d73d 7%,#d2a000 8%,#f0c61c 12%,#e9bd10 88%,#d1a000 92%,#f7d73d 96%,#d19a00 100%);
  box-shadow:
    0 4px 0 #8c6500,
    0 9px 18px rgba(0,0,0,.22),
    inset 0 0 0 2px rgba(255,255,255,.32),
    inset 12px 0 18px rgba(88,62,0,.18),
    inset -12px 0 18px rgba(88,62,0,.18);
}
.esfb-book:before,.esfb-book:after{
  content:"";position:absolute;z-index:0;pointer-events:none;
}
/* stacked yellow page edges */
.esfb-book:before{
  left:7px;right:7px;top:8px;bottom:8px;border-radius:7px;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.42) 0,rgba(255,255,255,.42) 1px,rgba(171,125,0,.16) 1px,rgba(171,125,0,.16) 3px);
  opacity:.55;
}
/* binding/spine shadow */
.esfb-book:after{
  left:50%;top:6px;bottom:6px;width:28px;transform:translateX(-50%);
  background:linear-gradient(90deg,rgba(83,57,0,.22),rgba(255,255,255,.16) 18%,rgba(65,44,0,.32) 50%,rgba(255,255,255,.18) 78%,rgba(83,57,0,.18));
  border-radius:50%;filter:blur(1px);z-index:9;
}
.esfb-spread{inset:9px 14px 9px 14px;z-index:2;border-radius:2px;}
.esfb-current-spread{z-index:4;}
.esfb-next-spread{z-index:1;}
.esfb-page{
  min-height:0;
  background:
    radial-gradient(circle at 25% 20%,rgba(255,255,255,.65),transparent 28%),
    repeating-linear-gradient(0deg,rgba(89,67,35,.025) 0,rgba(89,67,35,.025) 1px,transparent 1px,transparent 4px),
    linear-gradient(90deg,rgba(120,83,25,.055),transparent 8%,transparent 92%,rgba(120,83,25,.045)),
    #fffdf4;
  box-shadow:inset 0 0 0 1px rgba(104,73,15,.14),inset 0 0 22px rgba(111,76,13,.08);
}
.esfb-page-left{border-radius:2px 0 0 2px;box-shadow:inset -8px 0 14px rgba(74,52,15,.07),inset 0 0 0 1px rgba(104,73,15,.14);}
.esfb-page-right{border-radius:0 2px 2px 0;box-shadow:inset 8px 0 14px rgba(74,52,15,.07),inset 0 0 0 1px rgba(104,73,15,.14);}
.esfb-current-spread:after{width:22px;z-index:10;opacity:.72;}
.esfb-cover{
  padding:54px 58px 45px;
  background:
    radial-gradient(circle at 80% 25%,rgba(242,201,21,.22),transparent 24%),
    linear-gradient(145deg,#fffdf6 0%,#fbf1d7 60%,#f2d66c 150%);
  position:relative;overflow:hidden;
}
.esfb-cover:after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:100px;opacity:.23;
  background:linear-gradient(transparent 0 30%,#c5a32e 30% 31%,transparent 31%),linear-gradient(90deg,transparent 0 8%,#c5a32e 8% 11%,transparent 11% 17%,#c5a32e 17% 20%,transparent 20% 30%,#c5a32e 30% 34%,transparent 34% 45%,#c5a32e 45% 49%,transparent 49% 57%,#c5a32e 57% 61%,transparent 61% 70%,#c5a32e 70% 75%,transparent 75% 84%,#c5a32e 84% 90%,transparent 90%);
  clip-path:polygon(0 70%,8% 62%,15% 70%,22% 52%,30% 68%,38% 45%,48% 66%,57% 40%,66% 68%,75% 48%,84% 67%,93% 55%,100% 66%,100% 100%,0 100%);
  pointer-events:none;
}
.esfb-cover-top{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2;}
.esfb-cover-logo{width:min(310px,68%);height:auto;display:block;}
.esfb-cover-edition{font-size:9px;font-weight:900;letter-spacing:.14em;color:#5f4b13;}
.esfb-cover-rule{height:6px;width:78px;background:var(--es-red);margin:24px 0 34px;position:relative;z-index:2;}
.esfb-cover-kicker{position:relative;z-index:2;}
.esfb-cover h1{font-family:Georgia,'Times New Roman',serif;font-size:48px;line-height:1.01;letter-spacing:-.04em;position:relative;z-index:2;}
.esfb-cover p{position:relative;z-index:2;font-size:17px;}
.esfb-cover-message{position:relative;z-index:2;margin-top:35px;font-family:Georgia,'Times New Roman',serif;font-size:22px;font-weight:700;line-height:1.25;}
.esfb-cover-message small{display:block;margin-top:8px;font-family:Arial,Helvetica,sans-serif;font-size:11px;font-weight:400;color:#665a3d;max-width:430px;}
.esfb-cover-bottom{position:relative;z-index:2;}
.esfb-index-page{background:linear-gradient(145deg,#fffdf6,#f8efd8);}
.esfb-section-label{color:var(--es-red);}
.esfb-index-page h2,.esfb-intro h2{font-family:Georgia,'Times New Roman',serif;}
.esfb-index-letter{background:linear-gradient(90deg,#f1ca25,#f7df6a);color:#3d320f;border-bottom:1px solid #d2aa16;}
.esfb-category-row{border-bottom-color:#d9cfae;}
.esfb-listing.is-featured .esfb-listing-summary{background:linear-gradient(90deg,rgba(242,201,21,.14),transparent);}
.esfb-featured-badge{background:#f1ca25;color:#3a2d00;padding:5px 7px;border-radius:2px;display:inline-block;}
.esfb-footer{border:0;border-top:1px solid #d5d0c8;border-radius:0;background:#f8f7f4;}
.esfb-controls{border:0;border-top:1px solid #d5d0c8;background:#f8f7f4;}
.esfb-loading{background:rgba(255,250,231,.97);}
.ethiosearch-flipbook:fullscreen{max-width:none;width:100vw;height:100vh;margin:0;border-radius:0;background:#e7e3db;display:flex;flex-direction:column;}
.ethiosearch-flipbook:fullscreen .esfb-stage{flex:1;min-height:0;}

@media(max-width:820px){
  .esfb-toolbar-actions{gap:2px;}
  .esfb-tool span{display:none;}
  .esfb-brand-logo{width:145px;}
  .esfb-stage{padding:22px 35px;min-height:600px;}
  .esfb-book{height:560px;border-width:6px;}
  .esfb-spread{inset:7px 9px;}
}
@media(max-width:540px){
  .esfb-toolbar{padding:6px 10px;}
  .esfb-brand-logo{width:128px;}
  .esfb-page-status{font-size:10px;}
  .esfb-stage{padding:16px 23px;min-height:520px;}
  .esfb-book{height:480px;border-width:5px;border-radius:8px;}
  .esfb-spread{inset:6px 6px;}
  .esfb-cover{padding:35px 28px;}
  .esfb-cover-logo{width:72%;}
  .esfb-cover h1{font-size:35px;}
  .esfb-cover-message{font-size:18px;margin-top:24px;}
}

@media print{
  .ethiosearch-flipbook{display:none!important;}
}

/* v2.4 — balanced index columns */
.esfb-balanced-columns{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0 15px!important;
  align-items:start;
  height:auto;
}
.esfb-index-column{min-width:0;}
.esfb-index-column .esfb-index-group{margin-bottom:5px;}
.esfb-index-column .esfb-index-letter{margin-top:0;}
.esfb-index-column .esfb-index-link{font-size:8.25px;line-height:1.15;padding:2px 0;}
.esfb-index-column .esfb-index-name{min-width:0;}
.esfb-index-column .esfb-index-page-ref{font-size:7.7px;}
.esfb-index-column .esfb-index-star{font-size:7.5px;}
.esfb-red{color:#ed1c24;}
.esfb-balanced-category{
  grid-template-columns:1fr 1fr!important;
  gap:0 22px!important;
}
.esfb-balanced-category .esfb-category-row{padding:5px 0;font-size:9.7px;}
@media(max-width:820px){
  .esfb-balanced-columns{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:540px){
  .esfb-balanced-columns{grid-template-columns:1fr 1fr!important;gap:0 8px!important;}
  .esfb-index-column .esfb-index-link{font-size:7.3px;}
  .esfb-index-column .esfb-index-page-ref{font-size:6.9px;}
  .esfb-balanced-category{grid-template-columns:1fr!important;}
}

/* v2.5 — supplied reference layout: two true editorial columns + visible dotted leaders */
.esfb-business-index-page .esfb-business-index-columns.esfb-reference-columns{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:0 28px!important;
  align-items:start!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}
.esfb-business-index-page .esfb-index-column{
  min-width:0;
  overflow:visible;
}
.esfb-business-index-page .esfb-index-group{
  margin:0 0 7px!important;
  break-inside:avoid;
}
.esfb-business-index-page .esfb-index-letter{
  height:22px;
  display:flex;
  align-items:center;
  padding:2px 8px!important;
  margin:0 0 3px!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:16px!important;
  font-weight:700!important;
  line-height:1!important;
  background:linear-gradient(90deg,#f3cc32,#f8dc5c)!important;
  color:#17120a!important;
  border:0!important;
  border-radius:0!important;
}
.esfb-business-index-page .esfb-index-link{
  display:grid!important;
  grid-template-columns:minmax(0,max-content) minmax(12px,1fr) auto auto!important;
  align-items:end!important;
  column-gap:4px!important;
  width:100%!important;
  min-width:0!important;
  padding:2px 1px!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:8.35px!important;
  line-height:1.12!important;
  color:#181818!important;
  text-decoration:none!important;
}
.esfb-business-index-page .esfb-index-name{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.esfb-business-index-page .esfb-index-dots{
  display:block!important;
  min-width:12px!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  color:#6f675b!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:7px!important;
  letter-spacing:1px!important;
  line-height:1!important;
  border:0!important;
  transform:none!important;
}
.esfb-business-index-page .esfb-index-page-ref{
  min-width:18px!important;
  text-align:right!important;
  font-size:8px!important;
  color:#171717!important;
  font-variant-numeric:tabular-nums!important;
}
.esfb-business-index-page .esfb-index-star{
  color:#ed1c24!important;
  font-size:8px!important;
}
.esfb-business-index-page .esfb-index-masthead{
  height:52px!important;
  margin-bottom:8px!important;
}
.esfb-business-index-page .esfb-index-titlebar{
  padding:8px 13px 9px!important;
  margin-bottom:7px!important;
  background:linear-gradient(90deg,#f4cd35,#ffdc58)!important;
}
.esfb-business-index-page .esfb-index-titlebar h2{
  font-size:27px!important;
  margin-bottom:3px!important;
}
.esfb-business-index-page .esfb-index-titlebar p{
  font-size:10px!important;
}
.esfb-business-index-page .esfb-index-meta{
  font-size:7px!important;
  margin:5px 1px 6px!important;
}
.esfb-business-index-page .esfb-index-footer{
  margin-top:7px!important;
}
.esfb-category-index-page .esfb-reference-category-columns{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:0 25px!important;
  align-items:start!important;
  height:auto!important;
  overflow:visible!important;
}
.esfb-category-index-page .esfb-category-index-col{
  min-width:0;
}
.esfb-category-index-page .esfb-category-row{
  display:grid!important;
  grid-template-columns:18px minmax(0,max-content) minmax(12px,1fr) auto!important;
  align-items:end!important;
  column-gap:6px!important;
  padding:5px 0!important;
  font-size:9.5px!important;
  line-height:1.15!important;
  border-bottom:0!important;
}
.esfb-category-index-page .esfb-category-row .esfb-index-dots{
  display:block!important;
  min-width:12px!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  color:#6f675b!important;
  font-size:7px!important;
  letter-spacing:1px!important;
  border:0!important;
}
.esfb-category-index-page .esfb-category-row strong{
  min-width:28px!important;
}
@media(max-width:820px){
  .esfb-business-index-page .esfb-business-index-columns.esfb-reference-columns,
  .esfb-category-index-page .esfb-reference-category-columns{
    gap:0 14px!important;
  }
  .esfb-business-index-page .esfb-index-link{font-size:7.8px!important;}
}
@media(max-width:540px){
  .esfb-business-index-page .esfb-business-index-columns.esfb-reference-columns,
  .esfb-category-index-page .esfb-reference-category-columns{
    grid-template-columns:1fr 1fr!important;
    gap:0 8px!important;
  }
  .esfb-business-index-page .esfb-index-link{
    grid-template-columns:minmax(0,max-content) minmax(5px,1fr) auto auto!important;
    font-size:6.9px!important;
  }
  .esfb-business-index-page .esfb-index-page-ref{font-size:6.6px!important;}
  .esfb-business-index-page .esfb-index-letter{height:18px!important;font-size:13px!important;}
  .esfb-category-index-page .esfb-category-row{
    grid-template-columns:14px minmax(0,max-content) minmax(5px,1fr) auto!important;
    column-gap:4px!important;
    font-size:7.6px!important;
  }
}


/* v2.6 — true Yellow Pages dotted leaders and no clipped/wrapped index rows */
.esfb-business-index-page .esfb-index-link,
.esfb-category-index-page .esfb-category-row{
  display:flex!important;
  align-items:flex-end!important;
  width:100%!important;
  min-width:0!important;
}
.esfb-business-index-page .esfb-index-name,
.esfb-category-index-page .esfb-category-name{
  flex:0 1 auto!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.esfb-business-index-page .esfb-index-dots,
.esfb-category-index-page .esfb-index-dots{
  flex:1 1 auto!important;
  min-width:12px!important;
  height:1em!important;
  margin:0 4px 2px!important;
  overflow:hidden!important;
  border-bottom:1px dotted #777!important;
  background:none!important;
  color:transparent!important;
  font-size:0!important;
  letter-spacing:0!important;
}
.esfb-business-index-page .esfb-index-page-ref,
.esfb-category-index-page .esfb-category-row strong{
  flex:0 0 auto!important;
  white-space:nowrap!important;
  text-align:right!important;
}
.esfb-business-index-page .esfb-index-star{
  flex:0 0 auto!important;
  margin-left:3px!important;
}
.esfb-business-index-page .esfb-index-link:hover .esfb-index-dots,
.esfb-category-index-page .esfb-category-row:hover .esfb-index-dots{
  border-bottom-style:solid!important;
}
/* Letter headings should not be duplicated by a raw item-count column split. */
.esfb-business-index-page .esfb-index-group{break-inside:avoid!important;}

/* v3.6.1 — premium full-page sponsor advertisements.
   Preserve the supplied artwork exactly: no forced crop, no filters, no overlays on the artwork. */
.esfb-fullpage-ad{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  padding:0!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:transparent!important;
  box-sizing:border-box!important;
}
.esfb-fullpage-ad-link{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  text-decoration:none!important;
  background:transparent!important;
  overflow:hidden!important;
}
.esfb-fullpage-ad-image{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center center!important;
  border:0!important;
  outline:0!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
  filter:none!important;
  image-rendering:auto!important;
  -webkit-backface-visibility:hidden!important;
  backface-visibility:hidden!important;
  transform:none!important;
  will-change:auto!important;
  content-visibility:visible!important;
}
.esfb-fullpage-ad-link:hover .esfb-fullpage-ad-image{
  transform:none!important;
  filter:none!important;
}
.esfb-ad-page-label{
  position:absolute!important;
  top:8px!important;
  right:10px!important;
  z-index:3!important;
  padding:3px 5px!important;
  background:rgba(255,255,255,.72)!important;
  color:#333!important;
  font:700 6px/1 Arial,sans-serif!important;
  letter-spacing:.10em!important;
  text-transform:uppercase!important;
  border-radius:2px!important;
  pointer-events:none!important;
}
.esfb-fullpage-ad .esfb-page-number{
  position:absolute!important;
  bottom:6px!important;
  right:10px!important;
  z-index:3!important;
  margin:0!important;
  padding:2px 5px!important;
  background:rgba(255,255,255,.68)!important;
  font-size:6px!important;
  pointer-events:none!important;
}
@media(max-width:540px){
  .esfb-ad-page-label{top:5px!important;right:6px!important;font-size:5px!important;}
  .esfb-fullpage-ad .esfb-page-number{bottom:4px!important;right:6px!important;font-size:5px!important;}
}


/* EthioSearch v3.0 — clean live-page book frame based on the supplied reference. */
.ethiosearch-flipbook .esfb-stage{
  min-height:690px;
  padding:30px 20px;
  background:
    radial-gradient(ellipse at 50% 45%,rgba(255,255,255,.96),rgba(255,255,255,0) 52%),
    linear-gradient(135deg,#f2f0ec,#dedad4);
  overflow:hidden;
}
.ethiosearch-flipbook .esfb-book{
  width:min(944px,calc(100% - 72px));
  aspect-ratio:944 / 562;
  height:auto;
  position:relative;
  z-index:2;
  margin:0 auto;
}
.ethiosearch-flipbook .esfb-book-frame{
  position:absolute;
  z-index:30;
  left:50%;
  top:50%;
  width:min(1018px,calc(100% + 72px));
  aspect-ratio:1018 / 610;
  transform:translate(-50%,-50%);
  background:url('../assets/ethiosearch-book-frame.png') center/100% 100% no-repeat;
  pointer-events:none;
  filter:drop-shadow(0 12px 16px rgba(0,0,0,.20));
}
.ethiosearch-flipbook .esfb-book-frame.is-disabled{display:none;}
.ethiosearch-flipbook .esfb-current-spread,
.ethiosearch-flipbook .esfb-next-spread,
.ethiosearch-flipbook .esfb-turn-sheet{z-index:20;}
.ethiosearch-flipbook .esfb-page{
  box-shadow:
    inset 0 0 0 1px rgba(60,45,30,.08),
    0 1px 3px rgba(50,35,20,.06);
}
@media(max-width:820px){
  .ethiosearch-flipbook .esfb-stage{
    min-height:600px;
    padding:22px 10px;
  }
  .ethiosearch-flipbook .esfb-book{
    width:min(700px,calc(100% - 52px));
  }
  .ethiosearch-flipbook .esfb-book-frame{
    width:min(754px,calc(100% + 52px));
  }
}
@media(max-width:540px){
  .ethiosearch-flipbook .esfb-stage{
    min-height:500px;
    padding:16px 4px;
  }
  .ethiosearch-flipbook .esfb-book{
    width:calc(100% - 28px);
  }
  .ethiosearch-flipbook .esfb-book-frame{
    width:calc(100% + 28px);
  }
}


/* EthioSearch v3.1 — single-frame composition.
   The supplied reference frame is the ONLY book binding. The live book
   canvas must not draw a second border/background/page-edge frame. */
.ethiosearch-flipbook .esfb-book{
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.ethiosearch-flipbook .esfb-book:before,
.ethiosearch-flipbook .esfb-book:after{
  display:none !important;
}
.ethiosearch-flipbook .esfb-book-frame{
  z-index:50 !important;
  pointer-events:none !important;
}
.ethiosearch-flipbook .esfb-spread{
  z-index:10 !important;
  overflow:hidden;
}
.ethiosearch-flipbook .esfb-loading{
  z-index:60 !important;
}
/* Keep the stage tight so the frame, not the old book shell, determines the footprint. */
.ethiosearch-flipbook .esfb-stage{
  overflow:visible !important;
}
@media(max-width:820px){
  .ethiosearch-flipbook .esfb-book{border:0 !important;}
}


/* EthioSearch v3.2 — remove empty space above the book frame. */
.ethiosearch-flipbook .esfb-stage{
  padding-top:0 !important;
  align-items:flex-start !important;
}
.ethiosearch-flipbook .esfb-book{
  margin-top:0 !important;
}
.ethiosearch-flipbook .esfb-book-frame{
  top:50% !important;
}
@media(max-width:820px){
  .ethiosearch-flipbook .esfb-stage{padding-top:0 !important;}
}
@media(max-width:540px){
  .ethiosearch-flipbook .esfb-stage{padding-top:0 !important;}
}


/* EthioSearch v3.3 — Yellow Pages vertical navigation rail. */
.ethiosearch-flipbook .esfb-stage{position:relative;}
.ethiosearch-flipbook .esfb-side-nav{
  position:absolute;
  z-index:80;
  left:2px;
  top:8px;
  bottom:8px;
  width:62px;
  padding:8px 4px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:space-around;
  background:linear-gradient(180deg,#ffe95c 0%,#f5d52d 48%,#eec719 100%);
  border:3px solid var(--es-red);
  border-radius:0;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.45), 2px 2px 0 rgba(94,63,0,.14);
}
.ethiosearch-flipbook .esfb-side-nav[hidden],
.ethiosearch-flipbook .esfb-side-nav.is-hidden{display:none!important;}
.ethiosearch-flipbook .esfb-side-nav-item{
  appearance:none;
  border:0;
  background:transparent;
  color:#171717;
  text-decoration:none;
  cursor:pointer;
  min-height:68px;
  padding:5px 1px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  text-align:center;
  font-family:Arial,Helvetica,sans-serif;
  font-size:8px;
  line-height:1.05;
  font-weight:900;
  text-transform:uppercase;
}
.ethiosearch-flipbook .esfb-side-nav-item:hover,
.ethiosearch-flipbook .esfb-side-nav-item:focus-visible{
  color:var(--es-red);
  outline:0;
  background:rgba(255,255,255,.28);
}
.ethiosearch-flipbook .esfb-side-icon{
  display:block;
  font-family:Arial,Helvetica,sans-serif;
  font-size:22px;
  line-height:1;
  font-weight:900;
}
.ethiosearch-flipbook .esfb-side-nav-item:first-child .esfb-side-icon{font-size:24px;}
@media(max-width:820px){
  .ethiosearch-flipbook .esfb-side-nav{width:50px;left:1px;top:6px;bottom:6px;padding:5px 2px;}
  .ethiosearch-flipbook .esfb-side-nav-item{font-size:6.5px;min-height:58px;gap:3px;}
  .ethiosearch-flipbook .esfb-side-icon{font-size:18px;}
}
@media(max-width:540px){
  .ethiosearch-flipbook .esfb-side-nav{width:42px;}
  .ethiosearch-flipbook .esfb-side-nav-item{font-size:5.5px;min-height:49px;padding:3px 0;}
  .ethiosearch-flipbook .esfb-side-icon{font-size:15px;}
}


/* EthioSearch v3.3 final layout correction
   - The supplied frame is the single outer binding.
   - The live pages sit exactly inside the frame opening.
   - The left navigation matches the full book/frame height.
   - The stage has no artificial top gap and reserves the exact book height,
     keeping the bottom controls below the flipbook. */
.ethiosearch-flipbook .esfb-stage{
  position:relative !important;
  display:block !important;
  min-height:0 !important;
  height:610px;
  padding:0 !important;
  margin:0 !important;
  overflow:visible !important;
  background:linear-gradient(135deg,#eeeae4,#ded9d1) !important;
}
.ethiosearch-flipbook .esfb-book{
  position:absolute !important;
  z-index:2 !important;
  left:50% !important;
  top:40px;
  width:944px;
  height:562px;
  max-width:none !important;
  margin:0 !important;
  transform:translateX(-50%) !important;
  aspect-ratio:auto !important;
  perspective:2400px;
  transform-style:preserve-3d;
}
.ethiosearch-flipbook .esfb-book-frame{
  position:absolute !important;
  z-index:50 !important;
  left:50% !important;
  top:0 !important;
  width:1018px;
  height:610px;
  max-width:none !important;
  margin:0 !important;
  transform:translateX(-50%) !important;
  aspect-ratio:auto !important;
  pointer-events:none !important;
  filter:drop-shadow(0 12px 16px rgba(0,0,0,.20));
}
.ethiosearch-flipbook .esfb-side-nav{
  position:absolute !important;
  z-index:80 !important;
  left:calc(50% - 509px) !important;
  top:0 !important;
  bottom:auto !important;
  width:70px !important;
  height:610px !important;
  min-height:0 !important;
  padding:8px 3px !important;
  box-sizing:border-box !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:linear-gradient(180deg,#ffe95c 0%,#f5d52d 48%,#eec719 100%) !important;
  justify-content:space-around !important;
  overflow:hidden !important;
}
.ethiosearch-flipbook .esfb-side-nav-item{
  min-height:0 !important;
  flex:1 1 0 !important;
  padding:4px 1px !important;
  gap:5px !important;
  font-size:8px !important;
  line-height:1.05 !important;
}
.ethiosearch-flipbook .esfb-side-icon{font-size:21px !important;}
.ethiosearch-flipbook .esfb-side-nav-item:first-child .esfb-side-icon{font-size:23px !important;}
.ethiosearch-flipbook .esfb-controls{
  position:relative !important;
  z-index:100 !important;
  clear:both !important;
  margin:0 !important;
}
.ethiosearch-flipbook .esfb-footer{position:relative;z-index:100;}

@media(max-width:1018px){
  .ethiosearch-flipbook .esfb-stage{height:auto !important;min-height:0 !important;aspect-ratio:1018 / 610;}
  .ethiosearch-flipbook .esfb-book{
    width:min(944px,calc(100% - 74px));
    height:auto;
    aspect-ratio:944 / 562 !important;
    top:clamp(28px,4vw,40px);
  }
  .ethiosearch-flipbook .esfb-book-frame{
    width:min(1018px,100%);
    height:auto;
    aspect-ratio:1018 / 610 !important;
    top:0 !important;
  }
  .ethiosearch-flipbook .esfb-side-nav{
    left:max(0px,calc(50% - 50vw)) !important;
    width:clamp(48px,6.4vw,70px) !important;
    height:calc(min(100vw,1018px) * 610 / 1018) !important;
  }
  .ethiosearch-flipbook .esfb-stage{padding-bottom:0 !important;}
}
@media(max-width:820px){
  .ethiosearch-flipbook .esfb-side-nav{display:none !important;}
  .ethiosearch-flipbook .esfb-stage{height:auto !important;aspect-ratio:1018 / 610;}
  .ethiosearch-flipbook .esfb-book{width:calc(100% - 28px);height:auto;aspect-ratio:944 / 562 !important;top:clamp(24px,3.9vw,30px);}
  .ethiosearch-flipbook .esfb-book-frame{width:100%;height:auto;aspect-ratio:1018 / 610 !important;}
}


/* EthioSearch v3.4 — flush top alignment and navigation/frame alignment.
   The flipbook wrapper must not introduce a top margin. The stage, frame, and
   left navigation all share the same top edge; the live pages remain inset
   into the frame opening. */
.ethiosearch-flipbook{
  margin-top:0 !important;
  margin-bottom:28px !important;
}
.ethiosearch-flipbook .esfb-stage{
  margin-top:0 !important;
  padding-top:0 !important;
  position:relative !important;
  overflow:visible !important;
}
.ethiosearch-flipbook .esfb-book-frame{
  top:0 !important;
}
.ethiosearch-flipbook .esfb-side-nav{
  top:0 !important;
  height:610px !important;
  bottom:auto !important;
}
@media(max-width:1018px){
  .ethiosearch-flipbook .esfb-side-nav{
    top:0 !important;
    height:calc(min(100vw,1018px) * 610 / 1018) !important;
  }
}
@media(max-width:820px){
  .ethiosearch-flipbook{margin-top:0 !important;}
}

/* EthioSearch v3.4.2 — true frame/top alignment.
   The frame and side navigation share the exact stage top edge. The live
   spread is independently inset into the frame's page opening, so the
   navigation no longer starts above/below the book and no blank strip is
   visible between the toolbar and the frame. */
.ethiosearch-flipbook .esfb-stage{
  height:610px !important;
  min-height:610px !important;
  padding:0 !important;
  margin:0 !important;
  display:block !important;
  position:relative !important;
  overflow:visible !important;
}
.ethiosearch-flipbook .esfb-book{
  left:50% !important;
  top:0 !important;
  width:1018px !important;
  height:610px !important;
  margin:0 !important;
  transform:translateX(-50%) !important;
  max-width:none !important;
}
.ethiosearch-flipbook .esfb-book-frame{
  left:50% !important;
  top:0 !important;
  width:1018px !important;
  height:610px !important;
  transform:translateX(-50%) !important;
  max-width:none !important;
  z-index:50 !important;
}
/* Match the actual transparent/open page area of the supplied 1018×610 frame. */
.ethiosearch-flipbook .esfb-spread{
  inset:39px 34px 6px 34px !important;
  z-index:20 !important;
}
.ethiosearch-flipbook .esfb-side-nav{
  left:calc(50% - 509px) !important;
  top:0 !important;
  width:70px !important;
  height:610px !important;
  bottom:auto !important;
  z-index:80 !important;
}
.ethiosearch-flipbook .esfb-controls{
  margin:0 !important;
  position:relative !important;
  z-index:100 !important;
}
@media(max-width:1018px){
  .ethiosearch-flipbook .esfb-stage{
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:1018 / 610 !important;
  }
  .ethiosearch-flipbook .esfb-book{
    width:100% !important;
    height:auto !important;
    aspect-ratio:1018 / 610 !important;
  }
  .ethiosearch-flipbook .esfb-book-frame{
    width:100% !important;
    height:auto !important;
    aspect-ratio:1018 / 610 !important;
  }
  .ethiosearch-flipbook .esfb-spread{
    inset:6.39% 3.34% 0.98% 3.34% !important;
  }
  .ethiosearch-flipbook .esfb-side-nav{
    left:0 !important;
    width:6.875% !important;
    height:100% !important;
  }
}
@media(max-width:820px){
  .ethiosearch-flipbook .esfb-side-nav{display:none !important;}
  .ethiosearch-flipbook .esfb-spread{inset:6.39% 3.34% 0.98% 3.34% !important;}
}


/* EthioSearch Digital Directory Flipbook v3.5.0
   Final alignment + index pagination correction.

   Goals:
   - eliminate the small top gap commonly introduced around the shortcode
   - make the frame, book canvas and yellow navigation share one exact top edge
   - make the navigation the same height as the physical book frame
   - keep the live spread inside the transparent opening of the supplied frame
   - prevent index rows from being clipped at the bottom
*/
.ethiosearch-flipbook{
  margin-top:-8px !important;
  margin-bottom:28px !important;
  position:relative !important;
  width:100% !important;
  max-width:1240px !important;
}

.ethiosearch-flipbook .esfb-stage{
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:610px !important;
  min-height:610px !important;
  padding:0 !important;
  margin:0 !important;
  overflow:visible !important;
  background:linear-gradient(135deg,#eeeae4,#ded9d1) !important;
}

.ethiosearch-flipbook .esfb-book,
.ethiosearch-flipbook .esfb-book-frame{
  box-sizing:border-box !important;
  top:0 !important;
  height:610px !important;
  margin:0 !important;
}

.ethiosearch-flipbook .esfb-book{
  position:absolute !important;
  left:50% !important;
  width:1018px !important;
  max-width:none !important;
  transform:translateX(-50%) !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
}

.ethiosearch-flipbook .esfb-book-frame{
  position:absolute !important;
  left:50% !important;
  width:1018px !important;
  max-width:none !important;
  transform:translateX(-50%) !important;
  z-index:50 !important;
  pointer-events:none !important;
}

.ethiosearch-flipbook .esfb-spread{
  position:absolute !important;
  inset:39px 34px 6px 34px !important;
  z-index:20 !important;
  overflow:hidden !important;
}

.ethiosearch-flipbook .esfb-side-nav{
  position:absolute !important;
  left:calc(50% - 509px) !important;
  top:0 !important;
  bottom:auto !important;
  width:70px !important;
  height:610px !important;
  max-height:610px !important;
  min-height:610px !important;
  margin:0 !important;
  padding:8px 3px !important;
  box-sizing:border-box !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  z-index:80 !important;
  overflow:hidden !important;
  justify-content:space-around !important;
}

.ethiosearch-flipbook .esfb-side-nav-item{
  flex:1 1 0 !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:4px 1px !important;
}

.ethiosearch-flipbook .esfb-controls{
  position:relative !important;
  z-index:100 !important;
  clear:both !important;
  margin:0 !important;
}

.ethiosearch-flipbook .esfb-index-page{
  overflow:hidden !important;
  min-height:0 !important;
}

.ethiosearch-flipbook .esfb-business-index-page .esfb-business-index-columns{
  min-height:0 !important;
  max-height:none !important;
  overflow:hidden !important;
}

.ethiosearch-flipbook .esfb-business-index-page .esfb-index-group{
  break-inside:avoid !important;
  page-break-inside:avoid !important;
}

.ethiosearch-flipbook .esfb-business-index-page .esfb-index-link{
  min-height:0 !important;
  height:auto !important;
  white-space:nowrap !important;
}

.ethiosearch-flipbook .esfb-category-index-page .esfb-category-index{
  min-height:0 !important;
  max-height:none !important;
  overflow:hidden !important;
}

.ethiosearch-flipbook .esfb-category-index-page .esfb-category-row{
  min-height:0 !important;
  height:auto !important;
  white-space:nowrap !important;
}

/* Keep the footer at the bottom without allowing index content to push it
   outside the physical page. */
.ethiosearch-flipbook .esfb-business-index-page .esfb-index-footer,
.ethiosearch-flipbook .esfb-category-index-page .esfb-index-footer{
  flex:0 0 auto !important;
}

@media(max-width:1018px){
  .ethiosearch-flipbook .esfb-stage{
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:1018 / 610 !important;
  }
  .ethiosearch-flipbook .esfb-book,
  .ethiosearch-flipbook .esfb-book-frame{
    left:50% !important;
    top:0 !important;
    width:100% !important;
    height:auto !important;
    aspect-ratio:1018 / 610 !important;
  }
  .ethiosearch-flipbook .esfb-spread{
    inset:6.39% 3.34% .98% 3.34% !important;
  }
  .ethiosearch-flipbook .esfb-side-nav{
    left:0 !important;
    top:0 !important;
    width:6.875% !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
  }
}

@media(max-width:820px){
  .ethiosearch-flipbook .esfb-stage{
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:1018 / 610 !important;
  }
  .ethiosearch-flipbook .esfb-side-nav{
    display:none !important;
  }
}

@media(max-width:540px){
  .ethiosearch-flipbook{
    margin-top:-6px !important;
  }
}


/* EthioSearch v3.5.1 — final visual alignment correction
   - pull the book/frame up so the frame is flush with the toolbar area
   - move the left rail outward so it never covers index text
   - keep the rail exactly the same vertical footprint as the frame
   - keep the bottom controls directly below the physical book
*/
.ethiosearch-flipbook .esfb-stage{
  height:602px !important;
  min-height:602px !important;
  margin-top:-8px !important;
  padding:0 !important;
  overflow:visible !important;
}
.ethiosearch-flipbook .esfb-book,
.ethiosearch-flipbook .esfb-book-frame{
  top:0 !important;
}
.ethiosearch-flipbook .esfb-side-nav{
  left:calc(50% - 558px) !important;
  top:0 !important;
  width:70px !important;
  height:610px !important;
  min-height:610px !important;
  max-height:610px !important;
}
.ethiosearch-flipbook .esfb-spread{
  inset:39px 34px 6px 34px !important;
}

@media(max-width:1018px){
  .ethiosearch-flipbook .esfb-stage{
    height:auto !important;
    min-height:0 !important;
    margin-top:-6px !important;
    aspect-ratio:1018 / 610 !important;
  }
  .ethiosearch-flipbook .esfb-side-nav{
    left:-1.5% !important;
    width:6.875% !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
  }
}

@media(max-width:820px){
  .ethiosearch-flipbook .esfb-stage{margin-top:0 !important;}
}


/* EthioSearch v3.5.3 — real bottom spacing below the physical book.
   The book/frame is absolutely positioned, so padding alone cannot push the
   controls downward. Increase the stage's actual footprint instead. */
@media(min-width:1019px){
  .ethiosearch-flipbook .esfb-stage{
    height:634px !important;
    min-height:634px !important;
    padding:0 !important;
    margin-bottom:0 !important;
  }
  .ethiosearch-flipbook .esfb-book-frame,
  .ethiosearch-flipbook .esfb-side-nav{
    height:610px !important;
  }
  .ethiosearch-flipbook .esfb-controls{
    margin-top:0 !important;
  }
}
@media(max-width:1018px){
  .ethiosearch-flipbook .esfb-stage{
    padding-bottom:24px !important;
    box-sizing:content-box !important;
  }
}


/* EthioSearch v3.5.4 — final desktop navigation/footprint refinement.
   - Put the previous arrow completely to the left of the yellow navigation rail.
   - Keep both arrows centered on the physical book rather than the larger stage.
   - Preserve a clean white/neutral breathing space below the 610px frame so the
     frame remains visually proportional and the controls never touch the book. */
@media(min-width:1019px){
  .ethiosearch-flipbook .esfb-stage{
    height:640px !important;
    min-height:640px !important;
    padding:0 !important;
    margin-top:-8px !important;
    margin-bottom:0 !important;
  }
  .ethiosearch-flipbook .esfb-book,
  .ethiosearch-flipbook .esfb-book-frame{
    top:0 !important;
    height:610px !important;
  }
  .ethiosearch-flipbook .esfb-side-nav{
    top:0 !important;
    left:calc(50% - 558px) !important;
    width:70px !important;
    height:610px !important;
    min-height:610px !important;
    max-height:610px !important;
  }
  .ethiosearch-flipbook .esfb-prev{
    left:0 !important;
    top:305px !important;
    transform:translateY(-50%) !important;
    z-index:120 !important;
  }
  .ethiosearch-flipbook .esfb-next{
    right:0 !important;
    top:305px !important;
    transform:translateY(-50%) !important;
    z-index:120 !important;
  }
  .ethiosearch-flipbook .esfb-controls{
    margin-top:0 !important;
    padding-top:12px !important;
  }
}

@media(max-width:1018px){
  .ethiosearch-flipbook .esfb-prev{
    left:0 !important;
    z-index:120 !important;
  }
  .ethiosearch-flipbook .esfb-next{
    right:0 !important;
    z-index:120 !important;
  }
  .ethiosearch-flipbook .esfb-stage{
    padding-bottom:30px !important;
    box-sizing:content-box !important;
  }
}


/* EthioSearch v3.5.7 — selectable viewer backgrounds. */
.ethiosearch-flipbook.esfb-bg-neutral .esfb-stage{
  background:radial-gradient(ellipse at 50% 42%,rgba(255,255,255,.96),rgba(255,255,255,0) 52%),linear-gradient(135deg,#f0ede8,#ded9d1) !important;
}
.ethiosearch-flipbook.esfb-bg-paper .esfb-stage{
  background:radial-gradient(ellipse at 50% 45%,rgba(255,255,255,.30),rgba(255,255,255,0) 58%),linear-gradient(135deg,#f5edda,#dfd0ae) !important;
}
.ethiosearch-flipbook.esfb-bg-book .esfb-stage{
  background-image:url('ethiosearch-book-spread-background.png') !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-color:#e9dfc7 !important;
}
.ethiosearch-flipbook.esfb-bg-book .esfb-stage:before{
  content:"";position:absolute;inset:0;background:rgba(255,248,226,.16);pointer-events:none;z-index:0;
}
.ethiosearch-flipbook.esfb-bg-wood .esfb-stage{
  background-color:#4b3325 !important;
  background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 2px,transparent 2px 7px),repeating-linear-gradient(0deg,rgba(0,0,0,.08) 0 1px,transparent 1px 5px),linear-gradient(135deg,#604333,#332219) !important;
}
.ethiosearch-flipbook.esfb-bg-white .esfb-stage{background:#fff !important;}
.ethiosearch-flipbook.esfb-bg-custom .esfb-stage{
  background-image:var(--esfb-custom-bg) !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-color:#e9e5df !important;
}
.ethiosearch-flipbook.esfb-bg-book .esfb-stage > *,
.ethiosearch-flipbook.esfb-bg-custom .esfb-stage > *{position:relative;z-index:1;}
@media(max-width:820px){
  .ethiosearch-flipbook.esfb-bg-book .esfb-stage,
  .ethiosearch-flipbook.esfb-bg-custom .esfb-stage{background-size:cover !important;}
}

/* EthioSearch v3.5.8 — bottom-edge protection.
   Keep the complete physical 1018×610 frame inside the stage footprint and
   reserve a real, visible safety area below it. This prevents the lower gold
   edge/shadow from being clipped by the stage or from touching the controls. */
@media(min-width:1019px){
  .ethiosearch-flipbook{
    overflow:visible !important;
    padding-bottom:18px !important;
    box-sizing:border-box !important;
  }
  .ethiosearch-flipbook .esfb-stage{
    height:662px !important;
    min-height:662px !important;
    padding:0 !important;
    margin:0 !important;
    overflow:visible !important;
  }
  .ethiosearch-flipbook .esfb-book,
  .ethiosearch-flipbook .esfb-book-frame{
    top:0 !important;
    height:610px !important;
    bottom:auto !important;
  }
  .ethiosearch-flipbook .esfb-side-nav{
    top:0 !important;
    height:610px !important;
    min-height:610px !important;
    max-height:610px !important;
  }
  .ethiosearch-flipbook .esfb-controls{
    margin-top:0 !important;
    padding-top:12px !important;
    position:relative !important;
    z-index:100 !important;
  }
}

@media(max-width:1018px){
  .ethiosearch-flipbook{
    overflow:visible !important;
    padding-bottom:18px !important;
    box-sizing:border-box !important;
  }
  .ethiosearch-flipbook .esfb-stage{
    overflow:visible !important;
    box-sizing:content-box !important;
    padding-bottom:38px !important;
  }
  .ethiosearch-flipbook .esfb-book,
  .ethiosearch-flipbook .esfb-book-frame{
    bottom:auto !important;
  }
}


/* EthioSearch v3.6.2 — supplied reference frame layout.
   The uploaded reference artwork is used as the single physical book frame.
   The page-opening areas are transparent in the frame asset, allowing the
   live flipbook pages to show through without a second book border. */
.ethiosearch-flipbook .esfb-stage{
  position:relative !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  padding:0 !important;
  margin:0 !important;
  min-height:662px !important;
  height:662px !important;
  overflow:visible !important;
  background:#e9e5df !important;
}
.ethiosearch-flipbook .esfb-book-frame{
  position:absolute !important;
  left:50% !important;
  top:0 !important;
  width:932px !important;
  height:569px !important;
  margin:0 !important;
  transform:translateX(-50%) !important;
  background-image:url('../assets/ethiosearch-book-frame.png') !important;
  background-position:center top !important;
  background-repeat:no-repeat !important;
  background-size:100% 100% !important;
  filter:drop-shadow(0 12px 16px rgba(0,0,0,.20));
}
.ethiosearch-flipbook .esfb-book{
  position:absolute !important;
  z-index:10 !important;
  left:50% !important;
  top:0 !important;
  width:830px !important;
  height:547px !important;
  margin:0 !important;
  transform:translateX(-50%) !important;
  perspective:2400px !important;
  overflow:visible !important;
}
.ethiosearch-flipbook .esfb-spread{
  inset:6px 0 0 0 !important;
  overflow:hidden !important;
  border-radius:0 !important;
}
.ethiosearch-flipbook .esfb-page{
  min-height:547px !important;
}
.ethiosearch-flipbook .esfb-side-nav{display:none !important;}
@media(min-width:1019px){
  .ethiosearch-flipbook .esfb-stage{height:605px !important;min-height:605px !important;}
  .ethiosearch-flipbook .esfb-book-frame{width:min(932px,100%);height:auto;aspect-ratio:932/569;}
  .ethiosearch-flipbook .esfb-book{width:min(830px,calc(100% - 102px));height:auto;aspect-ratio:830/547;}
}
@media(max-width:1018px){
  .ethiosearch-flipbook .esfb-stage{height:auto !important;min-height:0 !important;aspect-ratio:932/605 !important;padding-bottom:36px !important;box-sizing:content-box !important;}
  .ethiosearch-flipbook .esfb-book-frame{width:100% !important;height:auto !important;aspect-ratio:932/569 !important;}
  .ethiosearch-flipbook .esfb-book{width:calc(100% - 102px) !important;height:auto !important;aspect-ratio:830/547 !important;}
}
@media(max-width:820px){
  .ethiosearch-flipbook .esfb-stage{aspect-ratio:auto !important;min-height:0 !important;height:auto !important;padding-bottom:30px !important;}
  .ethiosearch-flipbook .esfb-book-frame{width:100% !important;height:auto !important;aspect-ratio:932/569 !important;}
  .ethiosearch-flipbook .esfb-book{width:calc(100% - 72px) !important;height:auto !important;aspect-ratio:830/547 !important;top:0 !important;}
}
@media(max-width:540px){
  .ethiosearch-flipbook .esfb-stage{padding-bottom:24px !important;}
  .ethiosearch-flipbook .esfb-book{width:calc(100% - 42px) !important;}
}

/* EthioSearch v3.6.3 — restore the left navigation rail.
   This restores the existing v3.3 navigation while preserving the v3.6.2
   reference-frame geometry. The v3.6.2 final rule hid the rail, so this
   override intentionally re-enables it and makes it clickable even though
   the outer flipbook wrapper uses pointer-events:none for frame layering. */
.ethiosearch-flipbook .esfb-side-nav{
  display:flex !important;
  position:absolute !important;
  z-index:80 !important;
  left:calc(50% - 539px) !important;
  top:0 !important;
  width:70px !important;
  height:569px !important;
  min-height:569px !important;
  max-height:569px !important;
  margin:0 !important;
  padding:8px 3px !important;
  box-sizing:border-box !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:linear-gradient(180deg,#ffe95c 0%,#f5d52d 48%,#eec719 100%) !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:space-around !important;
  overflow:hidden !important;
  pointer-events:auto !important;
}
.ethiosearch-flipbook .esfb-side-nav-item{
  flex:1 1 0 !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:4px 1px !important;
  gap:5px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:8px !important;
  line-height:1.05 !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  pointer-events:auto !important;
}
.ethiosearch-flipbook .esfb-side-icon{
  display:block !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:21px !important;
  line-height:1 !important;
  font-weight:900 !important;
}
.ethiosearch-flipbook .esfb-side-nav-item:first-child .esfb-side-icon{font-size:23px !important;}
.ethiosearch-flipbook .esfb-side-nav-item:hover,
.ethiosearch-flipbook .esfb-side-nav-item:focus-visible{
  color:var(--es-red) !important;
  outline:0 !important;
  background:rgba(255,255,255,.28) !important;
}

/* The previous/next arrows remain outside the rail. */
@media(min-width:1019px){
  .ethiosearch-flipbook .esfb-prev{
    left:0 !important;
    top:284.5px !important;
    transform:translateY(-50%) !important;
    z-index:120 !important;
  }
  .ethiosearch-flipbook .esfb-next{
    right:0 !important;
    top:284.5px !important;
    transform:translateY(-50%) !important;
    z-index:120 !important;
  }
}

@media(max-width:1018px){
  .ethiosearch-flipbook .esfb-side-nav{
    left:0 !important;
    width:6.875% !important;
    height:61.05% !important;
    min-height:0 !important;
    max-height:none !important;
  }
}

@media(max-width:820px){
  /* Keep the compact/mobile layout uncluttered, as in the previous release. */
  .ethiosearch-flipbook .esfb-side-nav{display:none !important;}
}

@media print{
  .esfb-listing .esfb-listing-top{height:50%;min-height:0;display:block;overflow:hidden;}
  .esfb-listing .esfb-listing-photo{width:100%;height:100%;}
  .esfb-listing .esfb-listing-info{height:50%;padding:14px 20px 8px;overflow:hidden;}
  .esfb-listing .esfb-listing-summary{padding:0 0 7px;}
  .esfb-listing .esfb-listing-contact-full{padding-top:7px;}
  .esfb-listing .esfb-listing-actions{padding-top:6px;}
}

/* v3.6.9: listing bottom no longer displays gallery thumbnails. */
.esfb-listing .esfb-gallery-strip,.esfb-listing .esfb-gallery-thumb{display:none!important;}
.esfb-listing .esfb-contact-address span:last-child{overflow-wrap:anywhere;word-break:break-word;}
