/*
Theme Name: OGIS Smartbooks
Theme URI: https://your-domain.com
Description: Custom child theme for Smartbooks based on Divi.
Author: OGIS
Template: Divi
Version: 1.0.0
Text Domain: ogis-smartbooks
*/

/*
 * Shared visual tokens taken from the homepage. Keep custom templates and
 * non-Divi page states aligned with the main Divi design system.
 */
:root {
	--ogis-color-forest: #0e2219;
	--ogis-color-heading: #1a3d28;
	--ogis-color-primary: #3a8c5c;
	--ogis-color-primary-hover: #2d7048;
	--ogis-color-accent: #7ec99a;
	--ogis-color-body: #4a6555;
	--ogis-color-surface: #f5f0e6;
	--ogis-color-surface-soft: #f8f8f6;
	--ogis-font-body: "Plus Jakarta Sans", Helvetica, Arial, Lucida, sans-serif;
	--ogis-font-heading: "Roboto Slab", Georgia, "Times New Roman", serif;
}

/* Empty and not-yet-built pages use the same type, color, and surface as home. */
.ogis-coming-soon {
	color: var(--ogis-color-body);
	font-family: var(--ogis-font-body);
	font-size: 15px;
	line-height: 1.7;
	min-height: 55vh;
	padding: clamp(80px, 12vw, 150px) 24px;
	text-align: center;
}

.ogis-coming-soon .sub-h1 {
	color: var(--ogis-color-heading);
	display: block;
	font-family: var(--ogis-font-heading);
	font-size: clamp(30px, 4vw, 35px);
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: 14px;
}

.ogis-coming-soon p {
	margin: 0 auto;
	max-width: 600px;
}

/* Pages are full width by default; posts and archive sidebars are unaffected. */
body.page #sidebar,
body.page #main-content .container::before {
	display: none;
}

body.page #left-area {
	float: none;
	padding-left: 0;
	padding-right: 0;
	width: 100%;
}

.two-column-form {
  display:flex;
  flex-flow:row wrap;
  justify-content:space-between;
  align-items: baseline;
}
.two-column-form br {
  display:none;
}
.two-column-form :is(.one_half, .second_half) {
  width:48%;
}
.two-column-form .full_width {
  width:100%;
}
.two-column-form .full_width label {
  display:flex;
  flex-flow:column wrap;
  gap: 10px;
}
.two-column-form label {
  margin-bottom:15px;
  color:#364153;
  font-size:15px;
  display:block;
}
.two-column-form label span{
  margin-top:10px;
  display:block;
}
.two-column-form :is(input[type="text"], select) {
  height:40px;
  width:100%;
}
.two-column-form .required {
  color:#e71f22;
}
.two-column-form :is(input, select, textarea) {
  border-radius:8px;
  resize:none;
  margin:0!important;
  padding:10px!important;
  width:100%;
}
.two-column-form .wpcf7-form-control-wrap .wpcf7-checkbox {
    display: flex;
    flex-direction: column;
}
.two-column-form .wpcf7-form-control-wrap :is(.wpcf7-checkbox span.wpcf7-list-item label, .wpcf7-radio span.wpcf7-list-item label) {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap:10px;
  margin:0;
}
.two-column-form .wpcf7-form-control-wrap .wpcf7-acceptance span.wpcf7-list-item label {
  display: flex;
  flex-flow: row wrap;
  align-items: baseline;
  gap:10px;;
}
.two-column-form .wpcf7-form-control-wrap .wpcf7-acceptance span.wpcf7-list-item label input {
  width: 15px;
  height:auto;
}
.two-column-form .wpcf7-form-control-wrap .wpcf7-acceptance span.wpcf7-list-item label span {
  width: calc(100% - 46px);
  font-size: 14px;
  line-height: 22px;
}
@media only screen and (max-width: 768px){
		.two-column-form .uacf7-form-wrapper-container .one_half {
			width:100%;
		}
    .two-column-form {
      flex-direction:column;
    }
    .two-column-form :is(.one_half, .second_half) {
      width:100%;
    }
    .two-cols :is(.col1, .col2) {
        width: 48%;
    }
}
/* Keep Contact Form 7 columns and field rows aligned across templates. */
.two-column-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 24px;
  align-items: start;
}
.two-column-form :is(.one_half, .second_half, .full_width) { width: 100%; min-width: 0; }
.two-column-form .full_width { grid-column: 1 / -1; }
.two-column-form :is(.one_half, .second_half, .full_width) > p { margin: 0; padding: 0; }
.two-column-form label { display: block; line-height: 1.5; margin: 0 0 20px; }
.two-column-form label .wpcf7-form-control-wrap { display: block; margin-top: 8px; }
.two-column-form label .wpcf7-form-control-wrap span { margin-top: 0; }
.two-column-form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="url"], input[type="date"], select) {
  box-sizing: border-box;
  height: 48px;
  min-height: 48px;
  font-size: 16px;
  line-height: 1.5;
}
.two-column-form .full_width label { display: block; }
.two-column-form textarea { box-sizing: border-box; height: 160px; min-height: 160px; font-size: 16px; }
@media (max-width: 768px) {
  .two-column-form { grid-template-columns: minmax(0, 1fr); }
}
