/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.11
*/

/* ============================================================
   FLEURS DEUIL LYON — Estilo del loop de productos (alineado con Paris)
   Prefijo de clases custom: fdl-

   Aplica solo a la cuadrícula de productos (.product-small).
   No toca header global, footer, ni ficha individual.
   ============================================================ */

:root {
    --fdl-ink:           #1a1a2e;
    --fdl-terracotta:    #b9613f;
    --fdl-muted:         #818590;
    --fdl-text-light:    #666666;
}

/* ------------------------------------------------------------
   LOOP DE PRODUCTOS — orden visual:
     [imagen]
     UGS : FR9XXXX-S   (terracotta, pequeño)
     CATEGORÍA         (gris uppercase, muy pequeño)
     Nombre            (ink, grande, serif heredado)
     À partir de : 145,00 €
   ------------------------------------------------------------ */

.product-small .box-text {
    padding: 18px 15px 20px;
    text-align: center;
}

/* SKU: imprimido por fdl_loop_before_title() en functions.php */
.product-small .box-text .sku_wrapper {
    display: block;
    font-size: 0.95em;
    font-weight: 600;
    color: var(--fdl-terracotta);
    letter-spacing: 0.5px;
    margin: 0 0 4px;
}
.product-small .box-text .sku_wrapper .sku {
    color: var(--fdl-terracotta);
}

/* Categoría — usa la clase nativa .category de Flatsome */
.product-small .box-text .category {
    display: block;
    font-size: 0.75em;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: var(--fdl-muted);
    margin: 0 0 6px;
}

/* Título del producto */
.product-small .title-wrapper {
    margin-bottom: 8px;
}
.product-small .title-wrapper .woocommerce-loop-product__title,
.product-small .title-wrapper .woocommerce-loop-product__title a,
.shop-container .product-small .title-wrapper .woocommerce-loop-product__title a {
    color: var(--fdl-ink);
    font-size: 1.35em;
    font-weight: 600;
    line-height: 1.3;
    margin: 0;
}

/* Precio */
.product-small .price-wrapper {
    margin-top: 0;
}
.product-small .price-wrapper .price,
.product-small .price {
    color: var(--fdl-ink);
    font-size: 1.1em;
    font-weight: 600;
    margin: 0;
    display: block;
}

/* Sufijo del precio (TVA incluse, etc.) en gris discreto */
.product-small .price .woocommerce-Price-suffix,
.product-small .price small {
    color: var(--fdl-muted);
    font-size: 0.7em;
    font-weight: 400;
    margin-left: 4px;
    text-decoration: none;
}

/* Ocultar metadatos redundantes y reseñas (no usadas en este sector) */
.product-small .box-text .posted_in,
.product-small .box-text .tagged_as,
.product-small .star-rating,
.product-small .woocommerce-review-link {
    display: none !important;
}

/* Ocultar el botón "Ajouter au panier" debajo del precio del loop */
.product-small .add_to_cart_button {
    display: none !important;
}


@media only screen and (max-width: 48em) {
    .product-small .title-wrapper .woocommerce-loop-product__title,
    .product-small .title-wrapper .woocommerce-loop-product__title a {
        font-size: 1.15em;
    }
    .product-small .box-text .sku_wrapper {
        font-size: 0.85em;
    }
}


/* ============================================================
   PÁGINA 404 — clases usadas por flatsome-child/404.php
   ============================================================ */
.error-404 #divLogo404 {
    font-size: 6em;
    font-weight: bold;
    opacity: .3;
}
.error-404 #divLogo404 img {
    height: 1em;
    margin-left: 15% !important;
}
.error-404 #divTexto404 {
    margin-top: 8% !important;
}
.error-404 #divContImgs404 {
    padding-top: 0 !important;
}
.error-404 #divContImgs404 > p {
    font-variant: small-caps;
    text-align: center;
}
.error-404 #divContImgs404 .boxImg404 {
    width: 372px;
}
.error-404 .textoBajoFoto404 a span {
    font-size: 120%;
}
.error-404 .nameProduct404 {
    font-size: 1.3em !important;
}

/* Imágenes de categorías en páginas 404 y carrito vacío */
.img404CartEmpty {
    width: 80% !important;
}


/* ============================================================
   PÁGINA CARRITO VACÍO — clases usadas por
   flatsome-child/woocommerce/cart/cart-empty.php
   ============================================================ */
#divContImgsCartEmpty {
    margin-top: -0.5%;
    padding-top: 0;
}
#divContImgsCartEmpty > p {
    text-align: center;
    font-variant: small-caps;
}
#divContImgsCartEmpty .boxImgCartEmpty {
    width: 372px;
}
.textoBajoFotoCartEmpty a span {
    font-size: 120%;
}

