:root {
    --ak-primary: #8b5e3c;
    --ak-secondary: #5a3d27;
    --ak-accent: #fdfaf5;
    --ak-border: #d6c9bb;
    --ak-text: #4a3f35;
}
/* Betűkészlet öröklődik a weboldaltól */
.ak-wrapper { display: flex; justify-content: center; padding: 20px 0; font-family: inherit; }

.ak-card {
    max-width: 700px;
    width: 100%;
    background: #fff;
    padding: 50px;
    border: 1px solid var(--ak-border);
    box-shadow: 0 30px 60px rgba(0,0,0,0.08);
    border-radius: 4px;
    position: relative;
    box-sizing: border-box;
}

.ak-card h3 { 
    margin-top: 0; color: var(--ak-primary); font-size: 30px; margin-bottom: 30px; 
    text-align: center; font-weight: 300; letter-spacing: 2px; text-transform: uppercase;
}

.ak-card label { 
    display: block; font-size: 11px; margin-top: 20px; font-weight: 800; 
    color: var(--ak-text); text-transform: uppercase; letter-spacing: 1px; 
}

.ak-card input, .ak-card select, .ak-card textarea { 
    width: 100%; padding: 14px; border: 1px solid var(--ak-border); background: var(--ak-accent); 
    margin-top: 6px; font-family: inherit; border-radius: 2px; color: #333; transition: all 0.3s;
    box-sizing: border-box;
}

.ak-card input:focus, .ak-card select:focus, .ak-card textarea:focus { 
    outline: none; border-color: var(--ak-primary); background: #fff; 
    box-shadow: inset 0 1px 3px rgba(0,0,0,0.05); 
}

.ak-row { display: flex; gap: 20px; flex-wrap: wrap; }
.ak-field-group { flex: 1; min-width: 260px; }
.ak-mini { flex: 1; min-width: 130px; }

/* Számláló stílusa */
.ak-counter { 
    display: flex; align-items: center; border: 1px solid var(--ak-border); 
    border-radius: 2px; margin-top: 6px; overflow: hidden; height: 50px; background: #fff; 
}
.ak-counter input { width: 100%; text-align: center; border: none; background: transparent; margin-top: 0; font-weight: 700; padding: 0; font-size: 16px; }
.ak-counter button { 
    width: 50px; height: 50px; border: none; background: var(--ak-accent); color: var(--ak-primary); 
    cursor: pointer; font-size: 22px; transition: 0.2s; display: flex; align-items: center; justify-content: center;
}
.ak-counter button:hover { background: var(--ak-border); color: #fff; }

.ak-submit { 
    margin-top: 45px; width: 100%; padding: 20px; background: var(--ak-primary); color: #fff; 
    border: none; cursor: pointer; font-weight: 800; text-transform: uppercase; letter-spacing: 3px; 
    transition: all 0.4s; border-radius: 2px; font-size: 15px; box-shadow: 0 10px 20px rgba(139, 94, 60, 0.2);
}
.ak-submit:hover { background: var(--ak-secondary); transform: translateY(-3px); box-shadow: 0 15px 30px rgba(139, 94, 60, 0.3); }

.ak-msg { margin-top: 25px; text-align: center; font-weight: 700; font-size: 14px; }

@media (max-width: 480px) {
    .ak-card { padding: 25px; }
    .ak-mini { min-width: 45%; }
}