

:root {

  --dark: #17304f;
  --accent: #4d7db5;
  --light: #f5f9ff;
  --text: #4f5b66;
  --white: #ffffff;

}



* {

  margin: 0;
  padding: 0;
  box-sizing: border-box;

}

html {

  scroll-behavior: smooth;

}

body {

  font-family: 'Inter', sans-serif;
  color: var(--dark);
  background: var(--white);

}



.navbar {
  position: fixed;

  top: 0;
  left: 0;

  width: 100%;

  display: flex;
  justify-content: space-between;
  align-items: center;

  padding: 20px 8%;

  background: #ffffff;

  z-index: 1000;

  border-bottom:
  1px solid rgba(0,0,0,0.05);

  box-shadow:
  0 4px 20px rgba(0,0,0,0.04);
}


.logo a {
   font-family: 'Playfair Display', serif;

  font-size: 1.7rem;

  font-weight: 600;

  color: #17304f;
  text-decoration: none;
  
}


.nav-menu {
  display: flex;

  align-items: center;

  gap: 30px;

  list-style: none;
}

.nav-menu li a {
  text-decoration: none;

  color: #17304f;

  font-size: 15px;

  font-weight: 600;

  background: none;

  border: none;

  cursor: pointer;

  font-family: inherit;

  transition: 0.3s ease;
}

.nav-menu li a:hover {
  color: #4d7db5;
  transform: translateY(-2px);
}


.hamburger {
  display: none;
  font-size: 26px;
  cursor: pointer;
  color: #17304f;
}


@media (max-width: 900px) {

  .hamburger {
    display: block;
  }

  .nav {
    position: absolute;
    top: 70px;
    left: 0;
    width: 100%;
    background: white;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);

    
    max-height: 0;
    overflow: hidden;
    transition: 0.3s ease;
  }

  .nav.open {
    max-height: 400px;
  }

  .nav-menu {
    flex-direction: column;
    padding: 20px;
    gap: 15px;
  }
}



.quote-nav {

  padding: 12px 22px;

  background: #4d7db5;

  color: white !important;

  border-radius: 40px;

  transition: 0.3s ease;

}

.quote-nav:hover {

  background: #17304f;

  transform: translateY(-2px);

}



.hamburger {

  display: none;

  flex-direction: column;

  gap: 5px;

  cursor: pointer;

}

.hamburger span {

  width: 26px;

  height: 3px;

  background: #17304f;

  border-radius: 30px;

  transition: 0.3s ease;

}



.hamburger.active span:nth-child(1) {

  transform:
  rotate(45deg)
  translateY(11px);

}

.hamburger.active span:nth-child(2) {

  opacity: 0;

}

.hamburger.active span:nth-child(3) {

  transform:
  rotate(-45deg)
  translateY(-11px);

}



@media(max-width: 950px){

  

  .hamburger {

    display: flex;

    flex-direction: column;

    justify-content: center;

    gap: 6px;

    width: 48px;
    height: 48px;

    border-radius: 14px;

    background: rgba(23,48,79,0.05);

    backdrop-filter: blur(10px);

    padding: 10px;

    cursor: pointer;

    transition: 0.35s ease;

    z-index: 3000;

  }

  .hamburger:hover {

    background: rgba(77,125,181,0.12);

    transform: scale(1.03);

  }

  .hamburger span {

    width: 100%;

    height: 3px;

    background: #17304f;

    border-radius: 30px;

    transition: 0.4s ease;

  }

  

  .hamburger.active span:nth-child(1){

    transform:
    rotate(45deg)
    translateY(12px);

  }

  .hamburger.active span:nth-child(2){

    opacity: 0;

    transform: translateX(-10px);

  }

  .hamburger.active span:nth-child(3){

    transform:
    rotate(-45deg)
    translateY(-12px);

  }

  

  #nav-menu-wrapper {

    position: fixed;

    top: 0;
    right: 0;

    width: 82%;
    max-width: 380px;

    height: 100vh;

    background:
    rgba(255,255,255,0.92);

    backdrop-filter: blur(18px);

    padding: 100px 30px 40px;

    overflow-y: auto;

    transform: translateX(100%);

    opacity: 0;

    visibility: hidden;

    transition: 0.45s ease;

    z-index: 2000;

    border-left:
    1px solid rgba(255,255,255,0.3);

    box-shadow:
    -10px 0 40px rgba(0,0,0,0.08);

  }

  

  #nav-menu-wrapper.active {

    transform: translateX(0);

    opacity: 1;

    visibility: visible;

  }

  

  .nav-menu {

    flex-direction: column;

    align-items: flex-start;

    gap: 12px;

    width: 100%;

  }

  .nav-menu li {

    width: 100%;

  }

  .nav-menu a {

    width: 100%;

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding: 16px 18px;

    border-radius: 18px;

    font-size: 16px;

    background: rgba(23,48,79,0.03);

    transition: 0.3s ease;

  }

  .nav-menu a:hover {

    background: #e8f1fb;

    transform: translateX(5px);

    color: #4d7db5;

  }

  
  

  .dropdown {

    width: 100%;

  }

  .dropdown-top {

    width: 100%;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 10px;

  }

  .dropbtn {

    min-width: 42px;

    height: 42px;

    border-radius: 14px;

    background: rgba(23,48,79,0.06);

  }

  

  .dropdown-menu {

    position: static;

    width: 100%;

    margin-top: 14px;

    display: none;

    flex-direction: column;

    gap: 10px;

    padding: 14px;

    border-radius: 22px;

    background: #f7f9fc;

    box-shadow: none;

    border:
    1px solid rgba(0,0,0,0.04);

  }

  .dropdown.active .dropdown-menu {

    display: flex;

    animation: fadeDropdown 0.35s ease;

  }

  

  .dropdown-menu a {

    background: white;

    padding: 16px;

    border-radius: 16px;

  }

  .dropdown-menu a:hover {

    background: #e8f1fb;

  }

  

  .quote-item {

    margin-top: 10px;

  }

  .quote-nav {

    width: 100%;

    justify-content: center;

    padding: 16px 22px;

    border-radius: 18px;

    font-size: 15px;

  }

  

  @keyframes fadeDropdown {

    from {

      opacity: 0;

      transform: translateY(-8px);

    }

    to {

      opacity: 1;

      transform: translateY(0);

    }

  }

}



