/* ==========================================================================
   Aprop · Escaparates (0.13.0)
   Diseño propio de las páginas de tienda de Dokan: listado de tiendas, página
   de cada tienda y alta de vendedores. Va con las plantillas de /dokan del
   theme (clases .ap-*), así que casi nada depende del CSS de Dokan. Se encola
   DESPUÉS de skin-dark.css.
   ========================================================================== */

:root {
	--ap-panel: var(--skin-panel, #1A2130);
	--ap-panel-2: var(--skin-panel-2, #212A3C);
	--ap-line: var(--color-border, #2A3242);
	--ap-peach: #FFD9C2;
	--ap-paper: #F1ECE3;           /* fondo de portadas: logos PNG transparentes siguen viéndose */
	--ap-radius: 20px;
	--ap-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
}

.ap-icon { flex: none; }

/* --- Toldo: la firma de los escaparates sin portada -------------------- */
.ap-scard__cover.is-empty::before,
.ap-shead__cover.is-empty::before {
	content: "";
	position: absolute; inset: 0 0 auto 0; height: 19px; z-index: 1;
	background: repeating-linear-gradient(90deg, var(--color-primary) 0 20px, var(--ap-peach) 20px 40px);
	-webkit-mask:
		linear-gradient(#000 0 0) top / 100% 9px no-repeat,
		radial-gradient(circle 10px at 10px 0, #000 98%, transparent) 0 9px / 20px 10px repeat-x;
	mask:
		linear-gradient(#000 0 0) top / 100% 9px no-repeat,
		radial-gradient(circle 10px at 10px 0, #000 98%, transparent) 0 9px / 20px 10px repeat-x;
}

/* --- Chips -------------------------------------------------------------- */
.ap-chip {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 5px 10px; border-radius: var(--radius-pill);
	font-size: 0.75rem; font-weight: 600; line-height: 1.2; letter-spacing: 0.01em;
	color: #fff; background: rgba(14, 20, 32, 0.78); border: 1px solid rgba(255, 255, 255, 0.12);
	-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
	white-space: nowrap;
}
.ap-chip--featured .ap-icon { color: var(--color-primary); }
.ap-chip--status::before {
	content: ""; width: 7px; height: 7px; border-radius: 50%; background: #7C8798; flex: none;
}
.ap-chip--status.is-open::before { background: var(--color-success, #4ADE80); box-shadow: 0 0 0 3px rgba(74, 222, 128, 0.22); }
.ap-chip--rating .ap-icon { color: #FFB020; }
.ap-chip--rating span { color: var(--color-text-muted); font-weight: 500; }

/* ==========================================================================
   1. LISTADO DE TIENDAS
   ========================================================================== */

/* --- Mapa + barra de filtros ------------------------------------------- */
#dokan-store-listing-filter-wrap {
	position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
	gap: var(--space-3) var(--space-4);
	padding: 12px !important; margin: 0 0 var(--space-5) !important;
	background: var(--ap-panel) !important; border: 1px solid var(--ap-line) !important;
	border-radius: var(--ap-radius) !important; box-shadow: none !important;
}
#dokan-store-listing-filter-wrap #dokan-geolocation-locations-map {
	flex: 0 0 100%; width: 100%; height: clamp(200px, 26vw, 320px); margin: 0 !important;
	border-radius: 12px; overflow: hidden; background: var(--ap-panel-2);
}
#dokan-store-listing-filter-wrap .left,
#dokan-store-listing-filter-wrap .right { float: none !important; width: auto !important; margin: 0 !important; padding: 0 6px !important; }
#dokan-store-listing-filter-wrap .left { flex: 1 1 auto; }
#dokan-store-listing-filter-wrap .right { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-3); }
#dokan-store-listing-filter-wrap .item { margin: 0 !important; padding: 0 !important; border: 0 !important; }
#dokan-store-listing-filter-wrap .store-count {
	margin: 0; font-size: 0.95rem; font-weight: 600; color: var(--color-heading);
}
#dokan-store-listing-filter-wrap .right > .item:first-child { position: relative; }
#dokan-store-listing-filter-wrap .dokan-icons { display: none !important; }
#dokan-store-listing-filter-wrap .dokan-store-list-filter-button.dokan-btn-theme {
	display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px !important;
	background: transparent !important; color: var(--color-text) !important;
	border: 1px solid var(--ap-line) !important; border-radius: var(--radius-pill) !important;
	font-size: 0.9rem; font-weight: 600; box-shadow: none !important; transition: border-color var(--t-fast), color var(--t-fast);
}
#dokan-store-listing-filter-wrap .dokan-store-list-filter-button.dokan-btn-theme::before {
	content: ""; width: 16px; height: 16px; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M4 6h16M7 12h10M10 18h4'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M4 6h16M7 12h10M10 18h4'/%3E%3C/svg%3E") center / contain no-repeat;
}
#dokan-store-listing-filter-wrap .dokan-store-list-filter-button.dokan-btn-theme:hover { border-color: var(--color-primary) !important; color: var(--ap-peach) !important; }
#dokan-store-listing-filter-wrap .sort-by { display: flex; align-items: center; gap: 8px; }
#dokan-store-listing-filter-wrap .sort-by label { margin: 0; font-size: 0.85rem; color: var(--color-text-muted); white-space: nowrap; }
#dokan-store-listing-filter-wrap .right .item select {
	height: 40px; padding: 0 34px 0 14px; border-radius: var(--radius-pill);
	background-color: var(--ap-panel-2); color: var(--color-text); border: 1px solid var(--ap-line);
	font-size: 0.9rem; font-weight: 500;
}
#dokan-store-listing-filter-wrap .toggle-view { display: flex; align-items: center; gap: 2px; padding: 3px !important; border: 1px solid var(--ap-line) !important; border-radius: var(--radius-pill); }
#dokan-store-listing-filter-wrap .toggle-view .dashicons {
	display: grid; place-items: center; width: 32px; height: 32px; margin: 0; border-radius: 50%;
	font-size: 17px; color: var(--color-text-muted); cursor: pointer; transition: background var(--t-fast), color var(--t-fast);
}
#dokan-store-listing-filter-wrap .toggle-view .dashicons:hover { color: var(--color-text); }
#dokan-store-listing-filter-wrap .toggle-view .dashicons.active { background: var(--color-primary); color: #fff; }

/* --- Panel de filtros (se abre con "Filtro") ---------------------------- */
#dokan-store-listing-filter-form-wrap {
	margin: calc(var(--space-5) * -1 + 10px) 0 var(--space-5) !important; padding: var(--space-5) !important;
	background: var(--ap-panel) !important; border: 1px solid var(--ap-line) !important;
	border-radius: var(--ap-radius) !important; box-shadow: none !important;
}
#dokan-store-listing-filter-form-wrap::before,
#dokan-store-listing-filter-form-wrap::after { display: none !important; }
#dokan-store-listing-filter-form-wrap .store-lists-other-filter-wrap { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4) var(--space-5); padding: 0 !important; }
#dokan-store-listing-filter-form-wrap .dokan-geolocation-location-filters {
	flex: 1 1 100%; display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3);
	margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important;
}
#dokan-store-listing-filter-form-wrap .dokan-geo-filters-column { flex: 1 1 220px; width: auto !important; float: none !important; padding: 0 !important; }
#dokan-store-listing-filter-form-wrap input[type="text"] {
	width: 100%; height: 46px; padding: 0 16px !important; border-radius: 12px !important;
	background: var(--color-bg) !important; border: 1px solid var(--ap-line) !important; color: var(--color-text) !important; box-shadow: none !important;
}
#dokan-store-listing-filter-form-wrap input[type="text"]:focus { border-color: var(--color-primary) !important; box-shadow: 0 0 0 3px rgba(255, 106, 31, 0.2) !important; outline: 0; }
#dokan-store-listing-filter-form-wrap .location-address { position: relative; }
#dokan-store-listing-filter-form-wrap .range-slider-container { flex: 1 1 220px; display: flex; align-items: center; gap: var(--space-3); color: var(--color-text-muted); font-size: 0.9rem; }
#dokan-store-listing-filter-form-wrap .range-slider-container .dokan-left { float: none !important; }
#dokan-store-listing-filter-form-wrap .dokan-range-slider { flex: 1; accent-color: var(--color-primary); }
#dokan-store-listing-filter-form-wrap .item { display: flex; align-items: center; gap: 10px; margin: 0 !important; padding: 0 !important; border: 0 !important; }
#dokan-store-listing-filter-form-wrap .item label { margin: 0; font-size: 0.9rem; font-weight: 500; color: var(--color-text); }
#dokan-store-listing-filter-form-wrap .dokan-stars { margin: 0; display: flex; align-items: center; gap: 2px; color: #FFB020; }
#dokan-store-listing-filter-form-wrap .dokan-stars .up { margin-left: 6px; color: var(--color-text-muted); font-size: 0.85rem; }
#dokan-store-listing-filter-form-wrap .apply-filter { display: flex; justify-content: flex-end; gap: var(--space-3); margin-top: var(--space-5); padding: var(--space-4) 0 0 !important; border-top: 1px solid var(--ap-line) !important; float: none !important; width: auto !important; }
#dokan-store-listing-filter-form-wrap .apply-filter .dokan-btn { height: 42px; padding: 0 22px !important; font-size: 0.9rem; }
#dokan-store-listing-filter-form-wrap #cancel-filter-btn.dokan-btn-theme { background: transparent !important; border-color: var(--ap-line) !important; color: var(--color-text) !important; }

