fix(header): unify top icon-card size and layout
Add a single always-loaded header-cards.css that normalizes the 顶部多功能组件图标卡片 geometry (equal-width cells, fixed 45px icon badge, zibll mobile padding) across all pages, and enqueue it from ScriptsPart1b. Remove the orphan header-components.css + subdirectory that were never enqueued. Repoint the icon-card contract test at the new stylesheet.
This commit is contained in:
@@ -0,0 +1,143 @@
|
||||
/* ============================================================
|
||||
* Header icon cards — unified geometry (zibll 1:1)
|
||||
*
|
||||
* The top multi-function component ("顶部多功能组件") renders its icon
|
||||
* cards through one path: aksrt_header_slide() →
|
||||
* aksrt_icon_cover_card() (see inc/helpers/homepage/header-components.php
|
||||
* and inc/helpers/aksrt-icon-cards.php). This file is the single source of
|
||||
* truth for their size/layout, loaded after Zibll main.min.css on every
|
||||
* page so cards stay identical across home / archive / single / search.
|
||||
*
|
||||
* DOM: .header-slider-card.container
|
||||
* > (.zib-widget.padding-10 | div)
|
||||
* > .flex.jse.flex-row.gutters-5.flex-col-sm-2
|
||||
* > (.flex1 | .relative-h)
|
||||
* > [.main-color] .icon-cover-card.aksrt-icon-cover-card.flex.ac.(zib-widget|padding-10)
|
||||
* > .icon-cover-icon.badg.cir.(c-*|jb-*)[.radius4] (the badge)
|
||||
* > .icon-cover-desc.ml10.flex1.px12-sm
|
||||
* ============================================================ */
|
||||
|
||||
/* --- Equal-width cells + zibll gutters (both header wrapper aliases) --- */
|
||||
.header-slider-card .flex,
|
||||
.header-components-card .flex {
|
||||
display: flex;
|
||||
}
|
||||
.header-slider-card .flex.jse,
|
||||
.header-components-card .flex.jse,
|
||||
.header-slider-card .jse,
|
||||
.header-components-card .jse {
|
||||
justify-content: space-evenly;
|
||||
}
|
||||
.header-slider-card .flex-row,
|
||||
.header-components-card .flex-row {
|
||||
flex-direction: row;
|
||||
}
|
||||
.header-slider-card .flex.ac,
|
||||
.header-components-card .flex.ac,
|
||||
.header-slider-card .ac,
|
||||
.header-components-card .ac {
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.header-slider-card .gutters-5,
|
||||
.header-components-card .gutters-5,
|
||||
.header-slider-card .flex.jse.flex-row,
|
||||
.header-components-card .flex.jse.flex-row {
|
||||
margin: -5px;
|
||||
}
|
||||
.header-slider-card .gutters-5 > *,
|
||||
.header-components-card .gutters-5 > *,
|
||||
.header-slider-card .flex.jse.flex-row > *,
|
||||
.header-components-card .flex.jse.flex-row > * {
|
||||
padding: 5px !important;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
/* Higher-specificity scope selector wins over the single-post-only
|
||||
* zibll-utilities.css `.flex1{flex:1 1 auto}` so every card is equal-width:
|
||||
* zibll uses `flex:1; overflow:hidden`. */
|
||||
.header-slider-card .flex1,
|
||||
.header-components-card .flex1,
|
||||
.header-slider-card .flex .flex1,
|
||||
.header-components-card .flex .flex1 {
|
||||
flex: 1 1 0;
|
||||
overflow: hidden;
|
||||
min-width: 0;
|
||||
}
|
||||
.header-slider-card .relative-h,
|
||||
.header-components-card .relative-h {
|
||||
position: relative;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.header-slider-card,
|
||||
.header-components-card {
|
||||
position: relative;
|
||||
margin-top: -40px;
|
||||
z-index: 1;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.header-slider-card .zib-widget,
|
||||
.header-components-card .zib-widget {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
/* --- Card box: compact zibll proportions in every context --- */
|
||||
.icon-cover-card.aksrt-icon-cover-card {
|
||||
padding: 10px;
|
||||
font-size: 16px;
|
||||
line-height: 1.6;
|
||||
height: 100%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
/* --- Icon badge: fixed size so a custom (non-FA) icon cannot stretch it --- */
|
||||
.icon-cover-card .icon-cover-icon {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 45px;
|
||||
height: 45px;
|
||||
min-width: 45px;
|
||||
font-size: 25px;
|
||||
flex: 0 0 auto;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.icon-cover-card .icon-cover-icon > img,
|
||||
.icon-cover-card .icon-cover-icon > svg {
|
||||
width: 1.6em;
|
||||
height: 1.6em;
|
||||
max-width: 1.6em;
|
||||
max-height: 1.6em;
|
||||
object-fit: contain;
|
||||
}
|
||||
|
||||
/* --- Text column: equal truncation --- */
|
||||
.icon-cover-card .icon-cover-desc {
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
/* --- Mobile: two columns + zibll padding overrides --- */
|
||||
@media (max-width: 767px) {
|
||||
.header-slider-card,
|
||||
.header-components-card {
|
||||
margin-top: -35px;
|
||||
}
|
||||
.header-slider-card .flex.flex-row.flex-col-sm-2,
|
||||
.header-components-card .flex.flex-row.flex-col-sm-2 {
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.header-slider-card .flex.flex-row.flex-col-sm-2 > *,
|
||||
.header-components-card .flex.flex-row.flex-col-sm-2 > * {
|
||||
flex-basis: 50%;
|
||||
}
|
||||
.header-slider-card .icon-cover-card.zib-widget,
|
||||
.header-components-card .icon-cover-card.zib-widget {
|
||||
padding: 10px;
|
||||
}
|
||||
.header-slider-card .icon-cover-card.padding-10,
|
||||
.header-components-card .icon-cover-card.padding-10 {
|
||||
padding: 2px;
|
||||
}
|
||||
}
|
||||
@@ -1,64 +0,0 @@
|
||||
@import url("header-components/base.css");
|
||||
@import url("header-components/widget-device-visibility.css");
|
||||
@import url("header-components/admin-hint.css");
|
||||
@import url("header-components/dark-theme.css");
|
||||
@import url("header-components/card-device-visibility.css");
|
||||
@import url("header-components/search-keywords-row.css");
|
||||
|
||||
/* === homepage icon-card seams (must not rely solely on @import cache) === */
|
||||
.header-slider-card .flex,
|
||||
.header-components-card .flex { display: flex; }
|
||||
.header-slider-card .flex.jse,
|
||||
.header-components-card .flex.jse,
|
||||
.header-slider-card .jse,
|
||||
.header-components-card .jse { justify-content: space-evenly; }
|
||||
.header-slider-card .flex-row,
|
||||
.header-components-card .flex-row { flex-direction: row; }
|
||||
.header-slider-card .flex.ac,
|
||||
.header-components-card .flex.ac,
|
||||
.header-slider-card .ac,
|
||||
.header-components-card .ac { align-items: center; }
|
||||
.header-slider-card .gutters-5,
|
||||
.header-components-card .gutters-5,
|
||||
.header-slider-card .flex.jse.flex-row,
|
||||
.header-components-card .flex.jse.flex-row {
|
||||
margin: -5px;
|
||||
}
|
||||
.header-slider-card .gutters-5 > *,
|
||||
.header-components-card .gutters-5 > *,
|
||||
.header-slider-card .flex.jse.flex-row > *,
|
||||
.header-components-card .flex.jse.flex-row > * {
|
||||
padding: 5px !important;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.header-slider-card .flex1,
|
||||
.header-components-card .flex1,
|
||||
.header-slider-card .flex .flex1,
|
||||
.header-components-card .flex .flex1 {
|
||||
flex: 1 1 0;
|
||||
overflow: hidden;
|
||||
min-width: 0;
|
||||
}
|
||||
.header-slider-card,
|
||||
.header-components-card {
|
||||
position: relative;
|
||||
margin-top: -40px;
|
||||
z-index: 1;
|
||||
width: 100%;
|
||||
}
|
||||
.header-slider-card.container,
|
||||
.header-components-card.container {
|
||||
width: 100%;
|
||||
max-width: var(--container, var(--mian-max-width, 1200px));
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
padding-left: 15px;
|
||||
padding-right: 15px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.filter-blur .header-slider-card .zib-widget,
|
||||
.filter-blur .header-components-card .zib-widget {
|
||||
-webkit-backdrop-filter: saturate(5) blur(20px);
|
||||
backdrop-filter: saturate(5) blur(20px);
|
||||
background: var(--blur-bg, rgba(255, 255, 255, 0.75));
|
||||
}
|
||||
@@ -1,76 +0,0 @@
|
||||
/* Admin hint */
|
||||
.header-components__admin-hint {
|
||||
margin: 16px auto 0;
|
||||
padding: 8px 14px;
|
||||
border-radius: var(--radius-pill, 999px);
|
||||
background: rgba(0, 0, 0, 0.32);
|
||||
color: rgba(255, 255, 255, 0.95);
|
||||
font: 500 13px/1.4 var(--font-ui);
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.header-components__admin-link {
|
||||
color: #fff;
|
||||
text-decoration: underline;
|
||||
text-decoration-thickness: 1px;
|
||||
text-underline-offset: 2px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.header-components__admin-link:hover {
|
||||
color: #ffe082;
|
||||
}
|
||||
|
||||
/* Legacy form-class helpers (unused by zibll-aligned search; kept for admin-only markup) */
|
||||
.header-components-search__form {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
background: rgba(255, 255, 255, 0.95);
|
||||
border-radius: 50px;
|
||||
padding: 4px 4px 4px 20px;
|
||||
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
|
||||
backdrop-filter: blur(10px);
|
||||
transition: box-shadow 0.3s ease, transform 0.2s ease;
|
||||
}
|
||||
|
||||
.header-components-search__form:focus-within {
|
||||
box-shadow: 0 6px 30px rgba(0, 0, 0, 0.2);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
.header-components-search__icon {
|
||||
color: var(--color-ink-3, #999);
|
||||
font-size: 16px;
|
||||
margin-right: 12px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.header-components-search__input {
|
||||
flex: 1;
|
||||
border: none !important;
|
||||
background: transparent !important;
|
||||
box-shadow: none !important;
|
||||
font-size: 15px;
|
||||
padding: 10px 0;
|
||||
color: var(--color-ink);
|
||||
}
|
||||
|
||||
.header-components-search__input:focus {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.header-components-search__input::placeholder {
|
||||
color: var(--color-ink-4, #aaa);
|
||||
}
|
||||
|
||||
.header-components-search__btn {
|
||||
border-radius: 50px;
|
||||
padding: 10px 24px;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
@@ -1,192 +0,0 @@
|
||||
/* ============================================================
|
||||
* AKSRT Header Slider — v6.0 Zibll-Aligned
|
||||
*
|
||||
* Three layers:
|
||||
* - Layer 1: Swiper full-bleed background
|
||||
* - Layer 2: Search overlay (before_html + form + after_html)
|
||||
* - Layer 3: Icon cards (negative margin)
|
||||
*
|
||||
* Title/subtitle for the hero live in .header-slider-search-more.before
|
||||
* (document flow with the search form). .slide-text is decorative only.
|
||||
* ============================================================ */
|
||||
|
||||
/* ============================================================
|
||||
* .new-swiper base (zibll)
|
||||
* ============================================================ */
|
||||
.aksrt-slider-wrapper {
|
||||
position: relative;
|
||||
margin-bottom: 20px;
|
||||
border-radius: var(--main-radius, var(--radius, 8px));
|
||||
overflow: hidden;
|
||||
box-shadow: 0 0 10px var(--main-shadow, rgba(116, 116, 116, 0.08));
|
||||
}
|
||||
|
||||
.new-swiper {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
--pc-height: auto;
|
||||
--m-height: auto;
|
||||
}
|
||||
|
||||
.new-swiper .swiper-wrapper {
|
||||
height: var(--pc-height);
|
||||
}
|
||||
|
||||
.new-swiper .swiper-slide {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.new-swiper .swiper-slide img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.new-swiper .pagination-thumbnail-item {
|
||||
width: 60px;
|
||||
height: 40px;
|
||||
border-radius: 4px;
|
||||
overflow: hidden;
|
||||
opacity: 0.5;
|
||||
transition: opacity 0.3s, border-color 0.3s;
|
||||
border: 2px solid transparent;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.new-swiper .pagination-thumbnail-item img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.new-swiper .pagination-thumbnail-item-active {
|
||||
opacity: 1;
|
||||
border-color: #fff;
|
||||
}
|
||||
|
||||
.new-swiper [data-swiper-parallax] {
|
||||
transition: none;
|
||||
}
|
||||
|
||||
.new-swiper.scale-height .swiper-wrapper {
|
||||
height: 0;
|
||||
padding-bottom: var(--scale-ratio, 45%);
|
||||
}
|
||||
|
||||
/* ============================================================
|
||||
* Slide text — decorative layer (zibll .s-desc / .slide-text)
|
||||
* Main hero title is NOT here; it is search before_html.
|
||||
* ============================================================ */
|
||||
.aksrt-slide-text,
|
||||
.s-desc,
|
||||
.slide-text {
|
||||
position: absolute;
|
||||
color: #fff;
|
||||
bottom: 0;
|
||||
padding: 1.8em 2.5em;
|
||||
background: linear-gradient(0deg, rgba(0, 0, 0, 0.2), transparent);
|
||||
width: 100%;
|
||||
font-size: 16px;
|
||||
text-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
|
||||
z-index: 1;
|
||||
border-radius: 0 0 var(--main-radius, 8px) var(--main-radius, 8px);
|
||||
}
|
||||
|
||||
/* zibll: .slide-text unsets bottom bar, uses abs-center placement */
|
||||
.aksrt-slide-text,
|
||||
.slide-text:not(.s-desc) {
|
||||
background: unset;
|
||||
bottom: unset;
|
||||
--text-size-pc: 20px;
|
||||
font-size: var(--text-size-pc);
|
||||
opacity: 1;
|
||||
transition: opacity 1s;
|
||||
}
|
||||
|
||||
.aksrt-slide-text__title,
|
||||
.slide-title {
|
||||
font-family: var(--font-ui);
|
||||
font-size: inherit;
|
||||
font-weight: 600;
|
||||
margin: 0;
|
||||
line-height: 1.35;
|
||||
text-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
.s-desc .aksrt-slide-text__title,
|
||||
.s-desc .slide-title {
|
||||
font-size: 16px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.aksrt-slide-text__desc,
|
||||
.slide-desc {
|
||||
margin: 0.6em 0 0;
|
||||
line-height: 1.5;
|
||||
font-size: 60%;
|
||||
color: rgba(255, 255, 255, 0.95);
|
||||
text-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
.scale-height {
|
||||
--scale-height: 40%;
|
||||
--pc-height: 100%;
|
||||
--m-height: 100%;
|
||||
width: 100%;
|
||||
height: auto;
|
||||
aspect-ratio: 5 / 2;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
@supports not (aspect-ratio: 1 / 1) {
|
||||
.scale-height {
|
||||
height: 0;
|
||||
padding-bottom: var(--scale-height);
|
||||
box-sizing: content-box;
|
||||
aspect-ratio: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.scale-height .swiper-wrapper,
|
||||
.scale-height .swiper-slide img {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.new-swiper .swiper-wrapper {
|
||||
height: var(--m-height);
|
||||
}
|
||||
|
||||
.slide-text:not(.s-desc) {
|
||||
--text-size-m: 13px;
|
||||
font-size: var(--text-size-m);
|
||||
}
|
||||
}
|
||||
|
||||
/* ============================================================
|
||||
* Container
|
||||
* ============================================================ */
|
||||
.header-slider-container,
|
||||
.header-components-container {
|
||||
position: relative;
|
||||
isolation: isolate;
|
||||
width: 100%;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
/* Device visibility for hero/banner slides */
|
||||
@media (max-width: 767.98px) {
|
||||
.hero-slide--pc-only,
|
||||
.banner-slide--pc-only {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.hero-slide--mobile-only,
|
||||
.banner-slide--mobile-only {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
@@ -1,175 +0,0 @@
|
||||
/* ===== Card device visibility ===== */
|
||||
@media (min-width: 768px) {
|
||||
.hide-cards-pc .header-components-card { display: none; }
|
||||
}
|
||||
@media (max-width: 767px) {
|
||||
.hide-cards-mobile .header-components-card { display: none; }
|
||||
}
|
||||
|
||||
.theme-dark .header-components-search .line-form,
|
||||
html.dark .header-components-search .line-form {
|
||||
background: rgba(30, 30, 30, 0.86);
|
||||
color: #ddd;
|
||||
}
|
||||
|
||||
/* zibll base padding; leave room for abs-right submit */
|
||||
.header-components-search .search-input-text,
|
||||
.header-slider-search .search-input-text {
|
||||
position: relative;
|
||||
padding: 5px 42px 5px 10px;
|
||||
}
|
||||
|
||||
.header-components-search .line-form-input {
|
||||
width: 100%;
|
||||
padding: 0.65em 0 0.2em 0;
|
||||
font-size: 16px;
|
||||
border: none !important;
|
||||
outline: 0 !important;
|
||||
background: transparent !important;
|
||||
box-shadow: none !important;
|
||||
opacity: 0.92;
|
||||
color: var(--color-ink);
|
||||
}
|
||||
|
||||
.theme-dark .header-components-search .line-form-input,
|
||||
html.dark .header-components-search .line-form-input {
|
||||
color: #f2f2f2;
|
||||
}
|
||||
|
||||
.header-components-search .line-form-input::placeholder {
|
||||
color: transparent;
|
||||
}
|
||||
|
||||
.header-components-search .line-form-line,
|
||||
.header-components-search .line-form-line::before {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
height: 1px;
|
||||
transition: 0.4s;
|
||||
background: rgba(255, 255, 255, 0.34);
|
||||
}
|
||||
|
||||
.header-components-search .line-form-line::before {
|
||||
content: "";
|
||||
width: 0;
|
||||
background: rgba(255, 255, 255, 0.92);
|
||||
}
|
||||
|
||||
.header-components-search .line-form-input:focus ~ .line-form-line::before,
|
||||
.header-components-search .line-form-input:not(:placeholder-shown) ~ .line-form-line::before {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.header-components-search .scale-placeholder {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 0.72em;
|
||||
opacity: 0.68;
|
||||
transition: transform 0.2s, font-size 0.2s, color 0.2s, opacity 0.2s;
|
||||
pointer-events: none;
|
||||
transform-origin: left top;
|
||||
}
|
||||
|
||||
.header-components-search .scale-placeholder.is-focus,
|
||||
.header-components-search .line-form-input:focus ~ .scale-placeholder,
|
||||
.header-components-search .line-form-input:not(:placeholder-shown) ~ .scale-placeholder {
|
||||
transform: translateY(-1.45em);
|
||||
font-size: 12px;
|
||||
color: #fff;
|
||||
opacity: 0.92;
|
||||
}
|
||||
|
||||
/* zibll: .header-slider-search .line-form .abs-right { margin-top:0; margin-right:-6px; } */
|
||||
.header-components-search .line-form .abs-right,
|
||||
.header-slider-search .line-form .abs-right {
|
||||
position: absolute;
|
||||
right: 0.7em;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
margin-top: 0;
|
||||
margin-right: -6px;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.header-components-search__submit {
|
||||
width: 34px;
|
||||
height: 34px;
|
||||
border: none;
|
||||
border-radius: 999px;
|
||||
background: var(--color-primary, var(--color-primary));
|
||||
color: #fff;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.header-components-search__submit svg {
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
}
|
||||
|
||||
/* Search add-ons: category dropdown */
|
||||
.header-components-search__cat {
|
||||
appearance: none;
|
||||
-webkit-appearance: none;
|
||||
background: transparent;
|
||||
border: none;
|
||||
border-right: 1px solid rgba(255, 255, 255, 0.25);
|
||||
color: inherit;
|
||||
font-size: 13px;
|
||||
padding: 0 12px;
|
||||
min-width: 90px;
|
||||
max-width: 140px;
|
||||
cursor: pointer;
|
||||
outline: none;
|
||||
height: 40px;
|
||||
}
|
||||
|
||||
.header-components-search__cat option {
|
||||
color: #333;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
/* Search add-ons: type switcher */
|
||||
.header-components-search__types {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
padding: 0 8px;
|
||||
border-right: 1px solid rgba(255, 255, 255, 0.25);
|
||||
}
|
||||
|
||||
.header-components-search__type-label {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
cursor: pointer;
|
||||
font-size: 12px;
|
||||
padding: 3px 8px;
|
||||
border-radius: 100px;
|
||||
transition: background 0.2s, color 0.2s;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.header-components-search__type-radio {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.header-components-search__type-radio:checked + .header-components-search__type-text {
|
||||
color: var(--color-primary, #4a90d9);
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
/* has-addons: pill adjustments */
|
||||
.line-form.has-addons {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.line-form.has-addons .search-input-text {
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
@@ -1,174 +0,0 @@
|
||||
/* Dark theme */
|
||||
.theme-dark .header-components-search__form,
|
||||
html.dark .header-components-search__form,
|
||||
body.dark-theme .header-components-search__form {
|
||||
background: rgba(30, 30, 30, 0.9);
|
||||
}
|
||||
|
||||
|
||||
.theme-dark .header-components-search__input,
|
||||
html.dark .header-components-search__input,
|
||||
body.dark-theme .header-components-search__input {
|
||||
color: #eee;
|
||||
}
|
||||
|
||||
/* ============================================================
|
||||
* Layer 3: Icon cards — 1:1 zibll header-slider-card
|
||||
* DOM: .header-slider-card.container > (.zib-widget.padding-10|div)
|
||||
* > .flex.jse.flex-row.gutters-5.flex-col-sm-2
|
||||
* > (.flex1|.relative-h) > [.main-color >] .icon-cover-card.flex.ac.(zib-widget|padding-10)
|
||||
*
|
||||
* IMPORTANT: gutters/flex helpers must live here (not only zibll-utilities.css).
|
||||
* zibll-utilities was single-post-only, so homepage cards stuck together while
|
||||
* other pages that load utilities showed 10px gaps — exact user screenshot bug.
|
||||
* ============================================================ */
|
||||
|
||||
/* Self-contained zibll flex + gutters for header cards (page-type independent) */
|
||||
.header-slider-card .flex,
|
||||
.header-components-card .flex {
|
||||
display: flex;
|
||||
}
|
||||
.header-slider-card .flex.jse,
|
||||
.header-components-card .flex.jse,
|
||||
.header-slider-card .jse,
|
||||
.header-components-card .jse {
|
||||
justify-content: space-evenly;
|
||||
}
|
||||
.header-slider-card .flex-row,
|
||||
.header-components-card .flex-row {
|
||||
flex-direction: row;
|
||||
}
|
||||
.header-slider-card .flex.ac,
|
||||
.header-components-card .flex.ac,
|
||||
.header-slider-card .ac,
|
||||
.header-components-card .ac {
|
||||
align-items: center;
|
||||
}
|
||||
/* zibll: .gutters-5 { margin:-5px } > * { padding:5px } → 10px visual gap.
|
||||
* Use both gutters model AND flex gap so homepage (which used to miss
|
||||
* zibll-utilities) and any future cascade zero-padding still show seams. */
|
||||
.header-slider-card .gutters-5,
|
||||
.header-components-card .gutters-5,
|
||||
.header-slider-card .flex.jse.flex-row,
|
||||
.header-components-card .flex.jse.flex-row {
|
||||
margin: -5px;
|
||||
gap: 0; /* spacing comes from child padding to match zibll exactly */
|
||||
}
|
||||
.header-slider-card .gutters-5 > *,
|
||||
.header-components-card .gutters-5 > *,
|
||||
.header-slider-card .flex.jse.flex-row > *,
|
||||
.header-components-card .flex.jse.flex-row > * {
|
||||
padding: 5px !important;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.header-slider-card .flex1,
|
||||
.header-components-card .flex1,
|
||||
.header-slider-card .flex .flex1,
|
||||
.header-components-card .flex .flex1 {
|
||||
flex: 1 1 0;
|
||||
overflow: hidden;
|
||||
min-width: 0;
|
||||
}
|
||||
.header-slider-card .relative-h,
|
||||
.header-components-card .relative-h {
|
||||
position: relative;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.header-slider-card,
|
||||
.header-components-card {
|
||||
position: relative;
|
||||
margin-top: -40px;
|
||||
z-index: 1;
|
||||
/* Sit in normal flow after the slide shell; container is full-bleed */
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* Ensure .container max-width + horizontal padding match site main (zibll .container) */
|
||||
.header-slider-card.container,
|
||||
.header-components-card.container {
|
||||
width: 100%;
|
||||
max-width: var(--container, var(--mian-max-width, 1200px));
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
padding-left: 15px;
|
||||
padding-right: 15px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.header-slider-card .zib-widget,
|
||||
.header-components-card .zib-widget {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
/* zibll filter-blur glass on card surfaces + search form */
|
||||
.filter-blur .header-slider-search .line-form,
|
||||
.filter-blur .header-components-search .line-form,
|
||||
.filter-blur .header-slider-card .zib-widget,
|
||||
.filter-blur .header-components-card .zib-widget {
|
||||
-webkit-backdrop-filter: saturate(5) blur(20px);
|
||||
backdrop-filter: saturate(5) blur(20px);
|
||||
}
|
||||
|
||||
.filter-blur .header-slider-card .zib-widget,
|
||||
.filter-blur .header-components-card .zib-widget {
|
||||
background: var(--blur-bg, rgba(255, 255, 255, 0.75));
|
||||
}
|
||||
|
||||
.theme-dark .filter-blur .header-slider-card .zib-widget,
|
||||
html.dark .filter-blur .header-slider-card .zib-widget,
|
||||
body.dark-theme .filter-blur .header-slider-card .zib-widget,
|
||||
.theme-dark .filter-blur .header-components-card .zib-widget,
|
||||
html.dark .filter-blur .header-components-card .zib-widget,
|
||||
body.dark-theme .filter-blur .header-components-card .zib-widget {
|
||||
background: var(--blur-bg, rgba(30, 30, 30, 0.75));
|
||||
}
|
||||
|
||||
/* Device-split blur (AKSRT extension of zibll filter-blur) */
|
||||
@media (min-width: 768px) {
|
||||
.has-blur-pc .header-slider-card .zib-widget,
|
||||
.has-blur-pc .header-components-card .zib-widget {
|
||||
-webkit-backdrop-filter: saturate(5) blur(20px);
|
||||
backdrop-filter: saturate(5) blur(20px);
|
||||
background: var(--blur-bg, rgba(255, 255, 255, 0.75));
|
||||
}
|
||||
.has-blur-pc .header-components-search .line-form,
|
||||
.has-blur-pc .header-slider-search .line-form {
|
||||
background: rgba(255, 255, 255, 0.75);
|
||||
}
|
||||
.theme-dark .has-blur-pc .header-slider-card .zib-widget,
|
||||
html.dark .has-blur-pc .header-slider-card .zib-widget,
|
||||
.theme-dark .has-blur-pc .header-components-card .zib-widget,
|
||||
html.dark .has-blur-pc .header-components-card .zib-widget {
|
||||
background: var(--blur-bg, rgba(30, 30, 30, 0.75));
|
||||
}
|
||||
}
|
||||
@media (max-width: 767px) {
|
||||
.has-blur-mobile .header-slider-card .zib-widget,
|
||||
.has-blur-mobile .header-components-card .zib-widget {
|
||||
-webkit-backdrop-filter: saturate(5) blur(20px);
|
||||
backdrop-filter: saturate(5) blur(20px);
|
||||
background: var(--blur-bg, rgba(255, 255, 255, 0.75));
|
||||
}
|
||||
.has-blur-mobile .header-components-search .line-form,
|
||||
.has-blur-mobile .header-slider-search .line-form {
|
||||
background: rgba(255, 255, 255, 0.75);
|
||||
}
|
||||
.theme-dark .has-blur-mobile .header-slider-card .zib-widget,
|
||||
html.dark .has-blur-mobile .header-slider-card .zib-widget,
|
||||
.theme-dark .has-blur-mobile .header-components-card .zib-widget,
|
||||
html.dark .has-blur-mobile .header-components-card .zib-widget {
|
||||
background: var(--blur-bg, rgba(30, 30, 30, 0.75));
|
||||
}
|
||||
|
||||
.header-slider-card .icon-cover-card.zib-widget {
|
||||
padding: 10px;
|
||||
}
|
||||
.header-slider-card .icon-cover-card.padding-10 {
|
||||
padding: 2px;
|
||||
}
|
||||
.header-slider-card,
|
||||
.header-components-card {
|
||||
margin-top: -35px;
|
||||
}
|
||||
}
|
||||
@@ -1,463 +0,0 @@
|
||||
/* Search keywords row + zibll mobile search top offsets */
|
||||
|
||||
.header-components-search__keywords,
|
||||
.header-slider-search .search-keywords {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 6px;
|
||||
margin-top: 10px;
|
||||
justify-content: center;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* zibll: .header-slider-search .search_keywords, .header-slider-search .search-type-but-average .but */
|
||||
.header-components-search__kw-tag,
|
||||
.header-slider-search .search_keywords,
|
||||
.header-slider-search .search-keywords .but,
|
||||
.header-slider-search .search-type-but-average .but {
|
||||
--this-bg: rgba(255, 255, 255, 0.8);
|
||||
--this-color: #888;
|
||||
display: inline-block;
|
||||
padding: 3px 5px;
|
||||
font-size: 0.85em;
|
||||
line-height: 1.4;
|
||||
border-radius: 100px;
|
||||
background: var(--this-bg);
|
||||
color: var(--this-color);
|
||||
text-decoration: none;
|
||||
transition: background 0.2s;
|
||||
}
|
||||
|
||||
.header-slider-search .search-type-but-average .but.active {
|
||||
--this-bg: var(--focus-color, var(--color-primary));
|
||||
--this-color: #fff;
|
||||
}
|
||||
|
||||
.filter-blur .header-slider-search .search_keywords,
|
||||
.filter-blur .header-slider-search .search-keywords .but,
|
||||
.filter-blur .header-slider-search .search-type-but-average .but,
|
||||
.filter-blur .header-components-search__kw-tag {
|
||||
-webkit-backdrop-filter: saturate(5) blur(20px);
|
||||
backdrop-filter: saturate(5) blur(20px);
|
||||
}
|
||||
|
||||
.header-components-search__kw-tag:hover,
|
||||
.header-slider-search .search_keywords:hover,
|
||||
.header-slider-search .search-keywords .but:hover {
|
||||
background: rgba(255, 255, 255, 0.95);
|
||||
}
|
||||
|
||||
/* Hide default keywords title row inside hero overlay (zibll header search has no title line). */
|
||||
.header-slider-search .search-keywords > p {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.header-slider-search .search-keywords {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* zibll mobile (max-width: 767px) search / card offsets */
|
||||
@media (max-width: 767px) {
|
||||
|
||||
.header-slider-container .new-swiper.slide-header .swiper-wrapper,
|
||||
.new-swiper.slide-index.slide-header .swiper-wrapper {
|
||||
height: var(--m-height);
|
||||
}
|
||||
|
||||
.header-components:not(.new-swiper) {
|
||||
height: var(--m-height);
|
||||
}
|
||||
|
||||
.header-components--gradient {
|
||||
height: var(--m-height);
|
||||
}
|
||||
|
||||
.header-slider-search,
|
||||
.header-components-search,
|
||||
.header-slider-search.abs-center,
|
||||
.header-components-search.abs-center {
|
||||
font-size: 12px;
|
||||
top: calc(50% - 40px);
|
||||
width: 100%;
|
||||
max-width: 840px;
|
||||
padding: 0 20px;
|
||||
}
|
||||
|
||||
.card-1 .header-slider-search,
|
||||
.card-1 .header-components-search,
|
||||
.card-2 .header-slider-search,
|
||||
.card-2 .header-components-search {
|
||||
top: calc(50% - 1px);
|
||||
}
|
||||
|
||||
.card-5 .header-slider-search,
|
||||
.card-5 .header-components-search,
|
||||
.card-6 .header-slider-search,
|
||||
.card-6 .header-components-search {
|
||||
top: calc(50% - 83px);
|
||||
}
|
||||
|
||||
.card-7 .header-slider-search,
|
||||
.card-7 .header-components-search,
|
||||
.card-8 .header-slider-search,
|
||||
.card-8 .header-components-search {
|
||||
top: calc(50% - 120px);
|
||||
}
|
||||
|
||||
.header-slider-search-more.before {
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
.header-slider-search .line-form,
|
||||
.header-components-search .line-form {
|
||||
font-size: 14px;
|
||||
padding: 4px 12px;
|
||||
}
|
||||
|
||||
.header-slider-search .scale-placeholder.is-focus,
|
||||
.header-slider-search .line-form-input:focus ~ .scale-placeholder,
|
||||
.header-components-search .scale-placeholder.is-focus,
|
||||
.header-components-search .line-form-input:focus ~ .scale-placeholder {
|
||||
transform: translateY(-32px);
|
||||
font-size: 12px;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.header-slider-card,
|
||||
.header-components-card {
|
||||
margin-top: -35px;
|
||||
}
|
||||
|
||||
|
||||
.header-slider-card .icon-cover-card.zib-widget {
|
||||
padding: 10px;
|
||||
}
|
||||
.header-slider-card .icon-cover-card.padding-10 {
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
|
||||
/* zibll ~640px: slide-header text padding 52px */
|
||||
.header-components.slide-header .slide-text,
|
||||
.header-components.slide-header .header-components__content.slide-text {
|
||||
padding-top: 52px;
|
||||
}
|
||||
|
||||
.s-desc,
|
||||
.slide-text {
|
||||
padding: 0.7em;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 640px) {
|
||||
.header-components.slide-header .slide-text,
|
||||
.header-components.slide-header .header-components__content.slide-text {
|
||||
padding-top: 52px;
|
||||
}
|
||||
}
|
||||
|
||||
/* Nav transparent helpers (when hero is present) */
|
||||
.site-nav.nav-transparent {
|
||||
background-color: transparent;
|
||||
border-bottom-color: transparent;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.site-nav.nav-transparent .site-brand,
|
||||
.site-nav.nav-transparent .site-brand__name {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.site-nav.nav-transparent .icon-btn {
|
||||
color: rgba(255, 255, 255, 0.9);
|
||||
}
|
||||
|
||||
.site-nav.nav-transparent .icon-btn:hover {
|
||||
background: rgba(255, 255, 255, 0.15);
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.site-nav.nav-transparent ul.nav-desktop a {
|
||||
color: rgba(255, 255, 255, 0.85);
|
||||
}
|
||||
|
||||
.site-nav.nav-transparent ul.nav-desktop a:hover {
|
||||
color: #fff;
|
||||
background: rgba(255, 255, 255, 0.15);
|
||||
}
|
||||
|
||||
.site-nav.nav-transparent ul.nav-desktop .current-menu-item > a,
|
||||
.site-nav.nav-transparent ul.nav-desktop .current_page_item > a {
|
||||
background: rgba(255, 255, 255, 0.2);
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.site-nav.nav-transparent .nav-auth .btn-outline {
|
||||
border-color: rgba(255, 255, 255, 0.6);
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.site-nav.nav-transparent .nav-auth .btn-outline:hover {
|
||||
background: rgba(255, 255, 255, 0.15);
|
||||
border-color: #fff;
|
||||
}
|
||||
|
||||
.site-nav.nav-transparent .nav-user__toggle {
|
||||
border-color: rgba(255, 255, 255, 0.5);
|
||||
}
|
||||
|
||||
.site-nav.nav-transparent.is-scrolled {
|
||||
background-color: var(--surface-page);
|
||||
border-bottom-color: var(--color-line);
|
||||
color: var(--color-ink);
|
||||
}
|
||||
|
||||
.site-nav.nav-transparent.is-scrolled .site-brand,
|
||||
.site-nav.nav-transparent.is-scrolled .site-brand__name {
|
||||
color: var(--color-ink);
|
||||
}
|
||||
|
||||
.site-nav.nav-transparent.is-scrolled .icon-btn {
|
||||
color: var(--color-ink-3);
|
||||
}
|
||||
|
||||
.site-nav.nav-transparent.is-scrolled ul.nav-desktop a {
|
||||
color: var(--color-ink-3);
|
||||
}
|
||||
|
||||
.site-nav.nav-transparent.is-scrolled .nav-auth .btn-outline {
|
||||
border-color: var(--color-line);
|
||||
color: var(--color-ink);
|
||||
}
|
||||
|
||||
.site-nav.nav-transparent.is-scrolled .nav-user__toggle {
|
||||
border-color: var(--color-line);
|
||||
}
|
||||
|
||||
/* Swiper nav / pagination (header) */
|
||||
.header-components .swiper-button-prev,
|
||||
.header-components .swiper-button-next {
|
||||
width: 30px;
|
||||
height: 40px;
|
||||
color: #fff;
|
||||
text-shadow: 0 0 6px #444;
|
||||
opacity: 0;
|
||||
transition: opacity 0.3s, background-color 0.3s;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.header-components .swiper-button-prev::after,
|
||||
.header-components .swiper-button-next::after {
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.header-components:hover .swiper-button-prev,
|
||||
.header-components:hover .swiper-button-next {
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
.header-components .swiper-button-prev:hover,
|
||||
.header-components .swiper-button-next:hover {
|
||||
opacity: 1;
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
.header-components .swiper-pagination-bullet {
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
background: transparent;
|
||||
border: 2px solid rgba(255, 255, 255, 0.6);
|
||||
opacity: 0.7;
|
||||
border-radius: 20px;
|
||||
transition: 0.4s;
|
||||
}
|
||||
|
||||
.header-components .swiper-pagination-bullet-active {
|
||||
background: #fff;
|
||||
border-color: #fff;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
@media (max-width: 640px) {
|
||||
.header-components .swiper-button-prev,
|
||||
.header-components .swiper-button-next {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
/* ============================================================
|
||||
* Banner Module — zibll .s-desc style (unchanged geometry)
|
||||
* ============================================================ */
|
||||
.banner-module {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
border-radius: var(--main-radius, var(--radius, 8px));
|
||||
overflow: hidden;
|
||||
box-shadow: 0 0 10px var(--main-shadow, rgba(116, 116, 116, 0.08));
|
||||
margin-bottom: 20px;
|
||||
background: var(--main-bg-color, var(--surface-1));
|
||||
}
|
||||
|
||||
.banner-module__swiper {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: auto;
|
||||
aspect-ratio: 5 / 2;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
@supports not (aspect-ratio: 1 / 1) {
|
||||
.banner-module__swiper {
|
||||
height: 0;
|
||||
padding-bottom: 40%;
|
||||
box-sizing: content-box;
|
||||
}
|
||||
}
|
||||
|
||||
.banner-module__swiper .swiper-wrapper {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
width: 100%;
|
||||
height: 100% !important;
|
||||
}
|
||||
|
||||
.banner-module__swiper .swiper-slide {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
cursor: pointer;
|
||||
width: 100%;
|
||||
height: 100% !important;
|
||||
}
|
||||
|
||||
.banner-module__slide-bg {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.banner-module__slide-bg img,
|
||||
.banner-module__slide-bg .fit-cover {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
max-width: none;
|
||||
object-fit: cover;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.banner-module__slide-fallback {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: linear-gradient(135deg, var(--color-primary), var(--color-primary-active, var(--color-primary-dark)));
|
||||
}
|
||||
|
||||
.banner-module__slide-overlay {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
top: auto;
|
||||
height: 45%;
|
||||
background: linear-gradient(0deg, rgba(0, 0, 0, 0.2), transparent);
|
||||
pointer-events: none;
|
||||
border-radius: 0 0 var(--main-radius, 8px) var(--main-radius, 8px);
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.banner-module__content {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
z-index: 2;
|
||||
color: #fff;
|
||||
max-width: none;
|
||||
padding: 1.8em 2.5em;
|
||||
font-size: 16px;
|
||||
text-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
.banner-module__title {
|
||||
font-family: var(--font-ui);
|
||||
font-size: 16px;
|
||||
font-weight: normal;
|
||||
margin: 0 0 4px;
|
||||
line-height: 1.4;
|
||||
text-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
.banner-module__subtitle {
|
||||
font-size: 14px;
|
||||
margin: 0;
|
||||
opacity: 0.95;
|
||||
line-height: 1.5;
|
||||
text-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
.banner-module .swiper-button-prev,
|
||||
.banner-module .swiper-button-next {
|
||||
width: 30px;
|
||||
height: 40px;
|
||||
border-radius: 0;
|
||||
background: transparent;
|
||||
color: #fff;
|
||||
text-shadow: 0 0 6px #444;
|
||||
opacity: 0;
|
||||
pointer-events: none;
|
||||
z-index: 10;
|
||||
transition: opacity 0.3s, background-color 0.3s;
|
||||
}
|
||||
|
||||
.banner-module .swiper-button-prev::after,
|
||||
.banner-module .swiper-button-next::after {
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.banner-module:hover .swiper-button-prev,
|
||||
.banner-module:hover .swiper-button-next {
|
||||
opacity: 0.8;
|
||||
pointer-events: auto;
|
||||
}
|
||||
|
||||
.banner-module .swiper-button-prev:hover,
|
||||
.banner-module .swiper-button-next:hover {
|
||||
opacity: 1;
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
transform: none;
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.banner-module {
|
||||
border-radius: var(--main-radius, 8px);
|
||||
}
|
||||
|
||||
.banner-module__swiper {
|
||||
aspect-ratio: 2 / 1;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
@supports not (aspect-ratio: 1 / 1) {
|
||||
.banner-module__swiper {
|
||||
height: 0;
|
||||
padding-bottom: 50%;
|
||||
box-sizing: content-box;
|
||||
}
|
||||
}
|
||||
|
||||
.banner-module__content {
|
||||
padding: 1em 1.2em;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.banner-module__title {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.banner-module .swiper-button-prev,
|
||||
.banner-module .swiper-button-next {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
@@ -1,393 +0,0 @@
|
||||
/* Widget device visibility */
|
||||
@media (max-width: 767.98px) {
|
||||
.aksrt-widget--mobile-only {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.aksrt-widget--pc-only {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* Fixed homepage hero under-nav is owned by Zibll main.css. */
|
||||
|
||||
/* ============================================================
|
||||
* Layer 1: Swiper shell — zibll .new-swiper.slide-header
|
||||
* Height lives on CSS vars of .new-swiper; wrapper height = --pc-height / --m-height
|
||||
* ============================================================ */
|
||||
.header-slider-container .new-swiper.slide-header,
|
||||
.new-swiper.slide-index.slide-header {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
padding-top: 0;
|
||||
border-radius: 0;
|
||||
background: #111;
|
||||
/* Defaults if PHP did not set style vars */
|
||||
--pc-height: 550px;
|
||||
--m-height: 280px;
|
||||
}
|
||||
|
||||
.header-slider-container .new-swiper.slide-header .swiper-wrapper,
|
||||
.new-swiper.slide-index.slide-header .swiper-wrapper {
|
||||
height: var(--pc-height);
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.header-slider-container .new-swiper.slide-header .swiper-slide,
|
||||
.new-swiper.slide-index.slide-header .swiper-slide {
|
||||
position: relative;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
width: 100%;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
/* zibll: slide media fill wrapper height */
|
||||
.header-slider-container .new-swiper.slide-header .swiper-slide img,
|
||||
.header-slider-container .new-swiper.slide-header .swiper-slide video,
|
||||
.new-swiper.slide-index.slide-header .swiper-slide img,
|
||||
.new-swiper.slide-index.slide-header .swiper-slide video {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
border-radius: 0 !important;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.header-slider-container .new-swiper.slide-header .swiper-slide > a,
|
||||
.header-slider-container .new-swiper.slide-header .swiper-slide > span,
|
||||
.new-swiper.slide-index.slide-header .swiper-slide > a,
|
||||
.new-swiper.slide-index.slide-header .swiper-slide > span {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/* Keep legacy .header-components shell for gradient fallback only */
|
||||
.header-components:not(.new-swiper) {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
--pc-height: 550px;
|
||||
--m-height: 280px;
|
||||
height: var(--pc-height);
|
||||
max-height: none;
|
||||
overflow: hidden;
|
||||
background: #111;
|
||||
}
|
||||
|
||||
.header-components.slide-header:not(.new-swiper) {
|
||||
padding-top: 0;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
/* zibll: .slide-header .slide-text { padding-top: 70px; } — nav clearance only */
|
||||
.header-components.slide-header .slide-text,
|
||||
.header-components.slide-header .header-components__content.slide-text {
|
||||
padding-top: 70px;
|
||||
}
|
||||
|
||||
/* Gradient fallback */
|
||||
.header-components--gradient {
|
||||
background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-active, var(--color-primary-dark)) 100%);
|
||||
display: block;
|
||||
position: relative;
|
||||
height: var(--pc-height);
|
||||
}
|
||||
|
||||
.header-components--gradient::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
background: radial-gradient(ellipse 80% 60% at 20% 20%, rgba(255, 255, 255, 0.15), transparent),
|
||||
radial-gradient(ellipse 50% 50% at 80% 80%, rgba(0, 0, 0, 0.2), transparent);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.header-components:not(.new-swiper) .swiper-wrapper {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.header-components:not(.new-swiper) .swiper-slide {
|
||||
position: relative;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* Legacy BEM slide bg — only when old markup still present */
|
||||
.header-components__slide-bg {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.header-components__slide-bg img,
|
||||
.header-components__slide-bg .fit-cover {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.header-components__slide-fallback {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));
|
||||
}
|
||||
|
||||
.header-components__video {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
.header-components__layer {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
background-size: cover;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.header-components__layer--free-size {
|
||||
background-size: auto;
|
||||
}
|
||||
|
||||
.header-components__layer--parallax {
|
||||
will-change: transform, opacity;
|
||||
opacity: var(--layer-parallax-opacity, 0.6);
|
||||
transform: translateY(calc(var(--scroll-y, 0) * var(--layer-parallax-scale, 0.3) * 1px));
|
||||
}
|
||||
|
||||
/* Text parallax — keep abs-center vertical model (translateY only when abs-center is full-width) */
|
||||
.has-text-parallax {
|
||||
will-change: transform;
|
||||
}
|
||||
|
||||
.header-components__content[style*="--hero-text-size-pc"] .slide-title,
|
||||
.header-components__content[style*="--text-size-pc"] .slide-title {
|
||||
font-size: inherit;
|
||||
}
|
||||
|
||||
.header-components__slide-overlay {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
background: linear-gradient(
|
||||
to bottom,
|
||||
rgba(0, 0, 0, 0.05) 0%,
|
||||
rgba(0, 0, 0, 0.12) 55%,
|
||||
rgba(0, 0, 0, 0.28) 100%
|
||||
);
|
||||
z-index: 1;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* Bottom-bar .s-desc mode */
|
||||
.header-components__content.s-desc,
|
||||
.header-components__content.slide-text.s-desc {
|
||||
top: auto;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
transform: none;
|
||||
width: 100%;
|
||||
max-width: none;
|
||||
text-align: left;
|
||||
padding: 1.8em 2.5em;
|
||||
background: linear-gradient(0deg, rgba(0, 0, 0, 0.2), transparent);
|
||||
border-radius: 0 0 var(--main-radius, 8px) var(--main-radius, 8px);
|
||||
text-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.header-components__content.s-desc .header-components__title,
|
||||
.header-components__content.s-desc .slide-title {
|
||||
font-size: 16px;
|
||||
font-weight: normal;
|
||||
text-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
|
||||
letter-spacing: 0;
|
||||
}
|
||||
|
||||
.header-components__content.slide-text {
|
||||
background: unset;
|
||||
}
|
||||
|
||||
/* ============================================================
|
||||
* Layer 2: Search — zibll .header-slider-search
|
||||
* Full-width abs-center + fine-tuned top (NOT point-centered).
|
||||
* Title/subtitle are in .header-slider-search-more.before (flow).
|
||||
* ============================================================ */
|
||||
.header-slider-search.abs-center,
|
||||
.header-components-search.abs-center {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
top: calc(50% - 10px);
|
||||
transform: translateY(-50%);
|
||||
z-index: 2;
|
||||
margin: auto;
|
||||
max-width: 840px;
|
||||
padding: 0 20px;
|
||||
font-size: 17px;
|
||||
color: #fff;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.header-slider-search,
|
||||
.header-components-search {
|
||||
max-width: 840px;
|
||||
margin: auto;
|
||||
padding: 0 20px;
|
||||
font-size: 17px;
|
||||
top: calc(50% - 10px);
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.card-0 .header-slider-search,
|
||||
.card-0 .header-components-search {
|
||||
top: calc(50% + 20px);
|
||||
}
|
||||
|
||||
.header-slider-search .search-input,
|
||||
.header-components-search .search-input {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.header-slider-search-more {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.header-slider-search-more.before {
|
||||
margin-bottom: 1.8em;
|
||||
}
|
||||
|
||||
.header-slider-search .search-form,
|
||||
.header-components-search .search-form {
|
||||
margin: 0;
|
||||
display: block;
|
||||
background: transparent;
|
||||
border-radius: 0;
|
||||
padding: 0;
|
||||
box-shadow: none;
|
||||
-webkit-backdrop-filter: none;
|
||||
backdrop-filter: none;
|
||||
transform: none;
|
||||
}
|
||||
|
||||
.header-slider-search .line-form,
|
||||
.header-components-search .line-form {
|
||||
background: rgba(255, 255, 255, 0.8);
|
||||
border-radius: 100px;
|
||||
padding: 0.5em 1.2em;
|
||||
z-index: 1;
|
||||
color: #555;
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.has-blur-pc .header-slider-search .line-form,
|
||||
.has-blur-mobile .header-slider-search .line-form,
|
||||
.filter-blur .header-slider-search .line-form,
|
||||
.has-blur-pc .header-components-search .line-form,
|
||||
.has-blur-mobile .header-components-search .line-form,
|
||||
.filter-blur .header-components-search .line-form {
|
||||
-webkit-backdrop-filter: saturate(5) blur(20px);
|
||||
backdrop-filter: saturate(5) blur(20px);
|
||||
}
|
||||
|
||||
.header-slider-search .line-form .icon,
|
||||
.header-slider-search .line-form a,
|
||||
.header-components-search .line-form .icon,
|
||||
.header-components-search .line-form a {
|
||||
color: #555;
|
||||
}
|
||||
|
||||
/* ============================================================
|
||||
* Layer 3: Icon cards — margin-top:-40px (zibll)
|
||||
* ============================================================ */
|
||||
.header-slider-card,
|
||||
.header-components-card {
|
||||
position: relative;
|
||||
margin-top: -40px;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.header-components-card .zib-widget,
|
||||
.header-components-card .aksrt-theme-box,
|
||||
.header-components-card .icon-cover-card {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.has-blur-pc .header-components-card .zib-widget,
|
||||
.has-blur-pc .header-components-card .aksrt-theme-box,
|
||||
.has-blur-mobile .header-components-card .zib-widget,
|
||||
.filter-blur .header-components-card .zib-widget {
|
||||
-webkit-backdrop-filter: saturate(5) blur(20px);
|
||||
backdrop-filter: saturate(5) blur(20px);
|
||||
background: var(--blur-bg);
|
||||
}
|
||||
|
||||
.header-components.slide-header .swiper-slide img,
|
||||
.header-components.slide-header .header-components__slide-bg img {
|
||||
border-radius: 0 !important;
|
||||
}
|
||||
|
||||
/* Decorative slide text content (not the main hero stack) */
|
||||
.header-components__content.slide-text:not(.s-desc) {
|
||||
/* Placement comes from .abs-center + optional alignment modifiers */
|
||||
z-index: 1;
|
||||
color: #fff;
|
||||
max-width: none;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.header-components__title,
|
||||
.header-components .slide-title {
|
||||
font-family: var(--font-ui);
|
||||
font-weight: 600;
|
||||
margin: 0;
|
||||
line-height: 1.35;
|
||||
letter-spacing: 0;
|
||||
color: #fff;
|
||||
text-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
.header-components__subtitle,
|
||||
.header-components .slide-desc {
|
||||
margin: 0.6em 0 0;
|
||||
line-height: 1.5;
|
||||
color: rgba(255, 255, 255, 0.95);
|
||||
text-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
.header-components__description {
|
||||
font-size: 0.85em;
|
||||
margin: 0.4em 0 0;
|
||||
line-height: 1.5;
|
||||
color: rgba(255, 255, 255, 0.85);
|
||||
text-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
|
||||
/* zibll: header-slider-search .search-input-text .line-form-line { display:none } */
|
||||
.header-slider-search .search-input-text .line-form-line,
|
||||
.header-components-search .search-input-text .line-form-line {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.header-slider-search .search-type-but-average {
|
||||
margin-bottom: 2em;
|
||||
}
|
||||
@@ -106,6 +106,7 @@ trait ScriptsPart1b {
|
||||
// AKSRT domain styles load after Zibll main.css. The old aggregate is
|
||||
// intentionally not used because it contains the removed navigation CSS.
|
||||
$enqueue_module('base');
|
||||
$enqueue_module('header-cards');
|
||||
$enqueue_module('card-primitives');
|
||||
$enqueue_module('overlay-primitives');
|
||||
$enqueue_module('layout');
|
||||
|
||||
@@ -25,13 +25,13 @@ test('icon card renderers keep vertical and horizontal Zibll DOM contracts separ
|
||||
});
|
||||
|
||||
test('homepage horizontal cards use the shared compact card contract and retain Zibll responsive rules', () => {
|
||||
const css = read('assets/css/frontend/header-components/dark-theme.css');
|
||||
const css = read('assets/css/frontend/header-cards.css');
|
||||
const baseCss = read('assets/css/frontend/base.css');
|
||||
const widgetCss = read('assets/widgets/frontend.css');
|
||||
|
||||
assert.match(baseCss, /\.icon-cover-card\.aksrt-icon-cover-card\s*\{\s*padding:\s*10px;\s*font-size:\s*16px;/);
|
||||
assert.match(css, /\.header-slider-card \.icon-cover-card\.zib-widget \{\s*padding: 10px;/);
|
||||
assert.match(css, /\.header-slider-card \.icon-cover-card\.padding-10 \{\s*padding: 2px;/);
|
||||
assert.match(css, /\.icon-cover-card\.zib-widget[\s\S]*?padding:\s*10px;/);
|
||||
assert.match(css, /\.icon-cover-card\.padding-10[\s\S]*?padding:\s*2px;/);
|
||||
assert.doesNotMatch(css, /\.header-slider-card \.icon-cover-icon\.badg\.cir/);
|
||||
assert.doesNotMatch(css, /\.header-slider-card \.icon-cover-icon img/);
|
||||
assert.doesNotMatch(widgetCss, /aksrt-widget-icon-cards \.icon-cover-card/);
|
||||
|
||||
Reference in New Issue
Block a user