/*
Theme Name:   Somentra Child
Theme URI:    https://themeforest.net/user/greatives
Description:  Somentra Child Theme
Version:      2.1.0
Author:       Greatives Team
Author URI:   https://greatives.eu
Template:     impeka
*/

:focus-visible {
  outline: 3px solid rgb(76, 76, 127);
  outline-offset: -1px;
}

/* Typography overrides */
p strong, a strong {
  font-family:'WienerMelange_Bd';
}

/* Override Impeka white text */
#grve-theme-wrapper .grve-text-white,
#grve-theme-wrapper .grve-text-hover-white:hover,
#grve-theme-wrapper a.grve-text-hover-white:hover,
#grve-theme-wrapper a .grve-text-hover-white:hover {
    color: #000000;
}

/* Link Animation */
a {
  transition: color 250ms ease-out;
}

/* Underline links inside <p> */
p a {
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 0;
  background-color: #ffc828;
  color: inherit;
  transition: background-color 0.2s ease, color 0.2s ease;
}

/* Hover state */
p a:hover {
  background-color: #000;
  color: #fff;
}

/* External link icon */
p a.external-link::after {
  content: "\2197";
  display: inline-block;
  margin-left: 0.35em;
  font-size: 0.75em;
  transform: translateY(-1px);
}

/* Button base adjustments */
.grve-btn-inner span:first-child {
  flex: 1;
  text-align: left;
}

.grve-btn .grve-btn-icon {
  flex-shrink: 0;
  margin-left: 1em;
  align-self: center;
  transition: transform 0.3s ease;
}

/*.grve-btn:hover .grve-btn-icon {
  transform: rotate(-45deg);
}*/

.grve-border-light-grey {
  border-color: #0000001f;
}

#grve-main-header {
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

/* --- Contact Form 7 Styling --- */

/* Spacing between CF7 fields */
.grve-form .grve-fields-wrapper > div {
  margin-bottom: 2.5rem;
}

/* Reduce top/bottom padding inside inputs */
.grve-form .wpcf7-form-control.wpcf7-text,
.grve-form .wpcf7-form-control.wpcf7-textarea {
  padding: 0 !important;
}

/* Underline colour + background for CF7 fields */
.grve-form.grve-underline .wpcf7-form-control.wpcf7-text,
.grve-form.grve-underline .wpcf7-form-control.wpcf7-textarea,
.grve-form.grve-underline .wpcf7-form-control.wpcf7-select {
  border-bottom-color: #00000021 !important;
  background-color: #E9E7E5;
}

/* Focus underline */
.grve-form.grve-underline .wpcf7-form-control:focus {
  border-bottom-color: #00000040 !important;
  outline: none !important;
  box-shadow: none !important;
}

/* CF7 Submit Button Styling (Impeka matching) */
form.wpcf7-form input.wpcf7-submit[type="submit"],
.grve-form form.wpcf7-form input.wpcf7-submit[type="submit"] {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;

  font-size: 17px !important;
  line-height: 1.4 !important;
  font-family: 'WienerMelange_Rg', sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  text-transform: none !important;

  color: #2d2d2b !important;
  background-color: transparent !important;
  border: 1px solid #00000021 !important;
  border-radius: 9999px !important;
  padding: 1em 1.5em !important;

  cursor: pointer;
  transition: all 0.3s ease;
}

/* Hover */
form.wpcf7-form input.wpcf7-submit:hover,
form.wpcf7-form input.wpcf7-submit:focus {
  background-color: #ffc828 !important;
  border-color: #ffc828 !important;
  color: #2d2d2b !important;
  outline: none !important;
}

/* CF7 Submit arrow icon */
form.wpcf7-form input.wpcf7-submit::after {
  content: "\f061";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 0.9em;
  margin-left: 0.6em;
  transition: transform 0.3s ease;
}

form.wpcf7-form input.wpcf7-submit:hover::after,
form.wpcf7-form input.wpcf7-submit:focus::after {
  transform: translateX(4px);
}

/* Hide CF7 spinner */
.grve-form .wpcf7-spinner {
  display: none !important;
}

.grve-form .form-hint {
  font-size: 15px;
  line-height: 1.5;
}

/* CF7 response output formatting */
#grve-theme-wrapper .wpcf7 form .wpcf7-response-output {
  margin: 20px 0 0 0;
  font-size: 13px;
  padding: 4px 8px;
  border-radius: 2px;
  border: none;
  color: inherit;
  background: #ffc828;
}

/* Placeholder styling */
.grve-form ::placeholder,
.grve-form :-webkit-input-placeholder,
.grve-form :-moz-placeholder,
.grve-form :-ms-input-placeholder {
  font-size: 16px;
}

/* Checkbox / radio spacing */
.wpcf7-form input[type=checkbox]:checked + .wpcf7-list-item-label,
.wpcf7-form input[type=checkbox]:not(:checked) + .wpcf7-list-item-label,
.wpcf7-form input[type=radio]:checked + .wpcf7-list-item-label,
.wpcf7-form input[type=radio]:not(:checked) + .wpcf7-list-item-label {
  padding-right: 20px;
}

  /* Allow wrapping */
  .grve-btn .grve-btn-inner span:first-child {
    white-space: normal !important;
    display: block;
  }

  /* Keep icon centred */
  .grve-btn .grve-btn-inner {
    display: flex;
    align-items: center;
  }

  /* Prevent icon shrinking */
  .grve-btn .grve-btn-inner .grve-btn-icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
  }

/* --- MOBILE BUTTON IMPROVEMENTS (FINAL, CLEAN, WORKING) --- */
@media (max-width: 1024px) {

  /* Mobile font size */
  .grve-btn,
  .grve-btn .grve-btn-inner span:first-child {
    font-size: 90% !important;
    line-height: 1.35 !important;
  }
}
