@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";
:root{--primary-navy:#0b192c;--primary-blue:#1e3e62;--accent-gold:#f1c40f;--accent-gold-hover:#d4ac0d;--text-dark:#1f2e3d;--text-light:#f5f7fa;--text-gray:#6a7b8c;--bg-light:#fff;--bg-soft:#f4f6f9;--bg-navy-dark:#07101c;--border-color:#e2e8f0;--shadow-sm:0 2px 4px #0b192c0d;--shadow-md:0 10px 15px -3px #0b192c14, 0 4px 6px -2px #0b192c08;--shadow-lg:0 20px 25px -5px #0b192c1f, 0 10px 10px -5px #0b192c0a;--shadow-gold:0 4px 14px 0 #f1c40f4d;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--transition-smooth:all .3s cubic-bezier(.4, 0, .2, 1);--font-heading:"Outfit", sans-serif;--font-body:"Plus Jakarta Sans", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg-soft);color:var(--text-dark);font-family:var(--font-body);scroll-behavior:smooth;font-size:16px;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--primary-navy);font-weight:700;line-height:1.25}a{color:var(--primary-blue);transition:var(--transition-smooth);text-decoration:none}a:hover{color:var(--accent-gold)}.container{max-width:1200px;margin:0 auto;padding:0 24px}.section{padding:80px 0}.section-dark{background:var(--primary-navy);color:var(--text-light)}.section-dark h2,.section-dark h3{color:#fff}.header-top{background:var(--primary-navy);color:var(--text-light);border-bottom:1px solid #ffffff1a;padding:8px 0;font-size:13px}.header-top-content{justify-content:space-between;align-items:center;display:flex}.header-top-info{gap:20px;display:flex}@media (max-width:768px){.header-top-content{text-align:center;flex-direction:column;justify-content:center;gap:8px}.header-top-info{flex-wrap:wrap;justify-content:center;gap:10px}.header-top-info span:nth-child(3),.header-top-content>div:last-child{display:none}}.header-main{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm);background:#fffffff2;padding:8px 0;position:sticky;top:0}.header-main-content{justify-content:space-between;align-items:center;display:flex}.logo-container{align-items:center;gap:12px;display:flex}.logo-text{font-family:var(--font-heading);color:var(--primary-navy);font-size:24px;font-weight:800}.logo-text span{color:var(--accent-gold)}.nav-links{gap:28px;list-style:none;display:flex}.nav-link{color:var(--text-dark);padding:6px 0;font-size:15px;font-weight:600;position:relative}.nav-link:after{content:"";background:var(--accent-gold);width:0;height:2px;transition:var(--transition-smooth);position:absolute;bottom:0;left:0}.nav-link:hover{color:var(--primary-blue)}.nav-link:hover:after{width:100%}.nav-link-active{color:var(--primary-blue)}.nav-link-active:after{width:100%}.btn{border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-smooth);border:2px solid #0000;justify-content:center;align-items:center;padding:12px 28px;font-size:15px;font-weight:600;display:inline-flex}.btn-primary{background:var(--accent-gold);color:var(--primary-navy);box-shadow:var(--shadow-gold)}.btn-primary:hover{background:var(--accent-gold-hover);transform:translateY(-2px);box-shadow:0 6px 20px #f1c40f73}.btn-secondary{background:var(--primary-navy);color:#fff}.btn-secondary:hover{background:var(--primary-blue);transform:translateY(-2px)}.btn-outline{border-color:var(--primary-navy);color:var(--primary-navy);background:0 0}.btn-outline:hover{background:var(--primary-navy);color:#fff;transform:translateY(-2px)}.btn-outline-white{color:#fff;background:0 0;border-color:#fff}.btn-outline-white:hover{color:var(--primary-navy);background:#fff;transform:translateY(-2px)}.hero{background:linear-gradient(135deg, var(--primary-navy) 0%, var(--primary-blue) 100%);color:#fff;padding:100px 0 120px;position:relative;overflow:hidden}.hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#f1c40f26 0%,#f1c40f00 70%);width:500px;height:500px;position:absolute;top:50%;left:80%;transform:translate(-50%,-50%)}.hero-content{z-index:2;max-width:700px;position:relative}.hero h1{color:#fff;margin-bottom:24px;font-size:52px;line-height:1.15}.hero h1 span{color:var(--accent-gold)}.hero p{color:#ffffffd9;max-width:600px;margin-bottom:36px;font-size:19px}.hero-btns{flex-wrap:wrap;gap:16px;display:flex}.section-title-wrapper{text-align:center;max-width:700px;margin-bottom:50px;margin-left:auto;margin-right:auto}.section-title{margin-bottom:12px;font-size:38px}.section-subtitle{color:var(--text-gray);font-size:16px}.products-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:30px;display:grid}.product-card{background:var(--bg-light);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);height:100%;transition:var(--transition-smooth);flex-direction:column;padding:30px;display:flex}.product-card:hover{box-shadow:var(--shadow-lg);border-color:#1e3e6233;transform:translateY(-8px)}.product-card-img-wrapper{border-radius:var(--radius-md);cursor:pointer;width:100%;height:180px;margin-bottom:20px;display:block;overflow:hidden}.product-card-img-wrapper img{object-fit:cover;width:100%;height:100%;transition:var(--transition-smooth)}.product-card:hover .product-card-img-wrapper img{transform:scale(1.05)}.product-card-icon{background:var(--bg-soft);border-radius:var(--radius-md);width:56px;height:56px;color:var(--primary-blue);transition:var(--transition-smooth);justify-content:center;align-items:center;margin-bottom:20px;font-size:24px;display:flex}.product-card:hover .product-card-icon{background:var(--primary-navy);color:var(--accent-gold)}.product-card h3{margin-bottom:12px;font-size:22px}.product-card p{color:var(--text-gray);white-space:pre-wrap;flex-grow:1;margin-bottom:24px;font-size:15px}.product-card-link{align-items:center;gap:8px;font-size:15px;font-weight:700;display:inline-flex}.product-card-link svg{transition:var(--transition-smooth)}.product-card:hover .product-card-link svg{transform:translate(4px)}.bc-focus-section{color:#fff;text-align:center;background-image:linear-gradient(#0b192ce6,#0b192ce6),url(/images/bg-canada-landscape.png);background-position:50%;background-size:cover;padding:100px 0}.bc-focus-content{max-width:800px;margin:0 auto}.bc-focus-content h2{color:#fff;margin-bottom:20px;font-size:40px}.bc-focus-content p{color:#ffffffe6;margin-bottom:30px;font-size:18px}.bc-cities-list{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px;display:flex}.bc-city-tag{color:var(--accent-gold);background:#ffffff1a;border:1px solid #fff3;border-radius:50px;padding:6px 16px;font-size:14px;font-weight:600}.product-detail-layout{grid-template-columns:1fr 400px;align-items:start;gap:40px;display:grid}@media (max-width:991px){.product-detail-layout{grid-template-columns:1fr;gap:20px}}.product-content-block{background:var(--bg-light);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);padding:40px;overflow-x:hidden}@media (max-width:768px){.product-content-block{padding:20px}}.product-content-block h2{margin:30px 0 16px;font-size:28px}.product-content-block h2:first-of-type{margin-top:0}.product-content-block p{color:var(--text-dark);white-space:pre-wrap;word-break:break-word;margin-bottom:20px;font-size:16px}.product-features-list{margin:24px 0;list-style:none}.product-features-list li{margin-bottom:12px;padding-left:28px;font-size:15px;position:relative}.product-features-list li:before{content:"✓";color:var(--accent-gold);font-size:18px;font-weight:900;position:absolute;top:0;left:0}.quote-form-card{background:var(--bg-light);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-md);padding:30px;position:sticky;top:100px}.form-title{margin-bottom:6px;font-size:22px}.form-subtitle{color:var(--text-gray);margin-bottom:24px;font-size:13px}.form-group{margin-bottom:18px}.form-group label{color:var(--text-dark);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.form-control{width:100%;font-size:14px;font-family:var(--font-body);border:1.5px solid var(--border-color);border-radius:var(--radius-sm);transition:var(--transition-smooth);background:#fff;padding:10px 14px}.form-control:focus{border-color:var(--primary-blue);outline:none;box-shadow:0 0 0 3px #1e3e6226}textarea.form-control{resize:vertical;min-height:80px}.form-submit-btn{width:100%;margin-top:10px}.form-success-message{color:#117864;border-radius:var(--radius-sm);text-align:center;background:#e8f8f5;border:1px solid #a3e4d7;margin-top:20px;padding:16px;font-size:14px}.form-error-message{color:#922b21;border-radius:var(--radius-sm);text-align:center;background:#fdedec;border:1px solid #f9d5d3;margin-top:20px;padding:16px;font-size:14px}.admin-layout{grid-template-columns:240px 1fr;min-height:calc(100vh - 120px);display:grid}@media (max-width:768px){.admin-layout{grid-template-columns:1fr}}.admin-sidebar{background:var(--primary-navy);color:#fff;flex-direction:column;gap:12px;padding:30px 20px;display:flex}.admin-nav-btn{color:#ffffffb3;border-radius:var(--radius-sm);text-align:left;cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;padding:12px 16px;font-size:14px;font-weight:600}.admin-nav-btn:hover,.admin-nav-btn-active{color:var(--accent-gold);background:#ffffff1a}.admin-content{background:var(--bg-soft);padding:40px}@media (max-width:576px){.admin-content{padding:20px}}.admin-card{border-radius:var(--radius-md);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);background:#fff;margin-bottom:30px;padding:30px}.admin-table{border-collapse:collapse;width:100%;margin-top:20px;font-size:14px}.admin-table th{background:var(--primary-navy);color:#fff;text-align:left;padding:12px 16px;font-weight:600}.admin-table td{border-bottom:1px solid var(--border-color);padding:14px 16px}.admin-table tr:hover td{background:var(--bg-soft)}.status-badge{text-transform:uppercase;border-radius:50px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-block}.status-badge-new{color:#2980b9;background:#ebf5fb}.status-badge-completed{color:#117864;background:#e8f8f5}.status-badge-archived{color:#7f8c8d;background:#eaecee}.admin-login-wrapper{border-radius:var(--radius-lg);border:1px solid var(--border-color);max-width:400px;box-shadow:var(--shadow-lg);background:#fff;margin:100px auto;padding:40px}.footer{background:var(--primary-navy);color:#ffffffb3;border-top:4px solid var(--accent-gold);padding:60px 0 30px}.footer-grid{grid-template-columns:2fr 1fr 1fr;gap:40px;margin-bottom:40px;display:grid}.footer-grid-4{grid-template-columns:2fr 1.2fr 1.2fr 1.2fr}.footer-grid-2{grid-template-columns:1.5fr 1fr}@media (max-width:991px){.footer-grid-4,.footer-grid-2{grid-template-columns:1fr 1fr}}@media (max-width:768px){.footer-grid,.footer-grid-4,.footer-grid-2{grid-template-columns:1fr;gap:30px}}.footer-col h3{color:#fff;margin-bottom:20px;font-size:18px}.footer-col p{font-size:14px;line-height:1.7}.footer-links{list-style:none}.footer-links li{margin-bottom:10px}.footer-links a{color:#ffffffb3;font-size:14px}.footer-links a:hover{color:var(--accent-gold);padding-left:4px}.footer-bottom{border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding-top:30px;font-size:13px;display:flex}@media (max-width:576px){.footer-bottom{text-align:center;flex-direction:column;gap:10px}}.flagshop-partner-badge{border-radius:var(--radius-sm);color:#fff;background:#ffffff0d;border:1px solid #ffffff1a;align-items:center;gap:8px;padding:8px 16px;font-size:12px;display:inline-flex}.flagshop-partner-badge span{color:var(--accent-gold);font-weight:700}.gallery-nav-btn{transition:var(--transition-smooth)}.gallery-nav-btn:hover{background:var(--primary-navy)!important;color:var(--accent-gold)!important;transform:translateY(-50%)scale(1.1)!important}.lightbox-nav-btn{transition:var(--transition-smooth)}.lightbox-nav-btn:hover{background:#ffffff40!important;transform:translateY(-50%)scale(1.1)!important}.footer-region-btn-group{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.footer-region-btn{border-radius:var(--radius-sm);background:#ffffff0f;border:1px solid #ffffff1f;padding:6px 12px;font-weight:500;text-decoration:none;transition:all .2s ease-in-out;display:inline-block;color:#fffc!important;font-size:12px!important}.footer-region-btn:hover{background:#ffffff26;border-color:#ffffff40;transform:translateY(-1px);color:#fff!important;padding-left:12px!important}.footer-region-btn-gold{background:#f1c40f1f;border-color:#f1c40f59;font-weight:700;color:var(--accent-gold)!important}.footer-region-btn-gold:hover{border-color:var(--accent-gold);background:#f1c40f38;color:#fff!important}.nav-item-dropdown{position:relative}.dropdown-menu{border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:1000;opacity:0;pointer-events:none;min-width:270px;transition:var(--transition-smooth);background:#fff;padding:12px;display:none;position:absolute;top:100%;left:50%;transform:translate(-50%)translateY(10px)}.nav-item-dropdown:hover .dropdown-menu{opacity:1;pointer-events:auto;display:block;transform:translate(-50%)translateY(0)}.dropdown-item{border-radius:var(--radius-sm);transition:var(--transition-smooth);white-space:nowrap;padding:8px 16px;font-size:14px;font-weight:500;display:block;color:var(--text-dark)!important}.dropdown-item:hover{background:var(--bg-soft);color:var(--primary-blue)!important}.dropdown-item-active{background:#1e3e6214;font-weight:700;color:var(--primary-blue)!important}.dropdown-section-title{text-transform:uppercase;color:var(--text-gray);letter-spacing:.5px;padding:6px 16px 2px;font-size:11px;font-weight:800}.dropdown-caret{vertical-align:middle;margin-left:4px;font-size:10px;transition:transform .2s;display:inline-block}.nav-item-dropdown:hover .dropdown-caret{transform:rotate(180deg)}.hamburger-btn{color:var(--primary-navy);cursor:pointer;z-index:200;background:0 0;border:none;padding:4px 8px;font-size:28px;display:none}@media (max-width:768px){.nav-links,.header-main-content .btn-primary{display:none!important}.hamburger-btn{display:block!important}}.mobile-nav-overlay{z-index:150;background:#fff;flex-direction:column;width:100vw;height:100vh;padding:100px 30px 40px;animation:.25s cubic-bezier(.4,0,.2,1) slideInMobile;display:flex;position:fixed;top:0;left:0;overflow-y:auto}@keyframes slideInMobile{0%{transform:translate(100%)}to{transform:translate(0)}}.mobile-nav-links{flex-direction:column;gap:12px;margin-bottom:30px;list-style:none;display:flex}.mobile-nav-link{color:var(--primary-navy);border-bottom:1px solid var(--border-color);cursor:pointer;justify-content:space-between;align-items:center;padding:12px 0;font-size:18px;font-weight:700;display:flex}.mobile-nav-link-active{color:var(--primary-blue);border-bottom-color:var(--primary-blue)}.mobile-accordion-toggle-icon{color:var(--text-gray);font-size:14px;transition:transform .2s;display:inline-block}.mobile-accordion-toggle-icon.expanded{transform:rotate(180deg)}.mobile-accordion-menu{background:var(--bg-soft);border-radius:var(--radius-md);flex-direction:column;gap:4px;max-height:0;margin-top:4px;padding:0;transition:max-height .25s ease-out,padding .25s ease-out;display:flex;overflow:hidden}.mobile-accordion-menu.expanded{max-height:500px;padding:8px 12px}.mobile-dropdown-item{border-radius:var(--radius-sm);padding:10px 14px;font-size:15px;font-weight:600;display:block;color:var(--text-dark)!important}.mobile-dropdown-item:hover{background:#00000008;color:var(--primary-blue)!important}.mobile-dropdown-item-active{background:#1e3e6214;color:var(--primary-blue)!important}.mobile-nav-cta{margin-top:auto}a.bc-city-tag{color:var(--accent-gold);cursor:pointer;transition:var(--transition-smooth);background:#ffffff1a;border:1px solid #fff3;border-radius:50px;padding:6px 16px;font-size:14px;font-weight:600;display:inline-block}a.bc-city-tag:hover{background:var(--accent-gold);border-color:var(--accent-gold);transform:translateY(-2px);box-shadow:0 4px 12px #f1c40f33;color:var(--primary-navy)!important}.dropdown-menu-grid{grid-template-columns:repeat(2,1fr);gap:16px;min-width:480px;padding:16px 20px;display:none}.nav-item-dropdown:hover .dropdown-menu-grid{opacity:1;pointer-events:auto;display:grid;transform:translate(-50%)translateY(0)}.dropdown-column{flex-direction:column;gap:4px;display:flex}
