/********************************************************
			Coderplace Custom Styles
********************************************************/
.tm-carousel {
  display: none;
  position: relative;
  float: left;
  width: 100%;
  margin: 0;
}
.cp-carousel {
  display: none;
  position: relative;
  float: left;
  width: 100%;
  margin: 0;
}
.owl-carousel .owl-wrapper {
  display: none;
  position: relative;
  -webkit-transform: translate3d(0px, 0px, 0px);
  -ms-transform: translate3d(0px, 0px, 0px);
  -o-transform: translate3d(0px, 0px, 0px);
  -moz-transform: translate3d(0px, 0px, 0px);
  display: flex !important;
  flex-wrap: wrap;
}
.owl-carousel .owl-wrapper:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}
.owl-carousel .owl-wrapper-outer {
  overflow-x: clip;
  position: relative;
  float: left;
  width: 100%;
  padding: 0;
}
.owl-carousel .owl-wrapper-outer.autoHeight {
  -webkit-transition: height 500ms ease-in-out;
  -moz-transition: height 500ms ease-in-out;
  -ms-transition: height 500ms ease-in-out;
  -o-transition: height 500ms ease-in-out;
  transition: height 500ms ease-in-out; 
}
.owl-carousel .owl-item {
  float: left;
  height: auto;
  display: flex;
}
.owl-carousel .owl-item .manu_image a {
  display: inline-block;
}
.owl-carousel .owl-item .manu_image a img {
  max-width: 100%;
}

.owl-carousel .owl-wrapper,
.owl-carousel .owl-item {
  /* fix */
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  text-align: center;
}

/* mouse grab icon */
.customNavigation {
	position: absolute;
	z-index: 9;
	width: 100%;
	top: 50%;
	direction: ltr !important;
	right: 0;
	left: auto;
  opacity: 0;
  -khtml-opacity: 0;
  -webkit-opacity: 0;
  -moz-opacity: 0;
}
.products .customNavigation {
	top: 48%;
}
.tmcategorylist .customNavigation, 
.testimonial-block-part .customNavigation {
	top: 50%;
}
.tmcategorylist:hover .customNavigation {
	opacity: 1;
	-khtml-opacity: 1;
	-webkit-opacity: 1;
	-moz-opacity: 1;
}
.customNavigation a.prev::before {
	content: "\E314";
	font-family: "Material Icons";
	position: absolute;
	font-size: 20px;
	right: 5px;
	top: -1px;
	color: #757575;
}
.customNavigation a.next::before {
	content: "\E315";
	font-family: "Material Icons";
	position: absolute;
	font-size: 20px;
	position: absolute;
	right: 3px;
	top: -1px;
	color: #757575;
}
#tmtestimonialcmsblock .customNavigation {
  top: -24px;
  z-index: 5;
  right: 15px;
}
#index #tmtestimonialcmsblock .customNavigation {
  top: -40px;
  right: 0;
}
.special-products .customNavigation {
	top: 42%;
}
.homepage-latest-blog:hover .customNavigation, 
.sidebar-latest-blog:hover .customNavigation, 
.ets-blog-related-posts:hover .customNavigation, 
.special-products:hover .customNavigation, 
.products:hover .customNavigation,
.testimonial-block-part .container:hover .customNavigation,
.tmblog-latest:hover .customNavigation, 
#tminstagramblock:hover .customNavigation,
.product-accessories:hover .customNavigation,
.productscategory-products:hover .customNavigation{
  opacity: 1;
  -khtml-opacity: 1;
  -webkit-opacity: 1;
  -moz-opacity: 1;
}
.lastest_block .customNavigation {
	top: 44%;
}
.customNavigation i {
	color: #000000 !important;
	cursor: pointer;
	font-size: 0;
	font-weight: 500;
	height: 38px;
	line-height: 32px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	text-align: center;
	width: 38px;
	background: transparent;
	border-radius: 0;
	font-style: unset;
	box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.11);
}

