/* ===================================================
   D&M Event Rentals – Shared Widget Styles
   =================================================== */
:root{
  --dm-gold:#C9A84C;
  --dm-gold-light:#E8C97A;
  --dm-gold-pale:#F5EDD6;
  --dm-dark:#0F0F0F;
  --dm-dark2:#181818;
  --dm-dark3:#232323;
  --dm-dark4:#2D2D2D;
  --dm-text:#EDEDED;
  --dm-muted:#A0A0A0;
  --dm-radius:12px;
  --dm-radius-lg:20px;
}

/* ---------- Typography helpers ---------- */
.dm-section-label{
  display:inline-flex;align-items:center;gap:8px;
  font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  color:var(--dm-gold);margin-bottom:16px;
}
.dm-section-label::before{
  content:"";width:24px;height:2px;background:var(--dm-gold);flex-shrink:0;
}
.dm-section-title{
  font-size:clamp(28px,3.5vw,48px);font-weight:800;line-height:1.1;
  letter-spacing:-1.5px;color:var(--dm-text);
}
.dm-section-desc{font-size:16px;color:var(--dm-muted);line-height:1.75;}

/* ---------- Buttons ---------- */
.dm-btn-primary{
  display:inline-flex;align-items:center;gap:8px;
  background:linear-gradient(135deg,var(--dm-gold),var(--dm-gold-light));
  color:var(--dm-dark);padding:14px 28px;border-radius:10px;
  font-weight:700;font-size:15px;text-decoration:none;
  transition:transform .2s,box-shadow .2s;cursor:pointer;
}
.dm-btn-primary:hover{transform:translateY(-3px);box-shadow:0 12px 36px rgba(201,168,76,.4);}
.dm-btn-secondary{
  display:inline-flex;align-items:center;gap:8px;
  color:var(--dm-text);font-weight:600;font-size:15px;padding:14px 0;
  text-decoration:none;border-bottom:1px solid rgba(255,255,255,.2);
  transition:color .2s,border-color .2s;
}
.dm-btn-secondary:hover{color:var(--dm-gold);border-color:var(--dm-gold);}

/* ==============================================
   TRUST BAR
============================================== */
.dm-trust-bar{
  background:var(--dm-dark2);
  border-top:1px solid var(--dm-dark4);border-bottom:1px solid var(--dm-dark4);
  padding:20px 0;overflow:hidden;
}
.dm-marquee-track{
  display:flex;white-space:nowrap;
  animation:dmMarquee 22s linear infinite;
}
.dm-marquee-item{
  display:inline-flex;align-items:center;gap:12px;
  padding:0 40px;font-size:13px;font-weight:600;
  color:var(--dm-muted);letter-spacing:.5px;
}
.dm-marquee-dot{
  width:5px;height:5px;background:var(--dm-gold);
  border-radius:50%;flex-shrink:0;
}
@keyframes dmMarquee{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}

/* ==============================================
   STORY
============================================== */
.dm-story-wrap{background:var(--dm-dark2);padding:80px 0;}
.dm-story-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;
}
@media(max-width:1024px){.dm-story-grid{grid-template-columns:1fr;}}
.dm-story-img{
  width:100%;aspect-ratio:5/4;border-radius:var(--dm-radius-lg);
  background:linear-gradient(135deg,#1c1c1c,#292929,rgba(201,168,76,.1));
  display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;
}
.dm-story-badge{
  position:absolute;bottom:-20px;right:-20px;
  background:linear-gradient(135deg,var(--dm-gold),var(--dm-gold-light));
  color:var(--dm-dark);padding:18px 22px;border-radius:var(--dm-radius);text-align:center;
}
.dm-story-badge-num{font-size:28px;font-weight:800;line-height:1;}
.dm-story-badge-txt{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-top:4px;}
.dm-story-features{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:36px;}
.dm-story-feat{display:flex;gap:12px;align-items:flex-start;}
.dm-feat-icon{
  width:38px;height:38px;flex-shrink:0;
  background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.2);
  border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;
}
.dm-feat-title{font-size:14px;font-weight:600;color:var(--dm-text);}
.dm-feat-sub{font-size:12px;color:var(--dm-muted);margin-top:2px;}

