/* =========================================================
   OURFIT — Fashion Clothing Store HTML Template
   Built by TemplatesJungle (templatesjungle.com)
   ========================================================= */

:root{
  --of-black:#181818;
  --of-dark:#1c1c1c;
  --of-cream:#f7f2ec;
  --of-cream-2:#f2ece3;
  --of-beige:#e9ddcd;
  --of-gold:#c9974e;
  --of-gray:#767676;
  --of-line:#e7e2da;
  --of-white:#ffffff;
  --of-radius:2px;
  --of-font-head:'Jost', sans-serif;
  --of-font-body:'Poppins', sans-serif;
}

/* ---------- base ---------- */
body{
  font-family:var(--of-font-body);
  color:var(--of-black);
  font-size:15px;
  line-height:1.75;
  background:var(--of-white);
}
h1,h2,h3,h4,h5,h6{
  font-family:var(--of-font-head);
  color:var(--of-black);
  font-weight:600;
  letter-spacing:.02em;
}
a{ color:var(--of-black); text-decoration:none; transition:.2s ease; }
a:hover{ color:var(--of-gold); }
img{ max-width:100%; }
.section-pad{ padding:90px 0; }
@media (max-width:767.98px){ .section-pad{ padding:56px 0; } }
.bg-cream{ background:var(--of-cream); }
.bg-black{ background:var(--of-black); }
.text-gold{ color:var(--of-gold) !important; }
.of-tracking{ letter-spacing:.15em; text-transform:uppercase; }

/* ---------- eyebrow / section headings ---------- */
.section-eyebrow{
  display:inline-block;
  font-size:13px;
  font-weight:600;
  letter-spacing:.25em;
  text-transform:uppercase;
  color:var(--of-gold);
  margin-bottom:10px;
}
.section-title{
  font-size:34px;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:8px;
}
.section-head{ margin-bottom:48px; }
.section-head.text-center{ max-width:640px; margin-left:auto; margin-right:auto; }
.section-sub{ color:var(--of-gray); }

