.single-product:not(.postid-1420):not(.postid-1433) form.cart,.single-product:not(.postid-1420):not(.postid-1433) .single_add_to_cart_button,.products .product:not(.post-1420):not(.post-1433) .add_to_cart_button,.products .product:not(.post-1420):not(.post-1433) .product_type_variable{display:none!important}
.graneco-pause-notice{background:#f4f7e7;border-bottom:1px solid #c6d49b;color:#26352f;padding:18px 0;text-align:center}
.graneco-pause-notice .ast-container{max-width:1200px}
.graneco-pause-notice p{margin:0;line-height:1.5}
.graneco-pause-notice a,.graneco-pause-footer-email a{color:inherit;text-decoration:underline;text-underline-offset:2px}
footer [data-id="138aa2c"]{display:none!important}
[data-id="7fbb14b"]>[data-id="b1837e4"]{order:-2}
[data-id="7fbb14b"]>[data-id="e6bbfe4"]{order:-1}
.graneco-service-banner{display:flex!important;align-items:center;justify-content:center;gap:.45em;flex-wrap:wrap}
.graneco-service-banner>span:first-child{font-weight:700;text-decoration:underline}
.graneco-service-banner .graneco-service-detail::before,.graneco-service-banner>a::before{content:"—";margin-right:.45em}
.graneco-service-banner a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.graneco-litiere-video{width:100%;padding:48px 24px;background:#fff;overflow:hidden}
.graneco-litiere-video-inner{width:min(1050px,100%);margin:0 auto;position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:18px;background:#101a14}
.graneco-litiere-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.elementor-element-89ad56d .elementor-background-video-container:has(video.graneco-local-background-video),.elementor-element-6eddcdd .elementor-background-video-container:has(video.graneco-local-background-video){visibility:visible!important;opacity:1!important}
.elementor-element-89ad56d .elementor-background-video-container video.graneco-local-background-video,.elementor-element-6eddcdd .elementor-background-video-container video.graneco-local-background-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none;visibility:visible!important;opacity:1!important}
@media(max-width:600px){
	.graneco-litiere-video{padding:28px 16px}
	.graneco-litiere-video-inner{border-radius:12px}
	.graneco-pause-notice{padding:15px 12px;font-size:14px}
	.graneco-service-banner{gap:.25em;font-size:14px;line-height:1.4;padding:0 10px}
	.graneco-service-banner>span,.graneco-service-banner>a{display:block;width:100%;text-align:center}
	.graneco-service-banner .graneco-service-detail::before,.graneco-service-banner>a::before{content:""}
}


/* Responsive Gran'Eco: reuse Elementor components and existing brand styles. */
/* WooCommerce's columns-N body class must not split the entire document. */
body.woocommerce-shop { column-count: auto; column-width: auto; }
@media (min-width: 690px) and (max-width: 999px) {
  #page .elementor-620 [data-id="c2b2d22"] { flex-wrap: wrap; }
  #page .elementor-620 [data-id="c2b2d22"] > .elementor-widget { width: calc(50% - 10px); flex: 0 1 calc(50% - 10px); }
}

@media (min-width: 690px) and (max-width: 1199px) {
  #page .elementor-location-header [data-id="eba9753"] .elementor-nav-menu--main { display: none !important; }
  #page .elementor-location-header [data-id="eba9753"] .elementor-menu-toggle { display: flex !important; }
  #page .elementor-location-header [data-id="92c0671"] { width: auto; flex: 1 1 0; min-width: 0; justify-content: flex-end; }
  #page .elementor-location-header [data-id="4fa1544"] { width: 128px; flex: 0 0 128px; }
  #page .elementor-location-header [data-id="ac9dd3c"],
  #page .elementor-location-header [data-id="ac66b30"] { width: 64px; }
  #page .elementor-location-header [data-id="cbd0d6f"] { width: 100%; }
}

@media (max-width: 999px) {
  #page .elementor-widget, #page .e-con, #page .e-con-inner { min-width: 0; }
  #page .elementor-widget-text-editor, #page .elementor-heading-title,
  #page .elementor-icon-list-text, #page .entry-content { overflow-wrap: break-word; }
  .elementor-location-header .elementor-menu-toggle,
  .elementor-location-header .elementor-menu-cart__toggle_button { min-width: 44px; min-height: 44px; }
  .elementor-location-header .elementor-nav-menu--dropdown a.elementor-item { min-height: 48px; padding: 14px 20px; white-space: normal; }
  #page input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]),
  #page select, #page textarea { max-width: 100%; font-size: 16px; }
  #page select, #page input[type=number], #page input[type=email], #page input[type=text],
  #page input[type=password], #page input[type=tel] { min-height: 46px; }
}
@media (max-width: 689px) {
  #page .elementor:not(.elementor-location-header):not(.elementor-location-footer) > .e-con {
    --padding-left: 20px; --padding-right: 20px;
  }
  #page .elementor:not(.elementor-location-header):not(.elementor-location-footer) h1 {
    font-size: clamp(28px, 7.7vw, 34px); line-height: 1.18;
  }
  #page .elementor:not(.elementor-location-header):not(.elementor-location-footer) h2 {
    font-size: clamp(26px, 7vw, 32px); line-height: 1.2;
  }
  #page .elementor:not(.elementor-location-header):not(.elementor-location-footer) h3:not(.elementor-image-box-title) {
    font-size: clamp(22px, 6vw, 26px); line-height: 1.25;
  }
  #page .elementor-widget-text-editor, #page .woocommerce-product-details__short-description,
  #page .elementor-icon-box-description { font-size: 16px; line-height: 1.6; }
  #page .elementor-button, #page .single_add_to_cart_button,
  #page .woocommerce a.button, #page .woocommerce button.button {
    min-height: 46px; white-space: normal; line-height: 1.35;
  }
  #page .elementor-button { display: inline-flex; align-items: center; justify-content: center; max-width: 100%; }
  #page .elementor-widget-button .elementor-button { width: 100%; }
  #page .elementor-tab-title, #page .e-n-accordion-item-title { min-height: 48px; line-height: 1.4; }
  /* Keep the whole square product photograph visible at every phone width. */
  #page .elementor-614 [data-id="1ff56b0"], #page .elementor-614 [data-id="ce57b68"] {
    min-height: 0; --min-height: 0; aspect-ratio: 1; width: 100%; background-size: cover; background-position: center;
  }
  #page .elementor-614 [data-id="29e6655"], #page .elementor-614 [data-id="3db7169"] { min-height: 0; --min-height: 0; padding-bottom: 20px; }
  #page .elementor-614 [data-id="89ad56d"] {
    --min-height: clamp(340px, 52svh, 440px); --padding-top: 16px; --padding-bottom: 16px;
    --padding-left: 16px; --padding-right: 16px;
  }
  #page .elementor-614 [data-id="caa8ed7"] {
    transform: none; width: min(230px, 78%) !important; max-width: 230px;
    margin: 0 !important; align-self: flex-end;
  }
  #page .elementor-614 [data-id="caa8ed7"] > .elementor-widget-container { padding: 12px 14px; }
  #page .elementor-614 [data-id="caa8ed7"] .elementor-image-box-title {
    font-size: 16px; line-height: 1.4; margin-bottom: 10px;
  }
  #page .elementor-614 [data-id="caa8ed7"] .elementor-image-box-description { font-size: 14px; line-height: 1.5; margin: 0; }
  /* Product purchase components retain their existing WooCommerce behavior. */
  #page .elementor-location-single .woocommerce-product-gallery { margin-bottom: 0; }
  #page .elementor-location-single .woocommerce-product-gallery__wrapper,
  #page .elementor-location-single .woocommerce-product-gallery__image { border-radius: 18px; overflow: hidden; }
  #page .elementor-location-single .woocommerce-product-gallery img { width: 100%; height: auto; }
  #page .elementor-location-single [data-id="02dbae6"],
  #page .elementor-location-single [data-id="b2f0c7a"] { gap: 18px; }
  #page .elementor-location-single .product_title, #page .elementor-location-single .price { margin-bottom: 0; }
  #page .elementor-location-single form.cart,
  #page .elementor-location-single table.variations,
  #page .elementor-location-single .variations select { width: 100%; max-width: 100%; }
  #page .elementor-location-single table.variations td,
  #page .elementor-location-single table.variations th { display: block; width: 100%; padding-left: 0; padding-right: 0; }
  #page .elementor-location-single .variations select { min-height: 48px; padding: 10px 36px 10px 12px; }
  #page .elementor-location-single .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
  #page .elementor-location-single .quantity { margin: 0; flex: 0 0 72px; }
  #page .elementor-location-single .quantity input { width: 72px; min-height: 48px; }
  #page .elementor-location-single .single_add_to_cart_button { flex: 1 1 170px; margin: 0; min-height: 48px; }
  #page .graneco-contact-cta { margin: 0; width: 100%; }
  #page .graneco-contact-cta summary { min-height: 48px; width: 100%; display: flex; align-items: center; justify-content: center; box-sizing: border-box; }
  #page .graneco-contact-phone { min-height: 44px; align-items: center; justify-content: center; }
  /* Reassurance and useful links become readable rows. */
  #page .elementor-location-footer [data-id="4523e08"] > .e-con-inner { flex-direction: column; gap: 20px; }
  #page .elementor-location-footer [data-id="4523e08"] .e-con,
  #page .elementor-location-footer [data-id="4523e08"] .elementor-widget { width: 100%; --width: 100%; border: 0; }
  #page .elementor-location-footer [data-id="4523e08"] .elementor-widget-container { border: 0; padding: 0; }
  #page .elementor-location-footer [data-id="4523e08"] .elementor-icon-box-wrapper { display: flex; flex-direction: row; align-items: center; gap: 16px; text-align: left; }
  #page .elementor-location-footer [data-id="4523e08"] .elementor-icon-box-icon { margin: 0; flex: 0 0 36px; }
  #page .elementor-location-footer [data-id="4523e08"] .elementor-icon { font-size: 30px; }
  #page .elementor-location-footer [data-id="4523e08"] h3 { margin: 0; line-height: 1.4; }
  #page .elementor-location-footer [data-id="d63cfec"] > .e-con-inner { gap: 28px; }
  #page .elementor-location-footer .elementor-icon-list-item a { min-height: 44px; align-items: center; }
  #page .elementor-location-footer .elementor-icon-list-text { overflow-wrap: anywhere; }
  #page .elementor-location-footer { padding-bottom: 40px; }
  #page .woocommerce ul.products { grid-template-columns: 1fr; }
}