.quote-item {

  margin-left: 12px;

}

.quote-nav {

  display: flex !important;

  align-items: center;
  justify-content: center;

  min-width: 160px;

  padding: 14px 24px;

  border-radius: 50px;

  background: #17304f !important;

  color: #ffffff !important;

  font-size: 14px;
  font-weight: 600;

  text-decoration: none;

  box-shadow:
  0 10px 30px rgba(23,48,79,0.18);

  transition: 0.35s ease;

}



.quote-nav:hover {

  background: #4d7db5 !important;

  color: white !important;

  transform: translateY(-3px);

}

.search-box {
  display: flex;
  justify-content: center;
  margin: 10px 0;
}

.search-wrapper {
  display: flex;
  align-items: center;
  gap: 10px;

  background: white;
  padding: 10px 12px;
  border-radius: 50px;

  width: 100%;
  max-width: 520px;

  border: 1px solid #3f5b7e;
  box-shadow: 0 6px 18px rgba(0,0,0,0.06);
}


.search-icon {
  color: #17304f;
  font-size: 16px;
  margin-left: 8px;
}


.search-wrapper input {
  flex: 1;
  border: none;
  outline: none;
  font-size: 14px;
  background: transparent;
}


.search-wrapper button {
  background: #17304f;
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 25px;
  cursor: pointer;
  font-size: 13px;
  transition: 0.3s ease;
}

.search-wrapper button:hover {
  background: #4d7db5;
}



.hero {

  height: 100vh;

  background:
  linear-gradient(
    rgba(10,20,35,0.55),
    rgba(10,20,35,0.55)
  ),
  url("images/rand3.jpg");

  background-size: cover;
  background-position: center;

  display: flex;
  align-items: center;

  padding: 0 8%;

}

.hero-content {

  max-width: 700px;

  color: white;

}

.mini-title {

  letter-spacing: 2px;

  font-size: 13px;

  opacity: 0.8;

  padding-top: 20px;
  

}

.hero h1 {

  font-family: 'Playfair Display', serif;

  font-size: 4.3rem;

  line-height: 1.1;

  margin:
  18px 0 25px;

}

.hero p {

  max-width: 600px;

  font-size: 1.08rem;

  line-height: 1.8;

  color:
  rgba(255,255,255,0.88);

}



.hero-buttons {

  margin-top: 35px;

  display: flex;
  gap: 18px;

}

.btn {

  padding: 15px 28px;

  border-radius: 40px;

  text-decoration: none;

  font-size: 14px;
  font-weight: 500;

  transition: 0.35s ease;

}

.primary-btn {

  background: var(--accent);
  color: white;

}

.primary-btn:hover {

  transform: translateY(-4px);

}

.secondary-btn {

  border: 1px solid rgba(255,255,255,0.5);

  color: white;

}

.secondary-btn:hover {

  background: white;
  color: var(--dark);

}



.section,
.Offers-section {

  padding: 140px 8%;

}

.section {

  background: var(--light);

}

.section-header {

  text-align: center;

  max-width: 700px;

  margin:
  0 auto 70px;

}

.section-subtitle {

  letter-spacing: 2px;

  font-size: 12px;

  color: var(--accent);

}

.section-header h2 {

  font-family: 'Playfair Display', serif;

  font-size: 3rem;

  margin:
  15px 0 20px;

}

.section-header p {

  color: var(--text);

  line-height: 1.8;

}



.grid {

  display: grid;

  grid-template-columns:
  repeat(auto-fit,minmax(260px,1fr));

  gap: 35px;

}



.card {

  background: white;

  border-radius: 22px;

  overflow: hidden;

  box-shadow:
  0 10px 35px rgba(0,0,0,0.06);

  transition: 0.45s ease;

}

.card:hover {

  transform: translateY(-10px);

  box-shadow:
  0 20px 50px rgba(0,0,0,0.12);

}

.card img {

  width: 100%;

  height: 340px;

  object-fit: cover;

  display: block;

  transition: 0.5s;

}

.card:hover img {

  transform: scale(1.08);

}

.card-info {

  padding: 25px;

}

.card-info h3 {

  font-family: 'Playfair Display', serif;

  margin-bottom: 10px;

}

.card-info p {

  color: var(--text);

}



.Offers-grid {

  display: grid;

  grid-template-columns:
  repeat(auto-fit,minmax(280px,1fr));

  gap: 35px;

}

.Offers-card {

  position: relative;

  overflow: hidden;

  border-radius: 24px;

}

.Offers-card img {

  width: 100%;

  height: 500px;

  object-fit: cover;

  display: block;

  transition: 0.5s;

}

.Offers-card:hover img {

  transform: scale(1.08);

}

.Offers-info {

  position: absolute;

  bottom: 0;

  width: 100%;

  padding: 35px 25px;

  background:
  linear-gradient(
    transparent,
    rgba(0,0,0,0.8)
  );

  color: white;

}





.quote-section {

  padding: 140px 8%;

  background: #f5f9ff;

}

