/* 
Theme Name: Graphicten Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Graphicten Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://graphicten.com
Template: hello-elementor
Version: 2.0.0
Text Domain: g10-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

:root {
	/* Fonts */
	--font-heading: "Cormorant Garamond", serif;
	--font-body: "Instrument Sans", sans-serif;

	/* Heading sizes */
	--h1-size: clamp(48px, 6cqi, 88px);    /* 48px → 88px */
	--h2-size: clamp(38px, 4.2cqi, 60px);   /* 38px → 60px */
	--h3-size: clamp(1.4375rem, 2vw, 1.75rem); /* 23px → 28px */
	--h4-size: clamp(1.1875rem, 1.5vw, 1.375rem);
	--h5-size: clamp(1rem, 1.2vw, 1.125rem);
	--h6-size: clamp(0.8125rem, 1vw, 0.9375rem);

	/* Body */
	--body-size: clamp(1rem, 1.2vw, 1.265rem);
}

html, body {
    background-color: #0B0F17;
    overflow-x: hidden !important;
}

body {
    color: #F8FAFC;
    font-family: var(--font-body);
	  font-size: var(--body-size);
	  line-height: 1.7;
    background-color: #0B0F17;
}

body.fixed {
    position: fixed;
}

h1,
h2 {
	font-family: var(--font-heading);
	font-weight: 600;
}

h1 {
	font-size: var(--h1-size);
	line-height: 1;
	letter-spacing: -0.02em;
  text-wrap: balance;
}

h2 {
	font-size: var(--h2-size);
	line-height: 1.08;
	letter-spacing: -0.015em;
  text-wrap: balance;
}

h3 {
	font-family: var(--font-body);
	font-size: var(--h3-size);
	font-weight: 600;
	line-height: 1.2;
}

h4 {
	font-family: var(--font-body);
	font-size: var(--h4-size);
	font-weight: 600;
	line-height: 1.3;
}

h5 {
	font-family: var(--font-body);
	font-size: var(--h5-size);
	font-weight: 600;
	line-height: 1.4;
}

h6 {
	font-family: var(--font-body);
	font-size: var(--h6-size);
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.elementor-widget-heading .elementor-heading-title {
  font-family: var(--font-heading);
}

.elementor-widget-heading h1.elementor-heading-title {
	font-size: var(--h1-size);
}

.elementor-widget-heading h2.elementor-heading-title {
	font-size: var(--h2-size);
}

.elementor-widget-heading h3.elementor-heading-title {
	font-size: var(--h3-size);
}

.elementor-widget-heading h4.elementor-heading-title {
	font-size: var(--h4-size);
}

.elementor-widget-heading h5.elementor-heading-title {
	font-size: var(--h5-size);
}

.elementor-widget-heading h6.elementor-heading-title {
	font-size: var(--h6-size);
}

a:not(.elementor-element) {
    color: #38B6FF;
}

a:not(.elementor-element, .elementor-button):active,
a:not(.elementor-element, .elementor-button):focus,
a:not(.elementor-element, .elementor-button):hover {
    color: #F8FAFC;
    text-decoration: underline;
}

.elementor-nav-menu a,
a.elementor-button {
    text-decoration: none !important;
}

.bordered-image {
    position: relative;
}

.bordered-image img {
    position: relative;
    z-index: 2;
}

.bordered-image::before {
    content: "";
    position: absolute;
    top: 20px; left: 20px;
    right: 20px; bottom: 20px;
    border: 2px solid #38B6FF;
    border-radius: 0px;
    z-index: 1;
    transform: rotate(60deg);
}

.bordered-image::after {
    content: "";
    position: absolute;
    top: 20px; left: 20px;
    right: 20px; bottom: 20px;
    border: 2px solid #6EEB38;
    border-radius: 0px;
    z-index: 1;
    transform: rotate(30deg);
}
/* TablePress: IBD dark style */
.tablepress {
  --ibd-bg: #121212;
  --ibd-bg-alt: #1a1916;
  --ibd-hover: #211f1b;
  --ibd-border: #2c2923;
  --ibd-text: #F8FAFC;
  --ibd-gold: #38B6FF;
  --ibd-gold-light: #38B6FF;

  --head-text-color: var(--ibd-gold-light);
  --head-bg-color: var(--ibd-bg);
  --head-active-text-color: var(--ibd-gold-light);
  --head-active-bg-color: var(--ibd-bg);
  --text-color: var(--ibd-text);
  --odd-bg-color: var(--ibd-bg);
  --even-bg-color: var(--ibd-bg-alt);
  --hover-text-color: var(--ibd-text);
  --hover-bg-color: var(--ibd-hover);
  --border-color: var(--ibd-border);
  --padding: 1.1rem 1.5rem;

  font-size: 1rem;
  line-height: 1.6;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--ibd-border);
  border-radius: 4px;
  overflow: hidden;
  margin: 2rem 0;
  box-shadow: none;
}

.tablepress th,
.tablepress td {
  color: var(--ibd-text);
  text-align: left;
}

.tablepress thead th,
.tablepress thead td {
  color: var(--ibd-gold-light);
  font-size: 1.25rem;
  font-weight: 600;
  text-align: left;
  border-bottom: 1px solid var(--ibd-gold);
}

.tablepress tbody td {
  border-top: 1px solid var(--ibd-border);
  vertical-align: top;
}

.tablepress tbody tr:first-child td {
  border-top: 0;
}

.tablepress tbody td.column-1 {
  color: var(--ibd-text);
  font-weight: 600;
  white-space: nowrap;
}

@media (max-width: 767px) {
  .tablepress {
    --padding: 0.75rem 0.9rem;
    font-size: 0.9rem;
  }
  .tablepress thead th {
    font-size: 1.05rem;
  }
  .tablepress tbody td.column-1 {
    white-space: normal;
  }
}

@media screen and (min-width: 1024px) {
	.mobile-menu {
		display: none !important;	
	}
}

a.e-div-block-base {
  transition: all 0.3s ease-in-out;
}

a.e-div-block-base:hover {
  transform: scale(1.05);
  background-color: rgba(56, 182, 255, 0.1);
}

summary {
  text-align: left !important;
}

.elementor .e-accordion-item-icon-base {
  width: 40px !important;
}

.elementor .e-accordion-base {
  max-width: 100% !important;
}