/* Separate Integration B1. Does not alter original PDFs, logos or artwork. */
.geographic-section{--exp-edge:var(--edge);--exp-panel:var(--panel);--exp-shadow:var(--shadow);--exp-grain:radial-gradient(ellipse at top left,#cdb17b10,transparent 60%);--exp-panel-raised:var(--raised);--paper:var(--bg);--map-water:#101e22;--map-land-start:#374c40;--map-land-end:#20352e;--map-grid:#90afa025;--map-shore:#d4bd86}
[data-appearance=light] .geographic-section{--map-water:#edf3ee;--map-land-start:#b5cbb4;--map-land-end:#e5dec9;--map-grid:#536d5024;--map-shore:#796638}
.restaurant-row{grid-template-columns:150px 35px 1fr 1.3fr auto!important;gap:22px!important}.restaurant-row-photo{display:block;width:150px;overflow:hidden;border:1px solid var(--edge);border-radius:3px}.restaurant-row-photo img{width:150px;height:150px;object-fit:cover;transition:transform .65s}.restaurant-row-photo:hover img{transform:scale(1.04)}
.original-reader{padding:24px;margin:0 0 35px;border:1px solid var(--line,#695331);background:var(--white,#141416);border-radius:6px;min-width:0}.original-reader h2{margin:0 0 16px}.reader-note{font-size:13px;color:var(--muted);line-height:1.75;margin-bottom:22px}.reader-search-label{display:block;font-size:13px;margin-bottom:8px}.original-reader input,.original-reader select{width:100%;min-height:48px;padding:10px 12px;color:var(--ink);background:var(--white,#141416);border:1px solid var(--line,#695331);border-radius:3px}.reader-controls{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:10px;align-items:center;margin:18px 0}.reader-controls button{min-height:48px;padding:10px;color:var(--ink);background:transparent;border:1px solid var(--line,#695331);border-radius:3px;font-size:13px}.reader-controls button:hover:not(:disabled){border-color:var(--gold)}.reader-controls button:disabled{opacity:.4}.original-reader figure{margin:0;max-width:100%;background:#fff}.reader-page{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}.reader-original{margin-top:18px}.reader-empty{margin:20px 0;color:var(--muted)}
@media(max-width:1150px){.restaurant-row{grid-template-columns:110px 25px 1fr 1.1fr!important}.restaurant-row-photo,.restaurant-row-photo img{width:110px;height:110px}.restaurant-row-actions{grid-column:3/-1}}
@media(max-width:760px){.restaurant-row{grid-template-columns:90px 1fr!important;gap:17px!important}.restaurant-row-photo,.restaurant-row-photo img{width:90px;height:100px}.restaurant-index{display:none!important}.restaurant-row>div:nth-last-child(2),.restaurant-row-actions{grid-column:1/-1!important}.original-reader{padding:16px}.reader-controls{grid-template-columns:1fr 1fr}.reader-controls select{grid-column:1/-1;grid-row:1}.reader-controls button{font-size:12px;line-height:1.5}.original-reader h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){.restaurant-row-photo img{transition:none!important;transform:none!important}}


.geographic-section{background:var(--exp-grain),var(--paper);border-block:1px solid var(--exp-edge)}.geographic-section h2 em{font-style:normal;color:var(--gold)}.map-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:26px}.map-card{min-width:0;border:1px solid var(--exp-edge);border-radius:8px;background:var(--exp-panel);box-shadow:var(--exp-shadow);overflow:hidden}.map-heading{padding:27px 30px 20px;display:flex;justify-content:space-between;gap:20px;align-items:end}.map-heading h3{font-size:33px}.map-heading .eyebrow{margin-bottom:8px;font-size:9px}.map-heading p{font-size:10px;color:var(--muted);max-width:170px;text-align:right}.map-canvas{position:relative;isolation:isolate;background:radial-gradient(ellipse at 40% 50%,transparent,var(--map-water)),var(--map-water);aspect-ratio:650/400}.area-map{display:block;width:100%;height:100%;overflow:visible}.map-coast-glow{fill:none;stroke:var(--map-shore);stroke-width:7;opacity:.1}.map-land{stroke:var(--map-shore);stroke-width:1.1;filter:drop-shadow(0 10px 6px #0003)}.map-compass{fill:var(--gold);font:10px var(--body)}.map-ocean{fill:var(--muted);font:8px var(--body);letter-spacing:3px}.map-pin{position:absolute;display:flex;align-items:center;gap:8px;z-index:4;transform:translate(-12px,-12px);min-height:44px;text-decoration:none;white-space:nowrap;color:#f7e5bc}.pin-dot{flex-shrink:0;display:block;width:23px;height:23px;border:1px solid #e7ca8a;border-radius:50%;background:#bd9551;box-shadow:0 0 0 5px #caab5333,0 0 22px #baae5144;position:relative}.pin-dot::before{content:'';position:absolute;inset:7px;background:#171811;border-radius:50%}.pin-dot::after{content:'';position:absolute;inset:-7px;border:1px solid #dfbe76aa;border-radius:50%;opacity:.25}.pin-label{font-size:11px;font-weight:600;background:#121718eb;color:#f8e9c9;padding:8px 11px;border:1px solid #a1875b;border-radius:4px;box-shadow:0 4px 10px #0003;transition:transform .35s,background .35s}.pin-label i{font-style:normal;padding-left:5px}.pin-seminyak .pin-label{position:absolute;right:calc(100% + 8px)}.pin-nusapenida .pin-label{position:absolute;top:calc(100% - 5px);left:-15px}.map-pin:hover,.map-pin:focus-visible{z-index:8}.map-pin:hover .pin-label,.map-pin:focus-visible .pin-label{background:#d9b975;color:#211608;transform:translateY(-4px)}.map-pin:hover .pin-dot::after,.map-pin:focus-visible .pin-dot::after{animation:pin-pulse 1.6s ease-out infinite}.map-branches{display:flex;flex-wrap:wrap;gap:7px;padding:20px 24px;border-top:1px solid var(--exp-edge)}.map-branches a{padding:10px 13px;min-height:44px;font-size:11px;text-decoration:none;border:1px solid var(--exp-edge);border-radius:4px;display:flex;align-items:center;gap:13px;color:var(--ink)}.map-branches a:hover{border-color:var(--gold);background:var(--exp-panel-raised)}.map-note{font-size:11px;color:var(--muted);margin-top:20px;max-width:850px}.map-route-source{display:none!important}.map-pin.is-pressed .pin-dot{scale:1.3}.map-card:has(.map-pin:hover) .map-coast-glow{opacity:.2}@keyframes pin-pulse{from{scale:.7;opacity:.7}to{scale:1.7;opacity:0}}html[data-appearance=light] .pin-label{background:#fffaf0f2;color:#30271a}.map-pin .world-name{display:none}

@media(max-width:760px){.map-grid{grid-template-columns:1fr}.map-heading{padding:20px}.map-branches{padding:15px}.map-pin .pin-label{font-size:9px;padding:5px}.pin-nusapenida .pin-label{left:-35px;top:36px}.pin-seminyak .pin-label{right:100%}.pin-ubud .pin-label{position:absolute;bottom:29px;left:0}.map-branches a{font-size:11px}}
.pin-dot{display:grid;place-items:center;width:29px;height:29px;color:#f4d491;background:#303624}.pin-dot::before{display:none}.pin-dot svg{width:20px;height:20px}.map-pin{max-width:100%}.geographic-section .section-heading{margin-bottom:35px}@media(max-width:760px){.pin-dot{width:24px;height:24px}.pin-dot svg{width:16px;height:16px}.map-heading p{max-width:140px}.map-heading h3{font-size:29px}}
