/*
Theme Name: Hello Elementor Child
Template: hello-elementor
Version: 1.0.0
*/

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&display=swap');

:root {
    --gold:      #F8B54A;
    --gold-bg:   rgba(248,181,74,0.09);
    --gold-ring: rgba(248,181,74,0.22);
    --ink:       #1c1c1c;
    --muted:     #6a6a6a;
    --faint:     #ababab;
    --surface:   #ffffff;
    --bg-field:  #f8f7f5;
    --border:    #e2ddd6;
    --r:         7px;
    --r-lg:      14px;
    --r-pill:    100px;
    --h:         40px;
    --gap:       8px;
    --ff:        'DM Sans', system-ui, -apple-system, sans-serif;
    --t:         0.18s ease;
}

/* ── Layout ── */
html { scroll-behavior: auto; }
body { margin:0!important; padding:0!important; overflow-x:hidden!important; }
.elementor-section-wrap>.elementor-section:first-child { margin-top:0!important; padding-top:0!important; }

/* ── Form shell ── */
.limo-booking-form,
.limo-hero-form {
    background: var(--surface);
    padding: 18px 18px 14px;
    border-radius: var(--r-lg);
    box-shadow: 0 4px 24px rgba(0,0,0,0.09), 0 1px 4px rgba(0,0,0,0.05);
    max-width: 980px;
    margin: 0 auto;
    font-family: var(--ff);
    box-sizing: border-box;
    position: relative;
}
.limo-booking-form::before,
.limo-hero-form::before {
    content: '';
    position: absolute;
    top:0; left:20px; right:20px; height:2px;
    background: linear-gradient(90deg, transparent, var(--gold) 40%, transparent);
    border-radius: 0 0 2px 2px;
}
/* Strip CF7 wrapper spacing */
.limo-booking-form .wpcf7,
.limo-hero-form .wpcf7 { margin:0!important; padding:0!important; }
.limo-booking-form .wpcf7-form,
.limo-hero-form .wpcf7-form { margin:0!important; padding:0!important; }

/* ── Rows ── */
.limo-booking-form .form-row,
.limo-hero-form .form-row {
    display: flex;
    gap: var(--gap);
    width: 100%;
    margin-bottom: var(--gap);
    align-items: stretch;
}
.limo-booking-form .form-col,
.limo-hero-form .form-col { flex:1; min-width:0; }
.limo-booking-form .full-width,
.limo-hero-form .full-width,
.limo-booking-form .btn-col,
.limo-hero-form .btn-col { flex:0 0 100%; width:100%; }

/* ── Text inputs/selects — explicitly typed, never catches checkboxes ── */
.limo-booking-form input[type="text"],
.limo-booking-form input[type="email"],
.limo-booking-form input[type="tel"],
.limo-booking-form input[type="number"],
.limo-booking-form input[type="date"],
.limo-booking-form select,
.limo-booking-form textarea,
.limo-hero-form input[type="text"],
.limo-hero-form input[type="email"],
.limo-hero-form input[type="tel"],
.limo-hero-form input[type="number"],
.limo-hero-form input[type="date"],
.limo-hero-form select,
.limo-hero-form textarea {
    display: block;
    width: 100%;
    height: var(--h);
    padding: 0 11px;
    border: 1.5px solid var(--border);
    border-radius: var(--r);
    font-size: 12.5px;
    font-family: var(--ff);
    font-weight: 400;
    color: var(--ink);
    background: var(--bg-field);
    box-sizing: border-box;
    margin: 0;
    transition: border-color var(--t), background var(--t);
    -webkit-appearance: none;
    appearance: none;
}
.limo-booking-form input[type="text"]:focus,
.limo-booking-form input[type="email"]:focus,
.limo-booking-form input[type="tel"]:focus,
.limo-booking-form input[type="number"]:focus,
.limo-booking-form input[type="date"]:focus,
.limo-booking-form select:focus,
.limo-booking-form textarea:focus,
.limo-hero-form input[type="text"]:focus,
.limo-hero-form input[type="email"]:focus,
.limo-hero-form input[type="tel"]:focus,
.limo-hero-form input[type="number"]:focus,
.limo-hero-form input[type="date"]:focus,
.limo-hero-form select:focus,
.limo-hero-form textarea:focus {
    outline: none;
    border-color: var(--gold);
    background: #fff;
    box-shadow: inset 0 0 0 1px var(--gold-ring);
}
.limo-booking-form input[type="text"]:hover:not(:focus),
.limo-booking-form input[type="email"]:hover:not(:focus),
.limo-booking-form input[type="tel"]:hover:not(:focus),
.limo-booking-form input[type="number"]:hover:not(:focus),
.limo-booking-form input[type="date"]:hover:not(:focus),
.limo-booking-form select:hover:not(:focus),
.limo-hero-form input[type="text"]:hover:not(:focus),
.limo-hero-form input[type="email"]:hover:not(:focus),
.limo-hero-form input[type="tel"]:hover:not(:focus),
.limo-hero-form input[type="number"]:hover:not(:focus),
.limo-hero-form input[type="date"]:hover:not(:focus),
.limo-hero-form select:hover:not(:focus) { border-color: #c8c2b8; }

/* Number spinner */
.limo-booking-form input[type="number"],
.limo-hero-form input[type="number"] { -moz-appearance: textfield; }
.limo-booking-form input[type="number"]::-webkit-inner-spin-button,
.limo-booking-form input[type="number"]::-webkit-outer-spin-button,
.limo-hero-form input[type="number"]::-webkit-inner-spin-button,
.limo-hero-form input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; }

