:root{
    --header-bg:#f8f8f8;
    --panel-bg:#fcfcfc;
    --panel-bg-alt:#ffffff;
    --text-main:#555;
    --text-soft:#777;
    --link-color:#666;
    --border-soft:rgba(0,0,0,.055);
    --shadow-soft:0 1px 4px rgba(0,0,0,.035);
    --shadow-hover:0 8px 18px rgba(0,0,0,.065);
}

.cff-footer{
    margin-top:40px;
    background:var(--header-bg);
    border-top:1px solid var(--border-soft);
    color:var(--text-main);
    font-family:Arial, Helvetica, sans-serif;
}

.cff-footer-inner{
    max-width:1200px;
    margin:0 auto;
    padding:28px 20px 22px;
}

.cff-footer-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:22px;
}

.cff-footer-panel{
    min-height:190px;
    padding:20px;
    background:var(--panel-bg);
    border:1px solid var(--border-soft);
    border-radius:10px;
    box-shadow:var(--shadow-soft);
    transition:box-shadow .2s ease, transform .2s ease;
}

.cff-footer-panel:hover{
    transform:translateY(1px);
    box-shadow:var(--shadow-hover);
}


.cff-footer-title{
    margin:0 0 14px;
    padding-bottom:9px;
    color:var(--text-main);
    font-size:18px;
    font-weight:700;
    border-bottom:1px solid var(--border-soft);
}

.cff-footer-text{
    margin:0 0 12px;
    color:var(--text-soft);
    font-size:14px;
    line-height:1.6;
}

.cff-footer-links{
    list-style:none;
    margin:0;
    padding:0;
}

.cff-footer-links li{
    margin:8px 0;
}

.cff-footer a{
    color:var(--link-color);
    text-decoration:none;
}

.cff-footer a:hover{
    text-decoration:underline;
}

.cff-footer-social{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:14px;
}

.cff-footer-social a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:34px;
    height:34px;
    padding:0 10px;
    background:var(--panel-bg-alt);
    border:1px solid #bab6b6;
    border-radius:7px;
    box-shadow:var(--shadow-soft);
    font-size:13px;
}

.cff-footer-signup{
    display:grid;
    gap:10px;
}

.cff-footer-input{
    width:100%;
    box-sizing:border-box;
    padding:10px 12px;
    color:var(--text-main);
    background:var(--panel-bg-alt);
    border:1px solid var(--border-soft);
    border-radius:7px;
    outline:none;
}

.cff-footer-button{
    padding:10px 14px;
    color:var(--text-main);
    background:var(--panel-bg-alt);
    border:1px solid var(--border-soft);
    border-radius:7px;
    box-shadow:var(--shadow-soft);
    cursor:pointer;
    font-weight:700;
}

.cff-footer-button:hover{
    box-shadow:var(--shadow-hover);
}

.cff-footer-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:15px;
    margin-top:22px;
    padding-top:16px;
    border-top:1px solid var(--border-soft);
    color:var(--text-soft);
    font-size:13px;
}


        .divwrap {
            border: 1px double var(--border);
            position: relative;
            padding: 10px;
            margin: 10px 0 0 0;
            width: 100%; /* Changed from 99% to 100% for perfect fit */
            box-sizing: border-box;
        }

        /* The label positioned on the border */
        .divwrap > span {
            position: absolute;
            top: -0.7em;
            left: 15px;
            background: #fff;
            padding: 0 5px;
            font-weight: bold;
        }


.wrapper{
	border: 1px double #bab6b6; padding: 5px; margin-top: 15px; list-style: none;
}

@media (max-width:850px){
    .cff-footer-grid{
        grid-template-columns:1fr;
    }

    .cff-footer-panel{
        min-height:auto;
    }
}

@media (max-width:520px){
    .cff-footer-bottom{
        flex-direction:column;
        align-items:flex-start;
    }
}