.customNavigation i.prev {
	background: transparent;
	right: auto;
	background: #fff;
	border-radius: 50%;
	left: -5px;
}
.customNavigation i.next {
	background: transparent;
	right: 0px;
	background: #fff;
	border-radius: 50%;
	right: -5px;
}
.tmcategorylist .customNavigation i.prev, 
.testimonial-block-part .customNavigation i.prev, 
#tminstagramblock .btn.prev.instagram_prev,
.btn.prev.accessories_prev {
	left: -20px;
}
.tmcategorylist .customNavigation i.next, 
.testimonial-block-part .customNavigation i.next, 
#tminstagramblock .btn.next.instagram_next,
.btn.next.accessories_next  {
  right: -20px;
}
.customNavigation i.prev::before {
	content: '';
	-webkit-mask-image: url(../img/megnor/pro-left.svg);
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-image: url(../img/megnor/pro-left.svg);
	mask-position: center;
	mask-repeat: no-repeat;
	background-color: #000;
	mask-size: 14px;
	font-size: 14px;
	width: 38px;
	height: 38px;
	display: block;
  -webkit-mask-size: 14px;
}
#tmtestimonialcmsblock .customNavigation i.prev::before {
  right: 1px;
  font-weight: 500;
}
#tmtestimonialcmsblock .customNavigation i.next::before {
  right: 0;
  font-weight: 500;
}
.customNavigation i.next::before {
	content: '';
	-webkit-mask-image: url(../img/megnor/pro-right.svg);
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-image: url(../img/megnor/pro-right.svg);
	mask-position: center;
	mask-repeat: no-repeat;
	background-color: #000;
	mask-size: 14px;
	font-size: 14px;
	width: 38px;
	height: 38px;
	display: block;
  -webkit-mask-size: 14px;
}
.customNavigation i.next:hover::before,.customNavigation i.prev:hover::before  {
  color: #fff;
}
#cpleftbanner1 img,
#cpleftbanner2 img {
  max-width: 100%;
}
#cpleftbanner1 li,
#cpleftbanner2 li {
  overflow: hidden;
  position: relative;
  float: left;
}
#cpleftbanner1 li a,
#cpleftbanner2 li a {
  display: inline-block;
  position: relative;
  overflow: hidden;
  vertical-align: top;
}
.footer-container .links.lastest_block .customNavigation i.prev:hover {
  color: #9bbab1 !important;
}
.footer-container .links.lastest_block .customNavigation i.next:hover {
  color: #9bbab1 !important;
}

@media (max-width: 1449px) {
  .tmcategorylist .customNavigation i.prev, 
  .testimonial-block-part .customNavigation i.prev, 
  #tminstagramblock .btn.prev.instagram_prev,
  .special-products .customNavigation i.prev,
  .btn.prev.accessories_prev {
    left: -15px;
  }
  .tmcategorylist .customNavigation i.next, 
  .testimonial-block-part .customNavigation i.next,
   #tminstagramblock .btn.next.instagram_next,
   .special-products .customNavigation i.next,
   .btn.next.accessories_next {
    right: -15px;
  }
  .customNavigation i.next {
    right: 0;
  }
  .customNavigation i.prev {
    left: 0;
  }
}
@media (max-width: 1199px) {
  #tmtestimonialcmsblock .customNavigation {
    top: -36px;
    z-index: 5;
    right: -18px;
  }
}

@media (max-width: 991px) {
  #cpleftbanner1 li img,
  #cpleftbanner2 li a {
    width: auto;
  }
}
@media (max-width: 767px) {
  .customNavigation {
    opacity: 1;
    -khtml-opacity: 1;
    -webkit-opacity: 1;
    -moz-opacity: 1;
  }
  .tmcategorylist .customNavigation i.prev, 
  .testimonial-block-part .customNavigation i.prev, 
  #tminstagramblock .btn.prev.instagram_prev, 
  .special-products .customNavigation i.prev,
  .btn.prev.accessories_prev {
    left: 0;
  }
  .tmcategorylist .customNavigation i.next, 
  .testimonial-block-part .customNavigation i.next,
   #tminstagramblock .btn.next.instagram_next, 
   .special-products .customNavigation i.next,
   .btn.next.accessories_next {
    right: 0;
  }
  .quickview .mask.additional_slider .customNavigation i.prev {
    left: -10px !important;
  }
  .quickview .mask.additional_slider .customNavigation i.next {
    right: -10px !important;
  }
  .btn.next.brand_next {
    left: auto;
    right: 0;
    position: absolute;
  }
  .btn.prev.brand_prev {
    left: 0;
    right: auto;
  }
  .customNavigation i.next {
    left: auto;
    right: 0;
  }
}
@media (max-width: 480px) {
}

/* GP-BRAND-PLANATI-START */
/* Garden Pamies — marca unificada para tema Planati (PRS05109)
 * Anexar a: themes/PRS05109/assets/css/custom.css
 * Marcador: GP-BRAND-PLANATI-START / GP-BRAND-PLANATI-END
 */

@import url("https://fonts.googleapis.com/css2?family=Great+Vibes&family=Source+Sans+3:wght@400;600;700&display=swap");

:root {
  --gp-green-dark: #1b4332;
  --gp-green: #2d6a4f;
  --gp-green-soft: #40916c;
  --gp-green-light: #e8f5e9;
  --gp-surface: #f3f7f4;
  --gp-text: #1f2a24;
  --gp-muted: #5c6b63;
  --gp-border: #d5e0d9;
  --gp-accent: #2d6a4f;
  --gp-font-display: "Great Vibes", cursive;
  --gp-font-body: "Source Sans 3", "Segoe UI", sans-serif;
}

html {
  font-size: 16px;
}

body,
#wrapper,
#content-wrapper {
  background-color: var(--gp-surface);
  color: var(--gp-text);
  font-family: var(--gp-font-body);
}

h1, h2, h3, h4, h5, h6,
.page-heading,
.products-section-title {
  font-family: var(--gp-font-body);
  color: var(--gp-green-dark);
  letter-spacing: -0.01em;
}

