/**
 * AM API Skydive - Styles
 */

.am-skydive-datepicker-wrapper {
    margin: 20px 0;
    padding: 15px;
    background-color: #f9f9f9;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
}

.am-skydive-datepicker-wrapper label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: #333;
}

.am-skydive-datepicker-wrapper label .required {
    color: #e2401c;
}

.am-skydive-datepicker {
    width: 100%;
    max-width: 300px;
    padding: 10px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    background-color: #fff;
    cursor: pointer;
    transition: border-color 0.3s ease;
}

.am-skydive-datepicker:hover {
    border-color: #999;
}

.am-skydive-datepicker:focus {
    outline: none;
    border-color: #0073aa;
    box-shadow: 0 0 0 2px rgba(0, 115, 170, 0.1);
}

.am-skydive-date-error {
    margin-top: 8px;
    font-size: 13px;
    font-weight: 500;
}

/* jQuery UI Datepicker customization */
.ui-datepicker {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    font-family: inherit;
    z-index: 999999 !important;
}

.am-skydive-datepicker-field {
    position: relative;
    max-width: 300px;
}

.am-skydive-datepicker-field .am-skydive-datepicker {
    padding-right: 40px;
}

.am-skydive-datepicker-icon {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    font-size: 18px;
    line-height: 1;
    opacity: 0.7;
}

.am-skydive-date-hint {
    margin: 0 0 10px;
    font-size: 13px;
    color: #555;
    line-height: 1.5;
}

.ui-datepicker-header {
    background: #0073aa;
    color: #fff;
    border: none;
    border-radius: 4px 4px 0 0;
    padding: 10px;
}

.ui-datepicker-title {
    font-weight: 600;
}

.ui-datepicker-prev,
.ui-datepicker-next {
    cursor: pointer;
    top: 10px;
}

.ui-datepicker-prev:hover,
.ui-datepicker-next:hover {
    background: rgba(255, 255, 255, 0.2);
    border-radius: 3px;
}

.ui-datepicker-calendar th {
    background: #f5f5f5;
    color: #333;
    font-weight: 600;
    padding: 8px;
}

.ui-datepicker-calendar td {
    padding: 2px;
}

.ui-datepicker-calendar td a {
    padding: 8px;
    text-align: center;
    display: block;
    border-radius: 3px;
    transition: background-color 0.2s ease;
}

.ui-datepicker-calendar td a:hover {
    background: #e8f4f8;
}

.ui-datepicker-calendar .ui-state-active {
    background: #0073aa;
    color: #fff;
    font-weight: 600;
}

.ui-datepicker-calendar .ui-state-disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

/* Styles pour les dates disponibles/non disponibles */
.ui-datepicker-calendar .am-available-date a {
    background: #e8f4f8;
    color: #0073aa;
    font-weight: 600;
}

.ui-datepicker-calendar .am-available-date a:hover {
    background: #0073aa;
    color: #fff;
}

.ui-datepicker-calendar .am-unavailable-date {
    opacity: 0.3;
    cursor: not-allowed;
}

.am-skydive-datepicker:disabled {
    background-color: #f5f5f5;
    cursor: wait;
    opacity: 0.7;
}

/* Styles pour le sélecteur d'horaires */
#am-skydive-time-wrapper {
    margin-top: 15px;
}

#am-skydive-time-wrapper label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: #333;
}

.am-skydive-time-select {
    width: 100%;
    max-width: 300px;
    padding: 10px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    background-color: #fff;
    cursor: pointer;
    transition: border-color 0.3s ease;
}

.am-skydive-time-select:hover {
    border-color: #999;
}

.am-skydive-time-select:focus {
    outline: none;
    border-color: #0073aa;
    box-shadow: 0 0 0 2px rgba(0, 115, 170, 0.1);
}

.am-skydive-places-info {
    margin-top: 8px;
    font-size: 13px;
    font-weight: 500;
}

/* Styles pour le bouton d'ouverture de l'encart passager */
.am-skydive-toggle-passenger-btn {
    background-color: #0073aa;
    color: #fff;
    border: none;
    padding: 12px 20px;
    font-size: 14px;
    font-weight: 600;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.1s ease;
    display: inline-block;
    width: auto;
}