.elementor-location-header .elementor-nav-menu a.elementor-item{transition:color .18s ease,background-color .18s ease;border-radius:5px}
.elementor-location-header .elementor-nav-menu a.elementor-item:hover,.elementor-location-header .elementor-nav-menu a.elementor-item:focus-visible{color:#3d8b40!important;background-color:#eef6ed!important}

/* Keep the brand and all three navigation actions on one clear mobile row. */
@media (max-width: 689px) {
  #page .elementor-location-header [data-id="5a3d17a"] {
    width: 100%; max-width: 100%; box-sizing: border-box;
    min-height: 76px; --min-height: 76px; padding: 8px 16px;
    display: flex; flex-direction: row; flex-wrap: nowrap;
    align-items: center; justify-content: space-between; gap: 8px;
  }
  #page .elementor-location-header [data-id="5a3d17a"] > .e-con-inner {
    width: 100%; max-width: 100%; min-height: 60px; padding: 0;
    display: flex; flex-direction: row; flex-wrap: nowrap;
    align-items: center; justify-content: space-between; gap: 8px;
  }
  #page .elementor-location-header [data-id="c73c7a6"] {
    width: clamp(108px, 36vw, 138px) !important; max-width: 138px;
    flex: 0 1 138px; min-width: 0; margin: 0;
  }
  #page .elementor-location-header [data-id="c73c7a6"] .elementor-widget-container,
  #page .elementor-location-header [data-id="c73c7a6"] a { display: block; width: 100%; }
  #page .elementor-location-header [data-id="c73c7a6"] img {
    display: block; width: 100%; max-width: 100%; height: auto;
  }
  #page .elementor-location-header [data-id="92c0671"] {
    width: auto !important; max-width: none; min-width: 0;
    flex: 0 0 auto; display: flex; flex-direction: row; flex-wrap: nowrap;
    align-items: center; justify-content: flex-end; gap: 2px; margin: 0;
  }
  #page .elementor-location-header [data-id="eba9753"] {
    width: 44px !important; flex: 0 0 44px; margin: 0;
  }
  #page .elementor-location-header .elementor-menu-toggle {
    width: 44px; height: 44px; min-width: 44px; min-height: 44px;
    align-items: center; justify-content: center; padding: 10px;
  }
  #page .elementor-location-header [data-id="4fa1544"],
  #page .elementor-location-header [data-id="4fa1544"] > .e-con-inner {
    width: auto !important; max-width: none; min-width: 0;
    flex: 0 0 auto; display: flex; flex-direction: row; flex-wrap: nowrap;
    align-items: center; gap: 2px; padding: 0;
  }
  #page .elementor-location-header [data-id="ac9dd3c"],
  #page .elementor-location-header [data-id="ac66b30"] {
    width: 44px !important; height: 44px; min-width: 44px;
    flex: 0 0 44px; display: flex; align-items: center; justify-content: center;
    border: 0 !important; padding: 0; margin: 0;
  }
  #page .elementor-location-header [data-id="3785ce5"] {
    width: 44px; height: 44px; min-width: 44px; margin: 0;
  }
  #page .elementor-location-header [data-id="3785ce5"] .elementor-widget-container,
  #page .elementor-location-header [data-id="3785ce5"] .elementor-icon-wrapper,
  #page .elementor-location-header [data-id="3785ce5"] .elementor-icon {
    display: flex; width: 44px; height: 44px;
    align-items: center; justify-content: center;
  }
  #page .elementor-location-header [data-id="cbd0d6f"] {
    width: 44px !important; height: 44px; min-width: 44px; margin: 0;
  }
  #page .elementor-location-header [data-id="cbd0d6f"] .elementor-widget-container { width: 100%; margin: 0 !important; }
  #page .elementor-location-header .elementor-menu-cart__toggle_button {
    width: 44px; height: 44px; min-width: 44px; min-height: 44px;
    display: flex; align-items: center; justify-content: center; padding: 0;
  }
  #page .elementor-location-header .elementor-menu-cart__toggle_button .elementor-button-icon {
    margin: 0; display: flex; align-items: center; justify-content: center;
  }
}

