/*
Theme Name: Duskin Maid Agency
Theme URI: https://carpetserv.ancorathemes.com/
Description: CarpetServ - excellent WordPress theme with many different blog and header layouts
Author: AncoraThemes
Author URI: https://ancorathemes.com/
Version: 2.5.5
Tested up to: 5.7
Requires at least: 5.4
Requires PHP: 7.4
EV: 1.0.21
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: flexible-header, custom-background, custom-colors, custom-header, custom-menu, featured-image-header, featured-images, full-width-template, microformats, post-formats, theme-options, threaded-comments, translation-ready
Text Domain: carpetserv
Template: carpetserv
*/


/* =Child-Theme customization starts here
------------------------------------------------------------ */
/* Mobile: center 'Quick Links' footer widget title */
@media (max-width: 767px) {
  .footer_wrap .widget_nav_menu .widgettitle {
    text-align: center;
  }
  .footer_wrap .widget_nav_menu .widgettitle::before,
  .footer_wrap .widget_nav_menu .widgettitle::after {
    left: 50%;
    margin-left: auto;
    margin-right: auto;
    transform: translateX(-50%);
  }
}

/* Mobile: force center widget title + decorations (v2 with !important) */
@media (max-width: 767px) {
  .footer_wrap .widget.widget_nav_menu .widgettitle,
  .footer_wrap .vc_wp_custommenu .widgettitle,
  .footer_wrap .vc_wp_custommenu .widget_title {
    text-align: center !important;
  }
  .footer_wrap .widget.widget_nav_menu .widgettitle::before,
  .footer_wrap .widget.widget_nav_menu .widgettitle::after,
  .footer_wrap .vc_wp_custommenu .widgettitle::before,
  .footer_wrap .vc_wp_custommenu .widgettitle::after {
    left: 50% !important;
    right: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: translateX(-50%) !important;
  }
}

/* Mobile: center Duskin Quick Links title (v3 — correct selectors) */
@media (max-width: 767px) {
  .footer_wrap .duskin-quicklinks-col,
  .footer_wrap .duskin-quicklinks-col .vc_column-inner,
  .footer_wrap .duskin-quicklinks-col .wpb_wrapper,
  .footer_wrap .duskin-quicklinks-col .wpb_text_column,
  .footer_wrap .duskin-quicklinks-col .duskin-ql-title,
  .footer_wrap .duskin-quicklinks-col .widget_title,
  .footer_wrap .duskin-quicklinks-col h5 {
    text-align: center !important;
  }
  .footer_wrap .duskin-quicklinks-col .duskin-ql-title::before,
  .footer_wrap .duskin-quicklinks-col .duskin-ql-title::after,
  .footer_wrap .duskin-quicklinks-col .widget_title::before,
  .footer_wrap .duskin-quicklinks-col .widget_title::after,
  .footer_wrap .duskin-quicklinks-col .vc_column-inner::before,
  .footer_wrap .duskin-quicklinks-col .vc_column-inner::after {
    left: 50% !important;
    right: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: translateX(-50%) !important;
  }
}

/* Our Services footer title — add purple underline (match Quick Links/Contact Info) */
.footer_custom_7 .duskin-services-row .widget_nav_menu .widgettitle,
.footer_custom_7 .duskin-services-row .widgettitle {
  margin: 0 0 18px 0 !important;
  padding: 0 0 14px 0 !important;
  position: relative;
}
.footer_custom_7 .duskin-services-row .widget_nav_menu .widgettitle::after,
.footer_custom_7 .duskin-services-row .widgettitle::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 36px;
  height: 2px;
  background: #A344A0;
}

/* Mobile: center Our Services title + underline */
@media (max-width: 767px) {
  .footer_custom_7 .duskin-services-row .widget_nav_menu .widgettitle,
  .footer_custom_7 .duskin-services-row .widgettitle {
    text-align: center !important;
  }
  .footer_custom_7 .duskin-services-row .widget_nav_menu .widgettitle::after,
  .footer_custom_7 .duskin-services-row .widgettitle::after {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
  }
}

/* Our Services title — center on all viewports (match centered buttons row) */
.footer_custom_7 .duskin-services-row .widget_nav_menu .widgettitle,
.footer_custom_7 .duskin-services-row .widgettitle {
  text-align: center !important;
}
.footer_custom_7 .duskin-services-row .widget_nav_menu .widgettitle::after,
.footer_custom_7 .duskin-services-row .widgettitle::after {
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
}

/* Desktop: Our Services menu — 2 buttons on top, 4 on bottom */
@media (min-width: 768px) {
  .footer_custom_7 .duskin-services-row .widget_nav_menu ul.menu {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    justify-items: center !important;
    align-items: center !important;
    column-gap: 12px !important;
    row-gap: 12px !important;
  }
  .footer_custom_7 .duskin-services-row .widget_nav_menu ul.menu > li:nth-child(1) { grid-row: 1; grid-column: 2; }
  .footer_custom_7 .duskin-services-row .widget_nav_menu ul.menu > li:nth-child(2) { grid-row: 1; grid-column: 3; }
  .footer_custom_7 .duskin-services-row .widget_nav_menu ul.menu > li:nth-child(3) { grid-row: 2; grid-column: 1; }
  .footer_custom_7 .duskin-services-row .widget_nav_menu ul.menu > li:nth-child(4) { grid-row: 2; grid-column: 2; }
  .footer_custom_7 .duskin-services-row .widget_nav_menu ul.menu > li:nth-child(5) { grid-row: 2; grid-column: 3; }
  .footer_custom_7 .duskin-services-row .widget_nav_menu ul.menu > li:nth-child(6) { grid-row: 2; grid-column: 4; }
}

/* Desktop: Our Services — tighten row 2 spacing (override 1fr with auto cols) */
@media (min-width: 768px) {
  .footer_custom_7 .duskin-services-row .widget_nav_menu ul.menu {
    grid-template-columns: repeat(4, auto) !important;
    justify-content: center !important;
  }
}

/* Desktop: Our Services — flex layout with forced line break after item 2 */
@media (min-width: 768px) {
  .footer_custom_7 .duskin-services-row .widget_nav_menu ul.menu {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 12px !important;
    grid-template-columns: none !important;
  }
  .footer_custom_7 .duskin-services-row .widget_nav_menu ul.menu::after {
    content: '' !important;
    flex-basis: 100% !important;
    width: 100% !important;
    height: 0 !important;
    order: 2 !important;
    margin: 0 !important;
  }
  .footer_custom_7 .duskin-services-row .widget_nav_menu ul.menu > li:nth-child(-n+2) {
    order: 1 !important;
  }
  .footer_custom_7 .duskin-services-row .widget_nav_menu ul.menu > li:nth-child(n+3) {
    order: 3 !important;
  }
}

/* ============================================
   ENQUIRY FORM SECTION (Find Your Ideal Maid)
   ============================================ */

.duskin-section-enquiry .duskin-enquiry-title h2 {
  font-size: 2.2em !important;
  font-weight: 700 !important;
  color: #2D1B69 !important;
  margin-bottom: 8px !important;
  text-align: center !important;
}
.duskin-section-enquiry .duskin-enquiry-subtitle p {
  text-align: center !important;
  color: #6A6184 !important;
  margin: 0 auto !important;
  max-width: 720px;
  font-size: 16px !important;
  line-height: 1.5;
}

