/* ============================================================
   DD HOME 2 SUITES - Website Stylesheet
   Brand Colors from logo:
     Red    #CC1F1F  — "DD Home" text
     Green  #2D5A27  — Bull icon
     Purple #3D3A8C  — "2" badge
   Fonts: Cormorant Garamond (display) + DM Sans (body)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=DM+Sans:wght@300;400;500;600&display=swap');

:root {
  --red:          #CC1F1F;
  --red-dark:     #A01818;
  --red-light:    #E8A0A0;
  --green:        #2D5A27;
  --green-dark:   #1E3D1A;
  --green-light:  #4A8A42;
  --purple:       #3D3A8C;
  --purple-dark:  #2B2966;
  --purple-light: #6E6BBF;
  --dark:         #1A1210;
  --dark2:        #2A1F1F;
  --cream:        #FAF7F4;
  --cream2:       #F2EDE6;
  --white:        #FFFFFF;
  --text:         #2E1F1F;
  --text-muted:   #7A6A6A;
  --radius:       4px;
  --shadow:       0 8px 40px rgba(26,18,16,0.14);
  --transition:   all 0.35s cubic-bezier(0.4,0,0.2,1);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family:'DM Sans',sans-serif; font-size:15px; color:var(--text); background:var(--white); line-height:1.7; overflow-x:hidden; }
h1,h2,h3,h4,h5 { font-family:'Cormorant Garamond',serif; font-weight:500; line-height:1.2; color:var(--dark); }
a { color:inherit; text-decoration:none; transition:var(--transition); }
img { max-width:100%; display:block; }
ul { list-style:none; }

/* ===== UTILITIES ===== */
.section-pad    { padding:90px 0; }
.section-pad-sm { padding:60px 0; }
.bg-cream       { background:var(--cream); }
.bg-dark        { background:var(--dark); }

.section-label {
  font-family:'DM Sans',sans-serif;
  font-size:11px; font-weight:600;
  letter-spacing:0.2em; text-transform:uppercase;
  color:var(--red); display:block; margin-bottom:12px;
}
.section-title { font-size:clamp(32px,4vw,52px); font-weight:400; margin-bottom:16px; }
.section-title em { font-style:italic; color:var(--red); }
.section-desc { font-size:15px; color:var(--text-muted); max-width:540px; line-height:1.8; }

/* Gradient divider using all 3 brand colors */
.divider-gold, .divider-red {
  width:70px; height:3px;
  background:linear-gradient(90deg, var(--red) 0%, var(--purple) 60%, var(--green) 100%);
  margin:20px 0; border-radius:2px;
}

/* ===== BUTTONS ===== */
.btn-gold, .btn-red {
  display:inline-flex; align-items:center; gap:8px;
  padding:14px 32px; background:var(--red); color:var(--white);
  font-family:'DM Sans',sans-serif; font-size:12px; font-weight:600;
  letter-spacing:0.15em; text-transform:uppercase;
  border:none; cursor:pointer; transition:var(--transition); border-radius:var(--radius);
}
.btn-gold:hover, .btn-red:hover { background:var(--red-dark); color:var(--white); transform:translateY(-2px); box-shadow:0 8px 24px rgba(204,31,31,0.35); }

.btn-outline-gold, .btn-outline-red {
  display:inline-flex; align-items:center; gap:8px;
  padding:13px 32px; background:transparent; color:var(--red);
  font-family:'DM Sans',sans-serif; font-size:12px; font-weight:600;
  letter-spacing:0.15em; text-transform:uppercase;
  border:1.5px solid var(--red); cursor:pointer; transition:var(--transition); border-radius:var(--radius);
}
.btn-outline-gold:hover, .btn-outline-red:hover { background:var(--red); color:var(--white); }

.btn-dark {
  display:inline-flex; align-items:center; gap:8px;
  padding:14px 32px; background:var(--dark); color:var(--white);
  font-size:12px; font-weight:600; letter-spacing:0.15em; text-transform:uppercase;
  border:none; cursor:pointer; transition:var(--transition); border-radius:var(--radius);
}
.btn-dark:hover { background:var(--dark2); transform:translateY(-2px); }

.btn-purple {
  display:inline-flex; align-items:center; gap:8px;
  padding:14px 32px; background:var(--purple); color:var(--white);
  font-size:12px; font-weight:600; letter-spacing:0.15em; text-transform:uppercase;
  border:none; cursor:pointer; transition:var(--transition); border-radius:var(--radius);
}
.btn-purple:hover { background:var(--purple-dark); transform:translateY(-2px); }

