.elementor-kit-12{--e-global-color-primary:#111111;--e-global-color-secondary:#FFD21F;--e-global-color-text:#111111;--e-global-color-accent:#F7F5EF;--e-global-color-bbgray:#D9D9D9;--e-global-color-bbyellowsoft:#FFF1A8;--e-global-typography-primary-font-family:"Outfit";--e-global-typography-primary-font-weight:800;--e-global-typography-secondary-font-family:"Outfit";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"DM Sans";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"DM Sans";--e-global-typography-accent-font-weight:700;font-family:"DM Sans", Sans-serif;font-weight:400;}.elementor-kit-12 e-page-transition{background-color:#FFBC7D;}.elementor-kit-12 h1{font-family:"Outfit", Sans-serif;font-weight:800;}.elementor-kit-12 h2{font-family:"Outfit", Sans-serif;font-weight:800;}.elementor-kit-12 h3{color:#FFFFFF;font-family:"Outfit", Sans-serif;font-weight:800;}.elementor-kit-12 h4{font-family:"Outfit", Sans-serif;font-weight:800;}.elementor-kit-12 h5{font-family:"Outfit", Sans-serif;font-weight:800;}.elementor-kit-12 h6{font-family:"Outfit", Sans-serif;font-weight:800;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1240px;}.e-con{--container-max-width:1240px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* =====================================================================
   BUBBLES DESIGN SYSTEM  v2
   One stylesheet, one source of truth. Layers, in cascade order:
     0 Fonts+Tokens  Cairo (Arabic) @font-face; raw palette -> semantic roles, type, space, shape, motion
     1 Base          document, headings, links, focus, selection
     2 Surfaces      light / white / yellow / dark contexts (text + line colours)
     3 Layout        sections, wrap, grids, split, tiles
     4 Typography    display classes, lead, eyebrow, highlight, outline
     5 Components    buttons, cards, faq, forms, alerts, quiz, dashboard ...
     6 Chrome        header, language switcher, footer, floating controls
     7 Home          .bh homepage block (same tokens, same components)
     8 Locale        Arabic / RTL
     9 Motion        reveal, reduced motion
   Rules: components read semantic tokens only. Raw palette values appear
   once, in this block. Change a token here and it propagates everywhere.
   !important is kept only to win against Astra/Elementor (wrapper resets, the
   .bb-wrap width, select/submit fields, aspect ratios, Arabic tracking, reduced
   motion, hide utilities). Everything else is plain specificity.
   ===================================================================== */

/* ---------- FONTS ----------
   Outfit and DM Sans are registered by Elementor (local Google Fonts). Cairo, the Arabic family, is self-hosted from the same
   folder and only named under html[lang^="ar"], so FR / EN / ES pages never request it. One variable file per script subset. */
@font-face{font-family:'Cairo';font-style:normal;font-weight:200 900;font-display:swap;src:url(../google-fonts/fonts/cairo-0d2badd4.woff2) format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1}
@font-face{font-family:'Cairo';font-style:normal;font-weight:200 900;font-display:swap;src:url(../google-fonts/fonts/cairo-c23228f0.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Cairo';font-style:normal;font-weight:200 900;font-display:swap;src:url(../google-fonts/fonts/cairo-eb4f7cda.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* ---------- 0. TOKENS ---------- */
:root{
  /* palette (raw) */
  --bb-yellow-500:#FFD21F;--bb-yellow-100:#FFF1A8;
  --bb-ink-900:#111111;--bb-ink-700:#3A3A36;--bb-ink-500:#5C5C55;
  --bb-cream-50:#F7F5EF;--bb-cream-200:#E6E3DA;--bb-cream-400:#B9B6AC;
  --bb-white:#FFFFFF;--bb-stone-300:#D9D9D9;
  --bb-green-700:#17663F;--bb-green-50:#E1F4E8;
  --bb-red-700:#B3261E;--bb-red-50:#FDE7E4;
  --bb-amber-800:#7A4B00;--bb-amber-50:#FFEBC2;
  --bb-blue-700:#1E4A9E;--bb-blue-50:#E3ECFB;

  /* semantic colour: brand */
  --bb-color-brand-primary:var(--bb-yellow-500);
  --bb-color-brand-secondary:var(--bb-ink-900);
  --bb-color-accent:var(--bb-yellow-100);
  /* semantic colour: backgrounds + surfaces */
  --bb-color-bg-page:var(--bb-cream-50);
  --bb-color-bg-alt:var(--bb-white);
  --bb-color-bg-inverse:var(--bb-ink-900);
  --bb-color-bg-brand:var(--bb-yellow-500);
  --bb-color-surface:var(--bb-white);
  --bb-color-surface-inverse:var(--bb-ink-900);
  --bb-color-surface-muted:var(--bb-stone-300);
  --bb-color-header:rgba(247,245,239,.9);
  --bb-color-shade:rgba(17,17,17,.12);
  /* semantic colour: text */
  --bb-color-text:var(--bb-ink-900);
  --bb-color-text-secondary:var(--bb-ink-700);
  --bb-color-text-muted:var(--bb-ink-500);
  --bb-color-text-inverse:var(--bb-cream-50);
  --bb-color-text-inverse-body:var(--bb-cream-200);
  --bb-color-text-inverse-muted:var(--bb-cream-400);
  /* semantic colour: lines + focus */
  --bb-color-border:var(--bb-ink-900);
  --bb-color-border-subtle:rgba(17,17,17,.14);
  --bb-color-border-inverse:rgba(247,245,239,.22);
  --bb-color-focus:var(--bb-ink-900);
  --bb-color-focus-inverse:var(--bb-yellow-500);
  /* semantic colour: functional (always paired with an icon + words) */
  --bb-color-success:var(--bb-green-700);--bb-color-success-bg:var(--bb-green-50);
  --bb-color-error:var(--bb-red-700);--bb-color-error-bg:var(--bb-red-50);
  --bb-color-warning:var(--bb-amber-800);--bb-color-warning-bg:var(--bb-amber-50);
  --bb-color-info:var(--bb-blue-700);--bb-color-info-bg:var(--bb-blue-50);
  --bb-color-disabled:#6B6B66;--bb-color-disabled-bg:#E9E7E0;

  /* type: families, weights */
  --bb-font-display:'Outfit',system-ui,-apple-system,sans-serif;
  --bb-font-body:'DM Sans',system-ui,-apple-system,sans-serif;
  --bb-font-arabic:'Cairo','DM Sans',system-ui,sans-serif;
  --bb-fw-regular:400;--bb-fw-medium:600;--bb-fw-bold:700;--bb-fw-black:800;
  /* type: fluid scale (360px -> 1440px viewport) */
  --bb-fs-display:clamp(2.75rem,1rem + 9vw,9rem);
  --bb-fs-h1:clamp(2.4rem,1rem + 5vw,5.25rem);
  --bb-fs-h2:clamp(2rem,1rem + 3.6vw,4rem);
  --bb-fs-h3:clamp(1.75rem,.9rem + 2.4vw,3rem);
  --bb-fs-h4:clamp(1.2rem,1.05rem + .8vw,1.5rem);
  --bb-fs-h5:clamp(1.1rem,1rem + .4vw,1.3rem);
  --bb-fs-lead:clamp(1.05rem,1rem + .5vw,1.3rem);
  --bb-fs-body:1.0625rem;
  --bb-fs-small:.9375rem;
  --bb-fs-caption:.85rem;
  --bb-fs-label:.8rem;
  --bb-fs-micro:.72rem;
  --bb-fs-button:clamp(.95rem,.9rem + .25vw,1.0625rem);
  --bb-fs-field:1rem;
  /* type: line height + tracking */
  --bb-lh-display:1.04;--bb-lh-heading:1.1;--bb-lh-snug:1.25;--bb-lh-ui:1.4;--bb-lh-body:1.65;--bb-lh-prose:1.75;
  --bb-ls-display:-.025em;--bb-ls-heading:-.02em;--bb-ls-title:-.01em;--bb-ls-label:.08em;--bb-ls-eyebrow:.1em;

  /* space: 4px base */
  --bb-space-1:4px;--bb-space-2:8px;--bb-space-3:12px;--bb-space-4:16px;--bb-space-5:20px;--bb-space-6:24px;
  --bb-space-7:32px;--bb-space-8:40px;--bb-space-9:48px;--bb-space-10:64px;--bb-space-11:80px;--bb-space-12:96px;
  /* space: fluid roles */
  --bb-gutter:clamp(20px,4vw,72px);
  --bb-space-section:clamp(44px,4.4vw,70px);
  --bb-space-section-lg:clamp(56px,7vw,96px);
  --bb-space-grid:clamp(16px,2.4vw,28px);
  --bb-space-split:clamp(28px,5vw,72px);
  --bb-space-card:clamp(22px,1.6vw + 8px,32px);
  --bb-space-card-sm:clamp(20px,1.2vw + 8px,26px);
  /* layout widths (breakpoints in CSS: 767 / 1024 / 1320) */
  --bb-w-page:1400px;--bb-w-prose:780px;--bb-w-narrow:1000px;--bb-w-quiz:900px;
  --bb-w-lead:46ch;--bb-w-measure:64ch;

  /* shape */
  --bb-radius-pill:999px;--bb-radius-card:24px;--bb-radius-field:16px;--bb-radius-xs:6px;
  --bb-border-w:2px;--bb-border-w-thin:1.5px;--bb-hairline:1px;
  --bb-border:var(--bb-border-w) solid var(--bb-color-border);
  /* hard offset shadows (colour is supplied at the point of use) */
  --bb-shadow-sm:3px 3px 0 0;--bb-shadow-md:4px 4px 0 0;--bb-shadow-lg:8px 8px 0 0;
  /* stacking */
  --bb-z-raised:3;--bb-z-sticky:90;--bb-z-float:95;--bb-z-header:100;--bb-z-skip:300;

  /* motion */
  --bb-dur-fast:160ms;--bb-dur-base:260ms;--bb-dur-slow:420ms;--bb-dur-reveal:700ms;
  --bb-ease:cubic-bezier(.2,.7,.2,1);
  --bb-ease-spring:cubic-bezier(.34,1.45,.64,1);
  --bb-tilt:-1.5deg;
  /* marker highlight geometry (Arabic overrides it: taller glyph box) */
  --bb-mark-y:.2em;--bb-mark-h:.92em;
}

/* ---------- 1. BASE ---------- */
html{scroll-behavior:smooth}
body{background:var(--bb-color-bg-page);color:var(--bb-color-text);font-family:var(--bb-font-body);font-size:var(--bb-fs-body);line-height:var(--bb-lh-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
@supports(overflow:clip){body{overflow-x:clip}}
html body[class]{background-color:var(--bb-color-bg-page)!important} /* Astra paints <body> white */
::selection{background:var(--bb-color-brand-primary);color:var(--bb-color-text)}
h1,h2,h3,h4,h5,h6{font-family:var(--bb-font-display);font-weight:var(--bb-fw-black);letter-spacing:-.03em;line-height:1;margin:0}
/* focus ring: one rule for every control. Colour comes from the surface (--bb-ring): ink on light, yellow on dark. Specificity beats Astra/Elementor's own :focus outlines. */
html body :is(a,button,summary,input,textarea,select,[tabindex],[role=button]):focus-visible{outline:3px solid var(--bb-ring,var(--bb-color-focus));outline-offset:3px}
#main-content{scroll-margin-top:90px}
/* one skip link only: Astra's grey one is replaced by .bb-skip (translated, on-brand) */
.skip-link{display:none!important}

/* ---------- 2. SURFACES ----------
   Every surface declares how text, lines and rings look ON it.
   Components read these variables, so a component works on any surface. */
:root,.bb-sec,.bb-white,.bb-yellow,.bb-card,.bb-card--y,.bb-tile,.bb-you,.bb-dash,.bb-quiz,.bb-map,.bb-cmp,.bh{
  --bb-surface:var(--bb-color-bg-page);
  --bb-on:var(--bb-color-text);
  --bb-on-body:var(--bb-color-text);
  --bb-on-sub:var(--bb-color-text-secondary);
  --bb-on-muted:var(--bb-color-text-muted);
  --bb-line:var(--bb-color-border);
  --bb-accent-line:var(--bb-color-border);
  --bb-ring:var(--bb-color-focus);
}
.bb-white,.bb-card,.bb-tile,.bb-you,.bb-dash,.bb-quiz,.bb-map,.bb-cmp{--bb-surface:var(--bb-color-surface)}
.bb-yellow,.bb-card--y{--bb-surface:var(--bb-color-bg-brand)}
.bb-dark,.bb-card--k,.bb-tiles--k .bb-tile,.bb-us,.bh-mq{
  --bb-surface:var(--bb-color-bg-inverse);
  --bb-on:var(--bb-color-text-inverse);
  --bb-on-body:var(--bb-color-text-inverse-body);
  --bb-on-sub:var(--bb-color-text-inverse-body);
  --bb-on-muted:var(--bb-color-text-inverse-muted);
  --bb-line:var(--bb-color-text-inverse);
  --bb-accent-line:var(--bb-color-brand-primary);
  --bb-ring:var(--bb-color-focus-inverse);
}
.bb-sec,.bb-card,.bb-tile,.bb-you,.bb-us,.bb-dash,.bb-quiz,.bb-map,.bb-cmp{color:var(--bb-on-body);background-color:var(--bb-surface)}
.bb-sec{position:relative;overflow:hidden;width:100%}

/* text colour follows the surface (Elementor + Astra paint their own greys/blues) */
body .elementor{color:var(--bb-on-body)}
body .elementor :is(h1,h2,h3,h4,h5,h6),body .elementor .elementor-heading-title{color:var(--bb-on)}
body .elementor .elementor-widget-text-editor,body .elementor .elementor-widget-text-editor :is(p,li,strong,em,span){color:var(--bb-on-body)}
body .elementor .elementor-widget-text-editor p{margin:0 0 .85em;line-height:var(--bb-lh-body)}
body .elementor .elementor-widget-text-editor p:last-child{margin-bottom:0}

/* in-copy links: ink underline (visible without colour), yellow fill on hover */
body .elementor :is(.elementor-widget-text-editor,.bb-faq,.bb-a) a,
body .elementor .elementor-widget-html :is(ul,ol,p) a:not([class]){color:var(--bb-on);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.2em;text-decoration-color:currentColor;transition:background-color var(--bb-dur-fast) var(--bb-ease)}
body .elementor :is(.elementor-widget-text-editor,.bb-faq,.bb-a) a:hover,
body .elementor .elementor-widget-html :is(ul,ol,p) a:not([class]):hover{background:var(--bb-color-brand-primary);color:var(--bb-color-text)}
body .elementor :is(.bb-dark,.bb-card--k) :is(.elementor-widget-text-editor,.elementor-widget-html :is(ul,ol,p)) a:not(.elementor-button){color:var(--bb-color-brand-primary)}
body .elementor :is(.bb-dark,.bb-card--k) :is(.elementor-widget-text-editor,.elementor-widget-html :is(ul,ol,p)) a:not(.elementor-button):hover{background:var(--bb-color-brand-primary);color:var(--bb-color-text)}

/* ---------- 3. LAYOUT ---------- */
/* Astra's 1240px content wrapper is removed on Elementor full-width pages so sections go full-bleed */
.elementor-template-full-width #content .ast-container,.elementor-template-full-width .site-content .ast-container{max-width:none!important;width:100%!important;padding:0!important;margin:0!important;display:block!important}
.elementor-template-full-width #content,.elementor-template-full-width #primary{padding:0!important;margin:0!important;max-width:none!important}
.elementor-location-header{position:sticky;top:0;z-index:var(--bb-z-header);width:100%;flex:0 0 auto;align-self:stretch}
body .e-con.bb-wrap{width:100%!important;max-width:var(--bb-w-page)!important;margin-inline:auto;padding-inline:0!important;position:relative;z-index:2}
body .bb-sec,body .bb-header{padding-inline:var(--bb-gutter)}  /* section gutter, one value for the whole site */
body .bb-sec:not(#main-content){padding-block:var(--bb-space-section)}
body #main-content.bb-sec:not(.bb-hero){padding-top:clamp(36px,4.5vw,64px);padding-bottom:clamp(20px,2.5vw,36px)}
/* Elementor gives every nested container 10px padding; inside a section only cards and the footer grid keep padding */
body .bb-sec .e-con:where(:not(.bb-card):not(.bb-card__body):not(.bb-sec):not(.bb-foot)){--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;padding:0}
body .bb-sec .e-con.bb-card:not(.bb-card--still){padding:0}
body .e-con.bb-row{padding:0}
body .elementor .e-con{min-width:0}
.elementor-location-footer>.e-parent:not(.bb-sec){padding:0;min-height:0;margin:0}
body [data-elementor-type="wp-page"]>.e-parent:not(.bb-sec):has(>.elementor-widget-html:only-child){padding:0;min-height:0}

.e-con.bb-g2,.e-con.bb-g3,.e-con.bb-g4{display:grid;gap:var(--bb-space-grid)}
.e-con.bb-g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.e-con.bb-g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.e-con.bb-g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.e-con.bb-split{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--bb-space-split);align-items:center}
.e-con.bb-split--rev{grid-template-columns:.95fr 1.05fr}
/* a text column that used to sit beside a picture: one readable column, left-aligned */
body .e-con.bb-solo{max-width:var(--bb-w-prose)}
body .bb-split:not(:has(>.elementor-widget)){align-items:start}
.e-con.bb-row{flex-direction:row;flex-wrap:wrap;gap:var(--bb-space-4);align-items:center}
.bb-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--bb-space-grid)}
.bb-ledger{display:grid;grid-template-columns:1fr 1fr;gap:var(--bb-space-grid)}
/* grids never end on an orphan: odd counts re-flow on desktop + tablet */
@media(min-width:1025px){
  body .e-con.bb-g3:has(>:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
  body .e-con.bb-g3:has(>:nth-child(5):last-child){grid-template-columns:repeat(6,minmax(0,1fr))}
  body .e-con.bb-g3:has(>:nth-child(5):last-child)>*{grid-column:span 2}
  body .e-con.bb-g3:has(>:nth-child(5):last-child)>:nth-child(n+4){grid-column:span 3}
  body .e-con.bb-g3.bb-steps:has(>:nth-child(5):last-child){grid-template-columns:repeat(5,minmax(0,1fr))}
  body .e-con.bb-g3.bb-steps:has(>:nth-child(5):last-child)>*{grid-column:auto}
  body .e-con.bb-g3:has(>:nth-child(7):last-child){grid-template-columns:repeat(12,minmax(0,1fr))}
  body .e-con.bb-g3:has(>:nth-child(7):last-child)>*{grid-column:span 3}
  body .e-con.bb-g3:has(>:nth-child(7):last-child)>:nth-child(n+5){grid-column:span 4}
  body .e-con.bb-g3:has(>:nth-child(10):last-child)>:nth-child(10){grid-column:1/-1}
  body .bb-tiles:has(>:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:768px) and (max-width:1024px){
  body .e-con.bb-g3>:last-child:nth-child(odd),body .e-con.bb-g4>:last-child:nth-child(odd),body .bb-tiles>:last-child:nth-child(odd){grid-column:1/-1}
}
@media(max-width:1024px){
  .e-con.bb-g3,.e-con.bb-g4,.bb-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .e-con.bb-split,.e-con.bb-split--rev{grid-template-columns:1fr}
}
@media(max-width:767px){
  .e-con.bb-g2,.e-con.bb-g3,.e-con.bb-g4,.bb-tiles,.bb-ledger{grid-template-columns:1fr}
}

/* ---------- 4. TYPOGRAPHY ---------- */
/* display classes sit on the Elementor widget wrapper; they set size, leading and tracking only */
body .elementor .bb-h1 .elementor-heading-title,body .elementor .bb-h1.bb-h1--s .elementor-heading-title{font-size:var(--bb-fs-h1);line-height:1.05;letter-spacing:var(--bb-ls-display)}
body .elementor .bb-h2 .elementor-heading-title{font-size:var(--bb-fs-h2);line-height:var(--bb-lh-heading);letter-spacing:var(--bb-ls-heading)}
body .elementor .bb-h2.bb-h2--m .elementor-heading-title{font-size:var(--bb-fs-h3);line-height:1.12}
body .elementor .bb-h3 .elementor-heading-title{font-size:var(--bb-fs-h4);line-height:1.2;letter-spacing:var(--bb-ls-title)}
body .elementor .bb-foot-big .elementor-heading-title{font-size:var(--bb-fs-display);line-height:var(--bb-lh-display);letter-spacing:-.03em;color:var(--bb-color-brand-primary)}
body .elementor :is(.bb-h1,.bb-h2,.bb-h3,.bb-foot-big) .elementor-heading-title{hyphens:auto}
body .elementor :is(h1,h2,h3,.elementor-heading-title){overflow-wrap:break-word;word-break:normal;text-wrap:balance}
.bb-lead,body .elementor .elementor-widget.bb-lead{font-size:var(--bb-fs-lead)}
body .elementor .elementor-widget.bb-lead p{margin:0;font-size:inherit;line-height:1.55;max-width:var(--bb-w-lead)}
body .elementor .bb-center .elementor-widget.bb-lead p{margin-inline:auto}
.bb-center{text-align:center;align-items:center}
.bb-body{max-width:56ch}
.bb-body p{margin:0}
body .elementor .elementor-widget.bb-meta p{margin:0;font-size:var(--bb-fs-small);font-weight:var(--bb-fw-bold);line-height:var(--bb-lh-ui)}

/* eyebrow: the label above a heading. One style everywhere. */
body .elementor .elementor-widget.bb-eyebrow p,.bh .bh-eyebrow{display:inline-block;max-width:100%;margin:0;padding:.5em 1.05em;border:var(--bb-border-w) solid var(--bb-accent-line);border-radius:var(--bb-radius-pill);background:var(--bb-color-brand-primary);color:var(--bb-color-text);font:var(--bb-fw-bold) var(--bb-fs-label)/1.3 var(--bb-font-body);letter-spacing:.09em;text-transform:uppercase;transform:rotate(-2deg)}
.bb-eyebrow{margin-bottom:18px}
.bb-crumb{font:var(--bb-fw-medium) var(--bb-fs-caption)/var(--bb-lh-ui) var(--bb-font-body);display:flex;flex-wrap:wrap;gap:.4em;align-items:center;margin-bottom:22px}
body .elementor .bb-crumb a{color:var(--bb-on);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.2em}
body .elementor .bb-crumb a:hover{background:var(--bb-color-brand-primary);color:var(--bb-color-text)}

/* highlight: yellow marker behind the phrase that carries the message */
body .elementor .bb-hl{background:linear-gradient(var(--bb-color-brand-primary),var(--bb-color-brand-primary)) no-repeat 0 var(--bb-mark-y)/100% var(--bb-mark-h);color:var(--bb-color-text);padding:0 .14em;border-radius:0;-webkit-box-decoration-break:clone;box-decoration-break:clone}
body .elementor .bb-yellow .bb-hl{background:var(--bb-color-brand-secondary);color:var(--bb-color-brand-primary);padding:.02em .16em .06em;border-radius:.12em}
/* outline: hollow display type. Fill = current surface, so overlapping font contours never show */
body .elementor .bb-out{color:var(--bb-surface);-webkit-text-stroke:max(3px,.045em) var(--bb-accent-line);paint-order:stroke fill}
.bb-tbc{background:var(--bb-color-brand-primary);color:var(--bb-color-text);padding:.05em .4em;border-radius:var(--bb-radius-xs);font-weight:var(--bb-fw-bold);font-size:.92em}
.bb-nw{white-space:nowrap}

/* long-form prose (legal, resources): one readable column */
body .elementor .bb-sec>.bb-wrap>.elementor-widget-text-editor:only-child{max-width:var(--bb-w-prose)}
body .elementor .bb-sec>.bb-wrap>.elementor-widget-text-editor:only-child h3{font-size:clamp(1.2rem,1rem + .6vw,1.5rem);font-weight:var(--bb-fw-bold);line-height:1.2;margin:2em 0 .5em}
body .elementor .bb-sec>.bb-wrap>.elementor-widget-text-editor:only-child h3:first-child{margin-top:0}
body .elementor .bb-sec>.bb-wrap>.elementor-widget-text-editor:only-child p{font-size:1.05rem;line-height:var(--bb-lh-prose);margin:0 0 1em}
body.page-id-4493 .bb-faq,body.page-id-4493 .bb-faq-group{max-width:var(--bb-w-narrow)}

/* ---------- 5. COMPONENTS ---------- */

/* 5.1 Button  (.bb-btn on the Elementor button widget)
   default = inverse (ink on light, cream on dark) | --y = the one main action | --ghost = outline, secondary
   states: rest, hover (lift + tilt), active (press), focus-visible (global ring), visited, disabled */
body .elementor .bb-btn .elementor-button,body .elementor .bb-form .elementor-button{
  background:var(--bb-line);color:var(--bb-surface);
  border:var(--bb-border-w) solid var(--bb-line);border-radius:var(--bb-radius-pill);
  padding:1em 1.8em;font:var(--bb-fw-medium) var(--bb-fs-button)/1.2 var(--bb-font-display);letter-spacing:var(--bb-ls-title);
  text-align:center;white-space:normal;max-width:100%;
  box-shadow:0 0 0 0 var(--bb-color-brand-primary);
  transition:transform var(--bb-dur-slow) var(--bb-ease-spring),box-shadow var(--bb-dur-slow) var(--bb-ease-spring),background-color var(--bb-dur-base),color var(--bb-dur-base)}
body .elementor .bb-btn--y .elementor-button,body .elementor .bb-form .elementor-button{
  background:var(--bb-color-brand-primary);color:var(--bb-color-text);border-color:var(--bb-accent-line);
  box-shadow:var(--bb-shadow-md) var(--bb-line)}
body .elementor .bb-form .elementor-button,body .elementor .bb-form .elementor-button .elementor-button-text{color:var(--bb-color-text)!important;font-weight:var(--bb-fw-bold)}
body .elementor .bb-btn--ghost .elementor-button{background:transparent;color:var(--bb-on);border-color:var(--bb-line);box-shadow:none}
body .elementor .bb-btn .elementor-button:visited{color:var(--bb-surface)}
body .elementor .bb-btn--y .elementor-button:visited{color:var(--bb-color-text)}
body .elementor .bb-btn--ghost .elementor-button:visited{color:var(--bb-on)}
body .elementor .bb-btn .elementor-button:active,body .elementor .bb-form .elementor-button:active{transform:scale(.97)}
@media(hover:hover){
  body .elementor .bb-btn .elementor-button:hover{transform:translateY(-4px) rotate(var(--bb-tilt));box-shadow:0 6px 0 0 var(--bb-color-brand-primary);background:var(--bb-line);color:var(--bb-surface)}
  body .elementor .bb-btn--y .elementor-button:hover,body .elementor .bb-form .elementor-button:hover{background:var(--bb-color-brand-primary);color:var(--bb-color-text);box-shadow:var(--bb-shadow-lg) var(--bb-line);transform:translate(-3px,-3px) rotate(-1deg)}
  body .elementor .bb-btn--ghost .elementor-button:hover{background:var(--bb-line);color:var(--bb-surface);box-shadow:none;transform:translateY(-4px) rotate(var(--bb-tilt))}
}
body .elementor .bb-btn .elementor-button:is([disabled],[aria-disabled=true]),body .elementor .bb-form .elementor-button:is([disabled],[aria-disabled=true]){background:var(--bb-color-disabled-bg);color:var(--bb-color-disabled)!important;border-color:var(--bb-color-disabled);box-shadow:none;transform:none;cursor:not-allowed}
@media(max-width:767px){body .elementor .bb-btn .elementor-button{padding:.95em 1.5em}}

/* 5.2 Tertiary link + in-component "go" link */
html body :is(.bh-link,.bb-tile__go){font:var(--bb-fw-bold) var(--bb-fs-small)/var(--bb-lh-snug) var(--bb-font-display);color:var(--bb-on);text-decoration:underline;text-decoration-color:var(--bb-color-brand-primary);text-decoration-thickness:3px;text-underline-offset:.25em;transition:text-decoration-color var(--bb-dur-fast) var(--bb-ease)}
.bh-link{display:inline-block}
.bb-tile__go{margin-top:auto;padding-top:6px}
@media(hover:hover){.bh-link:hover,.bb-tile:hover .bb-tile__go{text-decoration-color:var(--bb-on)}}

/* 5.3 Badges: chip (tag) + numeral (circle) */
.bb-chips p{margin:0;display:flex;flex-wrap:wrap;gap:var(--bb-space-2)}
body .elementor .bb-chip{display:inline-block;padding:.35em .85em;border:var(--bb-border-w) solid var(--bb-line);border-radius:var(--bb-radius-pill);font:var(--bb-fw-bold) var(--bb-fs-label)/1.25 var(--bb-font-body)}
body .elementor .elementor-widget.bb-num p,.bb-tile__n{display:grid;place-items:center;width:var(--_s,58px);height:var(--_s,58px);margin:0;border-radius:50%;background:var(--bb-color-brand-primary);border:var(--bb-border-w) solid var(--bb-accent-line);color:var(--bb-color-text);font:var(--bb-fw-black) var(--_f,1.5rem)/1 var(--bb-font-display)}
.bb-tile__n{--_s:46px;--_f:1.05rem}
body .elementor .bb-steps .elementor-widget.bb-num p{margin-bottom:4px}

/* 5.4 Card (static container) + tile (link card) */
.e-con.bb-card{background:var(--bb-surface);color:var(--bb-on-body);border:var(--bb-border);border-radius:var(--bb-radius-card);overflow:hidden}
.bb-card p{margin:0}
.bb-card .bb-ph{border:0;border-bottom:var(--bb-border);border-radius:0;aspect-ratio:4/3}
body .elementor .bb-card__body{padding:var(--bb-space-card)}
/* dark cards inside dark sections become open columns with a hairline: no box on a box */
body .bb-dark .e-con.bb-card--k{background:transparent;border:0;border-top:var(--bb-border-w) solid var(--bb-color-border-inverse);border-radius:0;box-shadow:none}
body .bb-dark .bb-steps{row-gap:clamp(20px,3vw,40px)}
body .elementor .bb-dark .e-con.bb-card--k .bb-card__body{padding:26px 0 6px;padding-inline-end:28px}
.bb-tile{position:relative;display:flex;flex-direction:column;gap:10px;border:var(--bb-border);border-radius:var(--bb-radius-card);padding:clamp(22px,2.6vw,32px);color:var(--bb-on-body);text-decoration:none;transition:transform var(--bb-dur-slow) var(--bb-ease-spring),box-shadow var(--bb-dur-slow) var(--bb-ease-spring)}
body .elementor .bb-tile h3{font:var(--bb-fw-black) var(--bb-fs-h4)/1.2 var(--bb-font-display);letter-spacing:var(--bb-ls-title);margin:0;color:var(--bb-on)}
body .elementor .bb-tile p{margin:0;color:var(--bb-on-body);line-height:1.55}
@media(hover:hover){.bb-tile:hover,.bb-tile:focus-visible{transform:translateY(-6px) rotate(-.6deg);box-shadow:var(--bb-shadow-lg) var(--bb-color-border)}}

/* 5.5 Ledger (you keep / we run) + check list */
.bb-ledger>div{border:var(--bb-border);border-radius:var(--bb-radius-card);padding:clamp(22px,3vw,38px)}
body .elementor .bb-ledger h3{font:var(--bb-fw-black) clamp(1.4rem,1.2rem + 1vw,2rem)/1.15 var(--bb-font-display);letter-spacing:var(--bb-ls-heading);margin:0 0 18px;color:var(--bb-on)}
.bb-checks{list-style:none;margin:0;padding:0;display:grid;gap:var(--bb-space-3)}
.bb-checks li{position:relative;padding-inline-start:2em;line-height:1.5}
body .elementor .bb-checks li{color:var(--bb-on-body)}
.bb-checks li::before{content:'';position:absolute;inset-inline-start:0;top:.25em;width:1.1em;height:1.1em;border-radius:50%;background:var(--bb-color-brand-primary);border:var(--bb-border-w) solid var(--bb-accent-line)}

/* 5.6 Accordion (FAQ) */
.bb-faq details{background:var(--bb-color-surface);border:var(--bb-border);border-radius:var(--bb-radius-card);margin:0 0 14px;transition:background-color var(--bb-dur-base),box-shadow var(--bb-dur-base)}
.bb-faq details[open]{background:var(--bb-color-accent)}
@media(hover:hover){.bb-faq details:not([open]):hover{box-shadow:var(--bb-shadow-md) var(--bb-color-border)}}
body .elementor .bb-faq summary{cursor:pointer;list-style:none;padding:22px 26px;font:var(--bb-fw-bold) 1.15rem/var(--bb-lh-snug) var(--bb-font-display);display:flex;justify-content:space-between;align-items:center;gap:var(--bb-space-4);color:var(--bb-color-text)}
.bb-faq summary::-webkit-details-marker{display:none}
.bb-faq summary::after{content:'+';flex:0 0 38px;height:38px;border-radius:50%;background:var(--bb-color-brand-primary);border:var(--bb-border);display:grid;place-items:center;font-size:1.4rem;line-height:1;transition:transform var(--bb-dur-base) var(--bb-ease-spring),background-color var(--bb-dur-base)}
.bb-faq details[open] summary::after{transform:rotate(45deg);background:var(--bb-color-brand-secondary);color:var(--bb-color-brand-primary)}
.bb-faq .bb-a{padding:0 26px 24px;max-width:var(--bb-w-measure)}
.bb-faq .bb-a p{margin:0 0 .7em}
@media(max-width:767px){body .elementor .bb-faq summary{font-size:1.05rem;padding:18px 20px}.bb-faq .bb-a{padding:0 20px 20px}}
.bb-faq-group{font:var(--bb-fw-bold) var(--bb-fs-label)/1 var(--bb-font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--bb-on-muted);margin:34px 0 14px;display:flex;align-items:center;gap:var(--bb-space-3)}
.bb-faq-group::before{content:"";width:22px;height:3px;background:var(--bb-color-brand-primary);box-shadow:0 0 0 var(--bb-hairline) var(--bb-color-border);border-radius:var(--bb-radius-xs)}
.bb-faq-group:first-child{margin-top:0}

/* 5.7 Forms (Elementor form widget inside .bb-form)
   one field height (52px), one radius, 2px ink border; focus = ink ring; invalid = error colour + icon + words */
.bb-form .elementor-field-label,body .elementor .bb-form .elementor-field-label{font:var(--bb-fw-bold) var(--bb-fs-label)/1 var(--bb-font-body);letter-spacing:var(--bb-ls-label);text-transform:uppercase;margin-bottom:var(--bb-space-2);color:var(--bb-color-text)}
.bb-form .elementor-field-group .elementor-field{background:var(--bb-color-surface);border:var(--bb-border);border-radius:var(--bb-radius-field);box-shadow:none;padding:15px 18px;font:inherit;color:var(--bb-color-text)}
body .elementor .bb-form :is(.elementor-field-textual,select){color:var(--bb-color-text);background:var(--bb-color-surface);font-size:var(--bb-fs-field);line-height:var(--bb-lh-ui)}
body .elementor .bb-form input.elementor-field-textual:not([type=file]):not([type=checkbox]):not([type=radio]):not([type=hidden]){height:52px!important;min-height:52px!important;padding-block:0!important;line-height:normal!important}
body .elementor .bb-form .elementor-field-textual::placeholder{color:var(--bb-color-text-muted);opacity:1}
.bb-form .elementor-field-group .elementor-field:focus,.bb-form .elementor-field-group .elementor-field:focus-visible{outline:3px solid var(--bb-color-focus);outline-offset:2px}
/* select: the wrapper is the visible field, the native select sits inside it */
body .elementor .bb-form .elementor-select-wrapper{padding:0!important;position:relative}
body .elementor .bb-form .elementor-select-wrapper select{border:0!important;border-radius:var(--bb-radius-field)!important;box-shadow:none!important;width:100%;height:48px!important;min-height:48px!important;padding:0 46px 0 18px!important;line-height:normal!important;background-color:transparent!important;background-image:linear-gradient(45deg,transparent 50%,var(--bb-color-border) 50%),linear-gradient(135deg,var(--bb-color-border) 50%,transparent 50%)!important;background-position:calc(100% - 24px) 54%,calc(100% - 18px) 54%!important;background-size:6px 6px!important;background-repeat:no-repeat!important;-webkit-appearance:none;appearance:none}
body .elementor .bb-form .select-caret-down-wrapper{display:none!important}
body .elementor .bb-form .elementor-select-wrapper:focus-within{outline:3px solid var(--bb-color-focus);outline-offset:2px}
body .elementor .bb-form .elementor-select-wrapper select:focus{outline:0}  /* the wrapper shows the ring */
body .elementor .bb-form .elementor-button:focus-visible{outline:3px solid var(--bb-color-focus);outline-offset:3px}
/* checkbox + radio groups */
body .elementor .bb-form input[type=checkbox],body .elementor .bb-form input[type=radio]{accent-color:var(--bb-color-brand-secondary);width:18px;height:18px;margin-inline-end:8px;vertical-align:-3px}
body .elementor .bb-form .elementor-field-subgroup{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 18px}
body .elementor .bb-form .elementor-field-subgroup .elementor-field-option{margin:0;display:flex;align-items:center}
body .elementor .bb-form :is(.elementor-field-type-acceptance,.elementor-field-subgroup) label{color:var(--bb-color-text)}
.bb-form .elementor-field-type-acceptance label{font-weight:var(--bb-fw-regular);text-transform:none;letter-spacing:0;font-size:var(--bb-fs-small)}
/* file upload */
.bb-form .elementor-field-type-upload .elementor-field,.bb-form input[type=file]{padding:12px 14px;background:var(--bb-color-surface)}
body .bb-form input[type=file]::file-s65 lector-button,body .bb-form input[type=file]::-webkit-file-upload-button{font:var(--bb-fw-bold) .85rem/1 var(--bb-font-display);background:var(--bb-color-brand-primary);color:var(--bb-color-text);border:var(--bb-border);border-radius:var(--bb-radius-pill);padding:.5em 1em;margin-inline-end:var(--bb-space-3);cursor:pointer}

/* 5.8 Alerts: success, error, warning, info. Colour + icon + words, never colour alone.
   Elementor's form messages map onto the same component. */
.bb-alert,body .elementor .bb-form .elementor-message{--_c:var(--bb-color-info);--_bg:var(--bb-color-info-bg);display:flex;align-items:flex-start;gap:.65em;padding:12px 16px;margin-top:var(--bb-space-3);border:var(--bb-border-w) solid var(--_c);border-radius:var(--bb-radius-field);background:var(--_bg);color:var(--_c);font-weight:var(--bb-fw-medium);font-size:var(--bb-fs-small);line-height:var(--bb-lh-ui)}
.bb-alert::before,body .elementor .bb-form .elementor-message::before{content:"i";flex:none;display:grid;place-items:center;width:1.4em;height:1.4em;margin-top:.05em;border-radius:50%;background:var(--_c);color:var(--_bg);font:var(--bb-fw-black) .8em/1 var(--bb-font-display)}
.bb-alert--success,body .elementor .bb-form .elementor-message-success{--_c:var(--bb-color-success);--_bg:var(--bb-color-success-bg)}
.bb-alert--success::before,body .elementor .bb-form .elementor-message-success::before{content:"✓"}
.bb-alert--error,body .elementor .bb-form .elementor-message-danger{--_c:var(--bb-color-error);--_bg:var(--bb-color-error-bg)}
.bb-alert--error::before,body .elementor .bb-form .elementor-message-danger::before{content:"!"}
.bb-alert--warning{--_c:var(--bb-color-warning);--_bg:var(--bb-color-warning-bg)}
.bb-alert--warning::before{content:"!"}
/* field-level message: compact, under the field */
body .elementor .bb-form .elementor-field-group .elementor-message.elementor-help-inline{padding:0;margin-top:6px;border:0;background:transparent;font-size:var(--bb-fs-caption)}
body .elementor .bb-form .elementor-field-group .elementor-message.elementor-help-inline::before{width:1.25em;height:1.25em}
/* invalid field */
body .elementor .bb-form .elementor-field-group:is(.elementor-error,:has([aria-invalid=true])) .elementor-field,body .elementor .bb-form .elementor-field:is([aria-invalid=true],.elementor-error){border-color:var(--bb-color-error);background:var(--bb-color-error-bg)}
body .elementor .bb-form .elementor-field-group:is(.elementor-error,:has([aria-invalid=true])) .elementor-field-label{color:var(--bb-color-error)}
body .elementor .bb-form .elementor-field:disabled{background:var(--bb-color-disabled-bg);color:var(--bb-color-disabled);border-color:var(--bb-color-disabled);cursor:not-allowed}
.bb-prefill{border:var(--bb-border);border-radius:var(--bb-radius-field);background:var(--bb-color-accent);padding:12px 16px;font-weight:var(--bb-fw-medium);margin-bottom:14px;color:var(--bb-color-text)}

/* 5.9 Quiz ("Pop your property"): choice chips + progress dots */
.bb-quiz{border:var(--bb-border);border-radius:var(--bb-radius-card);box-shadow:var(--bb-shadow-lg) var(--bb-color-brand-primary);padding:clamp(22px,3.5vw,44px);max-width:var(--bb-w-quiz)}
.bb-quiz__top{display:flex;align-items:center;justify-content:space-between;gap:var(--bb-space-4);margin-bottom:22px;flex-wrap:wrap}
.bb-quiz__dots{display:flex;gap:var(--bb-space-2);flex-wrap:wrap}
.bb-quiz__dots i{width:14px;height:14px;border-radius:50%;border:var(--bb-border);background:var(--bb-color-surface);display:block;transition:background-color var(--bb-dur-base),transform var(--bb-dur-slow) var(--bb-ease-spring)}
.bb-quiz__dots i.on{background:var(--bb-color-brand-primary);transform:scale(1.25)}
.bb-quiz__dots i.done{background:var(--bb-color-brand-secondary)}
.bb-quiz__count{font:var(--bb-fw-bold) var(--bb-fs-label)/1 var(--bb-font-body);letter-spacing:var(--bb-ls-label);text-transform:uppercase}
body .elementor .bb-quiz h3{font:var(--bb-fw-black) clamp(1.5rem,1.2rem + 1.6vw,2.4rem)/1.12 var(--bb-font-display);letter-spacing:var(--bb-ls-heading);margin:0 0 20px;color:var(--bb-color-text)}
.bb-quiz__hint{margin:-8px 0 18px;font-size:var(--bb-fs-small);color:var(--bb-color-text)}
.bb-quiz__opts{display:flex;flex-wrap:wrap;gap:10px}
body .elementor .bb-quiz button{appearance:none;-webkit-appearance:none;cursor:pointer;background:var(--bb-color-surface);color:var(--bb-color-text);border:var(--bb-border);border-radius:var(--bb-radius-pill);padding:.75em 1.3em;font:var(--bb-fw-medium) 1rem/1.2 var(--bb-font-display);letter-spacing:0;box-shadow:none;transition:transform var(--bb-dur-base) var(--bb-ease-spring),background-color var(--bb-dur-fast),box-shadow var(--bb-dur-fast)}
@media(hover:hover){body .elementor .bb-quiz button:hover{background:var(--bb-color-accent);color:var(--bb-color-text);transform:translateY(-2px)}}
body .elementor .bb-quiz button[aria-pressed="true"]{background:var(--bb-color-brand-primary);color:var(--bb-color-text);box-shadow:var(--bb-shadow-sm) var(--bb-color-border)}
body .elementor .bb-quiz .bb-q-next,body .elementor .bb-quiz .bb-q-go{background:var(--bb-color-brand-secondary);color:var(--bb-color-text-inverse)}
@media(hover:hover){body .elementor .bb-quiz .bb-q-next:hover,body .elementor .bb-quiz .bb-q-go:hover{background:var(--bb-color-brand-secondary);color:var(--bb-color-text-inverse)}}
body .elementor .bb-quiz .bb-q-next[disabled]{opacity:.4;cursor:not-allowed;transform:none}
.bb-quiz__nav{display:flex;justify-content:space-between;gap:var(--bb-space-3);margin-top:28px;flex-wrap:wrap}
.bb-quiz input[type=number]{width:100%;max-width:320px;background:var(--bb-color-surface);color:var(--bb-color-text);border:var(--bb-border);border-radius:var(--bb-radius-field);padding:14px 18px;font:inherit;font-size:1.1rem}
.bb-qres{display:grid;gap:var(--bb-space-3);margin:0 0 22px}
.bb-qres div{border:var(--bb-border);border-radius:var(--bb-radius-field);padding:16px 18px;background:var(--bb-color-bg-page);color:var(--bb-color-text)}
.bb-qres b{display:block;font:var(--bb-fw-black) 1.1rem/1.25 var(--bb-font-display);margin-bottom:4px}
.bb-quiz__fine{font-size:var(--bb-fs-small);border-top:var(--bb-border);padding-top:16px;margin:0 0 22px}
.bb-quiz__acts{display:flex;gap:var(--bb-space-3);flex-wrap:wrap}
body .elementor .bb-quiz a.bb-q-link{display:inline-block;background:var(--bb-color-brand-primary);color:var(--bb-color-text);border:var(--bb-border);border-radius:var(--bb-radius-pill);padding:.85em 1.6em;font:var(--bb-fw-bold) 1.05rem/1.2 var(--bb-font-display);text-decoration:none;box-shadow:var(--bb-shadow-md) var(--bb-color-border);transition:transform var(--bb-dur-slow) var(--bb-ease-spring),box-shadow var(--bb-dur-slow) var(--bb-ease-spring)}
@media(hover:hover){body .elementor .bb-quiz a.bb-q-link:hover{box-shadow:var(--bb-shadow-lg) var(--bb-color-border);transform:translate(-3px,-3px)}}

/* 5.10 Dashboard preview (concept illustration, owner dashboard page) */
.bb-dash{border:var(--bb-border);border-radius:var(--bb-radius-card);box-shadow:var(--bb-shadow-lg) var(--bb-color-brand-primary);overflow:hidden}
.bb-dash__bar{display:flex;align-items:center;gap:var(--bb-space-2);padding:12px 18px;background:var(--bb-color-brand-secondary);color:var(--bb-color-text-inverse);font:var(--bb-fw-bold) var(--bb-fs-label)/1.2 var(--bb-font-body)}
.bb-dash__bar i{width:12px;height:12px;border-radius:50%;background:var(--bb-color-brand-primary);display:block;flex:none}
.bb-dash__bar i:nth-child(2){background:var(--bb-color-text-inverse)}.bb-dash__bar i:nth-child(3){background:var(--bb-color-surface-muted)}
.bb-dash__bar b{margin-inline-start:auto;font-weight:var(--bb-fw-bold);letter-spacing:.05em;text-transform:uppercase;color:var(--bb-color-brand-primary)}
.bb-dash__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:18px}
.bb-dash__card,.bb-dash__wide{border:var(--bb-border);border-radius:var(--bb-radius-field);padding:14px 16px;background:var(--bb-color-bg-page);color:var(--bb-color-text)}
.bb-dash__wide{grid-column:span 2;background:var(--bb-color-surface)}
.bb-dash small{display:block;font:var(--bb-fw-bold) var(--bb-fs-micro)/1.2 var(--bb-font-body);letter-spacing:var(--bb-ls-label);text-transform:uppercase;color:var(--bb-color-text)}
.bb-dash strong{display:block;font:var(--bb-fw-black) 1.9rem/1.1 var(--bb-font-display);margin-top:6px;color:var(--bb-color-text)}
.bb-bars{display:flex;align-items:flex-end;gap:6px;height:64px;margin-top:12px}
.bb-bars i{flex:1;background:var(--bb-color-surface-muted);border-radius:var(--bb-radius-xs) var(--bb-radius-xs) 0 0;display:block}
.bb-bars i:nth-child(odd){background:var(--bb-color-brand-primary);border:var(--bb-border);border-bottom:0}
.bb-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:12px}
.bb-cal i{aspect-ratio:1;border-radius:var(--bb-radius-xs);background:var(--bb-color-surface-muted);display:block}
.bb-cal i.on{background:var(--bb-color-brand-primary);border:var(--bb-border)}.bb-cal i.hold{background:var(--bb-color-brand-secondary)}
.bb-list{display:grid;gap:var(--bb-space-2);margin-top:12px}
.bb-list span{display:flex;align-items:center;gap:var(--bb-space-2);font:var(--bb-fw-medium) .9rem/1.3 var(--bb-font-body);color:var(--bb-color-text)}
.bb-list span::before{content:'';width:12px;height:12px;border-radius:50%;background:var(--bb-color-brand-primary);border:var(--bb-border);flex:none}
.bb-dash__note{padding:0 18px 18px;font:var(--bb-fw-medium) var(--bb-fs-caption)/var(--bb-lh-ui) var(--bb-font-body);color:var(--bb-color-text)}
@media(max-width:767px){.bb-dash__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bb-dash__bar b{font-size:var(--bb-fs-micro)}}

/* 5.11 Table (comparison) */
.bb-cmp{overflow-x:auto;border:var(--bb-border);border-radius:var(--bb-radius-card);-webkit-overflow-scrolling:touch}
.bb-cmp table{width:100%;border-collapse:collapse;min-width:680px;font-size:1rem;margin:0}
.bb-cmp th,.bb-cmp td{padding:18px 22px;text-align:start;border:0;border-bottom:var(--bb-border);vertical-align:top}
.bb-cmp thead th{font:var(--bb-fw-black) 1.15rem/1.1 var(--bb-font-display);background:var(--bb-color-brand-secondary);color:var(--bb-color-text-inverse);border-bottom:0}
.bb-cmp thead th:nth-child(2){background:var(--bb-color-brand-primary);color:var(--bb-color-text)}
.bb-cmp tbody th{font:var(--bb-fw-bold) 1rem/1.3 var(--bb-font-body);width:22%;background:var(--bb-color-surface);color:var(--bb-color-text)}
.bb-cmp tbody td{color:var(--bb-color-text)}
.bb-cmp tbody td:nth-child(2){background:var(--bb-color-accent);font-weight:var(--bb-fw-bold)}
.bb-cmp tbody tr:last-child :is(th,td){border-bottom:0}

/* 5.12 Image containers.
   .bb-ph is the placeholder AND the real-photo frame: put the photo on it as a background (or an <img class="bb-img">),
   keep the aspect ratio, never stretch. Focal point: --bb-focal (default centre). */
.e-con.bb-ph{position:relative;background-color:var(--bb-color-surface-muted);background-size:cover;background-position:var(--bb-focal,center);border:var(--bb-border);border-radius:var(--bb-radius-card);overflow:hidden;aspect-ratio:4/5;justify-content:center;align-items:center;min-height:160px}
.bb-ph--wide{aspect-ratio:16/10!important}.bb-ph--sq{aspect-ratio:1!important}.bb-ph--tall{aspect-ratio:3/4!important}
.bb-img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--bb-focal,center)}
.bb-ph-label p{margin:0;position:relative;z-index:1;background:var(--bb-color-surface);border:var(--bb-border);border-radius:var(--bb-radius-pill);padding:.45em 1em;font:var(--bb-fw-bold) var(--bb-fs-micro)/1 var(--bb-font-body);letter-spacing:var(--bb-ls-label);text-transform:uppercase;color:var(--bb-color-text)}
/* abstract placeholder art (until real photography replaces it): one ring motif, brand colours only */
.e-con.bb-ph::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 26% 24%,var(--bb-color-brand-primary) 0 9%,transparent 9.4%),radial-gradient(circle at 76% 72%,var(--bb-color-shade) 0 24%,transparent 24.4%),radial-gradient(circle at 62% 18%,var(--bb-color-surface) 0 4%,transparent 4.4%);pointer-events:none}
.e-con.bb-art::before{display:none}
.e-con.bb-art-1{background-color:var(--bb-color-brand-primary);background-image:radial-gradient(circle at 68% 36%,var(--bb-color-text) 0 16%,transparent 16.4%),radial-gradient(circle at 68% 36%,transparent 0 22%,var(--bb-color-text) 22.3% 23.6%,transparent 24%),radial-gradient(circle at 24% 76%,var(--bb-color-bg-page) 0 10%,transparent 10.4%),radial-gradient(circle at 34% 24%,var(--bb-color-text) 0 3.5%,transparent 4%)}
.e-con.bb-art-2{background-color:var(--bb-color-bg-inverse);background-image:radial-gradient(circle at 36% 58%,var(--bb-color-brand-primary) 0 24%,transparent 24.4%),radial-gradient(circle at 36% 58%,transparent 0 30%,var(--bb-color-bg-page) 30.3% 31.5%,transparent 32%),radial-gradient(circle at 78% 24%,var(--bb-color-bg-page) 0 7%,transparent 7.4%),radial-gradient(circle at 80% 80%,var(--bb-color-brand-primary) 0 4%,transparent 4.4%)}
.e-con.bb-art-3{background-color:var(--bb-color-bg-page);background-image:radial-gradient(circle at 60% 50%,var(--bb-color-brand-primary) 0 30%,transparent 30.4%),radial-gradient(circle at 60% 50%,transparent 0 36%,var(--bb-color-text) 36.3% 37.6%,transparent 38%),radial-gradient(circle at 24% 26%,var(--bb-color-text) 0 8%,transparent 8.4%),radial-gradient(circle at 80% 84%,var(--bb-color-text) 0 3.5%,transparent 4%)}
.e-con.bb-art-4{background-color:var(--bb-color-accent);background-image:radial-gradient(circle at 30% 40%,var(--bb-color-text) 0 12%,transparent 12.4%),radial-gradient(circle at 30% 40%,transparent 0 18%,var(--bb-color-text) 18.3% 19.5%,transparent 20%),radial-gradient(circle at 72% 68%,var(--bb-color-brand-primary) 0 20%,transparent 20.4%),radial-gradient(circle at 72% 68%,transparent 0 25%,var(--bb-color-text) 25.3% 26.5%,transparent 27%)}
.e-con.bb-art-5{background-color:var(--bb-color-bg-inverse);background-image:radial-gradient(circle at 64% 44%,transparent 0 22%,var(--bb-color-brand-primary) 22.3% 24.5%,transparent 25%),radial-gradient(circle at 64% 44%,var(--bb-color-bg-page) 0 14%,transparent 14.4%),radial-gradient(circle at 24% 70%,var(--bb-color-brand-primary) 0 9%,transparent 9.4%),radial-gradient(circle at 82% 82%,var(--bb-color-bg-page) 0 4%,transparent 4.4%)}
.e-con.bb-art-6{background-color:var(--bb-color-surface);background-image:radial-gradient(circle at 40% 62%,var(--bb-color-brand-primary) 0 26%,transparent 26.4%),radial-gradient(circle at 40% 62%,transparent 0 32%,var(--bb-color-text) 32.3% 33.6%,transparent 34%),radial-gradient(circle at 76% 26%,var(--bb-color-text) 0 10%,transparent 10.4%),radial-gradient(circle at 74% 24%,var(--bb-color-surface) 0 2.6%,transparent 3%)}
@media(max-width:767px){body .elementor .bb-split .e-con.bb-ph{aspect-ratio:16/10!important;min-height:0}}
.bb-map{border:var(--bb-border);border-radius:var(--bb-radius-card);overflow:hidden;background:var(--bb-color-surface-muted);aspect-ratio:4/3;box-shadow:var(--bb-shadow-lg) var(--bb-color-brand-primary)}
.bb-map iframe{display:block;width:100%;height:100%;border:0;filter:grayscale(.15) contrast(1.05)}

