:root{
    --ink: #12140f;
    --ink-2: #1b1f15;
    --ink-3: #21261a;
    --paper: #f6f1e4;
    --paper-dim: #b9b39d;
    --moss: #55754a;
    --moss-light: #6e9260;
    --moss-deep: #34492c;
    --amber: #d7a544;
    --line: rgba(246,241,228,0.12);
}

.cta-bar{
    position: fixed;
    left: 0; right: 0; bottom: 0;
    z-index: 999;
    padding: 10px 10px calc(10px + env(safe-area-inset-bottom));
    background: linear-gradient(180deg, var(--ink-3), var(--ink-2));
    border-top: 1px solid var(--line);
    box-shadow: 0 -12px 28px rgba(0,0,0,0.35);
    animation: cta-rise 0.5s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes cta-rise{
    from{ transform: translateY(100%); }
    to{ transform: translateY(0); }
}

.cta-bar__row{
    position: relative;
    display:flex;
    align-items:center;
    gap: 10px;
}

.cta-bar__dismiss{
    position:absolute;
    top: -30px;
    right: 2px;
    width: 26px; height: 26px;
    display:flex; align-items:center; justify-content:center;
    background: var(--ink-2);
    border: 1px solid var(--line);
    border-radius: 50%;
    color: var(--paper-dim);
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
    padding: 0;
}
.cta-bar__dismiss:focus-visible{ outline: 2px solid var(--amber); outline-offset: 2px; }

.cta-bar__link{
    flex: 1 1 auto;
    display:flex;
    align-items:center;
    gap: 12px;
    min-width: 0;
    padding: 8px 8px 8px 12px;
    border-radius: 14px;
    text-decoration: none;
    color: inherit;
    -webkit-tap-highlight-color: transparent;
}
.cta-bar__link:active{ background: rgba(246,241,228,0.05); }
.cta-bar__link:focus-visible{ outline: 2px solid var(--amber); outline-offset: 2px; }

.cta-bar__icon{
    flex: none;
    width: 34px; height: 34px;
    display:flex; align-items:center; justify-content:center;
    border-radius: 8px;
    background: rgba(215,165,68,0.12);
    color: var(--amber);
}
.cta-bar__icon svg{ 
    width: 19px; 
    height: 19px; 
}

.cta-bar__text{
    flex: 1 1 auto;
    min-width: 0;
    display:flex;
    flex-direction: column;
    gap: 1px;
}
.cta-bar__headline{
    font-size: 13.5px;
    font-weight: 700;
    color: var(--paper);
    white-space: nowrap;
    overflow:hidden;
    text-overflow: ellipsis;
}
.cta-bar__sub{
    font-size: 11.5px;
    color: var(--paper-dim);
    white-space: nowrap;
    overflow:hidden;
    text-overflow: ellipsis;
}

.cta-bar__call{
    flex: none;
    display:flex;
    align-items:center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 8px;
    background: linear-gradient(180deg, var(--moss-light), var(--moss) 60%, var(--moss-deep));
    box-shadow: 0 4px 14px rgba(52,73,44,0.45);
}
.cta-bar__call-icon{
    position: relative;
    flex: none;
    width: 18px; height: 18px;
    display:flex; align-items:center; justify-content:center;
    color: var(--paper);
}
.cta-bar__call-icon svg{ width: 15px; height: 15px; position:relative; z-index:1; }
.cta-bar__call-icon::before{
    content:"";
    position:absolute; inset: -6px;
    border-radius: 50%;
    border: 1.5px solid rgba(246,241,228,0.55);
    animation: call-pulse 2.2s ease-out infinite;
}
@keyframes call-pulse{
    0%   { transform: scale(0.55); opacity: 0.9; }
    70%  { transform: scale(1.15); opacity: 0; }
    100% { transform: scale(1.15); opacity: 0; }
}
.cta-bar__number{
    font-size: 14px;
    font-weight: 700;
    color: var(--paper);
    letter-spacing: 0.01em;
    white-space: nowrap;
}

@media (prefers-reduced-motion: reduce){
    .cta-bar{ animation: none; }
    .cta-bar__call-icon::before{ animation: none; opacity: 0; }
}

/* nagyon keskeny képernyőn (≤340px) elrejtjük az alcímet, hogy ne préselődjön össze */
@media (max-width: 340px){
    .cta-bar__sub{ display:none; }
    .cta-bar__call{ padding: 10px 12px; }
}

.cta-bar.is-hidden{ display:none; }