/*
Theme Name: BDG WP Theme
Theme URI: https://bigdreams.group/
Author: BIG DREAMS GROUP
Author URI: https://bigdreams.group/
Description: Blank theme for custom projects.
Version: 1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bdg-wp-theme
Tags: elementor, blank, minimal, page builder
*/

/* Reset body and html margins and paddings */
/* RESET browser default margins */
/* Reset browser default margins */

/* Hard reset margins and paddings */
html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
    font-family: sans-serif;
}

h1, h2, h3, h4, h5, h6, p, blockquote, pre, figure {
    margin: 0;
}

button, input, optgroup, select, textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0;
}

input, textarea {
    border: 1px solid #ccc;
    padding: 8px;
}

a {
    background-color: transparent;
    text-decoration: none;
    color: inherit;
}

*, *::before, *::after {
    box-sizing: border-box;
}

  
/* --- RESET & NORMALIZATION --- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote::before, blockquote::after,
q::before, q::after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

button, input, select, textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  margin: 0;
  border: 0;
  background: none;
}

button:focus, input:focus, select:focus, textarea:focus {
  outline: 2px solid #000;
  outline-offset: 2px;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Autofill fix */
input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus, 
input:-webkit-autofill:active  {
  box-shadow: 0 0 0px 1000px white inset;
  -webkit-box-shadow: 0 0 0px 1000px white inset;
  -webkit-text-fill-color: #000;
}

/* Skip Link Accessibility */
.skip-link {
  position: absolute;
  left: -999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.skip-link:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 1rem;
  padding: 1rem;
  background: #000;
  color: #fff;
  z-index: 10000;
}

/* --- ELEMENTOR Specific --- */
.elementor-section.elementor-section-boxed > .elementor-container {
  max-width: 1140px;
  margin: 0 auto;
}

.elementor-widget:not(:last-child) {
  margin-bottom: 20px;
}

.elementor-column-gap-default > .elementor-column > .elementor-element-populated {
  padding: 10px;
}


/* Add default spacing between sections */
.elementor-section {
  display: block;
  width: 100%;
}


.elementor-section:first-of-type {
  margin-top: 0;
}




.page-template-elementor_canvas .site,
.page-template-elementor_header_footer .site {
  display: block;
}

/* Remove unwanted margins */
body.elementor-page {
  margin: 0 !important;
  padding: 0 !important;
}

/* --- FORM STYLES --- */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="number"],
textarea,
select {
  border: 1px solid #ccc;
  padding: 0.75em;
  width: 100%;
  max-width: 100%;
  background: #fff;
  color: #333;
}

textarea {
  min-height: 120px;
}

input[type="submit"],
button[type="submit"] {
  background: #0073e6;
  color: white;
  padding: 0.75em 2em;
  text-transform: uppercase;
  border: none;
  cursor: pointer;
  transition: background 0.3s;
}

input[type="submit"]:hover,
button[type="submit"]:hover {
  background: #005bb5;
}

input[type="checkbox"],
input[type="radio"] {
  width: auto;
  margin-right: 0.5em;
}

/* Validation/Error States */
input:invalid, textarea:invalid {
  border-color: #d93025;
}

/* --- ACCESSIBILITY FIXES --- */
[tabindex="-1"]:focus {
  outline: none;
}

.screen-reader-text {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.screen-reader-text:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 1rem;
  padding: 1rem;
  background: #000;
  color: #fff;
  z-index: 10000;
}

/* --- GUTENBERG Tweaks (optional) --- */
.wp-block-button__link {
  background-color: #0073e6;
  color: #fff;
  padding: 0.75em 2em;
  text-decoration: none;
}

.wp-block-button__link:hover {
  background-color: #005bb5;
}

.wp-block-gallery {
  margin-bottom: 1.5em;
}

/* --- UTILITY --- */
.clearfix::after {
  content: "";
  display: table;
  clear: both;
}

/* --- RESPONSIVE --- */
@media (max-width: 767px) {
  .elementor-section.elementor-section-boxed > .elementor-container {
    padding-left: 15px;
    padding-right: 15px;
  }
}