/* Select arrow */
.limo-booking-form select,
.limo-hero-form select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23999' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    padding-right: 28px;
    cursor: pointer;
}

/* Placeholders */
.limo-booking-form input[type="text"]::placeholder,
.limo-booking-form input[type="email"]::placeholder,
.limo-booking-form input[type="tel"]::placeholder,
.limo-booking-form input[type="number"]::placeholder,
.limo-hero-form input[type="text"]::placeholder,
.limo-hero-form input[type="email"]::placeholder,
.limo-hero-form input[type="tel"]::placeholder,
.limo-hero-form input[type="number"]::placeholder { color: var(--faint); font-size: 12px; font-weight: 300; }

/* Date icon */
.limo-booking-form input[type="date"]::-webkit-calendar-picker-indicator,
.limo-hero-form input[type="date"]::-webkit-calendar-picker-indicator { opacity:.4; cursor:pointer; }

/* Textarea */
.limo-booking-form textarea,
.limo-hero-form textarea {
    height: auto!important;
    min-height: 52px!important;
    max-height: 80px!important;
    resize: vertical;
    padding: 8px 11px!important;
    line-height: 1.45;
}

/* Time field clock icon */
.limo-time-wrap { position: relative; }
.limo-time-wrap input { padding-right: 30px!important; letter-spacing: 0.2px; }
.limo-time-wrap::after {
    content: '';
    position: absolute; right:10px; top:50%;
    transform: translateY(-50%);
    width:14px; height:14px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23bbb' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 3'/%3E%3C/svg%3E");
    background-size: 14px;
    pointer-events: none;
}
.limo-field-invalid { border-color:#e74c3c!important; background:#fff8f8!important; }

/* ── Toggle row ── */
.limo-booking-form .roundtrip-row,
.limo-hero-form .roundtrip-row { align-items:center; margin-bottom:6px!important; }

.limo-booking-form .wpcf7-list-item,
.limo-hero-form .wpcf7-list-item { margin:0!important; padding:0!important; display:flex!important; }

.limo-booking-form .wpcf7-list-item label,
.limo-hero-form .wpcf7-list-item label {
    display: inline-flex!important;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
    font-weight: 500;
    color: var(--muted);
    cursor: pointer;
    margin:0!important; padding:0!important;
    user-select: none;
    white-space: nowrap;
    transition: color var(--t);
}
/* Acceptance field label — override nowrap for this specific label */
.limo-booking-form .wpcf7-list-item:has(.sms-accept) label,
.limo-hero-form .wpcf7-list-item:has(.sms-accept) label,
.contact-form-dark .wpcf7-list-item:has(.sms-accept) label {
    white-space: normal!important;
    align-items: flex-start!important;
    font-size: 11px!important;
    font-weight: 300!important;
    color: var(--muted)!important;
    flex-wrap: nowrap!important;
    width: 100%!important;
}

.limo-booking-form .wpcf7-list-item label:hover,
.limo-hero-form .wpcf7-list-item label:hover { color: var(--ink); }

/* ── THE TOGGLE — SCOPED ONLY TO ROUNDTRIP ROW ── */
.limo-booking-form .roundtrip-row .wpcf7-list-item input[type="checkbox"],
.limo-hero-form .roundtrip-row .wpcf7-list-item input[type="checkbox"] {
    -webkit-appearance: none!important;
    appearance: none!important;
    display: inline-block!important;
    flex-shrink: 0!important;
    width: 38px!important;
    height: 21px!important;
    min-height: 21px!important;
    max-height: 21px!important;
    padding: 0!important;
    margin: 0!important;
    border: none!important;
    border-radius: 11px!important;
    background: #d0cdc8!important;
    outline: none!important;
    cursor: pointer!important;
    position: relative!important;
    vertical-align: middle!important;
    transition: background 0.2s ease!important;
    box-shadow: none!important;
}
.limo-booking-form .roundtrip-row .wpcf7-list-item input[type="checkbox"]::before,
.limo-hero-form .roundtrip-row .wpcf7-list-item input[type="checkbox"]::before {
    content: ''!important;
    position: absolute!important;
    width: 16px!important;
    height: 16px!important;
    background: #fff!important;
    border-radius: 50%!important;
    top: 2.5px!important;
    left: 2.5px!important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.22)!important;
    transition: transform 0.2s ease!important;
}
.limo-booking-form .roundtrip-row .wpcf7-list-item input[type="checkbox"]:checked,
.limo-hero-form .roundtrip-row .wpcf7-list-item input[type="checkbox"]:checked { background: var(--gold)!important; }

