/* ============================================
   VARIABILE CSS
   ============================================ */
:root {
    --text: #2b2623;
    --muted: #6b635d;
    --brown: #5a4438;

    /* vibe template (gold/warm) */
    --accent: #d38a3a;
    --accent2: #c97c2b;

    /* selfevents magenta (doar pentru navigare spre shop / cont) */
    --brand: #c2185b;
    --brand2: #a0154a;

    --shadow: 0 18px 50px rgba(15,10,8,.14);
    --shadow2: 0 14px 34px rgba(15,10,8,.12);
    --max: 1140px;
}

/* ============================================
   RESET & BASE
   ============================================ */
* {
    box-sizing: border-box;
}

.invitations-landing-wrap {
    max-width: var(--max);
    margin: 0 auto;
    padding: 18px 18px 72px;
    font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    color: var(--text);
    background-image:
        linear-gradient(180deg, rgba(244,238,232,.92), rgba(239,230,221,.92)),
        url("data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv/wgARCAFAAUADASIAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAECAwb/xAAWAQEBAQAAAAAAAAAAAAAAAAAAAQL/2gAMAwEAAhADEAAAAfT0zrTI2loAAUlgsUlACxUAAFBC2AAUigQ5IlKFlsoVYCwoM0KQqUWVABClEsKQoFlBCkOKjOsyXbI1YstzVpDUBZQUixFhaVIBKFlAAAAFg43OiShLJTSiE1caipVFJUrSCyxGoKlAEoWAsKgqUgOAKyhLFpS3GrKoaxpVABYCwsEWDSUlAABQJRLDlnQzNpebdMXQlqwBVUoiwlAAQoAKhNJQABYAORYixSxKFgKlstzpagssLAILEAKg0CWDclSoKADkJSUENQBUCrcl1AVCyBZQsEollShUsFgoNJUA5CUsAsCWksCNLLUhLc6M2iWChSwihZSWUAAazSoTEuYsFWVAApQspc3URLFoBCyhKBSAAoFgsAEzLCNIi22LEELZZSWrAsQ0yKACoFgqCkKCUAAMIS0UoSwSkllAAWyiWiTQy1CBKlUQWCgsAADFEoAWkCwsBc1EQtyOkxV2yNM0sAQLSLBBClAAyJKSqgtRQBCxAlFVM2xbBKAQoFhSEWUWVQCUxc0oQBYLIUAqI0qUguTSKUABCwAhZSWDUCLDFqyWJdQoUzNyM0LYRYKFZ3DO80qCggDNKhLFWBKlKhca59BkKgusWreeo1KIoiiLDSAQQKgoJYSpRZVSxCwtzTlqRalQqpNSM7pWoKlKkNZQagQFlIVJNQAqCywqFqVFlXlNQA1cjTNEQ2yLc0tgAZ1AQtgsAQ0yNRDSCpQACZgoIoENRSWC3MN3FLcjUCLCpQQELcyNyC2WiggqD//EABgQAQADAQAAAAAAAAAAAAAAABEAYHCQ/9oACAEBAAEFAtNceebLtjTiFSbf/8QAFBEBAAAAAAAAAAAAAAAAAAAAgP/aAAgBAwEBPwFIf//EABQRAQAAAAAAAAAAAAAAAAAAAID/2gAIAQIBAT8BSH//xAAUEAEAAAAAAAAAAAAAAAAAAACg/9oACAEBAAY/Akgf/8QAHhAAAgICAwEBAAAAAAAAAAAAAREAECAwITFAQVD/2gAIAQEAAT8hEeKgte5RUDpUPtUGo2Ml43BD4RgfF9jgt/hmuoIcYgpxwah4m7UUUW5eE2J3bhLgiyGsebmMwI0troHwG3BighDnUFGh7VxFQi5nMWIobXuVKKKDd9/KNOPEHyjF5GCLMU4Mni8hbgt7DT8RjwVPwteEV8jjxfuFHJYDyvT3FgPAcjrGCrqDJUtLweCiyHrWB0iPiPJqOnbjtx4PB7FYpx2oqNP8IZGKmo8HmIdhwdAx248xE59teQmG3BHHTndml6DaioYKnbjxGXeomOjsWNBEXl+w0RFYEVGls6wViDR9i0unrF9QUp9sWoKIg0dRw0NTweZzWowbRgLFG3HHQpRYO1XUcMB1HJ8x8QmnboDgqIt0Y49xwI5g6swQmOgIDHHHgRFBDgoqeDhp5HmOhShoCjgpxu3Tj4oGPQItJjgjzBjjj2uOOOnHHk4Rg4444TR39t0Z15no4xex63bn2ziLceA1k8Rx4DB1/9oADAMBAAIAAwAAABBQZhDzixCyxlEfsYO5rIYpSkSxQCARi3WftcZaoYbG76nBQhjg0TG/GsZ7q66nnzR2uZqRRWGsdc7Y4r5k+j5l0iAyTBm2vpL6IoZFbp7E1CCSzgSTR0kLqLIvbeLInwxASwzTRDxk/wC+G6WSbpUUkIkkQpUkMQxtW2ty1jQdJhFggwgoEYs9fajj1B0hcUkQYQ88wgYxBTYFBS4cIMIUE8sEwgcwF0wUdNV408YwJIko040glV8EwMJ9FUAAAE4k9wAUnVtk0kIY5gNBFRg9p8448FBt4suUuWEkUkcOKyG61OUc26DnsRsKCyeHybL2aaCoOeeYUOm6WSnb6X3LkXVjqm2GckaubTnH3ObqYUCuR8qu2aEsY8IcCaW4e88ocossEC0Yk0vt5wEM/8QAFBEBAAAAAAAAAAAAAAAAAAAAgP/aAAgBAwEBPxBIf//EABoRAAMAAwEAAAAAAAAAAAAAAAERQAAQUHD/2gAIAQIBAT8Qx8lxDYkEa9QF4icDp//EAB8QAAMBAQADAQEBAQAAAAAAAAABESExEEFRYXGBIP/aAAgBAQABPxDoWxRu0bglRxuDQwXw0ZxFUFDEP9PWGmiG880ldY18F0gsKPzCMo2I94UgS/4Nzgp9E9ODdKjB30bR6KHpCZTpBFMhKcP6OmiRnjgtFWxOHsomQaEiFGPVBsJOi032QXRo9G/BMT3RfZfFQrvn+HoWBfBtITokJ/gi7gh54UJT8H44QuDge9G0RRMxFLCi4JFXDrxD6bMNgv0ueDKxCFOLxBd0vw90Zh7/AOKcGiFa4IYzRaxt+in0sLUV/Cw6iQTjMaF8GohSDaSEy4J01Mfi5GUR7IeiTy+lI7RPxrEO7gnsZXwUekjBi7hCXg2aN1iW0c9CeFU0UnD/AA4x9ERCOmEbHBIX6eieMOFojnii4IbjGPVOBIuj9kzq4JRFRUxRaVMZM0XweHROHfBibQnV4h7Gl4b/AAWeHnj+kSE0xjpMGmlQg3HBKulRMGi4VIsKjqEjSL6EhmicG3ME3If0apINRr9IzqEt6QZcG+Dfw74R0aOIdEV0aqpnsb3BYqZPo+hETME3wWCnoyjWFbFgtODo6VnW+KCG9Ev0pKJ542kE/FZ0fRCPqGyp4HrDLjYzHoSDNsRHrxySi0gh48LS5WdNh/RahYJv2ZRJHOn8Fg2JjQlnhMdMXR4h8PYLFY23wRoTOhQaeomYKzTo06JhDA9Y2e/EpIXx6E50bEzoYrCP3494b7KUpfDZns0hJSDRDUSwiidZdLguk0WeF0XSaMS0rvg8Y3RGDOi6dYnBOsbgvpR4/F8Lw9E4aJUYtGkOrgn42l8Jwbp6GppcNPQxDKl+eCFSfRa7ThXT6HSEgvE8Wi0SP4USHnRLKh8OkmlbEI7ojWaUbM1iqRVYyqjGP0PQ/wAIJYJNjTTK0N9E3R4GGW+MFnhYxsulH6DfrxKSYJTwTG/g2GysT2jZSY3dEk0Lg/4LR1seNIX09CoyrwV8KI9aesFqKT6RIbdNY1warISqiTI/DQWDRPNOjSYcQ/k6LRKI4Wo/BqcJpExDpYhOm0ylrg2wJ/RH6ND8b8HBrLfCns9ig3gnhBFBz0NoYKHWhYfgnCjo8RE0PB1MRS/T2LBkjJtHGI2D4Jr34WdE6OJnfEolpEx1KIfBIxLBkhukgh2KCVQ/CtDeH6GkkPWMxCLf+LSMSJH0X9G654SwlL8G9EOkRYUotcEtG3Oj8mTRfhVGYPWT9PZRPSiMeLwkTRHsr0LOj3gmyOicY0WGiwbr0WMrNo/hIWC3RPYu6RUg9UlwaFQ/pxCdExdIOHVHh+oukZSwS9jZ8FiG6xt+DVRMIyqcCQlWNKkTGIJJIxH6dHaPBtN6JobU54kQllRVMRBqod9CQ4kSjxCQlRprBEpK/DbDKI6F+ilwnohIxdHhRoNAgmIT+l9sbVwaC28541jE0sF9Ohbg2Js6IXRx6VeiwdHCzyTjGz/R4/8AjvBnSDCWj4IX0YFTG/UJ8EjekIjv4JpD4MXBJ2kYnGNE+jcz0esJSNOjdH8OLvh4X6O9FvhFwQz2QdPYz2NYJUePCp9GTZEODcRG9J9FgsaRp4YHA2dHmFItQmmhNDe+HwaqiU9CRx0onSx4MaHrGxIbYJ/RaVLwbMBJNE9o2mIR1lTY4h/hM0UGvg0GmicGDQh6prRKSFUG0sE/KOdKi/RLR9Exj0TgijFwsRQ1HAqE90hjcQWYPJRFkMcIE0hxqkNE8FwbiwTwTvTg2qPuFE/p+otFfh/SpPD/AAX6Po1hSR3+n4aY8DVG9ePYujh9LB0N1qjaXhobGxNlcng1UJYYjGKcY2Iiq/Ruifo9lSGJUWEPBwoN2xpic6aG3YScEadaG6QqRbotxk0lGJCoajH/AHxD0JNsVeQcXfE0S0TjF9OOnR/Eaeh8E0NjoVGCZkdGtGTCvYnpV/CLwaRFKLVwU+eHpzB/okjoq8JAnon7Kmt8Hjhwp9GImSD+I06c6N7gm3oejgnUSCShEcRcIpRsLUJjOsUa8UYsKYOHEfQ9F0tVDUqHTIwrwmFJxjboueCYKtwhqOqVt+E/Xh5iE8JUXhobMYTZwYuiafPCf0ul0qfoWDYvoo2xM1gsF2iZ+iSl8PGiibK/ZzgvpaTcGoxCSLpdE/pwbTIKJOlHvSpOFQ+FVHEUTo3vjUQ+jSRD0MN7gqxthkFURYxN2jZuiChFPoiZ+Cl0iJ7M6aZUxWDr+khRpjCH0bvBNWDhh/PCaYnWQSHUR+zEyxiZixIxTELfBaJRjhaaZGJig/wSvTohDhMEiEhOjTTSMeju+ExJeEhGi6SCY0LoxPYtPwkGgSTfRYzfBYtZ8B2RvgxrR1jHAvyNhHcHODPTE3GI0deJglmGPZRHRMnC0sFILQ2YJjxgn7G2Kk0jozSlSCEplIZhgk6xEWD1gjQ+mGYDYm6OmNujwQKoIo0FGPomN0m4XRpQTwfCU4c8XBNSm2lUdIY/AmmhSDFvj2QHb8FBaK8GlRyHotcXnBcwT+l3wUEGhtJYJjYsCaHGcLgmkMU1E8JwVCf0LRggRdNLwnpaF0dRronWIiLSG0xYY2avCYldGtiHmFglUcMgjBMmkhgxxDhwqp/DUxNoX1lbdLVo18HrDq6JGHGCeaN/BP2PRryn454wWk9ijOIb2iYj3g8ZSmvCFYwkm6zjEwScHiE3YOohrUNVnGOFhXvxcL6Gbcg3C0T9FvjmjZ0fYNTwFDG7KoJCejDdKJqeCdZ//9k=");
    background-repeat: no-repeat, repeat;
    background-size: cover, 320px 320px;
    background-attachment: fixed, fixed;
}