/* Centrar título en la página de carrito */
.woocommerce-cart h1 {
    text-align: center;
}


/* ============================================================
   TRUST BADGE — banner livraison/paiement bajo botón añadir al carrito
   ============================================================ */
.fdl-trust-badges {
    margin-bottom: 1.5em !important;
    margin-top: -0.5em !important;
    text-align: center !important;
}
.fdl-trust-badges img {
    max-width: 100%;
    height: auto;
}


/* =============================================================
   BANNER DE COOKIES (GDPR — Moove GDPR Plugin) — modal centrado
   Replicado de Paris child theme style.css. Lo deja centrado en
   la pantalla con un overlay oscuro detrás, en lugar del banner
   fijo abajo por defecto del plugin.
   ============================================================= */

#moove_gdpr_cookie_info_bar {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    width: 700px !important;
    transform: translate(-50%, -50%) !important;
    z-index: 9001 !important;
    background: #fff !important;
    color: #000 !important;
    border-radius: 5px !important;
    display: none !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    pointer-events: all !important;
    height: 35% !important;
    min-height: 300px !important;
}

body.overlay-visible #moove_gdpr_cookie_info_bar {
    display: flex !important;
}

body.overlay-visible::before {
    content: "" !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0, 0, 0, 0.7) !important;
    z-index: 9000 !important;
}
body.banner-closed::before {
    display: none !important;
}

.moove-gdpr-info-bar-container .moove-gdpr-info-bar-content p {
    color: #000 !important;
}
.moove-gdpr-info-bar-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    margin-top: 40px !important;
    text-align: center !important;
}

#moove_gdpr_cookie_info_bar .moove-gdpr-button-holder .mgbutton {
    opacity: 1 !important;
    font-weight: normal !important;
    filter: none !important;
    box-shadow: none !important;
}
.moove-gdpr-cookie-notice p {
    margin-bottom: 10px !important;
    font-size: 1em !important;
    line-height: 1.5 !important;
    font-weight: normal !important;
    color: black !important;
}
.moove-gdpr-cookie-notice p strong {
    font-weight: normal !important;
    text-align: justify !important;
    font-size: 1em !important;
}
.moove-gdpr-button-holder {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    padding-left: 0 !important;
    margin: 10px;
}

/* Orden visual: Rejeter (1), Réglages (2), Accepter (3) */
.moove-gdpr-infobar-reject-btn {
    order: 1 !important;
    color: black !important;
    background-color: #fff !important;
    border: 1px solid black !important;
}
.moove-gdpr-infobar-settings-btn {
    order: 2 !important;
    color: black !important;
    background-color: #fff !important;
    border: 1px solid black !important;
}
.moove-gdpr-infobar-allow-all {
    order: 3 !important;
    background-color: #03702f !important;
    border: 1px solid #03702f !important;
}

.moove-gdpr-infobar-reject-btn:hover,
.moove-gdpr-infobar-settings-btn:hover {
    color: #fff !important;
    background-color: black !important;
    box-shadow: none !important;
}
.moove-gdpr-infobar-allow-all:hover {
    color: #03702f !important;
    background-color: #fff !important;
    border: 1px solid #03702f !important;
}

.imagen-logo {
    margin-top: -75px !important;
    height: 60px !important;
    width: auto !important;
    max-width: 90% !important;
}


/* =============================================================
   RESPONSIVE — BANNER GDPR (breakpoints específicos)
   ============================================================= */
@media (max-width: 1380px) {
    #moove_gdpr_cookie_info_bar {
        min-height: 500px;
    }
    .moove-gdpr-cookie-notice p {
        font-size: 1em !important;
    }
}

@media (max-width: 950px) and (min-width: 767px) {
    #moove_gdpr_cookie_info_bar {
        width: 80% !important;
    }
    .moove-gdpr-cookie-notice p {
        font-size: 1em !important;
        word-wrap: break-word !important;
        white-space: normal !important;
    }
    .moove-gdpr-button-holder {
        width: 100% !important;
        justify-content: center !important;
    }
    .mgbutton {
        width:  auto !important;
        margin: 5px !important;
    }
}

@media (max-width: 767px) {
    #moove_gdpr_cookie_info_bar {
        width:  90% !important;
        bottom: 10px !important;
    }
    .mgbutton {
        font-size: 14px !important;
    }
    .imagen-logo {
        height: 60px !important;
    }
}

@media (max-width: 553px) {
    #moove_gdpr_cookie_info_bar {
        width:  90% !important;
        height: 40% !important;
        top:    40% !important;
    }
    .moove-gdpr-cookie-notice p {
        font-size:  0.95em !important;
        margin-top: -20px !important;
    }
    .imagen-logo {
        height: 55px !important;
    }
}

