/*
 * Mi Tienda — identidad visual aislada
 * Todos los tokens y selectores viven bajo el panel o storefront del plugin.
 */

.my-store-body,
.my-store-storefront {
	--mt-ink: #14212b;
	--mt-ink-soft: #40515d;
	--mt-paper: #f6f7f4;
	--mt-surface: #ffffff;
	--mt-surface-muted: #edf1ee;
	--mt-line: #d5ddd8;
	--mt-brand: #174c68;
	--mt-brand-deep: #10364b;
	--mt-accent: #d67a2d;
	--mt-accent-deep: #ad5e1f;
	--mt-success: #187454;
	--mt-danger: #bd3d3d;
	--mt-warning: #9a6518;
	--mt-radius-sm: 8px;
	--mt-radius: 14px;
	--mt-radius-lg: 22px;
	--mt-shadow: 0 10px 28px rgba(20, 33, 43, .08);
	--mt-shadow-lift: 0 18px 38px rgba(20, 33, 43, .14);
	--mt-font: Inter, "Segoe UI", Arial, sans-serif;
	--mt-display: Sora, Inter, "Segoe UI", Arial, sans-serif;
	--mt-type-h1: clamp(32px, 3.8vw, 50px);
	--mt-type-h2: clamp(23px, 2.3vw, 29px);
	--mt-type-h3: clamp(18px, 1.7vw, 21px);
	--mt-type-h4: 16px;
}

.my-store-body {
	background: var(--mt-paper) !important;
	color: var(--mt-ink) !important;
	font-family: var(--mt-font) !important;
}

.my-store-body *,
.my-store-storefront *,
.my-store-body *::before,
.my-store-body *::after,
.my-store-storefront *::before,
.my-store-storefront *::after { box-sizing: border-box; }

/* Panel ------------------------------------------------------------------ */
.my-store-body .my-store-app { background: var(--mt-paper); }
.my-store-body .my-store-sidebar {
	width: 276px;
	padding: 22px 12px 14px;
	background: var(--mt-ink);
	border: 0;
	box-shadow: 8px 0 30px rgba(10, 27, 37, .08);
}
.my-store-body .my-store-sidebar-header {
	margin: 0 8px 20px;
	padding: 0 0 20px;
	text-align: left;
	border-bottom-color: rgba(255,255,255,.14);
}
.my-store-body .my-store-logo,
.my-store-body .my-store-logo-placeholder {
	width: 100%; height: 58px; margin: 0 0 15px;
	border-radius: var(--mt-radius-sm); background: #fff; box-shadow: none;
}
.my-store-body .my-store-logo-placeholder { background: var(--mt-accent); color: #fff; }
.my-store-body .my-store-store-name {
	color: #fff; font: 700 18px/1.25 var(--mt-display); text-shadow: none;
}
.my-store-body .my-store-user-role { color: rgba(255,255,255,.62); letter-spacing: .08em; }
.my-store-body .my-store-nav { padding: 0; }
.my-store-body .my-store-nav-item,
.my-store-body .my-store-logout {
	margin: 3px 0; padding: 12px 13px; border-radius: var(--mt-radius-sm);
	border: 1px solid transparent; color: rgba(255,255,255,.78); font-weight: 600;
}
.my-store-body .my-store-nav-item:hover,
.my-store-body .my-store-nav-item:focus,
.my-store-body .my-store-logout:hover,
.my-store-body .my-store-logout:focus {
	background: rgba(255,255,255,.1) !important; border-color: rgba(255,255,255,.12) !important;
	color: #fff !important; outline: none;
}
.my-store-body .my-store-nav-item.active {
	background: var(--mt-accent) !important; border-color: var(--mt-accent) !important;
	box-shadow: 0 8px 18px rgba(214,122,45,.24); color: #fff !important;
}
.my-store-body .my-store-sidebar-footer { padding: 14px 0 0; border-top-color: rgba(255,255,255,.14); }
.my-store-body .my-store-qr { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.13); }
.my-store-body .my-store-qr-title,
.my-store-body .my-store-qr-url { color: rgba(255,255,255,.7); }

.my-store-body .my-store-content { padding: 38px clamp(20px, 4vw, 58px); }
.my-store-body .my-store-section-header { margin-bottom: 28px; }
.my-store-body .my-store-section-title {
	color: var(--mt-ink); font: 700 clamp(28px, 3vw, 38px)/1.12 var(--mt-display); text-shadow: none;
}
.my-store-body .my-store-section-subtitle { color: var(--mt-ink-soft); font-size: 15px; }
.my-store-body .my-store-card-title { color: var(--mt-ink); font: 700 17px/1.3 var(--mt-display); }

