/* Shared logo treatment: preserve proportions and leave space within the header. */
.site-header .site-branding .custom-logo-link { display: inline-flex; align-items: center; justify-content: center; line-height: 0; }
.site-header .site-branding .custom-logo-link img { display: block; width: auto; height: auto; max-height: 55px; max-width: 180px; object-fit: contain; }
.logos-wrapper { gap: 24px; }
.logos-wrapper > figure.wp-block-image { display: flex; align-items: center; justify-content: center; flex: 1 1 140px; min-width: 0; max-width: 180px; height: 64px; margin: 0 !important; }
.logos-wrapper > figure.wp-block-image img { display: block; width: auto; height: auto; max-width: 100%; max-height: 48px; object-fit: contain; margin: 0; }
/* Keep intentional left/center alignment; make long headings wrap inside their column. */
.entry-content .wp-block-heading, .woocommerce-products-header__title, .single-product .product_title { overflow-wrap: break-word; text-wrap: balance; }
.entry-content .wp-block-heading.has-text-align-center { margin-inline: auto; }
.left-column-main > .wp-block-column { min-width: 0; }
@media (max-width: 767px) {
  .site-header .site-branding .custom-logo-link img { max-height: 48px; max-width: 42vw; }
  .logos-wrapper { gap: 20px 16px; padding: 20px 16px; }
  .logos-wrapper > figure.wp-block-image { flex-basis: calc(50% - 16px); max-width: calc(50% - 8px); height: 56px; }
  .logos-wrapper > figure.wp-block-image img { max-height: 40px; }
}

