/* HIBO Home UI V1.14.2
   Visual continuity layer for the HIBO storefront.
   Component names are HIBO-owned; no legacy theme class names are used here. */

.hibo-home-slideshow{margin:0 0 16px}
.hibo-home-slideshow__top-banner{display:none;width:100%}
.hibo-home-slideshow__top-banner>a{display:block;width:100%;height:100%}
.hibo-home-ratio{position:relative;display:block;width:100%;overflow:hidden;background:#fff}
.hibo-home-ratio>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.hibo-home-ratio--4x1{aspect-ratio:4/1}
.hibo-home-ratio--3x1{aspect-ratio:3/1}

/* Desktop keeps the familiar HIBO visual: two small banners are visible per frame.
   Each banner itself remains 3:1; the combined viewport therefore looks much shallower. */
.hibo-main-slider{position:relative;overflow:visible}
.hibo-main-slider__viewport{overflow:hidden;border-radius:10px}
.hibo-main-slider__track{display:flex;gap:15px;will-change:transform;transition:transform .45s ease}
.hibo-main-slider__slide{position:relative!important;inset:auto!important;display:block;flex:0 0 calc((100% - 15px)/2);min-width:0;opacity:1!important;visibility:visible!important}
.hibo-main-slider__link{display:block;width:100%;height:100%;border-radius:10px;overflow:hidden}
.hibo-main-slider__arrow{position:absolute;top:50%;z-index:4;width:38px;height:38px;transform:translateY(-50%);border:0;border-radius:50%;background:rgba(255,255,255,.94);box-shadow:0 2px 10px rgba(0,0,0,.12);color:#333;font-size:25px;line-height:1;opacity:0;cursor:pointer;transition:opacity .2s ease,transform .2s ease}
.hibo-main-slider:hover .hibo-main-slider__arrow,.hibo-main-slider:focus-within .hibo-main-slider__arrow{opacity:1}
.hibo-main-slider__arrow--prev{left:12px}
.hibo-main-slider__arrow--next{right:12px}
.hibo-main-slider__dots{display:flex;justify-content:center;gap:5px;margin-top:8px;min-height:6px}
.hibo-main-slider__dots button{width:20px;height:5px;padding:0;border:0;border-radius:999px;background:#d7d7d7;cursor:pointer;transition:width .2s ease,background .2s ease}
.hibo-main-slider__dots button.active{width:34px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.12)}
.hibo-main-slider[data-single-page="true"] .hibo-main-slider__arrow,
.hibo-main-slider[data-single-page="true"] .hibo-main-slider__dots{display:none}
.hibo-main-slider:not(:has([data-slide])){display:none}

.hibo-policy-section{margin-top:16px;margin-bottom:16px}
.hibo-policy-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:12px;background:#fff;border-radius:10px}
.hibo-policy-item{display:flex;align-items:center;justify-content:center;gap:12px;min-width:0;padding:8px 10px;font-size:1.2rem;text-align:left}
.hibo-policy-item img{flex:0 0 auto;width:40px;height:40px;max-width:40px;object-fit:contain;image-rendering:-webkit-optimize-contrast}
.hibo-policy-item__text{min-width:0;line-height:1.35}

@media (min-width:768px){
  .hibo-home-slideshow__top-banner{display:block}
  .hibo-home-slideshow__container--overlap .hibo-main-slider{margin-top:calc((-100% + 30px)/12)}
}

@media (max-width:991px){
  .hibo-main-slider__arrow{display:none!important}
  .hibo-policy-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:767px){
  .hibo-home-slideshow{margin-bottom:12px}
  .hibo-main-slider__viewport{border-radius:10px}
  .hibo-main-slider__track{gap:0}
  .hibo-main-slider__slide{flex-basis:100%}
  .hibo-main-slider__dots{margin-top:6px}
  .hibo-policy-section{margin-block:12px}
  .hibo-policy-list{gap:8px;padding:0;background:transparent}
  .hibo-policy-item{justify-content:flex-start;min-height:64px;padding:10px;border:1px dashed var(--theme-primary);border-radius:10px;background:#fff;font-size:1rem}
  .hibo-policy-item img{width:35px;height:35px;max-width:35px}
}

@media (max-width:420px){
  .hibo-policy-list{grid-template-columns:1fr 1fr}
  .hibo-policy-item{gap:8px;padding:8px;font-size:.92rem}
  .hibo-policy-item img{width:32px;height:32px}
}

/* HIBO Home category grid — fixed-width product-category cards, denser and closer to Sapo behavior. */
.hibo-home-category-section{margin-top:16px;margin-bottom:16px}
.hibo-home-category-surface{padding:16px;background:#fff;border-radius:8px}
.hibo-home-category-title{position:relative;margin:0;padding:0 0 14px;font-size:18px;font-weight:700;line-height:1.3;text-transform:uppercase;color:#111}
.hibo-home-category-scroll{min-width:0}
.hibo-home-category-grid{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:stretch;gap:14px}
.hibo-home-category-card{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;position:relative;min-width:0;min-height:148px;padding:14px 10px 12px;border:1px solid #ededed;border-radius:12px;background:#fff;box-shadow:0 0 5px 0 #e5e5e5;color:#000;text-decoration:none;transition:box-shadow .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}
.hibo-home-category-card:hover,.hibo-home-category-card:focus-visible{border-color:var(--theme-primary);box-shadow:0 0 5px 0 var(--theme-primary);outline:none;transform:translateY(-1px)}
.hibo-home-category-image{display:flex;align-items:center;justify-content:center;width:84px;height:84px;overflow:hidden;border-radius:20px;background:#fff}
.hibo-home-category-image img{display:block;width:100%;height:100%;object-fit:contain}
.hibo-home-category-name{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:12px 0 0;font-size:14px;font-weight:600;line-height:1.35;text-align:center;color:#111}
.hibo-home-category-card:hover .hibo-home-category-name,.hibo-home-category-card:focus-visible .hibo-home-category-name{color:var(--theme-primary)}

@media (min-width:1200px){
  .hibo-home-category-card{flex:0 0 calc((100% - 70px)/6);max-width:calc((100% - 70px)/6)}
}
@media (min-width:768px) and (max-width:1199px){
  .hibo-home-category-card{flex:0 0 calc((100% - 42px)/4);max-width:calc((100% - 42px)/4)}
}
@media (max-width:767px){
  .hibo-home-category-section{margin-top:12px;margin-bottom:12px}
  .hibo-home-category-surface{padding:10px}
  .hibo-home-category-title{padding-bottom:10px;font-size:17px}
  .hibo-home-category-scroll{overflow-x:auto;overflow-y:hidden;padding:5px 2px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .hibo-home-category-scroll::-webkit-scrollbar{display:none}
  .hibo-home-category-grid{width:max-content;flex-wrap:nowrap;justify-content:flex-start;gap:10px}
  .hibo-home-category-card{flex:0 0 108px;min-width:108px;max-width:108px;min-height:128px;padding:10px 8px}
  .hibo-home-category-image{width:64px;height:64px;border-radius:18px}
  .hibo-home-category-name{margin-top:10px;font-size:13px}
}

/* HIBO Home brand grid — follows the old storefront brand proportions without legacy class names. */
.hibo-home-category-section--brand .hibo-home-category-grid{gap:15px}
.hibo-home-category-section--brand .hibo-home-category-card{min-height:132px}
.hibo-home-category-section--brand .hibo-home-category-image{width:60px;height:60px;border-radius:20px}
.hibo-home-category-section--brand .hibo-home-category-name{margin-top:10px;font-weight:600}
@media (min-width:1200px){
  .hibo-home-category-section--brand .hibo-home-category-card{flex:0 0 calc((100% - 75px)/6);max-width:calc((100% - 75px)/6)}
}
@media (min-width:768px) and (max-width:1199px){
  .hibo-home-category-section--brand .hibo-home-category-card{flex:0 0 calc((100% - 45px)/4);max-width:calc((100% - 45px)/4)}
}
@media (max-width:767px){
  .hibo-home-category-section--brand .hibo-home-category-grid{gap:15px}
  .hibo-home-category-section--brand .hibo-home-category-card{flex-basis:100px;min-width:100px;max-width:100px;min-height:118px}
  .hibo-home-category-section--brand .hibo-home-category-image{width:60px;height:60px}
}

/* HIBO Home Top Trending — aligned to the legacy HIBO storefront visual language. */
.hibo-home-trending-section{margin-top:16px;margin-bottom:16px}
.hibo-home-trending-shell{padding:16px 16px 2px;border-radius:8px;background:linear-gradient(90deg,var(--hibo-trending-start) 0%,var(--hibo-trending-end) 100%)}
.hibo-home-trending-title{margin:0;padding:0 0 14px;font-size:18px;font-weight:700;line-height:1.3;text-transform:uppercase;color:var(--hibo-trending-title)}
.hibo-home-trending-scroll{min-width:0}
.hibo-home-trending-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.hibo-home-trending-card{display:flex;min-width:0;height:100%;padding:14px;border:1px solid rgba(0,0,0,.05);border-radius:10px;background:#fff;color:#111;text-decoration:none;box-shadow:0 1px 3px rgba(0,0,0,.04);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;flex-direction:column}
.hibo-home-trending-card:hover,.hibo-home-trending-card:focus-visible{border-color:var(--theme-primary);box-shadow:0 0 5px 0 var(--theme-primary);outline:none;transform:translateY(-1px)}
.hibo-home-trending-images{display:flex;width:100%;gap:10px}
.hibo-home-trending-image{display:flex;align-items:center;justify-content:center;position:relative;flex:1 1 0;max-width:50%;aspect-ratio:1;overflow:hidden;border-radius:10px;background:#fafafa}
.hibo-home-trending-image img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}
.hibo-home-trending-info{display:block;position:relative;width:100%;min-height:48px;margin-top:10px;padding-right:50px}
.hibo-home-trending-kicker{display:block;margin-bottom:2px;font-size:14px;line-height:1.25;color:var(--theme-primary)}
.hibo-home-trending-info strong{display:block;font-size:17px;line-height:1.3}
.hibo-home-trending-arrow{display:flex;align-items:center;justify-content:center;position:absolute;right:5px;top:50%;width:40px;height:40px;border-radius:50%;background:#f8f8f8;color:#9d9d9d;font-size:22px;font-weight:700;transform:translateY(-50%);transition:right .2s ease,color .2s ease}
.hibo-home-trending-card:hover .hibo-home-trending-arrow,.hibo-home-trending-card:focus-visible .hibo-home-trending-arrow{right:-2px;color:var(--theme-primary)}

@media (max-width:991px){
  .hibo-home-trending-scroll{overflow-x:auto;overflow-y:hidden;padding-bottom:14px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .hibo-home-trending-scroll::-webkit-scrollbar{display:none}
  .hibo-home-trending-grid{display:flex;width:max-content;gap:10px}
  .hibo-home-trending-card{flex:0 0 310px;width:310px}
}
@media (max-width:575px){
  .hibo-home-trending-section{margin-top:12px;margin-bottom:12px}
  .hibo-home-trending-shell{padding:10px 10px 0}
  .hibo-home-trending-title{padding-bottom:10px;font-size:17px}
  .hibo-home-trending-card{flex-basis:82vw;width:82vw;max-width:330px;padding:12px}
  .hibo-home-trending-info strong{font-size:15px}
  .hibo-home-trending-kicker{font-size:13px}
  .hibo-home-trending-arrow{width:36px;height:36px}
}


/* HIBO Home Flash Sale — aligned with the former storefront's visual behavior. */
.hibo-flash-section{margin-top:16px;margin-bottom:16px}
.hibo-flash-sale{padding:10px;border-radius:10px;background:linear-gradient(180deg,var(--hibo-flash-start) 0%,var(--hibo-flash-end) 100%);overflow:hidden}
.hibo-flash-sale__head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:2px 6px 10px}
.hibo-flash-sale__title-wrap{display:flex;align-items:center;min-width:0;flex:1;gap:18px}
.hibo-flash-sale__title{display:flex;align-items:center;flex:0 0 auto;margin:0;font-size:20px;font-weight:800;line-height:1.2;text-transform:uppercase;color:var(--hibo-flash-title)}
.hibo-flash-sale__title a{display:flex;align-items:center;gap:7px;color:inherit;text-decoration:none}
.hibo-flash-sale__title img{display:block;width:28px;height:28px;object-fit:contain}
.hibo-flash-sale__bolt{display:inline-grid;place-items:center;width:28px;height:28px;font-size:24px}
.hibo-flash-ticker{position:relative;min-width:0;flex:1;height:22px;overflow:hidden}
.hibo-flash-ticker__item{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease,visibility .25s}
.hibo-flash-ticker__item.is-active{opacity:1;visibility:visible;transform:translateY(0)}
.hibo-flash-ticker__item a,.hibo-flash-ticker__item span{display:block;overflow:hidden;max-width:100%;color:#fff;font-size:14px;line-height:22px;text-overflow:ellipsis;white-space:nowrap;text-decoration:none}
.hibo-flash-countdown{display:flex;align-items:center;gap:5px;flex:0 0 auto}
.hibo-flash-countdown__item{position:relative;display:inline-flex;align-items:baseline;justify-content:center;min-width:36px;padding:6px 7px;border-radius:5px;background:rgba(0,0,0,.18);color:#fff}
.hibo-flash-countdown__item:not(:first-child)::before{content:":";position:absolute;left:-5px;top:50%;transform:translate(-50%,-52%);font-weight:800;color:#fff}
.hibo-flash-countdown__item b{font-size:15px;line-height:1}
.hibo-flash-countdown__item small{margin-left:4px;font-size:10px;font-weight:700;text-transform:lowercase}
.hibo-flash-countdown__day{min-width:64px}
.hibo-flash-sale__products{position:relative}
.hibo-flash-sale .hibo-product-scroller{padding:2px 2px 4px;gap:10px}
.hibo-flash-sale .hibo-product-card{border-radius:10px}
.hibo-flash-sale .sale-badge{z-index:2}

@media (max-width:991px){
  .hibo-flash-sale__head{align-items:flex-start;flex-direction:column;gap:8px;padding:2px 3px 8px}
  .hibo-flash-sale__title-wrap{width:100%;flex-direction:column;align-items:flex-start;gap:6px}
  .hibo-flash-ticker{width:100%;height:20px}
  .hibo-flash-ticker__item{justify-content:flex-start}
  .hibo-flash-countdown{align-self:center}
}
@media (max-width:575px){
  .hibo-flash-section{margin-top:12px;margin-bottom:12px}
  .hibo-flash-sale{padding:8px}
  .hibo-flash-sale__title{font-size:17px}
  .hibo-flash-sale__title img,.hibo-flash-sale__bolt{width:24px;height:24px}
  .hibo-flash-countdown__item{min-width:34px;padding:5px 6px}
  .hibo-flash-countdown__day{min-width:58px}
}


/* HIBO Home Product 2 (Tabs). */
.hibo-product-tabs-section{margin-top:16px;margin-bottom:16px}
.hibo-product-tabs-surface{padding:12px;background:#fff;border-radius:8px}
.hibo-product-tabs-nav-wrap{overflow:hidden;margin-bottom:10px;border-bottom:1px solid #ececec}
.hibo-product-tabs-nav{display:flex;align-items:center;gap:4px;overflow-x:auto;overflow-y:hidden;padding:0 2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.hibo-product-tabs-nav::-webkit-scrollbar{display:none}
.hibo-product-tabs-button{position:relative;flex:0 0 auto;border:0;padding:10px 14px 11px;background:transparent;color:#333;font:inherit;font-size:15px;font-weight:700;white-space:nowrap;cursor:pointer}
.hibo-product-tabs-button::after{content:"";position:absolute;left:50%;right:50%;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--theme-primary);transition:left .2s ease,right .2s ease}
.hibo-product-tabs-button:hover,.hibo-product-tabs-button:focus-visible,.hibo-product-tabs-button.active{color:var(--theme-primary);outline:none}
.hibo-product-tabs-button.active::after{left:10px;right:10px}
.hibo-product-tabs-panel[hidden]{display:none!important}
.hibo-product-tabs-products{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.hibo-product-tabs-more{display:flex;justify-content:center;padding-top:12px}
.hibo-product-tabs-more a{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:36px;padding:7px 18px;border:1px solid var(--theme-primary);border-radius:18px;color:var(--theme-primary);font-size:13px;font-weight:700;text-decoration:none;transition:background .2s ease,color .2s ease}
.hibo-product-tabs-more a:hover,.hibo-product-tabs-more a:focus-visible{background:var(--theme-primary);color:#fff;outline:none}

@media (max-width:1199px){
  .hibo-product-tabs-products{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:767px){
  .hibo-product-tabs-section{margin-top:12px;margin-bottom:12px}
  .hibo-product-tabs-surface{padding:8px}
  .hibo-product-tabs-nav-wrap{margin-bottom:8px}
  .hibo-product-tabs-button{padding:9px 11px 10px;font-size:13px}
  .hibo-product-tabs-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .hibo-product-tabs-more{padding-top:10px}
}


/* HIBO Home — Product 3: collection + two square banners. */
.hibo-product-collection-section{margin-top:16px;margin-bottom:16px}
.hibo-product-collection-surface{padding:12px;background:#fff;border-radius:8px}
.hibo-product-collection-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:2px 2px 12px;border-bottom:1px solid #f0f0f0}
.hibo-product-collection-title{flex:0 0 auto;margin:0;font-size:20px;font-weight:800;line-height:1.25;text-transform:uppercase}
.hibo-product-collection-title a{color:#111;text-decoration:none}
.hibo-product-collection-title a:hover,.hibo-product-collection-title a:focus-visible{color:var(--theme-primary);outline:none}
.hibo-product-collection-links{display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:0;overflow-x:auto;scrollbar-width:none}
.hibo-product-collection-links::-webkit-scrollbar{display:none}
.hibo-product-collection-links a{flex:0 0 auto;padding:7px 11px;border:1px solid transparent;border-radius:7px;background:#f3f4f6;color:#444;font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap;transition:border-color .2s ease,color .2s ease,background .2s ease}
.hibo-product-collection-links a:hover,.hibo-product-collection-links a:focus-visible{border-color:var(--theme-primary);background:#fff;color:var(--theme-primary);outline:none}

.hibo-product-collection-layout{display:grid;grid-template-columns:minmax(0,1fr) 25%;gap:12px;padding-top:12px;align-items:start}
.hibo-product-collection-layout.banners-right .hibo-product-collection-products{grid-column:1;grid-row:1}
.hibo-product-collection-layout.banners-right .hibo-product-collection-banners{grid-column:2;grid-row:1}
.hibo-product-collection-layout:not(.banners-right){grid-template-columns:25% minmax(0,1fr)}
.hibo-product-collection-layout:not(.banners-right) .hibo-product-collection-banners{grid-column:1;grid-row:1}
.hibo-product-collection-layout:not(.banners-right) .hibo-product-collection-products{grid-column:2;grid-row:1}
.hibo-product-collection-layout.no-banners,.hibo-product-collection-layout.no-banners:not(.banners-right){grid-template-columns:minmax(0,1fr)}
.hibo-product-collection-layout.no-banners .hibo-product-collection-products,
.hibo-product-collection-layout.no-banners:not(.banners-right) .hibo-product-collection-products{grid-column:1;grid-row:1}
.hibo-product-collection-banners{display:grid;grid-template-columns:1fr;gap:10px}
.hibo-product-collection-banners a,.hibo-product-collection-banner{display:block;overflow:hidden;aspect-ratio:1;border-radius:10px;background:#f5f5f5}
.hibo-product-collection-banners img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.hibo-product-collection-banners a:hover img{transform:scale(1.025)}

.hibo-product-collection-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:start}
.hibo-product-collection-more{display:flex;justify-content:center;padding-top:12px}
.hibo-product-collection-more a{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:36px;padding:7px 18px;border:1px solid var(--theme-primary);border-radius:18px;color:var(--theme-primary);font-size:13px;font-weight:700;text-decoration:none}
.hibo-product-collection-more a:hover,.hibo-product-collection-more a:focus-visible{background:var(--theme-primary);color:#fff;outline:none}

@media (min-width:1200px){
  .hibo-product-collection-products .hibo-product-card:nth-child(n+9){display:none}
}
@media (max-width:1199px) and (min-width:768px){
  .hibo-product-collection-layout,.hibo-product-collection-layout:not(.banners-right){grid-template-columns:minmax(0,1fr) 30%}
  .hibo-product-collection-layout.banners-right .hibo-product-collection-products{grid-column:1}
  .hibo-product-collection-layout.banners-right .hibo-product-collection-banners{grid-column:2}
  .hibo-product-collection-layout:not(.banners-right) .hibo-product-collection-banners{grid-column:1}
  .hibo-product-collection-layout:not(.banners-right) .hibo-product-collection-products{grid-column:2}
  .hibo-product-collection-products{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hibo-product-collection-products .hibo-product-card:nth-child(n+7){display:none}
}
@media (max-width:767px){
  .hibo-product-collection-section{margin-top:12px;margin-bottom:12px}
  .hibo-product-collection-surface{padding:8px}
  .hibo-product-collection-head{align-items:flex-start;flex-direction:column;gap:8px;padding-bottom:9px}
  .hibo-product-collection-title{font-size:17px}
  .hibo-product-collection-links{width:100%;justify-content:flex-start}
  .hibo-product-collection-links a{padding:6px 9px;font-size:12px}
  .hibo-product-collection-layout,.hibo-product-collection-layout:not(.banners-right){display:flex;flex-direction:column;padding-top:8px}
  .hibo-product-collection-products{order:1!important;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .hibo-product-collection-banners{order:2!important;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .hibo-product-collection-products .hibo-product-card:nth-child(n+7){display:none}
}


/* HIBO Home — Product 5: wide 1920x160 banner + product row. */
.hibo-product-wide-section{margin-top:16px;margin-bottom:16px}
.hibo-product-wide-surface{padding:12px;background:#fff;border-radius:8px}
.hibo-product-wide-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:2px 2px 11px}
.hibo-product-wide-title{flex:0 0 auto;margin:0;font-size:20px;font-weight:800;line-height:1.25;text-transform:uppercase}
.hibo-product-wide-title a{color:#111;text-decoration:none}
.hibo-product-wide-title a:hover,.hibo-product-wide-title a:focus-visible{color:var(--theme-primary);outline:none}
.hibo-product-wide-links{display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:0;overflow-x:auto;scrollbar-width:none}
.hibo-product-wide-links::-webkit-scrollbar{display:none}
.hibo-product-wide-links a{flex:0 0 auto;padding:7px 11px;border:1px solid transparent;border-radius:7px;background:#f3f4f6;color:#444;font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap;transition:border-color .2s ease,color .2s ease,background .2s ease}
.hibo-product-wide-links a:hover,.hibo-product-wide-links a:focus-visible{border-color:var(--theme-primary);background:#fff;color:var(--theme-primary);outline:none}

.hibo-product-wide-banner{overflow:hidden;width:100%;margin-bottom:12px;border-radius:8px;background:#f4f4f4;aspect-ratio:12/1}
.hibo-product-wide-banner img{display:block;width:100%;height:100%;object-fit:cover}
.hibo-product-wide-products{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;align-items:start}
.hibo-product-wide-more{display:flex;justify-content:center;padding-top:12px}
.hibo-product-wide-more a{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:36px;padding:7px 18px;border:1px solid var(--theme-primary);border-radius:18px;color:var(--theme-primary);font-size:13px;font-weight:700;text-decoration:none}
.hibo-product-wide-more a:hover,.hibo-product-wide-more a:focus-visible{background:var(--theme-primary);color:#fff;outline:none}

@media (max-width:1199px) and (min-width:768px){
  .hibo-product-wide-products{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:767px){
  .hibo-product-wide-section{margin-top:12px;margin-bottom:12px}
  .hibo-product-wide-surface{padding:8px}
  .hibo-product-wide-head{align-items:flex-start;flex-direction:column;gap:8px;padding-bottom:8px}
  .hibo-product-wide-title{font-size:17px}
  .hibo-product-wide-links{width:100%;justify-content:flex-start}
  .hibo-product-wide-links a{padding:6px 9px;font-size:12px}
  .hibo-product-wide-banner{margin-bottom:8px;border-radius:7px;aspect-ratio:12/1;min-height:54px}
  .hibo-product-wide-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .hibo-product-wide-more{padding-top:10px}
}


/* HIBO Home — News: one featured story + four compact stories. */
.hibo-home-news-section{margin-top:16px;margin-bottom:16px}
.hibo-home-news-surface{padding:12px;background:#fff;border-radius:8px}
.hibo-home-news-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 2px 12px;border-bottom:1px solid #efefef}
.hibo-home-news-title{margin:0;font-size:20px;font-weight:800;line-height:1.25;text-transform:uppercase;color:#111}
.hibo-home-news-more{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;color:var(--theme-primary);font-size:13px;font-weight:700;text-decoration:none}
.hibo-home-news-more:hover,.hibo-home-news-more:focus-visible{text-decoration:underline;outline:none}
.hibo-home-news-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:18px;padding-top:12px}

.hibo-home-news-featured-media{display:block;overflow:hidden;width:100%;aspect-ratio:4/3;border-radius:10px;background:#f4f4f4}
.hibo-home-news-featured-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.hibo-home-news-featured-media:hover img,.hibo-home-news-featured-media:focus-visible img{transform:scale(1.025)}
.hibo-home-news-featured-media:focus-visible{outline:2px solid var(--theme-primary);outline-offset:2px}
.hibo-home-news-featured-body{padding-top:9px}
.hibo-home-news-featured time,.hibo-home-news-card time{display:block;margin-bottom:4px;color:#999;font-size:12px}
.hibo-home-news-featured h3{margin:0 0 6px;font-size:19px;line-height:1.4}
.hibo-home-news-featured h3 a,.hibo-home-news-card h3 a{color:#222;text-decoration:none}
.hibo-home-news-featured h3 a:hover,.hibo-home-news-featured h3 a:focus-visible,
.hibo-home-news-card h3 a:hover,.hibo-home-news-card h3 a:focus-visible{color:var(--theme-primary);outline:none}
.hibo-home-news-featured p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;margin:0;color:#666;font-size:13px;line-height:1.55}

.hibo-home-news-list{display:grid;grid-template-columns:1fr;gap:10px}
.hibo-home-news-card{display:grid;grid-template-columns:138px minmax(0,1fr);gap:11px;min-width:0;padding-bottom:10px;border-bottom:1px solid #f0f0f0}
.hibo-home-news-card:last-child{padding-bottom:0;border-bottom:0}
.hibo-home-news-thumb{display:block;overflow:hidden;width:100%;aspect-ratio:4/3;border-radius:8px;background:#f4f4f4}
.hibo-home-news-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.hibo-home-news-thumb:hover img,.hibo-home-news-thumb:focus-visible img{transform:scale(1.035)}
.hibo-home-news-thumb:focus-visible{outline:2px solid var(--theme-primary);outline-offset:2px}
.hibo-home-news-card-body{min-width:0}
.hibo-home-news-card h3{margin:0 0 4px;font-size:14px;line-height:1.4}
.hibo-home-news-card h3 a{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.hibo-home-news-card p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;margin:0;color:#777;font-size:12px;line-height:1.45}

@media (max-width:991px){
  .hibo-home-news-layout{grid-template-columns:1fr}
  .hibo-home-news-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .hibo-home-news-card{grid-template-columns:120px minmax(0,1fr)}
}
@media (max-width:767px){
  .hibo-home-news-section{margin-top:12px;margin-bottom:12px}
  .hibo-home-news-surface{padding:8px}
  .hibo-home-news-head{padding-bottom:9px}
  .hibo-home-news-title{font-size:17px}
  .hibo-home-news-layout{gap:12px;padding-top:8px}
  .hibo-home-news-featured h3{font-size:16px}
  .hibo-home-news-list{grid-template-columns:1fr;gap:9px}
  .hibo-home-news-card{grid-template-columns:104px minmax(0,1fr);gap:9px}
  .hibo-home-news-card p{display:none}
}


/* HIBO Home — Customer Reviews. */
.hibo-customer-reviews-section{margin-top:16px;margin-bottom:16px}
.hibo-customer-reviews-surface{padding:12px;background:#fff;border-radius:8px}
.hibo-customer-reviews-title{margin:0;padding:2px 2px 12px;font-size:20px;font-weight:800;line-height:1.25;text-transform:uppercase;color:#111}
.hibo-customer-reviews-scroll{min-width:0}
.hibo-customer-reviews-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.hibo-customer-review-card{position:relative;display:flex;flex-direction:column;min-width:0;min-height:210px;padding:20px 18px 17px;border:1px solid #ececec;border-radius:12px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.hibo-customer-review-quote{position:absolute;top:8px;right:14px;color:color-mix(in srgb,var(--theme-primary) 18%,transparent);font-family:inherit;font-size:64px;line-height:1;pointer-events:none}
.hibo-customer-review-content{position:relative;z-index:1;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:5;flex:1;margin:0;color:#555;font-size:14px;line-height:1.65}
.hibo-customer-review-person{display:flex;align-items:center;gap:11px;margin-top:16px;padding-top:14px;border-top:1px solid #f0f0f0}
.hibo-customer-review-avatar{flex:0 0 auto;display:block;overflow:hidden;width:58px;height:58px;border:2px solid var(--theme-primary);border-radius:50%;background:#fff}
.hibo-customer-review-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.hibo-customer-review-meta{display:flex;min-width:0;flex-direction:column;gap:3px}
.hibo-customer-review-meta strong{overflow:hidden;color:#222;font-size:14px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.hibo-customer-review-meta small{overflow:hidden;color:#888;font-size:12px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}

@media (max-width:991px) and (min-width:768px){
  .hibo-customer-reviews-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){
  .hibo-customer-reviews-section{margin-top:12px;margin-bottom:12px}
  .hibo-customer-reviews-surface{padding:8px}
  .hibo-customer-reviews-title{padding-bottom:9px;font-size:17px}
  .hibo-customer-reviews-scroll{overflow-x:auto;overflow-y:hidden;padding-bottom:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .hibo-customer-reviews-scroll::-webkit-scrollbar{display:none}
  .hibo-customer-reviews-list{display:flex;width:max-content;gap:9px}
  .hibo-customer-review-card{flex:0 0 82vw;width:82vw;max-width:330px;min-height:190px;padding:17px 15px 14px}
  .hibo-customer-review-content{-webkit-line-clamp:4;font-size:13px}
  .hibo-customer-review-avatar{width:52px;height:52px}
}

/* =========================================================
   HIBO Home Responsive Polish V1.14.25
   Visual continuity only — no module/data behavior changes.
   ========================================================= */

/* Prevent child content from forcing horizontal page overflow. */
.home-section,
.hibo-home-slideshow,
.hibo-policy-section,
.hibo-home-category-section,
.hibo-home-trending-section,
.hibo-flash-section,
.hibo-product-tabs-section,
.hibo-product-collection-section,
.hibo-product-wide-section,
.hibo-home-news-section,
.hibo-customer-reviews-section{
  min-width:0;
  max-width:100%;
}
.home-section *,
.hibo-home-slideshow *,
.hibo-policy-section *,
.hibo-home-category-section *,
.hibo-home-trending-section *,
.hibo-flash-section *,
.hibo-product-tabs-section *,
.hibo-product-collection-section *,
.hibo-product-wide-section *,
.hibo-home-news-section *,
.hibo-customer-reviews-section *{box-sizing:border-box}

.hibo-home-category-scroll,
.hibo-home-trending-scroll,
.hibo-flash-sale__products,
.hibo-product-tabs-nav,
.hibo-product-tabs-products,
.hibo-product-collection-links,
.hibo-product-wide-links,
.hibo-customer-reviews-scroll{
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
}

/* Keep common section rhythm consistent without redesigning accepted modules. */
@media (min-width:768px){
  .hibo-policy-section,
  .hibo-home-category-section,
  .hibo-home-trending-section,
  .hibo-flash-section,
  .hibo-product-tabs-section,
  .hibo-product-collection-section,
  .hibo-product-wide-section,
  .hibo-home-news-section,
  .hibo-customer-reviews-section{
    margin-top:16px;
    margin-bottom:16px;
  }
}

/* Product cards: equal columns, no text/price overflow, predictable image box. */
.hibo-product-card{min-width:0;height:100%}
.hibo-product-card .product-card-image{display:block;min-width:0}
.hibo-product-card .product-image-square{display:block;overflow:hidden;width:100%;aspect-ratio:1/1}
.hibo-product-card .product-image-square img{display:block;width:100%;height:100%;object-fit:contain}
.hibo-product-card .product-card-body{position:relative;min-width:0}
.hibo-product-card .product-price-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 6px;min-width:0}
.hibo-product-card .sale-price,
.hibo-product-card .contact-price,
.hibo-product-card .product-price-row del{max-width:100%;overflow-wrap:anywhere}
.hibo-product-card .product-card-title{min-width:0}
.hibo-product-card .product-card-title a{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:var(--product-title-lines,3);
  overflow-wrap:anywhere;
}
.hibo-product-card .product-card-promo{overflow-wrap:anywhere}

/* Desktop/tablet grids keep a stable number of product columns. */
@media (min-width:1200px){
  .hibo-product-tabs-products,
  .hibo-product-wide-products{grid-template-columns:repeat(6,minmax(0,1fr))}
}
@media (min-width:768px) and (max-width:1199px){
  .hibo-product-tabs-products,
  .hibo-product-wide-products{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* Mobile: same 2-column product language throughout homepage. */
@media (max-width:767px){
  .hibo-home-category-scroll,
  .hibo-home-trending-scroll,
  .hibo-customer-reviews-scroll{scroll-snap-type:x proximity}

  .hibo-home-category-card,
  .hibo-home-trending-card,
  .hibo-customer-review-card{scroll-snap-align:start}

  .hibo-product-tabs-products,
  .hibo-product-collection-products,
  .hibo-product-wide-products{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
  }

  .hibo-product-card .product-card-body{padding-left:7px;padding-right:7px}
  .hibo-product-card .product-price-row{column-gap:4px}
  .hibo-product-card .sale-price,
  .hibo-product-card .contact-price{font-size:15px}
  .hibo-product-card .product-price-row del,
  .hibo-product-card .discount-inline{font-size:11px}

  /* Section headings and horizontal chips must not create viewport overflow. */
  .hibo-product-tabs-nav,
  .hibo-product-collection-links,
  .hibo-product-wide-links{
    width:100%;
    max-width:100%;
    justify-content:flex-start;
  }
}

/* Extra-small phones: reduce only spacing, not content or column count. */
@media (max-width:380px){
  .hibo-home-category-surface,
  .hibo-home-trending-shell,
  .hibo-product-tabs-surface,
  .hibo-product-collection-surface,
  .hibo-product-wide-surface,
  .hibo-home-news-surface,
  .hibo-customer-reviews-surface{padding-left:7px;padding-right:7px}

  .hibo-product-tabs-products,
  .hibo-product-collection-products,
  .hibo-product-wide-products{gap:6px}

  .hibo-product-card .sale-price,
  .hibo-product-card .contact-price{font-size:14px}
}

/* Keyboard accessibility without adding visual noise for mouse/touch users. */
.hibo-home-category-card:focus-visible,
.hibo-home-trending-card:focus-visible,
.hibo-product-tabs-button:focus-visible,
.hibo-product-wide-links a:focus-visible,
.hibo-product-collection-links a:focus-visible,
.hibo-main-slider__arrow:focus-visible{
  outline:2px solid var(--theme-primary);
  outline-offset:2px;
}

/* Avoid animated transforms for users requesting reduced motion. */
@media (prefers-reduced-motion:reduce){
  .hibo-main-slider__track,
  .hibo-main-slider__arrow,
  .hibo-home-category-card,
  .hibo-home-trending-card,
  .hibo-home-news-featured-media img,
  .hibo-home-news-thumb img,
  .hibo-product-tabs-button,
  .hibo-product-wide-links a,
  .hibo-product-collection-links a{
    transition:none!important;
    animation:none!important;
    scroll-behavior:auto!important;
  }
}

/* HIBO Home V1.14.43 — shared Sapo-inspired article cards. */
.article-card--grid,
.article-card--list{
  min-width:0;
  background:#fff;
}

.article-card--grid{
  position:relative;
  overflow:hidden;
  border:0;
  border-radius:10px;
}

.article-card--grid .article-card-image{
  position:relative;
  display:block;
  overflow:hidden;
  width:100%;
  aspect-ratio:3/2;
  border-radius:10px;
  background:#f3f4f6;
}

.article-card--grid .article-card-image img,
.article-card--list .article-card-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}

.article-card--grid .article-card-image:hover img,
.article-card--grid .article-card-image:focus-visible img,
.article-card--list .article-card-image:hover img,
.article-card--list .article-card-image:focus-visible img{
  transform:scale(1.035);
}

.article-card--grid .article-card-image:focus-visible,
.article-card--list .article-card-image:focus-visible{
  outline:2px solid var(--theme-primary);
  outline-offset:2px;
}

.article-card--grid .article-placeholder,
.article-card--list .article-placeholder{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  background:linear-gradient(135deg,#f5f6f7,#e7ebee);
  color:#9aa3ad;
  font-size:15px;
  font-weight:800;
}

.article-card--grid .article-card-body{
  padding:10px 2px 2px;
}

.article-card--grid .article-card-body time,
.article-card--list .article-card-body time{
  display:block;
  margin:0 0 4px;
  color:#999;
  font-size:12px;
  line-height:1.35;
}

.article-card--grid h3,
.article-card--list h3{
  margin:0;
  font-weight:700;
}

.article-card--grid h3{
  font-size:16px;
  line-height:1.45;
}

.article-card--grid h3 a,
.article-card--list h3 a{
  color:#222;
  text-decoration:none;
}

.article-card--grid h3 a:hover,
.article-card--grid h3 a:focus-visible,
.article-card--list h3 a:hover,
.article-card--list h3 a:focus-visible{
  color:var(--theme-primary);
  outline:none;
}

.article-card--grid p,
.article-card--list p{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  margin:6px 0 0;
  color:#666;
}

.article-card--grid p{
  -webkit-line-clamp:2;
  font-size:13px;
  line-height:1.55;
}

.article-date-badge{
  position:absolute;
  top:10px;
  left:0;
  z-index:2;
  display:flex;
  flex-direction:column;
  min-width:48px;
  padding:5px 8px 6px;
  border-radius:0 7px 7px 0;
  background:var(--theme-primary);
  color:#fff;
  text-align:center;
  line-height:1.05;
  box-shadow:0 3px 10px rgba(0,0,0,.12);
}

.article-date-badge::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-5px;
  width:0;
  height:0;
  border-style:solid;
  border-width:0 5px 5px 0;
  border-color:transparent color-mix(in srgb,var(--theme-primary) 72%,#000) transparent transparent;
}

.article-date-badge strong{
  font-size:18px;
  font-weight:800;
}

.article-date-badge small{
  margin-top:3px;
  font-size:10px;
  font-weight:600;
}

.article-card--list{
  display:grid;
  grid-template-columns:138px minmax(0,1fr);
  gap:11px;
  align-items:start;
  padding:0 0 10px;
  border:0;
  border-bottom:1px solid #f0f0f0;
  border-radius:0;
}

.article-card--list:last-child{
  padding-bottom:0;
  border-bottom:0;
}

.article-card--list .article-card-image{
  display:block;
  overflow:hidden;
  width:100%;
  aspect-ratio:3/2;
  border-radius:8px;
  background:#f3f4f6;
}

.article-card--list .article-card-body{
  min-width:0;
  padding:0;
}

.article-card--list h3{
  font-size:14px;
  line-height:1.4;
}

.article-card--list h3 a{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

.article-card--list p{
  -webkit-line-clamp:2;
  font-size:12px;
  line-height:1.45;
}

/* Latest articles reuses the same grid card. */
.hibo-latest-articles .article-grid{
  gap:14px;
}

.hibo-latest-articles .article-card--grid{
  border:1px solid #eceff1;
  padding:8px;
}

.hibo-latest-articles .article-card--grid .article-card-body{
  padding:10px 2px 3px;
}

/* Split news uses exactly the same two card variants. */
.hibo-home-news-featured .article-card--grid{
  border:0;
}

.hibo-home-news-featured .article-card--grid h3{
  font-size:19px;
}

.hibo-home-news-featured .article-card--grid p{
  font-size:13px;
}

.hibo-home-news-list{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  align-content:start;
}

@media (max-width:991px){
  .hibo-home-news-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }

  .hibo-home-news-list .article-card--list{
    grid-template-columns:120px minmax(0,1fr);
  }
}

@media (max-width:767px){
  .article-card--grid h3{
    font-size:15px;
  }

  .article-card--grid p{
    font-size:12.5px;
  }

  .article-date-badge{
    top:8px;
    min-width:44px;
    padding:4px 7px 5px;
  }

  .article-date-badge strong{
    font-size:16px;
  }

  .hibo-home-news-featured .article-card--grid h3{
    font-size:16px;
  }

  .hibo-home-news-list{
    grid-template-columns:1fr;
    gap:9px;
  }

  .hibo-home-news-list .article-card--list{
    grid-template-columns:104px minmax(0,1fr);
    gap:9px;
  }

  .hibo-home-news-list .article-card--list p{
    display:none;
  }

  .hibo-latest-articles .article-grid{
    gap:10px;
  }
}