.quote-container {

  display: grid;

  grid-template-columns:
  1fr 1.2fr;

  gap: 60px;

  align-items: center;

}



.quote-info h2 {

  font-family: 'Playfair Display', serif;

  font-size: 3rem;

  margin:
  18px 0 25px;

}

.quote-info p {

  color: #6c7a89;

  line-height: 1.9;

  margin-bottom: 35px;

}



.call-btn {

  display: inline-block;

  padding: 15px 28px;

  background: #17304f;

  color: white;

  text-decoration: none;

  border-radius: 40px;

  font-weight: 600;

  transition: 0.35s ease;

}

.call-btn:hover {

  background: #4d7db5;

}

.owner-number {

  margin-top: 20px;

  font-size: 15px;

  color: #17304f;

  font-weight: 600;

}





.quote-box {

  background: white;

  padding: 50px;

  border-radius: 28px;

  box-shadow: 0 25px 70px rgba(0,0,0,0.08);

  display: flex;

  flex-direction: column;

  gap: 25px;

}



.form-wrapper {

  position: relative;

}



.quote-box form {

  display: none;

  flex-direction: column;

  gap: 14px;

}

.quote-box form.active-form {

  display: flex;

}

















.form-tabs {

  display: flex;

  background: #ffffff;

  border-radius: 18px;

  padding: 12px;

  margin-bottom: 40px;

  gap: 12px;

  border: 1px solid rgba(15, 30, 50, 0.18);

  box-shadow: 0 8px 25px rgba(0,0,0,0.06);

}



.tab-btn {

  flex: 1;

  padding: 14px;

  border: none;

  background: transparent;

  border-radius: 50px;

  cursor: pointer;

  font-size: 14px;

  font-weight: 700;

  color: #2f3e4e; 

  transition: all 0.25s ease;

}



.tab-btn:hover:not(.active) {

  background: #e8f1fb;

  color: #0b2238;

}



.tab-btn.active {

  background: #0b2238; 

  color: #ffffff;      

  font-weight: 800;

  box-shadow: 0 10px 25px rgba(11, 34, 56, 0.35);

  transform: scale(1.02);

  outline: 2px solid rgba(11, 34, 56, 0.315); 

  outline-offset: 3px;

}


.tab-btn.active::before {

  display: none;

}



.quote-box form {

  display: none;

  flex-direction: column;

}

.quote-box form.active-form {

  display: flex;

}

.quote-box input,
.quote-box select,
.quote-box textarea {

  padding: 16px;

  border-radius: 14px;

  border: 1px solid #dce5ef;

  margin-bottom: 18px;

  font-family: inherit;

  font-size: 14px;

  background: white;

}

.quote-box textarea {

  resize: none;

  height: 140px;

}

.quote-box input:focus,
.quote-box select:focus,
.quote-box textarea:focus {

  outline: none;

  border-color: #4d7db5;

}





.quote-box button {

  padding: 14px;

  border: none;

  background: #17304f;

  color: white;

  border-radius: 14px;

  cursor: pointer;

  font-weight: 600;

  transition: 0.3s ease;

}

.quote-box button:hover {

  background: #4d7db5;

}







.curtain-preview {

    position: relative;

    width: 350px;

    height: 450px;

    overflow: hidden;

    border-radius: 24px;

}

.curtain-preview img {

    width: 100%;

    height: 100%;

    object-fit: cover;

}



#color-overlay {

    position: absolute;

    inset: 0;

    background: transparent;

    mix-blend-mode: multiply;

    opacity: 0.55;

    transition: 0.35s ease;

}



.color-options {

    display: flex;

    gap: 12px;

    margin-top: 20px;

}

.swatch {

    width: 24px;

    height: 24px;

    border-radius: 50%;

    cursor: pointer;

    border: 3px solid white;

    box-shadow: 0 0 0 1px rgba(0,0,0,0.1);

    transition: 0.25s ease;

}

.swatch:hover {

    transform: scale(1.1);

}

.blue {

    background: #355c8c;

}

.cream {

    background: #d9c7a2;

}

.grey {

    background: #8b9099;

}



.products-section {

  padding: 30px 20px 20px;

  background: #f7f9fc;

}



.products-grid {

  max-width: 1300px;

  margin: auto;

  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));

  gap: 32px;

}



.product-card {

  background: #ffffff;

  border-radius: 28px;

  overflow: hidden;

  transition: 0.4s ease;

  box-shadow:
  0 10px 30px rgba(0,0,0,0.05);

  border: 1px solid rgba(0,0,0,0.04);

  display: flex;

  flex-direction: column;

  height: 100%;

}

.product-card:hover {

  transform: translateY(-8px);

  box-shadow:
  0 25px 60px rgba(0,0,0,0.10);

}



.product-image {

  position: relative;

  width: 100%;

  height: 280px;

  overflow: hidden;

  background: #eef2f7;

}



.product-image img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  display: block;

  transition: transform 0.7s ease;

}



.product-card:hover .product-image img {

  transform: scale(1.08);

}



.product-badge {

  position: absolute;

  top: 18px;

  left: 18px;

  background: rgba(23,48,79,0.92);

  backdrop-filter: blur(10px);

  color: white;

  padding: 8px 16px;

  border-radius: 30px;

  font-size: 11px;

  font-weight: 600;

  letter-spacing: 1px;

  text-transform: uppercase;

}



.product-content {

  padding: 26px;

  display: flex;

  flex-direction: column;

  flex: 1;

}



.product-category {

  font-size: 12px;

  font-weight: 600;

  text-transform: uppercase;

  letter-spacing: 1.5px;

  color: #6d7a88;

  margin-bottom: 10px;

}



