/*
	Theme Name: Hello Elementor
	Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
	Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
	Author: Elementor Team
	Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
	Version: 3.4.9
	Stable tag: 3.4.9
	Requires at least: 6.0
	Tested up to: 6.8
	Requires PHP: 7.4
	License: GNU General Public License v3 or later.
	License URI: https://www.gnu.org/licenses/gpl-3.0.html
	Text Domain: hello-elementor
	Tags: accessibility-ready, flexible-header, custom-colors, custom-menu, custom-logo, featured-images, rtl-language-support, threaded-comments, translation-ready,
*/
:root{
  --claret: #7A1F2B;
  --claret-dark: #4A1017;
  --navy: #141C30;
  --gold: #C6A15B;
  --gold-light: #E4CE9C;
  --cream: #FBF6EE;
  --ink: #2A211D;
  --line: rgba(122,31,43,0.14);
}

.samcc-header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 40px;
  background:rgba(251,246,238,0.95);
  backdrop-filter:blur(8px);
  transition:background .3s ease, padding .3s ease, box-shadow .3s ease;
}
.samcc-header.scrolled{
  background:rgba(251,246,238,0.98);
  backdrop-filter:blur(8px);
  padding:10px 40px;
  box-shadow:0 2px 20px rgba(0,0,0,0.06);
}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none;}
.brand-mark{
  width:56px; height:56px; border-radius:50%;
  background:var(--claret); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-family:'Fraunces',serif; font-weight:700; font-size:1.05rem;
  border:2px solid var(--gold); flex-shrink:0;
}
.brand-mark--logo{
  background:none;
  border:none;
}
.brand-mark--logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:50%; /* remove this line if your logo file isn't meant to be circular */
}
.brand-text{
  font-family:'Fraunces',serif; font-weight:600; font-size:0.98rem;
  line-height:1.2; color:var(--navy); transition:color .3s ease;
}
.brand-text span{display:block; font-family:'Inter',sans-serif; font-weight:600; font-size:0.62rem; letter-spacing:0.12em; color:var(--gold); text-transform:uppercase; margin-top:2px;}

.navwrap{display:flex; align-items:center; gap:36px;}
.mainnav{display:flex; align-items:center; gap:34px;}
.mainnav a.navlink{
  font-size:0.86rem; font-weight:600; color:var(--ink); text-decoration:none;
  position:relative; padding:4px 0; transition:color .3s ease;
}
.mainnav a.navlink:not(.system-btn)::after{
  content:''; position:absolute; left:0; bottom:-2px; height:2px; width:0;
  background:var(--gold); transition:width .25s ease;
}
.mainnav a.navlink:not(.system-btn):hover::after{width:100%;}

.navlink.system-btn{
  padding:7px 16px;
  border-radius:20px;
  font-size:0.78rem !important;
  display:inline-flex; align-items:center; gap:6px;
}
.navlink.system-btn svg{width:13px; height:13px; flex-shrink:0;}
.navlink.system-btn:hover{background:var(--gold); color:var(--navy) !important;}

.hamburger{display:none; flex-direction:column; gap:5px; cursor:pointer; z-index:200;}
.hamburger span{width:26px; height:2px; background:var(--navy); transition:.3s;}

.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:14px 30px; border-radius:2px; font-weight:600; font-size:0.92rem;
  cursor:pointer; border:1.5px solid transparent; transition:all .25s ease;
  white-space:nowrap; text-decoration:none;
}
.btn-primary{background:var(--claret); color:#fff;}
.btn-primary:hover{background:var(--claret-dark); transform:translateY(-1px);}

.float-apply{
  position:fixed; bottom:22px; right:22px; z-index:150;
  box-shadow:0 10px 30px rgba(122,31,43,0.4); display:none;
}

.samcc-footer{background:var(--navy); color:rgba(255,255,255,0.7); padding:70px 40px 30px;}
.footer-grid{max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:40px;}
.footer-brand{display:flex; gap:12px; align-items:center; margin-bottom:16px;}
.footer-brand .brand-text{color:#fff;}
.footer-logo{
  width:68px;
  height:68px;
}
.samcc-footer h5{color:var(--gold-light); font-size:0.78rem; text-transform:uppercase; letter-spacing:0.1em; margin-bottom:18px; font-family:'Inter',sans-serif; font-weight:700;}
.samcc-footer p, .samcc-footer a{font-size:0.86rem; color:rgba(255,255,255,0.65); line-height:1.8; text-decoration:none;}
.samcc-footer a:hover{color:var(--gold-light);}
.footer-col ul{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px;}
.footer-bottom{
  max-width:1200px; margin:50px auto 0; padding-top:24px; border-top:1px solid rgba(255,255,255,0.12);
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:0.78rem; color:rgba(255,255,255,0.5);
}

@media (max-width: 720px){
  .samcc-header{padding:14px 20px;}
  .mainnav{
    position:fixed; top:0; right:-100%; height:100vh; width:78%; max-width:320px;
    background:var(--navy); flex-direction:column; align-items:flex-start; justify-content:flex-start;
    padding:100px 30px; gap:26px; transition:right .35s ease;
  }
  .mainnav.open{right:0;}
  .mainnav a.navlink{color:#fff !important; font-size:1rem;}
  .mainnav a.navlink.system-btn{font-size:0.85rem !important;}
  .hamburger{display:flex;}
  .navwrap > .btn-primary{display:none;}
  .float-apply{display:inline-flex;}
  .footer-grid{grid-template-columns:1fr 1fr; row-gap:34px;}
}

/* Push all page content down so the fixed header doesn't cover it */
body{
  padding-top: 88px;
}
@media (max-width: 720px){
  body{ padding-top: 70px; }
}

/* When logged in, WordPress adds a fixed 32px admin bar at top:0 —
   move our header below it so they don't overlap */
body.admin-bar .samcc-header{
  top: 32px;
}
body.admin-bar{
  padding-top: 120px; /* header height + admin bar height */
}
@media screen and (max-width: 782px){
  body.admin-bar .samcc-header{ top: 46px; } /* WP's mobile admin bar is taller */
  body.admin-bar{ padding-top: 134px; }
}
@media screen and (max-width: 720px){
  body.admin-bar{ padding-top: 116px; }
}

/* Prevent any horizontal overflow site-wide */
html, body{
  overflow-x: hidden;
  max-width: 100%;
}

/* Fix footer grid overflow: allow columns to shrink instead of
   forcing the grid wider than the viewport */
.footer-grid{
  width: 100%;
  box-sizing: border-box;
  padding-left: 40px;
  padding-right: 40px;
}
.footer-col{
  min-width: 0; /* lets long text/emails wrap instead of forcing overflow */
}
.footer-col p,
.footer-col li,
.footer-col a{
  word-break: break-word;
  overflow-wrap: break-word;
}
@media (max-width: 720px){
  .footer-grid{
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* Hide Hello Elementor's default page title bar
   (this only hides the visual header — the page title itself
   stays intact in the Dashboard for SEO, menus, browser tab, etc.) */
.page-header,
.page-title,
.entry-title,
.entry-header,
header.entry-header,
.elementor-page-title,
h1.entry-title {
  display: none !important;
}