/* ============================================
   BUTOANE
   ============================================ */
.inv-btn {
    border: 0;
    cursor: pointer;
    border-radius: 10px;
    padding: 11px 16px;
    font-weight: 900;
    letter-spacing: .15px;
    box-shadow: 0 14px 26px rgba(0,0,0,.18);
    transition: transform .14s ease, background .14s ease, box-shadow .14s ease;
    font-family: inherit;
    white-space: nowrap;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.inv-btn:hover {
    transform: translateY(-1px);
}

.inv-btn-primary {
    background: var(--accent);
    color: #fff;
}

.inv-btn-primary:hover {
    background: var(--accent2);
}

.inv-btn-brand {
    background: var(--brand);
    color: #fff;
}

.inv-btn-brand:hover {
    background: var(--brand2);
}

.inv-btn-ghost {
    background: rgba(255,255,255,.22);
    color: rgba(90,68,56,.95);
    border: 1px solid rgba(90,68,56,.18);
    box-shadow: 0 12px 22px rgba(0,0,0,.10);
}

.inv-btn-ghost:hover {
    background: rgba(255,255,255,.28);
}

/* ============================================
   HERO SECTION
   ============================================ */
.inv-hero {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: var(--shadow);
    position: relative;
    background: url("https://images.unsplash.com/photo-1522858547137-f1dcec554f55?auto=format&fit=crop&w=2400&q=80") center/cover no-repeat;
    min-height: 320px;
    margin-top: 14px;
}

.inv-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(35,25,20,.52), rgba(35,25,20,.38));
}