.product-content h3 {

  font-size: 28px;

  line-height: 1.2;

  color: #17304f;

  margin-bottom: 14px;

  font-family: 'Playfair Display', serif;

}



.product-description {

  font-size: 14px;

  line-height: 1.8;

  color: #5f6b78;

  margin-bottom: 22px;

}



.product-price {

  font-size: 28px;

  font-weight: 700;

  color: #17304f;

  margin-bottom: 22px;

}

.product-price span {

  font-size: 14px;

  font-weight: 500;

  color: #7b8794;

}



.product-colors {

  display: flex;

  align-items: center;

  gap: 12px;

  margin-bottom: 28px;

}



.color-swatch {

  width: 22px;

  height: 22px;

  border-radius: 50%;

  cursor: pointer;

  position: relative;

  border: 2px solid #ffffff;

  box-shadow:
  0 0 0 1px rgba(0,0,0,0.12),
  0 4px 12px rgba(0,0,0,0.08);

  transition: 0.3s ease;

}



.color-swatch:hover {

  transform: scale(1.18);

}



.color-swatch::after {

  content: attr(data-color);

  position: absolute;

  bottom: 160%;

  left: 50%;

  transform: translateX(-50%);

  background: #17304f;

  color: white;

  padding: 7px 12px;

  border-radius: 8px;

  font-size: 11px;

  font-weight: 500;

  white-space: nowrap;

  opacity: 0;

  visibility: hidden;

  transition: 0.25s ease;

}



.color-swatch:hover::after {

  opacity: 1;

  visibility: visible;

}



.navy {

  background: #355c8c;

}

.cream {

  background: #efe2c5;

}

.grey {

  background: #8c949d;

}

.beige {

  background: #cbb59d;

}



.product-actions {

  display: flex;

  align-items: center;

  gap: 14px;

  margin-top: auto;

}



.product-btn {

  flex: 1;

  text-align: center;

  text-decoration: none;

  background: #17304f;

  color: white;

  padding: 14px 22px;

  border-radius: 50px;

  font-size: 14px;

  font-weight: 600;

  transition: 0.35s ease;

}



.product-btn:hover {

  background: #4d7db5;

  transform: translateY(-2px);

}



.more-btn {

  text-decoration: none;

  color: #17304f;

  font-size: 14px;

  font-weight: 600;

  transition: 0.3s ease;

  white-space: nowrap;

}



.more-btn:hover {

  color: #4d7db5;

  transform: translateX(4px);

}




.category-filter-section {

    padding: 100px 20px 10px;


}

.filter-container {

    max-width: 1100px;

    margin: auto;

    display: flex;

    flex-wrap: wrap;

    gap: 14px;

    justify-content: center;

}

.filter-btn {

    border: none;

    background: #f8fafc;;

    padding: 12px 22px;

    border-radius: 40px;

    cursor: pointer;

    font-size: 14px;

    font-weight: 600;

    color: #34495e;

    border: 2px solid rgba(11, 34, 56, 0.372);

    transition: 0.3s ease;

    box-shadow: 0 4px 15px rgba(11, 34, 56, 0.1);

}

.filter-btn a {

    text-decoration: none;

    color:#0b2238;

    cursor: pointer;

    font-size: 14px;

    font-weight: 600;

}

.filter-btn:hover {

    transform: translateY(-2px);

    box-shadow: 0 10px 20px rgba(0,0,0,0.06);

}

.filter-btn.active {

    background: #0b2238;

    color: white;

}

.filter-btn.active a {

    color: white;

}







.why-section {

  padding: 90px 7%;

  background: #f7f9fc;

}

.why-grid {

  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(260px,1fr));

  gap: 30px;

}

.why-card {

  background: white;

  padding: 40px 30px;

  border-radius: 28px;

  text-align: center;

  transition: 0.35s ease;

  box-shadow:
  0 18px 35px rgba(0,0,0,0.05);

}

.why-card:hover {

  transform: translateY(-8px);

}

.why-icon {

  width: 72px;

  height: 72px;

  margin: auto;

  margin-bottom: 24px;

  border-radius: 22px;

  background: rgba(77,125,181,0.1);

  display: flex;

  align-items: center;

  justify-content: center;

  font-size: 28px;

  color: #4d7db5;

}



.testimonials-section {

  padding: 100px 7%;

  background: #f7f9fc;

}

.testimonials-grid {

  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(280px,1fr));

  gap: 30px;

}

.testimonial-card {

  background: white;

  padding: 36px;

  border-radius: 30px;

  box-shadow:
  0 18px 35px rgba(0,0,0,0.05);

}

.stars {

  color: #f4b400;

  margin-bottom: 20px;

}

.testimonial-card p {

  color: #66717d;

  line-height: 1.9;

  margin-bottom: 24px;

}

.testimonial-card h4 {

  color: #17304f;

}



.dimension-fields {

  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: 16px;

}



.whatsapp-float {

  position: fixed;

  right: 25px;
  bottom: 30px;

  z-index: 999;

  display: flex;
  align-items: center;
  gap: 12px;

  text-decoration: none;

}



.whatsapp-text {

  background: white;

  color: #17304f;

  padding: 13px 18px;

  border-radius: 40px;

  font-size: 14px;
  font-weight: 600;

  box-shadow:
  0 10px 30px rgba(0,0,0,0.1);

  opacity: 0;

  transform: translateX(10px);

  transition: 0.35s ease;

}



.whatsapp-icon {

  width: 65px;
  height: 65px;

  border-radius: 50%;

  background: #25d366;

  display: flex;
  align-items: center;
  justify-content: center;

  color: white;

  font-size: 2rem;

  box-shadow:
  0 12px 30px rgba(37,211,102,0.35);

  animation:
  floatWhatsApp 2.5s infinite ease-in-out;

}



