.wpcf7 .mtv-birthdate-field { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: stretch; }
.wpcf7 .mtv-birthdate-field input { min-width: 0; width: 100%; }
.wpcf7 .mtv-birthdate-field .wpcf7-not-valid-tip { grid-column: 1 / -1; }
.wpcf7 .mtv-birthdate-field .ui-datepicker-trigger { grid-column: 2; grid-row: 1; margin: 0; min-height: 44px; padding: 8px 14px; border: 1px solid #cb1a2b; border-radius: 3px; background: #cb1a2b; color: #fff; font: inherit; cursor: pointer; }
.wpcf7 .mtv-birthdate-field .ui-datepicker-trigger:hover { background: #a61523; }
.wpcf7 .mtv-birthdate-field .ui-datepicker-trigger:focus-visible { outline: 3px solid #1a1c1f; outline-offset: 2px; }
#ui-datepicker-div.mtv-birthdate-calendar { display: none; width: 320px; max-width: calc(100vw - 20px); padding: 12px; box-sizing: border-box; background: #fff; color: #1a1c1f; border: 1px solid #dedede; border-radius: 6px; box-shadow: 0 6px 24px #0003; font: 15px/1.4 Arial, sans-serif; z-index: 100010 !important; }
.mtv-birthdate-calendar .ui-datepicker-header { position: relative; padding: 0 30px 10px; }
.mtv-birthdate-calendar .ui-datepicker-title { display: flex; gap: 4px; }
.mtv-birthdate-calendar select { width: auto; min-width: 0; min-height: 40px; padding: 4px; margin: 0; border: 1px solid #dedede; border-radius: 3px; background: #fff; color: #1a1c1f; font: inherit; }
.mtv-birthdate-calendar .ui-datepicker-month { flex: 1; }
.mtv-birthdate-calendar .ui-datepicker-year { width: 76px; }
.mtv-birthdate-calendar .ui-datepicker-prev, .mtv-birthdate-calendar .ui-datepicker-next { position: absolute; top: 0; display: grid; place-items: center; width: 28px; height: 40px; color: #cb1a2b; cursor: pointer; text-decoration: none; }
.mtv-birthdate-calendar .ui-datepicker-prev { left: 0; }
.mtv-birthdate-calendar .ui-datepicker-next { right: 0; }
.mtv-birthdate-calendar .ui-datepicker-prev span, .mtv-birthdate-calendar .ui-datepicker-next span { font-size: 0; }
.mtv-birthdate-calendar .ui-datepicker-prev::before { content: '‹'; font-size: 28px; }
.mtv-birthdate-calendar .ui-datepicker-next::before { content: '›'; font-size: 28px; }
.mtv-birthdate-calendar table { width: 100%; border: 0; border-collapse: collapse; margin: 0; table-layout: fixed; }
.mtv-birthdate-calendar th, .mtv-birthdate-calendar td { padding: 2px; border: 0; text-align: center; background: transparent; }
.mtv-birthdate-calendar th { font-size: 13px; font-weight: bold; }
.mtv-birthdate-calendar td a, .mtv-birthdate-calendar td span { display: grid; place-items: center; min-height: 36px; padding: 2px; border-radius: 3px; color: #1a1c1f; text-decoration: none; }
.mtv-birthdate-calendar td a:hover, .mtv-birthdate-calendar td a:focus { background: #edf1fc; }
.mtv-birthdate-calendar td .ui-state-active { background: #cb1a2b; color: #fff; }
.mtv-birthdate-calendar td .ui-state-highlight { outline: 1px solid #cb1a2b; outline-offset: -1px; }
.mtv-birthdate-calendar .ui-datepicker-buttonpane { display: flex; justify-content: space-between; gap: 8px; margin-top: 10px; border-top: 1px solid #dedede; padding-top: 8px; }
.mtv-birthdate-calendar .ui-datepicker-buttonpane button { padding: 6px 10px; min-height: 36px; border: 1px solid #dedede; border-radius: 3px; background: #fff; color: #1a1c1f; font: inherit; cursor: pointer; }
.mtv-birthdate-calendar .ui-datepicker-buttonpane button:hover { background: #edf1fc; }
