/*
 Theme Name:  akoca Child Theme
 Theme URL:    https://akoca-seo.co.uk/
 Description:  Child Theme for Divi
 Author:       Akoca SEO
 Author URI:   https://akoca-seo.co.uk/
 Template:     Divi
 Version:      1.0.0
*/

/* 
========================================
INSTRUCTIONS FOR DEVELOPERS
========================================
This section of code contains responsive heading styles, body text styles, and @font-face declarations for custom fonts. 
These styles are commented out by default to prevent them from affecting the site until they are needed. Follow the steps below 
to activate and customise them as per your project requirements.

1. ACTIVATING STYLES:
   - Remove the `/*` at the beginning and the end of any section you want to enable. This will make the styles active on the website.

2. CUSTOMISING PLACEHOLDERS:
   - Replace all instances of `PLACEHOLDER_MIN`, `PLACEHOLDER_CALC`, and `PLACEHOLDER_MAX` with the actual `clamp()` values for each heading or body text.
   - Replace `PLACEHOLDER_FONT` with your actual font family name in the `@font-face` declarations, and update the URLs to point to the correct font files.

3. ADDING/REMOVING STYLES:
   - If additional font weights or styles are required, copy the existing `@font-face` structure and adjust the weight/style accordingly.
   - Delete any unnecessary `@font-face` rules if the project doesn't require them.

5. DEACTIVATING STYLES:
   - To deactivate any section, re-wrap it in `/*`  comment tags.

By following these instructions, you ensure the template remains flexible and doesn't impact the project until customised.
=======================================
*/


/* Responsive Headings 
h1 {font-size: clamp(PLACEHOLDER_MIN, PLACEHOLDER_CALC, PLACEHOLDER_MAX);}
h2 {font-size: clamp(PLACEHOLDER_MIN, PLACEHOLDER_CALC, PLACEHOLDER_MAX);}
h3 {font-size: clamp(PLACEHOLDER_MIN, PLACEHOLDER_CALC, PLACEHOLDER_MAX);}
h4 {font-size: clamp(PLACEHOLDER_MIN, PLACEHOLDER_CALC, PLACEHOLDER_MAX);}
h5 {font-size: clamp(PLACEHOLDER_MIN, PLACEHOLDER_CALC, PLACEHOLDER_MAX);}
h6 {font-size: clamp(PLACEHOLDER_MIN, PLACEHOLDER_CALC, PLACEHOLDER_MAX);}
*/

/* Responsive Body Text
body, p, .et_pb_text_inner, .et_pb_text_inner p, .dsm_icon_list_text, .dsm_business_hours, .dsm-content, .et_pb_blurb_description {
	font-size: clamp(PLACEHOLDER_MIN_BODY, PLACEHOLDER_CALC_BODY, PLACEHOLDER_MAX_BODY);
}
a {
	color: PLACEHOLDER_COLOR;
}

/* Custom Font Regular 
@font-face {
    font-display: swap;
    font-family: 'PLACEHOLDER_FONT';
    src: url('fonts/PLACEHOLDER_FONT-regular.woff2') format('woff2'),
         url('fonts/PLACEHOLDER_FONT-regular.woff') format('woff'); 
    font-weight: normal;
    font-style: normal;
}
*/

/* Custom Font Italic 
@font-face {
    font-display: swap;
    font-family: 'PLACEHOLDER_FONT';
    src: url('fonts/PLACEHOLDER_FONT-italic.woff2') format('woff2'),
         url('fonts/PLACEHOLDER_FONT-italic.woff') format('woff'); 
    font-weight: normal;
    font-style: italic;
}
*/