.limo-booking-form .roundtrip-row .wpcf7-list-item input[type="checkbox"]:checked::before,
.limo-hero-form .roundtrip-row .wpcf7-list-item input[type="checkbox"]:checked::before { transform: translateX(17px)!important; }

.limo-booking-form .roundtrip-row .wpcf7-list-item input[type="checkbox"]:focus,
.limo-hero-form .roundtrip-row .wpcf7-list-item input[type="checkbox"]:focus { box-shadow: 0 0 0 2px var(--gold-ring)!important; }

/* ── Expandable sections ── */
.return-trip-section,
.special-instructions-section {
    display: none;
    margin: 2px 0 6px;
    padding: 10px 12px;
    background: var(--gold-bg);
    border: 1px solid rgba(248,181,74,0.2);
    border-radius: var(--r);
    animation: lmFade 0.2s ease;
}
.return-trip-section .form-row,
.special-instructions-section .form-row { margin-bottom:0!important; }

@keyframes lmFade {
    from { opacity:0; transform:translateY(-4px); }
    to   { opacity:1; transform:translateY(0); }
}

/* ── Submit ── */
.limo-booking-form input[type="submit"],
.limo-hero-form input[type="submit"] {
    display: block; width:100%; height:44px;
    background: var(--gold);
    color: #fff; border:none;
    border-radius: var(--r-pill);
    font-family: var(--ff); font-weight:600;
    font-size: 12.5px; letter-spacing:1.4px;
    text-transform: uppercase; cursor:pointer;
    margin: 4px 0 0;
    transition: background var(--t), transform var(--t), box-shadow var(--t);
    box-shadow: 0 4px 16px rgba(248,181,74,0.35);
}
.limo-booking-form input[type="submit"]:hover,
.limo-hero-form input[type="submit"]:hover {
    background: var(--ink);
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.18);
}
.limo-booking-form input[type="submit"]:active,
.limo-hero-form input[type="submit"]:active { transform:translateY(0); box-shadow:none; }