/* Top products: clean phone silhouettes with real, flowing card content. */
body .featured-products-grid {
  align-items: stretch;
  justify-content: flex-start;
  gap: 24px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 10px 4px 26px;
  scroll-padding-inline: 4px;
}
body .featured-product-item {
  box-sizing: border-box;
  display: flex;
  flex: 0 0 244px;
  min-width: 244px;
  max-width: 244px;
  min-height: 492px;
  border: 3px solid #27252e;
  border-radius: 34px;
  background: #fff;
  box-shadow: inset 0 0 0 1px #d9d6e2, 0 10px 22px rgba(35,25,63,.08);
  overflow: hidden;
}
body .featured-product-item > .frame-image { display: none; }
body .featured-product-item .all-content-wrapper {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
  padding: 6px;
}
body .featured-product-item .fp-image {
  position: relative;
  inset: auto;
  flex: 0 0 164px;
  width: 100%;
  height: 164px;
  padding: 24px 18px 18px;
  border-radius: 26px 26px 16px 16px;
  background: linear-gradient(150deg, #f7f3ff, #f5f9fd);
}
body .featured-product-item .fp-image a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
body .featured-product-item .fp-image img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 122px;
  object-fit: contain;
  border-radius: 0;
}
body .featured-product-item .all-content-wrapper_text-wrapper {
  position: static;
  inset: auto;
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 12px;
  padding: 20px 14px 16px;
  overflow: visible;
  text-align: left;
}
body .featured-product-item .fp-title {
  order: 0;
  min-height: 2.4em;
  margin: 0;
  color: #282137;
  font-size: 21px;
  font-weight: 650;
  line-height: 1.2;
  letter-spacing: -.025em;
  overflow-wrap: break-word;
}
body .featured-product-item .fp-title a { text-decoration: none; }
body .featured-product-item .fp-price {
  order: 1;
  margin: 0;
  color: #4809e2;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -.035em;
  font-variant-numeric: tabular-nums;
}
body .featured-product-item .fp-price .amount { display: inline-block; white-space: nowrap; }
body .featured-product-item .fp-price .woocommerce-Price-currencySymbol { font-size: .8em; }
body .featured-product-item .fp-shortdesc {
  order: 2;
  margin: 0 0 6px;
  color: #66616f;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.65;
  overflow-wrap: break-word;
}
body .featured-product-item .fp-shortdesc p { margin: 0; }
body .featured-product-item .fp-btn {
  box-sizing: border-box;
  order: 3;
  display: block;
  margin: auto 0 0;
  padding: 12px 10px;
  width: 100%;
  border-radius: 14px;
  background: linear-gradient(120deg, #4809e2, #752ce9);
  box-shadow: 0 4px 10px rgba(72,9,226,.14);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
}
body .featured-product-item .fp-btn:hover { background: #3b08bc; }
body .featured-product-item a:focus-visible { outline: 3px solid #007dfc; outline-offset: 3px; }
@media (max-width: 767px) {
  body .featured-products-grid { gap: 18px; padding-inline: 16px; scroll-padding-inline: 16px; }
  body .featured-product-item { flex-basis: min(244px, 78vw); min-width: min(244px, 78vw); max-width: min(244px, 78vw); }
}

/* Locally hosted destination photography in Top products only. */
body .featured-product-item .fp-image:has(.ef-top-product-photo) { height: 184px; flex-basis: 184px; padding: 0; overflow: hidden; }
body .featured-product-item .fp-image img.ef-top-product-photo { height: 100%; max-height: none; object-fit: cover; object-position: center; }
body .featured-product-item .fp-image img.ef-top-product-photo[alt*="Amsterdam"] { object-position: center 65%; }

/* Telecom strip: same #777 artwork tone, 80% of its previous displayed size. */
body.home .logos-wrapper > figure.wp-block-image img {
  transform: scale(.8);
  transform-origin: center;
  filter: grayscale(1) url("#ef-logo-grey");
}

/* Homepage destination selector: equal columns with no percentage-plus-gap overflow. */
body.home .entry-content .product-tabs-wrapper{width:100%;max-width:1280px;margin-inline:auto;box-sizing:border-box}
body.home .entry-content .product-tabs-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,720px);box-sizing:border-box;margin:0 auto 28px;padding:8px;gap:8px}
body.home .entry-content .product-tabs-nav li{display:flex;align-items:center;justify-content:center;min-width:0;min-height:48px;margin:0;padding:12px 10px;font-size:16px;line-height:1.3;font-weight:500;text-align:center}
body.home .entry-content .products.custom-flag-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;width:100%;margin:0;align-items:stretch}
body.home .entry-content .products.custom-flag-list:has(>.product-flag-item:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
body.home .entry-content .products.custom-flag-list:has(>.product-flag-item:only-child){grid-template-columns:minmax(0,1fr);max-width:420px;margin-inline:auto}
body.home .entry-content .product-flag-item{box-sizing:border-box;width:100%;min-width:0;min-height:112px;margin:0;padding:22px 38px 22px 20px;gap:16px;text-align:left}
body.home .entry-content .product-flag-item .flag-wrap{margin:0;flex:0 0 48px;width:48px}
body.home .entry-content .product-flag-item .flag-wrap img{display:block;width:48px;height:36px;object-fit:contain;border-radius:0;margin:0}
body.home .entry-content .product-flag-item .content-wrapper{flex:1;min-width:0;text-align:left}
body.home .entry-content .product-flag-item .product-title{margin:0 0 5px;text-align:left;overflow-wrap:normal}
body.home .entry-content .product-flag-item .product-price{font-size:14px!important;line-height:1.4!important;text-align:left}
body.home .entry-content .product-flag-item:after{right:18px}
body.home .entry-content .product-flag-item:focus-within{outline:3px solid #4809e2;outline-offset:3px}
@media(max-width:1100px){body.home .entry-content .products.custom-flag-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}body.home .entry-content .products.custom-flag-list:has(>.product-flag-item:nth-child(3):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){body.home .entry-content .products.custom-flag-list,body.home .entry-content .products.custom-flag-list:has(>.product-flag-item:nth-child(3):last-child){grid-template-columns:minmax(0,1fr);gap:12px}body.home .entry-content .product-tabs-nav{gap:4px;padding:5px;margin-bottom:20px;border-radius:14px}body.home .entry-content .product-tabs-nav li{font-size:13px;padding:10px 4px;min-height:46px}body.home .entry-content .product-flag-item{min-height:94px;padding:18px 40px 18px 18px}body.home .entry-content .products.custom-flag-list:has(>.product-flag-item:only-child){max-width:none}}