/* ---------- 6. CHROME: header, navigation, language switcher, footer, floating controls ---------- */
.bb-header{background:var(--bb-color-header);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:var(--bb-border)}
body .bb-header{width:100%;max-width:none;box-sizing:border-box}
.bb-logo-svg{display:inline-flex;color:var(--bb-color-text);transition:transform var(--bb-dur-slow) var(--bb-ease-spring)}
.bb-logo-svg svg{height:clamp(22px,2.9vw,31px);width:auto;display:block}
@media(hover:hover){.bb-logo-svg:hover{transform:rotate(-2deg) scale(1.05)}}
.bb-foot .bb-logo-svg{color:var(--bb-color-text-inverse)}
.bb-foot .bb-logo-svg svg{height:44px}
@media(min-width:1025px) and (max-width:1099px){.bb-foot .bb-logo-svg svg{height:40px}}

/* navigation */
.bb-nav .elementor-nav-menu--main .elementor-item{font:var(--bb-fw-medium) 1rem/1 var(--bb-font-display);color:var(--bb-color-text);padding:.7em 1.05em;border-radius:var(--bb-radius-pill);white-space:nowrap;transition:background-color var(--bb-dur-base),transform var(--bb-dur-slow) var(--bb-ease-spring)}
.bb-nav .elementor-nav-menu--main .elementor-item:hover,.bb-nav .elementor-nav-menu--main .elementor-item.elementor-item-active,body .elementor .bb-nav .elementor-nav-menu--main .elementor-item:focus{background:var(--bb-color-brand-primary);color:var(--bb-color-text);transform:rotate(-2deg)}
.bb-nav .elementor-nav-menu--dropdown{background:var(--bb-color-surface);border:var(--bb-border);border-radius:var(--bb-radius-card);overflow:hidden}
.bb-nav .elementor-nav-menu--dropdown a{font:var(--bb-fw-medium) 1.15rem/var(--bb-lh-snug) var(--bb-font-display);color:var(--bb-color-text);padding:16px 22px;white-space:normal}
.bb-nav .elementor-nav-menu--dropdown a:is(:hover,:focus,.elementor-item-active){background:var(--bb-color-brand-primary);color:var(--bb-color-text)}
.bb-nav .elementor-menu-toggle{background:var(--bb-color-brand-primary);border:var(--bb-border);border-radius:var(--bb-radius-pill);color:var(--bb-color-text)}
body .elementor .bb-nav .elementor-menu-toggle svg,body .elementor .bb-nav .elementor-menu-toggle svg path{fill:var(--bb-color-text)}
body .elementor .bb-nav .elementor-nav-menu--main .sub-menu{background:var(--bb-color-surface);border:var(--bb-border);border-radius:var(--bb-radius-field);padding:6px;min-width:190px;box-shadow:var(--bb-shadow-md) var(--bb-color-border)}
body .elementor .bb-nav .elementor-nav-menu--main .sub-menu a{color:var(--bb-color-text);font:var(--bb-fw-medium) var(--bb-fs-small)/var(--bb-lh-snug) var(--bb-font-display);letter-spacing:0;padding:.65em 1em;border-radius:calc(var(--bb-radius-field) - 6px);background:transparent;white-space:nowrap}
body .elementor .bb-nav .elementor-nav-menu--main .sub-menu :is(a:hover,a:focus,.elementor-item-active){background:var(--bb-color-brand-primary);color:var(--bb-color-text)}
@media(min-width:1025px) and (max-width:1320px){
  body .elementor .bb-nav .elementor-nav-menu--main .elementor-item{font-size:.9rem;padding:.5em .55em}
  body .elementor .bb-header .bb-btn .elementor-button{padding:.75em 1.1em;font-size:.9rem}
}
body .elementor .bb-header .bb-btn .elementor-button{padding:.85em 1.5em}

