﻿/*
 * Blessing Event Decor - Complete Modern Theme
 * Grid-first layout with clean spacing and elegant transitions
 */

/* ============================================
   DESIGN TOKENS
   ============================================ */
:root {
--bed-primary: #c9956b;
--bed-primary-dark: #a87a52;
--bed-primary-light: #e8d4c0;
--bed-secondary: #1e293b;
--bed-accent: #e8739e;
--bed-text: #1e293b;
--bed-text-mid: #475569;
--bed-text-light: #64748b;
--bed-bg: #ffffff;
--bed-bg-warm: #faf7f4;
--bed-bg-dark: #0f172a;
--bed-border: #e2e8f0;
--bed-radius: 16px;
--bed-radius-sm: 10px;
--bed-shadow-sm: 0 1px 3px rgba(0,0,0,.06);
--bed-shadow: 0 4px 24px rgba(0,0,0,.07);
--bed-shadow-lg: 0 12px 48px rgba(0,0,0,.1);
--bed-transition: all .25s ease;
--bed-font-heading: 'Playfair Display', Georgia, serif;
--bed-font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* ============================================
   BASE
   ============================================ */
body {
font-family: var(--bed-font-body);
color: var(--bed-text);
-webkit-font-smoothing: antialiased;
}

*, *::before, *::after { box-sizing: border-box; }

.bed-wrap {
max-width: 1200px;
margin: 0 auto;
padding: 0 24px;
}

.bed-label {
display: inline-block;
font-size: .78rem;
font-weight: 700;
letter-spacing: 1.5px;
text-transform: uppercase;
color: var(--bed-primary-dark);
background: var(--bed-primary-light);
padding: 6px 16px;
border-radius: 20px;
margin-bottom: 14px;
}

.bed-btn {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 14px 32px;
font-size: .95rem;
font-weight: 600;
border-radius: 50px;
text-decoration: none;
transition: var(--bed-transition);
cursor: pointer;
border: 2px solid transparent;
}

.bed-btn-primary {
background: var(--bed-primary);
color: #fff;
border-color: var(--bed-primary);
}
.bed-btn-primary:hover {
background: var(--bed-primary-dark);
border-color: var(--bed-primary-dark);
color: #fff;
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(201,149,107,.35);
}

.bed-btn-outline {
background: transparent;
color: #fff;
border-color: rgba(255,255,255,.4);
}
.bed-btn-outline:hover {
border-color: #fff;
color: #fff;
transform: translateY(-2px);
}

.bed-btn-outline-light {
background: transparent;
color: #fff;
border-color: rgba(255,255,255,.35);
}
.bed-btn-outline-light:hover {
border-color: var(--bed-primary);
color: var(--bed-primary);
}

/* ============================================
   HERO
   ============================================ */
.bed-hero {
position: relative;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
background: var(--bed-bg-dark);
overflow: hidden;
}

.bed-hero-slide {
position: absolute;
inset: 0;
background-size: cover;
background-position: center;
opacity: 0;
animation: heroFade 30s ease-in-out infinite;
}
.bed-hero-slide:nth-child(1) { animation-delay: 0s; }
.bed-hero-slide:nth-child(2) { animation-delay: 5s; }
.bed-hero-slide:nth-child(3) { animation-delay: 10s; }
.bed-hero-slide:nth-child(4) { animation-delay: 15s; }
.bed-hero-slide:nth-child(5) { animation-delay: 20s; }
.bed-hero-slide:nth-child(6) { animation-delay: 25s; }

@keyframes heroFade {
0%    { opacity: 0; }
3%    { opacity: 1; }
16.6% { opacity: 1; }
20%   { opacity: 0; }
100%  { opacity: 0; }
}

.bed-hero-overlay {
position: absolute;
inset: 0;
background: linear-gradient(to bottom,
rgba(15,23,42,.72) 0%,
rgba(15,23,42,.55) 40%,
rgba(15,23,42,.80) 100%);
z-index: 1;
}

.bed-hero-inner {
position: relative;
z-index: 2;
text-align: center;
padding: 40px 24px;
max-width: 740px;
}

.bed-hero-logo {
display: block;
width: 120px;
height: 120px;
object-fit: contain;
border-radius: 50%;
margin: 0 auto 20px;
background: rgba(255,255,255,0.12);
padding: 6px;
box-shadow: 0 4px 30px rgba(0,0,0,0.3);
border: 2px solid rgba(255,255,255,.15);
}

.bed-hero-label {
display: inline-block;
font-size: .75rem;
font-weight: 700;
letter-spacing: 2.5px;
text-transform: uppercase;
color: var(--bed-primary);
margin-bottom: 18px;
}

.bed-hero-title {
font-family: var(--bed-font-heading);
font-size: clamp(2.4rem, 5vw, 4rem);
color: #fff;
font-weight: 700;
line-height: 1.15;
margin: 0 0 18px;
}

.bed-hero-subtitle {
font-size: 1.1rem;
color: rgba(255,255,255,.8);
line-height: 1.75;
margin: 0 0 36px;
}

.bed-hero-actions {
display: flex;
gap: 14px;
justify-content: center;
flex-wrap: wrap;
}

/* Scroll indicator */
.bed-hero-scroll {
position: absolute;
bottom: 32px;
left: 50%;
transform: translateX(-50%);
z-index: 3;
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
color: rgba(255,255,255,.5);
font-size: .7rem;
letter-spacing: 2px;
text-transform: uppercase;
}
.bed-hero-scroll-line {
width: 1px;
height: 40px;
background: linear-gradient(to bottom, rgba(255,255,255,.5), transparent);
animation: scrollPulse 2s ease-in-out infinite;
}
@keyframes scrollPulse {
0%, 100% { opacity: .4; transform: scaleY(1); }
50% { opacity: 1; transform: scaleY(1.2); }
}

/* ============================================
   STATS BAR
   ============================================ */
.bed-stats-bar {
background: var(--bed-secondary);
padding: 0;
}

.bed-stats-bar .bed-wrap {
display: flex;
align-items: stretch;
}

.bed-stat {
flex: 1;
text-align: center;
padding: 30px 16px;
position: relative;
}

.bed-stat + .bed-stat::before {
content: '';
position: absolute;
left: 0;
top: 20%;
height: 60%;
width: 1px;
background: rgba(255,255,255,.12);
}

.bed-stat-num {
display: block;
font-family: var(--bed-font-heading);
font-size: 2rem;
font-weight: 700;
color: var(--bed-primary);
line-height: 1;
margin-bottom: 6px;
}

.bed-stat-txt {
font-size: .8rem;
color: rgba(255,255,255,.55);
text-transform: uppercase;
letter-spacing: 1px;
}

/* ============================================
   ABOUT
   ============================================ */
.bed-about {
padding: 90px 0;
background: var(--bed-bg);
}

.bed-about .bed-wrap {
display: flex;
gap: 60px;
align-items: center;
}

.bed-about-left {
flex: 1;
}

.bed-about-left h2 {
font-family: var(--bed-font-heading);
font-size: 2.2rem;
color: var(--bed-secondary);
margin: 0 0 18px;
line-height: 1.25;
}

.bed-about-left p {
font-size: 1rem;
color: var(--bed-text-mid);
line-height: 1.75;
margin: 0 0 16px;
}

.bed-about-features {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
margin-top: 24px;
}

.bed-about-feat {
display: flex;
align-items: center;
gap: 8px;
font-size: .92rem;
color: var(--bed-text);
font-weight: 500;
}
.bed-about-feat span { font-size: 1.15rem; }

.bed-about-right {
flex: 0 0 420px;
}

.bed-about-img {
width: 100%;
height: 460px;
background-size: cover;
background-position: center;
border-radius: var(--bed-radius);
box-shadow: var(--bed-shadow-lg);
}

/* ============================================
   SERVICES - grid with background images
   ============================================ */
.bed-services {
padding: 90px 0;
background: var(--bed-bg-warm);
}

.bed-services-header {
text-align: center;
margin-bottom: 48px;
}

.bed-services-header h2 {
font-family: var(--bed-font-heading);
font-size: 2.2rem;
color: var(--bed-secondary);
margin: 0 0 10px;
}

.bed-services-header p {
font-size: 1rem;
color: var(--bed-text-light);
}

.bed-services-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
}

