/* ==========================================
   BUTTON BASE
========================================== */

.button{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    height:var(--button-height);

    padding:var(--button-padding);

    border-radius:var(--radius-round);

    font-size:1rem;

    font-weight:600;

    text-decoration:none;

    cursor:pointer;

    transition:
        transform var(--transition),
        background var(--transition),
        color var(--transition),
        box-shadow var(--transition);

     white-space:normal;

    text-align:center;

}

/* ==========================================
   PRIMARY BUTTON
========================================== */

.button--primary{

    color:white;

    background:var(--gradient-primary);

    box-shadow:

        0 12px 30px rgba(37,99,235,.28);

}

.button--primary:hover{

    transform:translateY(-3px);

    box-shadow:

        0 18px 40px rgba(37,99,235,.35);

}

.button--primary:active{

    transform:translateY(-1px);

}

/* ==========================================
   SECONDARY BUTTON
========================================== */

.button--secondary{

    background:white;

    color:var(--color-primary);

    border:2px solid var(--color-primary-light);

}

.button--secondary:hover{

    border-color:var(--color-primary);

    background:var(--color-primary-light);

    transform:translateY(-3px);

}

/* ==========================================
   ACCENT BUTTON
========================================== */

.button--accent{

    background:var(--gradient-accent);

    color:white;

}

.button--accent:hover{

    transform:translateY(-3px);

    box-shadow:

        0 18px 40px rgba(245,158,11,.35);

}

/* ==========================================
   HEADER BUTTON
========================================== */

.header .button{

    height:48px;

    padding:0 24px;

    font-size:.95rem;

}

/* ==========================================
   CTA BUTTON
========================================== */

.cta .button{

    min-width:min(260px,100%);

}

/* ==========================================
   BURGER
========================================== */

.burger{

    display:none;

    width:48px;

    height:48px;

    position:relative;

    flex-shrink:0;

}

.burger span{

    position:absolute;

    left:10px;

    width:28px;

    height:3px;

    border-radius:999px;

    background:var(--color-text);

    transition:all var(--transition);

}

.burger span:nth-child(1){

    top:14px;

}

.burger span:nth-child(2){

    top:22px;

}

.burger span:nth-child(3){

    top:30px;

}

/* ==========================================
   ACTIVE BURGER
========================================== */

.burger.active span:nth-child(1){

    top:22px;

    transform:rotate(45deg);

}

.burger.active span:nth-child(2){

    opacity:0;

}

.burger.active span:nth-child(3){

    top:22px;

    transform:rotate(-45deg);

}

/* ==========================================
   BADGES
========================================== */

.photo-card__badge,
.format-card__badge,
.price-card__badge{

    user-select:none;

}

.hero__label{

    user-select:none;

}

/* ==========================================
   SCROLL TOP
========================================== */

.scroll-top{

    position:fixed;

    right:28px;

    bottom:28px;

    width:56px;

    height:56px;

    border-radius:50%;

    background:var(--gradient-primary);

    color:white;

    font-size:1.4rem;

    display:flex;

    align-items:center;

    justify-content:center;

    box-shadow:

        0 18px 36px rgba(37,99,235,.30);

    opacity:0;

    visibility:hidden;

    transform:translateY(20px);

    transition:
        opacity var(--transition),
        transform var(--transition);

    z-index:var(--z-scroll);

}

.scroll-top.visible{

    opacity:1;

    visibility:visible;

    transform:translateY(0);

}

.scroll-top:hover{

    transform:translateY(-4px);

}

/* ==========================================
   LINKS
========================================== */

.navigation a{

    position:relative;

}

.navigation a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-8px;

    width:0;

    height:2px;

    background:var(--color-primary);

    transition:width var(--transition);

}

.navigation a:hover::after{

    width:100%;

}

/* ==========================================
   MOBILE LINKS
========================================== */

.mobile-navigation a{

    display:block;

    padding:16px 0;

    border-bottom:1px solid var(--color-border);

    font-weight:600;

}

.mobile-navigation a:last-child{

    border-bottom:none;

}

/* ==========================================
   FORM BUTTON
========================================== */

.contacts__form button{

    width:100%;

}