/**
 * Site footer — matches html/style.css.
 */

.site-footer{
background-color:#09090b;
color:#a1a1aa;
padding:80px 0 40px;
margin-top:0;
}

.site-footer .container{
max-width:1280px;
padding-left:24px;
padding-right:24px;
margin-left:auto;
margin-right:auto;
box-sizing:border-box;
}

.site-footer .footer-grid{
display:grid;
grid-template-columns:1.5fr repeat(3, 0.8fr) 1.5fr;
gap:48px;
border-bottom:1px solid #1e1e24;
padding-bottom:60px;
margin-bottom:40px;
}

.site-footer .footer-grid:not(:has(.footer-newsletter-col)){
grid-template-columns:1.5fr repeat(3, 0.8fr);
}

.site-footer .footer-brand{
display:flex;
flex-direction:column;
}

.site-footer .footer-logo{
font-family:var(--oc365-font-heading, inherit);
font-size:1.5rem;
font-weight:800;
color:#fff;
margin-bottom:16px;
text-decoration:none;
display:inline-block;
line-height:0;
max-width:100%;
}

.site-footer .footer-logo .oc365-footer-logo{
display:block;
max-height:48px;
max-width:min(240px, 100%);
width:auto;
height:auto;
object-fit:contain;
object-position:left center;
}

.site-footer .footer-logo:hover{
color:#fff;
opacity:0.92;
}

.site-footer .footer-desc{
font-size:0.9rem;
line-height:1.5;
margin:0 0 24px;
color:#a1a1aa;
max-width:none;
}

.site-footer .social-links{
display:flex;
gap:12px;
flex-wrap:wrap;
}

.site-footer .social-icon{
width:36px;
height:36px;
border-radius:50%;
background-color:#18181b;
display:flex;
align-items:center;
justify-content:center;
color:#a1a1aa;
transition:0.25s cubic-bezier(0.4, 0, 0.2, 1);
text-decoration:none;
}

.site-footer .social-icon:hover{
background-color:#fff;
color:#09090b;
transform:translateY(-2px);
}

.site-footer .footer-col-title{
font-family:var(--oc365-font-heading, inherit);
font-weight:600;
font-size:0.95rem;
color:#fff;
margin:0 0 20px;
}

.site-footer .footer-links{
list-style:none;
margin:0;
padding:0;
}

.site-footer .footer-links li{
margin-bottom:12px;
}

.site-footer .footer-links a{
font-size:0.9rem;
color:#a1a1aa;
text-decoration:none;
transition:color 0.15s ease, padding-left 0.15s ease;
}

.site-footer .footer-links a:hover{
color:#fff;
padding-left:4px;
}

.site-footer .newsletter-text{
font-size:0.9rem;
margin:0 0 20px;
color:#a1a1aa;
line-height:1.5;
}

.site-footer .newsletter-form{
display:flex;
border-radius:6px;
overflow:hidden;
border:1px solid #27272a;
}

.site-footer .newsletter-input{
flex:1;
min-width:0;
background-color:#09090b;
border:none;
padding:12px 16px;
color:#fff;
font-size:0.9rem;
font-family:inherit;
}

.site-footer .newsletter-input::placeholder{
color:#71717a;
}

.site-footer .newsletter-input:focus{
outline:none;
}

.site-footer .btn-newsletter{
background-color:#fff;
color:#09090b;
border:none;
padding:0 16px;
cursor:pointer;
display:flex;
align-items:center;
justify-content:center;
transition:background-color 0.15s ease;
flex-shrink:0;
}

.site-footer .btn-newsletter:hover{
background-color:#e4e4e7;
}

.site-footer .footer-newsletter-plugin{
max-width:100%;
}

.site-footer .footer-bottom{
display:flex;
justify-content:space-between;
align-items:center;
font-size:0.85rem;
}

.site-footer .copyright{
text-align:center;
width:100%;
margin:0;
color:#a1a1aa;
}

/* Toast (html/main.js pattern) */
.toast-notification{
position:fixed;
bottom:24px;
right:24px;
background-color:var(--oc365-color-text, #111827);
color:var(--oc365-color-card, #fff);
padding:16px 24px;
border-radius:6px;
box-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
z-index:1000;
transform:translateY(100px);
opacity:0;
transition:0.25s cubic-bezier(0.4, 0, 0.2, 1);
display:flex;
align-items:center;
gap:12px;
font-weight:500;
font-size:0.95rem;
pointer-events:none;
}

.toast-notification.show{
transform:translateY(0);
opacity:1;
pointer-events:auto;
}

@media (max-width: 1024px){
.site-footer .footer-grid{
grid-template-columns:1.5fr repeat(3, 1fr);
}

.site-footer .footer-grid > .footer-newsletter-col{
grid-column:span 4;
max-width:500px;
}
}

@media (max-width: 768px){
.site-footer{
padding:60px 0 32px;
}

.site-footer .footer-grid{
grid-template-columns:1fr;
gap:36px;
}

.site-footer .footer-grid > .footer-newsletter-col{
grid-column:span 1;
max-width:none;
}

.site-footer .footer-bottom{
flex-direction:column;
gap:16px;
}
}