.bed-svc-card {
position: relative;
border-radius: var(--bed-radius);
overflow: hidden;
text-decoration: none;
color: #fff;
min-height: 280px;
display: flex;
align-items: flex-end;
transition: transform .35s ease, box-shadow .35s ease;
}

.bed-svc-card:hover {
transform: translateY(-6px);
box-shadow: var(--bed-shadow-lg);
color: #fff;
}

.bed-svc-card.bed-svc-featured {
grid-column: 1 / -1;
min-height: 380px;
}

.bed-svc-bg {
position: absolute;
inset: 0;
background-size: cover;
background-position: center;
transition: transform .6s ease;
}

.bed-svc-bg::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(to top,
rgba(15,23,42,.85) 0%,
rgba(15,23,42,.35) 50%,
rgba(15,23,42,.1) 100%);
}

.bed-svc-card:hover .bed-svc-bg {
transform: scale(1.05);
}

.bed-svc-content {
position: relative;
z-index: 2;
padding: 28px;
width: 100%;
}

.bed-svc-icon {
font-size: 2rem;
margin-bottom: 10px;
filter: drop-shadow(0 2px 4px rgba(0,0,0,.3));
}

.bed-svc-content h3 {
font-family: var(--bed-font-heading);
font-size: 1.4rem;
margin: 0 0 8px;
color: #fff;
}

.bed-svc-content p {
font-size: .9rem;
color: rgba(255,255,255,.8);
line-height: 1.6;
margin: 0 0 14px;
max-width: 500px;
}

.bed-svc-link {
display: inline-flex;
align-items: center;
gap: 6px;
font-size: .88rem;
font-weight: 600;
color: var(--bed-primary-light);
transition: var(--bed-transition);
}

.bed-svc-link .bed-svc-arrow {
transition: transform .2s;
}

.bed-svc-card:hover .bed-svc-link {
color: var(--bed-primary);
}

.bed-svc-card:hover .bed-svc-arrow {
transform: translateX(4px);
}

