
/* V25 - Responsive front + SEO UX */
:root{
  --ie-orange:#f25800;
  --ie-orange-2:#ff882c;
  --ie-navy:#223344;
  --ie-teal:#457e7b;
  --ie-soft:#f7f8fa;
}

html{
  scroll-behavior:smooth;
  -webkit-text-size-adjust:100%;
}

body{
  overflow-x:hidden;
}

img, video, iframe{
  max-width:100%;
  height:auto;
}

img{
  object-fit:cover;
}

.container{
  width:min(1180px, calc(100% - 32px));
  margin-left:auto;
  margin-right:auto;
}

.page-hero,
.hero,
.hero-section,
.auction-hero{
  min-height:auto;
  padding:clamp(44px, 7vw, 86px) 0;
}

.page-hero h1,
.hero h1,
.hero-section h1{
  font-size:clamp(2rem, 5vw, 4.2rem);
  line-height:1.05;
}

.page-hero p,
.hero p,
.hero-section p{
  font-size:clamp(1rem, 2vw, 1.25rem);
  max-width:760px;
}

.btn,
button,
input,
select,
textarea{
  touch-action:manipulation;
}

.btn,
button{
  min-height:44px;
}

.form-row{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:1rem;
}

.form-control,
.form-select,
textarea{
  width:100%;
  min-height:44px;
  font-size:16px;
}

.catalogue-grid,
.properties-grid,
.auctions-grid,
.blog-grid,
.api-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  gap:clamp(1rem, 2vw, 1.5rem);
}

.property-card,
.auction-card,
.blog-card,
.seller-form-card,
.acard{
  border-radius:18px;
  overflow:hidden;
}

.property-card img,
.auction-card img,
.blog-card img{
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  background:#eef1f4;
}

.card-title,
.property-card h2,
.auction-card h2,
.blog-card h2{
  font-size:clamp(1.1rem, 2vw, 1.35rem);
  line-height:1.2;
}

.sale-date-blink,
.upcoming-sale-date.blink,
.badge-sale-date.blink,
.catalogue-sale-date.blink{
  animation:saleDatePulse 1.15s ease-in-out infinite;
  will-change:transform, opacity;
}

@keyframes saleDatePulse{
  0%{opacity:1; transform:scale(1); box-shadow:0 0 0 0 rgba(242,88,0,.42)}
  50%{opacity:.55; transform:scale(1.035); box-shadow:0 0 0 7px rgba(242,88,0,.12)}
  100%{opacity:1; transform:scale(1); box-shadow:0 0 0 0 rgba(242,88,0,0)}
}

.sale-date-blink:hover,
.upcoming-sale-date.blink:hover,
.badge-sale-date.blink:hover,
.catalogue-sale-date.blink:hover{
  animation-play-state:paused;
}

@media (max-width: 992px){
  .navbar,
  .main-menu,
  .header-menu{
    gap:.75rem;
    flex-wrap:wrap;
  }

  .hero .container,
  .page-hero .container{
    text-align:left;
  }
}

@media (max-width: 768px){
  .container{
    width:min(100% - 24px, 1180px);
  }

  .page-hero,
  .hero,
  .hero-section,
  .auction-hero{
    padding:38px 0;
  }

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

  .catalogue-grid,
  .properties-grid,
  .auctions-grid,
  .blog-grid,
  .api-grid{
    grid-template-columns:1fr;
  }

  .btn,
  .btn-lg{
    width:100%;
    justify-content:center;
  }

  table{
    display:block;
    max-width:100%;
    overflow-x:auto;
    white-space:nowrap;
  }
}

@media (max-width: 480px){
  .container{
    width:min(100% - 18px, 1180px);
  }

  .page-hero h1,
  .hero h1,
  .hero-section h1{
    font-size:1.85rem;
  }

  .seller-form-card,
  .property-card,
  .auction-card,
  .blog-card{
    border-radius:14px;
  }
}

@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
  }
}