/* header layout: logo left, actions right, one row at every width */
@media(min-width:1025px){
  body .elementor .bb-header>.bb-wrap{flex-wrap:nowrap;align-items:center;justify-content:space-between;width:100%}
  body .elementor .bb-header>.bb-wrap>.elementor-widget-html{flex:0 0 auto;width:auto}
  body .elementor .bb-header>.bb-wrap>.e-con{flex:1 1 auto;width:auto;min-width:0;flex-wrap:wrap;justify-content:flex-end;align-items:center}
  body .elementor .bb-header .bb-nav{flex:0 1 auto;width:auto}
}
@media(max-width:1024px){
  body .elementor .bb-header>.bb-wrap{flex-wrap:nowrap;flex-direction:row;align-items:center;justify-content:space-between;width:100%;min-height:0;gap:var(--bb-space-2)}
  body .elementor .bb-header>.bb-wrap>.elementor-widget-html{flex:0 0 auto;width:auto}
  body .elementor .bb-header>.bb-wrap>.e-con{flex:0 0 auto;width:auto;min-width:0;justify-content:flex-end;margin-inline-start:auto;align-self:center;padding:0;min-height:0;gap:10px;flex-wrap:nowrap;align-items:center}
  body .elementor .bb-header .bb-nav,body .elementor .bb-header .bb-nav .elementor-menu-toggle{width:auto;margin:0}
  body .bb-header{padding-top:10px;padding-bottom:10px}
  body .bb-header .bb-logo-svg{align-self:center}
  /* 204px = language switcher + burger + gaps + gutters: mark and controls stay on one row down to 320px */
  body .bb-header .bb-logo-svg svg{height:clamp(20px,calc((100vw - 204px) / 5.1),29px)}
  body .elementor .bb-header .bb-langw{order:-1}
}

/* language switcher: FR / EN / ES / AR, always left-to-right */
.bb-langw{width:auto;flex:0 0 auto}
.bb-lang{display:inline-flex;align-items:center;gap:2px;padding:3px;border:var(--bb-border-w-thin) solid var(--bb-color-border);border-radius:var(--bb-radius-pill);background:var(--bb-color-surface);direction:ltr}
.bb-lang a{font:var(--bb-fw-bold) var(--bb-fs-micro)/1 var(--bb-font-display);letter-spacing:.06em;color:var(--bb-color-text);text-decoration:none;padding:.45em .6em;border-radius:var(--bb-radius-pill);transition:background-color var(--bb-dur-fast),color var(--bb-dur-fast)}
.bb-lang a:hover{background:var(--bb-color-brand-primary)}
.bb-lang a.is-cur{background:var(--bb-color-brand-secondary);color:var(--bb-color-brand-primary)}
@media(max-width:1024px){.bb-lang a{font-size:.68rem;padding:.4em .5em}}

/* footer (always on the dark surface) */
body .e-con.bb-g4.bb-foot{margin-top:var(--bb-space-8)}  /* air between the call-to-action row and the divider */
.bb-foot p{margin:0 0 .5em}
.bb-foot a{color:var(--bb-on);text-decoration:none;transition:color var(--bb-dur-fast)}
.bb-foot a:hover{color:var(--bb-color-brand-primary)}
body .elementor .bb-dark .bb-foot .elementor-widget-text-editor a:not(.elementor-button){color:var(--bb-on);text-decoration:none}
body .elementor .bb-dark .bb-foot .elementor-widget-text-editor a:not(.elementor-button):hover{color:var(--bb-color-text);background:var(--bb-color-brand-primary)}
body .elementor .bb-foot-h .elementor-heading-title{color:var(--bb-color-brand-primary);font:var(--bb-fw-bold) var(--bb-fs-label)/1.2 var(--bb-font-body);letter-spacing:var(--bb-ls-eyebrow);text-transform:uppercase}
@media(max-width:767px){
  body .e-con.bb-g4.bb-foot{grid-template-columns:1fr 1fr;gap:30px 18px}
  body .e-con.bb-g4.bb-foot>.e-con:first-child{grid-column:1/-1}
  body .bb-foot .bb-foot-h{margin-bottom:2px}
}
@media(min-width:768px) and (max-width:1024px){
  body .e-con.bb-g4.bb-foot{grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 24px}
  body .e-con.bb-g4.bb-foot>.e-con:first-child{grid-column:1/-1}
}

/* floating controls: skip link, WhatsApp, mobile call-to-action. Focus = white gap + ink ring: visible on any background. */
.bb-skip{position:fixed;left:12px;top:-80px;z-index:var(--bb-z-skip);background:var(--bb-color-brand-primary);color:var(--bb-color-text);border:var(--bb-border);border-radius:var(--bb-radius-pill);padding:.7em 1.2em;font:var(--bb-fw-bold) 1rem/1 var(--bb-font-display);text-decoration:none;box-shadow:var(--bb-shadow-md) var(--bb-color-border);transition:top var(--bb-dur-base)}
.bb-skip:focus{top:12px}
.bb-wa{position:fixed;right:16px;bottom:16px;z-index:var(--bb-z-float);width:58px;height:58px;border-radius:50%;background:var(--bb-color-brand-primary);border:var(--bb-border);box-shadow:var(--bb-shadow-md) var(--bb-color-border);display:grid;place-items:center;color:var(--bb-color-text);transition:transform var(--bb-dur-slow) var(--bb-ease-spring),box-shadow var(--bb-dur-slow) var(--bb-ease-spring)}
@media(hover:hover){.bb-wa:hover{transform:translate(-2px,-2px) rotate(-6deg);box-shadow:var(--bb-shadow-lg) var(--bb-color-border)}}
.bb-wa svg{width:30px;height:30px;fill:var(--bb-color-text)}
.bb-wa[hidden]{display:none!important}
.bb-sticky{display:none}
body a.bb-sticky,body a.bb-sticky:visited{color:var(--bb-color-text)}
@media(max-width:767px){
  .bb-wa{bottom:78px;right:14px;width:54px;height:54px}
  .bb-sticky{display:block;position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:var(--bb-z-sticky);background:var(--bb-color-brand-primary);border:var(--bb-border);border-radius:var(--bb-radius-pill);padding:.95em 1.8em;font:var(--bb-fw-bold) 1rem/1 var(--bb-font-display);box-shadow:var(--bb-shadow-md) var(--bb-color-border);text-decoration:none;white-space:nowrap}
}
html body :is(.bb-skip,.bb-wa,.bb-sticky):focus-visible{outline:3px solid var(--bb-color-border);outline-offset:3px;box-shadow:0 0 0 3px var(--bb-color-surface)}

/* ---------- 7. HOME (.bh): the homepage is one HTML widget, so it gets its own block. Same tokens, same components. ---------- */
.bh{font-family:var(--bb-font-body);font-size:var(--bb-fs-body);line-height:var(--bb-lh-body)}
.bh *{box-sizing:border-box}
.bh :where(p,ul,ol){margin:0;padding:0}
.bh :where(ul,ol){list-style:none}
body .elementor .bh :is(h1,h2,h3){font-family:var(--bb-font-display);font-weight:var(--bb-fw-black);margin:0}

/* surfaces of the home bands */
.bh-hero{--bb-surface:var(--bb-color-bg-page)}
.bh-sec,.bh-close{--bb-surface:var(--bb-color-bg-alt)}
.bh-sec.bh-sec--tint{--bb-surface:var(--bb-color-bg-page)}
.bh-hero,.bh-sec,.bh-close{background-color:var(--bb-surface)}
.bh-in{width:100%;max-width:calc(var(--bb-w-page) + 2 * var(--bb-gutter));margin-inline:auto;padding-inline:var(--bb-gutter)}
.bh-sec,.bh-close{padding-block:var(--bb-space-section-lg)}
.bh-hero{padding-block:var(--bb-space-section-lg)}

/* eyebrow: identical to the inner-page chip (see 4. Typography) */
.bh .bh-eyebrow{margin:0 0 18px}

/* hero */
.bh-hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(32px,5vw,96px);align-items:center}
body .elementor .bh .bh-hero h1{font-size:var(--bb-fs-h1);line-height:1.05;letter-spacing:var(--bb-ls-display);margin-bottom:var(--bb-space-6);overflow-wrap:break-word;text-wrap:balance}
.bh-l1{display:block}
.bh-rot{display:grid;margin-inline-start:-.14em}
.bh-rot>span{grid-area:1/1;opacity:0;transform:translateY(.35em);transition:opacity var(--bb-dur-slow) var(--bb-ease),transform var(--bb-dur-slow) var(--bb-ease);pointer-events:none}
.bh-rot>span.is{opacity:1;transform:none;pointer-events:auto}
.bh .bh-lead{max-width:var(--bb-w-lead);font-size:var(--bb-fs-lead);line-height:1.55;color:var(--bb-on-body)}
.bh-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--bb-space-4) var(--bb-space-7);margin-top:var(--bb-space-8)}

/* main action: the same yellow button as .bb-btn--y */
body .elementor .bh a.bh-btn,body .elementor .bh a.bh-btn:visited{display:inline-flex;align-items:center;background:var(--bb-color-brand-primary);color:var(--bb-color-text);border:var(--bb-border-w) solid var(--bb-accent-line);border-radius:var(--bb-radius-pill);padding:1em 1.8em;font:var(--bb-fw-medium) var(--bb-fs-button)/1.2 var(--bb-font-display);letter-spacing:var(--bb-ls-title);text-decoration:none;box-shadow:var(--bb-shadow-md) var(--bb-line);transition:transform var(--bb-dur-slow) var(--bb-ease-spring),box-shadow var(--bb-dur-slow) var(--bb-ease-spring)}
body .elementor .bh a.bh-btn:active{transform:scale(.97)}
.bh-btn i{font-style:normal;margin-inline-start:.7em;display:inline-block;transition:transform var(--bb-dur-slow) var(--bb-ease-spring)}
.bh-b{display:inline-grid;overflow:hidden}
.bh-b>span{grid-area:1/1;transition:transform var(--bb-dur-slow) var(--bb-ease-spring),opacity var(--bb-dur-base)}
.bh-b2{transform:translateY(120%);opacity:0}
@media(hover:hover){
  body .elementor .bh a.bh-btn:hover{transform:translate(-3px,-3px) rotate(-1deg);box-shadow:var(--bb-shadow-lg) var(--bb-line)}
  .bh-btn:hover i{transform:translateX(5px)}
  .bh-btn:hover .bh-b1{transform:translateY(-120%);opacity:0}
  .bh-btn:hover .bh-b2{transform:none;opacity:1}
  .bh-link:hover span{transform:translateX(4px)}
}
.bh-link span{display:inline-block;margin-inline-start:.35em;transition:transform var(--bb-dur-base) var(--bb-ease)}

/* sticker + panel */
.bh .bh-sticker{display:inline-block;margin-top:var(--bb-space-7);padding:.55em 1em;max-width:34em;background:var(--bb-color-surface);border:var(--bb-border-w-thin) solid var(--bb-color-border);border-radius:var(--bb-radius-field);font-size:var(--bb-fs-small);line-height:var(--bb-lh-ui);transform:rotate(var(--bb-tilt));box-shadow:var(--bb-shadow-sm) var(--bb-color-brand-primary)}
.bh-panel{--bb-surface:var(--bb-color-surface);background:var(--bb-surface);border:var(--bb-border);border-radius:var(--bb-radius-card);padding:var(--bb-space-card);transform:rotate(1deg)}
.bh-panel-t{font:var(--bb-fw-black) var(--bb-fs-h5)/1.2 var(--bb-font-display);letter-spacing:var(--bb-ls-title);margin-bottom:var(--bb-space-3)}
.bh-panel li{display:flex;align-items:center;gap:var(--bb-space-3);padding:13px 0;border-top:var(--bb-hairline) solid var(--bb-color-border-subtle);font-weight:var(--bb-fw-regular)}
.bh-panel li:first-child{border-top:0}
.bh-todo li::before{content:"✓";display:grid;place-items:center;flex:0 0 22px;height:22px;width:22px;border-radius:var(--bb-radius-xs);background:var(--bb-color-brand-primary);box-shadow:0 0 0 var(--bb-border-w-thin) var(--bb-color-border);font:var(--bb-fw-bold) var(--bb-fs-label)/1 var(--bb-font-display);color:var(--bb-color-text)}
.bh-panel-f{margin-top:var(--bb-space-3);padding-top:var(--bb-space-4);border-top:var(--bb-hairline) solid var(--bb-color-border-subtle);font-size:var(--bb-fs-small);color:var(--bb-on-muted)}
/* "never again" list: each item gets struck through, then fades back (animation in 9. Motion) */
.bh-x{-webkit-box-decoration-break:clone;box-decoration-break:clone;background:linear-gradient(currentColor,currentColor) no-repeat 0 55%/0 var(--bb-border-w);animation:bhx .55s calc(.9s + var(--i) * .4s) ease-out forwards,bhf .4s calc(1.2s + var(--i) * .4s) forwards}

/* marker highlight on the home headline (drawn in once) */
.bh mark{background:linear-gradient(var(--bb-color-brand-primary),var(--bb-color-brand-primary)) no-repeat 0 var(--bb-mark-y)/0% var(--bb-mark-h);color:inherit;padding:0 .14em;-webkit-box-decoration-break:clone;box-decoration-break:clone;animation:bhmark .9s .35s var(--bb-ease) forwards}
.bh-close mark{display:inline-block;max-width:100%;padding:.02em .14em .06em;background:var(--bb-color-brand-primary);animation:none}

/* marquee: a dark band between hero and body */
.bh-mq{overflow:hidden;direction:ltr;background:var(--bb-surface);border-block:var(--bb-border-w) solid var(--bb-color-border);padding-block:14px}
.bh-mq-track{display:flex;width:max-content;animation:bhmq 42s linear infinite}
.bh-mq:hover .bh-mq-track{animation-play-state:paused}
.bh-mq-track span{position:relative;font:var(--bb-fw-bold) clamp(1.1rem,2vw,1.6rem)/1 var(--bb-font-display);color:var(--bb-color-brand-primary);white-space:nowrap;padding-inline:clamp(18px,2.4vw,36px)}
.bh-mq-track span::after{content:"✦";position:absolute;inset-inline-end:-.4em;top:50%;transform:translateY(-52%);font-size:.7em;color:var(--bb-on)}

/* sections */
.bh-head{max-width:min(100%,1200px);margin-bottom:clamp(30px,4vw,48px)}
body .elementor .bh .bh-head h2{font-size:var(--bb-fs-h2);line-height:var(--bb-lh-heading);letter-spacing:var(--bb-ls-heading);text-wrap:balance;overflow-wrap:break-word}
.bh .bh-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,72px);margin-bottom:var(--bb-space-7)}
.bh-step{border-top:var(--bb-border-w) solid var(--bb-color-border);padding-top:var(--bb-space-5)}
/* step number = the same circle badge as inner pages */
.bh .bh-num{display:grid;place-items:center;width:58px;height:58px;margin-bottom:var(--bb-space-4);border-radius:50%;background:var(--bb-color-brand-primary);border:var(--bb-border-w) solid var(--bb-accent-line);color:var(--bb-color-text);font:var(--bb-fw-black) 1.5rem/1 var(--bb-font-display)}
body .elementor .bh .bh-step h3{font-size:var(--bb-fs-h4);line-height:1.2;letter-spacing:var(--bb-ls-title);margin-bottom:var(--bb-space-2)}
.bh-step p{max-width:var(--bb-w-measure);color:var(--bb-on-body)}
.bh .bh-why{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,32px);margin-bottom:var(--bb-space-7)}
.bh-why-i{background:var(--bb-color-surface);border:var(--bb-border);border-radius:var(--bb-radius-card);padding:var(--bb-space-card-sm)}
body .elementor .bh .bh-why-i h3{font-size:var(--bb-fs-h5);line-height:1.2;letter-spacing:var(--bb-ls-title);margin-bottom:var(--bb-space-2)}
.bh-why-i p{color:var(--bb-on-body)}
.bh-close{text-align:center}
.bh-big{font:var(--bb-fw-black) var(--bb-fs-h1)/1.08 var(--bb-font-display);letter-spacing:var(--bb-ls-display);color:var(--bb-on);text-wrap:balance;overflow-wrap:break-word}

/* services band (the nine tiles of the Services page) and FAQ band (five owner questions, same accordion as the FAQ page) */
.bh .bb-tiles{margin-bottom:var(--bb-space-7)}
.bh-faqgrid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,5vw,96px);align-items:start}
.bh-faqhead .bh-head{margin-bottom:var(--bb-space-5)}
.bh-faqgrid .bb-faq details:last-child{margin-bottom:0}

