/* PAGINA CONTACTO */
.contact-form-left-column .h2 { margin-bottom: 25px; }
.contact-form-box .contact-form-right-column { padding: var(--padding-top-m); }
.contact-form-box .contact-form-right-column>.row {align-items: center;height: 100%;}
.contact-form-box .contact-form-right-column .contact-form-wrapper small { display: none; }
.contact-form-box .contact-form-right-column .contact-form-wrapper .form-group:not(:has(textarea)) { margin-bottom: 0; }
.contact-form-box .contact-form-right-column .contact-form-wrapper .form-group label { margin-bottom: 0; }
.contact-form-box .contact-form-right-column .contact-form-wrapper .form-group:has(textarea) { margin-bottom: 25px; }
.contact-form-box .contact-form-right-column .contact-form-wrapper .form-send { margin-bottom: 0 !important; display: flex; justify-content: space-between; padding: 0 15px; flex-wrap: wrap; gap: 15px; }
.contact-form-box .contact-form-right-column .contact-form-wrapper .form-send label { display: flex; align-items: center; font-size: 14px !important; gap: 10px; }
.contact-form-box .contact-form-right-column .contact-form-wrapper .form-send label span { font-size: 16px; color: #333; }
.contact-form-box .contact-form-right-column .contact-form-wrapper .form-send label span a { text-decoration: underline; }
.contact-form-box .contact-form-right-column .contact-form-wrapper .form-send label input { margin-top: 0 !important; }
.contact-form-box .contact-form-right-column .contact-form-wrapper .form-group label textarea { resize: none; }
.contact-form-box .contact-form-right-column .contact-form-wrapper .form-group label textarea,.contact-form-box .contact-form-right-column .contact-form-wrapper .form-group label input { border-top: 0; border-left: 0; border-right: 0; display: block; }
.contact-form-box .contact-form-right-column .contact-form-wrapper .form-group label textarea::placeholder,.contact-form-box .contact-form-right-column .contact-form-wrapper .form-group label input::placeholder { opacity: 1 !important; color: #333333 !important; }
.contact-form-box .acepto_comunicacion input, .contact-form-box .acepto_comunicacion, .contact-form-box .acepto_condiciones input, .contact-form-box .acepto_condiciones{ cursor: pointer; }
.contact-form-box .acepto_comunicacion input, .contact-form-box .acepto_condiciones input{ width: 20px; height: 20px; }
.contact-form-box .contact-form-left-column { padding: 30px; border-radius: 40px 15px 40px 15px;}
.contact-form-box .contact-form-left-column .social-icons .sociallist { margin-bottom: 0; gap: 20px; }
.contact-form-box .contact-form-left-column .social-icons .sociallist i { font-size: 25px; }
.contact-form-box .contact-form-left-column p i { margin-right: 5px; color: var(--main-color-3); }
.contact-form-wrapper .form-last { display: flex; }
.contact-form-wrapper .form-last .form-checks { width: calc(100% - 175px); min-width: 500px; }
.contact-form-wrapper .form-last .form-checks .checkbox-inline { display: flex; align-items: center; justify-content: start; gap: 10px; margin-bottom: 10px !important; }
.contact-form-wrapper .form-last .form-checks .checkbox-inline input { margin-top: 0 !important; }
.contact-form-wrapper .form-last .form-send { max-width: unset; flex: unset; width: fit-content; }

.img-fluid { width: 100%; }
figure { margin: 0; }
.cookie-policy-lang li { margin-bottom: 0 !important; }

/* GENERAL */
.title { margin-bottom: var(--margin-bottom-s); }
p:has(+p, +ul) { margin-bottom: 15px; }
ul li:has(+li) { margin-bottom: 5px; }
li, p {line-height: 22px;}
.contentext .h1, .contentext .h2, .contentext .h3, .contentext .h4, .contentext .h5, .contentext .h6, .contentext h1, .contentext h2, .contentext h3, .contentext h4, .contentext h5, .contentext h6, .contentext .title {margin-bottom: 15px;}
.contentext p + h2 {margin-top: 30px;}
.contentext p + h3 {margin-top: 25px;}
.contentext h5 + h3, .contentext h4 + h3 { margin-top: 25px; }
.contentext p + h5, .contentext p + h4 { margin-top: 20px; }
.contentext p + h5, .contentext p + h4, .contentext p:has( + p) { margin-bottom: 15px; }

.btn{ gap: 20px; }
.btn:not(:has(*))::after { content: ""; display: block; width: 16px; height: 8px; background-repeat: no-repeat; background-position: center; background-size: cover; background-image: url(/media/images/iconos/move-right.svg); transition: all 0.3s ease-in-out; filter: invert(1);}
.btn-100{width: 100%;}

/* ═══════════════════════════════════════════════════════════
   GLOBAL RESETS & BASE
═══════════════════════════════════════════════════════════ */
* { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

/* Eliminar marges extra del main */



/* ═══════════════════════════════════════════════════════════
   HEADER - Transparent sobre hero
═══════════════════════════════════════════════════════════ */
/* header.sticky-header { position: fixed; width: 100%; z-index: 1000; }
header .cbp-af-header.header-transparent { transition: all 0.3s ease; } */

/* Quan fa scroll (shrink), canviar colors a fosc */
header .cbp-af-header.header-transparent.cbp-af-header-shrink .nav-link,
header .cbp-af-header.header-transparent.cbp-af-header-shrink .navbar-brand { color: #000000; }
header .cbp-af-header.header-transparent.cbp-af-header-shrink { box-shadow: 0 1px 0 rgba(0,0,0,0.08); }
header .cbp-af-header-shrink .navbar-brand .logo1 { filter: none; }
header .languages { display: flex; border-left: 1px solid #000; margin-left: 20px; padding-left: 20px; }
header .languages .lang-item a { font-size: clamp(0.6875rem, 0.625rem + 0.25vw, 0.75rem); text-transform: uppercase; letter-spacing: 0.05em; opacity: 0.6; transition: opacity 0.2s ease; }
header .languages .lang-item.active a,
header .languages .lang-item a:hover { opacity: 1; }

header .nav-link:not(.dropdown-item)::before{height: 1px;}
.nav-item.featured > .nav-link > .data { background: var(--main-color-1); border-radius: 16px; padding: 1px 10px; color: #fff !important; }
.navbar-toggler-icon{ width: 24px !important; transform: translateX(0px);}
.navbar-toggler-icon:after, .navbar-toggler-icon:before{width: 24px !important; transform: translateX(0px);}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:after { transform: translateX(0px) rotate(45deg); width: 24px; left: 0; }
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:before { transform: translate(0px, 8px) rotate(-45deg); width: 24px; }

.navbar-toggler-icon { width: 16px; height: 18px; background-image: none; position: relative; display: block; padding: 0; margin: 0; margin-right: 7px; border-bottom: 1px solid var(--dark); transform: translateX(8px); }
.navbar-toggler-icon:after, .navbar-toggler-icon:before{ width: 16px; position: absolute; height: 1px; background-color: var(--dark); top: 1px; left: 0; content: ''; z-index: 2; /* transform: translateX(-8px); */ transition: all 300ms linear; }
.navbar-toggler-icon:after{ top: 9px; width: 24px; left: 0; }
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:after { transform:  rotate(45deg); width: 24px; left: 0; }
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:before { transform: translate(0, 8px) rotate(-45deg); width: 24px; }
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon { border-color: transparent; transition: all 300ms linear; }

.buscador-list-item { margin: auto; margin-left: 10px; }

/* ═══════════════════════════════════════════════════════════
   HERO BANNER - Fullscreen amb overlay
═══════════════════════════════════════════════════════════ */
.banner.herobloc { position: relative; min-height: 100vh; min-height: 100dvh; display: flex; align-items: center; justify-content: center; }
.banner.herobloc .portfolio-thumb { position: absolute; inset: 0; z-index: 1; }
.banner.herobloc .portfolio-thumb::after { content: ''; position: absolute; inset: 0; background: linear-gradient( to bottom, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.5) 50%, rgba(0,0,0,0.7) 100% ); z-index: 2; }
.banner.herobloc .portfolio-thumb img { width: 100%; height: 100%; object-fit: cover; }
.banner.herobloc .banner-content { position: relative; z-index: 10; text-align: center; max-width: 800px; padding: clamp(1rem, 0.5rem + 2vw, 2rem); }

/* Etiqueta superior del hero */
.banner.herobloc .banner-content .inputtext { display: block; font-size: clamp(0.625rem, 0.5rem + 0.5vw, 0.75rem); font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: #ffffff; background: var(--main-color-1); padding: 0.5em 1em; border-radius: 2px; margin-bottom: clamp(1rem, 0.75rem + 1vw, 1.5rem); display: inline-block; }
.banner.herobloc .content-title { font-size: clamp(35px, 29.234px + 1.802vw, 55px) !important; font-weight: 400; color: #ffffff !important; letter-spacing: -0.02em; line-height: 1; margin-bottom: var(--margin-bottom-m); text-transform: uppercase; }
.banner.herobloc .content-text,
.banner.herobloc .content-text * { color: rgba(255,255,255,0.85) !important; max-width: 500px; margin: 0 auto clamp(1.5rem, 1rem + 2vw, 2.5rem); }
.banner.herobloc .btn { background: #ffffff !important; color: #000000 !important; border-color: #ffffff !important; }
.banner.herobloc .btn::after{filter: none;}
.banner.herobloc .btn:hover { background: var(--main-color-1) !important; color: #ffffff !important; border-color: var(--main-color-1) !important; }
.banner.herobloc .btn:hover::after{filter: invert(1);}

/* Indicador scroll */

/* ═══════════════════════════════════════════════════════════
   IMAGE TEXT - Secció "Spirit of Roquetes"
═══════════════════════════════════════════════════════════ */
.imagetext .content-column { padding-left: var(--padding-left-m); padding-right: var(--padding-right-m); }
.imagetext { overflow: hidden; }
.imagetext .row { align-items: stretch; }
.imagetext .image-column { position: relative; }

/* Contingut text */
.imagetext .content-column { display: flex; align-items: center; }
.imagetext .feature-info { padding: clamp(1.5rem, 1rem + 2vw, 3rem); }

/* Primera imagetext - Imatge gran amb label */
.imagetext .image-column { min-height: clamp(400px, 50vw, 700px); }
.imagetext .image { position: relative; height: 100%; overflow: hidden; border-radius: 8px; }
.imagetext .image img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(100%); transition: filter 0.5s ease; }
.imagetext:hover .image img { filter: grayscale(0%); }

/* ═══════════════════════════════════════════════════════════
   SECONDARY BANNER - CTA Section
═══════════════════════════════════════════════════════════ */
.section-cta > .row > div *:not(img, figure,picture, [class*="banner-content-details"] *, .btn){ height: 100%; }
.section-cta .banner {display: flex; flex-direction: column; justify-content: start !important;}
.section-cta .banner .banner-content-details{display: flex; flex-direction: column; justify-content: space-between;}
.content-wrapper.CTA .individualbannersheet *:not(.btn),
.content-wrapper.CTA .individualbannersheet{color: var(--background2-color);}
.content-wrapper.CTA .individualbannersheet{background: var(--background2-bg-color);}
.content-wrapper.CTA .individualbannersheet img{filter: brightness(0) invert(1);}
.content-wrapper.CTA-Shop .individualbannersheet *:not(.btn),
.content-wrapper.CTA-Shop .individualbannersheet{color: var(--background2-color);}
.content-wrapper.CTA-Shop .individualbannersheet{background: var(--background2-bg-color);}
.content-wrapper.CTA-Shop .individualbannersheet img{filter: brightness(0) invert(1);}

.individualbannersheet { --content-p-color: var(--main-color-1); --content-heading-color: var(--main-color-1); /* --content-p-font-size: 22px; */ --content-h2-font-size: var(--content-h3-font-size); padding: 30px; border-radius: 8px; overflow: hidden;}
.individualbannersheet {justify-content: center !important;}
/* .individualbannersheet .portfolio-thumb::before{ content: ""; width: 100%; height: 100%; display: block; position: absolute; top: 0; left: 0; background-color: rgba(255,255,255,0.4); } */
.individualbannersheet .portfolio-thumb img { max-height: 100px; width: auto; margin-bottom: var(--margin-bottom-s); }
.individualbannersheet .banner-content .banner-content-details{/* display: flex; */ justify-content: space-between; gap: 30px; flex-wrap: wrap; /* align-items: end; */}
.individualbannersheet .banner-content .banner-content-details-inner .title{margin-bottom: var(--margin-bottom-s);}
.individualbannersheet .banner-content .banner-content-details-inner .content-text{margin-bottom: var(--margin-bottom-s);}

/* ═══════════════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════════════ */
footer{--content-heading-color: #fff;}
/* footer .footer-logo img { filter: brightness(0) invert(1); } */
footer .footer-logo{margin-bottom: var(--margin-bottom-s);}

/* FOOTER */
#footer { padding-top: 20px; }
#footer {--content-heading-color: #ffffff; --content-strong-color: #ffffff;}
#footer strong{font-weight: 600;}
#footer .menu { margin: 0; }
#footer .menu-list { justify-content: start; }
#footer .menu-list .menu-item { margin: 0 0 10px 0 !important; }
#footer .menu-list .menu-item .dropdown-menu { display: none; opacity: 1; pointer-events: auto; visibility: visible; max-height: 9999px; transform: translate3d(0, 0px, 0); background-color: transparent; margin-top: 0 !important;}
#footer .menu-list .menu-item .nav-link .toggler::after, #footer .menu-list .menu-item .nav-link .toggler-inside::after, #footer .menu-list .menu-item .nav-link::after{content: unset;}
#footer .menu-list .menu-item .dropdown-menu::before{content: unset;}
#footer .menu-list .menu-item .dropdown-menu .nav-link{padding: 0; margin-top: 10px;}
#footer .menu-list .menu-item:last-child { margin: 0 !important; }
#footer .menu-list .menu-link span { transition: all 0.3s ease-in-out; }
#footer .menu-list .menu-link:hover span { color: var(--footer-a-hover-color); }

.footer-copyright { padding: 10px 15px;}
.footer-copyright-text p { margin: 0; }
.footer-links ul { list-style: none; margin: 0; padding: 0; text-align: end; }
.footer-links ul li { display: inline-block; margin-right: 40px; margin-bottom: 0;}
.footer-links ul li:last-child { margin-right: 0; }
.footer-links ul li a { transition: all 0.3s ease-in-out; }

#footer .title{margin-bottom: 20px; --heading-font-family: var(--general-font-family); }
#footer .contentext p i{margin-right: 5px;}
#footer .contentext p:not(.title):has( + p){margin-bottom: 10px;}

#footer .extrafooter{ --background3-color: #fff; --footer-a-hover-color: #fff; }
#footer .extrafooter a{ text-decoration: underline;}

#footer .btn::after{content: unset;}

/* ═══════════════════════════════════════════════════════════
   FEATURE BOXES (per la secció Spirit)
═══════════════════════════════════════════════════════════ */
#spirit{margin-top: -150px; padding-top: 150px;}
.feature-box { display: flex; flex-direction: column; align-items: flex-start; padding: clamp(1rem, 0.75rem + 1vw, 1.5rem); background: #f5f5f5; border-radius: 8px; min-width: 140px; }
.feature-box .icon { font-size: clamp(1.25rem, 1rem + 1vw, 1.75rem); margin-bottom: 0.75rem; color: var(--main-color-1); }
.feature-box .label { font-size: clamp(0.75rem, 0.6875rem + 0.25vw, 0.875rem); font-weight: 500; color: #000000; }

/* ═══════════════════════════════════════════════════════════
   UTILITIES
═══════════════════════════════════════════════════════════ */
.text-accent { color: var(--main-color-1) !important; }
.bg-accent { background-color: var(--main-color-1) !important; }
.bg-light-gray { background-color: #f5f5f5 !important; }
.bg-dark { background-color: #1a1a1a !important; }

.img-grayscale { filter: grayscale(100%); transition: filter 0.5s ease; }
.img-grayscale:hover { filter: grayscale(0%); }

/* Títol amb decoració superior */
.title-decorated::before { content: attr(data-pretitle); display: block; font-size: clamp(0.625rem, 0.5rem + 0.5vw, 0.75rem); font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #666666; margin-bottom: 0.75rem; }

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE ADJUSTMENTS
═══════════════════════════════════════════════════════════ */
@media (max-width: 576px) {
    /* Hero més compacte en mòbil */
    .banner.hero-bloc { min-height: 100svh; }

}

/* FICHA TALLER */
.Tallers.fitxa{
   --content-h1-font-size: clamp(28px, 25.694px + 0.721vw, 36px);
   --content-h2-font-size: clamp(22px, 20.270px + 0.541vw, 28px);
   --content-h3-font-size: clamp(18px, 16.270px + 0.541vw, 24px);
   --content-h4-font-size: clamp(16px, 15.423px + 0.180vw, 18px);
   --content-h5-font-size: clamp(16px, 15.423px + 0.180vw, 18px);
   --content-h6-font-size: clamp(16px, 15.423px + 0.180vw, 18px);
}
.Tallers.fitxa .main-box .cf-container {width: 100%;background-color: #f9fafb;border: 1px solid #f3f4f6;border-radius: 8px;overflow: hidden;font-size: 14px;color: #111827;}
.Tallers.fitxa .main-box .cf-container > .cf-title {padding: 10px 16px;border-bottom: 1px solid #e5e7eb;background-color: rgba(243, 244, 246, 0.5);font-weight: 600;text-transform: uppercase;letter-spacing: 0.5px;color: #111827;}
.Tallers.fitxa .main-box .cf-container .cf-item {display: flex;justify-content: space-between;align-items: center;padding: 8px 16px;border-bottom: 1px solid #f3f4f6;}
.Tallers.fitxa .main-box .cf-container .cf-item:last-child { border-bottom: none; }
.Tallers.fitxa .main-box .cf-container .cf-item .cf-title { font-weight: 500; color: #3b3b3b; }
.Tallers.fitxa .main-box .cf-container .cf-item .cf-content {font-weight: 700;text-align: right;color: #111827;}

.Tallers.fitxa .main-box .cf-container .cf-item:hover { background: var(--main-color-9); }
.Tallers.fitxa .main-box .cf-container .cf-item:has(.cf-content:empty){display: none;}
.Tallers.fitxa .main-box .cf-container .cf-item:nth-last-child(2):has(+ .cf-item .cf-content:empty) { border-bottom: none; }


@media only screen and (min-width: 1199px){
   .Tallers.fitxa .main-box .left-column{padding-right: 30px;}
   .Tallers.fitxa .main-box .right-column{padding-left: 30px;}
}
@media only screen and (max-width: 991px){
   .Tallers.fitxa .main-box .left-column{order: 1; padding-right: 15px;}
   .Tallers.fitxa .main-box .right-column{order: 0; padding-left: 15px;}
   .Tallers.fitxa .main-box .add-to-cart{margin-bottom: 30px;}
}

.Tallers.fitxa .main-box .categories-list{margin-bottom: 15px; font-size: 14px; display: flex; flex-wrap: wrap; gap: 10px 0;}
.Tallers.fitxa .main-box .categories-list .category-item:has(+ .category-item)::after{content: "-"; display: inline-block; margin-left: 5px; margin-right: 7px;}

.Tallers.fitxa .main-box .main-gallery .swiper.gallery { padding: 55px 35px; margin: -35px; overflow: hidden; }
.Tallers.fitxa .main-box .main-gallery .swiper-button-next,
.Tallers.fitxa .main-box .main-gallery .swiper-button-prev{color: var(--main-color-1);}
.Tallers.fitxa .main-box .main-gallery .item{aspect-ratio: 1; display: flex;align-items: center; justify-content: center; overflow: hidden; position: relative;}



.Tallers.fitxa .lightgallery_toggle { display: none; width: 100%; cursor: pointer; font-size: 14px; font-weight: 500; align-items: center; gap: 10px; text-decoration: none;}
.Tallers.fitxa .lightgallery_toggle span{ text-decoration: underline; }
.Tallers.fitxa .lightgallery_toggle--icon { transition: transform 0.3s ease; font-size: 12px; }
.Tallers.fitxa .lightgallery_toggle[aria-expanded="true"] .lightgallery_toggle--icon { transform: rotate(180deg); }

@media (max-width: 990px) {
   .Tallers.fitxa .lightgallery_toggle { display: flex; }
   .Tallers.fitxa .lightgallery_collapsible { max-height: 0; overflow: hidden; opacity: 0; transition: max-height 0.4s ease, opacity 0.3s ease, margin 0.3s ease; margin-top: 0; }
   .Tallers.fitxa .lightgallery_collapsible.is-open { max-height: unset; opacity: 1; margin-top: 20px; }
}

@media (min-width: 991px) {
   .Tallers.fitxa .lightgallery_collapsible { max-height: none !important; opacity: 1 !important; overflow: visible !important; }
}

/* ===== RESPONSIVE FITXA TALLER ===== */

/* Medium desktop (992px - 1199px) */
@media only screen and (min-width: 992px) and (max-width: 1199px) {
   .Tallers.fitxa .main-box .left-column { padding-right: 20px; }
   .Tallers.fitxa .main-box .right-column { padding-left: 20px; }
}

/* Tablet (<=991px) */
@media only screen and (max-width: 991px) {
   .Tallers.fitxa .main-box .main-gallery .swiper.gallery { padding: 40px 25px; margin: -25px; }
   .Tallers.fitxa .main-box .left-column { margin-top: 20px; }
   .Tallers.fitxa .main-box .cf-container { margin-bottom: 20px; }
}

/* Small screens (<=767px) */
@media only screen and (max-width: 767px) {
   /* Availability badge: move from absolute to inline to avoid overlap with price */
   .Tallers.fitxa .add-to-cart--product-price .add-to-cart--availability { position: static; margin-top: 8px; }

   /* Variations: reduce to 2 columns */
   .Tallers.fitxa .variations .variation-item .options { grid-template-columns: repeat(2, 1fr); }

   /* cf-container compact */
   .Tallers.fitxa .cf-container .cf-item { padding: 6px 12px; font-size: 13px; }
   .Tallers.fitxa .cf-container > .cf-title { padding: 8px 12px; }

   /* Reduce separator padding */
   .Tallers.fitxa .line div[style*="padding-top"] { padding-top: 10px !important; }
   .Tallers.fitxa .line div[style*="padding-bottom"] { padding-bottom: 15px !important; }
}

/* Mobile (<=575px) */
@media only screen and (max-width: 575px) {
   /* Heading size */
   .Tallers.fitxa { --content-h1-font-size: clamp(22px, 20px + 1vw, 28px); }

   /* Add-to-cart compact */
   .Tallers.fitxa .add-to-cart { padding: 15px; }

   /* Gallery minimal padding */
   .Tallers.fitxa .main-box .main-gallery .swiper.gallery { padding: 20px 10px; margin: -10px; }

   /* Variation buttons compact */
   .Tallers.fitxa .variations .variation-item .options .option-button { min-height: 32px; padding: 5px 4px; }
   .Tallers.fitxa .variations .variation-item .options .option-button span { font-size: 13px; }
   .Tallers.fitxa .variations .variation-item .options { gap: 8px; }

   /* Categories list wrap */
   .Tallers.fitxa .categories-list { font-size: 13px; }

   /* Price font */
   .Tallers.fitxa .add-to-cart--unit-price { font-size: 20px; }

   /* Share page compact */
   .Tallers.fitxa .share-page { margin-top: 10px; }
}

/* LISTADO TALLERES */
.item-list-wrapper.Tallers .filter-box{margin-bottom: 45px;}
.item-list.Tallers .item{margin-bottom: 30px;}
.item-list.Tallers .item > div { position: relative; border-radius: 8px; overflow: hidden; border: 1px solid #eee; box-shadow: 0 0 10px 5px #eeeeee; }
.item-list.Tallers .item .item-details { padding: 20px; --content-h3-font-size: 24px; --heading-font-family: var(--general-text-font-family); --content-heading-font-weight: bold; --content-heading-letter-spacing: 0.5px; --content-p-font-size: 16px; }
.item-list.Tallers .item .item-details .item-heading .item-title-link{text-decoration: none;}
.item-list.Tallers .item .item-details .item-heading .item-title{margin-bottom: 15px; font-size: var(--content-h5-font-size);}
.item-list.Tallers .item .item-miniature{position: relative;}
.item-list.Tallers .item .item-miniature img{aspect-ratio: 4/5; object-fit: cover; width: 100%; height: auto;}
.item-list.Tallers .item .categories-list {/* position: absolute; bottom: 5px; right: 5px; */ display: flex; flex-wrap: wrap; gap: 10px; justify-content: end;}
.item-list.Tallers .item .categories-list .category-item a{ font-size: 10px; padding: 4px 10px; background: #eeeeee; border-radius: 100px; font-weight: 600;  display: block; color: #111827;}
.item-list.Tallers .item .item-customfields { display: grid; grid-template-columns: 1fr; --content-p-font-size: 13px; margin-bottom: 20px; }
.item-list.Tallers .item .item-customfields .cf-item{display: flex;gap: 10px;align-items: center;margin-bottom: 0;padding: 10px;line-height: 1;}

.item-list.Tallers .item .item-customfields .cf-variation-icon { flex-shrink: 0; /* margin-top: 2px;  */}
.item-list.Tallers .item .item-customfields .cf-variation-pills { display: flex; flex-wrap: wrap; gap: 5px; }
.item-list.Tallers .item .variation-pill { font-size: 11px; padding: 2px 8px; background: #f3f4f6; border-radius: 100px; color: #374151; font-weight: 500; white-space: nowrap; }

.item-list.Tallers .item .item-ecommerce .item-price .item-link { margin-left: auto; font-size: clamp(12px, 10.651px + 0.234vw, 14px); display: flex; gap: 10px; align-items: center; stroke-width: 2px;}
.item-list.Tallers .item .item-ecommerce .item-price .item-link svg{stroke-width: 2px;}

.item-list.Tallers .item .item-ecommerce .item-price .item-availability{margin-left: auto;}
.item-list.Tallers .item .item-ecommerce .item-price .item-availability span{ font-size: 10px; padding: 4px 10px; background: #eeeeee; border-radius: 100px; font-weight: 600;  display: block;}
.item-list.Tallers .item .item-ecommerce .item-price .item-availability.available span { background-color: #ecfdf5; color: #166534; }
.item-list.Tallers .item .item-ecommerce .item-price .item-availability.low-stock span { background-color: #fffbeb; color: #92400e; }
.item-list.Tallers .item .item-ecommerce .item-price .item-availability.out-stock span { background-color: #fef2f2; color: #991b1b; }
.item-list.Tallers .item .item-ecommerce .item-price .item-availability.out-stock span { background-color: #fef2f2; color: #991b1b; }

.item-list.Tallers .item .item-ecommerce .item-price { display: flex; justify-content: start; gap: 10px; align-items: end;}
.item-list.Tallers .item .item-ecommerce .item-price .price{font-size: clamp(18px, 15.302px + 0.468vw, 22px); font-weight: bold; color: var(--main-color-1);}
.item-list.Tallers .item .item-ecommerce .item-price .price--old{text-decoration: line-through; font-size: 16px; font-weight: normal; color: #111827;}

@media only screen and (max-width: 576px){
   .item-list.Tallers ,
   .item-list.Tallers .item {padding-left: 5px; padding-right: 5px; margin-bottom: 20px;}
   .item-list.Tallers .item .item-customfields .cf-item{padding: 5px;}
   .item-list.Tallers .item .item-customfields{margin-bottom: 10px;}
   .item-list.Tallers .item .item-details{padding: 15px;}
}

/* FILTER */
.filter { --button-color: #000000; --button-color-hover: #ffffff; --button-bg-color: #ffffff; --button-bg-color-hover: #003f23; --button-font-size: 14px; --button-border-type: solid; --button-border-color: #003f23; --button-border-color-hover: #003f23; --button-border-radius: 100px; --button-padding-left: 20px; --button-padding-right: 20px; --button-padding-top: 10px; --button-padding-bottom: 10px; --button-border-size: 2px; }
.filter .btn::after{content: unset;}
.filter .btn-cancel{font-size: 14px; text-decoration: underline; padding: 10px; transition: all .3s ease-in-out; cursor: pointer;}
.filter .btn-cancel:hover{color: #D9534F;}
.filter .filter-title { pointer-events: none; font-weight: bold; font-size: 22px; margin-bottom: 15px; }
.filter .filter-field ,
.filter .cat-fields {display: flex; flex-wrap: wrap; gap: 10px; align-items: center;}
.filter .cat-fields {justify-content: end;}
.filter .filter-field p,
.filter .cat-fields p{display: block; width: 100%; margin-bottom: 0;}
.filter .cat-fields p{text-align: right;}
.filter .filter-field .form-check ,
.filter .cat-fields .form-check {padding-left: 0;}
.filter .filter-field .form-check input,
.filter .cat-fields .form-check input{display: none;}
.filter .cat-fields .form-check:has(input:checked) label{background-color: color-mix(in srgb, var(--button-border-color) 10%, transparent ); color: var(--button-border-color); /* border-color: var(--main-color-1); */}  
.filter .filters-list-wrapper  .filters-list{ display: flex; justify-content: space-between; margin-bottom: 25px; }

@media only screen and (max-width: 991px){
   .filter .filter-field:has(+ div) , .filter .cat-fields:has(+ div) {margin-bottom: 25px;}
}

/* INTRANET */

/* Password toggle */
.btn-toggle-password { --button-font-size: 14px; --button-border-radius: 0 var(--form-input-border-radius) var(--form-input-border-radius) 0; margin-top: var(--form-input-margin-top); height: var(--form-input-height); }
.pwd-msg { font-size: 12px; color: #dc3545; line-height: 1.3; }

/* REGISTER FORM */
#frm_nuevo_usr { max-width: 800px; margin: 0 auto; padding: 40px; background: #ffffff; border-radius: 12px; box-shadow: 0 4px 24px rgba(0,0,0,0.06); }
#frm_nuevo_usr .form-group { margin-bottom: 0; position: relative; }
#frm_nuevo_usr .form-group label { display: block; font-size: 13px; font-weight: 600; letter-spacing: 0.03em; color: #333; margin-bottom: 6px; }
#frm_nuevo_usr .form-group label span[aria-hidden] { color: var(--main-color-1) !important; font-weight: 700; }
#frm_nuevo_usr .form-control { padding: 12px 16px; font-size: 15px; color: #333; background: #f9fafb; border: 1.5px solid #e5e7eb; /* border-radius: 8px; */ transition: all 0.25s ease; -webkit-appearance: none; appearance: none; width: 100%; }
#frm_nuevo_usr .input-group .form-control { width: unset;}
#frm_nuevo_usr .form-control:focus { outline: none; border-color: var(--main-color-1); box-shadow: 0 0 0 3px rgba(102, 30, 114, 0.1); background: #fff; }
#frm_nuevo_usr .form-control::placeholder { color: #9ca3af; }
#frm_nuevo_usr select.form-control { cursor: pointer; background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%2712%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23666%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27m6 9 6 6 6-6%27/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 40px; }
#frm_nuevo_usr input[type="date"] { cursor: pointer; }
#frm_nuevo_usr .form-group.col-12 { margin-top: 28px; padding-top: 24px !important; border-top: 1px solid #e5e7eb; }
#frm_nuevo_usr .checkbox-inline { display: flex !important; align-items: center; gap: 10px; font-size: 14px; color: #555; cursor: pointer; margin-bottom: 12px; line-height: 1.4; }
#frm_nuevo_usr .checkbox-inline input[type="checkbox"] { width: 18px; height: 18px; min-width: 18px; margin-top: 2px; accent-color: var(--main-color-1); cursor: pointer; }
#frm_nuevo_usr .checkbox-inline a { color: var(--main-color-1); text-decoration: underline; font-weight: 500; }
#frm_nuevo_usr .btn-send { display: block; width: 100%; padding: 14px; margin-top: 24px; font-size: 15px; font-weight: 600; letter-spacing: 0.04em; color: #fff; background: var(--main-color-1); border: 2px solid var(--main-color-1); /* border-radius: 8px; */ cursor: pointer; transition: all 0.3s ease; }
#frm_nuevo_usr .btn-send:hover { background: transparent; color: var(--main-color-1); }
#frm_nuevo_usr .btn-send:disabled { opacity: 0.5; cursor: not-allowed; }
#frm_nuevo_usr .btn-send::after { content: none; }
@media (min-width: 768px) {
#frm_nuevo_usr { display: flex; flex-wrap: wrap; gap: 0 20px; padding: 48px; }
#frm_nuevo_usr .form-group { flex: 0 0 calc(50% - 10px); }
#frm_nuevo_usr .form-group.col-12 { flex: 0 0 100%; }
}
@media (max-width: 576px) {
#frm_nuevo_usr { padding: 24px 20px; /* border-radius: 8px; */ box-shadow: none; border: 1px solid #e5e7eb; }
}

.doc-type-selector label{margin-bottom: 0 !important;}
#frm_nuevo_usr .special-form-group{ display: flex; width: 100%; flex: 0 0 100%; gap: 20px; align-items: end; }
.personal-fields .special-form-group{ display: flex; align-items: end; }


/* Toggle Password Button */
.btn-toggle-password { --button-font-size: 14px; --button-border-radius: 0 var(--form-input-border-radius) var(--form-input-border-radius) 0; --button-bg-color: var(--main-color-1); --button-color: var(--ecom-color-11, #fff); --button-border-color: var(--main-color-1); --button-bg-color-hover: var(--main-color-1); --button-color-hover: var(--ecom-color-11, #fff); --button-border-color-hover: var(--main-color-1); margin-top: var(--form-input-margin-top); height: auto; height: var(--form-input-height); padding: 14px !important; }
.login--group .form-control, .login--group .input-group .btn-toggle-password { height: var(--form-input-height); }
.input-group .btn-toggle-password { margin-top: var(--form-input-margin-top); }

/* Validació formularis */
.was-validated .form-control:invalid { border-color: #dc3545; }
.was-validated .form-control:valid { border-color: #28a745; }
.was-validated .form-control:invalid ~ .invalid-feedback { display: block; }
.invalid-feedback { display: none; color: #dc3545; font-size: 12px; margin-top: 4px; }

/* Out of stock message */
.add-to-cart--out-of-stock { padding: 16px; background: #fff3f3; border: 1px solid #dc3545; border-radius: 4px; text-align: center; }
.out-of-stock--message { color: #dc3545; font-weight: 600; font-size: 15px; margin: 0; }

/* Waitlist form */
.waitlist-form { border-top: 1px solid #e5e7eb; padding-top: 12px; margin-top: 12px; }
.waitlist-description { font-size: 13px; color: #555; margin-bottom: 8px; }
.waitlist-form .form-control-sm { font-size: 13px; }
.waitlist-form .form-control-sm::placeholder { font-size: 12px; }
.waitlist-form #waitlist-message p { font-size: 13px; margin: 0; }
#btn-waitlist:disabled { opacity: 0.6; cursor: not-allowed; }


/* MODALS */
.modal-body{padding: 1rem;}

#familyActivityModal .modal-title{font-size: 16px;}
#familyActivityModal .family-activity--count{font-size: 15px;}
#familyActivityModal .participant-form > .row{margin-left: 0; margin-right: 0; gap: 15px; display: grid; grid-template-columns: 1fr 1fr auto;}
#familyActivityModal .family-activity--participants-wrapper { max-height: 170px; overflow-y: scroll; padding-right: 10px; margin-bottom: 15px; }
#familyActivityModal .family-activity--participants-wrapper .family-activity--participants{height: 100%;}