/* ---------- buttons ---------- */
.btn-of{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:var(--of-black);
  color:#fff;
  border:1px solid var(--of-black);
  padding:14px 30px;
  font-size:13px;
  font-weight:600;
  letter-spacing:.15em;
  text-transform:uppercase;
  border-radius:var(--of-radius);
  transition:.25s ease;
}
.btn-of:hover{ background:transparent; color:var(--of-black); }
.btn-of-outline{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:transparent;
  color:var(--of-black);
  border:1px solid var(--of-black);
  padding:14px 30px;
  font-size:13px;
  font-weight:600;
  letter-spacing:.15em;
  text-transform:uppercase;
  border-radius:var(--of-radius);
  transition:.25s ease;
}
.btn-of-outline:hover{ background:var(--of-black); color:#fff; }
.btn-of-light{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#fff;
  color:var(--of-black);
  border:1px solid #fff;
  padding:14px 30px;
  font-size:13px;
  font-weight:600;
  letter-spacing:.15em;
  text-transform:uppercase;
  border-radius:var(--of-radius);
  transition:.25s ease;
}
.btn-of-light:hover{ background:transparent; color:#fff; }
.btn-of-sm{ padding:10px 22px; font-size:12px; }

/* ---------- PRO badge ---------- */
.pro-badge{
  display:inline-block;
  font-family:var(--of-font-body);
  font-size:9px;
  font-weight:700;
  letter-spacing:.08em;
  color:#fff;
  background:linear-gradient(135deg,var(--of-gold),#a97a2e);
  padding:2px 7px;
  border-radius:20px;
  margin-left:6px;
  vertical-align:middle;
  line-height:1.6;
}

/* ============ TOP BAR ============ */
.topbar{
  background:var(--of-black);
  color:#cfcfcf;
  font-size:12.5px;
  letter-spacing:.03em;
  padding:9px 0;
}
.topbar a{ color:#fff; font-weight:600; }
.topbar .topbar-links a{ color:#cfcfcf; font-weight:400; margin-left:18px; }
.topbar .topbar-links a:hover{ color:#fff; }

/* ============ HEADER ============ */
.site-header{
  background:#fff;
  padding:22px 0;
  border-bottom:1px solid var(--of-line);
  position:relative;
  z-index:1000;
}
.site-header.is-sticky{
  position:sticky; top:0;
  box-shadow:0 6px 24px rgba(0,0,0,.06);
  animation:ofSlideDown .35s ease;
}
@keyframes ofSlideDown{ from{ transform:translateY(-100%);} to{ transform:translateY(0);} }

.brand{
  font-family:var(--of-font-head);
  font-size:28px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--of-black);
}
.brand span{ color:var(--of-gold); }

.main-nav .nav-link{
  font-size:13.5px;
  font-weight:500;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:var(--of-black);
  padding:10px 16px !important;
}
.main-nav .nav-link:hover,
.main-nav .nav-link.active{ color:var(--of-gold); }

.main-nav .dropdown-menu{
  border:none;
  border-radius:var(--of-radius);
  box-shadow:0 20px 45px rgba(0,0,0,.12);
  padding:10px 0;
  margin-top:6px;
  min-width:230px;
}
.main-nav .dropdown-item{
  font-size:13.5px;
  padding:9px 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.main-nav .dropdown-item:hover{ background:var(--of-cream); color:var(--of-gold); }
.main-nav .dropdown-item .pro-badge{ margin-left:auto; }

.header-icons a{
  color:var(--of-black);
  font-size:19px;
  margin-left:20px;
  position:relative;
  display:inline-block;
}
.header-icons a:hover{ color:var(--of-gold); }
.icon-count{
  position:absolute; top:-8px; right:-10px;
  background:var(--of-black);
  color:#fff;
  font-size:10px;
  font-weight:700;
  width:17px; height:17px;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
}

/* ============ MOBILE OFFCANVAS NAV ============ */
.offcanvas-nav .offcanvas-header{ border-bottom:1px solid var(--of-line); }
.offcanvas-nav .nav-link{
  padding:12px 0 !important;
  border-bottom:1px solid var(--of-line);
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:14px;
}
.offcanvas-nav .dropdown-menu{ position:static !important; transform:none !important; box-shadow:none; border:none; background:var(--of-cream); }

/* ============ HERO ============ */
.hero{
  background:var(--of-cream);
  overflow:hidden;
}
.hero-copy{ padding:120px 0; }
.hero-tag{
  display:inline-block;
  font-size:12.5px;
  font-weight:600;
  letter-spacing:.25em;
  text-transform:uppercase;
  color:var(--of-gold);
  margin-bottom:16px;
}
.hero-title{
  font-size:56px;
  line-height:1.08;
  text-transform:uppercase;
  letter-spacing:.02em;
  margin-bottom:20px;
}
.hero-text{ color:var(--of-gray); max-width:420px; margin-bottom:30px; }
.hero-media{ position:relative; height:100%; min-height:420px; }
.hero-media img{
  position:absolute; bottom:0; left:50%; transform:translateX(-50%);
  max-height:640px; width:auto;
}
@media (max-width:991.98px){
  .hero-title{ font-size:38px; }
  .hero-media{ min-height:320px; }
  .hero-media img{ max-height:400px; }
}

/* ============ page banner (inner pages) ============ */
.page-banner{
  background:var(--of-cream);
  padding:70px 0 60px;
  text-align:center;
}
.page-banner h1{
  font-size:38px;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:12px;
}
.breadcrumb-of{
  display:flex; justify-content:center; gap:8px;
  font-size:13px; letter-spacing:.05em; text-transform:uppercase;
  color:var(--of-gray);
}
.breadcrumb-of a{ color:var(--of-gray); }
.breadcrumb-of a:hover{ color:var(--of-gold); }
.breadcrumb-of .sep{ color:#c9c2b6; }
.breadcrumb-of .current{ color:var(--of-black); font-weight:600; }

/* ============ USP strip ============ */
.usp-strip{ border-top:1px solid var(--of-line); border-bottom:1px solid var(--of-line); padding:34px 0; }
.usp-item{ display:flex; align-items:center; gap:16px; }
.usp-item i{ font-size:30px; color:var(--of-gold); }
.usp-item h6{ margin:0; font-size:14px; text-transform:uppercase; letter-spacing:.05em; }
.usp-item p{ margin:0; font-size:13px; color:var(--of-gray); }

/* ============ category cards ============ */
.cat-card{ position:relative; overflow:hidden; border-radius:var(--of-radius); display:block; }
.cat-card img{ width:100%; height:420px; object-fit:cover; transition:transform .5s ease; }
.cat-card:hover img{ transform:scale(1.06); }
.cat-card .cat-cap{
  position:absolute; left:0; right:0; bottom:0;
  padding:26px 20px;
  background:linear-gradient(0deg, rgba(0,0,0,.55), rgba(0,0,0,0));
  text-align:center;
}
.cat-card .cat-cap h5{ color:#fff; text-transform:uppercase; letter-spacing:.1em; margin-bottom:6px; }
.cat-card .cat-cap span{ color:var(--of-gold); font-size:12px; letter-spacing:.15em; text-transform:uppercase; font-weight:600; }

/* ============ promo banner ============ */
.promo-banner{ background:var(--of-cream-2); border-radius:var(--of-radius); overflow:hidden; position:relative; }
.promo-banner img{ width:100%; height:100%; object-fit:cover; min-height:320px; }
.promo-copy{ padding:40px; }
.promo-copy .hero-tag{ }
.promo-copy h2{ font-size:34px; text-transform:uppercase; line-height:1.15; margin-bottom:20px; }

/* ============ product filter tabs ============ */
.filter-tabs{ display:flex; gap:26px; list-style:none; padding:0; margin:0; }
.filter-tabs button{
  background:none; border:none; padding:6px 0;
  font-size:13px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  color:var(--of-gray); border-bottom:2px solid transparent;
}
.filter-tabs button.active,.filter-tabs button:hover{ color:var(--of-black); border-color:var(--of-gold); }

/* ============ product card ============ */
.product-card{ position:relative; }
.product-thumb{ position:relative; overflow:hidden; background:var(--of-cream); border-radius:var(--of-radius); }
.product-thumb img{ width:100%; height:340px; object-fit:cover; transition:.45s ease; }
.product-thumb .img-b{ position:absolute; inset:0; opacity:0; }
.product-card:hover .img-a{ opacity:0; }
.product-card:hover .img-b{ opacity:1; }
.product-badge{
  position:absolute; top:14px; left:14px;
  background:var(--of-black); color:#fff;
  font-size:11px; font-weight:600; letter-spacing:.05em;
  padding:4px 10px; border-radius:20px; z-index:2;
}
.product-badge.new{ background:var(--of-gold); }
.product-actions{
  position:absolute; top:14px; right:14px; z-index:2;
  display:flex; flex-direction:column; gap:8px;
  opacity:0; transform:translateX(8px); transition:.3s ease;
}
.product-card:hover .product-actions{ opacity:1; transform:translateX(0); }
.product-actions button{
  width:36px; height:36px; border-radius:50%; border:none;
  background:#fff; color:var(--of-black); font-size:15px;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 16px rgba(0,0,0,.12);
}
.product-actions button:hover{ background:var(--of-black); color:#fff; }
.product-quickadd{
  position:absolute; left:0; right:0; bottom:0; z-index:2;
  background:var(--of-black); color:#fff; text-align:center;
  font-size:12px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  padding:11px; transform:translateY(100%); transition:.3s ease; border:none; width:100%;
}
.product-card:hover .product-quickadd{ transform:translateY(0); }
.product-info{ padding-top:16px; text-align:left; }
.product-info .cat{ font-size:11.5px; color:var(--of-gray); text-transform:uppercase; letter-spacing:.08em; }
.product-info h6{ font-size:14.5px; margin:4px 0 6px; }
.product-info h6 a{ color:var(--of-black); }
.product-rating{ color:var(--of-gold); font-size:12px; margin-bottom:6px; }
.product-price .old{ color:#b7b0a2; text-decoration:line-through; margin-right:8px; font-size:13px; }
.product-price .now{ font-weight:600; }

/* ============ collection split banners ============ */
.split-banner{ position:relative; border-radius:var(--of-radius); overflow:hidden; min-height:230px; display:flex; align-items:center; }
.split-banner img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.split-banner::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.15) 60%, rgba(0,0,0,0) 100%); z-index:1; }
.split-banner .split-copy{ position:relative; z-index:2; padding:34px; color:#fff; }
.split-banner .split-copy span{ font-size:11.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--of-gold); font-weight:600; }
.split-banner .split-copy h4{ color:#fff; text-transform:uppercase; font-size:24px; margin:8px 0 18px; }

/* ============ testimonials ============ */
.testi-avatars{ display:flex; justify-content:center; gap:14px; margin-bottom:30px; }
.testi-avatars img{ width:52px; height:52px; border-radius:50%; object-fit:cover; opacity:.45; cursor:pointer; border:2px solid transparent; transition:.25s ease; }
.testi-avatars img.active{ opacity:1; border-color:var(--of-gold); transform:scale(1.08); }
.testi-quote{ max-width:660px; margin:0 auto; text-align:center; }
.testi-quote p{ font-size:19px; font-style:italic; color:var(--of-black); margin-bottom:14px; }
.testi-quote .stars{ color:var(--of-gold); letter-spacing:2px; }
.testi-quote .name{ font-weight:600; text-transform:uppercase; letter-spacing:.08em; font-size:13px; margin-top:10px; }

/* ============ blog card ============ */
.blog-card{ background:#fff; }
.blog-card .thumb{ overflow:hidden; border-radius:var(--of-radius); margin-bottom:20px; }
.blog-card .thumb img{ width:100%; height:230px; object-fit:cover; transition:.5s ease; }
.blog-card:hover .thumb img{ transform:scale(1.07); }
.blog-meta{ font-size:12px; color:var(--of-gray); letter-spacing:.05em; text-transform:uppercase; margin-bottom:8px; }
.blog-meta i{ color:var(--of-gold); margin-right:4px; }
.blog-card h5{ font-size:17px; margin-bottom:10px; }
.blog-card h5 a{ color:var(--of-black); }
.blog-card p{ color:var(--of-gray); font-size:13.5px; }
.read-more{ font-size:12.5px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; border-bottom:1px solid var(--of-black); padding-bottom:3px; }
.read-more:hover{ border-color:var(--of-gold); }

/* ============ instagram strip ============ */
.insta-item{ position:relative; overflow:hidden; display:block; }
.insta-item img{ width:100%; height:190px; object-fit:cover; transition:.4s ease; }
.insta-item .insta-hover{ position:absolute; inset:0; background:rgba(24,24,24,.55); display:flex; align-items:center; justify-content:center; opacity:0; transition:.3s ease; color:#fff; font-size:20px; }
.insta-item:hover img{ transform:scale(1.1); }
.insta-item:hover .insta-hover{ opacity:1; }

/* ============ newsletter ============ */
.newsletter{ background:var(--of-black); color:#fff; text-align:center; padding:70px 0; }
.newsletter h3{ color:#fff; text-transform:uppercase; letter-spacing:.06em; margin-bottom:10px; font-size:28px; }
.newsletter p{ color:#b9b9b9; margin-bottom:28px; }
.newsletter-form{ max-width:480px; margin:0 auto; display:flex; background:#fff; border-radius:var(--of-radius); overflow:hidden; }
.newsletter-form input{ flex:1; border:none; padding:0 18px; font-size:14px; }
.newsletter-form button{ border:none; background:var(--of-gold); color:#fff; padding:0 26px; font-size:12.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }

/* ============ footer ============ */
.site-footer{ background:#101010; color:#a9a9a9; padding-top:70px; font-size:13.5px; }
.site-footer h6{ color:#fff; text-transform:uppercase; letter-spacing:.1em; font-size:14px; margin-bottom:22px; }
.site-footer .brand{ color:#fff; }
.site-footer p{ color:#8f8f8f; }
.footer-links{ list-style:none; padding:0; margin:0; }
.footer-links li{ margin-bottom:12px; }
.footer-links a{ color:#a9a9a9; }
.footer-links a:hover{ color:var(--of-gold); }
.footer-contact li{ display:flex; gap:10px; margin-bottom:14px; color:#a9a9a9; }
.footer-contact i{ color:var(--of-gold); margin-top:3px; }
.social-icons{ display:flex; gap:10px; margin-top:20px; }
.social-icons a{
  width:36px; height:36px; border-radius:50%;
  border:1px solid #333; color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:14px;
}
.social-icons a:hover{ background:var(--of-gold); border-color:var(--of-gold); }
.footer-bottom{ border-top:1px solid #262626; margin-top:50px; padding:22px 0; font-size:12.5px; }
.footer-bottom a{ color:#fff; font-weight:600; }
.footer-bottom a:hover{ color:var(--of-gold); }

/* ============ back to top ============ */
.back-to-top{
  position:fixed; right:24px; bottom:24px; z-index:999;
  width:44px; height:44px; border-radius:50%;
  background:var(--of-black); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:16px; opacity:0; visibility:hidden; transform:translateY(10px);
  transition:.3s ease; border:none;
}
.back-to-top.show{ opacity:1; visibility:visible; transform:translateY(0); }
.back-to-top:hover{ background:var(--of-gold); }

/* ============ sidebar widgets (shop / blog) ============ */
.widget{ margin-bottom:38px; padding-bottom:38px; border-bottom:1px solid var(--of-line); }
.widget:last-child{ border-bottom:none; }
.widget-title{ font-size:16px; text-transform:uppercase; letter-spacing:.06em; margin-bottom:20px; }
.widget .form-check{ margin-bottom:10px; }
.widget .form-check-label{ font-size:13.5px; color:var(--of-gray); display:flex; justify-content:space-between; width:100%; }
.color-swatches{ display:flex; gap:8px; flex-wrap:wrap; }
.color-swatches span{ width:24px; height:24px; border-radius:50%; display:inline-block; cursor:pointer; border:2px solid #fff; box-shadow:0 0 0 1px var(--of-line); }
.color-swatches span.active{ box-shadow:0 0 0 2px var(--of-gold); }
.widget-post{ display:flex; gap:14px; margin-bottom:16px; }
.widget-post img{ width:70px; height:70px; object-fit:cover; border-radius:var(--of-radius); }
.widget-post h6{ font-size:13px; margin-bottom:4px; }
.widget-post span{ font-size:11.5px; color:var(--of-gray); }
.tag-list a{
  display:inline-block; border:1px solid var(--of-line); padding:6px 16px;
  font-size:12px; text-transform:uppercase; letter-spacing:.05em; margin:0 6px 10px 0; border-radius:20px;
}
.tag-list a:hover{ background:var(--of-black); color:#fff; border-color:var(--of-black); }

/* ============ pagination ============ */
.pagination-of{ display:flex; gap:8px; list-style:none; padding:0; margin:0; }
.pagination-of a{
  width:40px; height:40px; border-radius:50%;
  border:1px solid var(--of-line);
  display:flex; align-items:center; justify-content:center;
  font-size:13px; font-weight:600;
}
.pagination-of a.active,.pagination-of a:hover{ background:var(--of-black); color:#fff; border-color:var(--of-black); }

/* ============ shop toolbar ============ */
.shop-toolbar{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-bottom:34px; padding-bottom:22px; border-bottom:1px solid var(--of-line); }
.shop-toolbar .form-select{ border-radius:var(--of-radius); font-size:13px; border-color:var(--of-line); }

/* ============ product detail ============ */
.pd-thumb-main{ border-radius:var(--of-radius); overflow:hidden; background:var(--of-cream); margin-bottom:14px; }
.pd-thumb-main img{ width:100%; height:560px; object-fit:cover; }
.pd-thumbs{ display:flex; gap:12px; }
.pd-thumbs img{ width:84px; height:100px; object-fit:cover; border-radius:var(--of-radius); cursor:pointer; border:2px solid transparent; }
.pd-thumbs img.active{ border-color:var(--of-gold); }
.pd-title{ font-size:28px; text-transform:uppercase; margin-bottom:10px; }
.pd-price{ font-size:24px; font-weight:600; margin:14px 0; }
.pd-price .old{ text-decoration:line-through; color:#b7b0a2; font-weight:400; font-size:17px; margin-right:10px; }
.pd-swatch{ width:30px; height:30px; border-radius:50%; display:inline-block; cursor:pointer; box-shadow:0 0 0 1px var(--of-line); border:2px solid #fff; }
.pd-swatch.active{ box-shadow:0 0 0 2px var(--of-gold); }
.size-box{
  width:44px; height:44px; border:1px solid var(--of-line); border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  font-size:12.5px; font-weight:600; cursor:pointer;
}
.size-box.active,.size-box:hover{ background:var(--of-black); color:#fff; border-color:var(--of-black); }
.qty-box{ display:inline-flex; align-items:center; border:1px solid var(--of-line); border-radius:var(--of-radius); }
.qty-box button{ width:40px; height:46px; border:none; background:none; font-size:16px; }
.qty-box input{ width:44px; text-align:center; border:none; font-weight:600; }
.pd-meta li{ font-size:13px; color:var(--of-gray); margin-bottom:8px; }
.pd-meta b{ color:var(--of-black); font-weight:600; width:110px; display:inline-block; }
.nav-tabs.of-tabs{ border-bottom:1px solid var(--of-line); }
.nav-tabs.of-tabs .nav-link{ border:none; font-size:13.5px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--of-gray); padding:12px 26px; }
.nav-tabs.of-tabs .nav-link.active{ color:var(--of-black); border-bottom:2px solid var(--of-gold); background:none; }

/* ============ cart / checkout ============ */
.table-cart th{ text-transform:uppercase; font-size:12px; letter-spacing:.08em; color:var(--of-gray); border-top:none; padding-bottom:16px; }
.table-cart td{ vertical-align:middle; padding:20px 10px; border-color:var(--of-line); }
.cart-prod{ display:flex; align-items:center; gap:16px; }
.cart-prod img{ width:80px; height:96px; object-fit:cover; border-radius:var(--of-radius); }
.cart-remove{ color:#c0392b; font-size:16px; }
.summary-box{ background:var(--of-cream); padding:32px; border-radius:var(--of-radius); }
.summary-box .row{ margin-bottom:14px; font-size:14px; }
.summary-box .total-row{ border-top:1px solid var(--of-line); margin-top:14px; padding-top:18px; font-size:18px; font-weight:700; }
.checkout-form label{ font-size:13px; text-transform:uppercase; letter-spacing:.04em; margin-bottom:6px; font-weight:500; }
.checkout-form .form-control,.checkout-form .form-select{ border-radius:var(--of-radius); border-color:var(--of-line); padding:11px 14px; font-size:14px; margin-bottom:18px; }
.checkout-form .form-control:focus,.checkout-form .form-select:focus{ border-color:var(--of-gold); box-shadow:0 0 0 3px rgba(201,151,78,.15); }

/* ============ contact ============ */
.contact-card{ text-align:center; padding:40px 28px; border:1px solid var(--of-line); border-radius:var(--of-radius); height:100%; }
.contact-card i{ font-size:30px; color:var(--of-gold); margin-bottom:16px; display:block; }
.contact-card h6{ text-transform:uppercase; letter-spacing:.05em; margin-bottom:10px; }
.contact-card p{ color:var(--of-gray); margin:0; font-size:13.5px; }
.contact-form .form-control,.contact-form .form-select,.contact-form textarea{ border-radius:var(--of-radius); border-color:var(--of-line); padding:13px 16px; font-size:14px; margin-bottom:20px; }
.contact-form .form-control:focus,.contact-form textarea:focus{ border-color:var(--of-gold); box-shadow:0 0 0 3px rgba(201,151,78,.15); }
.map-frame{ border-radius:var(--of-radius); overflow:hidden; filter:grayscale(35%); }
.map-frame iframe{ width:100%; height:420px; border:0; display:block; }
.form-msg{ display:none; padding:14px 18px; border-radius:var(--of-radius); font-size:13.5px; margin-bottom:20px; }
.form-msg.ok{ background:#e7f6ec; color:#1e7a3d; display:block; }
.form-msg.err{ background:#fbeaea; color:#b3261e; display:block; }

/* ============ about page ============ */
.stat-box{ text-align:center; }
.stat-box h3{ font-size:42px; color:var(--of-gold); margin-bottom:4px; }
.stat-box span{ font-size:12.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--of-gray); }
.team-card{ text-align:center; }
.team-card .thumb{ border-radius:var(--of-radius); overflow:hidden; margin-bottom:18px; }
.team-card img{ width:100%; height:320px; object-fit:cover; }
.team-card h6{ text-transform:uppercase; letter-spacing:.06em; margin-bottom:4px; }
.team-card span{ font-size:12.5px; color:var(--of-gray); }

/* ============ wishlist ============ */
.table-wishlist th{ text-transform:uppercase; font-size:12px; letter-spacing:.08em; color:var(--of-gray); border-top:none; padding-bottom:16px; }
.table-wishlist td{ vertical-align:middle; padding:20px 10px; border-color:var(--of-line); }

/* ============ 404 ============ */
.error-page{ text-align:center; padding:120px 0; }
.error-page h1{ font-size:150px; color:var(--of-cream-2); font-weight:700; line-height:1; margin-bottom:0; }
.error-page h2{ text-transform:uppercase; letter-spacing:.06em; margin-bottom:16px; }
.error-page p{ color:var(--of-gray); max-width:420px; margin:0 auto 30px; }
@media (max-width:575.98px){ .error-page h1{ font-size:96px; } }

/* ============ blog single ============ */
.blog-single img.cover{ width:100%; height:440px; object-fit:cover; border-radius:var(--of-radius); margin-bottom:34px; }
.blog-single .article-meta{ display:flex; gap:22px; flex-wrap:wrap; font-size:13px; color:var(--of-gray); text-transform:uppercase; letter-spacing:.04em; margin-bottom:18px; }
.blog-single .article-meta i{ color:var(--of-gold); margin-right:5px; }
.blog-single h2,.blog-single h3{ text-transform:none; letter-spacing:0; margin:30px 0 16px; }
.blog-single blockquote{ border-left:3px solid var(--of-gold); padding:6px 26px; font-style:italic; font-size:18px; margin:30px 0; color:#333; }
.share-links{ display:flex; align-items:center; gap:10px; margin-top:34px; }
.share-links a{ width:38px; height:38px; border:1px solid var(--of-line); border-radius:50%; display:flex; align-items:center; justify-content:center; }
.share-links a:hover{ background:var(--of-black); color:#fff; border-color:var(--of-black); }
.comment-item{ display:flex; gap:18px; margin-bottom:30px; }
.comment-item img{ width:60px; height:60px; border-radius:50%; object-fit:cover; }
.comment-item h6{ margin-bottom:2px; }
.comment-item span{ font-size:12px; color:var(--of-gray); }
.comment-item .reply-btn{ font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.05em; }

/* ============ misc ============ */
/* Visible by default so content never stays hidden if JS fails to load.
   JS adds .reveal-ready (hidden state) on init, then .in when scrolled into view. */
.reveal{ transition:.7s cubic-bezier(.22,.9,.32,1); }
.reveal.reveal-ready{ opacity:0; transform:translateY(24px); }
.reveal.reveal-ready.in{ opacity:1; transform:translateY(0); }
