:root{--primary-red:#E31E24;--dark-red:#c01820;--secondary-blue:#0057B8;--secondary-blue-dark:#049;--white:#FFF;--light-gray:#f5f5f5;--mid-gray:#e0e0e0;--dark-gray:#333;--text-color:#555;--color-muted:#555;--color-hint:#767676;--color-border:#e0e0e0;--color-border-medium:#ccc;--header-bg:#fff;--transition-speed:0.3s;
/* Sistema de elevación */
--shadow-sm:0 2px 8px rgba(0,0,0,0.07);--shadow-md:0 4px 16px rgba(0,0,0,0.10);--shadow-lg:0 10px 32px rgba(0,0,0,0.13);--shadow-hover:0 12px 36px rgba(0,0,0,0.16);
/* Radio consistente */
--radius-sm:8px;--radius-md:12px;--radius-lg:18px;
/* Tipografía escalonada */
--text-xs:.72rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.35rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--text-4xl:3rem}

html,body{overflow-x:hidden;max-width:100%}

img{max-width:100%;height:auto}

.container{max-width:1200px;margin:0 auto;padding:0 20px}

.section{padding:80px 0}

.section-title{text-align:center;margin-bottom:50px}

.section-title h2{font-size:2.5rem;color:var(--primary-red);text-transform:uppercase;font-weight:800;margin-bottom:15px}

.section-title .divider{width:60px;height:4px;background:var(--primary-red);margin:0 auto}

.section-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px;flex-wrap:wrap;gap:20px}

.section-header.centered{flex-direction:column;align-items:center;text-align:center}

.view-all{color:var(--primary-red);font-weight:600;white-space:nowrap}

.view-all:hover{text-decoration:underline}

.page-header{background:linear-gradient(135deg,var(--primary-red) 0,var(--dark-red) 100%);color:var(--white);padding:60px 0;text-align:center}

.page-header h1{font-size:2.5rem;font-weight:800;text-transform:uppercase;margin-bottom:15px}

.page-header .divider{width:60px;height:4px;background:var(--white);margin:0 auto}

.btn-outline{background:transparent;color:var(--white);border:3px solid var(--white)}

.btn-outline:hover{background:var(--white);color:var(--primary-red)}

.btn-sm{padding:8px 20px;font-size:0.85rem}

.btn-block{display:block;width:100%;text-align:center}

.header-main-content{display:flex;justify-content:space-between;align-items:center;width:100%}

.header-main{padding:15px 0;display:block}

.header-contact{display:flex;gap:15px;align-items:center}

.header-contact a{color:var(--white);opacity:0.9}

.header-contact a:hover{opacity:1}

.header-social{display:flex;gap:10px}

.header-social a{color:var(--white);opacity:0.9}

.header-social a:hover{opacity:1;transform:translateY(-2px)}

.header-main .container{display:flex;justify-content:space-between;align-items:center}

.custom-logo-link{display:block}

.custom-logo{max-height:60px;width:auto}

.main-nav{display:flex;align-items:center;gap:20px}

.btn-cta{display:inline-block;padding:10px 24px;background:var(--white);color:var(--primary-red);font-weight:700;text-transform:uppercase;font-size:0.85rem;border-radius:50px;margin-left:30px;border:2px solid var(--primary-red);transition:all 0.3s ease}

.btn-cta:hover{background:var(--primary-red);color:var(--white);transform:translateY(-2px);box-shadow:0 5px 15px rgba(227,30,36,0.4)}

.mobile-menu-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;background:rgba(0,0,0,0.5);opacity:0;visibility:hidden;transition:all 0.3s ease;z-index:999}

.mobile-menu-overlay.active{opacity:1;visibility:visible}

.mobile-menu{position:fixed;top:0;right:-300px;width:300px;max-width:85%;height:100vh;background:var(--white);box-shadow:-5px 0 20px rgba(0,0,0,0.1);transition:right 0.3s ease;z-index:1000;overflow-y:auto}

.mobile-menu.active{right:0}

.mobile-menu-close{position:absolute;top:15px;right:15px;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--dark-gray)}

.mobile-menu ul{padding:60px 20px 20px}

.mobile-menu ul li a{display:block;padding:15px 0;font-size:1.1rem;color:var(--dark-gray);border-bottom:1px solid var(--color-border)}

.mobile-menu .sub-menu{display:none;padding-left:20px;background:#f9f9f9;border-radius:8px;margin:10px 0}

.mobile-menu .sub-menu.active{display:block}

.mobile-menu ul li.menu-item-has-children > a::after{content:'▼';font-size:0.7rem;float:right}

.btn-mobile-cta{margin:20px}

.header-search{position:relative;display:flex;align-items:center}

.header-search-form{display:flex;gap:0;max-width:220px}

.header-search-form input{flex:1;padding:8px 12px;border:none;border-radius:50px 0 0 50px;font-size:0.85rem;min-width:0}

.header-search-form input:focus{outline:none;border-color:var(--primary-red);box-shadow:0 0 0 3px rgba(227,30,36,0.15)}

.header-search-form button{background:var(--primary-red);color:var(--white);border:none;padding:8px 12px;border-radius:0 50px 50px 0;cursor:pointer;white-space:nowrap}

.mobile-search-form{display:flex;padding:20px;gap:10px}

.mobile-search-form input{flex:1;padding:12px 15px;border:1px solid var(--color-border-medium);border-radius:5px}

.mobile-search-form button{background:var(--primary-red);color:var(--white);border:none;padding:12px 15px;border-radius:5px;cursor:pointer}





.hero-buttons{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}

.hero-stats{display:flex;justify-content:center;gap:40px;margin-top:40px;flex-wrap:wrap}

.hero-stat-number{display:block;font-size:2.5rem;font-weight:800;color:var(--white)}

.hero-stat-label{font-size:0.9rem;opacity:0.9;text-transform:uppercase}

.interviews-section{background:var(--light-gray);padding:60px 0}

.blog-grid-full{display:flex;flex-direction:column;gap:22px;max-width:860px;margin:0 auto}

/* Tarjeta horizontal: imagen izquierda + texto derecha */
.blog-card{background:var(--white);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .3s,transform .3s;display:grid;grid-template-columns:280px 1fr}

.blog-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}

.blog-card-image{height:100%;min-height:190px;overflow:hidden;position:relative}

.blog-card-image a{display:block;height:100%}

.blog-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}

.blog-card:hover .blog-card-image img{transform:scale(1.04)}

.blog-card-category{position:absolute;top:12px;left:12px;display:flex;flex-wrap:wrap;gap:5px;max-width:calc(100% - 24px)}.blog-card-category a{display:inline-flex;align-items:center;padding:4px 10px;border-radius:14px;font-size:.72rem;font-weight:700;text-decoration:none;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;backdrop-filter:blur(4px)}.blog-card-category a:nth-child(1){background:rgba(227,30,36,.9);color:#fff}.blog-card-category a:nth-child(2){background:rgba(26,58,92,.9);color:#fff}.blog-card-category a:nth-child(3){background:rgba(45,106,79,.9);color:#fff}.blog-card-category a:nth-child(n+4){background:rgba(0,0,0,.55);color:#fff}

.blog-card-content{padding:22px 28px;display:flex;flex-direction:column;justify-content:center;gap:8px}

.blog-card-date{font-size:0.82rem;color:var(--color-hint);display:block}

.blog-card-content h3{font-size:1.25rem;margin:0;color:var(--dark-gray);line-height:1.35;font-weight:800}

.blog-card-content h3 a{color:var(--dark-gray);text-decoration:none}

.blog-card-content h3 a:hover{color:var(--primary-red)}

.blog-card-content p{color:var(--color-muted);font-size:0.93rem;margin:0;line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

.read-more{color:var(--primary-red);font-weight:600}

.read-more:hover{text-decoration:underline}

.no-content{grid-column:1/-1;text-align:center;padding:60px 20px;color:var(--color-hint);font-size:1.1rem}

.blog-card{background:var(--white);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-md);transition:all 0.3s ease}

.blog-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover)}

.blog-card-image{height:220px;overflow:hidden}

.blog-card-image img{width:100%;height:100%;object-fit:cover}

.blog-card-category{position:absolute;top:12px;left:12px;display:flex;flex-wrap:wrap;gap:5px;max-width:calc(100% - 24px)}.blog-card-category a{display:inline-flex;align-items:center;padding:4px 10px;border-radius:14px;font-size:.72rem;font-weight:700;text-decoration:none;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;backdrop-filter:blur(4px)}.blog-card-category a:nth-child(1){background:rgba(227,30,36,.9);color:#fff}.blog-card-category a:nth-child(2){background:rgba(26,58,92,.9);color:#fff}.blog-card-category a:nth-child(3){background:rgba(45,106,79,.9);color:#fff}.blog-card-category a:nth-child(n+4){background:rgba(0,0,0,.55);color:#fff}

.blog-card-content{padding:20px}

.blog-card-date{font-size:0.85rem;color:var(--color-hint);display:block;margin-bottom:8px}

.blog-card-content h3{font-size:1.2rem;margin-bottom:10px;color:var(--dark-gray)}

.blog-card-content p{color:var(--color-muted);font-size:0.95rem;margin-bottom:15px}

.read-more{color:var(--primary-red);font-weight:600}

.join-banner{background:linear-gradient(135deg,var(--primary-red) 0,var(--dark-red) 100%);border-radius:var(--radius-lg);padding:60px 50px;text-align:center;color:var(--white);position:relative;overflow:hidden}

.join-banner::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 120% at 90% -10%,rgba(255,255,255,0.08) 0,transparent 60%);pointer-events:none}.join-banner h2{font-size:var(--text-3xl);margin-bottom:12px;font-weight:900}

.join-banner .btn{background:var(--white);color:var(--primary-red);margin-top:20px}

.shop-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;margin-bottom:40px;background:var(--white);padding:20px;border-radius:12px}

.shop-search{display:flex;align-items:center;background:var(--light-gray);border-radius:30px;padding:5px;flex:1;max-width:400px}

.shop-search input{border:none;padding:12px 20px;font-size:1rem;background:transparent;width:100%;flex:1}

.shop-search input:focus{outline:none;border-color:var(--primary-red);box-shadow:0 0 0 3px rgba(227,30,36,0.15)}

.category-btn,.filter-btn{padding:10px 24px;border:2px solid #e0e0e0;background:var(--white);border-radius:8px;cursor:pointer;font-weight:600;font-size:0.9rem;color:var(--dark-gray);transition:all 0.3s ease}

.category-btn:hover,.category-btn.active,.filter-btn:hover,.filter-btn.active{color:var(--white);border-color:var(--primary-red);background:var(--primary-red);transform:translateY(-2px)}

.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:30px;width:100%;margin:0 auto}

.woocommerce ul.products,.woocommerce-page ul.products{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:24px !important;list-style:none !important;padding:0 !important;margin:0 !important}

.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{width:100% !important;margin:0 !important;float:none !important}





.woocommerce ul.products::before{display:none}

.product-card{background:var(--white);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-md);transition:all 0.3s ease;position:relative;display:flex;flex-direction:column;min-height:380px}

.product-card:hover{transform:translateY(-8px);box-shadow:0 15px 35px rgba(0,0,0,0.12)}

.product-image{position:relative;height:220px;overflow:hidden;display:block;background:var(--light-gray)}

.product-image a{display:block;height:100%;width:100%}

.product-image img{width:100%;height:100%;object-fit:cover;transition:transform 0.3s ease}

.product-card:hover .product-image img{transform:scale(1.05)}

.product-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.6);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;opacity:0;transition:all 0.3s ease}

.product-card:hover .product-overlay{opacity:1}