a {
  color: var(--gp-green);
}

a:hover,
#header .header-nav a:hover {
  color: var(--gp-green-dark);
}

/* Cabecera / logo */
#header {
  background: #fff;
  border-bottom: 1px solid var(--gp-border);
}

#header .logo img,
.header-logo img,
.logo img {
  max-height: 68px;
  width: auto;
}

@media (max-width: 767px) {
  #header .logo img,
  .header-logo img,
  .logo img {
    max-height: 48px;
  }
}

/* Botones y precios */
.btn-primary,
button.btn-primary,
.cart-products-count,
.badge,
#product .add-to-cart,
.product-add-to-cart .add-to-cart {
  background-color: var(--gp-green) !important;
  border-color: var(--gp-green) !important;
  color: #fff !important;
  font-family: var(--gp-font-body);
}

.btn-primary:hover,
button.btn-primary:hover,
#product .add-to-cart:hover {
  background-color: var(--gp-green-dark) !important;
  border-color: var(--gp-green-dark) !important;
}

.product-price,
.price,
.current-price,
.product-price .price {
  color: var(--gp-green-dark) !important;
}

/* Menu lateral Planati */
.cp-sideverticalmenu a:hover,
.side-menu a:hover,
.cpsideverticalmenu a:hover {
  color: var(--gp-green) !important;
}

/* Footer */
.footer-container,
#footer {
  background: var(--gp-green-dark);
  color: #eef6f0;
}

#footer a {
  color: #cfe8d6;
}

#footer a:hover {
  color: #fff;
}

/* Evitar verde lima Planati (#6bb42f) residual del tema */
.btn,
.button,
.cart-preview .cart-products-count,
.block-promo {
  --primary: var(--gp-green);
}

/* Home: suavizar bloques Planati que queden activos */
#index .products-section-title,
#index .title_block {
  font-weight: 700;
  text-transform: none;
}

/* GP-BRAND-PLANATI-END */

/* GP-BREADCRUMB-HIDE-ROOT-START */
/* Ocultar Root/Raíz en breadcrumb Planati */
.breadcrumb a[href*="/1-raiz"],
.breadcrumb a[href$="-raiz"],
.breadcrumb a[href*="/1-root"],
.breadcrumb a[href*="id_category=1"] {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
}
.breadcrumb li a[href*="/1-raiz"] span,
.breadcrumb li a[href$="-raiz"] span {
  display: none !important;
}
/* Ocultar el LI completo que solo contiene el enlace a Raíz */
.breadcrumb ol > li {
  /* JS complementario abajo marca .gp-hide-root */
}
.breadcrumb ol > li.gp-hide-root,
.breadcrumb ol > li.gp-hide-root::before,
.breadcrumb ol > li.gp-hide-root::after {
  display: none !important;
}
/* GP-BREADCRUMB-HIDE-ROOT-END */

/* GP-CMS-BANNERS-START */
/* Garden Pamies — tiles home con motion + legibilidad
 * Marcador: GP-CMS-BANNERS-START / GP-CMS-BANNERS-END
 */

/* Más vendidos: misma altura que la columna derecha (hasta Club/Packs) */
@media (min-width: 992px) {
  #cpcmsbanner2_block1 {
    align-items: stretch !important;
  }

  #cpcmsbanner2_block1 > .left-side.main-content {
    display: flex;
    flex-direction: column;
    align-self: stretch;
    flex: 0 0 33.5%;
    max-width: 33.5%;
    min-width: 0;
  }

  #cpcmsbanner2_block1 > .right-side.main-content {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
  }

  #cpcmsbanner2_block1 > .left-side .gp-tile--bestsellers,
  #cpcmsbanner2_block1 > .left-side .cms_content {
    flex: 1 1 auto;
    width: 100%;
    height: 100%;
    min-height: 100%;
  }

  #cpcmsbanner2 .gp-tile--bestsellers .gp-tile__media,
  #cpcmsbanner2 .left-side .cms_content > a {
    position: absolute !important;
    inset: 0;
    width: 100%;
    height: 100% !important;
  }

  #cpcmsbanner2 .gp-tile--bestsellers .gp-tile__img,
  #cpcmsbanner2 .left-side .cms_content > a img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
}

#cpcmsbanner2 .gp-tile,
#cpcmsbanner3 .gp-tile,
#cpcmsbanner2 .cms_content,
#cpcmsbanner3 .cms_content {
  --gp-tile-accent: #95d5b2;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: 2px;
  transform: translateZ(0);
  transition: box-shadow 0.45s ease, transform 0.45s ease;
}

#cpcmsbanner2 .gp-tile:hover,
#cpcmsbanner3 .gp-tile:hover {
  box-shadow: 0 18px 40px rgba(15, 40, 28, 0.28);
  transform: translateY(-3px);
  z-index: 3;
}

