.elementor-kit-8{--e-global-color-primary:#6B3A1E;--e-global-color-secondary:#B07D3A;--e-global-color-text:#4A3A30;--e-global-color-accent:#3D2014;--e-global-color-haink:#2E1A10;--e-global-color-haink2:#3D2616;--e-global-color-hapaper:#F7F1E8;--e-global-color-hamist:#EBDFCF;--e-global-color-hataupe:#9C8571;--e-global-typography-primary-font-family:"Cormorant Garamond";--e-global-typography-primary-font-weight:400;--e-global-typography-secondary-font-family:"Dancing Script";--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"Manrope";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Manrope";--e-global-typography-accent-font-weight:600;background-color:#F7F1E8;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1240px;}.e-con{--container-max-width:1240px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@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 *//* =========================================================
   HARMONY ACADEMY — 2026 REDESIGN · GLOBAL DESIGN SYSTEM
   Paste into: Elementor > Site Settings > Custom CSS
   (The Website Kit import adds this automatically.)
   Brand colours come from Site Settings > Global Colors,
   so changing them there re-colours the whole site.
   ========================================================= */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Dancing+Script:wght@600;700&family=Manrope:wght@400;500;600;700;800&family=Tajawal:wght@400;500;700;800&display=swap');

:root{
  --ha-p: var(--e-global-color-primary, #6B3A1E);
  --ha-s: var(--e-global-color-secondary, #B07D3A);
  --ha-a: var(--e-global-color-accent, #3D2014);
  --ha-t: var(--e-global-color-text, #4A3A30);
  --ha-ink: var(--e-global-color-haink, #2E1A10);
  --ha-ink2: var(--e-global-color-haink2, #3D2616);
  --ha-paper: var(--e-global-color-hapaper, #F7F1E8);
  --ha-mist: var(--e-global-color-hamist, #EBDFCF);
  --ha-taupe: var(--e-global-color-hataupe, #9C8571);
  --ha-line: rgba(46,26,16,.10);
  --ha-line-d: rgba(255,255,255,.12);
  --ha-r: 22px;
  --ha-r-sm: 14px;
  --ha-shadow: 0 1px 2px rgba(46,26,16,.06), 0 18px 40px -18px rgba(46,26,16,.28);
  --ha-ease: cubic-bezier(.2,.7,.2,1);
  --ha-display: 'Cormorant Garamond', 'Tajawal', Impact, 'Arial Narrow', sans-serif;
  --ha-script: 'Dancing Script', 'Brush Script MT', cursive;
  --ha-body: 'Manrope', 'Tajawal', system-ui, sans-serif;
}

/* ---------- Base ---------- */
body{background:var(--ha-paper);color:var(--ha-t);font-family:var(--ha-body);-webkit-font-smoothing:antialiased;}
body .elementor-widget-heading .elementor-heading-title{color:var(--ha-ink);font-family:var(--ha-display);font-weight:400;letter-spacing:.01em;line-height:.95;}
body .elementor-widget-text-editor{font-family:var(--ha-body);font-size:1.0625rem;line-height:1.7;}
html[lang^="ar"] body, html[lang^="ar"] body .elementor-widget-heading .elementor-heading-title,
html[lang^="ar"] body .elementor-widget-text-editor{font-family:'Tajawal',sans-serif;letter-spacing:0;}
::selection{background:var(--ha-p);color:#fff;}

/* ---------- Sections ---------- */
.ha-sec{padding-top:clamp(72px,9vw,128px)!important;padding-bottom:clamp(72px,9vw,128px)!important;}
.ha-sec-sm{padding-top:clamp(48px,6vw,80px)!important;padding-bottom:clamp(48px,6vw,80px)!important;}
.ha-dark{background:var(--ha-ink);color:rgba(255,255,255,.78);position:relative;overflow:hidden;}
.ha-dark2{background:var(--ha-ink2);color:rgba(255,255,255,.78);}
.ha-mist{background:var(--ha-mist);}
.ha-paper{background:var(--ha-paper);}
.ha-dark .elementor-widget-heading .elementor-heading-title,
.ha-dark2 .elementor-widget-heading .elementor-heading-title{color:#fff;}
.ha-dark .elementor-widget-text-editor, .ha-dark2 .elementor-widget-text-editor{color:rgba(255,255,255,.74);}
.ha-dark a:not(.elementor-button), .ha-dark2 a:not(.elementor-button){color:#fff;}

/* Stage-light glow behind dark sections */
.ha-glow::before, .ha-glow::after{content:"";position:absolute;border-radius:50%;filter:blur(90px);opacity:.55;pointer-events:none;z-index:0;}
.ha-glow::before{width:520px;height:520px;background:var(--ha-p);top:-200px;left:-160px;opacity:.45;}
.ha-glow::after{width:440px;height:440px;background:var(--ha-taupe);bottom:-220px;right:-140px;opacity:.35;}
.ha-glow > .e-con-inner, .ha-glow > .elementor-element{position:relative;z-index:1;}

/* ---------- Type ---------- */
.ha-eyebrow .elementor-heading-title{display:inline-flex;align-items:center;gap:.6em;font-family:var(--ha-body)!important;font-size:.8125rem!important;font-weight:700!important;letter-spacing:.16em!important;text-transform:uppercase;color:var(--ha-p)!important;line-height:1.2!important;}
.ha-eyebrow .elementor-heading-title::before{content:"";width:28px;height:2px;background:currentColor;border-radius:2px;}
.ha-dark .ha-eyebrow .elementor-heading-title, .ha-dark2 .ha-eyebrow .elementor-heading-title{color:var(--ha-s)!important;}
.ha-center.ha-eyebrow .elementor-heading-title{justify-content:center;}
.ha-display .elementor-heading-title{font-size:clamp(5rem,15vw,13.5rem)!important;font-weight:400!important;line-height:.82!important;letter-spacing:.005em!important;}
.ha-h1 .elementor-heading-title{font-size:clamp(3.4rem,8vw,7rem)!important;font-weight:400!important;line-height:.88!important;letter-spacing:.005em!important;}
.ha-h2 .elementor-heading-title{font-size:clamp(2.7rem,5.4vw,4.75rem)!important;font-weight:400!important;line-height:.92!important;}
.ha-h3 .elementor-heading-title{font-size:clamp(1.6rem,2.2vw,2rem)!important;font-weight:400!important;line-height:1!important;letter-spacing:.02em!important;}
.ha-grad, .elementor-heading-title em{font-family:var(--ha-script);font-style:normal;font-weight:700;text-transform:none;letter-spacing:0;color:var(--ha-p);font-size:.86em;line-height:1;}
.ha-dark .elementor-heading-title em, .ha-dark2 .elementor-heading-title em, .ha-cta-band .elementor-heading-title em, .ha-tile .elementor-heading-title em{color:var(--ha-s);}
html[lang^="ar"] .elementor-heading-title em{font-family:'Tajawal',sans-serif;}
.ha-lead .elementor-widget-container, .ha-lead{font-size:clamp(1.05rem,1.3vw,1.25rem)!important;line-height:1.65!important;max-width:620px;}
.ha-center .elementor-widget-container{margin-left:auto;margin-right:auto;}
.ha-muted{opacity:.7;}

/* ---------- Buttons ---------- */
.ha-btn .elementor-button, .ha-btn-ghost .elementor-button, .ha-btn-light .elementor-button{
  font-family:var(--ha-body);font-weight:700;font-size:.975rem;letter-spacing:.01em;border-radius:999px;padding:17px 30px;
  transition:transform .35s var(--ha-ease), box-shadow .35s var(--ha-ease), background .35s var(--ha-ease), color .35s;line-height:1;}
.ha-btn .elementor-button{background:var(--ha-p);color:#fff;box-shadow:0 10px 30px -12px var(--ha-p);}
.ha-btn .elementor-button:hover{transform:translateY(-2px);background:var(--ha-ink);color:#fff;box-shadow:0 16px 36px -12px rgba(46,26,16,.6);}
.ha-btn-ghost .elementor-button{background:transparent;color:currentColor;border:1.5px solid currentColor;}
.ha-dark .ha-btn-ghost .elementor-button, .ha-dark2 .ha-btn-ghost .elementor-button{color:#fff;border-color:rgba(255,255,255,.35);}
.ha-btn-ghost .elementor-button:hover{background:var(--ha-ink);color:#fff;border-color:var(--ha-ink);}
.ha-dark .ha-btn-ghost .elementor-button:hover{background:#fff;color:var(--ha-ink);border-color:#fff;}
.ha-btn-light .elementor-button{background:#fff;color:var(--ha-ink);}
.ha-btn-light .elementor-button:hover{background:var(--ha-s);color:var(--ha-ink);transform:translateY(-2px);}
.ha-arrow .elementor-button-text::after{content:"→";display:inline-block;margin-inline-start:.55em;transition:transform .35s var(--ha-ease);}
html[dir="rtl"] .ha-arrow .elementor-button-text::after{content:"←";}
.ha-arrow .elementor-button:hover .elementor-button-text::after{transform:translateX(4px);}
html[dir="rtl"] .ha-arrow .elementor-button:hover .elementor-button-text::after{transform:translateX(-4px);}
.ha-link .elementor-button{background:none!important;padding:0!important;color:var(--ha-p);font-weight:700;border-radius:0;}
.ha-dark .ha-link .elementor-button{color:var(--ha-s);}

/* ---------- Cards ---------- */
.ha-card{background:#fff;border:1px solid var(--ha-line);border-radius:var(--ha-r);padding:32px!important;transition:transform .45s var(--ha-ease), box-shadow .45s var(--ha-ease), border-color .45s;}
.ha-card:hover{transform:translateY(-6px);box-shadow:var(--ha-shadow);border-color:transparent;}
.ha-dark .ha-card, .ha-dark2 .ha-card, .ha-glass{background:rgba(255,255,255,.05);border:1px solid var(--ha-line-d);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);}
.ha-dark .ha-card:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22);}
.ha-card .elementor-icon-box-icon .elementor-icon, .ha-ico .elementor-icon{
  width:56px;height:56px;display:inline-flex;align-items:center;justify-content:center;border-radius:16px;font-size:24px!important;
  background:color-mix(in srgb, var(--ha-p) 12%, transparent);color:var(--ha-p)!important;fill:var(--ha-p)!important;}
.ha-dark .ha-card .elementor-icon-box-icon .elementor-icon{background:rgba(255,255,255,.08);color:var(--ha-s)!important;fill:var(--ha-s)!important;}
.ha-card .elementor-icon-box-title{font-family:var(--ha-display);font-size:1.85rem;font-weight:400;letter-spacing:.02em;line-height:1;margin-bottom:8px;color:var(--ha-ink);}
.ha-dark .ha-card .elementor-icon-box-title, .ha-dark .ha-card .elementor-icon-box-title a{color:#fff;}
.ha-card .elementor-icon-box-description{font-size:.98rem;line-height:1.65;color:inherit;opacity:.85;}
.ha-card .elementor-icon-box-wrapper{text-align:start!important;}
.ha-card.ha-num{counter-increment:ha;position:relative;}
.ha-num-wrap{counter-reset:ha;}
.ha-card.ha-num::before{content:counter(ha, decimal-leading-zero);position:absolute;top:24px;inset-inline-end:28px;font-family:var(--ha-display);font-weight:400;font-size:2.4rem;color:var(--ha-p);opacity:.14;}

/* Bento programme tiles */
.ha-tile{position:relative;overflow:hidden;border-radius:var(--ha-r);min-height:300px;padding:28px!important;color:#fff;isolation:isolate;
  background:linear-gradient(160deg, color-mix(in srgb,var(--ha-p) 78%, #000) 0%, var(--ha-ink) 100%);transition:transform .5s var(--ha-ease);}
.ha-tile:not(.ha-tile-photo):nth-child(3n+2){background:linear-gradient(160deg, #4A3A30 0%, var(--ha-ink) 100%);}
.ha-tile:not(.ha-tile-photo):nth-child(3n+3){background:linear-gradient(160deg, color-mix(in srgb,var(--ha-taupe) 70%, #000) 0%, var(--ha-ink) 100%);}
.ha-tile::after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;top:-80px;inset-inline-end:-60px;background:radial-gradient(circle, color-mix(in srgb,var(--ha-s) 55%, transparent), transparent 70%);z-index:-1;transition:transform .7s var(--ha-ease);}
.ha-tile:hover{transform:translateY(-6px);}
.ha-tile:hover::after{transform:scale(1.35);}
.ha-tile .elementor-icon-box-title, .ha-tile .elementor-icon-box-title a{font-family:var(--ha-display);font-weight:400;font-size:2.2rem;line-height:1;color:#fff!important;letter-spacing:-.01em;}
.ha-tile .elementor-icon-box-description{color:rgba(255,255,255,.75);font-size:.98rem;line-height:1.6;}
.ha-tile .elementor-icon-box-icon .elementor-icon{color:var(--ha-s)!important;fill:var(--ha-s)!important;font-size:30px!important;}
.ha-tile .elementor-icon-box-wrapper{text-align:start!important;}
.ha-tile .elementor-widget-button{margin-top:auto;}
.ha-tile .ha-link .elementor-button{color:#fff!important;}
.ha-tile-wide{grid-column:span 2;}
@media(max-width:1024px){.ha-tile-wide{grid-column:span 1;}}

/* Image treatments */
.ha-img img, .ha-img-tall img{border-radius:var(--ha-r);width:100%;object-fit:cover;}
.ha-img img{aspect-ratio:4/3;}
.ha-img-tall img{aspect-ratio:4/5;}
.ha-img-sq img{aspect-ratio:1/1;border-radius:var(--ha-r);width:100%;object-fit:cover;}
.ha-zoom{overflow:hidden;border-radius:var(--ha-r);}
.ha-zoom img{transition:transform 1.1s var(--ha-ease);}
.ha-zoom:hover img{transform:scale(1.06);}

/* Floating badge on images */
.ha-badge{position:absolute!important;bottom:-22px;inset-inline-start:-22px;z-index:3;background:#fff;color:var(--ha-ink);border-radius:18px;padding:16px 20px!important;box-shadow:var(--ha-shadow);width:auto!important;}
.ha-badge .elementor-heading-title{color:var(--ha-ink)!important;}

/* Stats */
.ha-stat .elementor-counter-number-wrapper{font-family:var(--ha-display);font-weight:400;font-size:clamp(3.4rem,6vw,5rem);line-height:.9;color:var(--ha-ink);letter-spacing:-.04em;justify-content:flex-start!important;}
.ha-dark .ha-stat .elementor-counter-number-wrapper{color:#fff;}
.ha-stat .elementor-counter-title{font-family:var(--ha-body);font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;opacity:.7;text-align:start!important;margin-top:8px;}
.ha-stat .elementor-counter{align-items:flex-start;}
.ha-stat .elementor-counter-number-suffix{color:var(--ha-p);}
.ha-dark .ha-stat .elementor-counter-number-suffix{color:var(--ha-s);}

/* Chips / inline lists */
.ha-chips .elementor-icon-list-items{gap:10px;flex-wrap:wrap;}
.ha-chips .elementor-icon-list-item{background:var(--ha-mist);border-radius:999px;padding:9px 16px!important;margin:0!important;font-weight:600;font-size:.9rem;}
.ha-chips .elementor-icon-list-item::after{display:none!important;}
.ha-dark .ha-chips .elementor-icon-list-item{background:rgba(255,255,255,.07);color:#fff;}
.ha-chips .elementor-icon-list-icon i, .ha-chips .elementor-icon-list-icon svg{color:var(--ha-p);fill:var(--ha-p);}
.ha-dark .ha-chips .elementor-icon-list-icon i{color:var(--ha-s);}

.ha-list .elementor-icon-list-item{padding:10px 0!important;font-size:1rem;}
.ha-list .elementor-icon-list-icon i{color:var(--ha-p);}
.ha-dark .ha-list .elementor-icon-list-icon i{color:var(--ha-s);}
.ha-list a{transition:color .25s, padding .25s;}
.ha-list a:hover{color:var(--ha-s)!important;padding-inline-start:4px;}

/* Pill category nav */
.ha-pills{gap:10px!important;flex-wrap:wrap;}
.ha-pills .elementor-button{background:#fff;color:var(--ha-ink);border:1px solid var(--ha-line);border-radius:999px;padding:12px 20px;font-weight:600;font-size:.92rem;transition:all .3s var(--ha-ease);}
.ha-pills .elementor-button:hover{background:var(--ha-ink);color:#fff;border-color:var(--ha-ink);}
.ha-sticky-bar{position:sticky!important;top:84px;z-index:20;background:color-mix(in srgb,var(--ha-paper) 82%, transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--ha-line);}

/* Marquee of styles */
.ha-marquee{overflow:hidden;white-space:nowrap;border-top:1px solid var(--ha-line-d);border-bottom:1px solid var(--ha-line-d);padding:22px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.ha-marquee__track{display:inline-flex;gap:48px;animation:ha-marquee 38s linear infinite;}
.ha-marquee span{font-family:var(--ha-display);font-weight:400;font-size:clamp(2rem,3.6vw,3.2rem);color:#fff;letter-spacing:-.02em;display:inline-flex;align-items:center;gap:48px;}
.ha-marquee span::after{content:"✦";color:var(--ha-s);font-size:.7em;}
.ha-marquee:hover .ha-marquee__track{animation-play-state:paused;}
@keyframes ha-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
html[dir="rtl"] .ha-marquee__track{animation-name:ha-marquee-rtl;}
@keyframes ha-marquee-rtl{from{transform:translateX(0)}to{transform:translateX(50%)}}
@media (prefers-reduced-motion: reduce){.ha-marquee__track{animation:none;}}

/* Page hero (inner pages) */
.ha-hero-inner{min-height:clamp(320px,42vh,460px);}
.ha-crumbs{font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.55);}
.ha-crumbs a{color:rgba(255,255,255,.85)!important;}

/* ---------- Header (light, so the charcoal logo shows as-is) ---------- */
.ha-header{transition:background .35s, box-shadow .35s;}
.ha-header.elementor-sticky--effects, .ha-header.e-sticky--effects{box-shadow:0 10px 30px -22px rgba(46,26,16,.5);}
.ha-header .elementor-nav-menu--main .elementor-item{font-family:var(--ha-body);font-weight:600;font-size:.95rem;color:var(--ha-t);padding:10px 16px;border-radius:999px;transition:all .25s;}
.ha-header .elementor-nav-menu--main .elementor-item:hover, .ha-header .elementor-nav-menu--main .elementor-item.elementor-item-active{color:var(--ha-ink);background:var(--ha-mist);}
.ha-header .elementor-menu-toggle{color:var(--ha-ink);background:var(--ha-mist);border-radius:12px;}
.ha-header .elementor-nav-menu--dropdown{background:#fff;border:1px solid var(--ha-line);border-radius:18px;margin-top:12px;overflow:hidden;box-shadow:var(--ha-shadow);}
.ha-header .elementor-nav-menu--dropdown a{color:var(--ha-ink)!important;padding:14px 22px!important;}
.ha-header .elementor-nav-menu--dropdown a:hover{background:var(--ha-paper)!important;}
.ha-header .elementor-menu-cart__toggle .elementor-button{background:var(--ha-mist);color:var(--ha-ink);border-radius:999px;border:0;padding:12px 14px;}
.ha-header .elementor-menu-cart__toggle .elementor-button-icon[data-counter]:before{background:var(--ha-p);}
.ha-header .wpml-ls-legacy-dropdown a, .ha-header .wpml-ls a{background:transparent!important;border:0!important;color:var(--ha-t)!important;font-weight:600;}
.ha-header .wpml-ls-sub-menu{background:#fff!important;border-radius:12px;overflow:hidden;}
.ha-header .wpml-ls-legacy-list-horizontal{padding:0;}
.ha-logo img{display:block;}

/* ---------- Footer ---------- */
.ha-footer .elementor-widget-theme-site-logo img, .ha-logo-invert img{filter:brightness(0) invert(1);opacity:.92;}
.ha-footer .elementor-icon-list-text{color:rgba(255,255,255,.72);}
.ha-footer .elementor-icon-list-item:hover .elementor-icon-list-text{color:#fff;}
.ha-footer .ha-foot-title .elementor-heading-title{font-family:var(--ha-body)!important;font-size:.8rem!important;font-weight:700!important;letter-spacing:.16em!important;text-transform:uppercase;color:var(--ha-s)!important;}
.ha-footer-bottom{border-top:1px solid var(--ha-line-d);}
.ha-footer-bottom, .ha-footer-bottom a{font-size:.88rem;color:rgba(255,255,255,.55)!important;}
.ha-footer-bottom a:hover{color:#fff!important;}
.ha-social .elementor-social-icon{background:rgba(255,255,255,.07)!important;transition:all .3s var(--ha-ease);}
.ha-social .elementor-social-icon:hover{background:var(--ha-p)!important;transform:translateY(-3px);}
.ha-social .elementor-social-icon i{color:#fff!important;}
.ha-social-light .elementor-social-icon{background:var(--ha-mist)!important;}
.ha-social-light .elementor-social-icon i{color:var(--ha-ink)!important;}
.ha-social-light .elementor-social-icon:hover{background:var(--ha-p)!important;}
.ha-social-light .elementor-social-icon:hover i{color:#fff!important;}
.ha-cta-band{border-radius:32px;overflow:hidden;position:relative;background:linear-gradient(120deg, color-mix(in srgb,var(--ha-p) 82%, #000) 0%, var(--ha-p) 100%);}
.ha-cta-band .elementor-heading-title{color:#fff!important;}
.ha-cta-band .elementor-widget-text-editor{color:rgba(255,255,255,.85)!important;}

/* ---------- Forms ---------- */
.ha-form .elementor-field-group:not(.elementor-field-type-upload) .elementor-field:not(.elementor-select-wrapper),
.ha-form .elementor-field-group .elementor-select-wrapper select,
.ha-form .elementor-field-textual{background:#fff!important;border:1px solid var(--ha-line)!important;border-radius:14px!important;padding:15px 18px!important;font-family:var(--ha-body);font-size:1rem;color:var(--ha-ink);transition:border-color .25s, box-shadow .25s;min-height:54px;}
.ha-form .elementor-field-textual:focus{border-color:var(--ha-p)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--ha-p) 15%, transparent)!important;outline:0;}
.ha-form .elementor-field-label{font-weight:600;font-size:.9rem;color:var(--ha-ink);margin-bottom:6px;}
.ha-form .elementor-button{background:var(--ha-p)!important;color:#fff!important;border-radius:999px!important;padding:18px 32px!important;font-weight:700!important;font-size:1rem!important;transition:all .3s var(--ha-ease);}
.ha-form .elementor-button:hover{background:var(--ha-ink)!important;transform:translateY(-2px);}
.ha-form-dark .elementor-field-textual{background:rgba(255,255,255,.06)!important;border-color:var(--ha-line-d)!important;color:#fff!important;}
.ha-form-dark .elementor-field-textual::placeholder{color:rgba(255,255,255,.5);}
.ha-form-inline .elementor-form-fields-wrapper{flex-wrap:nowrap;}
.ha-form-inline .elementor-field-group{margin-bottom:0!important;}

/* ---------- Accordion ---------- */
.ha-acc .elementor-accordion-item{border:1px solid var(--ha-line)!important;border-radius:16px;margin-bottom:12px;background:#fff;overflow:hidden;}
.ha-acc .elementor-tab-title{padding:22px 26px!important;font-family:var(--ha-body);font-weight:700;font-size:1.05rem;color:var(--ha-ink);border:0!important;}
.ha-acc .elementor-tab-title.elementor-active{color:var(--ha-p);}
.ha-acc .elementor-tab-content{border:0!important;padding:0 26px 24px!important;line-height:1.7;}
.ha-acc .elementor-accordion-icon{color:var(--ha-p);}

/* ---------- Legal pages ---------- */
.ha-legal{max-width:820px;}
.ha-legal h2, .ha-legal h3{font-family:var(--ha-display);font-weight:400;color:var(--ha-ink);letter-spacing:.02em;margin:2.2em 0 .6em;}
.ha-legal h2{font-size:2.2rem;} .ha-legal h3{font-size:1.5rem;}
.ha-legal p, .ha-legal li{line-height:1.8;}
.ha-rule{position:relative;}
.ha-rule .elementor-icon-box-title{font-size:1.05rem!important;font-family:var(--ha-body)!important;font-weight:600!important;line-height:1.55!important;}

/* ---------- WooCommerce product cards (classes) ---------- */
.ha-shop ul.products, .elementor-widget-wc-archive-products ul.products, .elementor-widget-woocommerce-product-related ul.products{display:grid!important;grid-template-columns:repeat(var(--ha-cols,4),minmax(0,1fr));gap:24px;margin:0!important;}
.ha-shop.ha-cols-3 ul.products, .elementor-widget-wc-archive-products ul.products{--ha-cols:3;}
.ha-shop ul.products, .elementor-widget-wc-archive-products ul.products, .elementor-widget-woocommerce-product-related ul.products{padding:0!important;list-style:none;}
.ha-shop ul.products::before, .ha-shop ul.products::after, .elementor-widget-wc-archive-products ul.products::before, .elementor-widget-wc-archive-products ul.products::after{display:none!important;}
@media(max-width:1024px){.ha-shop ul.products, .elementor-widget-wc-archive-products ul.products, .elementor-widget-woocommerce-product-related ul.products{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.ha-shop ul.products, .elementor-widget-wc-archive-products ul.products, .elementor-widget-woocommerce-product-related ul.products{grid-template-columns:1fr;}}
.woocommerce ul.products li.product{width:100%!important;margin:0!important;float:none!important;background:#fff;border:1px solid var(--ha-line);border-radius:var(--ha-r);padding:12px 12px 22px!important;display:flex;flex-direction:column;transition:transform .45s var(--ha-ease), box-shadow .45s var(--ha-ease);position:relative;}
.woocommerce ul.products li.product:hover{transform:translateY(-6px);box-shadow:var(--ha-shadow);}
.woocommerce ul.products li.product a img{border-radius:16px;aspect-ratio:4/3;object-fit:cover;margin:0 0 18px!important;transition:transform .9s var(--ha-ease);}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--ha-display)!important;font-weight:400!important;font-size:1.65rem!important;line-height:1.2!important;color:var(--ha-ink)!important;padding:0 10px!important;letter-spacing:-.01em;}
.woocommerce ul.products li.product .price{padding:0 10px;margin:10px 0 18px!important;font-family:var(--ha-body);font-weight:800!important;font-size:1.15rem!important;color:var(--ha-p)!important;}
.woocommerce ul.products li.product .button{margin:auto 10px 0!important;border-radius:999px!important;background:var(--ha-ink)!important;color:#fff!important;font-weight:700!important;padding:14px 20px!important;text-align:center;transition:background .3s;}
.woocommerce ul.products li.product .button:hover{background:var(--ha-p)!important;}
.woocommerce ul.products li.product .added_to_cart{padding:10px;text-align:center;font-weight:600;color:var(--ha-p);}
.woocommerce span.onsale{background:var(--ha-p)!important;border-radius:999px!important;min-height:auto!important;line-height:1!important;padding:8px 12px!important;top:22px!important;left:22px!important;}
.woocommerce .woocommerce-ordering select{border-radius:999px;border:1px solid var(--ha-line);padding:10px 18px;background:#fff;}
.woocommerce nav.woocommerce-pagination ul{border:0!important;display:flex;gap:8px;justify-content:center;}
.woocommerce nav.woocommerce-pagination ul li{border:0!important;}
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span{border-radius:999px;min-width:44px;height:44px;display:inline-flex!important;align-items:center;justify-content:center;background:#fff;border:1px solid var(--ha-line)!important;}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--ha-ink);color:#fff;}

/* ---------- Single class (product) ---------- */
.ha-product-gallery .woocommerce-product-gallery{border-radius:var(--ha-r);overflow:hidden;}
.ha-product-gallery .woocommerce-product-gallery img{border-radius:var(--ha-r);}
.ha-product-gallery .flex-control-thumbs{display:flex;gap:10px;margin-top:10px!important;}
.ha-product-gallery .flex-control-thumbs li{width:auto!important;flex:1;}
.ha-product-gallery .flex-control-thumbs img{border-radius:12px;opacity:.55;transition:opacity .3s;}
.ha-product-gallery .flex-control-thumbs img.flex-active, .ha-product-gallery .flex-control-thumbs img:hover{opacity:1;}
.ha-sticky-col{position:sticky!important;top:110px;align-self:flex-start;}
@media(max-width:1024px){.ha-sticky-col{position:relative!important;top:0;}}
.ha-booking{background:#fff;border:1px solid var(--ha-line);border-radius:28px;padding:clamp(24px,3vw,40px)!important;box-shadow:var(--ha-shadow);}
.ha-booking .elementor-widget-woocommerce-product-title .product_title{font-family:var(--ha-display);font-weight:400;font-size:clamp(2.8rem,4.6vw,4.2rem);line-height:.9;letter-spacing:-.03em;color:var(--ha-ink);}
.ha-booking .price{font-family:var(--ha-display)!important;font-weight:400!important;font-size:2.8rem!important;color:var(--ha-p)!important;}
.ha-booking .woocommerce-product-details__short-description{font-size:1.02rem;line-height:1.7;}
.ha-booking form.cart{display:flex;gap:12px;flex-wrap:wrap;align-items:stretch;margin:0!important;}
.ha-booking form.cart .quantity .qty{height:56px;width:84px;border-radius:999px;border:1px solid var(--ha-line);font-weight:700;text-align:center;}
.ha-booking form.cart .single_add_to_cart_button, .ha-booking form.cart button[type="submit"]{flex:1;min-height:56px;border-radius:999px!important;background:var(--ha-p)!important;color:#fff!important;font-weight:700!important;font-size:1rem!important;transition:all .3s var(--ha-ease);}
.ha-booking form.cart .single_add_to_cart_button:hover{background:var(--ha-ink)!important;transform:translateY(-2px);}
.ha-booking .product_meta{font-size:.88rem;color:var(--ha-t);opacity:.85;}
.ha-booking .product_meta > span{display:block;margin-bottom:4px;}
.ha-booking .product_meta a{color:var(--ha-p);font-weight:600;}
.ha-prose{max-width:780px;}
.ha-prose h1, .ha-prose h2{font-family:var(--ha-display);font-weight:400;letter-spacing:.01em;color:var(--ha-ink);font-size:clamp(2.4rem,4vw,3.4rem);line-height:1.05;margin:0 0 .5em;}
.ha-prose h3{font-family:var(--ha-display);font-weight:400;letter-spacing:.02em;color:var(--ha-ink);font-size:1.9rem;margin:1.8em 0 .6em;}
.ha-prose p, .ha-prose li{font-size:1.06rem;line-height:1.8;}
.ha-prose ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;}
.ha-prose ul li{background:var(--ha-mist);border-radius:14px;padding:14px 16px 14px 44px;position:relative;}
html[dir="rtl"] .ha-prose ul li{padding:14px 44px 14px 16px;}
.ha-prose ul li::before{content:"✓";position:absolute;inset-inline-start:16px;top:14px;color:var(--ha-p);font-weight:800;}
.ha-prose strong{color:var(--ha-ink);}
.woocommerce-breadcrumb, .ha-crumb .woocommerce-breadcrumb{font-size:.85rem!important;font-weight:600;letter-spacing:.04em;color:var(--ha-t)!important;}
.ha-crumb .woocommerce-breadcrumb a{color:var(--ha-p)!important;}

/* ---------- Cart / Checkout / Account ---------- */
.ha-woo-page .woocommerce table.shop_table{border-radius:var(--ha-r);border:1px solid var(--ha-line);overflow:hidden;background:#fff;}
.ha-woo-page .woocommerce .button, .ha-woo-page .woocommerce button.button, .ha-woo-page .woocommerce a.button{border-radius:999px!important;background:var(--ha-ink)!important;color:#fff!important;font-weight:700;padding:14px 24px!important;}
.ha-woo-page .woocommerce .checkout-button, .ha-woo-page .woocommerce #place_order{background:var(--ha-p)!important;}
.ha-woo-page .woocommerce .button:hover{background:var(--ha-p)!important;}
.ha-woo-page .e-cart-section, .ha-woo-page .e-checkout__container .e-checkout__order_review, .ha-woo-page .e-checkout__column-start > div{border-radius:var(--ha-r)!important;}
.ha-woo-page input.input-text, .ha-woo-page select, .ha-woo-page textarea{border-radius:12px!important;border:1px solid var(--ha-line)!important;padding:12px 14px!important;}

/* ---------- Gallery ---------- */
.ha-gallery .elementor-gallery-title{font-family:var(--ha-body);font-weight:600;border-radius:999px;padding:10px 18px!important;border:1px solid var(--ha-line);margin:0 4px 10px;color:var(--ha-ink);}
.ha-gallery .elementor-gallery-title.elementor-item-active, .ha-gallery .elementor-gallery-title:hover{background:var(--ha-ink);color:#fff;border-color:var(--ha-ink);}
.ha-gallery .e-gallery-item{border-radius:16px;overflow:hidden;}

/* ---------- Misc ---------- */
.ha-divider{height:1px;background:var(--ha-line);}
.ha-pill .elementor-heading-title{display:inline-block;background:rgba(255,255,255,.08);border:1px solid var(--ha-line-d);border-radius:999px;padding:8px 16px;font-family:var(--ha-body)!important;font-size:.85rem!important;font-weight:600!important;color:#fff!important;letter-spacing:.02em!important;}
.ha-step-no .elementor-heading-title{font-family:var(--ha-display)!important;font-size:5rem!important;font-weight:400!important;line-height:.9!important;color:transparent!important;-webkit-text-stroke:1.5px var(--ha-p);}
.ha-dark .ha-step-no .elementor-heading-title{-webkit-text-stroke-color:var(--ha-s);}
.ha-404 .elementor-heading-title{font-size:clamp(9rem,32vw,26rem)!important;font-weight:400!important;line-height:.78!important;letter-spacing:0!important;}
@media(max-width:767px){
  .ha-card{padding:24px!important;}
  .ha-badge{position:relative!important;margin-top:-40px;margin-inline-start:16px;}
  .ha-form-inline .elementor-form-fields-wrapper{flex-wrap:wrap;}
}

.ha-hide-m{}
@media(max-width:767px){.ha-hide-m{display:none!important;}}
.ha-header{background:color-mix(in srgb,var(--ha-paper) 92%, transparent)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--ha-line);}
@media(max-width:767px){
  .ha-header .e-con, .ha-header .e-con-inner{--gap:8px;--row-gap:8px;--column-gap:8px;gap:8px!important;}
  .ha-header .e-con-inner{padding-left:14px!important;padding-right:14px!important;}
}

/* ---------- Home hero: dancer cut-out over a teal arch ---------- */
.ha-hero-light{background:radial-gradient(120% 90% at 85% 10%, #fff 0%, var(--ha-paper) 55%, var(--ha-mist) 100%);overflow:hidden;}
.ha-hero-light .ha-pill .elementor-heading-title{background:#fff;border-color:var(--ha-line);color:var(--ha-ink)!important;}
.ha-arch{position:relative;}
.ha-arch::before{content:"";position:absolute;left:8%;right:8%;bottom:0;top:12%;border-radius:999px 999px 28px 28px;background:linear-gradient(180deg, color-mix(in srgb,var(--ha-p) 85%, #fff) 0%, var(--ha-p) 55%, color-mix(in srgb,var(--ha-p) 70%, #000) 100%);z-index:0;}
.ha-arch::after{content:"";position:absolute;left:3%;right:3%;top:6%;bottom:-4%;border-radius:999px 999px 34px 34px;border:1.5px solid color-mix(in srgb,var(--ha-taupe) 55%, transparent);z-index:0;}
.ha-arch .elementor-widget-image{position:relative;z-index:1;}
.ha-cutout img{width:100%;max-height:640px;object-fit:contain;object-position:bottom;filter:drop-shadow(0 30px 40px rgba(46,26,16,.35));}
.ha-hero-light .ha-stat .elementor-counter-number-wrapper{color:var(--ha-ink);}
.ha-script .elementor-heading-title{font-family:var(--ha-script)!important;font-weight:700!important;text-transform:none!important;color:var(--ha-p)!important;font-size:clamp(1.6rem,2.4vw,2.2rem)!important;letter-spacing:0!important;line-height:1!important;}
.ha-marquee-band{background:var(--ha-ink);}

/* ---------- Real media from the current site ---------- */
.ha-tile.ha-tile-photo{background-color:var(--ha-ink);background-size:cover;background-position:center;}
.ha-tile.ha-tile-photo::after{opacity:.55;}
.ha-tile-photo .elementor-icon-box-icon{display:none;}
.ha-tile-photo .elementor-icon-box-description{max-width:42ch;}
.ha-schedule img{width:100%;max-height:640px;object-fit:cover;object-position:top;border-radius:var(--ha-r);box-shadow:var(--ha-shadow);background:#fff;}
.ha-schedule a{display:block;position:relative;}
.ha-video .elementor-wrapper, .ha-video .elementor-custom-embed-image-overlay{border-radius:var(--ha-r);overflow:hidden;box-shadow:0 30px 60px -30px rgba(0,0,0,.6);}
.ha-logo img{width:auto;max-height:64px;}
.ha-footer .ha-logo img{max-height:80px;}
.ha-tile-photo .elementor-widget-button{margin-top:0;}
.ha-tile-photo{justify-content:flex-end;}/* End custom CSS */