.inv-hero-inner {
    position: relative;
    padding: 44px 20px 38px;
    display: grid;
    place-items: center;
    text-align: center;
    gap: 12px;
}

.inv-hero-title {
    font-family: "Great Vibes", cursive;
    font-size: clamp(34px, 4vw, 64px);
    line-height: 1.02;
    font-weight: 400;
    color: rgba(255,255,255,.98);
    text-shadow: 0 10px 30px rgba(0,0,0,.33);
    margin: 0;
}

.inv-hero-rule {
    display: flex;
    align-items: center;
    gap: 16px;
    width: min(840px, 94%);
    color: rgba(255,255,255,.88);
    margin-top: 2px;
}

.inv-hero-line {
    height: 1px;
    flex: 1;
    background: rgba(255,255,255,.55);
}

.inv-hero-stars {
    font-size: 12px;
    letter-spacing: 3px;
}

.inv-hero-text {
    max-width: 820px;
    margin: 6px auto 0;
    color: rgba(255,255,255,.92);
    font-weight: 600;
    line-height: 1.7;
    font-size: 15px;
}

.inv-hero-text em {
    font-style: italic;
    opacity: .95;
}

.inv-hero-cta {
    margin-top: 10px;
}

/* ============================================
   PROMO BAR
   ============================================ */