/* Featured card larger text */
.bed-svc-featured .bed-svc-content h3 {
font-size: 2rem;
}
.bed-svc-featured .bed-svc-content p {
font-size: 1rem;
}
.bed-svc-featured .bed-svc-icon {
font-size: 2.6rem;
}

/* ============================================
   PROCESS - timeline track
   ============================================ */
.bed-process {
padding: 90px 0;
background: var(--bed-bg);
}

.bed-process-header {
text-align: center;
margin-bottom: 56px;
}
.bed-process-header h2 {
font-family: var(--bed-font-heading);
font-size: 2.2rem;
color: var(--bed-secondary);
margin: 0;
}

.bed-process-track {
display: flex;
align-items: flex-start;
position: relative;
gap: 0;
}

.bed-process-line {
position: absolute;
top: 22px;
left: 30px;
right: 30px;
height: 2px;
background: var(--bed-border);
z-index: 0;
}

.bed-step {
flex: 1;
text-align: center;
position: relative;
z-index: 1;
padding: 0 12px;
}

.bed-step-dot {
width: 46px;
height: 46px;
border-radius: 50%;
background: var(--bed-primary);
color: #fff;
font-family: var(--bed-font-heading);
font-size: 1.15rem;
font-weight: 700;
display: inline-flex;
align-items: center;
justify-content: center;
margin-bottom: 16px;
box-shadow: 0 0 0 6px var(--bed-bg);
}

.bed-step h3 {
font-family: var(--bed-font-heading);
font-size: 1.1rem;
color: var(--bed-secondary);
margin: 0 0 6px;
}

.bed-step p {
font-size: .88rem;
color: var(--bed-text-light);
line-height: 1.55;
margin: 0;
}

/* ============================================
   TESTIMONIALS - with quotes and avatars
   ============================================ */
.bed-reviews {
padding: 90px 0;
background: var(--bed-bg-warm);
}

.bed-reviews-header {
text-align: center;
margin-bottom: 48px;
}
.bed-reviews-header h2 {
font-family: var(--bed-font-heading);
font-size: 2.2rem;
color: var(--bed-secondary);
margin: 0;
}

.bed-reviews-row {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
}

.bed-review {
background: var(--bed-bg);
border: 1px solid var(--bed-border);
border-radius: var(--bed-radius);
padding: 32px 28px;
transition: var(--bed-transition);
display: flex;
flex-direction: column;
}

.bed-review:hover {
box-shadow: var(--bed-shadow);
transform: translateY(-3px);
}

.bed-review-quote {
font-family: var(--bed-font-heading);
font-size: 3.5rem;
line-height: 1;
color: var(--bed-primary-light);
margin-bottom: 4px;
}

.bed-review p {
font-size: .92rem;
color: var(--bed-text-mid);
line-height: 1.7;
font-style: italic;
margin: 0 0 22px;
flex: 1;
}

.bed-review-footer {
display: flex;
align-items: center;
gap: 12px;
}

.bed-review-avatar {
width: 42px;
height: 42px;
border-radius: 50%;
background: linear-gradient(135deg, var(--bed-primary), var(--bed-accent));
color: #fff;
font-weight: 700;
font-size: .95rem;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}

.bed-review-author {
flex: 1;
}

.bed-review-author strong {
display: block;
font-size: .92rem;
color: var(--bed-secondary);
}
.bed-review-author span {
font-size: .8rem;
color: var(--bed-primary-dark);
}

.bed-review-stars {
color: #f59e0b;
font-size: 1rem;
letter-spacing: 2px;
flex-shrink: 0;
}

/* ============================================
   CTA
   ============================================ */
.bed-cta {
padding: 70px 0;
background: var(--bed-secondary);
}

.bed-cta-inner {
display: flex;
align-items: center;
justify-content: space-between;
gap: 40px;
}

.bed-cta-text h2 {
font-family: var(--bed-font-heading);
font-size: 2rem;
color: #fff;
margin: 0 0 8px;
}
.bed-cta-text p {
color: rgba(255,255,255,.6);
font-size: 1rem;
margin: 0;
}

.bed-cta-actions {
display: flex;
gap: 14px;
flex-shrink: 0;
}

/* ============================================
   SERVICE CATEGORY PAGE
   ============================================ */
.bed-section-header {
text-align: center;
margin-bottom: 50px;
}
.bed-section-header h2 {
font-family: var(--bed-font-heading);
font-size: 2.2rem;
color: var(--bed-secondary);
margin-bottom: 12px;
font-weight: 700;
}
.bed-divider {
width: 60px;
height: 3px;
background: var(--bed-primary);
margin: 0 auto 18px;
border-radius: 2px;
}
.bed-section-desc {
font-size: 1rem;
color: var(--bed-text-light);
max-width: 560px;
margin: 0 auto;
line-height: 1.7;
}

