/* ==========================================================================
   Hero Share Wishlist Walkthrough Stylesheet — 100% Target UI Match
   Matches User Reference Image Exactly
   ========================================================================== */

.hw-share-walkthrough-container {
  position: relative;
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  box-sizing: border-box;
  font-family: 'DM Sans', sans-serif;
  color: #1E1E1E;
  user-select: none;
}

/* Outer Shell / Device Frame */
.hw-sf-shell {
  background-color: #EDE6DC;
  border: 1.5px solid #561023;
  box-shadow: 8px 8px 0 0 #561023, -12px -10px 30px rgba(0, 0, 0, 0.2);
  position: relative;
  overflow: hidden;
  height: 520px;
  display: flex;
  flex-direction: column;
}

/* Main Layout Split: Wishlist Canvas (Left) + Management Sidepane (Right) */
.hw-sf-main-layout {
  display: flex;
  flex: 1;
  width: 100%;
  position: relative;
  min-height: 520px;
}

/* --------------------------------------------------------------------------
   LEFT CANVAS: WISHLIST HERO COVER & CENTERED TEXT PREVIEW
   -------------------------------------------------------------------------- */
.hw-sf-left-canvas {
  flex: 1;
  display: flex;
  flex-direction: column;
  background-color: #EDE6DC;
  position: relative;
  box-sizing: border-box;
  overflow: hidden;
}

.hw-sf-cover-hero-box {
  height: 280px;
  width: 100%;
  position: relative;
  overflow: hidden;
}

.hw-sf-cover-hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 25%;
  display: block;
}

