/* Sewa Rent — i18n (E14). The flag button and dropdown reuse `.sewa-lang*` from listeo-child/style.css; this file adds
 * the list layout, the Tier-3 separator, the burger-menu row, translation notes and RTL basics. Colours only via tokens. */

#sewa-i18n-switcher[hidden] { display: none !important; }
li.menu-item-gtranslate { display: none !important; } /* GTranslate's own widget is replaced by the unified switcher */

.sewa-i18n .sewa-i18n-list { display: block; }
.sewa-i18n a.nturl { display: flex; align-items: center; gap: 10px; padding: 8px 12px; border-radius: var(--sewa-radius-sm, 8px); color: var(--sewa-text, #333); font-size: 14px; line-height: 1.3; white-space: nowrap; text-decoration: none; }
.sewa-i18n a.nturl:hover { background: var(--sewa-bg-muted, #f7f7f7); color: var(--sewa-primary, #f91942); }
.sewa-i18n a.nturl img { width: 22px; height: 22px; border-radius: 50%; flex: 0 0 22px; }
.sewa-i18n a.gt_current { font-weight: 600; }
.sewa-i18n .sewa-i18n-sep { display: flex; align-items: center; gap: 8px; margin: 6px 4px 2px; color: var(--sewa-text-muted, #777); font-size: 11px; letter-spacing: .04em; text-transform: uppercase; }
.sewa-i18n .sewa-i18n-sep::before, .sewa-i18n .sewa-i18n-sep::after { content: ""; flex: 1; height: 1px; background: var(--sewa-border, #e3e3e3); }
.sewa-i18n .sewa-lang-menu { min-width: 240px; }

/* Burger menu on phones/tablets (TRACKER 2.65): ONE row "Language ... [flag name ▾]" (row + pill: child style.css, shared with
   the Currency row); the list opens inline below as a white card, URL languages first, "Automatic translation" collapsed. */
.sewa-i18n--inline { display: contents !important; margin: 0 !important; }
.sewa-i18n--inline .sewa-lang-menu { display: block; position: static; flex: 0 0 100%; margin: 8px 0 6px; box-shadow: none; padding: 8px; min-width: 0; max-height: none; background: var(--sewa-bg, #fff); border-radius: var(--sewa-radius, 14px); }
.sewa-i18n--inline .sewa-lang-menu[hidden], .sewa-i18n--inline .sewa-i18n-gt-group[hidden] { display: none !important; }
.sewa-i18n--inline .sewa-i18n-list { display: block; }
.mobile-navigation-wrapper .sewa-i18n--inline a.nturl { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 8px 12px; border-radius: 8px; background: transparent; color: var(--sewa-text, #333); font-size: 15px; line-height: 1.3; }
.mobile-navigation-wrapper .sewa-i18n--inline a.nturl:hover, .mobile-navigation-wrapper .sewa-i18n--inline a.nturl:focus { background: var(--sewa-bg-soft, #f7f7f7); color: var(--sewa-accent, #e0173c); outline: none; }
.mobile-navigation-wrapper .sewa-i18n--inline a.nturl:focus-visible { box-shadow: inset 0 0 0 2px var(--sewa-accent, #e0173c); }
.sewa-i18n--inline a.nturl img { width: 22px; height: 22px; flex: 0 0 22px; object-fit: cover; }
.mobile-navigation-wrapper .sewa-i18n--inline a.nturl.gt_current, .mobile-navigation-wrapper .sewa-i18n--inline a.nturl[aria-current="true"] { background: transparent; color: var(--sewa-text, #333); font-weight: 600; box-shadow: none; }
.sewa-i18n--inline a.nturl[aria-current="true"]::after { content: "\2713"; margin-left: auto; color: var(--sewa-accent, #e0173c); font-weight: 700; }
.sewa-i18n--inline .sewa-i18n-subtoggle { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 44px; margin: 6px 0 0; padding: 8px 12px; border: 0; border-top: 1px solid var(--sewa-line, #e3e3e3); border-radius: 0; background: transparent; color: var(--sewa-muted, #707070); font: inherit; font-size: 13px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; cursor: pointer; }
.sewa-i18n--inline .sewa-i18n-subtoggle:focus-visible { outline: 2px solid var(--sewa-accent, #e0173c); outline-offset: -2px; }
.sewa-i18n--inline .sewa-i18n-subtoggle .sewa-cur-caret { font-size: 11px; transition: transform .2s; }
.sewa-i18n--inline .sewa-i18n-subtoggle[aria-expanded="true"] .sewa-cur-caret { transform: rotate(180deg); }
/* The desktop flag toggle never shows in the burger (its [hidden] lost to `.sewa-lang-btn{display:inline-flex}`). */
.sewa-i18n--inline .sewa-lang-btn, .sewa-i18n-mobile .sewa-lang-btn, .sewa-lang-btn[hidden] { display: none !important; }

/* Notes on translated / untranslated content. */
.sewa-i18n-note { margin: 0 0 16px; padding: 10px 14px; border-radius: var(--sewa-radius-sm, 8px); background: var(--sewa-bg-muted, #f7f7f7); color: var(--sewa-text-muted, #555); font-size: 14px; line-height: 1.45; }
.sewa-i18n-note a { color: var(--sewa-primary, #f91942); text-decoration: underline; }
.sewa-i18n-courtesy { border-left: 3px solid var(--sewa-warning, #e6a700); }

/* Listing description: "Translated automatically · Show original". */
.sewa-i18n-mt { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; margin: 0 0 12px; color: var(--sewa-text-muted, #777); font-size: 13px; }
.sewa-i18n-mt-toggle { background: none; border: 0; padding: 0; color: var(--sewa-primary, #f91942); font: inherit; cursor: pointer; text-decoration: underline; }
.sewa-i18n-mt-toggle:focus-visible { outline: 2px solid var(--sewa-primary, #f91942); outline-offset: 2px; border-radius: 3px; }
.sewa-i18n-text[hidden] { display: none !important; }

/* RTL (Arabic, Tier 2): content direction follows <html dir>; the header and cards stay LTR until the dedicated RTL pass. */
.sewa-rtl .listing-desc, .sewa-rtl .entry-content, .sewa-rtl .sewa-i18n-text, .sewa-rtl .sewa-i18n-note { direction: rtl; text-align: right; }
.sewa-rtl .sewa-i18n-courtesy { border-left: 0; border-right: 3px solid var(--sewa-warning, #e6a700); }

/* TRACKER 2.47: the space next to an inline element in a translated sentence is a margin, never a text node
   (browser translators drop trailing spaces → "diBali"). Classes come from sewa_rent_i18n_inline() (includes/i18n/markup.php). */
.sewa-gap-before, .sewa-hero-title .sewa-gap-before { margin-inline-start: .28em; }
.sewa-gap-after, .sewa-hero-title .sewa-gap-after { margin-inline-end: .28em; }

/* TRACKER 2.93: device-language suggestion bar (assets/js/i18n.js suggestLanguage). Fixed at the TOP, so it never covers
   the cookie banner or the phone booking CTA (both at the bottom); fixed → no layout shift. Text is in the suggested language. */
.sewa-lang-suggest { position: fixed; top: calc(8px + env(safe-area-inset-top, 0px)); left: 50%; transform: translateX(-50%); z-index: 1100; display: flex; align-items: center; gap: 10px; width: max-content; max-width: calc(100vw - 32px); box-sizing: border-box; padding: 8px 8px 8px 14px; border-radius: var(--sewa-radius, 14px); background: var(--sewa-bg, #fff); color: var(--sewa-text, #333); box-shadow: var(--sewa-shadow-lg, 0 8px 28px rgba(var(--sewa-black-rgb), .18)); font-size: 14px; line-height: 1.35; }
.sewa-lang-suggest__text { flex: 1 1 auto; min-width: 0; }
.sewa-lang-suggest__go { flex: 0 0 auto; display: inline-flex; align-items: center; min-height: 36px; padding: 6px 14px; border-radius: var(--sewa-radius-pill, 999px); background: var(--sewa-accent, #e0173c); color: var(--sewa-white, #fff) !important; font-weight: 600; text-decoration: none; white-space: nowrap; }
.sewa-lang-suggest__go:hover, .sewa-lang-suggest__go:focus { filter: brightness(.92); }
.sewa-lang-suggest__close { flex: 0 0 auto; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--sewa-muted, #707070); font-size: 22px; line-height: 1; cursor: pointer; }
.sewa-lang-suggest__close:hover { background: var(--sewa-bg-soft, #f7f7f7); }
.sewa-lang-suggest__go:focus-visible, .sewa-lang-suggest__close:focus-visible { outline: 2px solid var(--sewa-accent, #e0173c); outline-offset: 2px; }
@media (max-width: 480px) { .sewa-lang-suggest { font-size: 13px; gap: 6px; padding-left: 12px; } }
@media print { .sewa-lang-suggest { display: none; } }
