/* ===== SELLER RIBBON — centered tab ===== */
.seller-ribbon {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 99999;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 18px;
  background: linear-gradient(135deg, #166534 0%, #15803d 100%);
  box-shadow: 0 2px 14px rgba(0,0,0,0.30);
  border-radius: 0 0 10px 10px;
  font-family: "Inter", "Segoe UI", sans-serif;
  font-size: 12px;
  color: #fff;
  font-weight: 500;
  white-space: nowrap;
  width: auto;
  line-height: 1.4;
  overflow: hidden;
}

/* Shimmer (blick) — slow sweep every 10 s */
.seller-ribbon::after {
  content: '';
  position: absolute;
  top: 0;
  left: -60%;
  width: 60%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,0.22) 50%,
    transparent
  );
  animation: sellerShimmer 10s ease-in-out infinite;
  pointer-events: none;
}

@keyframes sellerShimmer {
  0%, 65% { left: -60%; }
  95%     { left: 150%; }
  100%    { left: 150%; }
}
/* Admin navy-blue variant */
.seller-ribbon--admin {
  background: linear-gradient(135deg, #0f1d36 0%, #162d50 100%);
}
.seller-ribbon--admin i.ti-briefcase { color: #60a5fa; }
.seller-ribbon--admin .seller-ribbon-label { color: rgba(255,255,255,0.80); }

/* Customer view ribbon — minimal, subtle */
.seller-ribbon--customer {
  background: linear-gradient(135deg, #334155 0%, #475569 100%);
}
.seller-ribbon--customer i.ti-eye { color: #94a3b8; font-size: 14px; flex-shrink: 0; }
.seller-ribbon--customer .seller-ribbon-name { color: #cbd5e1; font-size: 11px; }
.seller-ribbon--customer .seller-ribbon-label {
  color: #60a5fa;
  text-decoration: underline;
  cursor: pointer;
  font-size: 11px;
}
.seller-ribbon--customer .seller-ribbon-label:hover { color: #93c5fd; }

/* Customer view toggle link in the full ribbon */
.seller-ribbon-customer-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  font-weight: 500;
  color: rgba(255,255,255,0.65);
  text-decoration: none;
  transition: color 0.15s;
  flex-shrink: 0;
}
.seller-ribbon-customer-link:hover {
  color: #fff;
}
.seller-ribbon-customer-link i { font-size: 13px; }

.seller-ribbon i.ti-briefcase { color: #86efac; font-size: 16px; flex-shrink: 0; }
.seller-ribbon-name { font-weight: 700; color: #fff; }
.seller-ribbon-divider { color: rgba(255,255,255,0.35); font-size: 14px; font-weight: 300; margin: 0 2px; }
.seller-ribbon-label { color: rgba(255,255,255,0.75); font-size: 11px; }
.seller-ribbon-logout {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  font-weight: 600;
  color: #fef2f2;
  text-decoration: none;
  transition: opacity 0.15s;
  flex-shrink: 0;
}
.seller-ribbon-logout:hover {
  opacity: 0.7;
  color: #fff;
}

/* Share link in ribbon */
.seller-ribbon-share-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  font-weight: 600;
  color: rgba(255,255,255,0.75);
  text-decoration: none;
  transition: color 0.15s;
  flex-shrink: 0;
}
.seller-ribbon-share-link:hover { color: #fff; }
.seller-ribbon-share-link i { font-size: 13px; }

/* Share Popup */
.wp-share-overlay {
  position: fixed; inset: 0; z-index: 999999;
  background: rgba(0,0,0,0.55);
  backdrop-filter: blur(4px);
  display: none;
  align-items: center; justify-content: center;
}
.wp-share-overlay.open { display: flex; }
.wp-share-card {
  background: #fff; border-radius: 16px;
  padding: 28px 26px 22px;
  max-width: 420px; width: 90%;
  box-shadow: 0 24px 60px rgba(0,0,0,0.30);
  text-align: center;
  animation: wpShareIn .2s ease;
}
@keyframes wpShareIn { from{opacity:0;transform:scale(.95) translateY(10px)} to{opacity:1;transform:scale(1) translateY(0)} }
.wp-share-title {
  font-family: 'Titillium Web', sans-serif; font-size: 18px; font-weight: 700;
  color: #1a202c; margin-bottom: 16px;
}
.wp-share-url-wrap {
  display: flex; gap: 8px; margin-bottom: 20px;
}
.wp-share-url {
  flex: 1; padding: 10px 12px; border: 1px solid #e2e8f0; border-radius: 8px;
  font-size: 12px; font-family: monospace; background: #f8fafc; color: #334155;
}
.wp-share-copy-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 10px 14px; border: none; border-radius: 8px;
  background: #1e293b; color: #fff; font-size: 11px; font-weight: 600;
  cursor: pointer; white-space: nowrap; transition: background .15s;
}
.wp-share-copy-btn:hover { background: #334155; }
.wp-share-buttons {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px;
}
.wp-share-btn {
  display: flex; flex-direction: column; align-items: center; gap: 4px;
  padding: 14px 8px; border-radius: 10px; text-decoration: none;
  font-size: 11px; font-weight: 600; transition: transform .12s, box-shadow .12s;
}
.wp-share-btn:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.10); }
.wp-share-btn i { font-size: 22px; }
.wp-share-whatsapp  { background: #dcf8c6; color: #075e54; }
.wp-share-telegram  { background: #e0f2fe; color: #0284c7; }
.wp-share-instagram { background: #fce7f3; color: #be185d; }
.wp-share-sms       { background: #e0f2fe; color: #0369a1; }
.wp-share-email     { background: #fef3c7; color: #b45309; }
.wp-share-phone     { background: #dcfce7; color: #15803d; }
.wp-share-close {
  margin-top: 18px; border: none; background: none;
  color: #94a3b8; font-size: 13px; cursor: pointer; transition: color .15s;
}
.wp-share-close:hover { color: #64748b; }

/* Push main content below fixed tab */
.seller-ribbon-push {
  padding-top: 0 !important;
}

/* On mobile the top-bar is hidden, so reduce push */
@media (max-width: 1024px) {
  .seller-ribbon-push {
    padding-top: 0 !important;
  }
}

/* ===== BREADCRUMB / PAGE TITLE ===== */
.breadcrumb {
  text-align: center;
  padding: 33px 20px 28px;
  font-family: "Titillium Web", sans-serif;
  font-size: 33px;
  font-weight: 900;
  text-transform: uppercase;
  color: #666666;
  width: 100%;
  background: #ffffff;
  margin-bottom: 0;
}
.breadcrumb a {
  color: #3EC0F0;
  text-decoration: none;
}
.breadcrumb a:hover {
  text-decoration: underline;
}

/* ===== SIDEBAR BUTTON ===== */
.sidebar-btn {
  display: block;
  width: 100%;
  text-align: center;
  background-color: #fff;
  color: #33CCFF;
  font-family: "Titillium Web", sans-serif;
  font-size: 22px;
  font-weight: 900;
  text-transform: uppercase;
  padding: 0;
  border: none;
  text-decoration: none;
  transition: color 0.3s;
  margin-bottom: 20px;
}
.sidebar-btn:hover {
  color: #54595F;
}

/* ===== EXCURSIONES SIDEBAR ===== */
.excursiones-row {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  min-height: 100vh;
}
.excursiones-sidebar {
  flex: 0 0 17.4%;
  max-width: 17.4%;
  padding: 0 20px 0 0;
}
.excursiones-content {
  flex: 0 0 65.2%;
  max-width: 65.2%;
  padding: 0 25px;
  border-left: 2px solid #3ec0f0;
}
.excursiones-sidebar-right {
  flex: 0 0 17.4%;
  max-width: 17.4%;
}
.excursiones-sidebar ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.excursiones-sidebar li {
  padding: 0 0 0 15px;
  margin: 0;
}
.excursiones-sidebar li a {
  display: block;
  color: #33CCFF;
  font-family: "Titillium Web", sans-serif;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.3;
  text-decoration: none;
  padding: 0;
  transition: color 0.2s;
}
.excursiones-sidebar li a:hover {
  color: #54595F;
}
.excursiones-sidebar li.current-cat > a,
.excursiones-sidebar li.current-cat a {
  color: #3ec0f0;
}
.excursiones-sidebar .count {
  font-family: "Titillium Web", sans-serif;
  font-weight: 700;
  color: #000000;
  padding-left: 4px;
}
ul.product-categories {
  font-family: "Titillium Web", sans-serif;
  font-weight: 700;
}

.excursiones-sidebar-title {
  font-family: "Titillium Web", sans-serif;
  color: #000000;
  font-size: 18px;
  font-weight: 800;
  text-transform: uppercase;
  text-align: center;
  margin: 25px 0 10px;
}
ul.product-categories.main-categories {
  list-style-type: disc;
  padding-left: 30px;
}
ul.product-categories.main-categories li::marker {
  color: #000000;
}
ul.product-categories.main-categories li {
  padding-left: 0;
}
ul.product-categories.excursiones-subcategories {
  list-style-type: none;
  padding-left: 30px;
}
ul.product-categories.excursiones-subcategories li {
  padding-left: 0;
}

.excursiones-sidebar-sticky {
  position: sticky;
  top: 80px;
  align-self: flex-start;
  z-index: 10;
}
.excursiones-sidebar-sticky > .excursiones-sidebar-inner {
  border: none;
  margin-right: 0;
}

.excursiones-content-area {
  padding-left: 20px;
}
.excursiones-sidebar-widget {
  border: none;
}

/* ===== PRODUCT GRID ===== */
.excursiones-cat-title {
  font-family: "Titillium Web", sans-serif;
  color: #666666;
  font-size: 18px;
  font-weight: 800;
  text-transform: uppercase;
  text-align: center;
  margin: 30px 0 15px;
  scroll-margin-top: 100px;
}
.excursiones-cat-title:first-of-type {
  margin-top: 0;
}
ul.products.excursiones-products {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0 -15px;
  padding: 0;
  clear: both;
}
ul.products.excursiones-products li.product {
  flex: 0 0 25%;
  max-width: 25%;
  padding: 0 15px;
  margin-bottom: 30px;
  position: relative;
}
ul.products.excursiones-products li.product a {
  display: block;
  text-decoration: none;
  text-align: center;
}
ul.products.excursiones-products li.product .excursiones-photo {
  width: 100%;
  aspect-ratio: 5 / 3;
  background-color: #f0f0f0;
  border-radius: 12px;
  background-size: cover;
  background-position: center;
}
ul.products.excursiones-products li.product .woocommerce-loop-product__title {
  font-family: "Titillium Web", sans-serif;
  color: #3ec0f0;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  padding: 0;
  margin: 10px 0 4px;
  line-height: 1.3;
  text-align: center;
}
ul.products.excursiones-products li.product .price {
  font-family: Montserrat, sans-serif;
  color: #000000;
  font-size: 15px;
  font-weight: 600;
  display: block;
  text-align: center;
}
.provider-name { display: none !important; }

@media (max-width: 991px) {
  .excursiones-sidebar { flex: 0 0 100%; max-width: 100%; margin-bottom: 30px; padding: 0; }
  .excursiones-content { flex: 0 0 100%; max-width: 100%; padding: 0; }
  .excursiones-sidebar-right { display: none; }
  .excursiones-content { border-left: none; }
  ul.products.excursiones-products li.product { flex: 0 0 50%; max-width: 50%; }
}
@media (max-width: 575px) {
  ul.products.excursiones-products li.product { flex: 0 0 100%; max-width: 100%; }
}

/* ===== PHOTO BADGES ===== */
.excursiones-photo {
  position: relative;
  overflow: hidden;
}
.photo-badge {
  position: absolute;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px 4px 6px;
  border-radius: 6px;
  font-family: Montserrat, sans-serif;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  pointer-events: none;
}
.photo-badge svg {
  width: 13px;
  height: 13px;
  flex-shrink: 0;
}

/* Durata — in basso a sinistra, sfondo scuro semi-trasparente */
.photo-badge--duration {
  bottom: 8px;
  left: 8px;
  background: rgba(0, 0, 0, 0.55);
  color: #ffffff;
}

/* Pax — in basso a destra, azzurro del brand */
.photo-badge--pax {
  bottom: 8px;
  right: 8px;
  background: rgba(62, 192, 240, 0.88);
  color: #ffffff;
}

@media (max-width: 575px) {
  .photo-badge { font-size: 12px; padding: 5px 9px 5px 7px; }
  .photo-badge svg { width: 14px; height: 14px; }
}

/* ===== CHECKOUT PAGE ===== */
.checkout-main {
  min-height: 60vh;
  padding: 2em 1em;
}
.checkout-wrap {
  max-width: 800px;
  margin: 0 auto;
}
.checkout-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #009fe3;
  font-size: 14px;
  margin-bottom: 20px;
  text-decoration: none;
}
.checkout-back:hover {
  text-decoration: underline;
}
.checkout-heading {
  font-size: 28px;
  margin-bottom: 24px;
}
.checkout-grid {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
}
.checkout-side {
  flex: 1;
  min-width: 260px;
}
.checkout-main-col {
  flex: 1.5;
  min-width: 300px;
}
.checkout-img-wrap {
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 16px;
}
.checkout-img {
  width: 100%;
  height: 200px;
  object-fit: cover;
}
.checkout-summary {
  background: #f5f7fa;
  border-radius: 8px;
  padding: 16px;
}
.checkout-price {
  font-size: 22px;
  font-weight: 700;
  color: #2e3192;
}
.checkout-price-unit {
  font-size: 14px;
  font-weight: 400;
  color: #666;
}
.checkout-duration {
  font-size: 14px;
  color: #666;
  margin-top: 8px;
}
.checkout-errors {
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 8px;
  padding: 12px 16px;
  margin-bottom: 16px;
}
.checkout-error-item {
  color: #b91c1c;
  font-size: 14px;
  margin: 2px 0;
}
.checkout-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.checkout-field-group {
  flex: 1;
}
.checkout-label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 4px;
}
.checkout-input {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  font-size: 14px;
  font-family: inherit;
}
.checkout-row-fields {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.checkout-row-fields > .checkout-field-group {
  flex: 1 1 100px;
}
.checkout-btn {
  padding: 14px 24px;
  background: #009fe3;
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 8px;
  font-family: inherit;
  transition: background 0.2s;
}
.checkout-btn:hover {
  background: #0080c0;
}
.checkout-secure {
  font-size: 12px;
  color: #999;
  margin-top: 12px;
  text-align: center;
}

.checkout-icon-success { color: #2ecc71; }
.checkout-icon-cancelled { color: #e74c3c; }

/* Checkout result (success/cancelled) */
.checkout-result {
  min-height: 50vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2em;
}
.checkout-result-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(0,0,0,.1);
  padding: 3em;
  text-align: center;
  max-width: 480px;
}
.checkout-result-icon {
  font-size: 64px;
  margin-bottom: 16px;
}
.checkout-result-title {
  font-size: 24px;
  margin-bottom: 8px;
}
.checkout-result-msg {
  color: #666;
  margin-bottom: 24px;
}

/* Compra ora button */
.btn-compra-ora {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 20px;
  background: #009fe3;
  color: #fff;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s;
  font-family: inherit;
  border: none;
  cursor: pointer;
  width: 100%;
}
.btn-compra-ora:hover {
  background: #0080c0;
  color: #fff;
}

@media (max-width: 575px) {
  .checkout-heading { font-size: 22px; }
  .checkout-row-fields { flex-direction: column; gap: 16px; }
}