@media (min-width: 690px) and (max-width: 1199px) {
  #page .elementor-location-header .elementor-menu-toggle { width: 44px; height: 44px; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; padding: 10px; }
  #page .elementor-location-header [data-id="3785ce5"] .elementor-widget-container,
  #page .elementor-location-header [data-id="3785ce5"] .elementor-icon-wrapper,
  #page .elementor-location-header [data-id="3785ce5"] .elementor-icon {
    display: flex; width: 64px; height: 64px; align-items: center; justify-content: center;
  }
  #page .elementor-location-header [data-id="cbd0d6f"] .elementor-widget-container { width: 100%; margin: 0 !important; }
  #page .elementor-location-header .elementor-menu-cart__toggle_button {
    width: 64px; height: 64px; min-width: 64px; min-height: 64px;
    display: flex; align-items: center; justify-content: center; padding: 0;
  }
  #page .elementor-location-header .elementor-menu-cart__toggle_button .elementor-button-icon {
    margin: 0; display: flex; align-items: center; justify-content: center;
  }
}
#page .elementor-location-header [data-id="3785ce5"] a:focus-visible,
#page .elementor-location-header .elementor-menu-cart__toggle_button:focus-visible,
#page .elementor-location-header .elementor-menu-toggle:focus-visible {
  outline: 2px solid #3d8b40; outline-offset: 2px; border-radius: 8px;
}