#cpcmsbanner2 .gp-tile__media,
#cpcmsbanner3 .gp-tile__media,
#cpcmsbanner2 .cms_content > a,
#cpcmsbanner3 .cms_content > a {
  display: block;
  line-height: 0;
  overflow: hidden;
  position: relative;
}

#cpcmsbanner2 .gp-tile__img,
#cpcmsbanner3 .gp-tile__img,
#cpcmsbanner2 .cms_content > a img,
#cpcmsbanner3 .cms_content > a img {
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  object-fit: cover;
  display: block;
  transform-origin: center center;
  will-change: transform;
  backface-visibility: hidden;
  transition: filter 0.45s ease;
  animation: gp-kb-center 16s ease-in-out infinite alternate;
}

#cpcmsbanner2 .gp-tile--bestsellers .gp-tile__img {
  animation-name: gp-kb-up;
  animation-duration: 18s;
}
#cpcmsbanner2 .gp-tile--seeds .gp-tile__img {
  animation-name: gp-kb-left;
  animation-duration: 15s;
}
#cpcmsbanner2 .gp-tile--events .gp-tile__img {
  animation-name: gp-kb-right;
  animation-duration: 17s;
}
#cpcmsbanner2 .gp-tile--club .gp-tile__img {
  animation-name: gp-kb-zoom;
  animation-duration: 14s;
}
#cpcmsbanner2 .gp-tile--packs .gp-tile__img {
  animation-name: gp-kb-diag;
  animation-duration: 16s;
}
#cpcmsbanner3 .gp-tile--new .gp-tile__img {
  animation-name: gp-kb-left;
  animation-duration: 15s;
}
#cpcmsbanner3 .gp-tile--supplements .gp-tile__img {
  animation-name: gp-kb-right;
  animation-duration: 17s;
}

#cpcmsbanner2 .gp-tile:hover .gp-tile__img,
#cpcmsbanner3 .gp-tile:hover .gp-tile__img {
  filter: brightness(1.08) saturate(1.08);
  animation-play-state: paused;
}

/* Velo + brillo animado */
#cpcmsbanner2 .gp-tile::after,
#cpcmsbanner3 .gp-tile::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(
      180deg,
      rgba(10, 28, 20, 0.12) 0%,
      rgba(10, 28, 20, 0.2) 36%,
      rgba(10, 28, 20, 0.72) 68%,
      rgba(8, 22, 16, 0.94) 100%
    );
}

#cpcmsbanner2 .gp-tile__fx,
#cpcmsbanner3 .gp-tile__fx {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  overflow: hidden;
}

#cpcmsbanner2 .gp-tile__fx::before,
#cpcmsbanner3 .gp-tile__fx::before {
  content: "";
  position: absolute;
  top: -30%;
  bottom: -30%;
  left: -40%;
  width: 45%;
  background: linear-gradient(
    100deg,
    transparent 0%,
    rgba(255, 255, 255, 0.22) 45%,
    transparent 70%
  );
  transform: skewX(-18deg) translateX(-120%);
  animation: gp-shine 5.5s ease-in-out infinite;
}

#cpcmsbanner2 .gp-tile--bestsellers .gp-tile__fx::before { animation-delay: 0s; }
#cpcmsbanner2 .gp-tile--seeds .gp-tile__fx::before { animation-delay: 0.7s; }
#cpcmsbanner2 .gp-tile--events .gp-tile__fx::before { animation-delay: 1.4s; }
#cpcmsbanner2 .gp-tile--club .gp-tile__fx::before { animation-delay: 2.1s; }
#cpcmsbanner2 .gp-tile--packs .gp-tile__fx::before { animation-delay: 2.8s; }
#cpcmsbanner3 .gp-tile--new .gp-tile__fx::before { animation-delay: 0.4s; }
#cpcmsbanner3 .gp-tile--supplements .gp-tile__fx::before { animation-delay: 1.1s; }

#cpcmsbanner2 .gp-tile__fx::after,
#cpcmsbanner3 .gp-tile__fx::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--gp-tile-accent), transparent);
  transform: scaleX(0.15);
  transform-origin: left center;
  animation: gp-bar 4.8s ease-in-out infinite;
  opacity: 0.9;
}

#cpcmsbanner2 .gp-tile--bestsellers { --gp-tile-accent: #d8f3dc; }
#cpcmsbanner2 .gp-tile--seeds { --gp-tile-accent: #f4a261; }
#cpcmsbanner2 .gp-tile--events { --gp-tile-accent: #e9c46a; }
#cpcmsbanner2 .gp-tile--club { --gp-tile-accent: #95d5b2; }
#cpcmsbanner2 .gp-tile--packs { --gp-tile-accent: #b7e4c7; }
#cpcmsbanner3 .gp-tile--new { --gp-tile-accent: #74c69d; }
#cpcmsbanner3 .gp-tile--supplements { --gp-tile-accent: #c9a227; }