.product-badge{position:absolute;top:15px;left:15px;padding:6px 14px;border-radius:20px;font-size:0.75rem;font-weight:600;background:#ff9800;color:var(--white);z-index:2}

.product-badge.new{background:#4caf50}

.product-info{padding:20px;flex-grow:1;display:flex;flex-direction:column;justify-content:space-between}

.product-category{font-size:0.75rem;color:var(--primary-red);text-transform:uppercase;font-weight:600;display:block;margin-bottom:5px}

.product-info h3{font-size:1rem;margin:8px 0;color:var(--dark-gray);line-height:1.4}

.product-info h3 a{color:var(--dark-gray);display:block}

.product-info h3 a:hover{color:var(--primary-red)}

.product-desc{color:var(--color-muted);font-size:0.85rem;margin-bottom:10px;line-height:1.5}

.product-price{padding-top:10px;border-top:1px solid var(--color-border)}

.product-price .price{font-size:1.3rem;font-weight:700;color:var(--primary-red);display:block}

.product-price del .amount{color:var(--color-hint);font-size:0.9rem;margin-right:5px}

.product-price ins .amount{color:var(--primary-red);text-decoration:none}

.btn-add-cart.added{display:none}

.shop-notice{display:flex;justify-content:center;gap:40px;margin-top:40px;padding:25px;background:var(--white);border-radius:12px;box-shadow:var(--shadow-md);flex-wrap:wrap}

.shop-notice > div{display:flex;align-items:center;gap:10px}

.shop-notice .notice-icon{font-size:1.8rem}

.shop-notice .notice-content h4{font-size:0.95rem;color:var(--dark-gray);margin-bottom:5px}

.shop-notice .notice-content p{font-size:0.85rem;color:var(--color-muted)}

.woocommerce ul.products::before,.woocommerce ul.products::after{display:none !important}

.woocommerce-message{border-top-color:var(--primary-red)}

.woocommerce-error{border-top-color:#ef4444}

.woocommerce-info{border-top-color:#3b82f6}

.events-list .event-item{display:grid;grid-template-columns:100px 1fr auto auto;align-items:center;gap:20px;padding:20px;margin-bottom:10px;background:var(--white);border:1px solid #e8e8e8;border-left:4px solid var(--primary-red);border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,0.06);transition:all 0.3s ease}

.events-list .event-item:hover{transform:translateY(-3px);box-shadow:0 8px 25px rgba(0,0,0,0.12);border-color:var(--primary-red)}

.event-date-col{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--primary-red);color:var(--white);padding:15px;border-radius:8px;min-width:80px}

.event-weekday{font-size:0.75rem;text-transform:uppercase;opacity:0.9}

.event-day-num{font-size:1.8rem;font-weight:800;line-height:1}

.event-title{font-size:1.1rem;margin:0 0 5px 0;color:var(--dark-gray)}

.event-title a:hover{color:var(--primary-red)}

.event-info-col .event-location{font-size:0.9rem;color:var(--color-muted);margin:0}

.event-details-col{display:flex;gap:10px;align-items:center}

.event-type{padding:5px 12px;border-radius:20px;font-size:0.8rem;font-weight:600;background:var(--primary-red);color:white}

.event-action-col .btn-small{padding:8px 16px;font-size:0.85rem;background:#333;color:#fff;border-radius:5px}

.event-action-col .btn-small:hover{background:#000}

.events-month-group{margin-bottom:40px}

.month-header{font-size:1.4rem;color:var(--primary-red);padding:10px 0;border-bottom:2px solid #eee;margin-bottom:20px}

.team-card-content .role{color:var(--primary-red);font-weight:600;font-size:0.9rem;display:block;margin-bottom:10px}

.testimonials-section{background:var(--light-gray)}

.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}

.testimonial-card{background:var(--white);border-radius:var(--radius-md);padding:30px;box-shadow:var(--shadow-md)}

.testimonial-card .quote{font-size:1.05rem;line-height:1.7;color:var(--dark-gray);font-style:italic;margin-bottom:20px}

.testimonial-author{display:flex;align-items:center;gap:15px}

.testimonial-author img{width:50px;height:50px;border-radius:50%;object-fit:cover}

.contact-info h2{font-size:1.8rem;color:var(--dark-gray);margin-bottom:15px}

.contact-info > p{color:var(--color-muted);font-size:1.05rem;line-height:1.7;margin-bottom:30px}

.form-group{margin-bottom:20px}

.form-group label{display:block;font-weight:600;color:var(--dark-gray);margin-bottom:8px}

.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 15px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;background:var(--white)}

.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-red);box-shadow:0 0 0 3px rgba(227,30,36,0.15)}

.form-group textarea{resize:vertical;min-height:120px}

.form-success{background:#d4edda;color:#155724;padding:15px 20px;border-radius:8px;margin-bottom:20px}

.form-error{background:#f8d7da;color:#721c24;padding:15px 20px;border-radius:8px;margin-bottom:20px}

.location-section{background:var(--white)}

.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;background:var(--white);border-radius:15px;overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,0.1)}

.location-map{height:450px}

.location-map iframe{width:100%;height:100%;border:0}

.location-info{padding:40px;display:flex;flex-direction:column;justify-content:center}

.location-info h3{font-size:1.8rem;color:var(--primary-red);margin-bottom:25px}

.location-info p{font-size:1.05rem;color:var(--dark-gray);margin-bottom:15px}

.location-info .btn{margin-top:20px;align-self:flex-start}

.cta-section{background:linear-gradient(135deg,var(--primary-red) 0,var(--dark-red) 100%);padding:80px 0;text-align:center}

.cta-content{max-width:700px;margin:0 auto}

.cta-content h2{font-size:2.5rem;color:var(--white);margin-bottom:15px;text-transform:uppercase;font-weight:800}

.cta-content p{font-size:1.2rem;color:rgba(255,255,255,0.95);margin-bottom:30px}

.cta-buttons{display:flex;gap:20px;justify-content:center}

.cta-buttons .btn{border:3px solid var(--white)}

.cta-buttons .btn:hover{background:var(--white);color:var(--primary-red)}

.post-header{background:linear-gradient(135deg,var(--primary-red) 0,var(--dark-red) 100%);color:var(--white);padding:60px 0 40px;text-align:center}

.post-header-content{max-width:900px;margin:0 auto}

.post-header h1{font-size:2.2rem;font-weight:800;margin:15px 0 25px;line-height:1.2}

.post-meta-top{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;font-size:0.95rem;opacity:0.95}

.post-meta-top span{display:inline-flex;align-items:center;gap:6px}

.post-category{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}
.post-category a{display:inline-flex;align-items:center;gap:5px;padding:4px 13px;border-radius:20px;font-weight:700;font-size:.78rem;text-decoration:none;letter-spacing:.03em;text-transform:uppercase;transition:filter .2s,transform .15s;white-space:nowrap}
.post-category a:hover{filter:brightness(.88);transform:translateY(-1px)}
/* Paleta rotativa por posición (nth-of-type no aplica en <a>, usamos :nth-child) */
.post-category a:nth-child(1){background:#E31E24;color:#fff}
.post-category a:nth-child(2){background:#1a3a5c;color:#fff}
.post-category a:nth-child(3){background:#2d6a4f;color:#fff}
.post-category a:nth-child(4){background:#7b2d8b;color:#fff}
.post-category a:nth-child(5){background:#b45309;color:#fff}
.post-category a::before{content:'#';opacity:.7;font-size:.7rem}

.post-date::before{content:"📅 "}

.read-time::before{content:"⏱️ "}

.post-featured-image{padding:40px 0 0;background:var(--white)}

.featured-img-wrapper{max-width:700px;margin:0 auto;border-radius:12px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,0.12)}

.featured-img-wrapper img{width:100%;height:auto;display:block}

.post-layout{display:flex;gap:40px}

.post-main{flex:1;min-width:0}

.post-sponsors{background:var(--white);padding:60px 0}

.post-sponsors .section-header{text-align:center;margin-bottom:40px}

.post-sponsors .section-title h2{font-size:2rem}

.post-sponsors-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:30px;align-items:center}

.post-sponsor-item{flex:0 0 auto;max-width:200px}

.post-sponsor-item img{max-width:100%;height:auto;filter:grayscale(100%);opacity:0.7;transition:all 0.3s ease}

.post-sponsor-item:hover img{filter:grayscale(0);opacity:1;transform:scale(1.05)}

.post-sponsor-item a{display:block}

.post-content-section{padding:60px 0;background:var(--white)}

.post-content-section .container{max-width:900px;margin:0 auto}

.post-body,.page-body{font-size:1.1rem;line-height:1.8;color:var(--dark-gray)}
.post-body p,.page-body p{margin-bottom:25px}
.post-body h2,.post-body h3,.post-body h4,
.page-body h2,.page-body h3,.page-body h4{color:var(--dark-gray);margin:40px 0 20px;font-weight:700}
.post-body h2,.page-body h2{font-size:1.8rem}
.post-body h3,.page-body h3{font-size:1.5rem}
.post-body h4,.page-body h4{font-size:1.2rem}
.post-body a,.page-body a{color:var(--primary-red);text-decoration:underline}
.post-body a:hover,.page-body a:hover{color:var(--dark-red)}
.post-body img,.page-body img{border-radius:8px;margin:20px 0;max-width:100%;height:auto}
.post-body ul,.post-body ol,.page-body ul,.page-body ol{margin:20px 0 20px 30px}
.post-body li,.page-body li{margin-bottom:10px}
.post-body blockquote,.page-body blockquote{border-left:4px solid var(--primary-red);padding-left:20px;margin:30px 0;font-style:italic;color:var(--color-muted)}
.post-body table,.page-body table{width:100%;border-collapse:collapse;margin:20px 0}
.post-body table th,.post-body table td,
.page-body table th,.page-body table td{padding:12px;border:1px solid var(--color-border-medium);text-align:left}
.post-body table th,.page-body table th{background:var(--light-gray);font-weight:600}

/* ── Vídeos e iframes responsivos (entradas y páginas) ──
 * Cubre wp-block-embed (Gutenberg) y embeds del editor clásico.
 * Replica las reglas de wp-block-library que se desencola. */

/* Reset iframe por defecto */
.post-body iframe,.page-body iframe,
.post-body video,.page-body video,
.post-body embed,.page-body embed{
    max-width:100%;display:block;margin:20px auto;border-radius:6px;border:0
}

/* Patrón moderno WordPress 6.x: ::before fija el ratio */
.wp-has-aspect-ratio .wp-block-embed__wrapper{position:relative}
.wp-has-aspect-ratio .wp-block-embed__wrapper::before{content:"";display:block}

.wp-embed-aspect-21-9 .wp-block-embed__wrapper::before{padding-top:42.857%}
.wp-embed-aspect-18-9 .wp-block-embed__wrapper::before{padding-top:50%}
.wp-embed-aspect-16-9 .wp-block-embed__wrapper::before{padding-top:56.25%}
.wp-embed-aspect-4-3  .wp-block-embed__wrapper::before{padding-top:75%}
.wp-embed-aspect-1-1  .wp-block-embed__wrapper::before{padding-top:100%}

/* Iframe dentro del wrapper con aspect-ratio: ocupa todo el espacio */
.wp-has-aspect-ratio .wp-block-embed__wrapper iframe,
.wp-has-aspect-ratio .wp-block-embed__wrapper video{
    position:absolute;top:0;right:0;bottom:0;left:0;
    width:100% !important;height:100% !important;border:0
}

/* Video full-width aunque no tenga wp-has-aspect-ratio */
.wp-block-embed.is-type-video > .wp-block-embed__wrapper > iframe{width:100%;min-height:280px}

/* Figura de bloque embed: espaciado y caption */
figure.wp-block-embed{margin:28px 0}
figure.wp-block-embed figcaption{
    font-size:.82rem;color:#999;text-align:center;margin-top:8px;font-style:italic
}

/* Editor clásico / shortcode [embed] */
.post-body .wp-video,.page-body .wp-video{width:100% !important;height:auto !important}
.post-body .wp-video video,.page-body .wp-video video{width:100%;height:auto;border-radius:6px}

/* Contenedor legacy manual */
.post-body .video-container,.page-body .video-container,
.post-body .embed-container,.page-body .embed-container{
    position:relative;padding-bottom:56.25%;height:0;overflow:hidden;
    border-radius:8px;margin:28px 0
}
.post-body .video-container iframe,.page-body .video-container iframe,
.post-body .embed-container iframe,.page-body .embed-container iframe{
    position:absolute;top:0;left:0;width:100%;height:100%;border:0
}

/* Vídeo HTML5 nativo */
.post-body video,.page-body video{width:100%;height:auto;border-radius:6px;background:#000}

.post-tags{margin-top:40px;padding-top:20px;border-top:1px solid var(--color-border)}

.post-tags span{font-weight:600;margin-right:10px}

.post-tags a{display:inline-block;padding:5px 15px;background:var(--light-gray);border-radius:20px;margin:0 5px 5px 0;font-size:0.9rem;color:var(--dark-gray)}

.post-tags a:hover{background:var(--primary-red);color:var(--white)}

.post-share .share-btn.copy,.post-share .share-btn.print{background:var(--light-gray);color:var(--dark-gray);border:none;cursor:pointer}

.post-share .share-btn.copy:hover,.post-share .share-btn.print:hover{background:var(--primary-red);color:var(--white)}

.woocommerce .widget-area,.woocommerce .sidebar,.woocommerce-page .widget-area,.woocommerce #secondary,.woocommerce-page #secondary{display:none !important}



.page-content-section{padding:60px 0;background:var(--white);min-height:70vh}

.page-body{font-size:1.1rem;line-height:1.8;color:var(--dark-gray);max-width:900px;margin:0 auto;width:100%}

.page-body p{margin-bottom:25px}

.page-body h1,.page-body h2,.page-body h3,.page-body h4{color:var(--dark-gray);margin:40px 0 20px;font-weight:700}

.page-body h1{font-size:2.2rem}

.page-body h2{font-size:1.8rem}

.page-body h3{font-size:1.5rem}

.page-body h4{font-size:1.2rem}

.page-body a{color:var(--primary-red)}

.page-body a:hover{color:var(--dark-red)}

.page-body img{border-radius:8px;margin:20px 0;max-width:100%;height:auto}

.page-body ul,.page-body ol{margin:20px 0 20px 30px}

.page-body li{margin-bottom:10px}

.page-body blockquote{border-left:4px solid var(--primary-red);padding-left:20px;margin:30px 0;font-style:italic;color:var(--color-muted)}

.page-body table{width:100%;border-collapse:collapse;margin:20px 0}

.page-body table th,.page-body table td{padding:12px;border:1px solid var(--color-border-medium)}

.page-body table th{background:var(--light-gray)}

.page-body .alignleft{float:left;margin-right:20px}

.page-body .alignright{float:right;margin-left:20px}

.page-body .aligncenter{margin:0 auto;display:block}

.page-body .wp-block-image{margin:30px 0}

.page-body .wp-block-button{margin:20px 0}

.page-body .wp-block-button a{display:inline-block;padding:12px 24px;background:var(--primary-red);color:var(--white);border-radius:5px;text-decoration:none}

.page-body .wp-block-button a:hover{background:var(--dark-red)}

.site-footer{background:#1a1a1a;color:#ccc;padding:0 0 0;border-top:4px solid var(--primary-red)}

.site-footer .footer-widget{padding:0}

.site-footer .footer-widget h3{color:var(--white);font-size:1.2rem;margin-bottom:20px;position:relative;padding-bottom:10px}

.site-footer .footer-widget h3::after{content:'';position:absolute;bottom:0;left:0;width:40px;height:3px;background:var(--primary-red)}

.site-footer .footer-widget ul{list-style:none;padding:0}

.site-footer .footer-widget ul li{margin-bottom:12px}

.site-footer .footer-widget ul li a{color:#aaa;transition:color 0.3s}

.site-footer .footer-widget ul li a:hover{color:var(--primary-red)}

.site-footer .social-links{display:flex;gap:15px;margin-top:15px}

.site-footer .social-links a{color:#aaa;transition:color 0.3s}

.site-footer .social-links a:hover{color:var(--primary-red)}

.site-footer .footer-content-wrap{padding:60px 0 0}.site-footer .footer-bottom{background:#111;padding:20px 0;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #2a2a2a;gap:16px;flex-wrap:wrap}

.site-footer .footer-bottom p{margin:0;font-size:0.9rem;color:#888}

.error-404{min-height:60vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:80px 20px}

.error-content h1{font-size:8rem;font-weight:800;color:var(--primary-red);line-height:1;margin-bottom:20px}

.error-content h2{font-size:2rem;margin-bottom:15px;color:var(--dark-gray)}

.error-content p{font-size:1.1rem;color:var(--color-muted);margin-bottom:30px}

.error-actions{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}

.error-search{max-width:500px;margin:0 auto 40px}

.search-form{display:flex;background:var(--white);border-radius:50px;box-shadow:0 5px 20px rgba(0,0,0,0.1)}

.search-form input{flex:1;padding:15px 25px;border:none;font-size:1rem}

.search-form input:focus{outline:none;border-color:var(--primary-red);box-shadow:0 0 0 3px rgba(227,30,36,0.15)}

.search-form button{background:var(--primary-red);color:var(--white);border:none;padding:15px 25px;cursor:pointer;border-radius:0 50px 50px 0}

.error-links-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;max-width:800px;margin:0 auto 40px}

.error-link-card{display:flex;flex-direction:column;align-items:center;padding:25px 15px;background:var(--white);border-radius:12px;box-shadow:0 3px 15px rgba(0,0,0,0.08)}

.error-link-card:hover{transform:translateY(-5px)}

.error-link-card .link-icon{font-size:2rem;margin-bottom:10px}

.error-link-card .link-text{font-weight:600;color:var(--dark-gray)}

.blog-pagination{text-align:center;margin-top:40px}

.blog-pagination a,.blog-pagination span{display:inline-block;padding:8px 15px;margin:0 3px;background:var(--white);border-radius:5px;color:var(--dark-gray)}

.blog-pagination a:hover,.blog-pagination span.current{background:var(--primary-red);color:var(--white)}



.mobile-menu{position:fixed;top:0;right:-320px;width:320px;max-width:90%;height:100vh;background:var(--white);box-shadow:-5px 0 30px rgba(0,0,0,0.2);z-index:1002;overflow-y:auto;padding:60px 20px 20px;transition:right 0.3s ease}

.mobile-menu.active{right:0}

.mobile-menu-close{position:absolute;top:15px;right:15px;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--dark-gray)}

.mobile-menu-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);opacity:0;visibility:hidden;transition:all 0.3s ease;z-index:1000}

.mobile-menu-overlay.active{opacity:1;visibility:visible}

}






.woocommerce .widget-area,.woocommerce-page .widget-area,.widget_pages,.woocommerce .sidebar,.woocommerce-page .sidebar,.woocommerce ul.products li.product .button,.woocommerce div.product form.cart .variations,.woocommerce .woocommerce-MyAccount-navigation{display:none !important}

.woocommerce .shop-notice{display:flex;gap:30px;flex-wrap:wrap;justify-content:center;margin-top:40px;padding:30px;background:#f8f8f8;border-radius:12px}

.woocommerce .shop-notice .notice-icon{font-size:2rem}

.woocommerce .shop-notice .notice-content{flex:1;min-width:250px}

.woocommerce .shop-notice .notice-content h4{font-size:1rem;margin-bottom:5px;color:var(--primary-red)}

.woocommerce .shop-notice .notice-content p{font-size:0.9rem;color:var(--dark-gray);margin:0}

.header-cart-widget{display:flex;align-items:center;margin-left:20px;position:relative;z-index:1001}

.header-cart-link{display:flex;align-items:center;gap:8px;padding:10px 15px;background:var(--primary-red);color:var(--white);border-radius:50px;font-weight:600;font-size:0.9rem;text-decoration:none;transition:all 0.3s ease}

.header-cart-link:hover{background:var(--dark-red);transform:translateY(-2px)}

.header-cart-link svg{width:20px;height:20px}

.header-cart-count{background:var(--white);color:var(--primary-red);border-radius:50%;min-width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:0.8rem;font-weight:700}

.header-cart-dropdown{position:absolute;top:100%;right:0;margin-top:15px;background:var(--white);border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,0.2);min-width:320px;padding:20px;display:none;border:1px solid var(--color-border)}

.header-cart-widget:hover .header-cart-dropdown{display:block}

.header-cart-dropdown h4{font-size:1rem;margin-bottom:15px;color:var(--dark-gray);border-bottom:1px solid var(--color-border);padding-bottom:10px}

.header-cart-dropdown .cart-item{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid #f5f5f5}

.header-cart-dropdown .cart-item img{width:50px;height:50px;object-fit:cover;border-radius:5px}

.header-cart-dropdown .cart-item-info{flex:1}

.header-cart-dropdown .cart-item-title{font-size:0.9rem;font-weight:600;color:var(--dark-gray);margin-bottom:3px}

.header-cart-dropdown .cart-item-price{font-size:0.85rem;color:var(--primary-red)}

.header-cart-dropdown .cart-total{display:flex;justify-content:space-between;padding:15px 0 0;margin-top:10px;border-top:2px solid #eee;font-weight:700;font-size:1.1rem}

.header-cart-dropdown .cart-footer-links{display:flex;gap:10px;margin-top:15px}

.header-cart-dropdown .cart-footer-links a{flex:1;text-align:center;padding:12px;border-radius:8px;font-weight:600;font-size:0.9rem;text-decoration:none}

.header-cart-dropdown .view-cart-btn{background:var(--primary-red);color:var(--white)}

.header-cart-dropdown .checkout-btn{background:var(--dark-gray);color:var(--white)}

.woocommerce div.product{position:relative}

.woocommerce div.product .product_meta{display:none}

.woocommerce .woocommerce-tabs{display:block !important}

.woocommerce #reviews #comments{display:block !important}

.woocommerce .upsells,.woocommerce .related{display:none !important}

.interviews-section{background:var(--light-gray);padding:60px 0}





@keyframes sponsors-scroll{0{transform:translateX(0)}
100%{transform:translateX(-50%)}
}

.product-card .product-category{font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--primary-red);margin-bottom:4px;display:block}



.shop-page-header .divider{background:rgba(255,255,255,0.4);margin-top:20px}

.shop-controls{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-bottom:32px;background:var(--white);padding:18px 22px;border-radius:14px;box-shadow:0 2px 12px rgba(0,0,0,0.06)}

.shop-search{display:flex;align-items:center;gap:10px;background:var(--light-gray);border-radius:30px;padding:10px 18px;flex:1;min-width:200px;max-width:320px}

.shop-search svg{color:#aaa;flex-shrink:0}

.shop-search input{border:none;background:transparent;font-size:0.9rem;width:100%;outline:none;color:var(--dark-gray)}

.shop-filters{display:flex;gap:8px;flex-wrap:wrap}

.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px}

.product-card{background:var(--white);border-radius:14px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,0.07);transition:transform 0.3s ease,box-shadow 0.3s ease;display:flex;flex-direction:column}

.product-card:hover{transform:translateY(-6px);box-shadow:0 12px 32px rgba(0,0,0,0.12)}

.product-card .product-image{position:relative;height:230px;overflow:hidden;background:#f8f8f8}

.product-card .product-image a{display:block;height:100%}

.product-card .product-image img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s ease}

.product-card:hover .product-image img{transform:scale(1.06)}

.product-card .product-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.55);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;opacity:0;transition:opacity 0.3s ease}

.product-card:hover .product-overlay{opacity:1}

.product-card .product-badge{position:absolute;top:12px;left:12px;padding:4px 12px;border-radius:20px;font-size:0.72rem;font-weight:700;z-index:2;text-transform:uppercase;letter-spacing:0.5px}

.product-badge.sale{background:var(--primary-red);color:#fff}

.product-badge.new{background:#22c55e;color:#fff}

.product-badge.soldout{background:#64748b;color:#fff;top:auto;bottom:12px;left:12px}

.product-card .product-info{padding:18px 20px 20px;flex-grow:1;display:flex;flex-direction:column;gap:6px}

.product-card .product-category{font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--primary-red)}

.product-card .product-info h3{font-size:0.97rem;margin:0;line-height:1.4;flex-grow:1}

.product-card .product-info h3 a{color:var(--dark-gray);text-decoration:none}

.product-card .product-info h3 a:hover{color:var(--primary-red)}

.product-price-row .product-price .price{font-size:1.2rem;font-weight:700;color:var(--primary-red)}

.product-price-row .product-price del .amount{color:#aaa;font-size:0.85rem}

.product-card .btn-add-cart{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:11px;margin-top:8px;background:var(--dark-gray);color:#fff;border:none;border-radius:8px;font-size:0.88rem;font-weight:600;cursor:pointer;text-decoration:none;transition:background 0.2s ease}

.product-card .btn-add-cart:hover{background:var(--primary-red);color:#fff}

.product-card .btn-notify{background:transparent;color:var(--dark-gray);border:1.5px solid #ddd}

.product-card .btn-notify:hover{background:var(--dark-gray);color:#fff;border-color:var(--dark-gray)}

.breadcrumb-nav .current{color:var(--dark-gray);font-weight:600}

.product-thumb:hover,.product-thumb.active{border-color:var(--primary-red)}

.product-title{font-size:1.9rem;font-weight:800;color:var(--dark-gray);line-height:1.25;margin:0 0 20px}

.product-price-block .price{font-size:2rem;font-weight:800;color:var(--primary-red)}

.product-price-block del .amount{color:#bbb;font-size:1.1rem;margin-right:8px}

.product-price-block ins .amount{color:var(--primary-red)}

.product-stock-badge.in-stock{background:#f0fdf4;color:#16a34a}

.product-stock-badge.out-of-stock{background:var(--light-gray);color:#888}

.product-attribute-group{margin-bottom:20px}

.attr-option.selected{border-color:var(--primary-red);background:var(--primary-red);color:#fff}

.product-qty{display:flex;align-items:stretch;border:2px solid #e5e5e5;border-radius:10px;overflow:hidden}







#pwa-install-banner{position:fixed;bottom:0;left:0;right:0;z-index:99999;transform:translateY(110%);transition:transform 0.4s cubic-bezier(0.34,1.56,0.64,1);padding:0 0 env(safe-area-inset-bottom,0)}

#pwa-install-banner.pwa-banner-visible{transform:translateY(0)}

.pwa-banner-inner{display:flex;align-items:center;gap:14px;background:var(--white);border-top:3px solid var(--primary-red);padding:16px 20px;box-shadow:0 -6px 30px rgba(0,0,0,0.15)}

.pwa-banner-logo img{width:52px;height:52px;border-radius:12px;object-fit:cover;box-shadow:0 2px 8px rgba(0,0,0,0.12);flex-shrink:0}

.pwa-banner-text{flex:1;min-width:0}

.pwa-banner-text strong{display:block;font-size:0.95rem;font-weight:700;color:#1a1a1a;margin-bottom:3px}

.pwa-banner-text span{font-size:0.8rem;color:#888}

.pwa-banner-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}

.pwa-btn-install{background:var(--primary-red);color:#fff;border:none;border-radius:8px;padding:10px 22px;font-size:0.9rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:background 0.2s ease,transform 0.15s ease}

.pwa-btn-install:hover{background:#c01118;transform:translateY(-1px)}

.pwa-btn-install:active{transform:translateY(0)}

.pwa-btn-dismiss{background:none;border:none;font-size:1.1rem;color:#bbb;cursor:pointer;padding:6px;line-height:1;transition:color 0.2s;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center}

.pwa-btn-dismiss:hover{color:var(--text-color);background:var(--light-gray)}

#pwa-ios-guide{position:fixed;inset:0;z-index:100000;display:flex;align-items:flex-end;justify-content:center;background:rgba(0,0,0,0);transition:background 0.3s ease;pointer-events:none;padding-bottom:env(safe-area-inset-bottom,0)}

#pwa-ios-guide.pwa-ios-visible{background:rgba(0,0,0,0.5);pointer-events:all}

.pwa-ios-inner{background:var(--white);border-radius:20px 20px 0 0;padding:28px 28px 36px;width:100%;max-width:480px;text-align:center;position:relative;transform:translateY(100%);transition:transform 0.4s cubic-bezier(0.34,1.2,0.64,1);box-shadow:0 -8px 40px rgba(0,0,0,0.2)}

#pwa-ios-guide.pwa-ios-visible .pwa-ios-inner{transform:translateY(0)}

.pwa-ios-close{position:absolute;top:16px;right:16px;background:var(--light-gray);border:none;border-radius:50%;width:32px;height:32px;font-size:1rem;color:#888;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s}

.pwa-ios-close:hover{background:#e5e5e5}

.pwa-ios-logo{width:72px;height:72px;border-radius:16px;margin:0 auto 16px;display:block;box-shadow:0 4px 14px rgba(0,0,0,0.15)}

.pwa-ios-inner h3{font-size:1.2rem;font-weight:800;color:#1a1a1a;margin:0 0 8px}

.pwa-ios-inner p{font-size:0.9rem;color:#888;margin:0 0 20px}

.pwa-ios-inner ol{text-align:left;list-style:none;padding:0;counter-reset:ios-steps;display:flex;flex-direction:column;gap:14px}

.pwa-ios-inner ol li{counter-increment:ios-steps;display:flex;align-items:center;gap:14px;font-size:0.92rem;color:#444;background:#fafafa;border-radius:10px;padding:12px 16px}

.pwa-ios-inner ol li::before{content:counter(ios-steps);background:var(--primary-red);color:#fff;font-weight:700;font-size:0.8rem;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}

.pwa-ios-icon{background:#e5e5e5;border-radius:6px;padding:2px 6px;font-size:1rem;margin-left:2px}

.news-newspaper{display:grid;grid-template-columns:1fr 340px;gap:28px;align-items:start}

.news-big{background:var(--white);border-radius:16px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,0.07);transition:box-shadow 0.3s ease}

.news-big:hover{box-shadow:0 10px 32px rgba(0,0,0,0.12)}

.news-big-img-wrap{display:block;position:relative;height:320px;overflow:hidden;text-decoration:none}

.news-big-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s ease}

.news-big:hover .news-big-img-wrap img{transform:scale(1.04)}

.news-no-img{width:100%;height:100%;background:linear-gradient(135deg,#f0f0f0,#e0e0e0)}

.news-big-category{position:absolute;bottom:14px;left:14px;display:flex;flex-wrap:wrap;gap:5px;max-width:calc(100% - 28px)}
.news-big-category a{display:inline-flex;align-items:center;padding:4px 11px;border-radius:14px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;white-space:nowrap;backdrop-filter:blur(4px);transition:filter .2s}
.news-big-category a:hover{filter:brightness(.85)}
.news-big-category a:nth-child(1){background:rgba(227,30,36,.92);color:#fff}
.news-big-category a:nth-child(2){background:rgba(26,58,92,.92);color:#fff}
.news-big-category a:nth-child(n+3){background:rgba(0,0,0,.58);color:#fff}

.news-big-body{padding:24px 26px 26px}

.news-big-title{font-size:1.45rem;font-weight:800;line-height:1.3;margin:6px 0 12px}

.news-big-title a{color:var(--dark-gray);text-decoration:none}

.news-big-title a:hover{color:var(--primary-red)}

.news-big-excerpt{font-size:0.93rem;color:var(--color-muted);line-height:1.65;margin:0 0 18px}

.news-readmore{display:inline-flex;align-items:center;gap:4px;font-size:0.85rem;font-weight:700;color:var(--primary-red);text-decoration:none;transition:gap 0.2s}

.news-readmore:hover{gap:8px}

.news-small-col{display:flex;flex-direction:column;gap:16px}

.news-small{display:flex;gap:14px;align-items:flex-start;background:var(--white);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow 0.3s ease;padding:12px}

.news-small:hover{box-shadow:0 6px 20px rgba(0,0,0,0.1)}

.news-small-img{display:block;flex-shrink:0;width:88px;height:80px;border-radius:8px;overflow:hidden}

.news-small-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.3s ease}

.news-small:hover .news-small-img img{transform:scale(1.06)}

.news-no-img-sm{width:100%;height:100%;background:#eee;border-radius:8px}

.news-small-body{flex:1;min-width:0}
.news-small-cats{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:5px}
.news-small-cats a{display:inline-block;padding:2px 8px;border-radius:10px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;transition:filter .2s}
.news-small-cats a:hover{filter:brightness(.85)}
.news-small-cats a:nth-child(1){background:#E31E24;color:#fff}
.news-small-cats a:nth-child(2){background:#1a3a5c;color:#fff}
.news-small-cats a:nth-child(n+3){background:#555;color:#fff}

.news-small-body .news-date{font-size:0.72rem}

.news-small-body h3{font-size:0.88rem;font-weight:700;margin:4px 0 0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.news-small-body h3 a{color:var(--dark-gray);text-decoration:none}

.news-small-body h3 a:hover{color:var(--primary-red)}





.interviews-section{background:#f7f7f7;padding:60px 0}

.interviews-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}

.interview-item{background:var(--white);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm);transition:transform 0.3s ease,box-shadow 0.3s ease;display:flex;flex-direction:column}

.interview-item:hover{transform:translateY(-5px);box-shadow:0 10px 28px rgba(0,0,0,0.11)}

.interview-item-img-wrap{display:block;position:relative;height:180px;overflow:hidden;text-decoration:none;flex-shrink:0}

.interview-item-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s ease}

.interview-item:hover .interview-item-img-wrap img{transform:scale(1.05)}

.interview-item-tag{position:absolute;top:10px;left:10px;background:var(--primary-red);color:#fff;font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:3px 10px;border-radius:20px}

.interview-item-body{padding:16px 18px 20px;flex-grow:1;display:flex;flex-direction:column;gap:6px}

.interview-item-body h3{font-size:0.92rem;font-weight:700;line-height:1.4;margin:0;flex-grow:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.interview-item-body h3 a{color:var(--dark-gray);text-decoration:none}

.interview-item-body h3 a:hover{color:var(--primary-red)}

.interview-item-body .news-readmore{font-size:0.8rem}





100%{transform:translateX(-50%)}
}



.shop-pagination{display:flex;justify-content:center;margin-top:40px}

.shop-pagination ul{display:flex;list-style:none;gap:6px;padding:0;margin:0;flex-wrap:wrap;justify-content:center}

.shop-pagination ul li a,.shop-pagination ul li span{display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border-radius:8px;font-size:0.9rem;font-weight:600;text-decoration:none;transition:all 0.2s ease;border:1.5px solid #e5e5e5;color:var(--dark-gray);background:var(--white)}

.shop-pagination ul li a:hover{background:var(--primary-red);color:#fff;border-color:var(--primary-red)}

.shop-pagination ul li span.current{background:var(--primary-red);color:#fff;border-color:var(--primary-red)}

.shop-hero{position:relative;background:#111;overflow:hidden;padding:70px 0 60px}

.shop-hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,rgba(227,30,36,0.92) 0,rgba(130,10,15,0.85) 55%,rgba(17,17,17,0.7) 100%);z-index:1}

.shop-hero-bg::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 70% 50%,rgba(255,255,255,0.04) 0,transparent 60%)}

.shop-hero-inner{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}

.shop-hero-text{flex:1;min-width:260px}

.shop-hero-eyebrow{display:inline-block;font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:3px;color:rgba(255,255,255,0.6);margin-bottom:14px}

.shop-hero-title{font-size:3.4rem;font-weight:900;color:#fff;line-height:1.05;margin:0 0 14px;letter-spacing:-1px}

.shop-hero-title span{color:transparent;-webkit-text-stroke:2px rgba(255,255,255,0.5)}

.shop-hero-sub{font-size:1rem;color:rgba(255,255,255,0.7);max-width:400px;line-height:1.6;margin:0}

.shop-hero-perks{display:flex;gap:6px;flex-wrap:wrap;align-items:flex-start}

.shop-perk{display:flex;flex-direction:column;align-items:center;gap:8px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);border-radius:12px;padding:16px 20px;min-width:110px;text-align:center;backdrop-filter:blur(8px);transition:background 0.2s}

.shop-perk:hover{background:rgba(255,255,255,0.14)}

.shop-perk svg{width:24px;height:24px;color:rgba(255,255,255,0.85)}

.shop-perk span{font-size:0.75rem;color:rgba(255,255,255,0.75);font-weight:600;line-height:1.3}

.shop-toolbar{position:sticky;top:0;z-index:90;background:var(--white);border-bottom:1px solid var(--color-border);box-shadow:0 2px 16px rgba(0,0,0,0.06)}

.shop-toolbar-inner{display:flex;align-items:center;gap:16px;padding:14px 0;flex-wrap:wrap}

.shop-search-field{display:flex;align-items:center;gap:10px;background:var(--light-gray);border-radius:30px;padding:10px 18px;min-width:200px;flex:0 0 auto;cursor:text}

.shop-search-field svg{width:16px;height:16px;color:#aaa;flex-shrink:0}

.shop-search-field input{border:none;background:transparent;outline:none;font-size:0.88rem;color:var(--dark-gray);width:180px}

.shop-filters{display:flex;gap:6px;flex:1;flex-wrap:wrap}

.shop-filter-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:30px;border:1.5px solid #e0e0e0;background:var(--white);font-size:0.82rem;font-weight:600;color:var(--text-color);cursor:pointer;transition:all 0.2s ease;white-space:nowrap}

.shop-filter-pill:hover{border-color:var(--primary-red);color:var(--primary-red)}

.shop-filter-pill.active{background:var(--primary-red);color:#fff;border-color:var(--primary-red)}

.pill-count{background:rgba(0,0,0,0.12);border-radius:20px;padding:1px 7px;font-size:0.72rem}

.shop-filter-pill.active .pill-count{background:rgba(255,255,255,0.25)}

.shop-toolbar-right{display:flex;align-items:center;gap:10px;margin-left:auto}

.shop-toolbar-right .ac-share{margin-top:0;padding-top:0;border-top:none;gap:8px}

.shop-toolbar-right .ac-share-label{display:none}

.shop-toolbar-right .ac-share-btns{gap:6px}

.shop-toolbar-right .ac-share-btn{width:34px;height:34px}

.shop-toolbar-right .ac-share-btn svg{width:14px;height:14px}

.shop-sort-select{border:1.5px solid #e0e0e0;border-radius:8px;padding:8px 14px;font-size:0.85rem;color:#444;background:var(--white);cursor:pointer;outline:none}

.shop-view-toggle{display:flex;gap:4px}

.view-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1.5px solid #e0e0e0;background:var(--white);color:#888;cursor:pointer;transition:all 0.2s}

.view-btn svg{width:16px;height:16px}

.view-btn.active{background:var(--primary-red);color:#fff;border-color:var(--primary-red)}

.view-btn:hover:not(.active){border-color:#aaa;color:#444}

.shop-body{padding:48px 0 70px;background:#f8f8f8}

.shop-grid,.products-grid.shop-grid,#productsGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}

.shop-card{background:var(--white);border-radius:16px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,0.06);transition:transform 0.3s ease,box-shadow 0.3s ease;display:flex;flex-direction:column;position:relative}

.shop-card:hover{transform:translateY(-7px);box-shadow:0 16px 40px rgba(0,0,0,0.11)}

.shop-card-media{position:relative;overflow:hidden;height:240px;background:var(--light-gray);flex-shrink:0}

.shop-card-img-link{display:block;height:100%}

.shop-card-img-link img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease}

.shop-card:hover .shop-card-img-link img{transform:scale(1.07)}

.shop-card-no-img{width:100%;height:100%;display:flex;align-items:center;justify-content:center}

.shop-card-no-img svg{width:48px;height:48px}

.shop-card-badges{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;gap:5px;z-index:2}

.sc-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:0.68rem;font-weight:700;text-transform:uppercase;letter-spacing:0.5px}

.sc-badge-sale{background:var(--primary-red);color:#fff}

.sc-badge-featured{background:#f59e0b;color:#fff}

.sc-badge-out{background:#64748b;color:#fff}

.shop-card-actions{position:absolute;top:12px;right:12px;display:flex;flex-direction:column;gap:6px;opacity:0;transform:translateX(8px);transition:all 0.3s ease;z-index:2}

.shop-card:hover .shop-card-actions{opacity:1;transform:translateX(0)}

.sc-action{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;text-decoration:none;border:none;cursor:pointer;transition:all 0.2s}

.sc-action svg{width:16px;height:16px}

.sc-action-view{background:var(--white);color:var(--dark-gray);box-shadow:0 2px 8px rgba(0,0,0,0.15)}

.sc-action-view:hover{background:var(--dark-gray);color:#fff}

.sc-action-cart{background:var(--primary-red);color:#fff;box-shadow:0 2px 8px rgba(227,30,36,0.35)}

.sc-action-cart:hover{background:#c01118;color:#fff}

.shop-card-info{padding:18px 20px 20px;flex-grow:1;display:flex;flex-direction:column;gap:5px}

.shop-card-cat{font-size:0.68rem;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--primary-red)}

.shop-card-name{font-size:0.96rem;font-weight:700;margin:0;line-height:1.4;flex-grow:1}

.shop-card-name a{color:#222;text-decoration:none}

.shop-card-name a:hover{color:var(--primary-red)}

.shop-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding-top:12px;border-top:1px solid #f0f0f0}

.shop-card-price .price{font-size:1.2rem;font-weight:800;color:var(--primary-red)}

.shop-card-price del .amount{color:#bbb;font-size:0.82rem}

.shop-card-nostock{font-size:0.75rem;color:#aaa}

.shop-card-cta{width:38px;height:38px;background:var(--dark-gray);color:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;text-decoration:none;border:none;cursor:pointer;flex-shrink:0;transition:background 0.2s}

.shop-card-cta svg{width:17px;height:17px}

.shop-card-cta:hover{background:var(--primary-red);color:#fff}

.shop-list-extra{display:none}

.shop-grid-list{grid-template-columns:1fr}

.shop-grid-list .shop-card{flex-direction:row;height:140px}

.shop-grid-list .shop-card-media{width:160px;height:140px;flex-shrink:0;border-radius:16px 0 0 16px}

.shop-grid-list .shop-card-info{flex-direction:row;align-items:center;flex-wrap:wrap;gap:10px;padding:16px 24px}

.shop-grid-list .shop-card-name{flex:1;min-width:150px}

.shop-grid-list .shop-card-footer{border-top:none;padding-top:0;flex-direction:row;gap:14px}

.shop-grid-list .shop-list-extra{display:flex;align-items:center;gap:16px;font-size:0.82rem;color:#888;flex:1}

.shop-grid-list .shop-list-extra p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0}

.sc-list-btn{background:var(--primary-red);color:#fff;padding:8px 18px;border-radius:8px;font-size:0.82rem;font-weight:700;text-decoration:none;white-space:nowrap}

.sc-list-link{color:var(--primary-red);font-weight:700;font-size:0.82rem;text-decoration:none;white-space:nowrap}

.shop-grid-list .shop-card-cat{display:none}

.shop-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center;color:#ccc;gap:12px}

.shop-empty svg{width:60px;height:60px;stroke:#ddd}

.shop-empty p{font-size:1.15rem;font-weight:700;color:#aaa;margin:0}

.shop-empty span{font-size:0.88rem;color:#bbb}

.sp-breadcrumb{background:#fafafa;border-bottom:1px solid var(--color-border);padding:14px 0}

.sp-breadcrumb .container{display:flex;align-items:center;gap:8px;font-size:0.82rem;flex-wrap:wrap}

.sp-breadcrumb a{color:#888;text-decoration:none;transition:color 0.2s}

.sp-breadcrumb a:hover{color:var(--primary-red)}

.sp-breadcrumb span:last-child{color:var(--dark-gray);font-weight:600}

.sp-breadcrumb svg{color:#ccc;flex-shrink:0}

.sp-section{background:#f8f8f8;padding:50px 0 60px}

.sp-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start;margin-bottom:52px}

.sp-gallery{position:sticky;top:90px}

.sp-main-img{position:relative;background:var(--white);border-radius:20px;overflow:hidden;aspect-ratio:1 / 1;box-shadow:0 4px 24px rgba(0,0,0,0.08);cursor:zoom-in}

.sp-main-img img{width:100%;height:100%;object-fit:contain;padding:20px;transition:transform 0.4s ease}

.sp-main-img:hover img{transform:scale(1.04)}

.sp-badge-sale{position:absolute;top:16px;left:16px;z-index:2;background:var(--primary-red);color:#fff;font-size:0.85rem;font-weight:800;padding:6px 14px;border-radius:20px}

.sp-zoom-btn{position:absolute;bottom:14px;right:14px;background:rgba(255,255,255,0.92);border:none;border-radius:10px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,0.1);transition:background 0.2s;z-index:2}

.sp-zoom-btn svg{width:18px;height:18px;color:#444}

.sp-zoom-btn:hover{background:var(--primary-red)}

.sp-zoom-btn:hover svg{color:#fff}

.sp-thumbs{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}

.sp-thumb{width:70px;height:70px;border-radius:10px;border:2px solid transparent;background-size:cover;background-position:center;cursor:pointer;transition:border-color 0.2s,transform 0.2s;flex-shrink:0}

.sp-thumb:hover{border-color:#ccc;transform:scale(1.05)}

.sp-thumb.active{border-color:var(--primary-red)}

.sp-info{background:var(--white);border-radius:20px;padding:40px;box-shadow:0 4px 24px rgba(0,0,0,0.07)}

.sp-category{display:inline-block;background:var(--white)0f0;color:var(--primary-red);font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;padding:5px 14px;border-radius:20px;margin-bottom:16px}

.sp-title{font-size:2rem;font-weight:900;color:#111;line-height:1.2;margin:0 0 20px;letter-spacing:-0.5px}

.sp-price{margin-bottom:18px}

.sp-price .price{font-size:2.2rem;font-weight:900;color:var(--primary-red)}

.sp-price del .amount{color:#bbb;font-size:1.1rem;margin-right:6px}

.sp-price ins{text-decoration:none}

.sp-stock{display:inline-flex;align-items:center;gap:7px;font-size:0.85rem;font-weight:700;padding:8px 16px;border-radius:30px;margin-bottom:22px}

.sp-stock.in-stock{background:#f0fdf4;color:#16a34a}

.sp-stock.no-stock{background:var(--light-gray);color:#888}

.sp-stock svg{width:14px;height:14px}

.sp-excerpt{font-size:0.95rem;color:var(--color-muted);line-height:1.7;margin-bottom:26px;padding-bottom:24px;border-bottom:1px solid #f0f0f0}

.sp-attr-group{margin-bottom:22px}

.sp-attr-label{font-size:0.78rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#888;margin-bottom:10px}

.sp-attr-options{display:flex;gap:8px;flex-wrap:wrap}

.sp-opt{min-width:46px;height:46px;padding:0 14px;border-radius:10px;border:2px solid #e8e8e8;background:var(--white);font-size:0.88rem;font-weight:700;color:var(--dark-gray);cursor:pointer;transition:all 0.2s}

.sp-opt:hover{border-color:var(--primary-red);color:var(--primary-red)}

.sp-opt.active{background:var(--primary-red);color:#fff;border-color:var(--primary-red)}

.sp-buy-row{display:flex;gap:14px;align-items:stretch;margin-bottom:28px}

.sp-qty{display:flex;align-items:stretch;border:2px solid #e8e8e8;border-radius:12px;overflow:hidden}

.sp-qty-btn{width:46px;background:#f8f8f8;border:none;font-size:1.3rem;font-weight:700;color:var(--dark-gray);cursor:pointer;transition:background 0.2s,color 0.2s}

.sp-qty-btn:hover{background:var(--primary-red);color:#fff}

.sp-qty-input{width:54px;text-align:center;border:none;border-left:1px solid #e8e8e8;border-right:1px solid #e8e8e8;font-size:1rem;font-weight:700;color:#222;outline:none}

.sp-atc-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--primary-red);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:800;padding:0 30px;cursor:pointer;text-decoration:none;min-height:54px;letter-spacing:0.3px;transition:background 0.2s,transform 0.15s}

.sp-atc-btn svg{width:20px;height:20px}

.sp-atc-btn:hover{background:#c01118;color:#fff;transform:translateY(-1px)}

.sp-atc-disabled{background:#e5e5e5;color:#aaa;cursor:not-allowed}

.sp-atc-disabled:hover{background:#e5e5e5;transform:none}

.sp-guarantees{list-style:none;padding:0;margin:0 0 24px;background:#fafafa;border-radius:12px;overflow:hidden}

.sp-guarantees li{display:flex;align-items:center;gap:12px;padding:13px 18px;font-size:0.88rem;color:var(--text-color);border-bottom:1px solid #f0f0f0}

.sp-guarantees li:last-child{border-bottom:none}

.sp-guarantees li svg{width:18px;height:18px;color:var(--primary-red);flex-shrink:0}

.sp-description{background:var(--white);border-radius:20px;padding:40px;box-shadow:0 4px 24px rgba(0,0,0,0.07);margin-bottom:32px}

.sp-desc-header{margin-bottom:28px}

.sp-desc-header h2{font-size:1.3rem;font-weight:800;margin:0 0 10px}

.sp-desc-line{height:3px;width:50px;background:var(--primary-red);border-radius:2px}

.sp-desc-body{font-size:0.96rem;color:var(--text-color);line-height:1.8}

.sp-desc-body p{margin-bottom:14px}

.sp-desc-body ul{padding-left:22px}

.sp-desc-body li{margin-bottom:8px}

.sp-back{display:inline-flex;align-items:center;gap:8px;color:#888;font-size:0.88rem;font-weight:700;text-decoration:none;transition:color 0.2s}

.sp-back svg{width:16px;height:16px}

.sp-back:hover{color:var(--primary-red)}

.sp-lightbox{position:fixed;inset:0;z-index:99999;align-items:center;justify-content:center}

.sp-lightbox-bg{position:absolute;inset:0;background:rgba(0,0,0,0);transition:background 0.3s}

.sp-lb-open .sp-lightbox-bg{background:rgba(0,0,0,0.88)}

.sp-lightbox-inner{position:relative;z-index:2;max-width:80vw;max-height:85vh;transform:scale(0.9);opacity:0;transition:all 0.3s cubic-bezier(0.34,1.56,0.64,1)}

.sp-lb-open .sp-lightbox-inner{transform:scale(1);opacity:1}

.sp-lightbox-inner img{max-width:100%;max-height:85vh;border-radius:12px;display:block;object-fit:contain}

.sp-lightbox-close{position:absolute;top:-18px;right:-18px;background:var(--primary-red);color:#fff;border:none;border-radius:50%;width:36px;height:36px;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center}









.skip-to-content{position:absolute;top:-100px;left:16px;background:var(--primary-red);color:#fff;padding:10px 20px;border-radius:0 0 8px 8px;font-size:0.9rem;font-weight:700;text-decoration:none;z-index:99999;transition:top 0.2s ease}

.skip-to-content:focus{top:0}

input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--primary-red);outline-offset:0;box-shadow:0 0 0 4px rgba(227,30,36,0.15);border-color:var(--primary-red) !important}



.mobile-menu{position:fixed !important;top:0 !important;right:-100% !important;width:300px !important;max-width:85vw !important;height:100vh !important;background:var(--white) !important;box-shadow:-6px 0 30px rgba(0,0,0,0.18) !important;z-index:10010 !important;overflow-y:auto !important;overflow-x:hidden !important;display:flex !important;flex-direction:column !important;padding:0 !important;transition:right 0.32s cubic-bezier(0.4,0,0.2,1) !important}

.mobile-menu.active{right:0 !important}

.mobile-menu-overlay{position:fixed !important;inset:0 !important;background:rgba(0,0,0,0.5) !important;z-index:10009 !important;opacity:0 !important;visibility:hidden !important;transition:opacity 0.3s,visibility 0.3s !important}

.mobile-menu-overlay.active{opacity:1 !important;visibility:visible !important}

.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #f0f0f0;flex-shrink:0;background:var(--white);position:sticky;top:0;z-index:2}

.mobile-menu-logo{display:flex;align-items:center;text-decoration:none;max-width:calc(100% - 50px)}

.mobile-menu-logo img,.mobile-menu-logo .custom-logo{max-height:44px !important;width:auto !important;display:block !important;object-fit:contain}

.mobile-menu-close{width:38px !important;height:38px !important;background:var(--light-gray) !important;border:none !important;border-radius:50% !important;display:flex !important;align-items:center !important;justify-content:center !important;cursor:pointer !important;color:#444 !important;flex-shrink:0 !important;transition:background 0.2s,color 0.2s !important;font-size:1rem !important;padding:0 !important;position:static !important}

.mobile-menu-close:hover{background:var(--primary-red) !important;color:#fff !important}

.mobile-menu-close svg{width:18px;height:18px}

.mobile-nav{flex:1;padding:8px 0}

.mobile-nav-menu{list-style:none;margin:0;padding:0 18px}

.mobile-nav-menu li{border-bottom:1px solid #f5f5f5}

.mobile-nav-menu li:last-child{border-bottom:none}

.mobile-nav-menu li a{display:flex;align-items:center;justify-content:space-between;padding:14px 4px;font-size:1rem;font-weight:600;color:#222;text-decoration:none;transition:color 0.2s}

.mobile-nav-menu li a:hover{color:var(--primary-red)}

.mobile-nav-menu li.menu-item-has-children > a::after{content:'';width:8px;height:8px;border-right:2px solid #bbb;border-bottom:2px solid #bbb;transform:rotate(-45deg);margin-left:8px;flex-shrink:0}

.mobile-nav-menu .sub-menu{display:none;padding:4px 0 10px 16px;list-style:none}

.mobile-nav-menu .sub-menu.active{display:block}

.mobile-nav-menu .sub-menu li{border-bottom:none}

.mobile-nav-menu .sub-menu li a{font-size:0.9rem;font-weight:400;color:var(--color-muted);padding:8px 4px}

.mobile-search-form{display:flex;margin:12px 18px;background:var(--light-gray);border-radius:8px;overflow:hidden;flex-shrink:0}

.mobile-search-form input{flex:1;border:none;background:transparent;padding:11px 14px;font-size:0.9rem;outline:none;color:var(--dark-gray);min-width:0}

.mobile-search-form button{background:var(--primary-red);border:none;padding:11px 14px;cursor:pointer;color:#fff;display:flex;align-items:center;flex-shrink:0}

.btn-mobile-cta{margin:8px 18px 24px !important;text-align:center !important;display:block !important;flex-shrink:0 !important}

.site-footer{background:#1a1a1a;color:#ccc;padding:0 0 0;border-top:4px solid var(--primary-red)}

.footer-widget-brand .custom-logo,.footer-widget-brand img{max-height:52px;width:auto;margin-bottom:14px;filter:brightness(0) invert(1);opacity:0.9}

.footer-widget h3{color:#fff;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin:0 0 18px;padding-bottom:10px;border-bottom:2px solid var(--primary-red);display:inline-block}

.footer-widget p{font-size:0.88rem;color:var(--color-hint);line-height:1.7;margin:0 0 16px}

.footer-menu,.footer-contact-list{list-style:none;padding:0;margin:0}

.footer-menu li,.footer-contact-list li{margin-bottom:10px}

.footer-menu a{color:#aaa;text-decoration:none;font-size:0.88rem;transition:color 0.2s}

.footer-menu a:hover{color:var(--primary-red)}

.footer-contact-list li{display:flex;align-items:flex-start;gap:9px;font-size:0.85rem;color:var(--color-hint);line-height:1.5}

.footer-contact-list svg{color:var(--primary-red);flex-shrink:0;margin-top:2px}

.footer-contact-list a{color:#aaa;text-decoration:none}

.footer-contact-list a:hover{color:var(--primary-red)}

.social-links{display:flex;gap:10px;margin-top:16px}

.social-links a{width:36px;height:36px;background:rgba(255,255,255,0.08);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#ccc;transition:background 0.2s,color 0.2s;text-decoration:none}

.social-links a:hover{background:var(--primary-red);color:#fff}

.footer-bottom{border-top:1px solid rgba(255,255,255,0.08);padding:22px 0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}

.footer-copy{margin:0;font-size:0.82rem;color:#777}

.footer-copy strong{color:#aaa}

.footer-extra{margin:0;font-size:0.78rem;color:var(--color-muted)}

.footer-extra a{color:#888;text-decoration:underline}









.sp-copy,.share-btn.copy{background:#6b7280 !important;color:#fff !important;cursor:pointer !important;border:none !important}

.sp-copy:hover,.share-btn.copy:hover{background:#374151 !important}

.mobile-menu-overlay{z-index:9008 !important}

.mobile-menu{z-index:9009 !important}



.destaca-section{background:var(--white);padding:50px 0}

.news-section{background:#f0f2f5 !important;border-top:5px solid var(--primary-red) !important;margin-top:0 !important;padding-top:60px !important}

.destaca-section{background:var(--white);padding:50px 0;border-bottom:1px solid #e0e0e0}

.destaca-card{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;background:var(--white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}

.destaca-img-wrap{display:block;position:relative;height:380px;overflow:hidden;text-decoration:none}

.destaca-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease}

.destaca-card:hover .destaca-img-wrap img{transform:scale(1.04)}

.destaca-label{position:absolute;top:16px;left:16px;background:var(--primary-red);color:#fff;font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;padding:5px 14px;border-radius:20px;display:flex;align-items:center;gap:6px}

.destaca-body{padding:40px 40px 40px 0;display:flex;flex-direction:column;gap:14px}
.destaca-cats{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:-4px}
.destaca-body .destaca-cats a{display:inline-flex;align-items:center;padding:4px 13px;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;text-decoration:none !important;transition:filter .2s,transform .15s;line-height:1.4}
.destaca-body .destaca-cats a:hover{filter:brightness(.88);transform:translateY(-1px)}
.destaca-body .destaca-cats a:nth-child(1){background:#E31E24 !important;color:#fff !important}
.destaca-body .destaca-cats a:nth-child(2){background:#1a3a5c !important;color:#fff !important}
.destaca-body .destaca-cats a:nth-child(n+3){background:#555 !important;color:#fff !important}
.destaca-body .destaca-cats a::before{content:'#';opacity:.65;font-size:.68rem;margin-right:1px}

.destaca-title{font-size:1.8rem;font-weight:900;line-height:1.25;margin:0;color:#111}

.destaca-title a{color:#111;text-decoration:none}

.destaca-title a:hover{color:var(--primary-red)}

.destaca-excerpt{font-size:0.96rem;color:var(--color-muted);line-height:1.7;margin:0}





.filter-btn-pasados{opacity:0.7;font-style:italic}

.filter-btn-pasados.active{opacity:1;font-style:normal}

.past-event{opacity:0.6}

.past-event .event-title a{color:#888 !important}

.share-btn.instagram,.sp-share-btn.sp-ig{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888) !important;color:#fff !important;cursor:pointer !important;border:none !important}

.share-btn.instagram:hover,.sp-share-btn.sp-ig:hover{opacity:0.85 !important}

.entrenadores-header{background:linear-gradient(135deg,var(--primary-red) 0,#8b0c10 100%);padding:80px 0 60px;position:relative;overflow:hidden}

.entrenadores-header::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}

.entrenadores-header .container{position:relative}

.entrenadores-header h1{font-size:2.8rem}

.entrenadores-header-sub{margin-top:12px;font-size:1.1rem;opacity:0.85;font-weight:400;max-width:520px;margin-left:auto;margin-right:auto}

.entrenadores-header-stats{display:flex;justify-content:center;gap:48px;margin-top:36px;flex-wrap:wrap}

.entrenadores-header-stat{text-align:center;color:#fff}

.entrenadores-header-stat strong{display:block;font-size:2.4rem;font-weight:900;line-height:1}

.entrenadores-header-stat span{font-size:0.82rem;opacity:0.75;text-transform:uppercase;letter-spacing:1px}

.entrenadores-section{background:#f5f6f8;padding:70px 0}

.entrenadores-grupo{margin-top:64px;margin-bottom:32px}

.entrenadores-grupo:first-of-type{margin-top:0}

.entrenadores-grupo-titulo{font-size:1.4rem;font-weight:900;text-transform:uppercase;color:var(--dark-gray);letter-spacing:1.5px;display:flex;align-items:center;gap:14px}

.entrenadores-grupo-titulo::after{content:'';flex:1;height:2px;background:linear-gradient(to right,#ddd,transparent)}

.entrenadores-grupo-titulo-dot{width:10px;height:10px;background:var(--primary-red);border-radius:50%;flex-shrink:0}

.entrenadores-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-bottom:16px}

.entrenador-card{background:var(--white);border-radius:20px;overflow:hidden;box-shadow:0 2px 16px rgba(0,0,0,0.07);transition:transform 0.28s ease,box-shadow 0.28s ease;display:flex;flex-direction:column;text-decoration:none;color:inherit;position:relative}

.entrenador-card:hover{transform:translateY(-8px);box-shadow:0 16px 48px rgba(0,0,0,0.14);color:inherit}

.entrenador-card-link{position:relative;display:flex;flex-direction:column;flex:1;text-decoration:none;color:inherit;cursor:pointer}

.entrenador-card-link::after{content:'Ver perfil →';position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,var(--primary-red) 0,rgba(227,30,36,0) 100%);color:#fff;font-size:0.82rem;font-weight:700;letter-spacing:0.5px;padding:32px 22px 14px;opacity:0;transition:opacity 0.25s ease;pointer-events:none}

.entrenador-card:hover .entrenador-card-link::after{opacity:1}

.entrenador-foto{position:relative;height:280px;overflow:hidden;background:#ebebeb;flex-shrink:0}

.entrenador-foto img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform 0.45s ease}

.entrenador-card:hover .entrenador-foto img{transform:scale(1.06)}

.entrenador-foto-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e8e8e8,#d5d5d5)}

.entrenador-cargo-badge{position:absolute;bottom:14px;left:14px;background:rgba(227,30,36,0.95);color:#fff;font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.8px;padding:5px 12px;border-radius:30px;backdrop-filter:blur(4px)}

.entrenador-info{padding:22px 22px 20px;display:flex;flex-direction:column;flex:1;gap:10px}

.entrenador-nombre{font-size:1.18rem;font-weight:800;color:var(--dark-gray);line-height:1.2}

.entrenador-especialidad{display:flex;align-items:center;gap:6px;font-size:0.87rem;color:var(--primary-red);font-weight:600;margin:0}

.entrenador-meta-tags{display:flex;flex-wrap:wrap;gap:6px}

.entrenador-tag{display:inline-flex;align-items:center;gap:4px;font-size:0.75rem;font-weight:600;padding:4px 10px;border-radius:20px;white-space:nowrap}

.entrenador-tag-licencia{background:var(--white)3e0;color:#bf6000}

.entrenador-tag-anios{background:#e8f5e9;color:#2e7d32}

.entrenador-bio{font-size:0.86rem;color:#777;line-height:1.6;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

.entrenadores-empty{text-align:center;padding:80px 20px;color:var(--color-hint)}

.entrenadores-empty-icon{font-size:4rem;margin-bottom:16px}

.entrenadores-empty h2{font-size:1.5rem;color:var(--dark-gray);margin-bottom:10px}

.entrenadores-empty p{font-size:1rem;max-width:400px;margin:0 auto}

.entrenadores-cta-section{background:var(--white);padding:70px 0}

.entrenadores-cta{display:grid;grid-template-columns:1fr auto;align-items:center;gap:32px;background:linear-gradient(135deg,#fff5f5 0,#fff 60%);border:2px solid rgba(227,30,36,0.15);border-radius:20px;padding:44px 52px}

.entrenadores-cta-text h2{font-size:1.6rem;color:var(--dark-gray);margin-bottom:10px;font-weight:800}

.entrenadores-cta-text p{color:var(--color-muted);line-height:1.6}

.entrenador-perfil-header{background:linear-gradient(135deg,#1a1a1a 0,#2d2d2d 100%);padding:70px 0;color:#fff}

.entrenador-perfil-inner{display:grid;grid-template-columns:300px 1fr;gap:52px;align-items:start}

.entrenador-perfil-foto{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:3/4;box-shadow:0 20px 60px rgba(0,0,0,0.4)}

.entrenador-perfil-foto img{width:100%;height:100%;object-fit:cover;object-position:top}

.entrenador-perfil-foto-placeholder{width:100%;height:100%;min-height:360px;display:flex;align-items:center;justify-content:center;background:#444;border-radius:20px}

.entrenador-perfil-meta{padding-top:8px}

.entrenador-perfil-cargo{display:inline-block;background:var(--primary-red);color:#fff;font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:6px 14px;border-radius:30px;margin-bottom:18px}

.entrenador-perfil-nombre{font-size:2.8rem;font-weight:900;line-height:1.1;margin-bottom:10px;color:#fff}

.entrenador-perfil-especialidad{font-size:1.1rem;color:rgba(255,255,255,0.7);margin-bottom:28px}

.entrenador-perfil-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}

.entrenador-perfil-chip{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,0.1);color:#fff;font-size:0.82rem;font-weight:600;padding:7px 14px;border-radius:30px;border:1px solid rgba(255,255,255,0.15);backdrop-filter:blur(4px)}

.entrenador-perfil-contacto{display:flex;flex-wrap:wrap;gap:12px}

.entrenador-perfil-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:10px;font-size:0.9rem;font-weight:700;text-decoration:none;transition:all 0.2s}

.entrenador-perfil-btn-email{background:var(--primary-red);color:#fff}

.entrenador-perfil-btn-email:hover{background:#c01920;color:#fff}

.entrenador-perfil-btn-tel{background:rgba(255,255,255,0.1);color:#fff;border:1px solid rgba(255,255,255,0.2)}

.entrenador-perfil-btn-tel:hover{background:rgba(255,255,255,0.18);color:#fff}

.entrenador-perfil-bio-section{padding:70px 0;background:var(--white)}

.entrenador-perfil-layout{display:grid;grid-template-columns:1fr 320px;gap:52px;align-items:start}

.entrenador-perfil-content h2{font-size:1.7rem;font-weight:800;margin-bottom:20px;color:var(--dark-gray)}

.entrenador-perfil-content .wp-content{font-size:1.05rem;line-height:1.8;color:var(--text-color)}

.entrenador-perfil-content .wp-content p{margin-bottom:1.2em}

.entrenador-perfil-sidebar{background:#f8f9fa;border-radius:18px;padding:28px;position:sticky;top:90px}

.entrenador-perfil-sidebar h3{font-size:1rem;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--dark-gray);margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid #eee}

.entrenador-dato-fila{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid #f0f0f0;font-size:0.88rem}

.entrenador-dato-fila:last-child{border-bottom:none}

.entrenador-dato-label{color:var(--color-hint);font-weight:600;flex-shrink:0}

.entrenador-dato-valor{color:var(--dark-gray);font-weight:700;text-align:right}

.entrenador-back-link{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,0.7);font-size:0.88rem;font-weight:600;text-decoration:none;margin-bottom:28px;transition:color 0.2s}

.entrenador-back-link:hover{color:#fff}

.entrenador-back-link svg{flex-shrink:0}

.next-event-section{background:#f0f2f5;padding:60px 0 50px;border-top:5px solid var(--primary-red)}

.next-event-section .section-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:28px;flex-wrap:wrap;gap:12px}

.next-event-section .section-link{color:var(--primary-red);font-weight:700;font-size:0.9rem;text-decoration:none;white-space:nowrap}

.next-event-section .section-link:hover{text-decoration:underline}

.next-event-card{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:0;background:var(--white);border-radius:18px;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,0.09);text-decoration:none;color:inherit;transition:transform 0.25s ease,box-shadow 0.25s ease;border:2px solid transparent}

.next-event-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(227,30,36,0.15);border-color:var(--primary-red);color:inherit}

.next-event-date{background:linear-gradient(160deg,var(--primary-red) 0,#8b0c10 100%);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 14px;height:100%;min-height:140px;position:relative;text-align:center}

.next-event-weekday{font-size:0.7rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;opacity:0.85}

.next-event-day{font-size:3rem;font-weight:900;line-height:1;margin:4px 0 2px}

.next-event-month{font-size:0.85rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;opacity:0.9}

.next-event-year{font-size:0.72rem;opacity:0.7;margin-top:2px}

.next-event-unconfirmed{position:absolute;top:10px;right:10px;width:18px;height:18px;background:rgba(255,255,255,0.25);border-radius:50%;font-size:0.7rem;font-weight:800;display:flex;align-items:center;justify-content:center}

.next-event-body{padding:24px 28px;min-width:0}

.next-event-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}

.next-event-distance{background:#f0f0f0;color:var(--text-color);font-size:0.78rem;font-weight:700;padding:4px 10px;border-radius:20px}

.next-event-title{font-size:1.45rem;font-weight:800;color:var(--dark-gray);margin:0 0 8px;line-height:1.25}

.next-event-location{display:flex;align-items:center;gap:5px;font-size:0.88rem;color:#777;margin:0 0 8px}

.next-event-location svg{flex-shrink:0}

.next-event-excerpt{font-size:0.9rem;color:#888;margin:0;line-height:1.5}

.next-event-cta{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:28px 28px;border-left:1px solid #f0f0f0;min-width:110px;height:100%}

.next-event-cta-label{font-size:0.78rem;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;color:var(--primary-red)}

.next-event-cta-arrow{color:var(--primary-red);transition:transform 0.2s ease}

.next-event-card:hover .next-event-cta-arrow{transform:translateX(5px)}

.next-event-empty{text-align:center;padding:40px 0;color:var(--color-hint)}

.next-event-footer{margin-top:24px;text-align:center}

.next-event-all-btn{background:var(--primary-red);color:#fff !important;border-color:var(--primary-red);padding:13px 36px;font-size:1rem;font-weight:700;border-radius:50px;text-decoration:none;display:inline-block;transition:background 0.2s ease,transform 0.2s ease}

.next-event-all-btn:hover{background:#b5161b;border-color:#b5161b;transform:translateY(-2px);color:#fff !important}



.admin-bar .site-header{top:32px}









.ent-share-copy.copied{background:#10b981}

.ent-share-copy.copied .ent-share-copy-icon{display:none}

.ent-share-copy.copied .ent-share-ok-icon{display:block}

.entrenador-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;cursor:default}

.entrenador-card-link{display:flex;flex-direction:column;text-decoration:none;color:inherit;flex:1}

.ent-card-copy.copied{background:#10b981}



.ac-share{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:32px;padding-top:24px;border-top:1px solid var(--color-border)}

.ac-share--over-red{border-top:none;margin-top:20px;padding-top:0}

.ac-share--card{margin-top:0;padding-top:0;padding:14px 16px 16px;border-top:1px solid var(--color-border);background:#f8f9fa;border-radius:0 0 20px 20px;justify-content:center;gap:12px}

.ac-share-label{font-size:0.78rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--color-hint);white-space:nowrap;flex-shrink:0}

.ac-share--over-red .ac-share-label{color:rgba(255,255,255,0.7)}

.ac-share-btns{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

.ac-share-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;color:#fff;text-decoration:none;flex-shrink:0;transition:transform 0.2s ease,box-shadow 0.2s ease,opacity 0.2s ease;position:relative;overflow:hidden}

.ac-share-btn svg{width:18px;height:18px;flex-shrink:0;pointer-events:none}

.ac-share-btn:hover{transform:translateY(-4px);box-shadow:0 8px 20px rgba(0,0,0,0.22);color:#fff}

.ac-share--over-red .ac-share-btn{width:48px;height:48px}

.ac-share--over-red .ac-share-btn svg{width:20px;height:20px}

.ac-share--card .ac-share-btn{width:38px;height:38px}

.ac-share--card .ac-share-btn svg{width:15px;height:15px}

.ac-fb{background:#1877f2}

.ac-wa{background:#25d366}

.ac-tw{background:#000}

.ac-ig{background:radial-gradient(circle at 30% 107%,#fdf497 0,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%)}

.ac-copy{background:#6b7280}

.ac-print{background:#475569}

.ac-copy.copied{background:#10b981}

.ac-copy-icon{display:block}

.ac-ok-icon{display:none}

.ac-copy.copied .ac-copy-icon{display:none}

.ac-copy.copied .ac-ok-icon{display:block}



.contact-header{background:linear-gradient(135deg,var(--primary-red) 0,var(--dark-red) 100%)}

.contact-header-sub{color:rgba(255,255,255,0.85);font-size:1.05rem;margin-top:12px}

.contact-section{background:#f5f6f8}

.contact-layout{display:grid;grid-template-columns:1fr 360px;gap:48px;align-items:start}

.contact-form-wrap{background:var(--white);border-radius:20px;padding:40px;box-shadow:0 4px 24px rgba(0,0,0,0.07)}

.contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}

.contact-field{display:flex;flex-direction:column;margin-bottom:22px;position:relative}

.contact-field label{font-size:0.85rem;font-weight:700;color:#444;margin-bottom:7px;text-transform:uppercase;letter-spacing:0.04em}

.contact-field .req{color:var(--primary-red)}

.contact-field input,.contact-field select,.contact-field textarea{border:2px solid #e5e7eb;border-radius:10px;padding:12px 16px;font-size:0.97rem;font-family:inherit;color:var(--dark-gray);background:#fafafa;transition:border-color 0.2s ease,box-shadow 0.2s ease;outline:none;width:100%}

.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{border-color:var(--primary-red);box-shadow:0 0 0 3px rgba(227,30,36,0.1);background:var(--white)}

.contact-field textarea{resize:vertical;min-height:140px}

.contact-char-count{font-size:0.75rem;color:#aaa;text-align:right;margin-top:5px}

.contact-privacy{margin-bottom:24px;font-size:0.88rem;color:var(--color-muted)}

.contact-privacy label{display:flex;align-items:flex-start;gap:10px;cursor:pointer}

.contact-privacy input[type="checkbox"]{margin-top:2px;accent-color:var(--primary-red);flex-shrink:0}

.contact-privacy a{color:var(--primary-red);text-decoration:underline}

.contact-submit{width:100%;padding:15px 28px;font-size:1rem;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:12px}

.contact-success{text-align:center;padding:48px 24px}

.contact-success svg{color:#10b981;margin-bottom:16px}

.contact-success h3{font-size:1.5rem;font-weight:800;color:var(--dark-gray);margin-bottom:10px}

.contact-success p{color:var(--color-muted);max-width:400px;margin:0 auto}

.contact-errors{background:#fef2f2;border:1px solid #fca5a5;border-radius:10px;padding:16px 20px;margin-bottom:24px;color:#b91c1c;font-size:0.9rem}

.contact-errors ul{margin:8px 0 0 18px}

.contact-errors li{margin-bottom:4px}

.contact-info{background:var(--white);border-radius:20px;padding:36px;box-shadow:0 4px 24px rgba(0,0,0,0.07);position:sticky;top:100px}

.contact-info h3{font-size:1.15rem;font-weight:800;color:var(--dark-gray);margin-bottom:24px;padding-bottom:14px;border-bottom:2px solid #f0f0f0}

.contact-info-list{list-style:none;margin:0 0 28px;padding:0;display:flex;flex-direction:column;gap:18px}

.contact-info-list li{display:flex;align-items:flex-start;gap:14px;font-size:0.92rem;color:var(--text-color);line-height:1.5}

.contact-info-icon{width:36px;height:36px;background:#fef2f2;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--primary-red)}

.contact-info-list a{color:var(--primary-red)}

.contact-info-list a:hover{text-decoration:underline}

.contact-social-label{font-size:0.78rem;font-weight:700;text-transform:uppercase;letter-spacing:0.07em;color:#aaa;margin-bottom:12px}

.contact-social-btns{display:flex;gap:10px}

.contact-social-btn{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;transition:transform 0.2s ease,box-shadow 0.2s ease}

.contact-social-btn svg{width:18px;height:18px}

.contact-social-btn:hover{transform:translateY(-3px);box-shadow:0 6px 16px rgba(0,0,0,0.2)}

.contact-map-section{line-height:0}

.contact-map-section iframe{width:100%;height:420px;border:0;display:block}





.ac-breadcrumb{background:#f5f6f8;border-bottom:1px solid #e5e7eb;padding:10px 0;font-size:0.82rem}

.ac-breadcrumb-list{display:flex;align-items:center;flex-wrap:wrap;gap:4px;list-style:none;margin:0;padding:0}

.ac-breadcrumb-item a{color:var(--primary-red);text-decoration:none;transition:opacity 0.2s;white-space:nowrap}

.ac-breadcrumb-item a:hover{opacity:0.75;text-decoration:underline}

.ac-breadcrumb-item span[aria-current]{color:#6b7280;font-weight:600;display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}

.ac-breadcrumb-sep{color:#9ca3af;font-size:0.9rem;user-select:none;white-space:nowrap}



.ac-reveal{opacity:0;transform:translateY(28px);transition:opacity 0.55s ease,transform 0.55s ease;will-change:opacity,transform}

.ac-reveal--visible{opacity:1;transform:translateY(0)}



.ac-lightbox{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center}

.ac-lightbox[hidden]{display:none}

.ac-lightbox-backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.92);cursor:zoom-out}

.ac-lightbox-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:60px 80px;box-sizing:border-box}

.ac-lightbox-img-wrap{position:relative;max-width:100%;max-height:100%;display:flex;align-items:center;justify-content:center}

.ac-lightbox-img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:8px;box-shadow:0 24px 80px rgba(0,0,0,0.7);transition:opacity 0.25s ease;display:block}

.ac-lightbox-spinner{position:absolute;width:36px;height:36px;border:3px solid rgba(255,255,255,0.2);border-top-color:#fff;border-radius:50%;animation:lb-spin 0.7s linear infinite;display:none}

@keyframes lb-spin{to{transform:rotate(360deg)}
}

.ac-lightbox-close{position:absolute;top:16px;right:20px;width:44px;height:44px;border-radius:50%;border:none;background:rgba(255,255,255,0.12);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s;z-index:2}

.ac-lightbox-close:hover{background:rgba(255,255,255,0.25)}

.ac-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:none;background:rgba(255,255,255,0.12);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s;z-index:2}

.ac-lightbox-nav:hover{background:rgba(255,255,255,0.28)}

.ac-lightbox-prev{left:16px}

.ac-lightbox-next{right:16px}

.ac-lightbox-caption{display:none}

.ac-lightbox-counter{display:none}

.gallery-section{background:#f5f6f8;padding:60px 0 80px}

.gallery-filters{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:40px}

.gallery-filters .filter-btn{padding:9px 22px;border-radius:50px;border:2px solid #e5e7eb;background:var(--white);color:var(--text-color);font-size:0.88rem;font-weight:600;cursor:pointer;transition:all 0.2s ease;white-space:nowrap}

.gallery-filters .filter-btn:hover{border-color:var(--primary-red);color:var(--primary-red)}

.gallery-filters .filter-btn.active{background:var(--primary-red);border-color:var(--primary-red);color:#fff}

.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-flow:dense;gap:12px}

.gallery-item{position:relative;border-radius:12px;overflow:hidden;background:#e5e7eb;aspect-ratio:4 / 3}

.gallery-item:nth-child(5n + 1){grid-column:span 2;aspect-ratio:16 / 9}

.gallery-item-btn{position:absolute;inset:0;width:100%;height:100%;padding:0;border:none;background:none;cursor:zoom-in;display:block}

.gallery-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;display:block;transition:transform 0.45s ease}

.gallery-item:hover img{transform:scale(1.07)}

.gallery-item--portrait{background:#111}

.gallery-item--portrait img{transform-origin:center center}

.gallery-item--portrait:hover img{transform:scale(1.04)}

.gallery-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.72) 0,rgba(0,0,0,0) 55%);display:flex;align-items:flex-end;justify-content:space-between;padding:14px 16px;opacity:0;transition:opacity 0.28s ease;pointer-events:none}

.gallery-item:hover .gallery-overlay,.gallery-item:focus-within .gallery-overlay{opacity:1}

.gallery-overlay h4{color:#fff;font-size:0.88rem;font-weight:700;margin:0;line-height:1.3;text-shadow:0 1px 4px rgba(0,0,0,0.6)}

.gallery-zoom-icon{width:34px;height:34px;background:rgba(255,255,255,0.18);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}







.event-calendar-actions{margin-top:20px;padding-top:18px;border-top:1px solid var(--color-border);display:flex;align-items:center;gap:12px;flex-wrap:wrap}

.event-cal-label{font-size:0.78rem;font-weight:700;text-transform:uppercase;letter-spacing:0.07em;color:var(--color-hint);flex-shrink:0}

.event-cal-btns{display:flex;gap:10px;flex-wrap:wrap}

.event-cal-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:8px;border:1.5px solid #e5e7eb;background:var(--white);color:#374151;font-size:0.84rem;font-weight:600;text-decoration:none;cursor:pointer;transition:border-color 0.2s,background 0.2s,transform 0.15s;white-space:nowrap}

.event-cal-btn:hover{border-color:var(--primary-red);background:var(--white)5f5;color:var(--primary-red);transform:translateY(-2px)}

.event-cal-google:hover{border-color:#4285F4;background:#f0f4ff;color:#4285F4}



.news-footer{text-align:center;margin-top:36px;padding-top:32px;border-top:1px solid var(--color-border)}

.news-more-btn{display:inline-flex;align-items:center;gap:8px;padding:13px 32px;border-radius:50px;font-weight:700;font-size:0.95rem;background:var(--white);border:2px solid var(--primary-red);color:var(--primary-red);text-decoration:none;transition:background 0.2s,color 0.2s,transform 0.2s}

.news-more-btn:hover{background:var(--primary-red);color:#fff;transform:translateY(-2px)}

.news-more-btn svg{transition:transform 0.2s}

.news-more-btn:hover svg{transform:translateX(4px)}

.gallery-header{background:linear-gradient(135deg,var(--primary-red) 0,var(--dark-red) 100%)}

.gallery-header-sub{color:rgba(255,255,255,0.85);font-size:1.05rem;margin-top:12px}



.page-template-page-login .site-header,.page-template-page-login .site-footer,.page-template-page-login .back-to-top{display:none !important}

.lp-main{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;font-family:'Segoe UI',system-ui,sans-serif}

.lp-brand{position:relative;background:#0d0d14;display:flex;flex-direction:column;justify-content:space-between;padding:48px 52px;overflow:hidden;color:#fff}

.lp-brand-track{position:absolute;inset:0;pointer-events:none}

.lp-track-lines{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:stretch}

.lp-track-lines span{flex:1;border-top:1px solid rgba(255,255,255,0.04)}

.lp-brand::before{content:'';position:absolute;top:-80px;right:-40px;width:280px;height:280px;background:radial-gradient(circle,rgba(227,30,36,0.35) 0,transparent 70%);pointer-events:none}

.lp-brand::after{content:'';position:absolute;bottom:-60px;left:-60px;width:220px;height:220px;background:radial-gradient(circle,rgba(0,87,184,0.25) 0,transparent 70%);pointer-events:none}

.lp-brand-track::after{content:'';position:absolute;top:0;right:0;bottom:0;width:6px;background:linear-gradient(to bottom,#E31E24 0,transparent 60%)}

.lp-brand-inner{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;justify-content:center;gap:32px}

.lp-brand-logo-link{display:inline-block}

.lp-brand-logo{height:80px;width:auto;filter:brightness(1.1) drop-shadow(0 4px 20px rgba(227,30,36,0.4));transition:transform 0.3s ease}

.lp-brand-logo:hover{transform:scale(1.04)}

.lp-brand-club{font-size:0.72rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:#E31E24;margin-bottom:8px}

.lp-brand-tagline{font-size:clamp(1.6rem,2.2vw,2.2rem);font-weight:800;line-height:1.25;color:#fff;max-width:320px}

.lp-brand-tagline::after{content:'.';color:#E31E24}

.lp-brand-stats{display:flex;gap:32px;flex-wrap:wrap}

.lp-stat{display:flex;flex-direction:column;gap:2px}

.lp-stat strong{font-size:1.6rem;font-weight:800;color:#fff;line-height:1}

.lp-stat span{font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.45);font-weight:600}

.lp-brand-footer{position:relative;z-index:1}

.lp-back-link{display:inline-flex;align-items:center;gap:8px;font-size:0.82rem;color:rgba(255,255,255,0.4);font-weight:500;transition:color 0.2s}

.lp-back-link:hover{color:rgba(255,255,255,0.85)}

.lp-back-link svg{transition:transform 0.2s}

.lp-back-link:hover svg{transform:translateX(-3px)}

.lp-form-panel{background:#fafafa;display:flex;align-items:center;justify-content:center;padding:48px 32px}

.lp-form-wrap{width:100%;max-width:400px}

.lp-mobile-header{display:none;text-align:center;margin-bottom:32px}

.lp-mobile-header img{height:64px;width:auto}

.lp-form-head{margin-bottom:36px}

.lp-title{font-size:2rem;font-weight:800;color:#111;line-height:1.1;margin-bottom:6px}

.lp-title::after{content:'.';color:#E31E24}

.lp-subtitle{font-size:0.92rem;color:#888;margin:0}

.lp-error{display:flex;align-items:center;gap:10px;background:#fff0f0;border:1px solid #fcc;border-left:3px solid #E31E24;color:#c00;padding:12px 16px;border-radius:10px;font-size:0.88rem;margin-bottom:24px;animation:lp-shake 0.4s ease}

@keyframes lp-shake{0,100%{transform:translateX(0)}
20%,60%{transform:translateX(-5px)}
40%,80%{transform:translateX(5px)}
}

.lp-field{position:relative;margin-bottom:20px}

.lp-input{width:100%;padding:20px 48px 8px 16px;background:#fff;border:1.5px solid #e4e4e4;border-radius:12px;font-size:0.97rem;color:#111;transition:border-color 0.2s,box-shadow 0.2s;outline:none;appearance:none}

.lp-input:focus{border-color:#E31E24;box-shadow:0 0 0 3.5px rgba(227,30,36,0.10)}

.lp-label{position:absolute;top:50%;left:16px;transform:translateY(-50%);display:flex;align-items:center;gap:7px;font-size:0.9rem;color:#aaa;pointer-events:none;transition:top 0.18s ease,font-size 0.18s ease,color 0.18s ease,transform 0.18s ease;white-space:nowrap}

.lp-label svg{flex-shrink:0;opacity:0.6}

.lp-input:focus ~ .lp-label,.lp-input:not(:placeholder-shown) ~ .lp-label{top:10px;font-size:0.68rem;letter-spacing:0.04em;color:#E31E24;transform:translateY(0);font-weight:600}

.lp-input:focus ~ .lp-label svg,.lp-input:not(:placeholder-shown) ~ .lp-label svg{opacity:1}

.lp-toggle-pass{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#bbb;padding:4px;display:flex;align-items:center;transition:color 0.2s}

.lp-toggle-pass:hover{color:#E31E24}

.lp-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:28px}

.lp-remember{display:flex;align-items:center;gap:10px;font-size:0.85rem;color:#555;cursor:pointer;user-select:none}

.lp-remember input[type="checkbox"]{display:none}

.lp-toggle-track{width:38px;height:22px;background:#e0e0e0;border-radius:11px;position:relative;flex-shrink:0;transition:background 0.2s}

.lp-toggle-thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;background:#fff;border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,0.2);transition:transform 0.2s,box-shadow 0.2s}

.lp-remember input:checked ~ .lp-toggle-track{background:#E31E24}

.lp-remember input:checked ~ .lp-toggle-track .lp-toggle-thumb{transform:translateX(16px);box-shadow:0 2px 6px rgba(227,30,36,0.4)}

.lp-forgot{font-size:0.82rem;color:#999;white-space:nowrap;transition:color 0.2s}

.lp-forgot:hover{color:#E31E24}

.lp-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 24px;background:#E31E24;color:#fff;font-size:1rem;font-weight:700;border:none;border-radius:12px;cursor:pointer;transition:background 0.2s,transform 0.15s,box-shadow 0.2s;position:relative;overflow:hidden;letter-spacing:0.01em}

.lp-btn::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,0.12) 0,transparent 60%);pointer-events:none}

.lp-btn:hover:not(:disabled){background:#c01820;transform:translateY(-2px);box-shadow:0 8px 24px rgba(227,30,36,0.35)}

.lp-btn:active:not(:disabled){transform:translateY(0)}

.lp-btn svg{transition:transform 0.2s;flex-shrink:0}

.lp-btn:hover:not(:disabled) svg{transform:translateX(4px)}

.lp-btn-loader{display:none;width:18px;height:18px;border:2.5px solid rgba(255,255,255,0.3);border-top-color:#fff;border-radius:50%;animation:lp-spin 0.7s linear infinite;flex-shrink:0}

@keyframes lp-spin{to{transform:rotate(360deg)}
}

.lp-btn.loading .lp-btn-text{opacity:0.5}

.lp-btn.loading .lp-btn-loader{display:block}

.lp-btn.loading > svg{display:none}

.lp-register-hint{margin-top:24px;text-align:center;font-size:0.84rem;color:#aaa}

.lp-register-hint a{color:#E31E24;font-weight:600;transition:opacity 0.2s}

.lp-register-hint a:hover{opacity:0.75}

@keyframes lp-fade-right{from{opacity:0;transform:translateX(24px)}
to{opacity:1;transform:translateX(0)}
}

.lp-form-wrap{animation:lp-fade-right 0.45s ease both}

@keyframes lp-fade-left{from{opacity:0;transform:translateX(-20px)}
to{opacity:1;transform:translateX(0)}
}

.lp-brand-inner{animation:lp-fade-left 0.5s ease both 0.1s}





.coming-soon-content{max-width:700px;width:100%}

.coming-soon-logo{width:120px;height:auto;margin-bottom:25px}

.coming-soon-title{font-size:2.5rem;font-weight:800;color:var(--primary-red);margin-bottom:15px;text-transform:uppercase}

.coming-soon-text{font-size:1.1rem;line-height:1.6;margin-bottom:30px;opacity:0.9}

.timer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:30px;max-width:400px;margin-left:auto;margin-right:auto}

.timer-item{background:rgba(255,255,255,0.1);backdrop-filter:blur(10px);padding:15px 10px;border-radius:10px;border:1px solid rgba(255,255,255,0.2)}

.timer-number{font-size:1.8rem;font-weight:700;color:var(--primary-red);display:block}

.timer-label{font-size:0.7rem;text-transform:uppercase;letter-spacing:1px;opacity:0.8}

.coming-soon-page .social-links{display:flex;justify-content:center;gap:12px;margin-bottom:30px}

.coming-soon-page .social-link{width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.1);border-radius:50%;color:#fff;text-decoration:none;transition:all 0.3s ease}

.coming-soon-page .social-link:hover{background:var(--primary-red);transform:translateY(-3px)}

.cs-newsletter-form{max-width:400px;margin:0 auto}

.cs-newsletter-form p{margin-bottom:15px;font-size:1.1rem}

.cs-newsletter-input{display:flex;gap:10px}

.cs-newsletter-input input{flex:1;padding:15px 20px;border:none;border-radius:50px;font-size:1rem}

.cs-newsletter-input input:focus{outline:none;box-shadow:0 0 0 3px rgba(227,30,36,0.15)}

.cs-newsletter-input button{padding:15px 30px;background:var(--primary-red);color:#fff;border:none;border-radius:50px;font-weight:600;cursor:pointer;transition:all 0.3s ease}

.cs-newsletter-input button:hover{background:var(--dark-red)}



.ac-share--page{max-width:1200px;margin:0 auto 32px;padding:0 20px}

@keyframes skeleton-shimmer{0{background-position:-400px 0}
100%{background-position:400px 0}
}

.shop-card.loading{pointer-events:none}

.shop-card.loading .shop-card-media,.shop-card.loading .shop-card-name,.shop-card.loading .shop-card-cat,.shop-card.loading .shop-card-price{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:800px 100%;animation:skeleton-shimmer 1.4s infinite linear;border-radius:6px;color:transparent !important}

.shop-card.loading .shop-card-name{height:18px;width:70%}

.shop-card.loading .shop-card-cat{height:12px;width:40%;margin-bottom:6px}

.shop-card.loading .shop-card-price{height:20px;width:50%}

@keyframes card-fade-up{from{opacity:0;transform:translateY(20px)}
to{opacity:1;transform:translateY(0)}
}

.shop-card{animation:card-fade-up 0.4s ease both}

.shop-card:nth-child(1){animation-delay:0.05s}

.shop-card:nth-child(2){animation-delay:0.10s}

.shop-card:nth-child(3){animation-delay:0.15s}

.shop-card:nth-child(4){animation-delay:0.20s}

.shop-card:nth-child(5){animation-delay:0.25s}

.shop-card:nth-child(6){animation-delay:0.30s}

.shop-card:nth-child(n+7){animation-delay:0.35s}

.shop-hero{background:linear-gradient(135deg,#1a1a2e 0,#16213e 40%,#0f3460 70%,#E31E24 130%);background-size:200% 200%;animation:hero-bg-shift 12s ease infinite alternate}

@keyframes hero-bg-shift{0{background-position:0 50%}
100%{background-position:100% 50%}
}

.shop-filter-pill{position:relative;overflow:hidden}

.shop-filter-pill::after{content:'';position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity 0.15s;border-radius:inherit}

.shop-filter-pill:active::after{opacity:0.12}

.shop-card-cta{transition:background 0.2s,color 0.2s,transform 0.15s,box-shadow 0.2s}

.shop-card-cta:active{transform:scale(0.92)}

.shop-card-cta.added{background:#22c55e !important;color:#fff !important}

.shop-card-name{font-size:clamp(0.88rem,1.1vw,1rem);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.shop-hero::after{content:'';display:block;position:absolute;bottom:-1px;left:0;width:100%;height:40px;background:#f8f8f8;clip-path:ellipse(55% 100% at 50% 100%);pointer-events:none}

.shop-hero{position:relative}

@supports (backdrop-filter:blur(8px)){.shop-toolbar{background:rgba(255,255,255,0.88) !important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
}

.woocommerce ul.products li.product{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 5px 20px rgba(0,0,0,0.07);transition:transform 0.3s ease,box-shadow 0.3s ease;padding:0 !important;display:flex;flex-direction:column}

.woocommerce ul.products li.product:hover{transform:translateY(-6px);box-shadow:0 14px 32px rgba(0,0,0,0.11)}

.woocommerce ul.products li.product a img{width:100% !important;height:200px !important;object-fit:cover}

.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:0.95rem;font-weight:700;padding:14px 16px 4px;color:#222}

.woocommerce ul.products li.product .price{padding:0 16px 14px;font-size:1.1rem;font-weight:800;color:var(--primary-red);display:block}

.shop-body .container{display:block}

.shop-body .container > #productsGrid,.shop-body .container > .products-grid.shop-grid{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:24px !important}





.rk-hero{position:relative;padding:60px 0 52px;background:#0d0d14;overflow:hidden;color:#fff}

.rk-hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 80% 50%,rgba(227,30,36,0.22) 0,transparent 70%),radial-gradient(ellipse 40% 60% at 10% 80%,rgba(0,87,184,0.18) 0,transparent 65%)}

.rk-hero-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}

.rk-hero-eyebrow{display:block;font-size:0.72rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:#E31E24;margin-bottom:10px}

.rk-hero-title{font-size:clamp(2rem,4vw,3rem);font-weight:800;line-height:1.1;margin-bottom:10px}

.rk-hero-title span{color:#E31E24}

.rk-hero-sub{font-size:1rem;color:rgba(255,255,255,0.6);margin:0}

.rk-hero-counters{display:flex;gap:32px;flex-wrap:wrap}

.rk-counter{text-align:center;padding:16px 24px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);border-radius:12px;min-width:80px}

.rk-counter strong{display:block;font-size:2rem;font-weight:800;color:#E31E24;line-height:1}

.rk-counter span{font-size:0.72rem;text-transform:uppercase;letter-spacing:0.1em;color:rgba(255,255,255,0.5);font-weight:600}

.rk-filters-bar{position:sticky;top:0;z-index:90;background:rgba(255,255,255,0.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid #e8e8e8;box-shadow:0 2px 16px rgba(0,0,0,0.06);padding:14px 0}

.rk-filters-form{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}

.rk-filter-search{display:flex;align-items:center;gap:8px;background:#f5f5f5;border-radius:30px;padding:9px 16px;flex:0 0 auto;min-width:180px}

.rk-filter-search svg{color:#aaa;flex-shrink:0}

.rk-filter-search input{border:none;background:transparent;outline:none;font-size:0.88rem;color:#333;width:140px}

.rk-filter-group{display:flex;flex-direction:column;gap:4px}

.rk-filter-group label{font-size:0.68rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:#999}

.rk-filter-group select{padding:8px 32px 8px 12px;border:1.5px solid #e0e0e0;border-radius:8px;font-size:0.88rem;color:#333;background:#fff;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23999' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;cursor:pointer;transition:border-color 0.2s}

.rk-filter-group select:focus{outline:none;border-color:#E31E24}

.rk-pill-group{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}

.rk-pill{display:inline-flex;align-items:center;padding:7px 14px;border-radius:20px;border:1.5px solid #e0e0e0;font-size:0.82rem;font-weight:600;color:#555;background:#fff;white-space:nowrap;transition:all 0.2s;text-decoration:none}

.rk-pill:hover{border-color:#E31E24;color:#E31E24}

.rk-pill.active{background:#E31E24;border-color:#E31E24;color:#fff}

.rk-clear-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:8px;border:1.5px solid #fcc;background:#fff5f5;color:#E31E24;font-size:0.82rem;font-weight:600;text-decoration:none;transition:background 0.2s;margin-left:auto;white-space:nowrap;align-self:flex-end}

.rk-clear-btn:hover{background:#fee}

.rk-body{padding:48px 0 80px;background:#f8f8f8;min-height:40vh}

.rk-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:80px 20px;text-align:center;color:#bbb}

.rk-empty p{font-size:1.1rem}

.rk-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}

.rk-section-title{font-size:1.7rem;font-weight:800;color:#111;margin-bottom:6px}

.rk-section-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

.rk-count-badge{padding:6px 16px;background:#111;color:#fff;border-radius:20px;font-size:0.82rem;font-weight:700;white-space:nowrap;align-self:flex-start}

.rk-table-wrap{overflow-x:auto;border-radius:16px;box-shadow:0 4px 24px rgba(0,0,0,0.07)}

.rk-table{width:100%;border-collapse:collapse;background:#fff;font-size:0.92rem}

.rk-table thead{background:#111;color:#fff}

.rk-table thead th{padding:14px 16px;text-align:left;font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;white-space:nowrap}

.rk-th-pos{width:52px;text-align:center}

.rk-th-marca{width:120px}

.rk-tr{border-bottom:1px solid #f0f0f0;transition:background 0.15s}

.rk-tr:hover{background:#fafafa}

.rk-tr:last-child{border-bottom:none}

.rk-tr-gold{background:linear-gradient(90deg,#fffbea 0,#fff 60%)}

.rk-tr-silver{background:linear-gradient(90deg,#f5f5f5 0,#fff 60%)}

.rk-tr-bronze{background:linear-gradient(90deg,#fff4ee 0,#fff 60%)}

.rk-table td{padding:13px 16px;vertical-align:middle;color:#333}

.rk-td-pos{text-align:center}

.rk-medal{font-size:1.3rem}

.rk-pos-num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#f0f0f0;font-size:0.8rem;font-weight:700;color:#666}

.rk-atleta-name{font-weight:700;color:#111}

.rk-record-star{display:inline-block;margin-left:6px;font-size:0.72rem;font-weight:700;color:#f59e0b;background:#fffbea;border:1px solid #fde68a;border-radius:4px;padding:1px 5px}

.rk-td-marca strong{font-size:1.05rem;font-weight:800;color:#E31E24}

.rk-cat-chip{display:inline-block;padding:3px 10px;background:#f0f0f0;border-radius:20px;font-size:0.78rem;font-weight:600;color:#555;white-space:nowrap}

.rk-cat-badge{display:inline-block;padding:4px 12px;background:#111;color:#fff;border-radius:20px;font-size:0.8rem;font-weight:600}

.rk-td-fecha,.rk-td-comp,.rk-td-lugar{font-size:0.85rem;color:#666}

.rk-td-comp{max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.rk-td-lugar{max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.rk-gen{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:0.78rem;font-weight:600;white-space:nowrap}

.rk-gen-m{background:#eff6ff;color:#1d4ed8}

.rk-gen-f{background:#fdf2f8;color:#a21caf}

.rk-group{margin-bottom:52px}

.rk-group-title{font-size:1.25rem;font-weight:800;color:#111;padding-bottom:12px;border-bottom:3px solid #E31E24;margin-bottom:24px;display:flex;align-items:center;gap:10px}

.rk-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}

.rk-card{background:#fff;border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,0.07);overflow:hidden;transition:transform 0.25s,box-shadow 0.25s;animation:rk-fade-up 0.4s ease both}

.rk-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}

@keyframes rk-fade-up{from{opacity:0;transform:translateY(14px)}
to{opacity:1;transform:translateY(0)}
}

.rk-card-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 12px;border-bottom:1px solid #f0f0f0}

.rk-card-prueba{font-size:0.97rem;font-weight:800;color:#111;margin:0}

.rk-card-ver{font-size:0.78rem;font-weight:700;color:#E31E24;white-space:nowrap;text-decoration:none;transition:opacity 0.2s}

.rk-card-ver:hover{opacity:0.7}

.rk-card-gen-block{padding:12px 18px}

.rk-card-gen-block + .rk-card-gen-block{border-top:1px solid #f5f5f5}

.rk-card-gen-label{font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:#bbb;margin-bottom:8px}

.rk-card-list{list-style:none;display:flex;flex-direction:column;gap:6px}

.rk-card-item{display:flex;align-items:center;gap:8px;font-size:0.88rem;padding:5px 8px;border-radius:8px;transition:background 0.15s}

.rk-card-item:hover{background:#fafafa}

.rk-card-pos-1{background:#fffbea}

.rk-card-pos-1:hover{background:#fef9c3}

.rk-card-rank{font-size:1.1rem;flex-shrink:0}

.rk-card-atleta{flex:1;font-weight:600;color:#222;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.rk-card-marca{font-weight:800;color:#E31E24;white-space:nowrap}

.rk-card-year{font-size:0.72rem;color:#bbb;flex-shrink:0}

.rk-card-rc{font-size:0.85rem;flex-shrink:0}





.eq-hero{position:relative;padding:60px 0 52px;background:#0d0d14;overflow:hidden;color:#fff}

.eq-hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 85% 50%,rgba(227,30,36,0.22) 0,transparent 65%),radial-gradient(ellipse 40% 60% at 10% 80%,rgba(0,87,184,0.18) 0,transparent 60%)}

.eq-hero-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}

.eq-eyebrow{display:block;font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#E31E24;margin-bottom:10px}

.eq-title{font-size:clamp(2rem,4vw,3rem);font-weight:800;line-height:1.1;margin-bottom:10px}

.eq-title span{color:#E31E24}

.eq-subtitle{font-size:1rem;color:rgba(255,255,255,.6);margin:0}

.eq-hero-stats{display:flex;gap:24px;flex-wrap:wrap}

.eq-stat{text-align:center;padding:14px 22px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:12px;min-width:72px}

.eq-stat strong{display:block;font-size:1.8rem;font-weight:800;color:#E31E24;line-height:1}

.eq-stat span{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.45);font-weight:600}

.eq-body{padding:56px 0 80px;background:#f8f8f8}

.eq-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:80px 20px;text-align:center;color:#bbb}

.eq-area-block{margin-bottom:56px}

.eq-area-title{font-size:1.1rem;font-weight:800;color:#111;text-transform:uppercase;letter-spacing:.1em;margin-bottom:28px;display:flex;align-items:center;gap:16px}

.eq-area-title span{position:relative}

.eq-area-title::after{content:'';flex:1;height:2px;background:linear-gradient(90deg,#E31E24 0,transparent 100%);border-radius:2px}

.eq-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px}

.eq-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.07);transition:transform .25s,box-shadow .25s;animation:eq-fade-up .4s ease both}

.eq-card:hover{transform:translateY(-6px);box-shadow:0 14px 36px rgba(0,0,0,.12)}

@keyframes eq-fade-up{from{opacity:0;transform:translateY(16px)}
to{opacity:1;transform:translateY(0)}
}

.eq-card-photo{position:relative;height:220px;background:#e8e8e8;overflow:hidden}

.eq-card-photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}

.eq-card:hover .eq-card-photo img{transform:scale(1.05)}

.eq-card-avatar{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e 0,#E31E24 150%)}

.eq-card-linkedin{position:absolute;bottom:12px;right:12px;width:32px;height:32px;background:#0077b5;color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:opacity .2s,transform .2s;opacity:0}

.eq-card:hover .eq-card-linkedin{opacity:1;transform:translateY(0)}

.eq-card-body{padding:20px}

.eq-card-name{font-size:1rem;font-weight:800;color:#111;margin-bottom:4px}

.eq-card-cargo{font-size:.8rem;font-weight:700;color:#E31E24;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}

.eq-card-bio{font-size:.85rem;color:#666;line-height:1.55;margin-bottom:12px}

.eq-card-contact{display:flex;flex-direction:column;gap:6px;padding-top:12px;border-top:1px solid #f0f0f0}

.eq-contact-link{display:flex;align-items:center;gap:7px;font-size:.78rem;color:#888;text-decoration:none;transition:color .2s;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.eq-contact-link:hover{color:#E31E24}

.eq-contact-link svg{flex-shrink:0}



.cq-hero{position:relative;padding:70px 0 60px;background:#0d0d14;overflow:hidden;color:#fff;text-align:center}

.cq-hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 70% 90% at 50% 120%,rgba(227,30,36,0.3) 0,transparent 60%)}

.cq-hero-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:16px}

.cq-eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#E31E24}

.cq-hero-title{font-size:clamp(2.2rem,5vw,3.5rem);font-weight:800;line-height:1.1;margin:0}

.cq-hero-title span{color:#E31E24}

.cq-hero-sub{font-size:1.05rem;color:rgba(255,255,255,.65);max-width:520px;margin:0}

.cq-hero-cta{display:inline-flex;align-items:center;gap:8px;margin-top:8px;padding:13px 28px;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.2);color:#fff;border-radius:40px;font-weight:600;font-size:.9rem;text-decoration:none;transition:background .2s,border-color .2s}

.cq-hero-cta:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.4)}

.cq-body{padding:64px 0 80px;background:#f4f4f6}

.cq-empty{display:flex;flex-direction:column;align-items:center;gap:14px;padding:80px 20px;text-align:center;color:#bbb}

.cq-grid{display:grid;gap:24px;align-items:start}

.cq-count-1{grid-template-columns:minmax(0,480px);justify-content:center}

.cq-count-2{grid-template-columns:repeat(2,1fr);max-width:860px;margin:0 auto}

.cq-count-3{grid-template-columns:repeat(3,1fr)}

.cq-count-4{grid-template-columns:repeat(4,1fr)}

.cq-card{background:#fff;border-radius:20px;padding:32px 28px;position:relative;box-shadow:0 4px 20px rgba(0,0,0,.07);transition:transform .25s,box-shadow .25s;border-top:4px solid var(--cq-color,#E31E24);display:flex;flex-direction:column;gap:20px;animation:cq-fade-up .4s ease both}

.cq-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(0,0,0,.1)}

@keyframes cq-fade-up{from{opacity:0;transform:translateY(18px)}
to{opacity:1;transform:translateY(0)}
}

.cq-card-featured{background:#0d0d14;color:#fff;border-top-color:var(--cq-color,#E31E24);box-shadow:0 12px 48px rgba(0,0,0,.25);transform:scale(1.04);z-index:1}

.cq-card-featured:hover{transform:scale(1.04) translateY(-6px)}

.cq-card-featured .cq-card-name{color:#fff}

.cq-card-featured .cq-card-desc{color:rgba(255,255,255,.65)}

.cq-card-featured .cq-price{color:var(--cq-color,#E31E24)}

.cq-card-featured .cq-period{color:rgba(255,255,255,.5)}

.cq-card-featured .cq-includes li{color:rgba(255,255,255,.8);border-bottom-color:rgba(255,255,255,.1)}

.cq-card-featured .cq-includes svg{stroke:var(--cq-color,#E31E24)}

.cq-badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--cq-color,#E31E24);color:#fff;padding:5px 18px;border-radius:20px;font-size:.75rem;font-weight:700;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.2)}

.cq-card-head{}

.cq-card-name{font-size:1.3rem;font-weight:800;color:#111;margin-bottom:6px}

.cq-card-desc{font-size:.85rem;color:#777;line-height:1.5;margin:0}

.cq-card-price{}

.cq-price-wrap{display:flex;align-items:baseline;gap:6px}

.cq-price{font-size:2.6rem;font-weight:900;color:var(--cq-color,#E31E24);line-height:1}

.cq-period{font-size:.85rem;color:#999;font-weight:600}

.cq-price-consult{font-size:1.1rem;font-weight:700;color:#777;margin:0}

.cq-includes{list-style:none;display:flex;flex-direction:column;gap:0;flex:1}

.cq-includes li{display:flex;align-items:flex-start;gap:10px;font-size:.88rem;color:#555;padding:9px 0;border-bottom:1px solid #f5f5f5;line-height:1.4}

.cq-includes li:last-child{border-bottom:none}

.cq-includes svg{flex-shrink:0;stroke:var(--cq-color,#E31E24);margin-top:1px}

.cq-card-cta{margin-top:auto}

.cq-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 20px;background:var(--cq-color,#E31E24);color:#fff;font-weight:700;font-size:.95rem;border-radius:12px;text-decoration:none;transition:opacity .2s,transform .15s}

.cq-btn:hover{opacity:.88;transform:translateY(-1px)}

.cq-info-section{padding:60px 0;background:#fff}

.cq-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}

.cq-info-card{text-align:center;padding:32px 24px}

.cq-info-icon{font-size:2.4rem;margin-bottom:14px}

.cq-info-card h3{font-size:1.1rem;font-weight:800;color:#111;margin-bottom:10px}

.cq-info-card p{font-size:.9rem;color:#666;line-height:1.65;margin:0}

.cq-contact-band{padding:52px 0;background:#0d0d14;color:#fff}

.cq-contact-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}

.cq-contact-inner h2{font-size:1.8rem;font-weight:800;margin-bottom:6px}

.cq-contact-inner p{color:rgba(255,255,255,.6);margin:0}

.cq-contact-actions{display:flex;gap:12px;flex-wrap:wrap}

.cq-contact-btn{display:inline-flex;align-items:center;gap:8px}

.cq-contact-btn-secondary{display:inline-flex;align-items:center;padding:14px 24px;border:1.5px solid rgba(255,255,255,.25);color:#fff;border-radius:10px;font-weight:600;font-size:.92rem;text-decoration:none;transition:background .2s,border-color .2s}

.cq-contact-btn-secondary:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.5)}





.footer-widgets-area{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:32px}

.footer-col{}

.footer-col-brand{}

.footer-col .footer-widget-title,.footer-col h3,.footer-col .widget-title{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.4);margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.08)}

.footer-club-name{font-size:1.1rem;font-weight:800;color:#fff;letter-spacing:normal;text-transform:none;margin-bottom:10px;border-bottom:none;padding-bottom:0}

.footer-col-brand .custom-logo-link img{max-height:52px;width:auto;filter:brightness(1.1);margin-bottom:12px}

.footer-col-brand p{font-size:.88rem;color:rgba(255,255,255,.55);line-height:1.65;margin-bottom:16px}

.footer-col .textwidget p,.footer-col .widget_text p{font-size:.88rem;color:rgba(255,255,255,.55);line-height:1.65;margin-bottom:8px}

.footer-menu{list-style:none}

.footer-menu li{margin-bottom:8px}

.footer-menu a{font-size:.88rem;color:rgba(255,255,255,.55);transition:color .2s;display:inline-flex;align-items:center;gap:6px}

.footer-menu a::before{content:'→';opacity:0;transition:opacity .2s,transform .2s;transform:translateX(-4px)}

.footer-menu a:hover{color:#fff}

.footer-menu a:hover::before{opacity:.6;transform:translateX(0)}

.footer-col .widget_nav_menu ul{list-style:none}

.footer-col .widget_nav_menu li{margin-bottom:8px}

.footer-col .widget_nav_menu a{font-size:.88rem;color:rgba(255,255,255,.55);transition:color .2s}

.footer-col .widget_nav_menu a:hover{color:#fff}

.footer-contact-list{list-style:none}

.footer-contact-list li{display:flex;align-items:flex-start;gap:10px;font-size:.87rem;color:rgba(255,255,255,.55);margin-bottom:12px;line-height:1.5}

.footer-contact-list svg{flex-shrink:0;margin-top:2px;opacity:.55}

.footer-contact-list a{color:rgba(255,255,255,.55);transition:color .2s}

.footer-contact-list a:hover{color:#fff}





.ins-hero{position:relative;padding:56px 0 50px;background:#0d0d14;overflow:hidden;color:#fff}

.ins-hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 55% 80% at 90% 40%,rgba(227,30,36,.25) 0,transparent 65%),radial-gradient(ellipse 40% 60% at 5% 80%,rgba(0,87,184,.18) 0,transparent 60%)}

.ins-hero-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:36px;flex-wrap:wrap}

.ins-eyebrow{display:block;font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#E31E24;margin-bottom:10px}

.ins-title{font-size:clamp(1.9rem,4vw,3rem);font-weight:800;line-height:1.1;margin-bottom:10px}

.ins-title span{color:#E31E24}

.ins-subtitle{font-size:.97rem;color:rgba(255,255,255,.6);margin:0}

.ins-hero-steps{display:flex;align-items:center;gap:12px;flex-wrap:wrap}

.ins-step{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:10px 16px;font-size:.82rem;color:rgba(255,255,255,.75);white-space:nowrap}

.ins-step-num{width:24px;height:24px;background:#E31E24;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800;flex-shrink:0}

.ins-step-arrow{color:rgba(255,255,255,.25);font-size:1.1rem}

.ins-body{padding:56px 0 80px;background:#f4f4f6}

.ins-layout{display:grid;grid-template-columns:1fr 320px;gap:32px;align-items:start}

.ins-form-card{background:#fff;border-radius:20px;padding:40px;box-shadow:0 4px 24px rgba(0,0,0,.07)}

.ins-form-title{font-size:1.3rem;font-weight:800;color:#111;margin-bottom:28px;padding-bottom:16px;border-bottom:2px solid #f0f0f0}

.ins-form-title::after{content:'.';color:#E31E24}

.ins-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}

.ins-field{display:flex;flex-direction:column;gap:6px}

.ins-field-full{grid-column:1 / -1}

.ins-field label{font-size:.8rem;font-weight:700;color:#444;text-transform:uppercase;letter-spacing:.05em}

.ins-req{color:#E31E24}

.ins-opt{color:#aaa;font-weight:400;text-transform:none;letter-spacing:0;font-size:.78rem}

.ins-field input[type="text"],.ins-field input[type="email"],.ins-field input[type="tel"],.ins-field input[type="date"],.ins-field select,.ins-field textarea{padding:12px 14px;border:1.5px solid #e4e4e4;border-radius:10px;font-size:.93rem;color:#111;background:#fafafa;transition:border-color .2s,box-shadow .2s,background .2s;outline:none;appearance:none;font-family:inherit}

.ins-field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23999' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;cursor:pointer}

.ins-field textarea{resize:vertical;min-height:88px}

.ins-field input:focus,.ins-field select:focus,.ins-field textarea:focus{border-color:#E31E24;background:#fff;box-shadow:0 0 0 3.5px rgba(227,30,36,.1)}

.ins-field input:invalid:not(:placeholder-shown),.ins-field select:invalid:not(:placeholder-shown){border-color:#fca5a5}

.ins-privacy{margin-bottom:28px}

.ins-check-label{display:flex;align-items:flex-start;gap:10px;font-size:.84rem;color:#555;cursor:pointer;line-height:1.5}

.ins-check-label input[type="checkbox"]{flex-shrink:0;margin-top:2px;accent-color:#E31E24;width:16px;height:16px;cursor:pointer}

.ins-check-label a{color:#E31E24;font-weight:600}

.ins-submit-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 24px;background:#E31E24;color:#fff;font-size:1rem;font-weight:700;border:none;border-radius:12px;cursor:pointer;transition:background .2s,transform .15s,box-shadow .2s;position:relative;overflow:hidden;letter-spacing:.01em}

.ins-submit-btn::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.12) 0,transparent 60%);pointer-events:none}

.ins-submit-btn:hover:not(:disabled){background:#c01820;transform:translateY(-2px);box-shadow:0 8px 24px rgba(227,30,36,.35)}

.ins-submit-btn:active:not(:disabled){transform:translateY(0)}

.ins-submit-btn svg{transition:transform .2s}

.ins-submit-btn:hover:not(:disabled) svg{transform:translateX(4px)}

.ins-btn-loader{display:none;width:18px;height:18px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:ins-spin .7s linear infinite;flex-shrink:0}

@keyframes ins-spin{to{transform:rotate(360deg)}
}

.ins-submit-btn.loading .ins-btn-text{opacity:.5}

.ins-submit-btn.loading .ins-btn-loader{display:block}

.ins-submit-btn.loading > svg{display:none}

.ins-success{background:#fff;border-radius:20px;padding:56px 40px;box-shadow:0 4px 24px rgba(0,0,0,.07);text-align:center;animation:ins-fade-up .4s ease both}

@keyframes ins-fade-up{from{opacity:0;transform:translateY(16px)}
to{opacity:1;transform:translateY(0)}
}

.ins-success-icon{width:72px;height:72px;background:#dcfce7;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:#16a34a}

.ins-success h2{font-size:1.6rem;font-weight:800;color:#111;margin-bottom:12px}

.ins-success p{color:#666;font-size:.95rem;line-height:1.65;margin-bottom:28px;max-width:420px;margin-left:auto;margin-right:auto}

.ins-btn-new{display:inline-flex}

.ins-error{display:flex;align-items:center;gap:10px;background:#fff0f0;border:1px solid #fcc;border-left:3px solid #E31E24;color:#c00;padding:14px 18px;border-radius:10px;font-size:.88rem;margin-bottom:20px;animation:ins-shake .4s ease}

@keyframes ins-shake{0,100%{transform:translateX(0)}
20%,60%{transform:translateX(-5px)}
40%,80%{transform:translateX(5px)}
}

.ins-sidebar{display:flex;flex-direction:column;gap:20px;position:sticky;top:80px}

.ins-info-card,.ins-contact-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 4px 16px rgba(0,0,0,.06)}

.ins-info-card h3,.ins-contact-card h3{display:flex;align-items:center;gap:8px;font-size:.95rem;font-weight:800;color:#111;margin-bottom:14px}

.ins-info-list{list-style:none;display:flex;flex-direction:column;gap:10px}

.ins-info-list li{font-size:.84rem;color:#555;line-height:1.5;padding-left:16px;position:relative}

.ins-info-list li::before{content:'→';position:absolute;left:0;color:#E31E24;font-weight:700}

.ins-contact-card p{font-size:.84rem;color:#666;margin-bottom:14px}

.ins-contact-link{display:flex;align-items:center;gap:8px;font-size:.85rem;color:#444;text-decoration:none;padding:9px 0;border-bottom:1px solid #f5f5f5;transition:color .2s}

.ins-contact-link:last-of-type{border-bottom:none;margin-bottom:16px}

.ins-contact-link:hover{color:#E31E24}

.ins-contact-cta{width:100%;justify-content:center;margin-top:4px}





.atl-chips{display:flex;flex-wrap:wrap;gap:6px}

.atl-chip{display:inline-block;padding:4px 10px;background:rgba(227,30,36,.1);color:#E31E24;border:1px solid rgba(227,30,36,.2);border-radius:20px;font-size:.75rem;font-weight:700;white-space:nowrap}

.atl-chip-lg{font-size:.82rem;padding:6px 14px}

.atl-chip-link{text-decoration:none;transition:background .2s,color .2s}

.atl-chip-link:hover{background:#E31E24;color:#fff}

.atl-chips-sm .atl-chip{font-size:.7rem;padding:3px 8px}

.atl-chips-sidebar .atl-chip{margin-bottom:4px}

.atl-hero{position:relative;padding:58px 0 50px;background:#0d0d14;overflow:hidden;color:#fff}

.atl-hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 55% 80% at 90% 40%,rgba(227,30,36,.25) 0,transparent 65%),radial-gradient(ellipse 40% 60% at 5% 80%,rgba(0,87,184,.18) 0,transparent 60%)}

.atl-hero-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}

.atl-eyebrow{display:block;font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#E31E24;margin-bottom:10px}

.atl-hero-title{font-size:clamp(2rem,4vw,3rem);font-weight:800;line-height:1.1;margin-bottom:10px}

.atl-hero-title span{color:#E31E24}

.atl-hero-sub{font-size:.97rem;color:rgba(255,255,255,.6);margin:0}

.atl-hero-stats{display:flex;gap:24px;flex-wrap:wrap}

.atl-hstat{text-align:center;padding:14px 22px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:12px;min-width:70px}

.atl-hstat strong{display:block;font-size:1.8rem;font-weight:800;color:#E31E24;line-height:1}

.atl-hstat span{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.45);font-weight:600}

.atl-filters-bar{position:sticky;top:0;z-index:90;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid #e8e8e8;box-shadow:0 2px 16px rgba(0,0,0,.06);padding:12px 0}

.atl-filters-form{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}

.atl-filter-search{display:flex;align-items:center;gap:8px;background:#f5f5f5;border-radius:30px;padding:9px 16px}

.atl-filter-search svg{color:#aaa;flex-shrink:0}

.atl-filter-search input{border:none;background:transparent;outline:none;font-size:.88rem;color:#333;width:160px}

.atl-filter-group{display:flex;flex-direction:column;gap:4px}

.atl-filter-group > label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#999}

.atl-filter-group input[type=text],.atl-filter-group select{padding:8px 12px;border:1.5px solid #e0e0e0;border-radius:8px;font-size:.87rem;color:#333;background:#fff;appearance:none;transition:border-color .2s;outline:none}

.atl-filter-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23999' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px;cursor:pointer}

.atl-filter-group input:focus,.atl-filter-group select:focus{border-color:#E31E24}

.atl-pill-row{display:flex;gap:6px}

.atl-pill{display:inline-flex;align-items:center;padding:7px 12px;border-radius:20px;border:1.5px solid #e0e0e0;font-size:.8rem;font-weight:600;color:#555;background:#fff;transition:all .2s;text-decoration:none;white-space:nowrap}

.atl-pill:hover{border-color:#E31E24;color:#E31E24}

.atl-pill.active{background:#E31E24;border-color:#E31E24;color:#fff}

.atl-search-btn{padding:9px 18px;background:#111;color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s;align-self:flex-end}

.atl-search-btn:hover{background:#E31E24}

.atl-clear-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border-radius:8px;border:1.5px solid #fcc;background:#fff5f5;color:#E31E24;font-size:.8rem;font-weight:600;text-decoration:none;transition:background .2s;align-self:flex-end;white-space:nowrap}

.atl-clear-btn:hover{background:#fee}

.atl-body{padding:52px 0 80px;background:#f4f4f6}

.atl-empty{display:flex;flex-direction:column;align-items:center;gap:14px;padding:80px 20px;text-align:center;color:#bbb}

.atl-section-head{margin-bottom:24px}

.atl-section-title{font-size:1.2rem;font-weight:800;color:#111}

.atl-section-title::after{content:'.';color:#E31E24}

.atl-divider{text-align:center;position:relative;margin:40px 0 32px}

.atl-divider::before{content:'';position:absolute;top:50%;left:0;right:0;height:1px;background:#e0e0e0}

.atl-divider span{position:relative;background:#f4f4f6;padding:0 20px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#aaa}

.atl-featured-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;margin-bottom:40px}

.atl-feat-card{display:flex;flex-direction:column;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 6px 28px rgba(0,0,0,.09);text-decoration:none;color:inherit;transition:transform .25s,box-shadow .25s}

.atl-feat-card:hover{transform:translateY(-6px);box-shadow:0 16px 44px rgba(0,0,0,.13)}

.atl-feat-photo{position:relative;height:260px;overflow:hidden;background:#1a1a2e}

.atl-feat-photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}

.atl-feat-card:hover .atl-feat-photo img{transform:scale(1.06)}

.atl-feat-avatar{width:100%;height:100%;background:linear-gradient(135deg,#1a1a2e,#E31E24 160%)}

.atl-rc-badge{position:absolute;top:12px;left:12px;background:#f59e0b;color:#fff;font-size:.72rem;font-weight:800;padding:4px 10px;border-radius:20px;box-shadow:0 2px 8px rgba(0,0,0,.2)}

.atl-dorsal-badge{position:absolute;bottom:12px;right:12px;background:rgba(0,0,0,.7);color:#fff;font-size:1.1rem;font-weight:800;padding:6px 12px;border-radius:10px;font-style:italic}

.atl-feat-body{padding:20px;flex:1;display:flex;flex-direction:column;gap:10px}

.atl-feat-body h3{font-size:1.1rem;font-weight:800;color:#111;margin:0}

.atl-feat-cat{font-size:.8rem;color:#888;margin:0}

.atl-feat-mark{display:flex;align-items:baseline;gap:8px;background:#f8f8f8;border-radius:8px;padding:10px 14px;margin-top:auto}

.atl-feat-mark-prueba{font-size:.78rem;color:#777;font-weight:600}

.atl-feat-mark-val{font-size:1.3rem;font-weight:900;color:#E31E24}

.atl-feat-cta{font-size:.8rem;font-weight:700;color:#E31E24;margin-top:4px}

.atl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}

.atl-card{display:flex;flex-direction:column;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 18px rgba(0,0,0,.07);text-decoration:none;color:inherit;transition:transform .25s,box-shadow .25s;animation:atl-fade-up .4s ease both;position:relative}

.atl-card:hover{transform:translateY(-5px);box-shadow:0 12px 32px rgba(0,0,0,.12)}

@keyframes atl-fade-up{from{opacity:0;transform:translateY(14px)}
to{opacity:1;transform:translateY(0)}
}

.atl-card-photo{height:180px;overflow:hidden;background:#1a1a2e;position:relative}

.atl-card-photo img{width:100%;height:100%;object-fit:cover;transition:transform .35s}

.atl-card:hover .atl-card-photo img{transform:scale(1.07)}

.atl-card-avatar{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#E31E24 160%)}

.atl-card-dorsal{position:absolute;bottom:8px;right:8px;background:rgba(0,0,0,.65);color:#fff;font-size:.9rem;font-weight:800;padding:4px 9px;border-radius:8px;font-style:italic}

.atl-card-body{padding:14px 16px;flex:1}

.atl-card-name{font-size:.95rem;font-weight:800;color:#111;margin-bottom:4px}

.atl-card-cat{font-size:.78rem;color:#888;margin-bottom:8px}

.atl-card-arrow{position:absolute;bottom:14px;right:14px;font-size:1rem;color:#E31E24;opacity:0;transition:opacity .2s,transform .2s}

.atl-card:hover .atl-card-arrow{opacity:1;transform:translateX(4px)}

.atl-single{background:#f4f4f6}

.atl-breadcrumb{background:#fff;border-bottom:1px solid #eee;padding:12px 0}

.atl-breadcrumb .container{display:flex;align-items:center;gap:8px;font-size:.82rem;color:#888;flex-wrap:wrap}

.atl-breadcrumb a{color:#555;transition:color .2s;text-decoration:none}

.atl-breadcrumb a:hover{color:#E31E24}

.atl-breadcrumb span:last-child{color:#111;font-weight:600}

.atl-prof-hero{position:relative;padding:60px 0 56px;background:#0d0d14;overflow:hidden;color:#fff}

.atl-prof-hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 50% 100% at 0 50%,rgba(227,30,36,.2) 0,transparent 60%),radial-gradient(ellipse 60% 80% at 100% 50%,rgba(0,87,184,.15) 0,transparent 65%)}

.atl-prof-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:280px 1fr;gap:48px;align-items:center}

.atl-prof-photo-col{}

.atl-prof-photo-wrap{position:relative}

.atl-prof-photo{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.5);display:block}

.atl-prof-photo-placeholder{width:100%;aspect-ratio:3/4;background:linear-gradient(135deg,#1a1a2e,#E31E24 150%);border-radius:20px;display:flex;align-items:center;justify-content:center}

.atl-prof-dorsal{position:absolute;bottom:-12px;right:-12px;background:#E31E24;color:#fff;font-size:2rem;font-weight:900;font-style:italic;padding:12px 20px;border-radius:14px;box-shadow:0 8px 24px rgba(227,30,36,.5)}

.atl-prof-data-col{display:flex;flex-direction:column;gap:20px}

.atl-prof-rc-flag{display:inline-flex;align-items:center;gap:6px;background:#f59e0b;color:#fff;padding:6px 16px;border-radius:20px;font-size:.78rem;font-weight:800;width:fit-content}

.atl-prof-name{font-size:clamp(2rem,3.5vw,3.2rem);font-weight:900;line-height:1.05;color:#fff;margin:0}

.atl-prof-meta-row{display:flex;flex-wrap:wrap;gap:8px}

.atl-prof-meta-item{display:inline-flex;align-items:center;padding:5px 14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:20px;font-size:.82rem;color:rgba(255,255,255,.8)}

.atl-gen-badge.f{background:rgba(219,39,119,.2);border-color:rgba(219,39,119,.4);color:#f9a8d4}

.atl-gen-badge.m{background:rgba(37,99,235,.2);border-color:rgba(37,99,235,.4);color:#93c5fd}

.atl-prof-pruebas{display:flex;flex-wrap:wrap;gap:8px}

.atl-prof-pruebas .atl-chip{background:rgba(227,30,36,.25);border-color:rgba(227,30,36,.5);color:#fca5a5}

.atl-prof-kpis{display:flex;gap:20px;flex-wrap:wrap}

.atl-prof-kpi{text-align:center;padding:14px 20px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:12px;min-width:80px}

.atl-prof-kpi strong{display:block;font-size:2rem;font-weight:800;color:#E31E24;line-height:1}

.atl-prof-kpi span{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.45);font-weight:600}

.atl-ig-link{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;background:#E1306C;color:#fff;border-radius:10px;font-size:.85rem;font-weight:600;text-decoration:none;transition:opacity .2s;width:fit-content}

.atl-ig-link:hover{opacity:.85}

.atl-prof-social{}

.atl-prof-body{padding:52px 0 80px}

.atl-prof-layout{display:grid;grid-template-columns:1fr 280px;gap:32px;align-items:start}

.atl-prof-main{display:flex;flex-direction:column;gap:36px}

.atl-prof-section{background:#fff;border-radius:18px;padding:32px;box-shadow:0 4px 20px rgba(0,0,0,.06)}

.atl-prof-section-title{display:flex;align-items:center;gap:10px;font-size:1.15rem;font-weight:800;color:#111;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid #f0f0f0}

.atl-prof-section-title svg{color:#E31E24;flex-shrink:0}

.atl-prof-section-title::after{display:none}

.atl-marks-table-wrap{overflow-x:auto;border-radius:10px;border:1px solid #f0f0f0}

.atl-marks-table{width:100%;border-collapse:collapse;font-size:.9rem}

.atl-marks-table thead{background:#111;color:#fff}

.atl-marks-table thead th{padding:12px 14px;text-align:left;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}

.atl-marks-table tbody tr{border-bottom:1px solid #f5f5f5;transition:background .15s}

.atl-marks-table tbody tr:hover{background:#fafafa}

.atl-marks-table tbody tr:last-child{border-bottom:none}

.atl-mark-record{background:linear-gradient(90deg,#fffbea 0,#fff 50%) !important}

.atl-marks-table td{padding:12px 14px;color:#333;vertical-align:middle}

.atl-td-prueba{font-weight:700;color:#111}

.atl-rc-inline{display:inline-block;margin-left:6px;font-size:.7rem;font-weight:700;color:#f59e0b;background:#fffbea;border:1px solid #fde68a;border-radius:4px;padding:1px 5px}

.atl-td-marca strong{font-size:1.1rem;font-weight:900;color:#E31E24}

.atl-td-fecha{font-size:.82rem;color:#777;white-space:nowrap}

.atl-td-comp,.atl-td-lugar{font-size:.82rem;color:#777;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.atl-th-comp,.atl-th-lugar{min-width:100px}

.atl-bio-content{font-size:.95rem;line-height:1.75;color:#444}

.atl-bio-content p{margin-bottom:1em}

.atl-bio-content p:last-child{margin-bottom:0}

.atl-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}

.atl-gal-thumb{position:relative;aspect-ratio:1;border:none;padding:0;cursor:pointer;border-radius:10px;overflow:hidden;background:#eee}

.atl-gal-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}

.atl-gal-thumb:hover img{transform:scale(1.08)}

.atl-gal-overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;color:#fff}

.atl-gal-thumb:hover .atl-gal-overlay{opacity:1}

.atl-prof-sidebar{display:flex;flex-direction:column;gap:20px;position:sticky;top:80px}

.atl-prof-sidebar-card{background:#fff;border-radius:16px;padding:22px;box-shadow:0 4px 16px rgba(0,0,0,.06)}

.atl-prof-sidebar-card h3{font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#999;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid #f0f0f0}

.atl-prof-dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;font-size:.85rem}

.atl-prof-dl dt{color:#aaa;font-weight:600;white-space:nowrap}

.atl-prof-dl dd{color:#222;font-weight:700;margin:0}

.atl-back-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;background:#fff;border-radius:12px;color:#555;font-size:.85rem;font-weight:600;text-decoration:none;box-shadow:0 2px 10px rgba(0,0,0,.06);transition:color .2s,box-shadow .2s}

.atl-back-btn:hover{color:#E31E24;box-shadow:0 4px 16px rgba(0,0,0,.1)}

.atl-back-btn svg{transition:transform .2s}

.atl-back-btn:hover svg{transform:translateX(-3px)}

.atl-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.95);display:flex;align-items:center;justify-content:center}

.atl-lightbox[hidden]{display:none}

.atl-lb-img-wrap{position:relative;max-width:90vw;max-height:88vh;display:flex;align-items:center;justify-content:center}

.atl-lb-img{max-width:90vw;max-height:88vh;object-fit:contain;border-radius:8px;transition:opacity .25s;display:block}

.atl-lb-loader{position:absolute;width:36px;height:36px;border:3px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:lb-spin .7s linear infinite}

@keyframes lb-spin{to{transform:rotate(360deg)}
}

.atl-lb-close{position:fixed;top:20px;right:24px;background:rgba(255,255,255,.15);border:none;color:#fff;width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}

.atl-lb-close:hover{background:rgba(255,255,255,.3)}

.atl-lb-prev,.atl-lb-next{position:fixed;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.12);border:none;color:#fff;width:52px;height:52px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}

.atl-lb-prev{left:20px}

.atl-lb-next{right:20px}

.atl-lb-prev:hover,.atl-lb-next:hover{background:rgba(255,255,255,.25)}

.atl-lb-counter{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.6);font-size:.85rem;font-weight:600;background:rgba(0,0,0,.5);padding:6px 16px;border-radius:20px}






/* ── Pruebas del evento ── */
.event-pruebas-block{margin-top:10px}
.ev-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.ev-chip{display:inline-block;background:#fff3f3;color:#E31E24;border:1px solid #f5c6c7;border-radius:20px;padding:3px 11px;font-size:12px;font-weight:600;letter-spacing:.02em}

/* ══════════════════════════════════════════════════════
 * EVENTOS — Mejoras página
 * ══════════════════════════════════════════════════════ */

/* ── Buscador + controles ── */
.ev-controls{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:28px}
.ev-search-wrap{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #dcdcde;border-radius:8px;padding:8px 14px;flex:1;min-width:200px;max-width:340px;box-shadow:0 1px 4px rgba(0,0,0,0.06)}
.ev-search-wrap svg{flex-shrink:0;color:#999}
.ev-search-wrap input{border:none;outline:none;font-size:13px;color:#333;width:100%;background:transparent}
.ev-search-wrap input::placeholder{color:#bbb}
.events-filter{display:flex;flex-wrap:wrap;gap:8px;flex:1}

/* ── Card próximo evento ── */
.ev-next-wrap{margin-bottom:36px}
.ev-next-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#E31E24;margin-bottom:10px}
.ev-next-card{display:grid;grid-template-columns:auto 160px 1fr;border-radius:12px;overflow:hidden;box-shadow:var(--shadow-md);border:1px solid #e8e8e8;background:#fff}
.ev-next-img{background-size:cover;background-position:center;min-height:100%}
.ev-next-date-block{background:linear-gradient(160deg,var(--primary-red) 0,#8b0c10 100%);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 16px;text-align:center;gap:2px}
.ev-next-weekday{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;opacity:.85}
.ev-next-daynum{font-size:3rem;font-weight:800;line-height:1;margin:2px 0}
.ev-next-month{font-size:12px;font-weight:700;letter-spacing:.06em;opacity:.9}
.ev-next-countdown{margin-top:10px;background:rgba(255,255,255,.2);border-radius:20px;padding:3px 10px;font-size:11px;font-weight:700}
.ev-next-info{padding:24px 28px;display:flex;flex-direction:column;justify-content:center;gap:8px}
.ev-next-title{font-size:1.4rem;font-weight:800;color:var(--dark-gray);margin:4px 0;line-height:1.25}
.ev-next-title a{color:inherit;text-decoration:none}
.ev-next-title a:hover{color:var(--primary-red)}
.ev-next-location{display:flex;align-items:center;gap:5px;font-size:.88rem;color:#777;margin:0}
.ev-next-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.btn-outline-sm{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:2px solid #1a3a5c;background:#1a3a5c;color:#fff;border-radius:6px;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .2s}
.btn-outline-sm:hover{background:#0f2640;border-color:#0f2640;color:#fff}

/* ── Badges de proximidad ── */
.ev-badge{display:inline-block;font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px;margin-left:6px;vertical-align:middle;text-transform:uppercase;letter-spacing:.04em}
.ev-badge--today{background:#E31E24;color:#fff}
.ev-badge--soon{background:#ff6b35;color:#fff}
.ev-badge--near{background:#f59e0b;color:#fff}

/* ── Mes: badge contador ── */
.month-header{display:flex;align-items:baseline;gap:10px}
.month-event-count{font-size:.75rem;font-weight:600;background:#f0f0f0;color:#777;padding:2px 9px;border-radius:20px;letter-spacing:.02em}
.month-header--sm{font-size:1.1rem}

/* ── Fila evento: mes corto + no confirmada ── */
.event-month-short{font-size:10px;font-weight:700;letter-spacing:.06em;opacity:.8;margin-top:1px}
.event-unconfirmed{margin-top:4px;font-size:11px;font-weight:700;background:rgba(255,255,255,.25);border-radius:10px;padding:1px 5px}

/* ── Dropdown añadir al calendario ── */
.ev-cal-wrap{position:relative;display:inline-block}
.ev-cal-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #dcdcde;border-radius:6px;background:#fff;cursor:pointer;color:#555;transition:all .2s;margin-top:4px}
.ev-cal-btn:hover{border-color:var(--primary-red);color:var(--primary-red)}
.ev-cal-dropdown{display:none;position:absolute;right:0;top:calc(100% + 4px);background:#fff;border:1px solid #dcdcde;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,0.12);min-width:180px;z-index:100;overflow:hidden}
.ev-cal-open .ev-cal-dropdown{display:block}
.ev-cal-opt{display:flex;align-items:center;gap:9px;padding:10px 14px;font-size:13px;color:#333;text-decoration:none;transition:background .15s}
.ev-cal-opt:hover{background:#f9f9f9;color:var(--primary-red)}
.ev-cal-opt svg{flex-shrink:0;opacity:.6}

/* ── Chips de pruebas en el listado ── */
.event-pruebas-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}

/* ── Sin resultados de búsqueda ── */
.ev-no-results{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 20px;color:#aaa;font-size:.95rem;text-align:center}

/* ── Pasados: acordeón por año ── */
.ev-pasados-section{margin-top:48px}
.ev-pasados-title{font-size:1.1rem;color:#888;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid #eee}
.ev-year-accordion{border:1px solid #e0e0e0;border-radius:10px;overflow:hidden;margin-bottom:12px;background:#fff}
.ev-year-summary{display:flex;align-items:center;gap:12px;padding:16px 20px;cursor:pointer;list-style:none;user-select:none}
.ev-year-summary::-webkit-details-marker{display:none}
.ev-year-summary:hover{background:#fafafa}
.ev-year-label{font-size:1.1rem;font-weight:800;color:var(--dark-gray)}
.ev-year-count{font-size:.8rem;font-weight:600;color:#999;background:#f0f0f0;padding:2px 10px;border-radius:20px}
.ev-year-arrow{margin-left:auto;color:#bbb;transition:transform .2s;flex-shrink:0}
.ev-year-accordion[open] .ev-year-arrow{transform:rotate(180deg)}
.ev-year-body{padding:0 0 16px;border-top:1px solid #f0f0f0}

/* ── Responsive móvil ── */



/* ══════════════════════════════════════════════════════
 * PATROCINADORES — Regla consolidada (sin !important)
 * ══════════════════════════════════════════════════════ */

/* Sección */
.sponsors-section{background:#fff;padding:52px 0;border-top:1px solid #f0f0f0}

/* ── Fila nivel Principal ── */
.sponsors-principal-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:32px;padding:0 0 40px;border-bottom:1px solid #f0f0f0;margin-bottom:36px}
.sp-logo--principal .sp-logo-inner{padding:20px 30px}
.sp-logo--principal img{max-width:200px;max-height:90px}

/* ── Logo base ── */
.sp-logo{position:relative;flex:0 0 auto;display:flex;align-items:center;justify-content:center}
.sp-logo-inner{display:flex;align-items:center;justify-content:center;padding:14px 20px;border-radius:10px;background:#fff;border:1px solid #ececec;transition:box-shadow .25s,transform .25s,border-color .25s;text-decoration:none;cursor:default}
a.sp-logo-inner{cursor:pointer}
a.sp-logo-inner:hover{box-shadow:0 6px 22px rgba(227,30,36,.14);transform:translateY(-3px);border-color:#f5c6c7}
.sp-logo img{display:block;max-width:140px;max-height:60px;width:auto;height:auto;object-fit:contain;opacity:.65;filter:grayscale(30%);transition:opacity .25s,filter .25s}
a.sp-logo-inner:hover img{opacity:1;filter:grayscale(0)}
.sp-logo--principal img{max-width:200px;max-height:90px;opacity:.75}
a.sp-logo-inner:hover .sp-logo--principal img,
.sp-logo--principal a.sp-logo-inner:hover img{opacity:1}

/* Badge "↗ Web" en hover */
.sp-visit-badge{position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);background:var(--primary-red);color:#fff;font-size:.62rem;font-weight:700;padding:2px 7px;border-radius:4px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s;letter-spacing:.03em}
a.sp-logo-inner:hover + .sp-visit-badge,
.sp-logo:hover .sp-visit-badge{opacity:1}

/* ── Carrusel ── */
.sponsors-marquee-wrap{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 80px,#000 calc(100% - 80px),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 80px,#000 calc(100% - 80px),transparent 100%);padding:8px 0 20px}
.sponsors-marquee-track{display:flex;align-items:center;gap:28px;width:max-content;animation:marquee-scroll 40s linear infinite}
.sponsors-marquee-track:hover{animation-play-state:paused}
@keyframes marquee-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* Botón pausa */
.sp-pause-btn{position:absolute;top:50%;right:6px;transform:translateY(-50%);z-index:10;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:1px solid #ddd;background:#fff;cursor:pointer;color:#999;transition:color .2s,border-color .2s}
.sp-pause-btn:hover{color:var(--primary-red);border-color:var(--primary-red)}

/* ── Responsive ── */



/* ── Hint de scroll en el carrusel de noticias móvil ── */
@media (max-width:600px){
.news-small-scroll-hint{display:flex;align-items:center;gap:6px;font-size:.72rem;color:#aaa;margin:0 0 10px;padding-left:2px}
.news-small-scroll-hint svg{flex-shrink:0;animation:hint-slide 1.6s ease-in-out infinite}
@keyframes hint-slide{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
/* Degradado al final para indicar que hay más contenido */
.news-small-wrap{position:relative}
.news-small-wrap::after{content:'';position:absolute;top:0;right:0;width:40px;height:calc(100% - 16px);background:linear-gradient(to right,transparent,rgba(249,249,249,.9));pointer-events:none}
}


/* ── Blog list: responsive ── */


/* ══════════════════════════════════════════════════════
 * MEJORAS DE DISEÑO v10
 * ══════════════════════════════════════════════════════ */

/* ── Ola decorativa hero → primera sección ── */
.hero-wave{display:block;margin-top:-2px;line-height:0;overflow:hidden;background:transparent}
.hero-wave svg{display:block;width:100%;height:auto}

/* ── Footer: ancho completo con padding top ── */
.footer-content-wrap{padding:60px 0 0}

/* ── Botón amarillo: borde blanco para legibilidad ── */
.hero-buttons .btn:not(.btn-primary){
    border:2px solid rgba(255,255,255,0.5) !important;
    box-shadow:0 2px 8px rgba(0,0,0,0.2);
}
.hero-buttons .btn:not(.btn-primary):hover{
    border-color:rgba(255,255,255,0.9) !important;
    box-shadow:0 4px 16px rgba(0,0,0,0.3);
    transform:translateY(-2px);
}

/* ── Tipografía: escala CSS custom props en headings ── */
.section-title h2{font-size:var(--text-3xl)}
.destaca-title{font-size:var(--text-2xl)}
.news-big-title{font-size:var(--text-xl)}

/* ── Transiciones hover consistentes en tarjetas ── */
.news-small,.blog-card,.testimonial-card,.interview-item,.destaca-card{
    transition:transform .28s ease,box-shadow .28s ease;
}
.news-small:hover,.blog-card:hover,.interview-item:hover{
    transform:translateY(-4px);
    box-shadow:var(--shadow-hover);
}

/* ── Join banner: botón más visible ── */
.join-banner .btn{
    background:var(--white);
    color:var(--primary-red);
    margin-top:24px;
    font-weight:800;
    box-shadow:0 4px 16px rgba(0,0,0,0.2);
    transition:transform .2s,box-shadow .2s;
}
.join-banner .btn:hover{
    transform:translateY(-2px);
    box-shadow:0 8px 24px rgba(0,0,0,0.25);
}

/* ── Section dividers: variedad ── */
.section-title.divider-left .divider{margin:0 0 0 0;text-align:left}
.section-title.divider-gradient .divider{
    width:80px;
    background:linear-gradient(90deg,var(--primary-red),var(--secondary-blue));
    height:3px;
}

/* ── Separador ondulado entre secciones ── */
.section-wave{position:relative;overflow:hidden}
.section-wave::after{
    content:'';
    position:absolute;
    bottom:-1px;
    left:0;
    width:100%;
    height:48px;
    background:inherit;
    clip-path:ellipse(52% 100% at 50% 100%);
}

/* ── Mejora del footer brand col ── */
.footer-logo-wrap{margin-bottom:16px}
.footer-logo-wrap img{max-height:52px;width:auto;filter:brightness(0) invert(1);opacity:.9}
.footer-col-brand p{font-size:var(--text-sm);line-height:1.65;color:#aaa;max-width:260px}

/* ── Footer bottom mejorado ── */
.footer-bottom-inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
    padding:0 20px;
}
.footer-copy{font-size:var(--text-sm);color:#777;margin:0}
.footer-copy strong{color:#aaa}

/* ── Responsive ── */


/* ══════════════════════════════════════════════════════
 * NUEVAS FUNCIONALIDADES v10
 * ══════════════════════════════════════════════════════ */

/* ── Mi Área ── */
.mi-area-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:28px;border-bottom:2px solid #e0e0e0;padding-bottom:12px}
.mi-area-tab{padding:9px 18px;border-radius:8px 8px 0 0;font-size:.88rem;font-weight:600;text-decoration:none;color:#777;transition:all .2s}
.mi-area-tab:hover{background:#f0f0f0;color:#333}
.mi-area-tab.active{background:var(--primary-red);color:#fff}
.mi-area-content{background:#fff;border-radius:0 12px 12px 12px;padding:28px 32px;box-shadow:var(--shadow-sm)}
.mi-area-h2{font-size:1.3rem;font-weight:800;color:var(--dark-gray);margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid #f0f0f0}
.mi-area-empty{color:#aaa;text-align:center;padding:48px 0;font-size:1rem}
.mi-area-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;margin-bottom:28px}
.mi-area-stat{background:#f9f9f9;border-radius:12px;padding:20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;border:1px solid #f0f0f0}
.mas-icon{font-size:1.6rem}
.mas-num{font-size:2rem;font-weight:900;color:var(--primary-red);line-height:1}
.mas-label{font-size:.78rem;color:#999;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.mi-area-block{background:#fafafa;border-radius:10px;padding:16px 20px;margin-bottom:20px;border:1px solid #f0f0f0}
.mi-area-block h3{font-size:1rem;font-weight:700;margin:0 0 14px;color:var(--dark-gray)}
.mi-area-table-wrap{overflow-x:auto;border-radius:8px;border:1px solid #e0e0e0}
.mi-area-table{width:100%;border-collapse:collapse;font-size:.9rem}
.mi-area-table th{background:#f5f5f5;padding:10px 14px;text-align:left;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#777;border-bottom:2px solid #e0e0e0}
.mi-area-table td{padding:10px 14px;border-bottom:1px solid #f5f5f5;vertical-align:middle}
.mi-area-table tr:last-child td{border-bottom:none}
.mi-area-table tr:hover td{background:#fafafa}
.mi-area-perfil-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.map-field label{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#999;margin-bottom:4px}
.map-field p{font-size:.95rem;color:var(--dark-gray);margin:0;font-weight:500}

/* Badges de estado */
.ac-badge-ok{display:inline-block;background:#d1e7dd;color:#0a3622;padding:3px 10px;border-radius:20px;font-size:.78rem;font-weight:700}
.ac-badge-no{display:inline-block;background:#f8d7da;color:#58151c;padding:3px 10px;border-radius:20px;font-size:.78rem;font-weight:700}
.ac-badge-pend{display:inline-block;background:#fff3cd;color:#856404;padding:3px 10px;border-radius:20px;font-size:.78rem;font-weight:700}
.ac-badge-wait{display:inline-block;background:#e0e7ff;color:#3730a3;padding:3px 10px;border-radius:20px;font-size:.78rem;font-weight:700}

/* Convocatorias */
.conv-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #f5f5f5;flex-wrap:wrap}
.conv-row:last-child{border-bottom:none}
.conv-row-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}
.conv-row-info strong{font-size:.95rem;color:var(--dark-gray)}
.conv-fecha{font-size:.8rem;color:#aaa;white-space:nowrap}
.conv-card{background:#fff;border-radius:12px;border:1px solid #e0e0e0;overflow:hidden;margin-bottom:18px;box-shadow:var(--shadow-sm)}
.conv-card-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#fafafa;border-bottom:1px solid #f0f0f0;gap:12px}
.conv-card-header h3{margin:0;font-size:1.05rem;font-weight:800;color:var(--dark-gray)}
.conv-fecha-badge{font-size:.8rem;font-weight:700;background:var(--primary-red);color:#fff;padding:3px 10px;border-radius:20px;white-space:nowrap}
.conv-card-body{padding:16px 20px;font-size:.9rem;color:#555;line-height:1.7}
.conv-card-body p{margin:0 0 6px;display:flex;align-items:center;gap:6px}
.conv-card-footer{padding:14px 20px;border-top:1px solid #f5f5f5;display:flex;align-items:center;gap:10px;flex-wrap:wrap}

/* Estadísticas */
.est-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;margin-bottom:32px}
.est-kpi{background:#fff;border-radius:14px;padding:24px 16px;text-align:center;box-shadow:var(--shadow-sm);border:1px solid #f0f0f0;display:flex;flex-direction:column;align-items:center;gap:6px}
.est-kpi-icon{font-size:1.8rem}
.est-kpi-num{font-size:2.2rem;font-weight:900;color:var(--primary-red);line-height:1}
.est-kpi-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#aaa}
.est-charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.est-card{background:#fff;border-radius:14px;padding:22px 20px;box-shadow:var(--shadow-sm);border:1px solid #f0f0f0}
.est-card--wide{grid-column:1/-1}
.est-card-title{font-size:1rem;font-weight:700;color:var(--dark-gray);margin:0 0 16px}
.est-updated{font-size:.75rem;color:#ccc;text-align:right;margin-top:16px}

/* Galería por evento */
.gal-evento-group{margin-bottom:40px;background:#fff;border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid #f0f0f0}
.gal-evento-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid #f0f0f0;background:#fafafa}
.gal-evento-info{flex:1}
.gal-evento-title{font-size:1.2rem;font-weight:800;color:var(--dark-gray);margin:0 0 6px}
.gal-evento-meta{display:flex;flex-wrap:wrap;gap:14px;font-size:.82rem;color:#999}
.gal-toggle-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:1px solid #e0e0e0;background:#fff;cursor:pointer;color:#aaa;flex-shrink:0;transition:all .2s}
.gal-toggle-btn:hover{border-color:var(--primary-red);color:var(--primary-red)}
.gal-arrow{transition:transform .25s}
.gal-foto-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px;padding:4px}
.gal-foto-item{position:relative;aspect-ratio:4/3;overflow:hidden;cursor:pointer;border-radius:4px;background:#f5f5f5}
.gal-foto-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.gal-foto-item:hover img{transform:scale(1.06)}
.gal-foto-overlay{position:absolute;inset:0;background:rgba(0,0,0,0);display:flex;align-items:center;justify-content:center;transition:background .25s;opacity:0}
.gal-foto-item:hover .gal-foto-overlay{background:rgba(0,0,0,0.35);opacity:1}
.gal-credito{position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,0.55);color:rgba(255,255,255,0.8);font-size:.65rem;padding:3px 6px;text-align:right}

/* Lightbox galería eventos */
.ac-lightbox{position:fixed;inset:0;background:rgba(0,0,0,0.92);z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ac-lb-img-wrap{max-width:90vw;max-height:80vh;display:flex;align-items:center;justify-content:center}
.ac-lb-img-wrap img{max-width:90vw;max-height:80vh;object-fit:contain;border-radius:6px}
.ac-lb-close{position:absolute;top:16px;right:20px;background:none;border:none;color:#fff;font-size:1.8rem;cursor:pointer;opacity:.7;z-index:10}
.ac-lb-close:hover{opacity:1}
.ac-lb-prev,.ac-lb-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,0.1);border:none;color:#fff;font-size:2.5rem;cursor:pointer;width:50px;height:80px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background .2s;line-height:1}
.ac-lb-prev{left:8px}
.ac-lb-next{right:8px}
.ac-lb-prev:hover,.ac-lb-next:hover{background:rgba(255,255,255,0.25)}
.ac-lb-caption{color:rgba(255,255,255,.8);font-size:.88rem;margin-top:10px;text-align:center;max-width:600px;padding:0 20px}
.ac-lb-counter{color:rgba(255,255,255,.5);font-size:.78rem;margin-top:4px}

/* Tabla resultados RFEA */
.ac-resultados-table{overflow-x:auto;margin:16px 0}
.ac-resultados-table table{width:100%;border-collapse:collapse;font-size:.9rem}
.ac-resultados-table th{background:#f5f5f5;padding:9px 14px;text-align:left;font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#777;border-bottom:2px solid #e0e0e0}
.ac-resultados-table td{padding:9px 14px;border-bottom:1px solid #f5f5f5}

/* ── Responsive ── */


/* ══════════════════════════════════════════════════════
 * COACHTRACK PRO — Estilos integrados en el tema
 * Fuente: coachtrack-pro v7.13
 * Colores adaptados a la paleta del club (#E31E24)
 * El plugin sigue necesario para la lógica; estos
 * estilos reemplazan los <style> inline del plugin.
 * ══════════════════════════════════════════════════════ */
.pdf-page { max-width: 820px; margin: 0 auto; padding: 32px; }

  /* Header — same style as pages & emails */
  .pdf-header {
    display: flex; align-items: center; gap: 16px;
    border-bottom: 4px solid var(--primary-red); padding-bottom: 18px; margin-bottom: 28px;
  }
  .pdf-header-logo { height: 52px; object-fit: contain; }
  .pdf-header-brand { flex: 1; }
  .pdf-header-title { font-size: 22px; font-weight: 900; color: var(--primary-red); letter-spacing: -0.5px; }
  .pdf-header-sub   { font-size: 13px; color: #6b7280; margin-top: 3px; }
  .pdf-header-meta  { text-align: right; font-size: 12px; color: #9ca3af; line-height: 1.6; }

  h2 { font-size: 17px; font-weight: 900; color: #1e293b; margin: 24px 0 12px; }
  h3 { font-size: 13px; font-weight: 800; color: #6b7280; text-transform: uppercase;
       letter-spacing: .6px; border-bottom: 1px solid #e5e7eb; padding-bottom: 6px; margin: 20px 0 10px; }
  table { width: 100%; border-collapse: collapse; margin-bottom: 20px; font-size: 13px; }
  th, td { padding: 8px 10px; border-bottom: 1px solid #f3f4f6; text-align: left; }
  th { background: #f9fafb; font-weight: 800; font-size: 11px; color: #6b7280; text-transform: uppercase; }
  tr:hover td { background: #fafafa; }
  .badge-done    { color: #16a34a; font-weight: 700; }
  .badge-pending { color: #f97316; font-weight: 700; }
  .badge-rest    { color: #6b7280; font-weight: 700; }
  .tipo-badge { display: inline-block; background: #fff4ee; color: var(--primary-red);
                padding: 2px 8px; border-radius: 10px; font-size: 11px; font-weight: 700; }
  .session-card { border: 1px solid #e5e7eb; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; page-break-inside: avoid; }
  .session-card-title { font-size: 15px; font-weight: 900; color: #1e293b; margin-bottom: 6px; }
  .session-card-meta  { font-size: 12px; color: #6b7280; display: flex; gap: 12px; flex-wrap: wrap; }
  .session-card-body  { font-size: 13px; color: #374151; margin-top: 10px; line-height: 1.6; }
  .pill { display: inline-block; padding: 2px 10px; border-radius: 20px; font-size: 11px; font-weight: 700; }
  .pill-orange { background: #fff4ee; color: var(--primary-red); }
  .pill-green  { background: #f0fdf4; color: #16a34a; }
  .pill-gray   { background: #f3f4f6; color: #6b7280; }
  .week-header { background: #1e293b; color: #fff; font-size: 14px; font-weight: 900;
                 padding: 8px 14px; border-radius: 8px; margin: 20px 0 10px; page-break-after: avoid; }
  .footer { margin-top: 36px; padding-top: 14px; border-top: 1px solid #e5e7eb;
            font-size: 11px; color: #9ca3af; text-align: center; }
  

:root {
    --orange:       var(--primary-red);
    --orange-light: #e85555;
    --orange-pale:  #fff3f3;
    --orange-dark:  var(--dark-red);
    --green:        #16a34a;
    --green-pale:   #f0fdf4;
    --red:          #dc2626;
    --red-pale:     #fef2f2;
    --yellow:       #d97706;
    --yellow-pale:  #fffbeb;
    --blue:         #3b82f6;
    --blue-pale:    #eff6ff;
    --gray-50:      #f9fafb;
    --gray-100:     #f3f4f6;
    --gray-200:     #e5e7eb;
    --gray-300:     #d1d5db;
    --gray-400:     #9ca3af;
    --gray-500:     #6b7280;
    --gray-700:     #374151;
    --gray-900:     #111827;
    --bg:           #f4f5f7;
    --card-bg:      #ffffff;
    --card-border:  #e8eaed;
    --text:         #111827;
    --text-muted:   #6b7280;
    --shadow-sm:    0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
    --shadow:       0 4px 12px rgba(0,0,0,.08);
    --shadow-lg:    0 12px 32px rgba(0,0,0,.12);
    --shadow-orange: 0 4px 14px rgba(252,97,0,.25);
    --radius:       14px;
    --radius-sm:    8px;
    --radius-xs:    6px;
    --font:         'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    --transition:   .18s cubic-bezier(.4,0,.2,1);
}



/* ── Reset & Base ────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

.ct-wrap {
    font-family: var(--font);
    color: var(--text);
    max-width: 780px;
    margin: 0 auto;
    padding: 0 16px 80px;
    -webkit-font-smoothing: antialiased;
}
/* ── Sticky header bar (brand + nav) ───────── */
.ct-sticky-bar {
    position: sticky;
    top: 0;
    z-index: 500;
    background: #f8fafc;
    margin: 0 -16px;
    padding: 12px 16px 0;
    box-shadow: 0 2px 8px rgba(0,0,0,.06);
}

/* ── Cards ───────────────────────────────────── */
.ct-card {
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: var(--radius);
    padding: 24px;
    margin-bottom: 16px;
    box-shadow: var(--shadow-sm);
    transition: box-shadow var(--transition);
}
.ct-card:hover { box-shadow: var(--shadow); }

.ct-card-header {
    display: flex; align-items: center;
    justify-content: space-between; margin-bottom: 18px;
}
.ct-card-title {
    font-size: 15px; font-weight: 800; color: var(--text);
    display: flex; align-items: center; gap: 10px; margin: 0;
}
.ct-card-title-line {
    display: inline-block; width: 4px; height: 20px;
    background: linear-gradient(180deg, var(--orange), var(--orange-light));
    border-radius: 2px; flex-shrink: 0;
}

/* ── Session Hero ────────────────────────────── */
.ct-session-hero {
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: var(--radius);
    overflow: hidden; margin-bottom: 16px;
    box-shadow: var(--shadow);
}
.ct-session-hero-banner {
    height: 5px;
    background: linear-gradient(90deg, var(--orange), var(--orange-light), #ffb347);
}
.ct-session-hero-body { padding: 24px; }
.ct-session-meta-row {
    display: flex; align-items: center; gap: 10px;
    flex-wrap: wrap; margin-bottom: 14px;
}
.ct-session-type-badge {
    display: inline-flex; align-items: center; gap: 6px;
    background: var(--orange-pale); color: var(--orange-dark);
    border-radius: 20px; padding: 4px 12px;
    font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px;
}
.ct-session-date-badge { color: var(--text-muted); font-size: 13px; font-weight: 500; }
.ct-session-title { font-size: 26px; font-weight: 900; color: var(--text); margin: 0 0 18px; line-height: 1.15; }
.ct-session-specs {
    display: flex; gap: 24px; flex-wrap: wrap;
    padding: 16px 0; border-top: 1px solid var(--card-border);
}
.ct-spec-item { display: flex; flex-direction: column; gap: 3px; }
.ct-spec-label { font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .7px; color: var(--text-muted); }
.ct-spec-value { font-size: 15px; font-weight: 800; color: var(--text); }

/* ── Navigation ──────────────────────────────── */
.ct-nav-link {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 9px 16px; border-radius: 9px; font-size: 13px; font-weight: 600;
    color: var(--text-muted); text-decoration: none; white-space: nowrap;
    transition: background var(--transition), color var(--transition);
}
.ct-nav-link:hover  { background: var(--orange-pale); color: var(--orange); text-decoration: none; }
.ct-nav-link.active { background: var(--orange-pale); color: var(--orange); font-weight: 700; }

/* ── Buttons ─────────────────────────────────── */
.ct-btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 11px 22px; border-radius: 10px; font-size: 14px; font-weight: 700;
    font-family: var(--font); text-decoration: none; cursor: pointer; border: none;
    transition: background var(--transition), transform var(--transition), box-shadow var(--transition);
}
.ct-btn-primary {
    background: var(--orange); color: #fff;
    box-shadow: var(--shadow-orange);
}
.ct-btn-primary:hover { background: var(--orange-dark); transform: translateY(-1px); box-shadow: 0 6px 18px rgba(252,97,0,.35); }
.ct-btn-primary:active { transform: translateY(0); }

.ct-btn-ghost {
    background: transparent; color: var(--text-muted);
    border: 1.5px solid var(--card-border);
}
.ct-btn-ghost:hover { background: var(--gray-50); color: var(--text); border-color: var(--gray-300); }

/* ── Input ───────────────────────────────────── */
.ct-input {
    width: 100%; padding: 12px 14px;
    border: 1.5px solid var(--card-border); border-radius: 9px;
    font-size: 14px; font-family: var(--font); color: var(--text);
    background: var(--card-bg); transition: border-color var(--transition), box-shadow var(--transition);
}
.ct-input:focus { border-color: var(--orange); outline: none; box-shadow: 0 0 0 3px rgba(252,97,0,.1); }

/* ── Form label ──────────────────────────────── */
.ct-form-label {
    font-size: 12px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .6px; color: var(--text-muted); margin-bottom: 6px; display: block;
}
.ct-form-group { margin-bottom: 18px; }

/* ── Notice ──────────────────────────────────── */
.ct-notice {
    padding: 14px 18px; border-radius: 10px;
    font-size: 14px; font-weight: 600; line-height: 1.5; margin-bottom: 14px;
    display: flex; align-items: flex-start; gap: 10px;
}
.ct-notice-success { background: var(--green-pale);  color: #14532d; border: 1px solid #bbf7d0; }
.ct-notice-error   { background: var(--red-pale);    color: #7f1d1d; border: 1px solid #fca5a5; }
.ct-notice-warning { background: var(--yellow-pale); color: #78350f; border: 1px solid #fde68a; }
.ct-notice-info    { background: var(--blue-pale);   color: #1e3a5f; border: 1px solid #bfdbfe; }

/* ── Feed cards ──────────────────────────────── */
.ct-feed-item {
    background: var(--card-bg); border: 1px solid var(--card-border);
    border-radius: var(--radius); margin-bottom: 12px;
    overflow: hidden; transition: box-shadow var(--transition), transform var(--transition);
    display: flex;
}
.ct-feed-item:hover { box-shadow: var(--shadow); transform: translateY(-2px); }
.ct-feed-stripe { width: 5px; flex-shrink: 0; }
.ct-feed-body   { flex: 1; padding: 16px 18px; }
.ct-feed-title  { font-size: 15px; font-weight: 800; color: var(--text); margin-bottom: 6px; }
.ct-feed-meta   { font-size: 12px; color: var(--text-muted); display: flex; gap: 12px; flex-wrap: wrap; }
.ct-feed-meta span { display: flex; align-items: center; gap: 4px; }
.ct-feed-action { display: flex; align-items: center; padding: 16px 14px; }

/* ── Stat pills ──────────────────────────────── */
.ct-stat-pill {
    display: inline-flex; flex-direction: column; align-items: center;
    padding: 14px 18px; background: var(--gray-50); border-radius: 12px;
    border: 1px solid var(--card-border);
}
.ct-stat-pill-val { font-size: 22px; font-weight: 900; color: var(--orange); line-height: 1; }
.ct-stat-pill-lbl { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .6px; color: var(--text-muted); margin-top: 4px; }

/* ── Loading skeleton ────────────────────────── */
@keyframes ct-shimmer { 0%{background-position:-200% 0} 100%{background-position:200% 0} }
.ct-skeleton {
    background: linear-gradient(90deg, #f0f0f0 25%, #fafafa 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: ct-shimmer 1.5s infinite;
    border-radius: 6px; height: 16px;
}

/* ── RPE Scale ───────────────────────────────── */
.ct-rpe-label {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 6px 14px; border-radius: 20px; font-size: 14px; font-weight: 700;
}

/* ── Calendar ────────────────────────────────── */
.ct-calendar-grid { display: grid; grid-template-columns: repeat(7,1fr); gap: 4px; margin-top: 12px; }
.ct-week-label { text-align: center; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .6px; color: var(--text-muted); padding: 8px 0; }
.ct-week-day {
    aspect-ratio: 1; display: flex; flex-direction: column; align-items: center;
    justify-content: center; border-radius: 9px; font-size: 13px; font-weight: 600;
    cursor: default; border: 1.5px solid transparent; transition: all var(--transition);
    position: relative; min-height: 44px;
}
.ct-week-day.has-session { background: var(--card-bg); border-color: var(--card-border); cursor: pointer; }
.ct-week-day.has-session:hover { border-color: var(--orange); box-shadow: 0 2px 8px rgba(252,97,0,.15); }
.ct-week-day.done   { background: var(--green-pale);  border-color: #bbf7d0; }
.ct-week-day.today  { border-color: var(--orange); box-shadow: 0 0 0 3px rgba(252,97,0,.15); font-weight: 900; }
.ct-week-day.rest   { background: var(--gray-50); border-color: var(--gray-200); }

/* ── Progress bar ────────────────────────────── */
.ct-progress-bar { height: 8px; background: var(--gray-100); border-radius: 20px; overflow: hidden; }
.ct-progress-fill { height: 100%; background: linear-gradient(90deg, var(--orange), var(--orange-light)); border-radius: 20px; transition: width .6s cubic-bezier(.4,0,.2,1); }

/* ── Section header on pages ─────────────────── */
.ct-page-header {
    display: flex; align-items: center; gap: 14px;
    border-bottom: 1px solid var(--card-border);
    padding-bottom: 18px; margin-bottom: 24px;
}
.ct-page-logo { height: 36px; width: auto; object-fit: contain; }
.ct-page-brand { font-size: 18px; font-weight: 900; color: var(--orange); }

/* ── Stats grid ─────────────────────────────── */
.ct-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-bottom: 16px;
}
.ct-stat-box {
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 14px 10px;
    text-align: center;
}
.ct-stat-box.record { background: #fff7ed; border-color: #fed7aa; }
.ct-stat-val { font-size: 22px; font-weight: 900; color: var(--orange); }
.ct-stat-lbl { font-size: 11px; font-weight: 700; color: var(--text-muted); margin-top: 2px; text-transform: uppercase; letter-spacing: .04em; }

/* ── 2-col responsive grid ────────────────── */
.ct-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 20px; }

/* ── Table scroll wrapper ─────────────────── */
.ct-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* ── Responsive ──────────────────────────────── */
@keyframes ct-spin { to { transform: rotate(360deg); } }


/* ── Print styles for session view ──────────── */


/* ── Respeta prefers-reduced-motion ──────────── */


.ct-login-wrap {
        min-height: 100vh;
        display: flex;
        align-items: center;
        justify-content: center;
        background: linear-gradient(135deg, #0f172a 0%, #1e293b 60%, #0f172a 100%);
        padding: 24px 16px;
        margin: 0 auto;
        font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    }
    .ct-login-card {
        background: #fff;
        border-radius: 20px;
        padding: 48px 40px 40px;
        width: 100%;
        max-width: 420px;
        box-shadow: 0 24px 64px rgba(0,0,0,.35);
    }
    .ct-login-brand {
        text-align: center;
        margin-bottom: 36px;
    }
    .ct-login-logo {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 120px;
        height: 120px;
        background: transparent;
        border-radius: 0;
        margin-bottom: 16px;
        box-shadow: none;
    }
    .ct-login-logo img {
        width: 120px;
        height: 120px;
        object-fit: contain;
        border-radius: 0;
    }
    .ct-login-logo span { font-size: 36px; }
    .ct-login-club {
        font-size: 22px;
        font-weight: 900;
        color: #111827;
        line-height: 1.2;
        margin-bottom: 4px;
    }
    .ct-login-sub {
        font-size: 13px;
        color: #6b7280;
        font-weight: 500;
    }
    .ct-login-divider {
        height: 1px;
        background: #f3f4f6;
        margin: 0 0 28px;
    }
    .ct-login-field {
        margin-bottom: 18px;
    }
    .ct-login-label {
        display: block;
        font-size: 12px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .6px;
        color: #6b7280;
        margin-bottom: 8px;
    }
    .ct-login-input {
        width: 100%;
        padding: 13px 16px;
        border: 1.5px solid #e5e7eb;
        border-radius: 10px;
        font-family: inherit;
        font-size: 15px;
        color: #111827;
        background: #f9fafb;
        outline: none;
        transition: border-color .15s, box-shadow .15s, background .15s;
        box-sizing: border-box;
    }
    .ct-login-input:focus {
        border-color: var(--primary-red);
        background: #fff;
        box-shadow: 0 0 0 3px rgba(252,97,0,.12);
    }
    .ct-login-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 24px;
        font-size: 13px;
    }
    .ct-login-remember {
        display: flex;
        align-items: center;
        gap: 7px;
        color: #6b7280;
        font-weight: 500;
        cursor: pointer;
    }
    .ct-login-remember input { accent-color: var(--primary-red); width: 15px; height: 15px; cursor: pointer; }
    .ct-login-forgot {
        color: var(--primary-red);
        font-weight: 700;
        text-decoration: none;
        transition: color .15s;
    }
    .ct-login-forgot:hover { color: #d44e00; text-decoration: underline; }
    .ct-login-btn {
        width: 100%;
        padding: 14px;
        background: linear-gradient(135deg, var(--primary-red), #ff8534);
        color: #fff;
        border: none;
        border-radius: 10px;
        font-family: inherit;
        font-size: 16px;
        font-weight: 800;
        cursor: pointer;
        transition: opacity .15s, transform .1s, box-shadow .15s;
        box-shadow: 0 4px 16px rgba(252,97,0,.35);
        letter-spacing: .3px;
    }
    .ct-login-btn:hover { opacity: .92; transform: translateY(-1px); box-shadow: 0 6px 20px rgba(252,97,0,.4); }
    .ct-login-btn:active { transform: translateY(0); }
    .ct-login-error {
        display: flex;
        align-items: center;
        gap: 10px;
        background: #fef2f2;
        border: 1px solid #fecaca;
        border-radius: 10px;
        padding: 12px 16px;
        margin-bottom: 20px;
        font-size: 14px;
        font-weight: 600;
        color: #dc2626;
    }
    .ct-login-footer {
        text-align: center;
        margin-top: 24px;
        font-size: 12px;
        color: #9ca3af;
    }
    

.ct-perio-tab {
        padding:12px 16px;font-size:13px;font-weight:700;border:none;background:none;cursor:pointer;
        color:#6b7280;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .15s;
    }
    .ct-perio-tab:hover { color:var(--primary-red); }
    .ct-perio-tab-active { color:var(--primary-red) !important; border-bottom-color:var(--primary-red) !important; }
    .ct-cycle-card {
        background:#fff;border:1.5px solid #e5e7eb;border-radius:12px;padding:16px 18px;margin-bottom:10px;
        transition:box-shadow .15s;
    }
    .ct-cycle-card:hover { box-shadow:0 4px 16px rgba(252,97,0,.1); }
    .ct-perio-form-row { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px; }
    .ct-perio-form-row.three { grid-template-columns:1fr 1fr 1fr; }
    .ct-perio-form-row label, .ct-perio-form-field label {
        display:block;font-size:11px;font-weight:800;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;
    }
    .ct-perio-form-row input, .ct-perio-form-row select, .ct-perio-form-row textarea,
    .ct-perio-form-field input, .ct-perio-form-field select, .ct-perio-form-field textarea {
        width:100%;box-sizing:border-box;padding:8px 12px;border:1.5px solid #d1d5db;border-radius:8px;font-size:13px;
        font-family:inherit;transition:border-color .15s;
    }
    .ct-perio-form-row input:focus, .ct-perio-form-row select:focus,
    .ct-perio-form-field input:focus, .ct-perio-form-field select:focus { outline:none;border-color:var(--primary-red); }
    .ct-perio-btn-primary {
        background:linear-gradient(135deg,var(--primary-red),#ff8534);color:#fff;border:none;padding:10px 20px;
        border-radius:8px;font-size:13px;font-weight:800;cursor:pointer;transition:opacity .15s;
    }
    .ct-perio-btn-primary:hover { opacity:.88; }
    .ct-perio-btn-danger {
        background:#fee2e2;color:#dc2626;border:none;padding:6px 12px;border-radius:7px;
        font-size:12px;font-weight:700;cursor:pointer;
    }
    .ct-perio-btn-danger:hover { background:#fecaca; }
    .ct-perio-btn-edit {
        background:#f0f9ff;color:#0369a1;border:none;padding:6px 12px;border-radius:7px;
        font-size:12px;font-weight:700;cursor:pointer;
    }
    .ct-perio-btn-edit:hover { background:#e0f2fe; }
    .ct-range-bar { height:8px;border-radius:4px;background:#f3f4f6;position:relative;overflow:visible;margin:4px 0; }
    .ct-range-fill { height:100%;border-radius:4px;position:absolute;top:0; }
    .ct-today-marker { position:absolute;top:-4px;width:3px;height:16px;background:#d97706;border-radius:2px;z-index:2; }
/* ══════════════════════════════════════════════════════
 * CARRITO FLOTANTE
 * ══════════════════════════════════════════════════════ */

/* Botón disparador */
.fc-trigger{
    position:fixed;bottom:28px;right:28px;z-index:1010;
    width:56px;height:56px;border-radius:50%;
    background:var(--primary-red);color:#fff;border:none;
    display:flex;align-items:center;justify-content:center;
    cursor:pointer;box-shadow:0 4px 18px rgba(227,30,36,.45);
    transition:transform .2s,box-shadow .2s;
}
.fc-trigger:hover{transform:scale(1.08);box-shadow:0 6px 24px rgba(227,30,36,.55)}
.fc-trigger[aria-expanded="true"]{background:var(--dark-red)}

/* Badge contador en el botón */
.fc-trigger-count{
    position:absolute;top:-5px;right:-5px;
    background:#fff;color:var(--primary-red);
    font-size:.68rem;font-weight:900;
    min-width:20px;height:20px;border-radius:10px;
    display:flex;align-items:center;justify-content:center;
    padding:0 4px;border:2px solid var(--primary-red);
    box-shadow:0 2px 6px rgba(0,0,0,.15);
}
.fc-trigger.fc-has-items{animation:fc-bounce .4s ease}
@keyframes fc-bounce{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}

/* Backdrop */
.fc-backdrop{
    position:fixed;inset:0;background:rgba(0,0,0,.35);
    z-index:910;backdrop-filter:blur(2px);
}

/* Panel lateral */
.fc-panel{
    position:fixed;top:0;right:0;bottom:0;z-index:920;
    width:360px;max-width:95vw;
    background:#fff;display:flex;flex-direction:column;
    box-shadow:-8px 0 32px rgba(0,0,0,.14);
    animation:fc-slide-in .25s ease;
}
@keyframes fc-slide-in{from{transform:translateX(100%)}to{transform:translateX(0)}}

/* Header */
.fc-header{
    display:flex;align-items:center;gap:10px;
    padding:18px 20px;border-bottom:1px solid #f0f0f0;
    background:#fafafa;flex-shrink:0;
}
.fc-title{font-size:1rem;font-weight:800;color:var(--dark-gray);flex:1}
.fc-count-label{font-size:.78rem;color:#aaa;font-weight:600}
.fc-close{
    display:flex;align-items:center;justify-content:center;
    width:30px;height:30px;border-radius:6px;
    border:1px solid #e0e0e0;background:#fff;
    cursor:pointer;color:#888;transition:all .2s;flex-shrink:0;
}
.fc-close:hover{border-color:var(--primary-red);color:var(--primary-red)}

/* Lista de items */
.fc-items{flex:1;overflow-y:auto;padding:12px 0;scrollbar-width:thin}

/* Estado vacío */
.fc-empty{
    display:flex;flex-direction:column;align-items:center;
    justify-content:center;gap:12px;height:100%;
    padding:40px 20px;color:#ccc;font-size:.9rem;text-align:center;
}

/* Item individual */
.fc-item{
    display:flex;gap:12px;padding:12px 20px;
    border-bottom:1px solid #f5f5f5;align-items:flex-start;
}
.fc-item:last-child{border-bottom:none}
.fc-item-img{
    width:56px;height:56px;border-radius:8px;overflow:hidden;
    flex-shrink:0;background:#f5f5f5;border:1px solid #ececec;
}
.fc-item-img img{width:100%;height:100%;object-fit:cover}
.fc-item-no-img{width:100%;height:100%;background:#f0f0f0}
.fc-item-info{flex:1;min-width:0}
.fc-item-name{
    font-size:.85rem;font-weight:600;color:var(--dark-gray);
    margin:0 0 8px;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.fc-item-row{display:flex;align-items:center;gap:8px}

/* Controles de cantidad */
.fc-qty-wrap{
    display:flex;align-items:center;gap:0;
    border:1px solid #e0e0e0;border-radius:6px;overflow:hidden;
}
.fc-qty-btn{
    width:26px;height:26px;border:none;background:#f5f5f5;
    color:#555;font-size:1rem;cursor:pointer;display:flex;
    align-items:center;justify-content:center;transition:background .15s;
    flex-shrink:0;
}
.fc-qty-btn:hover{background:#e0e0e0}
.fc-qty-num{
    min-width:28px;text-align:center;font-size:.82rem;
    font-weight:700;padding:0 4px;color:var(--dark-gray);
}
.fc-item-price{font-size:.85rem;font-weight:700;color:var(--primary-red);margin-left:auto;white-space:nowrap}
.fc-remove-btn{
    background:none;border:none;color:#ccc;font-size:1.2rem;
    cursor:pointer;padding:0 2px;line-height:1;transition:color .2s;
    flex-shrink:0;
}
.fc-remove-btn:hover{color:var(--primary-red)}

/* Footer */
.fc-footer{
    flex-shrink:0;padding:16px 20px;
    border-top:2px solid #f0f0f0;background:#fff;
    display:flex;flex-direction:column;gap:10px;
}
.fc-total{
    display:flex;justify-content:space-between;align-items:center;
    font-size:.95rem;font-weight:700;color:var(--dark-gray);
}
.fc-total-price{font-size:1.1rem;font-weight:900;color:var(--primary-red)}
.fc-btn-cart{
    display:block;text-align:center;padding:10px;
    border:2px solid var(--primary-red);border-radius:8px;
    color:var(--primary-red);font-weight:700;font-size:.9rem;
    text-decoration:none;transition:all .2s;
}
.fc-btn-cart:hover{background:var(--primary-red);color:#fff}
.fc-btn-checkout{
    display:block;text-align:center;padding:11px;
    background:var(--primary-red);border-radius:8px;
    color:#fff;font-weight:800;font-size:.9rem;
    text-decoration:none;transition:background .2s;
    box-shadow:0 3px 12px rgba(227,30,36,.35);
}
.fc-btn-checkout:hover{background:var(--dark-red)}

/* Evitar scroll del body cuando el panel está abierto */
body.fc-open{overflow:hidden}

/* Responsive */


/* ── Paginación JS ───────────────────────────────────────────── */
.shop-js-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:28px 0 8px}
.shop-page-info{font-size:.82rem;color:var(--color-hint);font-weight:500}
.shop-page-nav{display:flex;align-items:center;gap:4px}
.shop-page-btn{min-width:36px;height:36px;padding:0 6px;border:1.5px solid var(--color-border);border-radius:8px;background:#fff;color:var(--dark-gray);font-size:.85rem;font-weight:700;cursor:pointer;transition:all .18s;display:flex;align-items:center;justify-content:center}
.shop-page-btn:hover:not(.disabled):not(.active){border-color:var(--primary-red);color:var(--primary-red)}
.shop-page-btn.active{background:var(--primary-red);border-color:var(--primary-red);color:#fff;box-shadow:0 2px 8px rgba(227,30,36,.3)}
.shop-page-btn.disabled{opacity:.35;cursor:not-allowed}
.shop-page-dots{padding:0 4px;color:#aaa;font-weight:700;align-self:center}