/* Mouse-only motion for the account, cart and menu controls. */
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  #page .elementor-location-header [data-id="3785ce5"] a,
  #page .elementor-location-header .elementor-menu-cart__toggle_button,
  #page .elementor-location-header .elementor-menu-toggle {
    border-radius: 10px;
    transition: transform .2s ease, background-color .2s ease;
  }
  #page .elementor-location-header [data-id="3785ce5"] a:hover,
  #page .elementor-location-header .elementor-menu-cart__toggle_button:hover,
  #page .elementor-location-header .elementor-menu-toggle:hover {
    transform: translateY(-2px);
    background-color: rgba(61, 139, 64, .08);
  }
  #page .elementor-location-header [data-id="3785ce5"] .elementor-icon,
  #page .elementor-location-header .elementor-menu-cart__toggle_button .elementor-button-icon,
  #page .elementor-location-header .elementor-menu-toggle i,
  #page .elementor-location-header .elementor-menu-toggle svg {
    transition: transform .2s ease, color .2s ease;
  }
  #page .elementor-location-header [data-id="3785ce5"] a:hover .elementor-icon,
  #page .elementor-location-header .elementor-menu-cart__toggle_button:hover .elementor-button-icon,
  #page .elementor-location-header .elementor-menu-toggle:hover i,
  #page .elementor-location-header .elementor-menu-toggle:hover svg {
    transform: scale(1.1);
    color: #3d8b40;
  }
}

