/*
 * Ethan Guteng Advance — Product/Post Loop（原生卡片样式）
 *
 * 2.9.0：原生 ega-* 布局已收编。网格列数与自动档由 render 输出主题
 * eth-* 工具类（eth-grid-cols-N / eth-grid-auto-{xs..xl}，折叠阶梯走
 * etb-base.css 便携镜像）；本文件只保留 .etb-loop 区段的 shell 与
 * etb-loop-card 卡片的视觉规则。视觉 token 优先引用 --eth-* 设计令牌，
 * 缺失时回退插件默认值（etb-base.css 共享基座兜底，非 PetEvia 可用）。
 */
.etb-loop{--etb-grid-gap: var(--eth-content-gap,clamp(1.25rem,1rem + 1vw,2rem));--etb-section-gap: var(--eth-content-gap,clamp(1.5rem,1.2rem + 1.25vw,2.75rem));--etb-section-padding-block: var(--wp--preset--spacing--40,clamp(1.25rem,1rem + 1vw,2rem));--etb-section-padding-inline: var(--wp--preset--spacing--30,clamp(0.875rem,0.7rem + 0.75vw,1.5rem));--etb-card-gap: clamp(0.625rem,0.55rem + 0.3vw,0.875rem);--etb-card-radius: var(--eth-radius-m,0.75rem);--etb-card-title-size: clamp(1.05rem,0.98rem + 0.35vw,1.3rem);--etb-card-title-weight: 700;--etb-excerpt-size: 0.95rem;--etb-excerpt-color: var(--eth-text-muted,#4b5563);--etb-excerpt-line-height: 1.6;--etb-heading-color: var(--eth-primary,#4f46e5);--etb-title-color: var(--eth-text-body,#171717);--etb-accent: var(--eth-primary,#4f46e5);--etb-accent-hover: var(--eth-primary-d-1,#3730a3);--etb-media-background: var(--eth-bg-muted,#f4f6f5);--etb-focus-color: var(--eth-primary,#4f46e5);--etb-card-background: var(--eth-bg-surface,#fff);--etb-card-border: var(--eth-border,#dfe5e3);--etb-card-shadow: var(--eth-shadow-s,0 0.5rem 1.5rem rgba(16,35,30,0.09));--etb-card-shadow-hover: var(--eth-shadow-m,0 0.75rem 2rem rgba(16,35,30,0.16));--etb-card-padding: clamp(0.875rem,0.8rem + 0.35vw,1.125rem);--etb-overlay-text: var(--eth-light,#fff);--etb-overlay-background: var(--etb-overlay-dark);display: flex;box-sizing: border-box;flex-direction: column;gap: var(--etb-section-gap);width: 100%;padding-block: var(--eth-section-space-y,var(--etb-section-padding-block,2rem))}.etb-loop__inner{display: flex;box-sizing: border-box;flex-direction: column;gap: var(--etb-section-gap);width: 100%;max-width: var(--eth-container,1350px);margin-inline: auto}.etb-loop__items{display: grid;gap: var(--etb-grid-gap);width: 100%}.etb-loop-card{container-type: inline-size;min-width: 0;margin: 0}.etb-loop-card__link{display: flex;flex-direction: column;gap: var(--etb-card-gap);height: 100%;color: var(--etb-title-color);text-decoration: none}.etb-loop-card__media{position: relative;aspect-ratio: var(--etb-image-ratio,1 / 1);width: 100%;margin: 0;overflow: hidden;border-radius: var(--etb-card-radius);background: var(--etb-media-background)}.etb-loop-card__image{display: block;width: 100%;height: 100%;object-fit: var(--etb-image-fit,cover);transition: transform var(--etb-duration-slow) ease}.etb-loop-card__placeholder{display: block;width: 100%;height: 100%;background: linear-gradient(135deg,transparent 45%,rgba(0,0,0,0.05) 45% 55%,transparent 55%),var(--etb-media-background)}.etb-loop-card__title{width: 100%;margin: 0;color: var(--etb-title-color);font-size: var(--etb-card-title-size);font-family: inherit;font-style: normal;font-weight: var(--etb-card-title-weight);letter-spacing: normal;line-height: 1.3;text-align: left;text-transform: none;transition: color var(--etb-duration-slow) ease}.etb-loop-card__excerpt{display: none;margin: 0;color: var(--etb-excerpt-color);font-size: var(--etb-excerpt-size);font-family: inherit;font-style: normal;font-weight: 400;letter-spacing: normal;line-height: var(--etb-excerpt-line-height);text-align: left;text-transform: none}.etb-loop[data-show-excerpt="true"] .etb-loop-card__excerpt{display: block}.etb-loop-card__content{display: flex;flex-direction: column;gap: var(--etb-card-gap);min-width: 0}.etb-loop-card__link:hover .etb-loop-card__image,.etb-loop-card__link:focus-visible .etb-loop-card__image{transform: scale(1.1)}.etb-loop-card__link:hover .etb-loop-card__title,.etb-loop-card__link:focus-visible .etb-loop-card__title{color: var(--etb-accent-hover)}.etb-loop-card__link:focus-visible{border-radius: var(--etb-card-radius);outline: 3px solid var(--etb-focus-color);outline: 3px solid var(--eth-primary-50,color-mix(in srgb,var(--etb-focus-color) 50%,transparent));outline-offset: 4px}.etb-loop.is-style-card .etb-loop-card__link{gap: 0;overflow: hidden;border: 1px solid var(--etb-card-border);border-radius: var(--etb-card-radius);background: var(--etb-card-background);box-shadow: var(--etb-card-shadow);transition: box-shadow var(--etb-duration-normal) ease,transform var(--etb-duration-normal) ease}.etb-loop.is-style-card .etb-loop-card__media{border-radius: var(--etb-card-radius) var(--etb-card-radius) 0 0}.etb-loop.is-style-card .etb-loop-card__content{flex: 1 1 auto;padding: var(--etb-card-padding)}.etb-loop.is-style-card .etb-loop-card__excerpt{display: block}.etb-loop.is-style-card .etb-loop-card__link:hover,.etb-loop.is-style-card .etb-loop-card__link:focus-visible{transform: translateY(-4px);box-shadow: var(--etb-card-shadow-hover)}.etb-loop.is-style-overlay .etb-loop-card__link{position: relative;display: block;overflow: hidden;border-radius: var(--etb-card-radius);background: var(--etb-media-background)}.etb-loop.is-style-overlay .etb-loop-card__media{border-radius: inherit}.etb-loop.is-style-overlay .etb-loop-card__content{position: absolute;z-index: var(--etb-z-raised);inset: auto 0 0;padding: clamp(1rem,0.75rem + 1vw,1.75rem);background: linear-gradient(to top,var(--etb-overlay-background),transparent);pointer-events: none}.etb-loop.is-style-overlay .etb-loop-card__title,.etb-loop.is-style-overlay .etb-loop-card__link:hover .etb-loop-card__title,.etb-loop.is-style-overlay .etb-loop-card__link:focus-visible .etb-loop-card__title{color: var(--etb-overlay-text);text-shadow: 0 1px 3px var(--eth-shadow-color,rgba(0,0,0,0.35))}.etb-loop.is-style-overlay .etb-loop-card__excerpt{display: block;overflow: hidden;color: var(--etb-overlay-text);text-shadow: 0 1px 3px var(--eth-shadow-color,rgba(0,0,0,0.35))}.etb-loop.is-style-horizontal .etb-loop-card__link{display: grid;grid-template-columns: minmax(110px,38%) minmax(0,1fr);gap: var(--etb-card-padding);align-items: center;overflow: hidden;border: 1px solid var(--etb-card-border);border-radius: var(--etb-card-radius);background: var(--etb-card-background)}.etb-loop.is-style-horizontal .etb-loop-card__media{height: 100%;min-height: 120px;border-radius: var(--etb-card-radius) 0 0 var(--etb-card-radius)}.etb-loop.is-style-horizontal .etb-loop-card__content{padding: var(--etb-card-padding) var(--etb-card-padding) var(--etb-card-padding) 0}.etb-loop.is-style-horizontal .etb-loop-card__excerpt{display: block}.etb-loop.is-style-horizontal .etb-loop-card__link:hover{border-color: var(--etb-accent)}.etb-loop.is-style-text .etb-loop-card__media{display: none}.etb-loop.is-style-text .etb-loop-card__link{padding: var(--etb-card-padding);border: 1px solid var(--etb-card-border);border-radius: var(--etb-card-radius);background: var(--etb-card-background);transition: border-color 0.2s ease,box-shadow 0.2s ease}.etb-loop.is-style-text .etb-loop-card__excerpt{display: block}.etb-loop.is-style-text .etb-loop-card__link:hover,.etb-loop.is-style-text .etb-loop-card__link:focus-visible{border-color: var(--etb-accent);box-shadow: var(--etb-card-shadow)}.ega-editor-message{padding: 1rem;border: 1px dashed var(--eth-border,#949494);border-radius: 4px;background: var(--eth-bg-surface,#fff);color: var(--eth-text-body,#1e1e1e);font-size: 14px;text-align: center}@container (max-width: 400px){.etb-loop.is-style-horizontal .etb-loop-card__link{grid-template-columns: minmax(0,1fr);gap: 0}.etb-loop.is-style-horizontal .etb-loop-card__media{height: auto;min-height: 0;border-radius: var(--etb-card-radius) var(--etb-card-radius) 0 0}.etb-loop.is-style-horizontal .etb-loop-card__content{padding: var(--etb-card-padding)}}@media (max-width: 768px){.etb-loop.is-style-horizontal .etb-loop-card__link{grid-template-columns: minmax(0,1fr);gap: 0}.etb-loop.is-style-horizontal .etb-loop-card__media{height: auto;min-height: 0;border-radius: var(--etb-card-radius) var(--etb-card-radius) 0 0}.etb-loop.is-style-horizontal .etb-loop-card__content{padding: var(--etb-card-padding)}}@media (prefers-reduced-motion: reduce){.etb-loop-card__image,.etb-loop-card__title,.etb-loop.is-style-card .etb-loop-card__link{transition: none}.etb-loop-card__link:hover .etb-loop-card__image,.etb-loop-card__link:focus-visible .etb-loop-card__image{transform: none}.etb-loop.is-style-card .etb-loop-card__link:hover,.etb-loop.is-style-card .etb-loop-card__link:focus-visible{transform: none}}.etb-loop-theme{box-sizing: border-box;width: 100%;padding-block: var(--eth-section-space-y,var(--etb-section-padding-block,2rem));padding-inline: var(--eth-section-space-x,1.5rem)}.etb-loop-theme__inner{display: flex;box-sizing: border-box;flex-direction: column;gap: var(--etb-section-gap,clamp(1.5rem,1.2rem + 1.25vw,2.75rem));width: 100%;max-width: var(--eth-container,1350px);margin-inline: auto}.etb-loop-theme--content-full .etb-loop-theme__inner{max-width: none}

/* 2.9.4: native Loop cards as a responsive theme-token carousel. */
.etb-loop--layout-carousel .etb-loop__slider{min-width:0}.etb-loop--layout-carousel .etb-loop__track{--etb-carousel-gap:var(--eth-content-gap,var(--eth-space-m,1.5rem));align-items:stretch}.etb-loop--layout-carousel .etb-loop__slide{flex:0 0 calc((100% - (var(--etb-carousel-gap) * 3)) / 4);scroll-snap-align:start;scroll-snap-stop:always}.etb-loop--layout-carousel.etb-loop--cols-2 .etb-loop__slide{flex-basis:calc((100% - var(--etb-carousel-gap)) / 2)}.etb-loop--layout-carousel.etb-loop--cols-3 .etb-loop__slide{flex-basis:calc((100% - (var(--etb-carousel-gap) * 2)) / 3)}.etb-loop--layout-carousel.etb-loop--cols-5 .etb-loop__slide{flex-basis:calc((100% - (var(--etb-carousel-gap) * 4)) / 5)}.etb-loop--layout-carousel.etb-loop--cols-6 .etb-loop__slide{flex-basis:calc((100% - (var(--etb-carousel-gap) * 5)) / 6)}@media (max-width:992px){.etb-loop--layout-carousel .etb-loop__slide{flex-basis:calc((100% - var(--etb-carousel-gap)) / 2)}}@media (max-width:768px){.etb-loop--layout-carousel .etb-loop__slide{flex-basis:100%}}
