body {
    background: #f2f4f7;
}

@font-face {
    font-family: "Good Times";
    src: url("/css/good-times.otf") format("opentype");
    font-weight: normal;
    font-style: normal;
}

svg.logo text {

    font-family: "Good Times", GoodTimesRg-Regular, sans-serif;
}

.header {
    font-size: 16px;
    height: 60px;
    box-sizing: border-box;
    position: relative;
    z-index: 320;
    border-bottom: 1px solid #dedede;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #f2f4f7;
}

.logo-cont {
    display: flex;
    align-items: center;
}

.logo-cont a {
    display: block;
    box-sizing: border-box;
    margin: 10px;
    height: 40px;
}

.logo-cont a:hover {
    text-decoration: none;
}

svg.logo rect {
    fill: #fff;
    stroke: #c6c6c6;
    width: 21px;
    height: 21px;
}

svg.logo .d,
svg.logo .e {
    fill: #fe2c25;
}

svg.logo .f {
    fill: #535353;
    font-size: 65px;
}

svg.logo .e {
    font-size: 26px;
}

svg.logo .x {
    fill: #535353;
}

svg.logo text {
    font-family: GoodTimesRg-Regular, "Good Times", sans-serif;
}

svg.logomini rect {
    width: 29px;
    height: 29px;
}

.header svg.logo {
    display: none;
}

.header svg.logomini {
    display: inline-block;
}

.logo-cont a {
    min-width: 40px;
}

@media (min-width: 440px) {
    .logo-cont a {
        height: 40px;
    }
}

@media (min-width: 840px) {
    .header {
        height: 70px;
    }

    .logo-cont a {
        width: 150px;
        height: 55px;
    }

    .header svg.logo {
        display: inline-block;
    }

    .header svg.logomini {
        display: none;
    }
}

.gradient-bg {
    background: linear-gradient(135deg, #1e3a8a 0%, #3b82f6 100%);
}

.pdf-preview-container {
    position: relative;
    height: 350px;
    min-width: 320px;
    max-width: 320px;
    margin: 0 auto;
}

.pdf-page {
    position: absolute;
    border-radius: 8px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
    background: white;
    border: 1px solid #e5e7eb;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    width: 90%;
    overflow: hidden;
}

.page-1 {
    z-index: 30;
    transform: rotate(-3deg);
    top: 0;
    left: 0;
}

.page-2 {
    z-index: 20;
    transform: rotate(5deg) translateX(20px) translateY(15px);
    top: 0;
    left: 30px;
}

.page-3 {
    z-index: 10;
    transform: rotate(10deg) translateX(40px) translateY(30px);
    top: 0;
    left: 60px;
}

.pdf-preview-container:hover .pdf-page {
    transform: rotate(0deg) translateY(-5px) translateX(10px);
}

@keyframes fire-glow {

    0%,
    100% {
        transform: scale(1);
        filter: drop-shadow(0 0 0px rgba(255, 69, 0, 0));
    }

    50% {
        transform: scale(1.15);
        filter: drop-shadow(0 0 8px rgba(255, 120, 0, 0.6));
    }
}

.pulse-emoji {
    animation: fire-glow 2s infinite ease-in-out;
    display: inline-block;
}

/* Social Proof Cards */
.email-card {
    background: white;
    border-radius: 12px;
    padding: 12px;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    transition: transform 0.3s ease;
    max-width: 280px;
    border: 1px solid #e5e7eb;
}

.rotate-left {
    transform: rotate(-3deg);
}

.rotate-right {
    transform: rotate(3deg);
}

.rotate-small {
    transform: rotate(-1.5deg);
}

.email-card:hover {
    transform: rotate(0deg) scale(1.05);
    z-index: 20;
}

.email-card img {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    cursor: zoom-in;
}

.email-card img:hover {
    transform: scale(2.5);
    z-index: 50;
    position: relative;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    border-radius: 8px;
}

/* Intestazione finta email per realismo */
.email-header {
    border-bottom: 1px solid #f3f4f6;
    margin-bottom: 8px;
    padding-bottom: 4px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

@keyframes bounce-slow {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }
}

.animate-bounce-slow {
    animation: bounce-slow 3s ease-in-out infinite;
}


.fa-check:before {
    content: "\f00c";
}

.fa-circle:before {
    content: "\f111";
}

.stripe {
    min-height: 100vh;
    padding: 20px 0;
    position: relative;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    height: auto;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    overflow-y: auto;
}

@media (min-width:450px) {
    .stripe {
        position: absolute;
    }
}

.stripe * {
    font-size: 16px;
    font-weight: normal;
}

.stripe fieldset {
    margin: 0 15px 0;
    padding: 0;
    border-style: none;
    background-color: #FFF;
    box-shadow: 0 6px 9px rgba(50, 50, 93, 0.06), 0 2px 5px rgba(0, 0, 0, 0.08), inset 0 1px 0 #dedede;
    border-radius: 4px;
}

.stripe .div-container {
    display: flex;
    align-items: center;
    padding-left: 15px;
    position: relative;
}

.stripe .row+.row {
    border-top: 1px solid #dedede;
}

.stripe label {
    width: 36px;
    padding: 11px 0;
    color: #bbb;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.stripe input,
.stripe button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    border-style: none;
}

.stripe input {
    width: 100%;
    padding: 11px 15px 11px 0;
    color: #444;
    background-color: transparent;
}

.check-ok {
    color: #34a852;
    position: absolute;
    right: 10px;
    display: none;
}

.step {
    background: #99999e;
    color: #fff;
    border-radius: 50px;
    width: 16px;
    display: inline-block;
    height: 16px;
    text-align: center;
    font-size: 11px;
    font-weight: bold;
    margin-right: 3px;
    line-height: 16px;
    vertical-align: bottom;
}

.stripe button {
    display: block;
    width: 100%;
    height: 40px;
    margin: 0;
    background-color: #34A853;
    border-radius: 0 0 4px 4px;
    color: #fff;
    cursor: pointer;
}

.stripe button:hover {
    border: 1px solid #38693b;
    background-color: #2d8944;
}

button[disabled],
#continue[disabled]:hover {
    background-color: #d2d2d2;
}