/* Badge superior */
#cpcmsbanner2 .gp-tile__badge,
#cpcmsbanner3 .gp-tile__badge {
  position: absolute;
  top: 0.85rem;
  left: 0.85rem;
  z-index: 4;
  padding: 0.35rem 0.7rem;
  background: rgba(255, 255, 255, 0.92);
  color: #1b4332;
  font-family: var(--gp-font-body, "Source Sans 3", "Segoe UI", sans-serif);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  line-height: 1;
  pointer-events: none;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
  animation: gp-badge-pulse 2.8s ease-in-out infinite;
}

#cpcmsbanner2 .gp-tile--club .gp-tile__badge {
  background: #1b4332;
  color: #ffffff;
  animation-name: gp-badge-pulse-strong;
}

/* Logo Club real (no AI) */
#cpcmsbanner2 .gp-tile--club .gp-tile__brand {
  position: absolute;
  top: 16%;
  left: 50%;
  z-index: 4;
  width: min(54%, 210px);
  padding: 0.7rem 0.85rem;
  background: rgba(247, 250, 247, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.55);
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.28);
  transform: translateX(-50%);
  animation: gp-float 4.2s ease-in-out infinite;
  pointer-events: none;
}

#cpcmsbanner2 .gp-tile--club .gp-tile__brand img {
  display: block;
  width: 100%;
  height: auto;
}

#cpcmsbanner2 .gp-tile--club .gp-tile__brand::before {
  content: "";
  position: absolute;
  inset: -10px;
  border: 1px solid rgba(149, 213, 178, 0.55);
  animation: gp-ring 3.6s ease-in-out infinite;
  pointer-events: none;
}

/* Copy */
#cpcmsbanner2 .cms-block,
#cpcmsbanner3 .cms-block,
#cpcmsbanner2 .gp-tile__copy,
#cpcmsbanner3 .gp-tile__copy {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  top: auto !important;
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  z-index: 5;
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 0.35rem;
  padding: 1.2rem 1.2rem 1.4rem !important;
  box-sizing: border-box;
  text-align: left !important;
  background: transparent !important;
  animation: gp-copy-in 0.9s ease both;
}

#cpcmsbanner2 .left-side .cms-block,
#cpcmsbanner2 .gp-tile--bestsellers .gp-tile__copy {
  padding: 1.7rem 1.5rem 1.9rem !important;
}

#cpcmsbanner2 .offer-text1,
#cpcmsbanner2 .offer-text1 span,
#cpcmsbanner3 .offer-text1,
#cpcmsbanner3 .offer-text1 span {
  color: var(--gp-tile-accent, #d8f3dc) !important;
  font-family: var(--gp-font-body, "Source Sans 3", "Segoe UI", sans-serif) !important;
  font-size: 0.74rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

#cpcmsbanner2 .offer-text2,
#cpcmsbanner2 .offer-text2 span,
#cpcmsbanner3 .offer-text2,
#cpcmsbanner3 .offer-text2 span {
  color: #ffffff !important;
  font-family: var(--gp-font-body, "Source Sans 3", "Segoe UI", sans-serif) !important;
  font-size: clamp(1.12rem, 1.7vw, 1.45rem) !important;
  font-weight: 800 !important;
  line-height: 1.18 !important;
  letter-spacing: -0.015em !important;
  margin: 0 !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.45);
  max-width: 18ch;
}

#cpcmsbanner2 .left-side .offer-text2,
#cpcmsbanner2 .left-side .offer-text2 span,
#cpcmsbanner2 .gp-tile--bestsellers .offer-text2,
#cpcmsbanner2 .gp-tile--bestsellers .offer-text2 span {
  font-size: clamp(1.45rem, 2.25vw, 2rem) !important;
  max-width: 13ch;
}

#cpcmsbanner2 .offer-button,
#cpcmsbanner3 .offer-button {
  margin-top: 0.65rem !important;
}

#cpcmsbanner2 .offer-button a,
#cpcmsbanner2 .offer-button.main-button a,
#cpcmsbanner3 .offer-button a {
  display: inline-block !important;
  padding: 0.62rem 1.15rem !important;
  background: #ffffff !important;
  color: #1b4332 !important;
  border: none !important;
  border-radius: 2px !important;
  font-family: var(--gp-font-body, "Source Sans 3", "Segoe UI", sans-serif) !important;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  line-height: 1.2 !important;
  box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.55);
  animation: gp-cta-pulse 2.6s ease-in-out infinite;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

#cpcmsbanner2 .offer-button a:hover,
#cpcmsbanner2 .offer-button.main-button a:hover,
#cpcmsbanner3 .offer-button a:hover {
  background: #e8f5e9 !important;
  color: #1b4332 !important;
  transform: translateY(-2px);
  animation-play-state: paused;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