@media (max-width: 415px) {
    #moove_gdpr_cookie_info_bar {
        height: 50% !important;
    }
    .moove-gdpr-button-holder {
        margin-top:    0    !important;
        margin-bottom: 10px !important;
    }
    .imagen-logo {
        height: 50px !important;
    }
}

@media (max-width: 375px) {
    #moove_gdpr_cookie_info_bar {
        height: 60% !important;
    }
    .moove-gdpr-button-holder {
        margin-top:    0    !important;
        margin-bottom: 10px !important;
    }
    .imagen-logo {
        height: 45px !important;
    }
}

/* ============================================================
   FDL — Checkout estilo Paris (anadido 2026-06-08)
   (a) Boton "Valider ma commande" verde tienda + ancho completo
   (b) Miniatura del producto + enlace "Retirer le produit" en el resumen
   ============================================================ */

/* (a) Boton "Valider ma commande" — ancho completo y verde tienda */
#place_order,
.form-row #place_order {
    width: 100%;
    background-color: #03702f !important;
    border-color: #03702f !important;
    color: #fff !important;
    border-radius: 5px !important;
    font-weight: 600;
    letter-spacing: 0.5px;
    transition: background 0.3s ease;
}
#place_order:hover {
    background-color: #025322 !important;
    border-color: #025322 !important;
}

/* (b) Boton y texto "Retirer le produit" en el checkout */
div.removeProductContainer {
    display: inline-flex;
}
a.removeProductLink {
    margin-bottom: 0.5em;
}
span.removeProductText {
    margin-left: 0.5em;
    padding-top: 0.2em;
}

/* (b) Nombre y precio del producto en el resumen de pedido */
.woocommerce-checkout-review-order .product-total .woocommerce-Price-amount {
    font-size: 1.5em;
}
.woocommerce-checkout-review-order .product-total .woocommerce-Price-amount .woocommerce-Price-currencySymbol {
    font-size: 1em !important;
}
.woocommerce-checkout-review-order .product-item-thumbnail {
    margin-bottom: 1em;
}
.woocommerce-checkout-review-order .productItemName {
    display: contents;
    font-weight: bold;
}

/* Ocultar campo "Pays/région" en el checkout — el servicio se limita a Francia */
#billing_country_field,
#shipping_country_field {
    display: none;
}

/* ============================================================
   FDL — Ficha de producto + caja de terminos estilo Paris (anadido 2026-06-09)
   ============================================================ */

/* (Ficha) Ocultar boton "Limpiar" de las variaciones */
.variations_form .reset_variations {
    visibility: hidden !important;
}

/* (Ficha) Select de variaciones (talla) mas grande */
.product .variations_form select {
    font-size: 16px;
    padding: 10px;
    width: 100%;
}

/* (Checkout) Caja "Conditions generales de vente" — borde verde tienda */
.woocommerce-terms-and-conditions-wrapper .validate-required {
    margin-bottom: 1.5em;
}
.woocommerce-terms-and-conditions-wrapper p label {
    border: 2px solid #03702f !important;
    font-size: 0.8em;
    padding-bottom: 2%;
}

/* (Checkout) Checkbox de terminos — mas grande en desktop para evitar fallos de seleccion */
.woocommerce-terms-and-conditions-wrapper input[type=checkbox] {
    -ms-transform:     scale(2) !important;
    -moz-transform:    scale(2) !important;
    -webkit-transform: scale(2) !important;
    -o-transform:      scale(2) !important;
    margin-left: 3% !important;
    margin-top:  3% !important;
    padding:     10px !important;
}
.woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions-checkbox-text {
    font-size: 1.2em !important;
    margin-left: 3% !important;
}

/* (Checkout) Terminos en movil — checkbox a tamano normal */
@media (max-width: 768px) {
    .woocommerce-terms-and-conditions-wrapper input[type=checkbox] {
        -ms-transform:     scale(1) !important;
        -moz-transform:    scale(1) !important;
        -webkit-transform: scale(1) !important;
        -o-transform:      scale(1) !important;
        padding: 0 !important;
    }
    .woocommerce-terms-and-conditions-wrapper .form-row .checkbox {
        line-height:  1.2 !important;
        padding-left: 3% !important;
    }
    .woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions-checkbox-text {
        font-size: 1em !important;
    }
    .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox {
        padding-bottom: 2% !important;
    }
}

/* (Ficha) Precio del producto y de la VARIACION mas grande (alineado con Paris).
   Sin forzar "Spectral" (Lyon no la carga): se respeta la fuente del tema. */
