/*
Theme Name: Neve Child
Theme URI: https://soranifinance.com/
Description: Child theme of Neve for the Sorani Capital website. Holds custom styles and code so they survive Neve parent-theme updates.
Author: Sorani Capital
Author URI: https://soranifinance.com/
Template: neve
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: neve-child
*/

/* ------------------------------------------------------------------
   Add custom site-wide CSS below. The Elementor page designs and the
   Sorani mu-plugins already handle the layout; this file is for any
   theme-level tweaks you want kept out of the parent theme.
------------------------------------------------------------------ */

/* ==================================================================
   SF Pro Text — self-hosted from /fonts/sf-pro-text/
   Every face shares the one family name, so `font-weight: 600` picks
   Semibold on its own. Browsers only download the faces the page
   actually renders, so declaring all twelve costs nothing up front.
================================================================== */

@font-face {
  font-family: "SF Pro Text";
  src: url("./fonts/sf-pro-text/SF-Pro-Text-Light.otf") format("opentype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "SF Pro Text";
  src: url("./fonts/sf-pro-text/SF-Pro-Text-LightItalic.otf") format("opentype");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "SF Pro Text";
  src: url("./fonts/sf-pro-text/SF-Pro-Text-Regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "SF Pro Text";
  src: url("./fonts/sf-pro-text/SF-Pro-Text-RegularItalic.otf")
    format("opentype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "SF Pro Text";
  src: url("./fonts/sf-pro-text/SF-Pro-Text-Medium.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "SF Pro Text";
  src: url("./fonts/sf-pro-text/SF-Pro-Text-MediumItalic.otf")
    format("opentype");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "SF Pro Text";
  src: url("./fonts/sf-pro-text/SF-Pro-Text-Semibold.otf") format("opentype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "SF Pro Text";
  src: url("./fonts/sf-pro-text/SF-Pro-Text-SemiboldItalic.otf")
    format("opentype");
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "SF Pro Text";
  src: url("./fonts/sf-pro-text/SF-Pro-Text-Bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "SF Pro Text";
  src: url("./fonts/sf-pro-text/SF-Pro-Text-BoldItalic.otf") format("opentype");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "SF Pro Text";
  src: url("./fonts/sf-pro-text/SF-Pro-Text-Heavy.otf") format("opentype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "SF Pro Text";
  src: url("./fonts/sf-pro-text/SF-Pro-Text-HeavyItalic.otf") format("opentype");
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}

/* ==================================================================
   Typography — apply SF Pro Text site-wide.
   The !important mirrors what Elementor and the Neve customizer emit
   for their own font settings; without it their per-widget rules win.
================================================================== */

:root {
  --sorani-font: "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI",
    Roboto, Helvetica, Arial, sans-serif;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
li,
button,
input,
select,
textarea,
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-text-editor,
.elementor-widget-button .elementor-button,
.hfe-nav-menu a,
.elementor-widget-icon-box .elementor-icon-box-title,
.elementor-widget-icon-box .elementor-icon-box-description,
.elementor-widget-icon-list .elementor-icon-list-text {
  font-family: var(--sorani-font) !important;
}

.ctm_header_menu .menu-item.hfe-button-wrapper > a {
  padding: 18px 30px !important;
}

.ctm_header_menu .menu-item.hfe-button-wrapper.current-menu-item > a {
  color: #fff !important;
}

/* About page — horizontal scrolling pill row */

.ctm_about_scroll_wrap {
  display: flex !important;
  flex-wrap: nowrap !important;
  /* "center" alone makes the overflowing start of the row unreachable;
      "safe center" centres only while the pills fit. */
  justify-content: flex-start !important;
  justify-content: safe center !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 14px !important;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.65) rgba(255, 255, 255, 0.18);
}

.ctm_about_scroll_wrap::-webkit-scrollbar {
  height: 8px;
}

.ctm_about_scroll_wrap::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.18);
  border-radius: 999px;
}

.ctm_about_scroll_wrap::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.65);
  border-radius: 999px;
}

.ctm_about_scroll_wrap::-webkit-scrollbar-thumb:hover {
  background: #fff;
}

.ctm_about_scroll_wrap > .ctm_about_scroll {
  flex: 0 0 auto !important;
  width: auto !important;
}

.ctm_about_scroll p {
  white-space: nowrap;
  margin: 0;
}
/* Hide the default HFE arrow */
.hfe-menu-toggle.sub-arrow i {
  display: none !important;
}

/* Style the arrow container */
.hfe-menu-toggle.sub-arrow {
  width: 14px;
  height: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 6px;
  transition: transform 0.3s ease;
}

/* Your custom SVG */
.hfe-menu-toggle.sub-arrow::before {
  content: "";
  width: 13px;
  height: 8px;
  display: block;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='8' viewBox='0 0 13 8'%3E%3Cpath fill='%23000' d='M11.7422 0L12.5 0.808594L6.25 7.5L0 0.808594L0.753906 0L6.25 5.87891L11.7422 0Z'/%3E%3C/svg%3E")
    no-repeat center;
  background-size: contain;
}

/* Rotate on hover */
.menu-item-has-children:hover > .hfe-has-submenu-container .sub-arrow {
  transform: rotate(180deg);
}

/* Rotate when submenu is open */
.menu-item-has-children.focus > .hfe-has-submenu-container .sub-arrow,
.menu-item-has-children.current-menu-item
  > .hfe-has-submenu-container
  .sub-arrow {
  transform: rotate(180deg);
}



/* Add space above the dropdown */
.sub-menu li:first-child{
    margin-top: 16px !important;
}

/* Add space below the last menu item */
.hfe-nav-menu .sub-menu li:last-child {
    padding-bottom: 16px;
}