/*
Theme Name: Cutteslowe Community Centre
Description: Child Theme for Pixant x Cutteslowe Community Centre
Author: Pixant Ltd
Template: Divi
Version: 1.0.0
*/

/* Global Settings  */

::selection {
  background: #FBB900;
  color: #475052;
}

#page-container {
  min-width: 320px;
}

/* Fonts */
:root {
font-size: clamp(16px, 1.25vw, 20px);
}


/* Links inside paragraphs */
p a {
  text-decoration: none;
  color: inherit;
  padding: 2px;
  margin: -2px;
  transition: color 0.3s ease, background-size 0.3s ease;
  background-image: linear-gradient(#FBB900, #FBB900) !important;
  background-repeat: no-repeat !important;
  background-position: 0 100% !important;
  background-size: 0% 100% !important;
}

p a:hover {
  color: #016D7D !important;
  background-size: 100% 100% !important;
}

/* repeated intentionally because Divi/theme overrides the first block */
p a {
  text-decoration: none;
  color: inherit;
  padding: 2px;
  margin: -2px;
  transition: color 0.3s ease, background-size 0.3s ease;
  background-image: linear-gradient(#FBB900, #FBB900) !important;
  background-repeat: no-repeat !important;
  background-position: 0 100% !important;
  background-size: 0% 100% !important;
}



/* Global Button Hover Effect */
.default-button{
  background-image:linear-gradient(to right,rgba(255,255,255,.12),rgba(255,255,255,.2) 45%,rgba(255,255,255,.1) 55%,transparent);
  background-size:260% 100%;
  background-repeat:no-repeat;
  background-position:120% 0;
  transition:background-position .35s cubic-bezier(.4,0,.2,1),transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1);
}

.default-button:hover{
  background-position:0 0;
  transform:scale(1.05);
  transition:background-position .8s cubic-bezier(.4,0,.2,1),transform .35s cubic-bezier(.4,0,.2,1),box-shadow .35s cubic-bezier(.4,0,.2,1);
}


/* CCA Carousel Style*/
.cca-group-carousel .cca-group-carousel-img {
  border-radius: 20px;
  overflow: hidden;
      box-shadow: 0 0px 10px rgba(0,0,0,0.30);
}
.cca-group-carousel {
  padding: 0 10px;
} 

/* CCA Center Page Sliders */
.et-pb-arrow-prev,
.et-pb-arrow-next {
  background-color: #016D7D;
  color: #76B928 !important;
  border-radius: 100px;
  font-size: 35px;
}

.et-pb-controllers {
  bottom: 0 !important;
}

.et_pb_bg_layout_light .et-pb-controllers a {
  background-color: #76B928;
  opacity: 1;
}

.et-pb-active-control {
  background-color: #016D7D !important;
}

.et_pb_gallery_image a {
  pointer-events: none;
  cursor: default;
}






/* =================================
   CCA Contact Form Styling
   ================================= */

.booking-form {
  max-width: 100%;
  margin: 0 auto;
}

/* Field spacing */
.booking-form .form-field {
  margin-bottom: 20px;
}

/* Row layout (side-by-side fields) */
.booking-form .form-row {
  display: flex;
  gap: 20px;
}

.booking-form .form-col {
  flex: 1;
}

/* Ensure form fonts match theme */
.booking-form input,
.booking-form select,
.booking-form textarea {
  font-family: inherit;
}

/* Inputs, selects and textarea */
.booking-form .form-input,
.booking-form .form-select,
.booking-form .form-textarea {
  width: 100%;
  padding: 15px 15px;
  font-size: 16px;
  line-height: 1.4;
  border: none;
  border-radius: 20px;
  background: #fff;
  box-sizing: border-box;
  transition: all 0.2s ease;
}

/* Improve select appearance */
.booking-form .form-select {
  appearance: none;
}

/* Textarea sizing */
.booking-form .form-textarea {
  min-height: 140px;
  resize: vertical;
}

/* Focus styling */
.booking-form .form-input:focus,
.booking-form .form-select:focus,
.booking-form .form-textarea:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(0,0,0,0.05);
}

/* Submit wrapper spacing */
.booking-form .form-submit {
  margin-top: 30px;
}

/* Ensure CF7 input behaves like Divi button anchor */
.booking-form input.et_pb_button {
  display: inline-block;
  cursor: pointer;
}

/* Validation messages */
.booking-form .wpcf7-not-valid-tip {
  margin-top: 6px;
  font-size: 14px;
}

.booking-form .wpcf7-response-output {
  margin: 20px 0 0;
  padding: 12px 16px;
  border-radius: 8px;
}

.booking-form .form-section {
  margin: 35px 0 15px;
}

.booking-form .form-section h3 {
  margin-bottom: 8px;
}

.booking-form .form-section p {
  margin-bottom: 0;
}

.booking-form .form-checkbox .wpcf7-list-item {
  display: block;
  margin: 0 0 10px 0;
}

.booking-form .form-checkbox label {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}

.booking-form input[type="checkbox"] {
  transform: scale(1.4);
  margin-right: 10px;
  cursor: pointer;
}

/* Mobile layout */
@media (max-width: 767px) {

  .booking-form .form-row {
    display: block;
  }

  .booking-form .form-col {
    margin-bottom: 20px;
  }

}


/* =================================
   Smooth fade + collapse after submit
   ================================= */

.wpcf7 form .booking-form {
  opacity: 1;
  max-height: 2000px;
  overflow: visible;
  transform: translateY(0);
  transition:
    opacity 0.5s ease,
    transform 0.5s ease,
    max-height 0.6s ease,
    margin 0.6s ease,
    padding 0.6s ease;
}

.wpcf7 form.is-submitting-complete .booking-form {
  opacity: 0;
  transform: translateY(-10px);
  max-height: 0;
  overflow: hidden;
  margin: 0;
  padding: 0;
  pointer-events: none;
}

.wpcf7 form.sent .wpcf7-response-output {
    border-color: #46b450;
    background-color: #f2f2f2;
    margin:0; 
}