.product-page-price,
.woocommerce div.product p.price,
.woocommerce div.product .single_variation_wrap .woocommerce-variation-price .price {
    font-size: 2rem !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    color: #1a1a2e !important;
    margin: 0.5rem 0 1rem !important;
}
.product-page-price .woocommerce-Price-amount,
.woocommerce div.product .single_variation_wrap .woocommerce-Price-amount {
    font-weight: 600 !important;
    color: #1a1a2e !important;
}
.product-page-price .woocommerce-Price-currencySymbol,
.woocommerce div.product .single_variation_wrap .woocommerce-Price-currencySymbol {
    font-size: 0.78em;
    margin-left: 0.1em;
}
.woocommerce-price-suffix {
    display: inline-block;
    margin-left: 0.5rem;
    font-size: 0.85rem;
    font-weight: 400;
    color: #818590;
    letter-spacing: 0.02em;
}
@media (max-width: 768px) {
    .product-page-price,
    .woocommerce div.product p.price,
    .woocommerce div.product .single_variation_wrap .woocommerce-variation-price .price {
        font-size: 1.65rem !important;
    }
}


/* =============================================================
   [FDL] Banner cookies GDPR — responsive movil (2026-06-15).
   Modal centrado; en movil/landscape: ancho seguro (cabe), alto por contenido
   (clave bottom:auto: si no, top:50%+bottom:10px lo estiraba y cortaba "Accepter"),
   botones en columna tactiles. Replicado del fix de Toulouse.
   ============================================================= */
#moove_gdpr_cookie_info_bar {
    width: min(700px, calc(100vw - 32px)) !important;   /* cabe siempre; 700px en desktop */
}
@media (max-width: 767px), (max-height: 620px) {
    #moove_gdpr_cookie_info_bar {
        top: 50% !important;
        bottom: auto !important;          /* CLAVE: sin esto se estira y corta botones */
        height: auto !important;          /* alto por contenido */
        min-height: 0 !important;
        max-height: 88dvh !important;
        overflow-y: auto !important;
        content-visibility: visible !important;
        padding: 14px 14px 18px !important;
    }
    #moove_gdpr_cookie_info_bar .imagen-logo { margin-top: 4px !important; height: 46px !important; }
    #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-content { margin-top: 10px !important; }
    #moove_gdpr_cookie_info_bar .moove-gdpr-cookie-notice p { margin-top: 6px !important; } /* anula el -75px que solapaba el logo */
    #moove_gdpr_cookie_info_bar .moove-gdpr-button-holder {
        flex-direction: column !important; align-items: center !important; gap: 8px !important; margin: 12px 0 0 !important;
    }
    #moove_gdpr_cookie_info_bar .moove-gdpr-button-holder .mgbutton {
        width: 90% !important; min-height: 44px !important; margin: 0 !important;
        display: flex !important; align-items: center !important; justify-content: center !important;
    }
}

/* [FDL] Modal "Reglages"/"Parametres" GDPR en movil (2026-06-15) — SOLO WP */
@media (max-width: 767px), (max-height: 620px) {
    #moove_gdpr_cookie_modal .moove-gdpr-modal-content {
        min-width: 0 !important;
        width: calc(100vw - 24px) !important;
        max-width: calc(100vw - 24px) !important;
        min-height: 0 !important;
        max-height: 90dvh !important;
        overflow-y: auto !important;
    }
}

/* [FDT] Modal cookies — boton de cerrar dentro de la esquina (movil) 2026-06-15 */
@media (max-width:767px),(max-height:620px){
  #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-close{
    top:12px !important; right:12px !important; left:auto !important; bottom:auto !important;
  }
}

/* [FDT] Modal cookies — modal en una sola pieza en movil, sin doble scroll 2026-06-15 */
@media (max-width:767px),(max-height:620px){
  #moove_gdpr_cookie_modal .moove-gdpr-modal-content,
  #moove_gdpr_cookie_modal .moove-gdpr-modal-right-content,
  #moove_gdpr_cookie_modal .main-modal-content{ height:auto !important; }
  #moove_gdpr_cookie_modal .moove-gdpr-tab-content{ height:auto !important; max-height:none !important; overflow:visible !important; margin-bottom:0 !important; }
  #moove_gdpr_cookie_modal .moove-gdpr-modal-footer-content{ position:static !important; }
}

/* [FDT] Modal cookies — raya divisoria: footer relative (re-ancla el ::before) + raya top:0, sin solape 2026-06-15 */
@media (max-width:767px),(max-height:620px){
  #moove_gdpr_cookie_modal .moove-gdpr-modal-footer-content{ position:relative !important; }
  #moove_gdpr_cookie_modal .moove-gdpr-modal-footer-content::before{ top:0 !important; }
}