/* Remove the built-in dividers from the header action cells. */
#page .elementor-location-header [data-id="ac9dd3c"],
#page .elementor-location-header [data-id="ac66b30"] { border: 0 !important; }

/* Give the desktop account action the same clear hover surface as the cart. */
@media (min-width: 1200px) {
  #page .elementor-location-header [data-id="3785ce5"] {
    width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;
  }
  #page .elementor-location-header [data-id="3785ce5"] .elementor-widget-container,
  #page .elementor-location-header [data-id="3785ce5"] .elementor-icon-wrapper {
    width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;
  }
  #page .elementor-location-header [data-id="3785ce5"] .elementor-icon {
    width: 70px; height: 46px; min-width: 70px; box-sizing: border-box;
    display: flex; align-items: center; justify-content: center;
  }
}

/* Subtle footer feedback for pointer users; motion stays off when reduced motion is requested. */
#page .elementor-location-footer a:focus-visible {
  outline: 2px solid #c5db66;
  outline-offset: 4px;
  border-radius: 3px;
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  #page .elementor-location-footer a:not(.elementor-social-icon) {
    display: inline-block;
    transition: color .2s ease, transform .2s ease;
  }
  #page .elementor-location-footer a:not(.elementor-social-icon):hover {
    color: #c5db66 !important;
    transform: translateX(3px);
  }
  #page .elementor-location-footer .elementor-social-icon {
    transition: color .2s ease, transform .2s ease, box-shadow .2s ease;
  }
  #page .elementor-location-footer .elementor-social-icon:hover {
    color: #c5db66;
    transform: translateY(-3px) scale(1.1);
    box-shadow: 0 6px 14px rgba(0, 0, 0, .18);
  }
}