.am-skydive-toggle-passenger-btn:hover {
    background-color: #005a87;
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.am-skydive-toggle-passenger-btn:active {
    transform: translateY(0);
}

/* Styles pour l'encart passager */
.am-skydive-passenger-wrapper {
    transition: opacity 0.3s ease, max-height 0.3s ease;
    overflow: hidden;
}

.am-skydive-passenger-hidden {
    display: none;
}

.am-skydive-passenger-wrapper.am-skydive-passenger-visible {
    display: block;
}
.am-skydive-passenger-wrapper .am-skydive-weight-info,
.am-skydive-passenger-wrapper .am-skydive-age-info {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    font-weight: 400;
    color: #666;
}
.am-skydive-passenger-wrapper .am-skydive-age-info {
    color: #b45309;
    font-weight: 600;
}
.am-skydive-passenger-wrapper .form-row input,
.am-skydive-passenger-wrapper .form-row textarea{
    width: 100%;
}

/* Styles pour l'option vidéo */
.am-skydive-video-option {
    margin-top: 15px;
}

.am-skydive-video-option label {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-weight: 400;
    color: #333;
}

.am-skydive-video-option input[type="checkbox"] {
    width: 18px;
    height: 18px;
    cursor: pointer;
    margin-right: 8px;
    accent-color: #0073aa;
}

.am-skydive-video-option input[type="checkbox"]:hover {
    accent-color: #005a87;
}

/* Styles pour le bouton de test API */
.am-skydive-test-button {
    background-color: #0073aa;
    color: #fff;
    border: none;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 600;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.am-skydive-test-button:hover:not(:disabled) {
    background-color: #005a87;
}

.am-skydive-test-button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.am-skydive-test-loading {
    color: #0073aa;
    font-style: italic;
}

#am-skydive-test-result {
    font-family: monospace;
    font-size: 12px;
}

#am-skydive-test-result h5 {
    margin-bottom: 10px;
    font-size: 14px;
    font-weight: 600;
}

#am-skydive-test-result pre {
    background: #fff;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 3px;
    font-size: 11px;
    line-height: 1.5;
}

/* Styles pour le formulaire de validation de code cadeau */
.am-gift-card-validation-wrapper {
    max-width: 600px;
    margin: 30px auto;
    padding: 20px;
}

.am-gift-card-step {
    background-color: #fff;
    padding: 30px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.am-gift-card-step h2 {
    margin-top: 0;
    margin-bottom: 15px;
    color: #333;
    font-size: 24px;
}

.am-gift-card-step p {
    margin-bottom: 25px;
    color: #666;
    line-height: 1.6;
}

.am-gift-card-form {
    margin-top: 20px;
}

.am-form-row {
    margin-bottom: 20px;
}

.am-form-row label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: #333;
    font-size: 14px;
}

.am-form-row label .required {
    color: #e2401c;
}

.am-form-row input[type="text"],
.am-form-row input[type="email"],
.am-form-row input[type="date"],
.am-form-row input[type="tel"],
.am-form-row input[type="number"],
.am-form-row select {
    width: 100%;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    background-color: #fff;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    box-sizing: border-box;
}

.am-form-row input[type="text"]:focus,
.am-form-row input[type="email"]:focus,
.am-form-row input[type="date"]:focus,
.am-form-row select:focus {
    outline: none;
    border-color: #0073aa;
    box-shadow: 0 0 0 2px rgba(0, 115, 170, 0.1);
}

.am-form-row input[type="text"]:hover,
.am-form-row input[type="email"]:hover,
.am-form-row input[type="date"]:hover,
.am-form-row select:hover {
    border-color: #999;
}

.am-form-messages {
    margin-top: 20px;
    margin-bottom: 20px;
    display: none;
}

.am-message {
    padding: 12px 15px;
    border-radius: 4px;
    font-size: 14px;
    line-height: 1.5;
}

.am-message-error {
    background-color: #ffeaea;
    border: 1px solid #ffcccc;
    color: #d63638;
}

.am-message-success {
    background-color: #e8f5e9;
    border: 1px solid #c8e6c9;
    color: #2e7d32;
}

.am-form-actions {
    margin-top: 30px;
    display: flex;
    gap: 15px;
    justify-content: flex-end;
}

.am-btn {
    padding: 12px 24px;
    font-size: 14px;
    font-weight: 600;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.1s ease;
    text-decoration: none;
    display: inline-block;
    box-sizing: border-box;
}

.am-btn:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.am-btn:active:not(:disabled) {
    transform: translateY(0);
}

.am-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.am-btn-primary {
    background-color: #0073aa;
    color: #fff;
}

.am-btn-primary:hover:not(:disabled) {
    background-color: #005a87;
}

.am-btn-secondary {
    background-color: #f0f0f0;
    color: #333;
    border: 1px solid #ddd;
}

.am-btn-secondary:hover:not(:disabled) {
    background-color: #e0e0e0;
}

#am-gift-card-success-step {
    text-align: center;
}

#am-gift-card-success-step h2 {
    color: #2e7d32;
    margin-bottom: 15px;
}

.am-gift-type-tabs .am-gift-type-tab.active {
    background-color: #0073aa;
    color: #fff;
}

.am-skydive-media-options {
    margin-top: 15px;
}

.am-skydive-media-intro {
    margin: 0 0 10px;
    font-size: 13px;
    color: #666;
    line-height: 1.5;
}

.am-skydive-media-fieldset {
    border: none;
    padding: 0;
    margin: 0;
}