/* Centered Text Hero Box matching exact reference font formation */
.hw-sf-text-hero-box {
  padding: 24px 32px 32px;
  text-align: center;
  background: #EDE6DC;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Title on ONE SINGLE HORIZONTAL LINE centered */
.hw-sf-hero-title-group {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 4px;
  white-space: nowrap;
  flex-wrap: nowrap;
}

.wedding-page .hw-sf-hero-name,
.hw-sf-hero-name {
  font-family: 'Nanum Myeongjo', 'Cormorant Garamond', Georgia, serif !important;
  font-size: 34px !important;
  font-weight: 400 !important;
  color: #561023 !important;
  line-height: 1 !important;
  letter-spacing: normal !important;
}

.hw-sf-hero-ampersand {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-style: italic;
  font-size: 32px;
  color: #E45558;
}

.hw-sf-pencil-icon {
  font-size: 14px;
  color: rgba(86, 16, 35, 0.5);
  margin-left: 2px;
}

.wedding-page .hw-sf-hero-subtitle,
.hw-sf-hero-subtitle {
  font-family: 'Nanum Myeongjo', 'Cormorant Garamond', Georgia, serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  color: #561023 !important;
  margin: 6px 0 14px !important;
  text-align: center !important;
  line-height: 1.2 !important;
  letter-spacing: normal !important;
}

.hw-sf-date-rule {
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #561023;
  text-align: center;
  margin-bottom: 16px;
  display: block;
  opacity: 0.85;
}

.hw-sf-hero-message {
  font-family: 'Nanum Myeongjo', serif;
  font-style: italic;
  font-size: 16px;
  line-height: 1.5;
  color: #561023;
  text-align: center;
  max-width: 500px;
  margin: 0 auto;
}

/* --------------------------------------------------------------------------
   RIGHT SIDEPANE: MANAGE WISHLIST (STATE A: PRIVATE & STATE B: PUBLISHED)
   -------------------------------------------------------------------------- */
.hw-sf-right-sidepane {
  width: 320px;
  background: #EDE6DC;
  border-left: 1.5px solid rgba(86, 16, 35, 0.15);
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  flex-shrink: 0;
}

/* Header Box — Smooth Color Transition between State A (#B4CEED) & State B (#194234) */
.hw-sf-manage-header-box {
  padding: 24px 20px 20px;
  position: relative;
  overflow: hidden;
  background-color: #B4CEED; /* Default State A: Private Light Sky Blue */
  transition: background-color 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.hw-sf-manage-header-box.published {
  background-color: #194234; /* State B: Published Dark Green */
}

/* Background Watermark Motif Pattern (Matching Image 1 & Demo 2 Hero Banner) */
.hw-sf-header-deco {
  position: absolute;
  z-index: 0;
  pointer-events: none;
  top: -15px;
  right: -30px;
  width: 170px;
  height: 170px;
  transform: rotate(10deg);
  background-color: rgba(86, 16, 35, 0.12); /* Default State A (Light Blue): dark maroon watermark */
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%22304%22 height%3D%22326%22 viewBox%3D%220 0 304 326%22 fill%3D%22%23000%22%3E%3Cpath d%3D%22M 151.176 80.39 L 76.489 0 L 72.42 80.39 L 0 80.39 L 75.562 167.337 L 0 243.39 L 69.381 243.39 L 75.562 326 L 151.176 245.61 L 230.55 326 L 230.55 246.694 L 304 246.694 L 232.61 163 L 304 82.61 L 225.45 79.306 L 226.481 0 L 151.176 80.39 Z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%22304%22 height%3D%22326%22 viewBox%3D%220 0 304 326%22 fill%3D%22%23000%22%3E%3Cpath d%3D%22M 151.176 80.39 L 76.489 0 L 72.42 80.39 L 0 80.39 L 75.562 167.337 L 0 243.39 L 69.381 243.39 L 75.562 326 L 151.176 245.61 L 230.55 326 L 230.55 246.694 L 304 246.694 L 232.61 163 L 304 82.61 L 225.45 79.306 L 226.481 0 L 151.176 80.39 Z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
  transition: background-color 0.45s ease;
}

.hw-sf-manage-header-box.published .hw-sf-header-deco {
  background-color: rgba(255, 255, 255, 0.12); /* State B (Published / Dark Green): light watermark matching Image 1 */
}

.hw-sf-manage-eyebrow,
.hw-sf-manage-title,
.hw-sf-manage-sub,
.hw-sf-status-pill,
.hw-sf-manage-subtext {
  position: relative;
  z-index: 1;
}

.hw-sf-manage-eyebrow {
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #561023; /* State A */
  margin-bottom: 6px;
  transition: color 0.45s ease;
}

.hw-sf-manage-header-box.published .hw-sf-manage-eyebrow {
  color: #EDE6DC; /* State B */
}

.wedding-page .hw-sf-manage-title,
.hw-sf-manage-title {
  font-family: 'Cormorant Garamond', 'Nanum Myeongjo', Georgia, serif !important;
  font-weight: 400 !important;
  font-size: 28px !important;
  line-height: 1.1 !important;
  color: #561023; /* State A */
  margin: 0 0 4px !important;
  letter-spacing: normal !important;
  transition: color 0.45s ease;
}

.hw-sf-manage-header-box.published .hw-sf-manage-title {
  color: #FFFFFF; /* State B: Published White Serif */
}

.hw-sf-manage-title .hw-sf-amp {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-style: italic;
  color: #E45558;
}

.hw-sf-manage-sub {
  font-family: 'DM Mono', monospace;
  font-size: 12px;
  letter-spacing: 0.04em;
  color: #561023; /* State A */
  margin-bottom: 12px;
  transition: color 0.45s ease;
}

.hw-sf-manage-header-box.published .hw-sf-manage-sub {
  color: #EDE6DC; /* State B */
}

/* Status Pill Badges */
.hw-sf-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  border-radius: 0px;
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 12px;
  transition: all 0.35s ease;
}

.hw-sf-status-pill.private {
  background: #E45558;
  color: #FFFFFF;
  border: 1.5px solid #561023;
  box-shadow: 2.5px 2.5px 0px #561023;
}

.hw-sf-status-pill.published {
  background: #D5C800; /* Vibrant Gold Yellow */
  color: #561023;
  border: 1.5px solid #561023;
  box-shadow: 2.5px 2.5px 0px #561023;
}

.hw-sf-manage-subtext {
  font-family: 'Cormorant Garamond', 'Nanum Myeongjo', Georgia, serif;
  font-style: italic;
  font-size: 14px;
  line-height: 1.45;
  color: #561023;
  opacity: 0.85;
  margin: 0;
  transition: color 0.45s ease;
}

.hw-sf-manage-header-box.published .hw-sf-manage-subtext {
  color: #EDE6DC;
  opacity: 0.9;
}

/* Sidepane Actions Section */
.hw-sf-manage-body {
  padding: 20px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.hw-sf-action-btns-row {
  display: flex;
  gap: 12px;
  margin-bottom: 24px;
}

/* Publish Button (State A) / Unpublish Button (State B) */
.hw-sf-publish-btn {
  flex: 1;
  height: 42px;
  background: #194234; /* Dark Green */
  color: #FFFFFF;
  border: none;
  border-radius: 0px;
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: background-color 0.3s ease;
}

.hw-sf-publish-btn.published-state {
  background: #541424; /* Dark Maroon / Burgundy for Unpublish */
}

/* Share Wishlist Button (State A: Disabled / State B: Active Coral) */
.hw-sf-share-btn {
  flex: 1;
  height: 42px;
  background: rgba(86, 16, 35, 0.12);
  color: rgba(86, 16, 35, 0.4);
  border: none;
  border-radius: 0px;
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: not-allowed;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: all 0.3s ease;
}

.hw-sf-share-btn.active {
  background: #E45558; /* Active Coral */
  color: #FFFFFF;
  cursor: pointer;
}

.hw-sf-share-btn.active:hover {
  background: #561023;
}

/* Menu List Items (Exact Match to User Target Screenshot) */
.hw-sf-menu-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.hw-sf-menu-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 13px 0;
  border-bottom: 1px solid rgba(86, 16, 35, 0.12);
  font-size: 15px;
  font-weight: 500;
  color: #561023;
}

.hw-sf-menu-left {
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 500;
}

.hw-sf-menu-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  color: #561023;
}