/* CF7 messages */
.wpcf7 .wpcf7-mail-sent-ok {
    background:var(--gold)!important; border:none!important;
    border-radius:var(--r)!important; color:#fff!important;
    padding:10px 14px!important; margin:6px 0 0!important;
    font-weight:600!important; font-size:12.5px!important; font-family:var(--ff)!important;
}
.wpcf7 .wpcf7-not-valid-tip { font-size:10.5px!important; color:#c0392b!important; margin-top:2px!important; display:block; }
.limo-booking-form .wpcf7-response-output,
.limo-hero-form .wpcf7-response-output { margin:6px 0 0!important; border-radius:var(--r)!important; font-size:12px!important; padding:8px 12px!important; }

/* ── Contact form dark ── */
.contact-form-dark { background:transparent!important; box-shadow:none!important; padding:0!important; }
.contact-form-dark::before { display:none!important; }
.contact-form-dark input[type="text"],
.contact-form-dark input[type="email"],
.contact-form-dark input[type="tel"],
.contact-form-dark textarea {
    background:transparent!important; border:none!important;
    border-bottom:1px solid rgba(255,255,255,0.2)!important;
    color:#fff!important; border-radius:0!important;
    padding:9px 0!important; height:auto!important;
}
.contact-form-dark input[type="text"]:focus,
.contact-form-dark input[type="email"]:focus,
.contact-form-dark input[type="tel"]:focus,
.contact-form-dark textarea:focus { border-bottom-color:var(--gold)!important; box-shadow:none!important; background:transparent!important; }
.contact-form-dark input::placeholder,
.contact-form-dark textarea::placeholder { color:rgba(255,255,255,0.45)!important; }
.contact-form-dark input[type="submit"] { background:var(--gold)!important; color:#000!important; border-radius:var(--r-pill)!important; height:44px!important; }
.contact-form-dark input[type="submit"]:hover { background:#fff!important; color:#000!important; }

/* ── Responsive ── */
@media (max-width:768px) {
    .limo-booking-form,.limo-hero-form { padding:14px 12px 12px!important; border-radius:11px!important; }
    .limo-booking-form .form-row,.limo-hero-form .form-row { gap:6px!important; margin-bottom:6px!important; }
    .limo-booking-form .form-row:nth-of-type(2),
    .limo-hero-form .form-row:nth-of-type(2) { flex-wrap:wrap; }
    .limo-booking-form .form-row:nth-of-type(2) .form-col:nth-child(-n+2),
    .limo-hero-form .form-row:nth-of-type(2) .form-col:nth-child(-n+2) { flex:0 0 calc(50% - 3px)!important; }
    .limo-booking-form .form-row:nth-of-type(2) .form-col:nth-child(3),
    .limo-hero-form .form-row:nth-of-type(2) .form-col:nth-child(3) { flex:0 0 100%!important; }
    .limo-booking-form input[type="text"],.limo-booking-form input[type="email"],
    .limo-booking-form input[type="tel"],.limo-booking-form input[type="number"],
    .limo-booking-form input[type="date"],.limo-booking-form select,
    .limo-hero-form input[type="text"],.limo-hero-form input[type="email"],
    .limo-hero-form input[type="tel"],.limo-hero-form input[type="number"],
    .limo-hero-form input[type="date"],.limo-hero-form select { height:37px!important; font-size:12px!important; padding:0 9px!important; }
    .limo-booking-form .roundtrip-row,.limo-hero-form .roundtrip-row { flex-wrap:nowrap!important; gap:18px!important; }
    .limo-booking-form .roundtrip-row .form-col,.limo-hero-form .roundtrip-row .form-col { flex:0 0 auto!important; }
}
@media (max-width:480px) {
    .limo-booking-form,.limo-hero-form { padding:12px 10px 10px!important; }
    .limo-booking-form .form-row:nth-of-type(3),
    .limo-hero-form .form-row:nth-of-type(3) { flex-wrap:wrap!important; }
    .limo-booking-form .form-row:nth-of-type(3) .form-col:nth-child(-n+2),
    .limo-hero-form .form-row:nth-of-type(3) .form-col:nth-child(-n+2) { flex:0 0 calc(50% - 3px)!important; }
    .limo-booking-form .form-row:nth-of-type(3) .form-col:nth-child(3),
    .limo-hero-form .form-row:nth-of-type(3) .form-col:nth-child(3) { flex:0 0 100%!important; }
    .limo-booking-form input[type="text"],.limo-booking-form input[type="email"],
    .limo-booking-form input[type="tel"],.limo-booking-form input[type="number"],
    .limo-booking-form input[type="date"],.limo-booking-form select,
    .limo-hero-form input[type="text"],.limo-hero-form input[type="email"],
    .limo-hero-form input[type="tel"],.limo-hero-form input[type="number"],
    .limo-hero-form input[type="date"],.limo-hero-form select { height:35px!important; font-size:11.5px!important; }
    .limo-booking-form .wpcf7-list-item label,.limo-hero-form .wpcf7-list-item label { font-size:11.5px!important; }
}

/* ── Professional Time Input Combo ── */
.time-combo {
    display: flex;
    width: 100%;
    border: 1.5px solid var(--border);
    border-radius: var(--r);
    overflow: hidden;
    background: var(--bg-field);
    transition: border-color var(--t), background var(--t);
}
.time-combo:focus-within {
    border-color: var(--gold);
    background: #fff;
    box-shadow: inset 0 0 0 1px var(--gold-ring);
}
.time-combo input[type="text"] {
    flex: 1;
    border: none !important;
    border-radius: 0 !important;
    border-right: 1px solid var(--border) !important;
    background: transparent !important;
    padding: 0 10px !important;
    box-shadow: none !important;
}
.time-combo input[type="text"]:focus {
    outline: none;
    border-right-color: var(--gold) !important;
}
.time-combo select {
    flex: 0 0 72px;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    text-align: center;
    padding: 0 8px !important;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5'%3E%3Cpath d='M1 1l3 3 3-3' stroke='%23999' stroke-width='1.2' fill='none'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 8px center;
    box-shadow: none !important;
}
.time-combo select:focus { outline: none; }
.time-combo.has-error {
    border-color: #e74c3c !important;
    background: #fff8f8 !important;
}

/* ── Time + Meridian Side-by-Side ── */
.time-field,
.meridian-field {
    flex: 0 0 45% !important;
}
.meridian-field select {
    height: var(--h) !important;
    text-align: center;
    cursor: pointer;
}
@media (max-width: 480px) {
    .time-field,
    .meridian-field { flex: 0 0 48% !important; }
}

/* ── Native Time Input — matches your form design ── */
.time-native input[type="time"] {
  width: 100%;
  height: var(--h);
  padding: 0 11px;
  border: 1.5px solid var(--border);
  border-radius: var(--r);
  font-size: 12.5px;
  font-family: var(--ff);
  font-weight: 400;
  color: var(--ink);
  background: var(--bg-field);
  box-sizing: border-box;
  margin: 0;
  transition: border-color var(--t), background var(--t);
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
}
.time-native input[type="time"]:focus {
  outline: none;
  border-color: var(--gold);
  background: #fff;
  box-shadow: inset 0 0 0 1px var(--gold-ring);
}
.time-native input[type="time"]:hover:not(:focus) { border-color: #c8c2b8; }
.time-native input[type="time"]::-webkit-calendar-picker-indicator { opacity: 0.4; cursor: pointer; }
.time-native input[type="time"]:invalid { border-color: #e74c3c; background: #fff8f8; }
@media (max-width: 480px) {
  .time-native input[type="time"] { height: 35px; font-size: 13px; }
}

/* ── Native Time Input Styling ── */
.limo-booking-form input[type="time"],
.limo-hero-form input[type="time"] {
  width: 100%;
  height: var(--h);
  padding: 0 11px;
  border: 1.5px solid var(--border);
  border-radius: var(--r);
  font-size: 12.5px;
  font-family: var(--ff);
  color: var(--ink);
  background: var(--bg-field);
  box-sizing: border-box;
  margin: 0;
  transition: border-color var(--t), background var(--t);
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
}
.limo-booking-form input[type="time"]:focus,
.limo-hero-form input[type="time"]:focus {
  outline: none;
  border-color: var(--gold);
  background: #fff;
  box-shadow: inset 0 0 0 1px var(--gold-ring);
}
.limo-booking-form input[type="time"]::-webkit-calendar-picker-indicator,
.limo-hero-form input[type="time"]::-webkit-calendar-picker-indicator { opacity: 0.4; cursor: pointer; }
.limo-booking-form input[type="time"]:invalid,
.limo-hero-form input[type="time"]:invalid { border-color: #e74c3c; background: #fff8f8; }

.limo-native-ph {
    position: absolute;
    top: 50%;
    left: 12px;
    transform: translateY(-50%);
    color: #aaa;
    font-size: 14px;
    pointer-events: none;
    white-space: nowrap;
    z-index: 1;
}

/* ═══════════════════════════════════════════
   LIMO BOOKING — Date & Time Field Fixes v5.3
═══════════════════════════════════════════ */
input[name="pickup-time"]::-webkit-calendar-picker-indicator,
input[name="return-time"]::-webkit-calendar-picker-indicator { opacity: 0; width: 0; padding: 0; }
input[name="pickup-time"]::-webkit-list-button,
input[name="return-time"]::-webkit-list-button { display: none; }
.limo-time-wrap,
.limo-date-wrap { position: relative; display: block; }
.limo-time-wrap input[type="time"]:not(:focus):not([data-filled]),
.limo-date-wrap input[type="date"]:not(:focus):not([data-filled]) { color: transparent; }
.limo-time-ph,
.limo-date-ph {
    display: none;
    position: absolute;
    top: 50%;
    left: 12px;
    transform: translateY(-50%);
    color: #aaa;
    font-size: 14px;
    pointer-events: none;
    z-index: 1;
}

/* =============================================
   SMS Acceptance — Dark Contact Form Fix
   ============================================= */

/* Force the span wrapper to be a flex row */
.contact-form-dark .wpcf7-acceptance.acceptance-796 {
    display: block!important;
    width: 100%!important;
}

.contact-form-dark .wpcf7-acceptance.acceptance-796 .wpcf7-list-item {
    display: flex!important;
    flex-direction: row!important;
    align-items: flex-start!important;
    justify-content: flex-start!important;
    gap: 10px!important;
    margin: 0!important;
    padding: 0!important;
    width: 100%!important;
}

/* Label must also be flex row, left aligned, wrapping text */
.contact-form-dark .wpcf7-acceptance.acceptance-796 .wpcf7-list-item label {
    display: flex!important;
    flex-direction: row!important;
    align-items: flex-start!important;
    justify-content: flex-start!important;
    gap: 10px!important;
    white-space: normal!important;
    font-size: 11px!important;
    font-weight: 300!important;
    line-height: 1.5!important;
    color: rgba(255,255,255,0.6)!important;
    margin: 0!important;
    padding: 0!important;
    width: 100%!important;
    cursor: pointer!important;
}

/* Checkbox locked size */
.contact-form-dark .wpcf7-acceptance.acceptance-796 .sms-accept {
    flex: 0 0 18px!important;
    width: 18px!important;
    min-width: 18px!important;
    height: 18px!important;
    min-height: 18px!important;
    max-height: 18px!important;
    margin: 2px 0 0 0!important;
    align-self: flex-start!important;
}

/* Text readable on dark bg */
.contact-form-dark .wpcf7-acceptance.acceptance-796 .wpcf7-list-item-label {
    flex: 1!important;
    white-space: normal!important;
    font-size: 11px!important;
    font-weight: 300!important;
    line-height: 1.5!important;
    color: rgba(255,255,255,0.6)!important;
    display: block!important;
}

/* =============================================
   SMS Acceptance — Dark Contact Form (acceptance-335)
   ============================================= */

[data-name="acceptance-335"] .wpcf7-list-item {
    display: flex!important;
    flex-direction: row!important;
    align-items: flex-start!important;
    margin: 0!important;
    padding: 0!important;
    width: 100%!important;
}

[data-name="acceptance-335"] .wpcf7-list-item label {
    display: flex!important;
    flex-direction: row!important;
    align-items: flex-start!important;
    gap: 10px!important;
    white-space: normal!important;
    width: 100%!important;
    margin: 0!important;
    padding: 0!important;
    cursor: pointer!important;
}

[data-name="acceptance-335"] .sms-accept {
    -webkit-appearance: none!important;
    appearance: none!important;
    flex: 0 0 18px!important;
    width: 18px!important;
    min-width: 18px!important;
    height: 18px!important;
    min-height: 18px!important;
    max-height: 18px!important;
    margin: 2px 0 0 0!important;
    padding: 0!important;
    border-radius: 4px!important;
    border: 1px solid #b5b0a8!important;
    cursor: pointer!important;
    position: relative!important;
    background: linear-gradient(160deg, #ffffff 0%, #e8e4df 100%)!important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.9),
        inset 0 -1px 0 rgba(0,0,0,0.06),
        0 2px 5px rgba(0,0,0,0.13),
        0 1px 2px rgba(0,0,0,0.08)!important;
    transition: all 0.16s ease!important;
}

[data-name="acceptance-335"] .sms-accept:hover {
    border-color: #e5a800!important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.9),
        0 3px 7px rgba(0,0,0,0.16)!important;
}

[data-name="acceptance-335"] .sms-accept:checked {
    background: linear-gradient(160deg, #f8c832 0%, #e5a400 100%)!important;
    border-color: #c88f00!important;
    box-shadow:
        inset 0 2px 4px rgba(0,0,0,0.22),
        0 1px 2px rgba(0,0,0,0.1)!important;
}

[data-name="acceptance-335"] .sms-accept::after {
    content: ""!important;
    display: block!important;
    position: absolute!important;
    left: 5px!important;
    top: 2px!important;
    width: 5px!important;
    height: 9px!important;
    border: 2px solid #fff!important;
    border-top: none!important;
    border-left: none!important;
    transform: rotate(45deg) scale(0)!important;
    opacity: 0!important;
    transition: transform 0.14s ease, opacity 0.14s ease!important;
}

[data-name="acceptance-335"] .sms-accept:checked::after {
    transform: rotate(45deg) scale(1)!important;
    opacity: 1!important;
}

[data-name="acceptance-335"] .wpcf7-list-item-label {
    flex: 1!important;
    font-size: 11px!important;
    font-weight: 300!important;
    line-height: 1.5!important;
    white-space: normal!important;
    color: rgba(255,255,255,0.6)!important;
    display: block!important;
}