.stripe .error {
    text-align: center;
    color: #F47070;
    margin-top: 15px;
}

.stripe .stripe-title {
    text-align: center;
    padding: 5px 15px 10px;
    font-weight: 700;
    font-size: 17px;
}

.stripe .stripe-title span {
    font-size: 16px;
    font-weight: normal;
}

.stripe-modal .back {
    position: fixed;
    background: rgba(0, 0, 0, .6);
    z-index: 2000;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow-y: scroll;
    overflow-x: hidden;
    scrollbar-gutter: stable;
}

.stripe-modal .stripe-header {
    position: relative;
    padding-top: 10px;
    background: #e8e9eb;
    overflow: hidden;
}

.stripe-header img {
    width: 16px;
    cursor: pointer;
}

.close-modal {
    position: absolute;
    right: 6px;
    top: 6px;
    cursor: pointer;
}

.close-modal img,
.xclose img {
    width: 16px;
    cursor: pointer;
}

.pay {
    font-weight: bold;
    font-size: 20px;
}

.wait .pay,
.waiting {
    display: none;
}

.wait .waiting {
    display: block;
}

#payment-form>div {
    padding: 0 5px;
}

.input-error input,
.input-error label {
    color: #F47070 !important;
}

.secure {
    text-align: center;
    font-size: 13px;
    color: #777;
    background: #eee;
    border-top: 1px solid #e8e9eb;
    padding: 10px;
    margin: 15px -15px -20px -15px;
    height: 60px;
}

.secure b {
    font-size: 13px;
    font-weight: bold;
}

.loader {
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    z-index: 200;
    display: none;
}

.loader-inside {
    top: calc(50% - 15px);
    left: calc(50% - 15px);
    position: absolute;
}