.bed-service-hero {
position: relative;
padding: 110px 24px 70px;
text-align: center;
background: linear-gradient(135deg, var(--bed-secondary) 0%, #1a252f 100%);
background-size: cover;
background-position: center;
}
.bed-service-hero-overlay {
position: absolute;
inset: 0;
background: rgba(0,0,0,.58);
}
.bed-service-hero-content { position: relative; z-index: 2; }
.bed-service-hero-icon { font-size: 3.5rem; margin-bottom: 12px; }
.bed-service-hero h1 {
font-family: var(--bed-font-heading);
font-size: 3rem;
color: #fff;
margin-bottom: 12px;
}
.bed-service-hero-tagline {
font-size: 1.1rem;
color: rgba(255,255,255,.75);
max-width: 480px;
margin: 0 auto;
}

.bed-service-intro { padding: 50px 0; background: var(--bed-bg); }
.bed-service-description {
font-size: 1.05rem;
line-height: 1.8;
color: var(--bed-text-light);
text-align: center;
max-width: 760px;
margin: 0 auto;
}

/* ============================================
   PLANS - card layout
   ============================================ */
.bed-plans-section {
padding: 70px 0 90px;
background: var(--bed-bg-warm);
}

.bed-plans-section .bed-wrap {
display: block !important;
width: 100% !important;
}

.bed-plans-grid {
display: flex;
gap: 24px;
align-items: flex-start;
}

.bed-plan-card {
flex: 1;
background: var(--bed-bg);
border-radius: var(--bed-radius);
padding: 36px 28px;
box-shadow: var(--bed-shadow-sm);
border: 2px solid var(--bed-border);
transition: var(--bed-transition);
text-align: center;
position: relative;
}
.bed-plan-card:hover {
transform: translateY(-4px);
box-shadow: var(--bed-shadow);
}

.bed-plan-popular {
border-color: var(--bed-primary);
box-shadow: var(--bed-shadow);
}

.bed-plan-badge {
position: absolute;
top: -14px;
left: 50%;
transform: translateX(-50%);
background: var(--bed-primary);
color: #fff;
padding: 5px 22px;
border-radius: 20px;
font-size: .82rem;
font-weight: 600;
letter-spacing: .5px;
white-space: nowrap;
}

.bed-plan-icon { font-size: 2.5rem; margin-bottom: 12px; }

.bed-plan-name {
font-family: var(--bed-font-heading);
font-size: 1.4rem;
color: var(--bed-secondary);
margin-bottom: 8px;
}

.bed-plan-price {
font-size: 1rem;
color: var(--bed-primary-dark);
font-weight: 600;
margin-bottom: 18px;
padding-bottom: 18px;
border-bottom: 1px solid var(--bed-border);
}

.bed-plan-description {
font-size: .9rem;
color: var(--bed-text-light);
line-height: 1.6;
margin-bottom: 22px;
}

.bed-plan-features {
list-style: none;
padding: 0;
margin: 0;
text-align: left;
display: none;
}
.bed-plan-features li {
padding: 7px 0 7px 22px;
position: relative;
font-size: .88rem;
color: var(--bed-text);
border-bottom: 1px solid #f5f0eb;
}
.bed-plan-features li:last-child { border-bottom: none; }
.bed-plan-features li::before {
content: '\2713';
position: absolute;
left: 0;
color: var(--bed-primary);
font-weight: 700;
}

.bed-plan-actions {
display: flex;
flex-direction: column;
gap: 10px;
}
.bed-plan-gallery-btn {
display: block;
padding: 13px 20px;
background: var(--bed-primary);
color: #fff;
text-decoration: none;
border-radius: 50px;
font-weight: 600;
font-size: .92rem;
transition: var(--bed-transition);
}
.bed-plan-gallery-btn:hover { background: var(--bed-primary-dark); color: #fff; }

.bed-plan-quote-btn {
display: block;
padding: 13px 20px;
background: transparent;
color: var(--bed-primary);
text-decoration: none;
border-radius: 50px;
font-weight: 600;
font-size: .92rem;
border: 2px solid var(--bed-primary);
transition: var(--bed-transition);
}
.bed-plan-quote-btn:hover { background: var(--bed-primary); color: #fff; }

/* ============================================
   PLAN GALLERY PAGE
   ============================================ */
.bed-plan-hero {
padding: 90px 24px 55px;
text-align: center;
background: var(--plan-gradient, linear-gradient(135deg, #c9956b, #e0c5a8));
position: relative;
background-size: cover;
background-position: center;
}
.bed-plan-hero-overlay {
position: absolute;
inset: 0;
background: rgba(0,0,0,.52);
}
.bed-plan-hero-content { position: relative; z-index: 2; }

.bed-plan-back-link {
display: inline-block;
color: rgba(255,255,255,.75);
text-decoration: none;
margin-bottom: 18px;
font-size: .9rem;
transition: var(--bed-transition);
}
.bed-plan-back-link:hover { color: #fff; }

.bed-plan-hero h1 {
font-family: var(--bed-font-heading);
font-size: 2.6rem;
color: #fff;
margin-bottom: 8px;
text-shadow: 0 2px 8px rgba(0,0,0,.15);
}
.bed-plan-hero-service {
font-size: 1.1rem;
color: rgba(255,255,255,.85);
}

.bed-plan-content { padding: 50px 0; }

.bed-gallery-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
gap: 18px;
margin-top: 24px;
}
.bed-gallery-item {
border-radius: var(--bed-radius-sm);
overflow: hidden;
position: relative;
aspect-ratio: 4/3;
box-shadow: var(--bed-shadow-sm);
}
.bed-gallery-item img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform .45s ease;
}
.bed-gallery-item:hover img { transform: scale(1.04); }
.bed-gallery-link { display: block; width: 100%; height: 100%; }
.bed-gallery-overlay {
position: absolute;
inset: 0;
background: rgba(0,0,0,.35);
display: flex;
align-items: center;
justify-content: center;
opacity: 0;
transition: opacity .25s;
}
.bed-gallery-item:hover .bed-gallery-overlay { opacity: 1; }
.bed-gallery-zoom { font-size: 1.8rem; }

/* Watermark on gallery images */
.bed-gallery-item::after {
content: 'Blessings Event Decor';
position: absolute;
bottom: 10px;
right: 12px;
font-family: var(--bed-font-heading), serif;
font-size: .7rem;
color: rgba(255,255,255,.45);
letter-spacing: .5px;
pointer-events: none;
z-index: 1;
text-shadow: 0 1px 3px rgba(0,0,0,.4);
}

.bed-gallery-placeholder { margin-top: 24px; }
.bed-placeholder-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
gap: 16px;
}
.bed-placeholder-item {
aspect-ratio: 4/3;
border-radius: var(--bed-radius-sm);
overflow: hidden;
}
.bed-placeholder-inner {
width: 100%;
height: 100%;
background: linear-gradient(135deg, #f0ebe5, #e8e0d8);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
border: 2px dashed var(--bed-border);
border-radius: var(--bed-radius-sm);
transition: var(--bed-transition);
}
.bed-placeholder-item:hover .bed-placeholder-inner { border-color: var(--bed-primary); }
.bed-placeholder-icon { font-size: 1.8rem; margin-bottom: 6px; }
.bed-placeholder-text { font-size: .85rem; color: var(--bed-text-light); }

.bed-placeholder-notice {
margin-top: 32px;
padding: 24px;
background: var(--bed-bg-warm);
border-radius: var(--bed-radius);
text-align: center;
border: 1px solid var(--bed-border);
}
.bed-placeholder-notice p { color: var(--bed-text-light); margin: 4px 0; }

.bed-plan-navigation {
padding: 50px 0;
background: var(--bed-bg-warm);
text-align: center;
}
.bed-plan-navigation h2 {
font-family: var(--bed-font-heading);
font-size: 1.6rem;
color: var(--bed-secondary);
margin-bottom: 24px;
}
.bed-plan-nav-grid {
display: flex;
justify-content: center;
gap: 16px;
flex-wrap: wrap;
}
.bed-plan-nav-card {
display: flex;
flex-direction: column;
align-items: center;
padding: 22px 36px;
background: var(--bed-bg);
border-radius: var(--bed-radius);
text-decoration: none;
box-shadow: var(--bed-shadow-sm);
border: 2px solid var(--bed-border);
transition: var(--bed-transition);
}
.bed-plan-nav-card:hover {
border-color: var(--bed-primary);
transform: translateY(-3px);
box-shadow: var(--bed-shadow);
}
.bed-plan-nav-icon { font-size: 1.8rem; margin-bottom: 6px; }
.bed-plan-nav-name { font-weight: 600; color: var(--bed-secondary); font-size: .95rem; }

.bed-service-cta {
padding: 70px 0;
background: linear-gradient(135deg, var(--bed-secondary), #1a252f);
text-align: center;
}
.bed-service-cta h2 {
font-family: var(--bed-font-heading);
font-size: 2rem;
color: #fff;
margin-bottom: 12px;
}
.bed-service-cta p { color: rgba(255,255,255,.7); font-size: 1rem; margin-bottom: 28px; }

.bed-cta-buttons { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.bed-cta-primary {
display: inline-block;
padding: 14px 36px;
background: var(--bed-primary);
color: #fff;
text-decoration: none;
border-radius: 50px;
font-weight: 600;
transition: var(--bed-transition);
}
.bed-cta-primary:hover { background: var(--bed-primary-dark); color: #fff; }
.bed-cta-secondary {
display: inline-block;
padding: 14px 36px;
background: transparent;
color: #fff;
text-decoration: none;
border-radius: 50px;
font-weight: 600;
border: 2px solid rgba(255,255,255,.3);
transition: var(--bed-transition);
}
.bed-cta-secondary:hover { border-color: var(--bed-primary); color: var(--bed-primary); }

/* ============================================
   LIGHTBOX
   ============================================ */
#bed-lightbox {
position: fixed;
inset: 0;
z-index: 99999;
display: none;
align-items: center;
justify-content: center;
}
#bed-lightbox[style*="display:block"],
#bed-lightbox[style*="display: block"] {
display: flex !important;
}
#bed-lightbox .bed-lightbox-overlay {
position: absolute;
inset: 0;
background: rgba(0,0,0,.92);
}
#bed-lightbox .bed-lightbox-img {
position: relative;
z-index: 2;
max-width: 90%;
max-height: 85vh;
object-fit: contain;
border-radius: 4px;
}
#bed-lightbox .bed-lightbox-close {
position: absolute;
top: 20px;
right: 30px;
font-size: 2.5rem;
color: #fff;
background: none;
border: none;
cursor: pointer;
z-index: 3;
}
#bed-lightbox .bed-lightbox-prev,
#bed-lightbox .bed-lightbox-next {
position: absolute;
top: 50%;
transform: translateY(-50%);
font-size: 2.5rem;
color: #fff;
background: rgba(255,255,255,.08);
border: none;
cursor: pointer;
padding: 18px 14px;
border-radius: 4px;
z-index: 3;
transition: background .25s;
}
#bed-lightbox .bed-lightbox-prev { left: 20px; }
#bed-lightbox .bed-lightbox-next { right: 20px; }
#bed-lightbox .bed-lightbox-prev:hover,
#bed-lightbox .bed-lightbox-next:hover { background: rgba(255,255,255,.18); }
#bed-lightbox .bed-lightbox-caption {
position: absolute;
bottom: 20px;
left: 50%;
transform: translateX(-50%);
color: rgba(255,255,255,.7);
font-size: .9rem;
text-align: center;
z-index: 3;
}