/* ===== NAVBAR ===== */
#navbar {
  position:fixed; top:0; left:0; width:100%;
  z-index:1000; padding:18px 0; transition:var(--transition);
}
#navbar.scrolled {
  background:rgba(26,18,16,0.97);
  backdrop-filter:blur(14px); padding:10px 0;
  box-shadow:0 4px 30px rgba(0,0,0,0.35);
  border-bottom:2px solid var(--red);
}
#navbar .brand { font-family:'Cormorant Garamond',serif; font-size:24px; font-weight:600; color:var(--white); letter-spacing:0.02em; }
#navbar .brand .dd { color:var(--red); font-weight:700; }
#navbar .brand .two { color:var(--purple-light); }

#navbar .nav-link { color:rgba(255,255,255,0.85); font-size:12px; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; padding:6px 14px !important; transition:var(--transition); }
#navbar .nav-link:hover, #navbar .nav-link.active { color:var(--red); }
#navbar .nav-cta { background:var(--red); color:var(--white) !important; padding:8px 20px !important; border-radius:var(--radius); }
#navbar .nav-cta:hover { background:var(--red-dark); }
.navbar-toggler { border-color:rgba(255,255,255,0.3); }
.navbar-toggler-icon { filter:invert(1); }

/* ===== HERO SLIDER ===== */
#heroSlider { height:100vh; min-height:600px; }
.hero-slide { height:100vh; min-height:600px; position:relative; display:flex; align-items:center; overflow:hidden; }
.hero-slide::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(26,18,16,0.82) 0%, rgba(61,58,140,0.22) 100%);
  z-index:1;
}
.hero-bg { position:absolute; inset:0; background-size:cover; background-position:center; transform:scale(1.05); transition:transform 8s ease; }
.carousel-item.active .hero-bg { transform:scale(1); }
.hero-content { position:relative; z-index:2; max-width:720px; }
.hero-label { font-size:11px; font-weight:600; letter-spacing:0.25em; text-transform:uppercase; color:var(--red); display:block; margin-bottom:20px; }
.hero-title { font-family:'Cormorant Garamond',serif; font-size:clamp(44px,7vw,86px); font-weight:300; color:var(--white); line-height:1.05; margin-bottom:24px; }
.hero-title em { font-style:italic; color:var(--red-light); }
.hero-desc { font-size:16px; color:rgba(255,255,255,0.8); max-width:480px; margin-bottom:36px; line-height:1.8; }
.hero-btns { display:flex; gap:16px; flex-wrap:wrap; }
.carousel-indicators button { width:30px; height:2px; background:rgba(255,255,255,0.4); border:none; border-radius:0; transition:var(--transition); }
.carousel-indicators button.active { background:var(--red); width:50px; }

/* ===== ABOUT INTRO ===== */
.about-intro-img { position:relative; }
.about-intro-img .img-main { width:100%; height:480px; object-fit:cover; border-radius:var(--radius); }
.about-intro-img .img-accent { position:absolute; bottom:-30px; right:-30px; width:200px; height:200px; object-fit:cover; border:6px solid var(--white); border-radius:var(--radius); box-shadow:var(--shadow); }

/* Stat boxes — brand tri-color */
.stat-box { padding:28px 24px; text-align:center; border-radius:var(--radius); }
.stat-box.red    { background:var(--red); }
.stat-box.green  { background:var(--green); }
.stat-box.purple { background:var(--purple); }
.stat-box.dark   { background:var(--dark); }
.stat-box .num { font-family:'Cormorant Garamond',serif; font-size:48px; font-weight:300; color:var(--white); line-height:1; }
.stat-box .lbl { font-size:12px; color:rgba(255,255,255,0.75); letter-spacing:0.1em; text-transform:uppercase; margin-top:4px; }

/* ===== ROOM CARDS ===== */
.room-card { background:var(--white); border-radius:var(--radius); overflow:hidden; box-shadow:0 2px 20px rgba(26,18,16,0.07); transition:var(--transition); }
.room-card:hover { transform:translateY(-8px); box-shadow:var(--shadow); }
.room-card .room-img { height:240px; width:100%; object-fit:cover; transition:transform 0.6s ease; }
.room-card:hover .room-img { transform:scale(1.05); }
.room-img-wrap { overflow:hidden; position:relative; }
.room-badge { position:absolute; top:16px; left:16px; background:var(--red); color:var(--white); font-size:10px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; padding:4px 12px; border-radius:2px; }
.room-body { padding:24px; }
.room-price { font-family:'Cormorant Garamond',serif; font-size:28px; color:var(--red); font-weight:500; }
.room-price small { font-size:13px; color:var(--text-muted); font-family:'DM Sans',sans-serif; }
.room-name { font-size:20px; margin:6px 0 10px; }
.room-features { display:flex; gap:16px; flex-wrap:wrap; margin:12px 0; }
.room-feature { font-size:12px; color:var(--text-muted); display:flex; align-items:center; gap:5px; }
.room-feature i { color:var(--red); }