/* FAQ questions: a gentle hover lift without changing their open/close behavior. */
#page .elementor-626 .elementor-widget-n-accordion .e-n-accordion-item-title:focus-visible {
  outline: 2px solid #3d8b40;
  outline-offset: 3px;
  border-radius: 5px;
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  #page .elementor-626 .elementor-widget-n-accordion .e-n-accordion-item-title {
    transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
  }
  #page .elementor-626 .elementor-widget-n-accordion .e-n-accordion-item-title:hover {
    background-color: #e7f2e8;
    border-color: #3d8b40;
    box-shadow: 0 4px 12px rgba(23, 65, 31, .12);
    transform: translateY(-2px);
  }
  #page .elementor-626 .e-n-accordion-item-title-icon svg {
    transition: transform .18s ease, color .18s ease;
  }
  #page .elementor-626 .e-n-accordion-item-title:hover .e-n-accordion-item-title-icon svg {
    color: #3d8b40;
    transform: translateY(2px);
  }
}

/* Consistent, subtle feedback for clickable elements on the homepage and product pages. */
body.home #page :is(a[href], button:not(:disabled), [role="button"], input[type="button"]:not(:disabled), input[type="submit"]:not(:disabled), summary):focus-visible,
body.single-product #page :is(a[href], button:not(:disabled), [role="button"], input[type="button"]:not(:disabled), input[type="submit"]:not(:disabled), summary):focus-visible {
  outline: 2px solid #3d8b40;
  outline-offset: 3px;
  border-radius: 5px;
}
body.home #page select:focus-visible,
body.single-product #page select:focus-visible {
  outline: 2px solid #3d8b40;
  outline-offset: 2px;
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  body.home #page :is(a[href], button:not(:disabled), [role="button"], input[type="button"]:not(:disabled), input[type="submit"]:not(:disabled), summary),
  body.single-product #page :is(a[href], button:not(:disabled), [role="button"], input[type="button"]:not(:disabled), input[type="submit"]:not(:disabled), summary) {
    transition: color .18s ease, background-color .18s ease, filter .18s ease, transform .18s ease, box-shadow .18s ease;
  }
  body.home #page :is(a[href], button:not(:disabled), [role="button"], input[type="button"]:not(:disabled), input[type="submit"]:not(:disabled), summary):hover,
  body.single-product #page :is(a[href], button:not(:disabled), [role="button"], input[type="button"]:not(:disabled), input[type="submit"]:not(:disabled), summary):hover {
    filter: brightness(1.04);
  }
  body.home #page :is(button:not(:disabled), [role="button"], input[type="button"]:not(:disabled), input[type="submit"]:not(:disabled), a.elementor-button, a.button),
  body.single-product #page :is(button:not(:disabled), [role="button"], input[type="button"]:not(:disabled), input[type="submit"]:not(:disabled), a.elementor-button, a.button) {
    transition: color .18s ease, background-color .18s ease, filter .18s ease, transform .18s ease, box-shadow .18s ease;
  }
  body.home #page :is(button:not(:disabled), [role="button"], input[type="button"]:not(:disabled), input[type="submit"]:not(:disabled), a.elementor-button, a.button):hover,
  body.single-product #page :is(button:not(:disabled), [role="button"], input[type="button"]:not(:disabled), input[type="submit"]:not(:disabled), a.elementor-button, a.button):hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(23, 65, 31, .14);
  }
  body.home #page select,
  body.single-product #page select {
    transition: border-color .18s ease, box-shadow .18s ease;
  }
  body.home #page select:hover,
  body.single-product #page select:hover {
    border-color: #3d8b40;
  }
}

/* Lift only the two clickable product cards on the homepage. */
body.home #page .elementor-614 a.elementor-element-ce57b68:focus-visible,
body.home #page .elementor-614 a.elementor-element-1ff56b0:focus-visible {
  outline: 2px solid #3d8b40;
  outline-offset: 4px;
}
@media (hover: hover) and (pointer: fine) {
  body.home #page .elementor-614 a.elementor-element-ce57b68,
  body.home #page .elementor-614 a.elementor-element-1ff56b0 {
    transition: box-shadow .24s ease;
  }
  body.home #page .elementor-614 a.elementor-element-ce57b68:hover,
  body.home #page .elementor-614 a.elementor-element-1ff56b0:hover {
    box-shadow: 0 16px 30px rgba(23, 65, 31, .2);
  }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  body.home #page .elementor-614 a.elementor-element-ce57b68,
  body.home #page .elementor-614 a.elementor-element-1ff56b0 {
    transition: color .18s ease, background-color .18s ease, filter .18s ease, transform .24s cubic-bezier(.2, .8, .2, 1), box-shadow .24s ease;
  }
  body.home #page .elementor-614 a.elementor-element-ce57b68:hover,
  body.home #page .elementor-614 a.elementor-element-1ff56b0:hover {
    transform: translateY(-6px);
  }
}

