/* ============================================================
   TRUST, IDENTITY, VERIFY, ENQUIRY, FOOTER
   Same tokens as the rest of the theme. Restrained: hairlines,
   small caps labels, serif numerals. No cards, no badges.
   ============================================================ */

.nav a.brand{ text-decoration:none; }
@media (max-width:1520px){ .nav .brand .rule, .nav .brand .tag{ display:none; } }
.nav .links a, .nav .brand .tag{ white-space:nowrap; }

/* identity lines (hero + who we are) */
.hero-id{ margin-top:2.25rem; padding-top:1rem; border-top:1px solid rgba(198,161,91,0.3); position:relative; max-width:26rem; }
.hero-id .l1{ font-family:var(--sans); font-size:calc(0.62rem * var(--madar-fs-small, 1)); letter-spacing:0.2em; text-transform:uppercase; color:var(--gold); }
.hero-id .l2{ font-family:var(--sans); font-size:calc(0.58rem * var(--madar-fs-small, 1)); letter-spacing:0.18em; text-transform:uppercase; color:rgba(245,240,230,0.5); margin-top:0.5rem; }
.who-id{ margin-top:2.5rem; padding-top:1.5rem; border-top:1px solid var(--sand); }
.who-id .lines{ font-family:var(--sans); font-size:calc(0.8rem * var(--madar-fs, 1)); line-height:1.95; color:var(--charcoal); opacity:0.7; margin-bottom:1.25rem; }

/* verification link, in context colours */
.verify-link{ display:inline-block; font-family:var(--sans); font-size:calc(0.62rem * var(--madar-fs-small, 1)); letter-spacing:0.22em; text-transform:uppercase; text-decoration:none; color:var(--brown); border-bottom:1px solid rgba(140,111,74,0.5); padding-bottom:0.35rem; }
.verify-link:hover{ border-bottom-color:var(--brown); }
.verify .verify-link, .footer .verify-link, .trust.dark .verify-link{ color:var(--gold); border-bottom-color:rgba(198,161,91,0.5); }
.verify .verify-link:hover, .footer .verify-link:hover{ border-bottom-color:var(--gold); }