.inv-promo-bar {
    margin: 14px auto 0;
    background: rgba(255,255,255,.86);
    border: 1px solid rgba(211,138,58,.26);
    border-radius: 14px;
    box-shadow: var(--shadow2);
    padding: 12px 14px;
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.inv-promo-left {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.inv-badge {
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(211,138,58,.14);
    border: 1px solid rgba(211,138,58,.22);
    color: rgba(90,68,56,.95);
    font-weight: 1000;
    font-size: 12px;
    letter-spacing: .35px;
}

.inv-promo-bar b {
    font-weight: 1000;
    color: rgba(90,68,56,.98);
}

.inv-promo-bar span {
    color: var(--muted);
    font-weight: 650;
}

.inv-promo-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

/* ============================================
   CUM FUNCȚIONEAZĂ
   ============================================ */
.inv-how-title {
    margin: 26px auto 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    max-width: 980px;
}

.inv-how-line {
    height: 1px;
    flex: 1 1 auto;
    background: rgba(90,68,56,.22);
    opacity: .85;
}

.inv-how-title h3 {
    margin: 0;
    font-family: "Great Vibes", cursive;
    font-size: clamp(30px, 3.4vw, 48px);
    font-weight: 400;
    color: rgba(90,68,56,.95);
}

.inv-steps {
    max-width: 980px;
    margin: 14px auto 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 14px;
}

.inv-step {
    background: rgba(255,255,255,.86);
    border: 1px solid rgba(90,68,56,.10);
    border-radius: 16px;
    box-shadow: 0 12px 24px rgba(15,10,8,.08);
    padding: 16px;
}

.inv-step-top {
    display: flex;
    align-items: center;
    gap: 10px;
}

.inv-step-num {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    background: rgba(211,138,58,.14);
    border: 1px solid rgba(211,138,58,.22);
    font-weight: 1000;
    color: rgba(90,68,56,.95);
    flex: 0 0 auto;
}

.inv-step b {
    font-weight: 1000;
    color: rgba(90,68,56,.98);
}

.inv-step p {
    margin: 10px 0 0;
    color: var(--muted);
    font-weight: 600;
    line-height: 1.65;
    font-size: 14px;
}

/* ============================================
   SECTION TITLE
   ============================================ */
.inv-section-title {
    text-align: center;
    margin: 22px auto 0;
    padding: 10px 8px 8px;
}

.inv-section-title h2 {
    margin: 0;
    font-size: clamp(24px, 3vw, 40px);
    font-weight: 1000;
    letter-spacing: .2px;
}

.inv-section-title p {
    margin: 10px auto 0;
    max-width: 900px;
    color: var(--muted);
    font-weight: 600;
    line-height: 1.65;
}

/* ============================================
   TABS
   ============================================ */
.inv-tabs-wrap {
    display: flex;
    justify-content: center;
    margin: 18px 0 10px;
}

.inv-tabs {
    display: inline-flex;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(90,68,56,.14);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 10px 24px rgba(15,10,8,.10);
}

.inv-tab {
    min-width: 180px;
    padding: 10px 18px;
    border: 0;
    cursor: pointer;
    font-weight: 900;
    background: transparent;
    color: rgba(90,68,56,.85);
    font-family: inherit;
    position: relative;
}

.inv-tab[aria-selected="true"] {
    background: rgba(211,138,58,.22);
    color: rgba(90,68,56,1);
    box-shadow: inset 0 0 0 1px rgba(90,68,56,.06);
}

/* ============================================
   CARDS / GRID
   ============================================ */
.inv-grid {
    margin-top: 18px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 26px;
    align-items: stretch;
}

.inv-card {
    background: rgba(255,255,255,.88);
    border: 1px solid rgba(90,68,56,.10);
    border-radius: 14px;
    box-shadow: 0 18px 34px rgba(15,10,8,.14);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 420px;
}

.inv-thumb {
    background: #e9e1d9;
    padding: 18px 18px 0;
}

.inv-thumb-frame {
    border-radius: 6px;
    overflow: hidden;
    background: #ddd;
    box-shadow: 0 10px 18px rgba(0,0,0,.18);
}

.inv-thumb-frame img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    object-position: top;
    display: block;
}

.inv-card-body {
    padding: 14px 16px 16px;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
    background: rgba(255,255,255,.92);
}

.inv-card-body h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 1000;
    color: rgba(90,68,56,.98);
}