.stripe-container {
    position: relative;
    width: 100%;
    box-shadow: 0 12px 30px 0 rgba(0, 0, 0, .5), inset 0 1px 0 0 hsla(0, 0%, 100%, .65);
    background-color: #f5f5f7;
    border-radius: 6px;
    overflow: hidden;
    min-width: 300px;
    max-width: 500px;
    min-height: 350px;
    margin: auto 10px;
}

#post-errors {
    padding: 0 15px;
    background: #ffe5e5;
    border-radius: 8px;
    box-shadow: 0 6px 9px rgba(50, 50, 93, 0.06), 0 2px 5px rgba(0, 0, 0, 0.08);
    margin: 15px;
}

#post-errors>div {
    padding: 10px;
}

.paypal-button {
    background: #ffc439;
    border-radius: 4px;
    cursor: pointer;
    height: 45px;
    margin: 0 15px;
    box-sizing: content-box;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.paypal-button:hover {
    box-shadow: inset 0 0 100px 100px rgba(0, 0, 0, 0.05);
}

.paypal-button span {
    font-size: 20px;
    font-weight: bold;
}

.paypal-button img {
    height: 20px;
}

.card-cont {
    display: flex;
    padding: 0 15px;
    cursor: pointer;
    color: #6a6a6a;
}

.card-cont:hover {
    color: #1c1c1c;
}

.card-cont>span {
    display: flex;
    padding: 5px 2px;
    margin-right: 10px;
}

.card-cont>span>svg {
    width: 25px;
    height: 32px;
}

.card-cont>span>span {
    padding: 6px 3px;
}

.payradio {
    margin: 0;
}

.payradio circle {
    opacity: 0;
}

.payradio.selected circle {
    opacity: 1;
}

.payradio.selected>span>span {
    font-weight: bold;
}

#stripe-radio-container {
    background: #fff;
    margin: 0 5px;
    border-radius: 4px;
    box-shadow: 0 6px 9px rgba(50, 50, 93, 0.06), 0 2px 5px rgba(0, 0, 0, 0.08), inset 0 1px 0 #dedede;
}

#stripe-submit {
    margin-top: 17px;
    border-radius: 4px;
}

#payment-section {
    padding-top: 0 !important;
}

#continue {
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
    transition: all .3s cubic-bezier(.645, .045, .355, 1);
}

.span-error {
    padding-left: 47px;
    font-size: 14px;
    border-bottom: 1px solid #dedede;
    padding-bottom: 10px;
    color: #F47070;
}

#view-password {
    color: #bbb;
    margin-right: 10px;
    cursor: pointer;
}

#footer>div>* {
    padding: 10px;
}

@media (max-width: 450px) {
    .pdf-preview-container {
      min-height: 450px;
    }
    
    .page-3 {
      left: 0px; 
      transform: rotate(5deg) translateX(20px) translateY(20px);
    }
    
    .page-2 {
      left: 0px; 
      transform: rotate(2deg) translateX(12px) translateY(0px);
    }
    
    .page-1 {
      left: 10px;
    }
  }  
  
  
  @media (max-width: 768px) {
    .email-card img:hover,
    .email-card img:active {
      transition: none !important;
      transform: none !important;
      position: fixed !important;
      top: 50% !important;
      left: 0 !important;
      width: 100vw !important;
      max-width: 100vw !important;
      height: auto !important;
      z-index: 9999 !important;
      translate: 0 -50% !important;
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5) !important;
      border-radius: 0 !important;
      cursor: zoom-out !important;
    }
    
    .email-card:hover {
      transform: none !important;
    }
    .email-card{
        transition: none !important;
    }
  }
  
  
  @media (max-width: 768px) {
    section.py-24 {
      padding-top: 48px !important;
      padding-bottom: 48px !important;
    }
    
    section.py-16 {
      padding-top: 32px !important;
      padding-bottom: 32px !important;
    }
  }
/* Tailwind order utilities for thank-you page layout */
.order-1 { order: 1; }
.order-2 { order: 2; }
@media (min-width: 1024px) {
  .lg\:order-1 { order: 1; }
  .lg\:order-2 { order: 2; }
}