@keyframes gp-kb-center {
  from { transform: scale(1.08) translate3d(0, 0, 0); }
  to { transform: scale(1.18) translate3d(0, -1.5%, 0); }
}
@keyframes gp-kb-up {
  from { transform: scale(1.1) translate3d(0, 2%, 0); }
  to { transform: scale(1.22) translate3d(0, -3%, 0); }
}
@keyframes gp-kb-left {
  from { transform: scale(1.1) translate3d(2%, 0, 0); }
  to { transform: scale(1.2) translate3d(-2.5%, -1%, 0); }
}
@keyframes gp-kb-right {
  from { transform: scale(1.1) translate3d(-2%, 1%, 0); }
  to { transform: scale(1.2) translate3d(2.5%, -1%, 0); }
}
@keyframes gp-kb-zoom {
  from { transform: scale(1.06); }
  to { transform: scale(1.2); }
}
@keyframes gp-kb-diag {
  from { transform: scale(1.1) translate3d(-1.5%, 1.5%, 0); }
  to { transform: scale(1.2) translate3d(2%, -2%, 0); }
}
@keyframes gp-shine {
  0%, 35% { transform: skewX(-18deg) translateX(-140%); opacity: 0; }
  45% { opacity: 1; }
  60%, 100% { transform: skewX(-18deg) translateX(280%); opacity: 0; }
}
@keyframes gp-bar {
  0%, 100% { transform: scaleX(0.18); opacity: 0.55; }
  50% { transform: scaleX(1); opacity: 1; }
}
@keyframes gp-badge-pulse {
  0%, 100% { transform: translateY(0); box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18); }
  50% { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(0, 0, 0, 0.26); }
}
@keyframes gp-badge-pulse-strong {
  0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(27, 67, 50, 0.45); }
  50% { transform: scale(1.04); box-shadow: 0 0 0 10px rgba(27, 67, 50, 0); }
}
@keyframes gp-float {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-8px); }
}
@keyframes gp-ring {
  0%, 100% { opacity: 0.35; transform: scale(0.98); }
  50% { opacity: 0.85; transform: scale(1.04); }
}
@keyframes gp-copy-in {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes gp-cta-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.55); }
  50% { box-shadow: 0 0 0 8px rgba(255, 255, 255, 0); }
}

@media (prefers-reduced-motion: reduce) {
  #cpcmsbanner2 .gp-tile__img,
  #cpcmsbanner3 .gp-tile__img,
  #cpcmsbanner2 .cms_content > a img,
  #cpcmsbanner3 .cms_content > a img,
  #cpcmsbanner2 .gp-tile__fx::before,
  #cpcmsbanner3 .gp-tile__fx::before,
  #cpcmsbanner2 .gp-tile__fx::after,
  #cpcmsbanner3 .gp-tile__fx::after,
  #cpcmsbanner2 .gp-tile__badge,
  #cpcmsbanner3 .gp-tile__badge,
  #cpcmsbanner2 .gp-tile--club .gp-tile__brand,
  #cpcmsbanner2 .gp-tile--club .gp-tile__brand::before,
  #cpcmsbanner2 .offer-button a,
  #cpcmsbanner3 .offer-button a {
    animation: none !important;
  }
}

@media (max-width: 991px) {
  #cpcmsbanner2 .cms-block,
  #cpcmsbanner3 .cms-block,
  #cpcmsbanner2 .gp-tile__copy,
  #cpcmsbanner3 .gp-tile__copy {
    padding: 1rem 1rem 1.15rem !important;
  }

  #cpcmsbanner2 .offer-text2,
  #cpcmsbanner2 .offer-text2 span,
  #cpcmsbanner3 .offer-text2,
  #cpcmsbanner3 .offer-text2 span {
    font-size: 1.08rem !important;
    max-width: none;
  }

  #cpcmsbanner2 .left-side .offer-text2,
  #cpcmsbanner2 .left-side .offer-text2 span,
  #cpcmsbanner2 .gp-tile--bestsellers .offer-text2,
  #cpcmsbanner2 .gp-tile--bestsellers .offer-text2 span {
    font-size: 1.28rem !important;
  }

  #cpcmsbanner2 .gp-tile--club .gp-tile__brand {
    width: min(46%, 160px);
    top: 12%;
    padding: 0.45rem 0.55rem;
  }

  #cpcmsbanner2 .gp-tile:hover,
  #cpcmsbanner3 .gp-tile:hover {
    transform: none;
  }
}
/* GP-CMS-BANNERS-END */