.hw-sf-menu-right {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'DM Mono', monospace;
  font-size: 12px;
  color: rgba(86, 16, 35, 0.4);
}

.hw-sf-badge {
  padding: 3px 8px;
  border-radius: 0px;
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.hw-sf-badge.green-outline {
  border: 1px solid #194234;
  color: #194234;
  background: #E8F0EC;
}

.hw-sf-badge.red-outline {
  border: 1px solid #E45558;
  color: #E45558;
  background: #FDE8E8;
}

.hw-sf-dot-green {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #194234;
  display: inline-block;
}

.hw-sf-dot-red {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #E45558;
  display: inline-block;
}

/* ==========================================================================
   MODAL 1: BEFORE YOU PUBLISH (PAYMENT WARNING MODAL)
   ========================================================================== */

.hw-sf-modal-overlay {
  position: absolute;
  inset: 0;
  z-index: 1000;
  background: rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}

.hw-sf-modal-overlay.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* Payment Warning Sheet (Exact User Reference Match) */
.hw-sf-warning-sheet {
  max-width: 440px;
  width: 100%;
  background: #EDE6DC;
  border: 1.5px solid #E45558;
  box-shadow: 6px 6px 0 0 #E45558, 0 12px 32px rgba(0, 0, 0, 0.3);
  overflow: hidden;
  position: relative;
  box-sizing: border-box;
  border-radius: 0px;
}

.hw-sf-warning-intro {
  position: relative;
  overflow: hidden;
  padding: 36px 32px 28px;
  background: #E45558; /* Coral Header */
}



.hw-sf-warning-close {
  position: absolute;
  top: 16px;
  right: 18px;
  width: 24px;
  height: 24px;
  border: none;
  background: transparent;
  color: #561023; /* Dark Maroon Close Icon */
  font-family: 'DM Sans', sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  z-index: 5;
}

.hw-sf-warning-eyebrow {
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #561023; /* Dark Maroon Eyebrow */
  margin: 0 0 10px;
  display: block;
}

.hw-sf-warning-headline {
  font-family: 'Cormorant Garamond', 'Nanum Myeongjo', Georgia, serif;
  font-weight: 400;
  font-size: 32px;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: #561023; /* Dark Maroon Headline */
  margin: 0;
  max-width: 320px;
}

.hw-sf-warning-body {
  padding: 28px 32px 32px;
  background: #EDE6DC; /* Warm Beige Inner Body */
  display: flex;
  flex-direction: column;
}

.hw-sf-warning-desc {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: #561023;
  margin: 0 0 28px;
}

.hw-sf-warning-actions {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  align-items: center;
}

.hw-sf-btn-publish-anyway {
  padding: 10px 18px;
  height: 40px;
  background: #EDE6DC;
  border: 1px solid rgba(86, 16, 35, 0.3);
  color: #561023;
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.15s ease;
  box-sizing: border-box;
}

.hw-sf-btn-publish-anyway:hover {
  background: rgba(86, 16, 35, 0.06);
  border-color: #561023;
}

.hw-sf-btn-enable-now {
  padding: 10px 18px;
  height: 40px;
  background: #194234;
  border: none;
  color: #FFFFFF;
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.15s ease;
  box-sizing: border-box;
}

.hw-sf-btn-enable-now:hover {
  background: #0F382B;
}

/* ==========================================================================
   MODAL 2: SHARE WISHLIST INTERFACE MODAL
   ========================================================================== */

.hw-sf-share-sheet {
  max-width: 440px;
  width: 100%;
  background: #EDE6DC;
  border: 1.5px solid #194234;
  box-shadow: 6px 6px 0 0 #E45558, -8px -6px 24px rgba(0, 0, 0, 0.3);
  overflow: hidden;
  position: relative;
  box-sizing: border-box;
}

.hw-sf-share-intro {
  position: relative;
  overflow: hidden;
  padding: 28px 28px 20px;
  background: #194234;
}

.hw-sf-share-eyebrow {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #D5C800;
  margin: 0 0 6px;
  display: block;
}

.hw-sf-share-headline {
  font-family: 'Cormorant Garamond', 'Nanum Myeongjo', Georgia, serif;
  font-weight: 400;
  font-size: 28px;
  line-height: 1.1;
  color: #EDE6DC;
  margin: 0;
}

.hw-sf-share-body {
  padding: 22px 28px 26px;
  background: #EDE6DC;
  display: flex;
  flex-direction: column;
}

.hw-sf-share-subhead {
  font-family: 'DM Mono', monospace;
  font-size: 0.68rem;
  line-height: 1.45;
  color: rgba(86, 16, 35, 0.75);
  margin: 0 0 16px;
}

/* Public URL & Copy Link Row */
.hw-sf-url-row {
  display: flex;
  gap: 0;
  background: #FFFFFF;
  border: 1.5px solid rgba(86, 16, 35, 0.25);
  box-sizing: border-box;
  margin-bottom: 18px;
}

.hw-sf-url-input {
  flex: 1;
  height: 42px;
  border: none;
  background: transparent;
  font-family: 'DM Mono', monospace;
  font-size: 0.72rem;
  color: #561023;
  padding: 0 12px;
  outline: none;
  box-sizing: border-box;
}

.hw-sf-copy-btn {
  height: 42px;
  padding: 0 18px;
  background: #E45558;
  border: none;
  font-family: 'DM Mono', monospace;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #FFFFFF;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: background-color 0.25s ease;
}

.hw-sf-copy-btn.copied {
  background: #5a8a4a; /* Success Green */
}

/* Social Sharing Options Row */
.hw-sf-social-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.hw-sf-social-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  background: transparent;
  border: 1.5px solid rgba(86, 16, 35, 0.2);
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  color: #561023;
  cursor: pointer;
}