@media(max-width:1024px){
  .bh-hero-grid{grid-template-columns:1fr}
  .bh-faqgrid{grid-template-columns:1fr}
  .bh-panel{transform:none;max-width:560px}
  .bh .bh-steps{grid-template-columns:1fr}
  .bh .bh-why{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
  .bh .bh-why{grid-template-columns:1fr}
  body .elementor .bh a.bh-btn{width:100%;justify-content:center}
}

/* ---------- 8. LOCALE: one markup, four languages ---------- */
/* header/footer exist once per language; show only the one matching <html lang> */
html:not([lang^="en"]) .bb-l-en,html:not([lang^="fr"]) .bb-l-fr,html:not([lang^="es"]) .bb-l-es,html:not([lang^="ar"]) .bb-l-ar{display:none!important}
/* decorative bubbles from an earlier design: markup still sits on 37 pages, never shown */
.bb-orbs,.bb-orb{display:none!important}

/* Arabic: Cairo replaces both families through the tokens, so every component follows.
   Connected script: no tracking, taller leading, no outline type (replaced by a solid word + marker underline). */
html[lang^="ar"]{--bb-font-display:var(--bb-font-arabic);--bb-font-body:var(--bb-font-arabic);--bb-ls-display:0;--bb-ls-heading:0;--bb-ls-title:0;--bb-ls-label:0;--bb-ls-eyebrow:0;--bb-mark-y:70%;--bb-mark-h:72%}
html[lang^="ar"] :is(body,h1,h2,h3,h4,h5,h6,p,a,li,th,td,summary,button,input,textarea,select,label,.elementor-heading-title,.elementor-button,.elementor-item,.elementor-sub-item){font-family:var(--bb-font-arabic)}
html[lang^="ar"] :is(h1,h2,h3,h4,h5,h6,p,li,a,span,summary,th,td,label,button,.elementor-heading-title,.elementor-button,.elementor-item){letter-spacing:0!important;word-spacing:normal}
html[lang^="ar"] .bb-lang a{letter-spacing:.06em!important}
html[lang^="ar"] body .elementor .elementor-heading-title{line-height:1.3}
html[lang^="ar"] body .elementor .bb-foot-big .elementor-heading-title{line-height:1.15}
html[lang^="ar"] body .elementor .elementor-widget-text-editor p,html[lang^="ar"] body .elementor .bh p{line-height:1.8}
html[lang^="ar"] body .elementor .bh :is(h1,h2,h3,.bh-big){line-height:1.3}
html[lang^="ar"] body .elementor .bb-out{color:var(--bb-accent-line)!important;-webkit-text-stroke:0;text-decoration:underline;text-decoration-thickness:.07em;text-decoration-color:var(--bb-color-brand-primary);text-underline-offset:.12em}
html[lang^="ar"] .bb-foot-h .elementor-heading-title{font-size:.95rem;text-transform:none}

/* right-to-left mirroring */
[dir=rtl] .bb-logo-svg{direction:ltr}
[dir=rtl] .bb-wa{right:auto;left:16px}
@media(max-width:767px){[dir=rtl] .bb-wa{right:auto;left:14px}}
html[dir=rtl] body .elementor .bb-form .elementor-select-wrapper select{padding:0 18px 0 46px!important;background-position:24px 54%,30px 54%!important}
[dir=rtl] .bh-link span,[dir=rtl] .bh-btn i{transform:scaleX(-1)}
@media(hover:hover){[dir=rtl] .bh-link:hover span,[dir=rtl] .bh-btn:hover i{transform:scaleX(-1) translateX(4px)}}
[dir=rtl] .bh mark{background-position:100% var(--bb-mark-y)}
[dir=rtl] .bh-x{background-position:100% 55%}

/* ---------- 9. MOTION ---------- */
@keyframes bhmark{to{background-size:100% var(--bb-mark-h)}}
@keyframes bhx{to{background-size:100% var(--bb-border-w)}}
@keyframes bhf{to{color:var(--bb-color-text-muted)}}
@keyframes bhmq{to{transform:translateX(-25%)}}
@keyframes bbrise{from{opacity:0;transform:translateY(20px)}}

/* reveal on scroll: elements start hidden only when the script has marked <html> (no script = fully visible).
   An animation (not a transition) so hover effects on revealed cards keep their own timing. */
html.bb-js body:not(.elementor-editor-active) .bb-rv:not(.is-in){opacity:0}
html.bb-js body:not(.elementor-editor-active) .bb-rv.is-in{animation:bbrise var(--bb-dur-reveal) var(--bb-ease) backwards}
.bb-g3>.bb-rv:nth-child(3n+2),.bb-g4>.bb-rv:nth-child(4n+2){animation-delay:80ms!important}
.bb-g3>.bb-rv:nth-child(3n+3),.bb-g4>.bb-rv:nth-child(4n+3){animation-delay:160ms!important}
.bb-g4>.bb-rv:nth-child(4n+4){animation-delay:240ms!important}

/* reduced motion: no animation, no travel; every end-state is shown at once */
@media(prefers-reduced-motion:reduce){
  *,::before,::after{animation:none!important;scroll-behavior:auto!important}
  *,::before,::after{transition-duration:.01ms!important;transition-delay:0s!important}
  html.bb-js body .bb-rv{opacity:1!important}
  .bh mark{background-size:100% var(--bb-mark-h)}
  .bh-x{background-size:100% var(--bb-border-w);color:var(--bb-color-text-muted)}
  .bh-rot>span:not(.is){display:none}
  .bh-panel{transform:none}
}

/* ---------- 10. MASCOT: an occasional guest, never furniture ----------
   One character, two poses (welcome, happy), both transparent SVG in the media library.
   Where it appears: the home closing statement (welcome, centred above it), how it works (welcome, in the intro, wide
   screens only) and after any form is sent (happy, in the success message).
   Where it does not: header, navigation, footer, legal, pricing, FAQ, 404 and error messages, photos, floating
   widgets, phones (except the success message and the home closing, shown smaller). Decorative (aria-hidden) because the words
   beside it carry the meaning. A background image with a fixed aspect ratio: no layout shift, nothing downloads where it is
   hidden, no script, no looping motion. */
.bb-mascot{display:block;width:min(100%,200px);aspect-ratio:676 / 406;background:center / contain no-repeat;pointer-events:none;user-select:none}
.bb-mascot--welcome{background-image:url("/wp-content/uploads/2026/10/bubbles-mascot-welcome.svg")}
.bb-mascot--happy{background-image:url("/wp-content/uploads/2026/10/bubbles-mascot-happy.svg")}

/* welcome in a page intro (how it works): sits in the free corner beside the lead, behind the text layer */
body .elementor .bb-mascot-slot{position:static}   /* the widget that holds the image must not become its positioning parent */
.bb-mascot--hero{display:none}
@media(min-width:1100px){
  .bb-mascot--hero{display:block;position:absolute;z-index:1;right:max(var(--bb-gutter),calc((100% - var(--bb-w-page)) / 2));bottom:clamp(24px,2.6vw,40px);width:clamp(190px,16vw,250px)}
  [dir=rtl] .bb-mascot--hero{right:auto;left:max(var(--bb-gutter),calc((100% - var(--bb-w-page)) / 2))}
}

/* happy, in the success message of any form (property, callback, waitlist): replaces the tick, appears once */
@keyframes bbpop{from{opacity:0;transform:scale(.82) translateY(8px)}}
body .elementor .bb-form .elementor-message-success{flex-direction:column;align-items:center;gap:.5em;text-align:center}
body .elementor .bb-form .elementor-message-success::before{content:"";flex:none;width:min(100%,clamp(108px,30vw,160px));height:clamp(64px,18vw,96px);margin:0;border-radius:0;background:url("/wp-content/uploads/2026/10/bubbles-mascot-happy.svg") center/contain no-repeat;color:transparent;font-size:0;animation:bbpop var(--bb-dur-reveal) var(--bb-ease) backwards}

/* welcome above the closing statement (home): centred and in flow, so it can never overlap the text */
.bb-mascot--close{width:clamp(112px,13vw,170px);margin:0 auto clamp(12px,1.6vw,20px)}

@media print{.bb-mascot,body .elementor .bb-form .elementor-message-success::before{display:none}}

/* ---------- 10. INQUIRY FORM (Submit your property): optional details stay folded until asked for, and the confirmation says what happens next ---------- */
/* "Add more details" toggle: a visually hidden checkbox with no name (so it is never submitted) and a label that reads as a text button */
.bb-form .elementor-field-group-more{display:none}
.bb-more__cb{position:absolute;width:1px;height:1px;margin:0;opacity:0}
.bb-more__btn{display:inline-flex;align-items:center;gap:.7em;padding:4px 0;cursor:pointer;font:var(--bb-fw-bold) var(--bb-fs-small)/1.3 var(--bb-font-display);color:var(--bb-color-text);text-transform:none;letter-spacing:0}
.bb-more__btn::before{content:"+";flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--bb-color-brand-primary);border:var(--bb-border);font-size:1.3rem;line-height:1;transition:transform var(--bb-dur-base) var(--bb-ease-spring)}
.bb-more__btn span{text-decoration:underline;text-decoration-color:var(--bb-color-brand-primary);text-decoration-thickness:3px;text-underline-offset:.25em}
.bb-more__c{display:none}
.bb-more__cb:checked+.bb-more__btn .bb-more__o{display:none}
.bb-more__cb:checked+.bb-more__btn .bb-more__c{display:inline}
.bb-more__cb:checked+.bb-more__btn::before{transform:rotate(45deg)}
.bb-more__cb:focus-visible+.bb-more__btn{outline:3px solid var(--bb-color-focus);outline-offset:3px;border-radius:var(--bb-radius-xs)}
/* the folded fields (needs :has; without it every field simply stays visible and the toggle stays hidden). A field with a server-side error is never folded away. */
@supports .elementor-kit-12(:has(*)){
  .bb-form .elementor-field-group-more{display:block}
  .bb-form:not(:has(.bb-more__cb:checked)) :is(.elementor-field-group-residence,.elementor-field-group-address,.elementor-field-group-bathrooms,.elementor-field-group-size,.elementor-field-group-status,.elementor-field-group-extras):not(:has([aria-invalid=true])){display:none}
}
.bb-form .bb-form__note{margin:0;font-size:var(--bb-fs-small);line-height:var(--bb-lh-ui);color:var(--bb-color-text-muted)}
body .elementor .bb-form .elementor-field-type-acceptance a{font-weight:var(--bb-fw-bold);color:var(--bb-color-text);text-decoration:underline;text-decoration-color:var(--bb-color-brand-primary);text-decoration-thickness:3px;text-underline-offset:.2em}

/* confirmation after a real, successful send: the three steps, in plain words (the mascot above comes from 9. Mascot) */
body .elementor .bb-form .elementor-message-success:has(.bb-ok__t){align-items:stretch;gap:.7em;padding:clamp(18px,3vw,28px);text-align:start;color:var(--bb-color-text);font-weight:var(--bb-fw-regular);font-size:var(--bb-fs-body);line-height:1.5}
body .elementor .bb-form .elementor-message-success:has(.bb-ok__t)::before{align-self:center}
.bb-ok__t{display:block;text-align:center;font:var(--bb-fw-black) var(--bb-fs-h5)/1.2 var(--bb-font-display);letter-spacing:var(--bb-ls-title)}
.bb-ok__s{font-weight:var(--bb-fw-bold)}
.bb-ok__l{margin:0;padding-inline-start:1.4em;list-style:decimal}
.bb-ok__l li{margin:0 0 .55em;padding:0}
.bb-ok__l li:last-child{margin-bottom:0}
.bb-ok__n{font-size:var(--bb-fs-small);line-height:var(--bb-lh-ui)}

/* ---------- 11. PACKAGE: the nine tiles are the contents of one package, not links, so they do not lift like a link on hover ---------- */
@media(hover:hover){div.bb-tile:hover{transform:none;box-shadow:none}}

/* ---------- 12. HOME, WHY US: a dark band that holds the comparison table (5.11): "ask everyone the same five questions". On phones each row becomes a card ---------- */
.bh-sec.bh-sec--dark{--bb-surface:var(--bb-color-bg-inverse);--bb-on:var(--bb-color-text-inverse);--bb-on-body:var(--bb-color-text-inverse-body);--bb-on-sub:var(--bb-color-text-inverse-body);--bb-on-muted:var(--bb-color-text-inverse-muted);--bb-line:var(--bb-color-text-inverse);--bb-accent-line:var(--bb-color-brand-primary);--bb-ring:var(--bb-color-focus-inverse);color:var(--bb-on-body)}
.bh .bh-head .bh-sub{margin-top:var(--bb-space-4);max-width:var(--bb-w-measure);color:var(--bb-on-body)}
.bh .bb-cmp{margin-bottom:var(--bb-space-7)}
.bh-sec--dark .bh-actions{margin-top:0}
.bh-cmp-l{display:none}
@media(max-width:767px){
  .bh .bb-cmp{overflow:visible;border:0;border-radius:0;background:transparent}
  .bh .bb-cmp :is(table,tbody,tr,th,td){display:block;width:auto;min-width:0}
  .bh .bb-cmp :is(table,tbody){border:0;background:transparent}
  .bh .bb-cmp thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .bh .bb-cmp tbody tr{margin-bottom:var(--bb-space-4);background:var(--bb-color-surface);border:var(--bb-border);border-radius:var(--bb-radius-card);overflow:hidden}
  .bh .bb-cmp tbody tr:last-child{margin-bottom:0}
  .bh .bb-cmp tbody :is(th,td){padding:14px 18px;border:0}
  .bh .bb-cmp tbody th{padding-bottom:8px;font:var(--bb-fw-black) var(--bb-fs-h5)/1.2 var(--bb-font-display);letter-spacing:var(--bb-ls-title)}
  .bh-cmp-l{display:block;margin-bottom:4px;font:var(--bb-fw-bold) var(--bb-fs-label)/1.3 var(--bb-font-body);letter-spacing:.09em;text-transform:uppercase;opacity:.7}
}

/* ---------- 13. ART: original illustrations (SVG, in the media library). Inner-page heroes carry one on the end side; the home steps carry one each. All decorative: the words beside them carry the meaning ---------- */
.bb-art--coast{--bb-art:url("/wp-content/uploads/2026/10/bb-art-coast.svg")}
.bb-art--tetouan{--bb-art:url("/wp-content/uploads/2026/10/bb-art-tetouan.svg")}
.bb-art--beach{--bb-art:url("/wp-content/uploads/2026/10/bb-art-beach.svg")}
.bb-art--apartments{--bb-art:url("/wp-content/uploads/2026/10/bb-art-apartments.svg")}
.bb-art--villa{--bb-art:url("/wp-content/uploads/2026/10/bb-art-villa.svg")}
.bb-art--owner{--bb-art:url("/wp-content/uploads/2026/10/bb-art-owner.svg")}
.bb-art--package{--bb-art:url("/wp-content/uploads/2026/10/bb-art-package.svg")}
.bb-sec.bb-art{position:relative}
.bb-sec.bb-art::after{content:"";display:block;width:min(100%,520px);aspect-ratio:4/3;align-self:flex-start;margin-top:var(--bb-space-7);background:var(--bb-art) center/cover no-repeat var(--bb-color-accent);border:var(--bb-border);border-radius:var(--bb-radius-card);box-shadow:var(--bb-shadow-md) var(--bb-line)}
@media(min-width:1100px){
  .bb-sec.bb-art::after{position:absolute;z-index:1;inset-inline-end:max(var(--bb-gutter),calc((100% - var(--bb-w-page)) / 2));top:50%;width:clamp(360px,31vw,450px);align-self:auto;margin:0;transform:translateY(-50%) rotate(1.5deg)}
  [dir=rtl] .bb-sec.bb-art::after{transform:translateY(-50%) rotate(-1.5deg)}
  body .elementor .bb-sec.bb-art .bb-h1 .elementor-heading-title{font-size:clamp(2.5rem,.9rem + 3.6vw,3.9rem)}
  body .e-con.bb-sec.bb-art>.bb-wrap{max-width:calc(min(100%,var(--bb-w-page)) - clamp(404px,35vw,510px))!important;margin-inline:max(0px,calc((100% - var(--bb-w-page)) / 2)) auto!important}
}
@media print{.bb-sec.bb-art::after{display:none}}

/* home: one picture above each step; the number badge sits on its lower corner */
body .elementor .bh img.bh-step-img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;margin:0;border:var(--bb-border);border-radius:var(--bb-radius-card);background:var(--bb-color-accent);box-shadow:none}
.bh-step:has(.bh-step-img){border-top:0;padding-top:0}
.bh .bh-step-img+.bh-num{position:relative;margin:-29px 0 var(--bb-space-4);margin-inline-start:var(--bb-space-4)}

/* ---------- 14. FOOTER, MINIMAL: the logo and one row of links, then the small print ---------- */
body .e-con.bb-foot--min{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--bb-space-5) var(--bb-space-8);margin-top:var(--bb-space-8)}
body .e-con.bb-foot--min>*{width:auto;flex:0 0 auto;max-width:100%}
.bb-foot-nav{display:flex;flex-wrap:wrap;gap:var(--bb-space-1) var(--bb-space-2);margin-inline-end:-.85em;font:var(--bb-fw-medium) var(--bb-fs-small)/1.2 var(--bb-font-display)}
.bb-foot-nav a{display:inline-block;padding:.45em .85em;border-radius:var(--bb-radius-pill);font:inherit}
body .elementor .bb-dark .bb-foot-nav a:hover{background:var(--bb-color-brand-primary);color:var(--bb-color-text)}
@media(max-width:767px){
  body .e-con.bb-foot--min{flex-direction:column;align-items:flex-start;gap:var(--bb-space-5)}
  .bb-foot-nav{margin-inline-end:0;margin-inline-start:-.85em}
}

/* ---------- 15. POP REPORT: the rough yearly range, in a yellow card above the insights ---------- */
body .elementor .bb-quiz .bb-qest{border:var(--bb-border);border-radius:var(--bb-radius-field);background:var(--bb-color-brand-primary);color:var(--bb-color-text);padding:clamp(18px,2.6vw,28px);margin:0 0 var(--bb-space-4);box-shadow:var(--bb-shadow-sm) var(--bb-color-border)}
body .elementor .bb-quiz .bb-qest p{margin:0 0 var(--bb-space-3);color:var(--bb-color-text);font-size:var(--bb-fs-small);line-height:var(--bb-lh-snug)}
body .elementor .bb-quiz .bb-qest .bb-qest__k{display:flex;flex-wrap:wrap;align-items:center;gap:var(--bb-space-2) var(--bb-space-3);font:var(--bb-fw-bold) var(--bb-fs-label)/1.3 var(--bb-font-body);letter-spacing:var(--bb-ls-label);text-transform:uppercase}
.bb-qest__k span{background:var(--bb-color-text);color:var(--bb-color-brand-primary);border-radius:var(--bb-radius-pill);padding:.3em .85em;font-size:.72rem}
body .elementor .bb-quiz .bb-qest .bb-qest__n{margin:var(--bb-space-2) 0 var(--bb-space-4);font:var(--bb-fw-black) clamp(1.9rem,1.2rem + 3vw,3.2rem)/1.05 var(--bb-font-display);letter-spacing:var(--bb-ls-heading)}
.bb-qest__how{border-top:var(--bb-border);padding-top:var(--bb-space-3)}
.bb-qest__how summary{cursor:pointer;font:var(--bb-fw-bold) .95rem/1.3 var(--bb-font-display)}
body .elementor .bb-quiz .bb-qest__how p{margin:var(--bb-space-3) 0 0}
body .elementor .bb-quiz .bb-qest.bb-qest--none{background:var(--bb-color-bg-page);box-shadow:none}
html[lang^="ar"] .bb-qest__k{text-transform:none}

/* ---------- 16. PHOTOS: stock photographs (Pexels, credited in the media library) replace the illustrations on page heroes and the home steps; one wide band sits under the home hero. All decorative: the words beside them carry the meaning ---------- */
.bb-art--coast{--bb-art:url("/wp-content/uploads/2026/10/bb-room-coast.webp")}
.bb-art--tetouan{--bb-art:url("/wp-content/uploads/2026/10/bb-room-tetouan.webp")}
.bb-art--beach{--bb-art:url("/wp-content/uploads/2026/10/bb-room-beach.webp")}
.bb-art--apartments{--bb-art:url("/wp-content/uploads/2026/10/bb-room-apartments.webp")}
.bb-art--villa{--bb-art:url("/wp-content/uploads/2026/10/bb-room-villa.webp")}
.bb-art--owner{--bb-art:url("/wp-content/uploads/2026/10/bb-room-owner-v2.webp")}
.bb-art--abroad{--bb-art:url("/wp-content/uploads/2026/10/bb-room-abroad.webp")}
.bb-art--package{--bb-art:url("/wp-content/uploads/2026/10/bb-room-package.webp")}
.bh .bh-band-w{padding-top:clamp(32px,5vw,72px)}
.bh-band{margin:0}
body .elementor .bh .bh-band img{display:block;width:100%;height:auto;aspect-ratio:3/1;object-fit:cover;object-position:50% 58%;margin:0;border:var(--bb-border);border-radius:var(--bb-radius-card);background:var(--bb-color-accent);box-shadow:var(--bb-shadow-md) var(--bb-line)}
@media(max-width:700px){body .elementor .bh .bh-band img{aspect-ratio:4/3}}
@media print{.bh-band-w{display:none}}

/* ---------- 17. WHY STR: six owner benefits, each with a line icon in the brand circle (home, under the hero). Reuses the .bh-why cards; three columns instead of four ---------- */
.bh .bh-why--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.bh .bh-ico{display:grid;place-items:center;width:54px;height:54px;margin-bottom:var(--bb-space-4);border-radius:50%;background:var(--bb-color-brand-primary);border:var(--bb-border-w) solid var(--bb-accent-line);color:var(--bb-color-text)}
.bh .bh-ico svg{display:block;width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#why-str .bh-lead{margin-top:var(--bb-space-4)}
@media(max-width:1024px){.bh .bh-why--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.bh .bh-why--3{grid-template-columns:1fr}}

/* ---------- 18. HOME, OPEN ACCOUNTS IN PRACTICE: the layout of an owner statement with every amount left blank on purpose (no made-up numbers), under the four commitments; the four commitment tiles sit in one row on desktop instead of 3 + 1 ---------- */
@media(min-width:1101px){.bh .bb-tiles:has(>:nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}}
.bh .bh-stmt{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,56px);align-items:center}
.bh .bh-stmt-copy .bh-eyebrow{margin-bottom:var(--bb-space-3)}
body .elementor .bh .bh-stmt-copy h3{font-size:var(--bb-fs-h4);line-height:1.2;letter-spacing:var(--bb-ls-title);margin:0 0 var(--bb-space-3)}
.bh .bh-stmt-copy p:last-child{margin:0;max-width:var(--bb-w-measure);color:var(--bb-on-body)}
.bh .bh-stmt-card{margin:0;padding:var(--bb-space-card);background:var(--bb-color-surface);border:var(--bb-border);border-radius:var(--bb-radius-card);box-shadow:var(--bb-shadow-md) var(--bb-color-border)}
.bh .bh-stmt-t{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--bb-space-2) var(--bb-space-4);margin:0 0 var(--bb-space-4);font:var(--bb-fw-black) var(--bb-fs-h5)/1.2 var(--bb-font-display);letter-spacing:var(--bb-ls-title);color:var(--bb-on)}
.bh .bh-stmt-t span{padding:3px 12px;border:var(--bb-border-w-thin) solid var(--bb-color-border);border-radius:var(--bb-radius-pill);background:var(--bb-color-brand-primary);font:var(--bb-fw-bold) var(--bb-fs-micro)/1.4 var(--bb-font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--bb-color-text)}
.bh .bh-stmt-rows{margin:0}
.bh .bh-stmt-rows>div{display:flex;align-items:center;justify-content:space-between;gap:var(--bb-space-4);padding:14px 0;border-top:var(--bb-hairline) solid var(--bb-color-border-subtle)}
.bh .bh-stmt-rows dt{margin:0;font-weight:inherit;color:var(--bb-on-body)}
.bh .bh-stmt-rows dd{margin:0}
.bh .bh-blank{position:relative;flex:none;width:clamp(72px,16vw,128px);height:1.1em;border-bottom:var(--bb-border-w) dashed var(--bb-color-border)}
.bh .bh-stmt-rows>.bh-stmt-sum{border-top:var(--bb-border)}
.bh .bh-stmt-rows>.bh-stmt-sum dt{font-weight:var(--bb-fw-black);color:var(--bb-on)}
.bh .bh-stmt-meta{display:grid;gap:var(--bb-space-2);margin:var(--bb-space-4) 0 0;padding:0;list-style:none}
.bh .bh-stmt-meta li{position:relative;margin:0;padding-inline-start:1.6em;color:var(--bb-on-body)}
.bh .bh-stmt-meta li::before{content:"";position:absolute;inset-inline-start:0;top:.5em;width:.75em;height:.75em;border:var(--bb-border-w-thin) solid var(--bb-color-border);border-radius:50%;background:var(--bb-color-brand-primary)}
.bh .bh-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(max-width:900px){.bh .bh-stmt{grid-template-columns:1fr}}