/* Custom Font Bold 
@font-face {
    font-display: swap;
    font-family: 'PLACEHOLDER_FONT';
    src: url('fonts/PLACEHOLDER_FONT-bold.woff2') format('woff2'),
         url('fonts/PLACEHOLDER_FONT-bold.woff') format('woff'); 
    font-weight: bold;
    font-style: normal;
}

/* Poppins - Regular 
@font-face {
    font-family: 'Poppins';
    font-display: swap;
    src: url('/wp-content/themes/akoca-Child-Theme/fonts/poppins-v21-latin-regular.woff2') format('woff2'),
         url('/wp-content/themes/akoca-Child-Theme/fonts/poppins-v21-latin-regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}

/* Poppins - Bold 
@font-face {
    font-family: 'Poppins';
    font-display: swap;
    src: url('/wp-content/themes/akoca-Child-Theme/fonts/poppins-v21-latin-700.woff2') format('woff2'),
         url('/wp-content/themes/akoca-Child-Theme/fonts/poppins-v21-latin-700.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}

*/
/* Site Credit Styling */
.site-credit {
    font-family: 'Poppins', sans-serif;
    display: flex;
    align-items: center;
    gap: 10px;
    justify-content: center;
}

.site-credit img {
    max-width: 20px;
    height: auto;
}

.site-credit a {
    color: #152a43;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
}

.site-credit a:hover {
    color: #c93939;
	text-decoration: none !important;
}
/*****Add any custom CSS below this line*****/

/* ======================================
   akoca-main-menu — DIVI MENU MODULE DROPDOWN (FINAL)
   Parent-aligned submenu (left edge)
====================================== */

.akoca-main-menu {
  /* Card styling */
  --submenu-bg: #602432;
  --submenu-shadow: 0 12px 28px -14px rgba(0,0,0,.35);

  /* Card padding */
  --submenu-pad-y: 4px;
  --submenu-pad-x: 4px;

  /* Link spacing */
  --link-pad-y: 6px;
  --link-pad-x: 18px;

  /* Typography */
  --link-size: 14px;
  --link-weight: 300;
  --link-color: #FFEFD3;
  --link-hover-color: #602432;

  /* Hover */
  --hover-bg:#FFEFD3;

  /* Safety */
  --submenu-max-width: min(520px, calc(100vw - 32px));
}

/* Make parent <li> the anchor */
.akoca-main-menu ul.nav > li {
  position: relative;
}

/* Dropdown card */
.akoca-main-menu .et-menu-nav ul.sub-menu {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: max-content;
  max-width: var(--submenu-max-width);
  padding: var(--submenu-pad-y) var(--submenu-pad-x);
  border-top: 0;
  border-radius: 30px;
  background: var(--submenu-bg);
  box-shadow: var(--submenu-shadow);
  overflow: hidden;
}

/* Align submenu with parent (Option A) */
.akoca-main-menu ul.nav > li > ul.sub-menu {
  left: 0 !important;
  transform: none !important;
}

/* Remove arrow */
.akoca-main-menu ul.nav > li > ul.sub-menu::before {
  content: none !important;
}

/* Reset list items */
.akoca-main-menu ul.sub-menu li {
  width: 100%;
  margin: 0;
  padding: 0;
}

/* Links — uniform base */
.akoca-main-menu .nav li li a {
  display: block;
  width: 100%;
  padding: var(--link-pad-y) var(--link-pad-x);
  text-align: left;
  font-size: var(--link-size);
  font-weight: var(--link-weight);
  line-height: 1.35;
  color: var(--link-color) !important;
  white-space: normal;
  border-radius: 0;
  transition: background-color 0.2s ease, color 0.2s ease;
}

/* Middle dropdown links (not first or last) */
.akoca-main-menu .nav li li:not(:first-child):not(:last-child) > a {
  border-radius: 100px;
}

/* Hover state */
.akoca-main-menu .nav li li a:hover {
  background: var(--hover-bg);
  color: var(--link-hover-color) !important;
  border-radius:100px;
}

/* Second-level submenu positioning */
.akoca-main-menu .nav li li ul {
  left: 100%;
}
.akoca-main-menu .nav li.et-reverse-direction-nav li ul {
  left: auto;
  right: 100%;
}

/* Vertical spacing when menu has no logo */
.akoca-main-menu.et_pb_menu--without-logo
.et_pb_menu__menu > nav > ul > li > a {
  padding-bottom: 15px;
}