.am-skydive-media-label {
    display: block;
    width: 100%;
    margin: 12px 0 6px;
    padding: 0;
    font-weight: 600;
    font-style: normal;
    color: #333;
    text-align: left;
    line-height: 1.4;
}

.am-skydive-media-option {
    display: block;
}

.am-skydive-live-total {
    margin: 16px 0 8px;
    padding: 12px 14px;
    background: #eef7f0;
    border: 1px solid #b7d9c0;
    border-radius: 4px;
}

.am-skydive-live-total-label {
    display: block;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #3d6b45;
    margin-bottom: 2px;
}

.am-skydive-live-total-amount {
    display: block;
    font-size: 20px;
    font-weight: 700;
    color: #1b5e20;
    line-height: 1.3;
}

.am-skydive-live-total-detail {
    display: block;
    margin-top: 4px;
    font-size: 13px;
    color: #4a6b50;
}
    margin-bottom: 6px;
    font-weight: normal;
    font-style: normal;
}

.am-skydive-media-options fieldset {
    border: none;
    padding: 0;
    margin: 0;
}

.am-skydive-cart-success {
    margin: 0 0 20px;
    padding: 16px 18px;
    background: #e8f5e9;
    border: 1px solid #a5d6a7;
    border-radius: 6px;
}

.am-skydive-cart-success-actions {
    margin: 12px 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.am-skydive-date-actions {
    margin: 8px 0 0;
}

.am-skydive-clear-date {
    background: transparent;
    border: 1px solid #999;
    color: #333;
    padding: 6px 12px;
    font-size: 13px;
    border-radius: 4px;
    cursor: pointer;
}

.am-skydive-clear-date:hover {
    border-color: #333;
}

.am-skydive-field-hint,
.am-field-help {
    display: block;
    margin-top: 6px;
    font-size: 12px;
    color: #666;
    font-weight: normal;
}

.am-skydive-sex-row {
    padding: 10px 0;
    background: transparent;
    border: none;
    border-radius: 0;
    box-sizing: border-box;
}

.am-skydive-sex-row .am-skydive-field-hint {
    color: #666;
}

.am-gift-type-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
}

.am-gift-type-tabs .am-gift-type-tab {
    flex: 1 1 180px;
    min-height: 44px;
    border: 2px solid #0073aa;
    border-radius: 4px;
    cursor: pointer;
}

.am-gift-card-validation-wrapper .am-skydive-datepicker-wrapper {
    display: block !important;
    visibility: visible !important;
}

.am-skydive-info-notice ul {
    list-style: disc;
}

#am-gift-card-success-message {
    color: #666;
    font-size: 16px;
    line-height: 1.6;
}

/* Align Woo variation label (Type de saut) with Date de saut / Option média */
.woocommerce div.product form.cart table.variations {
    width: 100%;
    border: 0;
    background: transparent;
    margin: 0 0 16px;
}
.woocommerce div.product form.cart table.variations th,
.woocommerce div.product form.cart table.variations td,
.woocommerce div.product form.cart table.variations tbody,
.woocommerce div.product form.cart table.variations tr {
    display: block;
    width: 100% !important;
    background: transparent !important;
    background-color: transparent !important;
    color: #333 !important;
    border: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    vertical-align: top;
}
.woocommerce div.product form.cart table.variations .label,
.woocommerce div.product form.cart table.variations .label label {
    display: block;
    margin: 0 0 8px;
    padding: 0 !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    font-style: normal !important;
    color: #333 !important;
    background: none !important;
    text-align: left !important;
    line-height: 1.4;
}
.woocommerce div.product form.cart table.variations .select_container {
    display: block;
    width: 100%;
    height: auto !important;
    background: transparent !important;
    border: 0 !important;
}
.woocommerce div.product form.cart table.variations select {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    padding: 10px 12px !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    background: #fff !important;
    color: #333 !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
}

.woocommerce div.product form.cart .quantity,
.woocommerce-page div.product form.cart .quantity {
    height: 52px !important;
    width: 6.5em !important;
}
.woocommerce div.product form.cart .quantity input.qty,
.woocommerce-page div.product form.cart .quantity input.qty {
    height: 52px !important;
    width: 100% !important;
    padding: 0 1.8em 0 0.5em !important;
    line-height: 52px !important;
    font-size: 16px !important;
    color: #333 !important;
    text-align: center;
    box-sizing: border-box;
}
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce-page div.product form.cart .single_add_to_cart_button {
    height: 52px !important;
    min-height: 52px;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 52px !important;
    display: inline-flex !important;
    align-items: center;
    box-sizing: border-box;
}

.sc_layouts_row .sc_item_button:has(a[href*="jai-un-bon-cadeau"]) ~ .sc_item_button:has(a[href*="jai-un-bon-cadeau"]) {
    display: none !important;
}


