/* ===== Layout spacing (safe scope) ===== */
#content .container,
#content section{
  margin-bottom:20px;
}


/* ===== Required fields (Contact Form 7 compatible) ===== */
input[aria-required="true"],
textarea[aria-required="true"],
.wpcf7-validates-as-required,
.required{
  background-color: rgba(255,221,221,0.7);
  transition: background-color .25s ease;
}


/* ===== Filled fields (text/textarea/select) ===== */
input[aria-required="true"]:not([type="email"]):not(:placeholder-shown),
textarea[aria-required="true"]:not(:placeholder-shown){
  background-color: rgba(223,240,216,1);
}

select.wpcf7-validates-as-required{
  background-color: rgba(255,221,221,0.7);
  transition: background-color .25s ease;
}

/* vẫn chọn placeholder (value rỗng) -> đỏ */
select.wpcf7-validates-as-required:has(option:checked[value=""]){
  background-color: rgba(255,221,221,0.7);
}

/* đã chọn option có value -> xanh */
select.wpcf7-validates-as-required:not(:has(option:checked[value=""])){
  background-color: rgba(223,240,216,1);
}

/* ===== Email valid only ===== */
input[type="email"][aria-required="true"]:valid:not(:placeholder-shown){
  background-color: rgba(223,240,216,1);
}

/* Email invalid */
input[type="email"][aria-required="true"]:invalid:not(:placeholder-shown){
  background-color: rgba(255,221,221,0.7);
}


/* ===== Messages ===== */
.caution{
  background-color: rgba(252,248,227,1);
}

.alert{
  background-color: rgba(255,221,221,0.7);
  margin-bottom:0;
}

div.required{
  padding:0 15px 5px;
  margin-left:15px;
}


/* ===== Headings ===== */
h2{
  padding-bottom:7px;
  border-bottom:1px solid #ccc;
  margin-bottom:15px;
}


/* ===== Special inputs ===== */
#email_confirm{
  font-size:230%;
  font-family:monospace;
}

#cc_number{
  background-image:none;
  background-position:97% 50%;
  background-repeat:no-repeat;
}

#cc_holder{
  text-transform:uppercase;
}


/* ===== Labels ===== */
span.label{
  margin-right:1em;
}


/* ===== Form layout ===== */
div.form-group div.continue{
  float:left;
}

div.input-group{
  padding:0 15px !important;
}


/* ===== Datepicker ===== */
.ui-widget-content{
  border-color:#ccc;
}

.ui-widget-content td.ui-datepicker-today span{
  background:rgba(255,165,0,0.4) none;
}


/* ===== Responsive ===== */
@media (max-width:768px){
  .continue,
  .datepicker{
    margin-bottom:4px;
  }
}


/* ===== Required mark color ===== */
.required_mark{
  color:#EA580F;
}


/* ===== Contact Form 7 error styling ===== */
.wpcf7-not-valid{
  border-color:#dc2626 !important;
  background-color:#fff5f5 !important;
}

.wpcf7-not-valid-tip{
  color:#dc2626;
  font-size:13px;
  margin-top:4px;
}

.wpcf7-response-output{
  margin-top:20px;
  padding:12px 15px;
  border-radius:4px;
}