.hw-sf-share-btn.copied {
  background: #588349 !important; /* Sage/Forest Green matching user screenshot */
  color: #FFFFFF !important;
  cursor: pointer;
}

/* Toast Success Notification Banner (Top Center Cream Box matching screenshot) */
.hw-sf-toast-notification {
  position: absolute;
  top: 18px;
  left: 50%;
  transform: translateX(-50%) translateY(-15px);
  background: #EDE6DC;
  color: #561023;
  padding: 8px 18px;
  font-family: 'DM Mono', monospace;
  font-size: 12px;
  letter-spacing: 0.04em;
  border: 1px solid rgba(86, 16, 35, 0.2);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  opacity: 0;
  visibility: hidden;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  z-index: 1200;
  white-space: nowrap;
}

.hw-sf-toast-notification.show {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

/* --------------------------------------------------------------------------
   CURSOR & RIPPLE ANIMATION ELEMENTS
   -------------------------------------------------------------------------- */
.hw-sf-cursor {
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  z-index: 2000;
  pointer-events: none;
  transform: translate3d(0, 0, 0);
  transition: transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.hw-sf-ripple {
  position: absolute;
  top: 0;
  left: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 2px solid #E45558;
  background: rgba(228, 85, 88, 0.25);
  z-index: 1999;
  pointer-events: none;
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.2);
}

.hw-sf-ripple.active {
  animation: hwSfRippleAnim 0.45s cubic-bezier(0, 0, 0.2, 1) forwards;
}

@keyframes hwSfRippleAnim {
  0% {
    opacity: 0.9;
    transform: translate(-50%, -50%) scale(0.3);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1.6);
  }
}

/* Responsive Rules */
/* Maintained desktop side-by-side layout across all viewports */