/* ---------- 19. HOME HERO BEDROOM CHIPS + OWNER PRICING PAGE: one tap from the home hero into the 10-question estimate (the bedroom answer is carried over); the pricing page's worked example applies the 20% rule to a figure the visitor types, with no forecast ---------- */
#bb-quiz{scroll-margin-top:clamp(72px,10vw,120px)}
.bh .bh-est{margin-top:var(--bb-space-8);padding-top:var(--bb-space-6);border-top:var(--bb-hairline) solid var(--bb-color-border-subtle);max-width:var(--bb-w-measure)}
.bh .bh-est-q{margin:0 0 var(--bb-space-3);font:var(--bb-fw-bold) var(--bb-fs-body)/1.35 var(--bb-font-display);color:var(--bb-on)}
.bh .bh-est-opts{display:flex;flex-wrap:wrap;gap:var(--bb-space-2)}
.bh .bh-est-opts li{margin:0}
body .elementor .bh .bh-est-opts a,body .elementor .bh .bh-est-opts a:visited{display:inline-flex;align-items:center;justify-content:center;min-width:3.2em;min-height:46px;padding:.5em 1.15em;background:var(--bb-color-surface);color:var(--bb-color-text);border:var(--bb-border);border-radius:var(--bb-radius-pill);font:var(--bb-fw-medium) 1rem/1.2 var(--bb-font-display);text-decoration:none;transition:transform var(--bb-dur-base) var(--bb-ease-spring),background-color var(--bb-dur-fast),box-shadow var(--bb-dur-fast)}
@media(hover:hover){body .elementor .bh .bh-est-opts a:hover{background:var(--bb-color-brand-primary);color:var(--bb-color-text);transform:translateY(-2px);box-shadow:var(--bb-shadow-sm) var(--bb-color-border)}}
body .elementor .bh .bh-est-opts a:active{transform:scale(.97)}
@media(max-width:480px){.bh .bh-est-opts{gap:6px}body .elementor .bh .bh-est-opts a,body .elementor .bh .bh-est-opts a:visited{min-width:2.8em;padding:.5em .85em}}
.bh .bh-est-s{margin:var(--bb-space-3) 0 0;max-width:var(--bb-w-measure);font-size:var(--bb-fs-small);line-height:var(--bb-lh-snug);color:var(--bb-on-muted)}
body .elementor .elementor-widget-text-editor.bb-note p{max-width:var(--bb-w-measure);padding-inline-start:var(--bb-space-4);border-inline-start:var(--bb-border-w) solid var(--bb-color-brand-primary);font-size:var(--bb-fs-small);line-height:var(--bb-lh-snug);color:var(--bb-on-sub)}
.bb-calc{padding:var(--bb-space-card);background:var(--bb-color-surface);border:var(--bb-border);border-radius:var(--bb-radius-card);box-shadow:var(--bb-shadow-md) var(--bb-color-border);color:var(--bb-color-text)}
.bb-calc__t{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--bb-space-2) var(--bb-space-4);margin:0 0 var(--bb-space-5);font:var(--bb-fw-black) var(--bb-fs-h5)/1.2 var(--bb-font-display);letter-spacing:var(--bb-ls-title)}
.bb-calc__t span{padding:3px 12px;border:var(--bb-border-w-thin) solid var(--bb-color-border);border-radius:var(--bb-radius-pill);background:var(--bb-color-brand-primary);font:var(--bb-fw-bold) var(--bb-fs-micro)/1.4 var(--bb-font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--bb-color-text)}
html[lang^="ar"] .bb-calc__t span{letter-spacing:0;text-transform:none}
.bb-calc__in{display:grid;gap:var(--bb-space-2);margin:0 0 var(--bb-space-4)}
.bb-calc__in>span{font-size:var(--bb-fs-small);color:var(--bb-on-body)}
body .elementor .bb-calc input{width:100%;min-height:56px;padding:10px 18px;background:var(--bb-color-bg-page);color:var(--bb-color-text);border:var(--bb-border);border-radius:var(--bb-radius-field);font:var(--bb-fw-black) clamp(1.4rem,1.1rem + 1.2vw,2rem)/1.1 var(--bb-font-display);letter-spacing:var(--bb-ls-title);font-variant-numeric:tabular-nums;box-shadow:none}
.bb-calc__rows{margin:0}
.bb-calc__rows>div{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--bb-space-4);padding:14px 0;border-top:var(--bb-hairline) solid var(--bb-color-border-subtle)}
.bb-calc__rows dt{margin:0;color:var(--bb-on-body)}
.bb-calc__rows dt span{display:block;font-size:var(--bb-fs-small);font-weight:var(--bb-fw-regular);color:var(--bb-on-muted)}
.bb-calc__rows dd{margin:0;flex:none;font:var(--bb-fw-black) var(--bb-fs-h4)/1.25 var(--bb-font-display);font-variant-numeric:tabular-nums;white-space:nowrap}
.bb-calc__rows>.bb-calc__sum{border-top:var(--bb-border)}
.bb-calc__rows>.bb-calc__sum dt{font-weight:var(--bb-fw-black);color:var(--bb-on)}
.bb-calc__rows>.bb-calc__sum dd{padding:0 .2em;background:linear-gradient(var(--bb-color-brand-primary),var(--bb-color-brand-primary)) no-repeat 0 88%/100% .5em}
.bb-calc__fine{margin:var(--bb-space-4) 0 0;padding-top:var(--bb-space-4);border-top:var(--bb-hairline) solid var(--bb-color-border-subtle);font-size:var(--bb-fs-small);line-height:var(--bb-lh-snug);color:var(--bb-on-muted)}

/* ---------- 20. HOME VISUALS: a terms strip with count-up numbers, a seasons bar chart (public data), a calendar illustration, audience tabs, and the 80/20 bar in the pricing calculator. Everything shows its final state without JavaScript or with reduced motion ---------- */
.bh .bh-sec--facts{padding-block:clamp(28px,4vw,52px)}
.bh .bh-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,3vw,48px);margin:0;padding:0;list-style:none}
.bh .bh-facts li{margin:0;padding-top:var(--bb-space-4);border-top:var(--bb-border-w) solid var(--bb-color-border)}
.bh .bh-fig{display:flex;align-items:baseline;gap:.06em;width:fit-content;direction:ltr;font:var(--bb-fw-black) clamp(2.6rem,1.7rem + 3.4vw,4.4rem)/1 var(--bb-font-display);letter-spacing:var(--bb-ls-display);font-variant-numeric:tabular-nums;color:var(--bb-on)}
.bh .bh-fig b{display:inline-block;min-width:calc(var(--n,2) * 1ch);font-weight:inherit;background:linear-gradient(var(--bb-color-brand-primary),var(--bb-color-brand-primary)) no-repeat 0 90%/100% .2em}
.bh .bh-fig i{font-style:normal;font-size:.5em}
.bh .bh-fig-l{display:block;margin-top:var(--bb-space-3);max-width:24ch;font-size:var(--bb-fs-small);line-height:var(--bb-lh-snug);color:var(--bb-on-body)}
.bh .bh-viz{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,40px);align-items:stretch}
.bh .bh-card{display:flex;flex-direction:column;gap:var(--bb-space-5);margin:0;padding:var(--bb-space-card);background:var(--bb-color-surface);border:var(--bb-border);border-radius:var(--bb-radius-card);box-shadow:var(--bb-shadow-md) var(--bb-color-border)}
.bh .bh-card-t{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--bb-space-2) var(--bb-space-4);margin:0;font:var(--bb-fw-black) var(--bb-fs-h5)/1.2 var(--bb-font-display);letter-spacing:var(--bb-ls-title);color:var(--bb-on)}
.bh .bh-card-t span{padding:3px 12px;border:var(--bb-border-w-thin) solid var(--bb-color-border);border-radius:var(--bb-radius-pill);background:var(--bb-color-brand-primary);font:var(--bb-fw-bold) var(--bb-fs-micro)/1.4 var(--bb-font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--bb-color-text)}
html[lang^="ar"] .bh .bh-card-t span{letter-spacing:0;text-transform:none}
.bh .bh-card-n{margin:auto 0 0;padding-top:var(--bb-space-4);border-top:var(--bb-hairline) solid var(--bb-color-border-subtle);font-size:var(--bb-fs-small);line-height:var(--bb-lh-snug);color:var(--bb-on-muted)}
.bh .bh-bars{display:grid;flex:1;align-content:center;gap:var(--bb-space-6)}
.bh .bh-bar{display:grid;gap:var(--bb-space-2)}
.bh .bh-bar-h{display:flex;align-items:baseline;justify-content:space-between;gap:var(--bb-space-3)}
.bh .bh-bar-l{color:var(--bb-on-body)}
.bh .bh-bar-v{flex:none;font:var(--bb-fw-black) var(--bb-fs-h4)/1 var(--bb-font-display);font-variant-numeric:tabular-nums;color:var(--bb-on)}
.bh .bh-bar-track{display:flex;height:clamp(40px,4vw,52px);overflow:hidden;border:var(--bb-border);border-radius:var(--bb-radius-pill);background:linear-gradient(90deg,transparent calc(100% - var(--bb-hairline)),var(--bb-color-border-subtle) 100%) 0 0/33.3333% 100%,var(--bb-color-bg-page)}
.bh .bh-bar-track i{display:block;flex:none;width:var(--w);height:100%;background:var(--bb-color-brand-primary);transform-origin:left center}
html[dir=rtl] .bh .bh-bar-track i{transform-origin:right center}
.bh .bh-bar-track i.is-ext{background:repeating-linear-gradient(135deg,var(--bb-color-brand-primary) 0 6px,transparent 6px 12px)}
.bh .bh-axis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:calc(var(--bb-space-2) * -1) 0 0;font-size:var(--bb-fs-small);line-height:1;color:var(--bb-on-muted);text-align:end}
.bh .bh-axis-c{margin:0;font-size:var(--bb-fs-small);line-height:var(--bb-lh-snug);color:var(--bb-on-muted)}
.bh .bh-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.bh .bh-cal-w{padding-bottom:4px;text-align:center;font:var(--bb-fw-bold) var(--bb-fs-micro)/1 var(--bb-font-display);color:var(--bb-on-muted)}
.bh .bh-cal-c{display:grid;place-items:center;height:clamp(38px,4.1vw,54px);border:var(--bb-border-w-thin) solid transparent;border-radius:8px;font:var(--bb-fw-medium) var(--bb-fs-micro)/1 var(--bb-font-display);font-style:normal;font-variant-numeric:tabular-nums}
.bh .bh-cal-c.is-pad{visibility:hidden}
.bh .is-free{background:var(--bb-color-bg-page);border-color:var(--bb-color-border-subtle);color:var(--bb-on-muted)}
.bh .is-stay{background:var(--bb-color-brand-primary);border-color:var(--bb-color-border);color:var(--bb-color-text)}
.bh .is-own{background:var(--bb-color-bg-inverse);border-color:var(--bb-color-border);color:var(--bb-color-text-inverse)}
.bh .is-clean{background:repeating-linear-gradient(135deg,transparent 0 3px,var(--bb-color-border-subtle) 3px 5px);border-color:var(--bb-color-border-subtle);color:var(--bb-on-body)}
.bh .bh-cal-key{display:flex;flex-wrap:wrap;gap:var(--bb-space-2) var(--bb-space-5);margin:0;padding:0;list-style:none;font-size:var(--bb-fs-small);color:var(--bb-on-body)}
.bh .bh-cal-key li{display:flex;align-items:center;gap:.55em;margin:0}
.bh .bh-cal-key i{flex:none;width:1.15em;height:1.15em;border:var(--bb-border-w-thin) solid transparent;border-radius:5px}
.bh .bh-anim .bh-bar-track i{transform:scaleX(0)}
.bh .bh-anim.is-in .bh-bar-track i{transform:none;transition:transform 1s var(--bb-ease)}
.bh .bh-anim.is-in .bh-bar:nth-child(2) .bh-bar-track i{transition-delay:.15s}
.bh .bh-anim.is-in .bh-bar-track i.is-ext{transition-delay:1s}
.bh .bh-anim .bh-cal-c:not(.is-pad){opacity:0;transform:scale(.7)}
.bh .bh-anim.is-in .bh-cal-c:not(.is-pad){opacity:1;transform:none;transition:opacity .35s var(--bb-ease),transform .45s var(--bb-ease-spring);transition-delay:calc(var(--i) * 22ms)}
.bh .bh-facts.bh-anim li{opacity:0;transform:translateY(16px)}
.bh .bh-facts.bh-anim.is-in li{opacity:1;transform:none;transition:opacity .5s var(--bb-ease),transform .6s var(--bb-ease)}
.bh .bh-facts.bh-anim.is-in li:nth-child(2){transition-delay:.08s}
.bh .bh-facts.bh-anim.is-in li:nth-child(3){transition-delay:.16s}
.bh .bh-facts.bh-anim.is-in li:nth-child(4){transition-delay:.24s}
.bh .bh-tabs{max-width:var(--bb-w-prose)}
.bh .bh-tablist{display:flex;flex-wrap:wrap;gap:var(--bb-space-2);margin:0 0 var(--bb-space-5)}
body .elementor .bh .bh-tablist button{min-height:46px;padding:.5em 1.3em;background:var(--bb-color-surface);color:var(--bb-color-text);border:var(--bb-border);border-radius:var(--bb-radius-pill);font:var(--bb-fw-medium) 1rem/1.2 var(--bb-font-display);cursor:pointer;transition:background-color var(--bb-dur-fast),box-shadow var(--bb-dur-fast),transform var(--bb-dur-base) var(--bb-ease-spring)}
@media(hover:hover){body .elementor .bh .bh-tablist button:hover{background:var(--bb-color-brand-primary);transform:translateY(-2px)}}
body .elementor .bh .bh-tablist button[aria-selected="true"]{background:var(--bb-color-brand-primary);font-weight:var(--bb-fw-bold);box-shadow:var(--bb-shadow-sm) var(--bb-color-border)}
body .elementor .bh .bh-tablist button:focus-visible{outline:3px solid var(--bb-color-focus);outline-offset:3px}
.bh .bh-tabs:not(.is-tabs){display:grid;gap:var(--bb-space-4)}
.bh .bh-tabpanel{padding:var(--bb-space-card);background:var(--bb-color-surface);border:var(--bb-border);border-radius:var(--bb-radius-card);box-shadow:var(--bb-shadow-md) var(--bb-color-border)}
.bh .bh-tabpanel[hidden]{display:none}
body .elementor .bh .bh-tabpanel h3{margin:0 0 var(--bb-space-3);font-size:var(--bb-fs-h4);line-height:1.2;letter-spacing:var(--bb-ls-title)}
.bh .bh-tabpanel p{max-width:var(--bb-w-measure);margin:0 0 var(--bb-space-4);color:var(--bb-on-body)}
.bh .bh-tabpanel p.bh-link{margin:0}
.bb-calc__bar{display:flex;height:40px;margin:0 0 var(--bb-space-2);overflow:hidden;border:var(--bb-border);border-radius:var(--bb-radius-pill)}
.bb-calc__bar i{display:grid;place-items:center;flex:none;width:var(--w);font:var(--bb-fw-black) var(--bb-fs-small)/1 var(--bb-font-display);font-style:normal;font-variant-numeric:tabular-nums}
.bb-calc__bar .k{background:var(--bb-color-brand-primary);color:var(--bb-color-text)}
.bb-calc__bar .f{background:var(--bb-color-bg-inverse);color:var(--bb-color-text-inverse)}
.bb-calc__bar-l{display:flex;justify-content:space-between;gap:var(--bb-space-4);margin:0 0 var(--bb-space-5);font-size:var(--bb-fs-small);color:var(--bb-on-muted)}
.bb-calc__bar.is-anim{clip-path:inset(0 100% 0 0)}
html[dir=rtl] .bb-calc__bar.is-anim{clip-path:inset(0 0 0 100%)}
html .bb-calc__bar.is-anim.is-in{clip-path:inset(0);transition:clip-path 1s var(--bb-ease)}
@media(max-width:1024px){.bh .bh-viz{grid-template-columns:1fr}}
@media(max-width:767px){.bh .bh-facts{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:var(--bb-space-6)}}