/* ===== AMENITIES ===== */
.amenity-card { text-align:center; padding:36px 24px; background:var(--white); border:1px solid var(--cream2); border-radius:var(--radius); transition:var(--transition); }
.amenity-card:hover { border-color:var(--red); background:var(--cream); transform:translateY(-4px); box-shadow:0 8px 30px rgba(204,31,31,0.12); }
.amenity-icon { width:64px; height:64px; background:var(--cream2); border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 20px; font-size:24px; color:var(--red); transition:var(--transition); }
.amenity-card:hover .amenity-icon { background:var(--red); color:var(--white); }
.amenity-name { font-size:17px; margin-bottom:8px; }
.amenity-desc { font-size:13px; color:var(--text-muted); line-height:1.7; }

/* ===== NEARBY ===== */
.nearby-card { display:flex; gap:20px; align-items:flex-start; padding:24px; background:var(--white); border-radius:var(--radius); border:1px solid var(--cream2); transition:var(--transition); margin-bottom:16px; }
.nearby-card:hover { border-color:var(--red-light); box-shadow:0 4px 20px rgba(204,31,31,0.10); }
.nearby-img { width:100px; height:90px; object-fit:cover; border-radius:var(--radius); flex-shrink:0; }
.nearby-distance { display:inline-flex; align-items:center; gap:5px; font-size:11px; font-weight:600; color:var(--red); letter-spacing:0.08em; margin-bottom:6px; }
.nearby-name { font-size:17px; margin-bottom:4px; }
.nearby-desc { font-size:13px; color:var(--text-muted); line-height:1.6; }

/* ===== TESTIMONIALS ===== */
.testimonial-card { background:var(--white); padding:36px; border-radius:var(--radius); box-shadow:0 2px 20px rgba(26,18,16,0.06); position:relative; border-top:3px solid var(--red); }
.testimonial-card::before { content:'\201C'; font-family:'Cormorant Garamond',serif; font-size:100px; color:var(--red-light); position:absolute; top:10px; left:24px; line-height:1; opacity:0.5; }
.testimonial-text { font-family:'Cormorant Garamond',serif; font-size:18px; font-style:italic; color:var(--text); line-height:1.7; margin-bottom:20px; position:relative; z-index:1; }
.testimonial-author { display:flex; align-items:center; gap:12px; }
.author-avatar { width:48px; height:48px; border-radius:50%; object-fit:cover; border:2px solid var(--red-light); }
.author-name { font-weight:600; font-size:14px; }
.author-loc { font-size:12px; color:var(--text-muted); }
.stars { color:var(--red); font-size:13px; margin-bottom:4px; }

/* ===== FAQ ===== */
.faq-item { border-bottom:1px solid var(--cream2); }
.faq-question { width:100%; text-align:left; background:none; border:none; padding:20px 0; font-family:'Cormorant Garamond',serif; font-size:19px; font-weight:500; color:var(--dark); display:flex; justify-content:space-between; align-items:center; cursor:pointer; transition:var(--transition); }
.faq-question:hover { color:var(--red); }
.faq-question .faq-icon { color:var(--red); font-size:18px; transition:var(--transition); }
.faq-answer { font-size:14px; color:var(--text-muted); line-height:1.8; padding-bottom:20px; display:none; }
.faq-item.open .faq-question { color:var(--red); }
.faq-item.open .faq-question .faq-icon { transform:rotate(45deg); }
.faq-item.open .faq-answer { display:block; }

/* ===== BLOG CARDS ===== */
.blog-card { background:var(--white); border-radius:var(--radius); overflow:hidden; box-shadow:0 2px 16px rgba(26,18,16,0.06); transition:var(--transition); }
.blog-card:hover { transform:translateY(-6px); box-shadow:var(--shadow); }
.blog-img { height:200px; width:100%; object-fit:cover; transition:transform 0.5s ease; }
.blog-card:hover .blog-img { transform:scale(1.04); }
.blog-img-wrap { overflow:hidden; }
.blog-body { padding:22px; }
.blog-cat { font-size:10px; font-weight:600; letter-spacing:0.15em; text-transform:uppercase; color:var(--red); margin-bottom:8px; }
.blog-title { font-size:18px; margin-bottom:10px; line-height:1.35; }
.blog-title a:hover { color:var(--red); }
.blog-meta { font-size:12px; color:var(--text-muted); }

