/* LIFTING VISUEL DU SITE
   Le thème Prisma est réglé avec un arrondi global à 0 (--theme-var-rad), ce qui
   donne des boutons et blocs très anguleux. Cette feuille adoucit l'ensemble :
   arrondis cohérents, survols plus vivants, focus visibles, champs plus nets.
   Tout passe par les variables ci-dessous : pour revenir en arrière ou ajuster,
   il suffit de modifier ces valeurs. */
:root {
    --pl-rad-btn: 8px;     /* boutons / CTA */
    --pl-rad-field: 6px;   /* champs de formulaire */
    --pl-rad-block: 12px;  /* cartes, encarts, notices */
    --pl-rad-img: 10px;    /* visuels produits */
    --pl-shadow-sm: 0 1px 2px rgba(17, 12, 34, .06), 0 2px 8px rgba(17, 12, 34, .06);
    --pl-shadow-md: 0 6px 20px rgba(17, 12, 34, .12);
    --pl-ease: cubic-bezier(.2, .7, .3, 1);
    --pl-focus: var(--theme-color-text_link, #ae30a2);
}

/* ---------- Boutons / CTA ---------- */
.theme_button,
.sc_button,
.wp-block-button__link,
.elementor-button,
.post_item .more-link,
.nav-links-more .nav-load-more,
.woocommerce-links-more .woocommerce-load-more,
.sc_item_pagination_load_more .nav-links,
.show_comments_single .show_comments_button,
.trx_addons_popup_form_field_submit .submit_button,
input[type="button"],
input[type="reset"],
input[type="submit"],
button.button,
.woocommerce .button,
.woocommerce-page .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce #btn-buy,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce div.product form.cart .button,
.wc-block-components-button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.checkout-button,
.yith-ywraq-add-button .add-request-quote-button,
.add-request-quote-button {
    border-radius: var(--pl-rad-btn) !important;
    transition: background-color .25s var(--pl-ease), color .25s var(--pl-ease),
                border-color .25s var(--pl-ease), box-shadow .25s var(--pl-ease),
                transform .25s var(--pl-ease), opacity .25s var(--pl-ease);
}

.theme_button:hover,
.sc_button:not(.sc_button_simple):hover,
.wp-block-button__link:hover,
.elementor-button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
button.button:hover,
.woocommerce .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce div.product form.cart .button:hover,
.wc-block-components-button:hover,
.checkout-button:hover,
.add-request-quote-button:hover {
    transform: translateY(-1px);
    box-shadow: var(--pl-shadow-md);
}

.theme_button:active,
.sc_button:active,
.elementor-button:active,
input[type="submit"]:active,
button.button:active,
.woocommerce .button:active,
.woocommerce button.button:active {
    transform: translateY(0);
    box-shadow: var(--pl-shadow-sm);
}

/* Boutons désactivés : pas d'effet de survol trompeur */
.button.disabled:hover,
.button:disabled:hover,
button[disabled]:hover,
input[type="submit"][disabled]:hover {
    transform: none;
    box-shadow: none;
}

/* Focus clavier visible et cohérent avec la couleur de marque */
a:focus-visible,
button:focus-visible,
.button:focus-visible,
.sc_button:focus-visible,
.elementor-button:focus-visible,
input[type="submit"]:focus-visible,
input[type="button"]:focus-visible {
    outline: 2px solid var(--pl-focus);
    outline-offset: 2px;
}

/* ---------- Champs de formulaire ---------- */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="date"],
textarea,
select,
.select_container,
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple,
.woocommerce .quantity .qty,
.wc-block-components-text-input input,
.wc-block-components-combobox .components-combobox-control__input {
    border-radius: var(--pl-rad-field) !important;
    transition: border-color .2s var(--pl-ease), box-shadow .2s var(--pl-ease);
}
.select_container select {
    border-radius: var(--pl-rad-field) !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
textarea:focus,
select:focus {
    border-color: var(--pl-focus) !important;
    box-shadow: 0 0 0 3px rgba(174, 48, 162, .15);
    outline: none;
}

/* Champs de recherche (header, widgets) */
.search_wrap .search_field,
.widget_search .search-field {
    border-radius: var(--pl-rad-field) !important;
}

/* ---------- Cartes produits ---------- */
.woocommerce ul.products li.product .post_featured,
.woocommerce-page ul.products li.product .post_featured {
    border-radius: var(--pl-rad-img);
    transition: box-shadow .3s var(--pl-ease);
}
.woocommerce ul.products li.product .post_featured img {
    transition: transform .5s var(--pl-ease);
}
.woocommerce ul.products li.product:hover .post_featured {
    box-shadow: var(--pl-shadow-md);
}
.woocommerce ul.products li.product:hover .post_featured img {
    transform: scale(1.03);
}
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale,
.woocommerce ul.products li.product .outofstock_label {
    border-radius: 999px;
}

/* ---------- Fiche produit ---------- */
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper,
.woocommerce div.product div.images .woocommerce-product-gallery__image,
.woocommerce div.product div.images .flex-viewport {
    border-radius: var(--pl-rad-block);
    overflow: hidden;
}
.woocommerce div.product div.images .flex-control-thumbs li img {
    border-radius: var(--pl-rad-field);
}
.single-product div.product .woocommerce-tabs .wc-tabs li a {
    border-radius: var(--pl-rad-btn) var(--pl-rad-btn) 0 0 !important;
}

/* ---------- Encarts, notices, tableaux ---------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
.wc-block-components-notice-banner,
.wc-block-store-notice {
    border-radius: var(--pl-rad-block);
}

.woocommerce table.shop_table,
.woocommerce .cart_totals,
.woocommerce-checkout-review-order,
.woocommerce-MyAccount-navigation,
.woocommerce-customer-details address,
.wp-block-woocommerce-cart-totals-block,
.wc-block-components-sidebar .wc-block-components-panel {
    border-radius: var(--pl-rad-block);
}
.woocommerce table.shop_table {
    border-collapse: separate;
    overflow: hidden;
}

.wp-block-image img,
.post_content .wp-block-image img,
.elementor-widget-image-box .elementor-image-box-img img {
    border-radius: var(--pl-rad-img);
}

/* Pagination */
.nav-links .page-numbers,
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    border-radius: var(--pl-rad-field) !important;
}

/* Bandeau de fermeture et popup guide attributs */
.guide-content {
    border-radius: var(--pl-rad-block);
    box-shadow: 0 20px 50px rgba(17, 12, 34, .25);
}

/* Respect des préférences d'accessibilité */
@media (prefers-reduced-motion: reduce) {
    .woocommerce ul.products li.product:hover .post_featured img,
    .theme_button:hover,
    .sc_button:hover,
    .elementor-button:hover,
    .button:hover,
    input[type="submit"]:hover {
        transform: none !important;
    }
}
