:root{
  --hw-bg: #fff9fb;
  --hw-surface: #ffffff;
  --hw-text: #1f2937;
  --hw-muted: #6b7280;
  --hw-border: rgba(31,41,55,.10);
  --hw-pink: #f472b6;
  --hw-rose: #fb7185;
  --hw-nude: #f5e6e0;
  --hw-shadow: 0 14px 40px rgba(31,41,55,.10);
}

html,body{height:100%;}
body.hw-body{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  background: radial-gradient(1200px 600px at 12% 0%, rgba(244,114,182,.12), transparent 55%),
              radial-gradient(900px 520px at 100% 18%, rgba(251,113,133,.10), transparent 55%),
              var(--hw-bg);
  color: var(--hw-text);
}

.hw-navbar{
  background: rgba(255,255,255,.82);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--hw-border);
}
.hw-brand-title{
  font-family: "Playfair Display", serif;
  font-weight: 700;
  font-size: .95rem;
  letter-spacing: .02em;
}
.hw-brand-subtitle{
  font-size: .7rem;
  color: var(--hw-muted);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.hw-logo{
  width: 40px; height: 40px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(244,114,182,.95), rgba(251,113,133,.95));
  box-shadow: 0 10px 26px rgba(244,114,182,.22);
}
.hw-logo-inner{
  font-weight: 700;
  color: #fff;
}
.navbar .nav-link{
  color: rgba(31,41,55,.86);
  font-weight: 500;
  border-radius: 999px;
  padding: .5rem .85rem;
}
.navbar .nav-link:hover{background: rgba(245,230,224,.55);}
.navbar .nav-link.active{background: rgba(244,114,182,.12); color: rgba(31,41,55,.95);}
.hw-dropdown{
  border: 1px solid var(--hw-border);
  box-shadow: var(--hw-shadow);
  border-radius: 18px;
  padding: .5rem;
}
.hw-btn-soft{
  border-radius: 999px;
  border: 1px solid rgba(244,114,182,.25);
  background: rgba(255,255,255,.8);
  color: rgba(31,41,55,.92);
}
.hw-btn-soft:hover{
  border-color: rgba(244,114,182,.45);
  box-shadow: 0 10px 26px rgba(244,114,182,.12);
}

.hw-hero{
  border-bottom: 1px solid var(--hw-border);
}
.hw-hero-card{
  background: rgba(255,255,255,.86);
  border: 1px solid var(--hw-border);
  border-radius: 26px;
  box-shadow: var(--hw-shadow);
  overflow: hidden;
}
.hw-hero-title{
  font-family: "Playfair Display", serif;
  letter-spacing: .01em;
}
.hw-hero-kicker{
  display:inline-flex;
  gap:.5rem;
  align-items:center;
  border-radius:999px;
  padding:.4rem .75rem;
  background: rgba(244,114,182,.10);
  border: 1px solid rgba(244,114,182,.18);
  color: rgba(31,41,55,.82);
  font-size: .8rem;
}

.hw-section-title{
  font-family: "Playfair Display", serif;
  font-weight: 700;
  letter-spacing: .01em;
}
.hw-card{
  border: 1px solid var(--hw-border);
  border-radius: 20px;
  box-shadow: 0 10px 28px rgba(31,41,55,.06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  background: var(--hw-surface);
}
.hw-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 44px rgba(31,41,55,.10);
  border-color: rgba(244,114,182,.22);
}
.hw-card-media{position: relative; display:block;}
.hw-card-img{aspect-ratio: 4/3; object-fit: cover; border-top-left-radius: 20px; border-top-right-radius: 20px;}
.hw-img-placeholder{
  aspect-ratio: 4/3;
  display:flex;
  align-items:center;
  justify-content:center;
  background: linear-gradient(135deg, rgba(245,230,224,.95), rgba(244,114,182,.10));
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
}
.hw-img-placeholder-inner{
  width: 56px; height: 56px;
  border-radius: 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(31,41,55,.10);
  color: rgba(244,114,182,.9);
  font-size: 1.35rem;
}
.hw-badge-featured{
  position:absolute;
  top: 12px; left: 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.88);
  color: rgba(31,41,55,.92);
  border: 1px solid rgba(244,114,182,.22);
}
.hw-line-2{
  display:-webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow:hidden;
}