.duskin-enquiry-form .duskin-enquiry-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 20px;
}
.duskin-enquiry-form .duskin-enquiry-grid > p { margin: 0; }
.duskin-enquiry-form .duskin-enquiry-full { grid-column: 1 / -1; }

.duskin-enquiry-form label {
  display: block;
  font-weight: 600;
  color: #2D1B69;
  font-size: 14px;
  margin-bottom: 6px;
  line-height: 1.4;
}
.duskin-enquiry-form .req { color: #A344A0; margin-left: 2px; }

.duskin-enquiry-form input[type="text"],
.duskin-enquiry-form input[type="tel"],
.duskin-enquiry-form input[type="email"],
.duskin-enquiry-form select,
.duskin-enquiry-form textarea {
  width: 100% !important;
  padding: 11px 14px !important;
  border: 1px solid #D8D2F8 !important;
  border-radius: 8px !important;
  background: #fff !important;
  font-size: 14px !important;
  color: #333 !important;
  line-height: 1.4 !important;
  box-sizing: border-box !important;
  transition: border-color .2s, box-shadow .2s !important;
}
.duskin-enquiry-form textarea { min-height: 110px; resize: vertical; }
.duskin-enquiry-form input:focus,
.duskin-enquiry-form select:focus,
.duskin-enquiry-form textarea:focus {
  outline: none !important;
  border-color: #A344A0 !important;
  box-shadow: 0 0 0 3px rgba(163, 68, 160, 0.15) !important;
}

.duskin-enquiry-form .wpcf7-checkbox {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px 16px;
  margin-top: 4px;
}
.duskin-enquiry-form .wpcf7-checkbox .wpcf7-list-item { margin: 0 !important; display: block !important; }
.duskin-enquiry-form .wpcf7-checkbox .wpcf7-list-item label {
  display: flex !important;
  align-items: center;
  gap: 8px;
  font-weight: 500 !important;
  font-size: 14px !important;
  color: #333 !important;
  cursor: pointer;
  margin: 0 !important;
}
.duskin-enquiry-form .wpcf7-checkbox input[type="checkbox"] {
  width: 18px; height: 18px;
  accent-color: #A344A0;
  margin: 0;
  flex-shrink: 0;
}

.duskin-enquiry-form .duskin-enquiry-submit { text-align: center; margin-top: 12px; }
.duskin-enquiry-form .wpcf7-submit {
  display: inline-block !important;
  width: auto !important;
  padding: 14px 40px !important;
  background: #4435AA !important;
  border: none !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  cursor: pointer;
  transition: all .25s ease !important;
  box-shadow: 0 4px 12px rgba(68, 53, 170, 0.25);
}
.duskin-enquiry-form .wpcf7-submit:hover {
  background: #2D1B69 !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(45, 27, 105, 0.35);
}
.duskin-enquiry-form .wpcf7-spinner { margin-left: 12px; vertical-align: middle; }

.duskin-enquiry-form .wpcf7-not-valid-tip {
  color: #d9534f;
  font-size: 12px;
  margin-top: 4px;
}
.duskin-enquiry-form .wpcf7-response-output {
  margin: 16px 0 0 !important;
  padding: 12px 16px !important;
  border-radius: 8px !important;
  font-size: 14px;
}

@media (max-width: 767px) {
  .duskin-section-enquiry .duskin-enquiry-title h2 { font-size: 1.6em !important; }
  .duskin-enquiry-form .duskin-enquiry-grid { grid-template-columns: 1fr; gap: 14px; }
  .duskin-enquiry-form .wpcf7-checkbox { grid-template-columns: 1fr 1fr; }
}

/* ============================================
   ENQUIRY FORM — V2 polish (card, refined heading, custom selects)
   ============================================ */

/* Section spacing + bg */
.duskin-section-enquiry {
  padding: 70px 0 80px !important;
}

/* Heading — override theme's giant h2 */
.duskin-section-enquiry .duskin-enquiry-title,
.duskin-section-enquiry .duskin-enquiry-title h2 {
  font-size: 32px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  color: #2D1B69 !important;
  margin: 0 0 10px !important;
  letter-spacing: -0.01em !important;
  text-align: center !important;
}
.duskin-section-enquiry .duskin-enquiry-subtitle,
.duskin-section-enquiry .duskin-enquiry-subtitle p {
  font-size: 15px !important;
  line-height: 1.55 !important;
  color: #6A6184 !important;
  text-align: center !important;
  margin: 0 auto 28px !important;
  max-width: 640px;
}

/* Card wrapper around the form */
.duskin-section-enquiry .duskin-enquiry-row > .vc_column_container > .vc_column-inner,
.duskin-section-enquiry .duskin-enquiry-row .wpb_wrapper:has(> .wpcf7) {
  background: #ffffff;
  border: 1px solid rgba(67, 53, 170, 0.08);
  border-radius: 18px;
  box-shadow: 0 18px 50px -20px rgba(45, 27, 105, 0.18), 0 2px 8px -2px rgba(45, 27, 105, 0.06);
  padding: 36px 40px !important;
  max-width: 880px;
  margin: 0 auto !important;
}

/* Form grid */
.duskin-enquiry-form .duskin-enquiry-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 22px;
}
.duskin-enquiry-form .duskin-enquiry-grid > p { margin: 0; }
.duskin-enquiry-form .duskin-enquiry-full { grid-column: 1 / -1; }

/* Labels */
.duskin-enquiry-form label {
  display: block;
  font-weight: 600;
  color: #2D1B69;
  font-size: 13px;
  letter-spacing: .02em;
  margin-bottom: 8px;
  line-height: 1.3;
}
.duskin-enquiry-form .req { color: #A344A0; margin-left: 2px; }

/* Inputs */
.duskin-enquiry-form input[type="text"],
.duskin-enquiry-form input[type="tel"],
.duskin-enquiry-form input[type="email"],
.duskin-enquiry-form select,
.duskin-enquiry-form textarea {
  width: 100% !important;
  padding: 12px 14px !important;
  border: 1px solid #E2DCF5 !important;
  border-radius: 10px !important;
  background: #FBFAFF !important;
  font-size: 14px !important;
  color: #2D1B69 !important;
  line-height: 1.4 !important;
  font-family: inherit !important;
  box-sizing: border-box !important;
  transition: border-color .2s, box-shadow .2s, background .2s !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
}
.duskin-enquiry-form input::placeholder,
.duskin-enquiry-form textarea::placeholder {
  color: #9C95B8 !important;
  opacity: 1;
}
.duskin-enquiry-form input:hover,
.duskin-enquiry-form select:hover,
.duskin-enquiry-form textarea:hover {
  border-color: #C9BEEF !important;
  background: #ffffff !important;
}
.duskin-enquiry-form input:focus,
.duskin-enquiry-form select:focus,
.duskin-enquiry-form textarea:focus {
  outline: none !important;
  border-color: #A344A0 !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(163, 68, 160, 0.12) !important;
}
.duskin-enquiry-form textarea { min-height: 120px; resize: vertical; }

/* Custom select arrow */
.duskin-enquiry-form select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%234435AA' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 12px 8px !important;
  padding-right: 38px !important;
  cursor: pointer;
}