/* ============================================
   CONTACT PAGE
   ============================================ */
.bed-contact-hero {
padding: 110px 24px 55px;
text-align: center;
background: linear-gradient(135deg, var(--bed-secondary), #1a252f);
}
.bed-contact-hero-content h1 {
font-family: var(--bed-font-heading);
font-size: 2.8rem;
color: #fff;
margin-bottom: 8px;
}
.bed-contact-hero-content p { color: rgba(255,255,255,.75); font-size: 1.05rem; }

.bed-contact-section { padding: 70px 0; }

.bed-contact-grid {
display: flex;
gap: 56px;
}

.bed-contact-info {
flex: 0 0 340px;
}
.bed-contact-info h2 {
font-family: var(--bed-font-heading);
font-size: 1.6rem;
color: var(--bed-secondary);
margin-bottom: 28px;
}

.bed-contact-item {
display: flex;
gap: 14px;
margin-bottom: 22px;
align-items: flex-start;
}
.bed-contact-icon { font-size: 1.3rem; flex-shrink: 0; }
.bed-contact-item h3 { font-size: .95rem; color: var(--bed-secondary); margin-bottom: 3px; }
.bed-contact-item p { color: var(--bed-text-light); line-height: 1.6; font-size: .9rem; margin: 0; }
.bed-contact-item a { color: var(--bed-primary); text-decoration: none; }
.bed-contact-item a:hover { text-decoration: underline; }

.bed-social-links { margin-top: 28px; }
.bed-social-links h3 { font-size: .95rem; color: var(--bed-secondary); margin-bottom: 12px; }
.bed-social-icons { display: flex; gap: 10px; }
.bed-social-icon {
padding: 7px 14px;
background: var(--bed-bg-warm);
border: 1px solid var(--bed-border);
border-radius: 50px;
text-decoration: none;
color: var(--bed-text);
font-size: .82rem;
transition: var(--bed-transition);
}
.bed-social-icon:hover { background: var(--bed-primary); color: #fff; border-color: var(--bed-primary); }

.bed-contact-form-wrap {
flex: 1;
}
.bed-contact-form-wrap h2 {
font-family: var(--bed-font-heading);
font-size: 1.6rem;
color: var(--bed-secondary);
margin-bottom: 8px;
}
.bed-contact-form-wrap > p { color: var(--bed-text-light); margin-bottom: 22px; }

.bed-contact-form { display: flex; flex-direction: column; gap: 18px; }
.bed-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }

.bed-form-group label {
display: block;
font-size: .85rem;
font-weight: 600;
color: var(--bed-secondary);
margin-bottom: 5px;
}
.bed-form-group input,
.bed-form-group select,
.bed-form-group textarea {
width: 100%;
padding: 11px 14px;
border: 1px solid var(--bed-border);
border-radius: var(--bed-radius-sm);
font-size: .92rem;
font-family: var(--bed-font-body);
transition: var(--bed-transition);
background: var(--bed-bg);
}
.bed-form-group input:focus,
.bed-form-group select:focus,
.bed-form-group textarea:focus {
border-color: var(--bed-primary);
outline: none;
box-shadow: 0 0 0 3px rgba(201,149,107,.12);
}

.bed-submit-btn {
padding: 14px 36px;
background: var(--bed-primary);
color: #fff;
border: none;
border-radius: 50px;
font-size: 1rem;
font-weight: 600;
cursor: pointer;
transition: var(--bed-transition);
font-family: var(--bed-font-body);
align-self: flex-start;
}
.bed-submit-btn:hover {
background: var(--bed-primary-dark);
transform: translateY(-2px);
box-shadow: 0 4px 14px rgba(201,149,107,.35);
}

/* ============================================
   BASE LAYOUT
   ============================================ */
body.blessing-event-decor {
margin: 0;
padding: 0;
overflow-x: hidden;
font-family: var(--bed-font-body);
color: var(--bed-text);
}

.site-content { padding: 0; }
#content { padding: 0; }

.bed-container {
max-width: 100%;
padding: 0;
}

.bed-content-area { width: 100%; }

.hentry { margin: 0; }
.entry-content {
max-width: 100%;
padding: 0;
margin: 0;
}
article.page { padding: 0; margin: 0; }

.skip-link.screen-reader-text {
clip: rect(1px, 1px, 1px, 1px);
position: absolute;
height: 1px;
width: 1px;
overflow: hidden;
}
.skip-link.screen-reader-text:focus {
clip: auto;
position: fixed;
top: 5px;
left: 5px;
z-index: 100000;
background: #fff;
padding: 15px 23px;
font-size: 14px;
width: auto;
height: auto;
}

/* ============================================
   SITE HEADER
   ============================================ */
.bed-site-header {
position: sticky;
top: 0;
z-index: 9999;
background: #fff;
box-shadow: 0 2px 12px rgba(0,0,0,.08);
transition: background .3s, box-shadow .3s;
}

.bed-header-transparent {
position: absolute;
top: 0;
left: 0;
right: 0;
z-index: 9999;
background: rgba(255,255,255,.92);
backdrop-filter: blur(8px);
-webkit-backdrop-filter: blur(8px);
}

.bed-header-inner {
max-width: 1200px;
margin: 0 auto;
padding: 12px 24px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 20px;
}

.bed-site-branding {
display: flex;
align-items: center;
gap: 10px;
flex-shrink: 0;
}

.bed-site-logo {
max-height: 50px;
width: auto;
max-width: 140px;
object-fit: contain;
}

.bed-site-title {
font-family: var(--bed-font-heading);
font-size: 1.25rem;
font-weight: 700;
text-decoration: none;
white-space: nowrap;
background: linear-gradient(120deg, #c9956b, #e8739e, #a87a52);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
letter-spacing: 0.5px;
}

/* Navigation */
.bed-main-nav {
flex: 1;
display: flex;
justify-content: center;
}

.bed-nav-menu {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-wrap: nowrap;
gap: 0;
}

.bed-nav-menu li a {
display: block;
padding: 10px 14px;
font-family: var(--bed-font-body);
font-size: 0.9rem;
font-weight: 500;
color: var(--bed-secondary);
text-decoration: none;
white-space: nowrap;
transition: color .2s;
}

.bed-nav-menu li a:hover,
.bed-nav-menu li.current-menu-item a,
.bed-nav-menu li.current_page_item a {
color: var(--bed-primary);
}

/* Header social icons */
.bed-header-social {
display: flex;
align-items: center;
gap: 10px;
flex-shrink: 0;
}

.bed-header-social a {
color: var(--bed-secondary);
opacity: .7;
transition: opacity .2s, color .2s;
}

.bed-header-social a:hover {
color: var(--bed-primary);
opacity: 1;
}

/* Mobile menu toggle */
.bed-menu-toggle {
display: none;
background: none;
border: none;
cursor: pointer;
padding: 12px;
z-index: 10001;
position: relative;
-webkit-tap-highlight-color: transparent;
touch-action: manipulation;
min-width: 44px;
min-height: 44px;
align-items: center;
justify-content: center;
}

.bed-hamburger {
display: block;
width: 24px;
height: 2px;
background: var(--bed-secondary);
position: relative;
transition: background .2s;
}

.bed-hamburger::before,
.bed-hamburger::after {
content: '';
display: block;
width: 24px;
height: 2px;
background: var(--bed-secondary);
position: absolute;
transition: transform .3s;
}

.bed-hamburger::before { top: -7px; }
.bed-hamburger::after { top: 7px; }

.bed-toggle-active .bed-hamburger { background: transparent; }
.bed-toggle-active .bed-hamburger::before { transform: rotate(45deg); top: 0; }
.bed-toggle-active .bed-hamburger::after { transform: rotate(-45deg); top: 0; }

.bed-main-nav[hidden] { display: none !important; }

body.bed-menu-is-open { overflow: hidden; }
body.bed-menu-is-open .bed-whatsapp-float { opacity: 0; pointer-events: none; }

/* ============================================
   SITE FOOTER
   ============================================ */
.bed-footer-cta {
background: var(--bed-secondary);
color: #fff;
padding: 60px 24px;
}

.bed-footer-cta-inner {
display: flex;
align-items: center;
justify-content: space-between;
gap: 30px;
flex-wrap: wrap;
}

.bed-footer-cta-text h2 {
font-family: var(--bed-font-heading);
font-size: 2rem;
margin: 0 0 8px;
color: #fff;
}

.bed-footer-cta-text p {
font-size: 1.05rem;
opacity: .85;
margin: 0;
}

.bed-footer-cta-actions {
display: flex;
gap: 16px;
flex-wrap: wrap;
}

.bed-footer-main {
background: #111827;
color: rgba(255,255,255,.8);
padding: 60px 24px 40px;
}

.bed-footer-grid {
display: grid;
grid-template-columns: 2fr 1fr 1fr;
gap: 40px;
}

.bed-footer-col h3 {
font-family: var(--bed-font-heading);
color: #fff;
font-size: 1.15rem;
margin: 0 0 16px;
}

.bed-footer-col p {
font-size: .9rem;
line-height: 1.7;
margin: 0 0 16px;
}

.bed-footer-col ul {
list-style: none;
margin: 0;
padding: 0;
}

.bed-footer-col ul li {
margin-bottom: 8px;
}

.bed-footer-col ul li a {
color: rgba(255,255,255,.7);
text-decoration: none;
font-size: .9rem;
transition: color .2s;
}

.bed-footer-col ul li a:hover {
color: var(--bed-primary);
}

.bed-footer-contact li {
font-size: .9rem;
}

.bed-footer-contact li a {
color: rgba(255,255,255,.7);
text-decoration: none;
}

.bed-footer-contact li a:hover {
color: var(--bed-primary);
}

.bed-footer-social {
display: flex;
gap: 12px;
margin-top: 16px;
}

.bed-footer-social a {
color: rgba(255,255,255,.7);
transition: color .2s;
}

.bed-footer-social a:hover {
color: var(--bed-primary);
}

.bed-footer-bottom {
background: #0b0f19;
padding: 20px 24px;
text-align: center;
}

.bed-footer-bottom p {
margin: 0;
color: rgba(255,255,255,.5);
font-size: .85rem;
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 1200px) {
.bed-menu-toggle { display: flex; }

.bed-main-nav {
display: none;
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(255,255,255,.98);
backdrop-filter: blur(10px);
z-index: 10000;
flex-direction: column;
justify-content: center;
align-items: center;
padding: 60px 20px;
}

.bed-main-nav.bed-nav-open {
display: flex;
}

.bed-nav-menu {
flex-direction: column;
align-items: center;
gap: 0;
}

.bed-nav-menu li a {
font-size: 1.15rem;
padding: 14px 20px;
}

.bed-header-social { display: none; }

.bed-header-transparent {
position: sticky;
   left: auto;
   right: auto;
   background: rgba(255,255,255,.98);
   backdrop-filter: none;
   -webkit-backdrop-filter: none;
   box-shadow: 0 2px 12px rgba(0,0,0,.08);
}

.bed-header-inner {
flex-wrap: wrap;
}

}

@media (max-width: 1024px) {

.bed-about .bed-wrap {
flex-direction: column;
gap: 40px;
}
.bed-about-right { flex: none; width: 100%; }
.bed-about-img { height: 320px; }

.bed-services-grid {
grid-template-columns: repeat(2, 1fr);
}

.bed-svc-card.bed-svc-featured {
grid-column: 1 / -1;
}

.bed-plans-grid {
flex-direction: column;
max-width: 460px;
margin: 0 auto;
}

.bed-cta-inner {
flex-direction: column;
text-align: center;
}

.bed-contact-grid {
flex-direction: column;
}
.bed-contact-info { flex: none; }
}

@media (max-width: 768px) {
.bed-hero { min-height: 80vh; }
.bed-hero-title { font-size: 2rem; }

.bed-hero-scroll { display: none; }

.bed-stats-bar .bed-wrap {
flex-wrap: wrap;
}
.bed-stat { flex: 1 1 50%; }
.bed-stat + .bed-stat::before { display: none; }

.bed-about-features { grid-template-columns: 1fr; }

.bed-services-grid {
grid-template-columns: 1fr;
}

.bed-reviews-row {
grid-template-columns: 1fr;
}

.bed-process-track { flex-direction: column; align-items: center; gap: 32px; }
.bed-process-line { display: none; }

.bed-service-hero h1 { font-size: 2.2rem; }
.bed-plan-hero h1 { font-size: 2rem; }

.bed-form-row { grid-template-columns: 1fr; }

.bed-cta-actions { flex-direction: column; align-items: center; }

.bed-footer-grid {
grid-template-columns: 1fr;
gap: 30px;
}

.bed-footer-cta-inner {
flex-direction: column;
text-align: center;
}
}

@media (max-width: 480px) {
.bed-hero-title { font-size: 1.7rem; }

.bed-stats-bar .bed-wrap { flex-direction: column; }
.bed-stat { padding: 18px 16px; }

.bed-gallery-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
.bed-placeholder-grid { grid-template-columns: 1fr 1fr; gap: 10px; }

.bed-plan-nav-grid { flex-direction: column; align-items: center; }
}

/* ============================================
   DEVELOPER CREDIT
   ============================================ */
.bed-dev-line {
font-size: .8rem;
color: rgba(255,255,255,.35);
margin: 4px 0 0;
}
.bed-dev-line a {
color: rgba(255,255,255,.45);
text-decoration: none;
transition: color .2s;
}
.bed-dev-line a:hover {
color: var(--bed-primary);
}

/* ============================================
   FLOATING WHATSAPP BUTTON
   ============================================ */
.bed-whatsapp-float {
position: fixed;
bottom: 24px;
right: 24px;
width: 56px;
height: 56px;
background: #25d366;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 4px 12px rgba(0,0,0,.25);
z-index: 9998;
transition: transform .2s, box-shadow .2s;
}
.bed-whatsapp-float:hover {
transform: scale(1.1);
box-shadow: 0 6px 20px rgba(0,0,0,.3);
}
@media (max-width: 768px) {
.bed-whatsapp-float {
bottom: 16px;
right: 16px;
width: 50px;
height: 50px;
}
}