.hw-breadcrumbs{
  background: rgba(255,255,255,.72);
  border-bottom: 1px solid var(--hw-border);
}
.breadcrumb a{color: rgba(31,41,55,.80); text-decoration: none;}
.breadcrumb a:hover{text-decoration: underline;}

.hw-footer{
  background: rgba(255,255,255,.72);
  border-top: 1px solid var(--hw-border);
}
.hw-footer-title{
  font-weight: 600;
  margin-bottom: .5rem;
}
.hw-footer-link{
  color: rgba(31,41,55,.82);
  text-decoration: none;
}
.hw-footer-link:hover{text-decoration: underline;}
.hw-social{
  width: 38px; height: 38px;
  border-radius: 999px;
  border: 1px solid rgba(244,114,182,.22);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color: rgba(31,41,55,.82);
  text-decoration:none;
  background: rgba(255,255,255,.78);
}
.hw-social:hover{border-color: rgba(244,114,182,.45); box-shadow: 0 10px 24px rgba(244,114,182,.12);}

.hw-filter-card{
  border: 1px solid var(--hw-border);
  border-radius: 18px;
  background: rgba(255,255,255,.86);
  box-shadow: 0 10px 28px rgba(31,41,55,.06);
}

.hw-gallery-main{
  border-radius: 22px;
  border: 1px solid var(--hw-border);
  overflow:hidden;
  background: #fff;
}
.hw-gallery-main img{
  width:100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  transition: transform .22s ease;
}
.hw-gallery-main:hover img{transform: scale(1.04);}
.hw-thumb{
  border-radius: 14px;
  border: 1px solid var(--hw-border);
  overflow:hidden;
  background:#fff;
  cursor:pointer;
}
.hw-thumb img{width:100%; aspect-ratio: 1/1; object-fit: cover;}
.hw-thumb.is-active{border-color: rgba(244,114,182,.55); box-shadow: 0 10px 26px rgba(244,114,182,.12);}

/* Mobile spacing for sticky footer feel */
.hw-main{min-height: 60vh;}
.hw-logo-img{
    height:50px;
    width:auto;
    object-fit:contain;
    transition:0.3s ease;
}

.hw-logo-img:hover{
    transform:scale(1.05);
}
/* Premium Buy Button */
.hw-premium-btn{
background:linear-gradient(135deg,#000,#333);
color:#fff;
padding:14px 32px;
border-radius:50px;
font-weight:600;
text-decoration:none;
display:inline-block;
transition:0.3s ease;
box-shadow:0 8px 20px rgba(0,0,0,0.2);
}
.hw-premium-btn:hover{
transform:translateY(-3px);
box-shadow:0 12px 25px rgba(0,0,0,0.3);
color:#fff;
}

/* Dropdown */
.hw-dropdown-btn{
width:100%;
padding:14px;
border:none;
border-radius:10px;
background:#f8f9fa;
font-weight:600;
cursor:pointer;
text-align:left;
}
.hw-dropdown-content{
display:none;
padding:15px;
border:1px solid #eee;
border-radius:10px;
margin-top:10px;
background:#fff;
}
.hw-dropdown-content.active{
display:block;
}

/* Gallery */
.hw-gallery-main img{
width:100%;
border-radius:16px;
transition:0.3s ease;
}
.hw-thumb{
cursor:pointer;
border-radius:12px;
overflow:hidden;
border:2px solid transparent;
}
.hw-thumb img{
width:100%;
}
.hw-thumb.is-active{
border:2px solid #000;
}

