/*
Theme Name: Novawave
Theme URI: https://grandconference.themegoods.com/v5
Description: Thème enfant personnalisé basé sur GrandConference
Author: ThemeGoods
Author URI: https://themeforest.net/user/ThemeGoods
Template: grandconference
Version: 1.0.0
License: GNU General Public License
License URI: https://themeforest.net/licenses/regular_extended
Text Domain: novawave
*/

  
  @font-face {
       font-family: 'DM Sans';
       src: url('fonts/DMSans-VariableFont_opsz,wght.ttf') format('truetype');
       font-weight: 100 900;
       font-style: normal;
       font-display: swap;
   }

   @font-face {
       font-family: 'Inter';
       src: url('fonts/Inter-VariableFont_opsz,wght.ttf') format('truetype');
       font-weight: 100 900;
       font-style: normal;
       font-display: swap;
   }

   body {
       font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
       line-height: 1.6;
       font-weight: 400;
       background-color: #3d3d3d !important;
       color: #ffffff !important;
   }

   h1,
   h2,
   h3,
   h4,
   h5,
   h6 {
       font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
       font-weight: 600;
       line-height: 1.3;
       margin-bottom: 1rem;
       color: #f1f1f1 !important;
   }

   .hero-section {
       background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 50%, #1a1a1a 100%);
       position: relative;
       overflow: hidden;
       padding: 6rem 0;
       min-height: 80vh;
       display: flex;
       align-items: center;
   }

   .hero-section::before {
       content: '';
       position: absolute;
       top: 0;
       left: 0;
       right: 0;
       bottom: 0;
       background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grid" width="10" height="10" patternUnits="userSpaceOnUse"><path d="M 10 0 L 0 0 0 10" fill="none" stroke="rgba(255,255,255,0.03)" stroke-width="0.5"/></pattern></defs><rect width="100" height="100" fill="url(%23grid)"/></svg>');
       opacity: 0.5;
   }

   .hero-content {
       position: relative;
       z-index: 2;
       text-align: center;
       max-width: 800px;
       margin: 0 auto;
       padding: 0 2rem;
   }

   .hero-logo {
       font-size: 4rem;
       font-weight: 700;
       color: #DDBE58;
       margin-bottom: 2rem;
       text-shadow: 0 4px 20px rgba(221, 190, 88, 0.3);
       animation: glow 3s ease-in-out infinite alternate;
   }

   @keyframes glow {
       from {
           text-shadow: 0 4px 20px rgba(221, 190, 88, 0.3);
       }

       to {
           text-shadow: 0 4px 30px rgba(221, 190, 88, 0.6);
       }
   }

   .hero-subtitle {
       font-size: 1.5rem;
       color: #ffffff;
       margin-bottom: 1rem;
       font-weight: 300;
       opacity: 0.9;
   }

   .hero-description {
       font-size: 1.1rem;
       color: #cccccc;
       margin-bottom: 3rem;
       opacity: 0.8;
   }

   .popular-products-section {
       background: linear-gradient(180deg, #3d3d3d 0%, #2d2d2d 100%);
       padding: 5rem 0;
       position: relative;
   }

   .popular-products-section::before {
       content: '';
       position: absolute;
       top: 0;
       left: 0;
       right: 0;
       height: 1px;
       background: linear-gradient(90deg, transparent, #DDBE58, transparent);
   }

   .section-title {
       font-size: 2.5rem;
       font-weight: 700;
       color: #ffffff;
       text-align: center;
       margin-bottom: 3rem;
       text-transform: uppercase;
       letter-spacing: 2px;
       position: relative;
   }

   .products-grid {
       display: grid;
       gap: 2rem;
       max-width: 1400px;
       margin: 0 auto;
       padding: 0 2rem;
   }

   .products-grid-large {
       grid-template-columns: repeat(4, 1fr);
       gap: 24px;
       margin-bottom: 32px;
   }

   .products-grid-category {
       grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
       gap: 1.5rem;
   }

   .products-grid-small {
       display: flex;
       flex-wrap: wrap;
       gap: 16px;
       justify-content: flex-start;
       margin-top: 12px;
   }

   .product-card {
       background: linear-gradient(145deg, rgba(26, 26, 26, 0.95) 0%, rgba(45, 45, 45, 0.95) 100%);
       border-radius: 20px;
       overflow: hidden;
       box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
       transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
       position: relative;
       border: 1px solid rgba(221, 190, 88, 0.2);
       opacity: 0;
       transform: translateY(30px);
   }

   .product-card.animate-in {
       opacity: 1;
       transform: translateY(0);
   }

   .product-card::before {
       content: '';
       position: absolute;
       top: 0;
       left: 0;
       right: 0;
       bottom: 0;
       background: linear-gradient(135deg, rgba(221, 190, 88, 0.05) 0%, rgba(221, 190, 88, 0.1) 100%);
       opacity: 0;
       transition: opacity 0.3s ease;
       border-radius: 20px;
   }

   .product-card:hover {
       transform: translateY(-10px) scale(1.02);
       box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
   }

   .product-card:hover::before {
       opacity: 1;
   }

   .product-card:hover .product-image {
       transform: scale(1.1);
   }

   .product-image-wrapper {
       padding: 2.5rem;
       display: flex;
       align-items: center;
       justify-content: center;
       background: linear-gradient(135deg, rgba(26, 26, 26, 0.9) 0%, rgba(40, 40, 40, 0.9) 100%);
       position: relative;
       min-height: 200px;
       border-radius: 20px 20px 0 0;
   }

   .voucher-card-category .product-image-wrapper {
       padding: 1.5rem;
       min-height: 120px;
   }

   .product-image {
       width: 100%;
       height: auto;
       max-height: 160px;
       max-width: 160px;
       object-fit: contain;
       border-radius: 12px;
       transition: transform 0.3s ease;
       filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.1));
       background: transparent;
       padding: 12px;
       box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
       border: 1px solid rgba(221, 190, 88, 0.2);
       aspect-ratio: 1;
       object-position: center;
       background-size: contain;
       background-repeat: no-repeat;
       background-position: center;
   }

   .voucher-card-category .product-image {
       max-height: 70px;
       max-width: 70px;
       border-radius: 8px;
       padding: 8px;
   }

   .product-image[src*="amazon"],
   .product-image[src*="steam"],
   .product-image[src*="netflix"],
   .product-image[src*="spotify"] {
       background: transparent;
       padding: 10px;
   }

   .product-image[src*="lycamobile"] {
       background: #0066cc;
       padding: 8px;
   }

   .product-image[src*="tinder"] {
       background: #ff6b6b;
       padding: 8px;
   }

   .product-title,
   .voucher-title {
       padding: 1.5rem 2rem 2rem;
       margin: 0;
       font-size: 1.2rem;
       font-weight: 600;
       color: #DDBE58;
       text-align: center !important;
       line-height: 1.4;
       background: transparent;
       position: relative;
       text-shadow: 0 0 5px rgba(221, 190, 88, 0.3);
       white-space: normal !important;
       word-break: break-word !important;
       max-width: 95%;
       margin: 0.5em auto 0 auto;
       hyphens: auto;
   }

   .voucher-card-category .product-title {
       padding: 1rem 1.5rem 1.5rem;
       font-size: 0.95rem;
       font-weight: 500;
   }

   .voucher-card-small {
       background: #232528;
       border-radius: 14px;
       box-shadow: 0 1px 6px rgba(0, 0, 0, 0.10);
       padding: 10px 0 6px 0;
       text-align: center;
       margin: 8px;
       width: 140px;
       display: inline-block;
       vertical-align: top;
       transition: box-shadow 0.2s, transform 0.2s, background 0.2s;
       cursor: pointer;
       border: none;
       position: relative;
   }

   .voucher-card-small:hover {
       box-shadow: 0 4px 16px rgba(0, 0, 0, 0.16);
       transform: translateY(-2px) scale(1.03);
       background: #232528;
   }

   .voucher-card-small .voucher-title {
       font-size: 1rem;
       font-weight: 600;
       color: #fff;
       margin: 0.3em 0 0 0;
       transition: color 0.2s;
   }

   .voucher-card-small:hover .voucher-title {
       color: #fff;
   }

   .voucher-card-small img {
       max-width: 60%;
       margin: 0 auto 6px auto;
       border-radius: 8px;
       display: block;
       background: #18191a;
       transition: box-shadow 0.2s;
   }

   .voucher-card-small:hover img {
       box-shadow: 0 2px 8px rgba(0, 0, 0, 0.10);
   }

   #benefits {
       background: linear-gradient(135deg, #2d2d2d 0%, #1a1a1a 100%);
       padding: 5rem 0;
       position: relative;
   }

   #benefits::before {
       content: '';
       position: absolute;
       top: 0;
       left: 0;
       right: 0;
       height: 1px;
       background: linear-gradient(90deg, transparent, #DDBE58, transparent);
   }

   #benefits h3 {
       color: #ffffff;
       font-size: 1.5rem;
       font-weight: 600;
       margin-bottom: 1rem;
   }

   #benefits p {
       color: #DDBE58 !important;
       font-size: 1rem;
       line-height: 1.6;
       opacity: 0.9;
   }

   .voucher-product-wrapper {
       display: flex;
       align-items: flex-start;
       background: #fff;
       border-radius: 24px;
       margin: 40px auto;
       max-width: 1100px;
       box-shadow: 0 2px 16px rgba(0, 0, 0, 0.07);
       padding: 40px;
   }

   .voucher-product-image {
       flex: 1;
       display: flex;
       justify-content: center;
       align-items: center;
   }

   .voucher-product-content {
       flex: 2;
       margin-left: 40px;
   }

   .voucher-product-content h1,
   .voucher-product-content .product_title {
       font-size: 2.2rem;
       font-weight: bold;
       margin-bottom: 16px;
   }

   .voucher-product-badges {
       margin: 24px 0 12px 0;
       display: flex;
       gap: 16px;
   }

   .voucher-badge {
       background: #f5f5f5;
       border-radius: 16px;
       padding: 8px 16px;
       font-size: 1rem;
       display: flex;
       align-items: center;
       gap: 8px;
   }

   .voucher-product-payment-logos {
       margin-top: 16px;
       display: flex;
       align-items: center;
       gap: 8px;
   }

   .voucher-product-payment-logos img {
       height: 32px;
       width: auto;
   }

   p,
   li,
   span,
   a {
       color: #f1f1f1 !important;
   }

   .site,
   .entry-content,
   .woocommerce,
   .product,
   .single-product,
   .post,
   .article {
       background: #18191a !important;
       color: #f1f1f1 !important;
   }

   .card,
   .widget,
   .entry-header,
   .entry-footer,
   .woocommerce-message,
   .woocommerce-info,
   .woocommerce-error,
   .woocommerce-cart-form,
   .woocommerce-checkout,
   .woocommerce-account,
   .woocommerce-tabs,
   .woocommerce-Tabs-panel {
       background: #232528 !important;
       color: #f1f1f1 !important;
       border-color: #333 !important;
   }

   .woocommerce .product .price,
   .woocommerce div.product p.price,
   .woocommerce div.product span.price {
       color: #90caf9 !important;
   }

   a,
   .woocommerce a {
       color: #DDBE58 !important;
   }

   a:hover {
       color: #90caf9 !important;
   }

   input,
   textarea,
   select,
   .woocommerce form .form-row input.input-text,
   .woocommerce form .form-row textarea,
   .woocommerce form .form-row select {
       background: #232528 !important;
       color: #f1f1f1 !important;
       border: 1px solid #444 !important;
   }

   input:focus,
   textarea:focus,
   select:focus,
   .woocommerce form .form-row input.input-text:focus,
   .woocommerce form .form-row textarea:focus,
   .woocommerce form .form-row select:focus {
       border-color: #DDBE58 !important;
       background: #18191a !important;
       color: #fff !important;
   }

   input::placeholder,
   textarea::placeholder,
   .woocommerce form .form-row input::placeholder,
   .woocommerce form .form-row textarea::placeholder {
       color: #b0b0b0 !important;
       opacity: 1;
   }

   .woocommerce form .form-row label,
   .woocommerce form .form-row .required {
       color: #f1f1f1 !important;
   }

   button,
   .button,
   input[type="submit"],
   .woocommerce button,
   .woocommerce .button {
       background: #232528 !important;
       color: #f1f1f1 !important;
       border: 1px solid #333 !important;
   }

   button:hover,
   .button:hover,
   input[type="submit"]:hover,
   .woocommerce button:hover,
   .woocommerce .button:hover {
       background: #333 !important;
       color: #fff !important;
   }

   .single_add_to_cart_button,
   .voucher-product-buy button {
       background: #232528;
       color: #fff;
       border-radius: 24px;
       font-size: 1.2rem;
       padding: 16px 0;
       width: 100%;
       margin-bottom: 16px;
       border: none;
       font-weight: bold;
       transition: background 0.2s;
   }

   .single_add_to_cart_button:hover,
   .voucher-product-buy button:hover {
       background: #1a1b1d;
   }

   .bg-white,
   .background-white,
   .has-background-white,
   .has-white-background-color {
       background: #232528 !important;
       color: #f1f1f1 !important;
   }

   hr,
   .wp-block-separator {
       border-color: #333 !important;
   }

   .woocommerce div.product .woocommerce-tabs ul.tabs li.active {
       background: #232528 !important;
       color: #f1f1f1 !important;
       border-bottom: 2px solid #DDBE58 !important;
   }

   .woocommerce div.product .woocommerce-tabs ul.tabs li {
       background: #18191a !important;
       color: #f1f1f1 !important;
       border-color: #333 !important;
   }

   .woocommerce div.product .woocommerce-tabs ul.tabs li a {
       color: #f1f1f1 !important;
   }

   .woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
       color: #DDBE58 !important;
   }

   .woocommerce-error,
   .woocommerce-info,
   .woocommerce-message {
       background: #2d2d2d !important;
       color: #ffb4b4 !important;
       border-color: #ff4c4c !important;
   }

   .woocommerce-error::before,
   .woocommerce-info::before,
   .woocommerce-message::before {
       color: #ff4c4c !important;
   }

   .woocommerce form .form-row input[type=checkbox],
   .woocommerce form .form-row input[type=radio] {
       accent-color: #DDBE58;
   }

   .woocommerce-checkout h3,
   .woocommerce-checkout h2,
   .woocommerce-checkout label {
       color: #fff !important;
   }

   .woocommerce-checkout .col2-set,
   .woocommerce-checkout #order_review,
   .woocommerce-checkout .woocommerce-checkout-review-order-table {
       background: #232528 !important;
       border-radius: 16px;
       padding: 24px;
   }

   .variations_form .variations {
       display: flex;
       flex-wrap: wrap;
       gap: 24px;
       margin-bottom: 24px;
       justify-content: flex-start;
   }

   .variations_form .variations td {
       display: flex;
       flex-wrap: wrap;
       gap: 24px;
       border: none !important;
       padding: 0 !important;
       background: none !important;
   }

   .variations_form .variations select {
       display: none !important;
   }

   .variations_form .variation-option,
   .variations_form .variation-radio {
       display: inline-flex;
       align-items: center;
       justify-content: center;
       min-width: 110px;
       min-height: 56px;
       padding: 0 24px;
       background: #232528;
       color: #fff;
       border: 2px solid #232528;
       border-radius: 16px;
       font-size: 1.1rem;
       font-weight: 500;
       cursor: pointer;
       transition: all 0.15s;
       position: relative;
       margin-bottom: 8px;
       box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
   }

   .variations_form .variation-option.selected,
   .variations_form .variation-radio.selected,
   .variation-option.selected {
       border: 2px solid #DDBE58 !important;
       background: linear-gradient(135deg, #DDBE58 0%, #c4a94a 100%) !important;
       color: #1a1a1a !important;
       font-weight: bold;
       box-shadow: 0 0 0 3px rgba(221, 190, 88, 0.3), 0 8px 25px rgba(221, 190, 88, 0.3) !important;
       transform: scale(1.05) !important;
       z-index: 2;
   }

   .variations_form .variation-option .icon-fire,
   .variations_form .variation-radio .icon-fire {
       margin-left: 8px;
       color: #DDBE58;
       font-size: 1.2em;
   }

   .variation-option {
       transition: all 0.15s;
   }

   .variation-options {
       display: flex;
       flex-wrap: wrap;
       gap: 24px;
       margin-bottom: 18px;
   }

   .variation-options .variation-option {
       margin-right: 0 !important;
   }

   .variations_form .reset_variations,
   .woocommerce-variation-add-to-cart .reset_variations {
       display: none !important;
   }

   .vouchers-section-dark {
       margin: 24px 0;
       padding: 24px;
       background: #18191a;
       border-radius: 10px;
       border-left: 4px solid #00e6c0;
       color: #f1f1f1;
   }

   .vouchers-section-dark h3 {
       margin: 0 0 18px 0;
       color: #f1f1f1;
       font-size: 20px;
       font-weight: 600;
       letter-spacing: 1px;
       opacity: 0.95;
   }

   .voucher-item-dark {
       background: #23272b;
       border-radius: 7px;
       padding: 18px;
       border: 1px solid #222;
   }

   .voucher-codes-dark {
       display: flex;
       flex-wrap: wrap;
       gap: 14px;
       margin-top: 8px;
   }

   .voucher-codes-list {
       flex-direction: column !important;
       gap: 8px !important;
   }

   .voucher-code-dark {
       margin-bottom: 0 !important;
       padding: 2px 32px 2px 8px !important;
       font-size: 14px !important;
       min-height: 0 !important;
       line-height: 1.4 !important;
       height: auto !important;
       display: flex !important;
       align-items: center !important;
       background: #1e2b22;
       border: 2px dashed #00e6c0;
       border-radius: 5px;
       font-family: "Fira Mono", "Consolas", monospace;
       color: #b6ffdb;
       text-align: center;
       font-weight: bold;
       letter-spacing: 1px;
       transition: background 0.2s;
       word-break: break-all;
       position: relative;
       overflow: hidden;
   }

   .voucher-code-text {
       font-size: 14px !important;
       white-space: nowrap !important;
       margin: 0 auto !important;
   }

   .voucher-copy-btn {
       position: absolute;
       top: 50%;
       right: 2px;
       transform: translateY(-50%);
       background: transparent;
       border: none;
       color: #00e6c0;
       font-size: 18px;
       cursor: pointer;
       outline: none;
       transition: color 0.2s;
       z-index: 2;
       padding: 0 2px;
       height: 24px;
       width: 24px;
       display: flex;
       align-items: center;
       justify-content: center;
   }

   .voucher-copy-btn:hover,
   .voucher-copy-btn:focus {
       color: #fff;
   }

   .voucher-copied-msg {
       position: absolute;
       bottom: 8px;
       right: 12px;
       background: #23272b;
       color: #00e6c0;
       font-size: 12px;
       padding: 2px 8px;
       border-radius: 4px;
       z-index: 3;
       animation: fadeInOut 2s;
   }

   @keyframes fadeInOut {
       0% {
           opacity: 0;
       }

       10% {
           opacity: 1;
       }

       90% {
           opacity: 1;
       }

       100% {
           opacity: 0;
       }
   }

   .elementor-section.elementor-section-stretched,
   .elementor-section.elementor-section-full_width,
   .elementor-section.force-full-width,
   .elementor-section.full-width-section {
       position: relative !important;
       width: 100vw !important;
       left: 50% !important;
       right: 50% !important;
       margin-left: -50vw !important;
       margin-right: -50vw !important;
       max-width: 100vw !important;
       overflow-x: hidden !important;
       padding-left: 0 !important;
       padding-right: 0 !important;
   }

   .elementor-section.elementor-section-stretched>.elementor-container,
   .elementor-section.elementor-section-full_width>.elementor-container,
   .elementor-section.force-full-width>.elementor-container,
   .elementor-section.full-width-section>.elementor-container {
       max-width: 100% !important;
       width: 100% !important;
   }

   .elementor-section.elementor-section-stretched .e-con,
   .elementor-section.elementor-section-full_width .e-con,
   .elementor-section.force-full-width .e-con,
   .elementor-section.full-width-section .e-con {
       --content-width: 100% !important;
       max-width: 100% !important;
       width: 100% !important;
   }

   .elementor-section.elementor-section-stretched .e-con>.e-con-inner,
   .elementor-section.elementor-section-full_width .e-con>.e-con-inner,
   .elementor-section.force-full-width .e-con>.e-con-inner,
   .elementor-section.full-width-section .e-con>.e-con-inner {
       max-width: 100% !important;
       width: 100% !important;
   }

   .site-main .popular-products-section {
       margin: 0;
   }

   .popular-products-section .container {
       max-width: var(--wp--style--global--content-size, 1200px);
   }

   input[type="number"][name*="quantity"],
   input[type="number"][id*="quantity"],
   .quantity input[type="number"] {
       min: 1 !important;
       max: 99 !important;
   }

   .quantity::after {
       content: "Max: 99";
       display: block;
       font-size: 0.7rem;
       color: #DDBE58;
       margin-top: 4px;
       opacity: 0.7;
   }

   .add_to_cart_button,
   .product_type_simple .add_to_cart_button,
   .woocommerce .product_type_variable .button,
   .woocommerce ul.products li.product .button,
   .woocommerce-message .button {
       display: none !important;
   }

   .woocommerce-checkout img[src*="cb"],
   .woocommerce-checkout img[alt*="CB"],
   .woocommerce-checkout img[alt*="cb"],
   .wc-block-checkout img[src*="cb"],
   .wc-block-checkout img[alt*="CB"],
   .wc-block-checkout img[alt*="cb"],
   .ezengo-checkout img[src*="cb"],
   .ezengo-checkout img[alt*="CB"],
   .ezengo-checkout img[alt*="cb"] {
       display: none !important;
   }

   .wc-block-components-order-summary-item__quantity {
       background: #232528;
       color: #fff;
       border-radius: 8px;
       font-weight: bold;
       font-size: 1.1em;
       min-width: 32px;
       min-height: 32px;
       display: flex;
       align-items: center;
       justify-content: center;
       margin-right: 10px;
       box-shadow: 0 1px 4px rgba(0, 0, 0, 0.10);
   }

   .wc-block-components-order-summary-item__price {
       display: inline-block;
       font-size: 1.1em;
       font-weight: 500;
       color: #fff;
       margin-right: 8px;
       position: relative;
   }

   .wc-block-components-order-summary-item__price:after {
       content: attr(data-quantity);
       margin-left: 6px;
       color: #b0b0b0;
       font-size: 0.98em;
       font-weight: normal;
   }

   .wc-block-components-order-summary-item__product {
       display: flex;
       flex-direction: column;
       align-items: flex-start;
   }

   .wc-block-components-order-summary-item__price+.wc-block-components-order-summary-item__quantity {
       display: inline-block !important;
       margin-left: 6px;
       color: #b0b0b0;
       font-size: 1em;
       font-weight: 400;
       vertical-align: middle;
   }

   @media (max-width: 1100px) {
       .products-grid-large {
           grid-template-columns: repeat(3, 1fr);
       }
   }

   @media (max-width: 1024px) {
       .hero-logo {
           font-size: 3.5rem;
       }

       .hero-subtitle {
           font-size: 1.3rem;
       }

       .products-grid-large {
           grid-template-columns: repeat(3, 1fr);
           gap: 1.5rem;
       }

       .products-grid-category {
           grid-template-columns: repeat(4, 1fr);
           gap: 1.25rem;
       }
   }

   @media (max-width: 900px) {
       .voucher-product-wrapper {
           flex-direction: column;
           padding: 20px;
       }

       .voucher-product-content {
           margin-left: 0;
           margin-top: 24px;
       }
   }

   @media (max-width: 800px) {
       .products-grid-large {
           grid-template-columns: repeat(2, 1fr);
       }
   }

   @media (max-width: 768px) {
       .hero-section {
           padding: 4rem 0;
           min-height: 70vh;
       }

       .hero-logo {
           font-size: 3rem;
       }

       .hero-subtitle {
           font-size: 1.2rem;
       }

       .hero-description {
           font-size: 1rem;
       }

       .section-title {
           font-size: 2rem;
       }

       .products-grid-large {
           grid-template-columns: repeat(2, 1fr);
           gap: 1.25rem;
       }

       .products-grid-category {
           grid-template-columns: repeat(3, 1fr);
           gap: 1rem;
       }

       .product-image-wrapper {
           padding: 2rem;
           min-height: 180px;
       }

       .voucher-card-category .product-image-wrapper {
           padding: 1.25rem;
           min-height: 100px;
       }

       .product-title,
       .voucher-title {
           font-size: 0.98rem;
           line-height: 1.15;
       }
   }

   @media (max-width: 600px) {
       .variation-options {
           flex-direction: column;
           gap: 12px;
       }

       .variations_form .variation-option,
       .variations_form .variation-radio {
           min-width: 100%;
           justify-content: flex-start;
       }

       .vouchers-section-dark {
           margin: 10px 0 !important;
           padding: 10px !important;
       }

       .voucher-item-dark {
           padding: 8px !important;
       }

       .voucher-codes-dark {
           flex-direction: column !important;
           gap: 8px !important;
       }

       .voucher-code-dark {
           font-size: 12px !important;
           padding: 8px 4px !important;
           min-width: 0 !important;
       }

       .voucher-copy-btn {
           font-size: 15px !important;
           top: 6px !important;
           right: 6px !important;
           padding: 2px !important;
       }

       .voucher-copied-msg {
           font-size: 11px !important;
           bottom: 4px !important;
           right: 8px !important;
           padding: 1px 6px !important;
       }

       .product-title,
       .voucher-title {
           font-size: 0.98rem;
           line-height: 1.15;
       }
   }

   @media (max-width: 500px) {
       .hero-section {
           padding: 3rem 0;
           min-height: 60vh;
       }

       .hero-logo {
           font-size: 2.5rem;
       }

       .hero-subtitle {
           font-size: 1.1rem;
       }

       .section-title {
           font-size: 1.75rem;
       }

       .products-grid-large {
           grid-template-columns: 1fr;
           gap: 1rem;
       }

       .products-grid-category {
           grid-template-columns: repeat(2, 1fr);
           gap: 0.75rem;
       }

       .product-image-wrapper {
           padding: 1.5rem;
           min-height: 160px;
       }

       .voucher-card-category .product-image-wrapper {
           padding: 1rem;
           min-height: 80px;
       }

       .product-title,
       .voucher-title {
           font-size: 1rem;
       }
   }

   /* Styles pour les tableaux GDPR - Dark Theme */
   .wp-block-table table {
       background-color: #2d2d2d !important;
       border-radius: 8px;
       overflow: hidden;
       border: 1px solid #555 !important;
   }

   .wp-block-table table td {
       background-color: #2d2d2d !important;
       color: #ffffff !important;
       border: 1px solid #555 !important;
       padding: 12px !important;
   }

   .wp-block-table table td[style*="background-color:#f8f9fa"] {
       background-color: #1a1a1a !important;
       color: #DDBE58 !important;
       font-weight: bold !important;
   }

   .wp-block-table table td[style*="padding:12px;border:1px solid #dee2e6;font-weight:bold"] {
       background-color: #1a1a1a !important;
       color: #DDBE58 !important;
       font-weight: bold !important;
   }

   /* Styles pour les tableaux dans les pages */
   .page .wp-block-table table,
   .single .wp-block-table table {
       background-color: #2d2d2d !important;
   }

   .page .wp-block-table table td,
   .single .wp-block-table table td {
       background-color: #2d2d2d !important;
       color: #ffffff !important;
       border-color: #555 !important;
   }

   /* Styles pour les listes Gutenberg - Design épuré sans puces */
   .wp-block-list {
       margin: 1.5rem 0;
       padding-left: 0;
       list-style: none;
   }

   .wp-block-list > li {
       background: rgba(45, 45, 45, 0.2);
       border-radius: 8px;
       padding: 1.25rem 1.5rem;
       margin-bottom: 1rem;
       border-left: 4px solid #DDBE58;
       transition: all 0.3s ease;
       position: relative;
   }

   .wp-block-list > li:hover {
       background: rgba(45, 45, 45, 0.4);
       border-left-color: #c4a94a;
   }

   /* Sous-listes - Design plus subtil */
   .wp-block-list ul {
       margin: 0.75rem 0 0 0;
       padding-left: 0;
       list-style: none;
   }

   .wp-block-list ul li {
       background: rgba(26, 26, 26, 0.3);
       border-radius: 6px;
       padding: 0.75rem 1rem;
       margin-bottom: 0.5rem;
       border-left: 2px solid #666;
       position: relative;
   }

   .wp-block-list ul li:hover {
       background: rgba(26, 26, 26, 0.5);
       border-left-color: #888;
   }

   /* Sous-sous-listes - Encore plus subtil */
   .wp-block-list ul ul {
       margin: 0.5rem 0 0 0;
       list-style: none;
   }

   .wp-block-list ul ul li {
       background: rgba(26, 26, 26, 0.1);
       border-radius: 4px;
       padding: 0.5rem 0.75rem;
       margin-bottom: 0.25rem;
       border-left: 1px solid #444;
       font-size: 0.9rem;
   }

   .wp-block-list ul ul li:hover {
       background: rgba(26, 26, 26, 0.2);
   }

   /* Styles pour les éléments en gras dans les listes */
   .wp-block-list strong {
       color: #DDBE58;
       font-weight: 600;
   }

   /* Espacement amélioré pour les paragraphes dans les listes */
   .wp-block-list p {
       margin-bottom: 0.5rem;
       line-height: 1.6;
   }

   .wp-block-list p:last-child {
       margin-bottom: 0;
   }

   /* Suppression complète des puces par défaut */
   .wp-block-list li::before,
   .wp-block-list ul li::before,
   .wp-block-list ul ul li::before {
       display: none !important;
   }

   /* Responsive pour les tableaux */
   @media (max-width: 768px) {
       .wp-block-table table td {
           display: block;
           width: 100%;
           border: none !important;
           border-bottom: 1px solid #555 !important;
       }
       
       .wp-block-table table td:first-child {
           background-color: #1a1a1a !important;
           color: #DDBE58 !important;
           font-weight: bold !important;
           margin-bottom: 0.5rem;
       }

       /* Responsive pour les listes */
       .wp-block-list > li {
           padding: 0.75rem 1rem;
           margin-bottom: 0.75rem;
       }

       .wp-block-list ul li {
           padding: 0.5rem 0.75rem;
       }

       .wp-block-list ul ul li {
           padding: 0.4rem 0.5rem;
           font-size: 0.85rem;
       }
   }


   @media only screen and (min-width: 1200px) {

       .elementor-section.elementor-section-stretched,
       .elementor-section.elementor-section-full_width,
       .elementor-section.force-full-width,
       .elementor-section.full-width-section {
           width: 100vw !important;
           max-width: 100vw !important;
           left: 50% !important;
           right: 50% !important;
           margin-left: -50vw !important;
           margin-right: -50vw !important;
       }

       .elementor-section.elementor-section-stretched>.elementor-container,
       .elementor-section.elementor-section-full_width>.elementor-container,
       .elementor-section.force-full-width>.elementor-container,
       .elementor-section.full-width-section>.elementor-container {
           max-width: 100% !important;
           width: 100% !important;
       }

       .elementor-section.elementor-section-stretched .e-con,
       .elementor-section.elementor-section-full_width .e-con,
       .elementor-section.force-full-width .e-con,
       .elementor-section.full-width-section .e-con {
           --content-width: 100% !important;
           max-width: 100% !important;
           width: 100% !important;
       }
   }