/* ---------- 21. HOME HERO PHOTO: a real interior photograph (stock, Pexels licence) behind the hero. A cream veil keeps every line of text on its original light surface; the picture shows through on the far side and behind the panel ---------- */
.bh-hero--photo{position:relative;isolation:isolate;overflow:hidden}
body .elementor .bh .bh-hero-bg{position:absolute;inset:0;z-index:-2;display:block;width:100%;height:100%;max-width:none;margin:0;border:0;border-radius:0;box-shadow:none;object-fit:cover;object-position:50% 50%}
html[dir=rtl] body .elementor .bh .bh-hero-bg{transform:scaleX(-1)}
.bh-hero--photo::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(247,245,239,.93) 0,rgba(247,245,239,.88) 46%,rgba(247,245,239,.46) 72%,rgba(247,245,239,.12) 100%)}
html[dir=rtl] .bh-hero--photo::before{background:linear-gradient(270deg,rgba(247,245,239,.93) 0,rgba(247,245,239,.88) 46%,rgba(247,245,239,.46) 72%,rgba(247,245,239,.12) 100%)}
.bh-hero--photo::after{content:"";position:absolute;inset:auto 0 0;z-index:-1;height:clamp(56px,9vw,140px);pointer-events:none;background:linear-gradient(0deg,var(--bb-color-bg-page),rgba(247,245,239,0))}
@media(max-width:1024px){
  body .elementor .bh .bh-hero-bg{height:min(100%,470px);object-position:100% 50%;-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent 100%);mask-image:linear-gradient(180deg,#000 55%,transparent 100%)}
  .bh-hero--photo::before,html[dir=rtl] .bh-hero--photo::before{inset:0 0 auto;height:min(100%,470px);background:linear-gradient(180deg,rgba(247,245,239,.4) 0,rgba(247,245,239,.58) 30%,rgba(247,245,239,.84) 72%,rgba(247,245,239,.95) 100%)}
  .bh-hero--photo::after{display:none}
}
@media(max-width:767px){
  .bh-hero--photo{padding-top:calc(56.25vw + 8px)}
  body .elementor .bh .bh-hero-bg{height:56.25vw;object-position:50% 50%;-webkit-mask-image:linear-gradient(180deg,#000 82%,transparent 100%);mask-image:linear-gradient(180deg,#000 82%,transparent 100%)}
  .bh-hero--photo::before,html[dir=rtl] .bh-hero--photo::before{display:none}
}
@media print{.bh-hero--photo .bh-hero-bg,.bh-hero--photo::before,.bh-hero--photo::after{display:none}}
/* ---------- 22. HOME PHOTOS: real interior photographs (stock, Pexels licence) so the page reads as homes, not software. A gallery under "why short-term", a photo beside each "who is it for" tab, and a photo behind the closing call to action ---------- */
.bh .bh-gal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,24px);margin:0;padding:0;list-style:none}
.bh .bh-gal li{position:relative;margin:0;padding:0;overflow:hidden;aspect-ratio:4/3;background:var(--bb-color-accent);border:var(--bb-border);border-radius:var(--bb-radius-card)}
.bh .bh-gal li:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
body .elementor .bh .bh-gal img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;margin:0;border:0;border-radius:0;box-shadow:none;object-fit:cover}
.bh .bh-gal-note{margin:var(--bb-space-3) 0 0;font-size:var(--bb-fs-small);color:var(--bb-on-muted)}
.bh .bh-tabs:has(.bh-tp-img){max-width:none}
.bh .bh-tabpanel:has(>.bh-tp-img):not([hidden]){position:relative;display:flex;align-items:center;padding:0;overflow:hidden}
.bh .bh-tp-copy{box-sizing:border-box;width:50%;min-height:clamp(260px,22vw,360px);display:flex;flex-direction:column;justify-content:center;padding:clamp(24px,3.4vw,56px)}
body .elementor .bh img.bh-tp-img{position:absolute;inset-block:0;inset-inline-end:0;display:block;width:50%;height:100%;max-width:none;margin:0;border:0;border-inline-start:var(--bb-border);border-radius:0;box-shadow:none;object-fit:cover;background:var(--bb-color-accent)}
html .bh-close--photo{position:relative;isolation:isolate;overflow:hidden;padding-block:clamp(44px,7vw,104px)}
.bh-close--photo .bh-in{width:calc(100% - 2 * var(--bb-gutter));max-width:960px;padding:clamp(30px,4.6vw,68px) clamp(22px,4vw,64px);background:rgba(255,255,255,.96);border:var(--bb-border);border-radius:var(--bb-radius-card);box-shadow:var(--bb-shadow-lg) var(--bb-color-border)}
.bh-close .bh-actions{justify-content:center}
body .elementor .bh .bh-close-bg{position:absolute;inset:0;z-index:-2;display:block;width:100%;height:100%;max-width:none;margin:0;border:0;border-radius:0;box-shadow:none;object-fit:cover;object-position:50% 55%}
@media(max-width:767px){
  .bh .bh-gal{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bh .bh-gal li:first-child{grid-column:1/-1;grid-row:auto;aspect-ratio:4/3}
  .bh .bh-tabpanel:has(>.bh-tp-img):not([hidden]){flex-direction:column-reverse;align-items:stretch}
  .bh .bh-tp-copy{width:auto;min-height:0;padding:var(--bb-space-card)}
  body .elementor .bh img.bh-tp-img{position:static;width:100%;height:auto;aspect-ratio:16/10;border-inline-start:0;border-bottom:var(--bb-border)}
}
@media print{.bh-close--photo .bh-close-bg{display:none}}
/* ---------- 23. PAGE PHOTOS (interiors): the same photo card as the other inner-page heroes, on the pages that had none. Real interior photographs (stock, Pexels licence); decorative, the words beside them carry the meaning ---------- */
.bb-art--bed{--bb-art:url("/wp-content/uploads/2026/10/bb-home-bed.webp")}
.bb-art--loft{--bb-art:url("/wp-content/uploads/2026/10/bb-tab-villas.webp")}
.bb-art--living{--bb-art:url("/wp-content/uploads/2026/10/bb-tab-apartments.webp")}
.bb-art--kitchen{--bb-art:url("/wp-content/uploads/2026/10/bb-home-kitchen.webp")}
.bb-art--salon{--bb-art:url("/wp-content/uploads/2026/10/bb-home-salon.webp")}
.bb-art--galley{--bb-art:url("/wp-content/uploads/2026/10/bb-tab-abroad.webp")}
.bb-art--suite{--bb-art:url("/wp-content/uploads/2026/10/bb-close-bedroom.webp")}
/* ---------- 24. CALCULATOR, step one: nightly rate, nights booked and platform fees feed the payout split. The owner's own numbers in, plain arithmetic out; no forecast ---------- */
.bb-calc__ins{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--bb-space-3) var(--bb-space-4);margin:0 0 var(--bb-space-4)}
.bb-calc__ins .bb-calc__in{grid-template-rows:1fr auto;margin:0}
body .elementor .bb-calc__ins input{min-height:52px;padding:8px 14px;font-size:clamp(1.15rem,1rem + .6vw,1.5rem)}
@media(max-width:600px){.bb-calc__ins{grid-template-columns:repeat(2,minmax(0,1fr))}.bb-calc__ins .bb-calc__in:first-child{grid-column:1/-1}}
/* ---------- 25. CALCULATOR, step two: the same rate over other months, break-even against the owner's current rent, and a link to have the property assessed. The owner's own numbers only; nothing predicted ---------- */
.bb-calc__sc,.bb-calc__be{margin:var(--bb-space-5) 0 0;padding-top:var(--bb-space-4);border-top:var(--bb-hairline) solid var(--bb-color-border-subtle)}
.bb-calc__h{margin:0 0 var(--bb-space-3);font:var(--bb-fw-bold) var(--bb-fs-small)/1.3 var(--bb-font-body);color:var(--bb-on-body)}
.bb-calc__sc ul{display:grid;gap:var(--bb-space-2);margin:0;padding:0;list-style:none}
.bb-calc__sc li{display:grid;grid-template-columns:5.5em minmax(0,1fr) 5.5em;align-items:center;gap:var(--bb-space-3);margin:0;font-size:var(--bb-fs-small);color:var(--bb-on-body)}
.bb-calc__sc-t{display:block;height:14px;overflow:hidden;background:var(--bb-color-bg-page);border:var(--bb-border-w-thin) solid var(--bb-color-border);border-radius:var(--bb-radius-pill)}
.bb-calc__sc-t i{display:block;width:var(--w,0%);height:100%;background:var(--bb-color-brand-primary);transition:width var(--bb-dur-base) var(--bb-ease)}
.bb-calc__sc bdi{font:var(--bb-fw-black) var(--bb-fs-small)/1 var(--bb-font-display);font-variant-numeric:tabular-nums;text-align:end;color:var(--bb-color-text)}
.bb-calc__be .bb-calc__in{margin:0 0 var(--bb-space-3)}
body .elementor .bb-calc__be input{min-height:52px;padding:8px 14px;font-size:clamp(1.15rem,1rem + .6vw,1.5rem)}
.bb-calc__be-r{margin:0;font-weight:var(--bb-fw-bold);color:var(--bb-color-text)}
.bb-calc__be-n{margin:var(--bb-space-2) 0 0;font-size:var(--bb-fs-small);line-height:var(--bb-lh-snug);color:var(--bb-on-muted)}
.bb-calc__cta{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--bb-space-1) var(--bb-space-4);margin:var(--bb-space-4) 0 0;padding-top:var(--bb-space-4);border-top:var(--bb-hairline) solid var(--bb-color-border-subtle);font-size:var(--bb-fs-small);line-height:var(--bb-lh-snug);color:var(--bb-on-body)}
.bb-calc__cta a{font-weight:var(--bb-fw-black);color:var(--bb-color-text);text-decoration:underline;text-decoration-color:var(--bb-color-brand-primary);text-decoration-thickness:3px;text-underline-offset:.2em}
@media(prefers-reduced-motion:reduce){.bb-calc__sc-t i{transition:none}}
/* ---------- 26. MARKET DATA: what public data sources say Tétouan listings bring in, three sources side by side with their disagreement left visible, labelled gross, market-wide and not Bubbles' results ---------- */
.bb-mkt{padding:var(--bb-space-card);background:var(--bb-color-surface);border:var(--bb-border);border-radius:var(--bb-radius-card);box-shadow:var(--bb-shadow-md) var(--bb-color-border);color:var(--bb-color-text)}
.bb-mkt__t{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--bb-space-2) var(--bb-space-4);margin:0 0 var(--bb-space-5);font:var(--bb-fw-black) var(--bb-fs-h5)/1.2 var(--bb-font-display);letter-spacing:var(--bb-ls-title)}
.bb-mkt__t span{padding:3px 12px;border:var(--bb-border-w-thin) solid var(--bb-color-border);border-radius:var(--bb-radius-pill);background:var(--bb-color-brand-primary);font:var(--bb-fw-bold) var(--bb-fs-micro)/1.4 var(--bb-font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--bb-color-text)}
html[lang^="ar"] .bb-mkt__t span{letter-spacing:0;text-transform:none}
.bb-mkt__g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--bb-space-5) var(--bb-space-6)}
.bb-mkt__m{min-width:0}
.bb-mkt__h{margin:0 0 var(--bb-space-3);font:var(--bb-fw-bold) var(--bb-fs-small)/1.3 var(--bb-font-body);color:var(--bb-on-body)}
.bb-mkt__m ul{display:grid;gap:var(--bb-space-3);margin:0;padding:0;list-style:none}
.bb-mkt__m li{display:grid;gap:6px;margin:0;padding:0}
.bb-mkt__r{display:flex;align-items:baseline;justify-content:space-between;gap:var(--bb-space-3)}
.bb-mkt__s{font-size:var(--bb-fs-small);color:var(--bb-on-muted)}
.bb-mkt__r bdi{font:var(--bb-fw-black) var(--bb-fs-h5)/1.1 var(--bb-font-display);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--bb-color-text)}
.bb-mkt__tr{display:block;height:14px;overflow:hidden;background:var(--bb-color-bg-page);border:var(--bb-border-w-thin) solid var(--bb-color-border);border-radius:var(--bb-radius-pill)}
.bb-mkt__tr i{display:block;width:var(--w,0%);height:100%;background:var(--bb-color-brand-primary)}
.bb-mkt__avg{margin:var(--bb-space-3) 0 0;font-size:var(--bb-fs-small);line-height:var(--bb-lh-snug);color:var(--bb-on-body)}
.bb-mkt__n{display:grid;gap:var(--bb-space-3);margin:var(--bb-space-5) 0 0;padding:var(--bb-space-4) 0 0;list-style:none;border-top:var(--bb-hairline) solid var(--bb-color-border-subtle)}
.bb-mkt__n li{position:relative;margin:0;padding:0;padding-inline-start:1.5em;font-size:var(--bb-fs-small);line-height:var(--bb-lh-snug);color:var(--bb-on-body)}
.bb-mkt__n li::before{content:"";position:absolute;inset-inline-start:0;top:.42em;width:.6em;height:.6em;background:var(--bb-color-brand-primary);border:var(--bb-border-w-thin) solid var(--bb-color-border);border-radius:50%}
.bb-mkt__n b{font-weight:var(--bb-fw-black);color:var(--bb-color-text)}
.bb-mkt__src{margin:var(--bb-space-4) 0 0;font-size:var(--bb-fs-small);line-height:var(--bb-lh-snug);color:var(--bb-on-muted)}
.bb-mkt__src a,.bb-mkt__cta a{font-weight:var(--bb-fw-black);color:var(--bb-color-text);text-decoration:underline;text-decoration-color:var(--bb-color-brand-primary);text-decoration-thickness:3px;text-underline-offset:.2em}
.bb-mkt__cta{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--bb-space-1) var(--bb-space-4);margin:var(--bb-space-4) 0 0;padding-top:var(--bb-space-4);border-top:var(--bb-hairline) solid var(--bb-color-border-subtle);font-size:var(--bb-fs-small);line-height:var(--bb-lh-snug);color:var(--bb-on-body)}
@media(max-width:820px){.bb-mkt__g{grid-template-columns:minmax(0,1fr)}}
/* ---------- 27. ANCHORS: the calculator and the do-it-yourself comparison on the pricing page can be linked to from the FAQs without the sticky header covering their heading ---------- */
#bb-calc,#bb-diy{scroll-margin-top:clamp(72px,10vw,120px)}
/* ---------- 28. WHY STR: the six benefit cards stand alone (no photo gallery under them), so the last row needs no bottom margin ---------- */
.bh .bh-why:last-child{margin-bottom:0}
/* ---------- 29. WHY STR OWNER PHOTO: one photograph of a relaxed owner beside the section heading, captioned as an illustration ---------- */
.bh .bh-head-split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center;margin-bottom:clamp(30px,4vw,48px)}
.bh .bh-head-split .bh-head{margin-bottom:0}
.bh .bh-owner{margin:0}
body .elementor .bh .bh-owner img{display:block;width:100%;height:auto;max-width:none;aspect-ratio:3/2;margin:0;object-fit:cover;border:var(--bb-border);border-radius:var(--bb-radius-card);box-shadow:none}
.bh .bh-owner figcaption{margin:var(--bb-space-2) 0 0;font-size:var(--bb-fs-small);color:var(--bb-on-muted)}
@media(max-width:900px){.bh .bh-head-split{grid-template-columns:minmax(0,1fr)}}
/* ---------- 30. HERO ROTATING LINE: under the fixed headline, one line at a time of what the team takes off the owner's plate (the 2 a.m. plumber, the laundry, the key calls, the midnight texts) ---------- */
body .elementor .bh p.bh-rotl{margin:calc(-1 * var(--bb-space-3)) 0 var(--bb-space-5);font:var(--bb-fw-black) clamp(1.3rem,1rem + 1.5vw,2.1rem)/1.25 var(--bb-font-display);letter-spacing:var(--bb-ls-title);color:var(--bb-color-text)}
.bh .bh-rotl .bh-rot{margin-inline-start:0}
.bh .bh-rotl mark{padding:0 .04em .1em;background:linear-gradient(var(--bb-color-brand-primary),var(--bb-color-brand-primary)) no-repeat 0 100%/100% .2em;animation:none;color:inherit;-webkit-box-decoration-break:clone;box-decoration-break:clone}
[dir=rtl] .bh .bh-rotl mark{background-position:100% 100%}
/* ---------- 31. LOGO: Bubbles Owners block (BUBBLES. over OWNERS in a rounded block); black block in the header, yellow block in the footer ---------- */
body .bb-header .bb-logo-svg,body .bb-foot .bb-logo-svg{display:flex;width:fit-content}
body .bb-header .bb-logo-svg svg{height:clamp(46px,3.9vw,56px)}
body .bb-foot .bb-logo-svg svg{height:64px}
@media(max-width:1024px){body .bb-header .bb-logo-svg svg{height:44px}}
@media(max-width:359px){body .bb-header .bb-logo-svg svg{height:40px}}
/* ---------- 32. HERO KICKER: one quiet line above the home headline (what Bubbles is), short yellow bar in front, no box, no tilt ---------- */
.bh .bh-kick{display:flex;align-items:flex-start;gap:12px;margin:0 0 18px;font:var(--bb-fw-bold) var(--bb-fs-label)/1.35 var(--bb-font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--bb-on-body)}
.bh .bh-kick::before{content:"";flex:0 0 auto;width:30px;height:6px;border-radius:3px;margin-top:calc(.675em - 3px);background:var(--bb-color-brand-primary)}
html[lang^="ar"] .bh .bh-kick{letter-spacing:0;text-transform:none}
/* ---------- 33. HOME CALCULATOR TEASER + MENU LINK: a dark band on the home page with a working slice of the pricing calculator (nights slider, the split counted in when it scrolls into view), and a highlighted "calculate your share" item in the main menu ---------- */
.bh-cp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,540px);gap:clamp(32px,5vw,88px);align-items:center}
.bh-cp .bh-head{margin-bottom:var(--bb-space-6)}
.bh-cp .bh-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--bb-space-4) var(--bb-space-6)}
.bh-sec--dark .bh-cp h2 mark{color:var(--bb-color-text)}
.bh-sec--dark .bb-calc{--bb-surface:var(--bb-color-surface);--bb-on:var(--bb-color-text);--bb-on-body:var(--bb-color-text);--bb-on-sub:var(--bb-color-text-secondary);--bb-on-muted:var(--bb-color-text-muted);--bb-line:var(--bb-color-border);--bb-accent-line:var(--bb-color-border);--bb-ring:var(--bb-color-focus);margin:0;box-shadow:8px 8px 0 0 var(--bb-color-brand-primary)}
.bh-cp .bb-calc__rows dd{font-size:var(--bb-fs-h5)}
.bh-cp .bb-calc__rows>div{padding:11px 0}
.bh-cp .bb-calc__rows>.bb-calc__sum dd{font-size:var(--bb-fs-h4)}
.bh-cp .bb-calc__bar{margin-top:var(--bb-space-5)}
.bh-cp .bb-calc__bar-l{margin-bottom:0}

/* the nights slider */
.bh-cp-sl{display:grid;gap:10px;margin:0 0 var(--bb-space-4)}
.bh-cp-sl>span{display:flex;align-items:baseline;justify-content:space-between;gap:var(--bb-space-3);font-size:var(--bb-fs-small);color:var(--bb-on-body)}
.bh-cp-sl output{font:var(--bb-fw-black) var(--bb-fs-h4)/1 var(--bb-font-display);font-variant-numeric:tabular-nums;color:var(--bb-color-text)}
body .elementor .bh .bh-cp-sl input[type=range]{-webkit-appearance:none;appearance:none;display:block;width:100%;height:30px;min-height:0;margin:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;cursor:pointer;accent-color:var(--bb-color-text)}
.bh-cp-sl input[type=range]::-webkit-slider-runnable-track{height:16px;border:var(--bb-border);border-radius:var(--bb-radius-pill);background:linear-gradient(var(--bb-color-brand-primary),var(--bb-color-brand-primary)) 0 0/var(--p,30%) 100% no-repeat,var(--bb-color-bg-page)}
.bh-cp-sl input[type=range]::-moz-range-track{height:12px;border:var(--bb-border);border-radius:var(--bb-radius-pill);background:var(--bb-color-bg-page)}
.bh-cp-sl input[type=range]::-moz-range-progress{height:12px;border-radius:var(--bb-radius-pill);background:var(--bb-color-brand-primary)}
.bh-cp-sl input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;margin-top:-9px;border-radius:50%;background:var(--bb-color-text);border:4px solid var(--bb-color-brand-primary);box-shadow:0 0 0 0 rgba(255,210,31,0)}
.bh-cp-sl input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--bb-color-text);border:4px solid var(--bb-color-brand-primary)}
.bh-cp-sl input[type=range]:focus-visible{outline:3px solid var(--bb-ring);outline-offset:4px;border-radius:var(--bb-radius-pill)}
[dir=rtl] .bh-cp-sl input[type=range]::-webkit-slider-runnable-track{background-position:100% 0,0 0}
.bh-cp.is-hint .bh-cp-sl input[type=range]::-webkit-slider-thumb{animation:bhcpp 1.6s ease-out infinite}
.bh-cp.is-hint .bh-cp-sl input[type=range]::-moz-range-thumb{animation:bhcpp 1.6s ease-out infinite}
@keyframes bhcpp{0%{box-shadow:0 0 0 0 rgba(255,210,31,.8)}100%{box-shadow:0 0 0 14px rgba(255,210,31,0)}}

/* motion: rows count in one after another, the bar draws, the total gets its marker last */
.bh-cp--anim .bb-calc__rows>div{opacity:0;transform:translateY(10px)}
.bh-cp--anim.is-in .bb-calc__rows>div{opacity:1;transform:none;transition:opacity .45s var(--bb-ease),transform .55s var(--bb-ease);transition-delay:calc(.15s + var(--i) * .16s)}
.bh-cp--anim .bb-calc__rows>.bb-calc__sum dd{background-size:0% .5em}
.bh-cp--anim.is-in .bb-calc__rows>.bb-calc__sum dd{background-size:100% .5em;transition:background-size .6s 1.7s var(--bb-ease)}
.bh-cp--anim h2 mark{animation:none;background-size:0% var(--bb-mark-h)}
.bh-cp--anim.is-in h2 mark{animation:bhmark .9s .2s var(--bb-ease) forwards}
.bh-cp .bb-calc__sum dd.is-bump{animation:bhcpb .35s var(--bb-ease-spring)}
@keyframes bhcpb{40%{transform:scale(1.08)}}
@media(max-width:900px){.bh-cp{grid-template-columns:minmax(0,1fr)}.bh-cp .bh-head{margin-bottom:var(--bb-space-5)}}
@media(prefers-reduced-motion:reduce){.bh-cp.is-hint .bh-cp-sl input[type=range]::-webkit-slider-thumb,.bh-cp.is-hint .bh-cp-sl input[type=range]::-moz-range-thumb,.bh-cp .bb-calc__sum dd.is-bump{animation:none}}