/* --- Rejilla ------------------------------------------------------------ */
#dokan-seller-listing-wrap ul.dokan-seller-wrap.ap-scards {
	display: grid !important; grid-template-columns: 1fr; gap: var(--space-5);
	margin: 0 !important; padding: 0 !important; list-style: none;
}
@media (min-width: 600px)  { #dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap.ap-scards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 960px)  { #dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap.ap-scards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1280px) { #dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap.ap-scards { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

#dokan-seller-listing-wrap ul.dokan-seller-wrap li.dokan-single-seller.ap-scards__item {
	display: flex; min-width: 0; height: auto !important; min-height: 0 !important;
	background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
	overflow: visible !important; transform: none !important;
	animation: ap-rise 0.5s var(--ap-ease) both; animation-delay: calc(var(--i, 0) * 70ms);
}
@keyframes ap-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

/* --- Tarjeta ------------------------------------------------------------ */
.ap-scard {
	position: relative; display: flex; flex-direction: column; width: 100%;
	background: var(--ap-panel); border: 1px solid var(--ap-line); border-radius: var(--ap-radius);
	overflow: hidden; isolation: isolate;
	transition: transform 0.35s var(--ap-ease), border-color 0.25s ease, box-shadow 0.35s var(--ap-ease);
}
.ap-scard:hover, .ap-scard:focus-within {
	transform: translateY(-4px); border-color: rgba(255, 106, 31, 0.55);
	box-shadow: 0 26px 50px -28px rgba(0, 0, 0, 0.9), 0 0 0 1px rgba(255, 106, 31, 0.12);
}
.ap-scard__cover {
	position: relative; display: block; aspect-ratio: 625 / 300; overflow: hidden; background: var(--ap-paper);
}
.ap-scard__cover img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s var(--ap-ease); }
.ap-scard:hover .ap-scard__cover img { transform: scale(1.045); }
.ap-scard__cover.is-empty,
.ap-shead__cover.is-empty {
	display: grid; place-items: center;
	background:
		radial-gradient(90% 120% at 100% 0%, rgba(255, 106, 31, 0.34), transparent 62%),
		linear-gradient(140deg, #1C2538 0%, #111827 100%);
}
.ap-scard__initial, .ap-shead__initial {
	font-size: 3.4rem; font-weight: 800; line-height: 1; letter-spacing: -0.04em; color: rgba(255, 255, 255, 0.14);
}
.ap-scard__badges {
	position: absolute; top: 12px; left: 12px; right: 12px; z-index: 2;
	display: flex; flex-wrap: wrap; gap: 6px; pointer-events: none;
}
.ap-scard__cover.is-empty + .ap-scard__badges { top: 28px; }
.ap-scard__badges .ap-chip--status { margin-left: auto; }

.ap-scard__body { position: relative; display: flex; gap: 14px; padding: 0 18px 16px; flex: 1; }
.ap-scard__logo {
	flex: none; display: grid; place-items: center; width: 64px; height: 64px; margin-top: -26px;
	border-radius: 18px; overflow: hidden; background: #fff; border: 3px solid var(--ap-panel);
	box-shadow: 0 8px 20px -10px rgba(0, 0, 0, 0.8); z-index: 2;
}
.ap-scard__logo img { width: 100%; height: 100%; object-fit: cover; }
.ap-scard__logo.is-empty { background: linear-gradient(135deg, #FF6A1F, #E5392A); color: #fff; font-weight: 800; font-size: 1.5rem; }
.ap-scard__main { min-width: 0; padding-top: 12px; }
.ap-scard__name { margin: 0; font-size: 1.08rem; font-weight: 700; line-height: 1.25; letter-spacing: -0.01em; }
.ap-scard__name a { color: var(--color-heading) !important; text-decoration: none !important; }
.ap-scard__name a::after { content: ""; position: absolute; inset: 0; z-index: 1; } /* toda la tarjeta es enlace */
.ap-scard__place, .ap-scard__rating {
	display: flex; align-items: center; gap: 6px; margin: 6px 0 0; font-size: 0.86rem; color: var(--color-text-muted);
}
.ap-scard__place span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ap-scard__rating .ap-icon { color: #FFB020; }
.ap-scard__rating strong { color: var(--color-text); }

.ap-scard__foot {
	position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 10px;
	padding: 12px 18px; border-top: 1px solid var(--ap-line);
}
.ap-scard__follow { display: flex; align-items: center; min-width: 0; }
.ap-scard__go {
	text-decoration: none !important;
	display: inline-flex; align-items: center; gap: 6px; margin-left: auto;
	font-size: 0.88rem; font-weight: 600; color: var(--color-link); text-decoration: none; white-space: nowrap;
}
.ap-scard__go .ap-icon { transition: transform 0.25s var(--ap-ease); }
.ap-scard:hover .ap-scard__go { color: var(--ap-peach); }
.ap-scard:hover .ap-scard__go .ap-icon { transform: translateX(4px); }

/* Botón "Seguir" de Dokan: píldora discreta */
.ap-scard .dokan-follow-store-button.dokan-btn-theme,
.ap-shead__actions .dokan-btn.dokan-btn-theme {
	height: 34px; padding: 0 14px !important; margin: 0 !important; float: none !important;
	display: inline-flex; align-items: center; gap: 8px;
	background: transparent !important; color: var(--color-text) !important;
	border: 1px solid var(--ap-line) !important; border-radius: var(--radius-pill) !important;
	font-size: 0.82rem; font-weight: 600; line-height: 1; box-shadow: none !important; text-shadow: none;
	transition: border-color var(--t-fast), background var(--t-fast), color var(--t-fast);
}
.ap-scard .dokan-follow-store-button.dokan-btn-theme:hover,
.ap-shead__actions .dokan-btn.dokan-btn-theme:hover { border-color: var(--color-primary) !important; color: var(--ap-peach) !important; background: rgba(255, 106, 31, 0.1) !important; }
.ap-scard .dokan-follow-store-button[data-status="following"],
.ap-shead__actions .dokan-follow-store-button[data-status="following"] { background: rgba(255, 106, 31, 0.14) !important; border-color: rgba(255, 106, 31, 0.5) !important; color: var(--ap-peach) !important; }

/* --- Vista de lista ----------------------------------------------------- */
@media (min-width: 720px) {
	#dokan-seller-listing-wrap.list-view .ap-scard { flex-direction: row; align-items: stretch; }
	#dokan-seller-listing-wrap.list-view .ap-scard__cover { flex: 0 0 300px; aspect-ratio: auto; min-height: 150px; }
	#dokan-seller-listing-wrap.list-view .ap-scard__badges { right: auto; width: 276px; }
	#dokan-seller-listing-wrap.list-view .ap-scard__body { align-items: center; padding: 18px 22px; }
	#dokan-seller-listing-wrap.list-view .ap-scard__logo { margin-top: 0; }
	#dokan-seller-listing-wrap.list-view .ap-scard__main { padding-top: 0; }
	#dokan-seller-listing-wrap.list-view .ap-scard__foot { flex-direction: column; justify-content: center; align-items: flex-end; border-top: 0; border-left: 1px solid var(--ap-line); padding: 18px 22px; }
	#dokan-seller-listing-wrap.list-view .ap-scard__go { margin-left: 0; }
}

/* --- Paginación y vacío ------------------------------------------------- */
.ap-spager { margin-top: var(--space-6); }
.ap-spager .pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 0; padding: 0; list-style: none; }
.ap-spager .pagination li { margin: 0; padding: 0; border: 0; float: none; }
.ap-spager .pagination li > * {
	display: grid; place-items: center; min-width: 40px; height: 40px; padding: 0 12px;
	border: 1px solid var(--ap-line); border-radius: var(--radius-pill); background: var(--ap-panel);
	color: var(--color-text); font-size: 0.9rem; font-weight: 600; text-decoration: none;
}
.ap-spager .pagination li > .current { background: var(--color-primary); border-color: var(--color-primary); color: #fff; }
.ap-spager .pagination li > a:hover { border-color: var(--color-primary); color: var(--ap-peach); }
.ap-sempty { padding: var(--space-8) var(--space-5); text-align: center; color: var(--color-text-muted); border: 1px dashed var(--ap-line); border-radius: var(--ap-radius); }
.ap-sempty .icon { color: var(--color-primary); margin: 0 auto var(--space-3); }
.ap-sempty__title { margin: 0 0 4px; font-size: 1.15rem; font-weight: 700; color: var(--color-heading); }

/* ==========================================================================
   2. PÁGINA DE TIENDA
   ========================================================================== */
.dokan-store-wrap, .dokan-single-store { padding-block: 0; }
.dokan-store .woocommerce-breadcrumb { margin-bottom: var(--space-4); }

.ap-shead { margin: 0 0 var(--space-6); }
.ap-shead__cover {
	position: relative; overflow: hidden; height: clamp(180px, 27vw, 380px);
	border-radius: 26px; background: var(--ap-paper); border: 1px solid var(--ap-line);
}
.ap-shead__cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ap-shead__cover:not(.is-empty)::after {
	content: ""; position: absolute; inset: auto 0 0 0; height: 46%; pointer-events: none;
	background: linear-gradient(to top, rgba(14, 20, 32, 0.6), transparent);
}
.ap-shead__initial { font-size: clamp(5rem, 14vw, 10rem); }

.ap-shead__bar {
	position: relative; z-index: 2; display: grid; grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center; gap: 6px 22px;
	margin: -58px clamp(10px, 2.4vw, 32px) 0; padding: 20px clamp(16px, 2.2vw, 28px);
	background: rgba(26, 33, 48, 0.9); border: 1px solid var(--ap-line); border-radius: 22px;
	-webkit-backdrop-filter: blur(16px) saturate(1.2); backdrop-filter: blur(16px) saturate(1.2);
	box-shadow: 0 30px 60px -40px rgba(0, 0, 0, 0.9);
}
.ap-shead__logo {
	grid-row: 1; display: grid; place-items: center; width: 104px; height: 104px; margin-top: -54px;
	border-radius: 28px; overflow: hidden; background: #fff; border: 4px solid var(--ap-panel);
	box-shadow: 0 14px 30px -14px rgba(0, 0, 0, 0.85);
}
.ap-shead__logo img { width: 100%; height: 100%; object-fit: cover; }
.ap-shead__logo.is-empty { background: linear-gradient(135deg, #FF6A1F, #E5392A); color: #fff; font-weight: 800; font-size: 2.6rem; }
.ap-shead__id { min-width: 0; }
.ap-shead .ap-shead__name {
	margin: 0; font-size: clamp(1.5rem, 2.6vw, 2.15rem); font-weight: 800; line-height: 1.12; letter-spacing: -0.025em;
	color: var(--color-heading); text-wrap: balance;
}
.ap-shead__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 10px 0 0; padding: 0; list-style: none; }
.ap-shead__meta > li { margin: 0; padding: 0; }
.ap-shead__meta .ap-chip { background: var(--ap-panel-2); border-color: var(--ap-line); -webkit-backdrop-filter: none; backdrop-filter: none; font-size: 0.8rem; padding: 6px 12px; text-decoration: none; }
.ap-shead__meta a.ap-chip:hover { border-color: var(--color-primary); }
.ap-shead__address { display: flex; align-items: center; gap: 6px; font-size: 0.9rem; color: var(--color-text-muted); }
.ap-shead__address .ap-icon { color: var(--color-primary); }

/* Horario desplegable */
.ap-hours { position: relative; }
.ap-hours > summary { list-style: none; cursor: pointer; user-select: none; }
.ap-hours > summary::-webkit-details-marker { display: none; }
.ap-hours__more { display: inline-flex; align-items: center; gap: 3px; margin-left: 4px; padding-left: 9px; border-left: 1px solid rgba(255, 255, 255, 0.16); color: var(--color-text-muted); font-weight: 500; }
.ap-hours[open] .ap-hours__more .ap-icon { transform: rotate(180deg); }
.ap-hours__panel {
	position: absolute; top: calc(100% + 10px); left: 0; z-index: 40; width: min(300px, 82vw); padding: 16px 18px;
	background: var(--ap-panel-2); border: 1px solid var(--ap-line); border-radius: 16px;
	box-shadow: 0 30px 60px -20px rgba(0, 0, 0, 0.85);
}
.ap-hours__panel #vendor-store-times {
	display: block !important; position: static !important; visibility: visible !important; opacity: 1 !important;
	width: auto !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important;
	background: none !important; border: 0 !important; box-shadow: none !important; transform: none !important;
}
.ap-hours__panel #vendor-store-times::before, .ap-hours__panel #vendor-store-times::after { display: none !important; }
.ap-hours__panel .store-times-heading { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; padding: 0 0 10px; border-bottom: 1px solid var(--ap-line); }
.ap-hours__panel .store-times-heading i { display: none; }
.ap-hours__panel .store-times-heading h4 { margin: 0; font-size: 0.82rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--color-text-muted); }
.ap-hours__panel .store-time-tags { display: flex; justify-content: space-between; gap: 16px; margin: 0; padding: 6px 0; border: 0; font-size: 0.9rem; }
.ap-hours__panel .store-days { color: var(--color-text-muted); font-weight: 500; float: none; width: auto; }
.ap-hours__panel .store-days.current_day { color: var(--color-heading); font-weight: 700; }
.ap-hours__panel .store-days.current_day::after { content: " · hoy"; color: var(--color-primary); font-weight: 600; }
.ap-hours__panel .store-times { float: none; width: auto; text-align: right; }
.ap-hours__panel .store-times span { display: block; color: var(--color-text); background: none; padding: 0; font-variant-numeric: tabular-nums; }
.ap-hours__panel .store-times .store-close { color: #7C8798; }

/* Acciones: Seguir (principal), Soporte y Compartir */
.ap-shead__actions {
	grid-column: 3; display: flex !important; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 8px;
	margin: 0 !important; padding: 0 !important; list-style: none; float: none !important; width: auto !important;
}
.ap-shead__actions > li { margin: 0 !important; padding: 0 !important; float: none !important; list-style: none; }
.ap-shead__actions > li.dokan-store-follow-store-button-container { order: -1; }
.ap-shead__actions .dokan-btn.dokan-btn-theme { height: 42px; padding: 0 18px !important; font-size: 0.88rem; }
.ap-shead__actions .dokan-follow-store-button.dokan-btn-theme:not([data-status="following"]) {
	background: var(--color-primary) !important; border-color: var(--color-primary) !important; color: #fff !important;
}
.ap-shead__actions .dokan-follow-store-button.dokan-btn-theme:not([data-status="following"]):hover { background: var(--color-primary-hover) !important; border-color: var(--color-primary-hover) !important; color: #fff !important; }

/* Contacto, redes e información legal */
.ap-shead__contact {
	grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 22px;
	margin-top: 12px; padding-top: 14px; border-top: 1px solid var(--ap-line);
}
.ap-link { text-decoration: none !important; display: inline-flex; align-items: center; gap: 8px; font-size: 0.9rem; font-weight: 500; color: var(--color-text); text-decoration: none; }
.ap-link .ap-icon { color: var(--color-primary); }
.ap-link:hover { color: var(--ap-peach); }
.ap-shead__social { display: flex; gap: 6px; margin: 0; padding: 0; list-style: none; }
.ap-shead__social a { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--ap-line); color: var(--color-text); }
.ap-shead__social a:hover { border-color: var(--color-primary); color: var(--ap-peach); }
.ap-legal { position: relative; margin-left: auto; font-size: 0.85rem; color: var(--color-text-muted); }
.ap-legal > summary { display: inline-flex; align-items: center; gap: 6px; list-style: none; cursor: pointer; }
.ap-legal > summary::-webkit-details-marker { display: none; }
.ap-legal > summary:hover { color: var(--color-text); }
.ap-legal__list {
	position: absolute; right: 0; top: calc(100% + 10px); z-index: 30; width: max-content; max-width: 82vw; margin: 0; padding: 14px 18px; list-style: none;
	background: var(--ap-panel-2); border: 1px solid var(--ap-line); border-radius: 14px; box-shadow: 0 30px 60px -20px rgba(0, 0, 0, 0.85);
}
.ap-legal__list li { display: flex; justify-content: space-between; gap: 22px; margin: 0; padding: 5px 0; color: var(--color-text); }
.ap-legal__k { color: var(--color-text-muted); }

/* Pestañas */
.ap-shead .ap-shead__tabs.dokan-store-tabs {
	margin: var(--space-5) 0 0 !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important;
}
.ap-shead .ap-shead__tabs ul.dokan-list-inline {
	display: inline-flex; flex-wrap: wrap; gap: 4px; margin: 0; padding: 4px; list-style: none; width: auto; float: none;
	background: var(--ap-panel); border: 1px solid var(--ap-line); border-radius: var(--radius-pill);
}
.ap-shead .ap-shead__tabs ul.dokan-list-inline li { margin: 0 !important; padding: 0 !important; border: 0 !important; float: none !important; width: auto !important; background: none !important; }
.ap-shead .ap-shead__tabs ul.dokan-list-inline li a {
	display: block; padding: 9px 18px !important; border: 0 !important; border-radius: var(--radius-pill);
	font-size: 0.9rem; font-weight: 600; line-height: 1.2; color: var(--color-text-muted) !important; background: none !important; text-decoration: none;
	transition: color var(--t-fast), background var(--t-fast);
}
.ap-shead .ap-shead__tabs ul.dokan-list-inline li a:hover { color: var(--color-text) !important; }
.ap-shead .ap-shead__tabs ul.dokan-list-inline li.active a { background: var(--color-primary) !important; color: #fff !important; }

/* Ubicación (mapa propio del theme) */
.aprop-store-location { margin: 0 0 var(--space-6); }
.aprop-store-location__title { margin: 0 0 var(--space-3); font-size: 1.15rem; font-weight: 700; letter-spacing: -0.01em; }
.aprop-store-location .aprop-map { height: clamp(200px, 24vw, 300px); border-radius: var(--ap-radius); overflow: hidden; border: 1px solid var(--ap-line); }

/* Buscador y orden de los productos de la tienda */
.dokan-store-products-filter-area { margin: 0 0 var(--space-5) !important; padding: 0 !important; background: none !important; border: 0 !important; }
.dokan-store-products-filter-area .dokan-store-products-ordeby { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0; float: none !important; width: 100% !important; }
.dokan-store-products-filter-area .product-name-search {
	flex: 1 1 240px; max-width: 420px; height: 46px; margin: 0 !important; padding: 0 18px !important; float: none !important; width: auto !important;
	border-radius: var(--radius-pill) !important; background: var(--ap-panel) !important; border: 1px solid var(--ap-line) !important; color: var(--color-text) !important;
}
.dokan-store-products-filter-area .product-name-search:focus { border-color: var(--color-primary) !important; box-shadow: 0 0 0 3px rgba(255, 106, 31, 0.2); outline: 0; }
.dokan-store-products-filter-area .search-store-products.dokan-btn-theme { height: 46px; padding: 0 22px !important; margin: 0 !important; float: none !important; font-size: 0.9rem; }
.dokan-store-products-filter-area select.orderby {
	height: 46px; margin: 0 0 0 auto !important; padding: 0 36px 0 16px; float: none !important; width: auto !important; max-width: 100%;
	border-radius: var(--radius-pill); background-color: var(--ap-panel); border: 1px solid var(--ap-line); color: var(--color-text);
}
.dokan-single-store .dokan-info, .dokan-single-store .dokan-error {
	padding: var(--space-6); text-align: center; background: var(--ap-panel); border: 1px dashed var(--ap-line); border-radius: var(--ap-radius); color: var(--color-text-muted);
}

@media (max-width: 860px) {
	.ap-shead__bar { grid-template-columns: auto minmax(0, 1fr); margin-top: -44px; }
	.ap-shead__logo { width: 84px; height: 84px; margin-top: -46px; border-radius: 24px; }
	.ap-shead__actions { grid-column: 1 / -1; justify-content: flex-start; margin-top: 12px !important; }
	.ap-legal { margin-left: 0; }
	.ap-legal__list { right: auto; left: 0; }
}
@media (max-width: 520px) {
	.ap-shead__cover { border-radius: 20px; }
	.ap-shead__bar { grid-template-columns: minmax(0, 1fr); margin-inline: 8px; padding: 16px; border-radius: 18px; }
	.ap-shead__logo { width: 76px; height: 76px; margin-top: -54px; }
	.ap-shead__actions > li { flex: 1 1 auto; }
	.ap-shead__actions .dokan-btn.dokan-btn-theme { width: 100%; justify-content: center; }
	.ap-shead .ap-shead__tabs ul.dokan-list-inline { display: flex; }
	.ap-shead .ap-shead__tabs ul.dokan-list-inline li { flex: 1; text-align: center; }
	.dokan-store-products-filter-area select.orderby { margin-left: 0 !important; flex: 1 1 100%; }
}

/* ==========================================================================
   3. ALTA DE VENDEDORES
   ========================================================================== */
.dokan-vendor-onboarding.ap-vreg { max-width: none !important; width: auto !important; margin: var(--space-2) 0 0 !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; }
.ap-vreg__notices:empty { display: none; }
.ap-vreg__grid { display: grid; gap: var(--space-6); align-items: start; }
@media (min-width: 960px) { .ap-vreg__grid { grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: clamp(2rem, 5vw, 5rem); } }

.ap-vreg__pitch { position: relative; }
@media (min-width: 960px) { .ap-vreg__pitch { position: sticky; top: calc(var(--header-h, 110px) + 24px); padding-top: var(--space-3); } }
.ap-vreg__lead { margin: var(--space-3) 0 var(--space-6); font-size: clamp(1.25rem, 2.2vw, 1.7rem); font-weight: 600; line-height: 1.3; letter-spacing: -0.015em; color: var(--color-heading); text-wrap: balance; }
.ap-vreg .ap-vreg__points { display: grid; gap: var(--space-4); margin: 0 !important; padding: 0 !important; list-style: none; }
.ap-vreg__points li { display: flex; gap: 14px; align-items: flex-start; margin: 0; }
.ap-vreg__ico { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: rgba(255, 106, 31, 0.12); border: 1px solid rgba(255, 106, 31, 0.28); color: var(--color-primary); }
.ap-vreg__points strong { display: block; font-size: 1rem; font-weight: 700; color: var(--color-heading); }
.ap-vreg__points span { display: block; margin-top: 2px; font-size: 0.92rem; line-height: 1.5; color: var(--color-text-muted); }
.ap-vreg__steps { margin-top: var(--space-6); padding: var(--space-5); border: 1px solid var(--ap-line); border-radius: var(--ap-radius); background: linear-gradient(160deg, rgba(255, 106, 31, 0.07), transparent 55%); }
.ap-vreg__steps-title { margin: 0 0 var(--space-3); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--color-text-muted); }
.ap-vreg .ap-vreg__steps ol { counter-reset: ap-step; display: grid; gap: 12px; margin: 0 !important; padding: 0 !important; list-style: none; }
.ap-vreg__steps li { counter-increment: ap-step; display: flex; align-items: center; gap: 12px; margin: 0; font-size: 0.95rem; color: var(--color-text); }
.ap-vreg__steps li::before { content: counter(ap-step); flex: none; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--color-primary); color: #fff; font-size: 0.82rem; font-weight: 700; }

.ap-vreg__forms { display: grid; gap: var(--space-5); }
.ap-vreg__card {
	position: relative; padding: clamp(1.4rem, 3vw, 2.4rem); background: var(--ap-panel); border: 1px solid var(--ap-line);
	border-radius: 26px; box-shadow: 0 40px 80px -50px rgba(0, 0, 0, 0.9);
}
.ap-vreg .ap-vreg__title { margin: 0; font-size: clamp(1.4rem, 2.2vw, 1.75rem) !important; font-weight: 800; letter-spacing: -0.02em; color: var(--color-heading) !important; }
.ap-vreg__sub { margin: 4px 0 var(--space-5); font-size: 0.95rem; color: var(--color-text-muted); }

.ap-vreg__card form { margin: 0; padding: 0; border: 0; background: none; }
.ap-vreg__card .split-row { display: grid; grid-template-columns: 1fr; gap: 0 14px; }
@media (min-width: 520px) { .ap-vreg__card .split-row { grid-template-columns: 1fr 1fr; } }
.ap-vreg__card .form-row, .ap-vreg__card .form-group { float: none !important; width: 100% !important; margin: 0 0 16px !important; padding: 0 !important; }
.ap-vreg__card label { display: block; margin: 0 0 6px; font-size: 0.84rem; font-weight: 600; color: var(--color-text); float: none !important; }
.ap-vreg__card label .required { color: var(--color-primary); text-decoration: none; }
.ap-vreg__card input.input-text,
.ap-vreg__card input[type="text"], .ap-vreg__card input[type="email"], .ap-vreg__card input[type="password"], .ap-vreg__card input[type="tel"],
.ap-vreg__card select, .ap-vreg__card textarea {
	display: block; width: 100% !important; height: 50px; margin: 0; padding: 0 16px !important; box-sizing: border-box;
	background: var(--color-bg) !important; color: var(--color-text) !important; border: 1px solid var(--ap-line) !important;
	border-radius: 13px !important; box-shadow: none !important; font-size: 1rem; transition: border-color var(--t-fast), box-shadow var(--t-fast);
}
.ap-vreg__card textarea { height: auto; padding: 12px 16px !important; }
.ap-vreg__card input:focus, .ap-vreg__card select:focus, .ap-vreg__card textarea:focus { border-color: var(--color-primary) !important; box-shadow: 0 0 0 4px rgba(255, 106, 31, 0.18) !important; outline: 0; }
.ap-vreg__card small { display: block; margin-top: 6px; font-size: 0.8rem; color: var(--color-text-muted); word-break: break-all; }
.ap-vreg__card small strong { color: var(--ap-peach); }
.ap-vreg__card #url-alart-mgs { float: right; font-size: 0.8rem; font-weight: 600; }
.ap-vreg__card #url-alart-mgs.text-success, .ap-vreg__card .text-success { color: var(--color-success) !important; }
.ap-vreg__card #url-alart-mgs.text-danger, .ap-vreg__card .text-danger { color: var(--color-danger) !important; }
.ap-vreg__card .reg_email_error:empty { display: none; }
.ap-vreg__card .reg_email_error, .ap-vreg__card label.error { margin: 6px 0 0; font-size: 0.8rem; font-weight: 500; color: var(--color-danger) !important; }
.ap-vreg__card .woocommerce-password-strength { margin-top: 8px; padding: 6px 12px; border-radius: 10px; font-size: 0.8rem; font-weight: 600; background: var(--ap-panel-2); color: var(--color-text); border: 0; }
.ap-vreg__card .woocommerce-password-strength.short, .ap-vreg__card .woocommerce-password-strength.bad { color: #FF8A80; }
.ap-vreg__card .woocommerce-password-strength.good { color: #FFD166; }
.ap-vreg__card .woocommerce-password-strength.strong { color: var(--color-success); }
.ap-vreg__card .woocommerce-password-hint { display: block; margin-top: 6px; font-size: 0.78rem; color: var(--color-text-muted); }
.ap-vreg__card input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--color-primary); margin-right: 8px; vertical-align: -3px; }
.ap-vreg__card input[type="submit"], .ap-vreg__card button[type="submit"] {
	display: block; width: 100%; height: 54px; margin-top: 6px; padding: 0 24px;
	background: var(--color-primary) !important; color: #fff !important; border: 0 !important; border-radius: var(--radius-pill) !important;
	font-size: 1rem; font-weight: 700; letter-spacing: 0.01em; cursor: pointer;
	box-shadow: 0 18px 34px -16px rgba(255, 106, 31, 0.75); transition: background var(--t-fast), transform var(--t), box-shadow var(--t);
}
.ap-vreg__card input[type="submit"]:hover, .ap-vreg__card button[type="submit"]:hover { background: var(--color-primary-hover) !important; transform: translateY(-2px); }
.ap-vreg__card form > .form-row:last-of-type { margin-bottom: 0 !important; }
.ap-vreg__login { margin: var(--space-5) 0 0; padding-top: var(--space-4); border-top: 1px solid var(--ap-line); text-align: center; font-size: 0.95rem; color: var(--color-text-muted); }
.ap-vreg__login a { font-weight: 600; }

@media (prefers-reduced-motion: reduce) {
	#dokan-seller-listing-wrap ul.dokan-seller-wrap li.dokan-single-seller.ap-scards__item { animation: none; }
	.ap-scard, .ap-scard__cover img, .ap-scard__go .ap-icon { transition: none; }
}

/* --- Ajustes 0.13.0 tras revisar en pantalla ---------------------------- */
/* Móvil: primero el argumento corto, luego el formulario y al final los pasos. */
@media (max-width: 959px) {
	.ap-vreg__grid { gap: var(--space-5); }
	.ap-vreg__pitch { display: contents; }
	.ap-vreg__pitch > .eyebrow { order: 1; margin: 0; }
	.ap-vreg__lead { order: 2; margin: calc(var(--space-3) * -1) 0 0; }
	.ap-vreg .ap-vreg__points { order: 3; }
	.ap-vreg__forms { order: 4; }
	.ap-vreg__steps { order: 5; margin-top: 0; }
}

/* Página de tienda: primero los productos y el mapa al final. */
.dokan-single-store .store-page-wrap { display: flex; flex-direction: column; }
.dokan-single-store .store-page-wrap > * { min-width: 0; }
.dokan-single-store .store-page-wrap > .aprop-store-location { order: 20; margin: var(--space-7) 0 0; }
.ap-shead .ap-shead__tabs.dokan-store-tabs { text-align: left; }

/* Listado en móvil: contador + Filtro arriba, orden debajo; sin conmutador. */
@media (max-width: 599px) {
	#dokan-store-listing-filter-wrap .left { flex: 1 1 auto; order: 1; }
	#dokan-store-listing-filter-wrap .right { display: contents; }
	#dokan-store-listing-filter-wrap .right > .item:first-child { order: 2; }
	#dokan-store-listing-filter-wrap .sort-by { order: 3; flex: 1 1 100%; padding: 0 6px 4px !important; }
	#dokan-store-listing-filter-wrap .sort-by label { display: none; }
	#dokan-store-listing-filter-wrap .sort-by select { width: 100%; }
	#dokan-store-listing-filter-wrap .toggle-view { display: none !important; }
	#dokan-store-listing-filter-wrap #dokan-geolocation-locations-map { height: 200px; }
}

/* Horario e información legal: Dokan y el reset del theme metían márgenes y anchos fijos. */
.ap-hours__panel .store-time-tags { margin: 0 !important; padding: 5px 0 !important; align-items: baseline; }
.ap-hours__panel .store-days { width: auto !important; white-space: nowrap; }
.ap-hours__panel .store-times { width: auto !important; }
.ap-hours__panel .store-times span { margin: 0 !important; }
.ap-legal .ap-legal__list { padding: 12px 18px !important; margin: 0 !important; }

/* Botones del panel de filtros: píldora como el resto. */
#dokan-store-listing-filter-form-wrap .apply-filter .dokan-btn { border-radius: var(--radius-pill) !important; }
#dokan-store-listing-filter-form-wrap .store-lists-other-filter-wrap { justify-content: flex-start; }

/* --- Cabecera de tienda en escritorio: ficha a la izquierda, escaparate a la
   derecha. La portada se muestra a su proporción real (Dokan recorta las
   portadas a 625×300), así no se corta ni una foto ni un logotipo. --------- */
@media (min-width: 960px) {
	.ap-shead {
		display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 0 20px; align-items: stretch;
	}
	/* Alto mínimo = proporción 625:300 del ancho (padding en %), y si la ficha
	   es más alta, la portada se estira con ella. Nunca más ancha que su columna. */
	.ap-shead__cover { grid-column: 2; grid-row: 1; width: 100%; height: auto; min-width: 0; padding-bottom: 48%; box-sizing: border-box; }
	.ap-shead__cover > img, .ap-shead__cover > .ap-shead__initial { position: absolute; inset: 0; width: 100%; height: 100%; }
	.ap-shead__cover > .ap-shead__initial { display: grid; place-items: center; }
	.ap-shead__cover:not(.is-empty)::after { display: none; }
	.ap-shead__bar {
		grid-column: 1; grid-row: 1; display: flex; flex-direction: column; align-items: flex-start; justify-content: center;
		gap: 0; margin: 0; padding: clamp(20px, 2.2vw, 32px); border-radius: 26px;
		background:
			radial-gradient(70% 90% at 0% 0%, rgba(255, 106, 31, 0.13), transparent 60%),
			var(--ap-panel);
		-webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: none;
	}
	.ap-shead__logo { width: 76px; height: 76px; margin: 0 0 16px; border-radius: 22px; border-width: 0; }
	.ap-shead__id { width: 100%; }
	.ap-shead__actions { justify-content: flex-start; margin-top: 18px !important; }
	.ap-shead__contact { width: 100%; margin-top: 18px; padding-top: 16px; }
	.ap-shead .ap-shead__tabs.dokan-store-tabs { grid-column: 1 / -1; }
}