.inv-card-body p {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.55;
    min-height: 40px;
}

.inv-card-rule {
    height: 1px;
    width: 100%;
    background: rgba(90,68,56,.14);
    margin: 6px 0 6px;
}

.inv-btn-detail {
    margin: 0 auto;
    border: 0;
    cursor: pointer;
    background: var(--accent);
    color: #fff;
    font-weight: 1000;
    padding: 12px 16px;
    border-radius: 6px;
    box-shadow: 0 10px 18px rgba(0,0,0,.16);
    transition: transform .14s ease, background .14s ease;
    font-family: inherit;
    width: min(220px, 90%);
}

.inv-btn-detail:hover {
    background: var(--accent2);
    transform: translateY(-1px);
}

/* ============================================
   PREȚ & CONDIȚII
   ============================================ */
.inv-pricing {
    margin-top: 16px;
    background: rgba(255,255,255,.86);
    border: 1px solid rgba(90,68,56,.12);
    border-radius: 18px;
    box-shadow: var(--shadow2);
    padding: 16px;
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 14px;
    align-items: start;
}

.inv-pricing h4 {
    margin: 0;
    font-size: 18px;
    font-weight: 1000;
    color: rgba(90,68,56,.98);
}

.inv-pricing ul {
    margin: 10px 0 0;
    padding-left: 18px;
    color: rgba(90,68,56,.92);
    font-weight: 650;
    line-height: 1.8;
}