/* ==============================================
   STATS
============================================== */
.dm-stats-wrap{background:var(--dm-dark);padding:80px 0;}
.dm-stats-header{text-align:center;margin-bottom:52px;}
.dm-stats-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:2px;background:var(--dm-dark4);
  border:1px solid var(--dm-dark4);border-radius:var(--dm-radius-lg);overflow:hidden;
}
@media(max-width:1024px){.dm-stats-grid{grid-template-columns:repeat(2,1fr);}}
.dm-stat-box{
  background:var(--dm-dark);padding:48px 32px;text-align:center;transition:background .3s;
}
.dm-stat-box:hover{background:var(--dm-dark2);}
.dm-stat-num{font-size:52px;font-weight:800;color:var(--dm-gold);line-height:1;}
.dm-stat-label{font-size:13px;color:var(--dm-muted);margin-top:8px;text-transform:uppercase;letter-spacing:1px;font-weight:600;}

/* ==============================================
   TEAM
============================================== */
.dm-team-wrap{background:var(--dm-dark2);padding:80px 0;}
.dm-team-header{text-align:center;margin-bottom:52px;}
.dm-team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:1024px){.dm-team-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.dm-team-grid{grid-template-columns:1fr;}}
.dm-team-card{
  background:var(--dm-dark3);border:1px solid var(--dm-dark4);
  border-radius:var(--dm-radius-lg);overflow:hidden;
  transition:transform .3s,border-color .3s,box-shadow .3s;
}
.dm-team-card:hover{
  transform:translateY(-6px);border-color:rgba(201,168,76,.35);
  box-shadow:0 20px 48px rgba(0,0,0,.4);
}
.dm-team-avatar{
  width:100%;aspect-ratio:4/3;display:flex;align-items:center;
  justify-content:center;font-size:64px;
}
.dm-av-1{background:linear-gradient(135deg,#1e1810,#2a2214);}
.dm-av-2{background:linear-gradient(135deg,#101820,#142230);}
.dm-av-3{background:linear-gradient(135deg,#181018,#281a28);}
.dm-team-info{padding:24px;}
.dm-team-name{font-size:18px;font-weight:700;color:var(--dm-text);}
.dm-team-role{font-size:12px;font-weight:600;color:var(--dm-gold);text-transform:uppercase;letter-spacing:1px;margin-top:4px;}
.dm-team-bio{font-size:13px;color:var(--dm-muted);margin-top:12px;line-height:1.65;}

/* ==============================================
   VALUES
============================================== */
.dm-values-wrap{background:var(--dm-dark);padding:80px 0;}
.dm-values-header{text-align:center;margin-bottom:52px;}
.dm-values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:1024px){.dm-values-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.dm-values-grid{grid-template-columns:1fr;}}
.dm-value-card{
  background:var(--dm-dark2);border:1px solid var(--dm-dark4);
  border-radius:var(--dm-radius-lg);padding:36px 28px;
  position:relative;overflow:hidden;
  transition:transform .3s,border-color .3s,box-shadow .3s;
}
.dm-value-card::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(201,168,76,.06) 0%,transparent 60%);
  opacity:0;transition:opacity .3s;
}
.dm-value-card:hover{
  transform:translateY(-6px);border-color:rgba(201,168,76,.35);
  box-shadow:0 20px 48px rgba(0,0,0,.4);
}
.dm-value-card:hover::after{opacity:1;}
.dm-value-icon{font-size:36px;margin-bottom:20px;display:block;}
.dm-value-title{font-size:20px;font-weight:700;margin-bottom:10px;color:var(--dm-text);}
.dm-value-desc{font-size:14px;color:var(--dm-muted);line-height:1.7;}

/* ==============================================
   TIMELINE
============================================== */
.dm-timeline-wrap{background:var(--dm-dark2);padding:80px 0;}
.dm-timeline-header{text-align:center;margin-bottom:52px;}
.dm-timeline{position:relative;max-width:860px;margin:0 auto;}
.dm-timeline::before{
  content:"";position:absolute;left:50%;transform:translateX(-50%);
  top:0;bottom:0;width:1px;
  background:linear-gradient(to bottom,transparent,var(--dm-gold),transparent);
  opacity:.35;
}
.dm-timeline-item{
  display:grid;grid-template-columns:1fr 56px 1fr;align-items:start;margin-bottom:48px;
}
.dm-timeline-item:last-child{margin-bottom:0;}
.dm-timeline-content{
  background:var(--dm-dark3);border:1px solid var(--dm-dark4);
  border-radius:var(--dm-radius);padding:24px;transition:border-color .3s;
}
.dm-timeline-content:hover{border-color:rgba(201,168,76,.3);}
.dm-timeline-item.right .dm-timeline-content{grid-column:3;}
.dm-timeline-item.left .dm-timeline-content{grid-column:1;}
.dm-timeline-dot-col{
  display:flex;align-items:flex-start;justify-content:center;
  padding-top:24px;grid-column:2;
}
.dm-timeline-dot{
  width:16px;height:16px;background:var(--dm-gold);border-radius:50%;
  border:3px solid var(--dm-dark2);box-shadow:0 0 0 2px rgba(201,168,76,.4);
}
.dm-timeline-year{
  font-size:11px;font-weight:700;color:var(--dm-gold);
  text-transform:uppercase;letter-spacing:2px;margin-bottom:8px;
}
.dm-timeline-title{font-size:17px;font-weight:700;margin-bottom:8px;color:var(--dm-text);}
.dm-timeline-text{font-size:13px;color:var(--dm-muted);line-height:1.65;}

@media(max-width:1024px){
  .dm-timeline::before{left:24px;}
  .dm-timeline-item{grid-template-columns:24px 1fr;}
  .dm-timeline-item.right .dm-timeline-content,
  .dm-timeline-item.left .dm-timeline-content{grid-column:2;}
  .dm-timeline-dot-col{grid-column:1;}
}

/* ==============================================
   TESTIMONIALS
============================================== */
.dm-testimonials-wrap{background:var(--dm-dark);padding:80px 0;}
.dm-testimonials-header{text-align:center;margin-bottom:52px;}
.dm-testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:1024px){.dm-testimonials-grid{grid-template-columns:1fr;}}
.dm-testimonial-card{
  background:var(--dm-dark2);border:1px solid var(--dm-dark4);
  border-radius:var(--dm-radius-lg);padding:32px 28px;
  transition:transform .3s,border-color .3s;
}
.dm-testimonial-card:hover{transform:translateY(-4px);border-color:rgba(201,168,76,.3);}
.dm-testimonial-stars{color:var(--dm-gold);font-size:18px;margin-bottom:16px;letter-spacing:2px;}
.dm-testimonial-text{font-size:14px;color:var(--dm-muted);line-height:1.75;font-style:italic;margin-bottom:20px;}
.dm-testimonial-author{display:flex;align-items:center;gap:12px;}
.dm-testimonial-avatar{
  width:40px;height:40px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,var(--dm-gold),var(--dm-gold-light));
  display:flex;align-items:center;justify-content:center;
  font-size:16px;font-weight:800;color:var(--dm-dark);
}
.dm-testimonial-name{font-size:14px;font-weight:700;color:var(--dm-text);}
.dm-testimonial-event{font-size:12px;color:var(--dm-muted);}

/* ==============================================
   CTA BANNER
============================================== */
.dm-cta-wrap{background:var(--dm-dark2);padding:60px 0;}
.dm-cta-banner{
  background:linear-gradient(135deg,rgba(201,168,76,.12) 0%,rgba(201,168,76,.04) 100%);
  border:1px solid rgba(201,168,76,.3);border-radius:var(--dm-radius-lg);
  padding:64px 60px;display:flex;align-items:center;
  justify-content:space-between;gap:40px;position:relative;overflow:hidden;
}
.dm-cta-banner::before{
  content:"✦";position:absolute;right:60px;top:50%;transform:translateY(-50%);
  font-size:200px;opacity:.03;color:var(--dm-gold);pointer-events:none;line-height:1;
}
.dm-cta-title{font-size:36px;font-weight:800;letter-spacing:-1px;color:var(--dm-text);}
.dm-cta-sub{font-size:16px;color:var(--dm-muted);margin-top:8px;}
@media(max-width:1024px){
  .dm-cta-banner{flex-direction:column;text-align:center;padding:40px 28px;}
}