/* homepage trust strip */
.trust{ background:var(--sand); padding:7rem 4rem; }
.trust-in{ max-width:1400px; margin:0 auto; display:grid; grid-template-columns:5fr 7fr; column-gap:6rem; row-gap:2.5rem; grid-template-areas:"head facts" "head link"; align-items:start; }
.trust-head{ grid-area:head; }
.trust-head h2{ font-family:var(--serif); font-weight:400; font-size:calc(3rem * var(--madar-fs-head, 1)); line-height:1.08; color:var(--emerald); margin-bottom:1.5rem; }
.trust-head p{ font-family:var(--sans); font-size:calc(0.9rem * var(--madar-fs, 1)); line-height:1.9; color:var(--charcoal); opacity:0.7; max-width:30rem; }
.trust-facts{ grid-area:facts; display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
.trust-facts .fact{ border-top:2px solid var(--charcoal); padding-top:1.25rem; }
.trust-facts .t{ font-family:var(--serif); font-size:calc(1.35rem * var(--madar-fs, 1)); color:var(--emerald); margin-bottom:0.5rem; line-height:1.2; }
.trust-facts .v{ font-family:var(--sans); font-size:calc(0.78rem * var(--madar-fs-small, 1)); line-height:1.8; color:var(--charcoal); opacity:0.65; }
.trust-in > .verify-link{ grid-area:link; justify-self:start; }

/* about: corporate identity table */
.ident{ background:var(--ivory); padding:8rem 4rem; }
.ident-in{ max-width:1400px; margin:0 auto; display:grid; grid-template-columns:5fr 7fr; gap:6rem; align-items:start; }
.ident-side h2{ font-family:var(--serif); font-weight:400; font-size:calc(3rem * var(--madar-fs-head, 1)); line-height:1.08; color:var(--emerald); }
.ident-rows{ margin:0; border-top:1px solid var(--charcoal); }
.ident-rows .r{ display:grid; grid-template-columns:11rem minmax(0,1fr); gap:1.5rem; padding:1.5rem 0; border-bottom:1px solid rgba(27,27,27,0.25); align-items:baseline; }
.ident-rows dt{ font-family:var(--sans); font-size:calc(0.58rem * var(--madar-fs-small, 1)); letter-spacing:0.25em; text-transform:uppercase; color:var(--brown); }
.ident-rows dd{ margin:0; font-family:var(--serif); font-size:calc(1.4rem * var(--madar-fs, 1)); color:var(--emerald); line-height:1.3; }

/* about: verify madar */
.verify{ background:var(--dark-emerald); padding:8rem 4rem; }
.verify-in{ max-width:900px; margin:0 auto; }
.verify h2{ font-family:var(--serif); font-weight:400; font-size:calc(3.5rem * var(--madar-fs-head, 1)); line-height:1.05; color:var(--ivory); margin-bottom:1.75rem; }
.verify p{ font-family:var(--sans); font-size:calc(0.95rem * var(--madar-fs, 1)); line-height:1.9; color:rgba(245,240,230,0.65); max-width:34rem; margin-bottom:3rem; }
.verify-cr{ display:flex; align-items:baseline; gap:2rem; flex-wrap:wrap; border-top:1px solid rgba(198,161,91,0.35); border-bottom:1px solid rgba(198,161,91,0.35); padding:1.75rem 0; margin-bottom:2.5rem; }
.verify-cr .l{ font-family:var(--sans); font-size:calc(0.6rem * var(--madar-fs-small, 1)); letter-spacing:0.25em; text-transform:uppercase; color:rgba(245,240,230,0.5); }
.verify-cr .n{ font-family:var(--serif); font-style:italic; font-size:calc(3.25rem * var(--madar-fs-head, 1)); color:var(--gold); line-height:1; }

/* contact lines (shown only once filled in) */
.contact-lines{ list-style:none; margin:2rem 0 0; padding:0; }
.contact-lines li{ display:grid; grid-template-columns:7rem minmax(0,1fr); padding:0.6rem 0; border-top:1px solid var(--sand); font-family:var(--sans); font-size:calc(0.9rem * var(--madar-fs, 1)); }
.contact-lines span{ font-size:calc(0.58rem * var(--madar-fs-small, 1)); letter-spacing:0.25em; text-transform:uppercase; color:var(--brown); padding-top:0.3rem; }
.contact-lines a{ color:var(--emerald); text-decoration:none; }
.contact-info .verify-link{ margin-top:2rem; align-self:flex-start; }

/* enquiry form */
.enq{ background:var(--ivory); padding:7rem 4rem 8rem; }
.enq-in{ max-width:1400px; margin:0 auto; display:grid; grid-template-columns:4fr 8fr; gap:6rem; align-items:start; }
.enq-side{ position:sticky; top:7rem; }
.enq-side h2{ font-family:var(--serif); font-weight:400; font-size:calc(2.6rem * var(--madar-fs-head, 1)); line-height:1.12; color:var(--emerald); margin-bottom:1.5rem; }
.enq-side p{ font-family:var(--sans); font-size:calc(0.9rem * var(--madar-fs, 1)); line-height:1.9; color:var(--charcoal); opacity:0.7; }
.enq-form{ display:grid; grid-template-columns:1fr 1fr; gap:2rem 2.5rem; }
.enq-field{ display:flex; flex-direction:column; }
.enq-field.wide{ grid-column:1 / -1; }
.enq-field label{ font-family:var(--sans); font-size:calc(0.58rem * var(--madar-fs-small, 1)); letter-spacing:0.25em; text-transform:uppercase; color:var(--brown); margin-bottom:0.6rem; }
.enq-field label span{ color:var(--gold); }
.enq-field input, .enq-field textarea{ font-family:var(--sans); font-size:calc(0.95rem * var(--madar-fs, 1)); color:var(--charcoal); background:transparent; border:0; border-bottom:1px solid rgba(27,27,27,0.4); padding:0.6rem 0; border-radius:0; outline:0; width:100%; }
.enq-field input:focus, .enq-field textarea:focus{ border-bottom-color:var(--gold); }
.enq-field textarea{ resize:vertical; }
.enq-submit{ grid-column:1 / -1; justify-self:start; font-family:var(--sans); font-size:calc(0.65rem * var(--madar-fs-small, 1)); letter-spacing:0.22em; text-transform:uppercase; color:var(--charcoal); background:var(--gold); border:0; padding:1.1rem 2.5rem; cursor:pointer; }
.enq-submit:hover{ background:var(--emerald); color:var(--ivory); }
.enq-hp{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; opacity:0; pointer-events:none; }
.enq-note{ font-family:var(--sans); font-size:calc(0.9rem * var(--madar-fs, 1)); padding:1.1rem 0; border-top:2px solid var(--emerald); margin-bottom:2rem; color:var(--emerald); }
.enq-note.err{ border-top-color:#9b2c2c; color:#9b2c2c; }

/* product list links on category pages */
a.prod-link{ text-decoration:none; display:inline-block; }
a.prod-link:hover{ color:var(--brown); }

/* footer */
.footer{ background:var(--charcoal); padding:5rem 4rem 2rem; }
.footer-grid{ max-width:1400px; margin:0 auto; display:grid; grid-template-columns:2fr 1fr 1fr; gap:4rem; padding-bottom:3.5rem; }
.footer .f-brand{ font-family:var(--serif); font-size:calc(1.6rem * var(--madar-fs, 1)); letter-spacing:0.25em; color:var(--ivory); margin-bottom:1rem; text-transform:uppercase; }
.footer .f-legal{ font-family:var(--sans); font-size:calc(0.85rem * var(--madar-fs, 1)); color:rgba(245,240,230,0.75); margin-bottom:0.35rem; }
.footer .f-line{ font-family:var(--sans); font-size:calc(0.75rem * var(--madar-fs-small, 1)); color:rgba(245,240,230,0.5); line-height:1.8; }
.footer .verify-link{ margin-top:1.5rem; }
.footer .f-col h4{ font-family:var(--sans); font-weight:400; font-size:calc(0.58rem * var(--madar-fs-small, 1)); letter-spacing:0.28em; text-transform:uppercase; color:var(--gold); margin:0 0 1.25rem; }
.footer .f-col ul{ list-style:none; margin:0; padding:0; }
.footer .f-col li{ margin-bottom:0.7rem; }
.footer .f-col a{ font-family:var(--sans); font-size:calc(0.8rem * var(--madar-fs, 1)); color:rgba(245,240,230,0.6); text-decoration:none; }
.footer .f-col a:hover{ color:var(--ivory); }
.footer-bar{ max-width:1400px; margin:0 auto; border-top:1px solid rgba(245,240,230,0.12); padding-top:1.5rem; display:flex; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; font-family:var(--sans); font-size:calc(0.62rem * var(--madar-fs-small, 1)); letter-spacing:0.12em; color:rgba(245,240,230,0.35); }
.footer-bar .legal a{ color:rgba(245,240,230,0.45); text-decoration:none; margin-left:1.75rem; }
.footer-bar .legal a:hover{ color:var(--ivory); }

@media (max-width:1100px){
  .trust, .ident, .verify, .enq{ padding:4rem 1.75rem; }
  .trust-in{ grid-template-columns:minmax(0,1fr); grid-template-areas:"head" "facts" "link"; row-gap:2.5rem; }
  .trust-head h2, .ident-side h2{ font-size:calc(2.1rem * var(--madar-fs-head, 1)); }
  .trust-facts{ grid-template-columns:minmax(0,1fr); gap:1.5rem; }
  .ident-in, .enq-in{ grid-template-columns:minmax(0,1fr); gap:3rem; }
  .ident-rows .r{ grid-template-columns:minmax(0,1fr); gap:0.4rem; }
  .verify h2{ font-size:calc(2.4rem * var(--madar-fs-head, 1)); }
  .verify-cr .n{ font-size:calc(2.4rem * var(--madar-fs-head, 1)); }
  .enq-side{ position:static; }
  .enq-form{ grid-template-columns:minmax(0,1fr); }
  .footer{ padding:3.5rem 1.75rem 1.5rem; }
  .footer-grid{ grid-template-columns:minmax(0,1fr); gap:2.5rem; }
  .footer-bar .legal a{ margin:0 1.25rem 0 0; }
}

/* verify: how-to line, compact masthead, anchor offsets */
.verify .verify-how{ margin-bottom:1.25rem; font-size:calc(0.8rem * var(--madar-fs, 1)); color:rgba(245,240,230,0.5); max-width:34rem; }
.cat-mast-img{ height:36vh; }
.enq{ scroll-margin-top:3.5rem; }

/* masthead titles: fluid so long product/category names fit above the fold */
.cat-mast h1{ font-size:calc(clamp(2.8rem,6vw,6.25rem) * var(--madar-fs-head, 1)); }
.madar-brand-site{ background:var(--emerald); padding:0 4rem 2rem; max-width:none; }
.madar-brand-site .verify-link{ color:var(--gold); border-bottom-color:rgba(198,161,91,0.5); }

/* registration certificate beside the verification text */
.verify-in.has-doc{ max-width:1400px; display:grid; grid-template-columns:1.1fr 0.9fr; gap:6rem; align-items:center; }
.verify-doc{ margin:0; }
.verify-doc a{ display:block; background:var(--ivory); padding:1rem; border:1px solid rgba(198,161,91,0.45); }
.verify-doc img{ display:block; width:100%; height:auto; max-height:70vh; object-fit:contain; }
.verify-doc figcaption{ font-family:var(--sans); font-size:calc(0.62rem * var(--madar-fs-small, 1)); letter-spacing:0.2em; text-transform:uppercase; color:rgba(245,240,230,0.5); margin-top:1rem; }
@media (max-width:1100px){ .verify-in.has-doc{ grid-template-columns:minmax(0,1fr); gap:3rem; } }

/* Products hover menu (categories) */
.nav-dd, .nav .links li.menu-item-has-children, .nav .links li.menu-item-madar-products, .nav .links li{ position:relative; }
.nav-dd{ display:inline-block; }
.nav-dd-menu{ position:absolute; top:100%; left:-1.25rem; min-width:17rem; padding:1.4rem 1.25rem 1rem; margin-top:0.7rem; background:var(--emerald); border-top:2px solid var(--gold); box-shadow:0 14px 30px rgba(0,0,0,0.25); opacity:0; visibility:hidden; transform:translateY(6px); transition:opacity .18s ease, transform .18s ease, visibility .18s; z-index:20; }
/* invisible bridge so the menu doesn't close while the pointer travels to it */
.nav-dd-menu::before{ content:""; position:absolute; left:0; right:0; top:-0.75rem; height:0.75rem; }
.nav-dd:hover .nav-dd-menu, .nav-dd:focus-within .nav-dd-menu,
.nav .links li:hover > .nav-dd-menu, .nav .links li:focus-within > .nav-dd-menu{ opacity:1; visibility:visible; transform:none; }
.nav .links .nav-dd-menu a{ display:block; padding:0.65rem 0; font-family:var(--sans); font-size:calc(0.65rem * var(--madar-fs-small, 1)); letter-spacing:0.15em; text-transform:uppercase; color:rgba(245,240,230,0.7); text-decoration:none; border-bottom:1px solid rgba(198,161,91,0.15); }
.nav .links .nav-dd-menu a:last-child{ border-bottom:0; }
.nav .links .nav-dd-menu a:hover{ color:var(--gold); }
.nav .links .nav-dd > a:hover, .nav .links .nav-dd:hover > a{ color:var(--ivory); }

/* Image slideshows */
.slides{ position:absolute; inset:0; overflow:hidden; }
.slides .media-img{ opacity:0; transition:opacity 1.4s ease, transform .6s ease; }
.slides .media-img.is-active{ opacity:1; }
.slides-ui{ position:absolute; left:1.25rem; bottom:1rem; z-index:4; display:flex; align-items:center; gap:0.15rem; }
.slides-ui button{ width:1.6rem; height:1.6rem; padding:0; border:0; background:transparent; color:#fff; opacity:0.75; font-family:var(--sans); font-weight:200; font-size:calc(1.25rem * var(--madar-fs, 1)); line-height:1; cursor:pointer; text-shadow:0 1px 4px rgba(0,0,0,0.55); transition:opacity .2s, color .2s; }
.slides-ui button:hover, .slides-ui button:focus-visible{ opacity:1; color:var(--gold); outline:0; }
.slides-dots{ display:flex; gap:0.3rem; margin-left:0.5rem; }
.slides-dots span{ display:block; width:0.9rem; height:1px; background:rgba(255,255,255,0.5); box-shadow:0 1px 3px rgba(0,0,0,0.4); }
.slides-dots span.on{ background:var(--gold); }
@media (prefers-reduced-motion: reduce){ .slides .media-img{ transition:none; } }

/* WordPress menu (Appearance > Menus): top level + one dropdown level */
.nav .links > ul.menu{ display:flex; gap:2.5rem; list-style:none; margin:0; padding:0; }
.nav .links ul.menu > li{ position:relative; }
.nav .links ul.sub-menu{ display:block; position:absolute; top:100%; left:-1.25rem; min-width:17rem; margin:0.7rem 0 0; padding:1.4rem 1.25rem 1rem; list-style:none; background:var(--emerald); border-top:2px solid var(--gold); box-shadow:0 14px 30px rgba(0,0,0,0.25); opacity:0; visibility:hidden; transform:translateY(6px); transition:opacity .18s ease, transform .18s ease, visibility .18s; z-index:20; }
.nav .links ul.sub-menu::before{ content:""; position:absolute; left:0; right:0; top:-0.75rem; height:0.75rem; }
.nav .links li:hover > ul.sub-menu, .nav .links li:focus-within > ul.sub-menu{ opacity:1; visibility:visible; transform:none; }
.nav .links ul.sub-menu li{ display:block; }
.nav .links ul.sub-menu a{ display:block; padding:0.65rem 0; font-family:var(--sans); font-size:calc(0.65rem * var(--madar-fs-small, 1)); letter-spacing:0.15em; text-transform:uppercase; color:rgba(245,240,230,0.7); text-decoration:none; border-bottom:1px solid rgba(198,161,91,0.15); white-space:nowrap; }
.nav .links ul.sub-menu li:last-child a{ border-bottom:0; }
.nav .links ul.sub-menu a:hover{ color:var(--gold); }
.nav .links li.current-menu-item > a, .nav .links li.current-menu-ancestor > a{ color:var(--ivory); }
/* rows that menus link to: keep them clear of the sticky header */
.cat-rows li{ scroll-margin-top:6rem; }

/* Header end: language switcher + Enquire */
.nav-end{ display:flex; align-items:center; gap:1.5rem; }
.lang-switch{ display:flex; align-items:center; gap:0.7rem; font-family:var(--sans); font-size:calc(0.6rem * var(--madar-fs-small, 1)); letter-spacing:0.15em; text-transform:uppercase; }
.lang-switch a{ color:rgba(245,240,230,0.55); text-decoration:none; }
.lang-switch a:hover{ color:var(--gold); }
.lang-switch .on{ color:var(--gold); }



/* ============================================================
   PHONE & TABLET (up to 1100px)
   ============================================================ */
.nav-toggle{ display:none; }
@media (max-width:1100px){
  /* menu button + panel */
  .nav{ flex-wrap:nowrap; }
  .nav-end{ gap:1rem; }
  .nav-toggle{ display:flex; flex-direction:column; justify-content:center; gap:5px; width:2.4rem; height:2.4rem; padding:0 0.45rem; background:none; border:1px solid rgba(198,161,91,0.4); cursor:pointer; }
  .nav-toggle span{ display:block; height:1px; background:var(--ivory); transition:transform .2s, opacity .2s; }
  .nav-open .nav-toggle span:nth-child(1){ transform:translateY(6px) rotate(45deg); }
  .nav-open .nav-toggle span:nth-child(2){ opacity:0; }
  .nav-open .nav-toggle span:nth-child(3){ transform:translateY(-6px) rotate(-45deg); }
  .nav .links{ display:none; }
  .nav.nav-open .links{ display:block; position:absolute; top:100%; left:0; right:0; max-height:calc(100vh - 4rem); overflow-y:auto; background:var(--emerald); border-top:1px solid rgba(198,161,91,0.3); padding:0.75rem 1.5rem 1.5rem; box-shadow:0 14px 30px rgba(0,0,0,0.3); }
  .nav.nav-open .links > ul.menu, .nav.nav-open .links{ flex-direction:column; gap:0; }
  .nav.nav-open .links > ul.menu{ display:block; }
  .nav.nav-open .links a{ display:block; padding:0.85rem 0; font-size:calc(0.75rem * var(--madar-fs-small, 1)); color:rgba(245,240,230,0.85); border-bottom:1px solid rgba(198,161,91,0.12); }
  /* dropdown lists open inline, indented */
  .nav.nav-open .links ul.sub-menu, .nav.nav-open .nav-dd-menu{ position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; border:0; background:none; min-width:0; margin:0; padding:0 0 0.5rem 1rem; }
  .nav.nav-open .links ul.sub-menu::before, .nav.nav-open .nav-dd-menu::before{ display:none; }
  .nav.nav-open .links ul.sub-menu a, .nav.nav-open .nav-dd-menu a{ padding:0.6rem 0; color:rgba(245,240,230,0.6); white-space:normal; }
  .nav.nav-open .nav-dd{ display:block; }
  .cta{ padding:0.45rem 0.9rem; }

  /* category panels: photo behind, text on a blurred glass box */
  .sector{ position:relative; display:block; min-height:82vh; overflow:hidden; }
  .sector .sector-media{ position:absolute; inset:0; min-height:0; }
  .sector .sector-text{ position:relative; z-index:3; margin:44vh 1.25rem 1.5rem; padding:2rem 1.6rem; background:rgba(10,36,25,0.58); -webkit-backdrop-filter:blur(14px) saturate(1.15); backdrop-filter:blur(14px) saturate(1.15); border:1px solid rgba(245,240,230,0.16); }
  .sector .sector-text h3{ color:var(--ivory) !important; font-size:calc(1.7rem * var(--madar-fs-head, 1)); }
  .sector .sector-text p{ color:var(--ivory) !important; opacity:0.88 !important; margin-bottom:1.25rem; }
  .sector .sector-text .kicker{ color:var(--gold) !important; }
  .sector .more-link{ color:var(--gold) !important; border-bottom-color:rgba(198,161,91,0.6) !important; margin-top:1.25rem; }
  .sector .sector-num{ font-size:calc(4.5rem * var(--madar-fs-head, 1)); top:1.25rem; }
  .sector .slides-ui{ top:1rem; bottom:auto; }
}
@media (max-width:640px){
  .nav-end .lang-switch{ gap:0.5rem; }
  .sector{ min-height:88vh; }
  .sector .sector-text{ margin:40vh 1rem 1.25rem; padding:1.6rem 1.25rem; }
}

/* Enquire link inside the phone menu panel (the header button is hidden on phones) */
.nav .nav-enquire, .nav .nav-enquire-item{ display:none; }
@media (max-width:1100px){
  .nav{ gap:1rem; }
  .nav .brand{ flex-shrink:0; }
}
@media (max-width:640px){
  .nav{ padding:0.9rem 1rem; }
  .nav .brand .word{ letter-spacing:0.14em; font-size:1rem; }
  .nav-end{ gap:0.8rem; }
  .nav-end .cta{ display:none; }
  .nav.nav-open .links .nav-enquire-item, .nav.nav-open .links > .nav-enquire{ display:block; }
  .nav.nav-open .links a.nav-enquire{ display:block; margin-top:1rem; padding:0.85rem 0; text-align:center; color:var(--gold); border:1px solid rgba(198,161,91,0.5); }
  .statement{ padding:5rem 1.25rem 4rem; }
}

/* ============================================================
   SLOGAN SECTION — interactive tiles
   Hover / focus: the tile lifts and tilts toward the pointer, a soft gold
   light follows the mouse, the icon redraws itself, a gold line runs along
   the bottom. When nobody is hovering, the highlight moves slowly from tile
   to tile ("moving trust"). assets/tiles.js sets --mx/--my/--rx/--ry.
   ============================================================ */
.partner-grid{ grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(198,161,91,0.14); border:1px solid rgba(198,161,91,0.14); perspective:900px; }
.partner-grid .cell{
  --mx:50%; --my:50%; --rx:0deg; --ry:0deg;
  position:relative; display:flex; flex-direction:column; justify-content:space-between; gap:1.6rem;
  min-height:10.5rem; padding:1.4rem 1.4rem 1.5rem; border:0; outline:0; overflow:hidden; cursor:default;
  background:var(--dark-emerald);
  color:rgba(245,240,230,0.55);
  transform:rotateX(var(--ry)) rotateY(var(--rx)) translateZ(0);
  transition:transform .45s cubic-bezier(.2,.7,.2,1), background-color .35s, color .35s, box-shadow .45s;
  will-change:transform;
}
.partner-grid .cell::before{ /* gold light that follows the pointer */
  content:""; position:absolute; inset:0; pointer-events:none; opacity:0; transition:opacity .4s;
  background:radial-gradient(220px circle at var(--mx) var(--my), rgba(198,161,91,0.22), transparent 70%);
}
.partner-grid .pg-num{
  position:relative; font-family:var(--serif); font-style:italic; font-size:calc(0.85rem * var(--madar-fs, 1));
  color:rgba(198,161,91,0.45); letter-spacing:0.05em; transition:color .35s, transform .45s cubic-bezier(.2,.7,.2,1);
}
.partner-grid .pg-ico{
  position:relative; display:flex; align-items:center; justify-content:center; width:3.4rem; height:3.4rem;
  border:1px solid rgba(198,161,91,0.28); color:var(--gold);
  transition:transform .5s cubic-bezier(.2,.7,.2,1), border-color .35s, background-color .35s;
}
.partner-grid .pg-ico .madar-icon{ width:1.75rem; height:1.75rem; }
.partner-grid .pg-label{
  position:relative; font-family:var(--sans); font-size:calc(0.66rem * var(--madar-fs-small, 1)); letter-spacing:0.2em; text-transform:uppercase;
  transition:transform .45s cubic-bezier(.2,.7,.2,1), letter-spacing .45s, color .35s;
}
.partner-grid .pg-line{
  position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--gold);
  transform:scaleX(0); transform-origin:left; transition:transform .55s cubic-bezier(.2,.7,.2,1);
}

/* active tile: hover, keyboard focus, or the idle highlight */
.partner-grid .cell:hover, .partner-grid .cell:focus-visible, .partner-grid .cell.is-lit{
  background-color:#0f2e21; color:var(--ivory); z-index:2;
  box-shadow:0 18px 40px rgba(0,0,0,0.35);
  transform:rotateX(var(--ry)) rotateY(var(--rx)) translateY(-6px) translateZ(0);
}
.partner-grid .cell:hover::before, .partner-grid .cell:focus-visible::before, .partner-grid .cell.is-lit::before{ opacity:1; }
.partner-grid .cell:hover .pg-num, .partner-grid .cell:focus-visible .pg-num, .partner-grid .cell.is-lit .pg-num{ color:var(--gold); transform:translateX(4px); }
.partner-grid .cell:hover .pg-ico, .partner-grid .cell:focus-visible .pg-ico, .partner-grid .cell.is-lit .pg-ico{ transform:translateY(-4px) scale(1.08); border-color:var(--gold); background-color:rgba(198,161,91,0.1); }
.partner-grid .cell:hover .pg-label, .partner-grid .cell:focus-visible .pg-label, .partner-grid .cell.is-lit .pg-label{ letter-spacing:0.26em; }
.partner-grid .cell:hover .pg-line, .partner-grid .cell:focus-visible .pg-line, .partner-grid .cell.is-lit .pg-line{ transform:scaleX(1); }
.partner-grid .cell:focus-visible{ outline:1px solid var(--gold); outline-offset:-1px; }
/* the other tiles step back while one is hovered */
.partner-grid:hover .cell:not(:hover){ color:rgba(245,240,230,0.35); }
.partner-grid:hover .cell:not(:hover) .pg-ico{ opacity:0.55; }
.partner-grid .pg-ico{ transition:transform .5s cubic-bezier(.2,.7,.2,1), border-color .35s, background-color .35s, opacity .35s; }

/* icon draws itself when a tile becomes active */
.partner-grid .madar-icon *{ stroke-dasharray:1; stroke-dashoffset:0; }
.partner-grid .cell.draw .madar-icon *{ animation:madar-draw 1.1s cubic-bezier(.4,0,.2,1) both; }
@keyframes madar-draw{ from{ stroke-dashoffset:1; } to{ stroke-dashoffset:0; } }

/* entrance: tiles rise in one after another when the section scrolls into view */
.partner-grid.pg-wait .cell{ opacity:0; transform:translateY(24px); }
.partner-grid.pg-in .cell{ animation:madar-rise .8s cubic-bezier(.2,.7,.2,1) both; animation-delay:calc(var(--i, 0) * 90ms); }
@keyframes madar-rise{ from{ opacity:0; transform:translateY(24px); } to{ opacity:1; transform:translateY(0); } }

@media (max-width:640px){
  .partner-grid{ grid-template-columns:1fr 1fr !important; }
  .partner-grid .cell{ min-height:8.5rem; padding:1.1rem; gap:1.1rem; }
  .partner-grid .pg-ico{ width:2.9rem; height:2.9rem; }
  .partner-grid .pg-label{ font-size:calc(0.6rem * var(--madar-fs-small, 1)); letter-spacing:0.14em; }
  .partner-grid .cell:hover .pg-label, .partner-grid .cell.is-lit .pg-label{ letter-spacing:0.16em; }
}
@media (prefers-reduced-motion: reduce){
  .partner-grid .cell, .partner-grid .cell *, .partner-grid .cell::before{ transition:none !important; animation:none !important; }
  .partner-grid.pg-wait .cell{ opacity:1; transform:none; }
}
/* icon and label centred in the tile; number stays top corner */
.partner-grid .pg-ico{ align-self:center; }
.partner-grid .pg-label{ align-self:center; text-align:center; }

/* ============================================================
   WHATSAPP (official wa.me click-to-chat) — inc/whatsapp.php
   Floating button: square emerald tile with gold hairline, the WhatsApp
   mark in WhatsApp green; the label slides out on hover.
   ============================================================ */
.wa-float{
  position:fixed; right:1.5rem; bottom:1.5rem; z-index:20;
  display:flex; align-items:center; gap:0; height:3.4rem; min-width:3.4rem; padding:0 1rem;
  background:var(--emerald); border:1px solid rgba(198,161,91,0.55); color:#25D366; text-decoration:none;
  box-shadow:0 10px 28px rgba(0,0,0,0.28);
  transition:gap .35s cubic-bezier(.2,.7,.2,1), background-color .3s, transform .3s, box-shadow .3s;
  animation:wa-in .6s 1.2s cubic-bezier(.2,.7,.2,1) both;
}
.wa-float .wa-glyph{ width:1.45rem; height:1.45rem; flex-shrink:0; }
.wa-float .wa-label{
  max-width:0; overflow:hidden; white-space:nowrap; color:var(--ivory);
  font-family:var(--sans); font-size:calc(0.62rem * var(--madar-fs-small, 1)); letter-spacing:0.2em; text-transform:uppercase;
  transition:max-width .45s cubic-bezier(.2,.7,.2,1);
}
.wa-float:hover, .wa-float:focus-visible{ gap:0.8rem; background:var(--dark-emerald); transform:translateY(-3px); box-shadow:0 16px 34px rgba(0,0,0,0.34); }
.wa-float:hover .wa-label, .wa-float:focus-visible .wa-label{ max-width:16rem; }
.wa-float::after{ /* soft ring once after arrival */
  content:""; position:absolute; inset:-1px; border:1px solid var(--gold); opacity:0; pointer-events:none;
  animation:wa-ring 1.6s 2s ease-out 2;
}
@keyframes wa-in{ from{ opacity:0; transform:translateY(18px); } to{ opacity:1; transform:none; } }
@keyframes wa-ring{ 0%{ opacity:0.7; transform:scale(1); } 100%{ opacity:0; transform:scale(1.35); } }
[dir="rtl"] .wa-float{ right:auto; left:1.5rem; }
[dir="rtl"] .wa-float .wa-label{ letter-spacing:0; }
@media (max-width:640px){ .wa-float{ right:1rem; bottom:1rem; height:3.1rem; min-width:3.1rem; padding:0 0.85rem; } [dir="rtl"] .wa-float{ left:1rem; } }
@media (prefers-reduced-motion: reduce){ .wa-float, .wa-float::after{ animation:none; } }
@media print{ .wa-float{ display:none; } }

/* inline link beside the enquiry buttons */
.wa-inline{
  display:flex; align-items:center; gap:0.6rem; width:max-content; margin:-0.75rem 0 2rem;
  font-family:var(--sans); font-size:calc(0.66rem * var(--madar-fs-small, 1)); letter-spacing:0.18em; text-transform:uppercase;
  color:rgba(245,240,230,0.75); text-decoration:none; border-bottom:1px solid rgba(37,211,102,0.35); padding-bottom:0.35rem;
  transition:color .25s, border-color .25s;
}
.wa-inline .wa-glyph{ width:1.05rem; height:1.05rem; color:#25D366; }
.wa-inline:hover{ color:var(--ivory); border-bottom-color:#25D366; }
[dir="rtl"] .wa-inline{ letter-spacing:0; }

/* WhatsApp button as a plain circle: green disc, white mark; label shows beside it on hover */
.wa-float{
  width:3.5rem; height:3.5rem; min-width:0; padding:0; gap:0; justify-content:center;
  border:0; border-radius:50%; background:#25D366; color:#fff;
  box-shadow:0 8px 22px rgba(0,0,0,0.25);
}
.wa-float .wa-glyph{ width:1.75rem; height:1.75rem; }
.wa-float::after{ border-radius:50%; border-color:#25D366; }
.wa-float .wa-label{
  position:absolute; right:calc(100% + 0.75rem); top:50%; transform:translateY(-50%);
  max-width:none; padding:0.55rem 0.9rem; background:var(--dark-emerald); color:var(--ivory);
  opacity:0; pointer-events:none; transition:opacity .25s;
}
.wa-float:hover, .wa-float:focus-visible{ gap:0; background:#1ebe5b; }
.wa-float:hover .wa-label, .wa-float:focus-visible .wa-label{ max-width:none; opacity:1; }
[dir="rtl"] .wa-float .wa-label{ right:auto; left:calc(100% + 0.75rem); }
@media (max-width:640px){ .wa-float{ width:3.2rem; height:3.2rem; padding:0; } .wa-float .wa-label{ display:none; } }

/* Long words (Russian, German brand names) wrap inside large headings instead of running off small screens */
h1, h2, h3, blockquote{ overflow-wrap:break-word; }
@media (max-width:640px){
  h1, h2, h3, blockquote{ hyphens:auto; -webkit-hyphens:auto; }
  .hero-left h1{ font-size:calc(2.35rem * var(--madar-fs-head, 1)); }
  html[lang^="ru"] .hero-left h1{ font-size:calc(2.1rem * var(--madar-fs-head, 1)); }
  /* language switcher: finger-sized tap targets */
  .lang-switch a, .lang-switch .on{ display:inline-flex; align-items:center; justify-content:center; min-width:2rem; min-height:2.4rem; }
  .nav-end .lang-switch{ gap:0.1rem; }
}
@media (max-width:1100px){
  .lang-switch a, .lang-switch .on{ display:inline-flex; align-items:center; justify-content:center; min-width:2rem; min-height:2.4rem; }
  .nav-end .lang-switch{ gap:0.1rem; }
}
@media (max-width:640px){
  /* a word longer than the screen breaks instead of widening the page */
  h1, h2, h3, blockquote, .eyebrow-gold, .contact-info a{ overflow-wrap:anywhere; }
  .contact-gold, .contact-info{ min-width:0; padding-left:1.25rem; padding-right:1.25rem; }
  .cat-mast h1, .madar-catalogue-hero h1{ font-size:calc(2.4rem * var(--madar-fs-head, 1)); }
  html[lang^="ru"] .cat-mast h1, html[lang^="ru"] .madar-catalogue-hero h1{ font-size:calc(2.1rem * var(--madar-fs-head, 1)); }
  html[lang^="ru"] .cat-offer-side h2, html[lang^="ru"] .cat-facts-head h2{ font-size:calc(1.8rem * var(--madar-fs-head, 1)); }
}
@media (max-width:640px){
  .cat-rows li{ grid-template-columns:3rem minmax(0,1fr); }
  .cat-rows .t{ overflow-wrap:anywhere; hyphens:auto; -webkit-hyphens:auto; }
  html[lang^="ru"] .cat-rows .t{ font-size:calc(1.3rem * var(--madar-fs, 1)); }
}

/* Copy-the-CR-number button (icon only) */
.cr-copy{ position:relative; display:inline-flex; align-items:center; justify-content:center; width:2.5rem; height:2.5rem; padding:0; margin:0; vertical-align:middle; background:none; border:1px solid rgba(198,161,91,0.45); color:var(--gold); cursor:pointer; transition:background-color .2s, border-color .2s, color .2s; }
.cr-copy:hover, .cr-copy:focus-visible{ background:rgba(198,161,91,0.14); border-color:var(--gold); outline:none; }
.cr-copy .i-done{ display:none; }
.cr-copy.is-done .i-copy{ display:none; }
.cr-copy.is-done .i-done{ display:block; }
.cr-copy.is-done{ border-color:var(--gold); background:rgba(198,161,91,0.18); }
.cr-copy-msg{ position:absolute; top:calc(100% + 0.5rem); left:50%; transform:translateX(-50%); white-space:nowrap; padding:0.45rem 0.75rem; background:var(--charcoal); color:var(--ivory); font-family:var(--sans); font-size:calc(0.7rem * var(--madar-fs-small, 1)); letter-spacing:0.02em; text-transform:none; pointer-events:none; opacity:0; transition:opacity .2s; z-index:5; }
.cr-copy.is-done .cr-copy-msg{ opacity:1; }
.cr-copy-msg:empty{ display:none; }
.verify-cr{ align-items:center; }
.f-cr{ display:flex; align-items:center; gap:0.6rem; }
.f-cr .cr-copy{ width:2rem; height:2rem; }
.f-cr .cr-copy svg{ width:15px; height:15px; }
@media (max-width:640px){ .cr-copy-msg{ left:auto; right:0; transform:none; white-space:normal; width:max-content; max-width:15rem; } [dir="rtl"] .cr-copy-msg{ right:auto; left:0; } }
.verify-cr .cr-val{ display:inline-flex; align-items:center; gap:1rem; white-space:nowrap; }
/* the note opens from the button's own edge, so it never leaves the screen */
.cr-copy-msg{ left:0; right:auto; transform:none; white-space:normal; width:max-content; max-width:16rem; }
[dir="rtl"] .cr-copy-msg{ left:auto; right:0; }
.f-cr .cr-copy-msg{ top:auto; bottom:calc(100% + 0.5rem); }
.enq-privacy{ grid-column:1 / -1; margin-top:0.5rem; font-family:var(--sans); font-size:calc(0.78rem * var(--madar-fs-small, 1)); color:var(--charcoal); opacity:0.7; }
.enq-privacy a{ color:var(--brown); }

/* ============================================================
   LANGUAGE SWITCHER + PHONE/TABLET HEADER
   Desktop: EN · عربي · RU side by side.
   With the menu button (up to 1100px): [menu] MADAR [language] — Arabic
   mirrors automatically ([language] MADAR [menu]) because the page is RTL.
   The language button opens a list below it (assets/nav.js).
   ============================================================ */
.lang-list{ display:flex; align-items:center; gap:0.7rem; }
.lang-toggle{ display:none; }
.lang-name{ display:none; }

@media (max-width:1100px){
  .nav{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:0.75rem; }
  .nav-end{ display:contents; }
  .nav-end .cta{ display:none; }
  .nav-toggle{ grid-column:1; grid-row:1; justify-self:start; }
  .nav .brand{ grid-column:2; grid-row:1; justify-self:center; gap:0; }
  .nav .brand .rule, .nav .brand .tag{ display:none; }
  .nav-end .lang-switch{ grid-column:3; grid-row:1; justify-self:end; position:relative; gap:0; }

  /* the language button */
  .lang-toggle{ display:inline-flex; align-items:center; gap:0.4rem; height:2.4rem; padding:0 0.65rem; background:none; border:1px solid rgba(198,161,91,0.4); color:var(--ivory); cursor:pointer; font-family:var(--sans); font-size:calc(0.66rem * var(--madar-fs-small, 1)); letter-spacing:0.12em; text-transform:uppercase; }
  .lang-toggle .lang-globe{ color:var(--gold); }
  .lang-toggle .lang-chev{ opacity:0.7; transition:transform .2s; }
  .lang-switch.is-open .lang-toggle{ border-color:var(--gold); background:rgba(198,161,91,0.12); }
  .lang-switch.is-open .lang-chev{ transform:rotate(180deg); }

  /* the list that opens below it */
  .lang-list{ display:none; position:absolute; top:calc(100% + 0.6rem); inset-inline-end:0; z-index:40; min-width:11rem; flex-direction:column; align-items:stretch; gap:0; padding:0.35rem 0; background:var(--dark-emerald); border:1px solid rgba(198,161,91,0.35); box-shadow:0 14px 30px rgba(0,0,0,0.35); }
  .lang-switch.is-open .lang-list{ display:flex; }
  .lang-list a, .lang-list .on{ display:flex !important; align-items:center; justify-content:space-between; gap:1rem; min-height:2.9rem; padding:0 1rem; min-width:0; text-decoration:none; font-family:var(--sans); font-size:calc(0.85rem * var(--madar-fs, 1)); letter-spacing:0 !important; text-transform:none !important; color:rgba(245,240,230,0.85); }
  .lang-list a:hover, .lang-list a:focus-visible{ background:rgba(198,161,91,0.12); color:var(--ivory); outline:none; }
  .lang-list .on{ color:var(--gold); }
  .lang-list .lang-name{ display:inline; }
  .lang-list .lang-short{ order:2; font-size:calc(0.62rem * var(--madar-fs-small, 1)); letter-spacing:0.12em; opacity:0.6; }
  .lang-list .on .lang-short::before{ content:"✓ "; }

  /* Enquire moves into the menu panel on phones and tablets */
  .nav.nav-open .links .nav-enquire-item, .nav.nav-open .links > .nav-enquire{ display:block; }
  .nav.nav-open .links a.nav-enquire{ display:block; margin-top:1rem; padding:0.85rem 0; text-align:center; color:var(--gold); border:1px solid rgba(198,161,91,0.5); }
}
@media (max-width:640px){
  .nav{ padding:0.8rem 1rem; }
  .nav .brand .word{ font-size:1rem; letter-spacing:0.16em; }
}

/* Phone/tablet header, refined: no frames, one shared height and centre line */
@media (max-width:1100px){
  .nav{ align-items:center; }
  .nav-toggle, .nav .brand, .lang-toggle{ height:2.25rem; display:inline-flex; align-items:center; align-self:center; }
  .nav-toggle{ flex-direction:column; justify-content:center; gap:5px; width:2.25rem; padding:0 0.3rem; border:0; background:none; }
  .nav-toggle span{ width:100%; }
  .nav .brand .word{ line-height:1; display:block; }
  .lang-toggle{ gap:0.35rem; padding:0 0.15rem; border:0; background:none; color:rgba(245,240,230,0.85); font-size:calc(0.66rem * var(--madar-fs-small, 1)); letter-spacing:0.14em; }
  .lang-toggle span{ line-height:1; }
  .lang-toggle .lang-chev{ width:10px; height:10px; opacity:0.6; }
  .lang-toggle:hover, .lang-toggle:focus-visible{ color:var(--gold); outline:none; }
  .lang-switch.is-open .lang-toggle{ border:0; background:none; color:var(--gold); }
}