/* menu: the calculator link, with a small calculator icon and a yellow marker under the words */
.bb-nl{display:inline-flex;align-items:center;gap:.45em}
.bb-ni{flex:none;display:inline-block;width:1.05em;height:1.05em;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='2.5' width='16' height='19' rx='3'/%3E%3Cpath d='M8 7h8M8 12h.01M12 12h.01M16 12h.01M8 16h.01M12 16h.01M16 16h.01'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='2.5' width='16' height='19' rx='3'/%3E%3Cpath d='M8 7h8M8 12h.01M12 12h.01M16 12h.01M8 16h.01M12 16h.01M16 16h.01'/%3E%3C/svg%3E") center/contain no-repeat}
.bb-nl-f,.bb-nl-s{padding:0 .1em;background:linear-gradient(var(--bb-color-brand-primary),var(--bb-color-brand-primary)) no-repeat 0 92%/100% .42em}
.bb-nl-s{display:none}
/* ---------- 34. LANGUAGE DROPDOWN: on desktop the FR / EN / ES / AR pill becomes one button (globe, current language, chevron) that opens a small list with each language's own name. On phones and tablets it stays the pill. Built by a script in the header; without it, the pill shows everywhere ---------- */
.bb-lang--dd .bb-lang__btn{display:none}
.bb-lang--dd .bb-lang__menu{display:contents}
.bb-lang--dd .bb-lang__menu a b{font-weight:inherit}
.bb-lang--dd .bb-lang__menu a span{display:none}
@media(min-width:1025px){
  .bb-lang.bb-lang--dd{position:relative;padding:0;border:0;background:none;gap:0}
  body .elementor .bb-lang--dd .bb-lang__btn{display:inline-flex;align-items:center;gap:.5em;min-height:44px;margin:0;padding:0 .95em 0 .85em;background:var(--bb-color-surface);color:var(--bb-color-text);border:var(--bb-border-w-thin) solid var(--bb-color-border);border-radius:var(--bb-radius-pill);box-shadow:none;font:var(--bb-fw-bold) .85rem/1 var(--bb-font-display);letter-spacing:.06em;text-transform:none;cursor:pointer;transition:background-color var(--bb-dur-fast)}
  body .elementor .bb-lang--dd .bb-lang__btn:hover,body .elementor .bb-lang--dd.is-open .bb-lang__btn{background:var(--bb-color-brand-primary)}
  body .elementor .bb-lang--dd .bb-lang__btn:focus-visible{outline:3px solid var(--bb-color-focus);outline-offset:3px}
  .bb-lang__ic{flex:none;width:1.15em;height:1.15em;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='M2.5 12h19M12 2.5c2.6 2.7 3.9 5.9 3.9 9.5s-1.3 6.8-3.9 9.5c-2.6-2.7-3.9-5.9-3.9-9.5s1.3-6.8 3.9-9.5z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='M2.5 12h19M12 2.5c2.6 2.7 3.9 5.9 3.9 9.5s-1.3 6.8-3.9 9.5c-2.6-2.7-3.9-5.9-3.9-9.5s1.3-6.8 3.9-9.5z'/%3E%3C/svg%3E") center/contain no-repeat}
  .bb-lang__chev{flex:none;width:.45em;height:.45em;margin-inline-start:.1em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform var(--bb-dur-base) var(--bb-ease)}
  .bb-lang--dd.is-open .bb-lang__chev{transform:translateY(2px) rotate(-135deg)}
  .bb-lang--dd .bb-lang__menu{display:none;position:absolute;top:calc(100% + 10px);right:0;left:auto;z-index:60;min-width:200px;padding:6px;background:var(--bb-color-surface);border:var(--bb-border);border-radius:18px;box-shadow:var(--bb-shadow-md) var(--bb-color-border)}
  [dir=rtl] .bb-lang--dd .bb-lang__menu{right:auto;left:0}
  .bb-lang--dd.is-open .bb-lang__menu{display:grid;gap:2px;animation:bblang .18s var(--bb-ease)}
  .bb-lang .bb-lang__menu a{display:flex;align-items:center;gap:.9em;padding:.75em .85em;border-radius:12px;font:var(--bb-fw-medium) var(--bb-fs-small)/1.2 var(--bb-font-body);letter-spacing:0;white-space:nowrap}
  .bb-lang .bb-lang__menu a b{min-width:2em;font:var(--bb-fw-bold) .72rem/1 var(--bb-font-display);letter-spacing:.06em}
  .bb-lang .bb-lang__menu a span{display:inline}
  .bb-lang .bb-lang__menu a span:lang(ar){font-family:var(--bb-font-arabic)}
  .bb-lang .bb-lang__menu a:focus-visible{outline:3px solid var(--bb-color-focus);outline-offset:-3px}
}
@keyframes bblang{from{opacity:0;transform:translateY(-6px)}}
@media(prefers-reduced-motion:reduce){.bb-lang--dd.is-open .bb-lang__menu{animation:none}.bb-lang__chev{transition:none}}
/* ---------- 35. HOME, TRIMMED TO NINE BANDS: the seasons chart now sits inside "why short-term rental" under its own sub-heading; "who it's for" names the towns; comparison and owner statement share one band ---------- */
.bh .bh-seas{margin-top:clamp(8px,1vw,16px);padding-top:clamp(36px,4.5vw,64px);border-top:var(--bb-hairline) solid var(--bb-color-border-subtle)}
body .elementor .bh .bh-seas-h{max-width:min(100%,900px);margin:0 0 clamp(24px,3vw,40px);font-size:var(--bb-fs-h3);line-height:var(--bb-lh-heading);letter-spacing:var(--bb-ls-heading);text-wrap:balance}
/* ---------- 36. AD LANDING PAGES (.bh-lp): one goal per page. The header keeps only the logo and the language switch (no menu, no second button), the hero carries the 2-minute test, the phone's sticky button points to the test ---------- */
body:has(.bh-lp) .bb-header :is(.bb-nav,.elementor-widget-button){display:none!important}
.bh-lp .bh-lp-hero{padding-block:clamp(36px,6vw,96px)}
.bh-lp .bh-hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start}
.bh-lp .bh-lp-ticks{display:grid;gap:12px;margin-top:var(--bb-space-6)}
.bh-lp .bh-lp-ticks li{display:flex;align-items:center;gap:var(--bb-space-3);font-weight:var(--bb-fw-medium);color:var(--bb-on)}
.bh-lp .bh-lp-test{transform:rotate(.6deg);box-shadow:8px 8px 0 0 var(--bb-color-brand-primary)}
.bh-lp .bh-lp-test .bh-panel-t{font-size:var(--bb-fs-h4);line-height:1.2;margin-bottom:var(--bb-space-2)}
.bh-lp .bh-lp-test-s{margin:0 0 var(--bb-space-5);color:var(--bb-on-muted)}
.bh-lp .bh-lp-test .bh-est{margin:0;padding:0;border:0}
.bh-lp .bh-lp-test .bh-est-opts li{display:block;padding:0;border:0}
.bh-lp .bh-lp-alt{margin:var(--bb-space-5) 0 0;padding-top:var(--bb-space-4);border-top:var(--bb-hairline) solid var(--bb-color-border-subtle);font-size:var(--bb-fs-small)}
.bh-lp .bh-close .bh-actions{gap:var(--bb-space-4) var(--bb-space-6)}
@media(max-width:1024px){.bh-lp .bh-hero-grid{grid-template-columns:1fr}.bh-lp .bh-lp-test{transform:none;max-width:620px}}
@media(max-width:480px){body .elementor .bh-lp .bh-lp-test .bh-est-opts a,body .elementor .bh-lp .bh-lp-test .bh-est-opts a:visited{min-width:2.5em;padding:.5em .7em}}
@media(max-width:767px){.bh-lp .bh-lp-ticks{display:none}.bh-lp .bh-hero h1{margin-bottom:var(--bb-space-4)}}
/* =====================================================================
   OWNER SITE: QUIET PALETTE v1 (2026-10-14)
   Cream and ink lead; yellow is a signature only: the logo, the short bar
   before kickers and section labels, one underline per headline, the active
   menu item, focus rings on dark surfaces. Hard shadows and tilts are off.
   Rollback: delete this whole block (a full copy of the kit settings is in
   the option bb_backup_kit12_settings_20261014_113451).
   ===================================================================== */
:root{
  --bb-color-sig:var(--bb-yellow-500);
  --bb-color-brand-primary:var(--bb-cream-200);
  --bb-color-bg-brand:var(--bb-cream-200);
  --bb-color-accent:var(--bb-cream-200);
  --bb-shadow-sm:0 0 0 0;--bb-shadow-md:0 0 0 0;--bb-shadow-lg:0 0 0 0;
  --bb-tilt:0deg;
  --bb-radius-card:16px;--bb-radius-field:12px;
  --bb-hairline-c:rgba(17,17,17,.14);
}

/* chrome */
html body .bb-header{border-bottom:1px solid var(--bb-hairline-c)}
html body .bb-logo-svg:hover{transform:none}
html body .elementor .bb-nav .elementor-nav-menu--main .elementor-item:is(:hover,:focus,.elementor-item-active){background-color:transparent;background-image:linear-gradient(var(--bb-color-sig),var(--bb-color-sig));background-repeat:no-repeat;background-size:calc(100% - 2.1em) 3px;background-position:50% calc(100% - .25em);transform:none}
html body .bb-nav .elementor-menu-toggle{background:var(--bb-color-surface);border:1px solid rgba(17,17,17,.3)}
html body .bb-nav .elementor-nav-menu--dropdown,html body .elementor .bb-nav .elementor-nav-menu--main .sub-menu{border:1px solid var(--bb-hairline-c);box-shadow:0 12px 32px rgba(17,17,17,.08)}
html body .bb-lang{border:1px solid rgba(17,17,17,.3)}
html body .bb-lang a.is-cur{color:var(--bb-color-text-inverse)}
html body .bb-sticky{background:var(--bb-color-brand-secondary);border-color:var(--bb-color-brand-secondary);color:var(--bb-color-text-inverse)}

/* buttons: the main action is ink on light surfaces, cream on dark ones */
html body .elementor :is(.bb-btn--y,.bb-form) .elementor-button,html body .elementor .bh a.bh-btn,html body .elementor .bh a.bh-btn:visited{background:var(--bb-line);color:var(--bb-surface);border-color:var(--bb-line);box-shadow:none}
html body .elementor .bb-btn--y .elementor-button:visited{color:var(--bb-surface)}
html body .elementor .bb-form .elementor-button,html body .elementor .bb-form .elementor-button .elementor-button-text{color:var(--bb-surface)!important}
html body .elementor :is(.bb-btn,.bb-btn--y,.bb-btn--ghost,.bb-form) .elementor-button:hover,html body .elementor .bh a.bh-btn:hover{transform:none;box-shadow:none}
html body .elementor :is(.bb-btn--y,.bb-form) .elementor-button:hover,html body .elementor .bh a.bh-btn:hover{background:color-mix(in srgb,var(--bb-line) 84%,var(--bb-surface));color:var(--bb-surface)}
html body .elementor .bb-quiz a.bb-q-link{background:var(--bb-color-brand-secondary);color:var(--bb-color-text-inverse);border-color:var(--bb-color-brand-secondary)}
html body .elementor .bb-quiz a.bb-q-link:hover{transform:none}
html body .elementor .bh .bh-est-opts a,html body .elementor .bh .bh-est-opts a:visited{border:1px solid rgba(17,17,17,.3)}
html body .elementor .bh .bh-est-opts a:hover{background:var(--bb-color-text);color:var(--bb-color-text-inverse);border-color:var(--bb-color-text)}

/* labels and highlights */
html body .elementor .elementor-widget.bb-eyebrow p,html body .bh .bh-eyebrow{display:inline-flex;align-items:center;gap:10px;padding:0;border:0;border-radius:0;background:none;transform:none;color:var(--bb-on)}
html body .elementor .elementor-widget.bb-eyebrow p::before,html body .bh .bh-eyebrow::before{content:"";flex:0 0 24px;height:4px;border-radius:2px;background:var(--bb-color-sig)}
html body .bh .bh-kick::before{flex-basis:24px;width:24px;height:4px;border-radius:2px;margin-top:calc(.675em - 2px);background:var(--bb-color-sig)}
html body .bh mark,html body .elementor .bb-hl{background:none;animation:none;padding:0;color:inherit;text-decoration:underline;text-decoration-color:var(--bb-color-sig);text-decoration-thickness:.1em;text-underline-offset:.14em;text-decoration-skip-ink:none}
html body .bh .bh-rotl mark{text-decoration:none;color:var(--bb-on-sub)}
html body .bh-close mark{display:inline}
html body .bh-mq-track span{color:var(--bb-color-text-inverse)}
html body .bh-mq-track span::after{color:var(--bb-color-sig)}

/* numbers: ink outline circles */
html body :is(.elementor .elementor-widget.bb-num p,.bb-tile__n,.bh .bh-num,.bh .bh-ico){background:var(--bb-surface);border:1.5px solid var(--bb-line);color:var(--bb-on)}
html body .bh .bh-steps .bh-step .bh-num{background:var(--bb-color-sig);border:var(--bb-border-w) solid var(--bb-color-text);color:var(--bb-color-text)}

/* cards, tiles, panels: hairlines instead of 2px ink */
html body :is(.e-con.bb-card,.bb-card .bb-ph,.bb-tile,.bb-faq details,.bb-quiz,.bb-dash,.bb-map,.bb-cmp,.bb-cmp th,.bb-cmp td,.bh-panel,.bh .bh-card,.bh .bh-stmt-card,.bb-calc,.bb-mkt,.bh .bh-tabpanel){border-width:1px;border-color:color-mix(in srgb,var(--bb-line) 18%,transparent)}
html body .bh-panel{transform:none}
html body .bb-tile:is(:hover,:focus-visible){transform:translateY(-3px);border-color:var(--bb-line)}
html body .bb-faq details:not([open]):hover{border-color:var(--bb-line)}

/* form fields */
html body .bb-form .elementor-field-group .elementor-field{border-width:1px}
html body .bb-form .elementor-field-group:not(.elementor-error) .elementor-field{border-color:var(--bb-color-text-muted)}
html body .elementor .bb-form .elementor-field-label{text-transform:none;letter-spacing:0;font:var(--bb-fw-medium) .9375rem/1.3 var(--bb-font-body)}
html body .bb-form input[type=file]::file-.elementor-kit-12-button{border:1px solid var(--bb-color-text-muted)}
html body .bb-form input[type=file]::-webkit-file-upload-button{border:1px solid var(--bb-color-text-muted)}

/* links: thin ink underline */
html body :is(.bh-link,.bb-tile__go),html body .bb-calc__cta a,html body .bb-mkt__src a,html body .bb-mkt__cta a{text-decoration-color:currentColor;text-decoration-thickness:1px}
@media(hover:hover){html body :is(.bh-link,.bb-tile__go):hover{text-decoration-thickness:2px}}

/* v1.1 (2026-10-14): sticky CTA readable in every link state; a few more yellow marks.
   Rule: yellow may carry text and icons on ink; on light grounds it stays a small mark. */
html body a.bb-sticky,html body a.bb-sticky:visited,html body a.bb-sticky:hover,html body a.bb-sticky:focus{color:var(--bb-color-text-inverse)}
html body a.bb-sticky::after{content:"→";display:inline-block;margin-inline-start:.6em;color:var(--bb-color-sig)}
html[dir=rtl] body a.bb-sticky::after{transform:scaleX(-1)}
html body .bh .bh-btn i{color:var(--bb-color-sig)}
html body :is(.bb-dark,.bb-card--k,.bb-us,.bh-sec--dark) .bh-btn i{color:inherit}
html body .bb-checks li::before,html body .bh-todo li::before,html body .bb-list span::before{background:var(--bb-color-sig)}
html body .bb-faq summary::after{background:var(--bb-surface)}
html body .bb-faq details[open] summary::after{background:var(--bb-color-brand-secondary);color:var(--bb-color-text-inverse)}
html body :is(.bb-dark,.bb-card--k,.bb-tiles--k .bb-tile,.bb-us,.bh-sec--dark){--bb-accent-line:var(--bb-color-sig)}
html body .elementor :is(.bb-dark,.bb-card--k) :is(.elementor-widget-text-editor,.elementor-widget-html :is(ul,ol,p)) a:not(.elementor-button){color:var(--bb-color-sig)}
html body .elementor :is(.bb-dark,.bb-card--k) :is(.elementor-widget-text-editor,.elementor-widget-html :is(ul,ol,p)) a:not(.elementor-button):hover{background:var(--bb-color-sig);color:var(--bb-color-text)}
html body .elementor .bb-foot-h .elementor-heading-title{color:var(--bb-color-sig)}
html body .bb-foot a:hover{color:var(--bb-color-sig)}
html body .elementor .bb-dark .bb-foot-nav a:hover{background:var(--bb-color-sig);color:var(--bb-color-text)}
/* v1.2 (2026-10-14): interactive illustrations keep their yellow, as before: calculator, season chart, calendar, quiz, dashboards, market data, map. */
html body :is(.bb-calc,.bh-cp,.bh .bh-card,.bb-dash,.bb-mkt,.bb-cal,.bb-bars,.bb-quiz,.bb-map){--bb-color-brand-primary:var(--bb-color-sig);--bb-color-accent:var(--bb-yellow-100)}
/* v1.4 (2026-10-14): logo 04a, final. Fredoka BUBBLES with a yellow full stop; the OWNERS tag hangs under the end of the word, tilted, ringed in the background colour. Live text in a self-hosted logo-only subset of Fredoka. */
@font-face{font-family:'Bubbles Logo';font-style:normal;font-weight:700;font-display:block;src:url(/wp-content/uploads/bubbles-brand/fredoka-700-logo.woff2) format('woff2')}
@font-face{font-family:'Bubbles Logo';font-style:normal;font-weight:600;font-display:block;src:url(/wp-content/uploads/bubbles-brand/fredoka-600-logo.woff2) format('woff2')}
html body .bb-logo-svg{text-decoration:none;line-height:1}
html body .bb-wm{--bb-wm-fg:var(--bb-color-text);--bb-wm-bg:var(--bb-color-bg-page);position:relative;display:inline-block;direction:ltr;font-size:36px;line-height:1;padding-bottom:.56em;color:var(--bb-wm-fg);white-space:nowrap}
html body .bb-wm__w{font-family:'Bubbles Logo','Outfit',sans-serif;font-weight:700;letter-spacing:.005em}
html body .bb-wm__dot{display:inline-block;width:.2em;height:.2em;border-radius:50%;background:var(--bb-color-sig);margin-left:.05em;font-style:normal}
html body .bb-wm__t{position:absolute;right:1.05em;bottom:0;display:inline-flex;align-items:center;padding:.6em 1em;border-radius:999px;background:var(--bb-wm-fg);color:var(--bb-wm-bg);font-family:'Bubbles Logo','DM Sans',sans-serif;font-weight:600;font-size:.27em;line-height:1.2;letter-spacing:.14em;transform:rotate(-5deg);box-shadow:0 0 0 .3em var(--bb-wm-bg)}
@media(max-width:1024px){html body .bb-wm{font-size:30px}html body .bb-wm__t{font-size:.3em}}
html body .bb-foot .bb-wm{--bb-wm-fg:var(--bb-color-text-inverse);--bb-wm-bg:var(--bb-color-bg-inverse);font-size:44px}
html body .bb-foot .bb-wm__t{font-size:.27em}
/* ===================== end OWNER SITE: QUIET PALETTE v1 ===================== */

/* ---------- 37. HOME MOTION v2 (2026-10-15): two different animations replace the stacked card lists ----------
   A. ORBIT (.bb-orbit), "what's included": the owner's property sits in the centre and the six services sit on a
      ring around it. The yellow dot travels the ring with a short trail of bubbles; at each stop the station
      lights up and draws its icon, a line reaches the centre, the centre pulses and the caption changes.
      Tap a station to send the dot there.
   B. FLIP TILES (.bb-bento), "why short-term": six tiles, each with a small drawing that moves (bars grow, a dot
      rides the season curve, a calendar fills, a scan checks the house, stars pop, guests arrive). A wave runs
      across the grid one tile at a time; tap a tile to turn it over and read the detail.
   Both play by themselves (no pause button, at the owner's request), only while on screen.
   Reduced motion = still, manual only. No script = plain cards.
   Script: /wp-content/uploads/bubbles-brand/bb-motion.js (loaded by bubble-core.php on pages that use it).
   Rollback: delete this block; the original lists are in the option bb_spot_backup_v1. */
@keyframes bbOrbIn{from{opacity:0;transform:translateY(12px)}}
@keyframes bbOrbStIn{from{opacity:0;transform:translate(-50%,-50%) scale(.3)}}
@keyframes bbOrbCoreIn{from{opacity:0;transform:translate(-50%,-50%) scale(.5)}}
@keyframes bbOrbPulse{from{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}
@keyframes bbOrbSpoke{to{stroke-dashoffset:0}}
@keyframes bbOrbDraw{from{stroke-dashoffset:1}}
@keyframes bbOrbFade{from{opacity:0}}
@keyframes bbTileIn{from{opacity:0;transform:translateY(22px) scale(.96)}}
@keyframes bbArtGrow{from{transform:scaleY(0)}}
@keyframes bbArtPop{0%{transform:scale(0)}70%{transform:scale(1.15)}100%{transform:scale(1)}}
@keyframes bbArtRise{from{opacity:0;transform:translateY(16px)}}
@keyframes bbArtDraw{from{stroke-dashoffset:1}}
@keyframes bbArtRx{from{transform:translateX(0)}to{transform:translateX(90px)}}
@keyframes bbArtRy{0%{transform:translateY(56px)}33.333%{transform:translateY(18px)}66.667%{transform:translateY(56px)}100%{transform:translateY(18px)}}
@keyframes bbArtScan{0%{opacity:0;transform:translateX(0)}12%{opacity:.85}85%{opacity:.85}100%{opacity:0;transform:translateX(76px)}}
@keyframes bbChipNudge{0%,100%{transform:scale(1)}50%{transform:scale(1.2)}}

/* the one-line hint under the tiles */
html body .bb-mo-hint{margin:var(--bb-space-4) 0 0;font-size:var(--bb-fs-small);line-height:1.4;color:var(--bb-color-text-muted)}

/* ===== A. ORBIT ===== */
/* fallback: plain cards */
html body .bb-orbit{margin:0 0 var(--bb-space-7)}
html body .bb-orbit__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:var(--bb-space-grid)}
html body .bb-orbit__p{position:relative;margin:0;background:var(--bb-color-surface);border:1px solid var(--bb-hairline-c,rgba(17,17,17,.14));border-radius:var(--bb-radius-card);padding:var(--bb-space-card-sm)}
html body .bb-orbit__ico{display:grid;place-items:center;width:52px;height:52px;margin:0 0 var(--bb-space-4);border-radius:50%;border:1.5px solid var(--bb-color-text);color:var(--bb-color-text)}
html body :is(.bb-orbit__ico,.bb-orbit__st,.bb-orbit__core) svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
html body .elementor .bb-orbit__p h3{font:var(--bb-fw-black) var(--bb-fs-h4)/1.2 var(--bb-font-display);letter-spacing:var(--bb-ls-title);margin:0 0 var(--bb-space-2);color:var(--bb-color-text)}
html body .elementor .bb-orbit__p p{margin:0;color:var(--bb-color-text);line-height:1.6}

/* ready: ring + caption */
html body .bb-orbit.is-ready{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"stage" "cap";justify-items:center;row-gap:var(--bb-space-5)}
html body .bb-orbit__stage{grid-area:stage;position:relative;width:min(100%,360px);aspect-ratio:1/1}
html body .bb-orbit__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
html[dir=rtl] body .bb-orbit__svg{transform:scaleX(-1)}
html body .bb-orbit__track{fill:none;stroke:rgba(17,17,17,.22);stroke-width:1;stroke-dasharray:1.5 4.5;stroke-linecap:round}
html body .bb-orbit__hand{transform-box:view-box;transform-origin:50% 50%;transition:transform 800ms cubic-bezier(.65,0,.35,1)}
html body .bb-orbit__dot{fill:var(--bb-color-sig,#FFD21F);stroke:var(--bb-color-text);stroke-width:1.4}
html body .bb-orbit__trail{fill:var(--bb-color-sig,#FFD21F);stroke:var(--bb-color-text);stroke-width:1;opacity:0;transition:opacity 240ms var(--bb-ease)}
html body .bb-orbit.is-moving .bb-orbit__trail{opacity:1}
html body .bb-orbit__spoke{fill:none;stroke:var(--bb-color-text);stroke-width:1.4;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}
html body .bb-orbit:not(.is-moving) .bb-orbit__spoke{animation:bbOrbSpoke 420ms var(--bb-ease) 60ms forwards}
html body .bb-orbit.is-rm .bb-orbit__spoke{stroke-dashoffset:0}
html body .bb-orbit__pulse{fill:none;stroke:var(--bb-color-sig,#FFD21F);stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center}
html body .bb-orbit.is-arrive .bb-orbit__pulse{animation:bbOrbPulse 1000ms var(--bb-ease)}
html body .bb-orbit__core{position:absolute;left:50%;top:50%;display:grid;justify-items:center;align-content:center;gap:5px;width:31%;aspect-ratio:1/1;transform:translate(-50%,-50%);border-radius:50%;background:var(--bb-color-text);color:var(--bb-color-text-inverse);text-align:center}
html body .bb-orbit__core svg{width:28%;height:auto}
html body .bb-orbit__core span{max-width:82%;font:var(--bb-fw-bold) clamp(.68rem,.6rem + .35vw,.82rem)/1.15 var(--bb-font-display);letter-spacing:.01em}
html body .bb-orbit__core span::after{content:"";display:inline-block;width:.32em;height:.32em;margin-inline-start:.12em;border-radius:50%;background:var(--bb-color-sig,#FFD21F)}
html body .bb-orbit button.bb-orbit__st,html body .bb-orbit button.bb-orbit__st:is(:hover,:focus,:active){position:absolute;display:grid;place-items:center;width:clamp(46px,16%,66px);height:auto;aspect-ratio:1/1;min-height:0;margin:0;padding:0;border:1px solid rgba(17,17,17,.22);border-radius:50%;background:var(--bb-color-surface);color:var(--bb-color-text);box-shadow:none;cursor:pointer;transform:translate(-50%,-50%);transition:background-color 320ms var(--bb-ease),color 320ms var(--bb-ease),border-color 320ms var(--bb-ease),transform 520ms var(--bb-ease-spring)}
html body .bb-orbit button.bb-orbit__st svg{width:44%;height:44%}
@media(hover:hover){html body .bb-orbit button.bb-orbit__st:hover{border-color:var(--bb-color-text)}}
html body .bb-orbit button.bb-orbit__st.is-on{background:var(--bb-color-text);color:var(--bb-color-text-inverse);border-color:var(--bb-color-text);transform:translate(-50%,-50%) scale(1.14)}
html body .bb-orbit.is-anim .bb-orbit__st svg :is(path,circle,rect,line,polyline,polygon,ellipse){stroke-dasharray:1;stroke-dashoffset:0}
html body .bb-orbit.is-anim .bb-orbit__st.is-on svg :is(path,circle,rect,line,polyline,polygon,ellipse){animation:bbOrbDraw 900ms var(--bb-ease) 80ms backwards}
html body .bb-orbit.is-in .bb-orbit__st{animation:bbOrbStIn 640ms var(--bb-ease-spring) backwards;animation-delay:calc(var(--i,0) * 90ms + 120ms)}
html body .bb-orbit.is-in .bb-orbit__core{animation:bbOrbCoreIn 700ms var(--bb-ease-spring) backwards}
html body .bb-orbit.is-in .bb-orbit__track,html body .bb-orbit.is-in .bb-orbit__hand>circle{animation:bbOrbFade 900ms var(--bb-ease) 500ms backwards}

/* caption: one service at a time */
html body .bb-orbit.is-ready .bb-orbit__list{grid-area:cap;display:grid;grid-template-columns:minmax(0,1fr);gap:0;width:100%;max-width:440px;text-align:center}
html body .bb-orbit.is-ready .bb-orbit__p{grid-area:1/1;background:none;border:0;border-radius:0;padding:0;visibility:hidden;opacity:0}
html body .bb-orbit.is-ready .bb-orbit__p.is-on{visibility:visible;opacity:1}
html body .bb-orbit.is-ready .bb-orbit__ico{display:none}
html body .bb-orbit.is-ready .bb-orbit__p::before{content:attr(data-n);display:block;margin:0 0 var(--bb-space-2);font:var(--bb-fw-bold) var(--bb-fs-caption)/1 var(--bb-font-display);letter-spacing:.08em;color:var(--bb-color-text-muted);font-variant-numeric:tabular-nums}
html body .bb-orbit.is-anim .bb-orbit__p.is-on::before{animation:bbOrbIn 480ms var(--bb-ease) backwards}
html body .bb-orbit.is-anim .bb-orbit__p.is-on h3{animation:bbOrbIn 520ms var(--bb-ease) 60ms backwards}
html body .bb-orbit.is-anim .bb-orbit__p.is-on p{animation:bbOrbIn 520ms var(--bb-ease) 140ms backwards}

/* ===== B. FLIP TILES ===== */
/* fallback: plain cards */
html body .bb-bento{margin:0 0 var(--bb-space-7)}
html body .bb-bento:last-child{margin-bottom:0}
html body .bb-bento__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:var(--bb-space-grid)}
html body .bb-bento__in{display:flex;flex-direction:column;gap:var(--bb-space-2);height:100%;background:var(--bb-color-surface);border:1px solid var(--bb-hairline-c,rgba(17,17,17,.14));border-radius:var(--bb-radius-card);padding:var(--bb-space-card-sm)}
html body .bb-bento__f{position:relative;display:flex;flex-direction:column}
html body .bb-bento__art{display:block;margin:0 0 var(--bb-space-3)}
html body .bb-bento__art svg{display:block;width:100%;max-width:200px;height:auto;fill:none;stroke:var(--bb-color-text);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
html body .bb-bento__art .s{stroke:rgba(17,17,17,.2)}
html body .bb-bento__art .y{fill:var(--bb-color-sig,#FFD21F)}
html body .bb-bento__art .k{fill:var(--bb-color-text)}
html body .bb-bento__art .w{fill:var(--bb-color-surface)}
html body .bb-bento__art .nf{stroke:none}
html body .bb-bento__art .a-scan{opacity:0}
html body .bb-bento__art .a-rx{transform:translateX(90px)}
html body .bb-bento__art .a-ry{transform:translateY(18px)}
html body .elementor .bb-bento__f h3{margin:0;font:var(--bb-fw-black) var(--bb-fs-h5)/1.22 var(--bb-font-display);letter-spacing:var(--bb-ls-title);color:var(--bb-color-text)}
html body .elementor .bb-bento__b p{margin:0;color:var(--bb-color-text);line-height:1.55}

/* ready: tiles that turn over */
html body .bb-bento.is-ready .bb-bento__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
html body .bb-bento.is-ready .bb-bento__t{position:relative;perspective:1100px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform 520ms var(--bb-ease-spring)}
html body .bb-bento.is-ready .bb-bento__in{position:relative;display:grid;gap:0;height:100%;background:none;border:0;border-radius:0;padding:0;transform-style:preserve-3d;transition:transform 720ms cubic-bezier(.3,1.25,.5,1)}
html body .bb-bento.is-ready .bb-bento__t.is-flip .bb-bento__in{transform:rotateY(180deg)}
html[dir=rtl] body .bb-bento.is-ready .bb-bento__t.is-flip .bb-bento__in{transform:rotateY(-180deg)}
html body .bb-bento.is-ready :is(.bb-bento__f,.bb-bento__b){grid-area:1/1;display:block;min-width:0;border-radius:var(--bb-radius-card);padding:12px 12px 14px;-webkit-backface-visibility:hidden;backface-visibility:hidden}
html body .bb-bento.is-ready .bb-bento__f{display:flex;flex-direction:column;background:var(--bb-color-surface);border:1px solid var(--bb-hairline-c,rgba(17,17,17,.14));transition:border-color 320ms var(--bb-ease)}
html body .bb-bento.is-ready .bb-bento__b{background:var(--bb-color-text);border:1px solid var(--bb-color-text);transform:rotateY(180deg)}
html body .bb-bento.is-ready .bb-bento__art{margin:0 30px var(--bb-space-3) 0}
html[dir=rtl] body .bb-bento.is-ready .bb-bento__art{margin:0 0 var(--bb-space-3) 30px}
html body .bb-bento.is-ready .bb-bento__art svg{max-width:none}
html body .elementor .bb-bento.is-ready .bb-bento__f h3{margin-top:auto;font-size:clamp(.95rem,.9rem + .3vw,1.2rem)}
html body .elementor .bb-bento.is-ready .bb-bento__b p{color:var(--bb-color-text-inverse-body,#E6E3DA);font-size:.82rem;line-height:1.45}
html body .bb-bento button.bb-bento__btn,html body .bb-bento button.bb-bento__btn:is(:hover,:focus,:active){display:inline;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:inherit;font:inherit;letter-spacing:inherit;line-height:inherit;text-align:start;text-transform:none;cursor:pointer;transform:none}
html body .bb-bento__chip{position:relative;float:inline-end;display:block;width:24px;height:24px;margin-block:-2px 6px;margin-inline:8px -2px;border:1px solid rgba(17,17,17,.25);border-radius:50%;font-style:normal;transition:background-color 320ms var(--bb-ease),border-color 320ms var(--bb-ease)}
html body .bb-bento__chip::before,html body .bb-bento__chip::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1.6px;margin:-.8px 0 0 -5px;border-radius:2px;background:var(--bb-color-text)}
html body .bb-bento__chip::after{transform:rotate(90deg)}
html body .bb-bento__chip.is-x{transform:rotate(45deg);border-color:rgba(247,245,239,.35)}
html body .bb-bento__chip.is-x::before,html body .bb-bento__chip.is-x::after{background:var(--bb-color-text-inverse)}
html body .bb-bento.is-ready .bb-bento__f>.bb-bento__chip{position:absolute;top:10px;inset-inline-end:10px;float:none;margin:0}
html body .bb-bento.is-ready .bb-bento__t.is-live{transform:translateY(-4px)}
html body .bb-bento.is-ready .bb-bento__t.is-live .bb-bento__f{border-color:var(--bb-color-text)}
html body .bb-bento.is-ready .bb-bento__t.is-live .bb-bento__f>.bb-bento__chip{background:var(--bb-color-text);border-color:var(--bb-color-text)}
html body .bb-bento.is-ready .bb-bento__t.is-live .bb-bento__f>.bb-bento__chip::before,html body .bb-bento.is-ready .bb-bento__t.is-live .bb-bento__f>.bb-bento__chip::after{background:var(--bb-color-text-inverse)}
html body .bb-bento.is-anim .bb-bento__t.is-live .bb-bento__f>.bb-bento__chip{animation:bbChipNudge 600ms var(--bb-ease) 1100ms}
html body .bb-bento.is-in .bb-bento__t{animation:bbTileIn 620ms var(--bb-ease) backwards;animation-delay:calc(var(--i,0) * 90ms)}

/* the drawings move on the live tile */
html body .bb-bento__art :is(.a-grow,.a-pop){transform-box:fill-box}
html body .bb-bento__art .a-grow{transform-origin:50% 100%}
html body .bb-bento__art .a-pop{transform-origin:50% 50%}
html body .bb-bento.is-anim .bb-bento__art .a-draw{stroke-dasharray:1;stroke-dashoffset:0}
html body .bb-bento.is-anim .is-live .a-grow{animation:bbArtGrow 520ms var(--bb-ease-spring) backwards;animation-delay:calc(var(--i,0) * 70ms + 100ms)}
html body .bb-bento.is-anim .is-live .a-pop{animation:bbArtPop 420ms var(--bb-ease) backwards;animation-delay:calc(var(--i,0) * 60ms + 100ms)}
html body .bb-bento.is-anim .is-live .a-rise{animation:bbArtRise 460ms var(--bb-ease) backwards;animation-delay:calc(var(--i,0) * 70ms + 100ms)}
html body .bb-bento.is-anim .is-live .a-draw{animation:bbArtDraw 560ms var(--bb-ease) backwards;animation-delay:calc(var(--i,0) * 70ms + 100ms)}
html body .bb-bento.is-anim .is-live .a-rx{animation:bbArtRx 1500ms linear 150ms backwards}
html body .bb-bento.is-anim .is-live .a-ry{animation:bbArtRy 1500ms ease-in-out 150ms backwards}
html body .bb-bento.is-anim .is-live .a-scan{animation:bbArtScan 950ms var(--bb-ease) 300ms backwards}
@keyframes bbArtLift{0%,45%{transform:translateY(8px);animation-timing-function:cubic-bezier(.34,1.6,.64,1)}100%{transform:translateY(0)}}
html body .bb-bento.is-anim .is-live .a-lift{animation:bbArtLift 1000ms linear 250ms backwards}

/* tablet and desktop */
@media(min-width:768px){
  html body .bb-bento.is-ready .bb-bento__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--bb-space-grid)}
  html body .bb-bento.is-ready :is(.bb-bento__f,.bb-bento__b){padding:var(--bb-space-card-sm)}
  html body .bb-bento.is-ready .bb-bento__art svg{max-width:210px}
  html body .elementor .bb-bento.is-ready .bb-bento__b p{font-size:var(--bb-fs-body);line-height:1.6}
  html body .bb-bento.is-ready .bb-bento__f>.bb-bento__chip{top:16px;inset-inline-end:16px;width:28px;height:28px}
}
@media(min-width:1025px){
  html body .bb-orbit.is-ready{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"stage cap";align-items:center;justify-items:stretch;column-gap:clamp(40px,6vw,104px);row-gap:var(--bb-space-6)}
  html body .bb-orbit__stage{width:min(100%,470px);justify-self:center}
  html body .bb-orbit__core span{font-size:.95rem}
  html body .bb-orbit.is-ready .bb-orbit__list{max-width:520px;text-align:start}
  html body .elementor .bb-orbit.is-ready .bb-orbit__p h3{font-size:clamp(1.8rem,1rem + 1.4vw,2.6rem);line-height:1.1;margin-bottom:var(--bb-space-3)}
  html body .elementor .bb-orbit.is-ready .bb-orbit__p p{font-size:var(--bb-fs-lead);line-height:1.6}
}

/* ---------- 38. HOME BEDROOM QUESTION (.bh-quiz), 2026-10-15 ----------
   The first estimate question leaves the hero and becomes its own dark card, pulled up over the hero's lower
   edge: a "free estimate" tag, a 1/10 progress cue, the question in large type and six big answer buttons.
   When the card comes into view the buttons pop in, then a yellow highlight runs across them three times to
   invite a tap (stops on hover or focus). Script: bb-motion.js adds .is-in. No script = static card.
   Rollback: delete this block; the previous home markup is in the option bb_quiz_backup_v1. */
@keyframes bhQuizIn{from{opacity:0;transform:translateY(18px) scale(.92)}}
@keyframes bhQuizWave{0%,16%,100%{background-color:transparent;color:var(--bb-color-text-inverse);border-color:rgba(247,245,239,.28);transform:none}7%{background-color:var(--bb-color-sig,#FFD21F);color:var(--bb-color-text);border-color:var(--bb-color-sig,#FFD21F);transform:translateY(-3px)}}
@keyframes bhQuizGlow{0%,100%{transform:scale(1);opacity:.9}50%{transform:scale(1.12);opacity:1}}
html body .bh .bh-quiz{position:relative;z-index:2;margin-top:calc(-1 * clamp(32px,5vw,64px));padding:0}
html body .bh .bh-quiz__card{position:relative;overflow:hidden;isolation:isolate;background:var(--bb-color-text);color:var(--bb-color-text-inverse);border-radius:24px;padding:clamp(22px,4vw,52px);box-shadow:0 24px 60px rgba(17,17,17,.18);--bb-ring:var(--bb-color-sig,#FFD21F)}
html body .bh .bh-quiz__card::before{content:"";position:absolute;z-index:-1;width:260px;height:260px;top:-110px;inset-inline-end:-90px;border-radius:50%;background:radial-gradient(circle,rgba(255,210,31,.24),rgba(255,210,31,0) 68%);pointer-events:none}
html body .bh .bh-quiz.is-in .bh-quiz__card::before{animation:bhQuizGlow 3.6s ease-in-out 3}
html body .bh .bh-quiz__top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin:0 0 var(--bb-space-5)}
html body .bh .bh-quiz__tag{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;background:var(--bb-color-sig,#FFD21F);color:var(--bb-color-text);font:var(--bb-fw-bold) .74rem/1 var(--bb-font-display);letter-spacing:.08em;text-transform:uppercase}
html[lang^="ar"] body .bh .bh-quiz__tag{letter-spacing:0;text-transform:none;font-size:.82rem}
html body .bh .bh-quiz__step{display:inline-flex;align-items:center;gap:10px;font:var(--bb-fw-bold) .8rem/1 var(--bb-font-display);color:var(--bb-color-text-inverse-muted,#B9B6AC)}
html body .bh .bh-quiz__bar{display:inline-flex;gap:3px}
html body .bh .bh-quiz__bar i{display:block;width:7px;height:4px;border-radius:2px;background:rgba(247,245,239,.2)}
html body .bh .bh-quiz__bar i:first-child{width:14px;background:var(--bb-color-sig,#FFD21F)}
html body .bh .bh-quiz__body{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"kick" "q" "opts" "s"}
html body .elementor .bh .bh-quiz__kick{grid-area:kick;margin:0 0 6px;font:var(--bb-fw-medium) var(--bb-fs-small)/1.3 var(--bb-font-body);color:var(--bb-color-text-inverse-muted,#B9B6AC)}
html body .elementor .bh .bh-quiz__q{grid-area:q;margin:0 0 var(--bb-space-5);font:var(--bb-fw-black) clamp(1.9rem,1.2rem + 2.6vw,3.2rem)/1.05 var(--bb-font-display);letter-spacing:-.02em;color:var(--bb-color-text-inverse);text-wrap:balance}
html[lang^="ar"] body .elementor .bh .bh-quiz__q{line-height:1.3;letter-spacing:0}
html body .bh .bh-quiz__opts{grid-area:opts;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
html body .bh .bh-quiz__opts li{margin:0;padding:0}
html body .bh .bh-quiz__opts li::before{content:none}
html body .elementor .bh .bh-quiz__opts a,html body .elementor .bh .bh-quiz__opts a:visited{display:flex;align-items:center;justify-content:center;min-height:64px;padding:0 8px;border:1.5px solid rgba(247,245,239,.28);border-radius:16px;background:transparent;color:var(--bb-color-text-inverse);font:var(--bb-fw-black) clamp(1.2rem,1.05rem + .6vw,1.6rem)/1 var(--bb-font-display);letter-spacing:-.01em;text-decoration:none;-webkit-tap-highlight-color:transparent;transition:background-color 200ms var(--bb-ease),color 200ms var(--bb-ease),border-color 200ms var(--bb-ease),transform 380ms var(--bb-ease-spring)}
@media(hover:hover){html body .elementor .bh .bh-quiz__opts a:hover{background:var(--bb-color-sig,#FFD21F);color:var(--bb-color-text);border-color:var(--bb-color-sig,#FFD21F);transform:translateY(-3px)}}
html body .elementor .bh .bh-quiz__opts a:active{background:var(--bb-color-sig,#FFD21F);color:var(--bb-color-text);border-color:var(--bb-color-sig,#FFD21F);transform:scale(.96)}
html body .bh .bh-quiz.is-in .bh-quiz__opts a{animation:bhQuizIn 560ms var(--bb-ease-spring) backwards,bhQuizWave 4200ms ease-in-out 3;animation-delay:calc(var(--i,0) * 70ms),calc(1300ms + var(--i,0) * 220ms)}
html body .bh .bh-quiz.is-in .bh-quiz__card:is(:hover,:focus-within) .bh-quiz__opts a{animation:none}
html body .elementor .bh .bh-quiz__s{grid-area:s;margin:var(--bb-space-5) 0 0;max-width:60ch;font-size:var(--bb-fs-small);line-height:1.45;color:var(--bb-color-text-inverse-muted,#B9B6AC)}
@media(min-width:1025px){
  html body .bh .bh-quiz__body{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);grid-template-areas:"kick opts" "q opts" "s opts";grid-template-rows:auto auto 1fr;column-gap:clamp(40px,5vw,88px);align-items:start}
  html body .elementor .bh .bh-quiz__q{margin-bottom:0}
  html body .bh .bh-quiz__opts{align-self:center;gap:12px}
  html body .elementor .bh .bh-quiz__opts a,html body .elementor .bh .bh-quiz__opts a:visited{min-height:84px;border-radius:18px}
}

/* ---------- 39. POP QUIZ, DARK CARD (2026-10-15) ----------
   The 10-question estimate ("Pop your property") takes the look of the home bedroom card (.bh-quiz, section 38):
   ink card with a soft yellow glow, thin progress bars, the question in large type, big answer buttons that pop
   in on every question and turn yellow when chosen, a yellow Next button. Short answers sit three to a row,
   long ones take the room they need. The report keeps its yellow estimate card.
   Rollback: delete this block (no markup depends on it). */
@keyframes bbQzIn{from{opacity:0;transform:translateY(14px) scale(.94)}}
@keyframes bbQzQ{from{opacity:0;transform:translateY(10px)}}
@keyframes bbQzPick{0%{transform:scale(1)}40%{transform:scale(.95)}100%{transform:scale(1)}}
html body .elementor .bb-quiz{position:relative;overflow:hidden;isolation:isolate;background:var(--bb-color-text);color:var(--bb-color-text-inverse);border:0;border-radius:24px;box-shadow:0 24px 60px rgba(17,17,17,.18);padding:clamp(22px,4vw,52px);--bb-surface:var(--bb-color-text);--bb-on:var(--bb-color-text-inverse);--bb-on-body:var(--bb-color-text-inverse-body);--bb-ring:var(--bb-color-sig,#FFD21F)}
html body .elementor .bb-quiz::before{content:"";position:absolute;z-index:-1;width:280px;height:280px;top:-120px;inset-inline-end:-100px;border-radius:50%;background:radial-gradient(circle,rgba(255,210,31,.24),rgba(255,210,31,0) 68%);pointer-events:none}
html body .elementor .bb-quiz .bb-quiz__top{gap:10px 16px;margin-bottom:var(--bb-space-5)}
html body .elementor .bb-quiz .bb-quiz__dots{gap:3px;flex-wrap:nowrap}
html body .elementor .bb-quiz .bb-quiz__dots i{width:14px;height:4px;border:0;border-radius:2px;background:rgba(247,245,239,.2);transform:none;transition:background-color 300ms var(--bb-ease),width 300ms var(--bb-ease)}
html body .elementor .bb-quiz .bb-quiz__dots i.done{background:rgba(255,210,31,.5)}
html body .elementor .bb-quiz .bb-quiz__dots i.on{width:26px;background:var(--bb-color-sig,#FFD21F)}
html body .elementor .bb-quiz .bb-quiz__count{color:var(--bb-color-text-inverse-muted,#B9B6AC);font:var(--bb-fw-bold) .78rem/1 var(--bb-font-display);letter-spacing:.06em}
html body .elementor .bb-quiz h3{margin:0 0 var(--bb-space-5);font:var(--bb-fw-black) clamp(1.9rem,1.2rem + 2.6vw,3.2rem)/1.05 var(--bb-font-display);letter-spacing:-.02em;color:var(--bb-color-text-inverse);text-wrap:balance;outline:0;animation:bbQzQ 420ms var(--bb-ease) backwards}
html[lang^="ar"] body .elementor .bb-quiz h3{line-height:1.3;letter-spacing:0}
html body .elementor .bb-quiz .bb-quiz__hint{margin:-10px 0 20px;color:var(--bb-color-text-inverse-muted,#B9B6AC)}
html body .elementor .bb-quiz .bb-quiz__opts{display:flex;flex-wrap:wrap;gap:10px}
html body .elementor .bb-quiz .bb-quiz__opts button,html body .elementor .bb-quiz .bb-quiz__opts button:focus{box-sizing:border-box;flex:1 1 auto;min-width:calc((100% - 20px) / 3);max-width:100%;display:flex;align-items:center;justify-content:center;min-height:64px;margin:0;padding:10px 14px;border:1.5px solid rgba(247,245,239,.28);border-radius:16px;background:transparent;color:var(--bb-color-text-inverse);box-shadow:none;font:var(--bb-fw-black) clamp(1.02rem,.95rem + .45vw,1.3rem)/1.15 var(--bb-font-display);letter-spacing:-.01em;text-align:center;white-space:normal;transform:none;-webkit-tap-highlight-color:transparent;transition:background-color 200ms var(--bb-ease),color 200ms var(--bb-ease),border-color 200ms var(--bb-ease),transform 380ms var(--bb-ease-spring);animation:bbQzIn 480ms var(--bb-ease-spring) backwards}
html body .elementor .bb-quiz .bb-quiz__opts button:nth-child(2){animation-delay:50ms}
html body .elementor .bb-quiz .bb-quiz__opts button:nth-child(3){animation-delay:100ms}
html body .elementor .bb-quiz .bb-quiz__opts button:nth-child(4){animation-delay:150ms}
html body .elementor .bb-quiz .bb-quiz__opts button:nth-child(5){animation-delay:200ms}
html body .elementor .bb-quiz .bb-quiz__opts button:nth-child(6){animation-delay:250ms}
html body .elementor .bb-quiz .bb-quiz__opts button:nth-child(n+7){animation-delay:300ms}
@media(hover:hover){html body .elementor .bb-quiz .bb-quiz__opts button:hover{background:var(--bb-color-sig,#FFD21F);color:var(--bb-color-text);border-color:var(--bb-color-sig,#FFD21F);transform:translateY(-3px)}}
html body .elementor .bb-quiz .bb-quiz__opts button[aria-pressed="true"]{background:var(--bb-color-sig,#FFD21F);color:var(--bb-color-text);border-color:var(--bb-color-sig,#FFD21F);box-shadow:none;animation:bbQzPick 300ms var(--bb-ease)}
html body .elementor .bb-quiz input[type=number]{max-width:360px;background:rgba(247,245,239,.06);color:var(--bb-color-text-inverse);border:1.5px solid rgba(247,245,239,.35);border-radius:16px;padding:16px 18px;font:var(--bb-fw-bold) 1.3rem/1.2 var(--bb-font-display);animation:bbQzIn 480ms var(--bb-ease-spring) backwards}
html body .elementor .bb-quiz input[type=number]::placeholder{color:var(--bb-color-text-inverse-muted,#B9B6AC);opacity:1;font-weight:500}
html body .elementor .bb-quiz input[type=number]:focus{border-color:var(--bb-color-sig,#FFD21F);outline:0}
html body .elementor .bb-quiz .bb-quiz__nav{margin-top:var(--bb-space-6);padding-top:var(--bb-space-5);border-top:1px solid rgba(247,245,239,.14)}
html body .elementor .bb-quiz :is(button.bb-q-back,button.bb-q-again),html body .elementor .bb-quiz :is(button.bb-q-back,button.bb-q-again):is(:hover,:focus,:active){min-height:48px;margin:0;padding:0 22px;border:1px solid rgba(247,245,239,.3);border-radius:999px;background:transparent;color:var(--bb-color-text-inverse);box-shadow:none;font:var(--bb-fw-bold) .95rem/1 var(--bb-font-display);transform:none}
@media(hover:hover){html body .elementor .bb-quiz :is(button.bb-q-back,button.bb-q-again):hover{border-color:var(--bb-color-text-inverse)}}
html body .elementor .bb-quiz button.bb-q-next,html body .elementor .bb-quiz button.bb-q-next:is(:hover,:focus,:active){min-height:48px;margin:0;padding:0 26px;border:1px solid var(--bb-color-sig,#FFD21F);border-radius:999px;background:var(--bb-color-sig,#FFD21F);color:var(--bb-color-text);box-shadow:none;font:var(--bb-fw-black) 1rem/1 var(--bb-font-display);transform:none}
html body .elementor .bb-quiz button.bb-q-next[disabled]{opacity:.35;cursor:not-allowed}
html body .elementor .bb-quiz .bb-qest{border:0}
html body .elementor .bb-quiz .bb-qres div{background:rgba(247,245,239,.06);border:1px solid rgba(247,245,239,.16);color:var(--bb-color-text-inverse-body,#E6E3DA)}
html body .elementor .bb-quiz .bb-qres b{color:var(--bb-color-text-inverse)}
html body .elementor .bb-quiz .bb-quiz__fine{border-top:1px solid rgba(247,245,239,.14);color:var(--bb-color-text-inverse-muted,#B9B6AC)}
html body .elementor .bb-quiz .bb-quiz__fine strong{color:var(--bb-color-text-inverse)}
html body .elementor .bb-quiz a.bb-q-link,html body .elementor .bb-quiz a.bb-q-link:visited,html body .elementor .bb-quiz a.bb-q-link:hover{background:var(--bb-color-sig,#FFD21F);color:var(--bb-color-text);border:1px solid var(--bb-color-sig,#FFD21F);box-shadow:none;transform:none}
html body .elementor .bb-quiz noscript p,html body .elementor .bb-quiz noscript a{color:var(--bb-color-text-inverse)}

/* ---------- 38b. AD LANDING TEST CARD (.bh-quiz--lp), 2026-10-15: the landing pages' "2-minute test" panel takes the same dark card as the home bedroom question (section 38), sitting in the hero's side column instead of overlapping it; the panel title becomes the hook above the question ---------- */
html body .bh .bh-quiz--lp{margin-top:0;width:100%}
html body .bh .bh-quiz--lp .bh-quiz__card{padding:clamp(22px,3vw,40px);--bb-on:var(--bb-color-text-inverse)}
html body .elementor .bh .bh-quiz--lp .bh-quiz__kick{margin:0 0 8px;font:var(--bb-fw-bold) clamp(1rem,.95rem + .3vw,1.15rem)/1.3 var(--bb-font-display);color:var(--bb-color-text-inverse)}
html body .elementor .bh .bh-quiz--lp .bh-quiz__q{font-size:clamp(1.9rem,1.3rem + 2vw,2.8rem)}
html body .elementor .bh .bh-quiz__alt{margin:var(--bb-space-5) 0 0;padding-top:var(--bb-space-4);border-top:1px solid rgba(247,245,239,.14);font-size:var(--bb-fs-small)}
html body .elementor .bh .bh-quiz__alt a.bh-link,html body .elementor .bh .bh-quiz__alt a.bh-link:visited{color:var(--bb-color-text-inverse);text-decoration-color:var(--bb-color-sig,#FFD21F)}
@media(min-width:1025px){
  html body .bh .bh-quiz--lp .bh-quiz__body{grid-template-columns:minmax(0,1fr);grid-template-areas:"kick" "q" "opts" "s";grid-template-rows:none}
  html body .elementor .bh .bh-quiz--lp .bh-quiz__q{margin-bottom:var(--bb-space-5)}
  html body .elementor .bh .bh-quiz--lp .bh-quiz__opts a,html body .elementor .bh .bh-quiz--lp .bh-quiz__opts a:visited{min-height:68px}
}

/* ---------- 40. LANDING CALCULATOR, LEANING (2026-10-15, v2): on the ad landing pages only the part where the owner types (nightly rate, nights, platform fees) leans, built like a small pocket calculator: dark body with a brand label and a solar strip, pale screens with right-aligned digits, yellow edge. It drops into place when the card scrolls into view and straightens while the owner types. The "what you keep" total sits in a dark display. Script: bb-motion.js adds .is-in to the card. Rollback: delete this block ---------- */
@keyframes bbCalcDrop{from{opacity:0;transform:translateY(36px) rotate(-10deg)}}
@keyframes bbCalcDropR{from{opacity:0;transform:translateY(36px) rotate(10deg)}}
html body .bh-lp .bh-sec--dark .bb-calc .bb-calc__ins{position:relative;margin:var(--bb-space-5) 6px var(--bb-space-6);padding:30px 16px 16px;border-radius:22px;background:#1C1C19;transform:rotate(-2.5deg);transform-origin:50% 50%;box-shadow:8px 9px 0 0 var(--bb-color-sig,#FFD21F),0 26px 40px -22px rgba(0,0,0,.55);transition:transform 520ms var(--bb-ease-spring)}
html[dir=rtl] body .bh-lp .bh-sec--dark .bb-calc .bb-calc__ins{transform:rotate(2.5deg);box-shadow:-8px 9px 0 0 var(--bb-color-sig,#FFD21F),0 26px 40px -22px rgba(0,0,0,.55)}
html body .bh-lp .bh-sec--dark .bb-calc .bb-calc__ins::before{content:"BUBBLES";position:absolute;top:11px;inset-inline-start:18px;font:700 .62rem/1 'Bubbles Logo','Outfit',sans-serif;letter-spacing:.22em;color:rgba(247,245,239,.6)}
html body .bh-lp .bh-sec--dark .bb-calc .bb-calc__ins::after{content:"";position:absolute;top:9px;inset-inline-end:18px;width:52px;height:10px;border-radius:3px;background:repeating-linear-gradient(90deg,#3A3A33 0 12px,#1C1C19 12px 13.5px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}
html body .bh-lp .bh-sec--dark .bb-calc.is-in .bb-calc__ins{animation:bbCalcDrop 950ms var(--bb-ease-spring) 150ms backwards}
html[dir=rtl] body .bh-lp .bh-sec--dark .bb-calc.is-in .bb-calc__ins{animation-name:bbCalcDropR}
@media(hover:hover){html body .bh-lp .bh-sec--dark .bb-calc .bb-calc__ins:hover{transform:rotate(-1.2deg) translateY(-3px)}html[dir=rtl] body .bh-lp .bh-sec--dark .bb-calc .bb-calc__ins:hover{transform:rotate(1.2deg) translateY(-3px)}}
html body .bh-lp .bh-sec--dark .bb-calc .bb-calc__ins:focus-within,html[dir=rtl] body .bh-lp .bh-sec--dark .bb-calc .bb-calc__ins:focus-within{transform:none}
@media(max-width:900px){html body .bh-lp .bh-sec--dark .bb-calc .bb-calc__ins{transform:rotate(-2deg)}html[dir=rtl] body .bh-lp .bh-sec--dark .bb-calc .bb-calc__ins{transform:rotate(2deg)}}
html body .bh-lp .bh-sec--dark .bb-calc .bb-calc__ins .bb-calc__in>span{color:var(--bb-color-text-inverse-muted,#B9B6AC);font-size:.85rem;line-height:1.25}
html body .elementor .bh-lp .bh-sec--dark .bb-calc .bb-calc__ins input{min-height:54px;background:#E8E9DA;color:var(--bb-color-text);border:0;border-radius:10px;box-shadow:inset 0 2px 6px rgba(0,0,0,.35);text-align:end;font-variant-numeric:tabular-nums}
html body .elementor .bh-lp .bh-sec--dark .bb-calc .bb-calc__ins input:focus{outline:3px solid var(--bb-color-sig,#FFD21F);outline-offset:2px}
html body .bh-lp .bh-sec--dark .bb-calc .bb-calc__rows>.bb-calc__sum{align-items:center;margin-top:10px;padding:16px 18px;border:0;border-radius:14px;background:#1C1C19;box-shadow:inset 0 2px 8px rgba(0,0,0,.7),inset 0 0 0 1px rgba(255,255,255,.06)}
html body .bh-lp .bh-sec--dark .bb-calc .bb-calc__rows>.bb-calc__sum dt{color:var(--bb-color-text-inverse)}
html body .bh-lp .bh-sec--dark .bb-calc .bb-calc__rows>.bb-calc__sum dt span{color:var(--bb-color-text-inverse-muted,#B9B6AC)}
html body .bh-lp .bh-sec--dark .bb-calc .bb-calc__rows>.bb-calc__sum dd{padding:0;background:none;color:var(--bb-color-sig,#FFD21F);font-size:clamp(1.6rem,1.2rem + 1.4vw,2.2rem);letter-spacing:.02em;text-shadow:0 0 18px rgba(255,210,31,.35)}
html body .bh-lp .bh-cp .bb-calc__bar{margin-top:0}
html body .bh-lp .bh-cp .bb-calc__bar-l{margin-bottom:var(--bb-space-5)}
@media(prefers-reduced-motion:reduce){html body .bh-lp .bh-sec--dark .bb-calc .bb-calc__ins{transition:none}}

/* v1.5 (2026-10-15): the calculator link in the menu (Calculez votre part / Calculate your share / Calcule su parte / احسب حصتك) stands out again:
   the marker under its words is the signature yellow (the quiet palette had turned it cream). Rollback: delete this block. */
html body .bb-nl-f,html body .bb-nl-s{background-image:linear-gradient(var(--bb-color-sig),var(--bb-color-sig));background-position:0 88%;background-size:100% .58em}

/* ---------- 41. MENU HOVER TILT (2026-10-15): on desktop, a menu item tips over a little when the mouse is on it, like the tilted OWNERS tag of the logo, and springs back when the mouse leaves; the yellow bar moves with it. The logo gets the same small tilt on hover. Rollback: delete this block ---------- */
@media(hover:hover) and (min-width:1025px){
  html body .elementor .bb-nav .elementor-nav-menu--main .elementor-item{transition:transform 420ms var(--bb-ease-spring),color 160ms var(--bb-ease)}
  html body .elementor .bb-nav .elementor-nav-menu--main .elementor-item:hover{transform:rotate(-3deg) translateY(-2px)}
  html[dir=rtl] body .elementor .bb-nav .elementor-nav-menu--main .elementor-item:hover{transform:rotate(3deg) translateY(-2px)}
  html body .bb-logo-svg{transition:transform 420ms var(--bb-ease-spring)}
  html body .bb-logo-svg:hover{transform:rotate(-2deg) scale(1.03)}
}
@media(prefers-reduced-motion:reduce){html body .elementor .bb-nav .elementor-nav-menu--main .elementor-item:hover,html body .bb-logo-svg:hover{transform:none}}/* End custom CSS */