/* v3 home — plaisio.gr home sections (values from the reference components). Mobile first: 48em / 64em / 80em / 90em. */
.p-home img { display: block; }

/* Hero slider (ImageGallery zone-a-slider) — dots below (SliderOrList--dotsBelow) */
.p-hero { padding-top: .625rem; }
@media screen and (min-width: 64em) { .p-hero { padding-top: 1.25rem; } }
.p-slider--dotsbelow { --padding-bottom: 1.875rem; }
.p-slider--dotsbelow .swiper { padding-bottom: var(--padding-bottom); }
.p-slider--dotsbelow .swiper-pagination { bottom: 0; }
.p-slider--dotsbelow [class*="swiper-button"] { top: calc(50% - var(--padding-bottom) / 2); }
.p-hero__banner img { width: 100%; height: auto; }

/* Banner rows (BannerGrid): stacked on phones, 3 across ≥64em */
.p-bgrid { overflow: hidden; }
.p-bgrid--strip { padding-top: .625rem; }
.p-bgrid__grid { display: flex; flex-direction: column; gap: .625rem; }
@media screen and (min-width: 64em) { .p-bgrid__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .625rem; } }
.p-band { background: #ededed; }

/* Recommendations box (Recommendations--large + RecommendationsHeader--large) */
.p-reco { padding: 1.5625rem 1.875rem 1.875rem; border-radius: .3125rem; background-color: var(--p-gray-bg); }
.p-reco__head { display: flex; align-items: center; gap: .625rem; margin-bottom: .8125rem; min-height: 2.6875rem; }
.p-reco__icon { flex-shrink: 0; display: flex; align-items: center; justify-content: center; height: 2.6875rem; aspect-ratio: 1; border-radius: .3125rem; background-color: #fff; }
.p-reco__heading { font-weight: 800; font-size: 1.25rem; line-height: 1; margin: 0; }
.p-reco__more { flex-shrink: 0; display: block; margin-left: auto; color: #000; text-decoration: underline; }
@media print, screen and (max-width: 47.99875em) { .p-reco__more { display: none; } }
.p-reco__products { position: relative; margin: 0 -1.875rem; }
.p-reco__products .p-slider { position: static; }
.p-reco__products .swiper-slide { width: auto; margin-right: .9375rem; }
.p-reco__products .swiper-slide:first-child { margin-left: 1.875rem; }
.p-reco__products .swiper-slide:last-child { margin-right: 1.875rem; }

/* Product card large (RecommendationsProductLarge) */
.p-pcl { width: 12.8125rem; line-height: 1.1; }
.p-pcl__img { display: flex; align-items: center; justify-content: center; aspect-ratio: .89 / 1; margin-bottom: .9375rem; border-radius: .3125rem; background-color: #fff; }
.p-pcl__img a { position: relative; display: block; width: 91%; }
.p-pcl__img img { width: 100%; height: auto; object-fit: contain; aspect-ratio: 1 / 1; }
.p-pcl__name { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: break-word; height: 3.3em; margin: 0; font-size: .875rem; line-height: 1.1; font-weight: 400; }
.p-pcl__name a { color: #000; }
.p-pcl__from { text-decoration: line-through; margin: .9375rem 0 .1875rem; font-size: .8125rem; color: dimgray; }
.p-pcl__from.is-empty { visibility: hidden; }
.p-pcl__price { font-weight: 800; margin-bottom: .625rem; font-size: 1rem; }
.p-pcl__cart { width: fit-content; min-height: 2.25rem; }
.p-pcl__cart .p-btn { padding: .625rem; min-width: 5.75rem; }
.p-pcl__cart .added_to_cart { display: block; margin-top: .375rem; font-size: .75rem; color: var(--p-blue); }

/* «Διάλεξε κατηγορία» (CategoryGrid) */
.p-catgrid { text-align: center; --slider-padding-bottom: 2.1875rem; }
@media print, screen and (min-width: 48em) { .p-catgrid { --slider-padding-bottom: 3.4375rem; } }
.p-catgrid__heading { font-weight: 800; font-size: 1.125rem; line-height: 40px; margin-bottom: 8px; }
@media print, screen and (min-width: 48em) { .p-catgrid__heading { font-size: 1.25rem; } }
@media screen and (min-width: 90em) { .p-catgrid__heading { font-size: 1.5625rem; } }
.p-catgrid__slider .swiper { padding: .625rem 1.9375rem var(--slider-padding-bottom); }
@media print, screen and (min-width: 48em) { .p-catgrid__slider .swiper { padding-inline: 3.75rem; } }
.p-catgrid__slider .swiper-pagination { bottom: .875rem; }
.p-catgrid__slider [class*="swiper-button"] { top: 50%; transform: translateY(calc(0px - var(--slider-padding-bottom) / 2)); width: 1.875rem; height: 1.875rem; margin-top: -.9375rem; background-color: #fff; }
@media print, screen and (min-width: 48em) { .p-catgrid__slider [class*="swiper-button"] { width: 2.5rem; height: 2.5rem; margin-top: -1.25rem; } }
@media print, screen and (max-width: 79.99875em) { .p-catgrid__slider .swiper-button-prev { left: 0; } .p-catgrid__slider .swiper-button-next { right: 0; } }
.p-catgrid__item a { display: block; color: #000; }
.p-catgrid__img { position: relative; display: block; aspect-ratio: 205 / 186; }
.p-catgrid__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.p-catgrid__name { display: block; padding: .5rem 0; font-size: .8125rem; word-break: break-word; color: #000; line-height: 1.5; }
@media screen and (min-width: 64em) { .p-catgrid__name { font-size: .9375rem; } }

/* X6 PRO gallery (ImageGallery plaisiopro) */
.p-pro .p-heading { display: flex; justify-content: center; }
.p-pro__logo { display: inline-flex; align-items: center; color: #000; font-size: 1.5rem; }
.p-pro__logo img { height: 1.75rem; width: auto; }
.p-pro__card { border-radius: .625rem; }
.p-pro__card img { width: 100%; height: auto; }

/* Stockhouse (ImageGallery) */
.p-stock__box { padding: 1.25rem 0 0; border-radius: .625rem; background: #ececec; text-align: center; overflow: hidden; }
.p-stock__heading { font-weight: 800; font-size: 1.125rem; margin-bottom: .75rem; }
@media screen and (min-width: 64em) { .p-stock__heading { font-size: 1.25rem; } }
.p-stock__banner { border-radius: 0; }
.p-stock__banner img { width: 100%; height: auto; }

/* NOETIC campaign (VideoAndProductsBanner + ProductsForVideoAndProducts) */
.p-camp__in { display: grid; grid-template-columns: minmax(0, 1fr); gap: .625rem; }
@media screen and (min-width: 64em) { .p-camp__in { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0; align-items: stretch; } }
.p-camp__media { display: block; border-radius: .625rem; overflow: hidden; }
@media screen and (min-width: 64em) { .p-camp__media { border-radius: .625rem 0 0 .625rem; } }
.p-camp__media img { width: 100%; height: 100%; object-fit: cover; }
.p-camp__side { display: flex; flex-direction: column; padding: .625rem 0; }
@media screen and (min-width: 64em) { .p-camp__side { padding: 0 0 0 .625rem; } }
.p-camp__title { font-weight: 800; font-size: 1.375rem; line-height: 1.1; margin-bottom: .5rem; }
@media screen and (min-width: 80em) { .p-camp__title { font-size: 1.75rem; } }
.p-camp__text { margin: 0 0 .5rem; font-size: .875rem; line-height: 1.3; }
.p-camp__link { color: #4c00c2; font-size: .875rem; text-decoration: underline; margin-bottom: .875rem; }
.p-camp__products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .625rem; margin-top: auto; padding: .625rem; border-radius: .625rem; background: #efe7ff; }
@media print, screen and (min-width: 48em) { .p-camp__products { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* Product card small (RecommendationsProductSmall) */
.p-pcs { display: flex; flex-direction: column; padding: 1.25rem .625rem; line-height: 1.1; color: #000; border-radius: .3125rem; border: 1px solid #e0e0e0; background-color: #fff; overflow: hidden; }
.p-pcs__img { display: flex; align-items: center; justify-content: center; margin-bottom: .5rem; min-height: 5.625rem; }
.p-pcs__img img { width: 100%; max-width: 7rem; height: auto; object-fit: contain; aspect-ratio: 1 / 1; }
.p-pcs__name { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: break-word; height: 2.2em; font-size: .6875rem; text-align: center; }
.p-pcs__prices { display: flex; align-items: center; justify-content: center; gap: .375rem; margin-top: .625rem; }
.p-pcs__prices s { font-size: .75rem; color: dimgray; }
.p-pcs__prices b { font-weight: 800; font-size: .875rem; }

/* Feed header (FeedHeader) */
.p-feedhead { display: flex; align-items: center; justify-content: space-between; line-height: 1; }
@media print, screen and (min-width: 48em) { .p-feedhead { margin-bottom: .3125rem; } }
@media screen and (min-width: 64em) { .p-feedhead { margin-bottom: 0; } }
.p-feedhead__tag { padding: .75rem; background-color: var(--p-lilac); border-top-left-radius: .3125rem; }
@media screen and (min-width: 64em) { .p-feedhead__tag { padding: .75rem 1.75rem; } }
.p-feedhead__heading { font-weight: 800; margin: 0; font-size: 1rem; line-height: 1.2; color: #000; word-break: break-word; }
@media print, screen and (min-width: 48em) { .p-feedhead__heading { font-size: 1.875rem; } }
@media screen and (min-width: 64em) { .p-feedhead__heading { font-size: 1.75rem; } }
.p-feedhead__more { margin-left: auto; padding: .625rem 0 .625rem .625rem; text-align: right; max-width: 6.25rem; font-size: .875rem; color: #000; text-decoration: underline; }
@media print, screen and (min-width: 48em) { .p-feedhead__more { max-width: 100%; font-size: 1rem; } }
@media screen and (min-width: 64em) { .p-feedhead__more { padding: 1.1875rem 0; font-size: 1.25rem; } }

/* «Δες, διάβασε & εμπνεύσου» (BlogFeed + BlogPostSnippet) */
.p-blog__grid { display: flex; flex-wrap: wrap; justify-content: center; gap: .5625rem; }
.p-blog__post { width: 100%; padding: .625rem 0; border-bottom: .125rem dotted #000; }
@media print, screen and (min-width: 48em) { .p-blog__post { padding: .9375rem 0; } }
@media screen and (min-width: 64em) { .p-blog__post { padding: 0; width: calc(33.333% - .375rem); border-bottom: none; } }
.p-blog__post:last-child { border-bottom: none; padding-bottom: 0; }
.p-blog__card { display: flex; flex-direction: row; gap: .5625rem; width: 100%; color: inherit; }
@media screen and (min-width: 64em) { .p-blog__card { flex-direction: column; } }
.p-blog__img { position: relative; width: 5.0625rem; height: 4.3125rem; margin-right: .625rem; flex-shrink: 0; overflow: hidden; background: #eee; }
@media screen and (min-width: 64em) { .p-blog__img { width: 100%; height: auto; aspect-ratio: 16 / 9; margin-right: 0; } }
.p-blog__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.p-blog__content { display: flex; flex-direction: column; justify-content: center; background: #fff; }
.p-blog__cat { display: inline-block; margin-bottom: .125rem; font-size: 1rem; line-height: 1; letter-spacing: .3em; color: #000; }
@media screen and (min-width: 64em) { .p-blog__cat { margin-bottom: .75rem; font-size: 1.25rem; } }
.p-blog__title { font-weight: 800; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin: 0 0 .375rem; font-size: 1.125rem; line-height: 1; color: #000; }
@media print, screen and (min-width: 48em) { .p-blog__title { margin-bottom: .625rem; } }
@media screen and (min-width: 64em) { .p-blog__title { margin-bottom: .75rem; min-height: 3.5rem; font-size: 1.5625rem; } }
.p-blog__author { font-size: .75rem; font-style: italic; color: #000; }
@media screen and (min-width: 64em) { .p-blog__author { font-size: 1rem; } }

/* Stories */
.p-story { position: relative; display: block; aspect-ratio: 9 / 16; overflow: hidden; background: #111; color: #fff; }
.p-story__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.p-story__brand { position: absolute; top: .625rem; left: .625rem; display: flex; align-items: center; gap: .375rem; font-size: .75rem; text-shadow: 0 1px 2px rgba(0, 0, 0, .6); }
.p-story__brand img { width: 1.75rem; height: 1.75rem; border-radius: 50%; }
.p-story__play { position: absolute; top: 50%; left: 50%; width: 3rem; height: 3rem; margin: -1.5rem 0 0 -1.5rem; border-radius: 50%; background: rgba(0, 0, 0, .45); }
.p-story__play::after { content: ""; position: absolute; top: 50%; left: 54%; transform: translate(-50%, -50%); border-style: solid; border-width: .55rem 0 .55rem .9rem; border-color: transparent transparent transparent #fff; }
.p-story__title { position: absolute; left: .625rem; right: .625rem; bottom: .75rem; font-size: .8125rem; line-height: 1.2; text-shadow: 0 1px 3px rgba(0, 0, 0, .8); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.p-player { position: fixed; inset: 0; z-index: 300; display: flex; align-items: center; justify-content: center; }
.p-player[hidden] { display: none; }
.p-player__backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, .85); }
.p-player__box { position: relative; width: min(92vw, 420px); aspect-ratio: 9 / 16; max-height: 90vh; }
.p-player__frame, .p-player__frame iframe { width: 100%; height: 100%; border: 0; }
.p-player__close { position: absolute; top: -2.5rem; right: 0; font-size: 2rem; line-height: 1; color: #fff; }

/* «Όλα όσα μπορεί να χρειαστείς!» (CategoryRecommendations--large) */
.p-catreco { padding: 1.5625rem 1.875rem 1.875rem; border-radius: .3125rem; background-color: var(--p-gray-bg); }
.p-catreco__heading { font-weight: 800; font-size: 1.25rem; line-height: 1; margin-bottom: .8125rem; }
.p-catreco__slider { margin-inline: -1.875rem; padding-inline: 1.875rem; position: relative; }
.p-catreco__slider .swiper { overflow: hidden; }
.p-catreco__group { display: flex; flex-direction: column; gap: .9375rem; }
.p-catreco__cat { display: flex; align-items: center; gap: 2rem; overflow: hidden; padding: .5625rem 1.25rem; line-height: 1.1; color: inherit; border-radius: .3125rem; border: 1px solid #cfcfcf; background-color: #fff; transition: border-color .1s; font-size: .875rem; min-height: 3.75rem; }
@media (hover: hover) { .p-catreco__cat:hover { border-color: var(--p-blue); } }
.p-catreco__cat img { flex-shrink: 0; width: 2.5rem; height: 2.5rem; object-fit: contain; }

/* «ΤΟΣΟ X6» trust points */
.p-trust__row { display: flex; flex-direction: column; align-items: center; gap: .625rem; }
@media screen and (min-width: 64em) { .p-trust__row { flex-direction: row; justify-content: center; } }
.p-trust__item { display: block; width: 100%; max-width: 30.375rem; border-radius: .625rem; overflow: hidden; background: #f1f1f1; }
@media screen and (min-width: 64em) { .p-trust__item { flex: 1 1 0; max-width: 22.75rem; } }
.p-trust__item img { width: 100%; height: auto; }

/* Newsletter (NewsletterRegistration) */
.p-nl { display: flex; flex-direction: column-reverse; padding: 1.5625rem 1.875rem; border: 1px solid #9ea4b1; border-radius: .3125rem; color: #29334b; background-color: #e1e5ee; }
@media print, screen and (min-width: 48em) { .p-nl { flex-direction: row; align-items: flex-end; padding-block: 1.875rem; } }
@media screen and (min-width: 80em) { .p-nl { align-items: center; padding-inline: 3.4375rem; } }
.p-nl__left { position: relative; flex-shrink: 0; }
@media print, screen and (min-width: 48em) { .p-nl__left { min-width: 18.4375rem; width: 50%; } }
@media screen and (min-width: 64em) { .p-nl__left { min-width: auto; width: 23.875rem; } }
@media screen and (min-width: 80em) { .p-nl__left { width: 36.25rem; } }
.p-nl__left h2 { font-weight: 800; margin-bottom: .5rem; font-size: 1.875rem; line-height: 1.15; }
.p-nl__left h2 > span:last-child, .p-nl__left h2 span.p-nl__sub { font-weight: 400; display: block; font-size: 1.5625rem; }
.p-nl__form { display: flex; padding: .25rem; color: #29334b; border: 2px solid; border-radius: .3125rem; background-color: #fff; height: 3.8125rem; }
.p-nl__input { flex-grow: 1; width: auto; min-width: .0625rem; padding: .3125rem .625rem; border: none; background: transparent; font: inherit; color: inherit; outline: 0; }
.p-nl__input::placeholder { color: inherit; font-size: 1rem; }
.p-nl__button { flex-shrink: 0; max-width: 40%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding: .3125rem 1.125rem; font-size: .9375rem; color: #fff; background-color: #0b1327; border-radius: .1875rem; }
@media screen and (min-width: 80em) { .p-nl__button { padding-inline: 2.1875rem; } }
.p-nl__right { flex-grow: 1; margin: 0 0 1rem; height: 100%; font-size: 1rem; line-height: 1.4; }
@media print, screen and (min-width: 48em) { .p-nl__right { margin: 0 0 0 1.875rem; } }
.p-nl__right p { margin: 0; }

/* SEO text from the front page editor */
.p-seo { font-size: .9375rem; line-height: 1.6; color: #333; }