.whatsapp-float:hover .whatsapp-text {

  opacity: 1;

  transform: translateX(0);

}



@keyframes floatWhatsApp {

  0% {

    transform: translateY(0);

  }

  50% {

    transform: translateY(-8px);

  }

  100% {

    transform: translateY(0);

  }

}



.pagination-section{
    padding: 30px 20px;
    display: flex;
    justify-content: center;
}

.pagination-container{
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.pagination-btn,
.pagination-number{
    padding: 10px 16px;
    border-radius: 10px;
    text-decoration: none;
    background: #f8fafc;
    color: #0b2238;
    font-weight: 500;
    transition: 0.3s ease;
    border: 1px solid rgba(11, 34, 56, 0.372);
    box-shadow: 0 4px 15px rgba(11, 34, 56, 0.1);
}

.pagination-btn:hover,
.pagination-number:hover{
    background: #17304f;
    color: white;
}

.active-page{
    background: #17304f;
    color: white;
}



.site-footer {

  background: #0b2238;

  color: white;

  padding: 70px 20px 20px;

  margin-top: 80px;

}
.location-card {

  display: block;

  padding: 12px 14px;

  border-radius: 12px;

  background: rgba(255,255,255,0.06);

  text-decoration: none;

  transition: 0.3s ease;

  border: 1px solid rgba(255,255,255,0.1);

}

.location-card:hover {

  background: rgba(255,255,255,0.12);

  transform: translateY(-2px);

}

.location-title {

  color: white;

  font-weight: 600;

  display: flex;

  align-items: center;

  gap: 10px;

  margin-bottom: 5px;

}

.location-action {

  color: rgba(255,255,255,0.7);

  font-size: 13px;

}





.footer-container {

  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));

  gap: 50px;

  max-width: 1100px;

  margin: auto;

}



.footer-logo {

  font-size: 22px;

  font-weight: 700;

  margin-bottom: 10px;

  letter-spacing: 0.5px;

}



.footer-brand p {

  color: rgba(255,255,255,0.75);

  font-size: 14px;

  line-height: 1.7;

}

.logo-link {

  text-decoration: none;

  color: #ffffff;

  font-size: 22px;

  font-weight: 700;

  letter-spacing: 0.5px;

  display: inline-block;

  transition: 0.25s ease;

}

.logo-link:hover {

  opacity: 0.85;

  transform: translateY(-1px);

}



.footer-section h3 {

  margin-bottom: 15px;

  font-size: 15px;

  font-weight: 600;

  color: #ffffff;

}



.footer-section a {

  display: flex;

  align-items: center;

  gap: 10px;

  color: rgba(255,255,255,0.75);

  text-decoration: none;

  margin-bottom: 12px;

  font-size: 14px;

  transition: 0.25s ease;

}



.footer-section a:hover {

  color: #ffffff;

  transform: translateX(4px);

}



.footer-section a i {

  width: 18px;

  color: rgba(255,255,255,0.85);

  transition: 0.25s ease;

}

.footer-section a:hover i {

  color: #ffffff;

  transform: scale(1.1);

}



.footer-bottom {

  text-align: center;

  margin-top: 50px;

  padding-top: 20px;

  border-top: 1px solid rgba(255,255,255,0.1);

  font-size: 13px;

  color: rgba(255,255,255,0.6);

}








@media(max-width: 992px){

  .products-grid{

    grid-template-columns: repeat(2, 1fr);

  }

  .featured-grid{

    grid-template-columns: repeat(2, 1fr);

  }

  .footer-container{

    grid-template-columns: repeat(2, 1fr);

  }

}





@media(max-width: 768px){

  

  .navbar{

    padding: 16px 5%;

  }

  .nav-menu{

    gap: 18px;
    flex-wrap: wrap;
    justify-content: center;

  }

  .logo{

    font-size: 22px;

  }

  

  .hero{

    padding: 120px 5% 80px;
    text-align: center;

  }

  .hero h1{

    font-size: 42px;
    line-height: 1.2;

  }

  .hero p{

    font-size: 15px;

  }

  .hero-buttons{

    justify-content: center;
    flex-wrap: wrap;

  }

  

  .products-grid{

    grid-template-columns: 1fr;

  }

  .product-card{

    max-width: 100%;

  }

  

  .grid{

    grid-template-columns: 1fr;

  }

  

  .footer-container{

    grid-template-columns: 1fr;
    gap: 40px;

  }

  

  .quote-container{

    grid-template-columns: 1fr;

  }

  .dimension-fields{

    flex-direction: column;

  }

}





@media(max-width: 480px){

  .hero h1{

    font-size: 34px;

  }

  .section-header h2{

    font-size: 28px;

  }

  .product-content{

    padding: 20px;

  }

  .product-actions{

    flex-direction: column;

  }

  .product-btn,
  .more-btn{

    width: 100%;
    text-align: center;

  }

  .pagination-container{

    flex-wrap: wrap;

  }

}

.details-section {

  padding: 90px 7%;
  margin-top: 30px;

}

.details-container {

  display: grid;

  grid-template-columns: 1.1fr 1fr;

  gap: 70px;

  align-items: start;

}



.details-images {

  position: sticky;

  top: 120px;

}



.main-image {

  width: 100%;

  height: 620px;

  overflow: hidden;

  border-radius: 28px;

  background: white;

  box-shadow:
  0 20px 45px rgba(0,0,0,0.08);

}

.main-image img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  transition: transform 0.8s ease;

}

.main-image:hover img {

  transform: scale(1.05);

}