/* Checkbox group — pill cards */
.duskin-enquiry-form .wpcf7-checkbox {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 6px;
}
.duskin-enquiry-form .wpcf7-checkbox .wpcf7-list-item {
  margin: 0 !important;
  display: block !important;
}
.duskin-enquiry-form .wpcf7-checkbox .wpcf7-list-item label {
  display: flex !important;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border: 1px solid #E2DCF5;
  border-radius: 10px;
  background: #FBFAFF;
  font-weight: 500 !important;
  font-size: 13.5px !important;
  color: #4A3E72 !important;
  cursor: pointer;
  margin: 0 !important;
  transition: all .2s ease;
}
.duskin-enquiry-form .wpcf7-checkbox .wpcf7-list-item label:hover {
  border-color: #C9BEEF;
  background: #ffffff;
  transform: translateY(-1px);
}
.duskin-enquiry-form .wpcf7-checkbox .wpcf7-list-item input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: #A344A0;
  margin: 0;
  flex-shrink: 0;
  cursor: pointer;
}
.duskin-enquiry-form .wpcf7-checkbox .wpcf7-list-item:has(input:checked) label {
  background: #F3EBFB;
  border-color: #A344A0;
  color: #2D1B69 !important;
  box-shadow: 0 0 0 2px rgba(163, 68, 160, 0.08);
}

/* Submit */
.duskin-enquiry-form .duskin-enquiry-submit {
  text-align: center;
  margin-top: 16px;
}
.duskin-enquiry-form .wpcf7-submit {
  display: inline-block !important;
  width: auto !important;
  padding: 15px 44px !important;
  background: linear-gradient(135deg, #4435AA 0%, #6B4FD8 100%) !important;
  border: none !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  cursor: pointer;
  transition: all .25s ease !important;
  box-shadow: 0 8px 20px -4px rgba(68, 53, 170, 0.45);
}
.duskin-enquiry-form .wpcf7-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px -4px rgba(68, 53, 170, 0.55);
  filter: brightness(1.08);
}
.duskin-enquiry-form .wpcf7-submit:active {
  transform: translateY(0);
}
.duskin-enquiry-form .wpcf7-spinner { margin-left: 12px; vertical-align: middle; }

/* Validation / response */
.duskin-enquiry-form .wpcf7-not-valid-tip {
  color: #d9534f;
  font-size: 12px;
  margin-top: 6px;
  display: block;
}
.duskin-enquiry-form .wpcf7-response-output {
  margin: 18px 0 0 !important;
  padding: 12px 16px !important;
  border-radius: 10px !important;
  border: 1px solid currentColor !important;
  font-size: 14px !important;
  text-align: center;
}

/* Mobile */
@media (max-width: 767px) {
  .duskin-section-enquiry { padding: 50px 16px 60px !important; }
  .duskin-section-enquiry .duskin-enquiry-title h2 { font-size: 24px !important; }
  .duskin-section-enquiry .duskin-enquiry-subtitle p { font-size: 14px !important; }
  .duskin-section-enquiry .duskin-enquiry-row > .vc_column_container > .vc_column-inner,
  .duskin-section-enquiry .duskin-enquiry-row .wpb_wrapper:has(> .wpcf7) {
    padding: 24px 20px !important;
    border-radius: 14px;
  }
  .duskin-enquiry-form .duskin-enquiry-grid { grid-template-columns: 1fr; gap: 14px; }
  .duskin-enquiry-form .wpcf7-checkbox { grid-template-columns: 1fr 1fr; }
}

/* Enquiry form — kill the inner box (keep only outer card) */
.duskin-section-enquiry .duskin-enquiry-row .wpb_wrapper:has(> .wpcf7) {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

/* Enquiry form — nuke native select chevron button (Chrome/Windows) */
.duskin-enquiry-form .wpcf7 select,
.duskin-enquiry-form select.wpcf7-select,
form.wpcf7-form .duskin-enquiry-grid select,
.duskin-enquiry-form select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background: #FBFAFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%234435AA' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center !important;
  background-size: 12px 8px !important;
  background-color: #FBFAFF !important;
}
.duskin-enquiry-form select:hover,
.duskin-enquiry-form select:focus {
  background-color: #ffffff !important;
}
.duskin-enquiry-form select::-ms-expand {
  display: none !important;
}

/* Enquiry form — kill parent theme's .select_container pseudo decorations */
.duskin-enquiry-form .select_container { background: transparent !important; }
.duskin-enquiry-form .select_container::before,
.duskin-enquiry-form .select_container::after {
  display: none !important;
  content: none !important;
  background: transparent !important;
  border: 0 !important;
}

/* Restore theme select chevron, recolor to form purple (override prior display:none) */
.duskin-enquiry-form .select_container::before {
  display: block !important;
  content: ' ' !important;
  background: #4435AA !important;
  background-color: #4435AA !important;
  border: 0 !important;
}
.duskin-enquiry-form .select_container::after {
  display: block !important;
  content: '\e828' !important;
  font-family: 'fontello' !important;
  color: #ffffff !important;
  background: transparent !important;
}

/* Remove my custom SVG arrow on select (theme provides its own now) */
.duskin-section-enquiry .duskin-enquiry-form .wpcf7 select,
.duskin-section-enquiry .duskin-enquiry-form select.wpcf7-select,
.duskin-section-enquiry .duskin-enquiry-form select {
  background-image: none !important;
  background-color: #FBFAFF !important;
}
.duskin-section-enquiry .duskin-enquiry-form select:hover,
.duskin-section-enquiry .duskin-enquiry-form select:focus {
  background-color: #ffffff !important;
}

/* Enquiry select chevron — light lavender bg, fill full select height with matching radius */
.duskin-enquiry-form .select_container::before {
  display: block !important;
  content: ' ' !important;
  background: #E2DCF5 !important;
  background-color: #E2DCF5 !important;
  top: 0 !important;
  bottom: 0 !important;
  right: 0 !important;
  width: 42px !important;
  border-radius: 0 10px 10px 0 !important;
  border: 0 !important;
}
.duskin-enquiry-form .select_container::after {
  display: block !important;
  content: '\e828' !important;
  font-family: 'fontello' !important;
  color: #4435AA !important;
  background: transparent !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  right: 14px !important;
  margin: 0 !important;
}

/* Fix gap between 'Type of Assistance' label and checkbox group */
.duskin-enquiry-form .duskin-enquiry-full > br {
  display: none !important;
}
.duskin-enquiry-form .duskin-enquiry-full .wpcf7-form-control-wrap {
  display: block;
  margin: 0 !important;
}
.duskin-enquiry-form .wpcf7-checkbox {
  margin-top: 0 !important;
}

/* Checkbox cards — match input height/padding */
.duskin-enquiry-form .wpcf7-checkbox .wpcf7-list-item label {
  padding: 12px 14px !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  min-height: 46px;
  box-sizing: border-box;
}

