* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Poppins', sans-serif;
}

body {
  background-color: #FAF7F2;
  color: #1E1E1E;
}
html{
    scroll-behavior: smooth;
}

/* HEADER */
.header {
  position: fixed;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 40px;
  background: #1E1E1E;
  
}
.header h2{
  color: #F28C28;
}
.container{
  
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

nav a {
  color: #fff;
  margin-left: 25px;
  text-decoration: none;
  font-weight: 500;
  transition: 0,5s;
}

nav a:hover {
  color: #fff;
  background-color: #F28C28;
  padding: 5px;
  border-radius: 20px;
}

/* HERO */
.hero {
  height: 100vh;
  background: 
    linear-gradient(
      rgba(250, 247, 242, 0.85),
      rgba(250, 247, 242, 0.85)
    ),
    url("Digital Services Tunisia.jpg") center/cover no-repeat;

  display: flex;
  align-items: center;
  padding: 0 80px;
}

.hero-content {
  max-width: 600px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
.hero-content img {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #F28C28;
  font-size: 80px;
  font-weight: bold;
}

.hero-content img {
  height: 300px;
  width: 300px;
  border-radius: 100%;
}

.hero h1 {
  font-size: 48px;
  color: #F28C28;
  margin-bottom: 15px;
}

.hero p {
  font-size: 18px;
  color: #1E1E1E;
  margin-bottom: 25px;
  text-align: left;
}

.hero button {
  background: #1E1E1E;
  color: #fff;
  border: none;
  padding: 15px 35px;
  font-size: 16px;
  border-radius: 6px;
  cursor: pointer;
  transition: 1s;

}

.hero button:hover {
  background: #F28C28;
}



/* SERVICES */
.services {
  width: auto;
  height: auto;
  padding: 60px 40px;
  background: #F28C28;
  display: flex;
  flex-direction: column;
  gap: 19px;
}

.services h2 {
  text-align: center;
  margin-bottom: 40px;
  font-size: 32px;
  color: #FAF7F2;
}
/* vertual card*/ 
.main-container {
  font-family: "Trebuchet MS", sans-serif;
  position: relative;
  height: 203px;
  aspect-ratio: 1.579;
  border-radius: 1em;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 300ms ease-in;
}
.main-container:hover {
  transform: rotateZ(1deg) rotateY(10deg) scale(1.1);
  box-shadow: 0 5em 2em #111;
}

.border {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 1em;
  background: linear-gradient(
    115deg,
    rgba(0, 0, 0, 0.33) 12%,
    rgba(255, 255, 255, 0.33) 27%,
    rgba(255, 255, 255, 0.33) 31%,
    rgba(0, 0, 0, 0.33) 52%
  );
}

.border:hover:after {
  position: absolute;
  content: " ";
  height: 50em;
  aspect-ratio: 1.58;
  border-radius: 1em;
  background: linear-gradient(
    115deg,
    rgba(0, 0, 0, 1) 42%,
    rgba(255, 255, 255, 1) 47%,
    rgba(255, 255, 255, 1) 51%,
    rgba(0, 0, 0, 1) 52%
  );
  animation: rotate 4s linear infinite;
  z-index: 1;
  opacity: 0.05;
}

.card {
  height: 12.5em;
  aspect-ratio: 1.586;
  border-radius: 1em;
  background-color: #999;
  opacity: 0.8;
  background-image: linear-gradient(to right, #777, #777 2px, #999 2px, #999);
  background-size: 4px 100%;
}

.shadow {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 0.85em;
  border: 1px solid #bbb;
  background:
    radial-gradient(
        circle at 100% 100%,
        #ffffff 0,
        #ffffff 8px,
        transparent 8px
      )
      0% 0%/13px 13px no-repeat,
    radial-gradient(circle at 0 100%, #ffffff 0, #ffffff 8px, transparent 8px)
      100% 0%/13px 13px no-repeat,
    radial-gradient(circle at 100% 0, #ffffff 0, #ffffff 8px, transparent 8px)
      0% 100%/13px 13px no-repeat,
    radial-gradient(circle at 0 0, #ffffff 0, #ffffff 8px, transparent 8px) 100%
      100%/13px 13px no-repeat,
    linear-gradient(#ffffff, #ffffff) 50% 50% / calc(100% - 10px)
      calc(100% - 26px) no-repeat,
    linear-gradient(#ffffff, #ffffff) 50% 50% / calc(100% - 26px)
      calc(100% - 10px) no-repeat,
    linear-gradient(
      135deg,
      rgba(3, 3, 3, 0.5) 0%,
      transparent 22%,
      transparent 47%,
      transparent 73%,
      rgba(0, 0, 0, 0.5) 100%
    );
  box-sizing: border-box;
}

.content {
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 0.6em;
  border: 1px solid #aaa;
  box-shadow: -1px -1px 0 #ddd;
  transform: translate(-50%, -50%);
  height: 12em;
  aspect-ratio: 1.604;
  background-image: linear-gradient(90deg, #777, #555 2px, #aaa 2px, #aaa);
  background-size: 4px 100%;
}

.rev {
  top: 0.5em;
  left: 0.75em;
  color: #ffffff9f;
  font-size: 1.25em;
}

.master {
  position: absolute;
  bottom: 1.25em;
  right: 0.5em;
  background: linear-gradient(
    90deg,
    rgba(75, 75, 75, 0.25) 0%,
    rgba(121, 121, 121, 1) 100%
  );
  color: #fff;
  height: 2.5em;
  width: 2.5em;
  border: 1px solid #bbb;
  border-radius: 50%;
}

.master.one {
  right: 2em;
}

.master-text {
  bottom: 0.25em;
  right: 0.8em;
  font-size: 0.75em;
}

.ultra-text {
  top: 10px;
  right: 1.75em;
  font-size: 0.5em;
  color: rgba(255, 255, 255, 0.66);
}

.card-number {
  bottom: 3em;
  left: 0.75em;
  font-size: 1.2em;
  position: absolute;
  color: #fff;
  text-shadow: -1px -1px #333;
}

.card-holder {
  bottom: 3.5em;
  left: 1.4em;
  font-size: 0.75em;
  position: absolute;
  color: #fff;
  text-shadow: -1px -1px #333;
}

.ultra-text,
.master-text,
.rev {
  position: absolute;
  text-shadow: -1px -1px #333;
  color: #fff;
  opacity: 0.75;
}

.chip {
  position: absolute;
  top: 27.5%;
  left: 8.25%;
  cursor: grab;
}

@keyframes rotate {
  0% {
    transform: translate(-25em, -15em);
  }
  20% {
    transform: translate(25em, 15em);
  }
  100% {
    transform: translate(25em, 15em);
  }
}
.carda{
  margin: auto;
}
.freec{
    display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  background: #FAF7F2;
  padding: 30px;
  border-radius: 10px;
  border-left: 6px solid #F28C28;
  text-align: center;
}
.free{
  text-align: center;
}



.cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  gap: 25px;
}

.card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  background: #FAF7F2;
  padding: 30px;
  border-radius: 10px;
  border-left: 6px solid #F28C28;
  text-align: center;
}
.card img{
  width: 300px;
  height: 150px;
  border-radius: 20px;
}
.card button{
   background: #1E1E1E;
  color: #fff;
  border: none;
  padding: 15px 35px;
  font-size: 16px;
  border-radius: 6px;
  cursor: pointer;
  transition: 1s;
}
.card button:hover {
  background: #F28C28;
}
.card h3 ,p {
  margin-bottom: 10px;
  text-align: center;
}
.about-section{
  background:#faf7f2;
  padding:60px 20px;
}
/* about sec */

.about-container{
  max-width:1100px;
  margin:auto;
  display:flex;
  gap:30px;
  align-items:center;
  flex-wrap:wrap;
}

.about-image img{
  width:420px;
  border-radius:12px;
  box-shadow:0 10px 25px rgba(0,0,0,.2);
}

.about-text{
  flex:1;
}

.about-text h2{
  color:#F28C28;
  margin-bottom:15px;
}

.about-text ul{
  margin-top:10px;
  line-height:1.8;
}

.about-text h3{
  margin-top:20px;
  color:#1E1E1E;
}
/* pricing sec */
.pricing{
  padding:80px 20px;
  text-align:center;
  background:#0b0b0b;
  color:white;
}

.pricing h2{
  font-size:2.5rem;
  color: #F28C28;
}

.pricing-sub{
  opacity:.7;
  margin-bottom:40px;
}

.pricing-box{
  display:flex;
  justify-content:center;
  gap:25px;
  flex-wrap:wrap;
}

.price-card{
  background:#111;
  padding:30px;
  width:300px;
  border-radius:15px;
  border:1px solid #222;
  transition:.3s;
}

.price-card:hover{
  transform:scale(1.05);
  border-color:#F28C28;
}

.price{
  font-size:2rem;
  color:#F28C28;
}

.price-card ul{
  list-style:none;
  padding:0;
  margin:20px 0;
}

.price-card li{
  margin:10px 0;
}

.pbtn{
  display:inline-block;
  background:#F28C28;
  color:#000;
  padding:10px 20px;
  border-radius:8px;
  text-decoration:none;
  font-weight:bold;
}

.popular{
  border:2px solid #F28C28;
  position:relative;
}

.tag{
  background:#F28C28;
  color:#000;
  padding:5px 10px;
  position:absolute;
  top:-12px;
  right:10px;
  border-radius:6px;
}
/* ---------------- TESTIMONIALS ---------------- */
.testimonials{
  padding:70px 20px;
  text-align:center;
}
.testimonials h2{
  font-size:32px;
  margin-bottom:30px;
  color: #F28C28;
}

.testi-box{
  display:flex;
  gap:20px;
  justify-content:center;
  flex-wrap:wrap;
}

.testi-card{
  width:280px;
  background:#111;
  color:white;
  padding:20px;
  border-radius:15px;
  transition:.3s;
  border:1px solid #333;
  animation:fadeUp .7s ease;
}

.testi-card:hover{
  transform:translateY(-10px);
  box-shadow:0 0 25px #F28C28;
}

.testi-card img{
  width:80px;
  height:80px;
  border-radius:50%;
  margin-bottom:10px;
}

/* ---------------- TRUST BADGES ---------------- */
.trust{
  padding:60px 20px;
  text-align:center;
}

.trust-box{
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
}

.badge{
  background:#0c0c0c;
  padding:12px 22px;
  border-radius:30px;
  border:1px solid #F28C28;
  color:white;
  font-weight:bold;
  transition:.3s;
}

.badge:hover{
  background:#F28C28;
  color:black;
}

/* ---------------- GLOBAL ANIMATION ---------------- */
@keyframes fadeUp{
  from{opacity:0; transform:translateY(40px)}
  to{opacity:1; transform:translateY(0)}
}

/* ---------------- MOBILE RESPONSIVE ---------------- */
@media (max-width:768px){

.hero-content h1{font-size:26px;}
.hero-content p{font-size:14px;}

.cards{flex-direction:column; align-items:center;}
.price-card{width:90%;}
.testi-card{width:90%;}
.trust-box{flex-direction:column;}
}

/* contact sec */
.contact-section{
  background-color: #1E1E1E;
}
.contact-sec{
  padding-top: 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 50px;
}
.contact-sec, h1{
  color: #F28C28;
}

.contact-form{
  width: 400px;
  flex:1;
  background:white;
  padding:25px;
  border-radius:12px;
}

.contact-form input,
.contact-form textarea{
  width:100%;
  padding:12px;
  margin-bottom:15px;
  border-radius:8px;
  border:1px solid #ccc;
  outline:none;
}

.contact-form textarea{
  height:160px;
  resize:none;
}

.contact-form button{
  width:100%;
  background:#F28C28;
  border:none;
  padding:12px;
  border-radius:8px;
  color:white;
  font-size:17px;
  cursor:pointer;
}

.contact-form button:hover{
  background:#1E1E1E;
}
.all-sec{
  display: flex;
  flex-direction: column;
}




/* FOOTER */
.box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: #0f172a;
  padding: 20px 30px;
  border-radius: 16px;
  width: fit-content;
  margin: 40px auto;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0,0,0,0.4);
  margin: auto;
  transition: 1s;
  
}
.rate-box{
  background: #0f172a;
  padding: 20px 30px;
  border-radius: 16px;
  width: fit-content;
  margin: 40px auto;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0,0,0,0.4);
  transition: 1s;
  
}
.box:hover{
  box-shadow: 0px 0px 20px #F28C28
}
.rate-box:hover{
  box-shadow: 0px 0px 20px gold
}

.rate-box h3 {
  color: #F28C28;
  margin-bottom: 10px;
  font-size: 22px;
  
}

.stars {
  font-size: 35px;
  cursor: pointer;
  color: #334155;
  transition: color 0.3s;
}

.stars:hover {
  color: gold;
}

.rate-count {
  margin-top: 10px;
  color: #F28C28;
  font-size: 14px;
}

.card {
  width: fit-content;
  height: fit-content;
  background-color: rgb(238, 238, 238);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 25px 25px;
  gap: 20px;
  box-shadow: 0px 0px 20px #F28C28;
}

/* for all social containers*/
.socialContainer {
  width: 52px;
  height: 52px;
  border-radius: 5px;
  background-color: rgb(44, 44, 44);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition-duration: 0.3s;
}
/* instagram*/
.containerOne:hover {
  background-color: #d62976;
  transition-duration: 0.3s;
}
/* Tiktok*/
.containerTwo:hover {
  background-color: #25f4ee;
  transition-duration: 0.3s;
}
/* Facebook*/
.containerThree:hover {
  background-color: #1877f2;
  transition-duration: 0.3s;
}
/* Whatsapp*/
.containerFour:hover {
  background-color: green;
  transition-duration: 0.3s;
}

.socialContainer:active {
  transform: scale(0.9);
  transition-duration: 0.3s;
}

.socialSvg {
  width: 19px;
}
.largeIcon {
  width: 27px; /* Ancho específico solo para el icono de TikTok */
}
.socialSvg path {
  fill: rgb(255, 255, 255);
}

.socialContainer:hover .socialSvg {
  animation: slide-in-top 0.3s both;
}

@keyframes slide-in-top {
  0% {
    transform: translateY(-50px);
    opacity: 0;
  }

  100% {
    transform: translateY(0);
    opacity: 1;
  }
}


footer {
  text-align: center;
  padding: 20px;
  background: #1E1E1E;
  color: #fff;
}



/* =========================
   GLOBAL MOBILE FIX
========================= */
@media (max-width: 768px){

  body{
    overflow-x:hidden;
  }

  /* HEADER */
  .header{
    padding: 12px 15px;
  }

  .header h2{
    font-size:22px;
    margin: auto;
  }

  nav{
    display:none;
  }

  /* HERO */
  .hero{
    height:700px;
    padding:50px 20px;
    text-align:center;
    justify-content:center;
  }

  .hero-content{
    align-items:center;
    text-align:center;
  }

  .hero-content img{
    width:220px;
    height:220px;
  }

  .hero h1{
    font-size:32px;
  }

  .hero p{
    font-size:16px;
    text-align: center;
  }
  .button-hero{
    display: flex;
    flex-direction: column;
    gap: 15px;
  }


  /* SERVICES CARDS */
  .cards{
    display:flex;
    flex-direction:column;
    gap: 40px;
  }

  .card{
    width:100%;
  }

  .card img{
    width:100%;
    height:170px;
    object-fit:cover;
  }


  /* ABOUT SECTION */
  .about-container{
    flex-direction:column;
    text-align:center;
  }

  .about-image img{
    width:100%;
  }


  /* CONTACT SECTION */
  .contact-sec{
    padding:40px 20px;
    text-align:center;
  }

  .contact-form{
    width:100%;
  }


  /* FOOTER */
  footer{
    font-size:14px;
  }

}