/* Consistent pointer feedback for page action buttons, including Engagements and FAQ. */
#page :is(.elementor-widget-button .elementor-button, .graneco-contact-cta summary):focus-visible {
  outline: 2px solid #3d8b40;
  outline-offset: 3px;
}
@media (hover: hover) and (pointer: fine) {
  #page :is(.elementor-widget-button .elementor-button, .graneco-contact-cta summary):hover {
    box-shadow: 0 5px 14px rgba(23, 65, 31, .18);
  }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  #page :is(.elementor-widget-button .elementor-button, .graneco-contact-cta summary) {
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
  }
  #page :is(.elementor-widget-button .elementor-button, .graneco-contact-cta summary):hover {
    transform: translateY(-2px);
    filter: brightness(1.04);
  }
}

/* Compact and align the product quantity control with its purchase button. */
body.single-product form.variations_form .woocommerce-variation-add-to-cart {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-end !important;
  gap: 12px !important;
}
body.single-product form.variations_form .graneco-quantity-field {
  flex: 0 0 188px !important;
  width: 188px !important;
  min-width: 0 !important;
}
body.single-product form.variations_form .graneco-quantity-stepper {
  display: flex !important;
  box-sizing: border-box !important;
  width: 188px !important;
  min-height: 50px !important;
  flex: 0 0 188px !important;
}
body.single-product form.variations_form .graneco-quantity-stepper button {
  box-sizing: border-box !important;
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 48px !important;
  flex: 0 0 44px !important;
  padding: 0 !important;
  border-radius: 0 !important;
}
body.single-product form.variations_form .graneco-quantity-stepper input.qty {
  box-sizing: border-box !important;
  width: 96px !important;
  min-width: 0 !important;
  max-width: 96px !important;
  height: 48px !important;
  flex: 1 1 96px !important;
}
body.single-product form.variations_form .single_add_to_cart_button {
  box-sizing: border-box !important;
  min-height: 50px !important;
  height: 50px !important;
  margin: 0 !important;
  align-self: flex-end !important;
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
}
@media (max-width: 689px) {
  body.single-product form.variations_form .woocommerce-variation-add-to-cart {
    flex-wrap: wrap !important;
  }
  body.single-product form.variations_form .single_add_to_cart_button {
    flex: 1 1 100% !important;
    width: 100% !important;
  }
}


/* Le choix de format personnalisé remplace le tableau de variation visible sur le chauffage. */
body.single-product.postid-1433 form.variations_form table.variations { display: none !important; }


/* On phones Astra hides the product details in its sticky purchase bar.
   Keep the product name visible beside the options button. */
@media (max-width: 544px) {
  body.single-product .ast-sticky-add-to-cart .ast-sticky-add-to-cart-content {
    display: flex;
    align-items: center;
    gap: 10px;
  }
  body.single-product .ast-sticky-add-to-cart .ast-sticky-add-to-cart-title-wrap {
    display: flex !important;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
  }
  body.single-product .ast-sticky-add-to-cart .ast-sticky-add-to-cart-title-wrap img {
    display: none !important;
  }
  body.single-product .ast-sticky-add-to-cart .ast-sticky-add-to-cart-title {
    display: block;
    color: #143f1b;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
  }
  body.single-product .ast-sticky-add-to-cart .ast-sticky-add-to-cart-action-wrap {
    flex: 0 0 auto;
    width: auto;
  }
}