.gallery-images {

  display: grid;

  grid-template-columns: repeat(4, 1fr);

  gap: 14px;

  margin-top: 20px;

}

.gallery-images img {

  width: 100%;

  height: 110px;

  object-fit: cover;

  border-radius: 18px;

  cursor: pointer;

  transition: 0.4s ease;

  box-shadow:
  0 8px 20px rgba(0,0,0,0.06);

}

.gallery-images img:hover {

  transform: translateY(-5px);

}



.details-content {

  padding-top: 20px;

}



.details-category {

  display: inline-block;

  padding: 8px 18px;

  border-radius: 40px;

  background: rgba(77,125,181,0.12);

  color: #4d7db5;

  font-size: 12px;

  font-weight: 600;

  letter-spacing: 1px;

  text-transform: uppercase;

  margin-bottom: 24px;

}



.details-content h1 {

  font-size: 58px;

  line-height: 1.1;

  font-family: 'Playfair Display', serif;

  margin-bottom: 24px;

  color: #17304f;

}



.details-description {

  font-size: 16px;

  color: #5f6b78;

  margin-bottom: 35px;

  max-width: 600px;

}



.details-price {

  font-size: 40px;

  font-weight: 700;

  color: #17304f;

  margin-bottom: 40px;

}

.details-price span {

  font-size: 16px;

  color: #7a8694;

  font-weight: 500;

}



.details-info {

  display: grid;

  gap: 20px;

  margin-bottom: 40px;

}

.info-card {

  background: white;

  padding: 24px;

  border-radius: 22px;

  box-shadow:
  0 10px 30px rgba(0,0,0,0.05);

}

.info-card h3 {

  font-size: 18px;

  margin-bottom: 12px;

  color: #17304f;

}

.info-card p {

  color: #66717d;

  font-size: 15px;

}



.details-colors h3 {

  font-size: 18px;

  margin-bottom: 20px;

  color: #17304f;

}

.product-colors {

  display: flex;

  align-items: center;

  gap: 14px;

  margin-bottom: 45px;

}



.color-swatch {

  width: 26px;

  height: 26px;

  border-radius: 50%;

  cursor: pointer;

  position: relative;

  border: 2px solid white;

  box-shadow:
  0 0 0 1px rgba(0,0,0,0.12),
  0 5px 14px rgba(0,0,0,0.08);

  transition: 0.3s ease;

}

.color-swatch:hover {

  transform: scale(1.2);

}



.color-swatch::after {

  content: attr(data-color);

  position: absolute;

  bottom: 160%;

  left: 50%;

  transform: translateX(-50%);

  background: #17304f;

  color: white;

  padding: 8px 12px;

  border-radius: 8px;

  font-size: 11px;

  white-space: nowrap;

  opacity: 0;

  visibility: hidden;

  transition: 0.3s ease;

}

.color-swatch:hover::after {

  opacity: 1;

  visibility: visible;

}



.navy {

  background: #355c8c;

}

.grey {

  background: #8d95a0;

}

.beige {

  background: #c8b39c;

}

.cream {

  background: #efe4cb;

}



.details-actions {

  display: flex;

  align-items: center;

  gap: 18px;

  flex-wrap: wrap;

}



.whatsapp-btn {

  text-decoration: none;

  background: #17304f;

  color: white;

  padding: 16px 30px;

  border-radius: 50px;

  font-size: 14px;

  font-weight: 600;

  display: flex;

  align-items: center;

  gap: 10px;

  transition: 0.35s ease;

  box-shadow:
  0 15px 30px rgba(23,48,79,0.15);

}

.whatsapp-btn:hover {

  background: #4d7db5;

  transform: translateY(-3px);

}



.gallery-btn {

  text-decoration: none;

  color: #17304f;

  font-weight: 600;

  transition: 0.3s ease;

}

.gallery-btn:hover {

  color: #4d7db5;

}



.more-photos {

  padding: 40px 7% 100px;

}



.section-title {

  margin-bottom: 40px;

}

.section-title span {

  font-size: 12px;

  font-weight: 600;

  letter-spacing: 2px;

  color: #4d7db5;

  text-transform: uppercase;

}

.section-title h2 {

  font-size: 42px;

  font-family: 'Playfair Display', serif;

  margin-top: 10px;

  color: #17304f;

}



.gallery-grid {

  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));

  gap: 24px;

}



.gallery-grid img {

  width: 100%;

  height: 340px;

  object-fit: cover;

  border-radius: 24px;

  transition: 0.5s ease;

  cursor: pointer;

  box-shadow:
  0 15px 35px rgba(0,0,0,0.06);

}

.gallery-grid img:hover {

  transform: translateY(-8px) scale(1.02);

}





.footer-bottom {

  color: rgba(255,255,255,0.75);

  font-size: 14px;

}



@media(max-width: 992px) {

  .details-container {

    grid-template-columns: 1fr;

  }

  .details-images {

    position: relative;

    top: 0;

  }

  .details-content h1 {

    font-size: 44px;

  }

}

@media(max-width: 768px) {

  .main-image {

    height: 450px;

  }

  .gallery-images {

    grid-template-columns: repeat(2, 1fr);

  }

  .details-content h1 {

    font-size: 38px;

  }

  .section-title h2 {

    font-size: 34px;

  }

}

@media(max-width: 500px) {

  .details-actions {

    flex-direction: column;

    align-items: stretch;

  }

  .whatsapp-btn {

    justify-content: center;

  }

}







@media(max-width: 992px){

  .products-grid{

    grid-template-columns: repeat(2, 1fr);

  }

  .featured-grid{

    grid-template-columns: repeat(2, 1fr);

  }

  .footer-container{

    grid-template-columns: repeat(2, 1fr);

  }

}