/* Custom brand-color checkbox (replace native appearance) */
.duskin-enquiry-form .wpcf7-checkbox input[type="checkbox"] {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  width: 18px !important;
  height: 18px !important;
  border: 2px solid #C9BEEF !important;
  border-radius: 4px !important;
  background: #ffffff !important;
  cursor: pointer;
  position: relative !important;
  transition: all .15s ease !important;
  flex-shrink: 0;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-block;
  vertical-align: middle;
}
.duskin-enquiry-form .wpcf7-checkbox input[type="checkbox"]:hover {
  border-color: #A344A0 !important;
}
.duskin-enquiry-form .wpcf7-checkbox input[type="checkbox"]:checked {
  background: #4435AA !important;
  border-color: #4435AA !important;
}
.duskin-enquiry-form .wpcf7-checkbox input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  left: 4px;
  top: 0px;
  width: 5px;
  height: 9px;
  border: solid #ffffff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.duskin-enquiry-form .wpcf7-checkbox input[type="checkbox"]:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(163, 68, 160, 0.18);
}

/* Hide parent theme's fontello checkbox pseudo (we use custom purple input) */
.duskin-enquiry-form .wpcf7-checkbox input[type="checkbox"] + .wpcf7-list-item-label::before,
.duskin-enquiry-form .wpcf7-checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label::before {
  display: none !important;
  content: none !important;
  background: transparent !important;
  border: 0 !important;
  width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Submit button — match site's sc_button_default (flat solid purple pill) */
.duskin-enquiry-form .wpcf7-submit,
.duskin-enquiry-form input.wpcf7-submit[type="submit"] {
  background: #4435AA !important;
  background-image: none !important;
  padding: 17px 44px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  border: 0 !important;
  box-shadow: 0 6px 18px -4px rgba(68, 53, 170, 0.35) !important;
  transition: background .25s ease, transform .2s ease, box-shadow .25s ease !important;
}
.duskin-enquiry-form .wpcf7-submit:hover,
.duskin-enquiry-form input.wpcf7-submit[type="submit"]:hover {
  background: #2D1B69 !important;
  background-image: none !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px -4px rgba(45, 27, 105, 0.45) !important;
  filter: none !important;
}
.duskin-enquiry-form .wpcf7-submit:active {
  transform: translateY(0) !important;
}

/* Submit button — bigger to match View More Services visually */
.duskin-enquiry-form .wpcf7-submit,
.duskin-enquiry-form input.wpcf7-submit[type="submit"],
.duskin-enquiry-form input[type="submit"].wpcf7-submit {
  padding: 20px 52px !important;
  font-size: 14px !important;
  letter-spacing: .12em !important;
  min-width: 240px;
  line-height: 1 !important;
}

/* Submit button hover — match theme's magenta/pink hover (#A344A0) */
.duskin-enquiry-form .wpcf7-submit:hover,
.duskin-enquiry-form input.wpcf7-submit[type="submit"]:hover,
.duskin-enquiry-form input[type="submit"].wpcf7-submit:hover {
  background: #A344A0 !important;
  background-image: none !important;
  box-shadow: 0 10px 24px -4px rgba(163, 68, 160, 0.45) !important;
}

/* ============ Mobile layout — force single column ============ */
@media (max-width: 767px) {
  /* Section padding */
  .duskin-section-enquiry { padding: 40px 12px 50px !important; }

  /* Card wrapper — shrink padding, full width within section */
  .duskin-section-enquiry .duskin-enquiry-row > .vc_column_container > .vc_column-inner,
  .duskin-section-enquiry .duskin-enquiry-row .wpb_wrapper:has(> .wpcf7) {
    padding: 22px 16px !important;
    border-radius: 14px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Force form fields to single column */
  .duskin-enquiry-form .duskin-enquiry-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  /* Checkbox 2 cols, more compact padding so text doesn't wrap */
  .duskin-enquiry-form .wpcf7-checkbox {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }
  .duskin-enquiry-form .wpcf7-checkbox .wpcf7-list-item label {
    padding: 10px 12px !important;
    font-size: 13px !important;
    min-height: 42px;
    gap: 8px;
  }

  /* Submit button — narrower on mobile */
  .duskin-enquiry-form .wpcf7-submit {
    padding: 16px 28px !important;
    font-size: 13px !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 320px;
  }

  /* Section title sizing */
  .duskin-section-enquiry .sc_item_title,
  .duskin-section-enquiry h2 { font-size: 26px !important; }
  .duskin-section-enquiry .sc_item_subtitle,
  .duskin-section-enquiry .sc_item_descr { font-size: 14px !important; }
}

/* Extra small screens — single column for checkboxes too */
@media (max-width: 460px) {
  .duskin-enquiry-form .wpcf7-checkbox {
    grid-template-columns: 1fr !important;
  }
}

/* Unify label→input gap across all fields (match Type of Assistance ~8px) */
.duskin-enquiry-form p > label > br {
  display: none !important;
}
.duskin-enquiry-form p > label > .wpcf7-form-control-wrap {
  display: block !important;
  margin-top: 8px !important;
}

/* Additional Requirements (textarea inside label inside .duskin-enquiry-full): match 8px gap */
.duskin-enquiry-form .duskin-enquiry-full > label > .wpcf7-form-control-wrap {
  display: block !important;
  margin-top: 8px !important;
}

/* Submit button — move up + add bottom breathing room in card */
.duskin-enquiry-form .duskin-enquiry-submit {
  margin-top: 6px !important;
  margin-bottom: 0 !important;
}
.duskin-section-enquiry .duskin-enquiry-row > .vc_column_container > .vc_column-inner {
  padding-bottom: 48px !important;
}
@media (max-width: 767px) {
  .duskin-section-enquiry .duskin-enquiry-row > .vc_column_container > .vc_column-inner {
    padding-bottom: 32px !important;
  }
}

/* Override trx_addons input[type=submit] margin-top: 1.3em */
.duskin-enquiry-form input[type="submit"],
.duskin-enquiry-form input.wpcf7-submit[type="submit"],
.wpcf7-form .duskin-enquiry-form input[type="submit"] {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* ============ Mobile form polish (v2) ============ */
@media (max-width: 767px) {
  /* Section + card tighter */
  .duskin-section-enquiry { padding: 32px 12px 40px !important; }
  .duskin-section-enquiry .duskin-enquiry-row > .vc_column_container > .vc_column-inner,
  .duskin-section-enquiry .duskin-enquiry-row .wpb_wrapper:has(> .wpcf7) {
    padding: 22px 14px 28px !important;
  }

  /* Compact form grid */
  .duskin-enquiry-form .duskin-enquiry-grid {
    gap: 12px !important;
  }

  /* Inputs: smaller padding, smaller radius, touch-friendly */
  .duskin-enquiry-form input[type="text"],
  .duskin-enquiry-form input[type="tel"],
  .duskin-enquiry-form input[type="email"],
  .duskin-enquiry-form select,
  .duskin-enquiry-form textarea {
    padding: 11px 14px !important;
    font-size: 14px !important;
    border-radius: 8px !important;
  }

  /* Compact textarea */
  .duskin-enquiry-form textarea {
    min-height: 88px !important;
  }

  /* Smaller chevron button area */
  .duskin-enquiry-form .select_container::before {
    width: 36px !important;
    border-radius: 0 8px 8px 0 !important;
  }
  .duskin-enquiry-form .select_container::after {
    right: 12px !important;
  }
  .duskin-enquiry-form select {
    padding-right: 44px !important;
  }

  /* Tighter label spacing */
  .duskin-enquiry-form label {
    margin-bottom: 6px !important;
    font-size: 12.5px !important;
  }
  .duskin-enquiry-form p > label > .wpcf7-form-control-wrap,
  .duskin-enquiry-form .duskin-enquiry-full > label > .wpcf7-form-control-wrap {
    margin-top: 6px !important;
  }

  /* Compact checkbox cards */
  .duskin-enquiry-form .wpcf7-checkbox {
    gap: 6px !important;
  }
  .duskin-enquiry-form .wpcf7-checkbox .wpcf7-list-item label {
    padding: 9px 10px !important;
    font-size: 12.5px !important;
    min-height: 38px !important;
    gap: 6px !important;
    border-radius: 8px !important;
  }
  .duskin-enquiry-form .wpcf7-checkbox input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
  }
  .duskin-enquiry-form .wpcf7-checkbox input[type="checkbox"]:checked::after {
    left: 3px !important;
    width: 4px !important;
    height: 8px !important;
  }

  /* Submit button tighter on mobile */
  .duskin-enquiry-form .wpcf7-submit {
    padding: 15px 24px !important;
    font-size: 12.5px !important;
    letter-spacing: .14em !important;
  }
}

/* Extra small screens (≤460px) — single column checkbox stays */
@media (max-width: 460px) {
  .duskin-enquiry-form .wpcf7-checkbox .wpcf7-list-item label {
    min-height: 44px !important;
    padding: 11px 12px !important;
  }
}

/* Mobile overflow fix — force everything to respect container width */
@media (max-width: 767px) {
  .duskin-section-enquiry,
  .duskin-enquiry-form,
  .duskin-enquiry-form *,
  .duskin-enquiry-form *::before,
  .duskin-enquiry-form *::after {
    box-sizing: border-box !important;
    max-width: 100% !important;
  }
  /* Prevent horizontal page scroll from the section */
  .duskin-section-enquiry {
    overflow-x: hidden !important;
  }
  /* Card should clip any overflow */
  .duskin-section-enquiry .duskin-enquiry-row > .vc_column_container > .vc_column-inner,
  .duskin-section-enquiry .duskin-enquiry-row .wpb_wrapper:has(> .wpcf7) {
    overflow: hidden !important;
  }
  /* Select container width respects parent */
  .duskin-enquiry-form .select_container {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden;
    border-radius: 8px;
  }
  /* Grid items min-width 0 (prevents grid blowout) */
  .duskin-enquiry-form .duskin-enquiry-grid > p,
  .duskin-enquiry-form .duskin-enquiry-grid > p > label {
    min-width: 0 !important;
  }
  /* Checkbox list item full width */
  .duskin-enquiry-form .wpcf7-checkbox .wpcf7-list-item {
    width: 100% !important;
    min-width: 0 !important;
  }
  .duskin-enquiry-form .wpcf7-checkbox .wpcf7-list-item label {
    width: 100% !important;
  }
}

/* Re-suppress inner wpb_wrapper card (mobile rules accidentally re-styled it) */
.duskin-section-enquiry .duskin-enquiry-row .wpb_wrapper:has(> .wpcf7) {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
}
@media (max-width: 767px) {
  .duskin-section-enquiry .duskin-enquiry-row .wpb_wrapper:has(> .wpcf7) {
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
  }
}

/* Force section to truly stretch full viewport (override VC stretch_row JS miscalc) */
.duskin-section-enquiry {
  width: 100vw !important;
  max-width: 100vw !important;
  left: 50% !important;
  right: auto !important;
  margin-left: -50vw !important;
  margin-right: 0 !important;
  position: relative !important;
  box-sizing: border-box !important;
}
@media (max-width: 767px) {
  .duskin-section-enquiry {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}

/* ============ Mobile: Our Process — tighten step spacing ============ */
@media (max-width: 767px) {
  /* Reduce column padding-bottom (desktop has 2em from DUSKIN-PROCESS-ROW-GAP-V1) */
  .sc_services_default.numbered .trx_addons_columns_wrap.columns_padding_bottom > [class*="trx_addons_column-"] {
    padding-bottom: 0.5em !important;
  }

  /* Tighten item margin-bottom */
  .sc_services_default.numbered .trx_addons_columns_wrap > .trx_addons_column-1_4 {
    margin-bottom: 0.5em !important;
  }

  /* Item info block — tighter padding */
  .sc_services_default.numbered .sc_services_item_info {
    padding-bottom: 0.5em !important;
    padding-top: 0.5em !important;
  }

  /* Description: less top margin */
  .sc_services_default.numbered .sc_services_item_content {
    margin-top: 0.4em !important;
    margin-bottom: 0 !important;
  }

  /* Number badge — tighter */
  .sc_services_default.numbered .sc_services_item_number {
    margin-bottom: 0.3em !important;
    margin-top: -20px !important;
  }

  /* Item itself — minimal bottom space */
  .sc_services_default .sc_services_item.numbered {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Featured/icon image area — tighter */
  .sc_services_default .sc_services_item_thumb,
  .sc_services_default .sc_services_item_featured {
    min-height: 110px !important;
    padding: 4px 0 !important;
  }
}

/* Mobile: beat Customizer's padding-bottom: 2em rule via body prefix */
@media (max-width: 767px) {
  body .sc_services_default.numbered .trx_addons_columns_wrap.columns_padding_bottom > [class*="trx_addons_column-"] {
    padding-bottom: 0.4em !important;
  }
  body .sc_services_default.numbered .trx_addons_columns_wrap > .trx_addons_column-1_4 {
    margin-bottom: 0.4em !important;
  }
  body .sc_services_default.numbered .sc_services_item_info {
    padding-bottom: 0.4em !important;
    padding-top: 0.4em !important;
  }
  body .sc_services_default.numbered .sc_services_item_content {
    margin-top: 0.3em !important;
    margin-bottom: 0 !important;
  }
}

/* Push the scroll-to-top arrow UP (above the now-lowered WhatsApp button) */
.trx_addons_scroll_to_top,
body .trx_addons_scroll_to_top {
  bottom: 80px !important;
  right: 24px !important;
  width: 48px !important;
  height: 48px !important;
  line-height: 48px !important;
}
@media (max-width: 600px) {
  .trx_addons_scroll_to_top,
  body .trx_addons_scroll_to_top {
    right: 16px !important;
    bottom: 80px !important;
    width: 48px !important;
    height: 48px !important;
    line-height: 48px !important;
  }
}

/* Align scroll-to-top arrow with WhatsApp button on all screens */
.trx_addons_scroll_to_top,
body .trx_addons_scroll_to_top {
  right: 24px !important;
}
@media (max-width: 600px) {
  .trx_addons_scroll_to_top,
  body .trx_addons_scroll_to_top {
    right: 16px !important;
    bottom: 80px !important;
    width: 48px !important;
    height: 48px !important;
    line-height: 48px !important;
  }
}

/* Force scroll-to-top size match WhatsApp on desktop too */
.trx_addons_scroll_to_top,
body .trx_addons_scroll_to_top {
  bottom: 80px !important;
  right: 24px !important;
  width: 48px !important;
  height: 48px !important;
  line-height: 48px !important;
}

/* Inner page hero title — make white over the banner image */
.sc_layouts_title_caption,
body .sc_layouts_title_caption,
.sc_layouts_title .sc_layouts_title_caption {
  color: #ffffff !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
}

/* Inner page hero title — no text-shadow */
.sc_layouts_title_caption,
body .sc_layouts_title_caption,
.sc_layouts_title .sc_layouts_title_caption {
  text-shadow: none !important;
}

/* Service page wave row — show full 1920x101 image (was being cropped to row height) */
body .vc_custom_1488467537335 {
  background-size: 100% auto !important;
  background-repeat: no-repeat !important;
  background-position: center bottom !important;
  min-height: calc(100vw * 101 / 1920) !important;
}

/* Services page (post 88) only — swap header banner image (override global theme header_image) */
html body.page-id-88[class*="carpetserv_inline_"],
html body.page-id-88.page[class*="carpetserv_inline_"] {
  background-image: url('https://duskinmaid.com/wp-content/uploads/2026/05/header_bg_main_our_service.jpg') !important;
}

/* Services page (88) header bg — higher specificity to beat theme inline CSS */
html body.page-id-88.page.scheme_default[class*="carpetserv_inline_"],
html body.page-id-88.page[class*="carpetserv_inline_"][class*="carpetserv_inline_"] {
  background-image: url('https://duskinmaid.com/wp-content/uploads/2026/05/header_bg_main_our_service.jpg') !important;
}

/* Services page (88) header bg — target actual <header> element with bg image */
html body.page-id-88 header.top_panel.with_bg_image,
html body.page-id-88 header.top_panel.with_bg_image[class*="carpetserv_inline_"] {
  background-image: url('https://duskinmaid.com/wp-content/uploads/2026/05/header_bg_main_our_service.jpg') !important;
}

/* Service grid (sc_services_light) — hide hover link icon overlay */
.sc_services_light .post_featured .icons,
.sc_services_light .post_featured .icons span,
.sc_services_light .post_featured .icons a,
.sc_services_light .post_featured:hover .icons,
.sc_services_light .post_featured:hover .icons span,
.sc_services_light .post_featured:hover .icons a,
.sc_services_light .post_featured .mask {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Services dropdown — wider min-width so items wrap at most 2 lines */
.sc_layouts_menu_nav .sub-menu,
.sc_layouts_menu_nav ul.sub-menu,
ul.menu .sub-menu {
  min-width: 260px !important;
}
.sc_layouts_menu_nav .sub-menu li a,
ul.menu .sub-menu li a {
  letter-spacing: 0.02em !important;
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

/* ============================================
   LICENSED & TRUSTED AGENCY SECTION (About page)
   ============================================ */
.duskin-licence-section {
  position: relative;
}

/* Card layout grid */
.duskin-licence-section .duskin-licence-row {
  margin-top: 8px;
}
.duskin-licence-section .duskin-licence-row > .vc_column_container {
  margin-bottom: 24px;
}

/* Card */
.duskin-licence-card {
  background: #ffffff;
  border-radius: 22px;
  padding: 22px;
  box-shadow: 0 8px 24px -10px rgba(67, 53, 170, 0.18), 0 2px 6px -2px rgba(67, 53, 170, 0.08);
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: transform .25s ease, box-shadow .25s ease;
  box-sizing: border-box;
}
.duskin-licence-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px -10px rgba(67, 53, 170, 0.28), 0 4px 12px -4px rgba(67, 53, 170, 0.12);
}

/* Image area */
.duskin-licence-img {
  background: #FBFAFF;
  border-radius: 14px;
  padding: 16px;
  overflow: hidden;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.duskin-licence-img img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 360px;
  object-fit: contain;
  border-radius: 10px;
}

/* Card body */
.duskin-licence-body {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.duskin-licence-title {
  color: #4435AA !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  margin: 0 0 10px !important;
}
.duskin-licence-desc {
  color: #4A4A4A !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  margin: 0 0 18px !important;
}

/* Tag pills */
.duskin-licence-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: auto;
}
.duskin-licence-tag {
  display: inline-block;
  background: #F4EEFA;
  color: #4435AA;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .02em;
  padding: 7px 14px;
  border-radius: 999px;
  line-height: 1.2;
  border: 1px solid rgba(67, 53, 170, 0.10);
}

/* Mobile: single column */
@media (max-width: 767px) {
  .duskin-licence-section {
    padding-top: 48px !important;
    padding-bottom: 56px !important;
  }
  .duskin-licence-section .duskin-licence-row > .vc_column_container {
    width: 100% !important;
    margin-bottom: 18px;
  }
  .duskin-licence-card { padding: 18px; border-radius: 18px; }
  .duskin-licence-img { padding: 12px; margin-bottom: 16px; }
  .duskin-licence-img img { max-height: 280px; }
  .duskin-licence-title { font-size: 19px !important; }
  .duskin-licence-desc { font-size: 14px !important; }
}

/* Licensed section — more breathing room + top wave styling */
.duskin-licence-section {
  padding-top: 90px !important;
  padding-bottom: 100px !important;
}
.duskin-licence-section .duskin-licence-row {
  margin-top: 24px !important;
}
.duskin-licence-wave-top {
  min-height: calc(100vw * 128 / 1920) !important;
  background-size: 100% auto !important;
  background-position: center bottom !important;
  background-color: transparent !important;
}
@media (max-width: 767px) {
  .duskin-licence-section {
    padding-top: 60px !important;
    padding-bottom: 70px !important;
  }
}

/* ============ WHY CHOOSE US — clean grid (replace flip cards) ============ */
.duskin-wcu-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin: 24px auto 0;
  max-width: 1100px;
}
.duskin-wcu-item {
  background: #ffffff;
  border-radius: 16px;
  padding: 28px 24px;
  border: 1px solid rgba(67, 53, 170, 0.08);
  box-shadow: 0 6px 16px -8px rgba(67, 53, 170, 0.12);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  text-align: center;
}
.duskin-wcu-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 28px -10px rgba(67, 53, 170, 0.22);
  border-color: rgba(163, 68, 160, 0.18);
}
.duskin-wcu-title {
  color: #4435AA !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  margin: 0 0 12px !important;
  line-height: 1.3 !important;
}
.duskin-wcu-desc {
  color: #4A4A4A !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}
@media (max-width: 991px) {
  .duskin-wcu-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
}
@media (max-width: 600px) {
  .duskin-wcu-grid { grid-template-columns: 1fr; gap: 14px; }
  .duskin-wcu-item { padding: 22px 18px; }
}

/* Licence section — tighter top padding (less gap after Who We Are 4 cards) */
.duskin-licence-section {
  padding-top: 30px !important;
  padding-bottom: 70px !important;
}
@media (max-width: 767px) {
  .duskin-licence-section {
    padding-top: 24px !important;
    padding-bottom: 50px !important;
  }
}

/* Who We Are 4 cards — bigger title (match Our Process) + disable link */
.sc_services_list .sc_services_item_title,
.sc_services_list .sc_services_item_title a {
  font-size: 1.15em !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  color: #4435AA !important;
  text-decoration: none !important;
  pointer-events: none !important;
  cursor: default !important;
}
.sc_services_list .sc_services_item_title a:hover {
  color: #4435AA !important;
}

/* Three card title locations — font-weight 600 */
.sc_services_list .sc_services_item_title,
.sc_services_list .sc_services_item_title a,
.duskin-licence-title,
.duskin-wcu-title {
  font-weight: 600 !important;
}

/* Licence card titles — match Who We Are size (1.15em) */
.duskin-licence-title {
  font-size: 1.15em !important;
  line-height: 1.3 !important;
}

/* Who We Are 4 cards — clean card style matching Why Choose Us */
.sc_services_list .sc_services_item {
  background: #ffffff !important;
  border-radius: 16px !important;
  padding: 51px 22px !important;
  border: 1px solid rgba(67, 53, 170, 0.08) !important;
  box-shadow: 0 6px 16px -8px rgba(67, 53, 170, 0.12) !important;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
  text-align: center;
  margin-bottom: 12px;
  box-sizing: border-box;
}
.sc_services_list .sc_services_item:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 14px 28px -10px rgba(67, 53, 170, 0.22) !important;
  border-color: rgba(163, 68, 160, 0.18) !important;
}
/* Card content */
.sc_services_list .sc_services_item_title {
  margin: 0 0 12px !important;
}
.sc_services_list .sc_services_item_content,
.sc_services_list .sc_services_item_content p {
  color: #4A4A4A !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}
/* Spacing between numbered badge (01/02/...) and card */
.sc_services_list .sc_services_item_featured {
  margin-bottom: 14px;
}

@media (max-width: 991px) {
  .sc_services_list .sc_services_item { padding: 24px 18px !important; }
}

/* About page (EN 227 + ZH 1134) — swap header banner image (override global theme header_image) */
html body.page-id-227.page.scheme_default[class*="carpetserv_inline_"],
html body.page-id-227.page[class*="carpetserv_inline_"][class*="carpetserv_inline_"],
html body.page-id-227 header.top_panel.with_bg_image,
html body.page-id-227 header.top_panel.with_bg_image[class*="carpetserv_inline_"],
html body.page-id-1134.page.scheme_default[class*="carpetserv_inline_"],
html body.page-id-1134.page[class*="carpetserv_inline_"][class*="carpetserv_inline_"],
html body.page-id-1134 header.top_panel.with_bg_image,
html body.page-id-1134 header.top_panel.with_bg_image[class*="carpetserv_inline_"] {
  background-image: url('https://duskinmaid.com/wp-content/uploads/2026/06/about.jpg') !important;
}


/* Title area — min height so all titles align */
.sc_services_list .sc_services_item_info {
  display: flex !important;
  flex-direction: column !important;
  flex: 1;
}
.sc_services_list .sc_services_item_title {
  min-height: 3.5em !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
}
/* Description fills remaining space */
.sc_services_list .sc_services_item_content {
  flex: 1;
}
/* Number badge — bring inside card as top accent */
.sc_services_list .sc_services_item_featured {
  margin: 0 0 14px 0 !important;
  order: -1;
}
.sc_services_list .sc_services_item_number {
  margin: 0 auto !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}
/* Who We Are 4 cards — equal title height (safe approach) */
.sc_services_list .sc_services_item_title {
  min-height: 3.5em !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

/* Who We Are 4 cards — fill column height for equal-height cards */
.sc_services_list .sc_services_item {
  height: 100% !important;
}

/* Who We Are 4 cards — fixed min-height for equal sizing */
.sc_services_list .sc_services_item {
  min-height: 380px !important;
}
@media (max-width: 991px) {
  .sc_services_list .sc_services_item { min-height: 340px !important; }
}
@media (max-width: 600px) {
  .sc_services_list .sc_services_item { min-height: 0 !important; }
}

/* Who We Are 4 items — remove card chrome, keep clean text layout */
.sc_services_list .sc_services_item {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  min-height: 0 !important;
}
.sc_services_list .sc_services_item:hover {
  transform: none !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* Who We Are inner info block — remove inherited white bg */
.sc_services_list .sc_services_item_info,
.sc_services_list .sc_services_item_header,
.scheme_default .sc_services_list .sc_services_item .sc_services_item_info,
.scheme_default .sc_services_list .sc_services_item .sc_services_item_header {
  background-color: transparent !important;
  background: transparent !important;
}

/* About page Who We Are only — kill white bg on inner info (high specificity) */
body.page-id-227 .scheme_default .sc_services_list .sc_services_item .sc_services_item_info,
body.page-id-227 .scheme_default .sc_services_list .sc_services_item .sc_services_item_header {
  background-color: transparent !important;
  background: transparent !important;
}

/* Licence section description — balanced line wrap, tighter width */
.duskin-licence-section .sc_item_descr,
.duskin-licence-section .sc_item_description {
  max-width: 680px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-wrap: balance;
}

/* FAQ page (EN 983 + ZH 1124) header banner */
html body.page-id-983.page.scheme_default[class*="carpetserv_inline_"],
html body.page-id-983.page[class*="carpetserv_inline_"][class*="carpetserv_inline_"],
html body.page-id-983 header.top_panel.with_bg_image,
html body.page-id-983 header.top_panel.with_bg_image[class*="carpetserv_inline_"],
html body.page-id-1124.page.scheme_default[class*="carpetserv_inline_"],
html body.page-id-1124.page[class*="carpetserv_inline_"][class*="carpetserv_inline_"],
html body.page-id-1124 header.top_panel.with_bg_image,
html body.page-id-1124 header.top_panel.with_bg_image[class*="carpetserv_inline_"] {
  background-image: url('https://duskinmaid.com/wp-content/uploads/2026/06/faq.jpg') !important;
}

/* Gallery page (EN 138 + ZH 1123) header banner */
html body.page-id-138.page.scheme_default[class*="carpetserv_inline_"],
html body.page-id-138.page[class*="carpetserv_inline_"][class*="carpetserv_inline_"],
html body.page-id-138 header.top_panel.with_bg_image,
html body.page-id-138 header.top_panel.with_bg_image[class*="carpetserv_inline_"],
html body.page-id-1123.page.scheme_default[class*="carpetserv_inline_"],
html body.page-id-1123.page[class*="carpetserv_inline_"][class*="carpetserv_inline_"],
html body.page-id-1123 header.top_panel.with_bg_image,
html body.page-id-1123 header.top_panel.with_bg_image[class*="carpetserv_inline_"] {
  background-image: url('https://duskinmaid.com/wp-content/uploads/2026/06/gallery.jpg') !important;
}

/* Contact page links — brand purple instead of theme pink */
body.page-id-90 .wpb_text_column a,
body.page-id-90 .wpb_text_column a:visited {
  color: #333333 !important;
  text-decoration: none !important;
}
body.page-id-90 .wpb_text_column a:hover {
  color: #A344A0 !important;
}

/* Contact form — brand color hover/focus (not teal) */
body.page-id-90 .wpcf7 input[type="text"],
body.page-id-90 .wpcf7 input[type="email"],
body.page-id-90 .wpcf7 input[type="tel"],
body.page-id-90 .wpcf7 textarea {
  border: 1px solid #E2DCF5 !important;
  border-radius: 8px !important;
  transition: border-color .2s, box-shadow .2s !important;
}
body.page-id-90 .wpcf7 input:hover,
body.page-id-90 .wpcf7 textarea:hover {
  border-color: #C9BEEF !important;
}
body.page-id-90 .wpcf7 input:focus,
body.page-id-90 .wpcf7 textarea:focus {
  border-color: #A344A0 !important;
  box-shadow: 0 0 0 3px rgba(163, 68, 160, 0.15) !important;
  outline: none !important;
}

/* Enquiry form date input — match other inputs */
.duskin-enquiry-form input[type="date"] {
  width: 100% !important;
  padding: 12px 14px !important;
  border: 1px solid #E2DCF5 !important;
  border-radius: 10px !important;
  background: #FBFAFF !important;
  font-size: 14px !important;
  color: #2D1B69 !important;
  font-family: inherit !important;
  box-sizing: border-box !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  transition: border-color .2s, box-shadow .2s, background .2s !important;
}
.duskin-enquiry-form input[type="date"]:hover {
  border-color: #C9BEEF !important;
  background: #ffffff !important;
}
.duskin-enquiry-form input[type="date"]:focus {
  border-color: #A344A0 !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(163, 68, 160, 0.12) !important;
  outline: none !important;
}


/* Enquiry form conditional fields — display none when hidden (clean layout, no gaps) */
.duskin-enquiry-form .duskin-conditional-field {
  opacity: 1;
  transition: opacity .25s ease;
}
.duskin-enquiry-form .duskin-conditional-field.duskin-field-hidden {
  display: none !important;
}

/* Enquiry form — input/select/date/textarea inherit normal weight (not bold from label) */
.duskin-enquiry-form input[type="text"],
.duskin-enquiry-form input[type="tel"],
.duskin-enquiry-form input[type="email"],
.duskin-enquiry-form input[type="date"],
.duskin-enquiry-form select,
.duskin-enquiry-form textarea {
  font-weight: 400 !important;
}

/* Mobile menu — active/current item color: brand purple instead of pink */
.menu_mobile .current-menu-item > a,
.menu_mobile .current_page_item > a,
.menu_mobile .menu-item.current-menu-ancestor > a,
.menu_mobile_nav_area .current-menu-item > a,
.menu_mobile_nav_area .current_page_item > a,
.menu_mobile_nav_area .menu-item.current-menu-ancestor > a,
.sc_layouts_menu_mobile .current-menu-item > a,
.sc_layouts_menu_mobile .current_page_item > a,
.menu_mobile a.current,
.menu_mobile_nav_area a.current {
  color: #4435AA !important;
}
.menu_mobile .current-menu-item > a:hover,
.menu_mobile_nav_area .current-menu-item > a:hover,
.menu_mobile a:hover,
.menu_mobile_nav_area a:hover {
  color: #A344A0 !important;
}

/* About page — trx_sc_title descriptions wider, especially on mobile */
body.page-id-227 .sc_item_descr,
body.page-id-227 .sc_item_description {
  max-width: 720px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-wrap: balance;
}
@media (max-width: 767px) {
  body.page-id-227 .sc_item_descr,
  body.page-id-227 .sc_item_description {
    max-width: 100% !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}

/* Mobile Who We Are — group each item tighter, add gap between items */
@media (max-width: 767px) {
  /* Bigger gap BETWEEN items so groups are distinct */
  body.page-id-227 .sc_services_list .sc_services_item {
    margin-bottom: 40px !important;
  }
  /* Tighter spacing INSIDE each item (number → title → desc) */
  body.page-id-227 .sc_services_list .sc_services_item_featured {
    margin-bottom: 8px !important;
  }
  body.page-id-227 .sc_services_list .sc_services_item_title {
    min-height: 0 !important;
    margin: 0 0 6px !important;
  }
  body.page-id-227 .sc_services_list .sc_services_item_content {
    margin-top: 0 !important;
  }
}

/* Maid biodata page — keep Get Quotation buttons inside their cards on mobile */
@media (max-width: 600px) {
  .dmh-cta-btn,
  .dmh-cta-btn-big {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    white-space: normal !important;
    word-break: keep-all;
    font-size: 13px !important;
  }
  .dmh-page * { box-sizing: border-box; }
}

/* Floating buttons — consistent spacing between WhatsApp and scroll-to-top */
.trx_addons_scroll_to_top,
body .trx_addons_scroll_to_top {
  bottom: 80px !important;
  right: 24px !important;
  width: 48px !important;
  height: 48px !important;
  line-height: 48px !important;
}
@media (max-width: 600px) {
  .trx_addons_scroll_to_top,
  body .trx_addons_scroll_to_top {
    right: 16px !important;
    bottom: 80px !important;
    width: 48px !important;
    height: 48px !important;
    line-height: 48px !important;
  }
}

/* Maid biodata — better stat cards layout (3 cols for small stats, full-width education) */
.dmh-stats {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 10px !important;
  margin: 14px 0 !important;
}
.dmh-stat-wide {
  grid-column: 1 / -1 !important;
}
.dmh-stat {
  background: #FBFAFF;
  border-left: 3px solid #A344A0;
  border-radius: 10px;
  padding: 10px 12px;
  box-sizing: border-box;
}
.dmh-stat-label {
  font-size: 10.5px !important;
  font-weight: 700 !important;
  color: #A344A0 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  margin: 0 0 4px !important;
}
.dmh-stat-value {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #2D1B69 !important;
  line-height: 1.2 !important;
}
.dmh-stat-value span {
  font-size: 12px !important;
  font-weight: 500 !important;
  color: #6A6184 !important;
  margin-left: 4px;
}

/* Sponsor — full-width card matching Education style */
.dmh-sponsor {
  display: block !important;
  background: #FBFAFF;
  border-left: 3px solid #A344A0;
  border-radius: 10px;
  padding: 10px 12px;
  margin: 10px 0;
  box-sizing: border-box;
}
.dmh-sponsor-label {
  display: block;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  color: #A344A0 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  margin: 0 0 4px !important;
}
.dmh-sponsor-val {
  display: block;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #2D1B69 !important;
  line-height: 1.2 !important;
}

/* Sponsor — force full width */
.dmh-sponsor {
  width: 100% !important;
  max-width: none !important;
  align-self: stretch !important;
}

/* Service list bullet icons — brand purple instead of teal */
.scheme_default ul[class*="trx_addons_list"] > li:before,
ul.trx_addons_list_plus > li:before,
ul.trx_addons_list > li:before {
  color: #A344A0 !important;
}

/* Hero breadcrumb links — brand color instead of pink */
.sc_layouts_title_breadcrumbs a,
.sc_layouts_title_breadcrumbs .breadcrumbs a,
.breadcrumbs a {
  color: #ffffff !important;
}
.sc_layouts_title_breadcrumbs a:hover,
.sc_layouts_title_breadcrumbs .breadcrumbs a:hover,
.breadcrumbs a:hover {
  color: #C9BEEF !important;
}

/* Breadcrumb links — force white/brand (override theme pink with higher specificity) */
html body.scheme_default .sc_layouts_title_breadcrumbs a,
html body .scheme_default .sc_layouts_title_breadcrumbs a {
  color: #ffffff !important;
}
html body.scheme_default .sc_layouts_title_breadcrumbs a:hover,
html body .scheme_default .sc_layouts_title_breadcrumbs a:hover {
  color: #C9BEEF !important;
}

/* Submenu width — auto fit content for short menus, constrained for Services */
.sc_layouts_menu_nav .sub-menu,
.sc_layouts_menu_nav ul.sub-menu,
ul.menu .sub-menu {
  min-width: 180px !important;
  width: max-content !important;
  max-width: 240px !important;
}