/* Parent dropdown arrow: show "2" on hover */
.akoca-main-menu .menu-item-has-children:hover > a:first-child::after {
  content: "2";
}

/** Akoca Curve Divider Fix **/
.akoca-curve-divider,
.akoca-curve-divider .et_pb_image_wrap,
.akoca-curve-divider img {
  display: block;
  width: 100%;
  line-height: 0;
}

.akoca-curve-divider img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 800 / 110;
  object-fit: fill;
}

/***------------- Akoca Footer Fluent Form Inputs 
-------------------------------------------------***/
.akoca-footer-form .fluentform .ff-el-group {
  margin-bottom: 12px;
}

.akoca-footer-form .fluentform .ff-el-form-control {
  background-color: #EEE; !important;
  border: 1px solid #602432 !important;
  border-radius: 50px !important;
  padding: 14px 25px !important;
  color: #602432 !important;
  font-size: 13px !important;
  letter-spacing: 1px !important;
  width: 100% !important;
  height: auto !important;
  box-shadow: none !important;
  transition: all 0.3s ease !important;
}

/*** Akoca Footer Form Placeholder Style ***/
.akoca-footer-form .fluentform .ff-el-form-control::placeholder {
  color: #602432;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  font-size: 12px;
  opacity: 0.9;
}

.akoca-footer-form .fluentform .ff-el-form-control:focus {
  border-color: #4a1b26 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(96, 36, 50, 0.12) !important;
}

/*** Akoca Footer Form Hide Name Sub-Labels ***/
.akoca-footer-form .fluentform .ff-name-field-wrapper .ff-t-container {
  display: block;
}

.akoca-footer-form .fluentform .ff-name-field-wrapper .ff-t-cell {
  display: block;
  padding: 0;
}

/*** Akoca Footer Form Submit Button Wrapper ***/
.akoca-footer-form .fluentform .ff_submit_btn_wrapper {
  text-align: right !important;
  margin-bottom: 0;
  margin-top: 5px;
}

/*** Akoca Footer Form Submit Button ***/
.akoca-footer-form .fluentform .ff-btn-submit {
  background-color: #602432 !important;
  border: none !important;
  border-radius: 50px !important;
  color: #FFEFD3 !important;
  padding: 12px 45px !important;
  font-size: 15px !important;
  font-family: "Creato Display";
  font-weight: 400 !important;
  letter-spacing: 0.5px !important;
  cursor: pointer;
  transition: all 0.3s ease !important;
  box-shadow: none !important;
  width: auto !important;
  display: inline-block;
}

.akoca-footer-form .fluentform .ff-btn-submit:hover {
  background-color: #4a1b26 !important;
  transform: translateY(-1px);
}

/*** Akoca Footer Form Error Message Style ***/
.akoca-footer-form .fluentform .error,
.akoca-footer-form .fluentform .text-danger {
  color: #602432;
  font-size: 11px;
  margin-top: 4px;
  padding-left: 15px;
}

/*** Akoca Footer Form Autofill Fix ***/
.akoca-footer-form .fluentform .ff-el-form-control:-webkit-autofill,
.akoca-footer-form .fluentform .ff-el-form-control:-webkit-autofill:hover,
.akoca-footer-form .fluentform .ff-el-form-control:-webkit-autofill:focus {
  -webkit-text-fill-color: #602432;
  -webkit-box-shadow: 0 0 0 1000px transparent inset;
  transition: background-color 5000s ease-in-out 0s;
}


/** Akoca Curve Divider Fix **/
.akoca-curve-divider,
.akoca-curve-divider .et_pb_image_wrap,
.akoca-curve-divider img {
  display: block;
  width: 100%;
  line-height: 0;
}

.akoca-curve-divider img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 800 / 110;
  object-fit: fill;
}

/** Akoca Curve Image Gap Fix **/
.akoca-curve-divider {
  margin-top: -1px !important;
  margin-bottom: 0 !important;
}