/* =============================================
   ARADESA - custom.css
   Vlastní CSS úpravy (mimo core style.css)
   ============================================= */

/* BENEFIT BANNER – MOBILE 3x2 GRID */
@media (max-width: 767px) {
    .benefitBanner.position--benefitHomepage,
    .benefitBanner.position--benefitProduct,
    .benefitBanner.position--benefitCategory {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 8px;
        padding: 10px;
    }
    
    .benefitBanner.position--benefitHomepage .benefitBanner__item:nth-child(-n+6),
    .benefitBanner.position--benefitProduct .benefitBanner__item:nth-child(-n+6),
    .benefitBanner.position--benefitCategory .benefitBanner__item:nth-child(-n+6) {
        flex: 0 0 calc(33.333% - 6px);
        max-width: calc(33.333% - 6px);
        margin: 0;
        padding: 10px 5px;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        box-sizing: border-box;
    }
    
    .benefitBanner.position--benefitHomepage .benefitBanner__item:nth-child(-n+6) .benefitBanner__picture,
    .benefitBanner.position--benefitProduct .benefitBanner__item:nth-child(-n+6) .benefitBanner__picture,
    .benefitBanner.position--benefitCategory .benefitBanner__item:nth-child(-n+6) .benefitBanner__picture {
        width: 45px;
        height: 45px;
        margin: 0 auto 8px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .benefitBanner.position--benefitHomepage .benefitBanner__item:nth-child(-n+6) .benefitBanner__img,
    .benefitBanner.position--benefitProduct .benefitBanner__item:nth-child(-n+6) .benefitBanner__img,
    .benefitBanner.position--benefitCategory .benefitBanner__item:nth-child(-n+6) .benefitBanner__img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
    
    .benefitBanner.position--benefitHomepage .benefitBanner__item:nth-child(-n+6) .benefitBanner__content,
    .benefitBanner.position--benefitProduct .benefitBanner__item:nth-child(-n+6) .benefitBanner__content,
    .benefitBanner.position--benefitCategory .benefitBanner__item:nth-child(-n+6) .benefitBanner__content {
        width: 100%;
    }
    
    .benefitBanner.position--benefitHomepage .benefitBanner__item:nth-child(-n+6) .benefitBanner__title,
    .benefitBanner.position--benefitProduct .benefitBanner__item:nth-child(-n+6) .benefitBanner__title,
    .benefitBanner.position--benefitCategory .benefitBanner__item:nth-child(-n+6) .benefitBanner__title {
        font-size: 11px;
        line-height: 1.3;
        margin-bottom: 4px;
        font-weight: 500;
        display: block;
        word-break: normal;
        hyphens: auto;
    }
    
    .benefitBanner.position--benefitHomepage .benefitBanner__item:nth-child(-n+6) .benefitBanner__data,
    .benefitBanner.position--benefitProduct .benefitBanner__item:nth-child(-n+6) .benefitBanner__data,
    .benefitBanner.position--benefitCategory .benefitBanner__item:nth-child(-n+6) .benefitBanner__data {
        font-size: 10px;
        line-height: 1.3;
        color: #666;
        word-break: normal;
        hyphens: auto;
    }
}

/* KOŠÍK – INFOBOX POJIŠŤOVNA */
.insurance-info-box {
    margin: 12px 0 18px;
    padding: 16px 18px;
    border-radius: 12px;
    background: linear-gradient(135deg, #f3a19f, #fff);
    border: 1px solid #e9b7c3;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.06);
    font-size: 14px;
}

.insurance-info-title {
    font-weight: 900;
    color: #000000;
    margin-bottom: 6px;
    display: flex;
    align-items: center;
}

.insurance-info-title::before {
    content: "";
    width: 18px;
    height: 18px;
    margin-right: 8px;
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAsTAAALEwEAmpwYAAABHElEQVR4nO3XMY7DMBAEwf3/p+n4EsIOpGtK1cCkZFDRzkiSdF/L5pcBmdaATGtA5uUg+huQWEBiAYkFJBaQWEBiAYkFJBaQWEBiAYkFJBaQWMeArMP3bUAGCJBNQAbIvR8eFpBYQGIBiQUkFpBYQGIBiQUkFpBYQGIBiQUkFpBYQGIBiQUkFpBYQGIBiQUkFpBYQGIBiXUMyLp533b1e5cHZB+QAQLkCSBvaQFpBSQWkFhAYgGJBSQWkFjHgDgMLwrIPiADBMgTQN7SAtIKSCwgsYDEAhILSCwgsY4BcRheFJB9QAYIkCeAvKUFpBWQWEBiAYkFJBaQWEBiAYkFJBaQWEBiAYkFJNa/g9hsB2RaAzKtAZnWJEmaO/oA5imA4kwln+IAAAAASUVORK5CYII=");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    display: inline-block;
}

.insurance-info-text {
    color: #4a4a4a;
    line-height: 1.5;
}

.insurance-info-text strong {
    color: #b04866;
}

/* PRODUKT – HEUREKA BADGE */
.p-short-description {
    overflow: hidden;
}

.heureka-badge {
    float: right;
    margin: 0 0 8px 12px;
}

.heureka-badge img {
    max-width: 110px;
    height: auto;
}

/* PRODUKT – MOBILE SWIPE HINT (šipka na galerii) */
@media (max-width: 768px) {
    .p-image {
        position: relative;
    }

    body:has(.p-thumbnail ~ .p-thumbnail) .p-image::after {
        content: '›';
        position: absolute;
        top: 50%;
        right: 15px;
        color: #fff;
        font-size: 40px;
        font-weight: 700;
        background: none;
        transform: translateY(-50%);
        z-index: 99;
        pointer-events: none;
        animation: swipeHint 1s infinite;
    }

    @keyframes swipeHint {
        50% { right: 8px; }
    }
}

/* KONTAKTY - SEKCE PRODEJNY */
.ar-stores { margin: 24px 0; }
 
.ar-stores-title {
  font-size: 22px; font-weight: 700;
  margin: 0 0 16px;
}
 
.ar-stores-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
}
 
.ar-store-card {
  border: 1px solid #f0d0cf;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
}
 
.ar-store-cover {
  width: 100%;
  aspect-ratio: 3 / 2;
  overflow: hidden;
}

@media (min-width: 768px) {
  .ar-store-cover {
    aspect-ratio: 16 / 7;
  }
}
 
.ar-store-cover img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  object-position: top;
}
 
.ar-store-body {
  padding: 16px 18px 18px;
}
 
.ar-store-header {
  display: flex; align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}
 
.ar-store-name {
  font-size: 25px; font-weight: 700;
  color: #111; margin: 0;
}
 
.ar-store-badge {
  font-size: 10px; font-weight: 600;
  letter-spacing: .04em; text-transform: uppercase;
  background: #fdeeed; color: #b94845;
  border: 1px solid #f5c4c3;
  border-radius: 999px;
  padding: 3px 9px;
  white-space: nowrap;
  align-self: center;
}
 
.ar-store-divider {
  height: 1px; background: #f0f0f0;
  margin: 0 0 14px;
}
 
.ar-store-row {
  font-size: 14px; color: #444;
  margin-bottom: 8px;
  line-height: 1.5;
}
 
.ar-store-row:last-of-type { margin-bottom: 0; }
 
.ar-store-link {
  display: block; margin-top: 16px;
  text-align: center;
  font-size: 17px; font-weight: 600;
  color: #b94845; text-decoration: none;
  border: 1px solid #f5c4c3;
  border-radius: 999px;
  padding: 7px 16px;
  transition: background .15s;
}
 
.ar-store-link:hover { background: #fdeeed; }