/* GP-LEFTBANNER-CAT-START */
#cpleftbanner1.left-banner .slide {
  position: relative;
  overflow: hidden;
}
#cpleftbanner1.left-banner .slide > a {
  display: block;
  line-height: 0;
}
#cpleftbanner1.left-banner .slide img {
  width: 100%;
  height: auto;
  min-height: 280px;
  object-fit: cover;
  display: block;
  transform: scale(1.02);
  transition: transform 0.6s ease;
}
#cpleftbanner1.left-banner .slide:hover img {
  transform: scale(1.07);
}
#cpleftbanner1.left-banner .banner-description {
  position: absolute !important;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding: 1.1rem 1rem 1.25rem !important;
  background: linear-gradient(
    180deg,
    rgba(15, 40, 28, 0) 0%,
    rgba(15, 40, 28, 0.72) 45%,
    rgba(10, 28, 20, 0.92) 100%
  ) !important;
}
#cpleftbanner1 .left-offer-block .text1 {
  color: #b7e4c7 !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  margin-bottom: 0.25rem !important;
}
#cpleftbanner1 .left-offer-block .text2 {
  color: #ffffff !important;
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.35);
}
#left-column .block-categories .block_title {
  text-transform: none;
}
#cpleftbanner1 a[title="Club Garden Pàmies"] {
  background: #eef5ef;
  display: block;
}
#cpleftbanner1 a[title="Club Garden Pàmies"] img {
  object-fit: contain !important;
  object-position: center center;
  background: #f3f7f4;
  min-height: 340px;
  transform: none !important;
}
#cpleftbanner1 a[title="Club Garden Pàmies"]:hover img {
  transform: none !important;
}
#cpleftbanner1 a[title="Club Garden Pàmies"] .banner-description {
  display: none;
}
/* GP-LEFTBANNER-CAT-END */

/* GP-HEADER-ICONS-START */
/* Iconos cabecera: blancos sobre hero (home); oscuros sobre fondo claro (categorías, etc.) */
body:not(.page-index) #header .header-right span.search_button,
body:not(.page-index) #header #_desktop_user_info .account .account-icon,
body:not(.page-index) #header .head-wishlist a,
body:not(.page-index) #header .head-compare a,
body:not(.page-index) #header #_desktop_cart .carthome,
body:not(.page-index) #header #_mobile_cart .carthome {
  background-color: #1b4332 !important;
}

body:not(.page-index) #header .header-top .material-icons.menu-open,
body:not(.page-index) #header .header-top .cat-title,
body:not(.page-index) #header .header-left a,
body:not(.page-index) #header .header-top .top-link,
body:not(.page-index) #header #_desktop_cart .cart {
  color: #1b4332 !important;
}

/* Sticky claro (home al hacer scroll / fixed) */
#header .header-top.fixed .header-right span.search_button,
#header .header-top.fixed #_desktop_user_info .account .account-icon,
#header .header-top.fixed .head-wishlist a,
#header .header-top.fixed .head-compare a,
#header .header-top.fixed #_desktop_cart .carthome,
#header .header-top.fixed #_mobile_cart .carthome {
  background-color: #1b4332 !important;
}

#header .header-top.fixed .material-icons.menu-open,
#header .header-top.fixed .cat-title,
#header .header-top.fixed .header-left a,
#header .header-top.fixed #_desktop_cart .cart {
  color: #1b4332 !important;
}
/* GP-HEADER-ICONS-END */

/* GP-DEV-FOOTER-START */
.copyright a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.copyright a:hover {
  color: #1b4332;
}
/* GP-DEV-FOOTER-END */

/* GP-CMS-CLUB-START */
/* Página CMS Club Garden Pàmies */

.page-cms .gp-club,
#cms .gp-club {
  max-width: 860px;
  margin: 0 auto 2.5rem;
  color: var(--gp-text, #1f2a24);
  font-size: 1.05rem;
  line-height: 1.7;
}

.page-cms .gp-club h2,
#cms .gp-club h2 {
  margin: 2.2rem 0 0.85rem;
  color: var(--gp-green-dark, #1b4332);
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.page-cms .gp-club p,
#cms .gp-club p {
  margin: 0 0 1rem;
}

.page-cms .gp-club ul,
#cms .gp-club ul {
  margin: 0 0 1.25rem;
  padding-left: 1.25rem;
}

.page-cms .gp-club li,
#cms .gp-club li {
  margin: 0 0 0.85rem;
}

.page-cms .gp-club__signup,
#cms .gp-club__signup {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.75rem;
  margin: 0.5rem 0 1.75rem;
  padding: 1.25rem 0;
}

.page-cms .gp-club__logo,
#cms .gp-club__logo {
  flex: 0 0 auto;
}

.page-cms .gp-club__logo img,
#cms .gp-club__logo img {
  display: block;
  width: 220px;
  max-width: 100%;
  height: auto;
  border-radius: 4px;
}

.page-cms .gp-club__signup-copy,
#cms .gp-club__signup-copy {
  flex: 1 1 280px;
}

.page-cms .gp-club__btn,
#cms .gp-club__btn {
  display: inline-block;
  margin-top: 0.35rem;
  padding: 0.7rem 1.35rem;
  background: var(--gp-green, #2d6a4f);
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 600;
  border-radius: 2px;
  transition: background 0.2s ease;
}

.page-cms .gp-club__btn:hover,
#cms .gp-club__btn:hover {
  background: var(--gp-green-dark, #1b4332);
  color: #fff !important;
}

.page-cms .gp-club__closing,
#cms .gp-club__closing {
  margin-top: 0.5rem;
}

@media (max-width: 575px) {
  .page-cms .gp-club__signup,
  #cms .gp-club__signup {
    flex-direction: column;
    align-items: flex-start;
  }
}
/* GP-CMS-CLUB-END */