.my-store-body .my-store-btn {
	min-height: 42px; border-color: var(--mt-line); border-radius: var(--mt-radius-sm);
	background: var(--mt-surface); color: var(--mt-ink); font: 700 13px/1 var(--mt-font);
	letter-spacing: .01em; box-shadow: none;
}
.my-store-body .my-store-btn:hover { border-color: var(--mt-brand); color: var(--mt-brand); box-shadow: 0 5px 14px rgba(20,33,43,.1); }
.my-store-body .my-store-btn-primary {
	background: var(--mt-brand) !important; color: #fff !important; border-color: var(--mt-brand) !important;
}
.my-store-body .my-store-btn-primary:hover { background: var(--mt-brand-deep) !important; box-shadow: 0 8px 18px rgba(23,76,104,.22); }
.my-store-body .my-store-btn-secondary { color: var(--mt-brand); border-color: var(--mt-brand); }
.my-store-body .my-store-btn-secondary:hover { background: var(--mt-brand); color: #fff; }
.my-store-body .my-store-btn-warning { background: #f6ead5 !important; color: var(--mt-warning) !important; border: 1px solid #e4c18f !important; }
.my-store-body .my-store-btn-danger:hover { background: var(--mt-danger); border-color: var(--mt-danger); }

.my-store-body .my-store-input,
.my-store-body .my-store-select,
.my-store-body .my-store-form-group input,
.my-store-body .my-store-form-group select,
.my-store-body .my-store-form-group textarea {
	border: 1px solid var(--mt-line); border-radius: var(--mt-radius-sm); background: #fff;
	color: var(--mt-ink); font-family: var(--mt-font); box-shadow: none;
}
.my-store-body .my-store-input:focus,
.my-store-body .my-store-select:focus,
.my-store-body .my-store-form-group input:focus,
.my-store-body .my-store-form-group select:focus,
.my-store-body .my-store-form-group textarea:focus {
	border-color: var(--mt-brand); box-shadow: 0 0 0 3px rgba(23,76,104,.14); outline: 0;
}
.my-store-body .my-store-form-group label { color: var(--mt-ink); font-weight: 700; }

.my-store-body .my-store-stat-card,
.my-store-body .my-store-chart-card,
.my-store-body .my-store-recent-orders,
.my-store-body .my-store-table-wrapper,
.my-store-body .my-store-settings-card,
.my-store-body .my-store-share-card {
	background: var(--mt-surface); border-color: var(--mt-line); border-radius: var(--mt-radius);
	box-shadow: var(--mt-shadow);
}
.my-store-body .my-store-stat-card { padding: 22px; border-top: 3px solid var(--mt-brand); }
.my-store-body .my-store-stat-card:hover { border-color: var(--mt-line); border-top-color: var(--mt-accent); box-shadow: var(--mt-shadow-lift); }
.my-store-body .my-store-stat-icon { background: #e4eff3; border-radius: 12px; }
.my-store-body .my-store-stat-value { color: var(--mt-ink); text-shadow: none; font-family: var(--mt-display); }
.my-store-body .my-store-stat-label,
.my-store-body .my-store-subtitle { color: var(--mt-ink-soft); letter-spacing: .07em; }
.my-store-body .my-store-stat-trend.is-up { color: var(--mt-success); }
.my-store-body .my-store-stat-trend.is-down { color: var(--mt-danger); }

.my-store-body .my-store-table-wrapper { overflow-x: auto; }
.my-store-body .my-store-table th { background: #e8efed; color: var(--mt-ink-soft); border-bottom-color: var(--mt-line); }
.my-store-body .my-store-table td { color: var(--mt-ink); border-bottom-color: #e7ece9; }
.my-store-body .my-store-table tbody tr:hover { background: #f0f5f3; }
.my-store-body .my-store-range-btn { border-color: var(--mt-line); color: var(--mt-ink-soft); }
.my-store-body .my-store-range-btn:hover { border-color: var(--mt-brand); color: var(--mt-brand); }
.my-store-body .my-store-range-btn.is-active { background: var(--mt-brand); color: #fff; }

.my-store-body .my-store-modal { background: rgba(11,25,33,.62); backdrop-filter: blur(5px); }
.my-store-body .my-store-modal-content {
	border: 1px solid var(--mt-line); border-radius: var(--mt-radius-lg); box-shadow: 0 24px 70px rgba(10,25,33,.3);
}
.my-store-body .my-store-modal-header { background: #f1f4f1; border-bottom-color: var(--mt-line); }
.my-store-body .my-store-modal-header h2 { color: var(--mt-ink); font-family: var(--mt-display); }
.my-store-body .my-store-modal-close { color: var(--mt-ink-soft); border-radius: 50%; }
.my-store-body .my-store-modal-close:hover { background: #e2e9e5; color: var(--mt-danger); }
.my-store-body .my-store-modal-footer { border-top-color: var(--mt-line); background: #fafbf9; }

/* Tienda pública --------------------------------------------------------- */
.my-store-storefront {
	max-width: 1240px; margin: 42px auto 70px; padding: 0 24px; color: var(--mt-ink); font-family: var(--mt-font);
}
.my-store-storefront a { color: var(--mt-brand); }
.my-store-storefront .my-store-sf-breadcrumb {
	display: flex; flex-wrap: wrap; align-items: center; gap: 10px;
	margin-bottom: 28px; color: #87939a; font-family: var(--mt-font); font-size: 13px;
	font-weight: 700; line-height: 1.45; letter-spacing: .025em;
	text-transform: uppercase;
}
.my-store-storefront .my-store-sf-breadcrumb a {
	color: #87939a !important; text-decoration: none; font-weight: 800;
	transition: color .18s ease, background-color .18s ease;
}
.my-store-storefront .my-store-sf-breadcrumb a:hover { color: var(--mt-ink-soft) !important; text-decoration: none; }
.my-store-storefront .my-store-sf-breadcrumb a:focus-visible { outline: 2px solid #f5a623; outline-offset: 3px; border-radius: 3px; }
.my-store-storefront .my-store-sf-breadcrumb .my-store-breadcrumb-sep { color: #c0c0c0; font-size: 0; font-weight: 400; line-height: 1; }
.my-store-storefront .my-store-sf-breadcrumb .my-store-breadcrumb-sep::after { content: '›'; font-size: 17px; font-weight: 400; }
.my-store-storefront .my-store-sf-breadcrumb .my-store-breadcrumb-current {
	color: var(--mt-brand); font-family: Figtree, var(--mt-font); font-size: 14px;
	font-weight: 750; letter-spacing: -.01em; line-height: 1.45; text-transform: none;
}
.my-store-storefront .my-store-sf-banner { border-radius: var(--mt-radius-lg); box-shadow: var(--mt-shadow); overflow: hidden; }
.my-store-storefront .my-store-sf-body { gap: 30px; margin-top: 30px; }
.my-store-storefront .my-store-sf-sidebar {
	background: var(--mt-surface); border: 1px solid var(--mt-line); border-radius: var(--mt-radius-lg);
	box-shadow: var(--mt-shadow); padding: 28px;
}
.my-store-storefront .my-store-sf-name,
.my-store-storefront .my-store-product-title,
.my-store-storefront .my-store-product-section-title { color: var(--mt-ink); font-family: var(--mt-display); }
.my-store-storefront .my-store-sf-name.my-store-sf-name-long { max-width: 100%; white-space: nowrap !important; overflow: hidden; font-size: clamp(18px, 1.7vw, 21px); letter-spacing: -.045em; text-overflow: clip; }
.my-store-storefront h1 { color: var(--mt-ink); font: 700 var(--mt-type-h1)/1.08 var(--mt-display); letter-spacing: -.035em; }
.my-store-storefront h2 { color: var(--mt-ink); font: 700 var(--mt-type-h2)/1.18 var(--mt-display); letter-spacing: -.022em; }
.my-store-storefront h3 { color: var(--mt-ink); font: 700 var(--mt-type-h3)/1.28 var(--mt-display); letter-spacing: -.014em; }
.my-store-storefront h4 { color: var(--mt-ink); font: 800 var(--mt-type-h4)/1.35 var(--mt-font); letter-spacing: .01em; }
.my-store-storefront .my-store-sf-description,
.my-store-storefront .my-store-sf-city,
.my-store-storefront .my-store-sf-meta { color: var(--mt-ink-soft); }
.my-store-storefront .my-store-sf-meta a { color: var(--mt-ink-soft); }
.my-store-storefront .my-store-sf-meta a:hover { color: var(--mt-brand); }
.my-store-storefront .my-store-sf-section-title { color: var(--mt-ink); font: 700 27px/1.2 var(--mt-display); }
.my-store-storefront .my-store-sf-section-count {
	display: inline-grid; place-items: center; flex: 0 0 38px; width: 38px !important; height: 38px !important; padding: 0 !important;
	position: relative; overflow: hidden; background: #174c68 !important;
	border: 0 !important; border-radius: 8px; color: #fff !important; font: 800 14px/1 var(--mt-font); letter-spacing: -.02em;
	box-shadow: none !important;
}
.my-store-storefront .my-store-sf-search,
.my-store-storefront .my-store-sf-cat-select {
	border-color: var(--mt-line); border-radius: var(--mt-radius-sm); color: var(--mt-ink); background: #fff;
}
.my-store-storefront .my-store-sf-search:focus,
.my-store-storefront .my-store-sf-cat-select:focus { border-color: var(--mt-brand) !important; box-shadow: 0 0 0 3px rgba(23,76,104,.14) !important; }
.my-store-storefront .my-store-sf-cat { background: #e8efed !important; border-color: #e8efed !important; border-radius: 999px !important; color: var(--mt-ink) !important; }
.my-store-storefront .my-store-sf-cat.is-active { background: var(--mt-accent) !important; border-color: var(--mt-accent) !important; color: #fff !important; }
.my-store-storefront .my-store-sf-card,
.my-store-storefront .my-store-related-card {
	border: 1px solid var(--mt-line); border-radius: var(--mt-radius); box-shadow: none; overflow: hidden; background: var(--mt-surface);
}
.my-store-storefront .my-store-sf-card:hover,
.my-store-storefront .my-store-related-card:hover { border-color: #b7c7c0; box-shadow: var(--mt-shadow-lift); transform: translateY(-3px); }
.my-store-storefront .my-store-sf-card-name,
.my-store-storefront .my-store-related-name { color: var(--mt-ink); font-family: var(--mt-display); }
.my-store-storefront .my-store-sf-card-price,
.my-store-storefront .my-store-product-price { color: var(--mt-brand); }
.my-store-storefront .my-store-sf-card-btn,
.my-store-storefront .my-store-sf-catalog-btn,
.my-store-storefront .my-store-related-card .my-store-related-btn,
.my-store-storefront .my-store-sf-loadmore-btn {
	background: var(--mt-brand) !important; border-color: var(--mt-brand) !important; border-radius: var(--mt-radius-sm) !important;
}
.my-store-storefront .my-store-sf-card-btn:hover,
.my-store-storefront .my-store-sf-catalog-btn:hover,
.my-store-storefront .my-store-related-card .my-store-related-btn:hover,
.my-store-storefront .my-store-sf-loadmore-btn:hover { background: var(--mt-brand-deep) !important; border-color: var(--mt-brand-deep) !important; }
.my-store-storefront .my-store-product-layout { background: var(--mt-surface); border: 1px solid var(--mt-line); border-radius: var(--mt-radius-lg); box-shadow: var(--mt-shadow); overflow: hidden; }
.my-store-storefront .my-store-btn-primary { background: var(--mt-brand) !important; border-color: var(--mt-brand) !important; border-radius: var(--mt-radius-sm); }
.my-store-storefront .my-store-btn-whatsapp { background: #197a56 !important; border-radius: var(--mt-radius-sm); }

/* Filtros de catálogo: un control compacto y consistente. */
.my-store-storefront .my-store-sf-filters { max-width: 660px; margin: 0 0 26px; }
.my-store-storefront .my-store-sf-filters input.my-store-sf-search {
	max-width: none; min-height: 48px; padding: 0 16px; border: 1px solid var(--mt-line);
	border-radius: var(--mt-radius-sm) !important; background: #fff; color: var(--mt-ink); font: 600 14px var(--mt-font);
}
.my-store-storefront .my-store-sf-search::placeholder { color: #81919a; }
.my-store-storefront .my-store-sf-cats {
	display: flex; gap: 8px; margin-top: 10px; padding: 5px; width: fit-content; max-width: 100%;
	background: #eef3f1; border: 1px solid #d9e3de; border-radius: 12px;
}
.my-store-storefront .my-store-sf-cat,
.my-store-storefront .my-store-sf-select-wrap { height: 42px; }
.my-store-storefront .my-store-sf-cat {
	padding: 0 16px !important; border-radius: 8px !important; font: 800 12px/1 var(--mt-font);
	letter-spacing: .05em; text-transform: uppercase; color: var(--mt-ink) !important; background: transparent !important;
	border-color: transparent !important; box-shadow: none !important; transition: background .18s ease, color .18s ease, transform .18s ease !important;
}
.my-store-storefront .my-store-sf-cat:hover { transform: none !important; background: #e0e9e5 !important; color: var(--mt-brand) !important; }
.my-store-storefront .my-store-sf-cat.is-active,
.my-store-storefront .my-store-sf-cat.is-active:hover { background: var(--mt-brand) !important; border-color: var(--mt-brand) !important; color: #fff !important; box-shadow: 0 5px 12px rgba(23,76,104,.18) !important; }
.my-store-storefront .my-store-sf-select-wrap { position: relative; min-width: 230px; }
.my-store-storefront .my-store-sf-native-select { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; border: 0 !important; }
.my-store-storefront .my-store-sf-category-trigger,
.my-store-storefront .my-store-sf-category-trigger:hover,
.my-store-storefront .my-store-sf-category-trigger:focus,
.my-store-storefront .my-store-sf-category-trigger:focus-visible { display: flex; align-items: center; justify-content: space-between; width: 100%; height: 42px; padding: 0 13px 0 14px; border: 1px solid transparent; border-radius: 8px; background: #fff; color: var(--mt-ink) !important; font: 700 13px var(--mt-font); cursor: pointer; text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.my-store-storefront .my-store-sf-select-wrap:hover .my-store-sf-category-trigger { background: #fbfdfc; border-color: #b7c9c0; color: var(--mt-ink) !important; }
.my-store-storefront .my-store-sf-select-wrap:focus-within .my-store-sf-category-trigger { border-color: var(--mt-brand) !important; box-shadow: 0 0 0 3px rgba(23,76,104,.14) !important; }
.my-store-storefront .my-store-sf-select-icon { width: 17px; height: 17px; flex: 0 0 auto; color: var(--mt-brand); transform: rotate(0); transition: transform .2s ease; }
.my-store-storefront .my-store-sf-select-wrap.is-open .my-store-sf-select-icon { transform: rotate(180deg); }
.my-store-storefront .my-store-sf-category-menu { position: absolute; z-index: 24; top: calc(100% + 8px); right: 0; width: min(320px, calc(100vw - 40px)); display: grid; max-height: 0; padding: 0 6px; overflow: hidden; opacity: 0; visibility: hidden; border: 1px solid transparent; border-radius: 10px; background: #fff; box-shadow: 0 16px 34px rgba(20,33,43,.16); transform: translateY(-6px); transition: max-height .22s ease, padding .18s ease, opacity .16s ease, transform .22s ease, visibility 0s linear .22s; }
.my-store-storefront .my-store-sf-select-wrap.is-open .my-store-sf-category-menu { max-height: min(360px, 55vh); padding: 6px; overflow-y: auto; opacity: 1; visibility: visible; border-color: #cadbd4; transform: translateY(0); transition-delay: 0s; }
.my-store-storefront .my-store-sf-category-option { width: 100%; min-height: 37px; padding: 8px 10px; border: 0; border-radius: 7px; background: transparent; color: var(--mt-ink); font: 700 12px/1.3 var(--mt-font); letter-spacing: .025em; text-align: left; text-transform: uppercase; white-space: normal; overflow-wrap: anywhere; cursor: pointer; }
.my-store-storefront .my-store-sf-category-option span { color: var(--mt-ink-soft); font-weight: 500; }
.my-store-storefront .my-store-sf-category-option:hover, .my-store-storefront .my-store-sf-category-option:focus-visible { outline: 0; background: #eaf2ef; color: var(--mt-brand); }
.my-store-storefront .my-store-sf-category-option.is-selected { background: #dcece5; color: var(--mt-brand); font-weight: 800; }

/* Ficha de producto: jerarquía editorial, no estilos del theme. */
.my-store-storefront.my-store-product-page { max-width: 1240px; }
.my-store-storefront .my-store-product-layout {
	grid-template-columns: minmax(340px, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 4vw, 54px); padding: clamp(18px, 3vw, 34px);
	overflow: visible; border-radius: var(--mt-radius-lg); background: #fff; border-color: var(--mt-line); box-shadow: var(--mt-shadow);
}
.my-store-storefront .my-store-product-media { position: sticky; top: 24px; align-self: start; }
.my-store-storefront .my-store-product-media .my-store-sf-card-image { display: grid; place-items: center; min-height: 440px; padding: 28px; background: #edf2f4; border-radius: 14px; overflow: hidden; }
.my-store-storefront .my-store-product-media .my-store-sf-card-image img { width: 100%; max-height: 390px; object-fit: contain; mix-blend-mode: multiply; }
.my-store-storefront .my-store-product-media-contact { display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 52px; margin-top: 14px; padding: 0 18px; border-radius: 10px; background: #1da86a; color: #fff !important; font: 800 12px/1 var(--mt-font); letter-spacing: .045em; text-align: center; text-decoration: none; text-transform: uppercase; box-shadow: 0 9px 18px rgba(29,168,106,.2); transition: transform .18s ease, background .18s ease, box-shadow .18s ease; }
.my-store-storefront .my-store-product-media-contact svg { width: 20px; height: 20px; flex: 0 0 auto; fill: currentColor; }
.my-store-storefront .my-store-product-media-contact:hover, .my-store-storefront .my-store-product-media-contact:focus-visible { outline: 0; background: #168c57; color: #fff !important; transform: translateY(-2px); box-shadow: 0 12px 22px rgba(29,168,106,.27); }
@media (min-width: 821px) { .my-store-storefront .my-store-provider-profile-link { display: none !important; } }
.my-store-storefront .my-store-product-info { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; padding: 8px 2px; }
.my-store-storefront .my-store-product-info > * { order: 4; }
.my-store-storefront .my-store-product-title { order: 1; max-width: 760px; margin: 0 0 18px; color: var(--mt-ink); font: 700 clamp(32px, 3.8vw, 50px)/1.08 var(--mt-display); letter-spacing: -.035em; overflow-wrap: anywhere; }
.my-store-storefront .my-store-sf-share { order: 2; width: 100%; margin: 0; padding: 12px 0 16px; border-top: 1px solid var(--mt-line); border-bottom: 1px solid var(--mt-line); }
.my-store-storefront .my-store-share-label { color: var(--mt-ink-soft); font: 800 11px/1 var(--mt-font); letter-spacing: .08em; text-transform: uppercase; }
.my-store-storefront .my-store-sf-share .my-store-share-buttons { margin-top: 10px; }
.my-store-storefront .my-store-product-price-row { order: 4; gap: 10px 16px; margin: 0 0 20px; }
.my-store-storefront .my-store-product-price { color: var(--mt-brand); font: 800 30px/1 var(--mt-display); }
.my-store-storefront .my-store-product-sku { color: var(--mt-ink-soft); font: 700 13px var(--mt-font); }
.my-store-storefront .my-store-provider { gap: 9px 12px; margin: 0 0 12px; }
.my-store-storefront .my-store-provider-badge { position: relative; isolation: isolate; overflow: hidden; padding: 8px 11px; border-radius: 8px; background: linear-gradient(110deg, #dff3e9 0%, #dff3e9 42%, #c7ebd7 50%, #dff3e9 58%, #dff3e9 100%); background-size: 220% 100%; border-color: #98d8b6; color: var(--mt-success); font: 800 12px var(--mt-font); animation: mt-verified-sheen 4.6s ease-in-out infinite; }
.my-store-storefront .my-store-provider-name { color: var(--mt-ink-soft); font: 600 14px var(--mt-font); }
.my-store-storefront .my-store-provider-name a { color: var(--mt-brand); font-weight: 800; }
.my-store-storefront .my-store-availability,
.my-store-storefront .my-store-stock { width: 100%; margin: 0 0 18px; padding: 12px 14px; border-radius: 8px; background: #f0f5f4; border-color: #cbdcd5; color: var(--mt-ink); font: 600 14px var(--mt-font); }
.my-store-storefront .my-store-availability strong { color: var(--mt-brand); }
.my-store-storefront .my-store-stock-in { background: #e2f3ea; color: var(--mt-success); border-color: #afdcc6; }
.my-store-storefront .my-store-stock-out { background: #fbe8e8; color: var(--mt-danger); border-color: #edbcbc; }
.my-store-storefront .my-store-stock-backorder { background: #faf0df; color: var(--mt-warning); border-color: #e9c995; }
.my-store-storefront .my-store-product-short,
.my-store-storefront .my-store-product-long { max-width: 66ch; color: var(--mt-ink-soft); font: 400 16px/1.78 var(--mt-font); letter-spacing: .002em; }
.my-store-storefront .my-store-product-short { color: #293b46; font: 500 17px/1.62 var(--mt-font); }
.my-store-storefront .my-store-product-short p,
.my-store-storefront .my-store-product-long p { margin: 0 0 14px; }
.my-store-storefront .my-store-product-long p:last-child { margin-bottom: 0; }
.my-store-storefront .my-store-product-long ul,
.my-store-storefront .my-store-product-long ol { margin: 14px 0; padding-left: 22px; }
.my-store-storefront .my-store-product-long li + li { margin-top: 6px; }
.my-store-storefront .my-store-product-section-title { margin: 30px 0 13px; padding-top: 22px; border-top: 1px solid var(--mt-line); color: var(--mt-ink); font: 700 var(--mt-type-h2)/1.18 var(--mt-display); }
.my-store-storefront .my-store-product-actions { order: 3; width: 100%; margin: 16px 0 22px; }
.my-store-storefront .my-store-product-actions .cart { width: 100%; margin: 0; }
.my-store-storefront .my-store-product-actions .my-store-btn { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 50px; padding: 0 22px; border-radius: 8px; font: 800 14px var(--mt-font); box-shadow: none; }
.my-store-storefront .my-store-provider-profile-card { --mt-provider-card-height: 184px; order: 3; display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); width: 100%; height: var(--mt-provider-card-height); min-height: var(--mt-provider-card-height); margin: 20px 0 28px; overflow: hidden; border: 1px solid #d8e4de; border-radius: 16px; background: #fff; box-shadow: 0 14px 30px rgba(20,33,43,.08); animation: mt-provider-profile-sequence 1.7s .08s cubic-bezier(.22,.85,.33,1) both; }
.my-store-storefront .my-store-provider-profile-card.has-availability { --mt-provider-card-height: 236px; grid-template-rows: 184px 52px; }
.my-store-storefront .my-store-provider-profile-card header { position: relative; display: grid; justify-items: center; align-content: center; gap: 6px; padding: 26px 22px; overflow: hidden; border-right: 1px dashed #cadbd4; background: #fbfdfc; opacity: 1; text-align: center; animation: mt-provider-section-in .42s 1.7s ease both; }
.my-store-storefront .my-store-provider-profile-avatar { position: relative; display: grid; width: 74px; height: 74px; place-items: center; overflow: hidden; border-radius: 50%; background: #fff; color: var(--mt-brand); font: 800 20px/1 var(--mt-display); box-shadow: 0 0 0 7px rgba(23,76,104,.07), 0 9px 18px rgba(20,33,43,.11); transform: scale(.7); animation: mt-provider-avatar-in .46s 1.82s cubic-bezier(.2,.9,.3,1.25) both; }
.my-store-storefront .my-store-provider-profile-avatar::after { position: absolute; right: 2px; bottom: 3px; width: 15px; height: 15px; content: ""; border: 3px solid #fff; border-radius: 50%; background: #2aa878; box-shadow: 0 1px 4px rgba(20,33,43,.18); }
.my-store-storefront .my-store-provider-profile-avatar img { display: block; width: 100%; height: 100%; padding: 8px; object-fit: contain; }
.my-store-storefront .my-store-provider-profile-avatar:hover { box-shadow: 0 0 0 10px rgba(23,76,104,.11), 0 12px 22px rgba(20,33,43,.14); }
.my-store-storefront .my-store-provider-profile-card h2 { margin: 8px 0 0; color: var(--mt-ink); font: 800 18px/1.1 var(--mt-display); letter-spacing: -.025em; }
.my-store-storefront .my-store-provider-profile-card h2.my-store-provider-profile-name-long { max-width: 100%; white-space: normal !important; font-size: 15px; line-height: 1.18; letter-spacing: -.015em; overflow-wrap: anywhere; text-wrap: balance; }
.my-store-storefront .my-store-provider-profile-card header p { margin: 0; color: var(--mt-success); font: 800 10px/1.2 var(--mt-font); letter-spacing: .09em; text-transform: uppercase; }
.my-store-storefront .my-store-provider-profile-bio { display: grid; align-content: center; justify-items: center; gap: 18px; padding: 28px 30px; background: #fff; opacity: 0; text-align: center; transform: translateY(18px); animation: mt-provider-bio-in .5s 1.82s ease both; }
.my-store-storefront .my-store-provider-profile-bio p { max-width: 285px; margin: 0; color: #344954; font: 500 15px/1.55 var(--mt-font); }
.my-store-storefront .my-store-provider-profile-availability { display: flex; grid-column: 1 / -1; align-items: center; justify-content: center; gap: 7px; padding: 0 22px; border-top: 1px solid #174c68; background: #174c68; color: #fff; font: 700 13px/1.3 var(--mt-font); text-align: center; }
.my-store-storefront .my-store-provider-profile-availability > span { font-size: 15px; }
.my-store-storefront .my-store-provider-profile-availability strong { color: #fff; font-weight: 800; }
.my-store-storefront .my-store-provider-profile-link { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-width: 278px; min-height: 46px; padding: 0 22px; border: 1px solid #149b5d; border-radius: 9px; background: #1da86a; color: #fff !important; font: 800 11px/1 var(--mt-font); letter-spacing: .055em; text-decoration: none; text-transform: uppercase; box-shadow: 0 6px 13px rgba(29,168,106,.2); animation: mt-whatsapp-blink 2.4s ease-in-out infinite; transition: transform .18s ease, background .18s ease, box-shadow .18s ease; }
.my-store-storefront .my-store-provider-profile-link svg { width: 17px; height: 17px; fill: currentColor; }
.my-store-storefront .my-store-provider-profile-link:hover, .my-store-storefront .my-store-provider-profile-link:focus-visible { outline: 0; background: #168c57; color: #fff !important; transform: translateY(-2px); box-shadow: 0 10px 18px rgba(29,168,106,.28); }
.my-store-storefront .my-store-product-mobile-whatsapp { display: none; }
@keyframes mt-provider-profile-sequence { 0% { width: 0; height: 0; min-height: 0; margin-left: 50%; border-radius: 50%; background: #ff9d00; opacity: 1; transform: translateY(0); } 14% { width: 56px; height: 56px; min-height: 56px; margin-left: calc(50% - 28px); border-radius: 50%; background: #ff9d00; opacity: 1; transform: translateY(0); } 62% { width: 56px; height: 56px; min-height: 56px; margin-left: calc(50% - 28px); border-radius: 50%; background: #f08b00; transform: translateY(12px); } 100% { width: 100%; height: var(--mt-provider-card-height); min-height: var(--mt-provider-card-height); margin-left: 0; border-radius: 16px; background: #fff; opacity: 1; transform: none; } }
@keyframes mt-provider-profile-sequence-mobile { 0%, 28% { width: 56px; height: 56px; min-height: 56px; margin-left: calc(50% - 28px); border-radius: 50%; background: #ff9d00; opacity: 1; transform: translateY(0); } 48% { width: 56px; height: 56px; min-height: 56px; margin-left: calc(50% - 28px); border-radius: 50%; background: #ff9d00; opacity: 1; transform: translateY(10px); } 100% { width: 100%; height: var(--mt-provider-card-height); min-height: var(--mt-provider-card-height); margin-left: 0; border-radius: 16px; background: #fff; opacity: 1; transform: none; } }
@keyframes mt-whatsapp-blink { 0%, 100% { box-shadow: 0 6px 13px rgba(29,168,106,.2); } 50% { box-shadow: 0 7px 20px rgba(29,168,106,.48), 0 0 0 4px rgba(29,168,106,.1); } }
@keyframes mt-provider-avatar-in { to { transform: scale(1); } }
@keyframes mt-provider-bio-in { to { opacity: 1; transform: translateY(0); } }
@keyframes mt-provider-section-in { from { opacity: 0; transform: translateY(34px); } to { opacity: 1; transform: translateY(0); } }
.my-store-storefront .my-store-btn-primary:hover,
.my-store-storefront .my-store-btn-whatsapp:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(20,33,43,.18); }
.my-store-storefront .my-store-btn-disabled { background: #e9efec; color: #7a8982; border-radius: 8px; }
.my-store-storefront .my-store-product-footer { border-radius: 12px; border-color: var(--mt-line); background: #f5f8f6; color: var(--mt-ink-soft); }
.my-store-storefront .my-store-product-footer a { color: var(--mt-brand); }
.my-store-storefront .my-store-related { margin-top: 48px; }
.my-store-storefront .my-store-related-card { border-radius: 14px; }
.my-store-storefront .my-store-related-name { padding: 15px 15px 4px; }
.my-store-storefront .my-store-related-card .my-store-related-btn { margin: auto 14px 14px; }
@keyframes mt-verified-sheen { 0%, 62%, 100% { background-position: 100% 0; } 78% { background-position: 0 0; } }

@media (max-width: 820px) {
	.my-store-storefront .my-store-sf-cats { width: 100%; }
	.my-store-storefront .my-store-sf-select-wrap { min-width: 0; flex: 1; }
	.my-store-storefront .my-store-product-layout { grid-template-columns: 1fr; }
	.my-store-storefront .my-store-product-media { position: static; }
	.my-store-storefront .my-store-product-media .my-store-sf-card-image { min-height: 320px; }
	.my-store-storefront .my-store-product-media-contact { display: none; }
	.my-store-storefront .my-store-product-title { font-size: clamp(31px, 10vw, 46px); }
	.my-store-storefront .my-store-product-info { padding-bottom: 78px; }
	.my-store-storefront .my-store-provider-profile-card { --mt-provider-card-height: 322px; grid-template-columns: 1fr; grid-template-rows: 184px 138px; animation: mt-provider-profile-sequence-mobile 1.45s .6s cubic-bezier(.22,.85,.33,1) both; }
	.my-store-storefront .my-store-provider-profile-card.has-availability { --mt-provider-card-height: 374px; grid-template-rows: 184px 138px 52px; }
	.my-store-storefront .my-store-provider-profile-card header { min-height: 0; border-right: 0; border-bottom: 1px dashed #cadbd4; animation: none; opacity: 1; transform: none; }
	.my-store-storefront .my-store-provider-profile-avatar { animation: none; transform: none; }
	.my-store-storefront .my-store-provider-profile-bio { min-height: 0; justify-items: center; padding: 25px 24px; text-align: center; animation: none; opacity: 1; transform: none; }
	.my-store-storefront .my-store-provider-profile-bio .my-store-provider-profile-link { display: none; }
	.my-store-storefront .my-store-product-mobile-whatsapp { position: fixed; z-index: 60; right: 16px; bottom: max(16px, env(safe-area-inset-bottom)); left: 16px; display: inline-flex; justify-content: center; width: auto; min-width: 0; min-height: 52px; padding: 0 18px; box-shadow: 0 10px 24px rgba(20,33,43,.24); }
}

/* Shortcodes públicos: tiendas, logos y capacitaciones ------------------ */
.my-store-vendors-grid,
.my-store-logos-vendores,
.msc-grid,
.msc-week,
.msc-calendar,
.msc-single {
	--mt-public-ink: #14212b;
	--mt-public-muted: #596a73;
	--mt-public-line: #d5ddd8;
	--mt-public-surface: #ffffff;
	--mt-public-brand: #174c68;
	--mt-public-accent: #d67a2d;
	font-family: var(--mt-font, Inter, "Segoe UI", Arial, sans-serif);
	color: var(--mt-public-ink);
}

.my-store-vendors-grid { gap: 18px; }
.my-store-vendors-grid .my-store-vendor-card {
	background: var(--mt-public-surface); border: 1px solid var(--mt-public-line); border-radius: 16px;
	box-shadow: 0 8px 24px rgba(20,33,43,.07); overflow: hidden;
}
.my-store-vendors-grid .my-store-vendor-card:hover { border-color: #9bb7c4; box-shadow: 0 18px 34px rgba(20,33,43,.14); }
.my-store-vendors-grid .my-store-vendor-card-link { padding: 20px 16px 18px; color: var(--mt-public-ink); }
.my-store-vendors-grid .my-store-vendor-media { width: min(100%, 166px); height: 96px; padding: 9px; margin-bottom: 14px; background: #f3f7f5; border: 1px solid #e0e9e4; border-radius: 10px; }
.my-store-vendors-grid .my-store-vendor-media img { width: 100%; height: 100%; object-fit: contain; }
.my-store-vendors-grid .my-store-vendor-media-placeholder { background: var(--mt-public-brand); border-radius: 14px; }
.my-store-vendors-grid .my-store-vendor-name { display: block; max-width: 100%; white-space: normal !important; overflow-wrap: anywhere; color: var(--mt-public-ink); font: 700 16px/1.28 var(--mt-display, Inter, sans-serif); text-wrap: balance; }
.my-store-vendors-grid .my-store-vendor-name-long { font-size: 14px; line-height: 1.22; letter-spacing: -.015em; }
.my-store-vendors-grid .my-store-vendor-card-link:hover .my-store-vendor-name { color: var(--mt-public-brand); }
.my-store-vendors-grid .my-store-vendor-city { color: var(--mt-public-muted); font-size: 12px; }

/* Widget Elementor: proveedor del producto WooCommerce actual. */
.my-store-elementor-provider-card { display: grid; grid-template-columns: 68px minmax(0, 1fr) auto; align-items: center; gap: 18px; overflow: hidden; padding: 18px 20px; border: 1px solid #d8e4de; border-radius: 16px; background: #fff; box-shadow: 0 12px 28px rgba(20,33,43,.08); color: #14212b; }
.my-store-elementor-provider-logo { display: grid; width: 68px; height: 68px; place-items: center; overflow: hidden; border: 1px solid #dce8e3; border-radius: 50%; background: #f5f8f6; color: #174c68; font: 800 18px/1 var(--mt-display, sans-serif); box-shadow: 0 0 0 6px rgba(23,76,104,.07); }
.my-store-elementor-provider-logo img { width: 100%; height: 100%; padding: 8px; object-fit: contain; }
.my-store-elementor-provider-copy { min-width: 0; }
.my-store-elementor-provider-copy > span { display: block; margin-bottom: 3px; color: #657681; font: 800 10px/1.3 var(--mt-font, sans-serif); letter-spacing: .08em; text-transform: uppercase; }
.my-store-elementor-provider-copy h3 { margin: 0 0 5px; color: #14212b; font: 800 19px/1.12 var(--mt-display, sans-serif); letter-spacing: -.02em; overflow-wrap: anywhere; }
.my-store-elementor-provider-copy strong { color: #178057; font: 800 10px/1.2 var(--mt-font, sans-serif); letter-spacing: .08em; text-transform: uppercase; }
.my-store-elementor-provider-cta { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 18px; border-radius: 9px; background: #1da86a; color: #fff !important; font: 800 11px/1.15 var(--mt-font, sans-serif); letter-spacing: .035em; text-align: center; text-decoration: none; text-transform: uppercase; transition: background .18s ease, transform .18s ease, box-shadow .18s ease; }
.my-store-elementor-provider-cta:hover, .my-store-elementor-provider-cta:focus-visible { background: #168c57; color: #fff !important; outline: 0; transform: translateY(-2px); box-shadow: 0 9px 18px rgba(29,168,106,.26); }
.my-store-elementor-provider-availability { grid-column: 1 / -1; margin: 2px -20px -18px; padding: 13px 20px; background: #174c68; color: #fff; font: 700 13px/1.35 var(--mt-font, sans-serif); text-align: center; }
.my-store-elementor-provider-availability strong { color: #fff; font-weight: 800; }
.my-store-elementor-provider-card-empty { display: block; padding: 18px; border-style: dashed; color: #657681; font: 600 13px/1.5 var(--mt-font, sans-serif); text-align: center; }
.my-store-elementor-provider-widget { margin: 0 !important; padding: 0 !important; }
.my-store-elementor-provider-widget .my-store-provider-profile-card { --mt-provider-card-height: 236px; order: initial; margin-top: 0; margin-bottom: 0; }
.my-store-elementor-provider-widget .my-store-provider-profile-card.has-availability { --mt-provider-card-height: 288px; grid-template-rows: 236px 52px; }
.my-store-elementor-provider-widget .my-store-provider-profile-card { background: var(--mt-ew-card, #fff); }
.my-store-elementor-provider-widget .my-store-provider-profile-card header { background: var(--mt-ew-identity, #fbfdfc); }
.my-store-elementor-provider-widget .my-store-provider-profile-availability { border-color: var(--mt-ew-availability, #174c68); background: var(--mt-ew-availability, #174c68); }
.my-store-elementor-provider-widget .my-store-provider-profile-link { border-color: var(--mt-ew-whatsapp, #1da86a); background: var(--mt-ew-whatsapp, #1da86a); }
.my-store-elementor-provider-widget .my-store-provider-profile-bio .my-store-provider-profile-link { display: inline-flex !important; }
.my-store-elementor-provider-widget .my-store-provider-profile-link svg { width: 20px; height: 20px; flex: 0 0 20px; fill: currentColor; }
@media (max-width: 820px) {
	.my-store-elementor-provider-widget .my-store-provider-profile-card { --mt-provider-card-height: 380px; grid-template-columns: 1fr; grid-template-rows: 184px 196px; }
	.my-store-elementor-provider-widget .my-store-provider-profile-card.has-availability { --mt-provider-card-height: 432px; grid-template-rows: 184px 196px 52px; }
	.my-store-elementor-provider-widget .my-store-provider-profile-card header { padding: 22px; }
	.my-store-elementor-provider-widget .my-store-provider-profile-bio { gap: 12px; padding: 22px 20px; }
	.my-store-elementor-provider-widget .my-store-provider-profile-bio .my-store-provider-profile-link { position: static; display: inline-flex; width: auto; min-width: 0; }
}

.my-store-logos-vendores { padding: 28px 0; }
.my-store-logos-vendores .my-store-logos-group { gap: 18px; padding-right: 18px; }
.my-store-logos-vendores .my-store-logo-card {
	width: 184px; min-height: 134px; background: var(--mt-public-surface); border-color: var(--mt-public-line);
	border-radius: 14px; box-shadow: 0 5px 16px rgba(20,33,43,.05);
}
.my-store-logos-vendores .my-store-logo-card:hover { border-color: #9bb7c4; box-shadow: 0 13px 26px rgba(20,33,43,.12); }
.my-store-logos-vendores .my-store-logo-name { color: var(--mt-public-muted); font-weight: 700; }

.msc-grid { gap: 22px; padding: 16px 0; }
.msc-grid .msc-card,
.msc-week .msc-week-item,
.msc-calendar,
.msc-single .msc-single-main,
.msc-single .msc-single-card {
	background: var(--mt-public-surface); border: 1px solid var(--mt-public-line); border-radius: 16px;
	box-shadow: 0 8px 24px rgba(20,33,43,.07);
}
.msc-grid .msc-card:hover,
.msc-week .msc-week-item:hover { box-shadow: 0 18px 34px rgba(20,33,43,.13); }
.msc-grid .msc-card-image img { height: 194px; }
.msc-grid .msc-card-body { padding: 20px; gap: 10px; }
.msc-grid .msc-card-title { font: 700 18px/1.35 var(--mt-display, Inter, sans-serif); }
.msc-grid .msc-card-title a,
.msc-week .msc-card-title a { color: var(--mt-public-ink); }
.msc-grid .msc-card-title a:hover,
.msc-week .msc-card-title a:hover { color: var(--mt-public-brand); }
.msc-grid .msc-card-company { color: var(--mt-public-accent); }
.msc-grid .msc-card-meta,
.msc-week .msc-card-meta { color: var(--mt-public-muted); }
.msc-grid .msc-badge,
.msc-single .msc-badge { font-weight: 700; letter-spacing: .05em; }
.msc-grid .msc-badge-presencial,
.msc-single .msc-badge-presencial { background: #f8e8d8; color: #91501d; }
.msc-grid .msc-badge-virtual,
.msc-single .msc-badge-virtual { background: #e2eef2; color: var(--mt-public-brand); }
.msc-grid .msc-badge-capacity,
.msc-single .msc-badge-capacity { background: #e1f2e9; color: #187454; }
.msc-btn { min-height: 42px; border-radius: 8px; font-family: inherit; font-weight: 700; }
.msc-btn-primary { background: var(--mt-public-brand); color: #fff; }
.msc-btn-primary:hover { background: #10364b; color: #fff; box-shadow: 0 8px 18px rgba(23,76,104,.2); }
.msc-btn-secondary { background: #fff; border-color: var(--mt-public-brand); color: var(--mt-public-brand); }
.msc-btn-secondary:hover { background: var(--mt-public-brand); color: #fff; }
.msc-btn-whatsapp { background: #197a56; }
.msc-empty { color: var(--mt-public-muted); border-color: var(--mt-public-line); background: #f8faf8; border-radius: 16px; }

.msc-calendar { padding: 22px; }
.msc-calendar .msc-calendar-title { color: var(--mt-public-ink); font-family: var(--mt-display, Inter, sans-serif); }
.msc-calendar .msc-calendar-nav { color: var(--mt-public-brand); border-color: var(--mt-public-line); }
.msc-calendar .msc-calendar-nav:hover { background: var(--mt-public-brand); color: #fff; }
.msc-calendar .msc-calendar-dow { color: var(--mt-public-muted); }
.msc-calendar .msc-calendar-day { border-color: #e7ece9; border-radius: 8px; }
.msc-calendar .msc-calendar-day.is-today { border-color: var(--mt-public-accent); background: #fffaf5; }
.msc-calendar .msc-calendar-day.is-event { border-color: #9bb7c4; background: #f2f7f8; }
.msc-calendar .msc-calendar-daynum { color: var(--mt-public-ink); }
.msc-calendar .msc-calendar-day.is-event .msc-calendar-daynum { color: var(--mt-public-brand); }
.msc-calendar .msc-calendar-popover { border-color: var(--mt-public-line); box-shadow: 0 16px 34px rgba(20,33,43,.18); }

.msc-week .msc-week-item { padding: 16px 18px; }
.msc-week .msc-week-date { background: var(--mt-public-brand); border-radius: 10px; }
.msc-single { background: #f4f7f5; padding-top: 42px; }
.msc-single .msc-breadcrumb { max-width: 1180px; margin: 0 auto; padding: 0 20px; color: var(--mt-public-muted); font: 700 12px/1.4 var(--mt-font, Inter, sans-serif); }
.msc-single .msc-breadcrumb a { color: var(--mt-public-brand); text-decoration: none; }
.msc-single .msc-breadcrumb a:hover { color: #10364b; text-decoration: underline; }
.msc-single .msc-single-container { gap: 30px; padding-bottom: 72px; }
.msc-single .msc-single-main { padding: 28px; overflow: hidden; }
.msc-single .msc-single-image img { display: block; width: 100%; max-height: 360px; margin: 0 0 24px; border-radius: 12px; object-fit: cover; }
.msc-single .msc-single-title { color: var(--mt-public-ink); font: 700 clamp(28px, 4vw, 42px)/1.14 var(--mt-display, Inter, sans-serif); }
.msc-single .msc-single-company { color: var(--mt-public-muted); font-weight: 600; }
.msc-single .msc-single-badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 24px; }
.msc-single .msc-single-content,
.msc-single .msc-single-details li { color: var(--mt-public-muted); }
.msc-single .msc-single-content h2,
.msc-single .msc-single-content h3 { color: var(--mt-public-ink); font-family: var(--mt-display, Inter, sans-serif); }
.msc-single .msc-single-card h3,
.msc-single .msc-single-details strong { color: var(--mt-public-ink); }
.msc-single .msc-single-card { padding: 22px; }
.msc-single .msc-single-provider { display: grid; grid-template-columns: 64px minmax(0, 1fr); align-items: center; gap: 14px; margin: -2px 0 20px; padding: 0 0 18px; border-bottom: 1px solid var(--mt-public-line); }
.msc-single .msc-single-provider-logo { display: grid; width: 64px; height: 64px; place-items: center; overflow: hidden; border: 1px solid #dce8e3; border-radius: 12px; background: #f6f9f7; box-shadow: 0 5px 13px rgba(20,33,43,.07); }
.msc-single .msc-single-provider-logo img { width: 100%; height: 100%; padding: 7px; object-fit: contain; }
.msc-single .msc-single-provider-copy { min-width: 0; }
.msc-single .msc-single-provider-copy > span { display: block; margin-bottom: 4px; color: var(--mt-public-muted); font: 800 10px/1.25 var(--mt-font, Inter, sans-serif); letter-spacing: .08em; text-transform: uppercase; }
.msc-single .msc-single-provider-copy strong { display: block; color: var(--mt-public-ink); font: 800 17px/1.18 var(--mt-display, Inter, sans-serif); overflow-wrap: anywhere; }
.msc-single .msc-single-details { margin-bottom: 20px; }
.msc-single .msc-single-details li { padding: 10px 0; font-size: 13px; }
.msc-single .msc-single-actions { gap: 10px; }
.msc-single .msc-btn { min-height: 46px; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.msc-single .msc-btn:hover { transform: translateY(-2px); }
.msc-single a.msc-btn-primary[data-msc-course-external],
.msc-single a.msc-btn-primary[data-msc-course-external]:link,
.msc-single a.msc-btn-primary[data-msc-course-external]:visited,
.msc-single a.msc-btn-primary[data-msc-course-external]:hover,
.msc-single a.msc-btn-primary[data-msc-course-external]:focus,
.msc-single a.msc-btn-primary[data-msc-course-external]:focus-visible,
.msc-single a.msc-btn-primary[data-msc-course-external]:active {
	color: #fff !important;
	-webkit-text-fill-color: #fff;
	text-decoration: none;
}
.msc-single .msc-btn-whatsapp { display: flex; align-items: center; justify-content: center; background: #25d366; color: #fff !important; text-align: center; }
.msc-single .msc-btn-whatsapp:hover, .msc-single .msc-btn-whatsapp:focus-visible { background: #1ebe5d; color: #fff !important; box-shadow: 0 9px 18px rgba(37,211,102,.28); }
.msc-single .msc-single-details li { border-bottom-color: #e7ece9; }
.msc-single .msc-single-share { border-top-color: var(--mt-public-line); }
.msc-single .msc-single-share .msc-subtitle { color: var(--mt-public-ink); }

/* Ficha de capacitación: misma jerarquía serena y tarjetas del calendario. */
.msc-single {
	background: linear-gradient(180deg, #f6f9f7 0, #f4f7f5 340px, #fff 340px);
	padding-top: 34px;
}
.msc-single .msc-single-container {
	align-items: start;
	gap: clamp(22px, 3vw, 36px);
	padding-top: 24px;
}
.msc-single .msc-single-main,
.msc-single .msc-single-card {
	border-color: #d7e3dd;
	box-shadow: 0 12px 30px rgba(20, 33, 43, .075);
}
.msc-single .msc-single-main { padding: clamp(22px, 3vw, 34px); }
.msc-single .msc-single-image {
	overflow: hidden;
	border: 1px solid #e1eae5;
	border-radius: 14px;
	background: #f4f8f6;
}
.msc-single .msc-single-image img {
	margin: 0;
	border-radius: 0;
	transition: transform .35s ease;
}
.msc-single .msc-single-image:hover img { transform: scale(1.015); }
.msc-single .msc-single-title {
	/* El encabezado pertenece a la ficha completa, no a una columna angosta. */
	max-width: none;
	width: 100%;
	margin: 26px 0 10px;
	text-align: center;
	letter-spacing: -.035em;
	text-wrap: balance;
}
.msc-single .msc-single-company {
	margin-bottom: 0;
	color: var(--mt-public-muted);
	font-size: 14px;
	line-height: 1.5;
	text-align: center;
}
.msc-single .msc-single-company strong { color: var(--mt-public-brand); }
.msc-single .msc-single-badges {
	justify-content: center;
	margin: 18px 0 28px;
	padding-bottom: 22px;
	border-bottom: 1px solid #e4ebe7;
}
.msc-single .msc-single-content {
	margin-top: 26px;
	padding-top: 26px;
	border-top: 1px solid #e4ebe7;
	font-size: 16px;
	line-height: 1.78;
	color: #465963;
}
.msc-single .msc-single-content > :first-child { margin-top: 0; }
.msc-single .msc-single-content > :last-child { margin-bottom: 0; }
.msc-single .msc-single-content h2,
.msc-single .msc-single-content h3 {
	margin-top: 1.65em;
	letter-spacing: -.018em;
}
.msc-single .msc-single-content a {
	color: var(--mt-public-brand);
	font-weight: 700;
	text-decoration-color: rgba(23, 76, 104, .35);
	text-underline-offset: 3px;
}
.msc-single .msc-single-content a:hover { text-decoration-color: currentColor; }
.msc-single .msc-single-content .wp-block-image { margin: 32px 0; }
.msc-single .msc-single-content .wp-block-image img { display: block; width: 100%; max-width: 100%; height: clamp(220px, 32vw, 340px); border: 1px solid #e0e9e4; border-radius: 12px; background: #f4f8f6; object-fit: cover; object-position: center 72%; box-shadow: 0 8px 20px rgba(20,33,43,.06); }
.msc-single .msc-single-content .wp-block-image figcaption { margin: 10px 0 0; color: var(--mt-public-muted); font-size: 12px; font-style: italic; line-height: 1.45; text-align: center; }
.msc-single .msc-single-content .wp-block-list { margin: 18px 0 26px; padding: 18px 20px 18px 38px; border: 1px solid #e1eae5; border-radius: 12px; background: #f8fbfa; }
.msc-single .msc-single-content .wp-block-list li { margin: 7px 0; padding-left: 3px; }
.msc-single .msc-single-content .wp-block-quote { margin: 30px 0; padding: 20px 24px; border: 0; border-left: 4px solid var(--mt-public-brand); border-radius: 0 12px 12px 0; background: #eef5f4; color: var(--mt-public-ink); }
.msc-single .msc-single-content .wp-block-quote p { margin: 0; font: 700 18px/1.55 var(--mt-display, Inter, sans-serif); }
.msc-single .msc-single-content .wp-block-quote cite { display: block; margin-top: 10px; color: var(--mt-public-muted); font-size: 12px; font-style: normal; }
.msc-single .msc-single-content .wp-block-columns { gap: 16px; margin: 24px 0 32px; }
.msc-single .msc-single-content .wp-block-column { padding: 20px; border: 1px solid #e1eae5; border-radius: 12px; background: #f9fbfa; }
.msc-single .msc-single-content .wp-block-column h3 { margin: 0 0 9px; font-size: 20px; }
.msc-single .msc-single-content .wp-block-column p { margin: 0; }
.msc-single .msc-single-content .wp-block-group.has-background { margin: 30px 0; padding: 22px 24px; border: 1px solid #cfe1db; border-radius: 12px; background: #edf6f3 !important; }
.msc-single .msc-single-content .wp-block-group.has-background h3 { margin-top: 0; }
.msc-single .msc-single-content .wp-block-group.has-background p:last-child { margin-bottom: 0; }
.msc-single .msc-single-content .wp-block-gallery,
.msc-single .msc-single-content .wp-block-gallery.has-nested-images { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 12px !important; margin: 30px 0 36px; }
.msc-single .msc-single-content .wp-block-gallery .wp-block-image,
.msc-single .msc-single-content .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) { width: 100% !important; height: 150px !important; min-width: 0; margin: 0 !important; overflow: hidden; aspect-ratio: auto !important; border: 1px solid #e0e9e4; border-radius: 10px; background: #f4f8f6; }
.msc-single .msc-single-content .wp-block-gallery .wp-block-image img,
.msc-single .msc-single-content .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) img { display: block; width: 100% !important; max-width: none !important; height: 150px !important; min-height: 0; border-radius: 10px; object-fit: cover; object-position: center 72%; }
.msc-single .msc-single-content .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) img { transform: scale(1.32); transition: transform .35s ease; }
.msc-single .msc-single-content .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image):hover img { transform: scale(1.4); }
.msc-single .msc-single-card { padding: 20px; }
.msc-single .msc-single-card h3 {
	margin: 0 0 9px;
	padding-bottom: 9px;
	border-bottom: 1px solid #e1e9e5;
	font-size: 16px;
	letter-spacing: -.012em;
	text-align: center;
}
.msc-single .msc-single-sidebar-badges { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 0 0 10px; }
.msc-single .msc-single-sidebar-badges .msc-badge { min-height: 24px; padding: 4px 8px; border-radius: 5px; font-size: 10px; }
.msc-single .msc-badge-expired { background: #ecefed; color: #64706b; }
.msc-single .msc-btn-whatsapp.is-disabled { cursor: not-allowed; background: #aeb7b2; color: #fff !important; box-shadow: none; }
.msc-single .msc-btn-whatsapp.is-disabled:hover { transform: none; background: #aeb7b2; box-shadow: none; }
.msc-single-sidebar-mobile { display: none; }
.msc-single .msc-single-provider {
	margin: 0 0 16px;
	padding: 2px 0 14px;
	border-bottom-color: #dfe8e3;
}
.msc-single .msc-single-details {
	display: grid;
	gap: 2px;
	margin: 0 0 16px;
}
.msc-single .msc-single-details li {
	padding: 8px 0;
	font-size: 13px;
	line-height: 1.48;
}
.msc-single .msc-single-details strong {
	display: block;
	margin-bottom: 2px;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .065em;
	text-transform: uppercase;
}
.msc-single .msc-price-free {
	display: inline-block;
	padding: 3px 7px;
	border-radius: 5px;
	background: #e1f2e9;
	color: #187454;
	font-size: 11px;
	letter-spacing: .025em;
}
.msc-single .msc-single-share { margin-top: 16px; padding-top: 14px; }
.msc-single .msc-single-share .my-store-share-buttons { justify-content: flex-start; gap: 8px; }
.msc-single .msc-single-share .my-store-share-btn {
	border: 1px solid #dce6e1;
	box-shadow: 0 3px 8px rgba(20, 33, 43, .05);
	transition: transform .18s ease, box-shadow .18s ease;
}
.msc-single .msc-single-share .my-store-share-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 7px 14px rgba(20, 33, 43, .12);
}
.msc-single .msc-related-courses { grid-column: 1 / -1; margin-top: 10px; padding: 28px; border: 1px solid #d7e3dd; border-radius: 16px; background: #fff; box-shadow: 0 10px 28px rgba(20,33,43,.06); }
.msc-single .msc-related-courses h2 { margin: 0 0 18px; color: var(--mt-public-ink); font: 800 clamp(21px,2.2vw,28px)/1.2 var(--mt-display,Inter,sans-serif); letter-spacing: -.02em; }
.msc-single .msc-related-courses-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; }
.msc-single .msc-related-course { display: grid; min-width: 0; overflow: hidden; border: 1px solid #e0e9e4; border-radius: 10px; background: #fbfdfc; color: var(--mt-public-ink); text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.msc-single .msc-related-course:hover { border-color: #b8ccc3; box-shadow: 0 8px 16px rgba(20,33,43,.08); color: var(--mt-public-ink); transform: translateY(-2px); }
.msc-single .msc-related-course-image { display: block; height: 116px; overflow: hidden; background: #f0f5f2; }
.msc-single .msc-related-course-image img { width: 100%; height: 100%; object-fit: cover; }
.msc-single .msc-related-course-copy { display: grid; gap: 5px; padding: 11px; }
.msc-single .msc-related-course-copy > span { color: var(--mt-public-muted); font-size: 11px; }
.msc-single .msc-related-course-copy strong { font-size: 13px; line-height: 1.3; }
.msc-single .msc-related-course-copy em { color: #187454; font-size: 10px; font-style: normal; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }

@media (max-width: 600px) {
	.my-store-vendors-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px; }
	.my-store-vendors-grid .my-store-vendor-card-link { padding: 20px 12px; }
	.my-store-elementor-provider-card { grid-template-columns: 56px minmax(0, 1fr); gap: 14px; padding: 16px; }
	.my-store-elementor-provider-logo { width: 56px; height: 56px; }
	.my-store-elementor-provider-copy h3 { font-size: 16px; }
	.my-store-elementor-provider-cta { grid-column: 1 / -1; width: 100%; min-height: 48px; }
	.my-store-elementor-provider-availability { margin: 2px -16px -16px; padding: 12px 16px; }
	.my-store-elementor-provider-widget .my-store-provider-profile-bio .my-store-provider-profile-link { position: static; display: inline-flex; width: auto; min-width: 0; }
	.msc-calendar { padding: 12px; }
	.msc-single .msc-single-main { padding: 20px; }
	.msc-single .msc-breadcrumb { padding: 0 14px; }
	.msc-single .msc-single-provider { grid-template-columns: 56px minmax(0, 1fr); }
	.msc-single .msc-single-provider-logo { width: 56px; height: 56px; }
	.msc-single { background: #f6f9f7; padding-top: 22px; }
	.msc-single .msc-single-container { padding-top: 18px; padding-bottom: 48px; }
	.msc-single .msc-single-title { margin-top: 20px; font-size: clamp(27px, 9vw, 36px); }
	/* En móvil la ficha lateral pasa a ser un resumen de lectura rápida. */
	.msc-single .msc-single-card { padding: 14px; border-radius: 14px; }
	.msc-single .msc-single-card h3 { margin-bottom: 9px; padding-bottom: 9px; font-size: 15px; }
	.msc-single .msc-single-provider { grid-template-columns: 46px minmax(0, 1fr); gap: 10px; margin-bottom: 14px; padding-bottom: 13px; }
	.msc-single .msc-single-provider-logo { width: 46px; height: 46px; border-radius: 10px; }
	.msc-single .msc-single-provider-copy > span { margin-bottom: 2px; font-size: 9px; }
	.msc-single .msc-single-provider-copy strong { font-size: 15px; }
	.msc-single .msc-single-details { margin-bottom: 14px; }
	.msc-single .msc-single-details li { padding: 7px 0; font-size: 12px; line-height: 1.35; }
	.msc-single .msc-single-details strong { margin-bottom: 1px; font-size: 9px; }
	.msc-single .msc-single-share { padding-top: 14px; }
	.msc-single .msc-single-sidebar-badges { margin-bottom: 8px; }
	.msc-single .msc-single-share .msc-subtitle { margin-bottom: 9px; font-size: 12px; }
	.msc-single .msc-share-links { gap: 7px; }
	.msc-single .msc-single-content { margin-top: 20px; padding-top: 20px; }
	.msc-single .msc-related-courses { margin-top: 4px; padding: 20px; }
	.msc-single .msc-related-courses-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.msc-single .msc-related-course-image { height: 96px; }
	.msc-single .msc-single-sidebar:not(.msc-single-sidebar-mobile) { display: none; }
	.msc-single .msc-single-sidebar-mobile { display: block; margin: 20px 0 0; }
	.msc-single .msc-single-sidebar-mobile .msc-btn-whatsapp:not(.is-disabled) { position: fixed; right: max(14px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom)); left: max(14px, env(safe-area-inset-left)); z-index: 1000; width: auto; min-height: 48px; border-radius: 8px; box-shadow: 0 10px 24px rgba(20,33,43,.24); }
	.msc-single:has(.msc-single-sidebar-mobile .msc-btn-whatsapp:not(.is-disabled)) { padding-bottom: 72px; }
	.msc-single .msc-single-content .wp-block-image { margin: 24px 0; }
	.msc-single .msc-single-content .wp-block-image img { height: 220px; }
	.msc-single .msc-single-content .wp-block-quote { padding: 18px; }
	.msc-single .msc-single-content .wp-block-quote p { font-size: 16px; }
	.msc-single .msc-single-content .wp-block-columns { display: grid; grid-template-columns: 1fr; gap: 12px; }
	.msc-single .msc-single-content .wp-block-gallery,
	.msc-single .msc-single-content .wp-block-gallery.has-nested-images { gap: 8px !important; }
	.msc-single .msc-single-content .wp-block-gallery .wp-block-image img,
	.msc-single .msc-single-content .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) img { height: 96px !important; border-radius: 8px; }
	.msc-single .msc-single-content .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) { height: 96px !important; }
}

@media (max-width: 900px) {
	.my-store-body .my-store-sidebar { width: 230px; }
	.my-store-body .my-store-content { padding: 28px 24px; }
}
@media (max-width: 720px) {
	.my-store-body .my-store-app,
	.my-store-body .my-store-main { display: block; }
	.my-store-body .my-store-sidebar { position: static; width: 100%; height: auto; padding: 16px; }
	.my-store-body .my-store-sidebar-header { display: none; }
	.my-store-body .my-store-nav { display: flex; overflow-x: auto; gap: 6px; }
	.my-store-body .my-store-nav-item { flex: 0 0 auto; margin: 0; }
	.my-store-body .my-store-nav-label { display: none; }
	.my-store-body .my-store-sidebar-footer { display: none; }
	.my-store-body .my-store-content { padding: 24px 16px; }
	.my-store-body .my-store-section-title { font-size: 28px; }
	.my-store-storefront { margin-top: 24px; padding: 0 16px; }
	.my-store-storefront .my-store-sf-sidebar { padding: 22px; }
}
/* Tarjeta de la tienda (barra lateral). Dirección: ficha de identidad compacta y escaneable, sin cajas dentro de la caja.
   Jerarquía: nombre > ubicación (fichas pequeñas) > contacto (lista con íconos) > compartir. --sf-c = azul de los botones del sitio. */
.my-store-storefront .my-store-sf-sidebar { --sf-c: #174c68; padding: 22px 20px; }
.my-store-storefront .my-store-sf-logo { margin-bottom: 12px; }
.my-store-storefront .my-store-sf-name { margin-bottom: 8px; line-height: 1.2; }
.my-store-storefront .my-store-sf-description { margin: 0 0 12px; font-size: 14px; line-height: 1.5; }
/* Ubicación: fichas redondeadas y pequeñas; "Nivel nacional" va resaltada. */
.my-store-storefront .my-store-sf-places { list-style: none; margin: 0 0 14px; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 5px; }
.my-store-storefront .my-store-sf-place { display: inline-flex; align-items: center; gap: 5px; margin: 0; padding: 3px 10px 3px 3px; border-radius: 999px; background: rgba(23, 76, 104, 0.06); border: 1px solid rgba(23, 76, 104, 0.14); color: #334155; font-size: 11.5px; font-weight: 600; line-height: 1.2; letter-spacing: .01em; }
.my-store-storefront .my-store-sf-place-icon { width: 18px; height: 18px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(23, 76, 104, 0.14); color: var(--sf-c); }
.my-store-storefront .my-store-sf-place-icon svg { width: 11px; height: 11px; }
.my-store-storefront .my-store-sf-place.is-national { background: var(--sf-c); border-color: var(--sf-c); color: #fff; }
.my-store-storefront .my-store-sf-place.is-national .my-store-sf-place-icon { background: rgba(255, 255, 255, 0.2); color: #fff; }
/* Contacto: teléfono, web y redes en una sola lista, sin bordes; el fondo suave aparece al pasar el cursor. */
.my-store-storefront .my-store-sf-meta { padding-top: 10px; gap: 2px; }
.my-store-storefront .my-store-sf-meta a { justify-content: flex-start; gap: 12px; padding: 6px 8px; border: 0; border-radius: 8px; background: transparent; font-size: 13.5px; font-weight: 500; color: var(--my-store-text, #1e293b); }
.my-store-storefront .my-store-sf-meta a:hover { background: rgba(23, 76, 104, 0.07); color: var(--sf-c); }
.my-store-storefront .my-store-sf-meta-icon { width: 30px; height: 30px; min-width: 30px; border-radius: 8px; background: rgba(23, 76, 104, 0.1); color: var(--sf-c); }
.my-store-storefront .my-store-sf-meta-icon svg { width: 15px; height: 15px; }
.my-store-storefront .my-store-sf-meta-label { flex: 1 1 auto; text-align: left; }
.my-store-storefront .my-store-sf-meta a.is-instagram .my-store-sf-meta-icon { background: rgba(220, 39, 67, 0.12); color: #dc2743; }
.my-store-storefront .my-store-sf-meta a.is-facebook .my-store-sf-meta-icon { background: rgba(24, 119, 242, 0.12); color: #1877f2; }
.my-store-storefront .my-store-sf-meta a.is-twitter .my-store-sf-meta-icon { background: rgba(15, 23, 42, 0.09); color: #0f172a; }
.my-store-storefront .my-store-sf-meta { padding-bottom: 10px; }
.my-store-storefront .my-store-sf-meta.my-store-sf-follow { padding: 10px 0 12px; align-items: center; gap: 8px; }
.my-store-storefront .my-store-sf-follow-title { padding: 0; font-size: 12.5px; font-weight: 700; color: var(--my-store-text, #1e293b); text-align: center; }
.my-store-storefront .my-store-sf-follow a { width: fit-content; max-width: 100%; margin: 0 auto; justify-content: center; gap: 8px; padding: 7px 16px 7px 8px; border-radius: 999px; font-size: 13px; font-weight: 600; color: #fff; }
.my-store-storefront .my-store-sf-meta.my-store-sf-follow a.my-store-sf-link .my-store-sf-meta-icon { width: 24px; height: 24px; min-width: 24px; border-radius: 50%; background: rgba(255,255,255,.22); color: #fff; }
.my-store-storefront .my-store-sf-follow a .my-store-sf-meta-label { flex: 0 0 auto; color: #fff; }
.my-store-storefront .my-store-sf-follow a.is-facebook { background: #1877f2; }
.my-store-storefront .my-store-sf-follow a.is-instagram { background: linear-gradient(45deg,#f09433,#dc2743 55%,#bc1888); }
.my-store-storefront .my-store-sf-follow a.is-twitter { background: #0f172a; }
.my-store-storefront .my-store-sf-follow a:hover { color: #fff; filter: brightness(1.08); background-color: initial; }
.my-store-storefront .my-store-sf-follow a.is-facebook:hover { background: #1877f2; }
.my-store-storefront .my-store-sf-follow a.is-twitter:hover { background: #0f172a; }
.my-store-storefront .my-store-sf-share { order: 2; width: 100%; margin: 0; padding: 12px 0 16px; border-top: 1px solid var(--mt-line); border-bottom: 1px solid var(--mt-line); }
.my-store-storefront .my-store-share-label { color: var(--mt-ink-soft); font: 800 11px/1 var(--mt-font); letter-spacing: .08em; text-transform: uppercase; }
.my-store-storefront .my-store-sf-share .my-store-share-buttons { margin-top: 10px; }
.my-store-storefront .my-store-product-price-row { order: 4; gap: 10px 16px; margin: 0 0 20px; }
.my-store-storefront .my-store-product-price { color: var(--mt-brand); font: 800 30px/1 var(--mt-display); }
.my-store-storefront .my-store-product-sku { color: var(--mt-ink-soft); font: 700 13px var(--mt-font); }
.my-store-storefront .my-store-provider { gap: 9px 12px; margin: 0 0 12px; }
.my-store-storefront .my-store-provider-badge { position: relative; isolation: isolate; overflow: hidden; padding: 8px 11px; border-radius: 8px; background: linear-gradient(110deg, #dff3e9 0%, #dff3e9 42%, #c7ebd7 50%, #dff3e9 58%, #dff3e9 100%); background-size: 220% 100%; border-color: #98d8b6; color: var(--mt-success); font: 800 12px var(--mt-font); animation: mt-verified-sheen 4.6s ease-in-out infinite; }
.my-store-storefront .my-store-provider-name { color: var(--mt-ink-soft); font: 600 14px var(--mt-font); }
.my-store-storefront .my-store-provider-name a { color: var(--mt-brand); font-weight: 800; }
.my-store-storefront .my-store-availability,
.my-store-storefront .my-store-stock { width: 100%; margin: 0 0 18px; padding: 12px 14px; border-radius: 8px; background: #f0f5f4; border-color: #cbdcd5; color: var(--mt-ink); font: 600 14px var(--mt-font); }
.my-store-storefront .my-store-availability strong { color: var(--mt-brand); }
.my-store-storefront .my-store-stock-in { background: #e2f3ea; color: var(--mt-success); border-color: #afdcc6; }
.my-store-storefront .my-store-stock-out { background: #fbe8e8; color: var(--mt-danger); border-color: #edbcbc; }
.my-store-storefront .my-store-stock-backorder { background: #faf0df; color: var(--mt-warning); border-color: #e9c995; }
.my-store-storefront .my-store-product-short,
.my-store-storefront .my-store-product-long { max-width: 66ch; color: var(--mt-ink-soft); font: 400 16px/1.78 var(--mt-font); letter-spacing: .002em; }
.my-store-storefront .my-store-product-short { color: #293b46; font: 500 17px/1.62 var(--mt-font); }
.my-store-storefront .my-store-product-short p,
.my-store-storefront .my-store-product-long p { margin: 0 0 14px; }
.my-store-storefront .my-store-product-long p:last-child { margin-bottom: 0; }
.my-store-storefront .my-store-product-long ul,
.my-store-storefront .my-store-product-long ol { margin: 14px 0; padding-left: 22px; }
.my-store-storefront .my-store-product-long li + li { margin-top: 6px; }
.my-store-storefront .my-store-product-section-title { margin: 30px 0 13px; padding-top: 22px; border-top: 1px solid var(--mt-line); color: var(--mt-ink); font: 700 var(--mt-type-h2)/1.18 var(--mt-display); }
.my-store-storefront .my-store-product-actions { order: 3; width: 100%; margin: 16px 0 22px; }
.my-store-storefront .my-store-product-actions .cart { width: 100%; margin: 0; }
.my-store-storefront .my-store-product-actions .my-store-btn { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 50px; padding: 0 22px; border-radius: 8px; font: 800 14px var(--mt-font); box-shadow: none; }
.my-store-storefront .my-store-provider-profile-card { --mt-provider-card-height: 184px; order: 3; display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); width: 100%; height: var(--mt-provider-card-height); min-height: var(--mt-provider-card-height); margin: 20px 0 28px; overflow: hidden; border: 1px solid #d8e4de; border-radius: 16px; background: #fff; box-shadow: 0 14px 30px rgba(20,33,43,.08); animation: mt-provider-profile-sequence 1.7s .08s cubic-bezier(.22,.85,.33,1) both; }
.my-store-storefront .my-store-provider-profile-card.has-availability { --mt-provider-card-height: 236px; grid-template-rows: 184px 52px; }
.my-store-storefront .my-store-provider-profile-card header { position: relative; display: grid; justify-items: center; align-content: center; gap: 6px; padding: 26px 22px; overflow: hidden; border-right: 1px dashed #cadbd4; background: #fbfdfc; opacity: 1; text-align: center; animation: mt-provider-section-in .42s 1.7s ease both; }
.my-store-storefront .my-store-provider-profile-avatar { position: relative; display: grid; width: 74px; height: 74px; place-items: center; overflow: hidden; border-radius: 50%; background: #fff; color: var(--mt-brand); font: 800 20px/1 var(--mt-display); box-shadow: 0 0 0 7px rgba(23,76,104,.07), 0 9px 18px rgba(20,33,43,.11); transform: scale(.7); animation: mt-provider-avatar-in .46s 1.82s cubic-bezier(.2,.9,.3,1.25) both; }
.my-store-storefront .my-store-provider-profile-avatar::after { position: absolute; right: 2px; bottom: 3px; width: 15px; height: 15px; content: ""; border: 3px solid #fff; border-radius: 50%; background: #2aa878; box-shadow: 0 1px 4px rgba(20,33,43,.18); }
.my-store-storefront .my-store-provider-profile-avatar img { display: block; width: 100%; height: 100%; padding: 8px; object-fit: contain; }
.my-store-storefront .my-store-provider-profile-avatar:hover { box-shadow: 0 0 0 10px rgba(23,76,104,.11), 0 12px 22px rgba(20,33,43,.14); }
.my-store-storefront .my-store-provider-profile-card h2 { margin: 8px 0 0; color: var(--mt-ink); font: 800 18px/1.1 var(--mt-display); letter-spacing: -.025em; }
.my-store-storefront .my-store-provider-profile-card h2.my-store-provider-profile-name-long { max-width: 100%; white-space: normal !important; font-size: 15px; line-height: 1.18; letter-spacing: -.015em; overflow-wrap: anywhere; text-wrap: balance; }
.my-store-storefront .my-store-provider-profile-card header p { margin: 0; color: var(--mt-success); font: 800 10px/1.2 var(--mt-font); letter-spacing: .09em; text-transform: uppercase; }
.my-store-storefront .my-store-provider-profile-bio { display: grid; align-content: center; justify-items: center; gap: 18px; padding: 28px 30px; background: #fff; opacity: 0; text-align: center; transform: translateY(18px); animation: mt-provider-bio-in .5s 1.82s ease both; }
.my-store-storefront .my-store-provider-profile-bio p { max-width: 285px; margin: 0; color: #344954; font: 500 15px/1.55 var(--mt-font); }
.my-store-storefront .my-store-provider-profile-availability { display: flex; grid-column: 1 / -1; align-items: center; justify-content: center; gap: 7px; padding: 0 22px; border-top: 1px solid #174c68; background: #174c68; color: #fff; font: 700 13px/1.3 var(--mt-font); text-align: center; }
.my-store-storefront .my-store-provider-profile-availability > span { font-size: 15px; }
.my-store-storefront .my-store-provider-profile-availability strong { color: #fff; font-weight: 800; }
.my-store-storefront .my-store-provider-profile-link { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-width: 278px; min-height: 46px; padding: 0 22px; border: 1px solid #149b5d; border-radius: 9px; background: #1da86a; color: #fff !important; font: 800 11px/1 var(--mt-font); letter-spacing: .055em; text-decoration: none; text-transform: uppercase; box-shadow: 0 6px 13px rgba(29,168,106,.2); animation: mt-whatsapp-blink 2.4s ease-in-out infinite; transition: transform .18s ease, background .18s ease, box-shadow .18s ease; }
.my-store-storefront .my-store-provider-profile-link svg { width: 17px; height: 17px; fill: currentColor; }
.my-store-storefront .my-store-provider-profile-link:hover, .my-store-storefront .my-store-provider-profile-link:focus-visible { outline: 0; background: #168c57; color: #fff !important; transform: translateY(-2px); box-shadow: 0 10px 18px rgba(29,168,106,.28); }
.my-store-storefront .my-store-product-mobile-whatsapp { display: none; }
@keyframes mt-provider-profile-sequence { 0% { width: 0; height: 0; min-height: 0; margin-left: 50%; border-radius: 50%; background: #ff9d00; opacity: 1; transform: translateY(0); } 14% { width: 56px; height: 56px; min-height: 56px; margin-left: calc(50% - 28px); border-radius: 50%; background: #ff9d00; opacity: 1; transform: translateY(0); } 62% { width: 56px; height: 56px; min-height: 56px; margin-left: calc(50% - 28px); border-radius: 50%; background: #f08b00; transform: translateY(12px); } 100% { width: 100%; height: var(--mt-provider-card-height); min-height: var(--mt-provider-card-height); margin-left: 0; border-radius: 16px; background: #fff; opacity: 1; transform: none; } }
@keyframes mt-provider-profile-sequence-mobile { 0%, 28% { width: 56px; height: 56px; min-height: 56px; margin-left: calc(50% - 28px); border-radius: 50%; background: #ff9d00; opacity: 1; transform: translateY(0); } 48% { width: 56px; height: 56px; min-height: 56px; margin-left: calc(50% - 28px); border-radius: 50%; background: #ff9d00; opacity: 1; transform: translateY(10px); } 100% { width: 100%; height: var(--mt-provider-card-height); min-height: var(--mt-provider-card-height); margin-left: 0; border-radius: 16px; background: #fff; opacity: 1; transform: none; } }
@keyframes mt-whatsapp-blink { 0%, 100% { box-shadow: 0 6px 13px rgba(29,168,106,.2); } 50% { box-shadow: 0 7px 20px rgba(29,168,106,.48), 0 0 0 4px rgba(29,168,106,.1); } }
@keyframes mt-provider-avatar-in { to { transform: scale(1); } }
@keyframes mt-provider-bio-in { to { opacity: 1; transform: translateY(0); } }
@keyframes mt-provider-section-in { from { opacity: 0; transform: translateY(34px); } to { opacity: 1; transform: translateY(0); } }
.my-store-storefront .my-store-btn-primary:hover,
.my-store-storefront .my-store-btn-whatsapp:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(20,33,43,.18); }
.my-store-storefront .my-store-btn-disabled { background: #e9efec; color: #7a8982; border-radius: 8px; }
.my-store-storefront .my-store-product-footer { border-radius: 12px; border-color: var(--mt-line); background: #f5f8f6; color: var(--mt-ink-soft); }
.my-store-storefront .my-store-product-footer a { color: var(--mt-brand); }
.my-store-storefront .my-store-related { margin-top: 48px; }
.my-store-storefront .my-store-related-card { border-radius: 14px; }
.my-store-storefront .my-store-related-name { padding: 15px 15px 4px; }
.my-store-storefront .my-store-related-card .my-store-related-btn { margin: auto 14px 14px; }
@keyframes mt-verified-sheen { 0%, 62%, 100% { background-position: 100% 0; } 78% { background-position: 0 0; } }

@media (max-width: 820px) {
	.my-store-storefront .my-store-sf-cats { width: 100%; }
	.my-store-storefront .my-store-sf-select-wrap { min-width: 0; flex: 1; }
	.my-store-storefront .my-store-product-layout { grid-template-columns: 1fr; }
	.my-store-storefront .my-store-product-media { position: static; }
	.my-store-storefront .my-store-product-media .my-store-sf-card-image { min-height: 320px; }
	.my-store-storefront .my-store-product-media-contact { display: none; }
	.my-store-storefront .my-store-product-title { font-size: clamp(31px, 10vw, 46px); }
	.my-store-storefront .my-store-product-info { padding-bottom: 78px; }
	.my-store-storefront .my-store-provider-profile-card { --mt-provider-card-height: 322px; grid-template-columns: 1fr; grid-template-rows: 184px 138px; animation: mt-provider-profile-sequence-mobile 1.45s .6s cubic-bezier(.22,.85,.33,1) both; }
	.my-store-storefront .my-store-provider-profile-card.has-availability { --mt-provider-card-height: 374px; grid-template-rows: 184px 138px 52px; }
	.my-store-storefront .my-store-provider-profile-card header { min-height: 0; border-right: 0; border-bottom: 1px dashed #cadbd4; animation: none; opacity: 1; transform: none; }
	.my-store-storefront .my-store-provider-profile-avatar { animation: none; transform: none; }
	.my-store-storefront .my-store-provider-profile-bio { min-height: 0; justify-items: center; padding: 25px 24px; text-align: center; animation: none; opacity: 1; transform: none; }
	.my-store-storefront .my-store-provider-profile-bio .my-store-provider-profile-link { display: none; }
	.my-store-storefront .my-store-product-mobile-whatsapp { position: fixed; z-index: 60; right: 16px; bottom: max(16px, env(safe-area-inset-bottom)); left: 16px; display: inline-flex; justify-content: center; width: auto; min-width: 0; min-height: 52px; padding: 0 18px; box-shadow: 0 10px 24px rgba(20,33,43,.24); }
}

/* Shortcodes públicos: tiendas, logos y capacitaciones ------------------ */
.my-store-vendors-grid,
.my-store-logos-vendores,
.msc-grid,
.msc-week,
.msc-calendar,
.msc-single {
	--mt-public-ink: #14212b;
	--mt-public-muted: #596a73;
	--mt-public-line: #d5ddd8;
	--mt-public-surface: #ffffff;
	--mt-public-brand: #174c68;
	--mt-public-accent: #d67a2d;
	font-family: var(--mt-font, Inter, "Segoe UI", Arial, sans-serif);
	color: var(--mt-public-ink);
}

.my-store-vendors-grid { gap: 18px; }
.my-store-vendors-grid .my-store-vendor-card {
	background: var(--mt-public-surface); border: 1px solid var(--mt-public-line); border-radius: 16px;
	box-shadow: 0 8px 24px rgba(20,33,43,.07); overflow: hidden;
}
.my-store-vendors-grid .my-store-vendor-card:hover { border-color: #9bb7c4; box-shadow: 0 18px 34px rgba(20,33,43,.14); }
.my-store-vendors-grid .my-store-vendor-card-link { padding: 20px 16px 18px; color: var(--mt-public-ink); }
.my-store-vendors-grid .my-store-vendor-media { width: min(100%, 166px); height: 96px; padding: 9px; margin-bottom: 14px; background: #f3f7f5; border: 1px solid #e0e9e4; border-radius: 10px; }
.my-store-vendors-grid .my-store-vendor-media img { width: 100%; height: 100%; object-fit: contain; }
.my-store-vendors-grid .my-store-vendor-media-placeholder { background: var(--mt-public-brand); border-radius: 14px; }
.my-store-vendors-grid .my-store-vendor-name { display: block; max-width: 100%; white-space: normal !important; overflow-wrap: anywhere; color: var(--mt-public-ink); font: 700 16px/1.28 var(--mt-display, Inter, sans-serif); text-wrap: balance; }
.my-store-vendors-grid .my-store-vendor-name-long { font-size: 14px; line-height: 1.22; letter-spacing: -.015em; }
.my-store-vendors-grid .my-store-vendor-card-link:hover .my-store-vendor-name { color: var(--mt-public-brand); }
.my-store-vendors-grid .my-store-vendor-city { color: var(--mt-public-muted); font-size: 12px; }

/* Widget Elementor: proveedor del producto WooCommerce actual. */
.my-store-elementor-provider-card { display: grid; grid-template-columns: 68px minmax(0, 1fr) auto; align-items: center; gap: 18px; overflow: hidden; padding: 18px 20px; border: 1px solid #d8e4de; border-radius: 16px; background: #fff; box-shadow: 0 12px 28px rgba(20,33,43,.08); color: #14212b; }
.my-store-elementor-provider-logo { display: grid; width: 68px; height: 68px; place-items: center; overflow: hidden; border: 1px solid #dce8e3; border-radius: 50%; background: #f5f8f6; color: #174c68; font: 800 18px/1 var(--mt-display, sans-serif); box-shadow: 0 0 0 6px rgba(23,76,104,.07); }
.my-store-elementor-provider-logo img { width: 100%; height: 100%; padding: 8px; object-fit: contain; }
.my-store-elementor-provider-copy { min-width: 0; }
.my-store-elementor-provider-copy > span { display: block; margin-bottom: 3px; color: #657681; font: 800 10px/1.3 var(--mt-font, sans-serif); letter-spacing: .08em; text-transform: uppercase; }
.my-store-elementor-provider-copy h3 { margin: 0 0 5px; color: #14212b; font: 800 19px/1.12 var(--mt-display, sans-serif); letter-spacing: -.02em; overflow-wrap: anywhere; }
.my-store-elementor-provider-copy strong { color: #178057; font: 800 10px/1.2 var(--mt-font, sans-serif); letter-spacing: .08em; text-transform: uppercase; }
.my-store-elementor-provider-cta { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 18px; border-radius: 9px; background: #1da86a; color: #fff !important; font: 800 11px/1.15 var(--mt-font, sans-serif); letter-spacing: .035em; text-align: center; text-decoration: none; text-transform: uppercase; transition: background .18s ease, transform .18s ease, box-shadow .18s ease; }
.my-store-elementor-provider-cta:hover, .my-store-elementor-provider-cta:focus-visible { background: #168c57; color: #fff !important; outline: 0; transform: translateY(-2px); box-shadow: 0 9px 18px rgba(29,168,106,.26); }
.my-store-elementor-provider-availability { grid-column: 1 / -1; margin: 2px -20px -18px; padding: 13px 20px; background: #174c68; color: #fff; font: 700 13px/1.35 var(--mt-font, sans-serif); text-align: center; }
.my-store-elementor-provider-availability strong { color: #fff; font-weight: 800; }
.my-store-elementor-provider-card-empty { display: block; padding: 18px; border-style: dashed; color: #657681; font: 600 13px/1.5 var(--mt-font, sans-serif); text-align: center; }
.my-store-elementor-provider-widget { margin: 0 !important; padding: 0 !important; }
.my-store-elementor-provider-widget .my-store-provider-profile-card { --mt-provider-card-height: 236px; order: initial; margin-top: 0; margin-bottom: 0; }
.my-store-elementor-provider-widget .my-store-provider-profile-card.has-availability { --mt-provider-card-height: 288px; grid-template-rows: 236px 52px; }
.my-store-elementor-provider-widget .my-store-provider-profile-card { background: var(--mt-ew-card, #fff); }
.my-store-elementor-provider-widget .my-store-provider-profile-card header { background: var(--mt-ew-identity, #fbfdfc); }
.my-store-elementor-provider-widget .my-store-provider-profile-availability { border-color: var(--mt-ew-availability, #174c68); background: var(--mt-ew-availability, #174c68); }
.my-store-elementor-provider-widget .my-store-provider-profile-link { border-color: var(--mt-ew-whatsapp, #1da86a); background: var(--mt-ew-whatsapp, #1da86a); }
.my-store-elementor-provider-widget .my-store-provider-profile-bio .my-store-provider-profile-link { display: inline-flex !important; }
.my-store-elementor-provider-widget .my-store-provider-profile-link svg { width: 20px; height: 20px; flex: 0 0 20px; fill: currentColor; }
@media (max-width: 820px) {
	.my-store-elementor-provider-widget .my-store-provider-profile-card { --mt-provider-card-height: 380px; grid-template-columns: 1fr; grid-template-rows: 184px 196px; }
	.my-store-elementor-provider-widget .my-store-provider-profile-card.has-availability { --mt-provider-card-height: 432px; grid-template-rows: 184px 196px 52px; }
	.my-store-elementor-provider-widget .my-store-provider-profile-card header { padding: 22px; }
	.my-store-elementor-provider-widget .my-store-provider-profile-bio { gap: 12px; padding: 22px 20px; }
	.my-store-elementor-provider-widget .my-store-provider-profile-bio .my-store-provider-profile-link { position: static; display: inline-flex; width: auto; min-width: 0; }
}

.my-store-logos-vendores { padding: 28px 0; }
.my-store-logos-vendores .my-store-logos-group { gap: 18px; padding-right: 18px; }
.my-store-logos-vendores .my-store-logo-card {
	width: 184px; min-height: 134px; background: var(--mt-public-surface); border-color: var(--mt-public-line);
	border-radius: 14px; box-shadow: 0 5px 16px rgba(20,33,43,.05);
}
.my-store-logos-vendores .my-store-logo-card:hover { border-color: #9bb7c4; box-shadow: 0 13px 26px rgba(20,33,43,.12); }
.my-store-logos-vendores .my-store-logo-name { color: var(--mt-public-muted); font-weight: 700; }

.msc-grid { gap: 22px; padding: 16px 0; }
.msc-grid .msc-card,
.msc-week .msc-week-item,
.msc-calendar,
.msc-single .msc-single-main,
.msc-single .msc-single-card {
	background: var(--mt-public-surface); border: 1px solid var(--mt-public-line); border-radius: 16px;
	box-shadow: 0 8px 24px rgba(20,33,43,.07);
}
.msc-grid .msc-card:hover,
.msc-week .msc-week-item:hover { box-shadow: 0 18px 34px rgba(20,33,43,.13); }
.msc-grid .msc-card-image img { height: 194px; }
.msc-grid .msc-card-body { padding: 20px; gap: 10px; }
.msc-grid .msc-card-title { font: 700 18px/1.35 var(--mt-display, Inter, sans-serif); }
.msc-grid .msc-card-title a,
.msc-week .msc-card-title a { color: var(--mt-public-ink); }
.msc-grid .msc-card-title a:hover,
.msc-week .msc-card-title a:hover { color: var(--mt-public-brand); }
.msc-grid .msc-card-company { color: var(--mt-public-accent); }
.msc-grid .msc-card-meta,
.msc-week .msc-card-meta { color: var(--mt-public-muted); }
.msc-grid .msc-badge,
.msc-single .msc-badge { font-weight: 700; letter-spacing: .05em; }
.msc-grid .msc-badge-presencial,
.msc-single .msc-badge-presencial { background: #f8e8d8; color: #91501d; }
.msc-grid .msc-badge-virtual,
.msc-single .msc-badge-virtual { background: #e2eef2; color: var(--mt-public-brand); }
.msc-grid .msc-badge-capacity,
.msc-single .msc-badge-capacity { background: #e1f2e9; color: #187454; }
.msc-btn { min-height: 42px; border-radius: 8px; font-family: inherit; font-weight: 700; }
.msc-btn-primary { background: var(--mt-public-brand); color: #fff; }
.msc-btn-primary:hover { background: #10364b; color: #fff; box-shadow: 0 8px 18px rgba(23,76,104,.2); }
.msc-btn-secondary { background: #fff; border-color: var(--mt-public-brand); color: var(--mt-public-brand); }
.msc-btn-secondary:hover { background: var(--mt-public-brand); color: #fff; }
.msc-btn-whatsapp { background: #197a56; }
.msc-empty { color: var(--mt-public-muted); border-color: var(--mt-public-line); background: #f8faf8; border-radius: 16px; }

.msc-calendar { padding: 22px; }
.msc-calendar .msc-calendar-title { color: var(--mt-public-ink); font-family: var(--mt-display, Inter, sans-serif); }
.msc-calendar .msc-calendar-nav { color: var(--mt-public-brand); border-color: var(--mt-public-line); }
.msc-calendar .msc-calendar-nav:hover { background: var(--mt-public-brand); color: #fff; }
.msc-calendar .msc-calendar-dow { color: var(--mt-public-muted); }
.msc-calendar .msc-calendar-day { border-color: #e7ece9; border-radius: 8px; }
.msc-calendar .msc-calendar-day.is-today { border-color: var(--mt-public-accent); background: #fffaf5; }
.msc-calendar .msc-calendar-day.is-event { border-color: #9bb7c4; background: #f2f7f8; }
.msc-calendar .msc-calendar-daynum { color: var(--mt-public-ink); }
.msc-calendar .msc-calendar-day.is-event .msc-calendar-daynum { color: var(--mt-public-brand); }
.msc-calendar .msc-calendar-popover { border-color: var(--mt-public-line); box-shadow: 0 16px 34px rgba(20,33,43,.18); }

.msc-week .msc-week-item { padding: 16px 18px; }
.msc-week .msc-week-date { background: var(--mt-public-brand); border-radius: 10px; }
.msc-single { background: #f4f7f5; padding-top: 42px; }
.msc-single .msc-breadcrumb { max-width: 1180px; margin: 0 auto; padding: 0 20px; color: var(--mt-public-muted); font: 700 12px/1.4 var(--mt-font, Inter, sans-serif); }
.msc-single .msc-breadcrumb a { color: var(--mt-public-brand); text-decoration: none; }
.msc-single .msc-breadcrumb a:hover { color: #10364b; text-decoration: underline; }
.msc-single .msc-single-container { gap: 30px; padding-bottom: 72px; }
.msc-single .msc-single-main { padding: 28px; overflow: hidden; }
.msc-single .msc-single-image img { display: block; width: 100%; max-height: 360px; margin: 0 0 24px; border-radius: 12px; object-fit: cover; }
.msc-single .msc-single-title { color: var(--mt-public-ink); font: 700 clamp(28px, 4vw, 42px)/1.14 var(--mt-display, Inter, sans-serif); }
.msc-single .msc-single-company { color: var(--mt-public-muted); font-weight: 600; }
.msc-single .msc-single-badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 24px; }
.msc-single .msc-single-content,
.msc-single .msc-single-details li { color: var(--mt-public-muted); }
.msc-single .msc-single-content h2,
.msc-single .msc-single-content h3 { color: var(--mt-public-ink); font-family: var(--mt-display, Inter, sans-serif); }
.msc-single .msc-single-card h3,
.msc-single .msc-single-details strong { color: var(--mt-public-ink); }
.msc-single .msc-single-card { padding: 22px; }
.msc-single .msc-single-provider { display: grid; grid-template-columns: 64px minmax(0, 1fr); align-items: center; gap: 14px; margin: -2px 0 20px; padding: 0 0 18px; border-bottom: 1px solid var(--mt-public-line); }
.msc-single .msc-single-provider-logo { display: grid; width: 64px; height: 64px; place-items: center; overflow: hidden; border: 1px solid #dce8e3; border-radius: 12px; background: #f6f9f7; box-shadow: 0 5px 13px rgba(20,33,43,.07); }
.msc-single .msc-single-provider-logo img { width: 100%; height: 100%; padding: 7px; object-fit: contain; }
.msc-single .msc-single-provider-copy { min-width: 0; }
.msc-single .msc-single-provider-copy > span { display: block; margin-bottom: 4px; color: var(--mt-public-muted); font: 800 10px/1.25 var(--mt-font, Inter, sans-serif); letter-spacing: .08em; text-transform: uppercase; }
.msc-single .msc-single-provider-copy strong { display: block; color: var(--mt-public-ink); font: 800 17px/1.18 var(--mt-display, Inter, sans-serif); overflow-wrap: anywhere; }
.msc-single .msc-single-details { margin-bottom: 20px; }
.msc-single .msc-single-details li { padding: 10px 0; font-size: 13px; }
.msc-single .msc-single-actions { gap: 10px; }
.msc-single .msc-btn { min-height: 46px; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.msc-single .msc-btn:hover { transform: translateY(-2px); }
.msc-single a.msc-btn-primary[data-msc-course-external],
.msc-single a.msc-btn-primary[data-msc-course-external]:link,
.msc-single a.msc-btn-primary[data-msc-course-external]:visited,
.msc-single a.msc-btn-primary[data-msc-course-external]:hover,
.msc-single a.msc-btn-primary[data-msc-course-external]:focus,
.msc-single a.msc-btn-primary[data-msc-course-external]:focus-visible,
.msc-single a.msc-btn-primary[data-msc-course-external]:active {
	color: #fff !important;
	-webkit-text-fill-color: #fff;
	text-decoration: none;
}
.msc-single .msc-btn-whatsapp { display: flex; align-items: center; justify-content: center; background: #25d366; color: #fff !important; text-align: center; }
.msc-single .msc-btn-whatsapp:hover, .msc-single .msc-btn-whatsapp:focus-visible { background: #1ebe5d; color: #fff !important; box-shadow: 0 9px 18px rgba(37,211,102,.28); }
.msc-single .msc-single-details li { border-bottom-color: #e7ece9; }
.msc-single .msc-single-share { border-top-color: var(--mt-public-line); }
.msc-single .msc-single-share .msc-subtitle { color: var(--mt-public-ink); }

/* Ficha de capacitación: misma jerarquía serena y tarjetas del calendario. */
.msc-single {
	background: linear-gradient(180deg, #f6f9f7 0, #f4f7f5 340px, #fff 340px);
	padding-top: 34px;
}
.msc-single .msc-single-container {
	align-items: start;
	gap: clamp(22px, 3vw, 36px);
	padding-top: 24px;
}
.msc-single .msc-single-main,
.msc-single .msc-single-card {
	border-color: #d7e3dd;
	box-shadow: 0 12px 30px rgba(20, 33, 43, .075);
}
.msc-single .msc-single-main { padding: clamp(22px, 3vw, 34px); }
.msc-single .msc-single-image {
	overflow: hidden;
	border: 1px solid #e1eae5;
	border-radius: 14px;
	background: #f4f8f6;
}
.msc-single .msc-single-image img {
	margin: 0;
	border-radius: 0;
	transition: transform .35s ease;
}
.msc-single .msc-single-image:hover img { transform: scale(1.015); }
.msc-single .msc-single-title {
	/* El encabezado pertenece a la ficha completa, no a una columna angosta. */
	max-width: none;
	width: 100%;
	margin: 26px 0 10px;
	text-align: center;
	letter-spacing: -.035em;
	text-wrap: balance;
}
.msc-single .msc-single-company {
	margin-bottom: 0;
	color: var(--mt-public-muted);
	font-size: 14px;
	line-height: 1.5;
	text-align: center;
}
.msc-single .msc-single-company strong { color: var(--mt-public-brand); }
.msc-single .msc-single-badges {
	justify-content: center;
	margin: 18px 0 28px;
	padding-bottom: 22px;
	border-bottom: 1px solid #e4ebe7;
}
.msc-single .msc-single-content {
	margin-top: 26px;
	padding-top: 26px;
	border-top: 1px solid #e4ebe7;
	font-size: 16px;
	line-height: 1.78;
	color: #465963;
}
.msc-single .msc-single-content > :first-child { margin-top: 0; }
.msc-single .msc-single-content > :last-child { margin-bottom: 0; }
.msc-single .msc-single-content h2,
.msc-single .msc-single-content h3 {
	margin-top: 1.65em;
	letter-spacing: -.018em;
}
.msc-single .msc-single-content a {
	color: var(--mt-public-brand);
	font-weight: 700;
	text-decoration-color: rgba(23, 76, 104, .35);
	text-underline-offset: 3px;
}
.msc-single .msc-single-content a:hover { text-decoration-color: currentColor; }
.msc-single .msc-single-content .wp-block-image { margin: 32px 0; }
.msc-single .msc-single-content .wp-block-image img { display: block; width: 100%; max-width: 100%; height: clamp(220px, 32vw, 340px); border: 1px solid #e0e9e4; border-radius: 12px; background: #f4f8f6; object-fit: cover; object-position: center 72%; box-shadow: 0 8px 20px rgba(20,33,43,.06); }
.msc-single .msc-single-content .wp-block-image figcaption { margin: 10px 0 0; color: var(--mt-public-muted); font-size: 12px; font-style: italic; line-height: 1.45; text-align: center; }
.msc-single .msc-single-content .wp-block-list { margin: 18px 0 26px; padding: 18px 20px 18px 38px; border: 1px solid #e1eae5; border-radius: 12px; background: #f8fbfa; }
.msc-single .msc-single-content .wp-block-list li { margin: 7px 0; padding-left: 3px; }
.msc-single .msc-single-content .wp-block-quote { margin: 30px 0; padding: 20px 24px; border: 0; border-left: 4px solid var(--mt-public-brand); border-radius: 0 12px 12px 0; background: #eef5f4; color: var(--mt-public-ink); }
.msc-single .msc-single-content .wp-block-quote p { margin: 0; font: 700 18px/1.55 var(--mt-display, Inter, sans-serif); }
.msc-single .msc-single-content .wp-block-quote cite { display: block; margin-top: 10px; color: var(--mt-public-muted); font-size: 12px; font-style: normal; }
.msc-single .msc-single-content .wp-block-columns { gap: 16px; margin: 24px 0 32px; }
.msc-single .msc-single-content .wp-block-column { padding: 20px; border: 1px solid #e1eae5; border-radius: 12px; background: #f9fbfa; }
.msc-single .msc-single-content .wp-block-column h3 { margin: 0 0 9px; font-size: 20px; }
.msc-single .msc-single-content .wp-block-column p { margin: 0; }
.msc-single .msc-single-content .wp-block-group.has-background { margin: 30px 0; padding: 22px 24px; border: 1px solid #cfe1db; border-radius: 12px; background: #edf6f3 !important; }
.msc-single .msc-single-content .wp-block-group.has-background h3 { margin-top: 0; }
.msc-single .msc-single-content .wp-block-group.has-background p:last-child { margin-bottom: 0; }
.msc-single .msc-single-content .wp-block-gallery,
.msc-single .msc-single-content .wp-block-gallery.has-nested-images { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 12px !important; margin: 30px 0 36px; }
.msc-single .msc-single-content .wp-block-gallery .wp-block-image,
.msc-single .msc-single-content .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) { width: 100% !important; height: 150px !important; min-width: 0; margin: 0 !important; overflow: hidden; aspect-ratio: auto !important; border: 1px solid #e0e9e4; border-radius: 10px; background: #f4f8f6; }
.msc-single .msc-single-content .wp-block-gallery .wp-block-image img,
.msc-single .msc-single-content .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) img { display: block; width: 100% !important; max-width: none !important; height: 150px !important; min-height: 0; border-radius: 10px; object-fit: cover; object-position: center 72%; }
.msc-single .msc-single-content .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) img { transform: scale(1.32); transition: transform .35s ease; }
.msc-single .msc-single-content .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image):hover img { transform: scale(1.4); }
.msc-single .msc-single-card { padding: 20px; }
.msc-single .msc-single-card h3 {
	margin: 0 0 9px;
	padding-bottom: 9px;
	border-bottom: 1px solid #e1e9e5;
	font-size: 16px;
	letter-spacing: -.012em;
	text-align: center;
}
.msc-single .msc-single-sidebar-badges { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 0 0 10px; }
.msc-single .msc-single-sidebar-badges .msc-badge { min-height: 24px; padding: 4px 8px; border-radius: 5px; font-size: 10px; }
.msc-single .msc-badge-expired { background: #ecefed; color: #64706b; }
.msc-single .msc-btn-whatsapp.is-disabled { cursor: not-allowed; background: #aeb7b2; color: #fff !important; box-shadow: none; }
.msc-single .msc-btn-whatsapp.is-disabled:hover { transform: none; background: #aeb7b2; box-shadow: none; }
.msc-single-sidebar-mobile { display: none; }
.msc-single .msc-single-provider {
	margin: 0 0 16px;
	padding: 2px 0 14px;
	border-bottom-color: #dfe8e3;
}
.msc-single .msc-single-details {
	display: grid;
	gap: 2px;
	margin: 0 0 16px;
}
.msc-single .msc-single-details li {
	padding: 8px 0;
	font-size: 13px;
	line-height: 1.48;
}
.msc-single .msc-single-details strong {
	display: block;
	margin-bottom: 2px;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .065em;
	text-transform: uppercase;
}
.msc-single .msc-price-free {
	display: inline-block;
	padding: 3px 7px;
	border-radius: 5px;
	background: #e1f2e9;
	color: #187454;
	font-size: 11px;
	letter-spacing: .025em;
}
.msc-single .msc-single-share { margin-top: 16px; padding-top: 14px; }
.msc-single .msc-single-share .my-store-share-buttons { justify-content: flex-start; gap: 8px; }
.msc-single .msc-single-share .my-store-share-btn {
	border: 1px solid #dce6e1;
	box-shadow: 0 3px 8px rgba(20, 33, 43, .05);
	transition: transform .18s ease, box-shadow .18s ease;
}
.msc-single .msc-single-share .my-store-share-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 7px 14px rgba(20, 33, 43, .12);
}
.msc-single .msc-related-courses { grid-column: 1 / -1; margin-top: 10px; padding: 28px; border: 1px solid #d7e3dd; border-radius: 16px; background: #fff; box-shadow: 0 10px 28px rgba(20,33,43,.06); }
.msc-single .msc-related-courses h2 { margin: 0 0 18px; color: var(--mt-public-ink); font: 800 clamp(21px,2.2vw,28px)/1.2 var(--mt-display,Inter,sans-serif); letter-spacing: -.02em; }
.msc-single .msc-related-courses-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; }
.msc-single .msc-related-course { display: grid; min-width: 0; overflow: hidden; border: 1px solid #e0e9e4; border-radius: 10px; background: #fbfdfc; color: var(--mt-public-ink); text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.msc-single .msc-related-course:hover { border-color: #b8ccc3; box-shadow: 0 8px 16px rgba(20,33,43,.08); color: var(--mt-public-ink); transform: translateY(-2px); }
.msc-single .msc-related-course-image { display: block; height: 116px; overflow: hidden; background: #f0f5f2; }
.msc-single .msc-related-course-image img { width: 100%; height: 100%; object-fit: cover; }
.msc-single .msc-related-course-copy { display: grid; gap: 5px; padding: 11px; }
.msc-single .msc-related-course-copy > span { color: var(--mt-public-muted); font-size: 11px; }
.msc-single .msc-related-course-copy strong { font-size: 13px; line-height: 1.3; }
.msc-single .msc-related-course-copy em { color: #187454; font-size: 10px; font-style: normal; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }

@media (max-width: 600px) {
	.my-store-vendors-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px; }
	.my-store-vendors-grid .my-store-vendor-card-link { padding: 20px 12px; }
	.my-store-elementor-provider-card { grid-template-columns: 56px minmax(0, 1fr); gap: 14px; padding: 16px; }
	.my-store-elementor-provider-logo { width: 56px; height: 56px; }
	.my-store-elementor-provider-copy h3 { font-size: 16px; }
	.my-store-elementor-provider-cta { grid-column: 1 / -1; width: 100%; min-height: 48px; }
	.my-store-elementor-provider-availability { margin: 2px -16px -16px; padding: 12px 16px; }
	.my-store-elementor-provider-widget .my-store-provider-profile-bio .my-store-provider-profile-link { position: static; display: inline-flex; width: auto; min-width: 0; }
	.msc-calendar { padding: 12px; }
	.msc-single .msc-single-main { padding: 20px; }
	.msc-single .msc-breadcrumb { padding: 0 14px; }
	.msc-single .msc-single-provider { grid-template-columns: 56px minmax(0, 1fr); }
	.msc-single .msc-single-provider-logo { width: 56px; height: 56px; }
	.msc-single { background: #f6f9f7; padding-top: 22px; }
	.msc-single .msc-single-container { padding-top: 18px; padding-bottom: 48px; }
	.msc-single .msc-single-title { margin-top: 20px; font-size: clamp(27px, 9vw, 36px); }
	/* En móvil la ficha lateral pasa a ser un resumen de lectura rápida. */
	.msc-single .msc-single-card { padding: 14px; border-radius: 14px; }
	.msc-single .msc-single-card h3 { margin-bottom: 9px; padding-bottom: 9px; font-size: 15px; }
	.msc-single .msc-single-provider { grid-template-columns: 46px minmax(0, 1fr); gap: 10px; margin-bottom: 14px; padding-bottom: 13px; }
	.msc-single .msc-single-provider-logo { width: 46px; height: 46px; border-radius: 10px; }
	.msc-single .msc-single-provider-copy > span { margin-bottom: 2px; font-size: 9px; }
	.msc-single .msc-single-provider-copy strong { font-size: 15px; }
	.msc-single .msc-single-details { margin-bottom: 14px; }
	.msc-single .msc-single-details li { padding: 7px 0; font-size: 12px; line-height: 1.35; }
	.msc-single .msc-single-details strong { margin-bottom: 1px; font-size: 9px; }
	.msc-single .msc-single-share { padding-top: 14px; }
	.msc-single .msc-single-sidebar-badges { margin-bottom: 8px; }
	.msc-single .msc-single-share .msc-subtitle { margin-bottom: 9px; font-size: 12px; }
	.msc-single .msc-share-links { gap: 7px; }
	.msc-single .msc-single-content { margin-top: 20px; padding-top: 20px; }
	.msc-single .msc-related-courses { margin-top: 4px; padding: 20px; }
	.msc-single .msc-related-courses-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.msc-single .msc-related-course-image { height: 96px; }
	.msc-single .msc-single-sidebar:not(.msc-single-sidebar-mobile) { display: none; }
	.msc-single .msc-single-sidebar-mobile { display: block; margin: 20px 0 0; }
	.msc-single .msc-single-sidebar-mobile .msc-btn-whatsapp:not(.is-disabled) { position: fixed; right: max(14px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom)); left: max(14px, env(safe-area-inset-left)); z-index: 1000; width: auto; min-height: 48px; border-radius: 8px; box-shadow: 0 10px 24px rgba(20,33,43,.24); }
	.msc-single:has(.msc-single-sidebar-mobile .msc-btn-whatsapp:not(.is-disabled)) { padding-bottom: 72px; }
	.msc-single .msc-single-content .wp-block-image { margin: 24px 0; }
	.msc-single .msc-single-content .wp-block-image img { height: 220px; }
	.msc-single .msc-single-content .wp-block-quote { padding: 18px; }
	.msc-single .msc-single-content .wp-block-quote p { font-size: 16px; }
	.msc-single .msc-single-content .wp-block-columns { display: grid; grid-template-columns: 1fr; gap: 12px; }
	.msc-single .msc-single-content .wp-block-gallery,
	.msc-single .msc-single-content .wp-block-gallery.has-nested-images { gap: 8px !important; }
	.msc-single .msc-single-content .wp-block-gallery .wp-block-image img,
	.msc-single .msc-single-content .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) img { height: 96px !important; border-radius: 8px; }
	.msc-single .msc-single-content .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) { height: 96px !important; }
}

@media (max-width: 900px) {
	.my-store-body .my-store-sidebar { width: 230px; }
	.my-store-body .my-store-content { padding: 28px 24px; }
}
@media (max-width: 720px) {
	.my-store-body .my-store-app,
	.my-store-body .my-store-main { display: block; }
	.my-store-body .my-store-sidebar { position: static; width: 100%; height: auto; padding: 16px; }
	.my-store-body .my-store-sidebar-header { display: none; }
	.my-store-body .my-store-nav { display: flex; overflow-x: auto; gap: 6px; }
	.my-store-body .my-store-nav-item { flex: 0 0 auto; margin: 0; }
	.my-store-body .my-store-nav-label { display: none; }
	.my-store-body .my-store-sidebar-footer { display: none; }
	.my-store-body .my-store-content { padding: 24px 16px; }
	.my-store-body .my-store-section-title { font-size: 28px; }
	.my-store-storefront { margin-top: 24px; padding: 0 16px; }
	.my-store-storefront .my-store-sf-sidebar { padding: 22px; }
}
/* Tarjeta de la tienda (barra lateral). Dirección: ficha de identidad compacta y escaneable, sin cajas dentro de la caja.
   Jerarquía: nombre > ubicación (fichas pequeñas) > contacto (lista con íconos) > compartir. --sf-c = azul de los botones del sitio. */
.my-store-storefront .my-store-sf-sidebar { --sf-c: #174c68; padding: 22px 20px; }
.my-store-storefront .my-store-sf-logo { margin-bottom: 12px; }
.my-store-storefront .my-store-sf-name { margin-bottom: 8px; line-height: 1.2; }
.my-store-storefront .my-store-sf-description { margin: 0 0 12px; font-size: 14px; line-height: 1.5; }
/* Ubicación: fichas redondeadas y pequeñas; "Nivel nacional" va resaltada. */
.my-store-storefront .my-store-sf-places { list-style: none; margin: 0 0 14px; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 5px; }
.my-store-storefront .my-store-sf-place { display: inline-flex; align-items: center; gap: 5px; margin: 0; padding: 3px 10px 3px 3px; border-radius: 999px; background: rgba(23, 76, 104, 0.06); border: 1px solid rgba(23, 76, 104, 0.14); color: #334155; font-size: 11.5px; font-weight: 600; line-height: 1.2; letter-spacing: .01em; }
.my-store-storefront .my-store-sf-place-icon { width: 18px; height: 18px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(23, 76, 104, 0.14); color: var(--sf-c); }
.my-store-storefront .my-store-sf-place-icon svg { width: 11px; height: 11px; }
.my-store-storefront .my-store-sf-place.is-national { background: var(--sf-c); border-color: var(--sf-c); color: #fff; }
.my-store-storefront .my-store-sf-place.is-national .my-store-sf-place-icon { background: rgba(255, 255, 255, 0.2); color: #fff; }
/* Contacto: teléfono, web y redes en una sola lista, sin bordes; el fondo suave aparece al pasar el cursor. */
.my-store-storefront .my-store-sf-meta { padding-top: 10px; gap: 2px; }
.my-store-storefront .my-store-sf-meta a { justify-content: flex-start; gap: 12px; padding: 6px 8px; border: 0; border-radius: 8px; background: transparent; font-size: 13.5px; font-weight: 500; color: var(--my-store-text, #1e293b); }
.my-store-storefront .my-store-sf-meta a:hover { background: rgba(23, 76, 104, 0.07); color: var(--sf-c); }
.my-store-storefront .my-store-sf-meta-icon { width: 30px; height: 30px; min-width: 30px; border-radius: 8px; background: rgba(23, 76, 104, 0.1); color: var(--sf-c); }
.my-store-storefront .my-store-sf-meta-icon svg { width: 15px; height: 15px; }
.my-store-storefront .my-store-sf-meta-label { flex: 1 1 auto; text-align: left; }
.my-store-storefront .my-store-sf-meta a.is-instagram .my-store-sf-meta-icon { background: rgba(220, 39, 67, 0.12); color: #dc2743; }
.my-store-storefront .my-store-sf-meta a.is-facebook .my-store-sf-meta-icon { background: rgba(24, 119, 242, 0.12); color: #1877f2; }
.my-store-storefront .my-store-sf-meta a.is-twitter .my-store-sf-meta-icon { background: rgba(15, 23, 42, 0.09); color: #0f172a; }
.my-store-storefront .my-store-sf-meta.my-store-sf-follow { padding-top: 8px; }
.my-store-storefront .my-store-sf-follow-title { padding: 0 8px 4px; font-size: 12.5px; font-weight: 700; color: var(--my-store-text, #1e293b); text-align: left; }
.my-store-storefront .my-store-sf-share { padding: 10px 0 12px; }
/* v5: ubicación como texto simple, contacto centrado, botón de redes con hover hacia arriba */
.my-store-storefront .my-store-sf-place { padding: 0; background: none; border: 0; border-radius: 0; gap: 5px; font-size: 12px; color: #475569; }
.my-store-storefront .my-store-sf-place-icon { width: 14px; height: 14px; background: none; color: var(--sf-c); }
.my-store-storefront .my-store-sf-place-icon svg { width: 13px; height: 13px; }
.my-store-storefront .my-store-sf-place.is-national { background: none; border: 0; color: var(--sf-c); font-weight: 700; }
.my-store-storefront .my-store-sf-place.is-national .my-store-sf-place-icon { background: none; color: var(--sf-c); }
.my-store-storefront .my-store-sf-places { gap: 4px 14px; }
.my-store-storefront .my-store-sf-meta:not(.my-store-sf-follow) a { justify-content: center; }
.my-store-storefront .my-store-sf-meta:not(.my-store-sf-follow) .my-store-sf-meta-label { flex: 0 0 auto; text-align: center; }
.my-store-storefront .my-store-sf-meta.my-store-sf-follow a.my-store-sf-link { padding: 9px 22px 9px 9px; border-radius: 999px; transform: none; transition: transform .2s ease, box-shadow .2s ease, filter .2s ease; }
.my-store-storefront .my-store-sf-meta.my-store-sf-follow a.my-store-sf-link:hover { transform: translateY(-3px); box-shadow: 0 8px 16px rgba(15,23,42,.18); }
/* v6: tarjeta según maqueta aprobada: ubicación en una píldora, contacto con botones, redes y compartir en secciones separadas */
.my-store-storefront .my-store-sf-sidebar { --sf-line: #e3eaf2; --sf-blue: #1976f3; --sf-soft: #edf4fc; padding: 26px; border-radius: 24px; box-shadow: 0 18px 42px rgb(30 41 59 / 13%); }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-description { color: #607083; margin: 12px auto 18px; }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-places { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 3px 14px; margin: 0 0 24px; padding: 10px 14px; border-radius: 22px; background: var(--sf-soft); }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-place, .my-store-storefront .my-store-sf-sidebar .my-store-sf-place.is-national { padding: 0; gap: 6px; background: none; border: 0; color: #31526f; font-size: 12.5px; font-weight: 700; }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-place-icon, .my-store-storefront .my-store-sf-sidebar .my-store-sf-place.is-national .my-store-sf-place-icon { width: 12px; height: 12px; background: none; color: #31526f; }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-place-icon svg { width: 12px; height: 12px; }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-meta, .my-store-storefront .my-store-sf-sidebar .my-store-sf-share { margin: 0; padding: 20px 0 0; border: 0; border-top: 1px solid var(--sf-line); display: flex; flex-direction: column; align-items: stretch; gap: 12px; }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-meta.my-store-sf-follow, .my-store-storefront .my-store-sf-sidebar .my-store-sf-share { margin-top: 28px; }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-meta.my-store-sf-follow { padding: 20px 0 0; align-items: stretch; }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-section-title, .my-store-storefront .my-store-sf-sidebar .my-store-share-label { display: block; margin: 0 0 1px; padding: 0; color: #6b7b8e; text-align: center; font-size: 11.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-meta a, .my-store-storefront .my-store-sf-sidebar .my-store-sf-meta.my-store-sf-follow a.my-store-sf-link { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 52px; margin: 0; padding: 0 16px; border: 2px solid #d9e3ee; border-radius: 12px; background: #fff; box-shadow: none; color: #26445f; font-size: 15px; font-weight: 700; text-decoration: none; transform: none; filter: none; transition: transform .18s ease, filter .18s ease; }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-meta a:first-of-type:not(.is-facebook):not(.is-instagram):not(.is-twitter) { border: 0; background: linear-gradient(135deg, #2c86fa, #1768d8); box-shadow: 0 8px 15px rgb(23 104 216 / 18%); color: #fff; }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-meta-icon { width: 27px; height: 27px; min-width: 27px; border-radius: 50%; background: var(--sf-soft); color: var(--sf-blue); }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-meta a:first-of-type:not(.is-facebook):not(.is-instagram):not(.is-twitter) .my-store-sf-meta-icon { background: rgb(255 255 255 / 18%); color: #fff; }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-meta-label { flex: 0 0 auto; color: inherit; text-align: center; }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-meta a:hover, .my-store-storefront .my-store-sf-sidebar .my-store-sf-meta.my-store-sf-follow a.my-store-sf-link:hover { transform: translateY(-1px); filter: brightness(.97); box-shadow: none; }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-meta a:first-of-type:not(.is-facebook):not(.is-instagram):not(.is-twitter):hover { box-shadow: 0 8px 15px rgb(23 104 216 / 18%); }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-meta.my-store-sf-follow a.my-store-sf-link { width: 230px; max-width: 100%; margin: 0 auto; border: 0; color: #fff; box-shadow: none; }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-meta.my-store-sf-follow a.my-store-sf-link .my-store-sf-meta-label { color: #fff; }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-meta.my-store-sf-follow a.my-store-sf-link .my-store-sf-meta-icon { background: rgb(255 255 255 / 18%); color: #fff; }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-meta.my-store-sf-follow a.is-facebook { background: #1877f2; }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-meta.my-store-sf-follow a.is-instagram { background: linear-gradient(45deg,#f09433,#dc2743 55%,#bc1888); }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-meta.my-store-sf-follow a.is-twitter { background: #111827; }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-share { gap: 13px; align-items: center; padding-bottom: 0; }
@media (max-width: 390px) { .my-store-storefront .my-store-sf-sidebar { padding: 20px; border-radius: 20px; } .my-store-storefront .my-store-sf-sidebar .my-store-sf-place { font-size: 11.5px; } }
/* v7: proporciones: tarjeta lateral más ancha, productos más pequeños, tipografía y botones más compactos */
@media (min-width: 901px) {
.my-store-storefront .my-store-sf-body { grid-template-columns: 308px minmax(0, 1fr); gap: 32px; }
}
.my-store-storefront .my-store-sf-grid { grid-template-columns: repeat(auto-fill, minmax(185px, 1fr)); gap: 16px; }
.my-store-storefront .my-store-sf-card-image { height: 150px; padding: 10px; }
.my-store-storefront .my-store-sf-card-body { padding: 12px 14px 8px; }
.my-store-storefront .my-store-sf-card .my-store-sf-card-name { font-size: 12.5px; line-height: 1.3; margin-bottom: 6px; }
.my-store-storefront .my-store-sf-card-btn { margin: auto 14px 14px; padding: 7px 12px; font-size: 12px; }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-name { font-size: 22px; }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-description { font-size: 13.5px; }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-places { padding: 8px 14px; }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-place, .my-store-storefront .my-store-sf-sidebar .my-store-sf-place.is-national { font-size: 12px; }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-section-title, .my-store-storefront .my-store-sf-sidebar .my-store-share-label { font-size: 10.5px; }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-meta a, .my-store-storefront .my-store-sf-sidebar .my-store-sf-meta.my-store-sf-follow a.my-store-sf-link { min-height: 42px; font-size: 13px; gap: 8px; border-radius: 10px; }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-meta-icon, .my-store-storefront .my-store-sf-sidebar .my-store-sf-meta.my-store-sf-follow a.my-store-sf-link .my-store-sf-meta-icon { width: 22px; height: 22px; min-width: 22px; }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-meta-icon svg { width: 13px; height: 13px; }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-meta.my-store-sf-follow a.my-store-sf-link { width: 210px; }
/* v8: botón Llamar con el azul de los botones de productos; ubicaciones en una sola línea */
.my-store-storefront .my-store-sf-sidebar .my-store-sf-meta a:first-of-type:not(.is-facebook):not(.is-instagram):not(.is-twitter) { background: #174c68; box-shadow: 0 6px 12px rgb(23 76 104 / 22%); }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-meta a:first-of-type:not(.is-facebook):not(.is-instagram):not(.is-twitter):hover { box-shadow: 0 6px 12px rgb(23 76 104 / 22%); }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-places { flex-direction: row; flex-wrap: wrap; gap: 4px 14px; }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-place, .my-store-storefront .my-store-sf-sidebar .my-store-sf-place.is-national { display: inline-flex; flex: 0 0 auto; width: auto; white-space: nowrap; }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-places { padding: 8px 8px; gap: 4px 10px; }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-place, .my-store-storefront .my-store-sf-sidebar .my-store-sf-place.is-national { gap: 4px; font-size: 11.5px; }
/* v9: móvil, siempre 2 productos por fila */
@media (max-width: 600px) {
.my-store-storefront .my-store-sf-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.my-store-storefront .my-store-sf-card { border-radius: 14px; }
.my-store-storefront .my-store-sf-card-image { height: 120px; padding: 8px; }
.my-store-storefront .my-store-sf-card-body { padding: 10px 10px 6px; }
.my-store-storefront .my-store-sf-card .my-store-sf-card-name { font-size: 12px; }
.my-store-storefront .my-store-sf-card-btn { margin: auto 10px 10px; padding: 7px 8px; font-size: 11.5px; }
}
/* Distribuidor oficial: franja de logos en la tienda e insignia bajo la tarjeta del proveedor */
.my-store-official-brands { margin: 0 0 22px; padding: 14px 16px; border: 1px solid #e3eaf2; border-radius: 14px; background: #fff; }
.my-store-official-brands-title { display: block; margin-bottom: 10px; color: #6b7b8e; font-size: 10.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.my-store-official-brands-list { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.my-store-official-brand { display: inline-flex; align-items: center; justify-content: center; height: 44px; padding: 6px 14px; border: 1px solid #e3eaf2; border-radius: 10px; background: #fff; color: #26445f; font-size: 13px; font-weight: 700; text-decoration: none; transition: transform .18s ease, box-shadow .18s ease; }
.my-store-official-brand img { display: block; max-height: 30px; max-width: 110px; width: auto; height: auto; object-fit: contain; }
.my-store-official-brand:hover { transform: translateY(-2px); box-shadow: 0 8px 16px rgb(15 23 42 / 12%); }
.my-store-official-badge { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 12px 0 0; padding: 10px 14px; border: 1px solid #cfe0f1; border-radius: 12px; background: #edf4fc; color: #174c68; font-size: 13px; text-decoration: none; }
.my-store-official-badge img { display: block; max-height: 26px; max-width: 80px; width: auto; height: auto; object-fit: contain; }
.my-store-official-badge-star { color: #e0a100; font-size: 18px; line-height: 1; }
.my-store-official-badge strong { font-weight: 800; }
/* muchas marcas: una sola fila deslizable */
.my-store-official-brands-list { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; scrollbar-width: thin; }
.my-store-official-brand { flex: 0 0 auto; white-space: nowrap; }
/* logos: altura fija, ancho según la proporción (sin que el tema los encoja) */
.my-store-official-brand img { height: 30px; width: auto; max-width: none; min-width: 0; }
.my-store-official-badge img { height: 26px; width: auto; max-width: none; }
/* logos en caja fija: todos caben completos y quedan parejos */
.my-store-official-brand img { flex: 0 0 auto; width: 104px; height: 32px; object-fit: contain; }
.my-store-official-badge img { flex: 0 0 auto; width: 72px; height: 26px; object-fit: contain; }
/* Slider "Distribuidor oficial de": casillas 3:2 (el doble de alto), logos en cover, flechas y avance automático */
.my-store-official-brands { padding: 16px 18px 18px; }
.my-store-official-brands-title { margin-bottom: 12px; }
.my-store-official-slider { position: relative; }
.my-store-official-track { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; -ms-overflow-style: none; padding: 2px; margin: -2px; }
.my-store-official-track::-webkit-scrollbar { display: none; }
.my-store-official-brand { flex: 0 0 calc((100% - 48px) / 5); height: auto; aspect-ratio: 3 / 2; padding: 0; overflow: hidden; border-radius: 14px; scroll-snap-align: start; text-align: center; }
.my-store-official-brand img { width: 100%; height: 100%; object-fit: cover; }
.my-store-official-brand span { padding: 8px; font-size: 14px; font-weight: 800; color: #26445f; }
.my-store-official-nav { position: absolute; top: 50%; z-index: 2; width: 36px; height: 36px; margin-top: -18px; padding: 0 0 3px; border: 1px solid #d9e2ef; border-radius: 50%; background: #fff; color: #174c68; font-size: 24px; line-height: 1; box-shadow: 0 6px 14px rgb(15 23 42 / 16%); cursor: pointer; transition: transform .18s ease, background .18s ease, color .18s ease; }
.my-store-official-nav:hover { background: #174c68; color: #fff; transform: scale(1.06); }
.my-store-official-nav.is-prev { left: -10px; }
.my-store-official-nav.is-next { right: -10px; }
.my-store-official-slider.is-static .my-store-official-nav { display: none; }
@media (max-width: 900px) { .my-store-official-brand { flex-basis: calc((100% - 36px) / 4); } }
@media (max-width: 640px) { .my-store-official-brand { flex-basis: calc((100% - 24px) / 3); } .my-store-official-nav.is-prev { left: -6px; } .my-store-official-nav.is-next { right: -6px; } }
@media (max-width: 440px) { .my-store-official-brand { flex-basis: calc((100% - 12px) / 2); } }
.my-store-official-badge img { width: 54px; height: 36px; border-radius: 6px; object-fit: cover; }
/* flechas: el tema pinta los botones de naranja, se fuerza el estilo propio */
.my-store-storefront .my-store-official-brands .my-store-official-slider .my-store-official-nav { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; min-width: 0; margin-top: -19px; padding: 0 0 3px; border: 1px solid #d9e2ef; border-radius: 50%; background: #fff; color: #174c68; font-size: 26px; font-weight: 400; line-height: 1; box-shadow: 0 6px 14px rgb(15 23 42 / 16%); }
.my-store-storefront .my-store-official-brands .my-store-official-slider .my-store-official-nav:hover, .my-store-storefront .my-store-official-brands .my-store-official-slider .my-store-official-nav:focus-visible { background: #174c68; border-color: #174c68; color: #fff; }
/* logo llena la casilla (cover) sin depender del alto del contenedor */
.my-store-storefront .my-store-official-brand { position: relative; }
.my-store-storefront .my-store-official-brand img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; object-fit: cover; }
/* barra lateral de 280 px: menos relleno y ubicaciones compactas para que sigan en una línea */
@media (min-width: 901px) {
.my-store-storefront .my-store-sf-sidebar { padding: 22px 18px; }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-places { padding: 8px 4px; gap: 3px 6px; }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-place, .my-store-storefront .my-store-sf-sidebar .my-store-sf-place.is-national { gap: 3px; font-size: 10.5px; }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-meta a, .my-store-storefront .my-store-sf-sidebar .my-store-sf-meta.my-store-sf-follow a.my-store-sf-link { font-size: 12.5px; padding: 0 10px; }
.my-store-storefront .my-store-sf-sidebar .my-store-sf-meta.my-store-sf-follow a.my-store-sf-link { width: 190px; }
}
/* slider continuo: sin snap ni scroll suave por CSS (el avance lo mueve el script) */
.my-store-storefront .my-store-official-track { scroll-snap-type: none; scroll-behavior: auto; }
.my-store-storefront .my-store-official-brand { scroll-snap-align: none; }
/* Insignia "Distribuidor oficial de": dorado sutil, texto a la izquierda y logo a la derecha */
.my-store-official-badge { justify-content: center; gap: 12px; padding: 8px 14px; border: 1px solid #d9b65c; background: linear-gradient(135deg, #fff4cf 0%, #f3d98a 55%, #e6bd5a 100%); color: #5a4108; box-shadow: 0 6px 14px rgb(176 134 30 / 22%), inset 0 1px 0 rgb(255 255 255 / 70%); }
.my-store-official-badge-text { font-size: 13.5px; font-weight: 500; }
.my-store-official-badge strong { color: #3f2d03; font-weight: 800; }
.my-store-official-badge img { width: 64px; height: 42px; max-width: none; max-height: none; border-radius: 8px; border: 1px solid rgb(176 134 30 / 35%); background: #fff; object-fit: cover; }
.my-store-official-badge-star { color: #a87500; font-size: 20px; }
.my-store-official-badge:hover { filter: brightness(1.04); color: #5a4108; }
/* en la ficha del producto la columna se ordena con "order": la insignia va justo debajo de la caja del proveedor (order 3) */
.my-store-storefront .my-store-product-info > .my-store-official-badge { order: 3; align-self: stretch; margin: -16px 0 18px; }
/* Escudo animado de la insignia (izquierda): aparece creciendo y el anillo flota suave */
.my-store-official-badge { justify-content: space-between; gap: 10px; }
.my-store-official-badge-text { flex: 1 1 auto; text-align: center; }
.my-store-official-shield { flex: 0 0 auto; display: inline-flex; width: 40px; height: 44px; filter: drop-shadow(0 3px 4px rgb(90 65 8 / 28%)); }
.my-store-official-shield svg { width: 100%; height: 100%; overflow: visible; }
.my-store-official-shield .shield-body { transform-box: fill-box; transform-origin: 50% 50%; animation: mt-shield-in .8s cubic-bezier(.2,.9,.3,1.3) both; }
.my-store-official-shield .shield-check { stroke-dasharray: 40; animation: mt-shield-check .5s .55s ease-out both; }
.my-store-official-shield .shield-ring { animation: mt-shield-ring 2.4s 1s ease-in-out infinite alternate; }
@keyframes mt-shield-in { from { transform: scale(0); opacity: 0; } to { transform: scale(1); opacity: 1; } }
@keyframes mt-shield-check { from { stroke-dashoffset: 40; } to { stroke-dashoffset: 0; } }
@keyframes mt-shield-ring { from { transform: translateY(0); } to { transform: translateY(-2.5px); } }
/* móvil: insignia más compacta para que el texto no se parta tanto */
@media (max-width: 480px) {
.my-store-official-badge { gap: 8px; padding: 8px 10px; }
.my-store-official-shield { width: 32px; height: 36px; }
.my-store-official-badge img { width: 52px; height: 34px; }
.my-store-official-badge-text { font-size: 12.5px; line-height: 1.25; }
}
/* Panel: clics en los botones de la tienda */
.my-store-storeclicks-total { margin: 0 0 10px; font-size: 14px; color: #475569; }
.my-store-storeclicks-total strong { font-size: 22px; color: #174c68; }
.my-store-storeclicks-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.my-store-storeclicks-list li { display: grid; grid-template-columns: minmax(90px, 40%) 1fr auto; align-items: center; gap: 10px; font-size: 13px; }
.my-store-storeclicks-name { color: #334155; font-weight: 600; }
.my-store-storeclicks-bar { height: 8px; border-radius: 99px; background: #eef2f9; overflow: hidden; }
.my-store-storeclicks-bar i { display: block; height: 100%; border-radius: 99px; background: linear-gradient(90deg, #174c68, #2d7da3); }
.my-store-storeclicks-list strong { min-width: 26px; text-align: right; color: #0f172a; }
@media (prefers-reduced-motion: reduce) { .my-store-official-shield * { animation: none !important; } }
@media (prefers-reduced-motion: reduce) {
	.my-store-body *, .my-store-storefront * { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
