/* ======================================================
   ARCANE ATELIER / ETSY EMBED360
   Product sizing + layout control
   ====================================================== */
.veil-atelier-hero {
  position: relative;
  min-height: 420px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background-image: url("/wp-content/uploads/atelier-hero.png");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  overflow: hidden;
}

.veil-atelier-hero__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  z-index: 1;
}

.veil-atelier-hero__content {
  position: relative;
  z-index: 2;
  max-width: 900px;
  padding: 40px 20px;
  color: #fff;
  text-align: center;
}

.veil-atelier-hero__content h1,
.veil-atelier-hero__content p,
.veil-atelier-hero__content span,
.veil-atelier-hero__content .veil-ornament {
  text-align: center;
}

.veil-atelier,
.arcane-atelier,
.lv-atelier {
	max-width: 1180px;
	margin: 0 auto;
	padding: 3rem 1.25rem;
	text-align: center;
}

/* Main Embed360 wrapper safety */
.veil-atelier iframe,
.arcane-atelier iframe,
.lv-atelier iframe,
.embed360 iframe {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 auto;
}

/* Etsy / Embed360 product grid */
.veil-atelier .embed360,
.arcane-atelier .embed360,
.lv-atelier .embed360 {
	max-width: 1100px;
	margin: 0 auto;
}