/* GP-ATMOSPHERE-HIDE-BRANDS-START */
body.page-index section.brands, body.page-index #brand-carousel { display: none !important; }
/* GP-ATMOSPHERE-HIDE-BRANDS-END */

/* GP-SOCIAL-CSS-START */
/* Garden Pamies — franja redes (editorial, alineada con la marca) */
@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,650&family=Source+Sans+3:wght@400;500&display=swap");

/* Ocultar "follow us" vacío del tema */
#footer .block-social {
  display: none !important;
}

.gp-social {
  --gp-soc-deep: #14281c;
  --gp-soc-mid: #1b4332;
  --gp-soc-leaf: #95d5b2;
  --gp-soc-ink: #eef5ef;
  --gp-soc-mute: rgba(238, 245, 239, 0.72);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: 100%;
  margin: 0;
  padding: clamp(2.4rem, 4.5vw, 3.4rem) 1.25rem;
  background:
    linear-gradient(180deg, rgba(20, 40, 28, 0.2) 0%, transparent 40%),
    linear-gradient(105deg, var(--gp-soc-deep) 0%, var(--gp-soc-mid) 48%, #244c38 100%);
  color: var(--gp-soc-ink);
  text-align: center;
}

.gp-social__glow {
  position: absolute;
  inset: -20% -10% auto;
  height: 70%;
  background: radial-gradient(ellipse at 50% 0%, rgba(149, 213, 178, 0.16), transparent 62%);
  pointer-events: none;
  z-index: 0;
  animation: gpSocBreathe 8s ease-in-out infinite alternate;
}

.gp-social__inner {
  position: relative;
  z-index: 1;
  max-width: 42rem;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.65rem;
}

.gp-social__brand {
  margin: 0;
  font-family: "Fraunces", "Palatino Linotype", Georgia, serif;
  font-weight: 650;
  font-size: clamp(1.55rem, 3.2vw, 2.15rem);
  letter-spacing: -0.02em;
  line-height: 1.1;
  color: #fff;
  opacity: 0;
  transform: translateY(10px);
  animation: gpSocRise 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.08s forwards;
}

.gp-social__brand::after {
  content: "";
  display: block;
  width: 2.4rem;
  height: 1px;
  margin: 0.85rem auto 0.15rem;
  background: linear-gradient(90deg, transparent, var(--gp-soc-leaf), transparent);
  opacity: 0.85;
}

.gp-social__invite {
  margin: 0;
  max-width: 28rem;
  font-family: "Source Sans 3", "Segoe UI", sans-serif;
  font-size: 0.98rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--gp-soc-mute);
  opacity: 0;
  transform: translateY(8px);
  animation: gpSocRise 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.2s forwards;
}

.gp-social__nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.15rem 0.15rem;
  margin-top: 0.85rem;
  opacity: 0;
  transform: translateY(8px);
  animation: gpSocRise 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.34s forwards;
}

.gp-social__a {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.7rem;
  font-family: "Source Sans 3", "Segoe UI", sans-serif;
  font-size: 0.82rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none !important;
  color: rgba(255, 255, 255, 0.88) !important;
  transition: color 0.25s ease;
}

.gp-social__ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  flex: 0 0 auto;
}

.gp-social__ico svg {
  width: 15px;
  height: 15px;
  display: block;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.25));
}

.gp-social__txt {
  line-height: 1;
}

.gp-social__a::after {
  content: "";
  position: absolute;
  left: 0.7rem;
  right: 0.7rem;
  bottom: 0.2rem;
  height: 1px;
  background: var(--gp-soc-leaf);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.28s ease;
  opacity: 0.9;
}

.gp-social__a:hover,
.gp-social__a:focus {
  color: #fff !important;
}

.gp-social__a:hover::after,
.gp-social__a:focus::after {
  transform: scaleX(1);
}

.gp-social__a:hover .gp-social__ico svg,
.gp-social__a:focus .gp-social__ico svg {
  filter: drop-shadow(0 0 6px rgba(255, 255, 255, 0.35));
}

.gp-social__sep {
  color: rgba(149, 213, 178, 0.55);
  font-size: 0.85rem;
  line-height: 1;
  user-select: none;
  padding: 0 0.1rem;
}

@keyframes gpSocRise {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes gpSocBreathe {
  from {
    opacity: 0.65;
    transform: translateY(0);
  }
  to {
    opacity: 1;
    transform: translateY(6px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .gp-social__glow,
  .gp-social__brand,
  .gp-social__invite,
  .gp-social__nav {
    animation: none !important;
    opacity: 1;
    transform: none;
  }
}

@media (max-width: 480px) {
  .gp-social__nav {
    max-width: 16rem;
    gap: 0.2rem 0;
  }

  .gp-social__sep {
    display: none;
  }

  .gp-social__a {
    letter-spacing: 0.1em;
  }
}
/* GP-SOCIAL-CSS-END */