@media(max-width: 768px){

  

  .navbar{

    padding: 16px 5%;

  }

  .nav-menu{

    gap: 18px;
    flex-wrap: wrap;
    justify-content: center;

  }

  .logo{

    font-size: 22px;

  }

  

  .hero{

    padding: 120px 5% 80px;
    text-align: center;

  }

  .hero h1{

    font-size: 42px;
    line-height: 1.2;

  }

  .hero p{

    font-size: 15px;

  }

  .hero-buttons{

    justify-content: center;
    flex-wrap: wrap;

  }

  

  .products-grid{

    grid-template-columns: 1fr;

  }

  .product-card{

    max-width: 100%;

  }

  

  .grid{

    grid-template-columns: 1fr;

  }

  

  .footer-container{

    grid-template-columns: 1fr;
    gap: 40px;

  }

  

  .quote-container{

    grid-template-columns: 1fr;

  }

  .dimension-fields{

    flex-direction: column;

  }

}





@media(max-width: 480px){

  .hero h1{

    font-size: 34px;

  }

  .section-header h2{

    font-size: 28px;

  }

  .product-content{

    padding: 20px;

  }

  .product-actions{

    flex-direction: column;

  }

  .product-btn,
  .more-btn{

    width: 100%;
    text-align: center;

  }

  .pagination-container{

    flex-wrap: wrap;

  }

}




.offers-hero {

  padding: 40px 2%;

  background:
  linear-gradient(
  rgba(15,30,50,0.72),
  rgba(15,30,50,0.72)
  ),
  url("images/offerslarge.jpg");

  background-size: cover;

  background-position: center;

  text-align: center;

  color: white;

}

.offers-subtitle {

  display: inline-block;

  padding: 8px 18px;

  background: rgba(255,255,255,0.12);

  border-radius: 40px;

  font-size: 12px;

  font-weight: 600;

  letter-spacing: 2px;

  margin-bottom: 24px;

}

.offers-hero h1 {

  font-size: 58px;

  font-family: 'Playfair Display', serif;

  margin-bottom: 24px;

}

.offers-hero p {

  max-width: 720px;

  margin: auto;

  color: rgba(255,255,255,0.82);

  font-size: 17px;

  line-height: 1.8;

}



.offers-section {

  padding: 100px 7%;

  background: #f7f9fc;

}



.offers-grid {

  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));

  gap: 32px;

}



.offer-card {

  background: white;

  border-radius: 28px;

  overflow: hidden;

  transition: 0.45s ease;

  box-shadow:
  0 18px 40px rgba(0,0,0,0.05);

  display: flex;

  flex-direction: column;

  height: 100%;

}

.offer-card:hover {

  transform: translateY(-10px);

  box-shadow:
  0 25px 55px rgba(0,0,0,0.09);

}



.offer-image {

  position: relative;

  overflow: hidden;

  height: 260px;

}

.offer-image img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  transition: transform 0.7s ease;

}

.offer-card:hover img {

  transform: scale(1.06);

}



.offer-badge {

  position: absolute;

  top: 18px;

  left: 18px;

  background: #17304f;

  color: white;

  padding: 9px 15px;

  border-radius: 40px;

  font-size: 11px;

  font-weight: 600;

  letter-spacing: 1px;

}



.offer-content {

  padding: 28px;

  display: flex;

  flex-direction: column;

  flex-grow: 1;

}



.offer-category {

  color: #4d7db5;

  font-size: 12px;

  font-weight: 600;

  letter-spacing: 1px;

  text-transform: uppercase;

  margin-bottom: 14px;

}



.offer-content h3 {

  font-size: 20px;

  font-family: 'Playfair Display', serif;

  margin-bottom: 13px;

  color: #17304f;

}

.offer-product-name{
    font-size: 1rem;
    font-weight: 600;
    color: #17304f;
    margin-bottom: 6px;
    margin: 8px 0;
}

.offer-content h2 {

  font-size: 28px;

  font-family: 'Playfair Display', serif;

  margin-bottom: 14px;

  font-weight: 700;

  

  color: #17304f;

  

}



.offer-content p {

  color: #66717d;

  line-height: 1.8;

  margin-bottom: 24px;

  font-size: 15px;

}



.offer-pricing {

  display: flex;

  align-items: center;

  gap: 12px;

  flex-wrap: wrap;

  margin-bottom: 20px;

}

.old-price {

  color: #9aa4af;

  text-decoration: line-through;

  font-size: 15px;

}

.new-price {

  font-size: 28px;

  font-weight: 700;

  color: #17304f;

}

.price-unit {

  font-size: 14px;

  color: #7a8694;

}



.offer-stock {

  display: inline-block;

  width: fit-content;

  margin-bottom: 26px;

  padding: 8px 14px;

  background: rgba(77,125,181,0.1);

  color: #4d7db5;

  border-radius: 30px;

  font-size: 11px;

  font-weight: 600;

  letter-spacing: 1px;

}



.product-colors {

  display: flex;

  align-items: center;

  gap: 12px;

  margin-bottom: 24px;

}



.color-swatch {

  width: 24px;

  height: 24px;

  border-radius: 50%;

  cursor: pointer;

  position: relative;

  border: 2px solid white;

  box-shadow:
  0 0 0 1px rgba(0,0,0,0.1),
  0 5px 14px rgba(0,0,0,0.08);

  transition: 0.3s ease;

}

.color-swatch:hover {

  transform: scale(1.18);

}