/* Product cards */
.veil-atelier .embed360 * img,
.arcane-atelier .embed360 * img,
.lv-atelier .embed360 * img {
	max-width: 140px !important;
	width: 140px !important;
	height: auto !important;
	object-fit: contain !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Book/poster/product image hard cap */
.veil-atelier img,
.arcane-atelier img,
.lv-atelier img {
	max-width: 160px;
	height: auto;
	object-fit: contain;
}

/* If Embed360 uses cards/divs */
.veil-atelier [class*="card"],
.arcane-atelier [class*="card"],
.lv-atelier [class*="card"],
.veil-atelier [class*="product"],
.arcane-atelier [class*="product"],
.lv-atelier [class*="product"] {
	text-align: center;
}

/* Product title/readability */
.veil-atelier [class*="title"],
.arcane-atelier [class*="title"],
.lv-atelier [class*="title"] {
	font-size: 0.95rem !important;
	line-height: 1.35 !important;
}

/* Mobile */
@media (max-width: 640px) {
	.veil-atelier img,
	.arcane-atelier img,
	.lv-atelier img,
	.veil-atelier .embed360 * img,
	.arcane-atelier .embed360 * img,
	.lv-atelier .embed360 * img {
		max-width: 120px !important;
		width: 120px !important;
	}
}
/* =========================================
   ATELIER HERO
========================================= */

.veil-atelier-hero {
  position: relative;
  min-height: 340px;

  display: flex;
  align-items: center;
  justify-content: center;

  text-align: center;
  overflow: hidden;

  background-image:
    linear-gradient(rgba(5,10,20,.42), rgba(5,10,20,.88)),
    url('/wp-content/uploads/atelier.png');

  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;

  border-bottom: 1px solid rgba(211,177,106,.32);
}

.veil-atelier-hero__overlay {
  position: absolute;
  inset: 0;

  background:
    radial-gradient(circle at center, rgba(90,166,173,.16), transparent 48%),
    radial-gradient(circle at top, rgba(139,0,15,.12), transparent 58%),
    linear-gradient(90deg, rgba(3,8,18,.92), transparent 45%, rgba(3,8,18,.92));

  pointer-events: none;
}

.veil-atelier-hero__content {
  position: relative;
  z-index: 2;
  max-width: 980px;
  padding: 4rem 1.5rem;
}

.veil-atelier-hero h1 {
  margin: 0;

  font-family: "Cinzel", serif;
  font-size: clamp(3rem, 6vw, 5rem);
  font-weight: 400;
  line-height: 1.05;

  letter-spacing: .08em;
  text-transform: uppercase;

  color: #f5ead6;

  text-shadow:
    0 0 18px rgba(0,0,0,.9),
    0 0 42px rgba(90,166,173,.15);
}

.veil-atelier-hero p {
  margin: 0 0 .6rem;

  font-family: "Cinzel", serif;
  font-size: clamp(1rem, 2vw, 1.3rem);

  letter-spacing: .18em;
  text-transform: uppercase;

  color: #5aa6ad;

  text-shadow: 0 0 12px rgba(90,166,173,.35);
}

.veil-atelier-hero span {
  display: block;

  max-width: 760px;
  margin: 0 auto;

  font-family: "Cormorant Garamond", serif;
  font-size: clamp(1.1rem, 2vw, 1.45rem);
  line-height: 1.55;

  color: #e8dcc7;
}

@media (max-width: 768px) {
  .veil-atelier-hero {
    min-height: 260px;
  }
}
/* =========================================
   AVAILABLE NOW BADGE
========================================= */

.lv-available-badge {
  position: absolute;
  top: 14px;
  right: 14px;

  z-index: 5;

  padding: 0.45rem 0.9rem;

  border-radius: 999px;

  background:
    linear-gradient(
      135deg,
      #7a000c,
      #b11226
    );

  border: 1px solid rgba(255,255,255,.12);

  color: #fff;

  font-family: "Roboto", sans-serif;
  font-size: 0.72rem;
  font-weight: 700;

  letter-spacing: .12em;
  text-transform: uppercase;

  box-shadow:
    0 0 12px rgba(177,18,38,.45),
    0 0 28px rgba(177,18,38,.18);
}

/* subtle pulse */
.is-pulsing {
  animation: lvBadgePulse 2.8s ease-in-out infinite;
}

@keyframes lvBadgePulse {

  0% {
    transform: scale(1);
    box-shadow:
      0 0 12px rgba(177,18,38,.45),
      0 0 28px rgba(177,18,38,.18);
  }

  50% {
    transform: scale(1.04);
    box-shadow:
      0 0 18px rgba(177,18,38,.65),
      0 0 42px rgba(177,18,38,.28);
  }

  100% {
    transform: scale(1);
    box-shadow:
      0 0 12px rgba(177,18,38,.45),
      0 0 28px rgba(177,18,38,.18);
  }

}
/* Product titles */
.e360 .card-body h4 {
    font-size: 1.3rem !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
}

/* Optional: make them even larger on desktop */
@media (min-width: 768px) {
    .e360 .card-body h4 {
        font-size: 1.5rem !important;
    }
}
.e360 .card-body {
    text-align: center;
}

.e360 .card-body h4 {
    font-size: 1.5rem !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
    margin-bottom: 10px !important;
}
.e360 .card-body .price {
    font-size: 1.15rem !important;
    font-weight: 700 !important;
}
.atelier-disclaimer {
    max-width: 900px;
    margin: 0 auto 30px auto;
    padding: 15px 20px;
    text-align: center;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 8px;
    background: rgba(255,255,255,.03);
    font-size: 0.95rem;
    line-height: 1.6;
}
.atelier-intro {
    max-width: 900px;
    margin: 0 auto !important;
    text-align: center !important;
}

.atelier-intro h2,
.atelier-intro h3,
.atelier-intro p,
.atelier-intro span {
    text-align: center !important;
}

.atelier-disclaimer {
    max-width: 800px;
    margin: 30px auto !important;
    padding: 20px;
    text-align: center !important;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 10px;
    background: rgba(255,255,255,.03);
}
/* Product title */
.e360 .card-body h4 {
    font-size: 1rem !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
}

/* Product price */
.e360 .card-body .price {
    font-size: 1.2rem !important;
    font-weight: 700 !important;
}
.atelier-disclaimer .merchant-notice {
  display: block !important;
  font-size: 1.7rem !important;
  font-weight: 800 !important;
  color: #ff2b2b !important;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 15px;
  animation-name: merchantPulse !important;
  animation-duration: 1.6s !important;
  animation-timing-function: ease-in-out !important;
  animation-iteration-count: infinite !important;
}

@keyframes merchantPulse {
  0%, 100% {
    color: #ff2b2b;
    opacity: 1;
    text-shadow: 0 0 4px rgba(255, 43, 43, 0.4);
    transform: scale(1);
  }

  50% {
    color: #ff0000;
    opacity: 0.55;
    text-shadow: 0 0 18px rgba(255, 0, 0, 0.95);
    transform: scale(1.04);
  }
}