/* --- FORM RESET / NORMALIZATION --- */

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime-local"],
input[type="color"],
select,
textarea {
    border: 1px solid #ddd;
    background-color: #fff;
    padding: 0.75em 1em;
    color: #333;
    font-family: inherit;
    font-size: 1rem;
    width: 100%;
    max-width: 100%;
}

input:focus,
textarea:focus,
select:focus {
    border-color: #005bb5;
    outline: none;
    box-shadow: 0 0 0 1px #005bb5;
}

input[type="submit"],
button[type="submit"],
input[type="button"],
button {
    background-color: #0073e6;
    color: #fff;
    padding: 0.75em 2em;
    border: none;
    cursor: pointer;
    text-transform: uppercase;
    border-radius: 4px;
    transition: background-color 0.3s ease;
}

input[type="submit"]:hover,
button[type="submit"]:hover,
input[type="button"]:hover,
button:hover {
    background-color: #005bb5;
}

input:-webkit-autofill {
    background-color: #fff !important;
    color: #000 !important;
    -webkit-text-fill-color: #000 !important;
    box-shadow: 0 0 0px 1000px white inset;
}


button, input[type="submit"], input[type="button"] {
    background-color: #0073e6;
    color: white;
    border: none;
    padding: 10px 20px;
    font-family: inherit;
    font-size: 1rem;
    cursor: pointer;
    border-radius: 4px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    box-sizing: border-box;
    transition: background-color 0.3s ease;
}

button:hover, input[type="submit"]:hover, input[type="button"]:hover {
    background-color: #005bb5;
}


button,
input,
optgroup,
select,
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}


legend {
    box-sizing: border-box; 
    color: inherit;
    display: table; 
    max-width: 100%; 
    padding: 0; 
    white-space: normal; 
}


ul,
ol {
  list-style-position: outside;
  list-style-type: initial;
  padding-left: 1.5em;
  margin-top: 0;
  margin-bottom: 0;
}

ul {
  list-style-type: disc;
}

ol {
  list-style-type: decimal;
}

li {
  margin-bottom: 0em; 
  line-height: 1.5; 
}

  

  .page-content ul,
  .page-content ol {
      list-style: initial;
      padding-left: 1.5em;
      margin-bottom: 0;
  }
  
  .page-content li {
      margin-bottom: 0;
      line-height: 1.6;
  }
  


  input[type="radio"],
  input[type="checkbox"] {
      appearance: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      width: 20px;
      height: 20px;
      border: 2px solid #666;
      border-radius: 50%; /* make radio buttons round */
      position: relative;
      background: #fff;
      margin-right: 8px;
      vertical-align: middle;
      cursor: pointer;
  }
  
  input[type="checkbox"] {
      border-radius: 4px; /* make checkboxes square */
  }
  
  input[type="radio"]:checked::before,
  input[type="checkbox"]:checked::before {
      content: "";
      display: block;
      width: 10px;
      height: 10px;
      background: #666;
      border-radius: 50%;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
  }
  
  input[type="checkbox"]:checked::before {
      border-radius: 2px;
  }
  
  b,
  strong {
    font-weight: bold;
  }
  
  i,
  em {
    font-style: italic;
  }
  
  u {
    text-decoration: underline;
    text-underline-offset: 2px; /* optional, but makes it prettier */
  }
  
/* Restore paragraph spacing inside Elementor text widgets only */
.elementor-widget-container p,
.elementor-widget-theme-post-content p {
  margin-bottom: 1.2em;
}




/* Optional: Add space after <br> tags inside Elementor text widgets */
.elementor-widget-text-editor br {
  display: block;
  margin-top: 0.5em;
  content: " ";
}

/* Restore proper superscripts/subscripts */
sup { vertical-align: super; font-size: 0.6em; line-height: 0; }
sub { vertical-align: sub;  font-size: 0.6em; line-height: 0; }

/* If you only want this inside headings: */
h1 sup, h2 sup, h3 sup, h4 sup, h5 sup, h6 sup { vertical-align: super; font-size: 0.6em; line-height: 0; }
h1 sub, h2 sub, h3 sub, h4 sub, h5 sub, h6 sub { vertical-align: sub;  font-size: 0.6em; line-height: 0; }