.color-swatch::after {

  content: attr(data-color);

  position: absolute;

  bottom: 160%;

  left: 50%;

  transform: translateX(-50%);

  background: #17304f;

  color: white;

  padding: 7px 11px;

  border-radius: 8px;

  font-size: 10px;

  white-space: nowrap;

  opacity: 0;

  visibility: hidden;

  transition: 0.3s ease;

}

.color-swatch:hover::after {

  opacity: 1;

  visibility: visible;

}



.navy {

  background: #355c8c;

}

.grey {

  background: #8d95a0;

}

.beige {

  background: #c8b39c;

}



.offer-btn {

  margin-top: auto;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 10px;

  text-decoration: none;

  background: #17304f;

  color: white;

  padding: 15px 24px;

  border-radius: 50px;

  font-size: 14px;

  font-weight: 600;

  transition: 0.35s ease;

}

.offer-btn:hover {

  background: #4d7db5;

  transform: translateY(-3px);

}



@media(max-width: 768px) {

  .offers-hero h1 {

    font-size: 42px;

  }

  .offer-content h3,h2 {

    font-size: 24px;

  }

}

@media(max-width: 500px) {

  .offers-grid {

    grid-template-columns: 1fr;

  }

}


.contact-hero {

  padding: 120px 7% 90px;

  background:
  linear-gradient(
  rgba(15,30,50,0.72),
  rgba(15,30,50,0.72)
  ),
  url("images/volodymyr-hryshchenko-V5vqWC9gyEU-unsplash.jpg");

  background-size: cover;

  background-position: center;

  text-align: center;

  color: white;

}

.contact-subtitle {

  display: inline-block;

  padding: 8px 18px;

  background: rgba(255,255,255,0.12);

  border-radius: 40px;

  font-size: 12px;

  font-weight: 600;

  letter-spacing: 2px;

  margin-bottom: 24px;

}

.contact-hero h1 {

  font-size: 58px;

  font-family: 'Playfair Display', serif;

  margin-bottom: 24px;

}

.contact-hero p {

  max-width: 720px;

  margin: auto;

  color: rgba(255,255,255,0.82);

  font-size: 17px;

  line-height: 1.8;

}



.contact-section {

  padding: 90px 7%;

  background: #f7f9fc;

}

.contact-container {

  display: grid;

  grid-template-columns: 420px 1fr;

  gap: 40px;

  align-items: stretch;

}



.contact-info {

  display: flex;

  flex-direction: column;

  gap: 22px;

}



.contact-card {

  background: white;

  padding: 28px;

  border-radius: 26px;

  display: flex;

  gap: 18px;

  align-items: flex-start;

  box-shadow:
  0 15px 35px rgba(0,0,0,0.05);

  transition: 0.35s ease;

}

.contact-card:hover {

  transform: translateY(-5px);

}



.contact-icon {

  width: 58px;

  height: 58px;

  min-width: 58px;

  border-radius: 18px;

  background: rgba(77,125,181,0.12);

  display: flex;

  align-items: center;

  justify-content: center;

  color: #4d7db5;

  font-size: 22px;

}



.contact-details h3 {

  font-size: 20px;

  margin-bottom: 8px;

  color: #17304f;

}

.contact-details a {

  text-decoration: none;

  color: #66717d;

  transition: 0.3s ease;

}

.contact-details a:hover {

  color: #4d7db5;

}

.contact-details p {

  color: #66717d;

  margin-bottom: 6px;

}



.socials-container {

  display: flex;

  flex-wrap: wrap;

  gap: 16px;

  margin-top: 8px;

}

.social-link {

  display: flex;

  align-items: center;

  gap: 12px;

  text-decoration: none;

  background: white;

  padding: 16px 22px;

  border-radius: 18px;

  color: #17304f;

  font-weight: 600;

  transition: 0.35s ease;

  box-shadow:
  0 12px 28px rgba(0,0,0,0.05);

}

.social-link i {

  font-size: 20px;

}

.social-link:hover {

  background: #17304f;

  color: white;

  transform: translateY(-4px);

}



.map-container {

  border-radius: 32px;

  overflow: hidden;

  box-shadow:
  0 20px 45px rgba(0,0,0,0.06);

  min-height: 100%;

}

.map-container iframe {

  width: 100%;

  height: 100%;

  min-height: 720px;

  border: none;

}



.contact-cta {

  padding: 90px 7% 110px;

  background: white;

}

.contact-cta-content {

  background:
  linear-gradient(
  135deg,
  #17304f,
  #355c8c
  );

  border-radius: 36px;

  padding: 70px;

  text-align: center;

  color: white;

}

.contact-cta-content h2 {

  font-size: 46px;

  font-family: 'Playfair Display', serif;

  margin-bottom: 18px;

}

.contact-cta-content p {

  max-width: 700px;

  margin: auto;

  color: rgba(255,255,255,0.82);

  line-height: 1.8;

  margin-bottom: 34px;

}



.contact-whatsapp-btn {

  display: inline-flex;

  align-items: center;

  gap: 12px;

  text-decoration: none;

  background: white;

  color: #17304f;

  padding: 18px 32px;

  border-radius: 50px;

  font-size: 15px;

  font-weight: 600;

  transition: 0.35s ease;

}

.contact-whatsapp-btn:hover {

  transform: translateY(-4px);

}



@media(max-width: 992px) {

  .contact-container {

    grid-template-columns: 1fr;

  }

  .map-container iframe {

    min-height: 500px;

  }

}

@media(max-width: 768px) {

  .contact-hero h1 {

    font-size: 42px;

  }

  .contact-cta-content {

    padding: 50px 30px;

  }

  .contact-cta-content h2 {

    font-size: 34px;

  }

}

@media(max-width: 500px) {

  .contact-card {

    flex-direction: column;

  }

}