.inv-hint {
    margin-top: 10px;
    color: var(--muted);
    font-weight: 600;
    line-height: 1.6;
    font-size: 14px;
}

.inv-pricebox {
    border-radius: 16px;
    background: rgba(211,138,58,.10);
    border: 1px solid rgba(211,138,58,.22);
    padding: 14px;
}

.inv-price {
    font-size: 34px;
    font-weight: 1000;
    color: rgba(90,68,56,.98);
    letter-spacing: -.5px;
    margin: 2px 0 6px;
}

.inv-price small {
    font-size: 14px;
    font-weight: 900;
    color: rgba(90,68,56,.80);
}

.inv-cta-mini {
    margin-top: 12px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

/* ============================================
   CTA SHOP
   ============================================ */
.inv-cta-shop {
    margin: 26px auto 0;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: var(--shadow);
    position: relative;
    background: url("https://images.unsplash.com/photo-1519225421980-715cb0215aed?auto=format&fit=crop&w=2400&q=80") center/cover no-repeat;
    min-height: 220px;
}

.inv-cta-shop::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(86,60,30,.78), rgba(86,60,30,.62));
}

.inv-cta-shop-inner {
    position: relative;
    padding: 38px 18px 32px;
    max-width: 980px;
    margin: 0 auto;
    text-align: center;
    color: rgba(255,255,255,.96);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.inv-cta-shop-inner h3 {
    margin: 0;
    font-family: "Great Vibes", cursive;
    font-size: clamp(34px, 3.6vw, 52px);
    font-weight: 400;
    text-shadow: 0 10px 30px rgba(0,0,0,.35);
}

.inv-cta-shop-inner p {
    margin: 0;
    max-width: 880px;
    font-weight: 700;
    color: rgba(255,255,255,.92);
    line-height: 1.65;
    font-size: 15px;
    text-shadow: 0 10px 24px rgba(0,0,0,.25);
}

.inv-cta-shop-actions {
    margin-top: 8px;
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    justify-content: center;
}

/* ============================================
   FOOTER
   ============================================ */
.inv-footer {
    margin-top: 18px;
    text-align: center;
    color: rgba(90,68,56,.70);
    font-weight: 600;
    font-size: 12.5px;
}

/* ============================================
   TOAST
   ============================================ */
.inv-toast {
    position: fixed;
    left: 50%;
    bottom: 18px;
    transform: translateX(-50%);
    background: rgba(20,15,12,.86);
    color: rgba(255,255,255,.96);
    padding: 10px 12px;
    border-radius: 14px;
    font-weight: 900;
    font-size: 13px;
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease;
    box-shadow: 0 18px 40px rgba(0,0,0,.25);
    z-index: 9999;
}

.inv-toast.show {
    opacity: 1;
    transform: translateX(-50%) translateY(-2px);
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 1040px) {
    .inv-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
    
    .inv-steps {
        grid-template-columns: 1fr;
    }
    
    .inv-pricing {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .inv-grid {
        grid-template-columns: 1fr;
    }
    
    .inv-tab {
        min-width: 150px;
    }
    
    .invitations-landing-wrap {
        background-attachment: scroll, scroll;
    }
    
    .inv-promo-bar {
        align-items: flex-start;
    }
    
    .inv-thumb-frame img {
        object-position: top;
    }
}