/* ===== CONTACT FORM ===== */
.contact-form-wrap { background:var(--white); padding:48px 40px; border-radius:var(--radius); box-shadow:var(--shadow); border-top:4px solid var(--red); }
.form-group { margin-bottom:20px; }
.form-label-c { display:block; font-size:11px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-muted); margin-bottom:8px; }
.form-control-c { width:100%; padding:13px 16px; border:1px solid #E0D8D0; background:var(--cream); font-family:'DM Sans',sans-serif; font-size:14px; color:var(--text); border-radius:var(--radius); transition:var(--transition); outline:none; }
.form-control-c:focus { border-color:var(--red); background:var(--white); box-shadow:0 0 0 3px rgba(204,31,31,0.10); }
textarea.form-control-c { resize:vertical; min-height:110px; }

/* ===== FOOTER ===== */
footer { background:var(--dark); padding:70px 0 0; border-top:3px solid var(--red); }
.footer-brand { font-family:'Cormorant Garamond',serif; font-size:30px; font-weight:400; }
.footer-brand .dd   { color:var(--red); font-weight:700; }
.footer-brand .home { color:var(--white); }
.footer-brand .two  { color:var(--purple-light); }
.footer-desc { font-size:14px; color:rgba(255,255,255,0.5); line-height:1.8; margin:16px 0 24px; }
.footer-heading { font-family:'DM Sans',sans-serif; font-size:11px; font-weight:600; letter-spacing:0.15em; text-transform:uppercase; color:var(--red); margin-bottom:20px; }
.footer-links li { margin-bottom:10px; }
.footer-links a { font-size:14px; color:rgba(255,255,255,0.55); transition:var(--transition); }
.footer-links a:hover { color:var(--red); padding-left:4px; }
.footer-contact-item { display:flex; gap:12px; margin-bottom:14px; }
.footer-contact-item i { color:var(--red); margin-top:2px; }
.footer-contact-item span { font-size:14px; color:rgba(255,255,255,0.55); line-height:1.6; }
.social-links { display:flex; gap:10px; }
.social-link { width:38px; height:38px; border:1px solid rgba(255,255,255,0.15); border-radius:50%; display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,0.6); font-size:15px; transition:var(--transition); }
.social-link:hover { background:var(--red); border-color:var(--red); color:var(--white); }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.08); margin-top:50px; padding:20px 0; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; }
.footer-bottom p { font-size:13px; color:rgba(255,255,255,0.35); }

/* ===== PAGE HERO ===== */
.page-hero { height:380px; display:flex; align-items:center; position:relative; overflow:hidden; }
.page-hero::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg, rgba(26,18,16,0.88) 0%, rgba(61,58,140,0.28) 100%); z-index:1; }
.page-hero-bg { position:absolute; inset:0; background-size:cover; background-position:center; opacity:0.45; }
.page-hero-content { position:relative; z-index:2; }
.page-hero-title { font-family:'Cormorant Garamond',serif; font-size:clamp(36px,5vw,64px); font-weight:300; color:var(--white); margin-bottom:12px; }
.breadcrumb-c { display:flex; gap:8px; align-items:center; }
.breadcrumb-c a { font-size:13px; color:rgba(255,255,255,0.6); }
.breadcrumb-c a:hover { color:var(--red); }
.breadcrumb-c span { color:rgba(255,255,255,0.3); font-size:12px; }
.breadcrumb-c .current { font-size:13px; color:var(--red); }

/* ===== POLICY / TERMS ===== */
.policy-content h3 { font-size:22px; margin:32px 0 12px; padding-bottom:8px; border-bottom:1px solid var(--cream2); }
.policy-content p { margin-bottom:14px; color:var(--text-muted); line-height:1.85; }
.policy-content ul { margin:12px 0 16px 20px; }
.policy-content ul li { list-style:disc; color:var(--text-muted); margin-bottom:8px; font-size:14px; line-height:1.7; }

/* ===== SCROLL REVEAL ===== */
.reveal { opacity:0; transform:translateY(30px); transition:opacity 0.7s ease, transform 0.7s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }

/* ===== BACK TO TOP ===== */
#backTop { position:fixed; bottom:30px; right:30px; width:44px; height:44px; background:var(--red); color:var(--white); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:18px; cursor:pointer; opacity:0; pointer-events:none; transition:var(--transition); z-index:999; border:none; box-shadow:0 4px 16px rgba(204,31,31,0.4); }
#backTop.show { opacity:1; pointer-events:all; }
#backTop:hover { background:var(--red-dark); transform:translateY(-3px); }

/* ===== RESPONSIVE ===== */
@media (max-width:991px) { .section-pad{padding:60px 0;} .about-intro-img .img-accent{display:none;} .contact-form-wrap{padding:32px 24px;} }
@media (max-width:767px) { .hero-title{font-size:40px;} .hero-btns{flex-direction:column;} .nearby-card{flex-direction:column;} .nearby-img{width:100%;height:180px;} }
@media print { .sidebar,.topbar,.no-print{display:none!important;} }
